@senitix/ui 0.4.0 → 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 (415) 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-BFWc4IB7.js → calendar-86qoSnO7.js} +411 -462
  26. package/dist/calendar-86qoSnO7.js.map +1 -0
  27. package/dist/calendar-BH-AuyiB.cjs +7 -0
  28. package/dist/{calendar-SwL5isYC.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-JUSWONQ0.js +17 -0
  32. package/dist/{calendar-ChJkFXXr.js.map → calendar-JUSWONQ0.js.map} +1 -1
  33. package/dist/{card-tMkUxpmW.cjs → card-CToWUN1K.cjs} +2 -2
  34. package/dist/{card-tMkUxpmW.cjs.map → card-CToWUN1K.cjs.map} +1 -1
  35. package/dist/{card-K4fxyYwE.js → card-yxbWFvZ1.js} +2 -2
  36. package/dist/{card-K4fxyYwE.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-CpOq5hkT.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-D-TdAZ7l.cjs +7 -0
  46. package/dist/{chevron-right-Dvyd11q0.cjs.map → chevron-right-D-TdAZ7l.cjs.map} +1 -1
  47. package/dist/chevron-right-Di90aqSn.js +14 -0
  48. package/dist/{chevron-right-B3bovvh0.js.map → chevron-right-Di90aqSn.js.map} +1 -1
  49. package/dist/chevron-up-Bq55Db6X.cjs +7 -0
  50. package/dist/{chevron-up-B9fuiZhc.cjs.map → chevron-up-Bq55Db6X.cjs.map} +1 -1
  51. package/dist/chevron-up-Dr7EIn9V.js +12 -0
  52. package/dist/{chevron-up-CGtXOr51.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-CKhpjj5H.js +16 -0
  101. package/dist/{ellipsis-CiKEaUNP.js.map → ellipsis-CKhpjj5H.js.map} +1 -1
  102. package/dist/ellipsis-Dk7Wfc4i.cjs +7 -0
  103. package/dist/{ellipsis-BW2gWki8.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-CHbdXCWO.js +15 -0
  113. package/dist/{file-wzTXnWqz.js.map → file-CHbdXCWO.js.map} +1 -1
  114. package/dist/file-CqYRamm8.cjs +7 -0
  115. package/dist/{file-V_hhCUhr.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-CwJPJKOE.js → index-BGUveO6l.js} +1077 -573
  140. package/dist/index-BGUveO6l.js.map +1 -0
  141. package/dist/{index-lT9bLt9X.cjs → index-Bhee6XHk.cjs} +2 -2
  142. package/dist/{index-lT9bLt9X.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-Co9o9StL.js → index-D8-pHJim.js} +2 -2
  146. package/dist/{index-Co9o9StL.js.map → index-D8-pHJim.js.map} +1 -1
  147. package/dist/index-Dy_9oyP3.cjs +2 -0
  148. package/dist/index-Dy_9oyP3.cjs.map +1 -0
  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-BXBFZSZs.cjs.map → minus-BUFkTM0k.cjs.map} +1 -1
  184. package/dist/minus-DJ0tmymW.js +12 -0
  185. package/dist/{minus-DvlYtl96.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-8wKRkVu-.cjs.map → plus-Bcuujcqd.cjs.map} +1 -1
  208. package/dist/plus-D7DMDKb8.js +15 -0
  209. package/dist/{plus-CJD68KQD.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-Ce2C2acZ.js +994 -0
  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-BmGbfJw3.js → skeleton-C_dwS3_6.js} +2 -2
  249. package/dist/{skeleton-BmGbfJw3.js.map → skeleton-C_dwS3_6.js.map} +1 -1
  250. package/dist/{skeleton-BSwwYaQU.cjs → skeleton-D3YsjVWD.cjs} +2 -2
  251. package/dist/{skeleton-BSwwYaQU.cjs.map → skeleton-D3YsjVWD.cjs.map} +1 -1
  252. package/dist/sortable.esm-5DsiICDg.cjs +6 -0
  253. package/dist/{sortable.esm-DcQYlXi3.cjs.map → sortable.esm-5DsiICDg.cjs.map} +1 -1
  254. package/dist/{sortable.esm-Blhf_jh1.js → sortable.esm-Cb8oRBzU.js} +42 -42
  255. package/dist/{sortable.esm-Blhf_jh1.js.map → sortable.esm-Cb8oRBzU.js.map} +1 -1
  256. package/dist/sparkline-chart-BP4bk24J.js +15881 -0
  257. package/dist/sparkline-chart-BP4bk24J.js.map +1 -0
  258. package/dist/sparkline-chart-D6SLZVjp.cjs +79 -0
  259. package/dist/sparkline-chart-D6SLZVjp.cjs.map +1 -0
  260. package/dist/styles.css +1 -0
  261. package/dist/switch-AEZvZSRV.cjs +2 -0
  262. package/dist/switch-AEZvZSRV.cjs.map +1 -0
  263. package/dist/switch-BF4LLvaU.js +147 -0
  264. package/dist/switch-BF4LLvaU.js.map +1 -0
  265. package/dist/table-2-Bn-YjZ9s.cjs +17 -0
  266. package/dist/table-2-Bn-YjZ9s.cjs.map +1 -0
  267. package/dist/table-2-C7E_N72K.js +52 -0
  268. package/dist/table-2-C7E_N72K.js.map +1 -0
  269. package/dist/textarea-4qZDuQ-C.js +206 -0
  270. package/dist/textarea-4qZDuQ-C.js.map +1 -0
  271. package/dist/textarea-Bq_zyt0L.cjs +2 -0
  272. package/dist/textarea-Bq_zyt0L.cjs.map +1 -0
  273. package/dist/tooltip-Dd7le9EO.cjs +2 -0
  274. package/dist/tooltip-Dd7le9EO.cjs.map +1 -0
  275. package/dist/tooltip-Dee-pNPI.js +338 -0
  276. package/dist/tooltip-Dee-pNPI.js.map +1 -0
  277. package/dist/trash-2-B3EP3JfM.js +18 -0
  278. package/dist/trash-2-B3EP3JfM.js.map +1 -0
  279. package/dist/trash-2-DWEeKlWT.cjs +7 -0
  280. package/dist/trash-2-DWEeKlWT.cjs.map +1 -0
  281. package/dist/trending-up-ljWtN4pj.js +15 -0
  282. package/dist/{trending-up-DPwlYzQb.js.map → trending-up-ljWtN4pj.js.map} +1 -1
  283. package/dist/trending-up-mLgmkp--.cjs +7 -0
  284. package/dist/{trending-up-D3Nfrhi3.cjs.map → trending-up-mLgmkp--.cjs.map} +1 -1
  285. package/dist/upload-2tm-XihE.cjs +7 -0
  286. package/dist/upload-2tm-XihE.cjs.map +1 -0
  287. package/dist/upload-C_JDP8O0.js +16 -0
  288. package/dist/upload-C_JDP8O0.js.map +1 -0
  289. package/dist/use-controllable-state-3ATd6Fqd.cjs +2 -0
  290. package/dist/use-controllable-state-3ATd6Fqd.cjs.map +1 -0
  291. package/dist/use-controllable-state-CEa-Zlq6.js +23 -0
  292. package/dist/use-controllable-state-CEa-Zlq6.js.map +1 -0
  293. package/dist/use-formatters-Bb0fX1lW.cjs +2 -0
  294. package/dist/{use-formatters-d97RVcmg.cjs.map → use-formatters-Bb0fX1lW.cjs.map} +1 -1
  295. package/dist/{use-formatters-l1_2c8z0.js → use-formatters-xeMS4gdV.js} +1317 -1337
  296. package/dist/{use-formatters-l1_2c8z0.js.map → use-formatters-xeMS4gdV.js.map} +1 -1
  297. package/dist/utils/index.cjs.js +1 -1
  298. package/dist/utils/index.es.js +1 -1
  299. package/dist/welcome-card-Ccbl_miQ.js +1007 -0
  300. package/dist/welcome-card-Ccbl_miQ.js.map +1 -0
  301. package/dist/welcome-card-D-ShMkaS.cjs +37 -0
  302. package/dist/welcome-card-D-ShMkaS.cjs.map +1 -0
  303. package/dist/x-BBkgEhUv.js +15 -0
  304. package/dist/x-BBkgEhUv.js.map +1 -0
  305. package/dist/x-D-El5XAY.cjs +7 -0
  306. package/dist/x-D-El5XAY.cjs.map +1 -0
  307. package/package.json +33 -13
  308. package/dist/avatar-C0aVNCG9.cjs +0 -2
  309. package/dist/avatar-C0aVNCG9.cjs.map +0 -1
  310. package/dist/avatar-CN6wcrqY.js +0 -288
  311. package/dist/avatar-CN6wcrqY.js.map +0 -1
  312. package/dist/calendar-BFWc4IB7.js.map +0 -1
  313. package/dist/calendar-BUm7YrNf.cjs +0 -2
  314. package/dist/calendar-BUm7YrNf.cjs.map +0 -1
  315. package/dist/calendar-ChJkFXXr.js +0 -11
  316. package/dist/calendar-SwL5isYC.cjs +0 -2
  317. package/dist/checkbox-CpOq5hkT.js.map +0 -1
  318. package/dist/checkbox-D7-LQyCl.cjs +0 -2
  319. package/dist/checkbox-D7-LQyCl.cjs.map +0 -1
  320. package/dist/chevron-down-DHdXqOqK.cjs +0 -2
  321. package/dist/chevron-down-DHdXqOqK.cjs.map +0 -1
  322. package/dist/chevron-down-DJ1_YIFu.js +0 -8
  323. package/dist/chevron-down-DJ1_YIFu.js.map +0 -1
  324. package/dist/chevron-right-B3bovvh0.js +0 -8
  325. package/dist/chevron-right-Dvyd11q0.cjs +0 -2
  326. package/dist/chevron-up-B9fuiZhc.cjs +0 -2
  327. package/dist/chevron-up-CGtXOr51.js +0 -6
  328. package/dist/createLucideIcon-BbeNo6vq.js +0 -56
  329. package/dist/createLucideIcon-BbeNo6vq.js.map +0 -1
  330. package/dist/createLucideIcon-i5GEhNMV.cjs +0 -2
  331. package/dist/createLucideIcon-i5GEhNMV.cjs.map +0 -1
  332. package/dist/ellipsis-BW2gWki8.cjs +0 -2
  333. package/dist/ellipsis-CiKEaUNP.js +0 -10
  334. package/dist/file-V_hhCUhr.cjs +0 -2
  335. package/dist/file-wzTXnWqz.js +0 -9
  336. package/dist/filter-tags-DjUaNXHR.cjs +0 -5
  337. package/dist/filter-tags-DjUaNXHR.cjs.map +0 -1
  338. package/dist/filter-tags-i_I8qV1N.js +0 -2658
  339. package/dist/filter-tags-i_I8qV1N.js.map +0 -1
  340. package/dist/full-calendar-7ac2FFU6.js +0 -3518
  341. package/dist/full-calendar-7ac2FFU6.js.map +0 -1
  342. package/dist/full-calendar-Cpeh5xMP.cjs +0 -8
  343. package/dist/full-calendar-Cpeh5xMP.cjs.map +0 -1
  344. package/dist/global-search-UNXjoFlI.cjs +0 -2
  345. package/dist/global-search-UNXjoFlI.cjs.map +0 -1
  346. package/dist/global-search-h1rVbP2q.js +0 -1188
  347. package/dist/global-search-h1rVbP2q.js.map +0 -1
  348. package/dist/index-CwJPJKOE.js.map +0 -1
  349. package/dist/index-CzVK9Zyb.cjs +0 -6
  350. package/dist/index-CzVK9Zyb.cjs.map +0 -1
  351. package/dist/index-l828OqQN.js +0 -288
  352. package/dist/index-l828OqQN.js.map +0 -1
  353. package/dist/index-lGzB9daF.cjs +0 -2
  354. package/dist/index-lGzB9daF.cjs.map +0 -1
  355. package/dist/input-CZrckPLk.cjs +0 -42
  356. package/dist/input-CZrckPLk.cjs.map +0 -1
  357. package/dist/input-D4AoiWxo.js +0 -3629
  358. package/dist/input-D4AoiWxo.js.map +0 -1
  359. package/dist/locale-provider-DHMwuneF.cjs +0 -2
  360. package/dist/locale-provider-DHMwuneF.cjs.map +0 -1
  361. package/dist/locale-provider-DanG6RRG.js +0 -1012
  362. package/dist/locale-provider-DanG6RRG.js.map +0 -1
  363. package/dist/locale-selector-Ppe0KTi-.cjs +0 -2
  364. package/dist/locale-selector-Ppe0KTi-.cjs.map +0 -1
  365. package/dist/locale-selector-xn2GpdP9.js +0 -1745
  366. package/dist/locale-selector-xn2GpdP9.js.map +0 -1
  367. package/dist/minus-BXBFZSZs.cjs +0 -2
  368. package/dist/minus-DvlYtl96.js +0 -6
  369. package/dist/multi-container-C2UpSw5f.js +0 -731
  370. package/dist/multi-container-C2UpSw5f.js.map +0 -1
  371. package/dist/multi-container-DMKL8c9B.cjs +0 -2
  372. package/dist/multi-container-DMKL8c9B.cjs.map +0 -1
  373. package/dist/pipeline-By5_8AFg.cjs +0 -2
  374. package/dist/pipeline-By5_8AFg.cjs.map +0 -1
  375. package/dist/pipeline-D-QNSU0U.js +0 -1036
  376. package/dist/pipeline-D-QNSU0U.js.map +0 -1
  377. package/dist/plus-8wKRkVu-.cjs +0 -2
  378. package/dist/plus-CJD68KQD.js +0 -9
  379. package/dist/popover-4V4sGe1U.js +0 -765
  380. package/dist/popover-4V4sGe1U.js.map +0 -1
  381. package/dist/popover-ivh-plLc.cjs +0 -2
  382. package/dist/popover-ivh-plLc.cjs.map +0 -1
  383. package/dist/progress-CFnuLqnS.cjs +0 -7
  384. package/dist/progress-CFnuLqnS.cjs.map +0 -1
  385. package/dist/progress-D5AsrWa6.js +0 -222
  386. package/dist/progress-D5AsrWa6.js.map +0 -1
  387. package/dist/scroll-area-DQeqDp3Y.js +0 -952
  388. package/dist/scroll-area-DQeqDp3Y.js.map +0 -1
  389. package/dist/scroll-area-DYOiJMXh.cjs +0 -2
  390. package/dist/scroll-area-DYOiJMXh.cjs.map +0 -1
  391. package/dist/select-C1rNBi6c.js +0 -974
  392. package/dist/select-C1rNBi6c.js.map +0 -1
  393. package/dist/select-m-Mqwxu3.cjs +0 -2
  394. package/dist/select-m-Mqwxu3.cjs.map +0 -1
  395. package/dist/separator-DBUivkHq.cjs +0 -2
  396. package/dist/separator-DBUivkHq.cjs.map +0 -1
  397. package/dist/separator-DsfoJx-2.js +0 -395
  398. package/dist/separator-DsfoJx-2.js.map +0 -1
  399. package/dist/sheet-BVWCpq7E.js +0 -84
  400. package/dist/sheet-BVWCpq7E.js.map +0 -1
  401. package/dist/sheet-mKiFLVnK.cjs +0 -2
  402. package/dist/sheet-mKiFLVnK.cjs.map +0 -1
  403. package/dist/sortable.esm-DcQYlXi3.cjs +0 -6
  404. package/dist/sparkline-chart-Da-ehDGv.js +0 -21082
  405. package/dist/sparkline-chart-Da-ehDGv.js.map +0 -1
  406. package/dist/sparkline-chart-ca3uTzVK.cjs +0 -68
  407. package/dist/sparkline-chart-ca3uTzVK.cjs.map +0 -1
  408. package/dist/trending-up-D3Nfrhi3.cjs +0 -2
  409. package/dist/trending-up-DPwlYzQb.js +0 -9
  410. package/dist/ui.css +0 -1
  411. package/dist/use-formatters-d97RVcmg.cjs +0 -2
  412. package/dist/welcome-card-CPolYl1D.cjs +0 -2
  413. package/dist/welcome-card-CPolYl1D.cjs.map +0 -1
  414. package/dist/welcome-card-CxMJZ8bv.js +0 -963
  415. package/dist/welcome-card-CxMJZ8bv.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcome-card-Ccbl_miQ.js","sources":["../node_modules/lucide-react/dist/esm/icons/building-2.js","../node_modules/lucide-react/dist/esm/icons/copy.js","../node_modules/lucide-react/dist/esm/icons/refresh-cw.js","../node_modules/lucide-react/dist/esm/icons/sparkles.js","../node_modules/lucide-react/dist/esm/icons/square-pen.js","../node_modules/lucide-react/dist/esm/icons/thumbs-down.js","../node_modules/lucide-react/dist/esm/icons/thumbs-up.js","../src/components/feedback/contact-card.tsx","../src/components/feedback/deal-card.tsx","../src/components/feedback/pipeline-board.tsx","../src/components/feedback/lead-score-indicator.tsx","../src/components/feedback/status-badge.tsx","../src/components/feedback/progress-tracker.tsx","../src/components/feedback/ai-summary-card.tsx","../src/components/feedback/feature-highlight-card.tsx","../src/components/feedback/alert-banner.tsx","../src/components/feedback/activity-item.tsx","../src/components/feedback/welcome-card.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 Building2 = createLucideIcon(\"Building2\", [\n [\"path\", { d: \"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\", key: \"1b4qmf\" }],\n [\"path\", { d: \"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\", key: \"i71pzd\" }],\n [\"path\", { d: \"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\", key: \"10jefs\" }],\n [\"path\", { d: \"M10 6h4\", key: \"1itunk\" }],\n [\"path\", { d: \"M10 10h4\", key: \"tcdvrf\" }],\n [\"path\", { d: \"M10 14h4\", key: \"kelpxr\" }],\n [\"path\", { d: \"M10 18h4\", key: \"1ulq68\" }]\n]);\n\nexport { Building2 as default };\n//# sourceMappingURL=building-2.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 Copy = createLucideIcon(\"Copy\", [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n]);\n\nexport { Copy as default };\n//# sourceMappingURL=copy.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 RefreshCw = createLucideIcon(\"RefreshCw\", [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n]);\n\nexport { RefreshCw as default };\n//# sourceMappingURL=refresh-cw.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 Sparkles = createLucideIcon(\"Sparkles\", [\n [\n \"path\",\n {\n d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\",\n key: \"4pj2yx\"\n }\n ],\n [\"path\", { d: \"M20 3v4\", key: \"1olli1\" }],\n [\"path\", { d: \"M22 5h-4\", key: \"1gvqau\" }],\n [\"path\", { d: \"M4 17v2\", key: \"vumght\" }],\n [\"path\", { d: \"M5 18H3\", key: \"zchphs\" }]\n]);\n\nexport { Sparkles as default };\n//# sourceMappingURL=sparkles.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 SquarePen = createLucideIcon(\"SquarePen\", [\n [\"path\", { d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\", key: \"1m0v6g\" }],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n]);\n\nexport { SquarePen as default };\n//# sourceMappingURL=square-pen.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 ThumbsDown = createLucideIcon(\"ThumbsDown\", [\n [\"path\", { d: \"M17 14V2\", key: \"8ymqnk\" }],\n [\n \"path\",\n {\n d: \"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z\",\n key: \"m61m77\"\n }\n ]\n]);\n\nexport { ThumbsDown as default };\n//# sourceMappingURL=thumbs-down.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 ThumbsUp = createLucideIcon(\"ThumbsUp\", [\n [\"path\", { d: \"M7 10v12\", key: \"1qc93n\" }],\n [\n \"path\",\n {\n d: \"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\",\n key: \"emmmcr\"\n }\n ]\n]);\n\nexport { ThumbsUp as default };\n//# sourceMappingURL=thumbs-up.js.map\n","import * as React from 'react'\nimport { Mail, Phone, Building2, MapPin } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader } from '@/components/ui/card'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Badge } from '@/components/ui/badge'\n\nexport interface ContactCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n email?: string\n phone?: string\n company?: string\n position?: string\n location?: string\n avatar?: string\n initials?: string\n status?: 'active' | 'inactive' | 'lead' | 'customer'\n tags?: string[]\n onClick?: () => void\n}\n\nconst statusColors = {\n active: 'bg-success text-success-foreground',\n inactive: 'bg-muted text-muted-foreground',\n lead: 'bg-warning text-warning-foreground',\n customer: 'bg-primary text-primary-foreground',\n}\n\nconst ContactCard = React.forwardRef<HTMLDivElement, ContactCardProps>(\n (\n {\n className,\n name,\n email,\n phone,\n company,\n position,\n location,\n avatar,\n initials,\n status,\n tags,\n onClick,\n ...props\n },\n ref\n ) => {\n return (\n <Card\n ref={ref}\n className={cn('transition-shadow hover:shadow-md', onClick && 'cursor-pointer', className)}\n onClick={onClick}\n {...props}\n >\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start gap-4\">\n <Avatar className=\"h-12 w-12\">\n {avatar && <AvatarImage src={avatar} alt={name} />}\n <AvatarFallback>{initials || name.charAt(0).toUpperCase()}</AvatarFallback>\n </Avatar>\n <div className=\"flex-1 space-y-1\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-semibold leading-none\">{name}</h3>\n {status && (\n <Badge className={cn('text-xs', statusColors[status])}>\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n )}\n </div>\n {position && <p className=\"text-sm text-muted-foreground\">{position}</p>}\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-2 text-sm\">\n {email && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Mail className=\"h-4 w-4\" />\n <span>{email}</span>\n </div>\n )}\n {phone && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Phone className=\"h-4 w-4\" />\n <span>{phone}</span>\n </div>\n )}\n {company && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Building2 className=\"h-4 w-4\" />\n <span>{company}</span>\n </div>\n )}\n {location && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <MapPin className=\"h-4 w-4\" />\n <span>{location}</span>\n </div>\n )}\n {tags && tags.length > 0 && (\n <div className=\"flex flex-wrap gap-1 pt-2\">\n {tags.map((tag, index) => (\n <Badge key={index} variant=\"secondary\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n </div>\n )}\n </CardContent>\n </Card>\n )\n }\n)\nContactCard.displayName = 'ContactCard'\n\nexport { ContactCard }\n","import * as React from 'react'\nimport { Calendar } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Progress } from '@/components/ui/progress'\nimport { useFormatters } from '@/hooks/use-formatters'\nimport { type CurrencyCode } from '@/lib/currencies'\n\nexport interface DealCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n value: number | string\n company?: string\n stage?: string\n probability?: number\n closeDate?: Date | string\n closeDateFormat?: string\n currency?: CurrencyCode\n showCurrencyCode?: boolean\n probabilityLabel?: string\n owner?: {\n name: string\n avatar?: string\n }\n priority?: 'low' | 'medium' | 'high'\n priorityLabelMap?: Partial<Record<'low' | 'medium' | 'high', string>>\n getPriorityLabel?: (priority: 'low' | 'medium' | 'high') => string\n onClick?: () => void\n onDragStart?: (e: React.DragEvent) => void\n draggable?: boolean\n /** If true, the value is already formatted and won't be processed */\n valueFormatted?: boolean\n}\n\nconst priorityColors = {\n low: 'bg-muted text-muted-foreground',\n medium: 'bg-warning text-warning-foreground',\n high: 'bg-destructive text-destructive-foreground',\n}\n\nconst DealCard = React.forwardRef<HTMLDivElement, DealCardProps>(\n (\n {\n className,\n title,\n value,\n company,\n stage,\n probability,\n closeDate,\n closeDateFormat,\n currency,\n showCurrencyCode = false,\n probabilityLabel,\n owner,\n priority,\n priorityLabelMap,\n getPriorityLabel,\n onClick,\n onDragStart,\n draggable = false,\n valueFormatted = false,\n ...props\n },\n ref\n ) => {\n const { formatCurrency, formatDate, t } = useFormatters()\n const resolvedPriorityLabel = React.useCallback(\n (value: 'low' | 'medium' | 'high') => {\n if (getPriorityLabel) return getPriorityLabel(value)\n if (priorityLabelMap?.[value]) return priorityLabelMap[value] as string\n return t(`status.${value}`)\n },\n [getPriorityLabel, priorityLabelMap, t]\n )\n\n const displayValue = React.useMemo(() => {\n if (valueFormatted || typeof value === 'string') {\n return value\n }\n // Use provided currency or fall back to locale default\n if (currency) {\n const formatted = new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n }).format(value)\n return showCurrencyCode ? `${currency} ${formatted.replace(/[^0-9.,\\s]/g, '').trim()}` : formatted\n }\n return formatCurrency(value, { minimumFractionDigits: 0, maximumFractionDigits: 0 })\n }, [value, valueFormatted, formatCurrency, currency, showCurrencyCode])\n\n const displayDate = React.useMemo(() => {\n if (!closeDate) return null\n return formatDate(closeDate, closeDateFormat)\n }, [closeDate, closeDateFormat, formatDate])\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'transition-all hover:shadow-md',\n onClick && 'cursor-pointer',\n draggable && 'cursor-grab active:cursor-grabbing',\n className\n )}\n onClick={onClick}\n onDragStart={onDragStart}\n draggable={draggable}\n {...props}\n >\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-start justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-base\">{title}</CardTitle>\n {company && <p className=\"text-sm text-muted-foreground\">{company}</p>}\n </div>\n {priority && (\n <Badge className={cn('text-xs', priorityColors[priority])}>\n {resolvedPriorityLabel(priority)}\n </Badge>\n )}\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"flex items-center justify-between\">\n <div className=\"text-lg font-bold\">\n {displayValue}\n </div>\n {stage && (\n <Badge variant=\"outline\" className=\"text-xs\">\n {stage}\n </Badge>\n )}\n </div>\n\n {probability !== undefined && (\n <div className=\"space-y-1\">\n <div className=\"flex justify-between text-xs\">\n <span className=\"text-muted-foreground\">{probabilityLabel || t('deal.probability')}</span>\n <span className=\"font-medium\">{probability}%</span>\n </div>\n <Progress value={probability} className=\"h-2\" />\n </div>\n )}\n\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n {displayDate && (\n <div className=\"flex items-center gap-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{displayDate}</span>\n </div>\n )}\n {owner && (\n <div className=\"flex items-center gap-1\">\n <Avatar className=\"h-5 w-5\">\n {owner.avatar && <AvatarImage src={owner.avatar} />}\n <AvatarFallback className=\"text-[10px]\">\n {owner.name.charAt(0).toUpperCase()}\n </AvatarFallback>\n </Avatar>\n <span>{owner.name}</span>\n </div>\n )}\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nDealCard.displayName = 'DealCard'\n\nexport { DealCard }\n","import * as React from 'react'\nimport { Plus } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'\n\nexport interface PipelineColumn<T> {\n id: string\n title: string\n items: T[]\n color?: string\n}\n\nexport interface PipelineBoardProps<T> extends React.HTMLAttributes<HTMLDivElement> {\n columns: PipelineColumn<T>[]\n renderItem: (item: T, columnId: string) => React.ReactNode\n onItemMove?: (itemId: string, fromColumnId: string, toColumnId: string) => void\n onAddItem?: (columnId: string) => void\n showAddButton?: boolean\n columnWidth?: number\n getItemId: (item: T) => string\n}\n\nfunction PipelineBoard<T>({\n className,\n columns,\n renderItem,\n onItemMove,\n onAddItem,\n showAddButton = true,\n columnWidth = 300,\n getItemId,\n}: PipelineBoardProps<T>) {\n const [draggedItem, setDraggedItem] = React.useState<{\n id: string\n columnId: string\n } | null>(null)\n\n const handleDragStart = (itemId: string, columnId: string) => {\n setDraggedItem({ id: itemId, columnId })\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDrop = (targetColumnId: string) => {\n if (draggedItem && draggedItem.columnId !== targetColumnId) {\n onItemMove?.(draggedItem.id, draggedItem.columnId, targetColumnId)\n }\n setDraggedItem(null)\n }\n\n const handleDragEnd = () => {\n setDraggedItem(null)\n }\n\n return (\n <ScrollArea className={cn('w-full', className)}>\n <div className=\"flex gap-4 p-4\">\n {columns.map((column) => (\n <div\n key={column.id}\n className=\"flex shrink-0 flex-col rounded-lg bg-muted/50\"\n style={{ width: columnWidth }}\n onDragOver={handleDragOver}\n onDrop={() => handleDrop(column.id)}\n >\n <div className=\"flex items-center justify-between p-3\">\n <div className=\"flex items-center gap-2\">\n {column.color && (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: column.color }}\n />\n )}\n <h3 className=\"text-sm font-semibold\">{column.title}</h3>\n <span className=\"rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground\">\n {column.items.length}\n </span>\n </div>\n {showAddButton && onAddItem && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6\"\n onClick={() => onAddItem(column.id)}\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n <div className=\"flex flex-1 flex-col gap-2 p-2\">\n {column.items.map((item) => {\n const itemId = getItemId(item)\n return (\n <div\n key={itemId}\n draggable\n onDragStart={() => handleDragStart(itemId, column.id)}\n onDragEnd={handleDragEnd}\n className={cn(\n 'transition-opacity',\n draggedItem?.id === itemId && 'opacity-50'\n )}\n >\n {renderItem(item, column.id)}\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n )\n}\n\nexport { PipelineBoard }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\n\nexport interface LeadScoreIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\n score: number\n maxScore?: number\n showLabel?: boolean\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst getScoreColor = (score: number, maxScore: number) => {\n const percentage = (score / maxScore) * 100\n if (percentage >= 80) return 'bg-success text-success-foreground'\n if (percentage >= 60) return 'bg-primary text-primary-foreground'\n if (percentage >= 40) return 'bg-warning text-warning-foreground'\n return 'bg-destructive text-destructive-foreground'\n}\n\nconst getScoreLabel = (score: number, maxScore: number) => {\n const percentage = (score / maxScore) * 100\n if (percentage >= 80) return 'Hot'\n if (percentage >= 60) return 'Warm'\n if (percentage >= 40) return 'Cold'\n return 'Very Cold'\n}\n\nconst sizeClasses = {\n sm: 'h-6 w-6 text-xs',\n md: 'h-8 w-8 text-sm',\n lg: 'h-10 w-10 text-base',\n}\n\nconst LeadScoreIndicator = React.forwardRef<HTMLDivElement, LeadScoreIndicatorProps>(\n ({ className, score, maxScore = 100, showLabel = false, size = 'md', ...props }, ref) => {\n const colorClass = getScoreColor(score, maxScore)\n const label = getScoreLabel(score, maxScore)\n\n return (\n <div ref={ref} className={cn('flex items-center gap-2', className)} {...props}>\n <div\n className={cn(\n 'flex items-center justify-center rounded-full font-semibold',\n sizeClasses[size],\n colorClass\n )}\n >\n {score}\n </div>\n {showLabel && (\n <span className={cn('text-sm font-medium', colorClass.split(' ')[0].replace('bg-', 'text-'))}>\n {label}\n </span>\n )}\n </div>\n )\n }\n)\nLeadScoreIndicator.displayName = 'LeadScoreIndicator'\n\nexport { LeadScoreIndicator }\n","import { cn } from '@/utils/cn'\nimport { Badge } from '@/components/ui/badge'\n\nexport type StatusType =\n | 'active'\n | 'inactive'\n | 'pending'\n | 'completed'\n | 'cancelled'\n | 'draft'\n | 'published'\n | 'archived'\n | 'open'\n | 'closed'\n | 'won'\n | 'lost'\n | 'qualified'\n | 'unqualified'\n | 'lead'\n | 'customer'\n | 'prospect'\n | 'new'\n | 'contacted'\n\nexport interface StatusBadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n status: StatusType | string\n customColors?: Record<string, string>\n showDot?: boolean\n /** Show pulse animation on the dot (useful for live/online states) */\n pulse?: boolean\n}\n\nconst defaultStatusColors: Record<StatusType, string> = {\n active: 'bg-success/15 text-success border-success/30',\n inactive: 'bg-muted text-muted-foreground border-muted',\n pending: 'bg-warning/15 text-warning border-warning/30',\n completed: 'bg-success/15 text-success border-success/30',\n cancelled: 'bg-destructive/15 text-destructive border-destructive/30',\n draft: 'bg-muted text-muted-foreground border-muted',\n published: 'bg-success/15 text-success border-success/30',\n archived: 'bg-muted text-muted-foreground border-muted',\n open: 'bg-info/15 text-info border-info/30',\n closed: 'bg-muted text-muted-foreground border-muted',\n won: 'bg-success/15 text-success border-success/30',\n lost: 'bg-destructive/15 text-destructive border-destructive/30',\n qualified: 'bg-primary/15 text-primary border-primary/30',\n unqualified: 'bg-muted text-muted-foreground border-muted',\n lead: 'bg-amber-100 text-amber-800 border-amber-300 dark:bg-amber-900/30 dark:text-amber-400 dark:border-amber-800',\n customer: 'bg-green-100 text-green-800 border-green-300 dark:bg-green-900/30 dark:text-green-400 dark:border-green-800',\n prospect: 'bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/30 dark:text-purple-400 dark:border-purple-800',\n new: 'bg-blue-100 text-blue-800 border-blue-300 dark:bg-blue-900/30 dark:text-blue-400 dark:border-blue-800',\n contacted: 'bg-cyan-100 text-cyan-800 border-cyan-300 dark:bg-cyan-900/30 dark:text-cyan-400 dark:border-cyan-800',\n}\n\nconst defaultDotColors: Record<StatusType, string> = {\n active: 'bg-success',\n inactive: 'bg-muted-foreground',\n pending: 'bg-warning',\n completed: 'bg-success',\n cancelled: 'bg-destructive',\n draft: 'bg-muted-foreground',\n published: 'bg-success',\n archived: 'bg-muted-foreground',\n open: 'bg-info',\n closed: 'bg-muted-foreground',\n won: 'bg-success',\n lost: 'bg-destructive',\n qualified: 'bg-primary',\n unqualified: 'bg-muted-foreground',\n lead: 'bg-amber-500',\n customer: 'bg-green-500',\n prospect: 'bg-purple-500',\n new: 'bg-blue-500',\n contacted: 'bg-cyan-500',\n}\n\nfunction StatusBadge({ className, status, customColors, showDot = true, pulse = false }: StatusBadgeProps) {\n const statusKey = status.toLowerCase() as StatusType\n const colorClass = customColors?.[status] || defaultStatusColors[statusKey] || 'bg-muted text-muted-foreground'\n const dotColor = defaultDotColors[statusKey] || 'bg-muted-foreground'\n\n const displayText = status.charAt(0).toUpperCase() + status.slice(1).toLowerCase()\n\n return (\n <Badge variant=\"outline\" className={cn('gap-1.5 font-medium', colorClass, className)}>\n {showDot && <span className={cn('h-2 w-2 rounded-full', dotColor, pulse && 'animate-pulse')} />}\n {displayText}\n </Badge>\n )\n}\n\nexport { StatusBadge }\n","import * as React from 'react'\nimport { Check } from 'lucide-react'\nimport { cn } from '@/utils/cn'\n\nexport interface ProgressStep {\n id: string | number\n title: string\n description?: string\n}\n\nexport interface ProgressTrackerProps extends React.HTMLAttributes<HTMLDivElement> {\n steps: ProgressStep[]\n currentStep: number\n orientation?: 'horizontal' | 'vertical'\n onStepClick?: (stepIndex: number) => void\n renderStepTitle?: (step: ProgressStep, index: number, state: 'completed' | 'current' | 'upcoming') => React.ReactNode\n renderStepDescription?: (step: ProgressStep, index: number, state: 'completed' | 'current' | 'upcoming') => React.ReactNode\n completedIcon?: React.ReactNode\n}\n\nconst ProgressTracker = React.forwardRef<HTMLDivElement, ProgressTrackerProps>(\n (\n {\n className,\n steps,\n currentStep,\n orientation = 'horizontal',\n onStepClick,\n renderStepTitle,\n renderStepDescription,\n completedIcon,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex',\n orientation === 'horizontal' ? 'flex-row items-start' : 'flex-col',\n className\n )}\n {...props}\n >\n {steps.map((step, index) => {\n const isCompleted = index < currentStep\n const isCurrent = index === currentStep\n const isClickable = onStepClick !== undefined\n const stepState = isCompleted ? 'completed' : isCurrent ? 'current' : 'upcoming'\n\n return (\n <div\n key={step.id}\n className={cn(\n 'flex',\n orientation === 'horizontal'\n ? 'flex-1 flex-col items-center'\n : 'flex-row items-start gap-4 pb-8 last:pb-0'\n )}\n >\n <div\n className={cn(\n 'flex items-center',\n orientation === 'horizontal' ? 'w-full' : 'flex-col'\n )}\n >\n {orientation === 'horizontal' && index > 0 && (\n <div\n className={cn(\n 'h-0.5 flex-1',\n index <= currentStep ? 'bg-primary' : 'bg-border'\n )}\n />\n )}\n <button\n type=\"button\"\n onClick={() => isClickable && onStepClick(index)}\n disabled={!isClickable}\n className={cn(\n 'relative z-10 flex h-10 w-10 shrink-0 items-center justify-center rounded-full border-2 text-sm font-medium transition-colors',\n isCompleted\n ? 'border-primary bg-primary text-primary-foreground'\n : isCurrent\n ? 'border-primary bg-background text-primary'\n : 'border-border bg-background text-muted-foreground',\n isClickable && 'cursor-pointer hover:border-primary/50'\n )}\n >\n {isCompleted ? (completedIcon ?? <Check className=\"h-5 w-5\" />) : index + 1}\n </button>\n {orientation === 'horizontal' && index < steps.length - 1 && (\n <div\n className={cn(\n 'h-0.5 flex-1',\n index < currentStep ? 'bg-primary' : 'bg-border'\n )}\n />\n )}\n {orientation === 'vertical' && index < steps.length - 1 && (\n <div\n className={cn(\n 'my-2 w-0.5 flex-1',\n index < currentStep ? 'bg-primary' : 'bg-border'\n )}\n style={{ minHeight: '2rem' }}\n />\n )}\n </div>\n <div\n className={cn(\n 'text-center',\n orientation === 'horizontal' ? 'mt-2 px-2' : 'pt-1'\n )}\n >\n <p\n className={cn(\n 'text-sm font-medium',\n isCurrent || isCompleted ? 'text-foreground' : 'text-muted-foreground'\n )}\n >\n {renderStepTitle ? renderStepTitle(step, index, stepState) : step.title}\n </p>\n {step.description && (\n <p className=\"mt-0.5 text-xs text-muted-foreground\">\n {renderStepDescription ? renderStepDescription(step, index, stepState) : step.description}\n </p>\n )}\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n)\nProgressTracker.displayName = 'ProgressTracker'\n\nexport { ProgressTracker }\n","import * as React from 'react'\nimport { Sparkles, RefreshCw, Copy, Check, ThumbsUp, ThumbsDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Badge } from '@/components/ui/badge'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { useLocale } from '@/providers/locale-provider'\n\nexport interface AISummaryCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title?: string\n summary?: string\n loading?: boolean\n error?: string\n onRefresh?: () => void\n onCopy?: () => void\n onFeedback?: (feedback: 'positive' | 'negative') => void\n model?: string\n generatedAt?: string\n confidence?: number\n}\n\nconst AISummaryCard = React.forwardRef<HTMLDivElement, AISummaryCardProps>(\n (\n {\n className,\n title,\n summary,\n loading = false,\n error,\n onRefresh,\n onCopy,\n onFeedback,\n model,\n generatedAt,\n confidence,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const [copied, setCopied] = React.useState(false)\n const [feedback, setFeedback] = React.useState<'positive' | 'negative' | null>(null)\n const resolvedTitle = title ?? t('feedback.aiSummary')\n\n const handleCopy = async () => {\n if (summary && onCopy) {\n await navigator.clipboard.writeText(summary)\n setCopied(true)\n onCopy()\n setTimeout(() => setCopied(false), 2000)\n }\n }\n\n const handleFeedback = (type: 'positive' | 'negative') => {\n setFeedback(type)\n onFeedback?.(type)\n }\n\n return (\n <Card ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <div className=\"absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-primary/50 via-primary to-primary/50\" />\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <div className=\"flex items-center gap-2\">\n <Sparkles className=\"h-4 w-4 text-primary\" />\n <CardTitle className=\"text-base font-medium\">{resolvedTitle}</CardTitle>\n {model && (\n <Badge variant=\"outline\" className=\"text-xs\">\n {model}\n </Badge>\n )}\n </div>\n <div className=\"flex items-center gap-1\">\n {onRefresh && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={onRefresh}\n disabled={loading}\n >\n <RefreshCw className={cn('h-4 w-4', loading && 'animate-spin')} />\n </Button>\n )}\n {summary && onCopy && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={handleCopy}\n >\n {copied ? (\n <Check className=\"h-4 w-4 text-success\" />\n ) : (\n <Copy className=\"h-4 w-4\" />\n )}\n </Button>\n )}\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {loading ? (\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-3/4\" />\n </div>\n ) : error ? (\n <div className=\"rounded-md bg-destructive/10 p-3 text-sm text-destructive\">\n {error}\n </div>\n ) : summary ? (\n <>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">{summary}</p>\n <div className=\"flex items-center justify-between pt-2\">\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n {confidence !== undefined && (\n <span>{t('feedback.confidence')}: {Math.round(confidence * 100)}%</span>\n )}\n {generatedAt && <span>{generatedAt}</span>}\n </div>\n {onFeedback && (\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs text-muted-foreground mr-1\">{t('feedback.wasHelpful')}</span>\n <Button\n variant={feedback === 'positive' ? 'default' : 'ghost'}\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={() => handleFeedback('positive')}\n >\n <ThumbsUp className=\"h-3.5 w-3.5\" />\n </Button>\n <Button\n variant={feedback === 'negative' ? 'destructive' : 'ghost'}\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={() => handleFeedback('negative')}\n >\n <ThumbsDown className=\"h-3.5 w-3.5\" />\n </Button>\n </div>\n )}\n </div>\n </>\n ) : (\n <p className=\"text-sm text-muted-foreground\">{t('feedback.noSummary')}</p>\n )}\n </CardContent>\n </Card>\n )\n }\n)\nAISummaryCard.displayName = 'AISummaryCard'\n\nexport { AISummaryCard }\n","import * as React from 'react'\nimport { X, Sparkles, ArrowRight, ExternalLink } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Badge } from '@/components/ui/badge'\n\nexport interface FeatureHighlightCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n description: string\n badge?: string\n icon?: React.ReactNode\n image?: string\n actionLabel?: string\n learnMoreLabel?: string\n onAction?: () => void\n learnMoreUrl?: string\n dismissible?: boolean\n onDismiss?: () => void\n variant?: 'default' | 'gradient' | 'bordered'\n}\n\nconst FeatureHighlightCard = React.forwardRef<HTMLDivElement, FeatureHighlightCardProps>(\n (\n {\n className,\n title,\n description,\n badge,\n icon,\n image,\n actionLabel,\n learnMoreLabel,\n onAction,\n learnMoreUrl,\n dismissible = true,\n onDismiss,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const translatedActionLabel = t('feature.tryNow')\n const resolvedActionLabel =\n actionLabel ??\n (translatedActionLabel === 'feature.tryNow' ? 'Try it now' : translatedActionLabel)\n const translatedLearnMoreLabel = t('feature.learnMore')\n const resolvedLearnMoreLabel =\n learnMoreLabel ??\n (translatedLearnMoreLabel === 'feature.learnMore'\n ? 'Learn more'\n : translatedLearnMoreLabel)\n\n const variantClasses = {\n default: 'bg-card',\n gradient: 'bg-gradient-to-br from-primary/10 via-primary/5 to-transparent',\n bordered: 'border-2 border-primary/20',\n }\n\n return (\n <Card\n ref={ref}\n className={cn('relative overflow-hidden', variantClasses[variant], className)}\n {...props}\n >\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-2 top-2 h-6 w-6\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n <CardContent className=\"p-6\">\n <div className=\"flex gap-4\">\n {(icon || image) && (\n <div className=\"flex-shrink-0\">\n {icon ? (\n <div className=\"flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary\">\n {icon}\n </div>\n ) : image ? (\n <img\n src={image}\n alt=\"\"\n className=\"h-12 w-12 rounded-lg object-cover\"\n />\n ) : null}\n </div>\n )}\n <div className=\"flex-1 space-y-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <div>\n {badge && (\n <Badge variant=\"secondary\" className=\"mb-2\">\n <Sparkles className=\"mr-1 h-3 w-3\" />\n {badge}\n </Badge>\n )}\n <h3 className=\"font-semibold\">{title}</h3>\n </div>\n </div>\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n <div className=\"flex items-center gap-2 pt-2\">\n {onAction && (\n <Button size=\"sm\" onClick={onAction}>\n {resolvedActionLabel}\n <ArrowRight className=\"ml-1 h-4 w-4\" />\n </Button>\n )}\n {learnMoreUrl && (\n <Button variant=\"ghost\" size=\"sm\" asChild>\n <a href={learnMoreUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {resolvedLearnMoreLabel}\n <ExternalLink className=\"ml-1 h-3 w-3\" />\n </a>\n </Button>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nFeatureHighlightCard.displayName = 'FeatureHighlightCard'\n\nexport { FeatureHighlightCard }\n","import * as React from 'react'\nimport { X, AlertTriangle, Info, AlertCircle, CheckCircle } from 'lucide-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\n\nconst alertBannerVariants = cva(\n 'relative flex items-center gap-3 px-4 py-3 text-sm',\n {\n variants: {\n variant: {\n default: 'bg-muted text-foreground',\n info: 'bg-info/10 text-info-foreground border-info/20',\n success: 'bg-success/10 text-success-foreground border-success/20',\n warning: 'bg-warning/10 text-warning-foreground border-warning/20',\n destructive: 'bg-destructive/10 text-destructive-foreground border-destructive/20',\n },\n position: {\n top: 'fixed top-0 left-0 right-0 z-50 border-b',\n bottom: 'fixed bottom-0 left-0 right-0 z-50 border-t',\n inline: 'rounded-lg border',\n },\n },\n defaultVariants: {\n variant: 'default',\n position: 'inline',\n },\n }\n)\n\nconst iconMap = {\n default: Info,\n info: Info,\n success: CheckCircle,\n warning: AlertTriangle,\n destructive: AlertCircle,\n}\n\nexport interface AlertBannerProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertBannerVariants> {\n title?: string\n message: string\n dismissible?: boolean\n onDismiss?: () => void\n action?: {\n label: string\n onClick: () => void\n }\n showIcon?: boolean\n}\n\nconst AlertBanner = React.forwardRef<HTMLDivElement, AlertBannerProps>(\n (\n {\n className,\n variant = 'default',\n position = 'inline',\n title,\n message,\n dismissible = true,\n onDismiss,\n action,\n showIcon = true,\n ...props\n },\n ref\n ) => {\n const Icon = iconMap[variant || 'default']\n\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertBannerVariants({ variant, position }), className)}\n {...props}\n >\n {showIcon && <Icon className=\"h-5 w-5 flex-shrink-0\" />}\n <div className=\"flex flex-1 flex-col gap-0.5\">\n {title && <p className=\"font-medium\">{title}</p>}\n <p className={cn(!title && 'font-normal', title && 'text-muted-foreground')}>{message}</p>\n </div>\n <div className=\"flex items-center gap-2\">\n {action && (\n <Button\n variant={variant === 'destructive' ? 'destructive' : 'outline'}\n size=\"sm\"\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6 flex-shrink-0\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n </div>\n )\n }\n)\nAlertBanner.displayName = 'AlertBanner'\n\nexport { AlertBanner, alertBannerVariants }\n","import * as React from 'react'\nimport { Mail, Phone, Calendar, FileText, MessageSquare, Edit, Trash2 } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Button } from '@/components/ui/button'\n\nexport type CRMActivityType = 'email' | 'call' | 'meeting' | 'note' | 'task' | 'message'\n\nexport interface CRMActivityItemProps extends React.HTMLAttributes<HTMLDivElement> {\n type: CRMActivityType\n title: string\n description?: string\n timestamp: string\n user?: {\n name: string\n avatar?: string\n }\n actions?: {\n onEdit?: () => void\n onDelete?: () => void\n }\n metadata?: Record<string, string>\n}\n\nconst activityIcons: Record<CRMActivityType, React.ReactNode> = {\n email: <Mail className=\"h-4 w-4\" />,\n call: <Phone className=\"h-4 w-4\" />,\n meeting: <Calendar className=\"h-4 w-4\" />,\n note: <FileText className=\"h-4 w-4\" />,\n task: <FileText className=\"h-4 w-4\" />,\n message: <MessageSquare className=\"h-4 w-4\" />,\n}\n\nconst activityColors: Record<CRMActivityType, string> = {\n email: 'bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400',\n call: 'bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400',\n meeting: 'bg-purple-100 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400',\n note: 'bg-yellow-100 text-yellow-600 dark:bg-yellow-900/30 dark:text-yellow-400',\n task: 'bg-orange-100 text-orange-600 dark:bg-orange-900/30 dark:text-orange-400',\n message: 'bg-pink-100 text-pink-600 dark:bg-pink-900/30 dark:text-pink-400',\n}\n\nconst CRMActivityItem = React.forwardRef<HTMLDivElement, CRMActivityItemProps>(\n (\n {\n className,\n type,\n title,\n description,\n timestamp,\n user,\n actions,\n metadata,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n className={cn('group flex gap-4 rounded-lg p-3 hover:bg-muted/50', className)}\n {...props}\n >\n <div className={cn('flex h-10 w-10 items-center justify-center rounded-lg', activityColors[type])}>\n {activityIcons[type]}\n </div>\n\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"flex items-start justify-between\">\n <div>\n <h4 className=\"font-medium\">{title}</h4>\n {description && (\n <p className=\"text-sm text-muted-foreground line-clamp-2\">{description}</p>\n )}\n </div>\n {actions && (\n <div className=\"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100\">\n {actions.onEdit && (\n <Button variant=\"ghost\" size=\"icon\" className=\"h-7 w-7\" onClick={actions.onEdit}>\n <Edit className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n {actions.onDelete && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7 text-destructive hover:text-destructive\"\n onClick={actions.onDelete}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n </div>\n )}\n </div>\n\n {metadata && Object.keys(metadata).length > 0 && (\n <div className=\"flex flex-wrap gap-2 text-xs text-muted-foreground\">\n {Object.entries(metadata).map(([key, value]) => (\n <span key={key}>\n <span className=\"font-medium\">{key}:</span> {value}\n </span>\n ))}\n </div>\n )}\n\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n {user && (\n <>\n <Avatar className=\"h-5 w-5\">\n {user.avatar && <AvatarImage src={user.avatar} />}\n <AvatarFallback className=\"text-[10px]\">\n {user.name.charAt(0).toUpperCase()}\n </AvatarFallback>\n </Avatar>\n <span>{user.name}</span>\n <span>•</span>\n </>\n )}\n <span>{timestamp}</span>\n </div>\n </div>\n </div>\n )\n }\n)\nCRMActivityItem.displayName = 'CRMActivityItem'\n\nexport { CRMActivityItem }\n","import * as React from 'react'\nimport { X, ArrowRight, Sparkles } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Progress } from '@/components/ui/progress'\nimport { useLocale } from '@/providers/locale-provider'\n\nexport interface WelcomeStep {\n id: string\n title: string\n description?: string\n completed: boolean\n href?: string\n onClick?: () => void\n}\n\nexport interface WelcomeCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n subtitle?: string\n userName?: string\n steps?: WelcomeStep[]\n dismissible?: boolean\n onDismiss?: () => void\n showProgress?: boolean\n image?: string\n ctaLabel?: string\n ctaOnClick?: () => void\n}\n\nconst WelcomeCard = React.forwardRef<HTMLDivElement, WelcomeCardProps>(\n (\n {\n className,\n title,\n subtitle,\n userName,\n steps = [],\n dismissible = true,\n onDismiss,\n showProgress = true,\n image,\n ctaLabel,\n ctaOnClick,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const completedCount = steps.filter((s) => s.completed).length\n const progressPercent = steps.length > 0 ? (completedCount / steps.length) * 100 : 0\n\n return (\n <Card\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <div className=\"absolute inset-0 bg-gradient-to-r from-primary/5 via-primary/10 to-transparent\" />\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-2 top-2 h-6 w-6 z-10\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n <CardContent className=\"relative p-6\">\n <div className=\"flex gap-6\">\n <div className=\"flex-1 space-y-4\">\n <div className=\"flex items-center gap-2\">\n <Sparkles className=\"h-5 w-5 text-primary\" />\n <span className=\"text-sm font-medium text-primary\">{t('welcome.label')}</span>\n </div>\n\n <div>\n <h2 className=\"text-2xl font-bold\">\n {userName ? `${title}, ${userName}!` : title}\n </h2>\n {subtitle && <p className=\"mt-1 text-muted-foreground\">{subtitle}</p>}\n </div>\n\n {showProgress && steps.length > 0 && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-sm\">\n <span className=\"text-muted-foreground\">{t('welcome.setupProgress')}</span>\n <span className=\"font-medium\">\n {t('welcome.completed', { completed: completedCount, total: steps.length })}\n </span>\n </div>\n <Progress value={progressPercent} className=\"h-2\" />\n </div>\n )}\n\n {steps.length > 0 && (\n <div className=\"space-y-2\">\n {steps.slice(0, 3).map((step) => (\n <button\n key={step.id}\n onClick={step.onClick}\n className={cn(\n 'flex w-full items-center gap-3 rounded-lg p-3 text-left transition-colors hover:bg-muted',\n step.completed && 'opacity-50'\n )}\n >\n <div\n className={cn(\n 'flex h-6 w-6 items-center justify-center rounded-full border-2',\n step.completed\n ? 'border-primary bg-primary text-primary-foreground'\n : 'border-muted-foreground/30'\n )}\n >\n {step.completed && (\n <svg\n className=\"h-3.5 w-3.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={3}\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M5 13l4 4L19 7\" />\n </svg>\n )}\n </div>\n <div className=\"flex-1\">\n <p className={cn('font-medium', step.completed && 'line-through')}>\n {step.title}\n </p>\n {step.description && (\n <p className=\"text-xs text-muted-foreground\">{step.description}</p>\n )}\n </div>\n {!step.completed && <ArrowRight className=\"h-4 w-4 text-muted-foreground\" />}\n </button>\n ))}\n </div>\n )}\n\n {ctaLabel && ctaOnClick && (\n <Button onClick={ctaOnClick} className=\"gap-2\">\n {ctaLabel}\n <ArrowRight className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n\n {image && (\n <div className=\"hidden lg:block\">\n <img src={image} alt=\"\" className=\"h-48 w-48 object-contain\" />\n </div>\n )}\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nWelcomeCard.displayName = 'WelcomeCard'\n\nexport { WelcomeCard }\n"],"names":["Building2","createLucideIcon","Copy","RefreshCw","Sparkles","SquarePen","ThumbsDown","ThumbsUp","statusColors","ContactCard","React","className","name","email","phone","company","position","location","avatar","initials","status","tags","onClick","props","ref","jsxs","Card","cn","jsx","CardHeader","Avatar","AvatarImage","AvatarFallback","Badge","CardContent","Mail","Phone","MapPin","tag","index","priorityColors","DealCard","title","value","stage","probability","closeDate","closeDateFormat","currency","showCurrencyCode","probabilityLabel","owner","priority","priorityLabelMap","getPriorityLabel","onDragStart","draggable","valueFormatted","formatCurrency","formatDate","t","useFormatters","resolvedPriorityLabel","displayValue","formatted","displayDate","CardTitle","Progress","Calendar","PipelineBoard","columns","renderItem","onItemMove","onAddItem","showAddButton","columnWidth","getItemId","draggedItem","setDraggedItem","handleDragStart","itemId","columnId","handleDragOver","e","handleDrop","targetColumnId","handleDragEnd","ScrollArea","column","Button","Plus","item","ScrollBar","getScoreColor","score","maxScore","percentage","getScoreLabel","sizeClasses","LeadScoreIndicator","showLabel","size","colorClass","label","defaultStatusColors","defaultDotColors","StatusBadge","customColors","showDot","pulse","statusKey","dotColor","displayText","ProgressTracker","steps","currentStep","orientation","onStepClick","renderStepTitle","renderStepDescription","completedIcon","step","isCompleted","isCurrent","isClickable","stepState","Check","AISummaryCard","summary","loading","error","onRefresh","onCopy","onFeedback","model","generatedAt","confidence","useLocale","copied","setCopied","feedback","setFeedback","resolvedTitle","handleCopy","handleFeedback","type","Skeleton","Fragment","FeatureHighlightCard","description","badge","icon","image","actionLabel","learnMoreLabel","onAction","learnMoreUrl","dismissible","onDismiss","variant","translatedActionLabel","resolvedActionLabel","translatedLearnMoreLabel","resolvedLearnMoreLabel","X","ArrowRight","ExternalLink","alertBannerVariants","cva","iconMap","Info","CheckCircle","AlertTriangle","AlertCircle","AlertBanner","message","action","showIcon","Icon","activityIcons","FileText","MessageSquare","activityColors","CRMActivityItem","timestamp","user","actions","metadata","Edit","Trash2","key","WelcomeCard","subtitle","userName","showProgress","ctaLabel","ctaOnClick","completedCount","s","progressPercent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,37 @@
1
+ "use strict";const e=require("react/jsx-runtime"),se=require("react"),x=require("./index-Dy_9oyP3.cjs"),j=require("./card-CToWUN1K.cjs"),w=require("./avatar-Cl38Ye4J.cjs"),y=require("./badge-BZcdBG5J.cjs"),S=require("./phone-DPA6vucM.cjs"),k=require("./scroll-area-HsTSI_58.cjs"),I=require("./map-pin-DGObSZ40.cjs"),z=require("./progress-BrzjVhWG.cjs"),re=require("./use-formatters-Bb0fX1lW.cjs"),U=require("./calendar-BH-AuyiB.cjs"),v=require("./button-CPuCii0R.cjs"),te=require("./plus-Bcuujcqd.cjs"),D=require("./skeleton-D3YsjVWD.cjs"),T=require("./locale-provider-BScpm-eC.cjs"),H=require("./x-D-El5XAY.cjs"),P=require("./arrow-right-vDxRZOfm.cjs"),ae=require("./external-link-CGBqsrbm.cjs"),ne=require("./trash-2-DWEeKlWT.cjs"),ce=require("./message-square-_69ua8rH.cjs");function le(o){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const s in o)if(s!=="default"){const t=Object.getOwnPropertyDescriptor(o,s);Object.defineProperty(r,s,t.get?t:{enumerable:!0,get:()=>o[s]})}}return r.default=o,Object.freeze(r)}const N=le(se);/**
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 de=k.createLucideIcon("Building2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]]);/**
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 ie=k.createLucideIcon("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/**
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 oe=k.createLucideIcon("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
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 F=k.createLucideIcon("Sparkles",[["path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z",key:"4pj2yx"}],["path",{d:"M20 3v4",key:"1olli1"}],["path",{d:"M22 5h-4",key:"1gvqau"}],["path",{d:"M4 17v2",key:"vumght"}],["path",{d:"M5 18H3",key:"zchphs"}]]);/**
22
+ * @license lucide-react v0.441.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const me=k.createLucideIcon("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]);/**
27
+ * @license lucide-react v0.441.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const xe=k.createLucideIcon("ThumbsDown",[["path",{d:"M17 14V2",key:"8ymqnk"}],["path",{d:"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z",key:"m61m77"}]]);/**
32
+ * @license lucide-react v0.441.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const ue=k.createLucideIcon("ThumbsUp",[["path",{d:"M7 10v12",key:"1qc93n"}],["path",{d:"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z",key:"emmmcr"}]]),he={active:"bg-success text-success-foreground",inactive:"bg-muted text-muted-foreground",lead:"bg-warning text-warning-foreground",customer:"bg-primary text-primary-foreground"},E=N.forwardRef(({className:o,name:r,email:s,phone:t,company:a,position:l,location:d,avatar:m,initials:i,status:h,tags:u,onClick:n,...b},g)=>e.jsxs(j.Card,{ref:g,className:x.cn("transition-shadow hover:shadow-md",n&&"cursor-pointer",o),onClick:n,...b,children:[e.jsx(j.CardHeader,{className:"pb-3",children:e.jsxs("div",{className:"flex items-start gap-4",children:[e.jsxs(w.Avatar,{className:"h-12 w-12",children:[m&&e.jsx(w.AvatarImage,{src:m,alt:r}),e.jsx(w.AvatarFallback,{children:i||r.charAt(0).toUpperCase()})]}),e.jsxs("div",{className:"flex-1 space-y-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("h3",{className:"font-semibold leading-none",children:r}),h&&e.jsx(y.Badge,{className:x.cn("text-xs",he[h]),children:h.charAt(0).toUpperCase()+h.slice(1)})]}),l&&e.jsx("p",{className:"text-sm text-muted-foreground",children:l})]})]})}),e.jsxs(j.CardContent,{className:"space-y-2 text-sm",children:[s&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(S.Mail,{className:"h-4 w-4"}),e.jsx("span",{children:s})]}),t&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(S.Phone,{className:"h-4 w-4"}),e.jsx("span",{children:t})]}),a&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(de,{className:"h-4 w-4"}),e.jsx("span",{children:a})]}),d&&e.jsxs("div",{className:"flex items-center gap-2 text-muted-foreground",children:[e.jsx(I.MapPin,{className:"h-4 w-4"}),e.jsx("span",{children:d})]}),u&&u.length>0&&e.jsx("div",{className:"flex flex-wrap gap-1 pt-2",children:u.map((c,p)=>e.jsx(y.Badge,{variant:"secondary",className:"text-xs",children:c},p))})]})]}));E.displayName="ContactCard";const ge={low:"bg-muted text-muted-foreground",medium:"bg-warning text-warning-foreground",high:"bg-destructive text-destructive-foreground"},W=N.forwardRef(({className:o,title:r,value:s,company:t,stage:a,probability:l,closeDate:d,closeDateFormat:m,currency:i,showCurrencyCode:h=!1,probabilityLabel:u,owner:n,priority:b,priorityLabelMap:g,getPriorityLabel:c,onClick:p,onDragStart:f,draggable:B=!1,valueFormatted:C=!1,...M},A)=>{const{formatCurrency:L,formatDate:O,t:R}=re.useFormatters(),Y=N.useCallback(q=>c?c(q):g!=null&&g[q]?g[q]:R(`status.${q}`),[c,g,R]),ee=N.useMemo(()=>{if(C||typeof s=="string")return s;if(i){const q=new Intl.NumberFormat(void 0,{style:"currency",currency:i,minimumFractionDigits:0,maximumFractionDigits:0}).format(s);return h?`${i} ${q.replace(/[^0-9.,\s]/g,"").trim()}`:q}return L(s,{minimumFractionDigits:0,maximumFractionDigits:0})},[s,C,L,i,h]),V=N.useMemo(()=>d?O(d,m):null,[d,m,O]);return e.jsxs(j.Card,{ref:A,className:x.cn("transition-all hover:shadow-md",p&&"cursor-pointer",B&&"cursor-grab active:cursor-grabbing",o),onClick:p,onDragStart:f,draggable:B,...M,children:[e.jsx(j.CardHeader,{className:"pb-2",children:e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx(j.CardTitle,{className:"text-base",children:r}),t&&e.jsx("p",{className:"text-sm text-muted-foreground",children:t})]}),b&&e.jsx(y.Badge,{className:x.cn("text-xs",ge[b]),children:Y(b)})]})}),e.jsxs(j.CardContent,{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-lg font-bold",children:ee}),a&&e.jsx(y.Badge,{variant:"outline",className:"text-xs",children:a})]}),l!==void 0&&e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex justify-between text-xs",children:[e.jsx("span",{className:"text-muted-foreground",children:u||R("deal.probability")}),e.jsxs("span",{className:"font-medium",children:[l,"%"]})]}),e.jsx(z.Progress,{value:l,className:"h-2"})]}),e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground",children:[V&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx(U.Calendar,{className:"h-3 w-3"}),e.jsx("span",{children:V})]}),n&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsxs(w.Avatar,{className:"h-5 w-5",children:[n.avatar&&e.jsx(w.AvatarImage,{src:n.avatar}),e.jsx(w.AvatarFallback,{className:"text-[10px]",children:n.name.charAt(0).toUpperCase()})]}),e.jsx("span",{children:n.name})]})]})]})]})});W.displayName="DealCard";function fe({className:o,columns:r,renderItem:s,onItemMove:t,onAddItem:a,showAddButton:l=!0,columnWidth:d=300,getItemId:m}){const[i,h]=N.useState(null),u=(c,p)=>{h({id:c,columnId:p})},n=c=>{c.preventDefault()},b=c=>{i&&i.columnId!==c&&(t==null||t(i.id,i.columnId,c)),h(null)},g=()=>{h(null)};return e.jsxs(k.ScrollArea,{className:x.cn("w-full",o),children:[e.jsx("div",{className:"flex gap-4 p-4",children:r.map(c=>e.jsxs("div",{className:"flex shrink-0 flex-col rounded-lg bg-muted/50",style:{width:d},onDragOver:n,onDrop:()=>b(c.id),children:[e.jsxs("div",{className:"flex items-center justify-between p-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[c.color&&e.jsx("div",{className:"h-3 w-3 rounded-full",style:{backgroundColor:c.color}}),e.jsx("h3",{className:"text-sm font-semibold",children:c.title}),e.jsx("span",{className:"rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground",children:c.items.length})]}),l&&a&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>a(c.id),children:e.jsx(te.Plus,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"flex flex-1 flex-col gap-2 p-2",children:c.items.map(p=>{const f=m(p);return e.jsx("div",{draggable:!0,onDragStart:()=>u(f,c.id),onDragEnd:g,className:x.cn("transition-opacity",(i==null?void 0:i.id)===f&&"opacity-50"),children:s(p,c.id)},f)})})]},c.id))}),e.jsx(k.ScrollBar,{orientation:"horizontal"})]})}const pe=(o,r)=>{const s=o/r*100;return s>=80?"bg-success text-success-foreground":s>=60?"bg-primary text-primary-foreground":s>=40?"bg-warning text-warning-foreground":"bg-destructive text-destructive-foreground"},be=(o,r)=>{const s=o/r*100;return s>=80?"Hot":s>=60?"Warm":s>=40?"Cold":"Very Cold"},je={sm:"h-6 w-6 text-xs",md:"h-8 w-8 text-sm",lg:"h-10 w-10 text-base"},_=N.forwardRef(({className:o,score:r,maxScore:s=100,showLabel:t=!1,size:a="md",...l},d)=>{const m=pe(r,s),i=be(r,s);return e.jsxs("div",{ref:d,className:x.cn("flex items-center gap-2",o),...l,children:[e.jsx("div",{className:x.cn("flex items-center justify-center rounded-full font-semibold",je[a],m),children:r}),t&&e.jsx("span",{className:x.cn("text-sm font-medium",m.split(" ")[0].replace("bg-","text-")),children:i})]})});_.displayName="LeadScoreIndicator";const ve={active:"bg-success/15 text-success border-success/30",inactive:"bg-muted text-muted-foreground border-muted",pending:"bg-warning/15 text-warning border-warning/30",completed:"bg-success/15 text-success border-success/30",cancelled:"bg-destructive/15 text-destructive border-destructive/30",draft:"bg-muted text-muted-foreground border-muted",published:"bg-success/15 text-success border-success/30",archived:"bg-muted text-muted-foreground border-muted",open:"bg-info/15 text-info border-info/30",closed:"bg-muted text-muted-foreground border-muted",won:"bg-success/15 text-success border-success/30",lost:"bg-destructive/15 text-destructive border-destructive/30",qualified:"bg-primary/15 text-primary border-primary/30",unqualified:"bg-muted text-muted-foreground border-muted",lead:"bg-amber-100 text-amber-800 border-amber-300 dark:bg-amber-900/30 dark:text-amber-400 dark:border-amber-800",customer:"bg-green-100 text-green-800 border-green-300 dark:bg-green-900/30 dark:text-green-400 dark:border-green-800",prospect:"bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/30 dark:text-purple-400 dark:border-purple-800",new:"bg-blue-100 text-blue-800 border-blue-300 dark:bg-blue-900/30 dark:text-blue-400 dark:border-blue-800",contacted:"bg-cyan-100 text-cyan-800 border-cyan-300 dark:bg-cyan-900/30 dark:text-cyan-400 dark:border-cyan-800"},Ne={active:"bg-success",inactive:"bg-muted-foreground",pending:"bg-warning",completed:"bg-success",cancelled:"bg-destructive",draft:"bg-muted-foreground",published:"bg-success",archived:"bg-muted-foreground",open:"bg-info",closed:"bg-muted-foreground",won:"bg-success",lost:"bg-destructive",qualified:"bg-primary",unqualified:"bg-muted-foreground",lead:"bg-amber-500",customer:"bg-green-500",prospect:"bg-purple-500",new:"bg-blue-500",contacted:"bg-cyan-500"};function we({className:o,status:r,customColors:s,showDot:t=!0,pulse:a=!1}){const l=r.toLowerCase(),d=(s==null?void 0:s[r])||ve[l]||"bg-muted text-muted-foreground",m=Ne[l]||"bg-muted-foreground",i=r.charAt(0).toUpperCase()+r.slice(1).toLowerCase();return e.jsxs(y.Badge,{variant:"outline",className:x.cn("gap-1.5 font-medium",d,o),children:[t&&e.jsx("span",{className:x.cn("h-2 w-2 rounded-full",m,a&&"animate-pulse")}),i]})}const X=N.forwardRef(({className:o,steps:r,currentStep:s,orientation:t="horizontal",onStepClick:a,renderStepTitle:l,renderStepDescription:d,completedIcon:m,...i},h)=>e.jsx("div",{ref:h,className:x.cn("flex",t==="horizontal"?"flex-row items-start":"flex-col",o),...i,children:r.map((u,n)=>{const b=n<s,g=n===s,c=a!==void 0,p=b?"completed":g?"current":"upcoming";return e.jsxs("div",{className:x.cn("flex",t==="horizontal"?"flex-1 flex-col items-center":"flex-row items-start gap-4 pb-8 last:pb-0"),children:[e.jsxs("div",{className:x.cn("flex items-center",t==="horizontal"?"w-full":"flex-col"),children:[t==="horizontal"&&n>0&&e.jsx("div",{className:x.cn("h-0.5 flex-1",n<=s?"bg-primary":"bg-border")}),e.jsx("button",{type:"button",onClick:()=>c&&a(n),disabled:!c,className:x.cn("relative z-10 flex h-10 w-10 shrink-0 items-center justify-center rounded-full border-2 text-sm font-medium transition-colors",b?"border-primary bg-primary text-primary-foreground":g?"border-primary bg-background text-primary":"border-border bg-background text-muted-foreground",c&&"cursor-pointer hover:border-primary/50"),children:b?m??e.jsx(y.Check,{className:"h-5 w-5"}):n+1}),t==="horizontal"&&n<r.length-1&&e.jsx("div",{className:x.cn("h-0.5 flex-1",n<s?"bg-primary":"bg-border")}),t==="vertical"&&n<r.length-1&&e.jsx("div",{className:x.cn("my-2 w-0.5 flex-1",n<s?"bg-primary":"bg-border"),style:{minHeight:"2rem"}})]}),e.jsxs("div",{className:x.cn("text-center",t==="horizontal"?"mt-2 px-2":"pt-1"),children:[e.jsx("p",{className:x.cn("text-sm font-medium",g||b?"text-foreground":"text-muted-foreground"),children:l?l(u,n,p):u.title}),u.description&&e.jsx("p",{className:"mt-0.5 text-xs text-muted-foreground",children:d?d(u,n,p):u.description})]})]},u.id)})}));X.displayName="ProgressTracker";const Z=N.forwardRef(({className:o,title:r,summary:s,loading:t=!1,error:a,onRefresh:l,onCopy:d,onFeedback:m,model:i,generatedAt:h,confidence:u,...n},b)=>{const{t:g}=T.useLocale(),[c,p]=N.useState(!1),[f,B]=N.useState(null),C=r??g("feedback.aiSummary"),M=async()=>{s&&d&&(await navigator.clipboard.writeText(s),p(!0),d(),setTimeout(()=>p(!1),2e3))},A=L=>{B(L),m==null||m(L)};return e.jsxs(j.Card,{ref:b,className:x.cn("relative overflow-hidden",o),...n,children:[e.jsx("div",{className:"absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-primary/50 via-primary to-primary/50"}),e.jsxs(j.CardHeader,{className:"flex flex-row items-center justify-between space-y-0 pb-2",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{className:"h-4 w-4 text-primary"}),e.jsx(j.CardTitle,{className:"text-base font-medium",children:C}),i&&e.jsx(y.Badge,{variant:"outline",className:"text-xs",children:i})]}),e.jsxs("div",{className:"flex items-center gap-1",children:[l&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:l,disabled:t,children:e.jsx(oe,{className:x.cn("h-4 w-4",t&&"animate-spin")})}),s&&d&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:M,children:c?e.jsx(y.Check,{className:"h-4 w-4 text-success"}):e.jsx(ie,{className:"h-4 w-4"})})]})]}),e.jsx(j.CardContent,{className:"space-y-3",children:t?e.jsxs("div",{className:"space-y-2",children:[e.jsx(D.Skeleton,{className:"h-4 w-full"}),e.jsx(D.Skeleton,{className:"h-4 w-full"}),e.jsx(D.Skeleton,{className:"h-4 w-3/4"})]}):a?e.jsx("div",{className:"rounded-md bg-destructive/10 p-3 text-sm text-destructive",children:a}):s?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed",children:s}),e.jsxs("div",{className:"flex items-center justify-between pt-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[u!==void 0&&e.jsxs("span",{children:[g("feedback.confidence"),": ",Math.round(u*100),"%"]}),h&&e.jsx("span",{children:h})]}),m&&e.jsxs("div",{className:"flex items-center gap-1",children:[e.jsx("span",{className:"text-xs text-muted-foreground mr-1",children:g("feedback.wasHelpful")}),e.jsx(v.Button,{variant:f==="positive"?"default":"ghost",size:"icon",className:"h-7 w-7",onClick:()=>A("positive"),children:e.jsx(ue,{className:"h-3.5 w-3.5"})}),e.jsx(v.Button,{variant:f==="negative"?"destructive":"ghost",size:"icon",className:"h-7 w-7",onClick:()=>A("negative"),children:e.jsx(xe,{className:"h-3.5 w-3.5"})})]})]})]}):e.jsx("p",{className:"text-sm text-muted-foreground",children:g("feedback.noSummary")})})]})});Z.displayName="AISummaryCard";const $=N.forwardRef(({className:o,title:r,description:s,badge:t,icon:a,image:l,actionLabel:d,learnMoreLabel:m,onAction:i,learnMoreUrl:h,dismissible:u=!0,onDismiss:n,variant:b="default",...g},c)=>{const{t:p}=T.useLocale(),f=p("feature.tryNow"),B=d??(f==="feature.tryNow"?"Try it now":f),C=p("feature.learnMore"),M=m??(C==="feature.learnMore"?"Learn more":C),A={default:"bg-card",gradient:"bg-gradient-to-br from-primary/10 via-primary/5 to-transparent",bordered:"border-2 border-primary/20"};return e.jsxs(j.Card,{ref:c,className:x.cn("relative overflow-hidden",A[b],o),...g,children:[u&&n&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-6 w-6",onClick:n,children:e.jsx(H.X,{className:"h-4 w-4"})}),e.jsx(j.CardContent,{className:"p-6",children:e.jsxs("div",{className:"flex gap-4",children:[(a||l)&&e.jsx("div",{className:"flex-shrink-0",children:a?e.jsx("div",{className:"flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary",children:a}):l?e.jsx("img",{src:l,alt:"",className:"h-12 w-12 rounded-lg object-cover"}):null}),e.jsxs("div",{className:"flex-1 space-y-3",children:[e.jsx("div",{className:"flex items-start justify-between gap-2",children:e.jsxs("div",{children:[t&&e.jsxs(y.Badge,{variant:"secondary",className:"mb-2",children:[e.jsx(F,{className:"mr-1 h-3 w-3"}),t]}),e.jsx("h3",{className:"font-semibold",children:r})]})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s}),e.jsxs("div",{className:"flex items-center gap-2 pt-2",children:[i&&e.jsxs(v.Button,{size:"sm",onClick:i,children:[B,e.jsx(P.ArrowRight,{className:"ml-1 h-4 w-4"})]}),h&&e.jsx(v.Button,{variant:"ghost",size:"sm",asChild:!0,children:e.jsxs("a",{href:h,target:"_blank",rel:"noopener noreferrer",children:[M,e.jsx(ae.ExternalLink,{className:"ml-1 h-3 w-3"})]})})]})]})]})})]})});$.displayName="FeatureHighlightCard";const K=v.cva("relative flex items-center gap-3 px-4 py-3 text-sm",{variants:{variant:{default:"bg-muted text-foreground",info:"bg-info/10 text-info-foreground border-info/20",success:"bg-success/10 text-success-foreground border-success/20",warning:"bg-warning/10 text-warning-foreground border-warning/20",destructive:"bg-destructive/10 text-destructive-foreground border-destructive/20"},position:{top:"fixed top-0 left-0 right-0 z-50 border-b",bottom:"fixed bottom-0 left-0 right-0 z-50 border-t",inline:"rounded-lg border"}},defaultVariants:{variant:"default",position:"inline"}}),ye={default:z.Info,info:z.Info,success:I.CircleCheckBig,warning:z.TriangleAlert,destructive:z.CircleAlert},G=N.forwardRef(({className:o,variant:r="default",position:s="inline",title:t,message:a,dismissible:l=!0,onDismiss:d,action:m,showIcon:i=!0,...h},u)=>{const n=ye[r||"default"];return e.jsxs("div",{ref:u,role:"alert",className:x.cn(K({variant:r,position:s}),o),...h,children:[i&&e.jsx(n,{className:"h-5 w-5 flex-shrink-0"}),e.jsxs("div",{className:"flex flex-1 flex-col gap-0.5",children:[t&&e.jsx("p",{className:"font-medium",children:t}),e.jsx("p",{className:x.cn(!t&&"font-normal",t&&"text-muted-foreground"),children:a})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[m&&e.jsx(v.Button,{variant:r==="destructive"?"destructive":"outline",size:"sm",onClick:m.onClick,children:m.label}),l&&d&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 flex-shrink-0",onClick:d,children:e.jsx(H.X,{className:"h-4 w-4"})})]})]})});G.displayName="AlertBanner";const ke={email:e.jsx(S.Mail,{className:"h-4 w-4"}),call:e.jsx(S.Phone,{className:"h-4 w-4"}),meeting:e.jsx(U.Calendar,{className:"h-4 w-4"}),note:e.jsx(I.FileText,{className:"h-4 w-4"}),task:e.jsx(I.FileText,{className:"h-4 w-4"}),message:e.jsx(ce.MessageSquare,{className:"h-4 w-4"})},Ce={email:"bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400",call:"bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400",meeting:"bg-purple-100 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400",note:"bg-yellow-100 text-yellow-600 dark:bg-yellow-900/30 dark:text-yellow-400",task:"bg-orange-100 text-orange-600 dark:bg-orange-900/30 dark:text-orange-400",message:"bg-pink-100 text-pink-600 dark:bg-pink-900/30 dark:text-pink-400"},J=N.forwardRef(({className:o,type:r,title:s,description:t,timestamp:a,user:l,actions:d,metadata:m,...i},h)=>e.jsxs("div",{ref:h,className:x.cn("group flex gap-4 rounded-lg p-3 hover:bg-muted/50",o),...i,children:[e.jsx("div",{className:x.cn("flex h-10 w-10 items-center justify-center rounded-lg",Ce[r]),children:ke[r]}),e.jsxs("div",{className:"flex flex-1 flex-col gap-1",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{children:[e.jsx("h4",{className:"font-medium",children:s}),t&&e.jsx("p",{className:"text-sm text-muted-foreground line-clamp-2",children:t})]}),d&&e.jsxs("div",{className:"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100",children:[d.onEdit&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:d.onEdit,children:e.jsx(me,{className:"h-3.5 w-3.5"})}),d.onDelete&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-destructive hover:text-destructive",onClick:d.onDelete,children:e.jsx(ne.Trash2,{className:"h-3.5 w-3.5"})})]})]}),m&&Object.keys(m).length>0&&e.jsx("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:Object.entries(m).map(([u,n])=>e.jsxs("span",{children:[e.jsxs("span",{className:"font-medium",children:[u,":"]})," ",n]},u))}),e.jsxs("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[l&&e.jsxs(e.Fragment,{children:[e.jsxs(w.Avatar,{className:"h-5 w-5",children:[l.avatar&&e.jsx(w.AvatarImage,{src:l.avatar}),e.jsx(w.AvatarFallback,{className:"text-[10px]",children:l.name.charAt(0).toUpperCase()})]}),e.jsx("span",{children:l.name}),e.jsx("span",{children:"•"})]}),e.jsx("span",{children:a})]})]})]}));J.displayName="CRMActivityItem";const Q=N.forwardRef(({className:o,title:r,subtitle:s,userName:t,steps:a=[],dismissible:l=!0,onDismiss:d,showProgress:m=!0,image:i,ctaLabel:h,ctaOnClick:u,...n},b)=>{const{t:g}=T.useLocale(),c=a.filter(f=>f.completed).length,p=a.length>0?c/a.length*100:0;return e.jsxs(j.Card,{ref:b,className:x.cn("relative overflow-hidden",o),...n,children:[e.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-primary/5 via-primary/10 to-transparent"}),l&&d&&e.jsx(v.Button,{variant:"ghost",size:"icon",className:"absolute right-2 top-2 h-6 w-6 z-10",onClick:d,children:e.jsx(H.X,{className:"h-4 w-4"})}),e.jsx(j.CardContent,{className:"relative p-6",children:e.jsxs("div",{className:"flex gap-6",children:[e.jsxs("div",{className:"flex-1 space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(F,{className:"h-5 w-5 text-primary"}),e.jsx("span",{className:"text-sm font-medium text-primary",children:g("welcome.label")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-2xl font-bold",children:t?`${r}, ${t}!`:r}),s&&e.jsx("p",{className:"mt-1 text-muted-foreground",children:s})]}),m&&a.length>0&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:g("welcome.setupProgress")}),e.jsx("span",{className:"font-medium",children:g("welcome.completed",{completed:c,total:a.length})})]}),e.jsx(z.Progress,{value:p,className:"h-2"})]}),a.length>0&&e.jsx("div",{className:"space-y-2",children:a.slice(0,3).map(f=>e.jsxs("button",{onClick:f.onClick,className:x.cn("flex w-full items-center gap-3 rounded-lg p-3 text-left transition-colors hover:bg-muted",f.completed&&"opacity-50"),children:[e.jsx("div",{className:x.cn("flex h-6 w-6 items-center justify-center rounded-full border-2",f.completed?"border-primary bg-primary text-primary-foreground":"border-muted-foreground/30"),children:f.completed&&e.jsx("svg",{className:"h-3.5 w-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:3,children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})}),e.jsxs("div",{className:"flex-1",children:[e.jsx("p",{className:x.cn("font-medium",f.completed&&"line-through"),children:f.title}),f.description&&e.jsx("p",{className:"text-xs text-muted-foreground",children:f.description})]}),!f.completed&&e.jsx(P.ArrowRight,{className:"h-4 w-4 text-muted-foreground"})]},f.id))}),h&&u&&e.jsxs(v.Button,{onClick:u,className:"gap-2",children:[h,e.jsx(P.ArrowRight,{className:"h-4 w-4"})]})]}),i&&e.jsx("div",{className:"hidden lg:block",children:e.jsx("img",{src:i,alt:"",className:"h-48 w-48 object-contain"})})]})})]})});Q.displayName="WelcomeCard";exports.AISummaryCard=Z;exports.AlertBanner=G;exports.CRMActivityItem=J;exports.ContactCard=E;exports.DealCard=W;exports.FeatureHighlightCard=$;exports.LeadScoreIndicator=_;exports.PipelineBoard=fe;exports.ProgressTracker=X;exports.StatusBadge=we;exports.WelcomeCard=Q;exports.alertBannerVariants=K;
37
+ //# sourceMappingURL=welcome-card-D-ShMkaS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcome-card-D-ShMkaS.cjs","sources":["../node_modules/lucide-react/dist/esm/icons/building-2.js","../node_modules/lucide-react/dist/esm/icons/copy.js","../node_modules/lucide-react/dist/esm/icons/refresh-cw.js","../node_modules/lucide-react/dist/esm/icons/sparkles.js","../node_modules/lucide-react/dist/esm/icons/square-pen.js","../node_modules/lucide-react/dist/esm/icons/thumbs-down.js","../node_modules/lucide-react/dist/esm/icons/thumbs-up.js","../src/components/feedback/contact-card.tsx","../src/components/feedback/deal-card.tsx","../src/components/feedback/pipeline-board.tsx","../src/components/feedback/lead-score-indicator.tsx","../src/components/feedback/status-badge.tsx","../src/components/feedback/progress-tracker.tsx","../src/components/feedback/ai-summary-card.tsx","../src/components/feedback/feature-highlight-card.tsx","../src/components/feedback/alert-banner.tsx","../src/components/feedback/activity-item.tsx","../src/components/feedback/welcome-card.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 Building2 = createLucideIcon(\"Building2\", [\n [\"path\", { d: \"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z\", key: \"1b4qmf\" }],\n [\"path\", { d: \"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2\", key: \"i71pzd\" }],\n [\"path\", { d: \"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2\", key: \"10jefs\" }],\n [\"path\", { d: \"M10 6h4\", key: \"1itunk\" }],\n [\"path\", { d: \"M10 10h4\", key: \"tcdvrf\" }],\n [\"path\", { d: \"M10 14h4\", key: \"kelpxr\" }],\n [\"path\", { d: \"M10 18h4\", key: \"1ulq68\" }]\n]);\n\nexport { Building2 as default };\n//# sourceMappingURL=building-2.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 Copy = createLucideIcon(\"Copy\", [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n]);\n\nexport { Copy as default };\n//# sourceMappingURL=copy.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 RefreshCw = createLucideIcon(\"RefreshCw\", [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n]);\n\nexport { RefreshCw as default };\n//# sourceMappingURL=refresh-cw.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 Sparkles = createLucideIcon(\"Sparkles\", [\n [\n \"path\",\n {\n d: \"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\",\n key: \"4pj2yx\"\n }\n ],\n [\"path\", { d: \"M20 3v4\", key: \"1olli1\" }],\n [\"path\", { d: \"M22 5h-4\", key: \"1gvqau\" }],\n [\"path\", { d: \"M4 17v2\", key: \"vumght\" }],\n [\"path\", { d: \"M5 18H3\", key: \"zchphs\" }]\n]);\n\nexport { Sparkles as default };\n//# sourceMappingURL=sparkles.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 SquarePen = createLucideIcon(\"SquarePen\", [\n [\"path\", { d: \"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\", key: \"1m0v6g\" }],\n [\n \"path\",\n {\n d: \"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z\",\n key: \"ohrbg2\"\n }\n ]\n]);\n\nexport { SquarePen as default };\n//# sourceMappingURL=square-pen.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 ThumbsDown = createLucideIcon(\"ThumbsDown\", [\n [\"path\", { d: \"M17 14V2\", key: \"8ymqnk\" }],\n [\n \"path\",\n {\n d: \"M9 18.12 10 14H4.17a2 2 0 0 1-1.92-2.56l2.33-8A2 2 0 0 1 6.5 2H20a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-2.76a2 2 0 0 0-1.79 1.11L12 22a3.13 3.13 0 0 1-3-3.88Z\",\n key: \"m61m77\"\n }\n ]\n]);\n\nexport { ThumbsDown as default };\n//# sourceMappingURL=thumbs-down.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 ThumbsUp = createLucideIcon(\"ThumbsUp\", [\n [\"path\", { d: \"M7 10v12\", key: \"1qc93n\" }],\n [\n \"path\",\n {\n d: \"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\",\n key: \"emmmcr\"\n }\n ]\n]);\n\nexport { ThumbsUp as default };\n//# sourceMappingURL=thumbs-up.js.map\n","import * as React from 'react'\nimport { Mail, Phone, Building2, MapPin } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader } from '@/components/ui/card'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Badge } from '@/components/ui/badge'\n\nexport interface ContactCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n email?: string\n phone?: string\n company?: string\n position?: string\n location?: string\n avatar?: string\n initials?: string\n status?: 'active' | 'inactive' | 'lead' | 'customer'\n tags?: string[]\n onClick?: () => void\n}\n\nconst statusColors = {\n active: 'bg-success text-success-foreground',\n inactive: 'bg-muted text-muted-foreground',\n lead: 'bg-warning text-warning-foreground',\n customer: 'bg-primary text-primary-foreground',\n}\n\nconst ContactCard = React.forwardRef<HTMLDivElement, ContactCardProps>(\n (\n {\n className,\n name,\n email,\n phone,\n company,\n position,\n location,\n avatar,\n initials,\n status,\n tags,\n onClick,\n ...props\n },\n ref\n ) => {\n return (\n <Card\n ref={ref}\n className={cn('transition-shadow hover:shadow-md', onClick && 'cursor-pointer', className)}\n onClick={onClick}\n {...props}\n >\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start gap-4\">\n <Avatar className=\"h-12 w-12\">\n {avatar && <AvatarImage src={avatar} alt={name} />}\n <AvatarFallback>{initials || name.charAt(0).toUpperCase()}</AvatarFallback>\n </Avatar>\n <div className=\"flex-1 space-y-1\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-semibold leading-none\">{name}</h3>\n {status && (\n <Badge className={cn('text-xs', statusColors[status])}>\n {status.charAt(0).toUpperCase() + status.slice(1)}\n </Badge>\n )}\n </div>\n {position && <p className=\"text-sm text-muted-foreground\">{position}</p>}\n </div>\n </div>\n </CardHeader>\n <CardContent className=\"space-y-2 text-sm\">\n {email && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Mail className=\"h-4 w-4\" />\n <span>{email}</span>\n </div>\n )}\n {phone && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Phone className=\"h-4 w-4\" />\n <span>{phone}</span>\n </div>\n )}\n {company && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <Building2 className=\"h-4 w-4\" />\n <span>{company}</span>\n </div>\n )}\n {location && (\n <div className=\"flex items-center gap-2 text-muted-foreground\">\n <MapPin className=\"h-4 w-4\" />\n <span>{location}</span>\n </div>\n )}\n {tags && tags.length > 0 && (\n <div className=\"flex flex-wrap gap-1 pt-2\">\n {tags.map((tag, index) => (\n <Badge key={index} variant=\"secondary\" className=\"text-xs\">\n {tag}\n </Badge>\n ))}\n </div>\n )}\n </CardContent>\n </Card>\n )\n }\n)\nContactCard.displayName = 'ContactCard'\n\nexport { ContactCard }\n","import * as React from 'react'\nimport { Calendar } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Badge } from '@/components/ui/badge'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Progress } from '@/components/ui/progress'\nimport { useFormatters } from '@/hooks/use-formatters'\nimport { type CurrencyCode } from '@/lib/currencies'\n\nexport interface DealCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n value: number | string\n company?: string\n stage?: string\n probability?: number\n closeDate?: Date | string\n closeDateFormat?: string\n currency?: CurrencyCode\n showCurrencyCode?: boolean\n probabilityLabel?: string\n owner?: {\n name: string\n avatar?: string\n }\n priority?: 'low' | 'medium' | 'high'\n priorityLabelMap?: Partial<Record<'low' | 'medium' | 'high', string>>\n getPriorityLabel?: (priority: 'low' | 'medium' | 'high') => string\n onClick?: () => void\n onDragStart?: (e: React.DragEvent) => void\n draggable?: boolean\n /** If true, the value is already formatted and won't be processed */\n valueFormatted?: boolean\n}\n\nconst priorityColors = {\n low: 'bg-muted text-muted-foreground',\n medium: 'bg-warning text-warning-foreground',\n high: 'bg-destructive text-destructive-foreground',\n}\n\nconst DealCard = React.forwardRef<HTMLDivElement, DealCardProps>(\n (\n {\n className,\n title,\n value,\n company,\n stage,\n probability,\n closeDate,\n closeDateFormat,\n currency,\n showCurrencyCode = false,\n probabilityLabel,\n owner,\n priority,\n priorityLabelMap,\n getPriorityLabel,\n onClick,\n onDragStart,\n draggable = false,\n valueFormatted = false,\n ...props\n },\n ref\n ) => {\n const { formatCurrency, formatDate, t } = useFormatters()\n const resolvedPriorityLabel = React.useCallback(\n (value: 'low' | 'medium' | 'high') => {\n if (getPriorityLabel) return getPriorityLabel(value)\n if (priorityLabelMap?.[value]) return priorityLabelMap[value] as string\n return t(`status.${value}`)\n },\n [getPriorityLabel, priorityLabelMap, t]\n )\n\n const displayValue = React.useMemo(() => {\n if (valueFormatted || typeof value === 'string') {\n return value\n }\n // Use provided currency or fall back to locale default\n if (currency) {\n const formatted = new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency: currency,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n }).format(value)\n return showCurrencyCode ? `${currency} ${formatted.replace(/[^0-9.,\\s]/g, '').trim()}` : formatted\n }\n return formatCurrency(value, { minimumFractionDigits: 0, maximumFractionDigits: 0 })\n }, [value, valueFormatted, formatCurrency, currency, showCurrencyCode])\n\n const displayDate = React.useMemo(() => {\n if (!closeDate) return null\n return formatDate(closeDate, closeDateFormat)\n }, [closeDate, closeDateFormat, formatDate])\n\n return (\n <Card\n ref={ref}\n className={cn(\n 'transition-all hover:shadow-md',\n onClick && 'cursor-pointer',\n draggable && 'cursor-grab active:cursor-grabbing',\n className\n )}\n onClick={onClick}\n onDragStart={onDragStart}\n draggable={draggable}\n {...props}\n >\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-start justify-between\">\n <div className=\"space-y-1\">\n <CardTitle className=\"text-base\">{title}</CardTitle>\n {company && <p className=\"text-sm text-muted-foreground\">{company}</p>}\n </div>\n {priority && (\n <Badge className={cn('text-xs', priorityColors[priority])}>\n {resolvedPriorityLabel(priority)}\n </Badge>\n )}\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n <div className=\"flex items-center justify-between\">\n <div className=\"text-lg font-bold\">\n {displayValue}\n </div>\n {stage && (\n <Badge variant=\"outline\" className=\"text-xs\">\n {stage}\n </Badge>\n )}\n </div>\n\n {probability !== undefined && (\n <div className=\"space-y-1\">\n <div className=\"flex justify-between text-xs\">\n <span className=\"text-muted-foreground\">{probabilityLabel || t('deal.probability')}</span>\n <span className=\"font-medium\">{probability}%</span>\n </div>\n <Progress value={probability} className=\"h-2\" />\n </div>\n )}\n\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n {displayDate && (\n <div className=\"flex items-center gap-1\">\n <Calendar className=\"h-3 w-3\" />\n <span>{displayDate}</span>\n </div>\n )}\n {owner && (\n <div className=\"flex items-center gap-1\">\n <Avatar className=\"h-5 w-5\">\n {owner.avatar && <AvatarImage src={owner.avatar} />}\n <AvatarFallback className=\"text-[10px]\">\n {owner.name.charAt(0).toUpperCase()}\n </AvatarFallback>\n </Avatar>\n <span>{owner.name}</span>\n </div>\n )}\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nDealCard.displayName = 'DealCard'\n\nexport { DealCard }\n","import * as React from 'react'\nimport { Plus } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'\n\nexport interface PipelineColumn<T> {\n id: string\n title: string\n items: T[]\n color?: string\n}\n\nexport interface PipelineBoardProps<T> extends React.HTMLAttributes<HTMLDivElement> {\n columns: PipelineColumn<T>[]\n renderItem: (item: T, columnId: string) => React.ReactNode\n onItemMove?: (itemId: string, fromColumnId: string, toColumnId: string) => void\n onAddItem?: (columnId: string) => void\n showAddButton?: boolean\n columnWidth?: number\n getItemId: (item: T) => string\n}\n\nfunction PipelineBoard<T>({\n className,\n columns,\n renderItem,\n onItemMove,\n onAddItem,\n showAddButton = true,\n columnWidth = 300,\n getItemId,\n}: PipelineBoardProps<T>) {\n const [draggedItem, setDraggedItem] = React.useState<{\n id: string\n columnId: string\n } | null>(null)\n\n const handleDragStart = (itemId: string, columnId: string) => {\n setDraggedItem({ id: itemId, columnId })\n }\n\n const handleDragOver = (e: React.DragEvent) => {\n e.preventDefault()\n }\n\n const handleDrop = (targetColumnId: string) => {\n if (draggedItem && draggedItem.columnId !== targetColumnId) {\n onItemMove?.(draggedItem.id, draggedItem.columnId, targetColumnId)\n }\n setDraggedItem(null)\n }\n\n const handleDragEnd = () => {\n setDraggedItem(null)\n }\n\n return (\n <ScrollArea className={cn('w-full', className)}>\n <div className=\"flex gap-4 p-4\">\n {columns.map((column) => (\n <div\n key={column.id}\n className=\"flex shrink-0 flex-col rounded-lg bg-muted/50\"\n style={{ width: columnWidth }}\n onDragOver={handleDragOver}\n onDrop={() => handleDrop(column.id)}\n >\n <div className=\"flex items-center justify-between p-3\">\n <div className=\"flex items-center gap-2\">\n {column.color && (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: column.color }}\n />\n )}\n <h3 className=\"text-sm font-semibold\">{column.title}</h3>\n <span className=\"rounded-full bg-muted px-2 py-0.5 text-xs text-muted-foreground\">\n {column.items.length}\n </span>\n </div>\n {showAddButton && onAddItem && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6\"\n onClick={() => onAddItem(column.id)}\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n <div className=\"flex flex-1 flex-col gap-2 p-2\">\n {column.items.map((item) => {\n const itemId = getItemId(item)\n return (\n <div\n key={itemId}\n draggable\n onDragStart={() => handleDragStart(itemId, column.id)}\n onDragEnd={handleDragEnd}\n className={cn(\n 'transition-opacity',\n draggedItem?.id === itemId && 'opacity-50'\n )}\n >\n {renderItem(item, column.id)}\n </div>\n )\n })}\n </div>\n </div>\n ))}\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n )\n}\n\nexport { PipelineBoard }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\n\nexport interface LeadScoreIndicatorProps extends React.HTMLAttributes<HTMLDivElement> {\n score: number\n maxScore?: number\n showLabel?: boolean\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst getScoreColor = (score: number, maxScore: number) => {\n const percentage = (score / maxScore) * 100\n if (percentage >= 80) return 'bg-success text-success-foreground'\n if (percentage >= 60) return 'bg-primary text-primary-foreground'\n if (percentage >= 40) return 'bg-warning text-warning-foreground'\n return 'bg-destructive text-destructive-foreground'\n}\n\nconst getScoreLabel = (score: number, maxScore: number) => {\n const percentage = (score / maxScore) * 100\n if (percentage >= 80) return 'Hot'\n if (percentage >= 60) return 'Warm'\n if (percentage >= 40) return 'Cold'\n return 'Very Cold'\n}\n\nconst sizeClasses = {\n sm: 'h-6 w-6 text-xs',\n md: 'h-8 w-8 text-sm',\n lg: 'h-10 w-10 text-base',\n}\n\nconst LeadScoreIndicator = React.forwardRef<HTMLDivElement, LeadScoreIndicatorProps>(\n ({ className, score, maxScore = 100, showLabel = false, size = 'md', ...props }, ref) => {\n const colorClass = getScoreColor(score, maxScore)\n const label = getScoreLabel(score, maxScore)\n\n return (\n <div ref={ref} className={cn('flex items-center gap-2', className)} {...props}>\n <div\n className={cn(\n 'flex items-center justify-center rounded-full font-semibold',\n sizeClasses[size],\n colorClass\n )}\n >\n {score}\n </div>\n {showLabel && (\n <span className={cn('text-sm font-medium', colorClass.split(' ')[0].replace('bg-', 'text-'))}>\n {label}\n </span>\n )}\n </div>\n )\n }\n)\nLeadScoreIndicator.displayName = 'LeadScoreIndicator'\n\nexport { LeadScoreIndicator }\n","import { cn } from '@/utils/cn'\nimport { Badge } from '@/components/ui/badge'\n\nexport type StatusType =\n | 'active'\n | 'inactive'\n | 'pending'\n | 'completed'\n | 'cancelled'\n | 'draft'\n | 'published'\n | 'archived'\n | 'open'\n | 'closed'\n | 'won'\n | 'lost'\n | 'qualified'\n | 'unqualified'\n | 'lead'\n | 'customer'\n | 'prospect'\n | 'new'\n | 'contacted'\n\nexport interface StatusBadgeProps extends React.HTMLAttributes<HTMLDivElement> {\n status: StatusType | string\n customColors?: Record<string, string>\n showDot?: boolean\n /** Show pulse animation on the dot (useful for live/online states) */\n pulse?: boolean\n}\n\nconst defaultStatusColors: Record<StatusType, string> = {\n active: 'bg-success/15 text-success border-success/30',\n inactive: 'bg-muted text-muted-foreground border-muted',\n pending: 'bg-warning/15 text-warning border-warning/30',\n completed: 'bg-success/15 text-success border-success/30',\n cancelled: 'bg-destructive/15 text-destructive border-destructive/30',\n draft: 'bg-muted text-muted-foreground border-muted',\n published: 'bg-success/15 text-success border-success/30',\n archived: 'bg-muted text-muted-foreground border-muted',\n open: 'bg-info/15 text-info border-info/30',\n closed: 'bg-muted text-muted-foreground border-muted',\n won: 'bg-success/15 text-success border-success/30',\n lost: 'bg-destructive/15 text-destructive border-destructive/30',\n qualified: 'bg-primary/15 text-primary border-primary/30',\n unqualified: 'bg-muted text-muted-foreground border-muted',\n lead: 'bg-amber-100 text-amber-800 border-amber-300 dark:bg-amber-900/30 dark:text-amber-400 dark:border-amber-800',\n customer: 'bg-green-100 text-green-800 border-green-300 dark:bg-green-900/30 dark:text-green-400 dark:border-green-800',\n prospect: 'bg-purple-100 text-purple-800 border-purple-300 dark:bg-purple-900/30 dark:text-purple-400 dark:border-purple-800',\n new: 'bg-blue-100 text-blue-800 border-blue-300 dark:bg-blue-900/30 dark:text-blue-400 dark:border-blue-800',\n contacted: 'bg-cyan-100 text-cyan-800 border-cyan-300 dark:bg-cyan-900/30 dark:text-cyan-400 dark:border-cyan-800',\n}\n\nconst defaultDotColors: Record<StatusType, string> = {\n active: 'bg-success',\n inactive: 'bg-muted-foreground',\n pending: 'bg-warning',\n completed: 'bg-success',\n cancelled: 'bg-destructive',\n draft: 'bg-muted-foreground',\n published: 'bg-success',\n archived: 'bg-muted-foreground',\n open: 'bg-info',\n closed: 'bg-muted-foreground',\n won: 'bg-success',\n lost: 'bg-destructive',\n qualified: 'bg-primary',\n unqualified: 'bg-muted-foreground',\n lead: 'bg-amber-500',\n customer: 'bg-green-500',\n prospect: 'bg-purple-500',\n new: 'bg-blue-500',\n contacted: 'bg-cyan-500',\n}\n\nfunction StatusBadge({ className, status, customColors, showDot = true, pulse = false }: StatusBadgeProps) {\n const statusKey = status.toLowerCase() as StatusType\n const colorClass = customColors?.[status] || defaultStatusColors[statusKey] || 'bg-muted text-muted-foreground'\n const dotColor = defaultDotColors[statusKey] || 'bg-muted-foreground'\n\n const displayText = status.charAt(0).toUpperCase() + status.slice(1).toLowerCase()\n\n return (\n <Badge variant=\"outline\" className={cn('gap-1.5 font-medium', colorClass, className)}>\n {showDot && <span className={cn('h-2 w-2 rounded-full', dotColor, pulse && 'animate-pulse')} />}\n {displayText}\n </Badge>\n )\n}\n\nexport { StatusBadge }\n","import * as React from 'react'\nimport { Check } from 'lucide-react'\nimport { cn } from '@/utils/cn'\n\nexport interface ProgressStep {\n id: string | number\n title: string\n description?: string\n}\n\nexport interface ProgressTrackerProps extends React.HTMLAttributes<HTMLDivElement> {\n steps: ProgressStep[]\n currentStep: number\n orientation?: 'horizontal' | 'vertical'\n onStepClick?: (stepIndex: number) => void\n renderStepTitle?: (step: ProgressStep, index: number, state: 'completed' | 'current' | 'upcoming') => React.ReactNode\n renderStepDescription?: (step: ProgressStep, index: number, state: 'completed' | 'current' | 'upcoming') => React.ReactNode\n completedIcon?: React.ReactNode\n}\n\nconst ProgressTracker = React.forwardRef<HTMLDivElement, ProgressTrackerProps>(\n (\n {\n className,\n steps,\n currentStep,\n orientation = 'horizontal',\n onStepClick,\n renderStepTitle,\n renderStepDescription,\n completedIcon,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex',\n orientation === 'horizontal' ? 'flex-row items-start' : 'flex-col',\n className\n )}\n {...props}\n >\n {steps.map((step, index) => {\n const isCompleted = index < currentStep\n const isCurrent = index === currentStep\n const isClickable = onStepClick !== undefined\n const stepState = isCompleted ? 'completed' : isCurrent ? 'current' : 'upcoming'\n\n return (\n <div\n key={step.id}\n className={cn(\n 'flex',\n orientation === 'horizontal'\n ? 'flex-1 flex-col items-center'\n : 'flex-row items-start gap-4 pb-8 last:pb-0'\n )}\n >\n <div\n className={cn(\n 'flex items-center',\n orientation === 'horizontal' ? 'w-full' : 'flex-col'\n )}\n >\n {orientation === 'horizontal' && index > 0 && (\n <div\n className={cn(\n 'h-0.5 flex-1',\n index <= currentStep ? 'bg-primary' : 'bg-border'\n )}\n />\n )}\n <button\n type=\"button\"\n onClick={() => isClickable && onStepClick(index)}\n disabled={!isClickable}\n className={cn(\n 'relative z-10 flex h-10 w-10 shrink-0 items-center justify-center rounded-full border-2 text-sm font-medium transition-colors',\n isCompleted\n ? 'border-primary bg-primary text-primary-foreground'\n : isCurrent\n ? 'border-primary bg-background text-primary'\n : 'border-border bg-background text-muted-foreground',\n isClickable && 'cursor-pointer hover:border-primary/50'\n )}\n >\n {isCompleted ? (completedIcon ?? <Check className=\"h-5 w-5\" />) : index + 1}\n </button>\n {orientation === 'horizontal' && index < steps.length - 1 && (\n <div\n className={cn(\n 'h-0.5 flex-1',\n index < currentStep ? 'bg-primary' : 'bg-border'\n )}\n />\n )}\n {orientation === 'vertical' && index < steps.length - 1 && (\n <div\n className={cn(\n 'my-2 w-0.5 flex-1',\n index < currentStep ? 'bg-primary' : 'bg-border'\n )}\n style={{ minHeight: '2rem' }}\n />\n )}\n </div>\n <div\n className={cn(\n 'text-center',\n orientation === 'horizontal' ? 'mt-2 px-2' : 'pt-1'\n )}\n >\n <p\n className={cn(\n 'text-sm font-medium',\n isCurrent || isCompleted ? 'text-foreground' : 'text-muted-foreground'\n )}\n >\n {renderStepTitle ? renderStepTitle(step, index, stepState) : step.title}\n </p>\n {step.description && (\n <p className=\"mt-0.5 text-xs text-muted-foreground\">\n {renderStepDescription ? renderStepDescription(step, index, stepState) : step.description}\n </p>\n )}\n </div>\n </div>\n )\n })}\n </div>\n )\n }\n)\nProgressTracker.displayName = 'ProgressTracker'\n\nexport { ProgressTracker }\n","import * as React from 'react'\nimport { Sparkles, RefreshCw, Copy, Check, ThumbsUp, ThumbsDown } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Badge } from '@/components/ui/badge'\nimport { Skeleton } from '@/components/ui/skeleton'\nimport { useLocale } from '@/providers/locale-provider'\n\nexport interface AISummaryCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title?: string\n summary?: string\n loading?: boolean\n error?: string\n onRefresh?: () => void\n onCopy?: () => void\n onFeedback?: (feedback: 'positive' | 'negative') => void\n model?: string\n generatedAt?: string\n confidence?: number\n}\n\nconst AISummaryCard = React.forwardRef<HTMLDivElement, AISummaryCardProps>(\n (\n {\n className,\n title,\n summary,\n loading = false,\n error,\n onRefresh,\n onCopy,\n onFeedback,\n model,\n generatedAt,\n confidence,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const [copied, setCopied] = React.useState(false)\n const [feedback, setFeedback] = React.useState<'positive' | 'negative' | null>(null)\n const resolvedTitle = title ?? t('feedback.aiSummary')\n\n const handleCopy = async () => {\n if (summary && onCopy) {\n await navigator.clipboard.writeText(summary)\n setCopied(true)\n onCopy()\n setTimeout(() => setCopied(false), 2000)\n }\n }\n\n const handleFeedback = (type: 'positive' | 'negative') => {\n setFeedback(type)\n onFeedback?.(type)\n }\n\n return (\n <Card ref={ref} className={cn('relative overflow-hidden', className)} {...props}>\n <div className=\"absolute inset-x-0 top-0 h-1 bg-gradient-to-r from-primary/50 via-primary to-primary/50\" />\n <CardHeader className=\"flex flex-row items-center justify-between space-y-0 pb-2\">\n <div className=\"flex items-center gap-2\">\n <Sparkles className=\"h-4 w-4 text-primary\" />\n <CardTitle className=\"text-base font-medium\">{resolvedTitle}</CardTitle>\n {model && (\n <Badge variant=\"outline\" className=\"text-xs\">\n {model}\n </Badge>\n )}\n </div>\n <div className=\"flex items-center gap-1\">\n {onRefresh && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={onRefresh}\n disabled={loading}\n >\n <RefreshCw className={cn('h-4 w-4', loading && 'animate-spin')} />\n </Button>\n )}\n {summary && onCopy && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={handleCopy}\n >\n {copied ? (\n <Check className=\"h-4 w-4 text-success\" />\n ) : (\n <Copy className=\"h-4 w-4\" />\n )}\n </Button>\n )}\n </div>\n </CardHeader>\n <CardContent className=\"space-y-3\">\n {loading ? (\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-3/4\" />\n </div>\n ) : error ? (\n <div className=\"rounded-md bg-destructive/10 p-3 text-sm text-destructive\">\n {error}\n </div>\n ) : summary ? (\n <>\n <p className=\"text-sm text-muted-foreground leading-relaxed\">{summary}</p>\n <div className=\"flex items-center justify-between pt-2\">\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n {confidence !== undefined && (\n <span>{t('feedback.confidence')}: {Math.round(confidence * 100)}%</span>\n )}\n {generatedAt && <span>{generatedAt}</span>}\n </div>\n {onFeedback && (\n <div className=\"flex items-center gap-1\">\n <span className=\"text-xs text-muted-foreground mr-1\">{t('feedback.wasHelpful')}</span>\n <Button\n variant={feedback === 'positive' ? 'default' : 'ghost'}\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={() => handleFeedback('positive')}\n >\n <ThumbsUp className=\"h-3.5 w-3.5\" />\n </Button>\n <Button\n variant={feedback === 'negative' ? 'destructive' : 'ghost'}\n size=\"icon\"\n className=\"h-7 w-7\"\n onClick={() => handleFeedback('negative')}\n >\n <ThumbsDown className=\"h-3.5 w-3.5\" />\n </Button>\n </div>\n )}\n </div>\n </>\n ) : (\n <p className=\"text-sm text-muted-foreground\">{t('feedback.noSummary')}</p>\n )}\n </CardContent>\n </Card>\n )\n }\n)\nAISummaryCard.displayName = 'AISummaryCard'\n\nexport { AISummaryCard }\n","import * as React from 'react'\nimport { X, Sparkles, ArrowRight, ExternalLink } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { useLocale } from '@/providers/locale-provider'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Badge } from '@/components/ui/badge'\n\nexport interface FeatureHighlightCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n description: string\n badge?: string\n icon?: React.ReactNode\n image?: string\n actionLabel?: string\n learnMoreLabel?: string\n onAction?: () => void\n learnMoreUrl?: string\n dismissible?: boolean\n onDismiss?: () => void\n variant?: 'default' | 'gradient' | 'bordered'\n}\n\nconst FeatureHighlightCard = React.forwardRef<HTMLDivElement, FeatureHighlightCardProps>(\n (\n {\n className,\n title,\n description,\n badge,\n icon,\n image,\n actionLabel,\n learnMoreLabel,\n onAction,\n learnMoreUrl,\n dismissible = true,\n onDismiss,\n variant = 'default',\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const translatedActionLabel = t('feature.tryNow')\n const resolvedActionLabel =\n actionLabel ??\n (translatedActionLabel === 'feature.tryNow' ? 'Try it now' : translatedActionLabel)\n const translatedLearnMoreLabel = t('feature.learnMore')\n const resolvedLearnMoreLabel =\n learnMoreLabel ??\n (translatedLearnMoreLabel === 'feature.learnMore'\n ? 'Learn more'\n : translatedLearnMoreLabel)\n\n const variantClasses = {\n default: 'bg-card',\n gradient: 'bg-gradient-to-br from-primary/10 via-primary/5 to-transparent',\n bordered: 'border-2 border-primary/20',\n }\n\n return (\n <Card\n ref={ref}\n className={cn('relative overflow-hidden', variantClasses[variant], className)}\n {...props}\n >\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-2 top-2 h-6 w-6\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n <CardContent className=\"p-6\">\n <div className=\"flex gap-4\">\n {(icon || image) && (\n <div className=\"flex-shrink-0\">\n {icon ? (\n <div className=\"flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary\">\n {icon}\n </div>\n ) : image ? (\n <img\n src={image}\n alt=\"\"\n className=\"h-12 w-12 rounded-lg object-cover\"\n />\n ) : null}\n </div>\n )}\n <div className=\"flex-1 space-y-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <div>\n {badge && (\n <Badge variant=\"secondary\" className=\"mb-2\">\n <Sparkles className=\"mr-1 h-3 w-3\" />\n {badge}\n </Badge>\n )}\n <h3 className=\"font-semibold\">{title}</h3>\n </div>\n </div>\n <p className=\"text-sm text-muted-foreground\">{description}</p>\n <div className=\"flex items-center gap-2 pt-2\">\n {onAction && (\n <Button size=\"sm\" onClick={onAction}>\n {resolvedActionLabel}\n <ArrowRight className=\"ml-1 h-4 w-4\" />\n </Button>\n )}\n {learnMoreUrl && (\n <Button variant=\"ghost\" size=\"sm\" asChild>\n <a href={learnMoreUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {resolvedLearnMoreLabel}\n <ExternalLink className=\"ml-1 h-3 w-3\" />\n </a>\n </Button>\n )}\n </div>\n </div>\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nFeatureHighlightCard.displayName = 'FeatureHighlightCard'\n\nexport { FeatureHighlightCard }\n","import * as React from 'react'\nimport { X, AlertTriangle, Info, AlertCircle, CheckCircle } from 'lucide-react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\n\nconst alertBannerVariants = cva(\n 'relative flex items-center gap-3 px-4 py-3 text-sm',\n {\n variants: {\n variant: {\n default: 'bg-muted text-foreground',\n info: 'bg-info/10 text-info-foreground border-info/20',\n success: 'bg-success/10 text-success-foreground border-success/20',\n warning: 'bg-warning/10 text-warning-foreground border-warning/20',\n destructive: 'bg-destructive/10 text-destructive-foreground border-destructive/20',\n },\n position: {\n top: 'fixed top-0 left-0 right-0 z-50 border-b',\n bottom: 'fixed bottom-0 left-0 right-0 z-50 border-t',\n inline: 'rounded-lg border',\n },\n },\n defaultVariants: {\n variant: 'default',\n position: 'inline',\n },\n }\n)\n\nconst iconMap = {\n default: Info,\n info: Info,\n success: CheckCircle,\n warning: AlertTriangle,\n destructive: AlertCircle,\n}\n\nexport interface AlertBannerProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof alertBannerVariants> {\n title?: string\n message: string\n dismissible?: boolean\n onDismiss?: () => void\n action?: {\n label: string\n onClick: () => void\n }\n showIcon?: boolean\n}\n\nconst AlertBanner = React.forwardRef<HTMLDivElement, AlertBannerProps>(\n (\n {\n className,\n variant = 'default',\n position = 'inline',\n title,\n message,\n dismissible = true,\n onDismiss,\n action,\n showIcon = true,\n ...props\n },\n ref\n ) => {\n const Icon = iconMap[variant || 'default']\n\n return (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertBannerVariants({ variant, position }), className)}\n {...props}\n >\n {showIcon && <Icon className=\"h-5 w-5 flex-shrink-0\" />}\n <div className=\"flex flex-1 flex-col gap-0.5\">\n {title && <p className=\"font-medium\">{title}</p>}\n <p className={cn(!title && 'font-normal', title && 'text-muted-foreground')}>{message}</p>\n </div>\n <div className=\"flex items-center gap-2\">\n {action && (\n <Button\n variant={variant === 'destructive' ? 'destructive' : 'outline'}\n size=\"sm\"\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n )}\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6 flex-shrink-0\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n </div>\n )\n }\n)\nAlertBanner.displayName = 'AlertBanner'\n\nexport { AlertBanner, alertBannerVariants }\n","import * as React from 'react'\nimport { Mail, Phone, Calendar, FileText, MessageSquare, Edit, Trash2 } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'\nimport { Button } from '@/components/ui/button'\n\nexport type CRMActivityType = 'email' | 'call' | 'meeting' | 'note' | 'task' | 'message'\n\nexport interface CRMActivityItemProps extends React.HTMLAttributes<HTMLDivElement> {\n type: CRMActivityType\n title: string\n description?: string\n timestamp: string\n user?: {\n name: string\n avatar?: string\n }\n actions?: {\n onEdit?: () => void\n onDelete?: () => void\n }\n metadata?: Record<string, string>\n}\n\nconst activityIcons: Record<CRMActivityType, React.ReactNode> = {\n email: <Mail className=\"h-4 w-4\" />,\n call: <Phone className=\"h-4 w-4\" />,\n meeting: <Calendar className=\"h-4 w-4\" />,\n note: <FileText className=\"h-4 w-4\" />,\n task: <FileText className=\"h-4 w-4\" />,\n message: <MessageSquare className=\"h-4 w-4\" />,\n}\n\nconst activityColors: Record<CRMActivityType, string> = {\n email: 'bg-blue-100 text-blue-600 dark:bg-blue-900/30 dark:text-blue-400',\n call: 'bg-green-100 text-green-600 dark:bg-green-900/30 dark:text-green-400',\n meeting: 'bg-purple-100 text-purple-600 dark:bg-purple-900/30 dark:text-purple-400',\n note: 'bg-yellow-100 text-yellow-600 dark:bg-yellow-900/30 dark:text-yellow-400',\n task: 'bg-orange-100 text-orange-600 dark:bg-orange-900/30 dark:text-orange-400',\n message: 'bg-pink-100 text-pink-600 dark:bg-pink-900/30 dark:text-pink-400',\n}\n\nconst CRMActivityItem = React.forwardRef<HTMLDivElement, CRMActivityItemProps>(\n (\n {\n className,\n type,\n title,\n description,\n timestamp,\n user,\n actions,\n metadata,\n ...props\n },\n ref\n ) => {\n return (\n <div\n ref={ref}\n className={cn('group flex gap-4 rounded-lg p-3 hover:bg-muted/50', className)}\n {...props}\n >\n <div className={cn('flex h-10 w-10 items-center justify-center rounded-lg', activityColors[type])}>\n {activityIcons[type]}\n </div>\n\n <div className=\"flex flex-1 flex-col gap-1\">\n <div className=\"flex items-start justify-between\">\n <div>\n <h4 className=\"font-medium\">{title}</h4>\n {description && (\n <p className=\"text-sm text-muted-foreground line-clamp-2\">{description}</p>\n )}\n </div>\n {actions && (\n <div className=\"flex items-center gap-1 opacity-0 transition-opacity group-hover:opacity-100\">\n {actions.onEdit && (\n <Button variant=\"ghost\" size=\"icon\" className=\"h-7 w-7\" onClick={actions.onEdit}>\n <Edit className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n {actions.onDelete && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-7 w-7 text-destructive hover:text-destructive\"\n onClick={actions.onDelete}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n </Button>\n )}\n </div>\n )}\n </div>\n\n {metadata && Object.keys(metadata).length > 0 && (\n <div className=\"flex flex-wrap gap-2 text-xs text-muted-foreground\">\n {Object.entries(metadata).map(([key, value]) => (\n <span key={key}>\n <span className=\"font-medium\">{key}:</span> {value}\n </span>\n ))}\n </div>\n )}\n\n <div className=\"flex items-center gap-2 text-xs text-muted-foreground\">\n {user && (\n <>\n <Avatar className=\"h-5 w-5\">\n {user.avatar && <AvatarImage src={user.avatar} />}\n <AvatarFallback className=\"text-[10px]\">\n {user.name.charAt(0).toUpperCase()}\n </AvatarFallback>\n </Avatar>\n <span>{user.name}</span>\n <span>•</span>\n </>\n )}\n <span>{timestamp}</span>\n </div>\n </div>\n </div>\n )\n }\n)\nCRMActivityItem.displayName = 'CRMActivityItem'\n\nexport { CRMActivityItem }\n","import * as React from 'react'\nimport { X, ArrowRight, Sparkles } from 'lucide-react'\nimport { cn } from '@/utils/cn'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Button } from '@/components/ui/button'\nimport { Progress } from '@/components/ui/progress'\nimport { useLocale } from '@/providers/locale-provider'\n\nexport interface WelcomeStep {\n id: string\n title: string\n description?: string\n completed: boolean\n href?: string\n onClick?: () => void\n}\n\nexport interface WelcomeCardProps extends React.HTMLAttributes<HTMLDivElement> {\n title: string\n subtitle?: string\n userName?: string\n steps?: WelcomeStep[]\n dismissible?: boolean\n onDismiss?: () => void\n showProgress?: boolean\n image?: string\n ctaLabel?: string\n ctaOnClick?: () => void\n}\n\nconst WelcomeCard = React.forwardRef<HTMLDivElement, WelcomeCardProps>(\n (\n {\n className,\n title,\n subtitle,\n userName,\n steps = [],\n dismissible = true,\n onDismiss,\n showProgress = true,\n image,\n ctaLabel,\n ctaOnClick,\n ...props\n },\n ref\n ) => {\n const { t } = useLocale()\n const completedCount = steps.filter((s) => s.completed).length\n const progressPercent = steps.length > 0 ? (completedCount / steps.length) * 100 : 0\n\n return (\n <Card\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <div className=\"absolute inset-0 bg-gradient-to-r from-primary/5 via-primary/10 to-transparent\" />\n {dismissible && onDismiss && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"absolute right-2 top-2 h-6 w-6 z-10\"\n onClick={onDismiss}\n >\n <X className=\"h-4 w-4\" />\n </Button>\n )}\n <CardContent className=\"relative p-6\">\n <div className=\"flex gap-6\">\n <div className=\"flex-1 space-y-4\">\n <div className=\"flex items-center gap-2\">\n <Sparkles className=\"h-5 w-5 text-primary\" />\n <span className=\"text-sm font-medium text-primary\">{t('welcome.label')}</span>\n </div>\n\n <div>\n <h2 className=\"text-2xl font-bold\">\n {userName ? `${title}, ${userName}!` : title}\n </h2>\n {subtitle && <p className=\"mt-1 text-muted-foreground\">{subtitle}</p>}\n </div>\n\n {showProgress && steps.length > 0 && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-sm\">\n <span className=\"text-muted-foreground\">{t('welcome.setupProgress')}</span>\n <span className=\"font-medium\">\n {t('welcome.completed', { completed: completedCount, total: steps.length })}\n </span>\n </div>\n <Progress value={progressPercent} className=\"h-2\" />\n </div>\n )}\n\n {steps.length > 0 && (\n <div className=\"space-y-2\">\n {steps.slice(0, 3).map((step) => (\n <button\n key={step.id}\n onClick={step.onClick}\n className={cn(\n 'flex w-full items-center gap-3 rounded-lg p-3 text-left transition-colors hover:bg-muted',\n step.completed && 'opacity-50'\n )}\n >\n <div\n className={cn(\n 'flex h-6 w-6 items-center justify-center rounded-full border-2',\n step.completed\n ? 'border-primary bg-primary text-primary-foreground'\n : 'border-muted-foreground/30'\n )}\n >\n {step.completed && (\n <svg\n className=\"h-3.5 w-3.5\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={3}\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M5 13l4 4L19 7\" />\n </svg>\n )}\n </div>\n <div className=\"flex-1\">\n <p className={cn('font-medium', step.completed && 'line-through')}>\n {step.title}\n </p>\n {step.description && (\n <p className=\"text-xs text-muted-foreground\">{step.description}</p>\n )}\n </div>\n {!step.completed && <ArrowRight className=\"h-4 w-4 text-muted-foreground\" />}\n </button>\n ))}\n </div>\n )}\n\n {ctaLabel && ctaOnClick && (\n <Button onClick={ctaOnClick} className=\"gap-2\">\n {ctaLabel}\n <ArrowRight className=\"h-4 w-4\" />\n </Button>\n )}\n </div>\n\n {image && (\n <div className=\"hidden lg:block\">\n <img src={image} alt=\"\" className=\"h-48 w-48 object-contain\" />\n </div>\n )}\n </div>\n </CardContent>\n </Card>\n )\n }\n)\nWelcomeCard.displayName = 'WelcomeCard'\n\nexport { WelcomeCard }\n"],"names":["Building2","createLucideIcon","Copy","RefreshCw","Sparkles","SquarePen","ThumbsDown","ThumbsUp","statusColors","ContactCard","React","className","name","email","phone","company","position","location","avatar","initials","status","tags","onClick","props","ref","jsxs","Card","cn","jsx","CardHeader","Avatar","AvatarImage","AvatarFallback","Badge","CardContent","Mail","Phone","MapPin","tag","index","priorityColors","DealCard","title","value","stage","probability","closeDate","closeDateFormat","currency","showCurrencyCode","probabilityLabel","owner","priority","priorityLabelMap","getPriorityLabel","onDragStart","draggable","valueFormatted","formatCurrency","formatDate","t","useFormatters","resolvedPriorityLabel","displayValue","formatted","displayDate","CardTitle","Progress","Calendar","PipelineBoard","columns","renderItem","onItemMove","onAddItem","showAddButton","columnWidth","getItemId","draggedItem","setDraggedItem","handleDragStart","itemId","columnId","handleDragOver","e","handleDrop","targetColumnId","handleDragEnd","ScrollArea","column","Button","Plus","item","ScrollBar","getScoreColor","score","maxScore","percentage","getScoreLabel","sizeClasses","LeadScoreIndicator","showLabel","size","colorClass","label","defaultStatusColors","defaultDotColors","StatusBadge","customColors","showDot","pulse","statusKey","dotColor","displayText","ProgressTracker","steps","currentStep","orientation","onStepClick","renderStepTitle","renderStepDescription","completedIcon","step","isCompleted","isCurrent","isClickable","stepState","Check","AISummaryCard","summary","loading","error","onRefresh","onCopy","onFeedback","model","generatedAt","confidence","useLocale","copied","setCopied","feedback","setFeedback","resolvedTitle","handleCopy","handleFeedback","type","Skeleton","Fragment","FeatureHighlightCard","description","badge","icon","image","actionLabel","learnMoreLabel","onAction","learnMoreUrl","dismissible","onDismiss","variant","translatedActionLabel","resolvedActionLabel","translatedLearnMoreLabel","resolvedLearnMoreLabel","variantClasses","X","ArrowRight","ExternalLink","alertBannerVariants","cva","iconMap","Info","CheckCircle","AlertTriangle","AlertCircle","AlertBanner","message","action","showIcon","Icon","activityIcons","FileText","MessageSquare","activityColors","CRMActivityItem","timestamp","user","actions","metadata","Edit","Trash2","key","WelcomeCard","subtitle","userName","showProgress","ctaLabel","ctaOnClick","completedCount","s","progressPercent"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
@@ -0,0 +1,15 @@
1
+ import { c as e } from "./scroll-area-CGNbDUBQ.js";
2
+ /**
3
+ * @license lucide-react v0.441.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const c = e("X", [
9
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
10
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
11
+ ]);
12
+ export {
13
+ c as X
14
+ };
15
+ //# sourceMappingURL=x-BBkgEhUv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-BBkgEhUv.js","sources":["../node_modules/lucide-react/dist/esm/icons/x.js"],"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 X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["X","createLucideIcon"],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,MAACA,IAAIC,EAAiB,KAAK;AAAA,EAC9B,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAQ,CAAE;AAAA,EAC3C,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAQ,CAAE;AAC7C,CAAC;","x_google_ignoreList":[0]}
@@ -0,0 +1,7 @@
1
+ "use strict";const e=require("./scroll-area-HsTSI_58.cjs");/**
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 c=e.createLucideIcon("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);exports.X=c;
7
+ //# sourceMappingURL=x-D-El5XAY.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x-D-El5XAY.cjs","sources":["../node_modules/lucide-react/dist/esm/icons/x.js"],"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 X = createLucideIcon(\"X\", [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n]);\n\nexport { X as default };\n//# sourceMappingURL=x.js.map\n"],"names":["X","createLucideIcon"],"mappings":"2DAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASK,MAACA,EAAIC,EAAAA,iBAAiB,IAAK,CAC9B,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}