@dev-dga/react 1.0.0 → 1.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 (280) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +14 -0
  3. package/dist/{chunk-Z2LJBEIV.cjs → chunk-2ISGZAMI.cjs} +3 -3
  4. package/dist/{chunk-Z2LJBEIV.cjs.map → chunk-2ISGZAMI.cjs.map} +1 -1
  5. package/dist/{chunk-TPD2GNR6.js → chunk-3BDWXIO2.js} +4 -4
  6. package/dist/{chunk-KDV7V5S4.js → chunk-3GW6NMDL.js} +4 -4
  7. package/dist/{chunk-VN2YHNUE.cjs → chunk-3IJBHHQP.cjs} +4 -4
  8. package/dist/{chunk-VN2YHNUE.cjs.map → chunk-3IJBHHQP.cjs.map} +1 -1
  9. package/dist/{chunk-DI52GZLA.cjs → chunk-3Y6JPEJ3.cjs} +4 -4
  10. package/dist/{chunk-DI52GZLA.cjs.map → chunk-3Y6JPEJ3.cjs.map} +1 -1
  11. package/dist/{chunk-4HBVLISS.js → chunk-4G42XPSB.js} +4 -4
  12. package/dist/{chunk-7EEKESAA.js → chunk-4IUOTHJC.js} +4 -4
  13. package/dist/{chunk-YOKOPO2W.cjs → chunk-5NBC47JU.cjs} +3 -3
  14. package/dist/{chunk-YOKOPO2W.cjs.map → chunk-5NBC47JU.cjs.map} +1 -1
  15. package/dist/{chunk-GHJEE4NW.js → chunk-6AWYGPVV.js} +4 -4
  16. package/dist/{chunk-WRCHASO2.js → chunk-6LRMCCGU.js} +4 -4
  17. package/dist/{chunk-TG2IDU3W.js → chunk-6UMASQFJ.js} +4 -4
  18. package/dist/{chunk-O7BBEN7E.cjs → chunk-7ECWVWEP.cjs} +3 -3
  19. package/dist/{chunk-O7BBEN7E.cjs.map → chunk-7ECWVWEP.cjs.map} +1 -1
  20. package/dist/{chunk-IFZWOLDF.cjs → chunk-7M3PXCTB.cjs} +3 -3
  21. package/dist/{chunk-IFZWOLDF.cjs.map → chunk-7M3PXCTB.cjs.map} +1 -1
  22. package/dist/{chunk-PLT3EZZ5.js → chunk-7NXFVPPR.js} +4 -4
  23. package/dist/{chunk-EQINOHB6.cjs → chunk-A4JJG7ZS.cjs} +4 -4
  24. package/dist/{chunk-EQINOHB6.cjs.map → chunk-A4JJG7ZS.cjs.map} +1 -1
  25. package/dist/{chunk-CUOYBYI4.cjs → chunk-AOGJVMFE.cjs} +9 -9
  26. package/dist/{chunk-CUOYBYI4.cjs.map → chunk-AOGJVMFE.cjs.map} +1 -1
  27. package/dist/{chunk-REDX5DCT.cjs → chunk-BH7XP6DP.cjs} +4 -4
  28. package/dist/{chunk-REDX5DCT.cjs.map → chunk-BH7XP6DP.cjs.map} +1 -1
  29. package/dist/{chunk-GUI2LDJZ.cjs → chunk-BSVWC2OY.cjs} +4 -4
  30. package/dist/{chunk-GUI2LDJZ.cjs.map → chunk-BSVWC2OY.cjs.map} +1 -1
  31. package/dist/{chunk-7GAELGEB.cjs → chunk-BTXKJ4NE.cjs} +3 -3
  32. package/dist/{chunk-7GAELGEB.cjs.map → chunk-BTXKJ4NE.cjs.map} +1 -1
  33. package/dist/{chunk-V7U2CXYL.cjs → chunk-C5BPJIIC.cjs} +3 -3
  34. package/dist/{chunk-V7U2CXYL.cjs.map → chunk-C5BPJIIC.cjs.map} +1 -1
  35. package/dist/{chunk-NKCBDSI2.js → chunk-C7QGHL2M.js} +2 -2
  36. package/dist/{chunk-7F24FFIV.cjs → chunk-DI3WGH7W.cjs} +5 -5
  37. package/dist/{chunk-7F24FFIV.cjs.map → chunk-DI3WGH7W.cjs.map} +1 -1
  38. package/dist/{chunk-BQZ4XAYH.js → chunk-DUJ2QWTC.js} +4 -4
  39. package/dist/{chunk-VYP5GX57.cjs → chunk-DZTHIGMQ.cjs} +3 -3
  40. package/dist/{chunk-VYP5GX57.cjs.map → chunk-DZTHIGMQ.cjs.map} +1 -1
  41. package/dist/{chunk-BP6BOEVE.js → chunk-EBV35LZE.js} +4 -4
  42. package/dist/{chunk-GEVXV4RL.js → chunk-GGWMXMBP.js} +4 -4
  43. package/dist/{chunk-DU4YQEIM.cjs → chunk-H7V6VNFC.cjs} +3 -3
  44. package/dist/{chunk-DU4YQEIM.cjs.map → chunk-H7V6VNFC.cjs.map} +1 -1
  45. package/dist/{chunk-K27GNXBF.cjs → chunk-HQABMNYD.cjs} +4 -4
  46. package/dist/{chunk-K27GNXBF.cjs.map → chunk-HQABMNYD.cjs.map} +1 -1
  47. package/dist/{chunk-AHUL5WRD.js → chunk-IS7NNFV3.js} +6 -6
  48. package/dist/{chunk-XB6YHZAG.js → chunk-JBTM3SFO.js} +4 -4
  49. package/dist/{chunk-APD5WA65.js → chunk-JHWACBNX.js} +4 -4
  50. package/dist/{chunk-54KSDBGC.js → chunk-JXMXEBXP.js} +2 -2
  51. package/dist/{chunk-FPXFD5XT.js → chunk-KXBRKW25.js} +4 -4
  52. package/dist/{chunk-FF4QNJOQ.js → chunk-MFBGKD5J.js} +4 -4
  53. package/dist/{chunk-WHKNCDTX.js → chunk-N2OE2MUB.js} +7 -7
  54. package/dist/{chunk-QCITJAK6.cjs → chunk-NLAVXC45.cjs} +3 -3
  55. package/dist/{chunk-QCITJAK6.cjs.map → chunk-NLAVXC45.cjs.map} +1 -1
  56. package/dist/{chunk-5GDTEDDH.js → chunk-OUS6KAYF.js} +4 -4
  57. package/dist/{chunk-G6LUBXN2.js → chunk-OXMWQMYF.js} +2 -2
  58. package/dist/{chunk-BNCUXVZF.cjs → chunk-OYSETR4K.cjs} +3 -3
  59. package/dist/{chunk-BNCUXVZF.cjs.map → chunk-OYSETR4K.cjs.map} +1 -1
  60. package/dist/{chunk-ZNDJS2W7.js → chunk-P4AMGEAG.js} +4 -4
  61. package/dist/{chunk-6G2BJQZL.cjs → chunk-P66BFKWQ.cjs} +3 -3
  62. package/dist/{chunk-6G2BJQZL.cjs.map → chunk-P66BFKWQ.cjs.map} +1 -1
  63. package/dist/{chunk-BYSA3YCV.cjs → chunk-RRTB754T.cjs} +4 -4
  64. package/dist/{chunk-BYSA3YCV.cjs.map → chunk-RRTB754T.cjs.map} +1 -1
  65. package/dist/{chunk-GS7QTYLD.js → chunk-S3JTU4FH.js} +4 -4
  66. package/dist/{chunk-RH3CQOEI.cjs → chunk-S6FRVWCG.cjs} +3 -3
  67. package/dist/{chunk-RH3CQOEI.cjs.map → chunk-S6FRVWCG.cjs.map} +1 -1
  68. package/dist/{chunk-WRUVDZRI.js → chunk-S7KATX5T.js} +2 -2
  69. package/dist/{chunk-VJV3K53D.js → chunk-SHP4KSPL.js} +4 -4
  70. package/dist/{chunk-WGCK6KKL.js → chunk-SZRP2ODO.js} +4 -4
  71. package/dist/{chunk-TNIRKGXY.js → chunk-T6RGNFKN.js} +4 -4
  72. package/dist/{chunk-P2CSX4DZ.cjs → chunk-TBI3YP65.cjs} +4 -2
  73. package/dist/chunk-TBI3YP65.cjs.map +1 -0
  74. package/dist/{chunk-EZRPCQSP.js → chunk-TPZTJDCN.js} +4 -4
  75. package/dist/{chunk-J7XCG6SX.cjs → chunk-TQH7AMQ2.cjs} +4 -4
  76. package/dist/{chunk-J7XCG6SX.cjs.map → chunk-TQH7AMQ2.cjs.map} +1 -1
  77. package/dist/{chunk-FV6E33FY.cjs → chunk-TQUB2TCL.cjs} +4 -4
  78. package/dist/{chunk-FV6E33FY.cjs.map → chunk-TQUB2TCL.cjs.map} +1 -1
  79. package/dist/{chunk-YVB5RTKR.js → chunk-TZ6IKB3E.js} +4 -2
  80. package/dist/chunk-TZ6IKB3E.js.map +1 -0
  81. package/dist/{chunk-T3NVC7UU.cjs → chunk-U3W2GAHM.cjs} +4 -4
  82. package/dist/{chunk-T3NVC7UU.cjs.map → chunk-U3W2GAHM.cjs.map} +1 -1
  83. package/dist/{chunk-G6ZOJVIG.cjs → chunk-U6YLGSAQ.cjs} +6 -6
  84. package/dist/{chunk-G6ZOJVIG.cjs.map → chunk-U6YLGSAQ.cjs.map} +1 -1
  85. package/dist/{chunk-K7GLIST7.cjs → chunk-UG2SQ4Q3.cjs} +10 -10
  86. package/dist/{chunk-K7GLIST7.cjs.map → chunk-UG2SQ4Q3.cjs.map} +1 -1
  87. package/dist/{chunk-IM6TYL3P.cjs → chunk-UVBZHPKP.cjs} +3 -3
  88. package/dist/{chunk-IM6TYL3P.cjs.map → chunk-UVBZHPKP.cjs.map} +1 -1
  89. package/dist/{chunk-U7SCEB34.js → chunk-VAGYICPO.js} +2 -2
  90. package/dist/{chunk-DVKPFWP2.cjs → chunk-W46J3DNV.cjs} +4 -4
  91. package/dist/{chunk-DVKPFWP2.cjs.map → chunk-W46J3DNV.cjs.map} +1 -1
  92. package/dist/{chunk-BJIB6S5L.js → chunk-WU3IBHA4.js} +4 -4
  93. package/dist/{chunk-FUFFG2UW.cjs → chunk-X5GBT5VI.cjs} +4 -4
  94. package/dist/{chunk-FUFFG2UW.cjs.map → chunk-X5GBT5VI.cjs.map} +1 -1
  95. package/dist/{chunk-55RHNN3T.js → chunk-Y4JUMIH4.js} +4 -4
  96. package/dist/{chunk-ODNO43HV.cjs → chunk-YPC7FRJX.cjs} +4 -4
  97. package/dist/{chunk-ODNO43HV.cjs.map → chunk-YPC7FRJX.cjs.map} +1 -1
  98. package/dist/{chunk-TYZIRV75.cjs → chunk-ZCRO2PBB.cjs} +4 -4
  99. package/dist/{chunk-TYZIRV75.cjs.map → chunk-ZCRO2PBB.cjs.map} +1 -1
  100. package/dist/components/Charts/Charts.cjs +3 -3
  101. package/dist/components/Charts/Charts.js +2 -2
  102. package/dist/components/Charts/index.cjs +3 -3
  103. package/dist/components/Charts/index.js +2 -2
  104. package/dist/components/Checkbox/Checkbox.cjs +3 -3
  105. package/dist/components/Checkbox/Checkbox.js +2 -2
  106. package/dist/components/Checkbox/index.cjs +3 -3
  107. package/dist/components/Checkbox/index.js +2 -2
  108. package/dist/components/CodeSnippet/CodeSnippet.cjs +5 -5
  109. package/dist/components/CodeSnippet/CodeSnippet.js +4 -4
  110. package/dist/components/CodeSnippet/index.cjs +5 -5
  111. package/dist/components/CodeSnippet/index.js +4 -4
  112. package/dist/components/Command/Command.cjs +3 -3
  113. package/dist/components/Command/Command.js +2 -2
  114. package/dist/components/Command/index.cjs +3 -3
  115. package/dist/components/Command/index.js +2 -2
  116. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  117. package/dist/components/DatePicker/DatePicker.js +1 -1
  118. package/dist/components/DatePicker/index.cjs +1 -1
  119. package/dist/components/DatePicker/index.js +1 -1
  120. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -1
  121. package/dist/components/DateRangePicker/DateRangePicker.js +1 -1
  122. package/dist/components/DateRangePicker/index.cjs +1 -1
  123. package/dist/components/DateRangePicker/index.js +1 -1
  124. package/dist/components/Drawer/Drawer.cjs +3 -3
  125. package/dist/components/Drawer/Drawer.js +2 -2
  126. package/dist/components/Drawer/index.cjs +3 -3
  127. package/dist/components/Drawer/index.js +2 -2
  128. package/dist/components/Dropdown/Dropdown.cjs +3 -3
  129. package/dist/components/Dropdown/Dropdown.js +2 -2
  130. package/dist/components/Dropdown/index.cjs +3 -3
  131. package/dist/components/Dropdown/index.js +2 -2
  132. package/dist/components/DropdownMenu/DropdownMenu.cjs +3 -3
  133. package/dist/components/DropdownMenu/DropdownMenu.js +2 -2
  134. package/dist/components/DropdownMenu/index.cjs +3 -3
  135. package/dist/components/DropdownMenu/index.js +2 -2
  136. package/dist/components/FileUpload/FileUpload.cjs +3 -3
  137. package/dist/components/FileUpload/FileUpload.js +2 -2
  138. package/dist/components/FileUpload/index.cjs +3 -3
  139. package/dist/components/FileUpload/index.js +2 -2
  140. package/dist/components/Filtration/Filtration.cjs +8 -8
  141. package/dist/components/Filtration/Filtration.js +7 -7
  142. package/dist/components/Filtration/index.cjs +8 -8
  143. package/dist/components/Filtration/index.js +7 -7
  144. package/dist/components/InputOTP/InputOTP.cjs +3 -3
  145. package/dist/components/InputOTP/InputOTP.js +2 -2
  146. package/dist/components/InputOTP/index.cjs +3 -3
  147. package/dist/components/InputOTP/index.js +2 -2
  148. package/dist/components/Menubar/Menubar.cjs +3 -3
  149. package/dist/components/Menubar/Menubar.js +2 -2
  150. package/dist/components/Menubar/index.cjs +3 -3
  151. package/dist/components/Menubar/index.js +2 -2
  152. package/dist/components/Metric/index.cjs +2 -2
  153. package/dist/components/Metric/index.cjs.map +1 -1
  154. package/dist/components/Metric/index.js +4 -4
  155. package/dist/components/Modal/Modal.cjs +3 -3
  156. package/dist/components/Modal/Modal.js +2 -2
  157. package/dist/components/Modal/index.cjs +3 -3
  158. package/dist/components/Modal/index.js +2 -2
  159. package/dist/components/NumberInput/NumberInput.cjs +3 -3
  160. package/dist/components/NumberInput/NumberInput.js +2 -2
  161. package/dist/components/NumberInput/index.cjs +3 -3
  162. package/dist/components/NumberInput/index.js +2 -2
  163. package/dist/components/Pagination/Pagination.cjs +3 -3
  164. package/dist/components/Pagination/Pagination.js +2 -2
  165. package/dist/components/Pagination/index.cjs +3 -3
  166. package/dist/components/Pagination/index.js +2 -2
  167. package/dist/components/Popover/Popover.cjs +3 -3
  168. package/dist/components/Popover/Popover.js +2 -2
  169. package/dist/components/Popover/index.cjs +3 -3
  170. package/dist/components/Popover/index.js +2 -2
  171. package/dist/components/Radio/Radio.cjs +3 -3
  172. package/dist/components/Radio/Radio.js +2 -2
  173. package/dist/components/Radio/index.cjs +3 -3
  174. package/dist/components/Radio/index.js +2 -2
  175. package/dist/components/Rating/Rating.cjs +3 -3
  176. package/dist/components/Rating/Rating.js +2 -2
  177. package/dist/components/Rating/index.cjs +3 -3
  178. package/dist/components/Rating/index.js +2 -2
  179. package/dist/components/SaudiRiyal/SaudiRiyal.cjs +3 -3
  180. package/dist/components/SaudiRiyal/SaudiRiyal.js +2 -2
  181. package/dist/components/SaudiRiyal/index.cjs +3 -3
  182. package/dist/components/SaudiRiyal/index.js +2 -2
  183. package/dist/components/SearchBox/SearchBox.cjs +4 -4
  184. package/dist/components/SearchBox/SearchBox.js +3 -3
  185. package/dist/components/SearchBox/index.cjs +4 -4
  186. package/dist/components/SearchBox/index.js +3 -3
  187. package/dist/components/Select/Select.cjs +3 -3
  188. package/dist/components/Select/Select.js +2 -2
  189. package/dist/components/Select/index.cjs +3 -3
  190. package/dist/components/Select/index.js +2 -2
  191. package/dist/components/Sidebar/Sidebar.cjs +4 -4
  192. package/dist/components/Sidebar/Sidebar.js +3 -3
  193. package/dist/components/Sidebar/SidebarMenu.cjs +5 -5
  194. package/dist/components/Sidebar/SidebarMenu.js +4 -4
  195. package/dist/components/Sidebar/index.cjs +7 -7
  196. package/dist/components/Sidebar/index.cjs.map +1 -1
  197. package/dist/components/Sidebar/index.js +6 -6
  198. package/dist/components/SlideoutMenu/SlideoutMenu.cjs +3 -3
  199. package/dist/components/SlideoutMenu/SlideoutMenu.js +2 -2
  200. package/dist/components/SlideoutMenu/index.cjs +3 -3
  201. package/dist/components/SlideoutMenu/index.js +2 -2
  202. package/dist/components/Slider/Slider.cjs +3 -3
  203. package/dist/components/Slider/Slider.js +2 -2
  204. package/dist/components/Slider/index.cjs +3 -3
  205. package/dist/components/Slider/index.js +2 -2
  206. package/dist/components/StructuredList/StructuredList.cjs +4 -4
  207. package/dist/components/StructuredList/StructuredList.js +3 -3
  208. package/dist/components/StructuredList/index.cjs +4 -4
  209. package/dist/components/StructuredList/index.js +3 -3
  210. package/dist/components/Switch/Switch.cjs +3 -3
  211. package/dist/components/Switch/Switch.js +2 -2
  212. package/dist/components/Switch/index.cjs +3 -3
  213. package/dist/components/Switch/index.js +2 -2
  214. package/dist/components/Tabs/Tabs.cjs +4 -4
  215. package/dist/components/Tabs/Tabs.js +3 -3
  216. package/dist/components/Tabs/index.cjs +4 -4
  217. package/dist/components/Tabs/index.js +3 -3
  218. package/dist/components/TagInput/TagInput.cjs +3 -3
  219. package/dist/components/TagInput/TagInput.js +2 -2
  220. package/dist/components/TagInput/index.cjs +3 -3
  221. package/dist/components/TagInput/index.js +2 -2
  222. package/dist/components/TextInput/TextInput.cjs +3 -3
  223. package/dist/components/TextInput/TextInput.js +2 -2
  224. package/dist/components/TextInput/index.cjs +3 -3
  225. package/dist/components/TextInput/index.js +2 -2
  226. package/dist/components/Textarea/Textarea.cjs +3 -3
  227. package/dist/components/Textarea/Textarea.js +2 -2
  228. package/dist/components/Textarea/index.cjs +3 -3
  229. package/dist/components/Textarea/index.js +2 -2
  230. package/dist/components/Tooltip/Tooltip.cjs +3 -3
  231. package/dist/components/Tooltip/Tooltip.js +2 -2
  232. package/dist/components/Tooltip/index.cjs +3 -3
  233. package/dist/components/Tooltip/index.js +2 -2
  234. package/dist/date-picker.cjs +25 -0
  235. package/dist/date-picker.cjs.map +1 -0
  236. package/dist/date-picker.d.cts +147 -0
  237. package/dist/date-picker.d.ts +147 -0
  238. package/dist/date-picker.js +25 -0
  239. package/dist/date-picker.js.map +1 -0
  240. package/dist/index.cjs +89 -89
  241. package/dist/index.cjs.map +1 -1
  242. package/dist/index.d.cts +2 -142
  243. package/dist/index.d.ts +2 -142
  244. package/dist/index.js +113 -113
  245. package/dist/providers/DgaProvider.cjs +2 -2
  246. package/dist/providers/DgaProvider.js +1 -1
  247. package/package.json +13 -3
  248. package/dist/chunk-P2CSX4DZ.cjs.map +0 -1
  249. package/dist/chunk-YVB5RTKR.js.map +0 -1
  250. /package/dist/{chunk-TPD2GNR6.js.map → chunk-3BDWXIO2.js.map} +0 -0
  251. /package/dist/{chunk-KDV7V5S4.js.map → chunk-3GW6NMDL.js.map} +0 -0
  252. /package/dist/{chunk-4HBVLISS.js.map → chunk-4G42XPSB.js.map} +0 -0
  253. /package/dist/{chunk-7EEKESAA.js.map → chunk-4IUOTHJC.js.map} +0 -0
  254. /package/dist/{chunk-GHJEE4NW.js.map → chunk-6AWYGPVV.js.map} +0 -0
  255. /package/dist/{chunk-WRCHASO2.js.map → chunk-6LRMCCGU.js.map} +0 -0
  256. /package/dist/{chunk-TG2IDU3W.js.map → chunk-6UMASQFJ.js.map} +0 -0
  257. /package/dist/{chunk-PLT3EZZ5.js.map → chunk-7NXFVPPR.js.map} +0 -0
  258. /package/dist/{chunk-NKCBDSI2.js.map → chunk-C7QGHL2M.js.map} +0 -0
  259. /package/dist/{chunk-BQZ4XAYH.js.map → chunk-DUJ2QWTC.js.map} +0 -0
  260. /package/dist/{chunk-BP6BOEVE.js.map → chunk-EBV35LZE.js.map} +0 -0
  261. /package/dist/{chunk-GEVXV4RL.js.map → chunk-GGWMXMBP.js.map} +0 -0
  262. /package/dist/{chunk-AHUL5WRD.js.map → chunk-IS7NNFV3.js.map} +0 -0
  263. /package/dist/{chunk-XB6YHZAG.js.map → chunk-JBTM3SFO.js.map} +0 -0
  264. /package/dist/{chunk-APD5WA65.js.map → chunk-JHWACBNX.js.map} +0 -0
  265. /package/dist/{chunk-54KSDBGC.js.map → chunk-JXMXEBXP.js.map} +0 -0
  266. /package/dist/{chunk-FPXFD5XT.js.map → chunk-KXBRKW25.js.map} +0 -0
  267. /package/dist/{chunk-FF4QNJOQ.js.map → chunk-MFBGKD5J.js.map} +0 -0
  268. /package/dist/{chunk-WHKNCDTX.js.map → chunk-N2OE2MUB.js.map} +0 -0
  269. /package/dist/{chunk-5GDTEDDH.js.map → chunk-OUS6KAYF.js.map} +0 -0
  270. /package/dist/{chunk-G6LUBXN2.js.map → chunk-OXMWQMYF.js.map} +0 -0
  271. /package/dist/{chunk-ZNDJS2W7.js.map → chunk-P4AMGEAG.js.map} +0 -0
  272. /package/dist/{chunk-GS7QTYLD.js.map → chunk-S3JTU4FH.js.map} +0 -0
  273. /package/dist/{chunk-WRUVDZRI.js.map → chunk-S7KATX5T.js.map} +0 -0
  274. /package/dist/{chunk-VJV3K53D.js.map → chunk-SHP4KSPL.js.map} +0 -0
  275. /package/dist/{chunk-WGCK6KKL.js.map → chunk-SZRP2ODO.js.map} +0 -0
  276. /package/dist/{chunk-TNIRKGXY.js.map → chunk-T6RGNFKN.js.map} +0 -0
  277. /package/dist/{chunk-EZRPCQSP.js.map → chunk-TPZTJDCN.js.map} +0 -0
  278. /package/dist/{chunk-U7SCEB34.js.map → chunk-VAGYICPO.js.map} +0 -0
  279. /package/dist/{chunk-BJIB6S5L.js.map → chunk-WU3IBHA4.js.map} +0 -0
  280. /package/dist/{chunk-55RHNN3T.js.map → chunk-Y4JUMIH4.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-7GAELGEB.cjs","../src/components/SearchBox/SearchBox.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-7GAELGEB.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useRef, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { TextInput, type TextInputProps } from '../TextInput';\nimport { Button } from '../Button';\nimport { SearchGlyph, Close, Mic, HelpCircleGlyph } from '../../internal/icons';\n\n// SearchBox composes TextInput — it reuses TextInput's field a11y (label /\n// helper / error), state + fill styles and adornment slots — and adds the SDGA\n// Search Box chrome: a leading magnifier, the voice-search mic (SDGA's trailing\n// icon), Escape-to-clear, `onSearch`, and an off-spec clear (×). It is a form\n// control, so (like TextInput) it does NOT take `asChild`.\ninterface SearchBoxProps extends Omit<TextInputProps, 'startAdornment' | 'endAdornment' | 'type'> {\n /** Fires on Enter with the current query string. */\n onSearch?: (value: string) => void;\n /** Show the SDGA voice-search mic while the field is empty. Default `true`. */\n voiceSearch?: boolean;\n /** Fires when the voice-search mic is activated, with the current query. */\n onVoiceSearch?: (value: string) => void;\n /** Fires when the field is cleared (clear button or Escape). */\n onClear?: () => void;\n /** Show the clear (×) button while the field has a value. Default `true`. */\n clearable?: boolean;\n /** Accessible label for the clear button. Default `'Clear search'`. */\n clearLabel?: string;\n /** Accessible label for the voice-search mic. Default `'Search by voice'`. */\n voiceLabel?: string;\n}\n\n// Set the value via the native setter (bypasses React's value tracker) + dispatch `input`,\n// so clear() fires onChange identically in controlled and uncontrolled mode.\nfunction setNativeInputValue(el: HTMLInputElement, value: string) {\n const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n setter?.call(el, value);\n el.dispatchEvent(new Event('input', { bubbles: true }));\n}\n\nfunction SearchBox({\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onSearch,\n voiceSearch = true,\n onVoiceSearch,\n onClear,\n clearable = true,\n clearLabel = 'Clear search',\n voiceLabel = 'Search by voice',\n helperIcon = <HelpCircleGlyph width={16} height={16} aria-hidden=\"true\" />,\n disabled,\n readOnly,\n className,\n ref,\n ...rest\n}: SearchBoxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n // We need the input node internally (clear() refocuses it), but consumers can\n // also pass a `ref` (TextInputProps advertises it). Merge both onto one\n // callback so neither clobbers the other.\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n // Internally controlled: we always feed `value` to the inner input so the\n // clear button's visibility tracks the current text in both modes.\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string>(\n defaultValue != null ? String(defaultValue) : '',\n );\n const currentValue = isControlled ? String(value ?? '') : internal;\n\n const isLocked = !!disabled || !!readOnly;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setInternal(event.target.value);\n onChange?.(event);\n };\n\n const clear = () => {\n if (isLocked) return;\n const el = inputRef.current;\n if (!el) return;\n setNativeInputValue(el, '');\n el.focus();\n onClear?.();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n\n if (event.key === 'Enter') {\n onSearch?.(currentValue);\n } else if (event.key === 'Escape' && currentValue.length > 0 && !isLocked) {\n // First Escape clears the query; stop it here so a parent overlay\n // (Modal/Popover) only closes on a second, now-empty Escape.\n event.preventDefault();\n event.stopPropagation();\n clear();\n }\n };\n\n const showClear = clearable && currentValue.length > 0 && !isLocked;\n const showVoice = voiceSearch && !showClear;\n\n const trailing = showClear ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={clearLabel}\n data-slot=\"search-box-clear\"\n onClick={clear}\n >\n <Close aria-hidden=\"true\" />\n </Button>\n ) : showVoice ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={voiceLabel}\n data-slot=\"search-box-voice\"\n disabled={isLocked}\n onClick={() => onVoiceSearch?.(currentValue)}\n >\n <Mic aria-hidden=\"true\" />\n </Button>\n ) : undefined;\n\n return (\n <TextInput\n {...rest}\n ref={setRefs}\n type=\"search\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n helperIcon={helperIcon}\n className={cn('ddga-search-box', className)}\n startAdornment={<SearchGlyph data-slot=\"search-box-icon\" aria-hidden=\"true\" />}\n endAdornment={trailing}\n />\n );\n}\n\nexport { SearchBox };\nexport type { SearchBoxProps };\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-BTXKJ4NE.cjs","../src/components/SearchBox/SearchBox.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-BTXKJ4NE.cjs","sourcesContent":[null,"'use client';\n\nimport { useCallback, useRef, useState } from 'react';\nimport { cn } from '../../utils/cn';\nimport { TextInput, type TextInputProps } from '../TextInput';\nimport { Button } from '../Button';\nimport { SearchGlyph, Close, Mic, HelpCircleGlyph } from '../../internal/icons';\n\n// SearchBox composes TextInput — it reuses TextInput's field a11y (label /\n// helper / error), state + fill styles and adornment slots — and adds the SDGA\n// Search Box chrome: a leading magnifier, the voice-search mic (SDGA's trailing\n// icon), Escape-to-clear, `onSearch`, and an off-spec clear (×). It is a form\n// control, so (like TextInput) it does NOT take `asChild`.\ninterface SearchBoxProps extends Omit<TextInputProps, 'startAdornment' | 'endAdornment' | 'type'> {\n /** Fires on Enter with the current query string. */\n onSearch?: (value: string) => void;\n /** Show the SDGA voice-search mic while the field is empty. Default `true`. */\n voiceSearch?: boolean;\n /** Fires when the voice-search mic is activated, with the current query. */\n onVoiceSearch?: (value: string) => void;\n /** Fires when the field is cleared (clear button or Escape). */\n onClear?: () => void;\n /** Show the clear (×) button while the field has a value. Default `true`. */\n clearable?: boolean;\n /** Accessible label for the clear button. Default `'Clear search'`. */\n clearLabel?: string;\n /** Accessible label for the voice-search mic. Default `'Search by voice'`. */\n voiceLabel?: string;\n}\n\n// Set the value via the native setter (bypasses React's value tracker) + dispatch `input`,\n// so clear() fires onChange identically in controlled and uncontrolled mode.\nfunction setNativeInputValue(el: HTMLInputElement, value: string) {\n const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value')?.set;\n setter?.call(el, value);\n el.dispatchEvent(new Event('input', { bubbles: true }));\n}\n\nfunction SearchBox({\n value,\n defaultValue,\n onChange,\n onKeyDown,\n onSearch,\n voiceSearch = true,\n onVoiceSearch,\n onClear,\n clearable = true,\n clearLabel = 'Clear search',\n voiceLabel = 'Search by voice',\n helperIcon = <HelpCircleGlyph width={16} height={16} aria-hidden=\"true\" />,\n disabled,\n readOnly,\n className,\n ref,\n ...rest\n}: SearchBoxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n // We need the input node internally (clear() refocuses it), but consumers can\n // also pass a `ref` (TextInputProps advertises it). Merge both onto one\n // callback so neither clobbers the other.\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n // Internally controlled: we always feed `value` to the inner input so the\n // clear button's visibility tracks the current text in both modes.\n const isControlled = value !== undefined;\n const [internal, setInternal] = useState<string>(\n defaultValue != null ? String(defaultValue) : '',\n );\n const currentValue = isControlled ? String(value ?? '') : internal;\n\n const isLocked = !!disabled || !!readOnly;\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!isControlled) setInternal(event.target.value);\n onChange?.(event);\n };\n\n const clear = () => {\n if (isLocked) return;\n const el = inputRef.current;\n if (!el) return;\n setNativeInputValue(el, '');\n el.focus();\n onClear?.();\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n\n if (event.key === 'Enter') {\n onSearch?.(currentValue);\n } else if (event.key === 'Escape' && currentValue.length > 0 && !isLocked) {\n // First Escape clears the query; stop it here so a parent overlay\n // (Modal/Popover) only closes on a second, now-empty Escape.\n event.preventDefault();\n event.stopPropagation();\n clear();\n }\n };\n\n const showClear = clearable && currentValue.length > 0 && !isLocked;\n const showVoice = voiceSearch && !showClear;\n\n const trailing = showClear ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={clearLabel}\n data-slot=\"search-box-clear\"\n onClick={clear}\n >\n <Close aria-hidden=\"true\" />\n </Button>\n ) : showVoice ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={voiceLabel}\n data-slot=\"search-box-voice\"\n disabled={isLocked}\n onClick={() => onVoiceSearch?.(currentValue)}\n >\n <Mic aria-hidden=\"true\" />\n </Button>\n ) : undefined;\n\n return (\n <TextInput\n {...rest}\n ref={setRefs}\n type=\"search\"\n value={currentValue}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n helperIcon={helperIcon}\n className={cn('ddga-search-box', className)}\n startAdornment={<SearchGlyph data-slot=\"search-box-icon\" aria-hidden=\"true\" />}\n endAdornment={trailing}\n />\n );\n}\n\nexport { SearchBox };\nexport type { SearchBoxProps };\n"]}
@@ -3,10 +3,10 @@
3
3
  var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
4
4
 
5
5
 
6
- var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
6
+ var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
7
7
 
8
8
 
9
- var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
9
+ var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
10
10
 
11
11
  // src/components/SlideoutMenu/SlideoutMenu.tsx
12
12
  var _react = require('react');
@@ -227,4 +227,4 @@ function SlideoutMenuClose({ className, ...props }) {
227
227
 
228
228
 
229
229
  exports.slideoutMenuContentVariants = slideoutMenuContentVariants; exports.SlideoutMenu = SlideoutMenu; exports.SlideoutMenuTrigger = SlideoutMenuTrigger; exports.SlideoutMenuContent = SlideoutMenuContent; exports.SlideoutMenuHeader = SlideoutMenuHeader; exports.SlideoutMenuTitle = SlideoutMenuTitle; exports.SlideoutMenuDescription = SlideoutMenuDescription; exports.SlideoutMenuBody = SlideoutMenuBody; exports.SlideoutMenuGroup = SlideoutMenuGroup; exports.SlideoutMenuItem = SlideoutMenuItem; exports.SlideoutMenuSeparator = SlideoutMenuSeparator; exports.SlideoutMenuFooter = SlideoutMenuFooter; exports.SlideoutMenuClose = SlideoutMenuClose;
230
- //# sourceMappingURL=chunk-V7U2CXYL.cjs.map
230
+ //# sourceMappingURL=chunk-C5BPJIIC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-V7U2CXYL.cjs","../src/components/SlideoutMenu/SlideoutMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-V7U2CXYL.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, useId } from 'react';\nimport { Dialog as DialogPrimitive, Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\nimport { Close } from '../../internal/icons';\n\n// Nav panel on Radix Dialog. Uses <ul>/<li>/link semantics, NOT role=\"menu\" (which breaks SR browse mode for site nav).\n\nconst slideoutMenuContentVariants = cva('ddga-slideout-menu', {\n variants: {\n side: {\n start: 'ddga-slideout-menu--start',\n end: 'ddga-slideout-menu--end',\n },\n /** Panel surface — SDGA \"Background Color\". Gray (`gray-100`) or White. */\n background: {\n gray: 'ddga-slideout-menu--gray',\n white: 'ddga-slideout-menu--white',\n },\n },\n defaultVariants: {\n side: 'start',\n background: 'gray',\n },\n});\n\ntype SlideoutMenuProps = React.ComponentProps<typeof DialogPrimitive.Root>;\ntype SlideoutMenuTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;\ntype SlideoutMenuCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;\n\ninterface SlideoutMenuContentProps\n extends\n React.ComponentProps<typeof DialogPrimitive.Content>,\n VariantProps<typeof slideoutMenuContentVariants> {}\n\ninterface SlideoutMenuHeaderProps extends React.ComponentProps<'div'> {\n /** Optional featured icon, shown in a 32px brand-tinted disc before the title. */\n icon?: React.ReactNode;\n /** Render the close (X) button. Defaults to `true`. */\n showCloseButton?: boolean;\n /** Localized aria-label for the close button. Defaults to `\"Close\"`. */\n closeLabel?: string;\n}\n\ninterface SlideoutMenuTitleProps extends React.ComponentProps<typeof DialogPrimitive.Title> {\n asChild?: boolean;\n}\n\ninterface SlideoutMenuDescriptionProps extends React.ComponentProps<\n typeof DialogPrimitive.Description\n> {\n asChild?: boolean;\n}\n\ntype SlideoutMenuSectionProps = React.ComponentProps<'div'> & { asChild?: boolean };\n\ninterface SlideoutMenuGroupProps extends React.ComponentProps<'div'> {\n /** Section heading rendered above the list (SDGA \"Group Label\"). */\n label?: React.ReactNode;\n}\n\ninterface SlideoutMenuItemProps extends React.ComponentProps<'button'> {\n /** Render as the child element (e.g. an `<a>` or router `<Link>`). */\n asChild?: boolean;\n /** Leading 24px icon. */\n icon?: React.ReactNode;\n /** Trailing slot — counter text, an icon button, a check, a `Tag`, etc. */\n trailing?: React.ReactNode;\n /** Marks the current page — sets `aria-current=\"page\"` and the active style. */\n active?: boolean;\n}\n\nfunction SlideoutMenu(props: SlideoutMenuProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction SlideoutMenuTrigger({ className, ...props }: SlideoutMenuTriggerProps) {\n return (\n <DialogPrimitive.Trigger data-slot=\"slideout-menu-trigger\" className={className} {...props} />\n );\n}\n\nfunction SlideoutMenuContent({\n side,\n background,\n className,\n children,\n ...props\n}: SlideoutMenuContentProps) {\n // Portal anchored to the provider root so theme/dark-mode inherit and the fixed panel escapes ancestor transforms.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay\n className=\"ddga-slideout-menu__overlay\"\n data-slot=\"slideout-menu-overlay\"\n />\n <DialogPrimitive.Content\n data-slot=\"slideout-menu-content\"\n className={cn(slideoutMenuContentVariants({ side, background }), className)}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\nfunction SlideoutMenuHeader({\n icon,\n showCloseButton = true,\n closeLabel = 'Close',\n className,\n children,\n ...props\n}: SlideoutMenuHeaderProps) {\n return (\n <div\n data-slot=\"slideout-menu-header\"\n className={cn('ddga-slideout-menu__header', className)}\n {...props}\n >\n <div className=\"ddga-slideout-menu__header-content\">\n {icon ? (\n <span\n data-slot=\"slideout-menu-featured-icon\"\n className=\"ddga-slideout-menu__featured-icon\"\n aria-hidden=\"true\"\n >\n {icon}\n </span>\n ) : null}\n <div className=\"ddga-slideout-menu__header-text\">{children}</div>\n </div>\n {showCloseButton ? (\n <DialogPrimitive.Close\n className=\"ddga-slideout-menu__close\"\n aria-label={closeLabel}\n data-slot=\"slideout-menu-close-x\"\n >\n <Close aria-hidden=\"true\" />\n </DialogPrimitive.Close>\n ) : null}\n </div>\n );\n}\n\nfunction SlideoutMenuTitle({ asChild, className, ...props }: SlideoutMenuTitleProps) {\n return (\n <DialogPrimitive.Title\n asChild={asChild}\n data-slot=\"slideout-menu-title\"\n className={cn('ddga-slideout-menu__title', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuDescription({ asChild, className, ...props }: SlideoutMenuDescriptionProps) {\n return (\n <DialogPrimitive.Description\n asChild={asChild}\n data-slot=\"slideout-menu-description\"\n className={cn('ddga-slideout-menu__description', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuBody({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n // asChild lets consumers make the scroll region a `<nav aria-label>` landmark.\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-body\"\n className={cn('ddga-slideout-menu__body', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuGroup({ label, className, children, ...props }: SlideoutMenuGroupProps) {\n const labelId = useId();\n return (\n <div\n data-slot=\"slideout-menu-group\"\n className={cn('ddga-slideout-menu__group', className)}\n {...props}\n >\n {label != null ? (\n <div id={labelId} className=\"ddga-slideout-menu__group-label\">\n {label}\n </div>\n ) : null}\n <ul\n className=\"ddga-slideout-menu__list\"\n {...(label != null ? { 'aria-labelledby': labelId } : {})}\n >\n {children}\n </ul>\n </div>\n );\n}\n\nfunction SlideoutMenuItem({\n asChild,\n icon,\n trailing,\n active,\n className,\n children,\n ...props\n}: SlideoutMenuItemProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n return (\n <li data-slot=\"slideout-menu-item-wrapper\" className=\"ddga-slideout-menu__item-wrapper\">\n <Comp\n data-slot=\"slideout-menu-item\"\n className={cn('ddga-slideout-menu__item', className)}\n data-active={active ? '' : undefined}\n aria-current={active ? 'page' : undefined}\n {...(asChild ? {} : { type: 'button' as const })}\n {...props}\n >\n {icon ? (\n <span className=\"ddga-slideout-menu__item-icon\" aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n {asChild ? (\n <SlotPrimitive.Slottable>{children}</SlotPrimitive.Slottable>\n ) : (\n <span className=\"ddga-slideout-menu__item-label\">{children}</span>\n )}\n {trailing ? <span className=\"ddga-slideout-menu__item-trailing\">{trailing}</span> : null}\n </Comp>\n </li>\n );\n}\n\nfunction SlideoutMenuSeparator({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"slideout-menu-separator\"\n role=\"separator\"\n className={cn('ddga-slideout-menu__separator', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuFooter({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-footer\"\n className={cn('ddga-slideout-menu__footer', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuClose({ className, ...props }: SlideoutMenuCloseProps) {\n return <DialogPrimitive.Close data-slot=\"slideout-menu-close\" className={className} {...props} />;\n}\n\nexport {\n SlideoutMenu,\n SlideoutMenuTrigger,\n SlideoutMenuContent,\n SlideoutMenuHeader,\n SlideoutMenuTitle,\n SlideoutMenuDescription,\n SlideoutMenuBody,\n SlideoutMenuGroup,\n SlideoutMenuItem,\n SlideoutMenuSeparator,\n SlideoutMenuFooter,\n SlideoutMenuClose,\n slideoutMenuContentVariants,\n};\nexport type {\n SlideoutMenuProps,\n SlideoutMenuTriggerProps,\n SlideoutMenuContentProps,\n SlideoutMenuHeaderProps,\n SlideoutMenuTitleProps,\n SlideoutMenuDescriptionProps,\n SlideoutMenuSectionProps,\n SlideoutMenuGroupProps,\n SlideoutMenuItemProps,\n SlideoutMenuCloseProps,\n};\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-C5BPJIIC.cjs","../src/components/SlideoutMenu/SlideoutMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-C5BPJIIC.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, useId } from 'react';\nimport { Dialog as DialogPrimitive, Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\nimport { Close } from '../../internal/icons';\n\n// Nav panel on Radix Dialog. Uses <ul>/<li>/link semantics, NOT role=\"menu\" (which breaks SR browse mode for site nav).\n\nconst slideoutMenuContentVariants = cva('ddga-slideout-menu', {\n variants: {\n side: {\n start: 'ddga-slideout-menu--start',\n end: 'ddga-slideout-menu--end',\n },\n /** Panel surface — SDGA \"Background Color\". Gray (`gray-100`) or White. */\n background: {\n gray: 'ddga-slideout-menu--gray',\n white: 'ddga-slideout-menu--white',\n },\n },\n defaultVariants: {\n side: 'start',\n background: 'gray',\n },\n});\n\ntype SlideoutMenuProps = React.ComponentProps<typeof DialogPrimitive.Root>;\ntype SlideoutMenuTriggerProps = React.ComponentProps<typeof DialogPrimitive.Trigger>;\ntype SlideoutMenuCloseProps = React.ComponentProps<typeof DialogPrimitive.Close>;\n\ninterface SlideoutMenuContentProps\n extends\n React.ComponentProps<typeof DialogPrimitive.Content>,\n VariantProps<typeof slideoutMenuContentVariants> {}\n\ninterface SlideoutMenuHeaderProps extends React.ComponentProps<'div'> {\n /** Optional featured icon, shown in a 32px brand-tinted disc before the title. */\n icon?: React.ReactNode;\n /** Render the close (X) button. Defaults to `true`. */\n showCloseButton?: boolean;\n /** Localized aria-label for the close button. Defaults to `\"Close\"`. */\n closeLabel?: string;\n}\n\ninterface SlideoutMenuTitleProps extends React.ComponentProps<typeof DialogPrimitive.Title> {\n asChild?: boolean;\n}\n\ninterface SlideoutMenuDescriptionProps extends React.ComponentProps<\n typeof DialogPrimitive.Description\n> {\n asChild?: boolean;\n}\n\ntype SlideoutMenuSectionProps = React.ComponentProps<'div'> & { asChild?: boolean };\n\ninterface SlideoutMenuGroupProps extends React.ComponentProps<'div'> {\n /** Section heading rendered above the list (SDGA \"Group Label\"). */\n label?: React.ReactNode;\n}\n\ninterface SlideoutMenuItemProps extends React.ComponentProps<'button'> {\n /** Render as the child element (e.g. an `<a>` or router `<Link>`). */\n asChild?: boolean;\n /** Leading 24px icon. */\n icon?: React.ReactNode;\n /** Trailing slot — counter text, an icon button, a check, a `Tag`, etc. */\n trailing?: React.ReactNode;\n /** Marks the current page — sets `aria-current=\"page\"` and the active style. */\n active?: boolean;\n}\n\nfunction SlideoutMenu(props: SlideoutMenuProps) {\n return <DialogPrimitive.Root {...props} />;\n}\n\nfunction SlideoutMenuTrigger({ className, ...props }: SlideoutMenuTriggerProps) {\n return (\n <DialogPrimitive.Trigger data-slot=\"slideout-menu-trigger\" className={className} {...props} />\n );\n}\n\nfunction SlideoutMenuContent({\n side,\n background,\n className,\n children,\n ...props\n}: SlideoutMenuContentProps) {\n // Portal anchored to the provider root so theme/dark-mode inherit and the fixed panel escapes ancestor transforms.\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DialogPrimitive.Portal container={portalContainer}>\n <DialogPrimitive.Overlay\n className=\"ddga-slideout-menu__overlay\"\n data-slot=\"slideout-menu-overlay\"\n />\n <DialogPrimitive.Content\n data-slot=\"slideout-menu-content\"\n className={cn(slideoutMenuContentVariants({ side, background }), className)}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\nfunction SlideoutMenuHeader({\n icon,\n showCloseButton = true,\n closeLabel = 'Close',\n className,\n children,\n ...props\n}: SlideoutMenuHeaderProps) {\n return (\n <div\n data-slot=\"slideout-menu-header\"\n className={cn('ddga-slideout-menu__header', className)}\n {...props}\n >\n <div className=\"ddga-slideout-menu__header-content\">\n {icon ? (\n <span\n data-slot=\"slideout-menu-featured-icon\"\n className=\"ddga-slideout-menu__featured-icon\"\n aria-hidden=\"true\"\n >\n {icon}\n </span>\n ) : null}\n <div className=\"ddga-slideout-menu__header-text\">{children}</div>\n </div>\n {showCloseButton ? (\n <DialogPrimitive.Close\n className=\"ddga-slideout-menu__close\"\n aria-label={closeLabel}\n data-slot=\"slideout-menu-close-x\"\n >\n <Close aria-hidden=\"true\" />\n </DialogPrimitive.Close>\n ) : null}\n </div>\n );\n}\n\nfunction SlideoutMenuTitle({ asChild, className, ...props }: SlideoutMenuTitleProps) {\n return (\n <DialogPrimitive.Title\n asChild={asChild}\n data-slot=\"slideout-menu-title\"\n className={cn('ddga-slideout-menu__title', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuDescription({ asChild, className, ...props }: SlideoutMenuDescriptionProps) {\n return (\n <DialogPrimitive.Description\n asChild={asChild}\n data-slot=\"slideout-menu-description\"\n className={cn('ddga-slideout-menu__description', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuBody({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n // asChild lets consumers make the scroll region a `<nav aria-label>` landmark.\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-body\"\n className={cn('ddga-slideout-menu__body', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuGroup({ label, className, children, ...props }: SlideoutMenuGroupProps) {\n const labelId = useId();\n return (\n <div\n data-slot=\"slideout-menu-group\"\n className={cn('ddga-slideout-menu__group', className)}\n {...props}\n >\n {label != null ? (\n <div id={labelId} className=\"ddga-slideout-menu__group-label\">\n {label}\n </div>\n ) : null}\n <ul\n className=\"ddga-slideout-menu__list\"\n {...(label != null ? { 'aria-labelledby': labelId } : {})}\n >\n {children}\n </ul>\n </div>\n );\n}\n\nfunction SlideoutMenuItem({\n asChild,\n icon,\n trailing,\n active,\n className,\n children,\n ...props\n}: SlideoutMenuItemProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'button';\n return (\n <li data-slot=\"slideout-menu-item-wrapper\" className=\"ddga-slideout-menu__item-wrapper\">\n <Comp\n data-slot=\"slideout-menu-item\"\n className={cn('ddga-slideout-menu__item', className)}\n data-active={active ? '' : undefined}\n aria-current={active ? 'page' : undefined}\n {...(asChild ? {} : { type: 'button' as const })}\n {...props}\n >\n {icon ? (\n <span className=\"ddga-slideout-menu__item-icon\" aria-hidden=\"true\">\n {icon}\n </span>\n ) : null}\n {asChild ? (\n <SlotPrimitive.Slottable>{children}</SlotPrimitive.Slottable>\n ) : (\n <span className=\"ddga-slideout-menu__item-label\">{children}</span>\n )}\n {trailing ? <span className=\"ddga-slideout-menu__item-trailing\">{trailing}</span> : null}\n </Comp>\n </li>\n );\n}\n\nfunction SlideoutMenuSeparator({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"slideout-menu-separator\"\n role=\"separator\"\n className={cn('ddga-slideout-menu__separator', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuFooter({ asChild, className, ...props }: SlideoutMenuSectionProps) {\n const Comp = asChild ? SlotPrimitive.Slot : 'div';\n return (\n <Comp\n data-slot=\"slideout-menu-footer\"\n className={cn('ddga-slideout-menu__footer', className)}\n {...props}\n />\n );\n}\n\nfunction SlideoutMenuClose({ className, ...props }: SlideoutMenuCloseProps) {\n return <DialogPrimitive.Close data-slot=\"slideout-menu-close\" className={className} {...props} />;\n}\n\nexport {\n SlideoutMenu,\n SlideoutMenuTrigger,\n SlideoutMenuContent,\n SlideoutMenuHeader,\n SlideoutMenuTitle,\n SlideoutMenuDescription,\n SlideoutMenuBody,\n SlideoutMenuGroup,\n SlideoutMenuItem,\n SlideoutMenuSeparator,\n SlideoutMenuFooter,\n SlideoutMenuClose,\n slideoutMenuContentVariants,\n};\nexport type {\n SlideoutMenuProps,\n SlideoutMenuTriggerProps,\n SlideoutMenuContentProps,\n SlideoutMenuHeaderProps,\n SlideoutMenuTitleProps,\n SlideoutMenuDescriptionProps,\n SlideoutMenuSectionProps,\n SlideoutMenuGroupProps,\n SlideoutMenuItemProps,\n SlideoutMenuCloseProps,\n};\n"]}
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  Drawer,
10
10
  DrawerContent
11
- } from "./chunk-TG2IDU3W.js";
11
+ } from "./chunk-6UMASQFJ.js";
12
12
  import {
13
13
  PanelLeft
14
14
  } from "./chunk-FFGALWM2.js";
