@situaction/traquiste-mobile 1.0.0 → 1.1.0-next.1

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 (479) hide show
  1. package/README.md +61 -90
  2. package/build/components/AssociationTag/AssociationTag.d.ts +19 -0
  3. package/build/components/AssociationTag/AssociationTag.d.ts.map +1 -0
  4. package/build/components/AssociationTag/AssociationTag.js +29 -0
  5. package/build/components/AssociationTag/AssociationTag.js.map +1 -0
  6. package/build/components/AssociationTag/AssociationTag.styles.d.ts +21 -0
  7. package/build/components/AssociationTag/AssociationTag.styles.d.ts.map +1 -0
  8. package/build/components/AssociationTag/AssociationTag.styles.js +26 -0
  9. package/build/components/AssociationTag/AssociationTag.styles.js.map +1 -0
  10. package/build/components/AssociationTag/index.d.ts +3 -0
  11. package/build/components/AssociationTag/index.d.ts.map +1 -0
  12. package/build/components/AssociationTag/index.js +2 -0
  13. package/build/components/AssociationTag/index.js.map +1 -0
  14. package/build/components/BottomSheet/BottomSheet.d.ts +36 -0
  15. package/build/components/BottomSheet/BottomSheet.d.ts.map +1 -0
  16. package/build/components/BottomSheet/BottomSheet.js +76 -0
  17. package/build/components/BottomSheet/BottomSheet.js.map +1 -0
  18. package/build/components/BottomSheet/BottomSheet.styles.d.ts +32 -0
  19. package/build/components/BottomSheet/BottomSheet.styles.d.ts.map +1 -0
  20. package/build/components/BottomSheet/BottomSheet.styles.js +31 -0
  21. package/build/components/BottomSheet/BottomSheet.styles.js.map +1 -0
  22. package/build/components/BottomSheet/index.d.ts +3 -0
  23. package/build/components/BottomSheet/index.d.ts.map +1 -0
  24. package/build/components/BottomSheet/index.js +2 -0
  25. package/build/components/BottomSheet/index.js.map +1 -0
  26. package/build/components/Button/Button.d.ts +5 -1
  27. package/build/components/Button/Button.d.ts.map +1 -1
  28. package/build/components/Button/Button.js +12 -6
  29. package/build/components/Button/Button.js.map +1 -1
  30. package/build/components/ButtonAction/ButtonAction.d.ts +5 -1
  31. package/build/components/ButtonAction/ButtonAction.d.ts.map +1 -1
  32. package/build/components/ButtonAction/ButtonAction.js +2 -2
  33. package/build/components/ButtonAction/ButtonAction.js.map +1 -1
  34. package/build/components/ButtonMap/ButtonMap.d.ts +5 -1
  35. package/build/components/ButtonMap/ButtonMap.d.ts.map +1 -1
  36. package/build/components/ButtonMap/ButtonMap.js +11 -9
  37. package/build/components/ButtonMap/ButtonMap.js.map +1 -1
  38. package/build/components/ButtonMenu/ButtonMenu.d.ts +5 -1
  39. package/build/components/ButtonMenu/ButtonMenu.d.ts.map +1 -1
  40. package/build/components/ButtonMenu/ButtonMenu.js +17 -17
  41. package/build/components/ButtonMenu/ButtonMenu.js.map +1 -1
  42. package/build/components/Calendar/Calendar.d.ts +4 -0
  43. package/build/components/Calendar/Calendar.d.ts.map +1 -0
  44. package/build/components/Calendar/Calendar.i18n.d.ts +34 -0
  45. package/build/components/Calendar/Calendar.i18n.d.ts.map +1 -0
  46. package/build/components/Calendar/Calendar.i18n.js +34 -0
  47. package/build/components/Calendar/Calendar.i18n.js.map +1 -0
  48. package/build/components/Calendar/Calendar.js +172 -0
  49. package/build/components/Calendar/Calendar.js.map +1 -0
  50. package/build/components/Calendar/Calendar.styles.d.ts +257 -0
  51. package/build/components/Calendar/Calendar.styles.d.ts.map +1 -0
  52. package/build/components/Calendar/Calendar.styles.js +234 -0
  53. package/build/components/Calendar/Calendar.styles.js.map +1 -0
  54. package/build/components/Calendar/Calendar.types.d.ts +62 -0
  55. package/build/components/Calendar/Calendar.types.d.ts.map +1 -0
  56. package/build/components/Calendar/Calendar.types.js +2 -0
  57. package/build/components/Calendar/Calendar.types.js.map +1 -0
  58. package/build/components/Calendar/CalendarDay.d.ts +4 -0
  59. package/build/components/Calendar/CalendarDay.d.ts.map +1 -0
  60. package/build/components/Calendar/CalendarDay.js +52 -0
  61. package/build/components/Calendar/CalendarDay.js.map +1 -0
  62. package/build/components/Calendar/CalendarHeader.d.ts +4 -0
  63. package/build/components/Calendar/CalendarHeader.d.ts.map +1 -0
  64. package/build/components/Calendar/CalendarHeader.js +16 -0
  65. package/build/components/Calendar/CalendarHeader.js.map +1 -0
  66. package/build/components/Calendar/CalendarLegend.d.ts +3 -0
  67. package/build/components/Calendar/CalendarLegend.d.ts.map +1 -0
  68. package/build/components/Calendar/CalendarLegend.js +38 -0
  69. package/build/components/Calendar/CalendarLegend.js.map +1 -0
  70. package/build/components/Calendar/CalendarYearPicker.d.ts +19 -0
  71. package/build/components/Calendar/CalendarYearPicker.d.ts.map +1 -0
  72. package/build/components/Calendar/CalendarYearPicker.js +158 -0
  73. package/build/components/Calendar/CalendarYearPicker.js.map +1 -0
  74. package/build/components/Calendar/index.d.ts +5 -0
  75. package/build/components/Calendar/index.d.ts.map +1 -0
  76. package/build/components/Calendar/index.js +3 -0
  77. package/build/components/Calendar/index.js.map +1 -0
  78. package/build/components/Card/Card.d.ts +25 -0
  79. package/build/components/Card/Card.d.ts.map +1 -0
  80. package/build/components/Card/Card.js +31 -0
  81. package/build/components/Card/Card.js.map +1 -0
  82. package/build/components/Card/Card.styles.d.ts +15 -0
  83. package/build/components/Card/Card.styles.d.ts.map +1 -0
  84. package/build/components/Card/Card.styles.js +18 -0
  85. package/build/components/Card/Card.styles.js.map +1 -0
  86. package/build/components/Card/index.d.ts +3 -0
  87. package/build/components/Card/index.d.ts.map +1 -0
  88. package/build/components/Card/index.js +2 -0
  89. package/build/components/Card/index.js.map +1 -0
  90. package/build/components/CardEquip/CardEquip.d.ts +60 -0
  91. package/build/components/CardEquip/CardEquip.d.ts.map +1 -0
  92. package/build/components/CardEquip/CardEquip.js +106 -0
  93. package/build/components/CardEquip/CardEquip.js.map +1 -0
  94. package/build/components/CardEquip/CardEquip.styles.d.ts +125 -0
  95. package/build/components/CardEquip/CardEquip.styles.d.ts.map +1 -0
  96. package/build/components/CardEquip/CardEquip.styles.js +139 -0
  97. package/build/components/CardEquip/CardEquip.styles.js.map +1 -0
  98. package/build/components/CardEquip/index.d.ts +3 -0
  99. package/build/components/CardEquip/index.d.ts.map +1 -0
  100. package/build/components/CardEquip/index.js +2 -0
  101. package/build/components/CardEquip/index.js.map +1 -0
  102. package/build/components/CardProfile/CardProfile.d.ts +55 -0
  103. package/build/components/CardProfile/CardProfile.d.ts.map +1 -0
  104. package/build/components/CardProfile/CardProfile.js +74 -0
  105. package/build/components/CardProfile/CardProfile.js.map +1 -0
  106. package/build/components/CardProfile/CardProfile.styles.d.ts +62 -0
  107. package/build/components/CardProfile/CardProfile.styles.d.ts.map +1 -0
  108. package/build/components/CardProfile/CardProfile.styles.js +65 -0
  109. package/build/components/CardProfile/CardProfile.styles.js.map +1 -0
  110. package/build/components/CardProfile/index.d.ts +3 -0
  111. package/build/components/CardProfile/index.d.ts.map +1 -0
  112. package/build/components/CardProfile/index.js +2 -0
  113. package/build/components/CardProfile/index.js.map +1 -0
  114. package/build/components/Checkbox/Checkbox.d.ts +28 -0
  115. package/build/components/Checkbox/Checkbox.d.ts.map +1 -0
  116. package/build/components/Checkbox/Checkbox.js +77 -0
  117. package/build/components/Checkbox/Checkbox.js.map +1 -0
  118. package/build/components/Checkbox/Checkbox.styles.d.ts +34 -0
  119. package/build/components/Checkbox/Checkbox.styles.d.ts.map +1 -0
  120. package/build/components/Checkbox/Checkbox.styles.js +39 -0
  121. package/build/components/Checkbox/Checkbox.styles.js.map +1 -0
  122. package/build/components/Checkbox/Checkbox.types.d.ts +25 -0
  123. package/build/components/Checkbox/Checkbox.types.d.ts.map +1 -0
  124. package/build/components/Checkbox/Checkbox.types.js +5 -0
  125. package/build/components/Checkbox/Checkbox.types.js.map +1 -0
  126. package/build/components/Checkbox/index.d.ts +3 -0
  127. package/build/components/Checkbox/index.d.ts.map +1 -0
  128. package/build/components/Checkbox/index.js +2 -0
  129. package/build/components/Checkbox/index.js.map +1 -0
  130. package/build/components/Cluster/Cluster.d.ts +23 -0
  131. package/build/components/Cluster/Cluster.d.ts.map +1 -0
  132. package/build/components/Cluster/Cluster.js +34 -0
  133. package/build/components/Cluster/Cluster.js.map +1 -0
  134. package/build/components/Cluster/Cluster.styles.d.ts +33 -0
  135. package/build/components/Cluster/Cluster.styles.d.ts.map +1 -0
  136. package/build/components/Cluster/Cluster.styles.js +34 -0
  137. package/build/components/Cluster/Cluster.styles.js.map +1 -0
  138. package/build/components/Cluster/index.d.ts +3 -0
  139. package/build/components/Cluster/index.d.ts.map +1 -0
  140. package/build/components/Cluster/index.js +2 -0
  141. package/build/components/Cluster/index.js.map +1 -0
  142. package/build/components/ColorPicker/ColorPicker.d.ts +20 -0
  143. package/build/components/ColorPicker/ColorPicker.d.ts.map +1 -0
  144. package/build/components/ColorPicker/ColorPicker.js +17 -0
  145. package/build/components/ColorPicker/ColorPicker.js.map +1 -0
  146. package/build/components/ColorPicker/ColorPicker.styles.d.ts +10 -0
  147. package/build/components/ColorPicker/ColorPicker.styles.d.ts.map +1 -0
  148. package/build/components/ColorPicker/ColorPicker.styles.js +11 -0
  149. package/build/components/ColorPicker/ColorPicker.styles.js.map +1 -0
  150. package/build/components/ColorPicker/index.d.ts +3 -0
  151. package/build/components/ColorPicker/index.d.ts.map +1 -0
  152. package/build/components/ColorPicker/index.js +2 -0
  153. package/build/components/ColorPicker/index.js.map +1 -0
  154. package/build/components/ColorSwatch/ColorSwatch.d.ts +20 -0
  155. package/build/components/ColorSwatch/ColorSwatch.d.ts.map +1 -0
  156. package/build/components/ColorSwatch/ColorSwatch.js +35 -0
  157. package/build/components/ColorSwatch/ColorSwatch.js.map +1 -0
  158. package/build/components/ColorSwatch/ColorSwatch.styles.d.ts +16 -0
  159. package/build/components/ColorSwatch/ColorSwatch.styles.d.ts.map +1 -0
  160. package/build/components/ColorSwatch/ColorSwatch.styles.js +19 -0
  161. package/build/components/ColorSwatch/ColorSwatch.styles.js.map +1 -0
  162. package/build/components/ColorSwatch/index.d.ts +3 -0
  163. package/build/components/ColorSwatch/index.d.ts.map +1 -0
  164. package/build/components/ColorSwatch/index.js +2 -0
  165. package/build/components/ColorSwatch/index.js.map +1 -0
  166. package/build/components/FileCard/FileCard.d.ts +29 -0
  167. package/build/components/FileCard/FileCard.d.ts.map +1 -0
  168. package/build/components/FileCard/FileCard.js +66 -0
  169. package/build/components/FileCard/FileCard.js.map +1 -0
  170. package/build/components/FileCard/FileCard.styles.d.ts +54 -0
  171. package/build/components/FileCard/FileCard.styles.d.ts.map +1 -0
  172. package/build/components/FileCard/FileCard.styles.js +56 -0
  173. package/build/components/FileCard/FileCard.styles.js.map +1 -0
  174. package/build/components/FileCard/index.d.ts +3 -0
  175. package/build/components/FileCard/index.d.ts.map +1 -0
  176. package/build/components/FileCard/index.js +2 -0
  177. package/build/components/FileCard/index.js.map +1 -0
  178. package/build/components/FilterChip/FilterChip.d.ts +5 -1
  179. package/build/components/FilterChip/FilterChip.d.ts.map +1 -1
  180. package/build/components/FilterChip/FilterChip.js +55 -25
  181. package/build/components/FilterChip/FilterChip.js.map +1 -1
  182. package/build/components/FilterNav/FilterNav.d.ts +53 -0
  183. package/build/components/FilterNav/FilterNav.d.ts.map +1 -0
  184. package/build/components/FilterNav/FilterNav.js +39 -0
  185. package/build/components/FilterNav/FilterNav.js.map +1 -0
  186. package/build/components/FilterNav/FilterNav.styles.d.ts +10 -0
  187. package/build/components/FilterNav/FilterNav.styles.d.ts.map +1 -0
  188. package/build/components/FilterNav/FilterNav.styles.js +11 -0
  189. package/build/components/FilterNav/FilterNav.styles.js.map +1 -0
  190. package/build/components/FilterNav/index.d.ts +3 -0
  191. package/build/components/FilterNav/index.d.ts.map +1 -0
  192. package/build/components/FilterNav/index.js +2 -0
  193. package/build/components/FilterNav/index.js.map +1 -0
  194. package/build/components/ImgPicker/ImgPicker.d.ts +47 -0
  195. package/build/components/ImgPicker/ImgPicker.d.ts.map +1 -0
  196. package/build/components/ImgPicker/ImgPicker.js +49 -0
  197. package/build/components/ImgPicker/ImgPicker.js.map +1 -0
  198. package/build/components/ImgPicker/ImgPicker.styles.d.ts +18 -0
  199. package/build/components/ImgPicker/ImgPicker.styles.d.ts.map +1 -0
  200. package/build/components/ImgPicker/ImgPicker.styles.js +19 -0
  201. package/build/components/ImgPicker/ImgPicker.styles.js.map +1 -0
  202. package/build/components/ImgPicker/index.d.ts +3 -0
  203. package/build/components/ImgPicker/index.d.ts.map +1 -0
  204. package/build/components/ImgPicker/index.js +2 -0
  205. package/build/components/ImgPicker/index.js.map +1 -0
  206. package/build/components/InlineInfo/InlineInfo.d.ts +60 -0
  207. package/build/components/InlineInfo/InlineInfo.d.ts.map +1 -0
  208. package/build/components/InlineInfo/InlineInfo.js +115 -0
  209. package/build/components/InlineInfo/InlineInfo.js.map +1 -0
  210. package/build/components/InlineInfo/InlineInfo.styles.d.ts +42 -0
  211. package/build/components/InlineInfo/InlineInfo.styles.d.ts.map +1 -0
  212. package/build/components/InlineInfo/InlineInfo.styles.js +50 -0
  213. package/build/components/InlineInfo/InlineInfo.styles.js.map +1 -0
  214. package/build/components/InlineInfo/index.d.ts +3 -0
  215. package/build/components/InlineInfo/index.d.ts.map +1 -0
  216. package/build/components/InlineInfo/index.js +2 -0
  217. package/build/components/InlineInfo/index.js.map +1 -0
  218. package/build/components/Input/Input.d.ts +57 -0
  219. package/build/components/Input/Input.d.ts.map +1 -0
  220. package/build/components/Input/Input.js +103 -0
  221. package/build/components/Input/Input.js.map +1 -0
  222. package/build/components/Input/Input.styles.d.ts +39 -0
  223. package/build/components/Input/Input.styles.d.ts.map +1 -0
  224. package/build/components/Input/Input.styles.js +40 -0
  225. package/build/components/Input/Input.styles.js.map +1 -0
  226. package/build/components/Input/index.d.ts +3 -0
  227. package/build/components/Input/index.d.ts.map +1 -0
  228. package/build/components/Input/index.js +2 -0
  229. package/build/components/Input/index.js.map +1 -0
  230. package/build/components/ListGroup/ListGroup.d.ts +24 -0
  231. package/build/components/ListGroup/ListGroup.d.ts.map +1 -0
  232. package/build/components/ListGroup/ListGroup.js +44 -0
  233. package/build/components/ListGroup/ListGroup.js.map +1 -0
  234. package/build/components/ListGroup/index.d.ts +3 -0
  235. package/build/components/ListGroup/index.d.ts.map +1 -0
  236. package/build/components/ListGroup/index.js +2 -0
  237. package/build/components/ListGroup/index.js.map +1 -0
  238. package/build/components/ListItem/ListItem.d.ts +44 -0
  239. package/build/components/ListItem/ListItem.d.ts.map +1 -0
  240. package/build/components/ListItem/ListItem.js +69 -0
  241. package/build/components/ListItem/ListItem.js.map +1 -0
  242. package/build/components/ListItem/ListItem.styles.d.ts +66 -0
  243. package/build/components/ListItem/ListItem.styles.d.ts.map +1 -0
  244. package/build/components/ListItem/ListItem.styles.js +70 -0
  245. package/build/components/ListItem/ListItem.styles.js.map +1 -0
  246. package/build/components/ListItem/index.d.ts +3 -0
  247. package/build/components/ListItem/index.d.ts.map +1 -0
  248. package/build/components/ListItem/index.js +2 -0
  249. package/build/components/ListItem/index.js.map +1 -0
  250. package/build/components/MapPin/MapPin.d.ts +61 -0
  251. package/build/components/MapPin/MapPin.d.ts.map +1 -0
  252. package/build/components/MapPin/MapPin.js +118 -0
  253. package/build/components/MapPin/MapPin.js.map +1 -0
  254. package/build/components/MapPin/MapPin.styles.d.ts +93 -0
  255. package/build/components/MapPin/MapPin.styles.d.ts.map +1 -0
  256. package/build/components/MapPin/MapPin.styles.js +101 -0
  257. package/build/components/MapPin/MapPin.styles.js.map +1 -0
  258. package/build/components/MapPin/index.d.ts +3 -0
  259. package/build/components/MapPin/index.d.ts.map +1 -0
  260. package/build/components/MapPin/index.js +2 -0
  261. package/build/components/MapPin/index.js.map +1 -0
  262. package/build/components/MediaPicker/MediaPicker.d.ts +74 -0
  263. package/build/components/MediaPicker/MediaPicker.d.ts.map +1 -0
  264. package/build/components/MediaPicker/MediaPicker.js +43 -0
  265. package/build/components/MediaPicker/MediaPicker.js.map +1 -0
  266. package/build/components/MediaPicker/MediaPicker.styles.d.ts +30 -0
  267. package/build/components/MediaPicker/MediaPicker.styles.d.ts.map +1 -0
  268. package/build/components/MediaPicker/MediaPicker.styles.js +31 -0
  269. package/build/components/MediaPicker/MediaPicker.styles.js.map +1 -0
  270. package/build/components/MediaPicker/index.d.ts +3 -0
  271. package/build/components/MediaPicker/index.d.ts.map +1 -0
  272. package/build/components/MediaPicker/index.js +2 -0
  273. package/build/components/MediaPicker/index.js.map +1 -0
  274. package/build/components/PhotoCard/PhotoCard.d.ts +28 -0
  275. package/build/components/PhotoCard/PhotoCard.d.ts.map +1 -0
  276. package/build/components/PhotoCard/PhotoCard.js +53 -0
  277. package/build/components/PhotoCard/PhotoCard.js.map +1 -0
  278. package/build/components/PhotoCard/PhotoCard.styles.d.ts +47 -0
  279. package/build/components/PhotoCard/PhotoCard.styles.d.ts.map +1 -0
  280. package/build/components/PhotoCard/PhotoCard.styles.js +45 -0
  281. package/build/components/PhotoCard/PhotoCard.styles.js.map +1 -0
  282. package/build/components/PhotoCard/index.d.ts +3 -0
  283. package/build/components/PhotoCard/index.d.ts.map +1 -0
  284. package/build/components/PhotoCard/index.js +2 -0
  285. package/build/components/PhotoCard/index.js.map +1 -0
  286. package/build/components/ProgressStep/ProgressStep.d.ts +9 -0
  287. package/build/components/ProgressStep/ProgressStep.d.ts.map +1 -0
  288. package/build/components/ProgressStep/ProgressStep.js +23 -0
  289. package/build/components/ProgressStep/ProgressStep.js.map +1 -0
  290. package/build/components/ProgressStep/ProgressStep.styles.d.ts +12 -0
  291. package/build/components/ProgressStep/ProgressStep.styles.d.ts.map +1 -0
  292. package/build/components/ProgressStep/ProgressStep.styles.js +13 -0
  293. package/build/components/ProgressStep/ProgressStep.styles.js.map +1 -0
  294. package/build/components/ProgressStep/index.d.ts +3 -0
  295. package/build/components/ProgressStep/index.d.ts.map +1 -0
  296. package/build/components/ProgressStep/index.js +2 -0
  297. package/build/components/ProgressStep/index.js.map +1 -0
  298. package/build/components/RadioButton/RadioButton.d.ts +29 -0
  299. package/build/components/RadioButton/RadioButton.d.ts.map +1 -0
  300. package/build/components/RadioButton/RadioButton.js +71 -0
  301. package/build/components/RadioButton/RadioButton.js.map +1 -0
  302. package/build/components/RadioButton/RadioButton.styles.d.ts +27 -0
  303. package/build/components/RadioButton/RadioButton.styles.d.ts.map +1 -0
  304. package/build/components/RadioButton/RadioButton.styles.js +30 -0
  305. package/build/components/RadioButton/RadioButton.styles.js.map +1 -0
  306. package/build/components/RadioButton/index.d.ts +3 -0
  307. package/build/components/RadioButton/index.d.ts.map +1 -0
  308. package/build/components/RadioButton/index.js +2 -0
  309. package/build/components/RadioButton/index.js.map +1 -0
  310. package/build/components/SearchBar/SearchBar.d.ts +33 -0
  311. package/build/components/SearchBar/SearchBar.d.ts.map +1 -0
  312. package/build/components/SearchBar/SearchBar.js +83 -0
  313. package/build/components/SearchBar/SearchBar.js.map +1 -0
  314. package/build/components/SearchBar/SearchBar.styles.d.ts +19 -0
  315. package/build/components/SearchBar/SearchBar.styles.d.ts.map +1 -0
  316. package/build/components/SearchBar/SearchBar.styles.js +21 -0
  317. package/build/components/SearchBar/SearchBar.styles.js.map +1 -0
  318. package/build/components/SearchBar/index.d.ts +3 -0
  319. package/build/components/SearchBar/index.d.ts.map +1 -0
  320. package/build/components/SearchBar/index.js +2 -0
  321. package/build/components/SearchBar/index.js.map +1 -0
  322. package/build/components/Spinner/Spinner.d.ts +12 -0
  323. package/build/components/Spinner/Spinner.d.ts.map +1 -0
  324. package/build/components/Spinner/Spinner.js +80 -0
  325. package/build/components/Spinner/Spinner.js.map +1 -0
  326. package/build/components/Spinner/Spinner.styles.d.ts +21 -0
  327. package/build/components/Spinner/Spinner.styles.d.ts.map +1 -0
  328. package/build/components/Spinner/Spinner.styles.js +22 -0
  329. package/build/components/Spinner/Spinner.styles.js.map +1 -0
  330. package/build/components/Spinner/index.d.ts +3 -0
  331. package/build/components/Spinner/index.d.ts.map +1 -0
  332. package/build/components/Spinner/index.js +2 -0
  333. package/build/components/Spinner/index.js.map +1 -0
  334. package/build/components/StepSheet/StepSheet.d.ts +77 -0
  335. package/build/components/StepSheet/StepSheet.d.ts.map +1 -0
  336. package/build/components/StepSheet/StepSheet.js +30 -0
  337. package/build/components/StepSheet/StepSheet.js.map +1 -0
  338. package/build/components/StepSheet/StepSheet.styles.d.ts +6 -0
  339. package/build/components/StepSheet/StepSheet.styles.d.ts.map +1 -0
  340. package/build/components/StepSheet/StepSheet.styles.js +7 -0
  341. package/build/components/StepSheet/StepSheet.styles.js.map +1 -0
  342. package/build/components/StepSheet/index.d.ts +3 -0
  343. package/build/components/StepSheet/index.d.ts.map +1 -0
  344. package/build/components/StepSheet/index.js +2 -0
  345. package/build/components/StepSheet/index.js.map +1 -0
  346. package/build/components/Stepper/Stepper.d.ts +50 -0
  347. package/build/components/Stepper/Stepper.d.ts.map +1 -0
  348. package/build/components/Stepper/Stepper.js +48 -0
  349. package/build/components/Stepper/Stepper.js.map +1 -0
  350. package/build/components/Stepper/Stepper.styles.d.ts +27 -0
  351. package/build/components/Stepper/Stepper.styles.d.ts.map +1 -0
  352. package/build/components/Stepper/Stepper.styles.js +28 -0
  353. package/build/components/Stepper/Stepper.styles.js.map +1 -0
  354. package/build/components/Stepper/index.d.ts +3 -0
  355. package/build/components/Stepper/index.d.ts.map +1 -0
  356. package/build/components/Stepper/index.js +2 -0
  357. package/build/components/Stepper/index.js.map +1 -0
  358. package/build/components/Switch/Switch.d.ts +29 -0
  359. package/build/components/Switch/Switch.d.ts.map +1 -0
  360. package/build/components/Switch/Switch.js +89 -0
  361. package/build/components/Switch/Switch.js.map +1 -0
  362. package/build/components/Switch/Switch.styles.d.ts +29 -0
  363. package/build/components/Switch/Switch.styles.d.ts.map +1 -0
  364. package/build/components/Switch/Switch.styles.js +26 -0
  365. package/build/components/Switch/Switch.styles.js.map +1 -0
  366. package/build/components/Switch/index.d.ts +3 -0
  367. package/build/components/Switch/index.d.ts.map +1 -0
  368. package/build/components/Switch/index.js +2 -0
  369. package/build/components/Switch/index.js.map +1 -0
  370. package/build/components/Tab/Tab.d.ts +52 -0
  371. package/build/components/Tab/Tab.d.ts.map +1 -0
  372. package/build/components/Tab/Tab.js +121 -0
  373. package/build/components/Tab/Tab.js.map +1 -0
  374. package/build/components/Tab/Tab.styles.d.ts +55 -0
  375. package/build/components/Tab/Tab.styles.d.ts.map +1 -0
  376. package/build/components/Tab/Tab.styles.js +60 -0
  377. package/build/components/Tab/Tab.styles.js.map +1 -0
  378. package/build/components/Tab/index.d.ts +3 -0
  379. package/build/components/Tab/index.d.ts.map +1 -0
  380. package/build/components/Tab/index.js +2 -0
  381. package/build/components/Tab/index.js.map +1 -0
  382. package/build/components/Tag/Tag.d.ts +4 -0
  383. package/build/components/Tag/Tag.d.ts.map +1 -0
  384. package/build/components/Tag/Tag.js +40 -0
  385. package/build/components/Tag/Tag.js.map +1 -0
  386. package/build/components/Tag/Tag.styles.d.ts +35 -0
  387. package/build/components/Tag/Tag.styles.d.ts.map +1 -0
  388. package/build/components/Tag/Tag.styles.js +43 -0
  389. package/build/components/Tag/Tag.styles.js.map +1 -0
  390. package/build/components/Tag/Tag.types.d.ts +23 -0
  391. package/build/components/Tag/Tag.types.d.ts.map +1 -0
  392. package/build/components/Tag/Tag.types.js +2 -0
  393. package/build/components/Tag/Tag.types.js.map +1 -0
  394. package/build/components/Tag/index.d.ts +3 -0
  395. package/build/components/Tag/index.d.ts.map +1 -0
  396. package/build/components/Tag/index.js +2 -0
  397. package/build/components/Tag/index.js.map +1 -0
  398. package/build/components/navigation/GeneralNav/GeneralNav.d.ts +21 -0
  399. package/build/components/navigation/GeneralNav/GeneralNav.d.ts.map +1 -0
  400. package/build/components/navigation/GeneralNav/GeneralNav.js +25 -0
  401. package/build/components/navigation/GeneralNav/GeneralNav.js.map +1 -0
  402. package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts +33 -0
  403. package/build/components/navigation/GeneralNav/GeneralNav.styles.d.ts.map +1 -0
  404. package/build/components/navigation/GeneralNav/GeneralNav.styles.js +35 -0
  405. package/build/components/navigation/GeneralNav/GeneralNav.styles.js.map +1 -0
  406. package/build/components/navigation/GeneralNav/index.d.ts +3 -0
  407. package/build/components/navigation/GeneralNav/index.d.ts.map +1 -0
  408. package/build/components/navigation/GeneralNav/index.js +2 -0
  409. package/build/components/navigation/GeneralNav/index.js.map +1 -0
  410. package/build/components/navigation/MobileCanva/MobileCanva.d.ts +11 -0
  411. package/build/components/navigation/MobileCanva/MobileCanva.d.ts.map +1 -0
  412. package/build/components/navigation/MobileCanva/MobileCanva.js +55 -0
  413. package/build/components/navigation/MobileCanva/MobileCanva.js.map +1 -0
  414. package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts +93 -0
  415. package/build/components/navigation/MobileCanva/MobileCanva.styles.d.ts.map +1 -0
  416. package/build/components/navigation/MobileCanva/MobileCanva.styles.js +94 -0
  417. package/build/components/navigation/MobileCanva/MobileCanva.styles.js.map +1 -0
  418. package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts +21 -0
  419. package/build/components/navigation/MobileCanva/MobileCanva.types.d.ts.map +1 -0
  420. package/build/components/navigation/MobileCanva/MobileCanva.types.js +2 -0
  421. package/build/components/navigation/MobileCanva/MobileCanva.types.js.map +1 -0
  422. package/build/components/navigation/MobileCanva/index.d.ts +3 -0
  423. package/build/components/navigation/MobileCanva/index.d.ts.map +1 -0
  424. package/build/components/navigation/MobileCanva/index.js +2 -0
  425. package/build/components/navigation/MobileCanva/index.js.map +1 -0
  426. package/build/components/navigation/PageNav/PageNav.d.ts +46 -0
  427. package/build/components/navigation/PageNav/PageNav.d.ts.map +1 -0
  428. package/build/components/navigation/PageNav/PageNav.js +48 -0
  429. package/build/components/navigation/PageNav/PageNav.js.map +1 -0
  430. package/build/components/navigation/PageNav/PageNav.styles.d.ts +60 -0
  431. package/build/components/navigation/PageNav/PageNav.styles.d.ts.map +1 -0
  432. package/build/components/navigation/PageNav/PageNav.styles.js +60 -0
  433. package/build/components/navigation/PageNav/PageNav.styles.js.map +1 -0
  434. package/build/components/navigation/PageNav/index.d.ts +3 -0
  435. package/build/components/navigation/PageNav/index.d.ts.map +1 -0
  436. package/build/components/navigation/PageNav/index.js +2 -0
  437. package/build/components/navigation/PageNav/index.js.map +1 -0
  438. package/build/components/navigation/ScreenCanva/ScreenCanva.d.ts +8 -0
  439. package/build/components/navigation/ScreenCanva/ScreenCanva.d.ts.map +1 -0
  440. package/build/components/navigation/ScreenCanva/ScreenCanva.js +37 -0
  441. package/build/components/navigation/ScreenCanva/ScreenCanva.js.map +1 -0
  442. package/build/components/navigation/ScreenCanva/index.d.ts +3 -0
  443. package/build/components/navigation/ScreenCanva/index.d.ts.map +1 -0
  444. package/build/components/navigation/ScreenCanva/index.js +2 -0
  445. package/build/components/navigation/ScreenCanva/index.js.map +1 -0
  446. package/build/components/navigation/TabBar/TabBar.d.ts +22 -0
  447. package/build/components/navigation/TabBar/TabBar.d.ts.map +1 -0
  448. package/build/components/navigation/TabBar/TabBar.js +13 -0
  449. package/build/components/navigation/TabBar/TabBar.js.map +1 -0
  450. package/build/components/navigation/TabBar/TabBar.styles.d.ts +14 -0
  451. package/build/components/navigation/TabBar/TabBar.styles.d.ts.map +1 -0
  452. package/build/components/navigation/TabBar/TabBar.styles.js +16 -0
  453. package/build/components/navigation/TabBar/TabBar.styles.js.map +1 -0
  454. package/build/components/navigation/TabBar/index.d.ts +3 -0
  455. package/build/components/navigation/TabBar/index.d.ts.map +1 -0
  456. package/build/components/navigation/TabBar/index.js +2 -0
  457. package/build/components/navigation/TabBar/index.js.map +1 -0
  458. package/build/context/BottomSheetContext.d.ts +42 -0
  459. package/build/context/BottomSheetContext.d.ts.map +1 -0
  460. package/build/context/BottomSheetContext.js +51 -0
  461. package/build/context/BottomSheetContext.js.map +1 -0
  462. package/build/context/ThemeContext.d.ts +5 -1
  463. package/build/context/ThemeContext.d.ts.map +1 -1
  464. package/build/context/ThemeContext.js +4 -2
  465. package/build/context/ThemeContext.js.map +1 -1
  466. package/build/index.d.ts +79 -1
  467. package/build/index.d.ts.map +1 -1
  468. package/build/index.js +39 -0
  469. package/build/index.js.map +1 -1
  470. package/build/theme/tokens/dark.d.ts.map +1 -1
  471. package/build/theme/tokens/dark.js +263 -10
  472. package/build/theme/tokens/dark.js.map +1 -1
  473. package/build/theme/tokens/light.d.ts.map +1 -1
  474. package/build/theme/tokens/light.js +252 -7
  475. package/build/theme/tokens/light.js.map +1 -1
  476. package/build/theme/type.d.ts +398 -0
  477. package/build/theme/type.d.ts.map +1 -1
  478. package/build/theme/type.js.map +1 -1
  479. package/package.json +8 -5
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ColorPicker — palette of pressable color swatches.
3
+ * Wraps ColorSwatch items in a flex-wrap row.
4
+ * Column gap: 32px between swatches, row gap: 8px between lines.
5
+ */
6
+ import { View } from 'react-native';
7
+ import { ColorSwatch } from '../ColorSwatch/ColorSwatch';
8
+ import { styles } from './ColorPicker.styles';
9
+ // ---------------------------------------------------------------------------
10
+ // Component
11
+ // ---------------------------------------------------------------------------
12
+ export function ColorPicker({ colors, value, onChange, style, testID, }) {
13
+ return (<View style={[styles.container, style]} testID={testID}>
14
+ {colors.map((color) => (<ColorSwatch key={color} color={color} selected={value === color} onPress={() => onChange(color)}/>))}
15
+ </View>);
16
+ }
17
+ //# sourceMappingURL=ColorPicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAmB9C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,UAAU,WAAW,CAAC,EAC1B,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,GACW;IACjB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CACrD;MAAA,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrB,CAAC,WAAW,CACV,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAC1B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAC/B,CACH,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC","sourcesContent":["/**\n * ColorPicker — palette of pressable color swatches.\n * Wraps ColorSwatch items in a flex-wrap row.\n * Column gap: 32px between swatches, row gap: 8px between lines.\n */\n\nimport { View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { ColorSwatch } from '../ColorSwatch/ColorSwatch';\nimport { styles } from './ColorPicker.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ColorPickerProps {\n /** List of hex color strings to display */\n colors: string[];\n /** Currently selected color — controlled */\n value: string | null;\n /** Called with the selected color when a swatch is pressed */\n onChange: (color: string) => void;\n /** Additional styles on the wrapper */\n style?: StyleProp<ViewStyle>;\n /** Test ID for automated testing */\n testID?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function ColorPicker({\n colors,\n value,\n onChange,\n style,\n testID,\n}: ColorPickerProps) {\n return (\n <View style={[styles.container, style]} testID={testID}>\n {colors.map((color) => (\n <ColorSwatch\n key={color}\n color={color}\n selected={value === color}\n onPress={() => onChange(color)}\n />\n ))}\n </View>\n );\n}\n\n"]}
@@ -0,0 +1,10 @@
1
+ export declare const styles: {
2
+ container: {
3
+ flexDirection: "row";
4
+ flexWrap: "wrap";
5
+ alignContent: "flex-start";
6
+ columnGap: number;
7
+ rowGap: number;
8
+ };
9
+ };
10
+ //# sourceMappingURL=ColorPicker.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;CAQjB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export const styles = StyleSheet.create({
3
+ container: {
4
+ flexDirection: 'row',
5
+ flexWrap: 'wrap',
6
+ alignContent: 'flex-start',
7
+ columnGap: 32,
8
+ rowGap: 8,
9
+ },
10
+ });
11
+ //# sourceMappingURL=ColorPicker.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.styles.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,MAAM;QAChB,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,EAAE;QACb,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n alignContent: 'flex-start',\n columnGap: 32,\n rowGap: 8,\n },\n});\n"]}
@@ -0,0 +1,3 @@
1
+ export { ColorPicker } from './ColorPicker';
2
+ export type { ColorPickerProps } from './ColorPicker';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColorPicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ColorPicker } from './ColorPicker';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { ColorPicker } from './ColorPicker';\nexport type { ColorPickerProps } from './ColorPicker';"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ColorSwatch — pressable color circle for Color Picker palettes.
3
+ * 44px touch target with a 38px colored circle.
4
+ * Selected state adds a ring around the touch target and a check icon.
5
+ */
6
+ import type { StyleProp, ViewStyle } from 'react-native';
7
+ export interface ColorSwatchProps {
8
+ /** Hex color string to display (e.g. "#ff4747") */
9
+ color: string;
10
+ /** Whether this swatch is currently selected — controlled */
11
+ selected: boolean;
12
+ /** Press handler */
13
+ onPress: () => void;
14
+ /** Additional styles on the wrapper */
15
+ style?: StyleProp<ViewStyle>;
16
+ /** Test ID for automated testing */
17
+ testID?: string;
18
+ }
19
+ export declare const ColorSwatch: ({ color, selected, onPress, style, testID, }: ColorSwatchProps) => import("react").JSX.Element;
20
+ //# sourceMappingURL=ColorSwatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatch.d.ts","sourceRoot":"","sources":["../../../src/components/ColorSwatch/ColorSwatch.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,oBAAoB;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,WAAW,GAAI,8CAMzB,gBAAgB,gCAmClB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * ColorSwatch — pressable color circle for Color Picker palettes.
3
+ * 44px touch target with a 38px colored circle.
4
+ * Selected state adds a ring around the touch target and a check icon.
5
+ */
6
+ import { Pressable, View } from 'react-native';
7
+ import { Check } from 'phosphor-react-native';
8
+ import { useTheme } from '../../context/ThemeContext';
9
+ import { styles } from './ColorSwatch.styles';
10
+ // ---------------------------------------------------------------------------
11
+ // Component
12
+ // ---------------------------------------------------------------------------
13
+ export const ColorSwatch = ({ color, selected, onPress, style, testID, }) => {
14
+ const { colors } = useTheme();
15
+ const circleSize = 38;
16
+ return (<Pressable accessibilityRole="radio" accessibilityState={{ selected }} onPress={onPress} style={[
17
+ styles.touchTarget,
18
+ selected && { backgroundColor: colors.swatch.selectedRing },
19
+ style,
20
+ ]} testID={testID}>
21
+ <View style={[
22
+ styles.circle,
23
+ {
24
+ width: circleSize,
25
+ height: circleSize,
26
+ borderRadius: circleSize / 2,
27
+ backgroundColor: color,
28
+ },
29
+ ]}/>
30
+ {selected && (<View style={styles.check} pointerEvents="none">
31
+ <Check size={26} weight="bold" color={colors.swatch.check}/>
32
+ </View>)}
33
+ </Pressable>);
34
+ };
35
+ //# sourceMappingURL=ColorSwatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatch.js","sourceRoot":"","sources":["../../../src/components/ColorSwatch/ColorSwatch.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAmB9C,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,MAAM,GACW,EAAE,EAAE;IACrB,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;IAE9B,MAAM,UAAU,GAAG,EAAE,CAAC;IAEtB,OAAO,CACL,CAAC,SAAS,CACR,iBAAiB,CAAC,OAAO,CACzB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CACjC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,WAAW;YAClB,QAAQ,IAAI,EAAE,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC3D,KAAK;SACN,CAAC,CACF,MAAM,CAAC,CAAC,MAAM,CAAC,CAEf;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC;YACL,MAAM,CAAC,MAAM;YACb;gBACE,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,UAAU;gBAClB,YAAY,EAAE,UAAU,GAAG,CAAC;gBAC5B,eAAe,EAAE,KAAK;aACvB;SACF,CAAC,EAEJ;MAAA,CAAC,QAAQ,IAAI,CACX,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAC7C;UAAA,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAC5D;QAAA,EAAE,IAAI,CAAC,CACR,CACH;IAAA,EAAE,SAAS,CAAC,CACb,CAAC;AACJ,CAAC,CAAC","sourcesContent":["/**\n * ColorSwatch — pressable color circle for Color Picker palettes.\n * 44px touch target with a 38px colored circle.\n * Selected state adds a ring around the touch target and a check icon.\n */\n\nimport { Pressable, View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { Check } from 'phosphor-react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { styles } from './ColorSwatch.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface ColorSwatchProps {\n /** Hex color string to display (e.g. \"#ff4747\") */\n color: string;\n /** Whether this swatch is currently selected — controlled */\n selected: boolean;\n /** Press handler */\n onPress: () => void;\n /** Additional styles on the wrapper */\n style?: StyleProp<ViewStyle>;\n /** Test ID for automated testing */\n testID?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport const ColorSwatch = ({\n color,\n selected,\n onPress,\n style,\n testID,\n}: ColorSwatchProps) => {\n const { colors } = useTheme();\n\n const circleSize = 38;\n\n return (\n <Pressable\n accessibilityRole=\"radio\"\n accessibilityState={{ selected }}\n onPress={onPress}\n style={[\n styles.touchTarget,\n selected && { backgroundColor: colors.swatch.selectedRing },\n style,\n ]}\n testID={testID}\n >\n <View\n style={[\n styles.circle,\n {\n width: circleSize,\n height: circleSize,\n borderRadius: circleSize / 2,\n backgroundColor: color,\n },\n ]}\n />\n {selected && (\n <View style={styles.check} pointerEvents=\"none\">\n <Check size={26} weight=\"bold\" color={colors.swatch.check} />\n </View>\n )}\n </Pressable>\n );\n};\n\n"]}
@@ -0,0 +1,16 @@
1
+ export declare const styles: {
2
+ touchTarget: {
3
+ width: number;
4
+ height: number;
5
+ borderRadius: number;
6
+ alignItems: "center";
7
+ justifyContent: "center";
8
+ };
9
+ circle: {};
10
+ check: {
11
+ position: "absolute";
12
+ alignItems: "center";
13
+ justifyContent: "center";
14
+ };
15
+ };
16
+ //# sourceMappingURL=ColorSwatch.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatch.styles.d.ts","sourceRoot":"","sources":["../../../src/components/ColorSwatch/ColorSwatch.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;CAgBjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export const styles = StyleSheet.create({
3
+ touchTarget: {
4
+ width: 44,
5
+ height: 44,
6
+ borderRadius: 22,
7
+ alignItems: 'center',
8
+ justifyContent: 'center',
9
+ },
10
+ circle: {
11
+ // size + color set inline
12
+ },
13
+ check: {
14
+ position: 'absolute',
15
+ alignItems: 'center',
16
+ justifyContent: 'center',
17
+ },
18
+ });
19
+ //# sourceMappingURL=ColorSwatch.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatch.styles.js","sourceRoot":"","sources":["../../../src/components/ColorSwatch/ColorSwatch.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,MAAM,EAAE;IACN,0BAA0B;KAC3B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,UAAU;QACpB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n touchTarget: {\n width: 44,\n height: 44,\n borderRadius: 22,\n alignItems: 'center',\n justifyContent: 'center',\n },\n circle: {\n // size + color set inline\n },\n check: {\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n"]}
@@ -0,0 +1,3 @@
1
+ export { ColorSwatch } from './ColorSwatch';
2
+ export type { ColorSwatchProps } from './ColorSwatch';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ColorSwatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ColorSwatch } from './ColorSwatch';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ColorSwatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { ColorSwatch } from './ColorSwatch';\nexport type { ColorSwatchProps } from './ColorSwatch';\n"]}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * FileCard — compact file row used in the file-mode MediaPicker.
3
+ *
4
+ * Shows a 50 × 50 icon area (file-type icon or image thumbnail) on the left,
5
+ * and a filename + detail/caption metadata block on the right.
6
+ * Supported mime types: video/*, application/pdf, image/* (thumbnail or icon).
7
+ */
8
+ import React from 'react';
9
+ import type { StyleProp, ViewStyle } from 'react-native';
10
+ export interface FileCardProps {
11
+ /** Display file name (e.g. "vid_120426_kq7a65.mp4") */
12
+ filename: string;
13
+ /** First secondary text, shown left of the bullet (e.g. "4.3 Mo") */
14
+ detail?: string;
15
+ /** Second secondary text, shown right of the bullet (e.g. "17/04/2026") */
16
+ caption?: string;
17
+ /** MIME type — drives the icon choice when no thumbnail is provided */
18
+ mimeType?: string;
19
+ /** Image thumbnail URI — fills the icon area if provided */
20
+ thumbnailUri?: string;
21
+ /** Called when the user taps the remove button */
22
+ onRemove?: () => void;
23
+ /** Additional style applied to the card container */
24
+ style?: StyleProp<ViewStyle>;
25
+ /** Test identifier for automated testing */
26
+ testID?: string;
27
+ }
28
+ export declare const FileCard: ({ filename, detail, caption, mimeType, thumbnailUri, onRemove, style, testID, }: FileCardProps) => React.JSX.Element;
29
+ //# sourceMappingURL=FileCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCard.d.ts","sourceRoot":"","sources":["../../../src/components/FileCard/FileCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,eAAO,MAAM,QAAQ,GAAI,iFAStB,aAAa,sBAkEf,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * FileCard — compact file row used in the file-mode MediaPicker.
3
+ *
4
+ * Shows a 50 × 50 icon area (file-type icon or image thumbnail) on the left,
5
+ * and a filename + detail/caption metadata block on the right.
6
+ * Supported mime types: video/*, application/pdf, image/* (thumbnail or icon).
7
+ */
8
+ import React from 'react';
9
+ import { Image, Pressable, StyleSheet, Text, View } from 'react-native';
10
+ import { File, FilePdf, Images, Trash, VideoCamera } from 'phosphor-react-native';
11
+ import { useTheme } from '../../context/ThemeContext';
12
+ import { Card } from '../Card';
13
+ import { styles } from './FileCard.styles';
14
+ // ---------------------------------------------------------------------------
15
+ // Helpers
16
+ // ---------------------------------------------------------------------------
17
+ const getFileIcon = (mimeType, color) => {
18
+ if (!mimeType)
19
+ return <File size={38} weight="duotone" color={color}/>;
20
+ if (mimeType.startsWith('video/'))
21
+ return <VideoCamera size={38} weight="duotone" color={color}/>;
22
+ if (mimeType === 'application/pdf')
23
+ return <FilePdf size={38} weight="duotone" color={color}/>;
24
+ if (mimeType.startsWith('image/'))
25
+ return <Images size={38} weight="duotone" color={color}/>;
26
+ return <File size={38} weight="duotone" color={color}/>;
27
+ };
28
+ // ---------------------------------------------------------------------------
29
+ // Component
30
+ // ---------------------------------------------------------------------------
31
+ export const FileCard = ({ filename, detail, caption, mimeType, thumbnailUri, onRemove, style, testID, }) => {
32
+ const { colors, fontFamily } = useTheme();
33
+ const fc = colors.mediaPicker.fileCard;
34
+ const hasMeta = detail != null || caption != null;
35
+ return (<Card style={[
36
+ styles.cardOverride,
37
+ {
38
+ backgroundColor: fc.background,
39
+ borderColor: fc.border,
40
+ },
41
+ style,
42
+ ]} testID={testID}>
43
+ {/* Icon / thumbnail area */}
44
+ <View style={[styles.iconArea, { backgroundColor: fc.iconBackground }]}>
45
+ {thumbnailUri ? (<Image source={{ uri: thumbnailUri }} style={StyleSheet.absoluteFillObject} resizeMode="cover"/>) : (getFileIcon(mimeType, fc.icon))}
46
+ </View>
47
+
48
+ {/* Text block */}
49
+ <View style={styles.textBlock}>
50
+ <Text style={[styles.filename, { color: fc.text, fontFamily }]} numberOfLines={1}>
51
+ {filename}
52
+ </Text>
53
+ {hasMeta && (<View style={styles.metaRow}>
54
+ {detail != null && (<Text style={[styles.meta, { color: fc.text, fontFamily }]}>{detail}</Text>)}
55
+ {detail != null && caption != null && (<View style={[styles.bullet, { backgroundColor: fc.text }]}/>)}
56
+ {caption != null && (<Text style={[styles.meta, { color: fc.text, fontFamily }]}>{caption}</Text>)}
57
+ </View>)}
58
+ </View>
59
+
60
+ {/* Remove button */}
61
+ {onRemove != null && (<Pressable onPress={onRemove} hitSlop={8} testID="file-card-remove" style={({ pressed }) => [styles.removeBtn, pressed && styles.removeBtnPressed]} accessibilityRole="button" accessibilityLabel="Supprimer le fichier">
62
+ <Trash size={18} weight="duotone" color={fc.text}/>
63
+ </Pressable>)}
64
+ </Card>);
65
+ };
66
+ //# sourceMappingURL=FileCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCard.js","sourceRoot":"","sources":["../../../src/components/FileCard/FileCard.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\n * FileCard — compact file row used in the file-mode MediaPicker.\n *\n * Shows a 50 × 50 icon area (file-type icon or image thumbnail) on the left,\n * and a filename + detail/caption metadata block on the right.\n * Supported mime types: video/*, application/pdf, image/* (thumbnail or icon).\n */\nimport React from 'react';\nimport { Image, Pressable, StyleSheet, Text, View } from 'react-native';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { File, FilePdf, Images, Trash, VideoCamera } from 'phosphor-react-native';\nimport { useTheme } from '../../context/ThemeContext';\nimport { Card } from '../Card';\nimport { styles } from './FileCard.styles';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\nexport interface FileCardProps {\n /** Display file name (e.g. \"vid_120426_kq7a65.mp4\") */\n filename: string;\n /** First secondary text, shown left of the bullet (e.g. \"4.3 Mo\") */\n detail?: string;\n /** Second secondary text, shown right of the bullet (e.g. \"17/04/2026\") */\n caption?: string;\n /** MIME type — drives the icon choice when no thumbnail is provided */\n mimeType?: string;\n /** Image thumbnail URI — fills the icon area if provided */\n thumbnailUri?: string;\n /** Called when the user taps the remove button */\n onRemove?: () => void;\n /** Additional style applied to the card container */\n style?: StyleProp<ViewStyle>;\n /** Test identifier for automated testing */\n testID?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nconst getFileIcon = (\n mimeType: string | undefined,\n color: string,\n): React.ReactElement => {\n if (!mimeType) return <File size={38} weight=\"duotone\" color={color} />;\n if (mimeType.startsWith('video/')) return <VideoCamera size={38} weight=\"duotone\" color={color} />;\n if (mimeType === 'application/pdf') return <FilePdf size={38} weight=\"duotone\" color={color} />;\n if (mimeType.startsWith('image/')) return <Images size={38} weight=\"duotone\" color={color} />;\n return <File size={38} weight=\"duotone\" color={color} />;\n};\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport const FileCard = ({\n filename,\n detail,\n caption,\n mimeType,\n thumbnailUri,\n onRemove,\n style,\n testID,\n}: FileCardProps) => {\n const { colors, fontFamily } = useTheme();\n const fc = colors.mediaPicker.fileCard;\n\n const hasMeta = detail != null || caption != null;\n\n return (\n <Card\n style={[\n styles.cardOverride,\n {\n backgroundColor: fc.background,\n borderColor: fc.border,\n },\n style,\n ]}\n testID={testID}\n >\n {/* Icon / thumbnail area */}\n <View style={[styles.iconArea, { backgroundColor: fc.iconBackground }]}>\n {thumbnailUri ? (\n <Image\n source={{ uri: thumbnailUri }}\n style={StyleSheet.absoluteFillObject}\n resizeMode=\"cover\"\n />\n ) : (\n getFileIcon(mimeType, fc.icon)\n )}\n </View>\n\n {/* Text block */}\n <View style={styles.textBlock}>\n <Text style={[styles.filename, { color: fc.text, fontFamily }]} numberOfLines={1}>\n {filename}\n </Text>\n {hasMeta && (\n <View style={styles.metaRow}>\n {detail != null && (\n <Text style={[styles.meta, { color: fc.text, fontFamily }]}>{detail}</Text>\n )}\n {detail != null && caption != null && (\n <View style={[styles.bullet, { backgroundColor: fc.text }]} />\n )}\n {caption != null && (\n <Text style={[styles.meta, { color: fc.text, fontFamily }]}>{caption}</Text>\n )}\n </View>\n )}\n </View>\n\n {/* Remove button */}\n {onRemove != null && (\n <Pressable\n onPress={onRemove}\n hitSlop={8}\n testID=\"file-card-remove\"\n style={({ pressed }) => [styles.removeBtn, pressed && styles.removeBtnPressed]}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Supprimer le fichier\"\n >\n <Trash size={18} weight=\"duotone\" color={fc.text} />\n </Pressable>\n )}\n </Card>\n );\n};\n\n"]}
@@ -0,0 +1,54 @@
1
+ export declare const styles: {
2
+ cardOverride: {
3
+ flexDirection: "row";
4
+ alignItems: "flex-start";
5
+ gap: number;
6
+ padding: number;
7
+ borderRadius: number;
8
+ overflow: "hidden";
9
+ };
10
+ iconArea: {
11
+ width: number;
12
+ height: number;
13
+ borderRadius: number;
14
+ alignItems: "center";
15
+ justifyContent: "center";
16
+ flexShrink: number;
17
+ overflow: "hidden";
18
+ };
19
+ textBlock: {
20
+ flex: number;
21
+ alignSelf: "stretch";
22
+ justifyContent: "space-between";
23
+ minWidth: number;
24
+ };
25
+ filename: {
26
+ fontSize: number;
27
+ fontWeight: "600";
28
+ lineHeight: number;
29
+ };
30
+ metaRow: {
31
+ flexDirection: "row";
32
+ alignItems: "center";
33
+ gap: number;
34
+ };
35
+ meta: {
36
+ fontSize: number;
37
+ fontWeight: "500";
38
+ lineHeight: number;
39
+ };
40
+ bullet: {
41
+ width: number;
42
+ height: number;
43
+ borderRadius: number;
44
+ };
45
+ removeBtn: {
46
+ alignSelf: "center";
47
+ padding: number;
48
+ borderRadius: number;
49
+ };
50
+ removeBtnPressed: {
51
+ opacity: number;
52
+ };
53
+ };
54
+ //# sourceMappingURL=FileCard.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCard.styles.d.ts","sourceRoot":"","sources":["../../../src/components/FileCard/FileCard.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDjB,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { StyleSheet } from 'react-native';
2
+ export const styles = StyleSheet.create({
3
+ // Overrides on top of Card base (borderRadius, padding, layout)
4
+ cardOverride: {
5
+ flexDirection: 'row',
6
+ alignItems: 'flex-start',
7
+ gap: 10,
8
+ padding: 10,
9
+ borderRadius: 6,
10
+ overflow: 'hidden',
11
+ },
12
+ iconArea: {
13
+ width: 50,
14
+ height: 50,
15
+ borderRadius: 4,
16
+ alignItems: 'center',
17
+ justifyContent: 'center',
18
+ flexShrink: 0,
19
+ overflow: 'hidden',
20
+ },
21
+ textBlock: {
22
+ flex: 1,
23
+ alignSelf: 'stretch',
24
+ justifyContent: 'space-between',
25
+ minWidth: 0,
26
+ },
27
+ filename: {
28
+ fontSize: 16,
29
+ fontWeight: '600',
30
+ lineHeight: 24,
31
+ },
32
+ metaRow: {
33
+ flexDirection: 'row',
34
+ alignItems: 'center',
35
+ gap: 6,
36
+ },
37
+ meta: {
38
+ fontSize: 14,
39
+ fontWeight: '500',
40
+ lineHeight: 20,
41
+ },
42
+ bullet: {
43
+ width: 3,
44
+ height: 3,
45
+ borderRadius: 9999,
46
+ },
47
+ removeBtn: {
48
+ alignSelf: 'center',
49
+ padding: 4,
50
+ borderRadius: 6,
51
+ },
52
+ removeBtnPressed: {
53
+ opacity: 0.5,
54
+ },
55
+ });
56
+ //# sourceMappingURL=FileCard.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCard.styles.js","sourceRoot":"","sources":["../../../src/components/FileCard/FileCard.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACtC,gEAAgE;IAChE,YAAY,EAAE;QACZ,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,YAAY;QACxB,GAAG,EAAE,EAAE;QACP,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,CAAC;QACf,QAAQ,EAAE,QAAQ;KACnB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,QAAQ;KACnB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,SAAS,EAAE,SAAS;QACpB,cAAc,EAAE,eAAe;QAC/B,QAAQ,EAAE,CAAC;KACZ;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,GAAG,EAAE,CAAC;KACP;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,EAAE;KACf;IACD,MAAM,EAAE;QACN,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,YAAY,EAAE,IAAI;KACnB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;KAChB;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,GAAG;KACb;CACF,CAAC,CAAC","sourcesContent":["import { StyleSheet } from 'react-native';\n\nexport const styles = StyleSheet.create({\n // Overrides on top of Card base (borderRadius, padding, layout)\n cardOverride: {\n flexDirection: 'row',\n alignItems: 'flex-start',\n gap: 10,\n padding: 10,\n borderRadius: 6,\n overflow: 'hidden',\n },\n iconArea: {\n width: 50,\n height: 50,\n borderRadius: 4,\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n overflow: 'hidden',\n },\n textBlock: {\n flex: 1,\n alignSelf: 'stretch',\n justifyContent: 'space-between',\n minWidth: 0,\n },\n filename: {\n fontSize: 16,\n fontWeight: '600',\n lineHeight: 24,\n },\n metaRow: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 6,\n },\n meta: {\n fontSize: 14,\n fontWeight: '500',\n lineHeight: 20,\n },\n bullet: {\n width: 3,\n height: 3,\n borderRadius: 9999,\n },\n removeBtn: {\n alignSelf: 'center',\n padding: 4,\n borderRadius: 6,\n },\n removeBtnPressed: {\n opacity: 0.5,\n },\n});\n"]}
@@ -0,0 +1,3 @@
1
+ export { FileCard } from './FileCard';
2
+ export type { FileCardProps } from './FileCard';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { FileCard } from './FileCard';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FileCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC","sourcesContent":["export { FileCard } from './FileCard';\nexport type { FileCardProps } from './FileCard';\n"]}
@@ -23,6 +23,10 @@ export interface FilterChipProps {
23
23
  onPress?: () => void;
24
24
  /** Additional container styles */
25
25
  style?: StyleProp<ViewStyle>;
26
+ /** Accessibility label for screen readers — defaults to label when omitted */
27
+ accessibilityLabel?: string;
28
+ /** Test identifier */
29
+ testID?: string;
26
30
  }
