@alveole/components 0.43.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. package/dist/core/Alert/Alert.d.ts +11 -0
  2. package/dist/core/Alert/Alert.d.ts.map +1 -0
  3. package/dist/core/Alert/Alert.js +4 -0
  4. package/dist/core/Alert/Alert.web.d.ts +5 -0
  5. package/dist/core/Alert/Alert.web.d.ts.map +1 -0
  6. package/dist/core/Alert/Alert.web.js +7 -0
  7. package/dist/core/Alert/index.d.ts +2 -0
  8. package/dist/core/Alert/index.d.ts.map +1 -0
  9. package/dist/core/Alert/index.js +1 -0
  10. package/dist/core/Form/Form.d.ts +2 -5
  11. package/dist/core/Form/Form.d.ts.map +1 -1
  12. package/dist/core/Form/Form.js +3 -24
  13. package/dist/core/Form/Form.stories.d.ts +0 -7
  14. package/dist/core/Form/Form.stories.d.ts.map +1 -1
  15. package/dist/core/Form/Form.stories.js +2 -3
  16. package/dist/core/Form/Form.stories.sources.d.ts +0 -2
  17. package/dist/core/Form/Form.stories.sources.d.ts.map +1 -1
  18. package/dist/core/Form/Form.stories.sources.js +0 -2
  19. package/dist/core/Form/Form.styles.d.ts +0 -6
  20. package/dist/core/Form/Form.styles.d.ts.map +1 -1
  21. package/dist/core/Form/Form.styles.js +0 -6
  22. package/dist/core/Image/Image.d.ts.map +1 -1
  23. package/dist/core/Image/Image.js +1 -5
  24. package/dist/core/Map/Map.web.d.ts.map +1 -1
  25. package/dist/core/Map/Map.web.js +41 -41
  26. package/dist/core/Page/Page.d.ts +2 -0
  27. package/dist/core/Page/Page.d.ts.map +1 -1
  28. package/dist/core/Page/Page.stories.d.ts +5 -2
  29. package/dist/core/Page/Page.stories.d.ts.map +1 -1
  30. package/dist/core/Page/Page.stories.js +13 -14
  31. package/dist/core/Page/Page.stories.sources.d.ts +10 -4
  32. package/dist/core/Page/Page.stories.sources.d.ts.map +1 -1
  33. package/dist/core/Page/Page.stories.sources.js +10 -4
  34. package/dist/core/Page/PageContentScrollable.d.ts +1 -0
  35. package/dist/core/Page/PageContentScrollable.d.ts.map +1 -1
  36. package/dist/core/Page/PageContentScrollable.js +2 -2
  37. package/dist/core/Page/PageHead.web.d.ts.map +1 -1
  38. package/dist/core/Page/PageHead.web.js +5 -2
  39. package/dist/core/Page/PageMetaContext.d.ts +12 -0
  40. package/dist/core/Page/PageMetaContext.d.ts.map +1 -0
  41. package/dist/core/Page/PageMetaContext.js +5 -0
  42. package/dist/core/Page/index.d.ts +2 -0
  43. package/dist/core/Page/index.d.ts.map +1 -1
  44. package/dist/core/Page/index.js +2 -0
  45. package/dist/core/PdfViewer/PdfViewer.js +1 -1
  46. package/dist/core/Version/Version.stories.d.ts +1 -1
  47. package/dist/core/Version/Version.styles.d.ts +1 -1
  48. package/dist/core/index.d.ts +1 -0
  49. package/dist/core/index.d.ts.map +1 -1
  50. package/dist/core/index.js +1 -0
  51. package/dist/generated/version.d.ts +1 -1
  52. package/dist/generated/version.d.ts.map +1 -1
  53. package/dist/generated/version.js +1 -1
  54. package/dist/globals.d.ts +2 -0
  55. package/dist/globals.d.ts.map +1 -0
  56. package/dist/globals.js +1 -0
  57. package/dist/pdfjs/pdf.min.mjs +8 -1
  58. package/dist/pdfjs/pdf.worker.min.mjs +8 -1
  59. package/dist/stories/index.d.ts +24 -0
  60. package/dist/stories/index.d.ts.map +1 -1
  61. package/dist/stories/index.js +24 -0
  62. package/dist/ui/Accordion/Accordion.d.ts +19 -0
  63. package/dist/ui/Accordion/Accordion.d.ts.map +1 -0
  64. package/dist/ui/Accordion/Accordion.js +10 -0
  65. package/dist/ui/Accordion/Accordion.stories.d.ts +103 -0
  66. package/dist/ui/Accordion/Accordion.stories.d.ts.map +1 -0
  67. package/dist/ui/Accordion/Accordion.stories.js +15 -0
  68. package/dist/ui/Accordion/Accordion.stories.sources.d.ts +6 -0
  69. package/dist/ui/Accordion/Accordion.stories.sources.d.ts.map +1 -0
  70. package/dist/ui/Accordion/Accordion.stories.sources.js +6 -0
  71. package/dist/ui/Accordion/Accordion.styles.d.ts +90 -0
  72. package/dist/ui/Accordion/Accordion.styles.d.ts.map +1 -0
  73. package/dist/ui/Accordion/Accordion.styles.js +86 -0
  74. package/dist/ui/Accordion/AccordionItem.d.ts +14 -0
  75. package/dist/ui/Accordion/AccordionItem.d.ts.map +1 -0
  76. package/dist/ui/Accordion/AccordionItem.js +19 -0
  77. package/dist/ui/Accordion/index.d.ts +4 -0
  78. package/dist/ui/Accordion/index.d.ts.map +1 -0
  79. package/dist/ui/Accordion/index.js +5 -0
  80. package/dist/ui/ActionMenu/ActionMenu.stories.js +1 -1
  81. package/dist/ui/ActionMenu/ActionMenu.stories.sources.d.ts.map +1 -1
  82. package/dist/ui/ActionMenu/ActionMenu.stories.sources.js +1 -1
  83. package/dist/ui/Autocomplete/Autocomplete.d.ts +41 -0
  84. package/dist/ui/Autocomplete/Autocomplete.d.ts.map +1 -0
  85. package/dist/ui/Autocomplete/Autocomplete.js +131 -0
  86. package/dist/ui/Autocomplete/Autocomplete.stories.d.ts +224 -0
  87. package/dist/ui/Autocomplete/Autocomplete.stories.d.ts.map +1 -0
  88. package/dist/ui/Autocomplete/Autocomplete.stories.js +56 -0
  89. package/dist/ui/Autocomplete/Autocomplete.stories.sources.d.ts +14 -0
  90. package/dist/ui/Autocomplete/Autocomplete.stories.sources.d.ts.map +1 -0
  91. package/dist/ui/Autocomplete/Autocomplete.stories.sources.js +14 -0
  92. package/dist/ui/Autocomplete/Autocomplete.styles.d.ts +208 -0
  93. package/dist/ui/Autocomplete/Autocomplete.styles.d.ts.map +1 -0
  94. package/dist/ui/Autocomplete/Autocomplete.styles.js +173 -0
  95. package/dist/ui/Autocomplete/Autocomplete.web.d.ts +28 -0
  96. package/dist/ui/Autocomplete/Autocomplete.web.d.ts.map +1 -0
  97. package/dist/ui/Autocomplete/Autocomplete.web.js +112 -0
  98. package/dist/ui/Autocomplete/AutocompleteChip.d.ts +8 -0
  99. package/dist/ui/Autocomplete/AutocompleteChip.d.ts.map +1 -0
  100. package/dist/ui/Autocomplete/AutocompleteChip.js +12 -0
  101. package/dist/ui/Autocomplete/index.d.ts +3 -0
  102. package/dist/ui/Autocomplete/index.d.ts.map +1 -0
  103. package/dist/ui/Autocomplete/index.js +2 -0
  104. package/dist/ui/AutocompleteAddress/AutocompleteAddress.d.ts +28 -0
  105. package/dist/ui/AutocompleteAddress/AutocompleteAddress.d.ts.map +1 -0
  106. package/dist/ui/AutocompleteAddress/AutocompleteAddress.js +20 -0
  107. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.d.ts +13 -0
  108. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.d.ts.map +1 -0
  109. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.js +30 -0
  110. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.sources.d.ts +6 -0
  111. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.sources.d.ts.map +1 -0
  112. package/dist/ui/AutocompleteAddress/AutocompleteAddress.stories.sources.js +6 -0
  113. package/dist/ui/AutocompleteAddress/index.d.ts +2 -0
  114. package/dist/ui/AutocompleteAddress/index.d.ts.map +1 -0
  115. package/dist/ui/AutocompleteAddress/index.js +1 -0
  116. package/dist/ui/Avatar/Avatar.stories.d.ts +2 -2
  117. package/dist/ui/Avatar/Avatar.styles.d.ts +2 -2
  118. package/dist/ui/Badge/Badge.js +1 -1
  119. package/dist/ui/Badge/Badge.stories.d.ts +14 -12
  120. package/dist/ui/Badge/Badge.stories.d.ts.map +1 -1
  121. package/dist/ui/Badge/Badge.styles.d.ts +14 -12
  122. package/dist/ui/Badge/Badge.styles.d.ts.map +1 -1
  123. package/dist/ui/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  124. package/dist/ui/Breadcrumbs/Breadcrumbs.js +1 -1
  125. package/dist/ui/Breadcrumbs/Breadcrumbs.stories.d.ts +3 -3
  126. package/dist/ui/Breadcrumbs/Breadcrumbs.styles.d.ts +3 -3
  127. package/dist/ui/Button/Button.stories.d.ts +56 -57
  128. package/dist/ui/Button/Button.stories.d.ts.map +1 -1
  129. package/dist/ui/Button/Button.styles.d.ts +56 -57
  130. package/dist/ui/Button/Button.styles.d.ts.map +1 -1
  131. package/dist/ui/Button/Button.styles.js +0 -1
  132. package/dist/ui/Button/ButtonIcon.d.ts.map +1 -1
  133. package/dist/ui/Button/ButtonIcon.js +2 -5
  134. package/dist/ui/Card/Card.stories.d.ts +3 -3
  135. package/dist/ui/Card/Card.styles.d.ts +2 -2
  136. package/dist/ui/Card/CardHeader.styles.d.ts +3 -3
  137. package/dist/ui/Card/CardSection.styles.d.ts +3 -3
  138. package/dist/ui/Checkbox/Checkbox.d.ts +19 -0
  139. package/dist/ui/Checkbox/Checkbox.d.ts.map +1 -0
  140. package/dist/ui/Checkbox/Checkbox.js +17 -0
  141. package/dist/ui/Checkbox/Checkbox.stories.d.ts +93 -0
  142. package/dist/ui/Checkbox/Checkbox.stories.d.ts.map +1 -0
  143. package/dist/ui/Checkbox/Checkbox.stories.js +15 -0
  144. package/dist/ui/Checkbox/Checkbox.stories.sources.d.ts +8 -0
  145. package/dist/ui/Checkbox/Checkbox.stories.sources.d.ts.map +1 -0
  146. package/dist/ui/Checkbox/Checkbox.stories.sources.js +8 -0
  147. package/dist/ui/Checkbox/Checkbox.styles.d.ts +70 -0
  148. package/dist/ui/Checkbox/Checkbox.styles.d.ts.map +1 -0
  149. package/dist/ui/Checkbox/Checkbox.styles.js +62 -0
  150. package/dist/ui/Checkbox/CheckboxContainer.d.ts +22 -0
  151. package/dist/ui/Checkbox/CheckboxContainer.d.ts.map +1 -0
  152. package/dist/ui/Checkbox/CheckboxContainer.js +21 -0
  153. package/dist/ui/Checkbox/CheckboxIndicator.d.ts +7 -0
  154. package/dist/ui/Checkbox/CheckboxIndicator.d.ts.map +1 -0
  155. package/dist/ui/Checkbox/CheckboxIndicator.js +15 -0
  156. package/dist/ui/Checkbox/CheckboxLabel.d.ts +9 -0
  157. package/dist/ui/Checkbox/CheckboxLabel.d.ts.map +1 -0
  158. package/dist/ui/Checkbox/CheckboxLabel.js +15 -0
  159. package/dist/ui/Checkbox/index.d.ts +5 -0
  160. package/dist/ui/Checkbox/index.d.ts.map +1 -0
  161. package/dist/ui/Checkbox/index.js +4 -0
  162. package/dist/ui/Counter/Counter.d.ts +6 -0
  163. package/dist/ui/Counter/Counter.d.ts.map +1 -0
  164. package/dist/ui/Counter/Counter.js +11 -0
  165. package/dist/ui/Counter/Counter.stories.d.ts +29 -0
  166. package/dist/ui/Counter/Counter.stories.d.ts.map +1 -0
  167. package/dist/ui/Counter/Counter.stories.js +15 -0
  168. package/dist/ui/Counter/Counter.stories.sources.d.ts +6 -0
  169. package/dist/ui/Counter/Counter.stories.sources.d.ts.map +1 -0
  170. package/dist/ui/Counter/Counter.stories.sources.js +6 -0
  171. package/dist/ui/Counter/Counter.styles.d.ts +18 -0
  172. package/dist/ui/Counter/Counter.styles.d.ts.map +1 -0
  173. package/dist/ui/Counter/Counter.styles.js +14 -0
  174. package/dist/ui/Counter/index.d.ts +2 -0
  175. package/dist/ui/Counter/index.d.ts.map +1 -0
  176. package/dist/ui/Counter/index.js +1 -0
  177. package/dist/ui/Divider/Divider.stories.d.ts +1 -1
  178. package/dist/ui/Divider/Divider.styles.d.ts +1 -1
  179. package/dist/ui/DocumentViewer/DocumentViewer.d.ts.map +1 -1
  180. package/dist/ui/DocumentViewer/DocumentViewer.js +1 -3
  181. package/dist/ui/DocumentViewer/DocumentViewer.stories.d.ts +10 -10
  182. package/dist/ui/DocumentViewer/DocumentViewer.styles.d.ts +10 -10
  183. package/dist/ui/DocumentViewer/DocumentViewerPDF.d.ts.map +1 -1
  184. package/dist/ui/DocumentViewer/DocumentViewerPDF.js +4 -7
  185. package/dist/ui/DragAndDropFile/DragAndDropFile.d.ts +9 -0
  186. package/dist/ui/DragAndDropFile/DragAndDropFile.d.ts.map +1 -0
  187. package/dist/ui/DragAndDropFile/DragAndDropFile.js +50 -0
  188. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.d.ts +102 -0
  189. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.d.ts.map +1 -0
  190. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.js +17 -0
  191. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.d.ts +10 -0
  192. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.d.ts.map +1 -0
  193. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.js +10 -0
  194. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.d.ts +89 -0
  195. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.d.ts.map +1 -0
  196. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.js +89 -0
  197. package/dist/ui/DragAndDropFile/DragAndDropFile.web.d.ts +4 -0
  198. package/dist/ui/DragAndDropFile/DragAndDropFile.web.d.ts.map +1 -0
  199. package/dist/ui/DragAndDropFile/DragAndDropFile.web.js +175 -0
  200. package/dist/ui/DragAndDropFile/index.d.ts +2 -0
  201. package/dist/ui/DragAndDropFile/index.d.ts.map +1 -0
  202. package/dist/ui/DragAndDropFile/index.js +1 -0
  203. package/dist/ui/EmailField/EmailField.d.ts +20 -0
  204. package/dist/ui/EmailField/EmailField.d.ts.map +1 -0
  205. package/dist/ui/EmailField/EmailField.js +8 -0
  206. package/dist/ui/EmailField/EmailField.stories.d.ts +25 -0
  207. package/dist/ui/EmailField/EmailField.stories.d.ts.map +1 -0
  208. package/dist/ui/EmailField/EmailField.stories.js +13 -0
  209. package/dist/ui/EmailField/EmailField.stories.sources.d.ts +6 -0
  210. package/dist/ui/EmailField/EmailField.stories.sources.d.ts.map +1 -0
  211. package/dist/ui/EmailField/EmailField.stories.sources.js +6 -0
  212. package/dist/ui/EmailField/index.d.ts +2 -0
  213. package/dist/ui/EmailField/index.d.ts.map +1 -0
  214. package/dist/ui/EmailField/index.js +1 -0
  215. package/dist/ui/EmailInput/EmailInput.d.ts +16 -0
  216. package/dist/ui/EmailInput/EmailInput.d.ts.map +1 -0
  217. package/dist/ui/EmailInput/EmailInput.js +10 -0
  218. package/dist/ui/EmailInput/EmailInput.stories.d.ts +21 -0
  219. package/dist/ui/EmailInput/EmailInput.stories.d.ts.map +1 -0
  220. package/dist/ui/EmailInput/EmailInput.stories.js +13 -0
  221. package/dist/ui/EmailInput/EmailInput.stories.sources.d.ts +6 -0
  222. package/dist/ui/EmailInput/EmailInput.stories.sources.d.ts.map +1 -0
  223. package/dist/ui/EmailInput/EmailInput.stories.sources.js +6 -0
  224. package/dist/ui/EmailInput/index.d.ts +2 -0
  225. package/dist/ui/EmailInput/index.d.ts.map +1 -0
  226. package/dist/ui/EmailInput/index.js +1 -0
  227. package/dist/ui/EmptyState/EmptyState.stories.d.ts +4 -4
  228. package/dist/ui/EmptyState/EmptyState.styles.d.ts +4 -4
  229. package/dist/ui/FileField/FileField.d.ts +5 -0
  230. package/dist/ui/FileField/FileField.d.ts.map +1 -0
  231. package/dist/ui/FileField/FileField.js +27 -0
  232. package/dist/ui/FileField/FileField.stories.d.ts +15 -0
  233. package/dist/ui/FileField/FileField.stories.d.ts.map +1 -0
  234. package/dist/ui/FileField/FileField.stories.js +15 -0
  235. package/dist/ui/FileField/FileField.stories.sources.d.ts +8 -0
  236. package/dist/ui/FileField/FileField.stories.sources.d.ts.map +1 -0
  237. package/dist/ui/FileField/FileField.stories.sources.js +8 -0
  238. package/dist/ui/FileField/FileField.styles.d.ts +4 -0
  239. package/dist/ui/FileField/FileField.styles.d.ts.map +1 -0
  240. package/dist/ui/FileField/FileField.styles.js +4 -0
  241. package/dist/ui/FileField/index.d.ts +2 -0
  242. package/dist/ui/FileField/index.d.ts.map +1 -0
  243. package/dist/ui/FileField/index.js +1 -0
  244. package/dist/ui/FormControl/FormControl.stories.d.ts +17 -17
  245. package/dist/ui/FormControl/FormControl.stories.js +3 -3
  246. package/dist/ui/FormControl/FormControl.stories.sources.d.ts.map +1 -1
  247. package/dist/ui/FormControl/FormControl.stories.sources.js +3 -3
  248. package/dist/ui/FormControl/FormControl.styles.d.ts +17 -17
  249. package/dist/ui/FormControl/FormControlFileInput.d.ts.map +1 -1
  250. package/dist/ui/FormControl/FormControlFileInput.styles.d.ts +6 -6
  251. package/dist/ui/FormControl/TextInput.d.ts.map +1 -1
  252. package/dist/ui/Header/Header.stories.d.ts +10 -6
  253. package/dist/ui/Header/Header.stories.d.ts.map +1 -1
  254. package/dist/ui/Header/Header.styles.d.ts +10 -6
  255. package/dist/ui/Header/Header.styles.d.ts.map +1 -1
  256. package/dist/ui/Header/Header.styles.js +1 -0
  257. package/dist/ui/InputButtonAdornment/InputButtonAdornment.d.ts +9 -0
  258. package/dist/ui/InputButtonAdornment/InputButtonAdornment.d.ts.map +1 -0
  259. package/dist/ui/InputButtonAdornment/InputButtonAdornment.js +13 -0
  260. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.d.ts +23 -0
  261. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.d.ts.map +1 -0
  262. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.js +16 -0
  263. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.sources.d.ts +8 -0
  264. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.sources.d.ts.map +1 -0
  265. package/dist/ui/InputButtonAdornment/InputButtonAdornment.stories.sources.js +8 -0
  266. package/dist/ui/InputButtonAdornment/InputButtonAdornment.styles.d.ts +12 -0
  267. package/dist/ui/InputButtonAdornment/InputButtonAdornment.styles.d.ts.map +1 -0
  268. package/dist/ui/InputButtonAdornment/InputButtonAdornment.styles.js +12 -0
  269. package/dist/ui/InputButtonAdornment/index.d.ts +2 -0
  270. package/dist/ui/InputButtonAdornment/index.d.ts.map +1 -0
  271. package/dist/ui/InputButtonAdornment/index.js +1 -0
  272. package/dist/ui/ListItem/ListItem.stories.d.ts +7 -7
  273. package/dist/ui/ListItem/ListItem.styles.d.ts +7 -7
  274. package/dist/ui/LucideIcon/LucideIcon.d.ts +3 -1
  275. package/dist/ui/LucideIcon/LucideIcon.d.ts.map +1 -1
  276. package/dist/ui/LucideIcon/LucideIcon.js +24 -4
  277. package/dist/ui/LucideIcon/LucideIcon.props.d.ts +8560 -9
  278. package/dist/ui/LucideIcon/LucideIcon.props.d.ts.map +1 -1
  279. package/dist/ui/LucideIcon/LucideIcon.props.js +1 -1
  280. package/dist/ui/LucideIcon/LucideIcon.stories.d.ts +4280 -4
  281. package/dist/ui/LucideIcon/LucideIcon.stories.d.ts.map +1 -1
  282. package/dist/ui/LucideIcon/LucideIcon.stories.js +2 -0
  283. package/dist/ui/LucideIcon/LucideIcon.stories.sources.d.ts +2 -0
  284. package/dist/ui/LucideIcon/LucideIcon.stories.sources.d.ts.map +1 -1
  285. package/dist/ui/LucideIcon/LucideIcon.stories.sources.js +2 -0
  286. package/dist/ui/NumberField/NumberField.d.ts +14 -0
  287. package/dist/ui/NumberField/NumberField.d.ts.map +1 -0
  288. package/dist/ui/NumberField/NumberField.js +13 -0
  289. package/dist/ui/NumberField/NumberField.stories.d.ts +14 -0
  290. package/dist/ui/NumberField/NumberField.stories.d.ts.map +1 -0
  291. package/dist/ui/NumberField/NumberField.stories.js +18 -0
  292. package/dist/ui/NumberField/NumberField.stories.sources.d.ts +6 -0
  293. package/dist/ui/NumberField/NumberField.stories.sources.d.ts.map +1 -0
  294. package/dist/ui/NumberField/NumberField.stories.sources.js +6 -0
  295. package/dist/ui/NumberField/NumberField.styles.d.ts +4 -0
  296. package/dist/ui/NumberField/NumberField.styles.d.ts.map +1 -0
  297. package/dist/ui/NumberField/NumberField.styles.js +4 -0
  298. package/dist/ui/NumberField/NumberField.web.d.ts +4 -0
  299. package/dist/ui/NumberField/NumberField.web.d.ts.map +1 -0
  300. package/dist/ui/NumberField/NumberField.web.js +10 -0
  301. package/dist/ui/NumberField/NumberFieldControlButton.d.ts +8 -0
  302. package/dist/ui/NumberField/NumberFieldControlButton.d.ts.map +1 -0
  303. package/dist/ui/NumberField/NumberFieldControlButton.js +6 -0
  304. package/dist/ui/NumberField/index.d.ts +2 -0
  305. package/dist/ui/NumberField/index.d.ts.map +1 -0
  306. package/dist/ui/NumberField/index.js +1 -0
  307. package/dist/ui/OtpField/OtpField.d.ts +15 -0
  308. package/dist/ui/OtpField/OtpField.d.ts.map +1 -0
  309. package/dist/ui/OtpField/OtpField.js +18 -0
  310. package/dist/ui/OtpField/OtpField.stories.d.ts +57 -0
  311. package/dist/ui/OtpField/OtpField.stories.d.ts.map +1 -0
  312. package/dist/ui/OtpField/OtpField.stories.js +14 -0
  313. package/dist/ui/OtpField/OtpField.stories.sources.d.ts +6 -0
  314. package/dist/ui/OtpField/OtpField.stories.sources.d.ts.map +1 -0
  315. package/dist/ui/OtpField/OtpField.stories.sources.js +6 -0
  316. package/dist/ui/OtpField/OtpField.styles.d.ts +39 -0
  317. package/dist/ui/OtpField/OtpField.styles.d.ts.map +1 -0
  318. package/dist/ui/OtpField/OtpField.styles.js +35 -0
  319. package/dist/ui/OtpField/index.d.ts +2 -0
  320. package/dist/ui/OtpField/index.d.ts.map +1 -0
  321. package/dist/ui/OtpField/index.js +1 -0
  322. package/dist/ui/PageHeader/PageHeader.d.ts.map +1 -1
  323. package/dist/ui/PageHeader/PageHeader.js +1 -1
  324. package/dist/ui/PageHeader/PageHeader.stories.d.ts +1 -1
  325. package/dist/ui/PageHeader/PageHeader.stories.js +1 -1
  326. package/dist/ui/PageHeader/PageHeader.styles.d.ts +1 -1
  327. package/dist/ui/PasswordField/PasswordField.d.ts +20 -0
  328. package/dist/ui/PasswordField/PasswordField.d.ts.map +1 -0
  329. package/dist/ui/PasswordField/PasswordField.js +10 -0
  330. package/dist/ui/PasswordField/PasswordField.stories.d.ts +33 -0
  331. package/dist/ui/PasswordField/PasswordField.stories.d.ts.map +1 -0
  332. package/dist/ui/PasswordField/PasswordField.stories.js +14 -0
  333. package/dist/ui/PasswordField/PasswordField.stories.sources.d.ts +6 -0
  334. package/dist/ui/PasswordField/PasswordField.stories.sources.d.ts.map +1 -0
  335. package/dist/ui/PasswordField/PasswordField.stories.sources.js +6 -0
  336. package/dist/ui/PasswordField/PasswordField.styles.d.ts +10 -0
  337. package/dist/ui/PasswordField/PasswordField.styles.d.ts.map +1 -0
  338. package/dist/ui/PasswordField/PasswordField.styles.js +10 -0
  339. package/dist/ui/PasswordField/index.d.ts +2 -0
  340. package/dist/ui/PasswordField/index.d.ts.map +1 -0
  341. package/dist/ui/PasswordField/index.js +1 -0
  342. package/dist/ui/PhoneField/PhoneField.d.ts +20 -0
  343. package/dist/ui/PhoneField/PhoneField.d.ts.map +1 -0
  344. package/dist/ui/PhoneField/PhoneField.js +8 -0
  345. package/dist/ui/PhoneField/PhoneField.stories.d.ts +25 -0
  346. package/dist/ui/PhoneField/PhoneField.stories.d.ts.map +1 -0
  347. package/dist/ui/PhoneField/PhoneField.stories.js +13 -0
  348. package/dist/ui/PhoneField/PhoneField.stories.sources.d.ts +6 -0
  349. package/dist/ui/PhoneField/PhoneField.stories.sources.d.ts.map +1 -0
  350. package/dist/ui/PhoneField/PhoneField.stories.sources.js +6 -0
  351. package/dist/ui/PhoneField/index.d.ts +2 -0
  352. package/dist/ui/PhoneField/index.d.ts.map +1 -0
  353. package/dist/ui/PhoneField/index.js +1 -0
  354. package/dist/ui/PhoneInput/PhoneInput.d.ts +16 -0
  355. package/dist/ui/PhoneInput/PhoneInput.d.ts.map +1 -0
  356. package/dist/ui/PhoneInput/PhoneInput.js +7 -0
  357. package/dist/ui/PhoneInput/PhoneInput.stories.d.ts +21 -0
  358. package/dist/ui/PhoneInput/PhoneInput.stories.d.ts.map +1 -0
  359. package/dist/ui/PhoneInput/PhoneInput.stories.js +13 -0
  360. package/dist/ui/PhoneInput/PhoneInput.stories.sources.d.ts +6 -0
  361. package/dist/ui/PhoneInput/PhoneInput.stories.sources.d.ts.map +1 -0
  362. package/dist/ui/PhoneInput/PhoneInput.stories.sources.js +6 -0
  363. package/dist/ui/PhoneInput/index.d.ts +2 -0
  364. package/dist/ui/PhoneInput/index.d.ts.map +1 -0
  365. package/dist/ui/PhoneInput/index.js +1 -0
  366. package/dist/ui/Popover/Popover.stories.d.ts +6 -6
  367. package/dist/ui/Popover/Popover.styles.d.ts +6 -6
  368. package/dist/ui/PriceInput/PriceInput.css +9 -0
  369. package/dist/ui/PriceInput/PriceInput.d.ts +14 -0
  370. package/dist/ui/PriceInput/PriceInput.d.ts.map +1 -0
  371. package/dist/ui/PriceInput/PriceInput.js +16 -0
  372. package/dist/ui/PriceInput/PriceInput.stories.d.ts +51 -0
  373. package/dist/ui/PriceInput/PriceInput.stories.d.ts.map +1 -0
  374. package/dist/ui/PriceInput/PriceInput.stories.js +19 -0
  375. package/dist/ui/PriceInput/PriceInput.stories.sources.d.ts +6 -0
  376. package/dist/ui/PriceInput/PriceInput.stories.sources.d.ts.map +1 -0
  377. package/dist/ui/PriceInput/PriceInput.stories.sources.js +6 -0
  378. package/dist/ui/PriceInput/PriceInput.styles.d.ts +36 -0
  379. package/dist/ui/PriceInput/PriceInput.styles.d.ts.map +1 -0
  380. package/dist/ui/PriceInput/PriceInput.styles.js +32 -0
  381. package/dist/ui/PriceInput/PriceInput.web.d.ts +8 -0
  382. package/dist/ui/PriceInput/PriceInput.web.d.ts.map +1 -0
  383. package/dist/ui/PriceInput/PriceInput.web.js +21 -0
  384. package/dist/ui/PriceInput/index.d.ts +2 -0
  385. package/dist/ui/PriceInput/index.d.ts.map +1 -0
  386. package/dist/ui/PriceInput/index.js +1 -0
  387. package/dist/ui/ProgressBar/ProgressBar.stories.d.ts +7 -7
  388. package/dist/ui/ProgressBar/ProgressBar.styles.d.ts +7 -7
  389. package/dist/ui/ProgressBar/ProgressBarDeterminate.js +1 -1
  390. package/dist/ui/ProgressBar/ProgressBarIndeterminate.js +1 -1
  391. package/dist/ui/ProgressBar/ProgressBarLoop.js +1 -1
  392. package/dist/ui/RadioGroup/RadioGroup.d.ts +21 -0
  393. package/dist/ui/RadioGroup/RadioGroup.d.ts.map +1 -0
  394. package/dist/ui/RadioGroup/RadioGroup.js +11 -0
  395. package/dist/ui/RadioGroup/RadioGroup.stories.d.ts +164 -0
  396. package/dist/ui/RadioGroup/RadioGroup.stories.d.ts.map +1 -0
  397. package/dist/ui/RadioGroup/RadioGroup.stories.js +23 -0
  398. package/dist/ui/RadioGroup/RadioGroup.stories.sources.d.ts +10 -0
  399. package/dist/ui/RadioGroup/RadioGroup.stories.sources.d.ts.map +1 -0
  400. package/dist/ui/RadioGroup/RadioGroup.stories.sources.js +10 -0
  401. package/dist/ui/RadioGroup/RadioGroup.styles.d.ts +140 -0
  402. package/dist/ui/RadioGroup/RadioGroup.styles.d.ts.map +1 -0
  403. package/dist/ui/RadioGroup/RadioGroup.styles.js +129 -0
  404. package/dist/ui/RadioGroup/RadioGroupCard.d.ts +12 -0
  405. package/dist/ui/RadioGroup/RadioGroupCard.d.ts.map +1 -0
  406. package/dist/ui/RadioGroup/RadioGroupCard.js +15 -0
  407. package/dist/ui/RadioGroup/RadioGroupContext.d.ts +8 -0
  408. package/dist/ui/RadioGroup/RadioGroupContext.d.ts.map +1 -0
  409. package/dist/ui/RadioGroup/RadioGroupContext.js +3 -0
  410. package/dist/ui/RadioGroup/RadioGroupItem.d.ts +8 -0
  411. package/dist/ui/RadioGroup/RadioGroupItem.d.ts.map +1 -0
  412. package/dist/ui/RadioGroup/RadioGroupItem.js +13 -0
  413. package/dist/ui/RadioGroup/RadioGroupItem.styles.d.ts +24 -0
  414. package/dist/ui/RadioGroup/RadioGroupItem.styles.d.ts.map +1 -0
  415. package/dist/ui/RadioGroup/RadioGroupItem.styles.js +20 -0
  416. package/dist/ui/RadioGroup/RadioInput.d.ts +7 -0
  417. package/dist/ui/RadioGroup/RadioInput.d.ts.map +1 -0
  418. package/dist/ui/RadioGroup/RadioInput.js +13 -0
  419. package/dist/ui/RadioGroup/index.d.ts +18 -0
  420. package/dist/ui/RadioGroup/index.d.ts.map +1 -0
  421. package/dist/ui/RadioGroup/index.js +7 -0
  422. package/dist/ui/ResourceList/ResourceList.stories.d.ts +2 -2
  423. package/dist/ui/ResourceList/ResourceList.styles.d.ts +2 -2
  424. package/dist/ui/Select/NativePicker.d.ts +16 -0
  425. package/dist/ui/Select/NativePicker.d.ts.map +1 -0
  426. package/dist/ui/Select/NativePicker.js +20 -0
  427. package/dist/ui/Select/Select.d.ts +24 -0
  428. package/dist/ui/Select/Select.d.ts.map +1 -0
  429. package/dist/ui/Select/Select.js +28 -0
  430. package/dist/ui/Select/Select.stories.d.ts +80 -0
  431. package/dist/ui/Select/Select.stories.d.ts.map +1 -0
  432. package/dist/ui/Select/Select.stories.js +24 -0
  433. package/dist/ui/Select/Select.stories.sources.d.ts +8 -0
  434. package/dist/ui/Select/Select.stories.sources.d.ts.map +1 -0
  435. package/dist/ui/Select/Select.stories.sources.js +8 -0
  436. package/dist/ui/Select/Select.styles.d.ts +60 -0
  437. package/dist/ui/Select/Select.styles.d.ts.map +1 -0
  438. package/dist/ui/Select/Select.styles.js +57 -0
  439. package/dist/ui/Select/SelectInput.d.ts +11 -0
  440. package/dist/ui/Select/SelectInput.d.ts.map +1 -0
  441. package/dist/ui/Select/SelectInput.ios.d.ts +9 -0
  442. package/dist/ui/Select/SelectInput.ios.d.ts.map +1 -0
  443. package/dist/ui/Select/SelectInput.ios.js +28 -0
  444. package/dist/ui/Select/SelectInput.js +6 -0
  445. package/dist/ui/Select/index.d.ts +7 -0
  446. package/dist/ui/Select/index.d.ts.map +1 -0
  447. package/dist/ui/Select/index.js +3 -0
  448. package/dist/ui/SelectMultiple/SelectMultiple.d.ts +14 -0
  449. package/dist/ui/SelectMultiple/SelectMultiple.d.ts.map +1 -0
  450. package/dist/ui/SelectMultiple/SelectMultiple.js +6 -0
  451. package/dist/ui/SelectMultiple/SelectMultiple.stories.d.ts +77 -0
  452. package/dist/ui/SelectMultiple/SelectMultiple.stories.d.ts.map +1 -0
  453. package/dist/ui/SelectMultiple/SelectMultiple.stories.js +25 -0
  454. package/dist/ui/SelectMultiple/SelectMultiple.stories.sources.d.ts +8 -0
  455. package/dist/ui/SelectMultiple/SelectMultiple.stories.sources.d.ts.map +1 -0
  456. package/dist/ui/SelectMultiple/SelectMultiple.stories.sources.js +8 -0
  457. package/dist/ui/SelectMultiple/SelectMultiple.styles.d.ts +66 -0
  458. package/dist/ui/SelectMultiple/SelectMultiple.styles.d.ts.map +1 -0
  459. package/dist/ui/SelectMultiple/SelectMultiple.styles.js +66 -0
  460. package/dist/ui/SelectMultiple/SelectMultiple.web.d.ts +14 -0
  461. package/dist/ui/SelectMultiple/SelectMultiple.web.d.ts.map +1 -0
  462. package/dist/ui/SelectMultiple/SelectMultiple.web.js +49 -0
  463. package/dist/ui/SelectMultiple/index.d.ts +3 -0
  464. package/dist/ui/SelectMultiple/index.d.ts.map +1 -0
  465. package/dist/ui/SelectMultiple/index.js +1 -0
  466. package/dist/ui/Sidebar/Sidebar.stories.d.ts +19 -19
  467. package/dist/ui/Sidebar/Sidebar.styles.d.ts +19 -19
  468. package/dist/ui/Signature/Signature.stories.d.ts +2 -2
  469. package/dist/ui/Signature/Signature.styles.d.ts +2 -2
  470. package/dist/ui/Signature/Signature.web.d.ts.map +1 -1
  471. package/dist/ui/Signature/Signature.web.js +5 -2
  472. package/dist/ui/Switch/Switch.d.ts +20 -0
  473. package/dist/ui/Switch/Switch.d.ts.map +1 -0
  474. package/dist/ui/Switch/Switch.js +42 -0
  475. package/dist/ui/Switch/Switch.stories.d.ts +73 -0
  476. package/dist/ui/Switch/Switch.stories.d.ts.map +1 -0
  477. package/dist/ui/Switch/Switch.stories.js +19 -0
  478. package/dist/ui/Switch/Switch.stories.sources.d.ts +8 -0
  479. package/dist/ui/Switch/Switch.stories.sources.d.ts.map +1 -0
  480. package/dist/ui/Switch/Switch.stories.sources.js +8 -0
  481. package/dist/ui/Switch/Switch.styles.d.ts +55 -0
  482. package/dist/ui/Switch/Switch.styles.d.ts.map +1 -0
  483. package/dist/ui/Switch/Switch.styles.js +51 -0
  484. package/dist/ui/Switch/index.d.ts +2 -0
  485. package/dist/ui/Switch/index.d.ts.map +1 -0
  486. package/dist/ui/Switch/index.js +1 -0
  487. package/dist/ui/Tabs/Tabs.d.ts.map +1 -1
  488. package/dist/ui/Tabs/Tabs.js +2 -2
  489. package/dist/ui/Tabs/Tabs.stories.d.ts +5 -17
  490. package/dist/ui/Tabs/Tabs.stories.d.ts.map +1 -1
  491. package/dist/ui/Tabs/Tabs.styles.d.ts +5 -17
  492. package/dist/ui/Tabs/Tabs.styles.d.ts.map +1 -1
  493. package/dist/ui/Tabs/Tabs.styles.js +0 -8
  494. package/dist/ui/Tag/Tag.stories.d.ts +4 -4
  495. package/dist/ui/Tag/Tag.styles.d.ts +4 -4
  496. package/dist/ui/TextField/TextField.d.ts +22 -0
  497. package/dist/ui/TextField/TextField.d.ts.map +1 -0
  498. package/dist/ui/TextField/TextField.js +14 -0
  499. package/dist/ui/TextField/TextField.stories.d.ts +29 -0
  500. package/dist/ui/TextField/TextField.stories.d.ts.map +1 -0
  501. package/dist/ui/TextField/TextField.stories.js +15 -0
  502. package/dist/ui/TextField/TextField.stories.sources.d.ts +8 -0
  503. package/dist/ui/TextField/TextField.stories.sources.d.ts.map +1 -0
  504. package/dist/ui/TextField/TextField.stories.sources.js +8 -0
  505. package/dist/ui/TextField/TextField.styles.d.ts +4 -0
  506. package/dist/ui/TextField/TextField.styles.d.ts.map +1 -0
  507. package/dist/ui/TextField/TextField.styles.js +4 -0
  508. package/dist/ui/TextField/index.d.ts +2 -0
  509. package/dist/ui/TextField/index.d.ts.map +1 -0
  510. package/dist/ui/TextField/index.js +1 -0
  511. package/dist/ui/TextInputArray/TextInputArray.d.ts +21 -0
  512. package/dist/ui/TextInputArray/TextInputArray.d.ts.map +1 -0
  513. package/dist/ui/TextInputArray/TextInputArray.js +53 -0
  514. package/dist/ui/TextInputArray/TextInputArray.stories.d.ts +13 -0
  515. package/dist/ui/TextInputArray/TextInputArray.stories.d.ts.map +1 -0
  516. package/dist/ui/TextInputArray/TextInputArray.stories.js +24 -0
  517. package/dist/ui/TextInputArray/TextInputArray.stories.sources.d.ts +8 -0
  518. package/dist/ui/TextInputArray/TextInputArray.stories.sources.d.ts.map +1 -0
  519. package/dist/ui/TextInputArray/TextInputArray.stories.sources.js +8 -0
  520. package/dist/ui/TextInputArray/index.d.ts +2 -0
  521. package/dist/ui/TextInputArray/index.d.ts.map +1 -0
  522. package/dist/ui/TextInputArray/index.js +1 -0
  523. package/dist/ui/TextareaField/TextareaField.d.ts +22 -0
  524. package/dist/ui/TextareaField/TextareaField.d.ts.map +1 -0
  525. package/dist/ui/TextareaField/TextareaField.js +8 -0
  526. package/dist/ui/TextareaField/TextareaField.stories.d.ts +26 -0
  527. package/dist/ui/TextareaField/TextareaField.stories.d.ts.map +1 -0
  528. package/dist/ui/TextareaField/TextareaField.stories.js +13 -0
  529. package/dist/ui/TextareaField/TextareaField.stories.sources.d.ts +6 -0
  530. package/dist/ui/TextareaField/TextareaField.stories.sources.d.ts.map +1 -0
  531. package/dist/ui/TextareaField/TextareaField.stories.sources.js +6 -0
  532. package/dist/ui/TextareaField/index.d.ts +2 -0
  533. package/dist/ui/TextareaField/index.d.ts.map +1 -0
  534. package/dist/ui/TextareaField/index.js +1 -0
  535. package/dist/ui/TextareaInput/TextareaInput.d.ts +25 -0
  536. package/dist/ui/TextareaInput/TextareaInput.d.ts.map +1 -0
  537. package/dist/ui/TextareaInput/TextareaInput.js +7 -0
  538. package/dist/ui/TextareaInput/TextareaInput.stories.d.ts +29 -0
  539. package/dist/ui/TextareaInput/TextareaInput.stories.d.ts.map +1 -0
  540. package/dist/ui/TextareaInput/TextareaInput.stories.js +13 -0
  541. package/dist/ui/TextareaInput/TextareaInput.stories.sources.d.ts +6 -0
  542. package/dist/ui/TextareaInput/TextareaInput.stories.sources.d.ts.map +1 -0
  543. package/dist/ui/TextareaInput/TextareaInput.stories.sources.js +6 -0
  544. package/dist/ui/TextareaInput/index.d.ts +2 -0
  545. package/dist/ui/TextareaInput/index.d.ts.map +1 -0
  546. package/dist/ui/TextareaInput/index.js +1 -0
  547. package/dist/ui/Toast/Toast.d.ts +13 -2
  548. package/dist/ui/Toast/Toast.d.ts.map +1 -1
  549. package/dist/ui/Toast/Toast.js +6 -35
  550. package/dist/ui/Toast/Toast.stories.d.ts +39 -21
  551. package/dist/ui/Toast/Toast.stories.d.ts.map +1 -1
  552. package/dist/ui/Toast/Toast.stories.js +12 -3
  553. package/dist/ui/Toast/Toast.stories.sources.d.ts +16 -0
  554. package/dist/ui/Toast/Toast.stories.sources.d.ts.map +1 -1
  555. package/dist/ui/Toast/Toast.stories.sources.js +17 -1
  556. package/dist/ui/Toast/Toast.styles.d.ts +31 -21
  557. package/dist/ui/Toast/Toast.styles.d.ts.map +1 -1
  558. package/dist/ui/Toast/Toast.styles.js +29 -19
  559. package/dist/ui/Toast/ToastContext.d.ts +1 -1
  560. package/dist/ui/Toast/ToastContext.d.ts.map +1 -1
  561. package/dist/ui/Toast/ToastType.d.ts +11 -0
  562. package/dist/ui/Toast/ToastType.d.ts.map +1 -0
  563. package/dist/ui/Toast/ToastType.js +46 -0
  564. package/dist/ui/ToolbarBottomNav/ToolbarBottomNav.stories.d.ts +4 -4
  565. package/dist/ui/ToolbarBottomNav/ToolbarBottomNav.styles.d.ts +4 -4
  566. package/dist/ui/ToolbarTop/ToolbarTop.stories.d.ts +3 -3
  567. package/dist/ui/ToolbarTop/ToolbarTop.styles.d.ts +3 -3
  568. package/dist/ui/index.d.ts +24 -0
  569. package/dist/ui/index.d.ts.map +1 -1
  570. package/dist/ui/index.js +24 -0
  571. package/package.json +37 -26
