@dsfrkit/react 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/README.md +115 -0
  2. package/dist/artwork-B3QGyilb.d.mts +156 -0
  3. package/dist/artwork-B3QGyilb.d.ts +156 -0
  4. package/dist/artwork-CW2iQ_23.d.mts +171 -0
  5. package/dist/artwork-CW2iQ_23.d.ts +171 -0
  6. package/dist/chunk-23I7BDV6.mjs +39 -0
  7. package/dist/chunk-24DYKVTR.mjs +144 -0
  8. package/dist/chunk-2BB27XUW.mjs +65 -0
  9. package/dist/chunk-2BJMVHYD.mjs +137 -0
  10. package/dist/chunk-2EW2GCGT.mjs +137 -0
  11. package/dist/chunk-2HZIFFGX.mjs +144 -0
  12. package/dist/chunk-2LHWW7HN.mjs +114 -0
  13. package/dist/chunk-2LXQNL5D.mjs +113 -0
  14. package/dist/chunk-2NH3AUHW.mjs +79 -0
  15. package/dist/chunk-2PJ4EU56.mjs +203 -0
  16. package/dist/chunk-2QH4KMWT.mjs +8 -0
  17. package/dist/chunk-2RNER4KC.mjs +144 -0
  18. package/dist/chunk-2U3S73BF.mjs +8 -0
  19. package/dist/chunk-2V722J6M.mjs +8 -0
  20. package/dist/chunk-37CO3FHD.mjs +125 -0
  21. package/dist/chunk-3BTPUF5K.mjs +144 -0
  22. package/dist/chunk-3GBCT2U3.mjs +156 -0
  23. package/dist/chunk-3HHH4GMH.mjs +110 -0
  24. package/dist/chunk-3IMYMASJ.mjs +194 -0
  25. package/dist/chunk-3J555ZVB.mjs +122 -0
  26. package/dist/chunk-3JFXRCOL.mjs +1 -0
  27. package/dist/chunk-3JUY36HV.mjs +127 -0
  28. package/dist/chunk-3THML6BJ.mjs +22 -0
  29. package/dist/chunk-3VPGNSKX.mjs +834 -0
  30. package/dist/chunk-3YSDF6VX.mjs +221 -0
  31. package/dist/chunk-43XOENR2.mjs +53 -0
  32. package/dist/chunk-43ZFDH2Q.mjs +122 -0
  33. package/dist/chunk-44UGQHBU.mjs +166 -0
  34. package/dist/chunk-474LZSO7.mjs +122 -0
  35. package/dist/chunk-4KCVV4LR.mjs +156 -0
  36. package/dist/chunk-4LGWCPN4.mjs +92 -0
  37. package/dist/chunk-4LVHKND5.mjs +129 -0
  38. package/dist/chunk-4NU2XZIG.mjs +137 -0
  39. package/dist/chunk-4PA73RZ4.mjs +221 -0
  40. package/dist/chunk-4UBXW6O2.mjs +63 -0
  41. package/dist/chunk-4ZFM6M7C.mjs +127 -0
  42. package/dist/chunk-52BJN7DC.mjs +504 -0
  43. package/dist/chunk-53M2BTB5.mjs +22 -0
  44. package/dist/chunk-552MR22F.mjs +93 -0
  45. package/dist/chunk-57DNFR54.mjs +92 -0
  46. package/dist/chunk-5FHDLYYI.mjs +200 -0
  47. package/dist/chunk-5I2Y5M2K.mjs +514 -0
  48. package/dist/chunk-5IJLRY6P.mjs +504 -0
  49. package/dist/chunk-5IQADW3H.mjs +82 -0
  50. package/dist/chunk-5MEHDSPX.mjs +137 -0
  51. package/dist/chunk-5OYV672H.mjs +122 -0
  52. package/dist/chunk-5TQ2XLQH.mjs +91 -0
  53. package/dist/chunk-5WNMRXFG.mjs +137 -0
  54. package/dist/chunk-5ZBE6TNA.mjs +137 -0
  55. package/dist/chunk-5ZNBGCHW.mjs +105 -0
  56. package/dist/chunk-6AVQRAR3.mjs +729 -0
  57. package/dist/chunk-6BGCPIW7.mjs +127 -0
  58. package/dist/chunk-6BOEMNY4.mjs +94 -0
  59. package/dist/chunk-6FCPWBF2.mjs +137 -0
  60. package/dist/chunk-6HDE47EI.mjs +141 -0
  61. package/dist/chunk-6OSSG7EX.mjs +291 -0
  62. package/dist/chunk-6U5FC3RG.mjs +85 -0
  63. package/dist/chunk-6XZ4GBJ6.mjs +83 -0
  64. package/dist/chunk-6YGKYFPL.mjs +137 -0
  65. package/dist/chunk-6Z77GLN6.mjs +72 -0
  66. package/dist/chunk-6ZP4SKO6.mjs +144 -0
  67. package/dist/chunk-6ZWOOE2S.mjs +60 -0
  68. package/dist/chunk-762QFXXR.mjs +141 -0
  69. package/dist/chunk-76L74JUY.mjs +115 -0
  70. package/dist/chunk-76VC5YPU.mjs +113 -0
  71. package/dist/chunk-7BWEILU6.mjs +95 -0
  72. package/dist/chunk-7DGUHXUB.mjs +156 -0
  73. package/dist/chunk-7DTPT7EQ.mjs +220 -0
  74. package/dist/chunk-7FDDD5IV.mjs +203 -0
  75. package/dist/chunk-7H6WDKNO.mjs +141 -0
  76. package/dist/chunk-7KDRU2XY.mjs +145 -0
  77. package/dist/chunk-7QZTUZPL.mjs +137 -0
  78. package/dist/chunk-7REZ747L.mjs +122 -0
  79. package/dist/chunk-7RV4WZVM.mjs +203 -0
  80. package/dist/chunk-7VT2ZJBR.mjs +122 -0
  81. package/dist/chunk-7XPLI6X6.mjs +129 -0
  82. package/dist/chunk-7XYNKZWU.mjs +32 -0
  83. package/dist/chunk-A5OCX7PW.mjs +141 -0
  84. package/dist/chunk-A734PEYB.mjs +20 -0
  85. package/dist/chunk-ACBEJHSN.mjs +89 -0
  86. package/dist/chunk-ADRORWCA.mjs +95 -0
  87. package/dist/chunk-AGELEW5Q.mjs +121 -0
  88. package/dist/chunk-AGFBCPPH.mjs +78 -0
  89. package/dist/chunk-AHDHVUSU.mjs +105 -0
  90. package/dist/chunk-AKXX5JM5.mjs +122 -0
  91. package/dist/chunk-AM2FMPVS.mjs +299 -0
  92. package/dist/chunk-AMLQ6RI2.mjs +72 -0
  93. package/dist/chunk-ARTXTVIX.mjs +156 -0
  94. package/dist/chunk-ARZVIKN2.mjs +114 -0
  95. package/dist/chunk-ATLMREKL.mjs +117 -0
  96. package/dist/chunk-AVN6NSOQ.mjs +504 -0
  97. package/dist/chunk-AWOTVASU.mjs +82 -0
  98. package/dist/chunk-AZWGY2SR.mjs +101 -0
  99. package/dist/chunk-B5T4EO6N.mjs +122 -0
  100. package/dist/chunk-BDPEOSAY.mjs +80 -0
  101. package/dist/chunk-BHUY7ML7.mjs +95 -0
  102. package/dist/chunk-BMGFO5X6.mjs +127 -0
  103. package/dist/chunk-BRDUOWC4.mjs +385 -0
  104. package/dist/chunk-BRX2NAAS.mjs +52 -0
  105. package/dist/chunk-BTFAMY6E.mjs +65 -0
  106. package/dist/chunk-C4BBQTZ3.mjs +20 -0
  107. package/dist/chunk-CEFGBZXZ.mjs +165 -0
  108. package/dist/chunk-CF6SPRDA.mjs +56 -0
  109. package/dist/chunk-CIOYPW7H.mjs +137 -0
  110. package/dist/chunk-CVGHZFZK.mjs +117 -0
  111. package/dist/chunk-D4XAI2WD.mjs +65 -0
  112. package/dist/chunk-DAECVI5O.mjs +113 -0
  113. package/dist/chunk-DD7O3SCJ.mjs +144 -0
  114. package/dist/chunk-DDQTQ7Z2.mjs +172 -0
  115. package/dist/chunk-DGYJH7JG.mjs +259 -0
  116. package/dist/chunk-DLRDFCPW.mjs +60 -0
  117. package/dist/chunk-DN67LFQR.mjs +81 -0
  118. package/dist/chunk-DOXA63UH.mjs +504 -0
  119. package/dist/chunk-DSU6MKPW.mjs +137 -0
  120. package/dist/chunk-DTK5B22N.mjs +65 -0
  121. package/dist/chunk-DTOWE2MA.mjs +89 -0
  122. package/dist/chunk-DUXLKXFH.mjs +91 -0
  123. package/dist/chunk-DW62DTCF.mjs +87 -0
  124. package/dist/chunk-DWGELT6B.mjs +21 -0
  125. package/dist/chunk-DX4476KH.mjs +831 -0
  126. package/dist/chunk-E63ZEQE4.mjs +732 -0
  127. package/dist/chunk-EA3TIJMP.mjs +196 -0
  128. package/dist/chunk-EA5VCJ4G.mjs +85 -0
  129. package/dist/chunk-EAZ6NHW3.mjs +141 -0
  130. package/dist/chunk-EBDDPXU3.mjs +122 -0
  131. package/dist/chunk-ELEGVKVJ.mjs +122 -0
  132. package/dist/chunk-EX3RF7CE.mjs +294 -0
  133. package/dist/chunk-EXL24QAL.mjs +95 -0
  134. package/dist/chunk-F3W67E3Q.mjs +22 -0
  135. package/dist/chunk-F4A4IDZT.mjs +116 -0
  136. package/dist/chunk-FA7MQI6D.mjs +36 -0
  137. package/dist/chunk-FDFTH2OA.mjs +90 -0
  138. package/dist/chunk-FDRHBZZC.mjs +144 -0
  139. package/dist/chunk-FG3S54WT.mjs +211 -0
  140. package/dist/chunk-FI3PDDER.mjs +122 -0
  141. package/dist/chunk-FIXSMDQ7.mjs +141 -0
  142. package/dist/chunk-FK6JIEEN.mjs +516 -0
  143. package/dist/chunk-FL5D63D7.mjs +71 -0
  144. package/dist/chunk-FMWN44M7.mjs +92 -0
  145. package/dist/chunk-FNJYYQWC.mjs +60 -0
  146. package/dist/chunk-FNW7PJBZ.mjs +64 -0
  147. package/dist/chunk-FNWRRTCO.mjs +39 -0
  148. package/dist/chunk-FW4K4W3K.mjs +141 -0
  149. package/dist/chunk-GERPY3SW.mjs +63 -0
  150. package/dist/chunk-GKDVJ2TL.mjs +95 -0
  151. package/dist/chunk-GLRU4LYS.mjs +504 -0
  152. package/dist/chunk-GVW4A5MT.mjs +60 -0
  153. package/dist/chunk-GXJ5KSWO.mjs +165 -0
  154. package/dist/chunk-GZGPV2GH.mjs +122 -0
  155. package/dist/chunk-H3MN7LXP.mjs +36 -0
  156. package/dist/chunk-H7FFO2UX.mjs +121 -0
  157. package/dist/chunk-H7PNKXKX.mjs +56 -0
  158. package/dist/chunk-HAAWMTFK.mjs +98 -0
  159. package/dist/chunk-HFWOG3A4.mjs +137 -0
  160. package/dist/chunk-HGZHZHVX.mjs +47 -0
  161. package/dist/chunk-HP6JAQYJ.mjs +94 -0
  162. package/dist/chunk-HU4E64GQ.mjs +71 -0
  163. package/dist/chunk-HVKU5XVM.mjs +53 -0
  164. package/dist/chunk-HXQU5KQU.mjs +95 -0
  165. package/dist/chunk-IFYYNQ45.mjs +58 -0
  166. package/dist/chunk-IHMJCY2Z.mjs +87 -0
  167. package/dist/chunk-IHWNEZFG.mjs +36 -0
  168. package/dist/chunk-IM6BEVG6.mjs +71 -0
  169. package/dist/chunk-INM7YQKC.mjs +127 -0
  170. package/dist/chunk-IOD6W4YR.mjs +127 -0
  171. package/dist/chunk-IRDSRZ6X.mjs +62 -0
  172. package/dist/chunk-ITVUL6I2.mjs +98 -0
  173. package/dist/chunk-JAJOT3LV.mjs +87 -0
  174. package/dist/chunk-JAWTBRNS.mjs +122 -0
  175. package/dist/chunk-JR35S45U.mjs +22 -0
  176. package/dist/chunk-JWP5ZC5R.mjs +122 -0
  177. package/dist/chunk-JXBXEIER.mjs +126 -0
  178. package/dist/chunk-KCTGBTKI.mjs +145 -0
  179. package/dist/chunk-KEVX5SBT.mjs +221 -0
  180. package/dist/chunk-KFCM7PTR.mjs +98 -0
  181. package/dist/chunk-KIIWOL5Y.mjs +144 -0
  182. package/dist/chunk-KJ22LZMS.mjs +122 -0
  183. package/dist/chunk-KLJX3KQD.mjs +291 -0
  184. package/dist/chunk-KLMBFT3I.mjs +137 -0
  185. package/dist/chunk-KQPVSMIE.mjs +119 -0
  186. package/dist/chunk-KSK2RMP2.mjs +91 -0
  187. package/dist/chunk-KVVAUT3G.mjs +104 -0
  188. package/dist/chunk-KYKGI5BT.mjs +29 -0
  189. package/dist/chunk-L56KCHUI.mjs +116 -0
  190. package/dist/chunk-L65SLADH.mjs +137 -0
  191. package/dist/chunk-LASIEVVD.mjs +185 -0
  192. package/dist/chunk-LCTUVPNY.mjs +297 -0
  193. package/dist/chunk-LNHBVSNL.mjs +60 -0
  194. package/dist/chunk-LO5DFSJW.mjs +145 -0
  195. package/dist/chunk-LZRZUFF7.mjs +145 -0
  196. package/dist/chunk-M2LTIUBU.mjs +122 -0
  197. package/dist/chunk-M3KPXPDL.mjs +29 -0
  198. package/dist/chunk-M4PKDGE6.mjs +84 -0
  199. package/dist/chunk-M5SSDTTI.mjs +144 -0
  200. package/dist/chunk-MEJPZHAU.mjs +137 -0
  201. package/dist/chunk-ML7LO7IA.mjs +117 -0
  202. package/dist/chunk-MMILCSIS.mjs +228 -0
  203. package/dist/chunk-MNRZGIJQ.mjs +71 -0
  204. package/dist/chunk-MR6L2TFX.mjs +108 -0
  205. package/dist/chunk-MSNX3AR7.mjs +77 -0
  206. package/dist/chunk-MTLKC5UG.mjs +52 -0
  207. package/dist/chunk-MVEJMLQV.mjs +121 -0
  208. package/dist/chunk-MXMPDB4C.mjs +115 -0
  209. package/dist/chunk-N4RS42JQ.mjs +95 -0
  210. package/dist/chunk-N57TKKRF.mjs +156 -0
  211. package/dist/chunk-NF7PDBLJ.mjs +137 -0
  212. package/dist/chunk-NFEGQZI6.mjs +137 -0
  213. package/dist/chunk-NFXJSDUN.mjs +141 -0
  214. package/dist/chunk-NIWPLXZV.mjs +156 -0
  215. package/dist/chunk-NLA4YXGL.mjs +514 -0
  216. package/dist/chunk-NMLAW5NT.mjs +122 -0
  217. package/dist/chunk-NR66XXLN.mjs +156 -0
  218. package/dist/chunk-NRMIWRV6.mjs +297 -0
  219. package/dist/chunk-NWFMBDRM.mjs +24 -0
  220. package/dist/chunk-NXDYVTFV.mjs +122 -0
  221. package/dist/chunk-O42L54HQ.mjs +64 -0
  222. package/dist/chunk-O6DX3UFY.mjs +144 -0
  223. package/dist/chunk-O6H6FK6Y.mjs +137 -0
  224. package/dist/chunk-OD2MYXSX.mjs +117 -0
  225. package/dist/chunk-OHDAB5RA.mjs +514 -0
  226. package/dist/chunk-OIVUFVD4.mjs +122 -0
  227. package/dist/chunk-OKNSXEYQ.mjs +23 -0
  228. package/dist/chunk-OODDZ36D.mjs +221 -0
  229. package/dist/chunk-OPSBOV67.mjs +103 -0
  230. package/dist/chunk-OR2S4A6H.mjs +95 -0
  231. package/dist/chunk-OSLWGGF7.mjs +206 -0
  232. package/dist/chunk-OTBJ3BDC.mjs +137 -0
  233. package/dist/chunk-OZ37V2CL.mjs +116 -0
  234. package/dist/chunk-OZVAPU5J.mjs +127 -0
  235. package/dist/chunk-P2PN6HBO.mjs +95 -0
  236. package/dist/chunk-P3RTX23Z.mjs +133 -0
  237. package/dist/chunk-P5JZQIOK.mjs +103 -0
  238. package/dist/chunk-P7R26T3Z.mjs +145 -0
  239. package/dist/chunk-PGTGRJXX.mjs +122 -0
  240. package/dist/chunk-POBPYPUF.mjs +112 -0
  241. package/dist/chunk-PWUDSGHY.mjs +503 -0
  242. package/dist/chunk-PYQP4S3P.mjs +121 -0
  243. package/dist/chunk-Q4X44C4L.mjs +144 -0
  244. package/dist/chunk-QADKEWBW.mjs +91 -0
  245. package/dist/chunk-QEJXAPVP.mjs +193 -0
  246. package/dist/chunk-QEXXBZLP.mjs +137 -0
  247. package/dist/chunk-QFDUI4JF.mjs +137 -0
  248. package/dist/chunk-QIRIOLSQ.mjs +36 -0
  249. package/dist/chunk-QKZKXMDP.mjs +116 -0
  250. package/dist/chunk-QM44OKQB.mjs +110 -0
  251. package/dist/chunk-QUDEY3ZC.mjs +184 -0
  252. package/dist/chunk-QXBXBOPT.mjs +14 -0
  253. package/dist/chunk-R3HLKKGQ.mjs +200 -0
  254. package/dist/chunk-R7Q3PWPD.mjs +138 -0
  255. package/dist/chunk-RE55YFSX.mjs +70 -0
  256. package/dist/chunk-RH2JCZ3S.mjs +144 -0
  257. package/dist/chunk-RIHKQMJZ.mjs +71 -0
  258. package/dist/chunk-RLESRYZ7.mjs +141 -0
  259. package/dist/chunk-RN7K57U3.mjs +108 -0
  260. package/dist/chunk-RPZ6KAGN.mjs +156 -0
  261. package/dist/chunk-RSK73346.mjs +507 -0
  262. package/dist/chunk-RSYSJQNC.mjs +156 -0
  263. package/dist/chunk-RVYMEMGV.mjs +141 -0
  264. package/dist/chunk-RWQEGPN3.mjs +47 -0
  265. package/dist/chunk-RXUR5LHG.mjs +221 -0
  266. package/dist/chunk-RZCB3IFV.mjs +151 -0
  267. package/dist/chunk-RZJMZDH6.mjs +24 -0
  268. package/dist/chunk-S6BMBKPF.mjs +108 -0
  269. package/dist/chunk-S6BOOCIS.mjs +82 -0
  270. package/dist/chunk-S72JYZ34.mjs +205 -0
  271. package/dist/chunk-SAMWUGZH.mjs +200 -0
  272. package/dist/chunk-SF72OO5J.mjs +141 -0
  273. package/dist/chunk-SGES2MH4.mjs +141 -0
  274. package/dist/chunk-SH42XLB3.mjs +126 -0
  275. package/dist/chunk-SHZX3OGO.mjs +89 -0
  276. package/dist/chunk-SJLOQ3VX.mjs +113 -0
  277. package/dist/chunk-SJSM5PK5.mjs +110 -0
  278. package/dist/chunk-SUCVL4AR.mjs +127 -0
  279. package/dist/chunk-SZOFVBTZ.mjs +9 -0
  280. package/dist/chunk-SZPASZJ7.mjs +137 -0
  281. package/dist/chunk-T26S5SRN.mjs +52 -0
  282. package/dist/chunk-TAPPN5PM.mjs +72 -0
  283. package/dist/chunk-TCLGXTVU.mjs +221 -0
  284. package/dist/chunk-TFWWQZZK.mjs +89 -0
  285. package/dist/chunk-TGMDRDFD.mjs +127 -0
  286. package/dist/chunk-THEZTSDO.mjs +122 -0
  287. package/dist/chunk-TNHL4DWX.mjs +116 -0
  288. package/dist/chunk-TNKFYE4G.mjs +30 -0
  289. package/dist/chunk-TR24H7UQ.mjs +95 -0
  290. package/dist/chunk-TTMH3FVZ.mjs +119 -0
  291. package/dist/chunk-TTQCH2X2.mjs +113 -0
  292. package/dist/chunk-TXZDAPDU.mjs +129 -0
  293. package/dist/chunk-TY4VNBLX.mjs +137 -0
  294. package/dist/chunk-U3P6M5T4.mjs +127 -0
  295. package/dist/chunk-U6OTBZMO.mjs +507 -0
  296. package/dist/chunk-UB6RKUH5.mjs +89 -0
  297. package/dist/chunk-UDUTTGR5.mjs +89 -0
  298. package/dist/chunk-UENEQHEN.mjs +506 -0
  299. package/dist/chunk-UGGMZF3C.mjs +87 -0
  300. package/dist/chunk-UMB7ZMKX.mjs +122 -0
  301. package/dist/chunk-UNL4F3FH.mjs +122 -0
  302. package/dist/chunk-UOP3WPZG.mjs +60 -0
  303. package/dist/chunk-UPBRQJAU.mjs +512 -0
  304. package/dist/chunk-UPPVJWBO.mjs +116 -0
  305. package/dist/chunk-UYFHSIC7.mjs +81 -0
  306. package/dist/chunk-UZJQAAOZ.mjs +108 -0
  307. package/dist/chunk-V2JDJALG.mjs +125 -0
  308. package/dist/chunk-V2YC7EE6.mjs +122 -0
  309. package/dist/chunk-V3UXNKVL.mjs +122 -0
  310. package/dist/chunk-V5FP5GDQ.mjs +95 -0
  311. package/dist/chunk-VCHYQYFB.mjs +503 -0
  312. package/dist/chunk-VJEJD4DF.mjs +52 -0
  313. package/dist/chunk-VL4PZ5RI.mjs +113 -0
  314. package/dist/chunk-VNGGNO3R.mjs +32 -0
  315. package/dist/chunk-VNWV6LZP.mjs +38 -0
  316. package/dist/chunk-VOQEOCHD.mjs +511 -0
  317. package/dist/chunk-VW33ORR4.mjs +301 -0
  318. package/dist/chunk-VZ6VFS3D.mjs +109 -0
  319. package/dist/chunk-W3SECUBG.mjs +14 -0
  320. package/dist/chunk-W5OZFHOX.mjs +193 -0
  321. package/dist/chunk-WCSWQVFA.mjs +96 -0
  322. package/dist/chunk-WELBZQP2.mjs +137 -0
  323. package/dist/chunk-WGJWOF4K.mjs +122 -0
  324. package/dist/chunk-WJUBYR25.mjs +122 -0
  325. package/dist/chunk-WKSLZG4X.mjs +122 -0
  326. package/dist/chunk-WO4BCKRI.mjs +145 -0
  327. package/dist/chunk-WRJ47AVE.mjs +136 -0
  328. package/dist/chunk-WWAEK25T.mjs +92 -0
  329. package/dist/chunk-X3N6PDZV.mjs +71 -0
  330. package/dist/chunk-X437NODC.mjs +122 -0
  331. package/dist/chunk-X4FBB2TI.mjs +32 -0
  332. package/dist/chunk-XAJVDNFJ.mjs +119 -0
  333. package/dist/chunk-XGIDLCZI.mjs +137 -0
  334. package/dist/chunk-XGPUTXJT.mjs +122 -0
  335. package/dist/chunk-XHSCOABH.mjs +138 -0
  336. package/dist/chunk-XRM6FF22.mjs +61 -0
  337. package/dist/chunk-XTG2CB35.mjs +122 -0
  338. package/dist/chunk-XX22JBNI.mjs +139 -0
  339. package/dist/chunk-Y2W5252F.mjs +515 -0
  340. package/dist/chunk-Y3UMAK4V.mjs +141 -0
  341. package/dist/chunk-Y4M4BHVP.mjs +106 -0
  342. package/dist/chunk-Y5TUAI6V.mjs +127 -0
  343. package/dist/chunk-Y6F7EJOV.mjs +129 -0
  344. package/dist/chunk-YCITYGTH.mjs +20 -0
  345. package/dist/chunk-YD3HHOXQ.mjs +120 -0
  346. package/dist/chunk-YE3IUCBS.mjs +81 -0
  347. package/dist/chunk-YG2I4KKR.mjs +156 -0
  348. package/dist/chunk-YQGPAXSD.mjs +24 -0
  349. package/dist/chunk-YSAEDU4W.mjs +137 -0
  350. package/dist/chunk-YSZMXNWH.mjs +30 -0
  351. package/dist/chunk-YW3ZBLND.mjs +8 -0
  352. package/dist/chunk-YZC2FQVP.mjs +78 -0
  353. package/dist/chunk-Z3MPWBBS.mjs +109 -0
  354. package/dist/chunk-Z3NBRL3F.mjs +108 -0
  355. package/dist/chunk-ZF5BUSKM.mjs +122 -0
  356. package/dist/chunk-ZF5CW4JH.mjs +91 -0
  357. package/dist/chunk-ZFUAZYLA.mjs +20 -0
  358. package/dist/chunk-ZJ7EMTGD.mjs +83 -0
  359. package/dist/chunk-ZPBOEUI7.mjs +56 -0
  360. package/dist/chunk-ZPFY4R5H.mjs +514 -0
  361. package/dist/chunk-ZRUMMJPO.mjs +127 -0
  362. package/dist/chunk-ZTLWJFDN.mjs +110 -0
  363. package/dist/chunk-ZVMW2BJZ.mjs +206 -0
  364. package/dist/components/dashboard/index.d.mts +135 -0
  365. package/dist/components/dashboard/index.d.ts +135 -0
  366. package/dist/components/dashboard/index.js +260 -0
  367. package/dist/components/dashboard/index.mjs +228 -0
  368. package/dist/components/layout/index.d.mts +2 -0
  369. package/dist/components/layout/index.d.ts +2 -0
  370. package/dist/components/layout/index.js +2 -0
  371. package/dist/components/layout/index.mjs +1 -0
  372. package/dist/components/navigation/index.d.mts +261 -0
  373. package/dist/components/navigation/index.d.ts +261 -0
  374. package/dist/components/navigation/index.js +552 -0
  375. package/dist/components/navigation/index.mjs +3 -0
  376. package/dist/components/ui/accordion.d.mts +37 -0
  377. package/dist/components/ui/accordion.d.ts +37 -0
  378. package/dist/components/ui/accordion.js +120 -0
  379. package/dist/components/ui/accordion.mjs +2 -0
  380. package/dist/components/ui/alert.d.mts +49 -0
  381. package/dist/components/ui/alert.d.ts +49 -0
  382. package/dist/components/ui/alert.js +149 -0
  383. package/dist/components/ui/alert.mjs +2 -0
  384. package/dist/components/ui/artwork.d.mts +2 -0
  385. package/dist/components/ui/artwork.d.ts +2 -0
  386. package/dist/components/ui/artwork.js +950 -0
  387. package/dist/components/ui/artwork.mjs +3 -0
  388. package/dist/components/ui/avatar.d.mts +36 -0
  389. package/dist/components/ui/avatar.d.ts +36 -0
  390. package/dist/components/ui/avatar.js +231 -0
  391. package/dist/components/ui/avatar.mjs +3 -0
  392. package/dist/components/ui/badge.d.mts +32 -0
  393. package/dist/components/ui/badge.d.ts +32 -0
  394. package/dist/components/ui/badge.js +119 -0
  395. package/dist/components/ui/badge.mjs +2 -0
  396. package/dist/components/ui/box.d.mts +8 -0
  397. package/dist/components/ui/box.d.ts +8 -0
  398. package/dist/components/ui/box.js +41 -0
  399. package/dist/components/ui/box.mjs +2 -0
  400. package/dist/components/ui/breadcrumb.d.mts +57 -0
  401. package/dist/components/ui/breadcrumb.d.ts +57 -0
  402. package/dist/components/ui/breadcrumb.js +162 -0
  403. package/dist/components/ui/breadcrumb.mjs +3 -0
  404. package/dist/components/ui/button-group.d.mts +54 -0
  405. package/dist/components/ui/button-group.d.ts +54 -0
  406. package/dist/components/ui/button-group.js +113 -0
  407. package/dist/components/ui/button-group.mjs +2 -0
  408. package/dist/components/ui/button.d.mts +38 -0
  409. package/dist/components/ui/button.d.ts +38 -0
  410. package/dist/components/ui/button.js +149 -0
  411. package/dist/components/ui/button.mjs +2 -0
  412. package/dist/components/ui/calendar.d.mts +15 -0
  413. package/dist/components/ui/calendar.d.ts +15 -0
  414. package/dist/components/ui/calendar.js +282 -0
  415. package/dist/components/ui/calendar.mjs +3 -0
  416. package/dist/components/ui/callout.d.mts +32 -0
  417. package/dist/components/ui/callout.d.ts +32 -0
  418. package/dist/components/ui/callout.js +93 -0
  419. package/dist/components/ui/callout.mjs +2 -0
  420. package/dist/components/ui/card.d.mts +63 -0
  421. package/dist/components/ui/card.d.ts +63 -0
  422. package/dist/components/ui/card.js +112 -0
  423. package/dist/components/ui/card.mjs +2 -0
  424. package/dist/components/ui/checkbox.d.mts +37 -0
  425. package/dist/components/ui/checkbox.d.ts +37 -0
  426. package/dist/components/ui/checkbox.js +132 -0
  427. package/dist/components/ui/checkbox.mjs +2 -0
  428. package/dist/components/ui/code.d.mts +9 -0
  429. package/dist/components/ui/code.d.ts +9 -0
  430. package/dist/components/ui/code.js +57 -0
  431. package/dist/components/ui/code.mjs +2 -0
  432. package/dist/components/ui/command.d.mts +85 -0
  433. package/dist/components/ui/command.d.ts +85 -0
  434. package/dist/components/ui/command.js +243 -0
  435. package/dist/components/ui/command.mjs +3 -0
  436. package/dist/components/ui/consent.d.mts +8 -0
  437. package/dist/components/ui/consent.d.ts +8 -0
  438. package/dist/components/ui/consent.js +68 -0
  439. package/dist/components/ui/consent.mjs +2 -0
  440. package/dist/components/ui/container.d.mts +9 -0
  441. package/dist/components/ui/container.d.ts +9 -0
  442. package/dist/components/ui/container.js +59 -0
  443. package/dist/components/ui/container.mjs +2 -0
  444. package/dist/components/ui/data-list.d.mts +13 -0
  445. package/dist/components/ui/data-list.d.ts +13 -0
  446. package/dist/components/ui/data-list.js +79 -0
  447. package/dist/components/ui/data-list.mjs +2 -0
  448. package/dist/components/ui/dropdown-menu.d.mts +30 -0
  449. package/dist/components/ui/dropdown-menu.d.ts +30 -0
  450. package/dist/components/ui/dropdown-menu.js +213 -0
  451. package/dist/components/ui/dropdown-menu.mjs +2 -0
  452. package/dist/components/ui/flex.d.mts +12 -0
  453. package/dist/components/ui/flex.d.ts +12 -0
  454. package/dist/components/ui/flex.js +79 -0
  455. package/dist/components/ui/flex.mjs +2 -0
  456. package/dist/components/ui/follow.d.mts +9 -0
  457. package/dist/components/ui/follow.d.ts +9 -0
  458. package/dist/components/ui/follow.js +63 -0
  459. package/dist/components/ui/follow.mjs +2 -0
  460. package/dist/components/ui/grid.d.mts +12 -0
  461. package/dist/components/ui/grid.d.ts +12 -0
  462. package/dist/components/ui/grid.js +92 -0
  463. package/dist/components/ui/grid.mjs +2 -0
  464. package/dist/components/ui/heading.d.mts +11 -0
  465. package/dist/components/ui/heading.d.ts +11 -0
  466. package/dist/components/ui/heading.js +63 -0
  467. package/dist/components/ui/heading.mjs +2 -0
  468. package/dist/components/ui/highlight.d.mts +27 -0
  469. package/dist/components/ui/highlight.d.ts +27 -0
  470. package/dist/components/ui/highlight.js +74 -0
  471. package/dist/components/ui/highlight.mjs +2 -0
  472. package/dist/components/ui/hover-card.d.mts +8 -0
  473. package/dist/components/ui/hover-card.d.ts +8 -0
  474. package/dist/components/ui/hover-card.js +52 -0
  475. package/dist/components/ui/hover-card.mjs +2 -0
  476. package/dist/components/ui/indicator.d.mts +32 -0
  477. package/dist/components/ui/indicator.d.ts +32 -0
  478. package/dist/components/ui/indicator.js +88 -0
  479. package/dist/components/ui/indicator.mjs +2 -0
  480. package/dist/components/ui/input-otp.d.mts +37 -0
  481. package/dist/components/ui/input-otp.d.ts +37 -0
  482. package/dist/components/ui/input-otp.js +94 -0
  483. package/dist/components/ui/input-otp.mjs +2 -0
  484. package/dist/components/ui/input.d.mts +74 -0
  485. package/dist/components/ui/input.d.ts +74 -0
  486. package/dist/components/ui/input.js +416 -0
  487. package/dist/components/ui/input.mjs +2 -0
  488. package/dist/components/ui/kbd.d.mts +8 -0
  489. package/dist/components/ui/kbd.d.ts +8 -0
  490. package/dist/components/ui/kbd.js +51 -0
  491. package/dist/components/ui/kbd.mjs +2 -0
  492. package/dist/components/ui/link.d.mts +56 -0
  493. package/dist/components/ui/link.d.ts +56 -0
  494. package/dist/components/ui/link.js +150 -0
  495. package/dist/components/ui/link.mjs +3 -0
  496. package/dist/components/ui/logo.d.mts +58 -0
  497. package/dist/components/ui/logo.d.ts +58 -0
  498. package/dist/components/ui/logo.js +225 -0
  499. package/dist/components/ui/logo.mjs +2 -0
  500. package/dist/components/ui/modal.d.mts +34 -0
  501. package/dist/components/ui/modal.d.ts +34 -0
  502. package/dist/components/ui/modal.js +153 -0
  503. package/dist/components/ui/modal.mjs +2 -0
  504. package/dist/components/ui/notice.d.mts +56 -0
  505. package/dist/components/ui/notice.d.ts +56 -0
  506. package/dist/components/ui/notice.js +126 -0
  507. package/dist/components/ui/notice.mjs +2 -0
  508. package/dist/components/ui/pagination.d.mts +100 -0
  509. package/dist/components/ui/pagination.d.ts +100 -0
  510. package/dist/components/ui/pagination.js +248 -0
  511. package/dist/components/ui/pagination.mjs +3 -0
  512. package/dist/components/ui/pictograms.d.mts +2 -0
  513. package/dist/components/ui/pictograms.d.ts +2 -0
  514. package/dist/components/ui/pictograms.js +924 -0
  515. package/dist/components/ui/pictograms.mjs +1 -0
  516. package/dist/components/ui/popover.d.mts +9 -0
  517. package/dist/components/ui/popover.d.ts +9 -0
  518. package/dist/components/ui/popover.js +54 -0
  519. package/dist/components/ui/popover.mjs +2 -0
  520. package/dist/components/ui/progress.d.mts +16 -0
  521. package/dist/components/ui/progress.d.ts +16 -0
  522. package/dist/components/ui/progress.js +99 -0
  523. package/dist/components/ui/progress.mjs +2 -0
  524. package/dist/components/ui/quote.d.mts +41 -0
  525. package/dist/components/ui/quote.d.ts +41 -0
  526. package/dist/components/ui/quote.js +91 -0
  527. package/dist/components/ui/quote.mjs +2 -0
  528. package/dist/components/ui/radio.d.mts +32 -0
  529. package/dist/components/ui/radio.d.ts +32 -0
  530. package/dist/components/ui/radio.js +111 -0
  531. package/dist/components/ui/radio.mjs +2 -0
  532. package/dist/components/ui/range.d.mts +27 -0
  533. package/dist/components/ui/range.d.ts +27 -0
  534. package/dist/components/ui/range.js +137 -0
  535. package/dist/components/ui/range.mjs +2 -0
  536. package/dist/components/ui/section.d.mts +9 -0
  537. package/dist/components/ui/section.d.ts +9 -0
  538. package/dist/components/ui/section.js +56 -0
  539. package/dist/components/ui/section.mjs +2 -0
  540. package/dist/components/ui/select.d.mts +27 -0
  541. package/dist/components/ui/select.d.ts +27 -0
  542. package/dist/components/ui/select.js +222 -0
  543. package/dist/components/ui/select.mjs +2 -0
  544. package/dist/components/ui/separator.d.mts +6 -0
  545. package/dist/components/ui/separator.d.ts +6 -0
  546. package/dist/components/ui/separator.js +49 -0
  547. package/dist/components/ui/separator.mjs +2 -0
  548. package/dist/components/ui/sheet.d.mts +29 -0
  549. package/dist/components/ui/sheet.d.ts +29 -0
  550. package/dist/components/ui/sheet.js +140 -0
  551. package/dist/components/ui/sheet.mjs +2 -0
  552. package/dist/components/ui/skeleton.d.mts +13 -0
  553. package/dist/components/ui/skeleton.d.ts +13 -0
  554. package/dist/components/ui/skeleton.js +28 -0
  555. package/dist/components/ui/skeleton.mjs +2 -0
  556. package/dist/components/ui/stepper.d.mts +36 -0
  557. package/dist/components/ui/stepper.d.ts +36 -0
  558. package/dist/components/ui/stepper.js +98 -0
  559. package/dist/components/ui/stepper.mjs +2 -0
  560. package/dist/components/ui/table.d.mts +20 -0
  561. package/dist/components/ui/table.d.ts +20 -0
  562. package/dist/components/ui/table.js +121 -0
  563. package/dist/components/ui/table.mjs +2 -0
  564. package/dist/components/ui/tabs.d.mts +18 -0
  565. package/dist/components/ui/tabs.d.ts +18 -0
  566. package/dist/components/ui/tabs.js +126 -0
  567. package/dist/components/ui/tabs.mjs +2 -0
  568. package/dist/components/ui/tag.d.mts +61 -0
  569. package/dist/components/ui/tag.d.ts +61 -0
  570. package/dist/components/ui/tag.js +328 -0
  571. package/dist/components/ui/tag.mjs +2 -0
  572. package/dist/components/ui/text.d.mts +11 -0
  573. package/dist/components/ui/text.d.ts +11 -0
  574. package/dist/components/ui/text.js +66 -0
  575. package/dist/components/ui/text.mjs +2 -0
  576. package/dist/components/ui/theme-artwork.d.mts +22 -0
  577. package/dist/components/ui/theme-artwork.d.ts +22 -0
  578. package/dist/components/ui/theme-artwork.js +158 -0
  579. package/dist/components/ui/theme-artwork.mjs +2 -0
  580. package/dist/components/ui/theme-toggle.d.mts +23 -0
  581. package/dist/components/ui/theme-toggle.d.ts +23 -0
  582. package/dist/components/ui/theme-toggle.js +567 -0
  583. package/dist/components/ui/theme-toggle.mjs +9 -0
  584. package/dist/components/ui/tile.d.mts +57 -0
  585. package/dist/components/ui/tile.d.ts +57 -0
  586. package/dist/components/ui/tile.js +248 -0
  587. package/dist/components/ui/tile.mjs +2 -0
  588. package/dist/components/ui/toast.d.mts +18 -0
  589. package/dist/components/ui/toast.d.ts +18 -0
  590. package/dist/components/ui/toast.js +141 -0
  591. package/dist/components/ui/toast.mjs +2 -0
  592. package/dist/components/ui/toaster.d.mts +8 -0
  593. package/dist/components/ui/toaster.d.ts +8 -0
  594. package/dist/components/ui/toaster.js +263 -0
  595. package/dist/components/ui/toaster.mjs +4 -0
  596. package/dist/components/ui/toggle.d.mts +39 -0
  597. package/dist/components/ui/toggle.d.ts +39 -0
  598. package/dist/components/ui/toggle.js +156 -0
  599. package/dist/components/ui/toggle.mjs +2 -0
  600. package/dist/components/ui/tooltip.d.mts +26 -0
  601. package/dist/components/ui/tooltip.d.ts +26 -0
  602. package/dist/components/ui/tooltip.js +85 -0
  603. package/dist/components/ui/tooltip.mjs +2 -0
  604. package/dist/components/ui/translate.d.mts +36 -0
  605. package/dist/components/ui/translate.d.ts +36 -0
  606. package/dist/components/ui/translate.js +191 -0
  607. package/dist/components/ui/translate.mjs +2 -0
  608. package/dist/components/ui/upload.d.mts +37 -0
  609. package/dist/components/ui/upload.d.ts +37 -0
  610. package/dist/components/ui/upload.js +89 -0
  611. package/dist/components/ui/upload.mjs +2 -0
  612. package/dist/components/ui/use-toast.d.mts +49 -0
  613. package/dist/components/ui/use-toast.d.ts +49 -0
  614. package/dist/components/ui/use-toast.js +142 -0
  615. package/dist/components/ui/use-toast.mjs +1 -0
  616. package/dist/hooks/index.d.mts +40 -0
  617. package/dist/hooks/index.d.ts +40 -0
  618. package/dist/hooks/index.js +87 -0
  619. package/dist/hooks/index.mjs +2 -0
  620. package/dist/i18n/index.d.mts +160 -0
  621. package/dist/i18n/index.d.ts +160 -0
  622. package/dist/i18n/index.js +228 -0
  623. package/dist/i18n/index.mjs +191 -0
  624. package/dist/index.d.mts +96 -0
  625. package/dist/index.d.ts +96 -0
  626. package/dist/index.js +7183 -0
  627. package/dist/index.mjs +67 -0
  628. package/dist/primitives/index.d.mts +30 -0
  629. package/dist/primitives/index.d.ts +30 -0
  630. package/dist/primitives/index.js +48 -0
  631. package/dist/primitives/index.mjs +1 -0
  632. package/dist/providers/index.d.mts +155 -0
  633. package/dist/providers/index.d.ts +155 -0
  634. package/dist/providers/index.js +203 -0
  635. package/dist/providers/index.mjs +3 -0
  636. package/dist/theme-provider-DQSD5lrW.d.mts +82 -0
  637. package/dist/theme-provider-DQSD5lrW.d.ts +82 -0
  638. package/dist/theme-script-BIZ1PX7u.d.mts +75 -0
  639. package/dist/theme-script-BIZ1PX7u.d.ts +75 -0
  640. package/package.json +120 -0
  641. package/src/components/navigation/footer.tsx +173 -0
  642. package/src/components/navigation/header.tsx +236 -0
  643. package/src/components/navigation/index.ts +29 -0
  644. package/src/components/navigation/nav-link.tsx +135 -0
  645. package/src/components/navigation/navigation.tsx +336 -0
  646. package/src/components/navigation/skip-links.tsx +75 -0
  647. package/src/components/ui/accordion.test.tsx +56 -0
  648. package/src/components/ui/accordion.tsx +150 -0
  649. package/src/components/ui/alert.test.tsx +58 -0
  650. package/src/components/ui/alert.tsx +181 -0
  651. package/src/components/ui/artwork.tsx +166 -0
  652. package/src/components/ui/avatar.tsx +198 -0
  653. package/src/components/ui/badge.test.tsx +44 -0
  654. package/src/components/ui/badge.tsx +144 -0
  655. package/src/components/ui/box.tsx +17 -0
  656. package/src/components/ui/breadcrumb.tsx +189 -0
  657. package/src/components/ui/button-group.tsx +146 -0
  658. package/src/components/ui/button.test.tsx +56 -0
  659. package/src/components/ui/button.tsx +160 -0
  660. package/src/components/ui/calendar.tsx +159 -0
  661. package/src/components/ui/callout.test.tsx +36 -0
  662. package/src/components/ui/callout.tsx +131 -0
  663. package/src/components/ui/card.tsx +151 -0
  664. package/src/components/ui/checkbox.test.tsx +38 -0
  665. package/src/components/ui/checkbox.tsx +142 -0
  666. package/src/components/ui/code.tsx +33 -0
  667. package/src/components/ui/command.tsx +162 -0
  668. package/src/components/ui/consent.tsx +46 -0
  669. package/src/components/ui/container.tsx +35 -0
  670. package/src/components/ui/data-list.tsx +59 -0
  671. package/src/components/ui/dropdown-menu.tsx +226 -0
  672. package/src/components/ui/flex.tsx +62 -0
  673. package/src/components/ui/follow.tsx +52 -0
  674. package/src/components/ui/grid.tsx +75 -0
  675. package/src/components/ui/heading.tsx +42 -0
  676. package/src/components/ui/highlight.tsx +71 -0
  677. package/src/components/ui/hover-card.tsx +29 -0
  678. package/src/components/ui/indicator.tsx +108 -0
  679. package/src/components/ui/input-otp.tsx +85 -0
  680. package/src/components/ui/input.tsx +508 -0
  681. package/src/components/ui/kbd.tsx +26 -0
  682. package/src/components/ui/link.tsx +191 -0
  683. package/src/components/ui/logo.tsx +298 -0
  684. package/src/components/ui/modal.tsx +176 -0
  685. package/src/components/ui/notice.tsx +157 -0
  686. package/src/components/ui/pagination.tsx +348 -0
  687. package/src/components/ui/pictograms.ts +1197 -0
  688. package/src/components/ui/popover.tsx +33 -0
  689. package/src/components/ui/progress.tsx +79 -0
  690. package/src/components/ui/quote.tsx +132 -0
  691. package/src/components/ui/radio.test.tsx +48 -0
  692. package/src/components/ui/radio.tsx +126 -0
  693. package/src/components/ui/range.tsx +156 -0
  694. package/src/components/ui/section.tsx +32 -0
  695. package/src/components/ui/select.tsx +257 -0
  696. package/src/components/ui/separator.tsx +26 -0
  697. package/src/components/ui/sheet.tsx +137 -0
  698. package/src/components/ui/skeleton.tsx +26 -0
  699. package/src/components/ui/stepper.tsx +124 -0
  700. package/src/components/ui/table.tsx +158 -0
  701. package/src/components/ui/tabs.tsx +118 -0
  702. package/src/components/ui/tag.tsx +406 -0
  703. package/src/components/ui/text.tsx +45 -0
  704. package/src/components/ui/theme-artwork.tsx +122 -0
  705. package/src/components/ui/theme-toggle.tsx +154 -0
  706. package/src/components/ui/tile.tsx +337 -0
  707. package/src/components/ui/toast.tsx +140 -0
  708. package/src/components/ui/toaster.tsx +35 -0
  709. package/src/components/ui/toggle.tsx +187 -0
  710. package/src/components/ui/tooltip.tsx +96 -0
  711. package/src/components/ui/translate.tsx +203 -0
  712. package/src/components/ui/upload.tsx +118 -0
  713. package/src/components/ui/use-toast.ts +185 -0
  714. package/src/hooks/index.ts +10 -0
  715. package/src/hooks/use-media-query.ts +74 -0
  716. package/src/hooks/use-theme.ts +5 -0
  717. package/src/i18n/index.ts +35 -0
  718. package/src/i18n/provider.tsx +82 -0
  719. package/src/i18n/strings.ts +196 -0
  720. package/src/i18n/types.ts +95 -0
  721. package/src/index.ts +348 -0
  722. package/src/lib/utils.ts +10 -0
  723. package/src/primitives/index.ts +8 -0
  724. package/src/primitives/polymorphic.tsx +52 -0
  725. package/src/providers/index.ts +20 -0
  726. package/src/providers/router-provider.tsx +99 -0
  727. package/src/providers/theme-provider.tsx +218 -0
  728. package/src/providers/theme-script.tsx +135 -0