@@ -227,4 +227,4 @@ export {
227
227
  SidebarFooter,
228
228
  SidebarSeparator
229
229
  };
230
- //# sourceMappingURL=chunk-NKCBDSI2.js.map
230
+ //# sourceMappingURL=chunk-C7QGHL2M.js.map
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunkG6ZOJVIGcjs = require('./chunk-G6ZOJVIG.cjs');
6
+ var _chunkU6YLGSAQcjs = require('./chunk-U6YLGSAQ.cjs');
7
7
 
8
8
 
9
9
 
@@ -200,7 +200,7 @@ function CodeSnippet({
200
200
  ...props,
201
201
  dir: "ltr",
202
202
  children: showTabs ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
203
- _chunkG6ZOJVIGcjs.Tabs,
203
+ _chunkU6YLGSAQcjs.Tabs,
204
204
  {
205
205
  dir: "ltr",
206
206
  className: "ddga-code-snippet__tabs",
@@ -208,8 +208,8 @@ function CodeSnippet({
208
208
  defaultValue: _nullishCoalesce(defaultValue, () => ( languages[0].value)),
209
209
  onValueChange,
210
210
  children: [
211
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG6ZOJVIGcjs.TabsList, { className: "ddga-code-snippet__tab-list", children: languages.map((l) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG6ZOJVIGcjs.TabsTrigger, { value: l.value, children: l.label }, l.value)) }),
212
- languages.map((l) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkG6ZOJVIGcjs.TabsContent, { value: l.value, className: "ddga-code-snippet__tab-content", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CodeSnippetPanel, { ...panelFor(l) }) }, l.value))
211
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6YLGSAQcjs.TabsList, { className: "ddga-code-snippet__tab-list", children: languages.map((l) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6YLGSAQcjs.TabsTrigger, { value: l.value, children: l.label }, l.value)) }),
212
+ languages.map((l) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU6YLGSAQcjs.TabsContent, { value: l.value, className: "ddga-code-snippet__tab-content", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CodeSnippetPanel, { ...panelFor(l) }) }, l.value))
213
213
  ]