@@ -0,0 +1,175 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, FormControlCaption, FormControlFileInput, FormControlHint, FormControlLabel, LucideIcon, } from '@alveole/components';
3
+ import React from 'react';
4
+ import { Alert } from '../../core/Alert';
5
+ import { useStyles } from './DragAndDropFile.styles';
6
+ function fileMatchesType(file, types) {
7
+ if (!types || types.length === 0)
8
+ return true;
9
+ const mime = file.type || '';
10
+ const wantsImage = types.includes('image');
11
+ const wantsPdf = types.includes('pdf');
12
+ const wantsCsv = types.includes('csv');
13
+ if (wantsImage && mime.startsWith('image/'))
14
+ return true;
15
+ if (wantsPdf && (mime === 'application/pdf' || mime.endsWith('/pdf')))
16
+ return true;
17
+ if (wantsCsv && (mime === 'text/csv' || mime === 'application/csv' || file.name?.endsWith('.csv')))
18
+ return true;
19
+ return false;
20
+ }
21
+ function fileToDocumentPickerAsset(file) {
22
+ const uri = URL.createObjectURL(file);
23
+ return {
24
+ uri,
25
+ name: file.name,
26
+ size: file.size,
27
+ mimeType: file.type || 'application/octet-stream',
28
+ file,
29
+ };
30
+ }
31
+ function filesToDocumentPickerAssets(files) {
32
+ return files.map(file => fileToDocumentPickerAsset(file));
33
+ }
34
+ export const DragAndDropFile = (props) => {
35
+ const { value, label, hint, icon, type, error, success, onChange, multiple } = props;
36
+ const styles = useStyles();
37
+ const [isOver, setIsOver] = React.useState(false);
38
+ const [isMouthOver, setIsMouthOver] = React.useState(false);
39
+ const [forceOpen, setForceOpen] = React.useState(false);
40
+ const onValueChange = v => {
41
+ if (type == null)
42
+ return onChange(v);
43
+ if (multiple && Array.isArray(v)) {
44
+ const invalidFiles = v.filter(file => {
45
+ const mimeType = file?.mimeType;
46
+ const fileName = file?.name;
47
+ if (mimeType == null)
48
+ return true;
49
+ return !((type.includes('image') && mimeType.startsWith('image')) ||
50
+ (type.includes('pdf') && mimeType.endsWith('pdf')) ||
51
+ (type.includes('csv') &&
52
+ (mimeType === 'text/csv' || mimeType === 'application/csv' || fileName?.endsWith('.csv'))));
53
+ });
54
+ if (invalidFiles.length > 0) {
55
+ Alert.alert({ title: 'Type de fichier incorrect', message: `Certains fichiers ne sont pas pris en charge` });
56
+ return;
57
+ }
58
+ return onChange(v);
59
+ }
60
+ const mimeType = v?.mimeType;
61
+ if (mimeType == null)
62
+ return onChange(v);
63
+ const fileName = v?.name;
64
+ if ((type.includes('image') && mimeType.startsWith('image')) ||
65
+ (type.includes('pdf') && mimeType.endsWith('pdf')) ||
66
+ (type.includes('csv') &&
67
+ (mimeType === 'text/csv' || mimeType === 'application/csv' || fileName?.endsWith('.csv'))))
68
+ return onChange(v);
69
+ Alert.alert({ title: 'Type de fichier incorrect', message: `Le format du fichier n'est pas pris en charge` });
70
+ };
71
+ const emitFile = React.useCallback((file) => {
72
+ if (!fileMatchesType(file, type)) {
73
+ Alert.alert({ title: 'Type de fichier incorrect', message: `Le format du fichier n'est pas pris en charge` });
74
+ return;
75
+ }
76
+ const asset = fileToDocumentPickerAsset(file);
77
+ onValueChange?.(asset);
78
+ },
79
+ // eslint-disable-next-line react-hooks/exhaustive-deps
80
+ [type]);
81
+ const emitFiles = React.useCallback((files) => {
82
+ const validFiles = files.filter(file => fileMatchesType(file, type));
83
+ const invalidFiles = files.filter(file => !fileMatchesType(file, type));
84
+ if (invalidFiles.length > 0) {
85
+ Alert.alert({ title: 'Type de fichier incorrect', message: `Certains fichiers ne sont pas pris en charge` });
86
+ }
87
+ if (validFiles.length > 0) {
88
+ const assets = filesToDocumentPickerAssets(validFiles);
89
+ onValueChange?.(assets);
90
+ }
91
+ },
92
+ // eslint-disable-next-line react-hooks/exhaustive-deps
93
+ [type]);
94
+ const onDrop = React.useCallback((e) => {
95
+ e.preventDefault();
96
+ e.stopPropagation();
97
+ setIsOver(false);
98
+ const dt = e.dataTransfer;
99
+ const files = [];
100
+ if (dt?.items?.length) {
101
+ for (let i = 0; i < dt.items.length; i++) {
102
+ const it = dt.items[i];
103
+ if (it.kind === 'file') {
104
+ const f = it.getAsFile();
105
+ if (f)
106
+ files.push(f);
107
+ }
108
+ }
109
+ }
110
+ else if (dt?.files?.length) {
111
+ for (let i = 0; i < dt.files.length; i++) {
112
+ const f = dt.files[i];
113
+ if (f)
114
+ files.push(f);
115
+ }
116
+ }
117
+ if (files.length > 0) {
118
+ if (multiple)
119
+ emitFiles(files);
120
+ else
121
+ emitFile(files[0]);
122
+ }
123
+ }, [emitFile, emitFiles, multiple]);
124
+ const onDragOver = React.useCallback((e) => {
125
+ e.preventDefault();
126
+ if (!isOver)
127
+ setIsOver(true);
128
+ }, [isOver]);
129
+ const onDragLeave = React.useCallback((e) => {
130
+ e.preventDefault();
131
+ if (isOver)
132
+ setIsOver(false);
133
+ }, [isOver]);
134
+ const onMouseOver = React.useCallback((e) => {
135
+ e.preventDefault();
136
+ if (!isMouthOver)
137
+ setIsMouthOver(true);
138
+ }, [isMouthOver]);
139
+ const onMouseLeave = React.useCallback((e) => {
140
+ e.preventDefault();
141
+ if (isMouthOver)
142
+ setIsMouthOver(false);
143
+ }, [isMouthOver]);
144
+ React.useEffect(() => {
145
+ return () => {
146
+ if (Array.isArray(value)) {
147
+ value.forEach(file => {
148
+ const uri = file?.uri;
149
+ if (uri?.startsWith('blob:'))
150
+ try {
151
+ URL.revokeObjectURL(uri);
152
+ }
153
+ catch { }
154
+ });
155
+ }
156
+ else {
157
+ const uri = value?.uri;
158
+ if (uri?.startsWith('blob:'))
159
+ try {
160
+ URL.revokeObjectURL(uri);
161
+ }
162
+ catch { }
163
+ }
164
+ };
165
+ }, [value]);
166
+ const styleContainer = React.useMemo(() => ({
167
+ ...styles.container,
168
+ ...(isMouthOver ? styles.containerMouseHover : {}),
169
+ ...(isOver ? styles.containerHover : {}),
170
+ ...(error ? styles.containerError : {}),
171
+ }),
172
+ // eslint-disable-next-line react-hooks/exhaustive-deps
173
+ [error, isMouthOver, isOver]);
174
+ return (_jsxs("div", { tabIndex: 0, onDrop: onDrop, onDragOver: onDragOver, onDragEnter: onDragOver, onDragLeave: onDragLeave, onMouseOver: onMouseOver, onMouseEnter: onMouseOver, onMouseLeave: onMouseLeave, onClick: () => setForceOpen(true), style: styleContainer, children: [_jsx(Box, { tag: "drag-and-drop-file-icon", display: "flex", flexDirection: "row", justify: "center", children: _jsx(LucideIcon, { size: "xl", name: icon ?? 'Upload', style: styles.icon }) }), _jsx(Box, { tag: "drag-and-drop-file-label", display: "flex", flexDirection: "row", justify: "center", children: _jsx(FormControlLabel, { label: label }) }), _jsx(Box, { tag: "drag-and-drop-file-hint", display: "flex", flexDirection: "row", justify: "center", children: hint && _jsx(FormControlHint, { hint: hint }) }), _jsx(Box, { tag: "drag-and-drop-file-input", display: "flex", flexDirection: "row", justify: "center", children: _jsx(Box, { pt: 16, children: _jsx(FormControlFileInput, { ...props, canChange: false, onChange: onValueChange, reopen: forceOpen, onPickStart: () => setForceOpen(false), multiple: multiple, type: type }) }) }), (error || success) && (_jsx(Box, { tag: "drag-and-drop-file-error", style: styles.webError, children: _jsx(FormControlCaption, { ...props }) }))] }));
175
+ };
@@ -0,0 +1,2 @@
1
+ export * from './DragAndDropFile';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/DragAndDropFile/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './DragAndDropFile';
@@ -0,0 +1,20 @@
1
+ import { FormControlCaptionProps, FormControlHintProps, FormControlLabelProps, TextInputProps } from '@alveole/components';
2
+ import React from 'react';
3
+ export type EmailFieldProps = TextInputProps & FormControlLabelProps & FormControlHintProps & FormControlCaptionProps & {
4
+ onChange?: TextInputProps['onChangeText'];
5
+ };
6
+ export declare const EmailField: React.ForwardRefExoticComponent<Omit<import("react-native").TextInputProps, "style"> & {
7
+ disabled?: boolean;
8
+ startAdornment?: React.ReactNode;
9
+ endAdornment?: React.ReactNode;
10
+ openModal?: boolean;
11
+ modalSubmitLabel?: string;
12
+ onModalSubmit?: () => void;
13
+ } & {
14
+ label: string;
15
+ labelRight?: React.ReactNode;
16
+ disabled?: boolean;
17
+ } & FormControlCaptionProps & FormControlHintProps & {
18
+ onChange?: TextInputProps["onChangeText"];
19
+ } & React.RefAttributes<import("react-native").TextInput>>;
20
+ //# sourceMappingURL=EmailField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailField.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailField/EmailField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,uBAAuB,EAEvB,oBAAoB,EAEpB,qBAAqB,EAGrB,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,oBAAoB,GACpB,uBAAuB,GAAG;IACxB,QAAQ,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEJ,eAAO,MAAM,UAAU;;;;;;;;;;;;eAHR,cAAc,CAAC,cAAc,CAAC;0DAoB3C,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FormControl, FormControlCaption, FormControlHint, FormControlLabel, InputHeading, } from '@alveole/components';
3
+ import React from 'react';
4
+ import { EmailInput } from '../EmailInput';
5
+ export const EmailField = React.forwardRef(function EmailField(props, ref) {
6
+ const { label, labelRight, hint, error, success, disabled, onChange } = props;
7
+ return (_jsxs(FormControl, { children: [_jsxs(InputHeading, { children: [label && (_jsx(FormControlLabel, { labelRight: labelRight, label: label, disabled: disabled, error: error, success: success })), hint && _jsx(FormControlHint, { hint: hint, disabled: disabled })] }), _jsx(EmailInput, { ref: ref, onChangeText: onChange, ...props }), (error || success) && _jsx(FormControlCaption, { error: error, success: success })] }));
8
+ });
@@ -0,0 +1,25 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "ui"[];
4
+ experimental: false;
5
+ description: string;
6
+ component: import("react").ForwardRefExoticComponent<Omit<import("react-native").TextInputProps, "style"> & {
7
+ disabled?: boolean;
8
+ startAdornment?: React.ReactNode;
9
+ endAdornment?: React.ReactNode;
10
+ openModal?: boolean;
11
+ modalSubmitLabel?: string;
12
+ onModalSubmit?: () => void;
13
+ } & {
14
+ label: string;
15
+ labelRight?: React.ReactNode;
16
+ disabled?: boolean;
17
+ } & import("..").FormControlCaptionProps & import("..").FormControlHintProps & {
18
+ onChange?: import("..").TextInputProps["onChangeText"];
19
+ } & import("react").RefAttributes<import("react-native").TextInput>>;
20
+ styleFn: () => {};
21
+ };
22
+ export default _default;
23
+ export declare const Default: () => import("react").JSX.Element;
24
+ export * as Sources from './EmailField.stories.sources';
25
+ //# sourceMappingURL=EmailField.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailField.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailField/EmailField.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,wBAOkB;AAElB,eAAO,MAAM,OAAO,mCAOnB,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '../../core';
3
+ import { EmailField } from './EmailField';
4
+ export default {
5
+ title: 'EmailField',
6
+ tags: ['ui'],
7
+ experimental: false,
8
+ description: 'Champ email avec label. Clavier email, lowercase automatique.',
9
+ component: EmailField,
10
+ styleFn: () => ({}),
11
+ };
12
+ export const Default = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 24, children: [_jsx(EmailField, { label: "Email", placeholder: "jean@exemple.fr" }), _jsx(EmailField, { label: "Avec erreur", placeholder: "jean@exemple.fr", error: "Format invalide" }), _jsx(EmailField, { label: "Avec succ\u00E8s", value: "jean@exemple.fr", success: "Email valide" }), _jsx(EmailField, { label: "D\u00E9sactiv\u00E9", value: "jean@exemple.fr", disabled: true })] }));
13
+ export * as Sources from './EmailField.stories.sources';
@@ -0,0 +1,6 @@
1
+ export declare const Default: () => string;
2
+ export declare const storySources: {
3
+ readonly Default: () => string;
4
+ };
5
+ export type StorySourceName = keyof typeof storySources;
6
+ //# sourceMappingURL=EmailField.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailField.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailField/EmailField.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,cAAmc,CAAC;AAExd,eAAO,MAAM,YAAY;;CAEf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ // This file is generated. Do not edit manually.
2
+ // Source: src/ui/EmailField/EmailField.stories.tsx
3
+ export const Default = () => "export const Default = () => (\n <Box display=\"flex\" flexDirection=\"column\" gap={24}>\n <EmailField label=\"Email\" placeholder=\"jean@exemple.fr\" />\n <EmailField label=\"Avec erreur\" placeholder=\"jean@exemple.fr\" error=\"Format invalide\" />\n <EmailField label=\"Avec succès\" value=\"jean@exemple.fr\" success=\"Email valide\" />\n <EmailField label=\"Désactivé\" value=\"jean@exemple.fr\" disabled />\n </Box>\n);";
4
+ export const storySources = {
5
+ Default,
6
+ };
@@ -0,0 +1,2 @@
1
+ export * from './EmailField';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailField/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './EmailField';
@@ -0,0 +1,16 @@
1
+ import { TextInputProps } from '@alveole/components';
2
+ import React from 'react';
3
+ export type EmailInputProps = TextInputProps & {
4
+ onChange?: TextInputProps['onChangeText'];
5
+ };
6
+ export declare const EmailInput: React.ForwardRefExoticComponent<Omit<import("react-native").TextInputProps, "style"> & {
7
+ disabled?: boolean;
8
+ startAdornment?: React.ReactNode;
9
+ endAdornment?: React.ReactNode;
10
+ openModal?: boolean;
11
+ modalSubmitLabel?: string;
12
+ onModalSubmit?: () => void;
13
+ } & {
14
+ onChange?: TextInputProps["onChangeText"];
15
+ } & React.RefAttributes<import("react-native").TextInput>>;
16
+ //# sourceMappingURL=EmailInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailInput.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailInput/EmailInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG;IAC7C,QAAQ,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;eAHV,cAAc,CAAC,cAAc,CAAC;0DAuBzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { TextInput } from '@alveole/components';
3
+ import React from 'react';
4
+ export const EmailInput = React.forwardRef(function EmailInput(props, ref) {
5
+ const { onChange } = props;
6
+ const handleChange = value => {
7
+ onChange?.(value.toLowerCase());
8
+ };
9
+ return (_jsx(TextInput, { ref: ref, onChangeText: handleChange, keyboardType: "email-address", textContentType: "emailAddress", autoCapitalize: "none", autoComplete: "email", inputMode: "email", ...props, autoCorrect: false }));
10
+ });
@@ -0,0 +1,21 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "ui"[];
4
+ experimental: false;
5
+ description: string;
6
+ component: import("react").ForwardRefExoticComponent<Omit<import("react-native").TextInputProps, "style"> & {
7
+ disabled?: boolean;
8
+ startAdornment?: React.ReactNode;
9
+ endAdornment?: React.ReactNode;
10
+ openModal?: boolean;
11
+ modalSubmitLabel?: string;
12
+ onModalSubmit?: () => void;
13
+ } & {
14
+ onChange?: import("..").TextInputProps["onChangeText"];
15
+ } & import("react").RefAttributes<import("react-native").TextInput>>;
16
+ styleFn: () => {};
17
+ };
18
+ export default _default;
19
+ export declare const Default: () => import("react").JSX.Element;
20
+ export * as Sources from './EmailInput.stories.sources';
21
+ //# sourceMappingURL=EmailInput.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailInput.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailInput/EmailInput.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,wBAOkB;AAElB,eAAO,MAAM,OAAO,mCAMnB,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '../../core';
3
+ import { EmailInput } from './EmailInput';
4
+ export default {
5
+ title: 'EmailInput',
6
+ tags: ['ui'],
7
+ experimental: false,
8
+ description: 'Input email brut (sans label). Clavier email, lowercase automatique.',
9
+ component: EmailInput,
10
+ styleFn: () => ({}),
11
+ };
12
+ export const Default = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 24, children: [_jsx(EmailInput, { placeholder: "jean@exemple.fr" }), _jsx(EmailInput, { placeholder: "jean@exemple.fr", value: "jean@exemple.fr" }), _jsx(EmailInput, { placeholder: "jean@exemple.fr", editable: false })] }));
13
+ export * as Sources from './EmailInput.stories.sources';
@@ -0,0 +1,6 @@
1
+ export declare const Default: () => string;
2
+ export declare const storySources: {
3
+ readonly Default: () => string;
4
+ };
5
+ export type StorySourceName = keyof typeof storySources;
6
+ //# sourceMappingURL=EmailInput.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailInput.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailInput/EmailInput.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,cAA0T,CAAC;AAE/U,eAAO,MAAM,YAAY;;CAEf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ // This file is generated. Do not edit manually.
2
+ // Source: src/ui/EmailInput/EmailInput.stories.tsx
3
+ export const Default = () => "export const Default = () => (\n <Box display=\"flex\" flexDirection=\"column\" gap={24}>\n <EmailInput placeholder=\"jean@exemple.fr\" />\n <EmailInput placeholder=\"jean@exemple.fr\" value=\"jean@exemple.fr\" />\n <EmailInput placeholder=\"jean@exemple.fr\" editable={false} />\n </Box>\n);";
4
+ export const storySources = {
5
+ Default,
6
+ };
@@ -0,0 +1,2 @@
1
+ export * from './EmailInput';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/EmailInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './EmailInput';
@@ -33,8 +33,8 @@ declare const _default: {
33
33
  display: "flex";
34
34
  alignItems: "center";
35
35
  justifyContent: "center";
36
- color: "#002764";
37
- backgroundColor: "#F2F9FF";
36
+ color: string;
37
+ backgroundColor: string;
38
38
  borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
39
39
  padding: import("@alveole/theme").Spacing;
40
40
  };
