@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"pipeline-By5_8AFg.cjs","sources":["../node_modules/lucide-react/dist/esm/icons/filter.js","../node_modules/lucide-react/dist/esm/icons/grip-vertical.js","../node_modules/lucide-react/dist/esm/icons/layout-grid.js","../node_modules/lucide-react/dist/esm/icons/list.js","../node_modules/lucide-react/dist/esm/icons/table-2.js","../src/components/layouts/app-shell.tsx","../src/components/layouts/page-header.tsx","../src/components/layouts/dashboard-layout.tsx","../src/components/layouts/pipeline.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 Filter = createLucideIcon(\"Filter\", [\n [\"polygon\", { points: \"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\", key: \"1yg77f\" }]\n]);\n\nexport { Filter as default };\n//# sourceMappingURL=filter.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 GripVertical = createLucideIcon(\"GripVertical\", [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n]);\n\nexport { GripVertical as default };\n//# sourceMappingURL=grip-vertical.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 LayoutGrid = createLucideIcon(\"LayoutGrid\", [\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"3\", rx: \"1\", key: \"1g98yp\" }],\n [\"rect\", { width: \"7\", height: \"7\", x: \"14\", y: \"3\", rx: \"1\", key: \"6d4xhi\" }],\n [\"rect\", { width: \"7\", height: \"7\", x: \"14\", y: \"14\", rx: \"1\", key: \"nxv5o0\" }],\n [\"rect\", { width: \"7\", height: \"7\", x: \"3\", y: \"14\", rx: \"1\", key: \"1bb6yr\" }]\n]);\n\nexport { LayoutGrid as default };\n//# sourceMappingURL=layout-grid.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 List = createLucideIcon(\"List\", [\n [\"line\", { x1: \"8\", x2: \"21\", y1: \"6\", y2: \"6\", key: \"7ey8pc\" }],\n [\"line\", { x1: \"8\", x2: \"21\", y1: \"12\", y2: \"12\", key: \"rjfblc\" }],\n [\"line\", { x1: \"8\", x2: \"21\", y1: \"18\", y2: \"18\", key: \"c3b1m8\" }],\n [\"line\", { x1: \"3\", x2: \"3.01\", y1: \"6\", y2: \"6\", key: \"1g7gq3\" }],\n [\"line\", { x1: \"3\", x2: \"3.01\", y1: \"12\", y2: \"12\", key: \"1pjlvk\" }],\n [\"line\", { x1: \"3\", x2: \"3.01\", y1: \"18\", y2: \"18\", key: \"28t2mc\" }]\n]);\n\nexport { List as default };\n//# sourceMappingURL=list.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 Table2 = createLucideIcon(\"Table2\", [\n [\n \"path\",\n {\n d: \"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18\",\n key: \"gugj83\"\n }\n ]\n]);\n\nexport { Table2 as default };\n//# sourceMappingURL=table-2.js.map\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\n\nexport interface AppShellProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n}\n\nconst AppShell = React.forwardRef<HTMLDivElement, AppShellProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn('flex min-h-screen w-full flex-col bg-background', className)}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nAppShell.displayName = 'AppShell'\n\nconst AppShellHeader = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...props }, ref) => {\n return (\n <header\n ref={ref}\n className={cn(\n 'sticky top-0 z-50 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6',\n className\n )}\n {...props}\n />\n )\n }\n)\nAppShellHeader.displayName = 'AppShellHeader'\n\nconst AppShellMain = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn('flex flex-1 flex-col gap-4 p-4 md:gap-8 md:p-6', className)}\n {...props}\n />\n )\n }\n)\nAppShellMain.displayName = 'AppShellMain'\n\nconst AppShellFooter = React.forwardRef<HTMLElement, React.HTMLAttributes<HTMLElement>>(\n ({ className, ...props }, ref) => {\n return (\n <footer\n ref={ref}\n className={cn('border-t bg-background px-4 py-6 md:px-6', className)}\n {...props}\n />\n )\n }\n)\nAppShellFooter.displayName = 'AppShellFooter'\n\nexport { AppShell, AppShellHeader, AppShellMain, AppShellFooter }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\n\nexport interface PageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n heading: string\n description?: string\n actions?: React.ReactNode\n}\n\nconst PageHeader = React.forwardRef<HTMLDivElement, PageHeaderProps>(\n ({ className, heading, description, actions, children, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn('flex flex-col gap-4 md:flex-row md:items-center md:justify-between', className)}\n {...props}\n >\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-bold tracking-tight md:text-3xl\">{heading}</h1>\n {description && <p className=\"text-muted-foreground\">{description}</p>}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n {children}\n </div>\n )\n }\n)\nPageHeader.displayName = 'PageHeader'\n\nexport { PageHeader }\n","import * as React from 'react'\nimport { cn } from '@/utils/cn'\nimport { useIsMobile } from '@/hooks/use-mobile'\nimport { Sheet, SheetContent } from '@/components/ui/sheet'\n\ntype DashboardLayoutContext = {\n sidebarOpen: boolean\n setSidebarOpen: (open: boolean) => void\n sidebarCollapsed: boolean\n setSidebarCollapsed: (collapsed: boolean) => void\n isMobile: boolean\n toggleSidebar: () => void\n}\n\nconst DashboardLayoutContext = React.createContext<DashboardLayoutContext | null>(null)\n\nexport function useDashboardLayout() {\n const context = React.useContext(DashboardLayoutContext)\n if (!context) {\n throw new Error('useDashboardLayout must be used within a DashboardLayout.')\n }\n return context\n}\n\nexport interface DashboardLayoutProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n defaultSidebarOpen?: boolean\n defaultSidebarCollapsed?: boolean\n sidebarWidth?: string\n sidebarCollapsedWidth?: string\n}\n\nconst DashboardLayout = React.forwardRef<HTMLDivElement, DashboardLayoutProps>(\n (\n {\n className,\n children,\n defaultSidebarOpen = true,\n defaultSidebarCollapsed = false,\n sidebarWidth = '16rem',\n sidebarCollapsedWidth = '4rem',\n ...props\n },\n ref\n ) => {\n const isMobile = useIsMobile()\n const [sidebarOpen, setSidebarOpen] = React.useState(defaultSidebarOpen)\n const [sidebarCollapsed, setSidebarCollapsed] = React.useState(defaultSidebarCollapsed)\n\n const toggleSidebar = React.useCallback(() => {\n if (isMobile) {\n setSidebarOpen((prev) => !prev)\n } else {\n setSidebarCollapsed((prev) => !prev)\n }\n }, [isMobile])\n\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'b' && (event.metaKey || event.ctrlKey)) {\n event.preventDefault()\n toggleSidebar()\n }\n }\n\n window.addEventListener('keydown', handleKeyDown)\n return () => window.removeEventListener('keydown', handleKeyDown)\n }, [toggleSidebar])\n\n const contextValue = React.useMemo<DashboardLayoutContext>(\n () => ({\n sidebarOpen,\n setSidebarOpen,\n sidebarCollapsed,\n setSidebarCollapsed,\n isMobile,\n toggleSidebar,\n }),\n [sidebarOpen, sidebarCollapsed, isMobile, toggleSidebar]\n )\n\n return (\n <DashboardLayoutContext.Provider value={contextValue}>\n <div\n ref={ref}\n style={\n {\n '--sidebar-width': sidebarWidth,\n '--sidebar-collapsed-width': sidebarCollapsedWidth,\n } as React.CSSProperties\n }\n className={cn('flex min-h-screen w-full bg-background', className)}\n {...props}\n >\n {children}\n </div>\n </DashboardLayoutContext.Provider>\n )\n }\n)\nDashboardLayout.displayName = 'DashboardLayout'\n\nexport interface DashboardSidebarProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode\n}\n\nconst DashboardSidebar = React.forwardRef<HTMLElement, DashboardSidebarProps>(\n ({ className, children, ...props }, ref) => {\n const { sidebarOpen, setSidebarOpen, sidebarCollapsed, isMobile } = useDashboardLayout()\n\n if (isMobile) {\n return (\n <Sheet open={sidebarOpen} onOpenChange={setSidebarOpen}>\n <SheetContent\n side=\"left\"\n className=\"w-[var(--sidebar-width)] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n >\n <aside className=\"flex h-full w-full flex-col\">{children}</aside>\n </SheetContent>\n </Sheet>\n )\n }\n\n return (\n <aside\n ref={ref}\n data-collapsed={sidebarCollapsed}\n className={cn(\n 'fixed inset-y-0 left-0 z-30 flex h-screen flex-col border-r bg-sidebar text-sidebar-foreground transition-[width] duration-200 ease-in-out',\n sidebarCollapsed ? 'w-[var(--sidebar-collapsed-width)]' : 'w-[var(--sidebar-width)]',\n className\n )}\n {...props}\n >\n {children}\n </aside>\n )\n }\n)\nDashboardSidebar.displayName = 'DashboardSidebar'\n\nexport interface DashboardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n}\n\nconst DashboardContent = React.forwardRef<HTMLDivElement, DashboardContentProps>(\n ({ className, children, ...props }, ref) => {\n const { sidebarCollapsed, isMobile } = useDashboardLayout()\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-1 flex-col transition-[margin-left] duration-200 ease-in-out',\n !isMobile && (sidebarCollapsed ? 'ml-[var(--sidebar-collapsed-width)]' : 'ml-[var(--sidebar-width)]'),\n className\n )}\n {...props}\n >\n {children}\n </div>\n )\n }\n)\nDashboardContent.displayName = 'DashboardContent'\n\nexport interface DashboardHeaderProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode\n}\n\nconst DashboardHeader = React.forwardRef<HTMLElement, DashboardHeaderProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <header\n ref={ref}\n className={cn(\n 'sticky top-0 z-20 flex h-16 items-center gap-4 border-b bg-background px-4 md:px-6',\n className\n )}\n {...props}\n >\n {children}\n </header>\n )\n }\n)\nDashboardHeader.displayName = 'DashboardHeader'\n\nexport interface DashboardMainProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode\n}\n\nconst DashboardMain = React.forwardRef<HTMLElement, DashboardMainProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn('flex-1 overflow-auto p-4 md:p-6', className)}\n {...props}\n >\n {children}\n </main>\n )\n }\n)\nDashboardMain.displayName = 'DashboardMain'\n\nexport interface DashboardFooterProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode\n}\n\nconst DashboardFooter = React.forwardRef<HTMLElement, DashboardFooterProps>(\n ({ className, children, ...props }, ref) => {\n return (\n <footer\n ref={ref}\n className={cn('border-t bg-background px-4 py-4 md:px-6', className)}\n {...props}\n >\n {children}\n </footer>\n )\n }\n)\nDashboardFooter.displayName = 'DashboardFooter'\n\nexport {\n DashboardLayout,\n DashboardSidebar,\n DashboardContent,\n DashboardHeader,\n DashboardMain,\n DashboardFooter,\n}\n","import * as React from 'react'\nimport {\n LayoutGrid,\n List,\n Table2,\n Calendar,\n Filter,\n Plus,\n GripVertical,\n MoreHorizontal,\n Search,\n} from 'lucide-react'\nimport {\n DndContext,\n DragOverlay,\n closestCorners,\n useSensor,\n useSensors,\n PointerSensor,\n KeyboardSensor,\n type DragStartEvent,\n type DragEndEvent,\n type DragOverEvent,\n} from '@dnd-kit/core'\nimport {\n SortableContext,\n useSortable,\n verticalListSortingStrategy,\n sortableKeyboardCoordinates,\n} from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport { cn } from '@/utils/cn'\nimport { Button } from '@/components/ui/button'\nimport { Input } from '@/components/ui/input'\nimport { Badge } from '@/components/ui/badge'\nimport { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu'\nimport { Card, CardContent } from '@/components/ui/card'\nimport { Checkbox } from '@/components/ui/checkbox'\nimport { useFormatters } from '@/hooks/use-formatters'\n\n// Types\nexport type PipelineView = 'kanban' | 'list' | 'table' | 'timeline'\n\nexport interface PipelineStage {\n id: string\n name: string\n color?: string\n order: number\n}\n\nexport interface PipelineItem {\n id: string\n title: string\n stageId: string\n value?: number\n probability?: number\n owner?: {\n name: string\n avatar?: string\n }\n company?: string\n dueDate?: Date | string\n priority?: 'low' | 'medium' | 'high'\n tags?: string[]\n [key: string]: unknown\n}\n\nexport interface PipelineContextValue {\n view: PipelineView\n setView: (view: PipelineView) => void\n stages: PipelineStage[]\n items: PipelineItem[]\n selectedItems: string[]\n setSelectedItems: (ids: string[]) => void\n onItemMove?: (itemId: string, fromStageId: string, toStageId: string) => void\n onItemClick?: (item: PipelineItem) => void\n onItemAdd?: (stageId: string) => void\n onItemEdit?: (item: PipelineItem) => void\n onItemDelete?: (itemId: string) => void\n searchQuery: string\n setSearchQuery: (query: string) => void\n groupBy?: string\n setGroupBy?: (field: string) => void\n}\n\nconst PipelineContext = React.createContext<PipelineContextValue | null>(null)\n\nexport function usePipeline() {\n const context = React.useContext(PipelineContext)\n if (!context) {\n throw new Error('usePipeline must be used within a Pipeline component')\n }\n return context\n}\n\n// Main Pipeline Component\nexport interface PipelineProps extends React.HTMLAttributes<HTMLDivElement> {\n stages: PipelineStage[]\n items: PipelineItem[]\n defaultView?: PipelineView\n view?: PipelineView\n onViewChange?: (view: PipelineView) => void\n onItemMove?: (itemId: string, fromStageId: string, toStageId: string) => void\n onItemClick?: (item: PipelineItem) => void\n onItemAdd?: (stageId: string) => void\n onItemEdit?: (item: PipelineItem) => void\n onItemDelete?: (itemId: string) => void\n children?: React.ReactNode\n}\n\nconst Pipeline = React.forwardRef<HTMLDivElement, PipelineProps>(\n (\n {\n className,\n stages,\n items,\n defaultView = 'kanban',\n view: controlledView,\n onViewChange,\n onItemMove,\n onItemClick,\n onItemAdd,\n onItemEdit,\n onItemDelete,\n children,\n ...props\n },\n ref\n ) => {\n const [internalView, setInternalView] = React.useState<PipelineView>(defaultView)\n const [selectedItems, setSelectedItems] = React.useState<string[]>([])\n const [searchQuery, setSearchQuery] = React.useState('')\n const [groupBy, setGroupBy] = React.useState<string | undefined>()\n\n const view = controlledView ?? internalView\n\n const handleViewChange = (newView: PipelineView) => {\n if (controlledView === undefined) {\n setInternalView(newView)\n }\n onViewChange?.(newView)\n }\n\n const filteredItems = React.useMemo(() => {\n if (!searchQuery) return items\n const query = searchQuery.toLowerCase()\n return items.filter(\n (item) =>\n item.title.toLowerCase().includes(query) ||\n item.company?.toLowerCase().includes(query) ||\n item.owner?.name.toLowerCase().includes(query)\n )\n }, [items, searchQuery])\n\n const contextValue = React.useMemo<PipelineContextValue>(\n () => ({\n view,\n setView: handleViewChange,\n stages,\n items: filteredItems,\n selectedItems,\n setSelectedItems,\n onItemMove,\n onItemClick,\n onItemAdd,\n onItemEdit,\n onItemDelete,\n searchQuery,\n setSearchQuery,\n groupBy,\n setGroupBy,\n }),\n [\n view,\n stages,\n filteredItems,\n selectedItems,\n searchQuery,\n groupBy,\n onItemMove,\n onItemClick,\n onItemAdd,\n onItemEdit,\n onItemDelete,\n ]\n )\n\n return (\n <PipelineContext.Provider value={contextValue}>\n <div\n ref={ref}\n className={cn('flex h-full flex-col', className)}\n {...props}\n >\n {children}\n </div>\n </PipelineContext.Provider>\n )\n }\n)\nPipeline.displayName = 'Pipeline'\n\n// Pipeline Header Component\nexport interface PipelineHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n showViewSelector?: boolean\n showSearch?: boolean\n showAddButton?: boolean\n addButtonLabel?: string\n onAdd?: () => void\n title?: string\n actions?: React.ReactNode\n}\n\nconst PipelineHeader = React.forwardRef<HTMLDivElement, PipelineHeaderProps>(\n (\n {\n className,\n showViewSelector = true,\n showSearch = true,\n showAddButton = true,\n addButtonLabel,\n onAdd,\n title,\n actions,\n ...props\n },\n ref\n ) => {\n const { view, setView, searchQuery, setSearchQuery, selectedItems } = usePipeline()\n const { t } = useFormatters()\n\n const viewOptions: { value: PipelineView; icon: React.ReactNode; label: string }[] = [\n { value: 'kanban', icon: <LayoutGrid className=\"h-4 w-4\" />, label: 'Kanban' },\n { value: 'list', icon: <List className=\"h-4 w-4\" />, label: t('calendar.agenda') },\n { value: 'table', icon: <Table2 className=\"h-4 w-4\" />, label: 'Table' },\n { value: 'timeline', icon: <Calendar className=\"h-4 w-4\" />, label: 'Timeline' },\n ]\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-wrap items-center justify-between gap-4 border-b bg-background p-4',\n className\n )}\n {...props}\n >\n <div className=\"flex items-center gap-4\">\n {title && <h2 className=\"text-lg font-semibold\">{title}</h2>}\n {selectedItems.length > 0 && (\n <Badge variant=\"secondary\">{selectedItems.length} selected</Badge>\n )}\n </div>\n\n <div className=\"flex flex-wrap items-center gap-2\">\n {showSearch && (\n <div className=\"relative\">\n <Search className=\"absolute left-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground\" />\n <Input\n placeholder={t('common.search')}\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"h-9 w-[200px] pl-8\"\n />\n </div>\n )}\n\n {showViewSelector && (\n <div className=\"flex items-center rounded-md border bg-muted/50 p-1\">\n {viewOptions.map((option) => (\n <Button\n key={option.value}\n variant={view === option.value ? 'secondary' : 'ghost'}\n size=\"sm\"\n className=\"h-7 px-2\"\n onClick={() => setView(option.value)}\n title={option.label}\n >\n {option.icon}\n </Button>\n ))}\n </div>\n )}\n\n <Button variant=\"outline\" size=\"sm\" className=\"h-9\">\n <Filter className=\"mr-2 h-4 w-4\" />\n {t('common.filter')}\n </Button>\n\n {actions}\n\n {showAddButton && (\n <Button size=\"sm\" className=\"h-9\" onClick={onAdd}>\n <Plus className=\"mr-2 h-4 w-4\" />\n {addButtonLabel || t('common.create')}\n </Button>\n )}\n </div>\n </div>\n )\n }\n)\nPipelineHeader.displayName = 'PipelineHeader'\n\n// Pipeline Content Component\nexport interface PipelineContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children?: React.ReactNode\n}\n\nconst PipelineContent = React.forwardRef<HTMLDivElement, PipelineContentProps>(\n ({ className, children, ...props }, ref) => {\n const { view } = usePipeline()\n\n return (\n <div ref={ref} className={cn('flex-1 overflow-hidden', className)} {...props}>\n {children || (\n <>\n {view === 'kanban' && <PipelineKanban />}\n {view === 'list' && <PipelineList />}\n {view === 'table' && <PipelineTable />}\n {view === 'timeline' && <PipelineTimeline />}\n </>\n )}\n </div>\n )\n }\n)\nPipelineContent.displayName = 'PipelineContent'\n\n// Pipeline Kanban View\nexport interface PipelineKanbanProps extends React.HTMLAttributes<HTMLDivElement> {\n columnWidth?: number\n showAddButton?: boolean\n renderItem?: (item: PipelineItem, stageId: string) => React.ReactNode\n}\n\n// Sortable Card Component\ninterface SortablePipelineCardProps {\n item: PipelineItem\n stageId: string\n renderItem?: (item: PipelineItem, stageId: string) => React.ReactNode\n defaultRenderItem: (item: PipelineItem) => React.ReactNode\n onItemClick?: (item: PipelineItem) => void\n}\n\nconst SortablePipelineCard = React.memo(function SortablePipelineCard({\n item,\n stageId,\n renderItem,\n defaultRenderItem,\n onItemClick,\n}: SortablePipelineCardProps) {\n const {\n attributes,\n listeners,\n setNodeRef,\n transform,\n transition,\n isDragging: isSortableDragging,\n } = useSortable({\n id: item.id,\n data: {\n type: 'item',\n item,\n stageId,\n },\n })\n\n const style: React.CSSProperties = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isSortableDragging ? 0.5 : 1,\n cursor: 'grab',\n }\n\n return (\n <div\n ref={setNodeRef}\n style={style}\n {...attributes}\n {...listeners}\n onClick={(e) => {\n e.stopPropagation()\n onItemClick?.(item)\n }}\n >\n {renderItem ? renderItem(item, stageId) : defaultRenderItem(item)}\n </div>\n )\n})\n\n// Droppable Column Component\ninterface DroppableColumnProps {\n stage: PipelineStage\n items: PipelineItem[]\n columnWidth: number\n showAddButton: boolean\n onItemAdd?: (stageId: string) => void\n onItemClick?: (item: PipelineItem) => void\n renderItem?: (item: PipelineItem, stageId: string) => React.ReactNode\n defaultRenderItem: (item: PipelineItem) => React.ReactNode\n getStageTotal: (stageId: string) => number\n formatCurrency: (value: number, options?: Intl.NumberFormatOptions) => string\n t: (key: string) => string\n}\n\nconst DroppableColumn = React.memo(function DroppableColumn({\n stage,\n items,\n columnWidth,\n showAddButton,\n onItemAdd,\n onItemClick,\n renderItem,\n defaultRenderItem,\n getStageTotal,\n formatCurrency,\n t,\n}: DroppableColumnProps) {\n const itemIds = React.useMemo(() => items.map((item) => item.id), [items])\n\n return (\n <div\n className=\"flex shrink-0 flex-col rounded-lg bg-muted/30\"\n style={{ width: columnWidth }}\n >\n {/* Stage Header */}\n <div className=\"flex items-center justify-between p-3 border-b\">\n <div className=\"flex items-center gap-2\">\n {stage.color && (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <h3 className=\"text-sm font-semibold\">{stage.name}</h3>\n <Badge variant=\"secondary\" className=\"text-xs\">\n {items.length}\n </Badge>\n </div>\n <div className=\"flex items-center gap-1\">\n {showAddButton && onItemAdd && (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"h-6 w-6\"\n onClick={() => onItemAdd(stage.id)}\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-6 w-6\">\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem>{t('common.edit')}</DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem className=\"text-destructive\">\n {t('common.delete')}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n\n {/* Stage Total */}\n <div className=\"px-3 py-2 text-xs text-muted-foreground border-b\">\n {t('deal.value')}:{' '}\n <span className=\"font-medium text-foreground\">\n {formatCurrency(getStageTotal(stage.id), {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n })}\n </span>\n </div>\n\n {/* Stage Items */}\n <ScrollArea className=\"flex-1\">\n <div className=\"flex flex-col gap-2 p-2 min-h-[100px]\">\n <SortableContext items={itemIds} strategy={verticalListSortingStrategy}>\n {items.map((item) => (\n <SortablePipelineCard\n key={item.id}\n item={item}\n stageId={stage.id}\n renderItem={renderItem}\n defaultRenderItem={defaultRenderItem}\n onItemClick={onItemClick}\n />\n ))}\n </SortableContext>\n {items.length === 0 && (\n <div className=\"py-8 text-center text-sm text-muted-foreground\">\n {t('common.noData')}\n </div>\n )}\n </div>\n </ScrollArea>\n </div>\n )\n})\n\nconst PipelineKanban = React.forwardRef<HTMLDivElement, PipelineKanbanProps>(\n ({ className, columnWidth = 320, showAddButton = true, renderItem, ...props }, ref) => {\n const { stages, items, onItemMove, onItemClick, onItemAdd } = usePipeline()\n const { formatCurrency, formatDate, t } = useFormatters()\n const [activeItem, setActiveItem] = React.useState<PipelineItem | null>(null)\n\n // Sensors with activation constraint for better UX\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n delay: 150,\n tolerance: 5,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n })\n )\n\n const itemsByStage = React.useMemo(() => {\n const grouped: Record<string, PipelineItem[]> = {}\n stages.forEach((stage) => {\n grouped[stage.id] = items.filter((item) => item.stageId === stage.id)\n })\n return grouped\n }, [stages, items])\n\n const getStageTotal = React.useCallback(\n (stageId: string) => {\n return itemsByStage[stageId]?.reduce((sum, item) => sum + (item.value || 0), 0) || 0\n },\n [itemsByStage]\n )\n\n const priorityColors = {\n low: 'bg-muted text-muted-foreground',\n medium: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',\n high: 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200',\n }\n\n const defaultRenderItem = React.useCallback(\n (item: PipelineItem) => (\n <Card className=\"cursor-pointer transition-all hover:shadow-md\">\n <CardContent className=\"p-3 space-y-2\">\n <div className=\"flex items-start justify-between\">\n <div className=\"flex-1 min-w-0\">\n <h4 className=\"font-medium text-sm truncate\">{item.title}</h4>\n {item.company && (\n <p className=\"text-xs text-muted-foreground truncate\">{item.company}</p>\n )}\n </div>\n {item.priority && (\n <Badge className={cn('text-[10px] ml-2', priorityColors[item.priority])}>\n {item.priority}\n </Badge>\n )}\n </div>\n\n {item.value !== undefined && (\n <div className=\"text-sm font-semibold\">\n {formatCurrency(item.value, { minimumFractionDigits: 0, maximumFractionDigits: 0 })}\n </div>\n )}\n\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n {item.dueDate && <span>{formatDate(item.dueDate)}</span>}\n {item.owner && (\n <span className=\"truncate max-w-[100px]\">{item.owner.name}</span>\n )}\n </div>\n\n {item.probability !== undefined && (\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1 h-1.5 bg-muted rounded-full overflow-hidden\">\n <div\n className=\"h-full bg-primary rounded-full\"\n style={{ width: `${item.probability}%` }}\n />\n </div>\n <span className=\"text-[10px] text-muted-foreground\">{item.probability}%</span>\n </div>\n )}\n </CardContent>\n </Card>\n ),\n [formatCurrency, formatDate, priorityColors]\n )\n\n const handleDragStart = React.useCallback(\n (event: DragStartEvent) => {\n const { active } = event\n const activeData = active.data.current\n if (activeData?.item) {\n setActiveItem(activeData.item as PipelineItem)\n }\n },\n []\n )\n\n const handleDragOver = React.useCallback((_event: DragOverEvent) => {\n // Handle drag over for visual feedback if needed\n }, [])\n\n const handleDragEnd = React.useCallback(\n (event: DragEndEvent) => {\n const { active, over } = event\n setActiveItem(null)\n\n if (!over) return\n\n const activeData = active.data.current\n const overData = over.data.current\n\n if (!activeData) return\n\n const activeItem = activeData.item as PipelineItem\n const fromStageId = activeData.stageId as string\n\n // Determine target stage\n let toStageId: string | null = null\n\n if (overData?.type === 'item') {\n // Dropped over another item - get that item's stage\n toStageId = overData.stageId as string\n } else if (overData?.type === 'column') {\n // Dropped directly on a column\n toStageId = overData.stageId as string\n } else {\n // Check if dropped over a column by finding the stage\n const overItem = items.find((item) => item.id === over.id)\n if (overItem) {\n toStageId = overItem.stageId\n }\n }\n\n if (toStageId && fromStageId !== toStageId) {\n onItemMove?.(activeItem.id, fromStageId, toStageId)\n }\n },\n [items, onItemMove]\n )\n\n const sortedStages = React.useMemo(\n () => [...stages].sort((a, b) => a.order - b.order),\n [stages]\n )\n\n return (\n <div ref={ref} className={cn('h-full', className)} {...props}>\n <DndContext\n sensors={sensors}\n collisionDetection={closestCorners}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n >\n <ScrollArea className=\"h-full\">\n <div className=\"flex gap-4 p-4 h-full\">\n {sortedStages.map((stage) => (\n <DroppableColumn\n key={stage.id}\n stage={stage}\n items={itemsByStage[stage.id] || []}\n columnWidth={columnWidth}\n showAddButton={showAddButton}\n onItemAdd={onItemAdd}\n onItemClick={onItemClick}\n renderItem={renderItem}\n defaultRenderItem={defaultRenderItem}\n getStageTotal={getStageTotal}\n formatCurrency={formatCurrency}\n t={t}\n />\n ))}\n </div>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n\n {/* Drag Overlay for smooth drag preview */}\n <DragOverlay dropAnimation={{\n duration: 200,\n easing: 'cubic-bezier(0.18, 0.67, 0.6, 1.22)',\n }}>\n {activeItem ? (\n <div className=\"opacity-90 shadow-xl rotate-3 scale-105\">\n {renderItem ? renderItem(activeItem, activeItem.stageId) : defaultRenderItem(activeItem)}\n </div>\n ) : null}\n </DragOverlay>\n </DndContext>\n </div>\n )\n }\n)\nPipelineKanban.displayName = 'PipelineKanban'\n\n// Pipeline List View\nexport interface PipelineListProps extends React.HTMLAttributes<HTMLDivElement> {\n renderItem?: (item: PipelineItem) => React.ReactNode\n}\n\nconst PipelineList = React.forwardRef<HTMLDivElement, PipelineListProps>(\n ({ className, renderItem, ...props }, ref) => {\n const { stages, items, selectedItems, setSelectedItems, onItemClick, onItemEdit, onItemDelete } =\n usePipeline()\n const { formatCurrency, formatDate, t } = useFormatters()\n\n const itemsByStage = React.useMemo(() => {\n const grouped: Record<string, PipelineItem[]> = {}\n stages.forEach((stage) => {\n grouped[stage.id] = items.filter((item) => item.stageId === stage.id)\n })\n return grouped\n }, [stages, items])\n\n const toggleSelect = (itemId: string) => {\n if (selectedItems.includes(itemId)) {\n setSelectedItems(selectedItems.filter((id) => id !== itemId))\n } else {\n setSelectedItems([...selectedItems, itemId])\n }\n }\n\n const priorityColors = {\n low: 'bg-muted text-muted-foreground',\n medium: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',\n high: 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200',\n }\n\n const defaultRenderItem = (item: PipelineItem, stage: PipelineStage) => (\n <div\n className={cn(\n 'flex items-center gap-4 rounded-lg border bg-card p-4 transition-colors hover:bg-muted/50',\n selectedItems.includes(item.id) && 'bg-muted/50 border-primary'\n )}\n >\n <Checkbox\n checked={selectedItems.includes(item.id)}\n onCheckedChange={() => toggleSelect(item.id)}\n />\n <GripVertical className=\"h-4 w-4 text-muted-foreground cursor-grab\" />\n <div className=\"flex-1 min-w-0 cursor-pointer\" onClick={() => onItemClick?.(item)}>\n <div className=\"flex items-center gap-2 mb-1\">\n <h4 className=\"font-medium truncate\">{item.title}</h4>\n {item.priority && (\n <Badge className={cn('text-xs', priorityColors[item.priority])}>\n {item.priority}\n </Badge>\n )}\n </div>\n <div className=\"flex items-center gap-4 text-sm text-muted-foreground\">\n {item.company && <span>{item.company}</span>}\n {item.owner && <span>{item.owner.name}</span>}\n </div>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center gap-2\">\n {stage.color && (\n <div\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <span className=\"text-sm\">{stage.name}</span>\n </div>\n {item.value !== undefined && (\n <div className=\"font-semibold min-w-[100px] text-right\">\n {formatCurrency(item.value, { minimumFractionDigits: 0, maximumFractionDigits: 0 })}\n </div>\n )}\n {item.dueDate && (\n <div className=\"text-sm text-muted-foreground min-w-[100px]\">\n {formatDate(item.dueDate)}\n </div>\n )}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-8 w-8\">\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => onItemEdit?.(item)}>\n {t('common.edit')}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n className=\"text-destructive\"\n onClick={() => onItemDelete?.(item.id)}\n >\n {t('common.delete')}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n </div>\n )\n\n return (\n <div ref={ref} className={cn('h-full', className)} {...props}>\n <ScrollArea className=\"h-full\">\n <div className=\"p-4 space-y-6\">\n {stages\n .sort((a, b) => a.order - b.order)\n .map((stage) => (\n <div key={stage.id}>\n <div className=\"flex items-center gap-2 mb-3\">\n {stage.color && (\n <div\n className=\"h-3 w-3 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <h3 className=\"font-semibold\">{stage.name}</h3>\n <Badge variant=\"secondary\">{itemsByStage[stage.id]?.length || 0}</Badge>\n </div>\n <div className=\"space-y-2\">\n {itemsByStage[stage.id]?.map((item) =>\n renderItem ? (\n <div key={item.id}>{renderItem(item)}</div>\n ) : (\n <div key={item.id}>{defaultRenderItem(item, stage)}</div>\n )\n )}\n {itemsByStage[stage.id]?.length === 0 && (\n <div className=\"py-4 text-center text-sm text-muted-foreground border rounded-lg\">\n {t('common.noData')}\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n </ScrollArea>\n </div>\n )\n }\n)\nPipelineList.displayName = 'PipelineList'\n\n// Pipeline Table View\nexport interface PipelineTableProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst PipelineTable = React.forwardRef<HTMLDivElement, PipelineTableProps>(\n ({ className, ...props }, ref) => {\n const {\n stages,\n items,\n selectedItems,\n setSelectedItems,\n onItemClick,\n onItemEdit,\n onItemDelete,\n } = usePipeline()\n const { formatCurrency, formatDate, t } = useFormatters()\n\n const stageMap = React.useMemo(() => {\n const map: Record<string, PipelineStage> = {}\n stages.forEach((stage) => {\n map[stage.id] = stage\n })\n return map\n }, [stages])\n\n const toggleSelectAll = () => {\n if (selectedItems.length === items.length) {\n setSelectedItems([])\n } else {\n setSelectedItems(items.map((item) => item.id))\n }\n }\n\n const toggleSelect = (itemId: string) => {\n if (selectedItems.includes(itemId)) {\n setSelectedItems(selectedItems.filter((id) => id !== itemId))\n } else {\n setSelectedItems([...selectedItems, itemId])\n }\n }\n\n const priorityColors = {\n low: 'bg-muted text-muted-foreground',\n medium: 'bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200',\n high: 'bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200',\n }\n\n return (\n <div ref={ref} className={cn('h-full', className)} {...props}>\n <ScrollArea className=\"h-full\">\n <div className=\"p-4\">\n <div className=\"rounded-lg border\">\n <table className=\"w-full\">\n <thead>\n <tr className=\"border-b bg-muted/50\">\n <th className=\"w-[40px] p-3\">\n <Checkbox\n checked={selectedItems.length === items.length && items.length > 0}\n onCheckedChange={toggleSelectAll}\n />\n </th>\n <th className=\"text-left p-3 font-medium text-sm\">Title</th>\n <th className=\"text-left p-3 font-medium text-sm\">Company</th>\n <th className=\"text-left p-3 font-medium text-sm\">{t('deal.stage')}</th>\n <th className=\"text-right p-3 font-medium text-sm\">{t('deal.value')}</th>\n <th className=\"text-center p-3 font-medium text-sm\">{t('deal.probability')}</th>\n <th className=\"text-left p-3 font-medium text-sm\">Owner</th>\n <th className=\"text-left p-3 font-medium text-sm\">{t('deal.closeDate')}</th>\n <th className=\"text-left p-3 font-medium text-sm\">Priority</th>\n <th className=\"w-[60px] p-3\"></th>\n </tr>\n </thead>\n <tbody>\n {items.map((item) => {\n const stage = stageMap[item.stageId]\n return (\n <tr\n key={item.id}\n className={cn(\n 'border-b transition-colors hover:bg-muted/50',\n selectedItems.includes(item.id) && 'bg-muted/50'\n )}\n >\n <td className=\"p-3\">\n <Checkbox\n checked={selectedItems.includes(item.id)}\n onCheckedChange={() => toggleSelect(item.id)}\n />\n </td>\n <td\n className=\"p-3 font-medium cursor-pointer\"\n onClick={() => onItemClick?.(item)}\n >\n {item.title}\n </td>\n <td className=\"p-3 text-muted-foreground\">{item.company}</td>\n <td className=\"p-3\">\n <div className=\"flex items-center gap-2\">\n {stage?.color && (\n <div\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <span>{stage?.name}</span>\n </div>\n </td>\n <td className=\"p-3 text-right font-medium\">\n {item.value !== undefined\n ? formatCurrency(item.value, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n })\n : '-'}\n </td>\n <td className=\"p-3 text-center\">\n {item.probability !== undefined ? `${item.probability}%` : '-'}\n </td>\n <td className=\"p-3 text-muted-foreground\">{item.owner?.name || '-'}</td>\n <td className=\"p-3 text-muted-foreground\">\n {item.dueDate ? formatDate(item.dueDate) : '-'}\n </td>\n <td className=\"p-3\">\n {item.priority && (\n <Badge className={cn('text-xs', priorityColors[item.priority])}>\n {item.priority}\n </Badge>\n )}\n </td>\n <td className=\"p-3\">\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-8 w-8\">\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => onItemEdit?.(item)}>\n {t('common.edit')}\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n className=\"text-destructive\"\n onClick={() => onItemDelete?.(item.id)}\n >\n {t('common.delete')}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </td>\n </tr>\n )\n })}\n {items.length === 0 && (\n <tr>\n <td colSpan={10} className=\"p-8 text-center text-muted-foreground\">\n {t('common.noData')}\n </td>\n </tr>\n )}\n </tbody>\n </table>\n </div>\n </div>\n </ScrollArea>\n </div>\n )\n }\n)\nPipelineTable.displayName = 'PipelineTable'\n\n// Pipeline Timeline View\nexport interface PipelineTimelineProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst PipelineTimeline = React.forwardRef<HTMLDivElement, PipelineTimelineProps>(\n ({ className, ...props }, ref) => {\n const { stages, items, onItemClick } = usePipeline()\n const { formatCurrency, formatDate, t } = useFormatters()\n\n // Group items by due date\n const itemsByDate = React.useMemo(() => {\n const grouped: Record<string, PipelineItem[]> = {}\n const today = new Date()\n today.setHours(0, 0, 0, 0)\n\n items\n .filter((item) => item.dueDate)\n .sort((a, b) => {\n const dateA = new Date(a.dueDate!)\n const dateB = new Date(b.dueDate!)\n return dateA.getTime() - dateB.getTime()\n })\n .forEach((item) => {\n const date = new Date(item.dueDate!)\n const dateKey = date.toISOString().split('T')[0]\n if (!grouped[dateKey]) {\n grouped[dateKey] = []\n }\n grouped[dateKey].push(item)\n })\n\n return grouped\n }, [items])\n\n const stageMap = React.useMemo(() => {\n const map: Record<string, PipelineStage> = {}\n stages.forEach((stage) => {\n map[stage.id] = stage\n })\n return map\n }, [stages])\n\n const dateKeys = Object.keys(itemsByDate).sort()\n const today = new Date().toISOString().split('T')[0]\n\n const getDateLabel = (dateKey: string) => {\n const date = new Date(dateKey)\n const todayDate = new Date()\n todayDate.setHours(0, 0, 0, 0)\n const diff = Math.ceil((date.getTime() - todayDate.getTime()) / (1000 * 60 * 60 * 24))\n\n if (diff === 0) return t('date.today')\n if (diff === 1) return t('date.tomorrow')\n if (diff === -1) return t('date.yesterday')\n return formatDate(date, 'EEEE, MMMM d')\n }\n\n const isOverdue = (dateKey: string) => {\n return dateKey < today\n }\n\n return (\n <div ref={ref} className={cn('h-full', className)} {...props}>\n <ScrollArea className=\"h-full\">\n <div className=\"p-4\">\n {dateKeys.length === 0 ? (\n <div className=\"py-12 text-center text-muted-foreground\">{t('common.noData')}</div>\n ) : (\n <div className=\"relative space-y-8 before:absolute before:inset-0 before:ml-5 before:h-full before:w-0.5 before:-translate-x-px before:bg-border md:before:mx-auto md:before:translate-x-0\">\n {dateKeys.map((dateKey) => (\n <div key={dateKey} className=\"relative flex items-start gap-6 md:gap-12\">\n {/* Timeline marker */}\n <div className=\"flex items-center justify-center w-10 h-10 rounded-full bg-background border-2 border-muted shrink-0 md:order-1 md:mx-auto\">\n <div\n className={cn(\n 'w-3 h-3 rounded-full',\n isOverdue(dateKey) ? 'bg-destructive' : 'bg-primary'\n )}\n />\n </div>\n\n {/* Date label */}\n <div className=\"hidden md:block md:w-1/2 md:text-right md:pr-8\">\n <span\n className={cn(\n 'font-semibold',\n isOverdue(dateKey) && 'text-destructive'\n )}\n >\n {getDateLabel(dateKey)}\n </span>\n <span className=\"block text-sm text-muted-foreground\">\n {itemsByDate[dateKey].length} item(s)\n </span>\n </div>\n\n {/* Items */}\n <div className=\"flex-1 md:w-1/2 md:pl-8\">\n <div className=\"md:hidden mb-2\">\n <span\n className={cn(\n 'font-semibold',\n isOverdue(dateKey) && 'text-destructive'\n )}\n >\n {getDateLabel(dateKey)}\n </span>\n </div>\n <div className=\"space-y-3\">\n {itemsByDate[dateKey].map((item) => {\n const stage = stageMap[item.stageId]\n return (\n <Card\n key={item.id}\n className=\"cursor-pointer hover:shadow-md transition-shadow\"\n onClick={() => onItemClick?.(item)}\n >\n <CardContent className=\"p-4\">\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"min-w-0 flex-1\">\n <h4 className=\"font-medium truncate\">{item.title}</h4>\n {item.company && (\n <p className=\"text-sm text-muted-foreground\">\n {item.company}\n </p>\n )}\n </div>\n {item.value !== undefined && (\n <div className=\"font-semibold\">\n {formatCurrency(item.value, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n })}\n </div>\n )}\n </div>\n <div className=\"flex items-center gap-3 mt-3 text-sm\">\n {stage && (\n <div className=\"flex items-center gap-1.5\">\n {stage.color && (\n <div\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <span>{stage.name}</span>\n </div>\n )}\n {item.owner && (\n <span className=\"text-muted-foreground\">{item.owner.name}</span>\n )}\n </div>\n </CardContent>\n </Card>\n )\n })}\n </div>\n </div>\n </div>\n ))}\n </div>\n )}\n </div>\n </ScrollArea>\n </div>\n )\n }\n)\nPipelineTimeline.displayName = 'PipelineTimeline'\n\n// Pipeline Summary/Footer Component\nexport interface PipelineSummaryProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nconst PipelineSummary = React.forwardRef<HTMLDivElement, PipelineSummaryProps>(\n ({ className, ...props }, ref) => {\n const { stages, items } = usePipeline()\n const { formatCurrency, t } = useFormatters()\n\n const totalValue = items.reduce((sum, item) => sum + (item.value || 0), 0)\n const totalItems = items.length\n\n const stageStats = React.useMemo(() => {\n return stages.map((stage) => {\n const stageItems = items.filter((item) => item.stageId === stage.id)\n const value = stageItems.reduce((sum, item) => sum + (item.value || 0), 0)\n return {\n ...stage,\n count: stageItems.length,\n value,\n }\n })\n }, [stages, items])\n\n return (\n <div\n ref={ref}\n className={cn('border-t bg-muted/30 px-4 py-3', className)}\n {...props}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div className=\"flex items-center gap-6\">\n <div>\n <span className=\"text-sm text-muted-foreground\">{t('common.total')}</span>\n <div className=\"font-semibold\">\n {formatCurrency(totalValue, { minimumFractionDigits: 0, maximumFractionDigits: 0 })}\n </div>\n </div>\n <div>\n <span className=\"text-sm text-muted-foreground\">{t('common.items')}</span>\n <div className=\"font-semibold\">{totalItems}</div>\n </div>\n </div>\n <div className=\"flex items-center gap-4\">\n {stageStats.map((stage) => (\n <div key={stage.id} className=\"flex items-center gap-2 text-sm\">\n {stage.color && (\n <div\n className=\"h-2 w-2 rounded-full\"\n style={{ backgroundColor: stage.color }}\n />\n )}\n <span className=\"text-muted-foreground\">{stage.name}:</span>\n <span className=\"font-medium\">{stage.count}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n }\n)\nPipelineSummary.displayName = 'PipelineSummary'\n\nexport {\n Pipeline,\n PipelineHeader,\n PipelineContent,\n PipelineKanban,\n PipelineList,\n PipelineTable,\n PipelineTimeline,\n PipelineSummary,\n}\n"],"names":["Filter","createLucideIcon","GripVertical","LayoutGrid","List","Table2","AppShell","React","className","children","props","ref","jsx","cn","AppShellHeader","AppShellMain","AppShellFooter","PageHeader","heading","description","actions","jsxs","DashboardLayoutContext","useDashboardLayout","context","DashboardLayout","defaultSidebarOpen","defaultSidebarCollapsed","sidebarWidth","sidebarCollapsedWidth","isMobile","useIsMobile","sidebarOpen","setSidebarOpen","sidebarCollapsed","setSidebarCollapsed","toggleSidebar","prev","handleKeyDown","event","contextValue","DashboardSidebar","Sheet","SheetContent","DashboardContent","DashboardHeader","DashboardMain","DashboardFooter","PipelineContext","usePipeline","Pipeline","stages","items","defaultView","controlledView","onViewChange","onItemMove","onItemClick","onItemAdd","onItemEdit","onItemDelete","internalView","setInternalView","selectedItems","setSelectedItems","searchQuery","setSearchQuery","groupBy","setGroupBy","view","handleViewChange","newView","filteredItems","query","item","PipelineHeader","showViewSelector","showSearch","showAddButton","addButtonLabel","onAdd","title","setView","t","useFormatters","viewOptions","Calendar","Badge","Search","Input","e","option","Button","Plus","PipelineContent","Fragment","PipelineKanban","PipelineList","PipelineTable","PipelineTimeline","SortablePipelineCard","stageId","renderItem","defaultRenderItem","attributes","listeners","setNodeRef","transform","transition","isSortableDragging","useSortable","style","CSS","DroppableColumn","stage","columnWidth","getStageTotal","formatCurrency","itemIds","DropdownMenu","DropdownMenuTrigger","MoreHorizontal","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","ScrollArea","SortableContext","verticalListSortingStrategy","formatDate","activeItem","setActiveItem","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","itemsByStage","grouped","sum","priorityColors","Card","CardContent","handleDragStart","active","activeData","handleDragOver","_event","handleDragEnd","over","overData","fromStageId","toStageId","overItem","sortedStages","a","b","DndContext","closestCorners","ScrollBar","DragOverlay","toggleSelect","itemId","id","Checkbox","stageMap","map","toggleSelectAll","itemsByDate","today","dateA","dateB","dateKey","dateKeys","getDateLabel","date","todayDate","diff","isOverdue","PipelineSummary","totalValue","totalItems","stageStats","stageItems","value"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}