214
214
  }
215
215
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CodeSnippetPanel, { ...panelFor(languages[0]) })
@@ -257,4 +257,4 @@ function CodeSnippetInline({
257
257
 
258
258
 
259
259
  exports.CodeSnippet = CodeSnippet; exports.CodeSnippetInline = CodeSnippetInline;
260
- //# sourceMappingURL=chunk-7F24FFIV.cjs.map
260
+ //# sourceMappingURL=chunk-DI3WGH7W.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-7F24FFIV.cjs","../src/components/CodeSnippet/CodeSnippet.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACbA,8BAA4D;AAyFtD,+CAAA;AAvCN,IAAM,eAAA,EAA8E;AAAA,EAClF,IAAA,EAAM,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACxC,CAAA,EAAG,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACrC,GAAA,EAAK,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACvC,KAAA,EAAO,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACzC,GAAA,EAAK,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACvC,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACtC,UAAA,EAAY,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EAC9C,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EACtC,UAAA,EAAY,EAAE,IAAA,EAAM,IAAA,EAAM,KAAA,EAAO,CAAC,IAAA,EAAM,IAAI,EAAE,CAAA;AAAA,EAC9C,MAAA,EAAQ,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EACpB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EAChB,IAAA,EAAM,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EAClB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EAChB,IAAA,EAAM,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EAClB,KAAA,EAAO,EAAE,IAAA,EAAM,IAAI,CAAA;AAAA,EACnB,IAAA,EAAM,EAAE,KAAA,EAAO,CAAC,MAAA,EAAQ,KAAK,EAAE,CAAA;AAAA,EAC/B,GAAA,EAAK,EAAE,KAAA,EAAO,CAAC,MAAA,EAAQ,KAAK,EAAE;AAChC,CAAA;AAEA,SAAS,iBAAA,CAAkB,IAAA,EAAc,QAAA,EAA6B;AACpE,EAAA,MAAM,OAAA,mBAAS,cAAA,CAAe,QAAA,CAAS,WAAA,CAAY,CAAC,CAAA,UAAK,CAAC,GAAA;AAC1D,EAAA,MAAM,MAAA,EAAQ,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC7B,EAAA,IAAI,QAAA,EAAU,KAAA;AACd,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,CAAA,EAAA,GAAM;AAC5B,IAAA,MAAM,QAAA,EAAU,IAAA,CAAK,SAAA,CAAU,CAAA;AAC/B,IAAA,IAAI,UAAA,EAAY,KAAA;AAChB,IAAA,GAAA,CAAI,MAAA,CAAO,KAAA,EAAO;AAChB,MAAA,MAAM,CAAC,IAAA,EAAM,KAAK,EAAA,EAAI,MAAA,CAAO,KAAA;AAC7B,MAAA,GAAA,CAAI,OAAA,EAAS;AACX,QAAA,UAAA,EAAY,IAAA;AACZ,QAAA,GAAA,CAAI,IAAA,CAAK,QAAA,CAAS,KAAK,CAAA,EAAG,QAAA,EAAU,KAAA;AAAA,MACtC,EAAA,KAAA,GAAA,CAAW,OAAA,CAAQ,UAAA,CAAW,IAAI,CAAA,EAAG;AACnC,QAAA,UAAA,EAAY,IAAA;AACZ,QAAA,GAAA,CAAI,IAAA,CAAK,OAAA,CAAQ,KAAA,EAAO,IAAA,CAAK,OAAA,CAAQ,IAAI,EAAA,EAAI,IAAA,CAAK,MAAM,EAAA,IAAM,CAAA,CAAA,EAAI,QAAA,EAAU,IAAA;AAAA,MAC9E;AAAA,IACF;AACA,IAAA,GAAA,CAAI,CAAC,UAAA,GAAa,MAAA,CAAO,KAAA,GAAQ,OAAA,CAAQ,UAAA,CAAW,MAAA,CAAO,IAAI,CAAA,EAAG,UAAA,EAAY,IAAA;AAC9E,IAAA,uBACE,6BAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QAEC,SAAA,EAAW,kCAAA,yBAAG,EAA2B,UAAA,GAAa,kCAAkC,CAAA;AAAA,QAEvF,QAAA,EAAA;AAAA,MAAA,CAAA;AAAA,MAHI;AAAA,IAIP,CAAA;AAAA,EAEJ,CAAC,CAAA;AACH;AAEA,SAAS,UAAA,CAAW;AAAA,EAClB,IAAA;AAAA,EACA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,EAAY,WAAA;AAAA,EACZ,YAAA,EAAc;AAChB,CAAA,EAMG;AACD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,EAAA,EAAI,6BAAA,KAAc,CAAA;AAC1C,EAAA,MAAM,MAAA,EAAQ,2BAAA,KAAsC,CAAS,CAAA;AAC7D,EAAA,8BAAA,CAAU,EAAA,GAAM,CAAA,EAAA,GAAM,YAAA,CAAa,KAAA,CAAM,OAAO,CAAA,EAAG,CAAC,CAAC,CAAA;AAErD,EAAA,MAAA,SAAe,UAAA,CAAA,EAAa;AAC1B,IAAA,GAAA,CAAI,OAAO,UAAA,IAAc,YAAA,GAAe,iBAAC,SAAA,qBAAU,SAAA,6BAAW,WAAA,EAAW,MAAA;AACzE,IAAA,IAAI;AACF,MAAA,MAAM,SAAA,CAAU,SAAA,CAAU,SAAA,CAAU,IAAI,CAAA;AAAA,IAC1C,EAAA,UAAQ;AACN,MAAA,MAAA;AAAA,IACF;AACA,oBAAA,MAAA,0BAAA,CAAS,IAAI,GAAA;AACb,IAAA,SAAA,CAAU,IAAI,CAAA;AACd,IAAA,YAAA,CAAa,KAAA,CAAM,OAAO,CAAA;AAC1B,IAAA,KAAA,CAAM,QAAA,EAAU,UAAA,CAAW,CAAA,EAAA,GAAM,SAAA,CAAU,KAAK,CAAA,EAAG,IAAI,CAAA;AAAA,EACzD;AAEA,EAAA,uBACE,8BAAA,oBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,6BAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAS,UAAA;AAAA,QACT,YAAA,EAAY,SAAA;AAAA,QACZ,WAAA,EAAU,mBAAA;AAAA,QACV,SAAA,EAAW,kCAAA,gCAAG,EAAkC,CAAA,gCAAA,EAAmC,IAAI,CAAA,CAAA;AAErD,QAAA;AAAkB,MAAA;AACtD,IAAA;AAGG,oBAAA;AAEL,EAAA;AAEJ;AAc0B;AACxB,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACa;AACyB,EAAA;AACiB,EAAA;AACrB,EAAA;AAGoB,EAAA;AAClD,oBAAA;AAAC,MAAA;AAAA,MAAA;AACY,QAAA;AACT,UAAA;AACa,UAAA;AACf,QAAA;AAIM,QAAA;AAGL,QAAA;AAC4C,UAAA;AAS3C,0BAAA;AAOF,QAAA;AAAA,MAAA;AACF,IAAA;AACA,oBAAA;AAAC,MAAA;AAAA,MAAA;AACgB,QAAA;AACV,QAAA;AACL,QAAA;AACA,QAAA;AACA,QAAA;AAAA,MAAA;AACF,IAAA;AAEE,IAAA;AAAC,MAAA;AAAA,MAAA;AACM,QAAA;AACK,QAAA;AACK,QAAA;AACN,QAAA;AAER,QAAA;AAAyB,UAAA;AAC1B,0BAAA;AAAC,YAAA;AAAA,YAAA;AACY,cAAA;AACA,cAAA;AACT,gBAAA;AACY,gBAAA;AACd,cAAA;AAAA,YAAA;AACF,UAAA;AAAA,QAAA;AAAA,MAAA;AACF,IAAA;AAEJ,EAAA;AAEJ;AAEqB;AACnB,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACc,EAAA;AACd,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACG,EAAA;AACgB;AAEiD,EAAA;AAChC,EAAA;AACU,EAAA;AAClC,IAAA;AACV,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAC4B,IAAA;AACiD,IAAA;AAC/E,EAAA;AAEA,EAAA;AAAA;AAEE,oBAAA;AAAC,MAAA;AAAA,MAAA;AACW,QAAA;AACkC,QAAA;AACxC,QAAA;AACA,QAAA;AAGF,QAAA;AAAC,UAAA;AAAA,UAAA;AACK,YAAA;AACM,YAAA;AACV,YAAA;AAC2C,YAAA;AAC3C,YAAA;AAEA,YAAA;AACG,8BAAA;AAO0C,cAAA;AAG5C,YAAA;AAAA,UAAA;AAG2C,QAAA;AAAA,MAAA;AAElD,IAAA;AAAA,EAAA;AAEJ;AAE2B;AACzB,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACG,EAAA;AACsB;AAEvB,EAAA;AAAC,IAAA;AAAA,IAAA;AACW,MAAA;AACyC,MAAA;AAC/C,MAAA;AACA,MAAA;AAEJ,MAAA;AACG,wBAAA;AACiB,UAAA;AAIkC,0BAAA;AAGtD,QAAA;AACA,wBAAA;AAAC,UAAA;AAAA,UAAA;AACO,YAAA;AACD,YAAA;AACL,YAAA;AACA,YAAA;AACA,YAAA;AAAA,UAAA;AACF,QAAA;AAAA,MAAA;AAAA,IAAA;AACF,EAAA;AAEJ;ADnFgG;AACA;AACA;AACA;AACA","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-7F24FFIV.cjs","sourcesContent":[null,"'use client';\n\nimport { useEffect, useRef, useState, type ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../Tabs/Tabs';\nimport { Copy, Check, ChevronDown } from '../../internal/icons';\n\ninterface CodeSnippetLanguage {\n /** Stable id for the tab + active state. */\n value: string;\n /** Tab label (shown only when more than one language). */\n label: string;\n /** The code for this language — drives the gutter, copy, and default rendering. */\n code: string;\n}\n\ninterface CodeSnippetProps extends Omit<React.ComponentProps<'div'>, 'children' | 'onCopy'> {\n /** One entry per language. A single entry hides the tab bar (SDGA single-tab). */\n languages: CodeSnippetLanguage[];\n /** Controlled active language. */\n value?: string;\n /** Uncontrolled initial active language (defaults to the first). */\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n /** Render the line-number gutter. @default true */\n lineNumbers?: boolean;\n /** Collapse to this many lines with a Show More toggle when exceeded. */\n maxLines?: number;\n /** Escape hatch: render highlighted code yourself; the active `code` still drives copy + line count. */\n renderCode?: (ctx: { code: string; language: string }) => ReactNode;\n onCopy?: (text: string) => void;\n /** Accessible name for the copy button. @default 'Copy code' */\n copyLabel?: string;\n /** Live-region text announced after a successful copy. @default 'Copied' */\n copiedLabel?: string;\n}\n\ninterface CodeSnippetInlineProps extends Omit<\n React.ComponentProps<'div'>,\n 'onCopy' | 'prefix' | 'children'\n> {\n /** The command text — copied verbatim. */\n children: string;\n /** Leading label (e.g. `npm`) — rendered in gold. */\n prefix?: ReactNode;\n onCopy?: (text: string) => void;\n /** Accessible name for the copy button. @default 'Copy code' */\n copyLabel?: string;\n /** Live-region text announced after a successful copy. @default 'Copied' */\n copiedLabel?: string;\n}\n\nconst COMMENT_SYNTAX: Record<string, { line?: string; block?: [string, string] }> = {\n java: { line: '//', block: ['/*', '*/'] },\n c: { line: '//', block: ['/*', '*/'] },\n cpp: { line: '//', block: ['/*', '*/'] },\n 'c++': { line: '//', block: ['/*', '*/'] },\n php: { line: '//', block: ['/*', '*/'] },\n js: { line: '//', block: ['/*', '*/'] },\n javascript: { line: '//', block: ['/*', '*/'] },\n ts: { line: '//', block: ['/*', '*/'] },\n typescript: { line: '//', block: ['/*', '*/'] },\n python: { line: '#' },\n py: { line: '#' },\n ruby: { line: '#' },\n sh: { line: '#' },\n bash: { line: '#' },\n shell: { line: '#' },\n html: { block: ['<!--', '-->'] },\n xml: { block: ['<!--', '-->'] },\n};\n\nfunction renderGreyedLines(code: string, language: string): ReactNode {\n const syntax = COMMENT_SYNTAX[language.toLowerCase()] ?? {};\n const lines = code.split('\\n');\n let inBlock = false;\n return lines.map((line, i) => {\n const trimmed = line.trimStart();\n let isComment = false;\n if (syntax.block) {\n const [open, close] = syntax.block;\n if (inBlock) {\n isComment = true;\n if (line.includes(close)) inBlock = false;\n } else if (trimmed.startsWith(open)) {\n isComment = true;\n if (line.indexOf(close, line.indexOf(open) + open.length) === -1) inBlock = true;\n }\n }\n if (!isComment && syntax.line && trimmed.startsWith(syntax.line)) isComment = true;\n return (\n <span\n key={i}\n className={cn('ddga-code-snippet__line', isComment && 'ddga-code-snippet__line--comment')}\n >\n {line}\n </span>\n );\n });\n}\n\nfunction CopyButton({\n text,\n size,\n onCopy,\n copyLabel = 'Copy code',\n copiedLabel = 'Copied',\n}: {\n text: string;\n size: 'sm' | 'md';\n onCopy?: (text: string) => void;\n copyLabel?: string;\n copiedLabel?: string;\n}) {\n const [copied, setCopied] = useState(false);\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n\n async function handleCopy() {\n if (typeof navigator === 'undefined' || !navigator.clipboard?.writeText) return;\n try {\n await navigator.clipboard.writeText(text);\n } catch {\n return;\n }\n onCopy?.(text);\n setCopied(true);\n clearTimeout(timer.current);\n timer.current = setTimeout(() => setCopied(false), 1500);\n }\n\n return (\n <>\n <button\n type=\"button\"\n onClick={handleCopy}\n aria-label={copyLabel}\n data-slot=\"code-snippet-copy\"\n className={cn('ddga-code-snippet__copy-button', `ddga-code-snippet__copy-button--${size}`)}\n >\n {copied ? <Check aria-hidden /> : <Copy aria-hidden />}\n </button>\n {/* Sibling, not a child — a live region inside the button leaks into its name. */}\n <span className=\"ddga-sr-only\" aria-live=\"polite\">\n {copied ? copiedLabel : ''}\n </span>\n </>\n );\n}\n\ninterface PanelProps {\n language: CodeSnippetLanguage;\n lineNumbers: boolean;\n maxLines?: number;\n renderCode?: CodeSnippetProps['renderCode'];\n onCopy?: (text: string) => void;\n copyLabel?: string;\n copiedLabel?: string;\n expanded: boolean;\n onToggleExpanded: () => void;\n}\n\nfunction CodeSnippetPanel({\n language,\n lineNumbers,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n expanded,\n onToggleExpanded,\n}: PanelProps) {\n const lines = language.code.split('\\n');\n const collapsible = maxLines != null && lines.length > maxLines;\n const collapsed = collapsible && !expanded;\n\n return (\n <div className=\"ddga-code-snippet__panel\" data-slot=\"code-snippet-panel\">\n <div\n className={cn(\n 'ddga-code-snippet__viewport',\n collapsed && 'ddga-code-snippet__viewport--collapsed',\n )}\n style={\n collapsed\n ? ({ '--ddga-code-snippet-max-lines': maxLines } as React.CSSProperties)\n : undefined\n }\n >\n {lineNumbers && (\n <div className=\"ddga-code-snippet__gutter\" aria-hidden>\n {lines.map((_, i) => (\n <span key={i} className=\"ddga-code-snippet__line-number\">\n {i + 1}\n </span>\n ))}\n </div>\n )}\n <div className=\"ddga-code-snippet__scroll\">\n <pre className=\"ddga-code-snippet__code\">\n <code>\n {renderCode\n ? renderCode({ code: language.code, language: language.value })\n : renderGreyedLines(language.code, language.value)}\n </code>\n </pre>\n </div>\n </div>\n <CopyButton\n text={language.code}\n size=\"md\"\n onCopy={onCopy}\n copyLabel={copyLabel}\n copiedLabel={copiedLabel}\n />\n {collapsible && (\n <button\n type=\"button\"\n className=\"ddga-code-snippet__show-more\"\n aria-expanded={expanded}\n onClick={onToggleExpanded}\n >\n {expanded ? 'Show Less' : 'Show More'}\n <ChevronDown\n aria-hidden\n className={cn(\n 'ddga-code-snippet__show-more-icon',\n expanded && 'ddga-code-snippet__show-more-icon--up',\n )}\n />\n </button>\n )}\n </div>\n );\n}\n\nfunction CodeSnippet({\n languages,\n value,\n defaultValue,\n onValueChange,\n lineNumbers = true,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n className,\n ...props\n}: CodeSnippetProps) {\n // expand state lives here (keyed by language) so it survives Radix unmounting inactive tab panels.\n const [expanded, setExpanded] = useState<Record<string, boolean>>({});\n const showTabs = languages.length > 1;\n const panelFor = (l: CodeSnippetLanguage) => ({\n language: l,\n lineNumbers,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n expanded: !!expanded[l.value],\n onToggleExpanded: () => setExpanded((m) => ({ ...m, [l.value]: !m[l.value] })),\n });\n\n return (\n // Code is always LTR — force it at the root so the whole component ignores page direction.\n <div\n data-slot=\"code-snippet\"\n className={cn('ddga-code-snippet', className)}\n {...props}\n dir=\"ltr\"\n >\n {showTabs ? (\n <Tabs\n dir=\"ltr\"\n className=\"ddga-code-snippet__tabs\"\n value={value}\n defaultValue={defaultValue ?? languages[0].value}\n onValueChange={onValueChange}\n >\n <TabsList className=\"ddga-code-snippet__tab-list\">\n {languages.map((l) => (\n <TabsTrigger key={l.value} value={l.value}>\n {l.label}\n </TabsTrigger>\n ))}\n </TabsList>\n {languages.map((l) => (\n <TabsContent key={l.value} value={l.value} className=\"ddga-code-snippet__tab-content\">\n <CodeSnippetPanel {...panelFor(l)} />\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <CodeSnippetPanel {...panelFor(languages[0])} />\n )}\n </div>\n );\n}\n\nfunction CodeSnippetInline({\n prefix,\n children,\n onCopy,\n copyLabel,\n copiedLabel,\n className,\n ...props\n}: CodeSnippetInlineProps) {\n return (\n <div\n data-slot=\"code-snippet-inline\"\n className={cn('ddga-code-snippet-inline', className)}\n {...props}\n dir=\"ltr\"\n >\n <span className=\"ddga-code-snippet-inline__text\">\n {prefix != null && (\n <span className=\"ddga-code-snippet-inline__prefix\" data-slot=\"code-snippet-prefix\">\n {prefix}\n </span>\n )}\n <span className=\"ddga-code-snippet-inline__command\" data-slot=\"code-snippet-command\">\n {children}\n </span>\n </span>\n <CopyButton\n text={children}\n size=\"sm\"\n onCopy={onCopy}\n copyLabel={copyLabel}\n copiedLabel={copiedLabel}\n />\n </div>\n );\n}\n\nexport { CodeSnippet, CodeSnippetInline };\nexport type { CodeSnippetProps, CodeSnippetInlineProps, CodeSnippetLanguage };\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DI3WGH7W.cjs","../src/components/CodeSnippet/CodeSnippet.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DI3WGH7W.cjs","sourcesContent":[null,"'use client';\n\nimport { useEffect, useRef, useState, type ReactNode } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../Tabs/Tabs';\nimport { Copy, Check, ChevronDown } from '../../internal/icons';\n\ninterface CodeSnippetLanguage {\n /** Stable id for the tab + active state. */\n value: string;\n /** Tab label (shown only when more than one language). */\n label: string;\n /** The code for this language — drives the gutter, copy, and default rendering. */\n code: string;\n}\n\ninterface CodeSnippetProps extends Omit<React.ComponentProps<'div'>, 'children' | 'onCopy'> {\n /** One entry per language. A single entry hides the tab bar (SDGA single-tab). */\n languages: CodeSnippetLanguage[];\n /** Controlled active language. */\n value?: string;\n /** Uncontrolled initial active language (defaults to the first). */\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n /** Render the line-number gutter. @default true */\n lineNumbers?: boolean;\n /** Collapse to this many lines with a Show More toggle when exceeded. */\n maxLines?: number;\n /** Escape hatch: render highlighted code yourself; the active `code` still drives copy + line count. */\n renderCode?: (ctx: { code: string; language: string }) => ReactNode;\n onCopy?: (text: string) => void;\n /** Accessible name for the copy button. @default 'Copy code' */\n copyLabel?: string;\n /** Live-region text announced after a successful copy. @default 'Copied' */\n copiedLabel?: string;\n}\n\ninterface CodeSnippetInlineProps extends Omit<\n React.ComponentProps<'div'>,\n 'onCopy' | 'prefix' | 'children'\n> {\n /** The command text — copied verbatim. */\n children: string;\n /** Leading label (e.g. `npm`) — rendered in gold. */\n prefix?: ReactNode;\n onCopy?: (text: string) => void;\n /** Accessible name for the copy button. @default 'Copy code' */\n copyLabel?: string;\n /** Live-region text announced after a successful copy. @default 'Copied' */\n copiedLabel?: string;\n}\n\nconst COMMENT_SYNTAX: Record<string, { line?: string; block?: [string, string] }> = {\n java: { line: '//', block: ['/*', '*/'] },\n c: { line: '//', block: ['/*', '*/'] },\n cpp: { line: '//', block: ['/*', '*/'] },\n 'c++': { line: '//', block: ['/*', '*/'] },\n php: { line: '//', block: ['/*', '*/'] },\n js: { line: '//', block: ['/*', '*/'] },\n javascript: { line: '//', block: ['/*', '*/'] },\n ts: { line: '//', block: ['/*', '*/'] },\n typescript: { line: '//', block: ['/*', '*/'] },\n python: { line: '#' },\n py: { line: '#' },\n ruby: { line: '#' },\n sh: { line: '#' },\n bash: { line: '#' },\n shell: { line: '#' },\n html: { block: ['<!--', '-->'] },\n xml: { block: ['<!--', '-->'] },\n};\n\nfunction renderGreyedLines(code: string, language: string): ReactNode {\n const syntax = COMMENT_SYNTAX[language.toLowerCase()] ?? {};\n const lines = code.split('\\n');\n let inBlock = false;\n return lines.map((line, i) => {\n const trimmed = line.trimStart();\n let isComment = false;\n if (syntax.block) {\n const [open, close] = syntax.block;\n if (inBlock) {\n isComment = true;\n if (line.includes(close)) inBlock = false;\n } else if (trimmed.startsWith(open)) {\n isComment = true;\n if (line.indexOf(close, line.indexOf(open) + open.length) === -1) inBlock = true;\n }\n }\n if (!isComment && syntax.line && trimmed.startsWith(syntax.line)) isComment = true;\n return (\n <span\n key={i}\n className={cn('ddga-code-snippet__line', isComment && 'ddga-code-snippet__line--comment')}\n >\n {line}\n </span>\n );\n });\n}\n\nfunction CopyButton({\n text,\n size,\n onCopy,\n copyLabel = 'Copy code',\n copiedLabel = 'Copied',\n}: {\n text: string;\n size: 'sm' | 'md';\n onCopy?: (text: string) => void;\n copyLabel?: string;\n copiedLabel?: string;\n}) {\n const [copied, setCopied] = useState(false);\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n\n async function handleCopy() {\n if (typeof navigator === 'undefined' || !navigator.clipboard?.writeText) return;\n try {\n await navigator.clipboard.writeText(text);\n } catch {\n return;\n }\n onCopy?.(text);\n setCopied(true);\n clearTimeout(timer.current);\n timer.current = setTimeout(() => setCopied(false), 1500);\n }\n\n return (\n <>\n <button\n type=\"button\"\n onClick={handleCopy}\n aria-label={copyLabel}\n data-slot=\"code-snippet-copy\"\n className={cn('ddga-code-snippet__copy-button', `ddga-code-snippet__copy-button--${size}`)}\n >\n {copied ? <Check aria-hidden /> : <Copy aria-hidden />}\n </button>\n {/* Sibling, not a child — a live region inside the button leaks into its name. */}\n <span className=\"ddga-sr-only\" aria-live=\"polite\">\n {copied ? copiedLabel : ''}\n </span>\n </>\n );\n}\n\ninterface PanelProps {\n language: CodeSnippetLanguage;\n lineNumbers: boolean;\n maxLines?: number;\n renderCode?: CodeSnippetProps['renderCode'];\n onCopy?: (text: string) => void;\n copyLabel?: string;\n copiedLabel?: string;\n expanded: boolean;\n onToggleExpanded: () => void;\n}\n\nfunction CodeSnippetPanel({\n language,\n lineNumbers,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n expanded,\n onToggleExpanded,\n}: PanelProps) {\n const lines = language.code.split('\\n');\n const collapsible = maxLines != null && lines.length > maxLines;\n const collapsed = collapsible && !expanded;\n\n return (\n <div className=\"ddga-code-snippet__panel\" data-slot=\"code-snippet-panel\">\n <div\n className={cn(\n 'ddga-code-snippet__viewport',\n collapsed && 'ddga-code-snippet__viewport--collapsed',\n )}\n style={\n collapsed\n ? ({ '--ddga-code-snippet-max-lines': maxLines } as React.CSSProperties)\n : undefined\n }\n >\n {lineNumbers && (\n <div className=\"ddga-code-snippet__gutter\" aria-hidden>\n {lines.map((_, i) => (\n <span key={i} className=\"ddga-code-snippet__line-number\">\n {i + 1}\n </span>\n ))}\n </div>\n )}\n <div className=\"ddga-code-snippet__scroll\">\n <pre className=\"ddga-code-snippet__code\">\n <code>\n {renderCode\n ? renderCode({ code: language.code, language: language.value })\n : renderGreyedLines(language.code, language.value)}\n </code>\n </pre>\n </div>\n </div>\n <CopyButton\n text={language.code}\n size=\"md\"\n onCopy={onCopy}\n copyLabel={copyLabel}\n copiedLabel={copiedLabel}\n />\n {collapsible && (\n <button\n type=\"button\"\n className=\"ddga-code-snippet__show-more\"\n aria-expanded={expanded}\n onClick={onToggleExpanded}\n >\n {expanded ? 'Show Less' : 'Show More'}\n <ChevronDown\n aria-hidden\n className={cn(\n 'ddga-code-snippet__show-more-icon',\n expanded && 'ddga-code-snippet__show-more-icon--up',\n )}\n />\n </button>\n )}\n </div>\n );\n}\n\nfunction CodeSnippet({\n languages,\n value,\n defaultValue,\n onValueChange,\n lineNumbers = true,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n className,\n ...props\n}: CodeSnippetProps) {\n // expand state lives here (keyed by language) so it survives Radix unmounting inactive tab panels.\n const [expanded, setExpanded] = useState<Record<string, boolean>>({});\n const showTabs = languages.length > 1;\n const panelFor = (l: CodeSnippetLanguage) => ({\n language: l,\n lineNumbers,\n maxLines,\n renderCode,\n onCopy,\n copyLabel,\n copiedLabel,\n expanded: !!expanded[l.value],\n onToggleExpanded: () => setExpanded((m) => ({ ...m, [l.value]: !m[l.value] })),\n });\n\n return (\n // Code is always LTR — force it at the root so the whole component ignores page direction.\n <div\n data-slot=\"code-snippet\"\n className={cn('ddga-code-snippet', className)}\n {...props}\n dir=\"ltr\"\n >\n {showTabs ? (\n <Tabs\n dir=\"ltr\"\n className=\"ddga-code-snippet__tabs\"\n value={value}\n defaultValue={defaultValue ?? languages[0].value}\n onValueChange={onValueChange}\n >\n <TabsList className=\"ddga-code-snippet__tab-list\">\n {languages.map((l) => (\n <TabsTrigger key={l.value} value={l.value}>\n {l.label}\n </TabsTrigger>\n ))}\n </TabsList>\n {languages.map((l) => (\n <TabsContent key={l.value} value={l.value} className=\"ddga-code-snippet__tab-content\">\n <CodeSnippetPanel {...panelFor(l)} />\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <CodeSnippetPanel {...panelFor(languages[0])} />\n )}\n </div>\n );\n}\n\nfunction CodeSnippetInline({\n prefix,\n children,\n onCopy,\n copyLabel,\n copiedLabel,\n className,\n ...props\n}: CodeSnippetInlineProps) {\n return (\n <div\n data-slot=\"code-snippet-inline\"\n className={cn('ddga-code-snippet-inline', className)}\n {...props}\n dir=\"ltr\"\n >\n <span className=\"ddga-code-snippet-inline__text\">\n {prefix != null && (\n <span className=\"ddga-code-snippet-inline__prefix\" data-slot=\"code-snippet-prefix\">\n {prefix}\n </span>\n )}\n <span className=\"ddga-code-snippet-inline__command\" data-slot=\"code-snippet-command\">\n {children}\n </span>\n </span>\n <CopyButton\n text={children}\n size=\"sm\"\n onCopy={onCopy}\n copyLabel={copyLabel}\n copiedLabel={copiedLabel}\n />\n </div>\n );\n}\n\nexport { CodeSnippet, CodeSnippetInline };\nexport type { CodeSnippetProps, CodeSnippetInlineProps, CodeSnippetLanguage };\n"]}
@@ -2,15 +2,15 @@ import {
2
2
  AlertCircle,
3
3
  Info
4
4
  } from "./chunk-FFGALWM2.js";
5
+ import {
6
+ cn
7
+ } from "./chunk-7NTT2UXP.js";
5
8
  import {
6
9
  FieldMessage
7
10
  } from "./chunk-E5ZIKIGB.js";
8
11
  import {
9
12
  useFieldA11y
10
13
  } from "./chunk-HN5AFDQA.js";
11
- import {
12
- cn
13
- } from "./chunk-7NTT2UXP.js";
14
14
 
15
15
  // src/components/Textarea/Textarea.tsx
16
16
  import { cva } from "class-variance-authority";
@@ -88,4 +88,4 @@ export {
88
88
  textareaVariants,
89
89
  Textarea
90
90
  };
91
- //# sourceMappingURL=chunk-BQZ4XAYH.js.map
91
+ //# sourceMappingURL=chunk-DUJ2QWTC.js.map
@@ -1,9 +1,9 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
2
 
3
- var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
3
+ var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
4
4
 
5
5
 
6
- var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
6
+ var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
7
7
 
8
8
  // src/components/SaudiRiyal/SaudiRiyal.tsx
9
9
  var _react = require('react');
@@ -164,4 +164,4 @@ function SaudiRiyal({
164
164
 
165
165
 
166
166
  exports.saudiRiyalSymbolVariants = saudiRiyalSymbolVariants; exports.saudiRiyalVariants = saudiRiyalVariants; exports.SaudiRiyalSymbol = SaudiRiyalSymbol; exports.SaudiRiyal = SaudiRiyal;
167
- //# sourceMappingURL=chunk-VYP5GX57.cjs.map
167
+ //# sourceMappingURL=chunk-DZTHIGMQ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-VYP5GX57.cjs","../src/components/SaudiRiyal/SaudiRiyal.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-VYP5GX57.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, type ReactNode } from 'react';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\n\nconst saudiRiyalSymbolVariants = cva('ddga-riyal-symbol', {\n variants: {\n size: {\n '2xs': 'ddga-riyal-symbol--2xs',\n xs: 'ddga-riyal-symbol--xs',\n sm: 'ddga-riyal-symbol--sm',\n base: 'ddga-riyal-symbol--base',\n lg: 'ddga-riyal-symbol--lg',\n xl: 'ddga-riyal-symbol--xl',\n '2xl': 'ddga-riyal-symbol--2xl',\n '3xl': 'ddga-riyal-symbol--3xl',\n },\n tone: {\n default: '',\n muted: 'ddga-riyal-symbol--muted',\n brand: 'ddga-riyal-symbol--brand',\n success: 'ddga-riyal-symbol--success',\n error: 'ddga-riyal-symbol--error',\n inverted: 'ddga-riyal-symbol--inverted',\n },\n appearance: {\n plain: '',\n coin: 'ddga-riyal-symbol--coin',\n },\n },\n defaultVariants: { tone: 'default', appearance: 'plain' },\n});\n\nconst saudiRiyalVariants = cva('ddga-riyal', {\n variants: {\n size: {\n '2xs': 'ddga-riyal--2xs',\n xs: 'ddga-riyal--xs',\n sm: 'ddga-riyal--sm',\n base: 'ddga-riyal--base',\n lg: 'ddga-riyal--lg',\n xl: 'ddga-riyal--xl',\n '2xl': 'ddga-riyal--2xl',\n '3xl': 'ddga-riyal--3xl',\n },\n tone: {\n default: '',\n muted: 'ddga-riyal--muted',\n brand: 'ddga-riyal--brand',\n success: 'ddga-riyal--success',\n error: 'ddga-riyal--error',\n inverted: 'ddga-riyal--inverted',\n },\n },\n defaultVariants: { tone: 'default' },\n});\n\nconst LABELS = { ltr: 'Saudi Riyal', rtl: 'ريال سعودي' } as const;\n\ntype SaudiRiyalSymbolProps = Omit<React.SVGProps<SVGSVGElement>, 'children'> &\n VariantProps<typeof saudiRiyalSymbolVariants>;\n\n/**\n * The official Saudi Riyal symbol as an inline SVG. Renders at `1em` (tracks the\n * surrounding font-size, so its height aligns with the text), inherits `currentColor`,\n * and is never mirrored in RTL. Standalone it exposes `role=\"img\"` + a localized\n * `aria-label`; pass `aria-hidden` to silence it (e.g. inside `SaudiRiyal`).\n */\nfunction SaudiRiyalSymbol({\n size,\n tone,\n appearance,\n className,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n ...props\n}: SaudiRiyalSymbolProps) {\n const ctx = useContext(DgaContext);\n const isHidden = ariaHidden === true || ariaHidden === 'true';\n const label = isHidden ? undefined : (ariaLabel ?? LABELS[ctx?.dir ?? 'ltr']);\n return (\n <svg\n data-slot=\"saudi-riyal-symbol\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 1124.14 1256.39\"\n fill=\"currentColor\"\n role={isHidden ? undefined : (role ?? 'img')}\n aria-label={label}\n aria-hidden={isHidden || undefined}\n className={cn(saudiRiyalSymbolVariants({ size, tone, appearance }), className)}\n {...props}\n >\n <path d=\"M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z\" />\n <path d=\"M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z\" />\n </svg>\n );\n}\n\ntype Numerals = 'latn' | 'arab' | 'auto';\n\n// LRM / RLM / ALM — bidi control marks some locales inject around numbers.\nconst BIDI_MARKS = new RegExp(`[${String.fromCharCode(0x200e, 0x200f, 0x061c)}]`, 'g');\n\n// Split the sign from the digits so the minus can be placed per direction (SDGA rule 4)\n// while the digits stay a clean LTR run.\nfunction formatParts(\n value: number,\n locale: string,\n numerals: Numerals,\n decimals?: number,\n): { sign: string; number: string } {\n if (!Number.isFinite(value)) return { sign: '', number: String(value) };\n const loc = numerals === 'auto' ? locale : `${locale}-u-nu-${numerals}`;\n const opts: Intl.NumberFormatOptions =\n decimals != null ? { minimumFractionDigits: decimals, maximumFractionDigits: decimals } : {};\n let nf: Intl.NumberFormat;\n try {\n nf = new Intl.NumberFormat(loc, opts);\n } catch {\n nf = new Intl.NumberFormat(undefined, opts);\n }\n let sign = '';\n let number = '';\n for (const part of nf.formatToParts(value)) {\n // Drop bidi control marks (LRM/RLM/ALM) some locales inject — we place the\n // sign ourselves inside a forced-LTR box, so they'd only garble the output.\n const v = part.value.replace(BIDI_MARKS, '');\n if (part.type === 'minusSign') sign = v;\n else number += v;\n }\n return { sign, number };\n}\n\ninterface SaudiRiyalProps\n extends Omit<React.ComponentProps<'span'>, 'children'>, VariantProps<typeof saudiRiyalVariants> {\n /** The amount. A `number` is formatted (grouping, `decimals`, `numerals`); a string renders as-is (e.g. \"123 million\"). */\n value?: number | string;\n /** Fixed fraction digits (e.g. `2` → halalas). Omit to use the locale default. Numbers only. */\n decimals?: number;\n /** Digit system for a numeric `value`. @default 'latn' (matches SDGA examples); `'auto'` follows the locale. */\n numerals?: Numerals;\n /** Screen-reader currency name read after the amount. Defaults to a localized \"Saudi Riyal\". */\n currencyLabel?: ReactNode;\n /** Merge props onto a single child (e.g. an `<a>`) instead of a `<span>`. Content still comes from `value`. */\n asChild?: boolean;\n /** Passthrough content when `value` is omitted (ignored in `asChild` mode, where the child is the wrapper element). */\n children?: ReactNode;\n}\n\n/**\n * A Saudi Riyal amount: the official symbol always at the physical start (left) of a\n * formatted number, enforcing the SDGA usage rules. The symbol never moves — the minus\n * sign sits left of the digits in LTR and to their right in RTL. Omit `value` to render\n * passthrough `children`; omit `size`/`tone` to inherit the surrounding text.\n */\nfunction SaudiRiyal({\n value,\n size,\n tone,\n decimals,\n numerals = 'latn',\n currencyLabel,\n asChild = false,\n className,\n children,\n ...props\n}: SaudiRiyalProps) {\n const ctx = useContext(DgaContext);\n const dir = ctx?.dir ?? 'ltr';\n const label = currencyLabel ?? LABELS[dir];\n\n let visual: ReactNode;\n let srNumber: string | null = null;\n if (typeof value === 'number') {\n const { sign, number } = formatParts(value, ctx?.locale ?? 'en', numerals, decimals);\n visual = dir === 'rtl' ? `${number}${sign}` : `${sign}${number}`;\n srNumber = `${sign}${number}`;\n } else {\n visual = value ?? (asChild ? null : children);\n }\n\n const Comp = asChild ? SlotPrimitive.Slot : 'span';\n return (\n <Comp\n data-slot=\"saudi-riyal\"\n dir=\"ltr\"\n className={cn(saudiRiyalVariants({ size, tone }), className)}\n {...props}\n >\n <SaudiRiyalSymbol className=\"ddga-riyal__symbol\" aria-hidden=\"true\" />\n <span className=\"ddga-riyal__value\" aria-hidden={srNumber != null || undefined}>\n {visual}\n </span>\n {srNumber != null || label ? (\n <span className=\"ddga-sr-only\">\n {srNumber != null ? `${srNumber} ` : null}\n {label}\n </span>\n ) : null}\n {asChild ? <SlotPrimitive.Slottable>{children}</SlotPrimitive.Slottable> : null}\n </Comp>\n );\n}\n\nexport { SaudiRiyal, SaudiRiyalSymbol, saudiRiyalVariants, saudiRiyalSymbolVariants };\nexport type { SaudiRiyalProps, SaudiRiyalSymbolProps };\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DZTHIGMQ.cjs","../src/components/SaudiRiyal/SaudiRiyal.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DZTHIGMQ.cjs","sourcesContent":[null,"'use client';\n\nimport { useContext, type ReactNode } from 'react';\nimport { Slot as SlotPrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { DgaContext } from '../../providers/DgaContext';\n\nconst saudiRiyalSymbolVariants = cva('ddga-riyal-symbol', {\n variants: {\n size: {\n '2xs': 'ddga-riyal-symbol--2xs',\n xs: 'ddga-riyal-symbol--xs',\n sm: 'ddga-riyal-symbol--sm',\n base: 'ddga-riyal-symbol--base',\n lg: 'ddga-riyal-symbol--lg',\n xl: 'ddga-riyal-symbol--xl',\n '2xl': 'ddga-riyal-symbol--2xl',\n '3xl': 'ddga-riyal-symbol--3xl',\n },\n tone: {\n default: '',\n muted: 'ddga-riyal-symbol--muted',\n brand: 'ddga-riyal-symbol--brand',\n success: 'ddga-riyal-symbol--success',\n error: 'ddga-riyal-symbol--error',\n inverted: 'ddga-riyal-symbol--inverted',\n },\n appearance: {\n plain: '',\n coin: 'ddga-riyal-symbol--coin',\n },\n },\n defaultVariants: { tone: 'default', appearance: 'plain' },\n});\n\nconst saudiRiyalVariants = cva('ddga-riyal', {\n variants: {\n size: {\n '2xs': 'ddga-riyal--2xs',\n xs: 'ddga-riyal--xs',\n sm: 'ddga-riyal--sm',\n base: 'ddga-riyal--base',\n lg: 'ddga-riyal--lg',\n xl: 'ddga-riyal--xl',\n '2xl': 'ddga-riyal--2xl',\n '3xl': 'ddga-riyal--3xl',\n },\n tone: {\n default: '',\n muted: 'ddga-riyal--muted',\n brand: 'ddga-riyal--brand',\n success: 'ddga-riyal--success',\n error: 'ddga-riyal--error',\n inverted: 'ddga-riyal--inverted',\n },\n },\n defaultVariants: { tone: 'default' },\n});\n\nconst LABELS = { ltr: 'Saudi Riyal', rtl: 'ريال سعودي' } as const;\n\ntype SaudiRiyalSymbolProps = Omit<React.SVGProps<SVGSVGElement>, 'children'> &\n VariantProps<typeof saudiRiyalSymbolVariants>;\n\n/**\n * The official Saudi Riyal symbol as an inline SVG. Renders at `1em` (tracks the\n * surrounding font-size, so its height aligns with the text), inherits `currentColor`,\n * and is never mirrored in RTL. Standalone it exposes `role=\"img\"` + a localized\n * `aria-label`; pass `aria-hidden` to silence it (e.g. inside `SaudiRiyal`).\n */\nfunction SaudiRiyalSymbol({\n size,\n tone,\n appearance,\n className,\n role,\n 'aria-label': ariaLabel,\n 'aria-hidden': ariaHidden,\n ...props\n}: SaudiRiyalSymbolProps) {\n const ctx = useContext(DgaContext);\n const isHidden = ariaHidden === true || ariaHidden === 'true';\n const label = isHidden ? undefined : (ariaLabel ?? LABELS[ctx?.dir ?? 'ltr']);\n return (\n <svg\n data-slot=\"saudi-riyal-symbol\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 1124.14 1256.39\"\n fill=\"currentColor\"\n role={isHidden ? undefined : (role ?? 'img')}\n aria-label={label}\n aria-hidden={isHidden || undefined}\n className={cn(saudiRiyalSymbolVariants({ size, tone, appearance }), className)}\n {...props}\n >\n <path d=\"M699.62,1113.02h0c-20.06,44.48-33.32,92.75-38.4,143.37l424.51-90.24c20.06-44.47,33.31-92.75,38.4-143.37l-424.51,90.24Z\" />\n <path d=\"M1085.73,895.8c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.33v-135.2l292.27-62.11c20.06-44.47,33.32-92.75,38.4-143.37l-330.68,70.27V66.13c-50.67,28.45-95.67,66.32-132.25,110.99v403.35l-132.25,28.11V0c-50.67,28.44-95.67,66.32-132.25,110.99v525.69l-295.91,62.88c-20.06,44.47-33.33,92.75-38.42,143.37l334.33-71.05v170.26l-358.3,76.14c-20.06,44.47-33.32,92.75-38.4,143.37l375.04-79.7c30.53-6.35,56.77-24.4,73.83-49.24l68.78-101.97v-.02c7.14-10.55,11.3-23.27,11.3-36.97v-149.98l132.25-28.11v270.4l424.53-90.28Z\" />\n </svg>\n );\n}\n\ntype Numerals = 'latn' | 'arab' | 'auto';\n\n// LRM / RLM / ALM — bidi control marks some locales inject around numbers.\nconst BIDI_MARKS = new RegExp(`[${String.fromCharCode(0x200e, 0x200f, 0x061c)}]`, 'g');\n\n// Split the sign from the digits so the minus can be placed per direction (SDGA rule 4)\n// while the digits stay a clean LTR run.\nfunction formatParts(\n value: number,\n locale: string,\n numerals: Numerals,\n decimals?: number,\n): { sign: string; number: string } {\n if (!Number.isFinite(value)) return { sign: '', number: String(value) };\n const loc = numerals === 'auto' ? locale : `${locale}-u-nu-${numerals}`;\n const opts: Intl.NumberFormatOptions =\n decimals != null ? { minimumFractionDigits: decimals, maximumFractionDigits: decimals } : {};\n let nf: Intl.NumberFormat;\n try {\n nf = new Intl.NumberFormat(loc, opts);\n } catch {\n nf = new Intl.NumberFormat(undefined, opts);\n }\n let sign = '';\n let number = '';\n for (const part of nf.formatToParts(value)) {\n // Drop bidi control marks (LRM/RLM/ALM) some locales inject — we place the\n // sign ourselves inside a forced-LTR box, so they'd only garble the output.\n const v = part.value.replace(BIDI_MARKS, '');\n if (part.type === 'minusSign') sign = v;\n else number += v;\n }\n return { sign, number };\n}\n\ninterface SaudiRiyalProps\n extends Omit<React.ComponentProps<'span'>, 'children'>, VariantProps<typeof saudiRiyalVariants> {\n /** The amount. A `number` is formatted (grouping, `decimals`, `numerals`); a string renders as-is (e.g. \"123 million\"). */\n value?: number | string;\n /** Fixed fraction digits (e.g. `2` → halalas). Omit to use the locale default. Numbers only. */\n decimals?: number;\n /** Digit system for a numeric `value`. @default 'latn' (matches SDGA examples); `'auto'` follows the locale. */\n numerals?: Numerals;\n /** Screen-reader currency name read after the amount. Defaults to a localized \"Saudi Riyal\". */\n currencyLabel?: ReactNode;\n /** Merge props onto a single child (e.g. an `<a>`) instead of a `<span>`. Content still comes from `value`. */\n asChild?: boolean;\n /** Passthrough content when `value` is omitted (ignored in `asChild` mode, where the child is the wrapper element). */\n children?: ReactNode;\n}\n\n/**\n * A Saudi Riyal amount: the official symbol always at the physical start (left) of a\n * formatted number, enforcing the SDGA usage rules. The symbol never moves — the minus\n * sign sits left of the digits in LTR and to their right in RTL. Omit `value` to render\n * passthrough `children`; omit `size`/`tone` to inherit the surrounding text.\n */\nfunction SaudiRiyal({\n value,\n size,\n tone,\n decimals,\n numerals = 'latn',\n currencyLabel,\n asChild = false,\n className,\n children,\n ...props\n}: SaudiRiyalProps) {\n const ctx = useContext(DgaContext);\n const dir = ctx?.dir ?? 'ltr';\n const label = currencyLabel ?? LABELS[dir];\n\n let visual: ReactNode;\n let srNumber: string | null = null;\n if (typeof value === 'number') {\n const { sign, number } = formatParts(value, ctx?.locale ?? 'en', numerals, decimals);\n visual = dir === 'rtl' ? `${number}${sign}` : `${sign}${number}`;\n srNumber = `${sign}${number}`;\n } else {\n visual = value ?? (asChild ? null : children);\n }\n\n const Comp = asChild ? SlotPrimitive.Slot : 'span';\n return (\n <Comp\n data-slot=\"saudi-riyal\"\n dir=\"ltr\"\n className={cn(saudiRiyalVariants({ size, tone }), className)}\n {...props}\n >\n <SaudiRiyalSymbol className=\"ddga-riyal__symbol\" aria-hidden=\"true\" />\n <span className=\"ddga-riyal__value\" aria-hidden={srNumber != null || undefined}>\n {visual}\n </span>\n {srNumber != null || label ? (\n <span className=\"ddga-sr-only\">\n {srNumber != null ? `${srNumber} ` : null}\n {label}\n </span>\n ) : null}\n {asChild ? <SlotPrimitive.Slottable>{children}</SlotPrimitive.Slottable> : null}\n </Comp>\n );\n}\n\nexport { SaudiRiyal, SaudiRiyalSymbol, saudiRiyalVariants, saudiRiyalSymbolVariants };\nexport type { SaudiRiyalProps, SaudiRiyalSymbolProps };\n"]}
@@ -1,12 +1,12 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-7NTT2UXP.js";
1
4
  import {
2
5
  FieldMessage
3
6
  } from "./chunk-E5ZIKIGB.js";
4
7
  import {
5
8
  useFieldA11y
6
9
  } from "./chunk-HN5AFDQA.js";
7
- import {
8
- cn
9
- } from "./chunk-7NTT2UXP.js";
10
10
 
11
11
  // src/components/InputOTP/InputOTP.tsx
12
12
  import { useMemo, useRef, useState, Fragment } from "react";
@@ -213,4 +213,4 @@ export {
213
213
  inputOTPVariants,
214
214
  InputOTP
215
215
  };
216
- //# sourceMappingURL=chunk-BP6BOEVE.js.map
216
+ //# sourceMappingURL=chunk-EBV35LZE.js.map
@@ -4,6 +4,9 @@ import {
4
4
  DropdownChevron,
5
5
  Info
6
6
  } from "./chunk-FFGALWM2.js";
7
+ import {
8
+ cn
9
+ } from "./chunk-7NTT2UXP.js";
7
10
  import {
8
11
  FieldMessage
9
12
  } from "./chunk-E5ZIKIGB.js";
@@ -13,9 +16,6 @@ import {
13
16
  import {
14
17
  DgaContext
15
18
  } from "./chunk-TMXABSFE.js";
16
- import {
17
- cn
18
- } from "./chunk-7NTT2UXP.js";
19
19
 
20
20
  // src/components/Dropdown/Dropdown.tsx
21
21
  import {
@@ -306,4 +306,4 @@ export {
306
306
  DropdownGroup,
307
307
  DropdownSeparator
308
308
  };
309
- //# sourceMappingURL=chunk-GEVXV4RL.js.map
309
+ //# sourceMappingURL=chunk-GGWMXMBP.js.map
@@ -4,10 +4,10 @@
4
4
  var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
5
5
 
6
6
 
7
- var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
7
+ var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
8
8
 
9
9
 
10
- var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
10
+ var _chunkFQLVTLUIcjs = require('./chunk-FQLVTLUI.cjs');
11
11
 
12
12
  // src/components/DropdownMenu/DropdownMenu.tsx
13
13
  var _react = require('react');
@@ -239,4 +239,4 @@ function DropdownMenuSubContent({ className, ...props }) {
239
239
 
240
240
 
241
241
  exports.dropdownMenuVariants = dropdownMenuVariants; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent;
242
- //# sourceMappingURL=chunk-DU4YQEIM.cjs.map
242
+ //# sourceMappingURL=chunk-H7V6VNFC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DU4YQEIM.cjs","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"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","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-DU4YQEIM.cjs","sourcesContent":[null,"'use client';\n\nimport { createContext, useContext, useRef, type ReactNode, type Ref } from 'react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Check, ChevronRight } from '../../internal/icons';\nimport { DgaContext } from '../../providers/DgaContext';\n\nconst dropdownMenuVariants = cva('ddga-dropdown-menu');\n\ntype TriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.Trigger>;\n\nfunction composeRefs(...refs: Array<Ref<TriggerElement> | undefined>) {\n return (node: TriggerElement | null) => {\n for (const ref of refs) {\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<TriggerElement | null>).current = node;\n }\n };\n}\n\nconst DropdownMenuTriggerRefContext =\n createContext<React.MutableRefObject<TriggerElement | null> | null>(null);\n\ntype DropdownMenuProps = React.ComponentProps<typeof DropdownMenuPrimitive.Root>;\n\nfunction DropdownMenu(props: DropdownMenuProps) {\n const triggerRef = useRef<TriggerElement | null>(null);\n return (\n <DropdownMenuTriggerRefContext.Provider value={triggerRef}>\n <DropdownMenuPrimitive.Root {...props} />\n </DropdownMenuTriggerRefContext.Provider>\n );\n}\n\ntype DropdownMenuTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>;\n\nfunction DropdownMenuTrigger({ ref, ...props }: DropdownMenuTriggerProps) {\n const triggerRef = useContext(DropdownMenuTriggerRefContext);\n return (\n <DropdownMenuPrimitive.Trigger\n ref={composeRefs(triggerRef ?? undefined, ref)}\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\ntype DropdownMenuContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.Content>;\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 6,\n onCloseAutoFocus,\n onPointerDownOutside,\n onFocusOutside,\n onKeyDownCapture,\n onPointerDownCapture,\n ...props\n}: DropdownMenuContentProps) {\n // Radix Portal defaults to <body>, which doesn't inherit DgaProvider's\n // data-theme / CSS vars. Re-anchor at the provider's portal container so the\n // menu inherits theme and escapes any clipping/transform ancestor.\n const ctx = useContext(DgaContext);\n const triggerRef = useContext(DropdownMenuTriggerRefContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n const dismissedByOutside = useRef(false);\n const lastInputKeyboard = useRef(false);\n\n return (\n <DropdownMenuPrimitive.Portal container={portalContainer}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(dropdownMenuVariants(), className)}\n {...props}\n onKeyDownCapture={(event) => {\n lastInputKeyboard.current = true;\n onKeyDownCapture?.(event);\n }}\n onPointerDownCapture={(event) => {\n lastInputKeyboard.current = false;\n onPointerDownCapture?.(event);\n }}\n onPointerDownOutside={(event) => {\n dismissedByOutside.current = true;\n onPointerDownOutside?.(event);\n }}\n onFocusOutside={(event) => {\n dismissedByOutside.current = true;\n onFocusOutside?.(event);\n }}\n onCloseAutoFocus={(event) => {\n onCloseAutoFocus?.(event);\n if (event.defaultPrevented) return;\n // An outside interaction should keep focus where the user clicked.\n if (dismissedByOutside.current) {\n dismissedByOutside.current = false;\n return;\n }\n // Radix restores trigger focus with a visible ring even after a mouse\n // selection (the browser's :focus-visible heuristic carries the menu's\n // keyboard focus state). Refocus the trigger ourselves and set\n // `focusVisible` explicitly from the real input modality — keyboard ⇒\n // ring, mouse ⇒ none — while keeping WAI-ARIA focus-return.\n event.preventDefault();\n triggerRef?.current?.focus({\n focusVisible: lastInputKeyboard.current,\n } as FocusOptions);\n }}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\ntype DropdownMenuItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n /** Style as a destructive action (red text, red hover). House extension — not in SDGA Menu. */\n destructive?: boolean;\n /** Icon rendered before the label, sized to SDGA's 24px. */\n startIcon?: ReactNode;\n /** Trailing element (SDGA \"trail\"): a counter, icon, `<Tag>`, `<Switch>`, or `<Button>`.\n * Interactive trailing content must `stopPropagation()` on its own click (or set\n * `onSelect={(e) => e.preventDefault()}` on this item) — otherwise the click bubbles\n * to the row and closes the menu. */\n trailing?: ReactNode;\n};\n\nfunction DropdownMenuItem({\n className,\n destructive,\n startIcon,\n trailing,\n children,\n ...props\n}: DropdownMenuItemProps) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-destructive={destructive ? '' : undefined}\n className={cn('ddga-dropdown-menu__item', className)}\n {...props}\n >\n {startIcon ? (\n <span className=\"ddga-dropdown-menu__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n ) : null}\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n {trailing ? <span className=\"ddga-dropdown-menu__trailing\">{trailing}</span> : null}\n </DropdownMenuPrimitive.Item>\n );\n}\n\ntype DropdownMenuCheckboxItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.CheckboxItem\n>;\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n onSelect,\n ...props\n}: DropdownMenuCheckboxItemProps) {\n // Keep the menu open across toggles so consumers can flip several at once.\n // A consumer-passed onSelect owns the behavior (call preventDefault to keep this).\n const handleSelect =\n onSelect ??\n ((event: Event) => {\n event.preventDefault();\n });\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--checkable', className)}\n onSelect={handleSelect}\n {...props}\n >\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <span className=\"ddga-dropdown-menu__indicator\" aria-hidden=\"true\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"ddga-dropdown-menu__indicator-icon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\ntype DropdownMenuRadioGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>;\n\nfunction DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\ntype DropdownMenuRadioItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>;\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n onSelect,\n ...props\n}: DropdownMenuRadioItemProps) {\n const handleSelect =\n onSelect ??\n ((event: Event) => {\n event.preventDefault();\n });\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--checkable', className)}\n onSelect={handleSelect}\n {...props}\n >\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <span className=\"ddga-dropdown-menu__indicator\" aria-hidden=\"true\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"ddga-dropdown-menu__indicator-icon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\ntype DropdownMenuLabelProps = React.ComponentProps<typeof DropdownMenuPrimitive.Label>;\n\nfunction DropdownMenuLabel({ className, ...props }: DropdownMenuLabelProps) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n className={cn('ddga-dropdown-menu__group-label', className)}\n {...props}\n />\n );\n}\n\ntype DropdownMenuSeparatorProps = React.ComponentProps<typeof DropdownMenuPrimitive.Separator>;\n\nfunction DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('ddga-dropdown-menu__separator', className)}\n {...props}\n />\n );\n}\n\ntype DropdownMenuGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.Group>;\n\nfunction DropdownMenuGroup(props: DropdownMenuGroupProps) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\ntype DropdownMenuSubProps = React.ComponentProps<typeof DropdownMenuPrimitive.Sub>;\n\nfunction DropdownMenuSub(props: DropdownMenuSubProps) {\n return <DropdownMenuPrimitive.Sub {...props} />;\n}\n\ntype DropdownMenuSubTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n startIcon?: ReactNode;\n};\n\nfunction DropdownMenuSubTrigger({\n className,\n startIcon,\n children,\n ...props\n}: DropdownMenuSubTriggerProps) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--sub', className)}\n {...props}\n >\n {startIcon ? (\n <span className=\"ddga-dropdown-menu__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n ) : null}\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <ChevronRight className=\"ddga-dropdown-menu__sub-chevron\" aria-hidden=\"true\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\ntype DropdownMenuSubContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>;\n\nfunction DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentProps) {\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DropdownMenuPrimitive.Portal container={portalContainer}>\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(dropdownMenuVariants(), className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n dropdownMenuVariants,\n};\nexport type {\n DropdownMenuProps,\n DropdownMenuTriggerProps,\n DropdownMenuContentProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuLabelProps,\n DropdownMenuSeparatorProps,\n DropdownMenuGroupProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuSubContentProps,\n};\n"]}
1
+ {"version":3,"sources":["/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-H7V6VNFC.cjs","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACTA,8BAA4E;AAC5E,mCAAsD;AACtD,kEAAoB;AA2Bd,+CAAA;AAtBN,IAAM,qBAAA,EAAuB,yCAAA,oBAAwB,CAAA;AAIrD,SAAS,WAAA,CAAA,GAAe,IAAA,EAA8C;AACpE,EAAA,OAAO,CAAC,IAAA,EAAA,GAAgC;AACtC,IAAA,IAAA,CAAA,MAAW,IAAA,GAAO,IAAA,EAAM;AACtB,MAAA,GAAA,CAAI,OAAO,IAAA,IAAQ,UAAA,EAAY,GAAA,CAAI,IAAI,CAAA;AAAA,MAAA,KAAA,GAAA,CAC9B,GAAA,EAAM,GAAA,CAAsD,QAAA,EAAU,IAAA;AAAA,IACjF;AAAA,EACF,CAAA;AACF;AAEA,IAAM,8BAAA,EACJ,kCAAA,IAAwE,CAAA;AAI1E,SAAS,YAAA,CAAa,KAAA,EAA0B;AAC9C,EAAA,MAAM,WAAA,EAAa,2BAAA,IAAkC,CAAA;AACrD,EAAA,uBACE,6BAAA,6BAAC,CAA8B,QAAA,EAA9B,EAAuC,KAAA,EAAO,UAAA,EAC7C,QAAA,kBAAA,6BAAA,qBAAC,CAAsB,IAAA,EAAtB,EAA4B,GAAG,MAAA,CAAO,EAAA,CACzC,CAAA;AAEJ;AAIA,SAAS,mBAAA,CAAoB,EAAE,GAAA,EAAK,GAAG,MAAM,CAAA,EAA6B;AACxE,EAAA,MAAM,WAAA,EAAa,+BAAA,6BAAwC,CAAA;AAC3D,EAAA,uBACE,6BAAA;AAAA,IAAC,qBAAA,CAAsB,OAAA;AAAA,IAAtB;AAAA,MACC,GAAA,EAAK,WAAA,kBAAY,UAAA,UAAc,KAAA,GAAA,EAAW,GAAG,CAAA;AAAA,MAC7C,WAAA,EAAU,uBAAA;AAAA,MACT,GAAG;AAAA,IAAA;AAAA,EACN,CAAA;AAEJ;AAIA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,WAAA,EAAa,CAAA;AAAA,EACb,gBAAA;AAAA,EACA,oBAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,oBAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6B;AAI3B,EAAA,MAAM,IAAA,EAAM,+BAAA,4BAAqB,CAAA;AACjC,EAAA,MAAM,WAAA,EAAa,+BAAA,6BAAwC,CAAA;AAC3D,EAAA,MAAM,gBAAA,oDAAkB,GAAA,2BAAK,UAAA,0BAAY,GAAA,6BAAK,UAAA,UAAU,KAAA,GAAA;AACxD,EAAA,MAAM,mBAAA,EAAqB,2BAAA,KAAY,CAAA;AACvC,EAAA,MAAM,kBAAA,EAAoB,2BAAA,KAAY,CAAA;AAEtC,EAAA,uBACE,6BAAA,qBAAC,CAAsB,MAAA,EAAtB,EAA6B,SAAA,EAAW,eAAA,EACvC,QAAA,kBAAA,6BAAA;AAAA,IAAC,qBAAA,CAAsB,OAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,UAAA;AAAA,MACA,SAAA,EAAW,kCAAA,oBAAG,CAAqB,CAAA,EAAG,SAAS,CAAA;AAAA,MAC9C,GAAG,KAAA;AAAA,MACJ,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAAU;AAC3B,QAAA,iBAAA,CAAkB,QAAA,EAAU,IAAA;AAC5B,wBAAA,gBAAA,0BAAA,CAAmB,KAAK,GAAA;AAAA,MAC1B,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,KAAA,EAAA,GAAU;AAC/B,QAAA,iBAAA,CAAkB,QAAA,EAAU,KAAA;AAC5B,wBAAA,oBAAA,0BAAA,CAAuB,KAAK,GAAA;AAAA,MAC9B,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,KAAA,EAAA,GAAU;AAC/B,QAAA,kBAAA,CAAmB,QAAA,EAAU,IAAA;AAC7B,wBAAA,oBAAA,0BAAA,CAAuB,KAAK,GAAA;AAAA,MAC9B,CAAA;AAAA,MACA,cAAA,EAAgB,CAAC,KAAA,EAAA,GAAU;AACzB,QAAA,kBAAA,CAAmB,QAAA,EAAU,IAAA;AAC7B,wBAAA,cAAA,0BAAA,CAAiB,KAAK,GAAA;AAAA,MACxB,CAAA;AAAA,MACA,gBAAA,EAAkB,CAAC,KAAA,EAAA,GAAU;AAC3B,wBAAA,gBAAA,0BAAA,CAAmB,KAAK,GAAA;AACxB,QAAA,GAAA,CAAI,KAAA,CAAM,gBAAA,EAAkB,MAAA;AAE5B,QAAA,GAAA,CAAI,kBAAA,CAAmB,OAAA,EAAS;AAC9B,UAAA,kBAAA,CAAmB,QAAA,EAAU,KAAA;AAC7B,UAAA,MAAA;AAAA,QACF;AAMA,QAAA,KAAA,CAAM,cAAA,CAAe,CAAA;AACrB,wBAAA,UAAA,6BAAY,OAAA,6BAAS,KAAA,qBAAM;AAAA,UACzB,YAAA,EAAc,iBAAA,CAAkB;AAAA,QAClC,CAAiB,GAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EACF,EAAA,CACF,CAAA;AAEJ;AAcA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0B;AACxB,EAAA,uBACE,8BAAA;AAAA,IAAC,qBAAA,CAAsB,IAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,kBAAA,EAAkB,YAAA,EAAc,GAAA,EAAK,KAAA,CAAA;AAAA,MACrC,SAAA,EAAW,kCAAA,0BAAG,EAA4B,SAAS,CAAA;AAAA,MAClD,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,UAAA,kBACC,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,0BAAA,EAA2B,aAAA,EAAY,MAAA,EACpD,QAAA,EAAA,UAAA,CACH,EAAA,EACE,IAAA;AAAA,wBACJ,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA6B,SAAA,CAAS,CAAA;AAAA,QACrD,SAAA,kBAAW,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,8BAAA,EAAgC,QAAA,EAAA,SAAA,CAAS,EAAA,EAAU;AAAA,MAAA;AAAA,IAAA;AAAA,EACjF,CAAA;AAEJ;AAMA,SAAS,wBAAA,CAAyB;AAAA,EAChC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAkC;AAGhC,EAAA,MAAM,aAAA,mBACJ,QAAA,UAAA,CACC,CAAC,KAAA,EAAA,GAAiB;AACjB,IAAA,KAAA,CAAM,cAAA,CAAe,CAAA;AAAA,EACvB,CAAA,GAAA;AACF,EAAA,uBACE,8BAAA;AAAA,IAAC,qBAAA,CAAsB,YAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,6BAAA;AAAA,MACV,SAAA,EAAW,kCAAA,0BAAG,EAA4B,qCAAA,EAAuC,SAAS,CAAA;AAAA,MAC1F,QAAA,EAAU,YAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA6B,SAAA,CAAS,CAAA;AAAA,wBACtD,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,+BAAA,EAAgC,aAAA,EAAY,MAAA,EAC1D,QAAA,kBAAA,6BAAA,qBAAC,CAAsB,aAAA,EAAtB,EACC,QAAA,kBAAA,6BAAA,uBAAC,EAAA,EAAM,SAAA,EAAU,qCAAA,CAAqC,EAAA,CACxD,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ;AAIA,SAAS,sBAAA,CAAuB,KAAA,EAAoC;AAClE,EAAA,uBAAO,6BAAA,qBAAC,CAAsB,UAAA,EAAtB,EAAiC,WAAA,EAAU,2BAAA,EAA6B,GAAG,MAAA,CAAO,CAAA;AAC5F;AAIA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA+B;AAC7B,EAAA,MAAM,aAAA,mBACJ,QAAA,UAAA,CACC,CAAC,KAAA,EAAA,GAAiB;AACjB,IAAA,KAAA,CAAM,cAAA,CAAe,CAAA;AAAA,EACvB,CAAA,GAAA;AACF,EAAA,uBACE,8BAAA;AAAA,IAAC,qBAAA,CAAsB,SAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,SAAA,EAAW,kCAAA,0BAAG,EAA4B,qCAAA,EAAuC,SAAS,CAAA;AAAA,MAC1F,QAAA,EAAU,YAAA;AAAA,MACT,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA6B,SAAA,CAAS,CAAA;AAAA,wBACtD,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,+BAAA,EAAgC,aAAA,EAAY,MAAA,EAC1D,QAAA,kBAAA,6BAAA,qBAAC,CAAsB,aAAA,EAAtB,EACC,QAAA,kBAAA,6BAAA,uBAAC,EAAA,EAAM,SAAA,EAAU,qCAAA,CAAqC,EAAA,CACxD,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,CAAA;AAEJ;AAIA,SAAS,iBAAA,CAAkB,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAA2B;AAC1E,EAAA,uBACE,6BAAA;AAAA,IAAC,qBAAA,CAAsB,KAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,SAAA,EAAW,kCAAA,iCAAG,EAAmC,SAAS,CAAA;AAAA,MACzD,GAAG;AAAA,IAAA;AAAA,EACN,CAAA;AAEJ;AAIA,SAAS,qBAAA,CAAsB,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAA+B;AAClF,EAAA,uBACE,6BAAA;AAAA,IAAC,qBAAA,CAAsB,SAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,yBAAA;AAAA,MACV,SAAA,EAAW,kCAAA,+BAAG,EAAiC,SAAS,CAAA;AAAA,MACvD,GAAG;AAAA,IAAA;AAAA,EACN,CAAA;AAEJ;AAIA,SAAS,iBAAA,CAAkB,KAAA,EAA+B;AACxD,EAAA,uBAAO,6BAAA,qBAAC,CAAsB,KAAA,EAAtB,EAA4B,WAAA,EAAU,qBAAA,EAAuB,GAAG,MAAA,CAAO,CAAA;AACjF;AAIA,SAAS,eAAA,CAAgB,KAAA,EAA6B;AACpD,EAAA,uBAAO,6BAAA,qBAAC,CAAsB,GAAA,EAAtB,EAA2B,GAAG,MAAA,CAAO,CAAA;AAC/C;AAMA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgC;AAC9B,EAAA,uBACE,8BAAA;AAAA,IAAC,qBAAA,CAAsB,UAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,SAAA,EAAW,kCAAA,0BAAG,EAA4B,+BAAA,EAAiC,SAAS,CAAA;AAAA,MACnF,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,UAAA,kBACC,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,0BAAA,EAA2B,aAAA,EAAY,MAAA,EACpD,QAAA,EAAA,UAAA,CACH,EAAA,EACE,IAAA;AAAA,wBACJ,6BAAA,MAAC,EAAA,EAAK,SAAA,EAAU,2BAAA,EAA6B,SAAA,CAAS,CAAA;AAAA,wBACtD,6BAAA,8BAAC,EAAA,EAAa,SAAA,EAAU,iCAAA,EAAkC,aAAA,EAAY,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/E,CAAA;AAEJ;AAIA,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAW,GAAG,MAAM,CAAA,EAAgC;AACpF,EAAA,MAAM,IAAA,EAAM,+BAAA,4BAAqB,CAAA;AACjC,EAAA,MAAM,gBAAA,oDAAkB,GAAA,+BAAK,UAAA,0BAAY,GAAA,+BAAK,UAAA,UAAU,KAAA,GAAA;AAExD,EAAA,uBACE,6BAAA,qBAAC,CAAsB,MAAA,EAAtB,EAA6B,SAAA,EAAW,eAAA,EACvC,QAAA,kBAAA,6BAAA;AAAA,IAAC,qBAAA,CAAsB,UAAA;AAAA,IAAtB;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,SAAA,EAAW,kCAAA,oBAAG,CAAqB,CAAA,EAAG,SAAS,CAAA;AAAA,MAC9C,GAAG;AAAA,IAAA;AAAA,EACN,EAAA,CACF,CAAA;AAEJ;AD9EA;AACA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,2sBAAC","file":"/home/devdhaif/work/react/dga-dev/packages/react/dist/chunk-H7V6VNFC.cjs","sourcesContent":[null,"'use client';\n\nimport { createContext, useContext, useRef, type ReactNode, type Ref } from 'react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { Check, ChevronRight } from '../../internal/icons';\nimport { DgaContext } from '../../providers/DgaContext';\n\nconst dropdownMenuVariants = cva('ddga-dropdown-menu');\n\ntype TriggerElement = React.ElementRef<typeof DropdownMenuPrimitive.Trigger>;\n\nfunction composeRefs(...refs: Array<Ref<TriggerElement> | undefined>) {\n return (node: TriggerElement | null) => {\n for (const ref of refs) {\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<TriggerElement | null>).current = node;\n }\n };\n}\n\nconst DropdownMenuTriggerRefContext =\n createContext<React.MutableRefObject<TriggerElement | null> | null>(null);\n\ntype DropdownMenuProps = React.ComponentProps<typeof DropdownMenuPrimitive.Root>;\n\nfunction DropdownMenu(props: DropdownMenuProps) {\n const triggerRef = useRef<TriggerElement | null>(null);\n return (\n <DropdownMenuTriggerRefContext.Provider value={triggerRef}>\n <DropdownMenuPrimitive.Root {...props} />\n </DropdownMenuTriggerRefContext.Provider>\n );\n}\n\ntype DropdownMenuTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>;\n\nfunction DropdownMenuTrigger({ ref, ...props }: DropdownMenuTriggerProps) {\n const triggerRef = useContext(DropdownMenuTriggerRefContext);\n return (\n <DropdownMenuPrimitive.Trigger\n ref={composeRefs(triggerRef ?? undefined, ref)}\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\ntype DropdownMenuContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.Content>;\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 6,\n onCloseAutoFocus,\n onPointerDownOutside,\n onFocusOutside,\n onKeyDownCapture,\n onPointerDownCapture,\n ...props\n}: DropdownMenuContentProps) {\n // Radix Portal defaults to <body>, which doesn't inherit DgaProvider's\n // data-theme / CSS vars. Re-anchor at the provider's portal container so the\n // menu inherits theme and escapes any clipping/transform ancestor.\n const ctx = useContext(DgaContext);\n const triggerRef = useContext(DropdownMenuTriggerRefContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n const dismissedByOutside = useRef(false);\n const lastInputKeyboard = useRef(false);\n\n return (\n <DropdownMenuPrimitive.Portal container={portalContainer}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(dropdownMenuVariants(), className)}\n {...props}\n onKeyDownCapture={(event) => {\n lastInputKeyboard.current = true;\n onKeyDownCapture?.(event);\n }}\n onPointerDownCapture={(event) => {\n lastInputKeyboard.current = false;\n onPointerDownCapture?.(event);\n }}\n onPointerDownOutside={(event) => {\n dismissedByOutside.current = true;\n onPointerDownOutside?.(event);\n }}\n onFocusOutside={(event) => {\n dismissedByOutside.current = true;\n onFocusOutside?.(event);\n }}\n onCloseAutoFocus={(event) => {\n onCloseAutoFocus?.(event);\n if (event.defaultPrevented) return;\n // An outside interaction should keep focus where the user clicked.\n if (dismissedByOutside.current) {\n dismissedByOutside.current = false;\n return;\n }\n // Radix restores trigger focus with a visible ring even after a mouse\n // selection (the browser's :focus-visible heuristic carries the menu's\n // keyboard focus state). Refocus the trigger ourselves and set\n // `focusVisible` explicitly from the real input modality — keyboard ⇒\n // ring, mouse ⇒ none — while keeping WAI-ARIA focus-return.\n event.preventDefault();\n triggerRef?.current?.focus({\n focusVisible: lastInputKeyboard.current,\n } as FocusOptions);\n }}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\ntype DropdownMenuItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n /** Style as a destructive action (red text, red hover). House extension — not in SDGA Menu. */\n destructive?: boolean;\n /** Icon rendered before the label, sized to SDGA's 24px. */\n startIcon?: ReactNode;\n /** Trailing element (SDGA \"trail\"): a counter, icon, `<Tag>`, `<Switch>`, or `<Button>`.\n * Interactive trailing content must `stopPropagation()` on its own click (or set\n * `onSelect={(e) => e.preventDefault()}` on this item) — otherwise the click bubbles\n * to the row and closes the menu. */\n trailing?: ReactNode;\n};\n\nfunction DropdownMenuItem({\n className,\n destructive,\n startIcon,\n trailing,\n children,\n ...props\n}: DropdownMenuItemProps) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-destructive={destructive ? '' : undefined}\n className={cn('ddga-dropdown-menu__item', className)}\n {...props}\n >\n {startIcon ? (\n <span className=\"ddga-dropdown-menu__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n ) : null}\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n {trailing ? <span className=\"ddga-dropdown-menu__trailing\">{trailing}</span> : null}\n </DropdownMenuPrimitive.Item>\n );\n}\n\ntype DropdownMenuCheckboxItemProps = React.ComponentProps<\n typeof DropdownMenuPrimitive.CheckboxItem\n>;\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n onSelect,\n ...props\n}: DropdownMenuCheckboxItemProps) {\n // Keep the menu open across toggles so consumers can flip several at once.\n // A consumer-passed onSelect owns the behavior (call preventDefault to keep this).\n const handleSelect =\n onSelect ??\n ((event: Event) => {\n event.preventDefault();\n });\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--checkable', className)}\n onSelect={handleSelect}\n {...props}\n >\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <span className=\"ddga-dropdown-menu__indicator\" aria-hidden=\"true\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"ddga-dropdown-menu__indicator-icon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\ntype DropdownMenuRadioGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>;\n\nfunction DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\ntype DropdownMenuRadioItemProps = React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>;\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n onSelect,\n ...props\n}: DropdownMenuRadioItemProps) {\n const handleSelect =\n onSelect ??\n ((event: Event) => {\n event.preventDefault();\n });\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--checkable', className)}\n onSelect={handleSelect}\n {...props}\n >\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <span className=\"ddga-dropdown-menu__indicator\" aria-hidden=\"true\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"ddga-dropdown-menu__indicator-icon\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\ntype DropdownMenuLabelProps = React.ComponentProps<typeof DropdownMenuPrimitive.Label>;\n\nfunction DropdownMenuLabel({ className, ...props }: DropdownMenuLabelProps) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n className={cn('ddga-dropdown-menu__group-label', className)}\n {...props}\n />\n );\n}\n\ntype DropdownMenuSeparatorProps = React.ComponentProps<typeof DropdownMenuPrimitive.Separator>;\n\nfunction DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('ddga-dropdown-menu__separator', className)}\n {...props}\n />\n );\n}\n\ntype DropdownMenuGroupProps = React.ComponentProps<typeof DropdownMenuPrimitive.Group>;\n\nfunction DropdownMenuGroup(props: DropdownMenuGroupProps) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\ntype DropdownMenuSubProps = React.ComponentProps<typeof DropdownMenuPrimitive.Sub>;\n\nfunction DropdownMenuSub(props: DropdownMenuSubProps) {\n return <DropdownMenuPrimitive.Sub {...props} />;\n}\n\ntype DropdownMenuSubTriggerProps = React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n startIcon?: ReactNode;\n};\n\nfunction DropdownMenuSubTrigger({\n className,\n startIcon,\n children,\n ...props\n}: DropdownMenuSubTriggerProps) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n className={cn('ddga-dropdown-menu__item', 'ddga-dropdown-menu__item--sub', className)}\n {...props}\n >\n {startIcon ? (\n <span className=\"ddga-dropdown-menu__icon\" aria-hidden=\"true\">\n {startIcon}\n </span>\n ) : null}\n <span className=\"ddga-dropdown-menu__label\">{children}</span>\n <ChevronRight className=\"ddga-dropdown-menu__sub-chevron\" aria-hidden=\"true\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\ntype DropdownMenuSubContentProps = React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>;\n\nfunction DropdownMenuSubContent({ className, ...props }: DropdownMenuSubContentProps) {\n const ctx = useContext(DgaContext);\n const portalContainer = ctx?.portalEl ?? ctx?.rootEl ?? undefined;\n\n return (\n <DropdownMenuPrimitive.Portal container={portalContainer}>\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(dropdownMenuVariants(), className)}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuGroup,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n dropdownMenuVariants,\n};\nexport type {\n DropdownMenuProps,\n DropdownMenuTriggerProps,\n DropdownMenuContentProps,\n DropdownMenuItemProps,\n DropdownMenuCheckboxItemProps,\n DropdownMenuRadioGroupProps,\n DropdownMenuRadioItemProps,\n DropdownMenuLabelProps,\n DropdownMenuSeparatorProps,\n DropdownMenuGroupProps,\n DropdownMenuSubProps,\n DropdownMenuSubTriggerProps,\n DropdownMenuSubContentProps,\n};\n"]}
@@ -12,13 +12,13 @@ var _chunkJCOUZVG3cjs = require('./chunk-JCOUZVG3.cjs');
12
12
  var _chunkYS2JJ73Mcjs = require('./chunk-YS2JJ73M.cjs');
13
13
 
14
14
 
15
- var _chunk3UT22WQMcjs = require('./chunk-3UT22WQM.cjs');
15
+ var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
16
16
 
17
17
 
18
- var _chunkNH3KGR65cjs = require('./chunk-NH3KGR65.cjs');
18
+ var _chunk3UT22WQMcjs = require('./chunk-3UT22WQM.cjs');
19
19
 
20
20
 
21
- var _chunkV6MXOJQ4cjs = require('./chunk-V6MXOJQ4.cjs');
21
+ var _chunkNH3KGR65cjs = require('./chunk-NH3KGR65.cjs');
22
22
 
23
23
  // src/components/FileUpload/FileUpload.tsx
24
24
  var _react = require('react');
@@ -269,4 +269,4 @@ function FileUpload({
269
269
 
270
270
 
271
271
  exports.FileUpload = FileUpload;
272
- //# sourceMappingURL=chunk-K27GNXBF.cjs.map
272
+ //# sourceMappingURL=chunk-HQABMNYD.cjs.map