@@ -52,7 +52,7 @@ declare const _default: {
52
52
  letterSpacing: 0;
53
53
  fontFamily: string;
54
54
  fontWeight?: import("react-native").TextStyle["fontWeight"];
55
- color: "#151617";
55
+ color: string;
56
56
  };
57
57
  description: {
58
58
  textAlign: "center";
@@ -61,7 +61,7 @@ declare const _default: {
61
61
  letterSpacing: 0;
62
62
  fontFamily: string;
63
63
  fontWeight?: import("react-native").TextStyle["fontWeight"];
64
- color: "#5F6571";
64
+ color: string;
65
65
  };
66
66
  footer: {
67
67
  width: "100%" | undefined;
@@ -26,8 +26,8 @@ export declare const useStyles: () => {
26
26
  display: "flex";
27
27
  alignItems: "center";
28
28
  justifyContent: "center";
29
- color: "#002764";
30
- backgroundColor: "#F2F9FF";
29
+ color: string;
30
+ backgroundColor: string;
31
31
  borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
32
32
  padding: import("@alveole/theme").Spacing;
33
33
  };
@@ -45,7 +45,7 @@ export declare const useStyles: () => {
45
45
  letterSpacing: 0;
46
46
  fontFamily: string;
47
47
  fontWeight?: import("react-native").TextStyle["fontWeight"];
48
- color: "#151617";
48
+ color: string;
49
49
  };
50
50
  description: {
51
51
  textAlign: "center";
@@ -54,7 +54,7 @@ export declare const useStyles: () => {
54
54
  letterSpacing: 0;
55
55
  fontFamily: string;
56
56
  fontWeight?: import("react-native").TextStyle["fontWeight"];
57
- color: "#5F6571";
57
+ color: string;
58
58
  };
59
59
  footer: {
60
60
  width: "100%" | undefined;
@@ -0,0 +1,5 @@
1
+ import { FormControlCaptionProps, FormControlFileInputProps, FormControlFileInputValue, FormControlHintProps, FormControlLabelProps } from '@alveole/components';
2
+ export type FileFieldValue = FormControlFileInputValue;
3
+ export type FileFieldProps = FormControlLabelProps & FormControlHintProps & FormControlCaptionProps & FormControlFileInputProps;
4
+ export declare const FileField: (props: FileFieldProps) => import("react").JSX.Element;
5
+ //# sourceMappingURL=FileField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.d.ts","sourceRoot":"","sources":["../../../src/ui/FileField/FileField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,uBAAuB,EAEvB,yBAAyB,EACzB,yBAAyB,EAEzB,oBAAoB,EAEpB,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,cAAc,GAAG,yBAAyB,CAAC;AACvD,MAAM,MAAM,cAAc,GAAG,qBAAqB,GAChD,oBAAoB,GACpB,uBAAuB,GACvB,yBAAyB,CAAC;AAE5B,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,gCAwC9C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { FormControl, FormControlCaption, FormControlFileInput, FormControlHint, FormControlLabel, InputHeading, } from '@alveole/components';
3
+ import { Alert } from '../../core/Alert';
4
+ import { useStyles } from './FileField.styles';
5
+ export const FileField = (props) => {
6
+ const { label, labelRight, hint, error, success, disabled, type, onChange } = props;
7
+ const styles = useStyles();
8
+ const onValueChange = value => {
9
+ const normalizedValue = Array.isArray(value) ? value[0] : value;
10
+ const mimeType = normalizedValue?.mimeType;
11
+ if (type == null || mimeType == null)
12
+ return onChange(value);
13
+ const fileName = normalizedValue?.name;
14
+ if ((type.includes('image') && mimeType.startsWith('image')) ||
15
+ (type.includes('pdf') && mimeType.endsWith('pdf')) ||
16
+ (type.includes('csv') &&
17
+ (mimeType === 'text/csv' || mimeType === 'application/csv' || fileName?.endsWith('.csv'))))
18
+ return onChange(value);
19
+ else {
20
+ Alert.alert({
21
+ title: 'Type de fichier incorrect',
22
+ message: `Le format du fichier n'est pas pris en charge`,
23
+ });
24
+ }
25
+ };
26
+ return (_jsxs(FormControl, { style: styles.fileInput, children: [_jsxs(InputHeading, { children: [label && (_jsx(FormControlLabel, { labelRight: labelRight, label: label, disabled: disabled, error: error, success: success })), hint && _jsx(FormControlHint, { hint: hint, disabled: disabled })] }), _jsx(FormControlFileInput, { ...props, onChange: onValueChange }), (error || success) && _jsx(FormControlCaption, { error: error, success: success })] }));
27
+ };
@@ -0,0 +1,15 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "ui"[];
4
+ experimental: false;
5
+ description: string;
6
+ component: (props: import("./FileField").FileFieldProps) => import("react").JSX.Element;
7
+ styleFn: () => {
8
+ fileInput: {};
9
+ };
10
+ };
11
+ export default _default;
12
+ export declare const Default: () => import("react").JSX.Element;
13
+ export declare const Multiple: () => import("react").JSX.Element;
14
+ export * as Sources from './FileField.stories.sources';
15
+ //# sourceMappingURL=FileField.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/FileField/FileField.stories.tsx"],"names":[],"mappings":";;;;;;;;;;AAKA,wBAOkB;AAElB,eAAO,MAAM,OAAO,mCAMnB,CAAC;AAEF,eAAO,MAAM,QAAQ,mCAAkF,CAAC;AAExG,OAAO,KAAK,OAAO,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '../../core';
3
+ import { FileField } from './FileField';
4
+ import { useStyles } from './FileField.styles';
5
+ export default {
6
+ title: 'FileField',
7
+ tags: ['ui'],
8
+ experimental: false,
9
+ description: 'Champ de sélection de fichier avec label et validation MIME.',
10
+ component: FileField,
11
+ styleFn: useStyles,
12
+ };
13
+ export const Default = () => (_jsxs(Box, { display: "flex", flexDirection: "column", gap: 24, children: [_jsx(FileField, { label: "Document", value: null, onChange: () => { } }), _jsx(FileField, { label: "Image uniquement", type: "image/*", value: null, onChange: () => { } }), _jsx(FileField, { label: "Avec erreur", value: null, error: "Ce champ est requis", onChange: () => { } })] }));
14
+ export const Multiple = () => _jsx(FileField, { label: "Documents", value: null, multiple: true, onChange: () => { } });
15
+ export * as Sources from './FileField.stories.sources';
@@ -0,0 +1,8 @@
1
+ export declare const Default: () => string;
2
+ export declare const Multiple: () => string;
3
+ export declare const storySources: {
4
+ readonly Default: () => string;
5
+ readonly Multiple: () => string;
6
+ };
7
+ export type StorySourceName = keyof typeof storySources;
8
+ //# sourceMappingURL=FileField.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/FileField/FileField.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,cAAkY,CAAC;AAEvZ,eAAO,MAAM,QAAQ,cAAqH,CAAC;AAE3I,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ // This file is generated. Do not edit manually.
2
+ // Source: src/ui/FileField/FileField.stories.tsx
3
+ export const Default = () => "export const Default = () => (\n <Box display=\"flex\" flexDirection=\"column\" gap={24}>\n <FileField label=\"Document\" value={null} onChange={() => {}} />\n <FileField label=\"Image uniquement\" type=\"image/*\" value={null} onChange={() => {}} />\n <FileField label=\"Avec erreur\" value={null} error=\"Ce champ est requis\" onChange={() => {}} />\n </Box>\n);";
4
+ export const Multiple = () => "export const Multiple = () => <FileField label=\"Documents\" value={null} multiple onChange={() => {}} />;";
5
+ export const storySources = {
6
+ Default,
7
+ Multiple,
8
+ };
@@ -0,0 +1,4 @@
1
+ export declare const useStyles: () => {
2
+ fileInput: {};
3
+ };
4
+ //# sourceMappingURL=FileField.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileField.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/FileField/FileField.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;CAEnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { makeStyles } from '@alveole/theme';
2
+ export const useStyles = makeStyles(() => ({
3
+ fileInput: {},
4
+ }));
@@ -0,0 +1,2 @@
1
+ export * from './FileField';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/FileField/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './FileField';