@alveole/components 2.0.0-alpha → 2.0.0-alpha.10

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 (356) hide show
  1. package/dist/core/A/A.d.ts +3 -1
  2. package/dist/core/A/A.d.ts.map +1 -1
  3. package/dist/core/A/A.js +2 -2
  4. package/dist/core/Box/Box.d.ts +8 -8
  5. package/dist/core/Box/Box.d.ts.map +1 -1
  6. package/dist/core/Box/Box.js +6 -3
  7. package/dist/core/Box/Box.stories.d.ts +5 -5
  8. package/dist/core/Box/Box.stories.js +1 -1
  9. package/dist/core/Box/Box.stories.sources.d.ts.map +1 -1
  10. package/dist/core/Box/Box.stories.sources.js +1 -1
  11. package/dist/core/Box/Box.types.d.ts +3 -3
  12. package/dist/core/Box/Box.types.d.ts.map +1 -1
  13. package/dist/core/Form/Form.web.d.ts.map +1 -1
  14. package/dist/core/Form/Form.web.js +4 -1
  15. package/dist/core/Grid/Grid.stories.d.ts +4 -4
  16. package/dist/core/Map/useGoogleMap.d.ts +2 -1
  17. package/dist/core/Map/useGoogleMap.d.ts.map +1 -1
  18. package/dist/core/Map/useGoogleMap.js +3 -2
  19. package/dist/core/MarkdownDescription/MarkdownDescription.d.ts.map +1 -1
  20. package/dist/core/MarkdownDescription/MarkdownDescription.js +0 -4
  21. package/dist/core/MarkdownDescription/markdownComponents.d.ts +0 -6
  22. package/dist/core/MarkdownDescription/markdownComponents.d.ts.map +1 -1
  23. package/dist/core/MarkdownDescription/markdownComponents.js +3 -2
  24. package/dist/core/Page/Page.stories.d.ts +5 -0
  25. package/dist/core/Page/Page.stories.d.ts.map +1 -1
  26. package/dist/core/Page/Page.stories.js +5 -0
  27. package/dist/core/Page/Page.stories.sources.d.ts +2 -0
  28. package/dist/core/Page/Page.stories.sources.d.ts.map +1 -1
  29. package/dist/core/Page/Page.stories.sources.js +3 -0
  30. package/dist/core/Page/Page.types.d.ts +1 -0
  31. package/dist/core/Page/Page.types.d.ts.map +1 -1
  32. package/dist/core/Page/PageBackground.d.ts +5 -5
  33. package/dist/core/Page/PageBackground.d.ts.map +1 -1
  34. package/dist/core/Page/PageBackground.js +8 -5
  35. package/dist/core/Page/PageBackground.stories.d.ts +25 -0
  36. package/dist/core/Page/PageBackground.stories.d.ts.map +1 -0
  37. package/dist/core/Page/PageBackground.stories.js +28 -0
  38. package/dist/core/Page/PageBackground.stories.sources.d.ts +8 -0
  39. package/dist/core/Page/PageBackground.stories.sources.d.ts.map +1 -0
  40. package/dist/core/Page/PageBackground.stories.sources.js +8 -0
  41. package/dist/core/Page/PageContent.js +2 -2
  42. package/dist/core/Page/PageContentDefault.d.ts.map +1 -1
  43. package/dist/core/Page/PageContentDefault.js +1 -1
  44. package/dist/core/Page/PageContentScrollable.d.ts +6 -5
  45. package/dist/core/Page/PageContentScrollable.d.ts.map +1 -1
  46. package/dist/core/Page/PageContentScrollable.js +1 -1
  47. package/dist/core/Page/index.d.ts +1 -0
  48. package/dist/core/Page/index.d.ts.map +1 -1
  49. package/dist/core/Page/index.js +1 -0
  50. package/dist/core/Typography/Typography.d.ts +5 -5
  51. package/dist/core/Typography/Typography.d.ts.map +1 -1
  52. package/dist/core/Typography/Typography.js +16 -4
  53. package/dist/core/Typography/Typography.stories.d.ts +2 -2
  54. package/dist/core/Typography/couleurDuTexte.d.ts +1 -1
  55. package/dist/core/Typography/couleurDuTexte.d.ts.map +1 -1
  56. package/dist/core/UpdateRequired/UpdateRequired.d.ts.map +1 -1
  57. package/dist/core/UpdateRequired/UpdateRequired.js +4 -1
  58. package/dist/core/animation/animer.d.ts +9 -0
  59. package/dist/core/animation/animer.d.ts.map +1 -0
  60. package/dist/core/animation/animer.js +5 -0
  61. package/dist/core/styleTamagui/aplatirStyle.d.ts +2 -0
  62. package/dist/core/styleTamagui/aplatirStyle.d.ts.map +1 -0
  63. package/dist/core/styleTamagui/aplatirStyle.js +9 -0
  64. package/dist/core/styleTamagui/definis.d.ts +4 -0
  65. package/dist/core/styleTamagui/definis.d.ts.map +1 -0
  66. package/dist/core/styleTamagui/definis.js +3 -0
  67. package/dist/core/styleTamagui/flexDuWeb.d.ts +23 -0
  68. package/dist/core/styleTamagui/flexDuWeb.d.ts.map +1 -0
  69. package/dist/core/styleTamagui/flexDuWeb.js +19 -0
  70. package/dist/core/styleTamagui/fondAuSurvol.d.ts +14 -0
  71. package/dist/core/styleTamagui/fondAuSurvol.d.ts.map +1 -0
  72. package/dist/core/styleTamagui/fondAuSurvol.js +8 -0
  73. package/dist/core/styleTamagui/sansEstompage.d.ts +4 -0
  74. package/dist/core/styleTamagui/sansEstompage.d.ts.map +1 -0
  75. package/dist/core/styleTamagui/sansEstompage.js +4 -0
  76. package/dist/core/styleTamagui/soulignement.d.ts +11 -0
  77. package/dist/core/styleTamagui/soulignement.d.ts.map +1 -0
  78. package/dist/core/styleTamagui/soulignement.js +5 -0
  79. package/dist/generated/version.d.ts +1 -1
  80. package/dist/generated/version.d.ts.map +1 -1
  81. package/dist/generated/version.js +1 -1
  82. package/dist/pdfjs/pdf.min.mjs +4 -5
  83. package/dist/pdfjs/pdf.worker.min.mjs +4 -5
  84. package/dist/stories/index.d.ts +2 -1
  85. package/dist/stories/index.d.ts.map +1 -1
  86. package/dist/stories/index.js +2 -1
  87. package/dist/ui/Accordion/AccordionItem.d.ts.map +1 -1
  88. package/dist/ui/Accordion/AccordionItem.js +2 -1
  89. package/dist/ui/ActionMenu/ActionMenuItem.d.ts.map +1 -1
  90. package/dist/ui/ActionMenu/ActionMenuItem.js +5 -5
  91. package/dist/ui/Avatar/Avatar.d.ts.map +1 -1
  92. package/dist/ui/Avatar/Avatar.js +6 -1
  93. package/dist/ui/Badge/Badge.d.ts.map +1 -1
  94. package/dist/ui/Badge/Badge.js +3 -2
  95. package/dist/ui/Badge/Badge.stories.d.ts +16 -12
  96. package/dist/ui/Badge/Badge.stories.d.ts.map +1 -1
  97. package/dist/ui/Badge/Badge.styles.d.ts +16 -12
  98. package/dist/ui/Badge/Badge.styles.d.ts.map +1 -1
  99. package/dist/ui/Badge/Badge.styles.js +4 -2
  100. package/dist/ui/BottomSheet/BottomSheet.d.ts.map +1 -1
  101. package/dist/ui/BottomSheet/BottomSheet.js +2 -1
  102. package/dist/ui/BottomSheet/BottomSheet.stories.d.ts +6 -4
  103. package/dist/ui/BottomSheet/BottomSheet.stories.d.ts.map +1 -1
  104. package/dist/ui/BottomSheet/BottomSheet.styles.d.ts +6 -4
  105. package/dist/ui/BottomSheet/BottomSheet.styles.d.ts.map +1 -1
  106. package/dist/ui/BottomSheet/BottomSheet.styles.js +6 -4
  107. package/dist/ui/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  108. package/dist/ui/Breadcrumbs/Breadcrumbs.js +2 -1
  109. package/dist/ui/Breadcrumbs/Breadcrumbs.stories.d.ts +5 -4
  110. package/dist/ui/Breadcrumbs/Breadcrumbs.stories.d.ts.map +1 -1
  111. package/dist/ui/Breadcrumbs/Breadcrumbs.styles.d.ts +5 -4
  112. package/dist/ui/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  113. package/dist/ui/Breadcrumbs/Breadcrumbs.styles.js +1 -4
  114. package/dist/ui/Button/Button.d.ts.map +1 -1
  115. package/dist/ui/Button/Button.js +22 -2
  116. package/dist/ui/Button/Button.stories.d.ts +12 -0
  117. package/dist/ui/Button/Button.stories.d.ts.map +1 -1
  118. package/dist/ui/Button/Button.stories.js +24 -4
  119. package/dist/ui/Button/Button.stories.sources.d.ts +2 -0
  120. package/dist/ui/Button/Button.stories.sources.d.ts.map +1 -1
  121. package/dist/ui/Button/Button.stories.sources.js +6 -3
  122. package/dist/ui/Button/Button.types.d.ts +4 -0
  123. package/dist/ui/Button/Button.types.d.ts.map +1 -1
  124. package/dist/ui/Button/ButtonContent.d.ts.map +1 -1
  125. package/dist/ui/Button/ButtonContent.js +7 -3
  126. package/dist/ui/Button/buttonIconStyling.d.ts +2 -2
  127. package/dist/ui/Button/buttonStyling.d.ts +9 -3
  128. package/dist/ui/Button/buttonStyling.d.ts.map +1 -1
  129. package/dist/ui/Button/buttonStyling.js +7 -3
  130. package/dist/ui/Checkbox/Checkbox.d.ts +6 -6
  131. package/dist/ui/Checkbox/Checkbox.js +2 -2
  132. package/dist/ui/Checkbox/Checkbox.stories.d.ts +7 -7
  133. package/dist/ui/Checkbox/Checkbox.styles.d.ts +1 -1
  134. package/dist/ui/Checkbox/Checkbox.styles.d.ts.map +1 -1
  135. package/dist/ui/Checkbox/Checkbox.styles.js +3 -4
  136. package/dist/ui/Checkbox/CheckboxContainer.d.ts +6 -6
  137. package/dist/ui/Checkbox/CheckboxContainer.d.ts.map +1 -1
  138. package/dist/ui/Checkbox/CheckboxContainer.js +4 -8
  139. package/dist/ui/Checkbox/CheckboxLabel.d.ts +1 -1
  140. package/dist/ui/Checkbox/CheckboxLabel.d.ts.map +1 -1
  141. package/dist/ui/Checkbox/CheckboxLabel.js +2 -2
  142. package/dist/ui/DataTable/DataTable.demo.deployments.js +1 -1
  143. package/dist/ui/DataTable/DataTable.stories.d.ts +3 -1
  144. package/dist/ui/DataTable/DataTable.stories.d.ts.map +1 -1
  145. package/dist/ui/DataTable/DataTable.styles.d.ts +3 -1
  146. package/dist/ui/DataTable/DataTable.styles.d.ts.map +1 -1
  147. package/dist/ui/DataTable/DataTable.styles.js +5 -1
  148. package/dist/ui/DataTable/DataTableCell.js +1 -1
  149. package/dist/ui/DataTable/DataTableRow.d.ts.map +1 -1
  150. package/dist/ui/DataTable/DataTableRow.js +4 -2
  151. package/dist/ui/DataTable/dataTableCellStyle.d.ts +2 -2
  152. package/dist/ui/DataTable/dataTableCellStyle.js +1 -1
  153. package/dist/ui/DateInput/DateInput.ios.d.ts +1 -1
  154. package/dist/ui/DateInput/DateInput.stories.d.ts +1 -1
  155. package/dist/ui/DateInput/DateInput.web.d.ts +1 -1
  156. package/dist/ui/DocumentViewer/DocumentViewer.stories.d.ts +1 -0
  157. package/dist/ui/DocumentViewer/DocumentViewer.stories.d.ts.map +1 -1
  158. package/dist/ui/DocumentViewer/DocumentViewer.stories.js +1 -1
  159. package/dist/ui/DocumentViewer/DocumentViewer.stories.sources.d.ts.map +1 -1
  160. package/dist/ui/DocumentViewer/DocumentViewer.stories.sources.js +1 -1
  161. package/dist/ui/DocumentViewer/DocumentViewer.styles.d.ts +1 -0
  162. package/dist/ui/DocumentViewer/DocumentViewer.styles.d.ts.map +1 -1
  163. package/dist/ui/DocumentViewer/DocumentViewer.styles.js +3 -0
  164. package/dist/ui/DocumentViewer/DocumentViewerImage.d.ts.map +1 -1
  165. package/dist/ui/DocumentViewer/pointeurWeb.d.ts +13 -3
  166. package/dist/ui/DocumentViewer/pointeurWeb.d.ts.map +1 -1
  167. package/dist/ui/DocumentViewer/pointeurWeb.js +1 -1
  168. package/dist/ui/DocumentViewer/useSurvolAvecZoom.d.ts +2 -2
  169. package/dist/ui/DocumentViewer/useSurvolAvecZoom.d.ts.map +1 -1
  170. package/dist/ui/FileDropZone/FileDropZone.d.ts +10 -0
  171. package/dist/ui/FileDropZone/FileDropZone.d.ts.map +1 -0
  172. package/dist/ui/FileDropZone/FileDropZone.js +3 -0
  173. package/dist/ui/FileDropZone/FileDropZone.stories.d.ts +50 -0
  174. package/dist/ui/FileDropZone/FileDropZone.stories.d.ts.map +1 -0
  175. package/dist/ui/FileDropZone/FileDropZone.stories.js +29 -0
  176. package/dist/ui/FileDropZone/FileDropZone.stories.sources.d.ts +10 -0
  177. package/dist/ui/FileDropZone/FileDropZone.stories.sources.d.ts.map +1 -0
  178. package/dist/ui/FileDropZone/FileDropZone.stories.sources.js +10 -0
  179. package/dist/ui/FileDropZone/FileDropZone.styles.d.ts +37 -0
  180. package/dist/ui/FileDropZone/FileDropZone.styles.d.ts.map +1 -0
  181. package/dist/ui/FileDropZone/FileDropZone.styles.js +35 -0
  182. package/dist/ui/FileDropZone/FileDropZone.web.d.ts +4 -0
  183. package/dist/ui/FileDropZone/FileDropZone.web.d.ts.map +1 -0
  184. package/dist/ui/FileDropZone/FileDropZone.web.js +11 -0
  185. package/dist/ui/FileDropZone/fichiersDuDataTransfer.d.ts.map +1 -0
  186. package/dist/ui/FileDropZone/index.d.ts +2 -0
  187. package/dist/ui/FileDropZone/index.d.ts.map +1 -0
  188. package/dist/ui/FileDropZone/index.js +1 -0
  189. package/dist/ui/FileDropZone/useDepotFichier.d.ts +17 -0
  190. package/dist/ui/FileDropZone/useDepotFichier.d.ts.map +1 -0
  191. package/dist/ui/FileDropZone/useDepotFichier.js +89 -0
  192. package/dist/ui/FilterDate/FilterDate.d.ts +1 -1
  193. package/dist/ui/FilterDate/FilterDate.d.ts.map +1 -1
  194. package/dist/ui/FormControl/FileInput.d.ts +10 -12
  195. package/dist/ui/FormControl/FileInput.d.ts.map +1 -1
  196. package/dist/ui/FormControl/FileInput.js +15 -53
  197. package/dist/ui/FormControl/FileInput.stories.d.ts +8 -40
  198. package/dist/ui/FormControl/FileInput.stories.d.ts.map +1 -1
  199. package/dist/ui/FormControl/FileInput.stories.js +46 -4
  200. package/dist/ui/FormControl/FileInput.stories.sources.d.ts +10 -0
  201. package/dist/ui/FormControl/FileInput.stories.sources.d.ts.map +1 -1
  202. package/dist/ui/FormControl/FileInput.stories.sources.js +11 -1
  203. package/dist/ui/FormControl/FileInput.styles.d.ts +2 -39
  204. package/dist/ui/FormControl/FileInput.styles.d.ts.map +1 -1
  205. package/dist/ui/FormControl/FileInput.styles.js +3 -32
  206. package/dist/ui/FormControl/FileInputListe.d.ts +11 -0
  207. package/dist/ui/FormControl/FileInputListe.d.ts.map +1 -0
  208. package/dist/ui/FormControl/FileInputListe.js +24 -0
  209. package/dist/ui/FormControl/fichierCorrespondAuType.d.ts +1 -0
  210. package/dist/ui/FormControl/fichierCorrespondAuType.d.ts.map +1 -1
  211. package/dist/ui/FormControl/fichierCorrespondAuType.js +5 -1
  212. package/dist/ui/FormControl/fichiersDuChamp.d.ts +43 -0
  213. package/dist/ui/FormControl/fichiersDuChamp.d.ts.map +1 -0
  214. package/dist/ui/FormControl/fichiersDuChamp.js +63 -0
  215. package/dist/ui/FormControl/useChoixDeFichier.d.ts +15 -0
  216. package/dist/ui/FormControl/useChoixDeFichier.d.ts.map +1 -0
  217. package/dist/ui/FormControl/useChoixDeFichier.js +87 -0
  218. package/dist/ui/FormControl/valideLeType.d.ts +1 -1
  219. package/dist/ui/FormControl/valideLeType.js +1 -1
  220. package/dist/ui/Header/Header.d.ts.map +1 -1
  221. package/dist/ui/Header/Header.js +1 -1
  222. package/dist/ui/Link/Link.d.ts.map +1 -1
  223. package/dist/ui/Link/Link.js +2 -1
  224. package/dist/ui/Link/Link.stories.d.ts +0 -4
  225. package/dist/ui/Link/Link.stories.d.ts.map +1 -1
  226. package/dist/ui/Link/Link.styles.d.ts +0 -4
  227. package/dist/ui/Link/Link.styles.d.ts.map +1 -1
  228. package/dist/ui/Link/Link.styles.js +0 -4
  229. package/dist/ui/ListItem/ListItem.d.ts.map +1 -1
  230. package/dist/ui/ListItem/ListItem.js +2 -1
  231. package/dist/ui/ListItem/ListItem.stories.d.ts +4 -2
  232. package/dist/ui/ListItem/ListItem.stories.d.ts.map +1 -1
  233. package/dist/ui/ListItem/ListItem.styles.d.ts +4 -2
  234. package/dist/ui/ListItem/ListItem.styles.d.ts.map +1 -1
  235. package/dist/ui/ListItem/ListItem.styles.js +6 -2
  236. package/dist/ui/LucideIcon/catalogueLucide.d.ts +171 -0
  237. package/dist/ui/LucideIcon/catalogueLucide.d.ts.map +1 -1
  238. package/dist/ui/LucideIcon/vendor/lab.js +1 -1
  239. package/dist/ui/LucideIcon/vendor/lucide.d.ts +2613 -1920
  240. package/dist/ui/LucideIcon/vendor/lucide.js +3 -3
  241. package/dist/ui/ProgressBar/ProgressBar.stories.d.ts +1 -0
  242. package/dist/ui/ProgressBar/ProgressBar.stories.d.ts.map +1 -1
  243. package/dist/ui/ProgressBar/ProgressBar.styles.d.ts +1 -0
  244. package/dist/ui/ProgressBar/ProgressBar.styles.d.ts.map +1 -1
  245. package/dist/ui/ProgressBar/ProgressBar.styles.js +2 -0
  246. package/dist/ui/RadioGroup/RadioGroup.d.ts +5 -3
  247. package/dist/ui/RadioGroup/RadioGroup.d.ts.map +1 -1
  248. package/dist/ui/RadioGroup/RadioGroup.js +5 -1
  249. package/dist/ui/RadioGroup/RadioGroup.stories.d.ts +2 -4
  250. package/dist/ui/RadioGroup/RadioGroup.stories.d.ts.map +1 -1
  251. package/dist/ui/RadioGroup/RadioGroup.styles.d.ts +1 -3
  252. package/dist/ui/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
  253. package/dist/ui/RadioGroup/RadioGroup.styles.js +3 -6
  254. package/dist/ui/RadioGroup/RadioGroupCard.d.ts.map +1 -1
  255. package/dist/ui/RadioGroup/RadioGroupCard.js +2 -2
  256. package/dist/ui/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  257. package/dist/ui/RadioGroup/RadioGroupItem.js +2 -2
  258. package/dist/ui/RadioGroup/RadioInput.d.ts.map +1 -1
  259. package/dist/ui/RadioGroup/RadioInput.js +5 -7
  260. package/dist/ui/RadioGroup/index.d.ts +1 -1
  261. package/dist/ui/Select/Select.types.d.ts +2 -0
  262. package/dist/ui/Select/Select.types.d.ts.map +1 -1
  263. package/dist/ui/Select/SelectBottomSheet.js +2 -2
  264. package/dist/ui/Select/SelectItem.js +1 -1
  265. package/dist/ui/Select/SelectList.styles.d.ts +1 -9
  266. package/dist/ui/Select/SelectList.styles.d.ts.map +1 -1
  267. package/dist/ui/Select/SelectList.styles.js +5 -6
  268. package/dist/ui/Select/SelectOptionsList.d.ts +1 -0
  269. package/dist/ui/Select/SelectOptionsList.d.ts.map +1 -1
  270. package/dist/ui/Select/selectItemStyle.d.ts +4 -4
  271. package/dist/ui/Select/selectItemStyle.d.ts.map +1 -1
  272. package/dist/ui/Select/selectItemStyle.js +7 -3
  273. package/dist/ui/Select/useDefilementVersSelection.d.ts +3 -2
  274. package/dist/ui/Select/useDefilementVersSelection.d.ts.map +1 -1
  275. package/dist/ui/Sidebar/Sidebar.stories.d.ts +0 -7
  276. package/dist/ui/Sidebar/Sidebar.stories.d.ts.map +1 -1
  277. package/dist/ui/Sidebar/Sidebar.styles.d.ts +0 -7
  278. package/dist/ui/Sidebar/Sidebar.styles.d.ts.map +1 -1
  279. package/dist/ui/Sidebar/Sidebar.styles.js +0 -3
  280. package/dist/ui/Sidebar/SidebarItem.d.ts.map +1 -1
  281. package/dist/ui/Sidebar/SidebarItem.js +13 -9
  282. package/dist/ui/Signature/Signature.d.ts +1 -1
  283. package/dist/ui/Signature/Signature.d.ts.map +1 -1
  284. package/dist/ui/Skeleton/Skeleton.stories.d.ts +1 -0
  285. package/dist/ui/Skeleton/Skeleton.stories.d.ts.map +1 -1
  286. package/dist/ui/Skeleton/Skeleton.styles.d.ts +1 -0
  287. package/dist/ui/Skeleton/Skeleton.styles.d.ts.map +1 -1
  288. package/dist/ui/Skeleton/Skeleton.styles.js +2 -0
  289. package/dist/ui/Switch/Switch.d.ts +1 -1
  290. package/dist/ui/Switch/Switch.d.ts.map +1 -1
  291. package/dist/ui/Switch/Switch.js +11 -8
  292. package/dist/ui/Switch/Switch.stories.d.ts +3 -2
  293. package/dist/ui/Switch/Switch.stories.d.ts.map +1 -1
  294. package/dist/ui/Switch/Switch.styles.d.ts +2 -1
  295. package/dist/ui/Switch/Switch.styles.d.ts.map +1 -1
  296. package/dist/ui/Switch/Switch.styles.js +5 -4
  297. package/dist/ui/Tabs/Tabs.d.ts +1 -1
  298. package/dist/ui/Tabs/Tabs.d.ts.map +1 -1
  299. package/dist/ui/Tabs/Tabs.js +1 -1
  300. package/dist/ui/Tabs/Tabs.stories.d.ts +26 -5
  301. package/dist/ui/Tabs/Tabs.stories.d.ts.map +1 -1
  302. package/dist/ui/Tabs/Tabs.styles.d.ts +26 -5
  303. package/dist/ui/Tabs/Tabs.styles.d.ts.map +1 -1
  304. package/dist/ui/Tabs/Tabs.styles.js +6 -2
  305. package/dist/ui/Tabs/TabsTab.js +1 -1
  306. package/dist/ui/Tabs/useTabsState.d.ts +1 -1
  307. package/dist/ui/Tabs/useTabsState.d.ts.map +1 -1
  308. package/dist/ui/Tabs/useTabsState.js +7 -4
  309. package/dist/ui/Toast/Toast.d.ts +3 -3
  310. package/dist/ui/Toast/Toast.d.ts.map +1 -1
  311. package/dist/ui/Toast/Toast.js +5 -7
  312. package/dist/ui/Toast/Toast.stories.d.ts +10 -7
  313. package/dist/ui/Toast/Toast.stories.d.ts.map +1 -1
  314. package/dist/ui/Toast/Toast.stories.js +12 -9
  315. package/dist/ui/Toast/Toast.stories.sources.js +1 -1
  316. package/dist/ui/Toast/ToastContext.d.ts +1 -0
  317. package/dist/ui/Toast/ToastContext.d.ts.map +1 -1
  318. package/dist/ui/Toast/ToastContext.js +1 -0
  319. package/dist/ui/Toast/Toasts.d.ts +2 -1
  320. package/dist/ui/Toast/Toasts.d.ts.map +1 -1
  321. package/dist/ui/Toast/Toasts.js +9 -5
  322. package/dist/ui/ToolbarTop/toolbarTopStyling.d.ts +2 -2
  323. package/dist/ui/index.d.ts +1 -1
  324. package/dist/ui/index.d.ts.map +1 -1
  325. package/dist/ui/index.js +1 -1
  326. package/package.json +34 -30
  327. package/dist/core/styleTamagui/versStyleTamagui.d.ts +0 -10
  328. package/dist/core/styleTamagui/versStyleTamagui.d.ts.map +0 -1
  329. package/dist/core/styleTamagui/versStyleTamagui.js +0 -8
  330. package/dist/ui/DragAndDropFile/DragAndDropFile.d.ts +0 -10
  331. package/dist/ui/DragAndDropFile/DragAndDropFile.d.ts.map +0 -1
  332. package/dist/ui/DragAndDropFile/DragAndDropFile.js +0 -13
  333. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.d.ts +0 -56
  334. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.d.ts.map +0 -1
  335. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.js +0 -17
  336. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.d.ts +0 -10
  337. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.d.ts.map +0 -1
  338. package/dist/ui/DragAndDropFile/DragAndDropFile.stories.sources.js +0 -10
  339. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.d.ts +0 -43
  340. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.d.ts.map +0 -1
  341. package/dist/ui/DragAndDropFile/DragAndDropFile.styles.js +0 -43
  342. package/dist/ui/DragAndDropFile/DragAndDropFile.web.d.ts +0 -3
  343. package/dist/ui/DragAndDropFile/DragAndDropFile.web.d.ts.map +0 -1
  344. package/dist/ui/DragAndDropFile/DragAndDropFile.web.js +0 -18
  345. package/dist/ui/DragAndDropFile/fichiersDuDataTransfer.d.ts.map +0 -1
  346. package/dist/ui/DragAndDropFile/index.d.ts +0 -2
  347. package/dist/ui/DragAndDropFile/index.d.ts.map +0 -1
  348. package/dist/ui/DragAndDropFile/index.js +0 -1
  349. package/dist/ui/DragAndDropFile/useDepotFichier.d.ts +0 -21
  350. package/dist/ui/DragAndDropFile/useDepotFichier.d.ts.map +0 -1
  351. package/dist/ui/DragAndDropFile/useDepotFichier.js +0 -77
  352. package/dist/ui/Toast/ToastBridge.d.ts +0 -11
  353. package/dist/ui/Toast/ToastBridge.d.ts.map +0 -1
  354. package/dist/ui/Toast/ToastBridge.js +0 -19
  355. /package/dist/ui/{DragAndDropFile → FileDropZone}/fichiersDuDataTransfer.d.ts +0 -0
  356. /package/dist/ui/{DragAndDropFile → FileDropZone}/fichiersDuDataTransfer.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableRow.d.ts","sourceRoot":"","sources":["../../../src/ui/DataTable/DataTableRow.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnE,MAAM,MAAM,iBAAiB,CAAC,GAAG,IAAI;IACnC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,6IAA6I;IAC7I,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAcF,eAAO,MAAM,YAAY,GAAI,GAAG,EAAG,OAAO,iBAAiB,CAAC,GAAG,CAAC,gCAoD/D,CAAC"}
