@senitix/ui 0.4.1 → 0.4.2

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 (393) hide show
  1. package/dist/accordion-BcwB0wwz.cjs +2 -0
  2. package/dist/accordion-BcwB0wwz.cjs.map +1 -0
  3. package/dist/accordion-BwnJKrKm.js +360 -0
  4. package/dist/accordion-BwnJKrKm.js.map +1 -0
  5. package/dist/appointment-scheduler-BoQQO51F.cjs +2 -0
  6. package/dist/appointment-scheduler-BoQQO51F.cjs.map +1 -0
  7. package/dist/appointment-scheduler-DHAs-mF_.js +192 -0
  8. package/dist/appointment-scheduler-DHAs-mF_.js.map +1 -0
  9. package/dist/arrow-right-CM3nmiZe.js +15 -0
  10. package/dist/arrow-right-CM3nmiZe.js.map +1 -0
  11. package/dist/arrow-right-vDxRZOfm.cjs +7 -0
  12. package/dist/arrow-right-vDxRZOfm.cjs.map +1 -0
  13. package/dist/avatar-BlEcWE7T.js +191 -0
  14. package/dist/avatar-BlEcWE7T.js.map +1 -0
  15. package/dist/avatar-Cl38Ye4J.cjs +2 -0
  16. package/dist/avatar-Cl38Ye4J.cjs.map +1 -0
  17. package/dist/badge-BZcdBG5J.cjs +23 -0
  18. package/dist/badge-BZcdBG5J.cjs.map +1 -0
  19. package/dist/badge-D0C_rP2l.js +157 -0
  20. package/dist/badge-D0C_rP2l.js.map +1 -0
  21. package/dist/button-BP_ug5gP.js +126 -0
  22. package/dist/button-BP_ug5gP.js.map +1 -0
  23. package/dist/button-CPuCii0R.cjs +2 -0
  24. package/dist/button-CPuCii0R.cjs.map +1 -0
  25. package/dist/{calendar-DgnhzEfp.js → calendar-86qoSnO7.js} +368 -433
  26. package/dist/calendar-86qoSnO7.js.map +1 -0
  27. package/dist/{calendar-D3RWU0_G.cjs → calendar-BH-AuyiB.cjs} +2 -2
  28. package/dist/{calendar-D3RWU0_G.cjs.map → calendar-BH-AuyiB.cjs.map} +1 -1
  29. package/dist/calendar-CSJ060ym.cjs +2 -0
  30. package/dist/calendar-CSJ060ym.cjs.map +1 -0
  31. package/dist/{calendar-CUxm1K7J.js → calendar-JUSWONQ0.js} +2 -2
  32. package/dist/{calendar-CUxm1K7J.js.map → calendar-JUSWONQ0.js.map} +1 -1
  33. package/dist/{card-DISL3sPJ.cjs → card-CToWUN1K.cjs} +2 -2
  34. package/dist/{card-DISL3sPJ.cjs.map → card-CToWUN1K.cjs.map} +1 -1
  35. package/dist/{card-fId5vof_.js → card-yxbWFvZ1.js} +2 -2
  36. package/dist/{card-fId5vof_.js.map → card-yxbWFvZ1.js.map} +1 -1
  37. package/dist/checkbox-BmugT50K.cjs +2 -0
  38. package/dist/checkbox-BmugT50K.cjs.map +1 -0
  39. package/dist/{checkbox-BY2zxQVv.js → checkbox-CTa9e4SG.js} +95 -97
  40. package/dist/checkbox-CTa9e4SG.js.map +1 -0
  41. package/dist/chevron-left-5h87iFo_.cjs +7 -0
  42. package/dist/chevron-left-5h87iFo_.cjs.map +1 -0
  43. package/dist/chevron-left-DD5mQuvf.js +14 -0
  44. package/dist/chevron-left-DD5mQuvf.js.map +1 -0
  45. package/dist/{chevron-right-Bxf8i4gi.cjs → chevron-right-D-TdAZ7l.cjs} +2 -2
  46. package/dist/{chevron-right-Bxf8i4gi.cjs.map → chevron-right-D-TdAZ7l.cjs.map} +1 -1
  47. package/dist/{chevron-right-BLyGmyaF.js → chevron-right-Di90aqSn.js} +2 -2
  48. package/dist/{chevron-right-BLyGmyaF.js.map → chevron-right-Di90aqSn.js.map} +1 -1
  49. package/dist/chevron-up-Bq55Db6X.cjs +7 -0
  50. package/dist/{chevron-up-C3RClqXD.cjs.map → chevron-up-Bq55Db6X.cjs.map} +1 -1
  51. package/dist/{chevron-up-BmYZUtrk.js → chevron-up-Dr7EIn9V.js} +2 -2
  52. package/dist/{chevron-up-BmYZUtrk.js.map → chevron-up-Dr7EIn9V.js.map} +1 -1
  53. package/dist/clock-BjJE8PGr.js +15 -0
  54. package/dist/clock-BjJE8PGr.js.map +1 -0
  55. package/dist/clock-CnxBAA_O.cjs +7 -0
  56. package/dist/clock-CnxBAA_O.cjs.map +1 -0
  57. package/dist/command-BPtg-XK3.cjs +2 -0
  58. package/dist/command-BPtg-XK3.cjs.map +1 -0
  59. package/dist/command-VraXPLVI.js +404 -0
  60. package/dist/command-VraXPLVI.js.map +1 -0
  61. package/dist/components/builders/index.cjs.js +2 -0
  62. package/dist/components/builders/index.cjs.js.map +1 -0
  63. package/dist/components/builders/index.es.js +42 -0
  64. package/dist/components/builders/index.es.js.map +1 -0
  65. package/dist/components/charts/index.cjs.js +1 -1
  66. package/dist/components/charts/index.es.js +7 -6
  67. package/dist/components/charts/index.es.js.map +1 -1
  68. package/dist/components/data-display/index.cjs.js +1 -1
  69. package/dist/components/data-display/index.es.js +43 -20
  70. package/dist/components/dnd/index.cjs.js +1 -1
  71. package/dist/components/dnd/index.es.js +1 -1
  72. package/dist/components/feedback/index.cjs.js +1 -1
  73. package/dist/components/feedback/index.es.js +1 -1
  74. package/dist/components/forms/index.cjs.js +1 -1
  75. package/dist/components/forms/index.es.js +24 -23
  76. package/dist/components/forms/index.es.js.map +1 -1
  77. package/dist/components/layouts/index.cjs.js +1 -1
  78. package/dist/components/layouts/index.es.js +45 -21
  79. package/dist/components/messaging/index.cjs.js +2 -0
  80. package/dist/components/messaging/index.cjs.js.map +1 -0
  81. package/dist/components/messaging/index.es.js +15 -0
  82. package/dist/components/messaging/index.es.js.map +1 -0
  83. package/dist/components/navigation/index.cjs.js +1 -1
  84. package/dist/components/navigation/index.es.js +1 -1
  85. package/dist/components/scheduling/index.cjs.js +2 -0
  86. package/dist/components/scheduling/index.cjs.js.map +1 -0
  87. package/dist/components/scheduling/index.es.js +6 -0
  88. package/dist/components/scheduling/index.es.js.map +1 -0
  89. package/dist/components/ui/index.cjs.js +1 -1
  90. package/dist/components/ui/index.es.js +168 -158
  91. package/dist/components/ui/index.es.js.map +1 -1
  92. package/dist/dialog-BFBDL8_i.js +382 -0
  93. package/dist/dialog-BFBDL8_i.js.map +1 -0
  94. package/dist/dialog-DO5i1PED.cjs +6 -0
  95. package/dist/dialog-DO5i1PED.cjs.map +1 -0
  96. package/dist/dropdown-menu-CkCCV_tw.js +969 -0
  97. package/dist/dropdown-menu-CkCCV_tw.js.map +1 -0
  98. package/dist/dropdown-menu-ejikFvg2.cjs +7 -0
  99. package/dist/dropdown-menu-ejikFvg2.cjs.map +1 -0
  100. package/dist/{ellipsis-6eUne95u.js → ellipsis-CKhpjj5H.js} +2 -2
  101. package/dist/{ellipsis-6eUne95u.js.map → ellipsis-CKhpjj5H.js.map} +1 -1
  102. package/dist/{ellipsis-DkM3GBF5.cjs → ellipsis-Dk7Wfc4i.cjs} +3 -3
  103. package/dist/{ellipsis-DkM3GBF5.cjs.map → ellipsis-Dk7Wfc4i.cjs.map} +1 -1
  104. package/dist/external-link-CGBqsrbm.cjs +7 -0
  105. package/dist/external-link-CGBqsrbm.cjs.map +1 -0
  106. package/dist/external-link-UeWW0ty3.js +16 -0
  107. package/dist/external-link-UeWW0ty3.js.map +1 -0
  108. package/dist/eye-Cved4eAo.cjs +7 -0
  109. package/dist/eye-Cved4eAo.cjs.map +1 -0
  110. package/dist/eye-KdCUpmO8.js +21 -0
  111. package/dist/eye-KdCUpmO8.js.map +1 -0
  112. package/dist/{file-Cw_u_aJB.js → file-CHbdXCWO.js} +2 -2
  113. package/dist/{file-Cw_u_aJB.js.map → file-CHbdXCWO.js.map} +1 -1
  114. package/dist/{file-Cp5UoYUZ.cjs → file-CqYRamm8.cjs} +3 -3
  115. package/dist/{file-Cp5UoYUZ.cjs.map → file-CqYRamm8.cjs.map} +1 -1
  116. package/dist/file-spreadsheet-CpySxI0-.cjs +7 -0
  117. package/dist/file-spreadsheet-CpySxI0-.cjs.map +1 -0
  118. package/dist/file-spreadsheet-EqZMR-mM.js +19 -0
  119. package/dist/file-spreadsheet-EqZMR-mM.js.map +1 -0
  120. package/dist/form-preview-BGdea5K7.cjs +111 -0
  121. package/dist/form-preview-BGdea5K7.cjs.map +1 -0
  122. package/dist/form-preview-C6WfeXyD.js +12075 -0
  123. package/dist/form-preview-C6WfeXyD.js.map +1 -0
  124. package/dist/full-calendar-CZMK_rPy.cjs +18 -0
  125. package/dist/full-calendar-CZMK_rPy.cjs.map +1 -0
  126. package/dist/full-calendar-CjaDgutS.js +2631 -0
  127. package/dist/full-calendar-CjaDgutS.js.map +1 -0
  128. package/dist/funnel-chart-Dfj1pOyV.cjs +6 -0
  129. package/dist/funnel-chart-Dfj1pOyV.cjs.map +1 -0
  130. package/dist/funnel-chart-o9qcEMgg.js +2952 -0
  131. package/dist/funnel-chart-o9qcEMgg.js.map +1 -0
  132. package/dist/global-search-Dhv8goH8.js +1331 -0
  133. package/dist/global-search-Dhv8goH8.js.map +1 -0
  134. package/dist/global-search-msFICB8l.cjs +22 -0
  135. package/dist/global-search-msFICB8l.cjs.map +1 -0
  136. package/dist/hooks/index.cjs.js +1 -1
  137. package/dist/hooks/index.es.js +9 -7
  138. package/dist/hooks/index.es.js.map +1 -1
  139. package/dist/{index-DtaLkIY8.js → index-BGUveO6l.js} +84 -79
  140. package/dist/{index-DtaLkIY8.js.map → index-BGUveO6l.js.map} +1 -1
  141. package/dist/{index-gVbM3K4f.cjs → index-Bhee6XHk.cjs} +2 -2
  142. package/dist/{index-gVbM3K4f.cjs.map → index-Bhee6XHk.cjs.map} +1 -1
  143. package/dist/index-CrSlyWAA.js +1090 -0
  144. package/dist/index-CrSlyWAA.js.map +1 -0
  145. package/dist/{index-Dk_Et2WJ.js → index-D8-pHJim.js} +2 -2
  146. package/dist/{index-Dk_Et2WJ.js.map → index-D8-pHJim.js.map} +1 -1
  147. package/dist/index-Dy_9oyP3.cjs +2 -0
  148. package/dist/{index-D2U2F80P.cjs.map → index-Dy_9oyP3.cjs.map} +1 -1
  149. package/dist/index-hnbbvGmb.cjs +21 -0
  150. package/dist/index-hnbbvGmb.cjs.map +1 -0
  151. package/dist/index.cjs.js +1 -1
  152. package/dist/index.es.js +434 -319
  153. package/dist/index.es.js.map +1 -1
  154. package/dist/input-Pfq8fkiV.js +2718 -0
  155. package/dist/input-Pfq8fkiV.js.map +1 -0
  156. package/dist/input-UBp7V7li.cjs +52 -0
  157. package/dist/input-UBp7V7li.cjs.map +1 -0
  158. package/dist/label-CExiitfO.js +50 -0
  159. package/dist/label-CExiitfO.js.map +1 -0
  160. package/dist/label-F0zGAiI2.cjs +2 -0
  161. package/dist/label-F0zGAiI2.cjs.map +1 -0
  162. package/dist/loader-circle-CBVYGIRp.js +14 -0
  163. package/dist/loader-circle-CBVYGIRp.js.map +1 -0
  164. package/dist/loader-circle-IaJKvYsP.cjs +7 -0
  165. package/dist/loader-circle-IaJKvYsP.cjs.map +1 -0
  166. package/dist/locale-provider-BHGNO4j7.js +1786 -0
  167. package/dist/locale-provider-BHGNO4j7.js.map +1 -0
  168. package/dist/locale-provider-BScpm-eC.cjs +2 -0
  169. package/dist/locale-provider-BScpm-eC.cjs.map +1 -0
  170. package/dist/locale-selector-D0jV4-90.cjs +12 -0
  171. package/dist/locale-selector-D0jV4-90.cjs.map +1 -0
  172. package/dist/locale-selector-n75sM9qA.js +1740 -0
  173. package/dist/locale-selector-n75sM9qA.js.map +1 -0
  174. package/dist/map-pin-CHh0xl6i.js +46 -0
  175. package/dist/map-pin-CHh0xl6i.js.map +1 -0
  176. package/dist/map-pin-DGObSZ40.cjs +17 -0
  177. package/dist/map-pin-DGObSZ40.cjs.map +1 -0
  178. package/dist/message-square-B_xLey5D.js +14 -0
  179. package/dist/message-square-B_xLey5D.js.map +1 -0
  180. package/dist/message-square-_69ua8rH.cjs +7 -0
  181. package/dist/message-square-_69ua8rH.cjs.map +1 -0
  182. package/dist/minus-BUFkTM0k.cjs +7 -0
  183. package/dist/{minus-C0uyaz70.cjs.map → minus-BUFkTM0k.cjs.map} +1 -1
  184. package/dist/{minus-CiwV65ZG.js → minus-DJ0tmymW.js} +2 -2
  185. package/dist/{minus-CiwV65ZG.js.map → minus-DJ0tmymW.js.map} +1 -1
  186. package/dist/multi-container-CytCGxsc.cjs +7 -0
  187. package/dist/multi-container-CytCGxsc.cjs.map +1 -0
  188. package/dist/multi-container-DmkgnCJN.js +799 -0
  189. package/dist/multi-container-DmkgnCJN.js.map +1 -0
  190. package/dist/multi-select-D9akBt7B.js +224 -0
  191. package/dist/multi-select-D9akBt7B.js.map +1 -0
  192. package/dist/multi-select-DxN_LuXC.cjs +7 -0
  193. package/dist/multi-select-DxN_LuXC.cjs.map +1 -0
  194. package/dist/pencil-BJULwaDl.cjs +12 -0
  195. package/dist/pencil-BJULwaDl.cjs.map +1 -0
  196. package/dist/pencil-HL0trGIs.js +31 -0
  197. package/dist/pencil-HL0trGIs.js.map +1 -0
  198. package/dist/permission-matrix-CTQ1OiTO.js +6128 -0
  199. package/dist/permission-matrix-CTQ1OiTO.js.map +1 -0
  200. package/dist/permission-matrix-DRu-cV44.cjs +93 -0
  201. package/dist/permission-matrix-DRu-cV44.cjs.map +1 -0
  202. package/dist/phone-B0J1dGIE.js +31 -0
  203. package/dist/phone-B0J1dGIE.js.map +1 -0
  204. package/dist/phone-DPA6vucM.cjs +12 -0
  205. package/dist/phone-DPA6vucM.cjs.map +1 -0
  206. package/dist/plus-Bcuujcqd.cjs +7 -0
  207. package/dist/{plus-BsV82JJ5.cjs.map → plus-Bcuujcqd.cjs.map} +1 -1
  208. package/dist/{plus-DxD6rofl.js → plus-D7DMDKb8.js} +2 -2
  209. package/dist/{plus-DxD6rofl.js.map → plus-D7DMDKb8.js.map} +1 -1
  210. package/dist/popover-Bba1ELMX.cjs +2 -0
  211. package/dist/popover-Bba1ELMX.cjs.map +1 -0
  212. package/dist/popover-CZWAuYUL.js +281 -0
  213. package/dist/popover-CZWAuYUL.js.map +1 -0
  214. package/dist/progress-BPpsmZ48.js +218 -0
  215. package/dist/progress-BPpsmZ48.js.map +1 -0
  216. package/dist/progress-BrzjVhWG.cjs +22 -0
  217. package/dist/progress-BrzjVhWG.cjs.map +1 -0
  218. package/dist/providers/index.cjs.js +1 -1
  219. package/dist/providers/index.es.js +1 -1
  220. package/dist/radio-group-B9RM_c7e.js +244 -0
  221. package/dist/radio-group-B9RM_c7e.js.map +1 -0
  222. package/dist/radio-group-_n8TTqNQ.cjs +2 -0
  223. package/dist/radio-group-_n8TTqNQ.cjs.map +1 -0
  224. package/dist/record-dialog-footer-CQPnqhfv.js +2577 -0
  225. package/dist/record-dialog-footer-CQPnqhfv.js.map +1 -0
  226. package/dist/record-dialog-footer-DLH96eAV.cjs +37 -0
  227. package/dist/record-dialog-footer-DLH96eAV.cjs.map +1 -0
  228. package/dist/scroll-area-CGNbDUBQ.js +889 -0
  229. package/dist/scroll-area-CGNbDUBQ.js.map +1 -0
  230. package/dist/scroll-area-HsTSI_58.cjs +22 -0
  231. package/dist/scroll-area-HsTSI_58.cjs.map +1 -0
  232. package/dist/select-CEsYpjPi.cjs +2 -0
  233. package/dist/select-CEsYpjPi.cjs.map +1 -0
  234. package/dist/{select-BJpZrtep.js → select-Ce2C2acZ.js} +184 -179
  235. package/dist/select-Ce2C2acZ.js.map +1 -0
  236. package/dist/send-DIkOd-pu.js +21 -0
  237. package/dist/send-DIkOd-pu.js.map +1 -0
  238. package/dist/send-H6HC-rS8.cjs +7 -0
  239. package/dist/send-H6HC-rS8.cjs.map +1 -0
  240. package/dist/shared-inbox-Bv0AgLew.js +702 -0
  241. package/dist/shared-inbox-Bv0AgLew.js.map +1 -0
  242. package/dist/shared-inbox-DWEKfDX3.cjs +22 -0
  243. package/dist/shared-inbox-DWEKfDX3.cjs.map +1 -0
  244. package/dist/sheet-C0-aBGln.cjs +2 -0
  245. package/dist/sheet-C0-aBGln.cjs.map +1 -0
  246. package/dist/sheet-Cyq_eDFW.js +147 -0
  247. package/dist/sheet-Cyq_eDFW.js.map +1 -0
  248. package/dist/{skeleton-Bl6FAxHT.js → skeleton-C_dwS3_6.js} +2 -2
  249. package/dist/{skeleton-Bl6FAxHT.js.map → skeleton-C_dwS3_6.js.map} +1 -1
  250. package/dist/{skeleton-Cb6MWerF.cjs → skeleton-D3YsjVWD.cjs} +2 -2
  251. package/dist/{skeleton-Cb6MWerF.cjs.map → skeleton-D3YsjVWD.cjs.map} +1 -1
  252. package/dist/sparkline-chart-BP4bk24J.js +15881 -0
  253. package/dist/sparkline-chart-BP4bk24J.js.map +1 -0
  254. package/dist/sparkline-chart-D6SLZVjp.cjs +79 -0
  255. package/dist/sparkline-chart-D6SLZVjp.cjs.map +1 -0
  256. package/dist/styles.css +1 -1
  257. package/dist/switch-AEZvZSRV.cjs +2 -0
  258. package/dist/switch-AEZvZSRV.cjs.map +1 -0
  259. package/dist/switch-BF4LLvaU.js +147 -0
  260. package/dist/switch-BF4LLvaU.js.map +1 -0
  261. package/dist/table-2-Bn-YjZ9s.cjs +17 -0
  262. package/dist/table-2-Bn-YjZ9s.cjs.map +1 -0
  263. package/dist/table-2-C7E_N72K.js +52 -0
  264. package/dist/table-2-C7E_N72K.js.map +1 -0
  265. package/dist/textarea-4qZDuQ-C.js +206 -0
  266. package/dist/textarea-4qZDuQ-C.js.map +1 -0
  267. package/dist/textarea-Bq_zyt0L.cjs +2 -0
  268. package/dist/textarea-Bq_zyt0L.cjs.map +1 -0
  269. package/dist/tooltip-Dd7le9EO.cjs +2 -0
  270. package/dist/tooltip-Dd7le9EO.cjs.map +1 -0
  271. package/dist/tooltip-Dee-pNPI.js +338 -0
  272. package/dist/tooltip-Dee-pNPI.js.map +1 -0
  273. package/dist/trash-2-B3EP3JfM.js +18 -0
  274. package/dist/trash-2-B3EP3JfM.js.map +1 -0
  275. package/dist/trash-2-DWEeKlWT.cjs +7 -0
  276. package/dist/trash-2-DWEeKlWT.cjs.map +1 -0
  277. package/dist/{trending-up-BHFXgLWy.js → trending-up-ljWtN4pj.js} +2 -2
  278. package/dist/{trending-up-BHFXgLWy.js.map → trending-up-ljWtN4pj.js.map} +1 -1
  279. package/dist/{trending-up-BBjz_E69.cjs → trending-up-mLgmkp--.cjs} +2 -2
  280. package/dist/{trending-up-BBjz_E69.cjs.map → trending-up-mLgmkp--.cjs.map} +1 -1
  281. package/dist/upload-2tm-XihE.cjs +7 -0
  282. package/dist/upload-2tm-XihE.cjs.map +1 -0
  283. package/dist/upload-C_JDP8O0.js +16 -0
  284. package/dist/upload-C_JDP8O0.js.map +1 -0
  285. package/dist/use-controllable-state-3ATd6Fqd.cjs +2 -0
  286. package/dist/use-controllable-state-3ATd6Fqd.cjs.map +1 -0
  287. package/dist/use-controllable-state-CEa-Zlq6.js +23 -0
  288. package/dist/use-controllable-state-CEa-Zlq6.js.map +1 -0
  289. package/dist/use-formatters-Bb0fX1lW.cjs +2 -0
  290. package/dist/{use-formatters-CObUgipW.cjs.map → use-formatters-Bb0fX1lW.cjs.map} +1 -1
  291. package/dist/{use-formatters-Bgj3JA4i.js → use-formatters-xeMS4gdV.js} +1160 -1165
  292. package/dist/{use-formatters-Bgj3JA4i.js.map → use-formatters-xeMS4gdV.js.map} +1 -1
  293. package/dist/utils/index.cjs.js +1 -1
  294. package/dist/utils/index.es.js +1 -1
  295. package/dist/welcome-card-Ccbl_miQ.js +1007 -0
  296. package/dist/welcome-card-Ccbl_miQ.js.map +1 -0
  297. package/dist/welcome-card-D-ShMkaS.cjs +37 -0
  298. package/dist/welcome-card-D-ShMkaS.cjs.map +1 -0
  299. package/dist/x-BBkgEhUv.js +15 -0
  300. package/dist/x-BBkgEhUv.js.map +1 -0
  301. package/dist/x-D-El5XAY.cjs +7 -0
  302. package/dist/x-D-El5XAY.cjs.map +1 -0
  303. package/package.json +20 -2
  304. package/dist/avatar-BT_SPwFW.cjs +0 -18
  305. package/dist/avatar-BT_SPwFW.cjs.map +0 -1
  306. package/dist/avatar-C5-ZWIqT.js +0 -305
  307. package/dist/avatar-C5-ZWIqT.js.map +0 -1
  308. package/dist/calendar-BF5drX5u.cjs +0 -12
  309. package/dist/calendar-BF5drX5u.cjs.map +0 -1
  310. package/dist/calendar-DgnhzEfp.js.map +0 -1
  311. package/dist/checkbox-BY2zxQVv.js.map +0 -1
  312. package/dist/checkbox-CL6u7vL6.cjs +0 -2
  313. package/dist/checkbox-CL6u7vL6.cjs.map +0 -1
  314. package/dist/chevron-down-BiUlxZA-.js +0 -14
  315. package/dist/chevron-down-BiUlxZA-.js.map +0 -1
  316. package/dist/chevron-down-Ce0kqXiD.cjs +0 -7
  317. package/dist/chevron-down-Ce0kqXiD.cjs.map +0 -1
  318. package/dist/chevron-up-C3RClqXD.cjs +0 -7
  319. package/dist/createLucideIcon-BC8wu-bu.js +0 -80
  320. package/dist/createLucideIcon-BC8wu-bu.js.map +0 -1
  321. package/dist/createLucideIcon-Cv8nC2E9.cjs +0 -22
  322. package/dist/createLucideIcon-Cv8nC2E9.cjs.map +0 -1
  323. package/dist/filter-tags-DoRzXjuY.cjs +0 -48
  324. package/dist/filter-tags-DoRzXjuY.cjs.map +0 -1
  325. package/dist/filter-tags-zEQmRhEU.js +0 -2712
  326. package/dist/filter-tags-zEQmRhEU.js.map +0 -1
  327. package/dist/full-calendar-5Z4JSj8g.js +0 -3551
  328. package/dist/full-calendar-5Z4JSj8g.js.map +0 -1
  329. package/dist/full-calendar-DjAvCfuE.cjs +0 -23
  330. package/dist/full-calendar-DjAvCfuE.cjs.map +0 -1
  331. package/dist/global-search-BbZfc-VL.js +0 -1216
  332. package/dist/global-search-BbZfc-VL.js.map +0 -1
  333. package/dist/global-search-Bd74_wPV.cjs +0 -22
  334. package/dist/global-search-Bd74_wPV.cjs.map +0 -1
  335. package/dist/index-D2U2F80P.cjs +0 -2
  336. package/dist/index-DG0KV-sw.cjs +0 -11
  337. package/dist/index-DG0KV-sw.cjs.map +0 -1
  338. package/dist/index-XnFSmCuh.js +0 -299
  339. package/dist/index-XnFSmCuh.js.map +0 -1
  340. package/dist/input-BgPy-4Qu.js +0 -3658
  341. package/dist/input-BgPy-4Qu.js.map +0 -1
  342. package/dist/input-Cfr2WB-P.cjs +0 -47
  343. package/dist/input-Cfr2WB-P.cjs.map +0 -1
  344. package/dist/locale-provider-BojNdf1Y.cjs +0 -2
  345. package/dist/locale-provider-BojNdf1Y.cjs.map +0 -1
  346. package/dist/locale-provider-DzBeb-X3.js +0 -1013
  347. package/dist/locale-provider-DzBeb-X3.js.map +0 -1
  348. package/dist/locale-selector-BD1IWk6X.cjs +0 -22
  349. package/dist/locale-selector-BD1IWk6X.cjs.map +0 -1
  350. package/dist/locale-selector-DLRSyVye.js +0 -1772
  351. package/dist/locale-selector-DLRSyVye.js.map +0 -1
  352. package/dist/minus-C0uyaz70.cjs +0 -7
  353. package/dist/multi-container-BZia7HCU.js +0 -748
  354. package/dist/multi-container-BZia7HCU.js.map +0 -1
  355. package/dist/multi-container-BdNbgtPZ.cjs +0 -7
  356. package/dist/multi-container-BdNbgtPZ.cjs.map +0 -1
  357. package/dist/pipeline-Dh052Dvj.cjs +0 -27
  358. package/dist/pipeline-Dh052Dvj.cjs.map +0 -1
  359. package/dist/pipeline-DqWvleNy.js +0 -1076
  360. package/dist/pipeline-DqWvleNy.js.map +0 -1
  361. package/dist/plus-BsV82JJ5.cjs +0 -7
  362. package/dist/popover-BgLxmm1z.cjs +0 -7
  363. package/dist/popover-BgLxmm1z.cjs.map +0 -1
  364. package/dist/popover-PI9jbhnS.js +0 -775
  365. package/dist/popover-PI9jbhnS.js.map +0 -1
  366. package/dist/progress-CTTt_CP3.js +0 -260
  367. package/dist/progress-CTTt_CP3.js.map +0 -1
  368. package/dist/progress-CTWb7X1Q.cjs +0 -37
  369. package/dist/progress-CTWb7X1Q.cjs.map +0 -1
  370. package/dist/scroll-area-A3jGu-Ta.js +0 -974
  371. package/dist/scroll-area-A3jGu-Ta.js.map +0 -1
  372. package/dist/scroll-area-DzDnWIYJ.cjs +0 -12
  373. package/dist/scroll-area-DzDnWIYJ.cjs.map +0 -1
  374. package/dist/select-BJpZrtep.js.map +0 -1
  375. package/dist/select-Ii8HRuXa.cjs +0 -2
  376. package/dist/select-Ii8HRuXa.cjs.map +0 -1
  377. package/dist/separator-BzcDE0Ei.cjs +0 -2
  378. package/dist/separator-BzcDE0Ei.cjs.map +0 -1
  379. package/dist/separator-DyarVo1-.js +0 -396
  380. package/dist/separator-DyarVo1-.js.map +0 -1
  381. package/dist/sheet-DPSdOoE6.js +0 -84
  382. package/dist/sheet-DPSdOoE6.js.map +0 -1
  383. package/dist/sheet-XtjvbEMq.cjs +0 -2
  384. package/dist/sheet-XtjvbEMq.cjs.map +0 -1
  385. package/dist/sparkline-chart-CeCDeMNk.cjs +0 -102
  386. package/dist/sparkline-chart-CeCDeMNk.cjs.map +0 -1
  387. package/dist/sparkline-chart-DUS4CoW_.js +0 -19787
  388. package/dist/sparkline-chart-DUS4CoW_.js.map +0 -1
  389. package/dist/use-formatters-CObUgipW.cjs +0 -2
  390. package/dist/welcome-card-CNuEa6Ck.cjs +0 -67
  391. package/dist/welcome-card-CNuEa6Ck.cjs.map +0 -1
  392. package/dist/welcome-card-Cp6t6G3j.js +0 -1041
  393. package/dist/welcome-card-Cp6t6G3j.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global-search-Dhv8goH8.js","sources":["../node_modules/lucide-react/dist/esm/icons/bell.js","../node_modules/lucide-react/dist/esm/icons/history.js","../node_modules/lucide-react/dist/esm/icons/menu.js","../node_modules/lucide-react/dist/esm/icons/panel-left.js","../src/components/navigation/sidebar.tsx","../src/components/navigation/breadcrumb.tsx","../src/components/navigation/top-nav.tsx","../src/components/navigation/mega-menu.tsx","../src/components/navigation/multi-level-dropdown.tsx","../src/components/navigation/tab-navigation.tsx","../src/components/navigation/quick-create-menu.tsx","../src/components/navigation/command-palette.tsx","../src/components/navigation/global-search.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Bell = createLucideIcon(\"Bell\", [\n [\"path\", { d: \"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9\", key: \"1qo2s2\" }],\n [\"path\", { d: \"M10.3 21a1.94 1.94 0 0 0 3.4 0\", key: \"qgo35s\" }]\n]);\n\nexport { Bell as default };\n//# sourceMappingURL=bell.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst History = createLucideIcon(\"History\", [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }],\n [\"path\", { d: \"M12 7v5l4 2\", key: \"1fdv2h\" }]\n]);\n\nexport { History as default };\n//# sourceMappingURL=history.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Menu = createLucideIcon(\"Menu\", [\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"12\", y2: \"12\", key: \"1e0a9i\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"6\", y2: \"6\", key: \"1owob3\" }],\n [\"line\", { x1: \"4\", x2: \"20\", y1: \"18\", y2: \"18\", key: \"yk5zj1\" }]\n]);\n\nexport { Menu as default };\n//# sourceMappingURL=menu.js.map\n","/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst PanelLeft = createLucideIcon(\"PanelLeft\", [\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"3\", rx: \"2\", key: \"afitv7\" }],\n [\"path\", { d: \"M9 3v18\", key: \"fh3hqa\" }]\n]);\n\nexport { PanelLeft as default };\n//# sourceMappingURL=panel-left.js.map\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { PanelLeft } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { Separator } from '@/components/ui/separator'\nimport { Sheet, SheetContent } from '@/components/ui/sheet'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { useLocale } from '@/providers/locale-provider'\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state'\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\nconst SIDEBAR_WIDTH = '16rem'\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\nconst SIDEBAR_WIDTH_ICON = '3rem'\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\n\ntype SidebarContext = {\n state: 'expanded' | 'collapsed'\n open: boolean\n setOpen: (open: boolean) => void\n openMobile: boolean\n setOpenMobile: (open: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null)\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext)\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.')\n }\n return context\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n defaultOpen?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n }\n>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [openMobile, setOpenMobile] = React.useState(false)\n const [_open, _setOpen] = React.useState(defaultOpen)\n const open = openProp ?? _open\n\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === 'function' ? value(open) : value\n if (setOpenProp) {\n setOpenProp(openState)\n } else {\n _setOpen(openState)\n }\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n },\n [setOpenProp, open]\n )\n\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open)\n }, [isMobile, setOpen, setOpenMobile])\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n const state = open ? 'expanded' : 'collapsed'\n\n const contextValue = React.useMemo<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n )\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n 'group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\n }\n)\nSidebarProvider.displayName = 'SidebarProvider'\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n side?: 'left' | 'right'\n variant?: 'sidebar' | 'floating' | 'inset'\n collapsible?: 'offcanvas' | 'icon' | 'none'\n }\n>(\n (\n {\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn(\n 'flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n )\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n className=\"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden md:block text-sidebar-foreground\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n <div\n className={cn(\n 'duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem)]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon]'\n )}\n />\n <div\n className={cn(\n 'duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem_+_2px)]'\n : 'group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className={cn(\n 'flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow'\n )}\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = 'Sidebar'\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button>\n>(({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n const { t } = useLocale()\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">{t('navigation.toggleSidebar')}</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = 'SidebarTrigger'\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(\n ({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar()\n const { t } = useLocale()\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label={t('navigation.toggleSidebar')}\n tabIndex={-1}\n onClick={toggleSidebar}\n title={t('navigation.toggleSidebar')}\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarRail.displayName = 'SidebarRail'\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(\n ({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n 'relative flex min-h-svh flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-1rem)] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarInset.displayName = 'SidebarInset'\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<'input'>,\n React.ComponentProps<'input'>\n>(({ className, ...props }, ref) => {\n return (\n <input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring',\n className\n )}\n {...props}\n />\n )\n})\nSidebarInput.displayName = 'SidebarInput'\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarHeader.displayName = 'SidebarHeader'\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarFooter.displayName = 'SidebarFooter'\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n React.ComponentProps<typeof Separator>\n>(({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n />\n )\n})\nSidebarSeparator.displayName = 'SidebarSeparator'\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className\n )}\n {...props}\n />\n )\n }\n)\nSidebarContent.displayName = 'SidebarContent'\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n )\n }\n)\nSidebarGroup.displayName = 'SidebarGroup'\n\nconst SidebarGroupLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupLabel.displayName = 'SidebarGroupLabel'\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & { asChild?: boolean }\n>(({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = 'SidebarGroupAction'\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n )\n)\nSidebarGroupContent.displayName = 'SidebarGroupContent'\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n )\n)\nSidebarMenu.displayName = 'SidebarMenu'\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n )\n)\nSidebarMenuItem.displayName = 'SidebarMenuItem'\n\nconst sidebarMenuButtonVariants = cva(\n 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean\n isActive?: boolean\n tooltip?: string | React.ComponentProps<typeof TooltipContent>\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(\n (\n {\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n const { isMobile, state } = useSidebar()\n\n const button = (\n <Comp\n ref={ref}\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n )\n\n if (!tooltip) {\n return button\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n }\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== 'collapsed' || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\n }\n)\nSidebarMenuButton.displayName = 'SidebarMenuButton'\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean\n showOnHover?: boolean\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuAction.displayName = 'SidebarMenuAction'\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n)\nSidebarMenuBadge.displayName = 'SidebarMenuBadge'\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n showIcon?: boolean\n }\n>(({ className, showIcon = false, ...props }, ref) => {\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`\n }, [])\n\n return (\n <div\n ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('rounded-md h-8 flex gap-2 px-2 items-center', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 flex-1 max-w-[--skeleton-width]\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n )\n})\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton'\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n)\nSidebarMenuSub.displayName = 'SidebarMenuSub'\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(\n ({ ...props }, ref) => <li ref={ref} {...props} />\n)\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem'\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & {\n asChild?: boolean\n size?: 'sm' | 'md'\n isActive?: boolean\n }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n )\n})\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton'\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n}\n","import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { ChevronRight, MoreHorizontal } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\n\nconst BreadcrumbWithLocale = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<'nav'> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => {\n const { t } = useLocale()\n return <nav ref={ref} aria-label={t('navigation.breadcrumb')} {...props} />\n})\nBreadcrumbWithLocale.displayName = 'Breadcrumb'\n\nconst BreadcrumbList = React.forwardRef<HTMLOListElement, React.ComponentPropsWithoutRef<'ol'>>(\n ({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n 'flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5',\n className\n )}\n {...props}\n />\n )\n)\nBreadcrumbList.displayName = 'BreadcrumbList'\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, React.ComponentPropsWithoutRef<'li'>>(\n ({ className, ...props }, ref) => (\n <li ref={ref} className={cn('inline-flex items-center gap-1.5', className)} {...props} />\n )\n)\nBreadcrumbItem.displayName = 'BreadcrumbItem'\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<'a'> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a'\n\n return (\n <Comp\n ref={ref}\n className={cn('transition-colors hover:text-foreground', className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = 'BreadcrumbLink'\n\nconst BreadcrumbPage = React.forwardRef<HTMLSpanElement, React.ComponentPropsWithoutRef<'span'>>(\n ({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('font-normal text-foreground', className)}\n {...props}\n />\n )\n)\nBreadcrumbPage.displayName = 'BreadcrumbPage'\n\nconst BreadcrumbSeparator = ({ children, className, ...props }: React.ComponentProps<'li'>) => (\n <li role=\"presentation\" aria-hidden=\"true\" className={cn('[&>svg]:size-3.5', className)} {...props}>\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator'\n\nconst BreadcrumbEllipsis = ({ className, ...props }: React.ComponentProps<'span'>) => (\n <BreadcrumbEllipsisInner className={className} {...props} />\n)\nBreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'\n\nfunction BreadcrumbEllipsisInner({ className, ...props }: React.ComponentProps<'span'>) {\n const { t } = useLocale()\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex h-9 w-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">{t('navigation.more')}</span>\n </span>\n )\n}\n\nexport {\n BreadcrumbWithLocale as Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","import * as React from 'react'\nimport { Menu, Bell, Search } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { useControllableState } from '@/hooks/use-controllable-state'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\n\nexport interface TopNavProps extends React.HTMLAttributes<HTMLElement> {\n logo?: React.ReactNode\n onMenuClick?: () => void\n showSearch?: boolean\n searchValue?: string\n defaultSearchValue?: string\n onSearchValueChange?: (value: string) => void\n searchPlaceholder?: string\n onSearch?: (value: string) => void\n user?: {\n name: string\n email: string\n avatar?: string\n initials?: string\n }\n userMenuItems?: {\n label: string\n onClick: () => void\n icon?: React.ReactNode\n }[]\n notificationCount?: number\n onNotificationClick?: () => void\n rightContent?: React.ReactNode\n}\n\nconst TopNav = React.forwardRef<HTMLElement, TopNavProps>(\n (\n {\n className,\n logo,\n onMenuClick,\n showSearch = true,\n searchValue: controlledSearchValue,\n defaultSearchValue = '',\n onSearchValueChange,\n searchPlaceholder,\n onSearch,\n user,\n userMenuItems = [],\n notificationCount,\n onNotificationClick,\n rightContent,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const [searchValue, setSearchValue] = useControllableState({\n value: controlledSearchValue,\n defaultValue: defaultSearchValue,\n onChange: onSearchValueChange,\n })\n\n const handleSearchSubmit = (e: React.FormEvent) => {\n e.preventDefault()\n onSearch?.(searchValue)\n }\n\n return (\n <header\n ref={ref}\n className={cn(\n 'sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6',\n className\n )}\n {...props}\n >\n {onMenuClick && (\n <Button variant=\"ghost\" size=\"icon\" className=\"shrink-0 md:hidden\" onClick={onMenuClick}>\n <Menu className=\"h-5 w-5\" />\n <span className=\"sr-only\">{t('navigation.toggleNavigationMenu')}</span>\n </Button>\n )}\n\n {logo && <div className=\"flex items-center gap-2\">{logo}</div>}\n\n {showSearch && (\n <form onSubmit={handleSearchSubmit} className=\"flex-1 md:flex-initial\">\n <div className=\"relative\">\n <Search className=\"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground\" />\n <Input\n type=\"search\"\n placeholder={searchPlaceholder ?? t('table.searchPlaceholder')}\n className=\"w-full pl-8 md:w-[200px] lg:w-[300px]\"\n value={searchValue}\n onChange={(e) => setSearchValue(e.target.value)}\n />\n </div>\n </form>\n )}\n\n <div className=\"ml-auto flex items-center gap-2\">\n {rightContent}\n\n {onNotificationClick && (\n <Button variant=\"ghost\" size=\"icon\" className=\"relative\" onClick={onNotificationClick}>\n <Bell className=\"h-5 w-5\" />\n {notificationCount !== undefined && notificationCount > 0 && (\n <span className=\"absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-xs text-destructive-foreground\">\n {notificationCount > 99 ? '99+' : notificationCount}\n </span>\n )}\n <span className=\"sr-only\">{t('navigation.notifications')}</span>\n </Button>\n )}\n\n {user && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" className=\"relative h-8 w-8 rounded-full\">\n <Avatar className=\"h-8 w-8\">\n {user.avatar && <AvatarImage src={user.avatar} alt={user.name} />}\n <AvatarFallback>{user.initials || user.name.charAt(0).toUpperCase()}</AvatarFallback>\n </Avatar>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent className=\"w-56\" align=\"end\" forceMount>\n <DropdownMenuLabel className=\"font-normal\">\n <div className=\"flex flex-col space-y-1\">\n <p className=\"text-sm font-medium leading-none\">{user.name}</p>\n <p className=\"text-xs leading-none text-muted-foreground\">{user.email}</p>\n </div>\n </DropdownMenuLabel>\n {userMenuItems.length > 0 && (\n <>\n <DropdownMenuSeparator />\n {userMenuItems.map((item, index) => (\n <DropdownMenuItem key={index} onClick={item.onClick}>\n {item.icon && <span className=\"mr-2\">{item.icon}</span>}\n {item.label}\n </DropdownMenuItem>\n ))}\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n </header>\n )\n }\n)\nTopNav.displayName = 'TopNav'\n\nexport { TopNav }\n","import * as React from 'react'\nimport { ChevronDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\n\nexport interface MegaMenuLink {\n label: string\n href: string\n description?: string\n icon?: React.ReactNode\n}\n\nexport interface MegaMenuSection {\n title?: string\n links: MegaMenuLink[]\n}\n\nexport interface MegaMenuColumn {\n title?: string\n sections: MegaMenuSection[]\n featured?: React.ReactNode\n}\n\nexport interface MegaMenuItem {\n label: string\n href?: string\n columns?: MegaMenuColumn[]\n}\n\nexport interface MegaMenuProps extends React.HTMLAttributes<HTMLElement> {\n items: MegaMenuItem[]\n logo?: React.ReactNode\n rightContent?: React.ReactNode\n}\n\nconst MegaMenu = React.forwardRef<HTMLElement, MegaMenuProps>(\n ({ className, items, logo, rightContent, ...props }, ref) => {\n const [activeItem, setActiveItem] = React.useState<string | null>(null)\n const timeoutRef = React.useRef<NodeJS.Timeout | null>(null)\n\n const handleMouseEnter = (label: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n setActiveItem(label)\n }\n\n const handleMouseLeave = () => {\n timeoutRef.current = setTimeout(() => {\n setActiveItem(null)\n }, 150)\n }\n\n return (\n <nav\n ref={ref}\n className={cn('relative z-50 w-full border-b bg-background', className)}\n {...props}\n >\n <div className=\"mx-auto flex h-16 max-w-7xl items-center justify-between px-4\">\n {logo && <div className=\"flex-shrink-0\">{logo}</div>}\n\n <ul className=\"hidden items-center gap-1 md:flex\">\n {items.map((item) => (\n <li\n key={item.label}\n onMouseEnter={() => item.columns && handleMouseEnter(item.label)}\n onMouseLeave={handleMouseLeave}\n >\n {item.href && !item.columns ? (\n <a\n href={item.href}\n className=\"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground\"\n >\n {item.label}\n </a>\n ) : (\n <Button\n variant=\"ghost\"\n className={cn(\n 'flex items-center gap-1',\n activeItem === item.label && 'bg-accent text-accent-foreground'\n )}\n >\n {item.label}\n {item.columns && (\n <ChevronDown\n className={cn(\n 'h-4 w-4 transition-transform',\n activeItem === item.label && 'rotate-180'\n )}\n />\n )}\n </Button>\n )}\n\n {item.columns && activeItem === item.label && (\n <div\n className=\"absolute left-0 right-0 top-full border-b bg-background shadow-lg\"\n onMouseEnter={() => handleMouseEnter(item.label)}\n onMouseLeave={handleMouseLeave}\n >\n <div className=\"mx-auto max-w-7xl p-6\">\n <div\n className=\"grid gap-8\"\n style={{\n gridTemplateColumns: `repeat(${item.columns.length}, minmax(0, 1fr))`,\n }}\n >\n {item.columns.map((column, colIndex) => (\n <div key={colIndex}>\n {column.title && (\n <h3 className=\"mb-4 text-sm font-semibold text-foreground\">\n {column.title}\n </h3>\n )}\n {column.sections.map((section, secIndex) => (\n <div key={secIndex} className=\"mb-4\">\n {section.title && (\n <h4 className=\"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground\">\n {section.title}\n </h4>\n )}\n <ul className=\"space-y-1\">\n {section.links.map((link, linkIndex) => (\n <li key={linkIndex}>\n <a\n href={link.href}\n className=\"group flex items-start gap-3 rounded-md p-2 transition-colors hover:bg-accent\"\n >\n {link.icon && (\n <span className=\"mt-0.5 text-muted-foreground group-hover:text-foreground\">\n {link.icon}\n </span>\n )}\n <div>\n <span className=\"block text-sm font-medium\">\n {link.label}\n </span>\n {link.description && (\n <span className=\"block text-xs text-muted-foreground\">\n {link.description}\n </span>\n )}\n </div>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n {column.featured && (\n <div className=\"mt-4 rounded-lg bg-muted p-4\">\n {column.featured}\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n </div>\n )}\n </li>\n ))}\n </ul>\n\n {rightContent && <div className=\"flex items-center gap-2\">{rightContent}</div>}\n </div>\n </nav>\n )\n }\n)\nMegaMenu.displayName = 'MegaMenu'\n\nexport { MegaMenu }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { useControllableState } from '@/hooks/use-controllable-state'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu'\n\nexport interface MultiLevelDropdownItem {\n label: string\n labelKey?: string\n icon?: React.ReactNode\n href?: string\n onClick?: () => void\n disabled?: boolean\n children?: MultiLevelDropdownItem[]\n separator?: boolean\n}\n\nexport interface MultiLevelDropdownProps {\n trigger: React.ReactNode\n items: MultiLevelDropdownItem[]\n align?: 'start' | 'center' | 'end'\n side?: 'top' | 'right' | 'bottom' | 'left'\n className?: string\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n closeOnSelect?: boolean\n onItemSelect?: (item: MultiLevelDropdownItem) => void\n}\n\nfunction renderDropdownItems(\n items: MultiLevelDropdownItem[],\n options: {\n t: (key: string) => string\n onItemSelect?: (item: MultiLevelDropdownItem) => void\n closeOnSelect: boolean\n setOpen: (open: boolean) => void\n }\n) {\n const { t, onItemSelect, closeOnSelect, setOpen } = options\n\n return items.map((item, index) => {\n if (item.separator) {\n return <DropdownMenuSeparator key={`separator-${index}`} />\n }\n\n if (item.children && item.children.length > 0) {\n return (\n <DropdownMenuSub key={`${item.label}-${index}`}>\n <DropdownMenuSubTrigger disabled={item.disabled} className=\"flex items-center gap-2\">\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.labelKey ? t(item.labelKey) : item.label}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n {renderDropdownItems(item.children, options)}\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n )\n }\n\n const handleClick = () => {\n onItemSelect?.(item)\n if (item.onClick) {\n item.onClick()\n }\n if (closeOnSelect) {\n setOpen(false)\n }\n }\n\n if (item.href) {\n return (\n <DropdownMenuItem key={`${item.label}-${index}`} disabled={item.disabled} asChild>\n <a href={item.href} className=\"flex items-center gap-2\">\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.labelKey ? t(item.labelKey) : item.label}\n </a>\n </DropdownMenuItem>\n )\n }\n\n return (\n <DropdownMenuItem\n key={`${item.label}-${index}`}\n disabled={item.disabled}\n onClick={handleClick}\n className=\"flex items-center gap-2\"\n >\n {item.icon && <span className=\"h-4 w-4\">{item.icon}</span>}\n {item.labelKey ? t(item.labelKey) : item.label}\n </DropdownMenuItem>\n )\n })\n}\n\nconst MultiLevelDropdown = React.forwardRef<HTMLDivElement, MultiLevelDropdownProps>(\n (\n {\n trigger,\n items,\n align = 'start',\n side = 'bottom',\n className,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n closeOnSelect = true,\n onItemSelect,\n },\n ref\n ) => {\n const { t } = useLocale()\n const [open, setOpen] = useControllableState({\n value: controlledOpen,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n })\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenuTrigger asChild>{trigger}</DropdownMenuTrigger>\n <DropdownMenuContent ref={ref} align={align} side={side} className={cn('w-56', className)}>\n {renderDropdownItems(items, { t, onItemSelect, closeOnSelect, setOpen })}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n }\n)\nMultiLevelDropdown.displayName = 'MultiLevelDropdown'\n\nexport { MultiLevelDropdown }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\nimport { Badge } from '@/components/ui/badge'\nimport { useControllableState } from '@/hooks/use-controllable-state'\n\nexport interface TabItem {\n id: string\n label: string\n icon?: React.ReactNode\n badge?: string | number\n disabled?: boolean\n}\n\nexport interface TabNavigationProps extends React.HTMLAttributes<HTMLDivElement> {\n tabs: TabItem[]\n activeTab?: string\n defaultActiveTab?: string\n onTabChange?: (tabId: string) => void\n variant?: 'default' | 'pills' | 'underline' | 'boxed'\n size?: 'sm' | 'md' | 'lg'\n fullWidth?: boolean\n renderTab?: (tab: TabItem, context: { isActive: boolean; defaultNode: React.ReactNode }) => React.ReactNode\n}\n\nconst TabNavigation = React.forwardRef<HTMLDivElement, TabNavigationProps>(\n (\n {\n className,\n tabs,\n activeTab,\n defaultActiveTab,\n onTabChange,\n variant = 'default',\n size = 'md',\n fullWidth = false,\n renderTab,\n ...props\n },\n ref\n ) => {\n const [currentTab, setCurrentTab] = useControllableState({\n value: activeTab,\n defaultValue: defaultActiveTab ?? tabs[0]?.id ?? '',\n onChange: onTabChange,\n })\n\n React.useEffect(() => {\n if (activeTab !== undefined) return\n if (tabs.length === 0) return\n if (!tabs.some((tab) => tab.id === currentTab)) {\n setCurrentTab(tabs[0].id)\n }\n }, [activeTab, tabs, currentTab, setCurrentTab])\n\n const handleTabClick = (tabId: string) => {\n setCurrentTab(tabId)\n }\n\n const sizeClasses = {\n sm: 'text-xs py-1 px-2',\n md: 'text-sm py-2 px-3',\n lg: 'text-base py-3 px-4',\n }\n\n const getVariantClasses = (isActive: boolean) => {\n const baseClasses = 'flex items-center gap-2 font-medium transition-colors'\n\n switch (variant) {\n case 'pills':\n return cn(\n baseClasses,\n 'rounded-full',\n isActive\n ? 'bg-primary text-primary-foreground'\n : 'text-muted-foreground hover:bg-muted hover:text-foreground'\n )\n case 'underline':\n return cn(\n baseClasses,\n 'border-b-2 rounded-none',\n isActive\n ? 'border-primary text-primary'\n : 'border-transparent text-muted-foreground hover:border-border hover:text-foreground'\n )\n case 'boxed':\n return cn(\n baseClasses,\n 'rounded-lg border',\n isActive\n ? 'border-primary bg-primary/10 text-primary'\n : 'border-transparent text-muted-foreground hover:bg-muted hover:text-foreground'\n )\n default:\n return cn(\n baseClasses,\n 'rounded-md',\n isActive\n ? 'bg-muted text-foreground'\n : 'text-muted-foreground hover:bg-muted/50 hover:text-foreground'\n )\n }\n }\n\n const containerClasses = cn(\n 'flex items-center gap-1',\n variant === 'underline' && 'border-b',\n fullWidth && 'w-full',\n className\n )\n\n return (\n <div ref={ref} className={containerClasses} role=\"tablist\" {...props}>\n {tabs.map((tab) => {\n const isActive = currentTab === tab.id\n\n return (\n <button\n key={tab.id}\n role=\"tab\"\n aria-selected={isActive}\n aria-disabled={tab.disabled}\n disabled={tab.disabled}\n onClick={() => handleTabClick(tab.id)}\n className={cn(\n getVariantClasses(isActive),\n sizeClasses[size],\n fullWidth && 'flex-1 justify-center',\n tab.disabled && 'cursor-not-allowed opacity-50'\n )}\n >\n {renderTab\n ? renderTab(tab, {\n isActive,\n defaultNode: (\n <>\n {tab.icon && <span className=\"h-4 w-4\">{tab.icon}</span>}\n <span>{tab.label}</span>\n {tab.badge !== undefined && (\n <Badge\n variant={isActive ? 'default' : 'secondary'}\n className=\"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs\"\n >\n {tab.badge}\n </Badge>\n )}\n </>\n ),\n })\n : (\n <>\n {tab.icon && <span className=\"h-4 w-4\">{tab.icon}</span>}\n <span>{tab.label}</span>\n {tab.badge !== undefined && (\n <Badge\n variant={isActive ? 'default' : 'secondary'}\n className=\"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs\"\n >\n {tab.badge}\n </Badge>\n )}\n </>\n )}\n </button>\n )\n })}\n </div>\n )\n }\n)\nTabNavigation.displayName = 'TabNavigation'\n\nexport { TabNavigation }\n","import * as React from 'react'\nimport { Plus, ChevronDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { useControllableState } from '@/hooks/use-controllable-state'\nimport { Button } from '@/components/ui/button'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n DropdownMenuGroup,\n} from '@/components/ui/dropdown-menu'\n\nexport interface QuickCreateItem {\n id: string\n label: string\n labelKey?: string\n icon?: React.ReactNode\n description?: string\n descriptionKey?: string\n onClick: () => void\n shortcut?: string\n}\n\nexport interface QuickCreateGroup {\n label?: string\n labelKey?: string\n items: QuickCreateItem[]\n}\n\nexport interface QuickCreateMenuProps {\n groups: QuickCreateGroup[]\n label?: string\n labelKey?: string\n variant?: 'default' | 'outline' | 'ghost'\n size?: 'default' | 'sm' | 'lg' | 'icon'\n className?: string\n align?: 'start' | 'center' | 'end'\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n closeOnSelect?: boolean\n onItemSelect?: (item: QuickCreateItem) => void\n renderItem?: (item: QuickCreateItem) => React.ReactNode\n}\n\nconst QuickCreateMenu = React.forwardRef<HTMLButtonElement, QuickCreateMenuProps>(\n (\n {\n groups,\n label,\n labelKey,\n variant = 'default',\n size = 'default',\n className,\n align = 'end',\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n closeOnSelect = true,\n onItemSelect,\n renderItem,\n },\n ref\n ) => {\n const { t } = useLocale()\n const [open, setOpen] = useControllableState({\n value: controlledOpen,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n })\n const resolvedLabel = label ?? (labelKey ? t(labelKey) : t('common.create'))\n\n const getLabel = (value: string, key?: string) => {\n if (key) return t(key)\n return value\n }\n\n const handleItemSelect = (item: QuickCreateItem) => {\n onItemSelect?.(item)\n item.onClick()\n if (closeOnSelect) {\n setOpen(false)\n }\n }\n\n return (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenuTrigger asChild>\n <Button ref={ref} variant={variant} size={size} className={cn('gap-1', className)}>\n <Plus className=\"h-4 w-4\" />\n {size !== 'icon' && (\n <>\n <span>{resolvedLabel}</span>\n <ChevronDown className=\"h-3 w-3 opacity-50\" />\n </>\n )}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align={align} className=\"w-64\">\n {groups.map((group, groupIndex) => (\n <React.Fragment key={groupIndex}>\n {groupIndex > 0 && <DropdownMenuSeparator />}\n {(group.label || group.labelKey) && (\n <DropdownMenuLabel>{group.labelKey ? t(group.labelKey) : group.label}</DropdownMenuLabel>\n )}\n <DropdownMenuGroup>\n {group.items.map((item) => (\n <DropdownMenuItem\n key={item.id}\n onClick={() => handleItemSelect(item)}\n className=\"flex items-start gap-3 py-2\"\n >\n {renderItem ? (\n renderItem(item)\n ) : (\n <>\n {item.icon && (\n <span className=\"mt-0.5 flex h-5 w-5 items-center justify-center text-muted-foreground\">\n {item.icon}\n </span>\n )}\n <div className=\"flex flex-1 flex-col gap-0.5\">\n <span className=\"font-medium\">{getLabel(item.label, item.labelKey)}</span>\n {(item.description || item.descriptionKey) && (\n <span className=\"text-xs text-muted-foreground\">\n {getLabel(item.description ?? '', item.descriptionKey)}\n </span>\n )}\n </div>\n {item.shortcut && (\n <kbd className=\"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100\">\n {item.shortcut}\n </kbd>\n )}\n </>\n )}\n </DropdownMenuItem>\n ))}\n </DropdownMenuGroup>\n </React.Fragment>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n )\n }\n)\nQuickCreateMenu.displayName = 'QuickCreateMenu'\n\nexport { QuickCreateMenu }\n","import * as React from 'react'\nimport { Search, Loader2 } from 'lucide-react'\nimport { useControllableState } from '@/hooks/use-controllable-state'\nimport { useLocale } from '@/providers/locale-provider'\nimport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n} from '@/components/ui/command'\n\nexport interface CommandAction {\n id: string\n label: string\n icon?: React.ReactNode\n shortcut?: string\n keywords?: string[]\n onSelect: () => void\n disabled?: boolean\n}\n\nexport interface CommandPaletteGroup {\n heading: string\n headingKey?: string\n actions: CommandAction[]\n}\n\nexport interface CommandPaletteProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n groups: CommandPaletteGroup[]\n placeholder?: string\n emptyMessage?: string\n loading?: boolean\n onSearch?: (query: string) => void\n searchValue?: string\n defaultSearchValue?: string\n onSearchValueChange?: (query: string) => void\n closeOnSelect?: boolean\n onActionSelect?: (action: CommandAction) => void\n renderGroupHeading?: (group: CommandPaletteGroup) => React.ReactNode\n renderAction?: (action: CommandAction) => React.ReactNode\n}\n\nconst CommandPalette = React.forwardRef<HTMLDivElement, CommandPaletteProps>(\n (\n {\n open,\n onOpenChange,\n groups,\n placeholder,\n emptyMessage,\n loading = false,\n onSearch,\n searchValue: controlledSearchValue,\n defaultSearchValue = '',\n onSearchValueChange,\n closeOnSelect = true,\n onActionSelect,\n renderGroupHeading,\n renderAction,\n },\n ref\n ) => {\n const { t } = useLocale()\n const [search, setSearch] = useControllableState({\n value: controlledSearchValue,\n defaultValue: defaultSearchValue,\n onChange: onSearchValueChange,\n })\n const translatedPlaceholder = t('navigation.commandPalettePlaceholder')\n const resolvedPlaceholder =\n placeholder ??\n (translatedPlaceholder === 'navigation.commandPalettePlaceholder'\n ? 'Type a command or search...'\n : translatedPlaceholder)\n const resolvedEmptyMessage = emptyMessage ?? t('table.noResults')\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n onOpenChange(!open)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [open, onOpenChange])\n\n const handleValueChange = (value: string) => {\n setSearch(value)\n onSearch?.(value)\n }\n\n return (\n <CommandDialog open={open} onOpenChange={onOpenChange}>\n <Command ref={ref} className=\"rounded-lg border shadow-md\">\n <div className=\"flex items-center border-b px-3\">\n {loading ? (\n <Loader2 className=\"mr-2 h-4 w-4 shrink-0 animate-spin opacity-50\" />\n ) : (\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n <CommandInput\n placeholder={resolvedPlaceholder}\n value={search}\n onValueChange={handleValueChange}\n className=\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n />\n </div>\n <CommandList>\n <CommandEmpty>{resolvedEmptyMessage}</CommandEmpty>\n {groups.map((group, groupIndex) => (\n <React.Fragment key={group.heading}>\n {groupIndex > 0 && <CommandSeparator />}\n <CommandGroup heading={renderGroupHeading ? renderGroupHeading(group) : (group.headingKey ? t(group.headingKey) : group.heading)}>\n {group.actions.map((action) => (\n <CommandItem\n key={action.id}\n value={action.id}\n keywords={action.keywords}\n onSelect={() => {\n onActionSelect?.(action)\n action.onSelect()\n if (closeOnSelect) {\n onOpenChange(false)\n }\n }}\n disabled={action.disabled}\n className=\"flex items-center gap-2\"\n >\n {renderAction ? (\n renderAction(action)\n ) : (\n <>\n {action.icon && (\n <span className=\"flex h-5 w-5 items-center justify-center\">\n {action.icon}\n </span>\n )}\n <span>{action.label}</span>\n {action.shortcut && (\n <CommandShortcut>{action.shortcut}</CommandShortcut>\n )}\n </>\n )}\n </CommandItem>\n ))}\n </CommandGroup>\n </React.Fragment>\n ))}\n </CommandList>\n </Command>\n </CommandDialog>\n )\n }\n)\nCommandPalette.displayName = 'CommandPalette'\n\nexport { CommandPalette }\n","import * as React from 'react'\nimport { Search, Loader2, History, TrendingUp } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { useControllableState } from '@/hooks/use-controllable-state'\nimport { Input } from '@/components/ui/input'\nimport { Button } from '@/components/ui/button'\nimport { ScrollArea } from '@/components/ui/scroll-area'\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from '@/components/ui/popover'\n\nexport interface SearchResult {\n id: string\n title: string\n description?: string\n type?: string\n icon?: React.ReactNode\n href?: string\n onClick?: () => void\n}\n\nexport interface GlobalSearchProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'results'> {\n onSearch: (query: string) => Promise<SearchResult[]> | SearchResult[]\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?: (open: boolean) => void\n query?: string\n defaultQuery?: string\n onQueryChange?: (query: string) => void\n results?: SearchResult[]\n onResultsChange?: (results: SearchResult[]) => void\n loading?: boolean\n onLoadingChange?: (loading: boolean) => void\n onResultSelect?: (result: SearchResult) => void\n recentSearches?: string[]\n onRecentSearchClick?: (query: string) => void\n onClearRecent?: () => void\n trendingSearches?: string[]\n renderResult?: (result: SearchResult) => React.ReactNode\n renderEmptyState?: (query: string) => React.ReactNode\n renderRecentSearchItem?: (query: string) => React.ReactNode\n renderTrendingSearchItem?: (query: string) => React.ReactNode\n placeholder?: string\n shortcut?: string\n debounceMs?: number\n}\n\nconst GlobalSearch = React.forwardRef<HTMLDivElement, GlobalSearchProps>(\n (\n {\n className,\n onSearch,\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n query: controlledQuery,\n defaultQuery = '',\n onQueryChange,\n results: controlledResults,\n onResultsChange,\n loading: controlledLoading,\n onLoadingChange,\n onResultSelect,\n recentSearches = [],\n onRecentSearchClick,\n onClearRecent,\n trendingSearches = [],\n renderResult,\n renderEmptyState,\n renderRecentSearchItem,\n renderTrendingSearchItem,\n placeholder,\n shortcut = '⌘K',\n debounceMs = 300,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const [open, setOpen] = useControllableState({\n value: controlledOpen,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n })\n const [query, setQuery] = useControllableState({\n value: controlledQuery,\n defaultValue: defaultQuery,\n onChange: onQueryChange,\n })\n const [results, setResults] = useControllableState<SearchResult[]>({\n value: controlledResults,\n defaultValue: [],\n onChange: onResultsChange,\n })\n const [loading, setLoading] = useControllableState({\n value: controlledLoading,\n defaultValue: false,\n onChange: onLoadingChange,\n })\n const inputRef = React.useRef<HTMLInputElement>(null)\n const debounceRef = React.useRef<NodeJS.Timeout | null>(null)\n\n React.useEffect(() => {\n const down = (e: KeyboardEvent) => {\n if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {\n e.preventDefault()\n setOpen(true)\n setTimeout(() => inputRef.current?.focus(), 0)\n }\n }\n\n document.addEventListener('keydown', down)\n return () => document.removeEventListener('keydown', down)\n }, [setOpen])\n\n const handleSearch = React.useCallback(\n async (searchQuery: string) => {\n setQuery(searchQuery)\n\n if (debounceRef.current) {\n clearTimeout(debounceRef.current)\n }\n\n if (!searchQuery.trim()) {\n setResults([])\n return\n }\n\n debounceRef.current = setTimeout(async () => {\n setLoading(true)\n try {\n const searchResults = await onSearch(searchQuery)\n setResults(searchResults)\n } catch {\n setResults([])\n } finally {\n setLoading(false)\n }\n }, debounceMs)\n },\n [setQuery, setResults, setLoading, onSearch, debounceMs]\n )\n\n const handleResultClick = (result: SearchResult) => {\n onResultSelect?.(result)\n if (result.onClick) {\n result.onClick()\n }\n setOpen(false)\n setQuery('')\n setResults([])\n }\n\n const handleRecentClick = (recentQuery: string) => {\n onRecentSearchClick?.(recentQuery)\n setQuery(recentQuery)\n handleSearch(recentQuery)\n }\n\n const showRecent = !query && recentSearches.length > 0\n const showTrending = !query && trendingSearches.length > 0\n\n return (\n <div ref={ref} className={cn('relative', className)} {...props}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div className=\"relative cursor-pointer\" onClick={() => setOpen(true)}>\n <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n ref={inputRef}\n type=\"text\"\n placeholder={placeholder ?? t('table.searchPlaceholder')}\n value={query}\n onChange={(e) => handleSearch(e.target.value)}\n className=\"w-full pl-10 pr-16\"\n />\n <kbd className=\"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded border bg-muted px-1.5 py-0.5 text-xs text-muted-foreground\">\n {shortcut}\n </kbd>\n </div>\n </PopoverTrigger>\n <PopoverContent\n className=\"w-[var(--radix-popover-trigger-width)] p-0\"\n align=\"start\"\n onOpenAutoFocus={(e) => e.preventDefault()}\n >\n <ScrollArea className=\"max-h-80\">\n {loading && (\n <div className=\"flex items-center justify-center p-4\">\n <Loader2 className=\"h-5 w-5 animate-spin text-muted-foreground\" />\n </div>\n )}\n\n {!loading && results.length > 0 && (\n <div className=\"p-2\">\n <p className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">\n {t('navigation.results')}\n </p>\n {results.map((result) => (\n <button\n key={result.id}\n onClick={() => handleResultClick(result)}\n className=\"flex w-full items-center gap-3 rounded-md p-2 text-left transition-colors hover:bg-accent\"\n >\n {renderResult ? (\n renderResult(result)\n ) : (\n <>\n {result.icon && (\n <span className=\"flex h-8 w-8 items-center justify-center rounded-md bg-muted\">\n {result.icon}\n </span>\n )}\n <div className=\"flex-1 overflow-hidden\">\n <p className=\"truncate font-medium\">{result.title}</p>\n {result.description && (\n <p className=\"truncate text-xs text-muted-foreground\">\n {result.description}\n </p>\n )}\n </div>\n {result.type && (\n <span className=\"text-xs text-muted-foreground\">{result.type}</span>\n )}\n </>\n )}\n </button>\n ))}\n </div>\n )}\n\n {!loading && query && results.length === 0 && (\n <div className=\"p-4 text-center text-sm text-muted-foreground\">\n {renderEmptyState\n ? renderEmptyState(query)\n : t('navigation.noResultsFor', { query })}\n </div>\n )}\n\n {showRecent && (\n <div className=\"p-2\">\n <div className=\"flex items-center justify-between px-2 py-1.5\">\n <p className=\"text-xs font-medium text-muted-foreground\">{t('navigation.recent')}</p>\n {onClearRecent && (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className=\"h-auto p-0 text-xs\"\n onClick={onClearRecent}\n >\n {t('navigation.clearRecent')}\n </Button>\n )}\n </div>\n {recentSearches.map((recent, index) => (\n <button\n key={index}\n onClick={() => handleRecentClick(recent)}\n className=\"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent\"\n >\n {renderRecentSearchItem ? (\n renderRecentSearchItem(recent)\n ) : (\n <>\n <History className=\"h-4 w-4 text-muted-foreground\" />\n {recent}\n </>\n )}\n </button>\n ))}\n </div>\n )}\n\n {showTrending && (\n <div className=\"border-t p-2\">\n <p className=\"px-2 py-1.5 text-xs font-medium text-muted-foreground\">\n {t('navigation.trending')}\n </p>\n {trendingSearches.map((trending, index) => (\n <button\n key={index}\n onClick={() => handleRecentClick(trending)}\n className=\"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent\"\n >\n {renderTrendingSearchItem ? (\n renderTrendingSearchItem(trending)\n ) : (\n <>\n <TrendingUp className=\"h-4 w-4 text-muted-foreground\" />\n {trending}\n </>\n )}\n </button>\n ))}\n </div>\n )}\n </ScrollArea>\n </PopoverContent>\n </Popover>\n </div>\n )\n }\n)\nGlobalSearch.displayName = 'GlobalSearch'\n\nexport { GlobalSearch }\n"],"names":["Bell","createLucideIcon","History","Menu","PanelLeft","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","jsxs","SidebarTrigger","onClick","t","useLocale","Button","SidebarRail","SidebarInset","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","cva","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton","BreadcrumbWithLocale","BreadcrumbList","BreadcrumbItem","BreadcrumbLink","BreadcrumbPage","BreadcrumbSeparator","ChevronRight","BreadcrumbEllipsis","BreadcrumbEllipsisInner","MoreHorizontal","TopNav","logo","onMenuClick","showSearch","controlledSearchValue","defaultSearchValue","onSearchValueChange","searchPlaceholder","onSearch","user","userMenuItems","notificationCount","onNotificationClick","rightContent","searchValue","setSearchValue","useControllableState","handleSearchSubmit","e","Search","Input","DropdownMenu","DropdownMenuTrigger","Avatar","AvatarImage","AvatarFallback","DropdownMenuContent","DropdownMenuLabel","Fragment","DropdownMenuSeparator","item","index","DropdownMenuItem","MegaMenu","items","activeItem","setActiveItem","timeoutRef","handleMouseEnter","label","handleMouseLeave","ChevronDown","column","colIndex","section","secIndex","link","linkIndex","renderDropdownItems","options","onItemSelect","closeOnSelect","DropdownMenuSub","DropdownMenuSubTrigger","DropdownMenuSubContent","handleClick","MultiLevelDropdown","trigger","align","controlledOpen","onOpenChange","TabNavigation","tabs","activeTab","defaultActiveTab","onTabChange","fullWidth","renderTab","currentTab","setCurrentTab","_a","tab","handleTabClick","tabId","sizeClasses","getVariantClasses","baseClasses","containerClasses","Badge","QuickCreateMenu","groups","labelKey","renderItem","resolvedLabel","getLabel","key","handleItemSelect","Plus","group","groupIndex","DropdownMenuGroup","CommandPalette","placeholder","emptyMessage","loading","onActionSelect","renderGroupHeading","renderAction","search","setSearch","translatedPlaceholder","resolvedPlaceholder","resolvedEmptyMessage","down","CommandDialog","Command","Loader2","CommandInput","CommandList","CommandEmpty","CommandSeparator","CommandGroup","action","CommandItem","CommandShortcut","GlobalSearch","controlledQuery","defaultQuery","onQueryChange","controlledResults","onResultsChange","controlledLoading","onLoadingChange","onResultSelect","recentSearches","onRecentSearchClick","onClearRecent","trendingSearches","renderResult","renderEmptyState","renderRecentSearchItem","renderTrendingSearchItem","shortcut","debounceMs","query","setQuery","results","setResults","setLoading","inputRef","debounceRef","handleSearch","searchQuery","searchResults","handleResultClick","result","handleRecentClick","recentQuery","showRecent","showTrending","Popover","PopoverTrigger","PopoverContent","ScrollArea","recent","trending","TrendingUp"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
@@ -0,0 +1,22 @@
1
+ "use strict";const e=require("react/jsx-runtime"),We=require("react"),R=require("./button-CPuCii0R.cjs"),c=require("./index-Dy_9oyP3.cjs"),Y=require("./sheet-C0-aBGln.cjs"),ae=require("./skeleton-D3YsjVWD.cjs"),A=require("./tooltip-Dd7le9EO.cjs"),Xe=require("./use-mobile-DY7TJ5lx.cjs"),T=require("./locale-provider-BScpm-eC.cjs"),K=require("./scroll-area-HsTSI_58.cjs"),Ye=require("./chevron-right-D-TdAZ7l.cjs"),Je=require("./ellipsis-Dk7Wfc4i.cjs"),_=require("./use-controllable-state-3ATd6Fqd.cjs"),F=require("./input-UBp7V7li.cjs"),j=require("./dropdown-menu-ejikFvg2.cjs"),W=require("./avatar-Cl38Ye4J.cjs"),re=require("./badge-BZcdBG5J.cjs"),Qe=require("./plus-Bcuujcqd.cjs"),I=require("./command-BPtg-XK3.cjs"),te=require("./loader-circle-IaJKvYsP.cjs"),X=require("./popover-Bba1ELMX.cjs"),Ze=require("./trending-up-mLgmkp--.cjs");function ea(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const d=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(a,t,d.get?d:{enumerable:!0,get:()=>r[t]})}}return a.default=r,Object.freeze(a)}const n=ea(We);/**
2
+ * @license lucide-react v0.441.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const aa=K.createLucideIcon("Bell",[["path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9",key:"1qo2s2"}],["path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0",key:"qgo35s"}]]);/**
7
+ * @license lucide-react v0.441.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const ra=K.createLucideIcon("History",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]);/**
12
+ * @license lucide-react v0.441.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const ta=K.createLucideIcon("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
17
+ * @license lucide-react v0.441.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const sa=K.createLucideIcon("PanelLeft",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),na="sidebar:state",oa=60*60*24*7,da="16rem",la="18rem",ia="3rem",ca="b",se=n.createContext(null);function O(){const r=n.useContext(se);if(!r)throw new Error("useSidebar must be used within a SidebarProvider.");return r}const ne=n.forwardRef(({defaultOpen:r=!0,open:a,onOpenChange:t,className:d,style:l,children:m,...s},h)=>{const p=Xe.useIsMobile(),[b,w]=n.useState(!1),[i,g]=n.useState(r),S=a??i,N=n.useCallback(o=>{const f=typeof o=="function"?o(S):o;t?t(f):g(f),document.cookie=`${na}=${f}; path=/; max-age=${oa}`},[t,S]),C=n.useCallback(()=>p?w(o=>!o):N(o=>!o),[p,N,w]);n.useEffect(()=>{const o=f=>{f.key===ca&&(f.metaKey||f.ctrlKey)&&(f.preventDefault(),C())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[C]);const y=S?"expanded":"collapsed",M=n.useMemo(()=>({state:y,open:S,setOpen:N,isMobile:p,openMobile:b,setOpenMobile:w,toggleSidebar:C}),[y,S,N,p,b,w,C]);return e.jsx(se.Provider,{value:M,children:e.jsx(A.TooltipProvider,{delayDuration:0,children:e.jsx("div",{style:{"--sidebar-width":da,"--sidebar-width-icon":ia,...l},className:c.cn("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",d),ref:h,...s,children:m})})})});ne.displayName="SidebarProvider";const oe=n.forwardRef(({side:r="left",variant:a="sidebar",collapsible:t="offcanvas",className:d,children:l,...m},s)=>{const{isMobile:h,state:p,openMobile:b,setOpenMobile:w}=O();return t==="none"?e.jsx("div",{className:c.cn("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",d),ref:s,...m,children:l}):h?e.jsx(Y.Sheet,{open:b,onOpenChange:w,...m,children:e.jsx(Y.SheetContent,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":la},side:r,children:e.jsx("div",{className:"flex h-full w-full flex-col",children:l})})}):e.jsxs("div",{ref:s,className:"group peer hidden md:block text-sidebar-foreground","data-state":p,"data-collapsible":p==="collapsed"?t:"","data-variant":a,"data-side":r,children:[e.jsx("div",{className:c.cn("duration-200 relative h-svh w-[--sidebar-width] bg-transparent transition-[width] ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",a==="floating"||a==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),e.jsx("div",{className:c.cn("duration-200 fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",a==="floating"||a==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_1rem_+_2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",d),...m,children:e.jsx("div",{"data-sidebar":"sidebar",className:c.cn("flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow"),children:l})})]})});oe.displayName="Sidebar";const de=n.forwardRef(({className:r,onClick:a,...t},d)=>{const{toggleSidebar:l}=O(),{t:m}=T.useLocale();return e.jsxs(R.Button,{ref:d,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:c.cn("h-7 w-7",r),onClick:s=>{a==null||a(s),l()},...t,children:[e.jsx(sa,{}),e.jsx("span",{className:"sr-only",children:m("navigation.toggleSidebar")})]})});de.displayName="SidebarTrigger";const le=n.forwardRef(({className:r,...a},t)=>{const{toggleSidebar:d}=O(),{t:l}=T.useLocale();return e.jsx("button",{ref:t,"data-sidebar":"rail","aria-label":l("navigation.toggleSidebar"),tabIndex:-1,onClick:d,title:l("navigation.toggleSidebar"),className:c.cn("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",r),...a})});le.displayName="SidebarRail";const ie=n.forwardRef(({className:r,...a},t)=>e.jsx("main",{ref:t,className:c.cn("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-1rem)] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",r),...a}));ie.displayName="SidebarInset";const ce=n.forwardRef(({className:r,...a},t)=>e.jsx("input",{ref:t,"data-sidebar":"input",className:c.cn("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",r),...a}));ce.displayName="SidebarInput";const ue=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"header",className:c.cn("flex flex-col gap-2 p-2",r),...a}));ue.displayName="SidebarHeader";const me=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"footer",className:c.cn("flex flex-col gap-2 p-2",r),...a}));me.displayName="SidebarFooter";const pe=n.forwardRef(({className:r,...a},t)=>e.jsx(Y.Separator,{ref:t,"data-sidebar":"separator",className:c.cn("mx-2 w-auto bg-sidebar-border",r),...a}));pe.displayName="SidebarSeparator";const be=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"content",className:c.cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",r),...a}));be.displayName="SidebarContent";const fe=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"group",className:c.cn("relative flex w-full min-w-0 flex-col p-2",r),...a}));fe.displayName="SidebarGroup";const xe=n.forwardRef(({className:r,asChild:a=!1,...t},d)=>{const l=a?R.Slot:"div";return e.jsx(l,{ref:d,"data-sidebar":"group-label",className:c.cn("duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",r),...t})});xe.displayName="SidebarGroupLabel";const he=n.forwardRef(({className:r,asChild:a=!1,...t},d)=>{const l=a?R.Slot:"button";return e.jsx(l,{ref:d,"data-sidebar":"group-action",className:c.cn("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",r),...t})});he.displayName="SidebarGroupAction";const ge=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"group-content",className:c.cn("w-full text-sm",r),...a}));ge.displayName="SidebarGroupContent";const ve=n.forwardRef(({className:r,...a},t)=>e.jsx("ul",{ref:t,"data-sidebar":"menu",className:c.cn("flex w-full min-w-0 flex-col gap-1",r),...a}));ve.displayName="SidebarMenu";const je=n.forwardRef(({className:r,...a},t)=>e.jsx("li",{ref:t,"data-sidebar":"menu-item",className:c.cn("group/menu-item relative",r),...a}));je.displayName="SidebarMenuItem";const ua=R.cva("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),we=n.forwardRef(({asChild:r=!1,isActive:a=!1,variant:t="default",size:d="default",tooltip:l,className:m,...s},h)=>{const p=r?R.Slot:"button",{isMobile:b,state:w}=O(),i=e.jsx(p,{ref:h,"data-sidebar":"menu-button","data-size":d,"data-active":a,className:c.cn(ua({variant:t,size:d}),m),...s});return l?(typeof l=="string"&&(l={children:l}),e.jsxs(A.Tooltip,{children:[e.jsx(A.TooltipTrigger,{asChild:!0,children:i}),e.jsx(A.TooltipContent,{side:"right",align:"center",hidden:w!=="collapsed"||b,...l})]})):i});we.displayName="SidebarMenuButton";const Ne=n.forwardRef(({className:r,asChild:a=!1,showOnHover:t=!1,...d},l)=>{const m=a?R.Slot:"button";return e.jsx(m,{ref:l,"data-sidebar":"menu-action",className:c.cn("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",t&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",r),...d})});Ne.displayName="SidebarMenuAction";const ye=n.forwardRef(({className:r,...a},t)=>e.jsx("div",{ref:t,"data-sidebar":"menu-badge",className:c.cn("absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r),...a}));ye.displayName="SidebarMenuBadge";const Se=n.forwardRef(({className:r,showIcon:a=!1,...t},d)=>{const l=n.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return e.jsxs("div",{ref:d,"data-sidebar":"menu-skeleton",className:c.cn("rounded-md h-8 flex gap-2 px-2 items-center",r),...t,children:[a&&e.jsx(ae.Skeleton,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e.jsx(ae.Skeleton,{className:"h-4 flex-1 max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":l}})]})});Se.displayName="SidebarMenuSkeleton";const Ce=n.forwardRef(({className:r,...a},t)=>e.jsx("ul",{ref:t,"data-sidebar":"menu-sub",className:c.cn("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",r),...a}));Ce.displayName="SidebarMenuSub";const Me=n.forwardRef(({...r},a)=>e.jsx("li",{ref:a,...r}));Me.displayName="SidebarMenuSubItem";const ke=n.forwardRef(({asChild:r=!1,size:a="md",isActive:t,className:d,...l},m)=>{const s=r?R.Slot:"a";return e.jsx(s,{ref:m,"data-sidebar":"menu-sub-button","data-size":a,"data-active":t,className:c.cn("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",a==="sm"&&"text-xs",a==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",d),...l})});ke.displayName="SidebarMenuSubButton";const Re=n.forwardRef(({...r},a)=>{const{t}=T.useLocale();return e.jsx("nav",{ref:a,"aria-label":t("navigation.breadcrumb"),...r})});Re.displayName="Breadcrumb";const Be=n.forwardRef(({className:r,...a},t)=>e.jsx("ol",{ref:t,className:c.cn("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",r),...a}));Be.displayName="BreadcrumbList";const De=n.forwardRef(({className:r,...a},t)=>e.jsx("li",{ref:t,className:c.cn("inline-flex items-center gap-1.5",r),...a}));De.displayName="BreadcrumbItem";const Le=n.forwardRef(({asChild:r,className:a,...t},d)=>{const l=r?R.Slot:"a";return e.jsx(l,{ref:d,className:c.cn("transition-colors hover:text-foreground",a),...t})});Le.displayName="BreadcrumbLink";const Ie=n.forwardRef(({className:r,...a},t)=>e.jsx("span",{ref:t,role:"link","aria-disabled":"true","aria-current":"page",className:c.cn("font-normal text-foreground",r),...a}));Ie.displayName="BreadcrumbPage";const _e=({children:r,className:a,...t})=>e.jsx("li",{role:"presentation","aria-hidden":"true",className:c.cn("[&>svg]:size-3.5",a),...t,children:r??e.jsx(Ye.ChevronRight,{})});_e.displayName="BreadcrumbSeparator";const Te=({className:r,...a})=>e.jsx(ma,{className:r,...a});Te.displayName="BreadcrumbEllipsis";function ma({className:r,...a}){const{t}=T.useLocale();return e.jsxs("span",{role:"presentation","aria-hidden":"true",className:c.cn("flex h-9 w-9 items-center justify-center",r),...a,children:[e.jsx(Je.Ellipsis,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:t("navigation.more")})]})}const Ee=n.forwardRef(({className:r,logo:a,onMenuClick:t,showSearch:d=!0,searchValue:l,defaultSearchValue:m="",onSearchValueChange:s,searchPlaceholder:h,onSearch:p,user:b,userMenuItems:w=[],notificationCount:i,onNotificationClick:g,rightContent:S,...N},C)=>{const{t:y}=T.useLocale(),[M,o]=_.useControllableState({value:l,defaultValue:m,onChange:s}),f=v=>{v.preventDefault(),p==null||p(M)};return e.jsxs("header",{ref:C,className:c.cn("sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6",r),...N,children:[t&&e.jsxs(R.Button,{variant:"ghost",size:"icon",className:"shrink-0 md:hidden",onClick:t,children:[e.jsx(ta,{className:"h-5 w-5"}),e.jsx("span",{className:"sr-only",children:y("navigation.toggleNavigationMenu")})]}),a&&e.jsx("div",{className:"flex items-center gap-2",children:a}),d&&e.jsx("form",{onSubmit:f,className:"flex-1 md:flex-initial",children:e.jsxs("div",{className:"relative",children:[e.jsx(j.Search,{className:"absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground"}),e.jsx(F.Input,{type:"search",placeholder:h??y("table.searchPlaceholder"),className:"w-full pl-8 md:w-[200px] lg:w-[300px]",value:M,onChange:v=>o(v.target.value)})]})}),e.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[S,g&&e.jsxs(R.Button,{variant:"ghost",size:"icon",className:"relative",onClick:g,children:[e.jsx(aa,{className:"h-5 w-5"}),i!==void 0&&i>0&&e.jsx("span",{className:"absolute -right-1 -top-1 flex h-5 w-5 items-center justify-center rounded-full bg-destructive text-xs text-destructive-foreground",children:i>99?"99+":i}),e.jsx("span",{className:"sr-only",children:y("navigation.notifications")})]}),b&&e.jsxs(j.DropdownMenu,{children:[e.jsx(j.DropdownMenuTrigger,{asChild:!0,children:e.jsx(R.Button,{variant:"ghost",className:"relative h-8 w-8 rounded-full",children:e.jsxs(W.Avatar,{className:"h-8 w-8",children:[b.avatar&&e.jsx(W.AvatarImage,{src:b.avatar,alt:b.name}),e.jsx(W.AvatarFallback,{children:b.initials||b.name.charAt(0).toUpperCase()})]})})}),e.jsxs(j.DropdownMenuContent,{className:"w-56",align:"end",forceMount:!0,children:[e.jsx(j.DropdownMenuLabel,{className:"font-normal",children:e.jsxs("div",{className:"flex flex-col space-y-1",children:[e.jsx("p",{className:"text-sm font-medium leading-none",children:b.name}),e.jsx("p",{className:"text-xs leading-none text-muted-foreground",children:b.email})]})}),w.length>0&&e.jsxs(e.Fragment,{children:[e.jsx(j.DropdownMenuSeparator,{}),w.map((v,B)=>e.jsxs(j.DropdownMenuItem,{onClick:v.onClick,children:[v.icon&&e.jsx("span",{className:"mr-2",children:v.icon}),v.label]},B))]})]})]})]})]})});Ee.displayName="TopNav";const qe=n.forwardRef(({className:r,items:a,logo:t,rightContent:d,...l},m)=>{const[s,h]=n.useState(null),p=n.useRef(null),b=i=>{p.current&&clearTimeout(p.current),h(i)},w=()=>{p.current=setTimeout(()=>{h(null)},150)};return e.jsx("nav",{ref:m,className:c.cn("relative z-50 w-full border-b bg-background",r),...l,children:e.jsxs("div",{className:"mx-auto flex h-16 max-w-7xl items-center justify-between px-4",children:[t&&e.jsx("div",{className:"flex-shrink-0",children:t}),e.jsx("ul",{className:"hidden items-center gap-1 md:flex",children:a.map(i=>e.jsxs("li",{onMouseEnter:()=>i.columns&&b(i.label),onMouseLeave:w,children:[i.href&&!i.columns?e.jsx("a",{href:i.href,className:"flex items-center gap-1 rounded-md px-3 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground",children:i.label}):e.jsxs(R.Button,{variant:"ghost",className:c.cn("flex items-center gap-1",s===i.label&&"bg-accent text-accent-foreground"),children:[i.label,i.columns&&e.jsx(F.ChevronDown,{className:c.cn("h-4 w-4 transition-transform",s===i.label&&"rotate-180")})]}),i.columns&&s===i.label&&e.jsx("div",{className:"absolute left-0 right-0 top-full border-b bg-background shadow-lg",onMouseEnter:()=>b(i.label),onMouseLeave:w,children:e.jsx("div",{className:"mx-auto max-w-7xl p-6",children:e.jsx("div",{className:"grid gap-8",style:{gridTemplateColumns:`repeat(${i.columns.length}, minmax(0, 1fr))`},children:i.columns.map((g,S)=>e.jsxs("div",{children:[g.title&&e.jsx("h3",{className:"mb-4 text-sm font-semibold text-foreground",children:g.title}),g.sections.map((N,C)=>e.jsxs("div",{className:"mb-4",children:[N.title&&e.jsx("h4",{className:"mb-2 text-xs font-medium uppercase tracking-wider text-muted-foreground",children:N.title}),e.jsx("ul",{className:"space-y-1",children:N.links.map((y,M)=>e.jsx("li",{children:e.jsxs("a",{href:y.href,className:"group flex items-start gap-3 rounded-md p-2 transition-colors hover:bg-accent",children:[y.icon&&e.jsx("span",{className:"mt-0.5 text-muted-foreground group-hover:text-foreground",children:y.icon}),e.jsxs("div",{children:[e.jsx("span",{className:"block text-sm font-medium",children:y.label}),y.description&&e.jsx("span",{className:"block text-xs text-muted-foreground",children:y.description})]})]})},M))})]},C)),g.featured&&e.jsx("div",{className:"mt-4 rounded-lg bg-muted p-4",children:g.featured})]},S))})})})]},i.label))}),d&&e.jsx("div",{className:"flex items-center gap-2",children:d})]})})});qe.displayName="MegaMenu";function ze(r,a){const{t,onItemSelect:d,closeOnSelect:l,setOpen:m}=a;return r.map((s,h)=>{if(s.separator)return e.jsx(j.DropdownMenuSeparator,{},`separator-${h}`);if(s.children&&s.children.length>0)return e.jsxs(j.DropdownMenuSub,{children:[e.jsxs(j.DropdownMenuSubTrigger,{disabled:s.disabled,className:"flex items-center gap-2",children:[s.icon&&e.jsx("span",{className:"h-4 w-4",children:s.icon}),s.labelKey?t(s.labelKey):s.label]}),e.jsx(j.DropdownMenuSubContent,{children:ze(s.children,a)})]},`${s.label}-${h}`);const p=()=>{d==null||d(s),s.onClick&&s.onClick(),l&&m(!1)};return s.href?e.jsx(j.DropdownMenuItem,{disabled:s.disabled,asChild:!0,children:e.jsxs("a",{href:s.href,className:"flex items-center gap-2",children:[s.icon&&e.jsx("span",{className:"h-4 w-4",children:s.icon}),s.labelKey?t(s.labelKey):s.label]})},`${s.label}-${h}`):e.jsxs(j.DropdownMenuItem,{disabled:s.disabled,onClick:p,className:"flex items-center gap-2",children:[s.icon&&e.jsx("span",{className:"h-4 w-4",children:s.icon}),s.labelKey?t(s.labelKey):s.label]},`${s.label}-${h}`)})}const Pe=n.forwardRef(({trigger:r,items:a,align:t="start",side:d="bottom",className:l,open:m,defaultOpen:s=!1,onOpenChange:h,closeOnSelect:p=!0,onItemSelect:b},w)=>{const{t:i}=T.useLocale(),[g,S]=_.useControllableState({value:m,defaultValue:s,onChange:h});return e.jsxs(j.DropdownMenu,{open:g,onOpenChange:S,children:[e.jsx(j.DropdownMenuTrigger,{asChild:!0,children:r}),e.jsx(j.DropdownMenuContent,{ref:w,align:t,side:d,className:c.cn("w-56",l),children:ze(a,{t:i,onItemSelect:b,closeOnSelect:p,setOpen:S})})]})});Pe.displayName="MultiLevelDropdown";const Ke=n.forwardRef(({className:r,tabs:a,activeTab:t,defaultActiveTab:d,onTabChange:l,variant:m="default",size:s="md",fullWidth:h=!1,renderTab:p,...b},w)=>{var M;const[i,g]=_.useControllableState({value:t,defaultValue:d??((M=a[0])==null?void 0:M.id)??"",onChange:l});n.useEffect(()=>{t===void 0&&a.length!==0&&(a.some(o=>o.id===i)||g(a[0].id))},[t,a,i,g]);const S=o=>{g(o)},N={sm:"text-xs py-1 px-2",md:"text-sm py-2 px-3",lg:"text-base py-3 px-4"},C=o=>{const f="flex items-center gap-2 font-medium transition-colors";switch(m){case"pills":return c.cn(f,"rounded-full",o?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground");case"underline":return c.cn(f,"border-b-2 rounded-none",o?"border-primary text-primary":"border-transparent text-muted-foreground hover:border-border hover:text-foreground");case"boxed":return c.cn(f,"rounded-lg border",o?"border-primary bg-primary/10 text-primary":"border-transparent text-muted-foreground hover:bg-muted hover:text-foreground");default:return c.cn(f,"rounded-md",o?"bg-muted text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground")}},y=c.cn("flex items-center gap-1",m==="underline"&&"border-b",h&&"w-full",r);return e.jsx("div",{ref:w,className:y,role:"tablist",...b,children:a.map(o=>{const f=i===o.id;return e.jsx("button",{role:"tab","aria-selected":f,"aria-disabled":o.disabled,disabled:o.disabled,onClick:()=>S(o.id),className:c.cn(C(f),N[s],h&&"flex-1 justify-center",o.disabled&&"cursor-not-allowed opacity-50"),children:p?p(o,{isActive:f,defaultNode:e.jsxs(e.Fragment,{children:[o.icon&&e.jsx("span",{className:"h-4 w-4",children:o.icon}),e.jsx("span",{children:o.label}),o.badge!==void 0&&e.jsx(re.Badge,{variant:f?"default":"secondary",className:"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs",children:o.badge})]})}):e.jsxs(e.Fragment,{children:[o.icon&&e.jsx("span",{className:"h-4 w-4",children:o.icon}),e.jsx("span",{children:o.label}),o.badge!==void 0&&e.jsx(re.Badge,{variant:f?"default":"secondary",className:"ml-1 h-5 min-w-5 rounded-full px-1.5 text-xs",children:o.badge})]})},o.id)})})});Ke.displayName="TabNavigation";const Oe=n.forwardRef(({groups:r,label:a,labelKey:t,variant:d="default",size:l="default",className:m,align:s="end",open:h,defaultOpen:p=!1,onOpenChange:b,closeOnSelect:w=!0,onItemSelect:i,renderItem:g},S)=>{const{t:N}=T.useLocale(),[C,y]=_.useControllableState({value:h,defaultValue:p,onChange:b}),M=a??N(t||"common.create"),o=(v,B)=>B?N(B):v,f=v=>{i==null||i(v),v.onClick(),w&&y(!1)};return e.jsxs(j.DropdownMenu,{open:C,onOpenChange:y,children:[e.jsx(j.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(R.Button,{ref:S,variant:d,size:l,className:c.cn("gap-1",m),children:[e.jsx(Qe.Plus,{className:"h-4 w-4"}),l!=="icon"&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:M}),e.jsx(F.ChevronDown,{className:"h-3 w-3 opacity-50"})]})]})}),e.jsx(j.DropdownMenuContent,{align:s,className:"w-64",children:r.map((v,B)=>e.jsxs(n.Fragment,{children:[B>0&&e.jsx(j.DropdownMenuSeparator,{}),(v.label||v.labelKey)&&e.jsx(j.DropdownMenuLabel,{children:v.labelKey?N(v.labelKey):v.label}),e.jsx(j.DropdownMenuGroup,{children:v.items.map(x=>e.jsx(j.DropdownMenuItem,{onClick:()=>f(x),className:"flex items-start gap-3 py-2",children:g?g(x):e.jsxs(e.Fragment,{children:[x.icon&&e.jsx("span",{className:"mt-0.5 flex h-5 w-5 items-center justify-center text-muted-foreground",children:x.icon}),e.jsxs("div",{className:"flex flex-1 flex-col gap-0.5",children:[e.jsx("span",{className:"font-medium",children:o(x.label,x.labelKey)}),(x.description||x.descriptionKey)&&e.jsx("span",{className:"text-xs text-muted-foreground",children:o(x.description??"",x.descriptionKey)})]}),x.shortcut&&e.jsx("kbd",{className:"pointer-events-none inline-flex h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium text-muted-foreground opacity-100",children:x.shortcut})]})},x.id))})]},B))})]})});Oe.displayName="QuickCreateMenu";const Ve=n.forwardRef(({open:r,onOpenChange:a,groups:t,placeholder:d,emptyMessage:l,loading:m=!1,onSearch:s,searchValue:h,defaultSearchValue:p="",onSearchValueChange:b,closeOnSelect:w=!0,onActionSelect:i,renderGroupHeading:g,renderAction:S},N)=>{const{t:C}=T.useLocale(),[y,M]=_.useControllableState({value:h,defaultValue:p,onChange:b}),o=C("navigation.commandPalettePlaceholder"),f=d??(o==="navigation.commandPalettePlaceholder"?"Type a command or search...":o),v=l??C("table.noResults");n.useEffect(()=>{const x=L=>{L.key==="k"&&(L.metaKey||L.ctrlKey)&&(L.preventDefault(),a(!r))};return document.addEventListener("keydown",x),()=>document.removeEventListener("keydown",x)},[r,a]);const B=x=>{M(x),s==null||s(x)};return e.jsx(I.CommandDialog,{open:r,onOpenChange:a,children:e.jsxs(I.Command,{ref:N,className:"rounded-lg border shadow-md",children:[e.jsxs("div",{className:"flex items-center border-b px-3",children:[m?e.jsx(te.LoaderCircle,{className:"mr-2 h-4 w-4 shrink-0 animate-spin opacity-50"}):e.jsx(j.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),e.jsx(I.CommandInput,{placeholder:f,value:y,onValueChange:B,className:"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"})]}),e.jsxs(I.CommandList,{children:[e.jsx(I.CommandEmpty,{children:v}),t.map((x,L)=>e.jsxs(n.Fragment,{children:[L>0&&e.jsx(I.CommandSeparator,{}),e.jsx(I.CommandGroup,{heading:g?g(x):x.headingKey?C(x.headingKey):x.heading,children:x.actions.map(k=>e.jsx(I.CommandItem,{value:k.id,keywords:k.keywords,onSelect:()=>{i==null||i(k),k.onSelect(),w&&a(!1)},disabled:k.disabled,className:"flex items-center gap-2",children:S?S(k):e.jsxs(e.Fragment,{children:[k.icon&&e.jsx("span",{className:"flex h-5 w-5 items-center justify-center",children:k.icon}),e.jsx("span",{children:k.label}),k.shortcut&&e.jsx(I.CommandShortcut,{children:k.shortcut})]})},k.id))})]},x.heading))]})]})})});Ve.displayName="CommandPalette";const Ae=n.forwardRef(({className:r,onSearch:a,open:t,defaultOpen:d=!1,onOpenChange:l,query:m,defaultQuery:s="",onQueryChange:h,results:p,onResultsChange:b,loading:w,onLoadingChange:i,onResultSelect:g,recentSearches:S=[],onRecentSearchClick:N,onClearRecent:C,trendingSearches:y=[],renderResult:M,renderEmptyState:o,renderRecentSearchItem:f,renderTrendingSearchItem:v,placeholder:B,shortcut:x="⌘K",debounceMs:L=300,...k},Fe)=>{const{t:E}=T.useLocale(),[Ge,z]=_.useControllableState({value:t,defaultValue:d,onChange:l}),[q,V]=_.useControllableState({value:m,defaultValue:s,onChange:h}),[G,P]=_.useControllableState({value:p,defaultValue:[],onChange:b}),[H,$]=_.useControllableState({value:w,defaultValue:!1,onChange:i}),J=n.useRef(null),U=n.useRef(null);n.useEffect(()=>{const u=D=>{D.key==="k"&&(D.metaKey||D.ctrlKey)&&(D.preventDefault(),z(!0),setTimeout(()=>{var ee;return(ee=J.current)==null?void 0:ee.focus()},0))};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[z]);const Q=n.useCallback(async u=>{if(V(u),U.current&&clearTimeout(U.current),!u.trim()){P([]);return}U.current=setTimeout(async()=>{$(!0);try{const D=await a(u);P(D)}catch{P([])}finally{$(!1)}},L)},[V,P,$,a,L]),He=u=>{g==null||g(u),u.onClick&&u.onClick(),z(!1),V(""),P([])},Z=u=>{N==null||N(u),V(u),Q(u)},$e=!q&&S.length>0,Ue=!q&&y.length>0;return e.jsx("div",{ref:Fe,className:c.cn("relative",r),...k,children:e.jsxs(X.Popover,{open:Ge,onOpenChange:z,children:[e.jsx(X.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:"relative cursor-pointer",onClick:()=>z(!0),children:[e.jsx(j.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(F.Input,{ref:J,type:"text",placeholder:B??E("table.searchPlaceholder"),value:q,onChange:u=>Q(u.target.value),className:"w-full pl-10 pr-16"}),e.jsx("kbd",{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 rounded border bg-muted px-1.5 py-0.5 text-xs text-muted-foreground",children:x})]})}),e.jsx(X.PopoverContent,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",onOpenAutoFocus:u=>u.preventDefault(),children:e.jsxs(K.ScrollArea,{className:"max-h-80",children:[H&&e.jsx("div",{className:"flex items-center justify-center p-4",children:e.jsx(te.LoaderCircle,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!H&&G.length>0&&e.jsxs("div",{className:"p-2",children:[e.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:E("navigation.results")}),G.map(u=>e.jsx("button",{onClick:()=>He(u),className:"flex w-full items-center gap-3 rounded-md p-2 text-left transition-colors hover:bg-accent",children:M?M(u):e.jsxs(e.Fragment,{children:[u.icon&&e.jsx("span",{className:"flex h-8 w-8 items-center justify-center rounded-md bg-muted",children:u.icon}),e.jsxs("div",{className:"flex-1 overflow-hidden",children:[e.jsx("p",{className:"truncate font-medium",children:u.title}),u.description&&e.jsx("p",{className:"truncate text-xs text-muted-foreground",children:u.description})]}),u.type&&e.jsx("span",{className:"text-xs text-muted-foreground",children:u.type})]})},u.id))]}),!H&&q&&G.length===0&&e.jsx("div",{className:"p-4 text-center text-sm text-muted-foreground",children:o?o(q):E("navigation.noResultsFor",{query:q})}),$e&&e.jsxs("div",{className:"p-2",children:[e.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5",children:[e.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:E("navigation.recent")}),C&&e.jsx(R.Button,{variant:"ghost",size:"sm",className:"h-auto p-0 text-xs",onClick:C,children:E("navigation.clearRecent")})]}),S.map((u,D)=>e.jsx("button",{onClick:()=>Z(u),className:"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",children:f?f(u):e.jsxs(e.Fragment,{children:[e.jsx(ra,{className:"h-4 w-4 text-muted-foreground"}),u]})},D))]}),Ue&&e.jsxs("div",{className:"border-t p-2",children:[e.jsx("p",{className:"px-2 py-1.5 text-xs font-medium text-muted-foreground",children:E("navigation.trending")}),y.map((u,D)=>e.jsx("button",{onClick:()=>Z(u),className:"flex w-full items-center gap-2 rounded-md p-2 text-left text-sm transition-colors hover:bg-accent",children:v?v(u):e.jsxs(e.Fragment,{children:[e.jsx(Ze.TrendingUp,{className:"h-4 w-4 text-muted-foreground"}),u]})},D))]})]})})]})})});Ae.displayName="GlobalSearch";exports.BreadcrumbEllipsis=Te;exports.BreadcrumbItem=De;exports.BreadcrumbLink=Le;exports.BreadcrumbList=Be;exports.BreadcrumbPage=Ie;exports.BreadcrumbSeparator=_e;exports.BreadcrumbWithLocale=Re;exports.CommandPalette=Ve;exports.GlobalSearch=Ae;exports.MegaMenu=qe;exports.MultiLevelDropdown=Pe;exports.QuickCreateMenu=Oe;exports.Sidebar=oe;exports.SidebarContent=be;exports.SidebarFooter=me;exports.SidebarGroup=fe;exports.SidebarGroupAction=he;exports.SidebarGroupContent=ge;exports.SidebarGroupLabel=xe;exports.SidebarHeader=ue;exports.SidebarInput=ce;exports.SidebarInset=ie;exports.SidebarMenu=ve;exports.SidebarMenuAction=Ne;exports.SidebarMenuBadge=ye;exports.SidebarMenuButton=we;exports.SidebarMenuItem=je;exports.SidebarMenuSkeleton=Se;exports.SidebarMenuSub=Ce;exports.SidebarMenuSubButton=ke;exports.SidebarMenuSubItem=Me;exports.SidebarProvider=ne;exports.SidebarRail=le;exports.SidebarSeparator=pe;exports.SidebarTrigger=de;exports.TabNavigation=Ke;exports.TopNav=Ee;exports.useSidebar=O;
22
+ //# sourceMappingURL=global-search-msFICB8l.cjs.map