@@ -0,0 +1,173 @@
1
+ import * as React from 'react'
2
+ import { cn } from '../../lib/utils'
3
+
4
+ export interface FooterProps extends React.HTMLAttributes<HTMLElement> {}
5
+
6
+ /**
7
+ * Conteneur principal du Footer DSFR
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <Footer>
12
+ * <FooterBody>
13
+ * <FooterBrand
14
+ * logo={<img src="/logo.svg" alt="Logo" />}
15
+ * description="Description du service"
16
+ * />
17
+ * <FooterContent>
18
+ * <FooterLinks title="Liens utiles">
19
+ * <NavLink href="/mentions-legales" variant="footer">Mentions légales</NavLink>
20
+ * <NavLink href="/accessibilite" variant="footer">Accessibilité</NavLink>
21
+ * </FooterLinks>
22
+ * </FooterContent>
23
+ * </FooterBody>
24
+ * <FooterBottom>
25
+ * <p>© 2024 - Tous droits réservés</p>
26
+ * </FooterBottom>
27
+ * </Footer>
28
+ * ```
29
+ */
30
+ const Footer = React.forwardRef<HTMLElement, FooterProps>(
31
+ ({ className, children, ...props }, ref) => {
32
+ return (
33
+ <footer
34
+ ref={ref}
35
+ id="footer"
36
+ className={cn('w-full bg-background-alt border-t border-border', className)}
37
+ {...props}
38
+ >
39
+ {children}
40
+ </footer>
41
+ )
42
+ }
43
+ )
44
+
45
+ Footer.displayName = 'Footer'
46
+
47
+ /**
48
+ * Corps principal du Footer
49
+ */
50
+ const FooterBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
51
+ ({ className, ...props }, ref) => (
52
+ <div
53
+ ref={ref}
54
+ className={cn('fr-container py-8 md:py-12 flex flex-col md:flex-row gap-8', className)}
55
+ {...props}
56
+ />
57
+ )
58
+ )
59
+
60
+ FooterBody.displayName = 'FooterBody'
61
+
62
+ export interface FooterBrandProps extends React.HTMLAttributes<HTMLDivElement> {
63
+ /**
64
+ * Logo ou image de marque
65
+ */
66
+ logo?: React.ReactNode
67
+ /**
68
+ * Description du service
69
+ */
70
+ description?: string
71
+ /**
72
+ * URL de destination du logo
73
+ */
74
+ href?: string
75
+ }
76
+
77
+ /**
78
+ * Zone de marque du Footer
79
+ */
80
+ const FooterBrand = React.forwardRef<HTMLDivElement, FooterBrandProps>(
81
+ ({ className, logo, description, href = '/', ...props }, ref) => (
82
+ <div ref={ref} className={cn('flex flex-col gap-4 md:max-w-xs', className)} {...props}>
83
+ {logo && (
84
+ <a href={href} className="flex-shrink-0 w-fit">
85
+ {logo}
86
+ </a>
87
+ )}
88
+ {description && <p className="text-sm text-foreground-muted">{description}</p>}
89
+ </div>
90
+ )
91
+ )
92
+
93
+ FooterBrand.displayName = 'FooterBrand'
94
+
95
+ /**
96
+ * Zone de contenu du Footer (colonnes de liens)
97
+ */
98
+ const FooterContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
99
+ ({ className, ...props }, ref) => (
100
+ <div
101
+ ref={ref}
102
+ className={cn('flex-1 grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-8', className)}
103
+ {...props}
104
+ />
105
+ )
106
+ )
107
+
108
+ FooterContent.displayName = 'FooterContent'
109
+
110
+ export interface FooterLinksProps extends React.HTMLAttributes<HTMLDivElement> {
111
+ /**
112
+ * Titre de la section de liens
113
+ */
114
+ title?: string
115
+ }
116
+
117
+ /**
118
+ * Groupe de liens dans le Footer
119
+ */
120
+ const FooterLinks = React.forwardRef<HTMLDivElement, FooterLinksProps>(
121
+ ({ className, title, children, ...props }, ref) => (
122
+ <div ref={ref} className={cn('flex flex-col gap-2', className)} {...props}>
123
+ {title && <h3 className="font-semibold text-foreground-title mb-2">{title}</h3>}
124
+ <nav aria-label={title || 'Navigation'} className="flex flex-col gap-1 text-sm">
125
+ {children}
126
+ </nav>
127
+ </div>
128
+ )
129
+ )
130
+
131
+ FooterLinks.displayName = 'FooterLinks'
132
+
133
+ /**
134
+ * Zone inférieure du Footer (copyright, mentions)
135
+ */
136
+ const FooterBottom = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
137
+ ({ className, ...props }, ref) => (
138
+ <div ref={ref} className={cn('border-t border-border bg-background', className)} {...props}>
139
+ <div className="fr-container py-4 flex flex-col md:flex-row items-center justify-between gap-4 text-sm text-foreground-muted">
140
+ {props.children}
141
+ </div>
142
+ </div>
143
+ )
144
+ )
145
+
146
+ FooterBottom.displayName = 'FooterBottom'
147
+
148
+ /**
149
+ * Liens légaux dans le Footer (mentions légales, accessibilité, etc.)
150
+ */
151
+ const FooterLegalLinks = React.forwardRef<HTMLUListElement, React.HTMLAttributes<HTMLUListElement>>(
152
+ ({ className, children, ...props }, ref) => (
153
+ <ul ref={ref} className={cn('flex flex-wrap items-center gap-4 text-sm', className)} {...props}>
154
+ {React.Children.map(children, (child, index) => {
155
+ if (!React.isValidElement(child)) return child
156
+ if (child.type === 'li') return child
157
+ return <li key={index}>{child}</li>
158
+ })}
159
+ </ul>
160
+ )
161
+ )
162
+
163
+ FooterLegalLinks.displayName = 'FooterLegalLinks'
164
+
165
+ export {
166
+ Footer,
167
+ FooterBody,
168
+ FooterBottom,
169
+ FooterBrand,
170
+ FooterContent,
171
+ FooterLegalLinks,
172
+ FooterLinks,
173
+ }
@@ -0,0 +1,236 @@
1
+ 'use client'
2
+
3
+ import * as React from 'react'
4
+ import { cn } from '../../lib/utils'
5
+
6
+ export interface HeaderProps extends React.HTMLAttributes<HTMLElement> {
7
+ /**
8
+ * Logo ou nom du service
9
+ */
10
+ logo?: React.ReactNode
11
+ /**
12
+ * Titre du service
13
+ */
14
+ serviceTitle?: string
15
+ /**
16
+ * Sous-titre ou tagline
17
+ */
18
+ serviceTagline?: string
19
+ }
20
+
21
+ /**
22
+ * Conteneur principal du Header DSFR
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * <Header>
27
+ * <HeaderBody>
28
+ * <HeaderBrand
29
+ * logo={<img src="/logo.svg" alt="Logo" />}
30
+ * serviceTitle="Mon Service"
31
+ * serviceTagline="Description du service"
32
+ * />
33
+ * <HeaderNav>
34
+ * <NavLink href="/" variant="header" isActive>Accueil</NavLink>
35
+ * <NavLink href="/services" variant="header">Services</NavLink>
36
+ * </HeaderNav>
37
+ * <HeaderActions>
38
+ * <Button variant="ghost" size="sm">Connexion</Button>
39
+ * </HeaderActions>
40
+ * </HeaderBody>
41
+ * </Header>
42
+ * ```
43
+ */
44
+ const Header = React.forwardRef<HTMLElement, HeaderProps>(
45
+ ({ className, children, ...props }, ref) => {
46
+ return (
47
+ <header
48
+ ref={ref}
49
+ className={cn('w-full bg-background-elevated border-b border-border', className)}
50
+ {...props}
51
+ >
52
+ {children}
53
+ </header>
54
+ )
55
+ }
56
+ )
57
+
58
+ Header.displayName = 'Header'
59
+
60
+ /**
61
+ * Corps du Header contenant les éléments principaux
62
+ */
63
+ const HeaderBody = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
64
+ ({ className, ...props }, ref) => (
65
+ <div
66
+ ref={ref}
67
+ className={cn('fr-container flex items-center justify-between gap-4 py-4', className)}
68
+ {...props}
69
+ />
70
+ )
71
+ )
72
+
73
+ HeaderBody.displayName = 'HeaderBody'
74
+
75
+ export interface HeaderBrandProps extends React.HTMLAttributes<HTMLDivElement> {
76
+ /**
77
+ * Logo ou image de marque
78
+ */
79
+ logo?: React.ReactNode
80
+ /**
81
+ * Titre du service
82
+ */
83
+ serviceTitle?: string
84
+ /**
85
+ * Tagline ou description
86
+ */
87
+ serviceTagline?: string
88
+ /**
89
+ * URL de destination du logo
90
+ */
91
+ href?: string
92
+ }
93
+
94
+ /**
95
+ * Zone de marque du Header (logo + titre)
96
+ */
97
+ const HeaderBrand = React.forwardRef<HTMLDivElement, HeaderBrandProps>(
98
+ ({ className, logo, serviceTitle, serviceTagline, href = '/', ...props }, ref) => (
99
+ <div ref={ref} className={cn('flex items-center gap-4', className)} {...props}>
100
+ {logo && (
101
+ <a href={href} className="flex-shrink-0">
102
+ {logo}
103
+ </a>
104
+ )}
105
+ {(serviceTitle || serviceTagline) && (
106
+ <div className="flex flex-col">
107
+ {serviceTitle && (
108
+ <a href={href} className="text-lg font-bold text-foreground hover:text-primary">
109
+ {serviceTitle}
110
+ </a>
111
+ )}
112
+ {serviceTagline && (
113
+ <span className="text-sm text-foreground-muted">{serviceTagline}</span>
114
+ )}
115
+ </div>
116
+ )}
117
+ </div>
118
+ )
119
+ )
120
+
121
+ HeaderBrand.displayName = 'HeaderBrand'
122
+
123
+ /**
124
+ * Zone de navigation principale du Header
125
+ */
126
+ const HeaderNav = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(
127
+ ({ className, children, ...props }, ref) => (
128
+ <nav
129
+ ref={ref}
130
+ id="main-navigation"
131
+ aria-label="Navigation principale"
132
+ className={cn('hidden md:flex items-center gap-2 fr-nav', className)}
133
+ {...props}
134
+ >
135
+ <ul className={cn('fr-nav__list flex items-center gap-2')}>
136
+ {React.Children.map(children, (child) => {
137
+ if (!React.isValidElement(child)) return child
138
+
139
+ const childType = child.type as React.ComponentType & { displayName?: string }
140
+ const isNavLink = childType?.displayName === 'NavLink' || childType?.name === 'NavLink'
141
+
142
+ const childProps = child.props as Record<string, unknown>
143
+ const patched =
144
+ isNavLink && childProps.variant === undefined
145
+ ? React.cloneElement(child, { variant: 'header' })
146
+ : child
147
+
148
+ return <li className="fr-nav__item">{patched}</li>
149
+ })}
150
+ </ul>
151
+ </nav>
152
+ )
153
+ )
154
+
155
+ HeaderNav.displayName = 'HeaderNav'
156
+
157
+ /**
158
+ * Zone d'actions du Header (boutons, recherche, etc.)
159
+ */
160
+ const HeaderActions = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(
161
+ ({ className, ...props }, ref) => (
162
+ <div ref={ref} className={cn('flex items-center gap-2', className)} {...props} />
163
+ )
164
+ )
165
+
166
+ HeaderActions.displayName = 'HeaderActions'
167
+
168
+ /**
169
+ * Bouton menu mobile du Header
170
+ */
171
+ export interface HeaderMenuButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
172
+ /**
173
+ * État ouvert/fermé du menu
174
+ */
175
+ isOpen?: boolean
176
+ /**
177
+ * Callback lors du clic
178
+ */
179
+ onToggle?: () => void
180
+ }
181
+
182
+ const HeaderMenuButton = React.forwardRef<HTMLButtonElement, HeaderMenuButtonProps>(
183
+ ({ className, isOpen, onToggle, ...props }, ref) => (
184
+ <button
185
+ ref={ref}
186
+ type="button"
187
+ onClick={onToggle}
188
+ aria-expanded={isOpen}
189
+ aria-controls="mobile-menu"
190
+ aria-label={isOpen ? 'Fermer le menu' : 'Ouvrir le menu'}
191
+ className={cn(
192
+ 'md:hidden p-2 rounded-md text-foreground',
193
+ 'hover:bg-background-alt focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary',
194
+ className
195
+ )}
196
+ {...props}
197
+ >
198
+ {isOpen ? (
199
+ <svg
200
+ xmlns="http://www.w3.org/2000/svg"
201
+ width="24"
202
+ height="24"
203
+ viewBox="0 0 24 24"
204
+ fill="none"
205
+ stroke="currentColor"
206
+ strokeWidth="2"
207
+ strokeLinecap="round"
208
+ strokeLinejoin="round"
209
+ >
210
+ <path d="M18 6 6 18" />
211
+ <path d="m6 6 12 12" />
212
+ </svg>
213
+ ) : (
214
+ <svg
215
+ xmlns="http://www.w3.org/2000/svg"
216
+ width="24"
217
+ height="24"
218
+ viewBox="0 0 24 24"
219
+ fill="none"
220
+ stroke="currentColor"
221
+ strokeWidth="2"
222
+ strokeLinecap="round"
223
+ strokeLinejoin="round"
224
+ >
225
+ <line x1="4" y1="6" x2="20" y2="6" />
226
+ <line x1="4" y1="12" x2="20" y2="12" />
227
+ <line x1="4" y1="18" x2="20" y2="18" />
228
+ </svg>
229
+ )}
230
+ </button>
231
+ )
232
+ )
233
+
234
+ HeaderMenuButton.displayName = 'HeaderMenuButton'
235
+
236
+ export { Header, HeaderActions, HeaderBody, HeaderBrand, HeaderMenuButton, HeaderNav }
@@ -0,0 +1,29 @@
1
+ export type { FooterBrandProps, FooterLinksProps, FooterProps } from './footer'
2
+ export {
3
+ Footer,
4
+ FooterBody,
5
+ FooterBottom,
6
+ FooterBrand,
7
+ FooterContent,
8
+ FooterLegalLinks,
9
+ FooterLinks,
10
+ } from './footer'
11
+ export type { HeaderBrandProps, HeaderMenuButtonProps, HeaderProps } from './header'
12
+ export {
13
+ Header,
14
+ HeaderActions,
15
+ HeaderBody,
16
+ HeaderBrand,
17
+ HeaderMenuButton,
18
+ HeaderNav,
19
+ } from './header'
20
+ export type { NavLinkProps } from './nav-link'
21
+ export { NavLink, navLinkVariants } from './nav-link'
22
+ export type { NavigationItemProps, NavigationProps, NavigationSectionProps } from './navigation'
23
+ export {
24
+ Navigation,
25
+ NavigationItem,
26
+ NavigationSection,
27
+ } from './navigation'
28
+ export type { SkipLink, SkipLinksProps } from './skip-links'
29
+ export { SkipLinks } from './skip-links'
@@ -0,0 +1,135 @@
1
+ 'use client'
2
+
3
+ import { Slot } from '@radix-ui/react-slot'
4
+ import { cva, type VariantProps } from 'class-variance-authority'
5
+ import * as React from 'react'
6
+ import { cn } from '../../lib/utils'
7
+ import { useRouter } from '../../providers/router-provider'
8
+
9
+ const navLinkVariants = cva(
10
+ 'inline-flex items-center gap-2 relative font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary',
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: [
15
+ 'text-foreground hover:text-primary hover:bg-background-contrast',
16
+ 'data-[active=true]:text-primary data-[active=true]:border-b-[2px] data-[active=true]:border-primary',
17
+ ],
18
+ header: [
19
+ 'text-foreground hover:text-primary',
20
+ 'py-3 px-4 md:py-3 md:px-4 md:text-base',
21
+ 'data-[active=true]:text-primary data-[active=true]:border-b-[2px] data-[active=true]:border-primary',
22
+ ],
23
+ side: [
24
+ 'text-foreground hover:text-primary hover:bg-background-contrast',
25
+ 'w-full px-4 py-2',
26
+ 'data-[active=true]:text-primary data-[active=true]:bg-background-contrast data-[active=true]:border-l-2 data-[active=true]:border-border-active',
27
+ ],
28
+ footer: ['text-foreground hover:text-primary hover:underline', 'text-xs py-0.5 px-0'],
29
+ },
30
+ size: {
31
+ sm: 'text-sm py-1 px-2',
32
+ md: 'text-base py-2 px-3',
33
+ lg: 'text-lg py-3 px-4',
34
+ },
35
+ },
36
+ defaultVariants: {
37
+ variant: 'default',
38
+ size: 'md',
39
+ },
40
+ }
41
+ )
42
+
43
+ export interface NavLinkProps
44
+ extends React.AnchorHTMLAttributes<HTMLAnchorElement>,
45
+ VariantProps<typeof navLinkVariants> {
46
+ /**
47
+ * Si true, rend le composant enfant au lieu d'un <a>
48
+ */
49
+ asChild?: boolean
50
+ /**
51
+ * Indique si le lien est actif (page courante)
52
+ */
53
+ isActive?: boolean
54
+ /**
55
+ * L'icône à afficher dans l'élément (ex: `<RemixIcon />`)
56
+ */
57
+ icon?: React.ReactNode
58
+ /**
59
+ * La position de l'icône ('start' ou 'end'). Par défaut: 'start'
60
+ */
61
+ iconPosition?: 'start' | 'end'
62
+ }
63
+
64
+ /**
65
+ * Composant NavLink DSFR polymorphique
66
+ *
67
+ * Lien de navigation adaptable à différents contextes (header, sidebar, footer).
68
+ */
69
+ const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(
70
+ (
71
+ {
72
+ className,
73
+ variant,
74
+ size,
75
+ asChild = false,
76
+ isActive,
77
+ icon,
78
+ iconPosition = 'start',
79
+ children,
80
+ ...props
81
+ },
82
+ ref
83
+ ) => {
84
+ const router = useRouter()
85
+ const sharedProps = {
86
+ 'data-active': isActive,
87
+ 'aria-current': isActive ? ('page' as const) : undefined,
88
+ className: cn('fr-nav__link', navLinkVariants({ variant, size, className })),
89
+ }
90
+
91
+ const content = (
92
+ <>
93
+ {icon && iconPosition === 'start' && (
94
+ <span className="flex-shrink-0 flex items-center justify-center" aria-hidden="true">
95
+ {icon}
96
+ </span>
97
+ )}
98
+ {children}
99
+ {icon && iconPosition === 'end' && (
100
+ <span className="flex-shrink-0 flex items-center justify-center" aria-hidden="true">
101
+ {icon}
102
+ </span>
103
+ )}
104
+ </>
105
+ )
106
+
107
+ if (asChild) {
108
+ return (
109
+ <Slot ref={ref} {...sharedProps} {...props}>
110
+ {children}
111
+ </Slot>
112
+ )
113
+ }
114
+
115
+ if (router) {
116
+ const { href: hrefProp, ...restProps } = props
117
+ const adaptedProps = router.linkPropsAdapter({ href: hrefProp, ...restProps })
118
+ return (
119
+ <router.Link ref={ref} {...sharedProps} {...adaptedProps}>
120
+ {content}
121
+ </router.Link>
122
+ )
123
+ }
124
+
125
+ return (
126
+ <a ref={ref} {...sharedProps} {...props}>
127
+ {content}
128
+ </a>
129
+ )
130
+ }
131
+ )
132
+
133
+ NavLink.displayName = 'NavLink'
134
+
135
+ export { NavLink, navLinkVariants }