1
+ {"version":3,"file":"DataTableRow.d.ts","sourceRoot":"","sources":["../../../src/ui/DataTable/DataTableRow.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnE,MAAM,MAAM,iBAAiB,CAAC,GAAG,IAAI;IACnC,GAAG,EAAE,GAAG,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,6IAA6I;IAC7I,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAcF,eAAO,MAAM,YAAY,GAAI,GAAG,EAAG,OAAO,iBAAiB,CAAC,GAAG,CAAC,gCAsD/D,CAAC"}
@@ -16,10 +16,12 @@ const rowStyleBySize = {
16
16
  export const DataTableRow = (props) => {
17
17
  const { row, rowIndex, rowKey, columns, selectable, selected, size = 'sm', noBorderBottom, onSelectedChange, onPress, } = props;
18
18
  const styles = useStyles();
19
- return (_jsxs(Box, { tag: "data-table-row", onPress: onPress, hoverStyle: onPress ? styles.rowHover : {}, style: [
19
+ return (_jsxs(Box, { tag: "data-table-row", onPress: onPress, backgroundColor: {
20
+ default: (selected ? styles.rowSelected : styles.rowBackground).backgroundColor,
21
+ hover: onPress ? styles.rowHover.backgroundColor : undefined,
22
+ }, style: [
20
23
  styles.row,
21
24
  styles[rowStyleBySize[size]],
22
- selected ? styles.rowSelected : {},
23
25
  onPress ? styles.rowHoverable : {},
24
26
  noBorderBottom ? { borderBottomWidth: 0 } : {},
25
27
  ], children: [selectable && (_jsx(Box, { tag: "data-table-selection-cell", style: [styles.selectionCell, styles[selectionCellStyleBySize[size]]], onPress: event => event.stopPropagation(), children: _jsx(CheckboxContainer, { id: `${rowKey}--checkbox`, "aria-label": `Sélectionner la ligne ${rowIndex + 1}`, variant: "small", checked: selected, onCheckedChange: checked => onSelectedChange?.(checked === true), children: _jsx(CheckboxIndicator, { variant: "small" }) }) })), columns.map(column => (_jsx(DataTableCell, { align: column.align, width: column.width, size: size, children: column.renderCell(row, rowIndex) }, column.id)))] }));
@@ -17,8 +17,8 @@ export type DataTableCellState = {
17
17
  */
18
18
  export declare const dataTableCellStyle: (styles: DataTableStyles, { variant, size, align, width, noPadding, pressable }: DataTableCellState) => {
19
19
  tag: "data-table-header-cell" | "data-table-cell";
20
- hover: {
21
- opacity: number;
20
+ opacite: {
21
+ hover: number;
22
22
  } | undefined;
23
23
  style: ({
24
24
  display: "flex";
@@ -12,7 +12,7 @@ export const dataTableCellStyle = (styles, { variant, size, align, width, noPadd
12
12
  return {
13
13
  tag: variant === 'header' ? 'data-table-header-cell' : 'data-table-cell',
14
14
  // Le survol ne repond que la ou il y a quelque chose a presser.
15
- hover: pressable ? { opacity: 0.8 } : undefined,
15
+ opacite: pressable ? { hover: 0.8 } : undefined,
16
16
  style: [
17
17
  variant === 'header' ? styles.headerCell : styles.cell,
18
18
  noPadding ? {} : retrait,
@@ -7,6 +7,6 @@ export declare const DateInput: React.ForwardRefExoticComponent<Omit<import(".."
7
7
  maximumDate?: Date;
8
8
  onChange?: (date: string) => void;
9
9
  is24Hour?: boolean;
10
- minuteInterval?: 1 | 4 | 6 | 12 | 2 | 3 | 5 | 10 | 15 | 20 | 30;
10
+ minuteInterval?: 2 | 1 | 4 | 6 | 12 | 3 | 5 | 10 | 20 | 15 | 30;
11
11
  } & React.RefAttributes<import("react-native").TextInput>>;
12
12
  //# sourceMappingURL=DateInput.ios.d.ts.map
@@ -12,7 +12,7 @@ declare const _default: {
12
12
  maximumDate?: Date;
13
13
  onChange?: (date: string) => void;
14
14
  is24Hour?: boolean;
15
- minuteInterval?: 1 | 4 | 6 | 12 | 2 | 3 | 5 | 10 | 15 | 20 | 30;
15
+ minuteInterval?: 2 | 1 | 4 | 6 | 12 | 3 | 5 | 10 | 20 | 15 | 30;
16
16
  } & React.RefAttributes<import("react-native").TextInput>>;
17
17
  styleFn: () => string;
18
18
  };
@@ -7,6 +7,6 @@ export declare const DateInput: React.ForwardRefExoticComponent<Omit<import(".."
7
7
  maximumDate?: Date;
8
8
  onChange?: (date: string) => void;
9
9
  is24Hour?: boolean;
10
- minuteInterval?: 1 | 4 | 6 | 12 | 2 | 3 | 5 | 10 | 15 | 20 | 30;
10
+ minuteInterval?: 2 | 1 | 4 | 6 | 12 | 3 | 5 | 10 | 20 | 15 | 30;
11
11
  } & React.RefAttributes<HTMLInputElement>>;
12
12
  //# sourceMappingURL=DateInput.web.d.ts.map
@@ -100,6 +100,7 @@ declare const _default: {
100
100
  maxWidth: string;
101
101
  minWidth: number;
102
102
  flexShrink: number;
103
+ position: "relative";
103
104
  borderColor: string;
104
105
  borderWidth: number;
105
106
  borderStyle: "solid";
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentViewer.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAQkB;AAElB,eAAO,MAAM,eAAe,mCAI3B,CAAC;AAEF,eAAO,MAAM,WAAW,mCASvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mCAS5B,CAAC;AAEF,eAAO,MAAM,YAAY,mCAaxB,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"DocumentViewer.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAQkB;AAElB,eAAO,MAAM,eAAe,mCAI3B,CAAC;AAEF,eAAO,MAAM,WAAW,mCASvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mCAS5B,CAAC;AAEF,eAAO,MAAM,YAAY,mCAaxB,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,kCAAkC,CAAC"}
@@ -15,5 +15,5 @@ export default {
15
15
  export const DocumentImageEx = () => (_jsx(Box, { maxW: 500, height: 500, children: _jsx(DocumentViewer, { title: "Document image", type: "image", source: "https://picsum.photos/1000/2000", height: "100%" }) }));
16
16
  export const DocumentPdf = () => (_jsx(Box, { height: 400, maxW: 500, children: _jsx(DocumentViewer, { title: "Document PDF", type: "pdf", source: "https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf", height: "100%" }) }));
17
17
  export const DocumentPdfError = () => (_jsx(Box, { height: 400, maxW: 500, children: _jsx(DocumentViewer, { title: "Document PDF en erreur", type: "pdf", source: "https://example.com/document-inexistant.pdf", height: "100%" }) }));
18
- export const WithChildren = () => (_jsx(Box, { height: 600, children: _jsx(DocumentViewer, { title: "Document PDF", type: "pdf", source: "https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf", height: "100%", children: _jsx(Box, { p: '2W', minW: 600, children: _jsx(Typography, { children: "Contenu enfant" }) }) }) }));
18
+ export const WithChildren = () => (_jsx(Box, { height: 600, children: _jsx(DocumentViewer, { title: "Document PDF", type: "pdf", source: "https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf", height: "100%", children: _jsx(Box, { p: '2W', children: _jsx(Typography, { children: "Contenu enfant" }) }) }) }));
19
19
  export * as Sources from './DocumentViewer.stories.sources';
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentViewer.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,cAA2N,CAAC;AAExP,eAAO,MAAM,WAAW,cAA2R,CAAC;AAEpT,eAAO,MAAM,gBAAgB,cAA+Q,CAAC;AAE7S,eAAO,MAAM,YAAY,cAAuY,CAAC;AAEja,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
1
+ {"version":3,"file":"DocumentViewer.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,cAA2N,CAAC;AAExP,eAAO,MAAM,WAAW,cAA2R,CAAC;AAEpT,eAAO,MAAM,gBAAgB,cAA+Q,CAAC;AAE7S,eAAO,MAAM,YAAY,cAA4X,CAAC;AAEtZ,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -3,7 +3,7 @@
3
3
  export const DocumentImageEx = () => "export const DocumentImageEx = () => (\n <Box maxW={500} height={500}>\n <DocumentViewer title=\"Document image\" type=\"image\" source=\"https://picsum.photos/1000/2000\" height=\"100%\" />\n </Box>\n);";
4
4
  export const DocumentPdf = () => "export const DocumentPdf = () => (\n <Box height={400} maxW={500}>\n <DocumentViewer\n title=\"Document PDF\"\n type=\"pdf\"\n source=\"https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf\"\n height=\"100%\"\n />\n </Box>\n);";
5
5
  export const DocumentPdfError = () => "export const DocumentPdfError = () => (\n <Box height={400} maxW={500}>\n <DocumentViewer\n title=\"Document PDF en erreur\"\n type=\"pdf\"\n source=\"https://example.com/document-inexistant.pdf\"\n height=\"100%\"\n />\n </Box>\n);";
6
- export const WithChildren = () => "export const WithChildren = () => (\n <Box height={600}>\n <DocumentViewer\n title=\"Document PDF\"\n type=\"pdf\"\n source=\"https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf\"\n height=\"100%\"\n >\n <Box p={'2W'} minW={600}>\n <Typography>Contenu enfant</Typography>\n </Box>\n </DocumentViewer>\n </Box>\n);";
6
+ export const WithChildren = () => "export const WithChildren = () => (\n <Box height={600}>\n <DocumentViewer\n title=\"Document PDF\"\n type=\"pdf\"\n source=\"https://upload.wikimedia.org/wikipedia/commons/4/4e/Wikip%C3%A9dia.pdf\"\n height=\"100%\"\n >\n <Box p={'2W'}>\n <Typography>Contenu enfant</Typography>\n </Box>\n </DocumentViewer>\n </Box>\n);";
7
7
  export const storySources = {
8
8
  DocumentImageEx,
9
9
  DocumentPdf,
@@ -93,6 +93,7 @@ export declare const useStyles: () => {
93
93
  maxWidth: string;
94
94
  minWidth: number;
95
95
  flexShrink: number;
96
+ position: "relative";
96
97
  borderColor: string;
97
98
  borderWidth: number;
98
99
  borderStyle: "solid";
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentViewer.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.styles.ts"],"names":[],"mappings":"AAoKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnB,CAAC"}
1
+ {"version":3,"file":"DocumentViewer.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewer.styles.ts"],"names":[],"mappings":"AAuKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKnB,CAAC"}
@@ -69,6 +69,9 @@ const cadre = ({ color, spacing, radius, isVariant }) => ({
69
69
  maxWidth: isVariant('tablet') ? '60%' : '40%',
70
70
  minWidth: 0,
71
71
  flexShrink: 1,
72
+ // Positionne, le panneau rendu apres la barre d'outils la recouvre quand elle deborde,
73
+ // comme en Tamagui v1 qui posait `position: relative` sur chaque vue.
74
+ position: 'relative',
72
75
  borderColor: color.light.border['default-grey'],
73
76
  borderWidth: 1,
74
77
  borderStyle: 'solid',
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentViewerImage.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewerImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAO,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,sBA6ClE,CAAC"}
1
+ {"version":3,"file":"DocumentViewerImage.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/DocumentViewerImage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAO,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5B,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,wBAAwB,sBA6ClE,CAAC"}
@@ -1,10 +1,20 @@
1
- import type { PointerEvent } from 'react-native';
2
1
  /**
3
- * La position du pointeur et le cadre qu'il survole, lus sur un evenement RN. Sur le web,
2
+ * Ce que `lirePointeurWeb` lit d'un evenement de pointeur : le plus petit type commun a
3
+ * l'evenement RN (Tamagui v1) et a l'evenement React DOM (Tamagui v2).
4
+ */
5
+ export type EvenementPointeur = {
6
+ currentTarget: unknown;
7
+ nativeEvent: {
8
+ clientX: number;
9
+ clientY: number;
10
+ };
11
+ };
12
+ /**
13
+ * La position du pointeur et le cadre qu'il survole, lus sur un evenement RN ou DOM. Sur le web,
4
14
  * react-native-web transmet l'evenement du DOM : `nativeEvent` porte les coordonnees et
5
15
  * `currentTarget` est l'element survole. Hors du DOM, il n'y a pas de cadre a mesurer.
6
16
  */
7
- export declare const lirePointeurWeb: (event: PointerEvent) => {
17
+ export declare const lirePointeurWeb: (event: EvenementPointeur) => {
8
18
  clientX: number;
9
19
  clientY: number;
10
20
  rect: DOMRect;
@@ -1 +1 @@
1
- {"version":3,"file":"pointeurWeb.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/pointeurWeb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,YAAY;;;;aAMlD,CAAC"}
1
+ {"version":3,"file":"pointeurWeb.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/pointeurWeb.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,iBAAiB;;;;aAMvD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * La position du pointeur et le cadre qu'il survole, lus sur un evenement RN. Sur le web,
2
+ * La position du pointeur et le cadre qu'il survole, lus sur un evenement RN ou DOM. Sur le web,
3
3
  * react-native-web transmet l'evenement du DOM : `nativeEvent` porte les coordonnees et
4
4
  * `currentTarget` est l'element survole. Hors du DOM, il n'y a pas de cadre a mesurer.
5
5
  */
@@ -1,4 +1,4 @@
1
- import type { PointerEvent } from 'react-native';
1
+ import { type EvenementPointeur } from './pointeurWeb';
2
2
  /**
3
3
  * Le zoom qui suit le pointeur au survol : la page grossit autour du point survole, comme une
4
4
  * loupe. L'origine de l'agrandissement est la position du pointeur en pourcentage du cadre,
@@ -10,6 +10,6 @@ export declare const useSurvolAvecZoom: () => {
10
10
  echelle: number;
11
11
  onEntree: () => void;
12
12
  onSortie: () => void;
13
- onDeplacement: (event: PointerEvent) => void;
13
+ onDeplacement: (event: EvenementPointeur) => void;
14
14
  };
15
15
  //# sourceMappingURL=useSurvolAvecZoom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSurvolAvecZoom.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/useSurvolAvecZoom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;2BAIoB,YAAY;CAgB7D,CAAC"}
1
+ {"version":3,"file":"useSurvolAvecZoom.d.ts","sourceRoot":"","sources":["../../../src/ui/DocumentViewer/useSurvolAvecZoom.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAmB,MAAM,eAAe,CAAC;AAExE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;2BAIoB,iBAAiB;CAgBlE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { FileInputProps } from '../FormControl';
3
+ export type FileDropZoneProps = Pick<FileInputProps, 'value' | 'onChange' | 'type' | 'multiple' | 'disabled'> & {
4
+ children: React.ReactNode;
5
+ /** Le texte de la surcouche pendant le survol. */
6
+ message?: string;
7
+ };
8
+ /** Le glisser-deposer de fichiers n'existe que sur le web : hors web, la zone rend ses enfants. */
9
+ export declare const FileDropZone: ({ children }: FileDropZoneProps) => React.JSX.Element;
10
+ //# sourceMappingURL=FileDropZone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropZone.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/FileDropZone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG;IAC9G,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,mGAAmG;AACnG,eAAO,MAAM,YAAY,GAAI,cAAc,iBAAiB,sBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ /** Le glisser-deposer de fichiers n'existe que sur le web : hors web, la zone rend ses enfants. */
3
+ export const FileDropZone = ({ children }) => _jsx(_Fragment, { children: children });
@@ -0,0 +1,50 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: "ui"[];
4
+ experimental: false;
5
+ webOnly: true;
6
+ description: string;
7
+ component: ({ children }: import("./FileDropZone").FileDropZoneProps) => import("react").JSX.Element;
8
+ styleFn: () => {
9
+ conteneur: {
10
+ position: "relative";
11
+ };
12
+ surcouche: {
13
+ position: "absolute";
14
+ top: number;
15
+ right: number;
16
+ bottom: number;
17
+ left: number;
18
+ borderWidth: number;
19
+ borderStyle: "dashed";
20
+ borderColor: string;
21
+ borderRadius: import("@alveole/theme").Radius;
22
+ backgroundColor: string;
23
+ alignItems: "center";
24
+ justifyContent: "center";
25
+ pointerEvents: "none";
26
+ };
27
+ pastille: {
28
+ backgroundColor: string;
29
+ borderRadius: import("@alveole/theme").Radius;
30
+ paddingLeft: string | number;
31
+ paddingRight: string | number;
32
+ paddingTop: string | number;
33
+ paddingBottom: string | number;
34
+ };
35
+ message: {
36
+ color: string;
37
+ fontSize: 16;
38
+ lineHeight: 24;
39
+ letterSpacing: 0;
40
+ fontFamily: string;
41
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
42
+ };
43
+ };
44
+ };
45
+ export default _default;
46
+ export declare const Formulaire: () => import("react").JSX.Element;
47
+ export declare const Desactivee: () => import("react").JSX.Element;
48
+ export declare const MessagePersonnalise: () => import("react").JSX.Element;
49
+ export * as Sources from './FileDropZone.stories.sources';
50
+ //# sourceMappingURL=FileDropZone.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropZone.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/FileDropZone.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,wBASkB;AAElB,eAAO,MAAM,UAAU,mCAetB,CAAC;AAEF,eAAO,MAAM,UAAU,mCAWtB,CAAC;AAEF,eAAO,MAAM,mBAAmB,mCAW/B,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { Box } from '../../core/Box';
4
+ import { FileInput, FormControl, TextInput } from '../FormControl';
5
+ import { FileDropZone } from './FileDropZone';
6
+ import { useStyles } from './FileDropZone.styles';
7
+ export default {
8
+ title: 'FileDropZone',
9
+ tags: ['ui'],
10
+ experimental: false,
11
+ webOnly: true,
12
+ description: "Zone de dépôt : enveloppe une région (souvent tout un formulaire) sur laquelle on peut glisser-déposer des fichiers. Se branche sur le même état que le FileInput du formulaire. À réserver aux formulaires qui n'ont qu'un seul champ de fichier : avec plusieurs FileInput, l'utilisateur ne peut pas savoir lequel recevra le fichier déposé.",
13
+ component: FileDropZone,
14
+ styleFn: useStyles,
15
+ };
16
+ export const Formulaire = () => {
17
+ const [titre, setTitre] = useState('');
18
+ const [fichiers, setFichiers] = useState(null);
19
+ return (_jsx(FileDropZone, { value: fichiers, onChange: setFichiers, multiple: true, children: _jsxs(Box, { display: "flex", flexDirection: "column", gap: 16, p: 16, children: [_jsx(FormControl, { label: "Titre", children: _jsx(TextInput, { value: titre, onChangeText: setTitre }) }), _jsx(FormControl, { label: "Pi\u00E8ces jointes", hint: "Glissez des fichiers n'importe o\u00F9 sur le formulaire.", children: _jsx(FileInput, { value: fichiers, onChange: setFichiers, multiple: true }) })] }) }));
20
+ };
21
+ export const Desactivee = () => {
22
+ const [fichiers, setFichiers] = useState(null);
23
+ return (_jsx(FileDropZone, { value: fichiers, onChange: setFichiers, multiple: true, disabled: true, children: _jsx(Box, { p: 16, children: _jsx(FormControl, { label: "Pi\u00E8ces jointes", disabled: true, children: _jsx(FileInput, { value: fichiers, onChange: setFichiers, multiple: true, disabled: true }) }) }) }));
24
+ };
25
+ export const MessagePersonnalise = () => {
26
+ const [photo, setPhoto] = useState(null);
27
+ return (_jsx(FileDropZone, { value: photo, onChange: setPhoto, type: "image/*", message: "L\u00E2chez la photo pour l'ajouter", children: _jsx(Box, { p: 16, children: _jsx(FormControl, { label: "Photo", children: _jsx(FileInput, { value: photo, onChange: setPhoto, type: "image/*" }) }) }) }));
28
+ };
29
+ export * as Sources from './FileDropZone.stories.sources';
@@ -0,0 +1,10 @@
1
+ export declare const Formulaire: () => string;
2
+ export declare const Desactivee: () => string;
3
+ export declare const MessagePersonnalise: () => string;
4
+ export declare const storySources: {
5
+ readonly Formulaire: () => string;
6
+ readonly Desactivee: () => string;
7
+ readonly MessagePersonnalise: () => string;
8
+ };
9
+ export type StorySourceName = keyof typeof storySources;
10
+ //# sourceMappingURL=FileDropZone.stories.sources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropZone.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/FileDropZone.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,cAA6qB,CAAC;AAErsB,eAAO,MAAM,UAAU,cAA8a,CAAC;AAEtc,eAAO,MAAM,mBAAmB,cAA4b,CAAC;AAE7d,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ // This file is generated. Do not edit manually.
2
+ // Source: src/ui/FileDropZone/FileDropZone.stories.tsx
3
+ export const Formulaire = () => "export const Formulaire = () => {\n const [titre, setTitre] = useState('');\n const [fichiers, setFichiers] = useState<FileInputValue>(null);\n return (\n <FileDropZone value={fichiers} onChange={setFichiers} multiple>\n <Box display=\"flex\" flexDirection=\"column\" gap={16} p={16}>\n <FormControl label=\"Titre\">\n <TextInput value={titre} onChangeText={setTitre} />\n </FormControl>\n <FormControl label=\"Pièces jointes\" hint=\"Glissez des fichiers n'importe où sur le formulaire.\">\n <FileInput value={fichiers} onChange={setFichiers} multiple />\n </FormControl>\n </Box>\n </FileDropZone>\n );\n};";
4
+ export const Desactivee = () => "export const Desactivee = () => {\n const [fichiers, setFichiers] = useState<FileInputValue>(null);\n return (\n <FileDropZone value={fichiers} onChange={setFichiers} multiple disabled>\n <Box p={16}>\n <FormControl label=\"Pièces jointes\" disabled>\n <FileInput value={fichiers} onChange={setFichiers} multiple disabled />\n </FormControl>\n </Box>\n </FileDropZone>\n );\n};";
5
+ export const MessagePersonnalise = () => "export const MessagePersonnalise = () => {\n const [photo, setPhoto] = useState<FileInputValue>(null);\n return (\n <FileDropZone value={photo} onChange={setPhoto} type=\"image/*\" message=\"Lâchez la photo pour l'ajouter\">\n <Box p={16}>\n <FormControl label=\"Photo\">\n <FileInput value={photo} onChange={setPhoto} type=\"image/*\" />\n </FormControl>\n </Box>\n </FileDropZone>\n );\n};";
6
+ export const storySources = {
7
+ Formulaire,
8
+ Desactivee,
9
+ MessagePersonnalise,
10
+ };
@@ -0,0 +1,37 @@
1
+ export declare const useStyles: () => {
2
+ conteneur: {
3
+ position: "relative";
4
+ };
5
+ surcouche: {
6
+ position: "absolute";
7
+ top: number;
8
+ right: number;
9
+ bottom: number;
10
+ left: number;
11
+ borderWidth: number;
12
+ borderStyle: "dashed";
13
+ borderColor: string;
14
+ borderRadius: import("@alveole/theme").Radius;
15
+ backgroundColor: string;
16
+ alignItems: "center";
17
+ justifyContent: "center";
18
+ pointerEvents: "none";
19
+ };
20
+ pastille: {
21
+ backgroundColor: string;
22
+ borderRadius: import("@alveole/theme").Radius;
23
+ paddingLeft: string | number;
24
+ paddingRight: string | number;
25
+ paddingTop: string | number;
26
+ paddingBottom: string | number;
27
+ };
28
+ message: {
29
+ color: string;
30
+ fontSize: 16;
31
+ lineHeight: 24;
32
+ letterSpacing: 0;
33
+ fontFamily: string;
34
+ fontWeight?: import("react-native").TextStyle["fontWeight"];
35
+ };
36
+ };
37
+ //# sourceMappingURL=FileDropZone.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropZone.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/FileDropZone.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCnB,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { makeStyles } from '@alveole/theme';
2
+ export const useStyles = makeStyles(({ color, radius, spacing, text }) => ({
3
+ conteneur: {
4
+ position: 'relative',
5
+ },
6
+ // Posee sur le contenu sans le deplacer ni capter les clics : le formulaire reste lisible dessous.
7
+ surcouche: {
8
+ position: 'absolute',
9
+ top: 0,
10
+ right: 0,
11
+ bottom: 0,
12
+ left: 0,
13
+ borderWidth: 2,
14
+ borderStyle: 'dashed',
15
+ borderColor: color.light.border['plain-info'],
16
+ borderRadius: radius('lg'),
17
+ backgroundColor: color.alpha(color.light.background['flat-info'], 0.1),
18
+ alignItems: 'center',
19
+ justifyContent: 'center',
20
+ pointerEvents: 'none',
21
+ },
22
+ // Pastille opaque : le message reste lisible quel que soit le champ qu'il recouvre.
23
+ pastille: {
24
+ backgroundColor: color.light.background['default-grey'],
25
+ borderRadius: radius('lg'),
26
+ paddingLeft: spacing('2W'),
27
+ paddingRight: spacing('2W'),
28
+ paddingTop: spacing('1W'),
29
+ paddingBottom: spacing('1W'),
30
+ },
31
+ message: {
32
+ ...text['Corps de texte'].MD.Bold,
33
+ color: color.light.text['default-info'],
34
+ },
35
+ }));
@@ -0,0 +1,4 @@
1
+ import { FileDropZoneProps } from './FileDropZone';
2
+ export type { FileDropZoneProps } from './FileDropZone';
3
+ export declare const FileDropZone: (props: FileDropZoneProps) => import("react").JSX.Element;
4
+ //# sourceMappingURL=FileDropZone.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDropZone.web.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/FileDropZone.web.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,gCAwBpD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box } from '../../core/Box';
3
+ import { Typography } from '../../core/Typography';
4
+ import { useStyles } from './FileDropZone.styles';
5
+ import { useDepotFichier } from './useDepotFichier';
6
+ export const FileDropZone = (props) => {
7
+ const { children, message = 'Déposez vos fichiers ici' } = props;
8
+ const styles = useStyles();
9
+ const depot = useDepotFichier(props);
10
+ return (_jsxs("div", { "data-testid": "file-drop-zone", style: styles.conteneur, onDragEnter: depot.onDragEnter, onDragOver: depot.onDragOver, onDragLeave: depot.onDragLeave, onDrop: depot.onDrop, children: [children, depot.actif && (_jsx(Box, { tag: "file-drop-zone-overlay", style: styles.surcouche, children: _jsx(Box, { tag: "file-drop-zone-message", style: styles.pastille, children: _jsx(Typography, { style: styles.message, children: message }) }) }))] }));
11
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fichiersDuDataTransfer.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/fichiersDuDataTransfer.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,IAAI,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC;AAE7D;;;;;GAKG;AACH,KAAK,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,CAAC;AAQrG;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,eAAe,KAAG,IAAI,EAIhE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './FileDropZone';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './FileDropZone';
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { FileInputProps } from '../FormControl';
3
+ type Options = Pick<FileInputProps, 'value' | 'type' | 'multiple' | 'onChange' | 'disabled'>;
4
+ /**
5
+ * Le comportement de la zone de depot : s'allumer quand un glissement de fichiers la survole,
6
+ * convertir les fichiers lâches en valeurs du champ, et liberer les URL d'objet. Chaque
7
+ * evenement traite s'arrete a la zone : entre zones imbriquees, seule la plus proche reagit.
8
+ */
9
+ export declare const useDepotFichier: ({ value, type, multiple, onChange, disabled }: Options) => {
10
+ actif: boolean;
11
+ onDragEnter: (e: React.DragEvent) => void;
12
+ onDragOver: (e: React.DragEvent) => void;
13
+ onDragLeave: (e: React.DragEvent) => void;
14
+ onDrop: (e: React.DragEvent) => void;
15
+ };
16
+ export {};
17
+ //# sourceMappingURL=useDepotFichier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDepotFichier.d.ts","sourceRoot":"","sources":["../../../src/ui/FileDropZone/useDepotFichier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAqD,cAAc,EAAkB,MAAM,gBAAgB,CAAC;AAwBnH,KAAK,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC;AAE7F;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,+CAA+C,OAAO;;qBA4B5D,KAAK,CAAC,SAAS;oBAOhB,KAAK,CAAC,SAAS;qBAId,KAAK,CAAC,SAAS;gBAOpB,KAAK,CAAC,SAAS;CAsBnC,CAAC"}
@@ -0,0 +1,89 @@
1
+ import React from 'react';
2
+ import { Alert } from '../../core/Alert';
3
+ import { ajoute, fichierCorrespondAuType, fichiersVisibles } from '../FormControl';
4
+ import { fichiersDuDataTransfer } from './fichiersDuDataTransfer';
5
+ const enAsset = (file) => ({
6
+ uri: URL.createObjectURL(file),
7
+ name: file.name,
8
+ size: file.size,
9
+ mimeType: file.type || 'application/octet-stream',
10
+ lastModified: file.lastModified,
11
+ file,
12
+ });
13
+ const urisBlob = (value) => (Array.isArray(value) ? value : [value]).map(fichier => fichier?.uri).filter(uri => uri?.startsWith('blob:'));
14
+ const revoquer = (uris) => uris.forEach(uri => {
15
+ try {
16
+ URL.revokeObjectURL(uri);
17
+ }
18
+ catch { }
19
+ });
20
+ const contientDesFichiers = (e) => Array.from(e.dataTransfer?.types ?? []).includes('Files');
21
+ /**
22
+ * Le comportement de la zone de depot : s'allumer quand un glissement de fichiers la survole,
23
+ * convertir les fichiers lâches en valeurs du champ, et liberer les URL d'objet. Chaque
24
+ * evenement traite s'arrete a la zone : entre zones imbriquees, seule la plus proche reagit.
25
+ */
26
+ export const useDepotFichier = ({ value, type, multiple, onChange, disabled }) => {
27
+ const [actif, setActif] = React.useState(false);
28
+ // `dragenter`/`dragleave` se declenchent a chaque enfant traverse : on compte les entrees pour
29
+ // ne s'eteindre qu'en quittant vraiment la zone.
30
+ const entreesRef = React.useRef(0);
31
+ // Meme regle que le bouton du champ : un champ simple qui montre deja un fichier n'en recoit pas.
32
+ const accepte = !disabled && (!!multiple || fichiersVisibles(value).length === 0);
33
+ const concerne = (e) => accepte && contientDesFichiers(e);
34
+ // Les gestionnaires ne sont pas memoises : un formulaire controle passe un `onChange` neuf a
35
+ // chaque rendu, et une memoisation figerait celui du premier rendu.
36
+ const deposer = (files) => {
37
+ const valides = files.filter(file => fichierCorrespondAuType(file.type || '', file.name, type));
38
+ if (valides.length < files.length) {
39
+ Alert.alert({ title: 'Type de fichier incorrect', message: 'Certains fichiers ne sont pas pris en charge' });
40
+ }
41
+ if (valides.length === 0)
42
+ return;
43
+ onChange(ajoute(value, (multiple ? valides : [valides[0]]).map(enAsset), !!multiple));
44
+ };
45
+ const arreter = (e) => {
46
+ e.preventDefault();
47
+ e.stopPropagation();
48
+ };
49
+ const onDragEnter = (e) => {
50
+ if (!concerne(e))
51
+ return;
52
+ arreter(e);
53
+ entreesRef.current += 1;
54
+ setActif(true);
55
+ };
56
+ const onDragOver = (e) => {
57
+ if (concerne(e))
58
+ arreter(e);
59
+ };
60
+ const onDragLeave = (e) => {
61
+ if (!concerne(e))
62
+ return;
63
+ arreter(e);
64
+ entreesRef.current = Math.max(0, entreesRef.current - 1);
65
+ if (entreesRef.current === 0)
66
+ setActif(false);
67
+ };
68
+ const onDrop = (e) => {
69
+ if (!concerne(e))
70
+ return;
71
+ arreter(e);
72
+ entreesRef.current = 0;
73
+ setActif(false);
74
+ const files = fichiersDuDataTransfer(e.dataTransfer);
75
+ if (files.length > 0)
76
+ deposer(multiple ? files : [files[0]]);
77
+ };
78
+ // Chaque fichier depose est publie derriere une URL d'objet, que le navigateur garde en memoire
79
+ // tant qu'on ne la revoque pas. La valeur s'accumule : on ne libere que les URL qui en sortent,
80
+ // et toutes au demontage.
81
+ const urisRef = React.useRef([]);
82
+ React.useEffect(() => {
83
+ const actuelles = urisBlob(value);
84
+ revoquer(urisRef.current.filter(uri => !actuelles.includes(uri)));
85
+ urisRef.current = actuelles;
86
+ }, [value]);
87
+ React.useEffect(() => () => revoquer(urisRef.current), []);
88
+ return { actif, onDragEnter, onDragOver, onDragLeave, onDrop };
89
+ };
@@ -4,7 +4,7 @@ export type FilterDateValue = {
4
4
  years: number[];
5
5
  months: number[];
6
6
  };
7
- export type FilterDateProps = BoxProps & {
7
+ export type FilterDateProps = Omit<BoxProps, 'onChange'> & {
8
8
  title: string;
9
9
  local?: 'fr' | 'en';
10
10
  /** Année de départ */
@@ -1 +1 @@
1
- {"version":3,"file":"FilterDate.d.ts","sourceRoot":"","sources":["../../../src/ui/FilterDate/FilterDate.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAO,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,sBAAsB;IACtB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,mBAAmB;IACnB,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;CACpF,CAAC;AAgBF,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,MAAM,eAAe,CAAC,MAAM,CAAC,EAC7B,IAAI,eAAe,CAAC,IAAI,CAAC,KACxB,GAAG,MAAM,IAAI,MAAM,EAAE,EAevB,CAAC;AAuIF,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,sBA+ChD,CAAC"}
1
+ {"version":3,"file":"FilterDate.d.ts","sourceRoot":"","sources":["../../../src/ui/FilterDate/FilterDate.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAO,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,sBAAsB;IACtB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,mBAAmB;IACnB,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,EAAE,KAAK,IAAI,CAAC;CACpF,CAAC;AAgBF,eAAO,MAAM,qBAAqB,GAChC,QAAQ,eAAe,EACvB,MAAM,eAAe,CAAC,MAAM,CAAC,EAC7B,IAAI,eAAe,CAAC,IAAI,CAAC,KACxB,GAAG,MAAM,IAAI,MAAM,EAAE,EAevB,CAAC;AAuIF,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,sBA+ChD,CAAC"}