27
- export declare function FilterChip({ type, selected, disabled, label, iconLeft, iconRight, onPress, style, }: FilterChipProps): React.JSX.Element;
31
+ export declare function FilterChip({ type, selected, disabled, label, iconLeft, iconRight, onPress, style, accessibilityLabel, testID, }: FilterChipProps): React.JSX.Element;
28
32
  //# sourceMappingURL=FilterChip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChip.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/FilterChip.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAwBD,wBAAgB,UAAU,CAAC,EACzB,IAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,GACN,EAAE,eAAe,qBA6DjB"}
1
+ {"version":3,"file":"FilterChip.d.ts","sourceRoot":"","sources":["../../../src/components/FilterChip/FilterChip.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAA2B,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,WAAW,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC9B,mDAAmD;IACnD,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IAC/B,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,kCAAkC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD,wBAAgB,UAAU,CAAC,EACzB,IAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,KAAK,EACL,kBAAkB,EAClB,MAAM,GACP,EAAE,eAAe,qBAkGjB"}
@@ -2,21 +2,33 @@
2
2
  * FilterChip component — pill-shaped selection chip for filters.
3
3
  * Supports icon-only and icon+text layouts with controlled selection state.
4
4
  */
5
- import React, { useState } from 'react';
6
- import { Pressable, Text, View } from 'react-native';
5
+ import React, { useRef, useState } from 'react';
6
+ import { Animated, Pressable, Text, View } from 'react-native';
7
7
  import { useTheme } from '../../context/ThemeContext';
8
- const STATE_TOKENS = {
9
- default: { background: 'transparent', text: '#28242e', icon: '#28242e', borderColor: '#afafad80', borderWidth: 1 },
10
- pressed: { background: '#d1c3a066', text: '#28242e', icon: '#28242e', borderColor: '#afafad80', borderWidth: 1 },
11
- selected: { background: 'transparent', text: '#28242e', icon: '#28242e', borderColor: '#28242e', borderWidth: 2 },
12
- disabled: { background: '#0f0f0f0d', text: '#0f0f0f99', icon: '#0f0f0f99', borderColor: '#0f0f0f1a', borderWidth: 1 },
8
+ const BORDER_WIDTH = {
9
+ default: 1,
10
+ pressed: 1,
11
+ selected: 2,
12
+ disabled: 1,
13
13
  };
14
14
  const ICON_LEFT_SIZE = 20;
15
15
  const ICON_RIGHT_SIZE = 16;
16
16
  // --- Component ---
17
- export function FilterChip({ type = 'icon-text', selected = false, disabled = false, label, iconLeft, iconRight, onPress, style, }) {
17
+ export function FilterChip({ type = 'icon-text', selected = false, disabled = false, label, iconLeft, iconRight, onPress, style, accessibilityLabel, testID, }) {
18
18
  const [internalPressed, setInternalPressed] = useState(false);
19
- useTheme(); // consumed for future theme-aware tokens
19
+ const pressAnim = useRef(new Animated.Value(0)).current;
20
+ const { colors, fontFamily } = useTheme();
21
+ const handlePressIn = () => {
22
+ setInternalPressed(true);
23
+ Animated.timing(pressAnim, { toValue: 0.5, duration: 80, useNativeDriver: true }).start();
24
+ };
25
+ const handlePressOut = () => {
26
+ setInternalPressed(false);
27
+ Animated.timing(pressAnim, { toValue: 0, duration: 180, useNativeDriver: true }).start();
28
+ };
29
+ // Background driven by selected/disabled only — press overlay handles the press visual
30
+ const bgState = disabled ? 'disabled' : selected ? 'selected' : 'default';
31
+ const bgTokens = colors.filterChip[bgState];
20
32
  const resolvedState = disabled
21
33
  ? 'disabled'
22
34
  : internalPressed
@@ -24,26 +36,42 @@ export function FilterChip({ type = 'icon-text', selected = false, disabled = fa
24
36
  : selected
25
37
  ? 'selected'
26
38
  : 'default';
27
- const tokens = STATE_TOKENS[resolvedState];
39
+ const tokens = colors.filterChip[resolvedState];
40
+ const borderWidth = BORDER_WIDTH[resolvedState];
28
41
  const isIconOnly = type === 'icon';
29
- const chipStyle = {
30
- height: 32,
31
- borderRadius: 100,
32
- paddingVertical: 6,
33
- paddingHorizontal: isIconOnly ? 6 : 12,
34
- flexDirection: 'row',
35
- alignItems: 'center',
36
- gap: isIconOnly ? 0 : 4,
37
- backgroundColor: tokens.background,
38
- borderWidth: tokens.borderWidth,
39
- borderColor: tokens.borderColor,
40
- alignSelf: 'flex-start',
41
- };
42
+ // height: 32 is always fixed so vertical size never changes regardless of borderWidth.
43
+ // For icon-only: width: 32 too (perfect circle).
44
+ // For text: paddingHorizontal compensated by (borderWidth - 1) so horizontal size stays constant.
45
+ const chipStyle = isIconOnly
46
+ ? {
47
+ width: 32,
48
+ height: 32,
49
+ borderRadius: 100,
50
+ alignItems: 'center',
51
+ justifyContent: 'center',
52
+ backgroundColor: bgTokens.background,
53
+ borderWidth,
54
+ borderColor: tokens.borderColor,
55
+ overflow: 'hidden',
56
+ }
57
+ : {
58
+ height: 32,
59
+ borderRadius: 100,
60
+ paddingHorizontal: 12 - (borderWidth - 1),
61
+ flexDirection: 'row',
62
+ alignItems: 'center',
63
+ gap: 4,
64
+ backgroundColor: bgTokens.background,
65
+ borderWidth,
66
+ borderColor: tokens.borderColor,
67
+ alignSelf: 'flex-start',
68
+ overflow: 'hidden',
69
+ };
42
70
  const textStyle = {
43
71
  color: tokens.text,
44
72
  fontSize: 14,
45
73
  lineHeight: 20,
46
- fontFamily: 'Urbanist',
74
+ fontFamily,
47
75
  fontWeight: '500',
48
76
  };
49
77
  const cloneIcon = (icon, size) => {
@@ -55,8 +83,10 @@ export function FilterChip({ type = 'icon-text', selected = false, disabled = fa
55
83
  ...icon.props,
56
84
  });
57
85
  };
58
- return (<Pressable pointerEvents={disabled ? 'none' : 'auto'} onPressIn={() => setInternalPressed(true)} onPressOut={() => setInternalPressed(false)} onPress={disabled ? undefined : onPress} style={[{ paddingVertical: 6 }, style]}>
86
+ return (<Pressable pointerEvents={disabled ? 'none' : 'auto'} onPressIn={handlePressIn} onPressOut={handlePressOut} onPress={disabled ? undefined : onPress} style={[{ paddingVertical: 6 }, style]} accessibilityRole="button" accessibilityLabel={accessibilityLabel ?? label} accessibilityState={{ selected, disabled }} testID={testID}>
59
87
  <View style={chipStyle}>
88
+ {/* Press background overlay — fades in/out via opacity animation */}
89
+ <Animated.View style={[{ position: 'absolute', top: 0, left: 0, right: 0, bottom: 0 }, { backgroundColor: colors.filterChip.pressed.background, opacity: pressAnim }]}/>
60
90
  {cloneIcon(iconLeft, ICON_LEFT_SIZE)}
61
91
  {!isIconOnly && label != null && <Text style={textStyle}>{label}</Text>}
62
92
  {cloneIcon(iconRight, ICON_RIGHT_SIZE)}