@xploreu/components 0.4.47 → 0.4.50

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 (402) hide show
  1. package/dist/{chunk-6QWQDSWL.js → chunk-3PHZ2D2L.js} +2 -2
  2. package/dist/{chunk-6QWQDSWL.js.map → chunk-3PHZ2D2L.js.map} +1 -1
  3. package/dist/{chunk-Y2HN4RSA.js → chunk-6WWKP7KX.js} +2 -2
  4. package/dist/{chunk-Y2HN4RSA.js.map → chunk-6WWKP7KX.js.map} +1 -1
  5. package/dist/{chunk-I7XV55MM.js → chunk-7ZY7ZMEK.js} +2 -2
  6. package/dist/{chunk-I7XV55MM.js.map → chunk-7ZY7ZMEK.js.map} +1 -1
  7. package/dist/{chunk-RH7BQGTL.js → chunk-BRWBF2EN.js} +2 -2
  8. package/dist/{chunk-RH7BQGTL.js.map → chunk-BRWBF2EN.js.map} +1 -1
  9. package/dist/{chunk-SVNG3RLD.js → chunk-C5UISTOE.js} +2 -2
  10. package/dist/{chunk-SVNG3RLD.js.map → chunk-C5UISTOE.js.map} +1 -1
  11. package/dist/{chunk-V2PW53KI.js → chunk-CE6QYHWL.js} +2 -2
  12. package/dist/{chunk-V2PW53KI.js.map → chunk-CE6QYHWL.js.map} +1 -1
  13. package/dist/chunk-GC36Q7SO.js +2 -0
  14. package/dist/chunk-GC36Q7SO.js.map +1 -0
  15. package/dist/{chunk-M63WCJ22.js → chunk-GDWTPI4H.js} +2 -2
  16. package/dist/{chunk-M63WCJ22.js.map → chunk-GDWTPI4H.js.map} +1 -1
  17. package/dist/{chunk-3733D5Y7.js → chunk-HG2N6L3T.js} +2 -2
  18. package/dist/{chunk-3733D5Y7.js.map → chunk-HG2N6L3T.js.map} +1 -1
  19. package/dist/{chunk-G2GFDTP5.js → chunk-LPH7XAEU.js} +2 -2
  20. package/dist/{chunk-G2GFDTP5.js.map → chunk-LPH7XAEU.js.map} +1 -1
  21. package/dist/{chunk-3SORJB7P.js → chunk-M3QZRGBX.js} +2 -2
  22. package/dist/{chunk-3SORJB7P.js.map → chunk-M3QZRGBX.js.map} +1 -1
  23. package/dist/{chunk-C5HZCXIB.js → chunk-MPT2GZBB.js} +2 -2
  24. package/dist/{chunk-C5HZCXIB.js.map → chunk-MPT2GZBB.js.map} +1 -1
  25. package/dist/chunk-MVKKGQNL.js +2 -0
  26. package/dist/chunk-MVKKGQNL.js.map +1 -0
  27. package/dist/chunk-RKSAOD4G.js +2 -0
  28. package/dist/chunk-RKSAOD4G.js.map +1 -0
  29. package/dist/{chunk-BES6JPWQ.js → chunk-Y5YFPTOQ.js} +2 -2
  30. package/dist/{chunk-BES6JPWQ.js.map → chunk-Y5YFPTOQ.js.map} +1 -1
  31. package/dist/composites/combobox-chip-outside.d.ts +44 -0
  32. package/dist/composites/combobox-chip-outside.js +1 -1
  33. package/dist/composites/combobox-chip.d.ts +47 -0
  34. package/dist/composites/combobox-chip.js +1 -1
  35. package/dist/composites/combobox-simple.d.ts +37 -0
  36. package/dist/composites/combobox-simple.js +1 -1
  37. package/dist/composites/filter-combobox.d.ts +36 -0
  38. package/dist/composites/filter-combobox.js +1 -1
  39. package/dist/composites/index.d.ts +50 -0
  40. package/dist/composites/index.js +1 -1
  41. package/dist/composites/index.js.map +1 -1
  42. package/dist/composites/phone-input.d.ts +14 -0
  43. package/dist/composites/phone-input.js +1 -1
  44. package/dist/composites/profile-avatar.d.ts +29 -0
  45. package/dist/composites/profile-avatar.js +1 -1
  46. package/dist/effects/auto-height.d.ts +13 -0
  47. package/dist/effects/highlight.d.ts +93 -0
  48. package/dist/effects/index.d.ts +5 -0
  49. package/dist/form/form-input.d.ts +19 -0
  50. package/dist/form/form-input.js +1 -1
  51. package/dist/form/form-textarea.d.ts +18 -0
  52. package/dist/form/form.d.ts +44 -0
  53. package/dist/form/index.d.ts +12 -0
  54. package/dist/form/index.js +1 -1
  55. package/dist/icons/about-me-icon.d.ts +6 -0
  56. package/dist/icons/academic-cap-dual-tone-icon.d.ts +6 -0
  57. package/dist/icons/academic-cap-icon.d.ts +6 -0
  58. package/dist/icons/activity-on-tab-profile-icon.d.ts +6 -0
  59. package/dist/icons/add-connect-icon.d.ts +6 -0
  60. package/dist/icons/alert-jobs-icon.d.ts +6 -0
  61. package/dist/icons/applicants-icon.d.ts +6 -0
  62. package/dist/icons/application-status-icon.d.ts +6 -0
  63. package/dist/icons/archive-message-icon.d.ts +6 -0
  64. package/dist/icons/arrow-go-to-location-icon.d.ts +6 -0
  65. package/dist/icons/bag-icon.d.ts +6 -0
  66. package/dist/icons/bag2-icon.d.ts +6 -0
  67. package/dist/icons/bag3-icon.d.ts +6 -0
  68. package/dist/icons/bell-icon.d.ts +6 -0
  69. package/dist/icons/birthday-date-icon.d.ts +6 -0
  70. package/dist/icons/book-dual-tone-icon.d.ts +6 -0
  71. package/dist/icons/book-open.d.ts +6 -0
  72. package/dist/icons/bookmark-filled-icon.d.ts +6 -0
  73. package/dist/icons/bookmark-icon.d.ts +6 -0
  74. package/dist/icons/brief-dual-tone-icon.d.ts +6 -0
  75. package/dist/icons/brief-minimalistic-dual-tone-icon.d.ts +6 -0
  76. package/dist/icons/brief-minimalistic-icon.d.ts +6 -0
  77. package/dist/icons/building-dual-tone-icon.d.ts +6 -0
  78. package/dist/icons/building-icon.d.ts +6 -0
  79. package/dist/icons/building-infrastructure-icon.d.ts +6 -0
  80. package/dist/icons/calendar-icon.d.ts +6 -0
  81. package/dist/icons/case-icon.d.ts +6 -0
  82. package/dist/icons/certificate-icon.d.ts +6 -0
  83. package/dist/icons/certificate-on-profile-icon.d.ts +6 -0
  84. package/dist/icons/chart-square-icon.d.ts +6 -0
  85. package/dist/icons/chat-round-dots-icon.d.ts +6 -0
  86. package/dist/icons/check-square-icon.d.ts +6 -0
  87. package/dist/icons/checkbox-base-icon.d.ts +6 -0
  88. package/dist/icons/checkbox-new-icon.d.ts +6 -0
  89. package/dist/icons/checkbox-select-icon.d.ts +6 -0
  90. package/dist/icons/checklist-icon.d.ts +6 -0
  91. package/dist/icons/checklist-minimalist-icon.d.ts +6 -0
  92. package/dist/icons/circle-quarter-icon.d.ts +6 -0
  93. package/dist/icons/city-icon.d.ts +6 -0
  94. package/dist/icons/clear-icon.d.ts +6 -0
  95. package/dist/icons/clipboard-icon.d.ts +6 -0
  96. package/dist/icons/clock-min.d.ts +6 -0
  97. package/dist/icons/clock-plus.d.ts +6 -0
  98. package/dist/icons/close-square-icon.d.ts +6 -0
  99. package/dist/icons/cloud-upload-icon.d.ts +6 -0
  100. package/dist/icons/comment-icon.d.ts +6 -0
  101. package/dist/icons/company-industry-icon.d.ts +6 -0
  102. package/dist/icons/company-on-job-description-icon.d.ts +6 -0
  103. package/dist/icons/company-on-job-preferences-icon.d.ts +6 -0
  104. package/dist/icons/company-post-icon.d.ts +6 -0
  105. package/dist/icons/connection-company-icon.d.ts +6 -0
  106. package/dist/icons/connections-icon.d.ts +6 -0
  107. package/dist/icons/contact-on-settings-icon.d.ts +6 -0
  108. package/dist/icons/copy-icon.d.ts +6 -0
  109. package/dist/icons/course-icon-search-icon.d.ts +6 -0
  110. package/dist/icons/create-free-jobs-with-ai-icon.d.ts +6 -0
  111. package/dist/icons/create-group-message-icon.d.ts +6 -0
  112. package/dist/icons/create-job-icon.d.ts +6 -0
  113. package/dist/icons/danger-triangle-icon.d.ts +6 -0
  114. package/dist/icons/delete-icon.d.ts +6 -0
  115. package/dist/icons/document-add-icon.d.ts +6 -0
  116. package/dist/icons/document-notes-icon.d.ts +6 -0
  117. package/dist/icons/dots-icon.d.ts +6 -0
  118. package/dist/icons/download-cv-icon.d.ts +6 -0
  119. package/dist/icons/download-minimalistic-icon.d.ts +6 -0
  120. package/dist/icons/drive-db.d.ts +6 -0
  121. package/dist/icons/duration-of-work-icon.d.ts +6 -0
  122. package/dist/icons/duration-open-to-offer-icon.d.ts +6 -0
  123. package/dist/icons/edit-icon.d.ts +6 -0
  124. package/dist/icons/edit-on-button-profile-icon.d.ts +6 -0
  125. package/dist/icons/edit-on-section-profile-icon.d.ts +6 -0
  126. package/dist/icons/education-icon.d.ts +6 -0
  127. package/dist/icons/education-on-card-icon.d.ts +6 -0
  128. package/dist/icons/employment-type-on-job-preferences-icon.d.ts +6 -0
  129. package/dist/icons/evaluation-icon.d.ts +6 -0
  130. package/dist/icons/expected-salary-on-job-preferences-icon.d.ts +6 -0
  131. package/dist/icons/experience-icon.d.ts +6 -0
  132. package/dist/icons/female-on-summary-profile-icon.d.ts +6 -0
  133. package/dist/icons/file-default-icon.d.ts +6 -0
  134. package/dist/icons/file-doc-icon.d.ts +6 -0
  135. package/dist/icons/file-docx-icon.d.ts +6 -0
  136. package/dist/icons/file-jpg-icon.d.ts +6 -0
  137. package/dist/icons/file-mkv-icon.d.ts +6 -0
  138. package/dist/icons/file-mov-icon.d.ts +6 -0
  139. package/dist/icons/file-mp4-icon.d.ts +6 -0
  140. package/dist/icons/file-pdf-icon.d.ts +6 -0
  141. package/dist/icons/file-png-icon.d.ts +6 -0
  142. package/dist/icons/file-ppt-icon.d.ts +6 -0
  143. package/dist/icons/file-text-icon.d.ts +6 -0
  144. package/dist/icons/file-video-icon.d.ts +6 -0
  145. package/dist/icons/fire-icon.d.ts +6 -0
  146. package/dist/icons/flag-icon.d.ts +6 -0
  147. package/dist/icons/folder-icon.d.ts +6 -0
  148. package/dist/icons/followers-on-connections-icon.d.ts +6 -0
  149. package/dist/icons/following-on-connections-icon.d.ts +6 -0
  150. package/dist/icons/forward-icon.d.ts +6 -0
  151. package/dist/icons/funnel-icon.d.ts +6 -0
  152. package/dist/icons/gallery-add-icon.d.ts +6 -0
  153. package/dist/icons/gallery-favorite-icon.d.ts +6 -0
  154. package/dist/icons/gallery-icon.d.ts +6 -0
  155. package/dist/icons/general-preference-on-settings-icon.d.ts +6 -0
  156. package/dist/icons/globe-dual-tone-icon.d.ts +6 -0
  157. package/dist/icons/hand-stars-icon.d.ts +6 -0
  158. package/dist/icons/hard-skill-on-profile-icon.d.ts +6 -0
  159. package/dist/icons/help-icon.d.ts +6 -0
  160. package/dist/icons/hidden-icon.d.ts +6 -0
  161. package/dist/icons/hide-passwords-icon.d.ts +6 -0
  162. package/dist/icons/hired-by-others-icon.d.ts +6 -0
  163. package/dist/icons/home-icon.d.ts +6 -0
  164. package/dist/icons/home-smile-icon.d.ts +6 -0
  165. package/dist/icons/home-table.d.ts +6 -0
  166. package/dist/icons/icon-component.d.ts +6 -0
  167. package/dist/icons/image-on-message-icon.d.ts +6 -0
  168. package/dist/icons/index.d.ts +282 -0
  169. package/dist/icons/index.js +1 -1
  170. package/dist/icons/info-icon.d.ts +6 -0
  171. package/dist/icons/info-square-icon.d.ts +6 -0
  172. package/dist/icons/interested-of-industry-icon.d.ts +6 -0
  173. package/dist/icons/invitations-on-connections-icon.d.ts +6 -0
  174. package/dist/icons/job-description-icon.d.ts +6 -0
  175. package/dist/icons/job-preference-icon.d.ts +6 -0
  176. package/dist/icons/jobs-category-icon.d.ts +6 -0
  177. package/dist/icons/jobseeker-status-on-job-preferences-icon.d.ts +6 -0
  178. package/dist/icons/key-icon.d.ts +6 -0
  179. package/dist/icons/language-on-profile-icon.d.ts +6 -0
  180. package/dist/icons/layers-icon.d.ts +6 -0
  181. package/dist/icons/layout-icon.d.ts +6 -0
  182. package/dist/icons/like-filled-icon.d.ts +6 -0
  183. package/dist/icons/like-icon.d.ts +6 -0
  184. package/dist/icons/link-copy.d.ts +6 -0
  185. package/dist/icons/list-icon.d.ts +6 -0
  186. package/dist/icons/list-option-feedback-icon.d.ts +6 -0
  187. package/dist/icons/living-on-summary-profile-icon.d.ts +6 -0
  188. package/dist/icons/location-company-on-card-icon.d.ts +6 -0
  189. package/dist/icons/location-on-search-icon.d.ts +6 -0
  190. package/dist/icons/lock-icon.d.ts +6 -0
  191. package/dist/icons/logo-icon.d.ts +6 -0
  192. package/dist/icons/logout-icon.d.ts +6 -0
  193. package/dist/icons/lonceng-z-icon.d.ts +6 -0
  194. package/dist/icons/mail-icon.d.ts +6 -0
  195. package/dist/icons/mailbox-icon.d.ts +6 -0
  196. package/dist/icons/male-on-summary-profile-icon.d.ts +6 -0
  197. package/dist/icons/map-cluster-marker-icon.d.ts +6 -0
  198. package/dist/icons/map-marker-icon.d.ts +6 -0
  199. package/dist/icons/map-pin-icon.d.ts +6 -0
  200. package/dist/icons/map-pin-icon2.d.ts +6 -0
  201. package/dist/icons/map-pin2-icon.d.ts +6 -0
  202. package/dist/icons/mark-as-read-icon.d.ts +6 -0
  203. package/dist/icons/media-icon.d.ts +6 -0
  204. package/dist/icons/message-on-card-icon.d.ts +6 -0
  205. package/dist/icons/messages-icon.d.ts +6 -0
  206. package/dist/icons/mic-record-icon.d.ts +6 -0
  207. package/dist/icons/mini-sidebar-icon.d.ts +6 -0
  208. package/dist/icons/money-bill-icon.d.ts +6 -0
  209. package/dist/icons/mute-message-icon.d.ts +6 -0
  210. package/dist/icons/my-connecions-icon.d.ts +6 -0
  211. package/dist/icons/my-connections-on-tab-profile-icon.d.ts +6 -0
  212. package/dist/icons/my-cover-letter-icon.d.ts +6 -0
  213. package/dist/icons/my-dashboard-icon.d.ts +6 -0
  214. package/dist/icons/my-dashboards-icon.d.ts +6 -0
  215. package/dist/icons/my-drive-icon.d.ts +6 -0
  216. package/dist/icons/my-portofolio-icon.d.ts +6 -0
  217. package/dist/icons/my-resume-icon.d.ts +6 -0
  218. package/dist/icons/new-message-icon.d.ts +6 -0
  219. package/dist/icons/new-post-icon.d.ts +6 -0
  220. package/dist/icons/news-icon.d.ts +6 -0
  221. package/dist/icons/notification-icon.d.ts +6 -0
  222. package/dist/icons/notification-on-settings-icon.d.ts +6 -0
  223. package/dist/icons/offered-by-others-icon.d.ts +6 -0
  224. package/dist/icons/office-open-to-offer-icon.d.ts +6 -0
  225. package/dist/icons/office-opent-to-offer-section-icon.d.ts +6 -0
  226. package/dist/icons/open-another-page-icon.d.ts +6 -0
  227. package/dist/icons/open-preview-my-profile-icon.d.ts +6 -0
  228. package/dist/icons/open-to-offer-section-icon.d.ts +6 -0
  229. package/dist/icons/open-to-opportunities-icon.d.ts +6 -0
  230. package/dist/icons/other-job-for-you-icon.d.ts +6 -0
  231. package/dist/icons/other-job-from-this-company-icon.d.ts +6 -0
  232. package/dist/icons/passwords-icon.d.ts +6 -0
  233. package/dist/icons/pdf-on-apply-job-icon.d.ts +6 -0
  234. package/dist/icons/pen-new-square-icon.d.ts +6 -0
  235. package/dist/icons/people-you-may-know-icon.d.ts +6 -0
  236. package/dist/icons/people-your-company-icon.d.ts +6 -0
  237. package/dist/icons/phone-dual-tone-icon.d.ts +6 -0
  238. package/dist/icons/phone-icon.d.ts +6 -0
  239. package/dist/icons/pin-location-new-icon.d.ts +6 -0
  240. package/dist/icons/pin-message-icon.d.ts +6 -0
  241. package/dist/icons/plain-icon.d.ts +6 -0
  242. package/dist/icons/plus-square-icon.d.ts +6 -0
  243. package/dist/icons/posts-icon-search-icon.d.ts +6 -0
  244. package/dist/icons/priority-by-icon.d.ts +6 -0
  245. package/dist/icons/private-post-icon.d.ts +6 -0
  246. package/dist/icons/profile-icon.d.ts +6 -0
  247. package/dist/icons/public-post-icon.d.ts +6 -0
  248. package/dist/icons/public-post-on-card-icon.d.ts +6 -0
  249. package/dist/icons/repeat-icon.d.ts +6 -0
  250. package/dist/icons/reply-icon.d.ts +6 -0
  251. package/dist/icons/report-icon.d.ts +6 -0
  252. package/dist/icons/repost-icon.d.ts +6 -0
  253. package/dist/icons/reposted-icon.d.ts +6 -0
  254. package/dist/icons/save-jobs-icon.d.ts +6 -0
  255. package/dist/icons/save-post-menu-icon.d.ts +6 -0
  256. package/dist/icons/search-bar-icon.d.ts +6 -0
  257. package/dist/icons/search-icon.d.ts +6 -0
  258. package/dist/icons/search-with-date-icon.d.ts +6 -0
  259. package/dist/icons/send-comment-icon.d.ts +6 -0
  260. package/dist/icons/settings-icon.d.ts +6 -0
  261. package/dist/icons/share-circle-icon.d.ts +6 -0
  262. package/dist/icons/share-icon.d.ts +6 -0
  263. package/dist/icons/share-link.d.ts +6 -0
  264. package/dist/icons/shield-dualtone.d.ts +6 -0
  265. package/dist/icons/show-passwords-icon.d.ts +6 -0
  266. package/dist/icons/size-company-icon.d.ts +6 -0
  267. package/dist/icons/skill-on-tab-profile-icon.d.ts +6 -0
  268. package/dist/icons/skills-icon.d.ts +6 -0
  269. package/dist/icons/smile-icon.d.ts +6 -0
  270. package/dist/icons/soft-skill-icon.d.ts +6 -0
  271. package/dist/icons/sort-ascending-icon.d.ts +6 -0
  272. package/dist/icons/sort-by-icon.d.ts +6 -0
  273. package/dist/icons/sort-default-icon.d.ts +6 -0
  274. package/dist/icons/sort-descending-icon.d.ts +6 -0
  275. package/dist/icons/sort-horizontal-icon.d.ts +6 -0
  276. package/dist/icons/sosial-media-section-icon.d.ts +6 -0
  277. package/dist/icons/sparkle-star-icon.d.ts +6 -0
  278. package/dist/icons/sparkles-icon.d.ts +6 -0
  279. package/dist/icons/speech-icon.d.ts +6 -0
  280. package/dist/icons/stacked-layout-dual-tone-icon.d.ts +6 -0
  281. package/dist/icons/star-icon.d.ts +6 -0
  282. package/dist/icons/stars-icon.d.ts +6 -0
  283. package/dist/icons/sugested-company-icon.d.ts +6 -0
  284. package/dist/icons/suitcase-icon.d.ts +6 -0
  285. package/dist/icons/technical-skill-icon.d.ts +6 -0
  286. package/dist/icons/theme-icon.d.ts +6 -0
  287. package/dist/icons/themes-icon.d.ts +6 -0
  288. package/dist/icons/translate-icon.d.ts +6 -0
  289. package/dist/icons/trash-icon.d.ts +6 -0
  290. package/dist/icons/unarchive-message-icon.d.ts +6 -0
  291. package/dist/icons/unfollow-icon.d.ts +6 -0
  292. package/dist/icons/unmute-message-icon.d.ts +6 -0
  293. package/dist/icons/unpin-message-icon.d.ts +6 -0
  294. package/dist/icons/unsave-job-icon.d.ts +6 -0
  295. package/dist/icons/upload-document-icon.d.ts +6 -0
  296. package/dist/icons/upload-document-new-icon.d.ts +6 -0
  297. package/dist/icons/upload-event-icon.d.ts +6 -0
  298. package/dist/icons/upload-file-placeholder-icon.d.ts +6 -0
  299. package/dist/icons/upload-generate-image-icon.d.ts +6 -0
  300. package/dist/icons/upload-generate-post-icon.d.ts +6 -0
  301. package/dist/icons/upload-media-icon.d.ts +6 -0
  302. package/dist/icons/upload-media-new-icon.d.ts +6 -0
  303. package/dist/icons/upload-pictures-on-profile-icon.d.ts +6 -0
  304. package/dist/icons/upload-pollingt-new-icon.d.ts +6 -0
  305. package/dist/icons/upload-pooling-icon.d.ts +6 -0
  306. package/dist/icons/upload-reels-icon.d.ts +6 -0
  307. package/dist/icons/user-check-icon.d.ts +6 -0
  308. package/dist/icons/user-connections.d.ts +6 -0
  309. package/dist/icons/user-dual-tone-icon.d.ts +6 -0
  310. package/dist/icons/user-hands-up.d.ts +6 -0
  311. package/dist/icons/user-heart-rounded.d.ts +6 -0
  312. package/dist/icons/user-icon.d.ts +6 -0
  313. package/dist/icons/user-unfollow.d.ts +6 -0
  314. package/dist/icons/users-dual-tone-icon.d.ts +6 -0
  315. package/dist/icons/users-group-icon.d.ts +6 -0
  316. package/dist/icons/users-group-rounded-icon.d.ts +6 -0
  317. package/dist/icons/users-group-two-rounded-icon.d.ts +6 -0
  318. package/dist/icons/verified-icon.d.ts +6 -0
  319. package/dist/icons/video-on-message-icon.d.ts +6 -0
  320. package/dist/icons/view-grid-row-icon.d.ts +6 -0
  321. package/dist/icons/view-grid1-icon.d.ts +6 -0
  322. package/dist/icons/view-grid2-icon.d.ts +6 -0
  323. package/dist/icons/view-grid3-icon.d.ts +6 -0
  324. package/dist/icons/view-grid4-icon.d.ts +6 -0
  325. package/dist/icons/volume-icon.d.ts +6 -0
  326. package/dist/icons/volume-off-icon.d.ts +6 -0
  327. package/dist/icons/widget-four-icon.d.ts +6 -0
  328. package/dist/icons/widget-icon.d.ts +6 -0
  329. package/dist/icons/working-at-summary-profile-icon.d.ts +6 -0
  330. package/dist/icons/workplace-on-job-preferences-icon.d.ts +6 -0
  331. package/dist/icons/workplace-open-to-offers-icon.d.ts +6 -0
  332. package/dist/icons/x-square-icon.d.ts +6 -0
  333. package/dist/icons/your-summary-profile-icon.d.ts +6 -0
  334. package/dist/primitives/accordion.d.ts +33 -0
  335. package/dist/primitives/alert-dialog.d.ts +34 -0
  336. package/dist/primitives/avatar.d.ts +11 -0
  337. package/dist/primitives/checkbox.d.ts +16 -0
  338. package/dist/primitives/collapsible.d.ts +22 -0
  339. package/dist/primitives/combobox.d.ts +79 -0
  340. package/dist/primitives/dialog.d.ts +34 -0
  341. package/dist/primitives/index.d.ts +47 -0
  342. package/dist/primitives/index.js +1 -1
  343. package/dist/primitives/menu.d.ts +61 -0
  344. package/dist/primitives/popover.d.ts +31 -0
  345. package/dist/primitives/sheet.d.ts +33 -0
  346. package/dist/primitives/slider.d.ts +18 -0
  347. package/dist/primitives/slot.d.ts +19 -0
  348. package/dist/primitives/tabs.d.ts +35 -0
  349. package/dist/primitives/toast.d.ts +27 -0
  350. package/dist/primitives/tooltip.d.ts +32 -0
  351. package/dist/types-BLgXHroz.d.ts +6 -0
  352. package/dist/ui/accordion.d.ts +20 -0
  353. package/dist/ui/alert-dialog.d.ts +39 -0
  354. package/dist/ui/alert.d.ts +19 -0
  355. package/dist/ui/alerter.d.ts +43 -0
  356. package/dist/ui/avatar.d.ts +17 -0
  357. package/dist/ui/avatar.js +1 -1
  358. package/dist/ui/badge.d.ts +30 -0
  359. package/dist/ui/button.d.ts +16 -0
  360. package/dist/ui/calendar.d.ts +40 -0
  361. package/dist/ui/carousel.d.ts +35 -0
  362. package/dist/ui/checkbox.d.ts +16 -0
  363. package/dist/ui/collapsible.d.ts +15 -0
  364. package/dist/ui/combobox.d.ts +105 -0
  365. package/dist/ui/combobox.js +1 -1
  366. package/dist/ui/date-multiple-picker.d.ts +26 -0
  367. package/dist/ui/date-multiple-picker.js +1 -1
  368. package/dist/ui/date-picker.d.ts +23 -0
  369. package/dist/ui/date-picker.js +1 -1
  370. package/dist/ui/date-range-picker.d.ts +23 -0
  371. package/dist/ui/date-range-picker.js +1 -1
  372. package/dist/ui/dialog.d.ts +40 -0
  373. package/dist/ui/dialog.js +1 -1
  374. package/dist/ui/index.d.ts +116 -0
  375. package/dist/ui/index.js +1 -1
  376. package/dist/ui/infinite-scroll.d.ts +15 -0
  377. package/dist/ui/input-group.d.ts +30 -0
  378. package/dist/ui/input-group.js +2 -0
  379. package/dist/ui/input-group.js.map +1 -0
  380. package/dist/ui/input-new.d.ts +12 -0
  381. package/dist/ui/input-new.js +2 -0
  382. package/dist/ui/input-new.js.map +1 -0
  383. package/dist/ui/input.d.ts +17 -0
  384. package/dist/ui/input.js +1 -1
  385. package/dist/ui/label.d.ts +13 -0
  386. package/dist/ui/menu.d.ts +50 -0
  387. package/dist/ui/pagination.d.ts +15 -0
  388. package/dist/ui/pagination.js +1 -1
  389. package/dist/ui/popover.d.ts +26 -0
  390. package/dist/ui/sheet.d.ts +31 -0
  391. package/dist/ui/slider.d.ts +14 -0
  392. package/dist/ui/switch.d.ts +15 -0
  393. package/dist/ui/switch.js +2 -0
  394. package/dist/ui/switch.js.map +1 -0
  395. package/dist/ui/table.d.ts +27 -0
  396. package/dist/ui/table.js +1 -1
  397. package/dist/ui/tabs.d.ts +26 -0
  398. package/dist/ui/textarea.d.ts +10 -0
  399. package/dist/ui/toast.d.ts +39 -0
  400. package/dist/ui/toast.js +1 -1
  401. package/dist/ui/tooltip.d.ts +17 -0
  402. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/combobox.tsx"],"names":["Combobox","props","jsx","ComboboxTrigger","className","rest","cn","ComboboxLabel","ComboboxInputGroup","ComboboxInput","wrapperClassName","size","Input","SearchIcon","ComboboxInputFilter","displayValueKey","placeholder","inputProps","inputValue","setInputValue","useCombobox","inputClassName","startContent","restInputProps","jsxs","ComboboxChips","e","XIcon","event","ComboboxValue","value","item","ComboboxChip","ComboboxChipRemove","ComboboxIcon","ComboboxClear","Badge","BadgeButton","ComboboxPopup","align","sideOffset","container","initialFocus","finalFocus","style","children","ComboboxPortal","ComboboxPositioner","ComboboxHighlight","ComboboxBackdrop","ComboboxStatus","status","trimmedInputValue","text","Fragment","Loader2Icon","ComboboxEmpty","ComboboxList","items","useFilteredItems","ScrollArea","index","ComboboxHighlightItem","ComboboxRow","ComboboxItem","indicator","disabled","ComboboxItemIndicator","state","CheckCircle2Icon","Checkbox","ComboboxItemTitle","ComboboxItemDescription","ComboboxItemIcon","ComboboxItemAvatar","src","imageSrc","avatarClassName","imageAlt","fallbackText","finalSrc","Avatar","AvatarImage","AvatarFallback","ComboboxSeparator","ComboboxGroup","ComboboxGroupLabel","ComboboxCollection","ComboboxArrow","ComboboxInfiniteScroll","hasMore","threshold","InfiniteScroll"],"mappings":"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","file":"chunk-SVNG3RLD.js","sourcesContent":["import * as React from \"react\"\r\n\r\nimport {\r\n CheckCircle2Icon,\r\n Loader2Icon,\r\n SearchIcon,\r\n XIcon\r\n} from \"lucide-react\"\r\n\r\nimport {\r\n Combobox as ComboboxPrimitive,\r\n ComboboxArrow as ComboboxArrowPrimitive,\r\n type ComboboxArrowProps as ComboboxArrowPrimitiveProps,\r\n ComboboxBackdrop as ComboboxBackdropPrimitive,\r\n type ComboboxBackdropProps as ComboboxBackdropPrimitiveProps,\r\n ComboboxChip as ComboboxChipPrimitive,\r\n type ComboboxChipProps as ComboboxChipPrimitiveProps,\r\n ComboboxChipRemove as ComboboxChipRemovePrimitive,\r\n type ComboboxChipRemoveProps as ComboboxChipRemovePrimitiveProps,\r\n ComboboxChips as ComboboxChipsPrimitive,\r\n type ComboboxChipsProps as ComboboxChipsPrimitiveProps,\r\n ComboboxClear as ComboboxClearPrimitive,\r\n type ComboboxClearProps as ComboboxClearPrimitiveProps,\r\n ComboboxCollection as ComboboxCollectionPrimitive,\r\n type ComboboxCollectionProps as ComboboxCollectionPrimitiveProps,\r\n ComboboxEmpty as ComboboxEmptyPrimitive,\r\n type ComboboxEmptyProps as ComboboxEmptyPrimitiveProps,\r\n ComboboxGroup as ComboboxGroupPrimitive,\r\n ComboboxGroupLabel as ComboboxGroupLabelPrimitive,\r\n type ComboboxGroupLabelProps as ComboboxGroupLabelPrimitiveProps,\r\n type ComboboxGroupProps as ComboboxGroupPrimitiveProps,\r\n ComboboxHighlight as ComboboxHighlightPrimitive,\r\n ComboboxHighlightItem as ComboboxHighlightItemPrimitive,\r\n type ComboboxHighlightItemProps as ComboboxHighlightItemPrimitiveProps,\r\n type ComboboxHighlightProps as ComboboxHighlightPrimitiveProps,\r\n ComboboxIcon as ComboboxIconPrimitive,\r\n type ComboboxIconProps as ComboboxIconPrimitiveProps,\r\n ComboboxInput as ComboboxInputPrimitive,\r\n ComboboxInputGroup as ComboboxInputGroupPrimitive,\r\n type ComboboxInputGroupProps as ComboboxInputGroupPrimitiveProps,\r\n type ComboboxInputProps as ComboboxInputPrimitiveProps,\r\n ComboboxItem as ComboboxItemPrimitive,\r\n ComboboxItemIndicator as ComboboxItemIndicatorPrimitive,\r\n type ComboboxItemIndicatorProps as ComboboxItemIndicatorPrimitiveProps,\r\n type ComboboxItemProps as ComboboxItemPrimitiveProps,\r\n ComboboxLabel as ComboboxLabelPrimitive,\r\n type ComboboxLabelProps as ComboboxLabelPrimitiveProps,\r\n ComboboxList as ComboboxListPrimitive,\r\n type ComboboxListProps as ComboboxListPrimitiveProps,\r\n ComboboxPopup as ComboboxPopupPrimitive,\r\n type ComboboxPopupProps as ComboboxPopupPrimitiveProps,\r\n ComboboxPortal as ComboboxPortalPrimitive,\r\n type ComboboxPortalProps as ComboboxPortalPrimitiveProps,\r\n ComboboxPositioner as ComboboxPositionerPrimitive,\r\n type ComboboxPositionerProps as ComboboxPositionerPrimitiveProps,\r\n type ComboboxProps as ComboboxPrimitiveProps,\r\n ComboboxRow as ComboboxRowPrimitive,\r\n type ComboboxRowProps as ComboboxRowPrimitiveProps,\r\n ComboboxSeparator as ComboboxSeparatorPrimitive,\r\n type ComboboxSeparatorProps as ComboboxSeparatorPrimitiveProps,\r\n ComboboxStatus as ComboboxStatusPrimitive,\r\n type ComboboxStatusProps as ComboboxStatusPrimitiveProps,\r\n ComboboxTrigger as ComboboxTriggerPrimitive,\r\n type ComboboxTriggerProps as ComboboxTriggerPrimitiveProps,\r\n ComboboxValue as ComboboxValuePrimitive,\r\n type ComboboxValueProps as ComboboxValuePrimitiveProps,\r\n useCombobox,\r\n useFilteredItems,\r\n} from \"../primitives/combobox\"\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { ScrollArea } from \"./scroll-area\"\r\nimport { Badge, BadgeButton } from \"./badge\"\r\nimport { InfiniteScroll } from \"./infinite-scroll\"\r\nimport { Input } from \"./input\"\r\nimport { Checkbox } from \"./checkbox\"\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"./avatar\"\r\n\r\ntype ComboboxProps<Value, Multiple extends boolean | undefined = false> = ComboboxPrimitiveProps<Value, Multiple>\r\n\r\nfunction Combobox<Value, Multiple extends boolean | undefined = false>(props: ComboboxProps<Value, Multiple>) {\r\n return (\r\n <ComboboxPrimitive {...props} />\r\n )\r\n}\r\n\r\ntype ComboboxTriggerProps = ComboboxTriggerPrimitiveProps\r\n\r\nfunction ComboboxTrigger(props: ComboboxTriggerProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxTriggerPrimitive\r\n className={cn(\r\n \"group/combobox-trigger flex items-center gap-2\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxLabelProps = ComboboxLabelPrimitiveProps\r\n\r\nfunction ComboboxLabel(props: ComboboxLabelProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxLabelPrimitive\r\n className={cn(\r\n \"text-label-semibold-2 text-text-secondary\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxInputGroupProps = ComboboxInputGroupPrimitiveProps\r\n\r\nfunction ComboboxInputGroup(props: ComboboxInputGroupProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxInputGroupPrimitive\r\n className={cn(\r\n \"flex w-full items-center gap-2\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxInputProps = Omit<ComboboxInputPrimitiveProps, \"size\"> & {\r\n wrapperClassName?: string\r\n size?: React.ComponentProps<typeof Input>[\"size\"]\r\n}\r\n\r\nfunction ComboboxInput({\r\n className,\r\n wrapperClassName,\r\n size = \"xs\",\r\n ...props\r\n}: ComboboxInputProps) {\r\n\r\n return (\r\n <div className={cn(\"p-3 border-b border-border-primary\", wrapperClassName)}>\r\n <ComboboxInputPrimitive\r\n className={className}\r\n render={<Input size={size} startContent={<SearchIcon />} />}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction ComboboxInputFilter({\r\n className,\r\n displayValueKey = { label: \"label\", value: \"value\" },\r\n placeholder = \"Search and Select Company\",\r\n inputProps,\r\n size,\r\n ...props\r\n}: ComboboxInputProps & {\r\n displayValueKey?: {\r\n label: string\r\n value: string\r\n }\r\n placeholder?: string\r\n inputProps?: React.ComponentProps<typeof Input>\r\n}) {\r\n const { inputValue, setInputValue } = useCombobox()\r\n const { className: inputClassName, startContent, ...restInputProps } = inputProps || {}\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-2\", className)}>\r\n <ComboboxChips\r\n onMouseDown={(e) => e.preventBaseUIHandler()}\r\n className=\"flex-col\"\r\n >\r\n <ComboboxInputPrimitive\r\n render={\r\n <Input\r\n className={cn(\"h-9 text-body-regular-3 pl-9 pr-7\", inputClassName)}\r\n endContent={\r\n <ComboboxTrigger\r\n nativeButton={false}\r\n render={(\r\n <XIcon\r\n className=\"!size-5 !right-1.5 data-[hidden=true]:opacity-0 opacity-100 transition-opacity duration-300 cursor-pointer\"\r\n data-hidden={!inputValue}\r\n data-slot=\"combobox-clear-input\"\r\n onClick={(event) => {\r\n setInputValue(\"\", {\r\n reason: \"none\",\r\n event: event.nativeEvent,\r\n cancel: () => { },\r\n allowPropagation: () => { },\r\n isCanceled: false,\r\n isPropagationAllowed: true,\r\n trigger: undefined,\r\n })\r\n }}\r\n />\r\n )}\r\n />\r\n }\r\n placeholder={placeholder}\r\n startContent={startContent ?? <SearchIcon className=\"!size-4 !text-fg-tertiary-hover\" />}\r\n {...restInputProps}\r\n />\r\n }\r\n {...props}\r\n />\r\n <ComboboxValue>\r\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\r\n {(value) => value?.map((item: any) => (\r\n <ComboboxChip key={item?.[displayValueKey.value] || \"\"}>\r\n {item?.[displayValueKey.label] || \"\"}\r\n <ComboboxChipRemove />\r\n </ComboboxChip>\r\n ))}\r\n </ComboboxValue>\r\n </ComboboxChips>\r\n </div>\r\n )\r\n}\r\n\r\ntype ComboboxIconProps = ComboboxIconPrimitiveProps\r\n\r\nfunction ComboboxIcon(props: ComboboxIconProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxIconPrimitive\r\n className={cn(\"text-text-secondary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxClearProps = ComboboxClearPrimitiveProps\r\n\r\nfunction ComboboxClear(props: ComboboxClearProps) {\r\n\r\n return (\r\n <ComboboxClearPrimitive\r\n render={<XIcon />}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxValueProps = ComboboxValuePrimitiveProps\r\n\r\nfunction ComboboxValue(props: ComboboxValueProps) {\r\n return <ComboboxValuePrimitive {...props} />\r\n}\r\n\r\ntype ComboboxChipsProps = ComboboxChipsPrimitiveProps\r\n\r\nfunction ComboboxChips({\r\n className,\r\n ...props\r\n}: ComboboxChipsProps) {\r\n return <ComboboxChipsPrimitive\r\n className={cn(\"flex flex-wrap gap-2\", className)}\r\n {...props}\r\n />\r\n}\r\n\r\ntype ComboboxChipProps = ComboboxChipPrimitiveProps\r\n\r\nfunction ComboboxChip({\r\n className,\r\n ...props\r\n}: ComboboxChipProps) {\r\n return (\r\n <Badge\r\n className={cn(\"ring-1 ring-border-brand text-body-medium-3\", className)}\r\n color=\"brand\"\r\n render={(\r\n <ComboboxChipPrimitive\r\n {...props}\r\n />\r\n )}\r\n size=\"lg\"\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxChipRemoveProps = ComboboxChipRemovePrimitiveProps\r\n\r\nfunction ComboboxChipRemove({\r\n className,\r\n ...props\r\n}: ComboboxChipRemoveProps) {\r\n return (\r\n <BadgeButton\r\n className={cn(\"text-fg-quaternary\", className)}\r\n render={(\r\n <ComboboxChipRemovePrimitive\r\n {...props}\r\n />\r\n )}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxPopupProps = ComboboxPositionerPrimitiveProps &\r\n ComboboxPopupPrimitiveProps & {\r\n container?: React.ComponentProps<typeof ComboboxPortal>[\"container\"]\r\n }\r\n\r\nfunction ComboboxPopup({\r\n className,\r\n align = \"start\",\r\n sideOffset = 4,\r\n container,\r\n initialFocus,\r\n finalFocus,\r\n style,\r\n children,\r\n ...props\r\n}: ComboboxPopupProps) {\r\n return (\r\n <ComboboxPortalPrimitive container={container}>\r\n <ComboboxPositionerPrimitive\r\n align={align}\r\n className=\"isolate z-50\"\r\n sideOffset={sideOffset}\r\n {...props}\r\n >\r\n <ComboboxPopupPrimitive\r\n className={cn(\r\n \"group/combobox-popup bg-bg-primary text-text-primary max-h-(--available-height) w-72 max-w-(--available-width) origin-(--transform-origin) rounded-md border border-border-primary shadow-md outline-hidden\",\r\n className,\r\n )}\r\n finalFocus={finalFocus}\r\n initialFocus={initialFocus}\r\n style={style}\r\n >\r\n <ComboboxHighlight>\r\n {children}\r\n </ComboboxHighlight>\r\n </ComboboxPopupPrimitive>\r\n </ComboboxPositionerPrimitive>\r\n </ComboboxPortalPrimitive>\r\n )\r\n}\r\n\r\ntype ComboboxPortalProps = ComboboxPortalPrimitiveProps\r\n\r\nfunction ComboboxPortal(props: ComboboxPortalProps) {\r\n return <ComboboxPortalPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxPositionerProps = ComboboxPositionerPrimitiveProps\r\n\r\nfunction ComboboxPositioner(props: ComboboxPositionerProps) {\r\n return <ComboboxPositionerPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxBackdropProps = ComboboxBackdropPrimitiveProps\r\n\r\nfunction ComboboxBackdrop(props: ComboboxBackdropProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxBackdropPrimitive\r\n className={cn(\"bg-black/30\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxStatusProps = ComboboxStatusPrimitiveProps\r\n\r\nfunction ComboboxStatus({\r\n className,\r\n status,\r\n ...props\r\n}: Omit<ComboboxStatusProps, \"children\"> & {\r\n status?: \"empty\" | \"pending\" | null\r\n}) {\r\n const { inputValue } = useCombobox()\r\n\r\n const trimmedInputValue = inputValue?.toString().trim()\r\n\r\n const getText = () => {\r\n if (status === \"empty\" && trimmedInputValue)\r\n return `No matches for \"${trimmedInputValue}\".`\r\n\r\n if (status === \"empty\" && !trimmedInputValue)\r\n return \"No results.\"\r\n\r\n if (status === \"pending\")\r\n return (\r\n <>\r\n <Loader2Icon className=\"animate-spin size-4\" />\r\n <span>\r\n Searching...\r\n </span>\r\n </>\r\n )\r\n\r\n return null\r\n }\r\n\r\n const text = getText()\r\n\r\n return (\r\n <ComboboxStatusPrimitive\r\n className={cn(\r\n \"px-2 py-2.5 text-body-regular-2 text-text-disabled flex items-center gap-2\",\r\n !text && \"hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {text}\r\n </ComboboxStatusPrimitive>\r\n )\r\n}\r\n\r\ntype ComboboxLoadingProps = React.ComponentProps<\"div\">\r\n\r\ntype ComboboxEmptyProps = ComboboxEmptyPrimitiveProps\r\n\r\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\r\n return <ComboboxEmptyPrimitive\r\n className={cn(\"px-3 py-2 text-body-regular-2 text-text-secondary\", className)}\r\n {...props}\r\n />\r\n}\r\n\r\ntype ComboboxListProps = Omit<ComboboxListPrimitiveProps, \"children\"> & {\r\n children: React.ReactNode | ((item: any, index: number, itemsLength: number) => React.ReactNode)\r\n}\r\n\r\nfunction ComboboxList({\r\n className,\r\n children,\r\n ...props\r\n}: ComboboxListProps) {\r\n const items = useFilteredItems()\r\n\r\n return (\r\n <ScrollArea\r\n size=\"sm\"\r\n viewportRender={(\r\n <ComboboxListPrimitive\r\n className={cn(\"max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] flex flex-col p-1 focus-visible:outline-none data-[empty]:hidden\", className)}\r\n {...props}\r\n >\r\n {\r\n typeof children === \"function\"\r\n ? (item, index) => (\r\n children(item, index, items.length)\r\n )\r\n : children\r\n }\r\n </ComboboxListPrimitive>\r\n )}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxHighlightProps = ComboboxHighlightPrimitiveProps\r\n\r\nfunction ComboboxHighlight(props: ComboboxHighlightProps) {\r\n const { className, ...rest } = props\r\n\r\n return (\r\n <ComboboxHighlightPrimitive\r\n className={cn(\"absolute inset-0 bg-bg-primary-hover\", className)}\r\n {...rest}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxHighlightItemProps = ComboboxHighlightItemPrimitiveProps\r\n\r\nfunction ComboboxHighlightItem(props: ComboboxHighlightItemProps) {\r\n return <ComboboxHighlightItemPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxRowProps = ComboboxRowPrimitiveProps\r\n\r\nfunction ComboboxRow(props: ComboboxRowProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxRowPrimitive\r\n className={cn(\"group/combobox-row\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxItemProps = ComboboxItemPrimitiveProps & {\r\n indicator?: \"check-circle\" | \"checkbox\"\r\n}\r\n\r\nfunction ComboboxItem({\r\n className,\r\n children,\r\n indicator = \"check-circle\",\r\n ...props\r\n}: ComboboxItemProps) {\r\n const { disabled } = props\r\n\r\n return (\r\n <ComboboxHighlightItem\r\n activeClassName=\"bg-bg-primary-hover rounded-md\"\r\n disabled={disabled}\r\n >\r\n <ComboboxItemPrimitive\r\n data-indicator={indicator}\r\n className={cn(\r\n \"group/combobox-item relative grid grid-cols-[auto_1fr] items-center gap-x-2 my-px p-xp-md cursor-default outline-none select-none [[data-indicator=check-circle][data-selected]]:pr-8 data-[indicator=checkbox]:pl-8\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ComboboxItemIndicator\r\n className=\"absolute group-data-[indicator=check-circle]/combobox-item:right-2 group-data-[indicator=checkbox]/combobox-item:left-2\"\r\n keepMounted={indicator === \"checkbox\"}\r\n render={(props, state) => (\r\n <span {...props}>\r\n {indicator === \"check-circle\" && (\r\n <CheckCircle2Icon className=\"size-4 text-fg-brand-primary shrink-0\" />\r\n )}\r\n\r\n {indicator === \"checkbox\" && (\r\n <Checkbox checked={state.selected} />\r\n )}\r\n </span>\r\n )}\r\n />\r\n </ComboboxItemPrimitive>\r\n </ComboboxHighlightItem>\r\n )\r\n}\r\n\r\ntype ComboboxItemTitleProps = React.ComponentProps<\"span\">\r\n\r\nfunction ComboboxItemTitle({\r\n className,\r\n ...props\r\n}: ComboboxItemTitleProps) {\r\n return (\r\n <span\r\n data-slot=\"combobox-item-title\"\r\n className={cn(\r\n \"col-start-2 text-body-medium-3 text-text-primary truncate row-span-2 group-has-[[data-slot=combobox-item-description]]/combobox-item:row-span-1\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxItemDescriptionProps = React.ComponentProps<\"span\">\r\n\r\nfunction ComboboxItemDescription({\r\n className,\r\n ...props\r\n}: ComboboxItemDescriptionProps) {\r\n return (\r\n <span\r\n data-slot=\"combobox-item-description\"\r\n className={cn(\r\n \"col-start-2 text-body-regular-3 text-text-secondary truncate\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction ComboboxItemIcon({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"combobox-item-icon\"\r\n className={cn(\r\n \"row-span-2 col-start-1 flex items-center justify-center size-6 rounded-md bg-bg-brand-solid text-fg-white shrink-0 [&_svg]:size-3.5\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxItemAvatarProps = React.ComponentProps<typeof Avatar> & {\r\n src?: string\r\n imageSrc?: string\r\n imageAlt?: string\r\n avatarClassName?: string\r\n fallbackText?: string\r\n}\r\n\r\nfunction ComboboxItemAvatar({\r\n src,\r\n imageSrc,\r\n className,\r\n avatarClassName,\r\n imageAlt,\r\n fallbackText,\r\n children,\r\n ...props\r\n}: ComboboxItemAvatarProps) {\r\n const finalSrc = src ?? imageSrc\r\n\r\n return (\r\n <div\r\n data-slot=\"combobox-item-avatar\"\r\n className={cn(\r\n \"row-span-2 col-start-1 size-6 rounded-full overflow-hidden shrink-0\",\r\n className\r\n )}\r\n >\r\n <Avatar\r\n className={cn(\"size-full shrink-0\", avatarClassName)}\r\n {...props}\r\n >\r\n <AvatarImage alt={imageAlt} src={finalSrc} />\r\n <AvatarFallback className=\"flex aspect-square size-full items-center justify-center bg-bg-tertiary text-label-semibold-2 text-text-quaternary\">\r\n {fallbackText ?? children}\r\n </AvatarFallback>\r\n </Avatar>\r\n </div>\r\n )\r\n}\r\n\r\ntype ComboboxItemIndicatorProps = ComboboxItemIndicatorPrimitiveProps\r\n\r\nfunction ComboboxItemIndicator(props: ComboboxItemIndicatorProps) {\r\n return (\r\n <ComboboxItemIndicatorPrimitive {...props} />\r\n )\r\n}\r\n\r\ntype ComboboxSeparatorProps = ComboboxSeparatorPrimitiveProps\r\n\r\nfunction ComboboxSeparator(props: ComboboxSeparatorProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxSeparatorPrimitive\r\n className={cn(\"my-1 h-px bg-border-primary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxGroupProps = ComboboxGroupPrimitiveProps\r\n\r\nfunction ComboboxGroup(props: ComboboxGroupProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxGroupPrimitive\r\n className={cn(\"py-1\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxGroupLabelProps = ComboboxGroupLabelPrimitiveProps\r\n\r\nfunction ComboboxGroupLabel(props: ComboboxGroupLabelProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxGroupLabelPrimitive\r\n className={cn(\"px-3 py-1 text-body-semibold-sm text-text-secondary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxCollectionProps = ComboboxCollectionPrimitiveProps\r\n\r\nfunction ComboboxCollection(props: ComboboxCollectionProps) {\r\n return <ComboboxCollectionPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxArrowProps = ComboboxArrowPrimitiveProps\r\n\r\nfunction ComboboxArrow(props: ComboboxArrowProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxArrowPrimitive\r\n className={cn(\"fill-bg-primary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\nfunction ComboboxInfiniteScroll({\r\n hasMore,\r\n threshold = 0.5,\r\n ...props\r\n}: Omit<React.ComponentProps<typeof InfiniteScroll>, \"children\">) {\r\n return (\r\n <InfiniteScroll\r\n hasMore={hasMore}\r\n threshold={threshold}\r\n {...props}\r\n >\r\n {hasMore && (\r\n <div className=\"px-2 py-2.5 text-body-regular-2 text-text-disabled flex items-center gap-2\">\r\n <Loader2Icon className=\"animate-spin size-4\" />\r\n <span>\r\n Loading more...\r\n </span>\r\n </div>\r\n )}\r\n </InfiniteScroll>\r\n )\r\n}\r\n\r\nexport {\r\n Combobox,\r\n ComboboxArrow,\r\n type ComboboxArrowProps,\r\n ComboboxBackdrop,\r\n type ComboboxBackdropProps,\r\n ComboboxChip,\r\n type ComboboxChipProps,\r\n ComboboxChipRemove,\r\n type ComboboxChipRemoveProps,\r\n ComboboxChips,\r\n type ComboboxChipsProps,\r\n ComboboxClear,\r\n type ComboboxClearProps,\r\n ComboboxCollection,\r\n type ComboboxCollectionProps,\r\n ComboboxPopup,\r\n type ComboboxPopupProps,\r\n ComboboxEmpty,\r\n type ComboboxEmptyProps,\r\n ComboboxGroup,\r\n ComboboxGroupLabel,\r\n type ComboboxGroupLabelProps,\r\n type ComboboxGroupProps,\r\n ComboboxHighlight,\r\n ComboboxHighlightItem,\r\n type ComboboxHighlightItemProps,\r\n type ComboboxHighlightProps,\r\n ComboboxIcon,\r\n type ComboboxIconProps,\r\n ComboboxInfiniteScroll,\r\n ComboboxInput,\r\n ComboboxInputFilter,\r\n ComboboxInputGroup,\r\n type ComboboxInputGroupProps,\r\n type ComboboxInputProps,\r\n ComboboxItem,\r\n ComboboxItemTitle,\r\n type ComboboxItemTitleProps,\r\n ComboboxItemDescription,\r\n type ComboboxItemDescriptionProps,\r\n ComboboxItemIcon,\r\n ComboboxItemAvatar,\r\n type ComboboxItemAvatarProps,\r\n ComboboxItemIndicator,\r\n type ComboboxItemIndicatorProps,\r\n type ComboboxItemProps,\r\n ComboboxLabel,\r\n type ComboboxLabelProps,\r\n ComboboxList,\r\n type ComboboxListProps,\r\n type ComboboxLoadingProps,\r\n ComboboxPortal,\r\n type ComboboxPortalProps,\r\n ComboboxPositioner,\r\n type ComboboxPositionerProps,\r\n type ComboboxProps,\r\n ComboboxRow,\r\n type ComboboxRowProps,\r\n ComboboxSeparator,\r\n type ComboboxSeparatorProps,\r\n ComboboxStatus,\r\n type ComboboxStatusProps,\r\n ComboboxTrigger,\r\n type ComboboxTriggerProps,\r\n ComboboxValue,\r\n type ComboboxValueProps\r\n}"]}
1
+ {"version":3,"sources":["../src/ui/combobox.tsx"],"names":["Combobox","props","jsx","ComboboxTrigger","className","rest","cn","ComboboxLabel","ComboboxInputGroup","ComboboxInput","wrapperClassName","size","Input","SearchIcon","ComboboxInputFilter","displayValueKey","placeholder","inputProps","inputValue","setInputValue","useCombobox","inputClassName","startContent","restInputProps","jsxs","ComboboxChips","e","XIcon","event","ComboboxValue","value","item","ComboboxChip","ComboboxChipRemove","ComboboxIcon","ComboboxClear","Badge","BadgeButton","ComboboxPopup","align","sideOffset","container","initialFocus","finalFocus","style","children","ComboboxPortal","ComboboxPositioner","ComboboxHighlight","ComboboxBackdrop","ComboboxStatus","status","trimmedInputValue","text","Fragment","Loader2Icon","ComboboxEmpty","ComboboxList","items","useFilteredItems","ScrollArea","index","ComboboxHighlightItem","ComboboxRow","ComboboxItem","indicator","disabled","ComboboxItemIndicator","state","CheckCircle2Icon","Checkbox","ComboboxItemTitle","ComboboxItemDescription","ComboboxItemIcon","ComboboxItemAvatar","src","imageSrc","avatarClassName","imageAlt","fallbackText","finalSrc","Avatar","AvatarImage","AvatarFallback","ComboboxSeparator","ComboboxGroup","ComboboxGroupLabel","ComboboxCollection","ComboboxArrow","ComboboxInfiniteScroll","hasMore","threshold","InfiniteScroll"],"mappings":"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","file":"chunk-C5UISTOE.js","sourcesContent":["import * as React from \"react\"\r\n\r\nimport {\r\n CheckCircle2Icon,\r\n Loader2Icon,\r\n SearchIcon,\r\n XIcon\r\n} from \"lucide-react\"\r\n\r\nimport {\r\n Combobox as ComboboxPrimitive,\r\n ComboboxArrow as ComboboxArrowPrimitive,\r\n type ComboboxArrowProps as ComboboxArrowPrimitiveProps,\r\n ComboboxBackdrop as ComboboxBackdropPrimitive,\r\n type ComboboxBackdropProps as ComboboxBackdropPrimitiveProps,\r\n ComboboxChip as ComboboxChipPrimitive,\r\n type ComboboxChipProps as ComboboxChipPrimitiveProps,\r\n ComboboxChipRemove as ComboboxChipRemovePrimitive,\r\n type ComboboxChipRemoveProps as ComboboxChipRemovePrimitiveProps,\r\n ComboboxChips as ComboboxChipsPrimitive,\r\n type ComboboxChipsProps as ComboboxChipsPrimitiveProps,\r\n ComboboxClear as ComboboxClearPrimitive,\r\n type ComboboxClearProps as ComboboxClearPrimitiveProps,\r\n ComboboxCollection as ComboboxCollectionPrimitive,\r\n type ComboboxCollectionProps as ComboboxCollectionPrimitiveProps,\r\n ComboboxEmpty as ComboboxEmptyPrimitive,\r\n type ComboboxEmptyProps as ComboboxEmptyPrimitiveProps,\r\n ComboboxGroup as ComboboxGroupPrimitive,\r\n ComboboxGroupLabel as ComboboxGroupLabelPrimitive,\r\n type ComboboxGroupLabelProps as ComboboxGroupLabelPrimitiveProps,\r\n type ComboboxGroupProps as ComboboxGroupPrimitiveProps,\r\n ComboboxHighlight as ComboboxHighlightPrimitive,\r\n ComboboxHighlightItem as ComboboxHighlightItemPrimitive,\r\n type ComboboxHighlightItemProps as ComboboxHighlightItemPrimitiveProps,\r\n type ComboboxHighlightProps as ComboboxHighlightPrimitiveProps,\r\n ComboboxIcon as ComboboxIconPrimitive,\r\n type ComboboxIconProps as ComboboxIconPrimitiveProps,\r\n ComboboxInput as ComboboxInputPrimitive,\r\n ComboboxInputGroup as ComboboxInputGroupPrimitive,\r\n type ComboboxInputGroupProps as ComboboxInputGroupPrimitiveProps,\r\n type ComboboxInputProps as ComboboxInputPrimitiveProps,\r\n ComboboxItem as ComboboxItemPrimitive,\r\n ComboboxItemIndicator as ComboboxItemIndicatorPrimitive,\r\n type ComboboxItemIndicatorProps as ComboboxItemIndicatorPrimitiveProps,\r\n type ComboboxItemProps as ComboboxItemPrimitiveProps,\r\n ComboboxLabel as ComboboxLabelPrimitive,\r\n type ComboboxLabelProps as ComboboxLabelPrimitiveProps,\r\n ComboboxList as ComboboxListPrimitive,\r\n type ComboboxListProps as ComboboxListPrimitiveProps,\r\n ComboboxPopup as ComboboxPopupPrimitive,\r\n type ComboboxPopupProps as ComboboxPopupPrimitiveProps,\r\n ComboboxPortal as ComboboxPortalPrimitive,\r\n type ComboboxPortalProps as ComboboxPortalPrimitiveProps,\r\n ComboboxPositioner as ComboboxPositionerPrimitive,\r\n type ComboboxPositionerProps as ComboboxPositionerPrimitiveProps,\r\n type ComboboxProps as ComboboxPrimitiveProps,\r\n ComboboxRow as ComboboxRowPrimitive,\r\n type ComboboxRowProps as ComboboxRowPrimitiveProps,\r\n ComboboxSeparator as ComboboxSeparatorPrimitive,\r\n type ComboboxSeparatorProps as ComboboxSeparatorPrimitiveProps,\r\n ComboboxStatus as ComboboxStatusPrimitive,\r\n type ComboboxStatusProps as ComboboxStatusPrimitiveProps,\r\n ComboboxTrigger as ComboboxTriggerPrimitive,\r\n type ComboboxTriggerProps as ComboboxTriggerPrimitiveProps,\r\n ComboboxValue as ComboboxValuePrimitive,\r\n type ComboboxValueProps as ComboboxValuePrimitiveProps,\r\n useCombobox,\r\n useFilteredItems,\r\n} from \"../primitives/combobox\"\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { ScrollArea } from \"./scroll-area\"\r\nimport { Badge, BadgeButton } from \"./badge\"\r\nimport { InfiniteScroll } from \"./infinite-scroll\"\r\nimport { Input } from \"./input\"\r\nimport { Checkbox } from \"./checkbox\"\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"./avatar\"\r\n\r\ntype ComboboxProps<Value, Multiple extends boolean | undefined = false> = ComboboxPrimitiveProps<Value, Multiple>\r\n\r\nfunction Combobox<Value, Multiple extends boolean | undefined = false>(props: ComboboxProps<Value, Multiple>) {\r\n return (\r\n <ComboboxPrimitive {...props} />\r\n )\r\n}\r\n\r\ntype ComboboxTriggerProps = ComboboxTriggerPrimitiveProps\r\n\r\nfunction ComboboxTrigger(props: ComboboxTriggerProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxTriggerPrimitive\r\n className={cn(\r\n \"group/combobox-trigger flex items-center gap-2\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxLabelProps = ComboboxLabelPrimitiveProps\r\n\r\nfunction ComboboxLabel(props: ComboboxLabelProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxLabelPrimitive\r\n className={cn(\r\n \"text-label-semibold-2 text-text-secondary\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxInputGroupProps = ComboboxInputGroupPrimitiveProps\r\n\r\nfunction ComboboxInputGroup(props: ComboboxInputGroupProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxInputGroupPrimitive\r\n className={cn(\r\n \"flex w-full items-center gap-2\",\r\n className,\r\n )}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxInputProps = Omit<ComboboxInputPrimitiveProps, \"size\"> & {\r\n wrapperClassName?: string\r\n size?: React.ComponentProps<typeof Input>[\"size\"]\r\n}\r\n\r\nfunction ComboboxInput({\r\n className,\r\n wrapperClassName,\r\n size = \"xs\",\r\n ...props\r\n}: ComboboxInputProps) {\r\n\r\n return (\r\n <div className={cn(\"p-3 border-b border-border-primary\", wrapperClassName)}>\r\n <ComboboxInputPrimitive\r\n className={className}\r\n render={<Input size={size} startContent={<SearchIcon />} />}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nfunction ComboboxInputFilter({\r\n className,\r\n displayValueKey = { label: \"label\", value: \"value\" },\r\n placeholder = \"Search and Select Company\",\r\n inputProps,\r\n size,\r\n ...props\r\n}: ComboboxInputProps & {\r\n displayValueKey?: {\r\n label: string\r\n value: string\r\n }\r\n placeholder?: string\r\n inputProps?: React.ComponentProps<typeof Input>\r\n}) {\r\n const { inputValue, setInputValue } = useCombobox()\r\n const { className: inputClassName, startContent, ...restInputProps } = inputProps || {}\r\n\r\n return (\r\n <div className={cn(\"flex flex-col gap-2\", className)}>\r\n <ComboboxChips\r\n onMouseDown={(e) => e.preventBaseUIHandler()}\r\n className=\"flex-col\"\r\n >\r\n <ComboboxInputPrimitive\r\n render={\r\n <Input\r\n className={cn(\"h-9 text-body-regular-3 pl-9 pr-7\", inputClassName)}\r\n endContent={\r\n <ComboboxTrigger\r\n nativeButton={false}\r\n render={(\r\n <XIcon\r\n className=\"!size-5 !right-1.5 data-[hidden=true]:opacity-0 opacity-100 transition-opacity duration-300 cursor-pointer\"\r\n data-hidden={!inputValue}\r\n data-slot=\"combobox-clear-input\"\r\n onClick={(event) => {\r\n setInputValue(\"\", {\r\n reason: \"none\",\r\n event: event.nativeEvent,\r\n cancel: () => { },\r\n allowPropagation: () => { },\r\n isCanceled: false,\r\n isPropagationAllowed: true,\r\n trigger: undefined,\r\n })\r\n }}\r\n />\r\n )}\r\n />\r\n }\r\n placeholder={placeholder}\r\n startContent={startContent ?? <SearchIcon className=\"!size-4 !text-fg-tertiary-hover\" />}\r\n {...restInputProps}\r\n />\r\n }\r\n {...props}\r\n />\r\n <ComboboxValue>\r\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\r\n {(value) => value?.map((item: any) => (\r\n <ComboboxChip key={item?.[displayValueKey.value] || \"\"}>\r\n {item?.[displayValueKey.label] || \"\"}\r\n <ComboboxChipRemove />\r\n </ComboboxChip>\r\n ))}\r\n </ComboboxValue>\r\n </ComboboxChips>\r\n </div>\r\n )\r\n}\r\n\r\ntype ComboboxIconProps = ComboboxIconPrimitiveProps\r\n\r\nfunction ComboboxIcon(props: ComboboxIconProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxIconPrimitive\r\n className={cn(\"text-text-secondary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxClearProps = ComboboxClearPrimitiveProps\r\n\r\nfunction ComboboxClear(props: ComboboxClearProps) {\r\n\r\n return (\r\n <ComboboxClearPrimitive\r\n render={<XIcon />}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxValueProps = ComboboxValuePrimitiveProps\r\n\r\nfunction ComboboxValue(props: ComboboxValueProps) {\r\n return <ComboboxValuePrimitive {...props} />\r\n}\r\n\r\ntype ComboboxChipsProps = ComboboxChipsPrimitiveProps\r\n\r\nfunction ComboboxChips({\r\n className,\r\n ...props\r\n}: ComboboxChipsProps) {\r\n return <ComboboxChipsPrimitive\r\n className={cn(\"flex flex-wrap gap-2\", className)}\r\n {...props}\r\n />\r\n}\r\n\r\ntype ComboboxChipProps = ComboboxChipPrimitiveProps\r\n\r\nfunction ComboboxChip({\r\n className,\r\n ...props\r\n}: ComboboxChipProps) {\r\n return (\r\n <Badge\r\n className={cn(\"ring-1 ring-border-brand text-body-medium-3\", className)}\r\n color=\"brand\"\r\n render={(\r\n <ComboboxChipPrimitive\r\n {...props}\r\n />\r\n )}\r\n size=\"lg\"\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxChipRemoveProps = ComboboxChipRemovePrimitiveProps\r\n\r\nfunction ComboboxChipRemove({\r\n className,\r\n ...props\r\n}: ComboboxChipRemoveProps) {\r\n return (\r\n <BadgeButton\r\n className={cn(\"text-fg-quaternary\", className)}\r\n render={(\r\n <ComboboxChipRemovePrimitive\r\n {...props}\r\n />\r\n )}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxPopupProps = ComboboxPositionerPrimitiveProps &\r\n ComboboxPopupPrimitiveProps & {\r\n container?: React.ComponentProps<typeof ComboboxPortal>[\"container\"]\r\n }\r\n\r\nfunction ComboboxPopup({\r\n className,\r\n align = \"start\",\r\n sideOffset = 4,\r\n container,\r\n initialFocus,\r\n finalFocus,\r\n style,\r\n children,\r\n ...props\r\n}: ComboboxPopupProps) {\r\n return (\r\n <ComboboxPortalPrimitive container={container}>\r\n <ComboboxPositionerPrimitive\r\n align={align}\r\n className=\"isolate z-50\"\r\n sideOffset={sideOffset}\r\n {...props}\r\n >\r\n <ComboboxPopupPrimitive\r\n className={cn(\r\n \"group/combobox-popup bg-bg-primary text-text-primary max-h-(--available-height) w-72 max-w-(--available-width) origin-(--transform-origin) rounded-md border border-border-primary shadow-md outline-hidden\",\r\n className,\r\n )}\r\n finalFocus={finalFocus}\r\n initialFocus={initialFocus}\r\n style={style}\r\n >\r\n <ComboboxHighlight>\r\n {children}\r\n </ComboboxHighlight>\r\n </ComboboxPopupPrimitive>\r\n </ComboboxPositionerPrimitive>\r\n </ComboboxPortalPrimitive>\r\n )\r\n}\r\n\r\ntype ComboboxPortalProps = ComboboxPortalPrimitiveProps\r\n\r\nfunction ComboboxPortal(props: ComboboxPortalProps) {\r\n return <ComboboxPortalPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxPositionerProps = ComboboxPositionerPrimitiveProps\r\n\r\nfunction ComboboxPositioner(props: ComboboxPositionerProps) {\r\n return <ComboboxPositionerPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxBackdropProps = ComboboxBackdropPrimitiveProps\r\n\r\nfunction ComboboxBackdrop(props: ComboboxBackdropProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxBackdropPrimitive\r\n className={cn(\"bg-black/30\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxStatusProps = ComboboxStatusPrimitiveProps\r\n\r\nfunction ComboboxStatus({\r\n className,\r\n status,\r\n ...props\r\n}: Omit<ComboboxStatusProps, \"children\"> & {\r\n status?: \"empty\" | \"pending\" | null\r\n}) {\r\n const { inputValue } = useCombobox()\r\n\r\n const trimmedInputValue = inputValue?.toString().trim()\r\n\r\n const getText = () => {\r\n if (status === \"empty\" && trimmedInputValue)\r\n return `No matches for \"${trimmedInputValue}\".`\r\n\r\n if (status === \"empty\" && !trimmedInputValue)\r\n return \"No results.\"\r\n\r\n if (status === \"pending\")\r\n return (\r\n <>\r\n <Loader2Icon className=\"animate-spin size-4\" />\r\n <span>\r\n Searching...\r\n </span>\r\n </>\r\n )\r\n\r\n return null\r\n }\r\n\r\n const text = getText()\r\n\r\n return (\r\n <ComboboxStatusPrimitive\r\n className={cn(\r\n \"px-2 py-2.5 text-body-regular-2 text-text-disabled flex items-center gap-2\",\r\n !text && \"hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {text}\r\n </ComboboxStatusPrimitive>\r\n )\r\n}\r\n\r\ntype ComboboxLoadingProps = React.ComponentProps<\"div\">\r\n\r\ntype ComboboxEmptyProps = ComboboxEmptyPrimitiveProps\r\n\r\nfunction ComboboxEmpty({ className, ...props }: ComboboxEmptyProps) {\r\n return <ComboboxEmptyPrimitive\r\n className={cn(\"px-3 py-2 text-body-regular-2 text-text-secondary\", className)}\r\n {...props}\r\n />\r\n}\r\n\r\ntype ComboboxListProps = Omit<ComboboxListPrimitiveProps, \"children\"> & {\r\n children: React.ReactNode | ((item: any, index: number, itemsLength: number) => React.ReactNode)\r\n}\r\n\r\nfunction ComboboxList({\r\n className,\r\n children,\r\n ...props\r\n}: ComboboxListProps) {\r\n const items = useFilteredItems()\r\n\r\n return (\r\n <ScrollArea\r\n size=\"sm\"\r\n viewportRender={(\r\n <ComboboxListPrimitive\r\n className={cn(\"max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] flex flex-col p-1 focus-visible:outline-none data-[empty]:hidden\", className)}\r\n {...props}\r\n >\r\n {\r\n typeof children === \"function\"\r\n ? (item, index) => (\r\n children(item, index, items.length)\r\n )\r\n : children\r\n }\r\n </ComboboxListPrimitive>\r\n )}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxHighlightProps = ComboboxHighlightPrimitiveProps\r\n\r\nfunction ComboboxHighlight(props: ComboboxHighlightProps) {\r\n const { className, ...rest } = props\r\n\r\n return (\r\n <ComboboxHighlightPrimitive\r\n className={cn(\"absolute inset-0 bg-bg-primary-hover\", className)}\r\n {...rest}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxHighlightItemProps = ComboboxHighlightItemPrimitiveProps\r\n\r\nfunction ComboboxHighlightItem(props: ComboboxHighlightItemProps) {\r\n return <ComboboxHighlightItemPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxRowProps = ComboboxRowPrimitiveProps\r\n\r\nfunction ComboboxRow(props: ComboboxRowProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxRowPrimitive\r\n className={cn(\"group/combobox-row\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxItemProps = ComboboxItemPrimitiveProps & {\r\n indicator?: \"check-circle\" | \"checkbox\"\r\n}\r\n\r\nfunction ComboboxItem({\r\n className,\r\n children,\r\n indicator = \"check-circle\",\r\n ...props\r\n}: ComboboxItemProps) {\r\n const { disabled } = props\r\n\r\n return (\r\n <ComboboxHighlightItem\r\n activeClassName=\"bg-bg-primary-hover rounded-md\"\r\n disabled={disabled}\r\n >\r\n <ComboboxItemPrimitive\r\n data-indicator={indicator}\r\n className={cn(\r\n \"group/combobox-item relative grid grid-cols-[auto_1fr] items-center gap-x-2 my-px p-xp-md cursor-default outline-none select-none [[data-indicator=check-circle][data-selected]]:pr-8 data-[indicator=checkbox]:pl-8\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ComboboxItemIndicator\r\n className=\"absolute group-data-[indicator=check-circle]/combobox-item:right-2 group-data-[indicator=checkbox]/combobox-item:left-2\"\r\n keepMounted={indicator === \"checkbox\"}\r\n render={(props, state) => (\r\n <span {...props}>\r\n {indicator === \"check-circle\" && (\r\n <CheckCircle2Icon className=\"size-4 text-fg-brand-primary shrink-0\" />\r\n )}\r\n\r\n {indicator === \"checkbox\" && (\r\n <Checkbox checked={state.selected} />\r\n )}\r\n </span>\r\n )}\r\n />\r\n </ComboboxItemPrimitive>\r\n </ComboboxHighlightItem>\r\n )\r\n}\r\n\r\ntype ComboboxItemTitleProps = React.ComponentProps<\"span\">\r\n\r\nfunction ComboboxItemTitle({\r\n className,\r\n ...props\r\n}: ComboboxItemTitleProps) {\r\n return (\r\n <span\r\n data-slot=\"combobox-item-title\"\r\n className={cn(\r\n \"col-start-2 text-body-medium-3 text-text-primary truncate row-span-2 group-has-[[data-slot=combobox-item-description]]/combobox-item:row-span-1\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxItemDescriptionProps = React.ComponentProps<\"span\">\r\n\r\nfunction ComboboxItemDescription({\r\n className,\r\n ...props\r\n}: ComboboxItemDescriptionProps) {\r\n return (\r\n <span\r\n data-slot=\"combobox-item-description\"\r\n className={cn(\r\n \"col-start-2 text-body-regular-3 text-text-secondary truncate\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction ComboboxItemIcon({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"combobox-item-icon\"\r\n className={cn(\r\n \"row-span-2 col-start-1 flex items-center justify-center size-6 rounded-md bg-bg-brand-solid text-fg-white shrink-0 [&_svg]:size-3.5\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\ntype ComboboxItemAvatarProps = React.ComponentProps<typeof Avatar> & {\r\n src?: string\r\n imageSrc?: string\r\n imageAlt?: string\r\n avatarClassName?: string\r\n fallbackText?: string\r\n}\r\n\r\nfunction ComboboxItemAvatar({\r\n src,\r\n imageSrc,\r\n className,\r\n avatarClassName,\r\n imageAlt,\r\n fallbackText,\r\n children,\r\n ...props\r\n}: ComboboxItemAvatarProps) {\r\n const finalSrc = src ?? imageSrc\r\n\r\n return (\r\n <div\r\n data-slot=\"combobox-item-avatar\"\r\n className={cn(\r\n \"row-span-2 col-start-1 size-6 rounded-full overflow-hidden shrink-0\",\r\n className\r\n )}\r\n >\r\n <Avatar\r\n className={cn(\"size-full shrink-0\", avatarClassName)}\r\n {...props}\r\n >\r\n <AvatarImage alt={imageAlt} src={finalSrc} />\r\n <AvatarFallback className=\"flex aspect-square size-full items-center justify-center bg-bg-tertiary text-label-semibold-2 text-text-quaternary\">\r\n {fallbackText ?? children}\r\n </AvatarFallback>\r\n </Avatar>\r\n </div>\r\n )\r\n}\r\n\r\ntype ComboboxItemIndicatorProps = ComboboxItemIndicatorPrimitiveProps\r\n\r\nfunction ComboboxItemIndicator(props: ComboboxItemIndicatorProps) {\r\n return (\r\n <ComboboxItemIndicatorPrimitive {...props} />\r\n )\r\n}\r\n\r\ntype ComboboxSeparatorProps = ComboboxSeparatorPrimitiveProps\r\n\r\nfunction ComboboxSeparator(props: ComboboxSeparatorProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxSeparatorPrimitive\r\n className={cn(\"my-1 h-px bg-border-primary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxGroupProps = ComboboxGroupPrimitiveProps\r\n\r\nfunction ComboboxGroup(props: ComboboxGroupProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxGroupPrimitive\r\n className={cn(\"py-1\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxGroupLabelProps = ComboboxGroupLabelPrimitiveProps\r\n\r\nfunction ComboboxGroupLabel(props: ComboboxGroupLabelProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxGroupLabelPrimitive\r\n className={cn(\"px-3 py-1 text-body-semibold-sm text-text-secondary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\ntype ComboboxCollectionProps = ComboboxCollectionPrimitiveProps\r\n\r\nfunction ComboboxCollection(props: ComboboxCollectionProps) {\r\n return <ComboboxCollectionPrimitive {...props} />\r\n}\r\n\r\ntype ComboboxArrowProps = ComboboxArrowPrimitiveProps\r\n\r\nfunction ComboboxArrow(props: ComboboxArrowProps) {\r\n const { className, ...rest } = props\r\n\r\n return <ComboboxArrowPrimitive\r\n className={cn(\"fill-bg-primary\", className)}\r\n {...rest}\r\n />\r\n}\r\n\r\nfunction ComboboxInfiniteScroll({\r\n hasMore,\r\n threshold = 0.5,\r\n ...props\r\n}: Omit<React.ComponentProps<typeof InfiniteScroll>, \"children\">) {\r\n return (\r\n <InfiniteScroll\r\n hasMore={hasMore}\r\n threshold={threshold}\r\n {...props}\r\n >\r\n {hasMore && (\r\n <div className=\"px-2 py-2.5 text-body-regular-2 text-text-disabled flex items-center gap-2\">\r\n <Loader2Icon className=\"animate-spin size-4\" />\r\n <span>\r\n Loading more...\r\n </span>\r\n </div>\r\n )}\r\n </InfiniteScroll>\r\n )\r\n}\r\n\r\nexport {\r\n Combobox,\r\n ComboboxArrow,\r\n type ComboboxArrowProps,\r\n ComboboxBackdrop,\r\n type ComboboxBackdropProps,\r\n ComboboxChip,\r\n type ComboboxChipProps,\r\n ComboboxChipRemove,\r\n type ComboboxChipRemoveProps,\r\n ComboboxChips,\r\n type ComboboxChipsProps,\r\n ComboboxClear,\r\n type ComboboxClearProps,\r\n ComboboxCollection,\r\n type ComboboxCollectionProps,\r\n ComboboxPopup,\r\n type ComboboxPopupProps,\r\n ComboboxEmpty,\r\n type ComboboxEmptyProps,\r\n ComboboxGroup,\r\n ComboboxGroupLabel,\r\n type ComboboxGroupLabelProps,\r\n type ComboboxGroupProps,\r\n ComboboxHighlight,\r\n ComboboxHighlightItem,\r\n type ComboboxHighlightItemProps,\r\n type ComboboxHighlightProps,\r\n ComboboxIcon,\r\n type ComboboxIconProps,\r\n ComboboxInfiniteScroll,\r\n ComboboxInput,\r\n ComboboxInputFilter,\r\n ComboboxInputGroup,\r\n type ComboboxInputGroupProps,\r\n type ComboboxInputProps,\r\n ComboboxItem,\r\n ComboboxItemTitle,\r\n type ComboboxItemTitleProps,\r\n ComboboxItemDescription,\r\n type ComboboxItemDescriptionProps,\r\n ComboboxItemIcon,\r\n ComboboxItemAvatar,\r\n type ComboboxItemAvatarProps,\r\n ComboboxItemIndicator,\r\n type ComboboxItemIndicatorProps,\r\n type ComboboxItemProps,\r\n ComboboxLabel,\r\n type ComboboxLabelProps,\r\n ComboboxList,\r\n type ComboboxListProps,\r\n type ComboboxLoadingProps,\r\n ComboboxPortal,\r\n type ComboboxPortalProps,\r\n ComboboxPositioner,\r\n type ComboboxPositionerProps,\r\n type ComboboxProps,\r\n ComboboxRow,\r\n type ComboboxRowProps,\r\n ComboboxSeparator,\r\n type ComboboxSeparatorProps,\r\n ComboboxStatus,\r\n type ComboboxStatusProps,\r\n ComboboxTrigger,\r\n type ComboboxTriggerProps,\r\n ComboboxValue,\r\n type ComboboxValueProps\r\n}"]}
@@ -1,2 +1,2 @@
1
- import*as i from'react';import {mergeProps}from'@base-ui/react/merge-props';import {useRender}from'@base-ui/react/use-render';import {cva}from'class-variance-authority';import {ArrowRightIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';var u=cva("inline-flex items-center size-max whitespace-nowrap shrink-0 overflow-hidden transition-colors cursor-pointer group/badge-group gap-2",{variants:{theme:{light:"rounded-xp-full ring-1 ring-inset",modern:"rounded-xp-card-base-md bg-bg-primary text-text-secondary ring-1 ring-inset ring-border-primary shadow-xp-xs hover:bg-bg-secondary"},color:{brand:"",gray:"",error:"",warning:"",success:""},size:{md:"text-body-medium-3",lg:"text-body-medium-2"},align:{leading:"",trailing:""}},compoundVariants:[{theme:"light",color:"brand",className:"bg-utility-brand-50 text-utility-brand-700 ring-utility-brand-200 hover:bg-utility-brand-100"},{theme:"light",color:"gray",className:"bg-utility-gray-50 text-utility-gray-700 ring-utility-gray-200 hover:bg-utility-gray-100"},{theme:"light",color:"error",className:"bg-utility-error-50 text-utility-error-700 ring-utility-error-200 hover:bg-utility-error-100"},{theme:"light",color:"warning",className:"bg-utility-warning-50 text-utility-warning-700 ring-utility-warning-200 hover:bg-utility-warning-100"},{theme:"light",color:"success",className:"bg-utility-success-50 text-utility-success-700 ring-utility-success-200 hover:bg-utility-success-100"},{align:"leading",size:"md",className:"py-1 pl-1 pr-2"},{align:"leading",size:"lg",className:"py-1 pl-1 pr-2.5"},{align:"trailing",size:"md",className:"py-1 pl-2 pr-1"},{align:"trailing",size:"lg",className:"py-1 pl-2.5 pr-1"}],defaultVariants:{theme:"light",color:"brand",size:"md",align:"leading"}}),g=i.createContext({theme:"light",color:"brand",size:"md"});function f({className:a,theme:t="light",color:e="brand",size:r="md",align:o="leading",render:s,children:p,...d}){let c={"data-slot":"badge-group","data-theme":t,"data-color":e,"data-size":r,"data-align":o,className:cn(u({theme:t,color:e,size:r,align:o}),a),children:p};return jsx(g.Provider,{value:{theme:t??"light",color:e??"brand",size:r??"md"},children:useRender({defaultTagName:"div",props:mergeProps(c,d),render:s,state:{slot:"badge-group",theme:t,color:e,size:r,align:o}})})}function P({className:a,children:t,...e}){let{theme:r,color:o,size:s}=i.useContext(g),p={brand:"ring-utility-brand-200 text-utility-brand-700",gray:"ring-utility-gray-200 text-utility-gray-700",error:"ring-utility-error-200 text-utility-error-700",warning:"ring-utility-warning-200 text-utility-warning-700",success:"ring-utility-success-200 text-utility-success-700"},d=cn("inline-flex items-center justify-center font-medium shrink-0",r==="light"&&["rounded-xp-full bg-bg-primary ring-1 ring-inset",p[o]||p.brand,s==="md"?"px-2 py-0.5":"px-2.5 py-0.5"],r==="modern"&&["rounded-xp-card-base-sm bg-bg-primary shadow-xp-xs ring-1 ring-inset ring-border-primary text-text-secondary",s==="md"?"gap-1 px-1.5 py-0.5":"gap-1.5 px-2 py-0.5"],a);return jsx("span",{"data-slot":"badge-group-addon",className:d,...e,children:t})}function h({className:a,children:t=jsx(ArrowRightIcon,{}),...e}){let{color:r}=i.useContext(g),o={brand:"text-utility-brand-500",gray:"text-utility-gray-500",error:"text-utility-error-500",warning:"text-utility-warning-500",success:"text-utility-success-500"};return jsx("span",{"data-slot":"badge-group-icon",className:cn("inline-flex items-center justify-center shrink-0 [&>svg]:size-4 [&>svg]:stroke-[2px] pointer-events-none transition-transform group-hover/badge-group:translate-x-0.5",o[r]||o.brand,a),...e,children:t})}function B({className:a,...t}){let{color:e}=i.useContext(g),r={brand:"bg-utility-brand-500 outline-utility-brand-100",gray:"bg-utility-gray-500 outline-utility-gray-100",error:"bg-utility-error-500 outline-utility-error-100",warning:"bg-utility-warning-500 outline-utility-warning-100",success:"bg-utility-success-500 outline-utility-success-100"};return jsx("span",{"data-slot":"badge-group-dot",className:cn("inline-block size-1.5 shrink-0 rounded-xp-full outline-2 -outline-offset-1",r[e]||r.brand,a),...t})}export{u as a,f as b,P as c,h as d,B as e};//# sourceMappingURL=chunk-V2PW53KI.js.map
2
- //# sourceMappingURL=chunk-V2PW53KI.js.map
1
+ import*as i from'react';import {mergeProps}from'@base-ui/react/merge-props';import {useRender}from'@base-ui/react/use-render';import {cva}from'class-variance-authority';import {ArrowRightIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';var u=cva("inline-flex items-center size-max whitespace-nowrap shrink-0 overflow-hidden transition-colors cursor-pointer group/badge-group gap-2",{variants:{theme:{light:"rounded-xp-full ring-1 ring-inset",modern:"rounded-xp-card-base-md bg-bg-primary text-text-secondary ring-1 ring-inset ring-border-primary shadow-xp-xs hover:bg-bg-secondary"},color:{brand:"",gray:"",error:"",warning:"",success:""},size:{md:"text-body-medium-3",lg:"text-body-medium-2"},align:{leading:"",trailing:""}},compoundVariants:[{theme:"light",color:"brand",className:"bg-utility-brand-50 text-utility-brand-700 ring-utility-brand-200 hover:bg-utility-brand-100"},{theme:"light",color:"gray",className:"bg-utility-gray-50 text-utility-gray-700 ring-utility-gray-200 hover:bg-utility-gray-100"},{theme:"light",color:"error",className:"bg-utility-error-50 text-utility-error-700 ring-utility-error-200 hover:bg-utility-error-100"},{theme:"light",color:"warning",className:"bg-utility-warning-50 text-utility-warning-700 ring-utility-warning-200 hover:bg-utility-warning-100"},{theme:"light",color:"success",className:"bg-utility-success-50 text-utility-success-700 ring-utility-success-200 hover:bg-utility-success-100"},{align:"leading",size:"md",className:"py-1 pl-1 pr-2"},{align:"leading",size:"lg",className:"py-1 pl-1 pr-2.5"},{align:"trailing",size:"md",className:"py-1 pl-2 pr-1"},{align:"trailing",size:"lg",className:"py-1 pl-2.5 pr-1"}],defaultVariants:{theme:"light",color:"brand",size:"md",align:"leading"}}),g=i.createContext({theme:"light",color:"brand",size:"md"});function b({className:a,theme:t="light",color:e="brand",size:r="md",align:o="leading",render:p,children:s,...d}){let c={"data-slot":"badge-group","data-theme":t,"data-color":e,"data-size":r,"data-align":o,className:cn(u({theme:t,color:e,size:r,align:o}),a),children:s};return jsx(g.Provider,{value:{theme:t??"light",color:e??"brand",size:r??"md"},children:useRender({defaultTagName:"div",props:mergeProps(c,d),render:p,state:{slot:"badge-group",theme:t,color:e,size:r,align:o}})})}function P({className:a,children:t,...e}){let{theme:r,color:o,size:p}=i.useContext(g),s={brand:"ring-utility-brand-200 text-utility-brand-700",gray:"ring-utility-gray-200 text-utility-gray-700",error:"ring-utility-error-200 text-utility-error-700",warning:"ring-utility-warning-200 text-utility-warning-700",success:"ring-utility-success-200 text-utility-success-700"},d=cn("inline-flex items-center justify-center font-medium shrink-0",r==="light"&&["rounded-xp-full bg-bg-primary ring-1 ring-inset",s[o]||s.brand,p==="md"?"px-2 py-0.5":"px-2.5 py-0.5"],r==="modern"&&["rounded-xp-card-base-sm bg-bg-primary shadow-xp-xs ring-1 ring-inset ring-border-primary text-text-secondary",p==="md"?"gap-1 px-1.5 py-0.5":"gap-1.5 px-2 py-0.5"],a);return jsx("span",{"data-slot":"badge-group-addon",className:d,...e,children:t})}function h({className:a,children:t=jsx(ArrowRightIcon,{}),...e}){let{color:r}=i.useContext(g),o={brand:"text-utility-brand-500",gray:"text-utility-gray-500",error:"text-utility-error-500",warning:"text-utility-warning-500",success:"text-utility-success-500"};return jsx("span",{"data-slot":"badge-group-icon",className:cn("inline-flex items-center justify-center shrink-0 [&>svg]:size-4 [&>svg]:stroke-[2px] pointer-events-none transition-transform group-hover/badge-group:translate-x-0.5",o[r]||o.brand,a),...e,children:t})}function B({className:a,...t}){let{color:e}=i.useContext(g),r={brand:"bg-utility-brand-500 outline-utility-brand-100",gray:"bg-utility-gray-500 outline-utility-gray-100",error:"bg-utility-error-500 outline-utility-error-100",warning:"bg-utility-warning-500 outline-utility-warning-100",success:"bg-utility-success-500 outline-utility-success-100"};return jsx("span",{"data-slot":"badge-group-dot",className:cn("inline-block size-1.5 shrink-0 rounded-xp-full outline-2 -outline-offset-1",r[e]||r.brand,a),...t})}export{u as a,b,P as c,h as d,B as e};//# sourceMappingURL=chunk-CE6QYHWL.js.map
2
+ //# sourceMappingURL=chunk-CE6QYHWL.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/badge-group.tsx"],"names":["badgeGroupVariants","cva","badgeGroupContext","BadgeGroup","className","theme","color","size","align","render","children","props","defaultProps","cn","jsx","useRender","mergeProps","BadgeGroupAddon","colorAddonMap","addonClasses","BadgeGroupIcon","ArrowRightIcon","iconColorMap","BadgeGroupDot","dotColorMap"],"mappings":"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","file":"chunk-V2PW53KI.js","sourcesContent":["import * as React from \"react\"\r\n\r\nimport { mergeProps } from \"@base-ui/react/merge-props\"\r\nimport { useRender } from \"@base-ui/react/use-render\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { ArrowRightIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nconst badgeGroupVariants = cva(\r\n \"inline-flex items-center size-max whitespace-nowrap shrink-0 overflow-hidden transition-colors cursor-pointer group/badge-group gap-2\",\r\n {\r\n variants: {\r\n theme: {\r\n light: \"rounded-xp-full ring-1 ring-inset\",\r\n modern: \"rounded-xp-card-base-md bg-bg-primary text-text-secondary ring-1 ring-inset ring-border-primary shadow-xp-xs hover:bg-bg-secondary\",\r\n },\r\n color: {\r\n brand: \"\",\r\n gray: \"\",\r\n error: \"\",\r\n warning: \"\",\r\n success: \"\",\r\n },\r\n size: {\r\n md: \"text-body-medium-3\",\r\n lg: \"text-body-medium-2\",\r\n },\r\n align: {\r\n leading: \"\",\r\n trailing: \"\",\r\n },\r\n },\r\n compoundVariants: [\r\n // Light theme colors\r\n {\r\n theme: \"light\",\r\n color: \"brand\",\r\n className: \"bg-utility-brand-50 text-utility-brand-700 ring-utility-brand-200 hover:bg-utility-brand-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"gray\",\r\n className: \"bg-utility-gray-50 text-utility-gray-700 ring-utility-gray-200 hover:bg-utility-gray-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"error\",\r\n className: \"bg-utility-error-50 text-utility-error-700 ring-utility-error-200 hover:bg-utility-error-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"warning\",\r\n className: \"bg-utility-warning-50 text-utility-warning-700 ring-utility-warning-200 hover:bg-utility-warning-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"success\",\r\n className: \"bg-utility-success-50 text-utility-success-700 ring-utility-success-200 hover:bg-utility-success-100\",\r\n },\r\n\r\n // Size & Align combinations (Root padding matching exact Figma values)\r\n // Leading: Addon on the left\r\n {\r\n align: \"leading\",\r\n size: \"md\",\r\n className: \"py-1 pl-1 pr-2\",\r\n },\r\n {\r\n align: \"leading\",\r\n size: \"lg\",\r\n className: \"py-1 pl-1 pr-2.5\",\r\n },\r\n // Trailing: Addon on the right\r\n {\r\n align: \"trailing\",\r\n size: \"md\",\r\n className: \"py-1 pl-2 pr-1\",\r\n },\r\n {\r\n align: \"trailing\",\r\n size: \"lg\",\r\n className: \"py-1 pl-2.5 pr-1\",\r\n },\r\n ],\r\n defaultVariants: {\r\n theme: \"light\",\r\n color: \"brand\",\r\n size: \"md\",\r\n align: \"leading\",\r\n },\r\n }\r\n)\r\n\r\nconst badgeGroupContext = React.createContext<{\r\n theme: \"light\" | \"modern\"\r\n color: \"brand\" | \"gray\" | \"error\" | \"warning\" | \"success\"\r\n size: \"md\" | \"lg\"\r\n}>({\r\n theme: \"light\",\r\n color: \"brand\",\r\n size: \"md\",\r\n})\r\n\r\nexport interface BadgeGroupProps\r\n extends Omit<React.ComponentProps<\"div\">, \"color\">,\r\n VariantProps<typeof badgeGroupVariants> {\r\n}\r\n\r\nfunction BadgeGroup({\r\n className,\r\n theme = \"light\",\r\n color = \"brand\",\r\n size = \"md\",\r\n align = \"leading\",\r\n render,\r\n children,\r\n ...props\r\n}: BadgeGroupProps & useRender.ComponentProps<\"div\">) {\r\n const defaultProps = {\r\n \"data-slot\": \"badge-group\",\r\n \"data-theme\": theme,\r\n \"data-color\": color,\r\n \"data-size\": size,\r\n \"data-align\": align,\r\n className: cn(badgeGroupVariants({ theme, color, size, align }), className),\r\n children,\r\n }\r\n\r\n return (\r\n <badgeGroupContext.Provider value={{ theme: theme ?? \"light\", color: color ?? \"brand\", size: size ?? \"md\" }}>\r\n {useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps(defaultProps, props),\r\n render,\r\n state: {\r\n slot: \"badge-group\",\r\n theme,\r\n color,\r\n size,\r\n align,\r\n },\r\n })}\r\n </badgeGroupContext.Provider>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupAddonProps extends React.ComponentProps<\"span\"> {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction BadgeGroupAddon({\r\n className,\r\n children,\r\n ...props\r\n}: BadgeGroupAddonProps) {\r\n const { theme, color, size } = React.useContext(badgeGroupContext)\r\n\r\n const colorAddonMap: Record<string, string> = {\r\n brand: \"ring-utility-brand-200 text-utility-brand-700\",\r\n gray: \"ring-utility-gray-200 text-utility-gray-700\",\r\n error: \"ring-utility-error-200 text-utility-error-700\",\r\n warning: \"ring-utility-warning-200 text-utility-warning-700\",\r\n success: \"ring-utility-success-200 text-utility-success-700\",\r\n }\r\n\r\n const addonClasses = cn(\r\n \"inline-flex items-center justify-center font-medium shrink-0\",\r\n theme === \"light\" && [\r\n \"rounded-xp-full bg-bg-primary ring-1 ring-inset\",\r\n colorAddonMap[color] || colorAddonMap.brand,\r\n size === \"md\" ? \"px-2 py-0.5\" : \"px-2.5 py-0.5\",\r\n ],\r\n theme === \"modern\" && [\r\n \"rounded-xp-card-base-sm bg-bg-primary shadow-xp-xs ring-1 ring-inset ring-border-primary text-text-secondary\",\r\n size === \"md\" ? \"gap-1 px-1.5 py-0.5\" : \"gap-1.5 px-2 py-0.5\",\r\n ],\r\n className\r\n )\r\n\r\n return (\r\n <span data-slot=\"badge-group-addon\" className={addonClasses} {...props}>\r\n {children}\r\n </span>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupIconProps extends React.ComponentProps<\"span\"> {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction BadgeGroupIcon({\r\n className,\r\n children = <ArrowRightIcon />,\r\n ...props\r\n}: BadgeGroupIconProps) {\r\n const { color } = React.useContext(badgeGroupContext)\r\n\r\n const iconColorMap: Record<string, string> = {\r\n brand: \"text-utility-brand-500\",\r\n gray: \"text-utility-gray-500\",\r\n error: \"text-utility-error-500\",\r\n warning: \"text-utility-warning-500\",\r\n success: \"text-utility-success-500\",\r\n }\r\n\r\n return (\r\n <span\r\n data-slot=\"badge-group-icon\"\r\n className={cn(\r\n \"inline-flex items-center justify-center shrink-0 [&>svg]:size-4 [&>svg]:stroke-[2px] pointer-events-none transition-transform group-hover/badge-group:translate-x-0.5\",\r\n iconColorMap[color] || iconColorMap.brand,\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </span>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupDotProps extends React.ComponentProps<\"span\"> {\r\n}\r\n\r\nfunction BadgeGroupDot({\r\n className,\r\n ...props\r\n}: BadgeGroupDotProps) {\r\n const { color } = React.useContext(badgeGroupContext)\r\n\r\n const dotColorMap: Record<string, string> = {\r\n brand: \"bg-utility-brand-500 outline-utility-brand-100\",\r\n gray: \"bg-utility-gray-500 outline-utility-gray-100\",\r\n error: \"bg-utility-error-500 outline-utility-error-100\",\r\n warning: \"bg-utility-warning-500 outline-utility-warning-100\",\r\n success: \"bg-utility-success-500 outline-utility-success-100\",\r\n }\r\n\r\n return (\r\n <span\r\n data-slot=\"badge-group-dot\"\r\n className={cn(\r\n \"inline-block size-1.5 shrink-0 rounded-xp-full outline-2 -outline-offset-1\",\r\n dotColorMap[color] || dotColorMap.brand,\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n BadgeGroup,\r\n BadgeGroupAddon,\r\n BadgeGroupIcon,\r\n BadgeGroupDot,\r\n badgeGroupVariants,\r\n}\r\n"]}
1
+ {"version":3,"sources":["../src/ui/badge-group.tsx"],"names":["badgeGroupVariants","cva","badgeGroupContext","BadgeGroup","className","theme","color","size","align","render","children","props","defaultProps","cn","jsx","useRender","mergeProps","BadgeGroupAddon","colorAddonMap","addonClasses","BadgeGroupIcon","ArrowRightIcon","iconColorMap","BadgeGroupDot","dotColorMap"],"mappings":"wRASA,IAAMA,EAAqBC,GAAAA,CACzB,uIAAA,CACA,CACE,QAAA,CAAU,CACR,KAAA,CAAO,CACL,KAAA,CAAO,mCAAA,CACP,MAAA,CAAQ,oIACV,CAAA,CACA,KAAA,CAAO,CACL,KAAA,CAAO,EAAA,CACP,IAAA,CAAM,EAAA,CACN,KAAA,CAAO,EAAA,CACP,QAAS,EAAA,CACT,OAAA,CAAS,EACX,CAAA,CACA,IAAA,CAAM,CACJ,GAAI,oBAAA,CACJ,EAAA,CAAI,oBACN,CAAA,CACA,KAAA,CAAO,CACL,QAAS,EAAA,CACT,QAAA,CAAU,EACZ,CACF,CAAA,CACA,gBAAA,CAAkB,CAEhB,CACE,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,OAAA,CACP,SAAA,CAAW,8FACb,CAAA,CACA,CACE,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,MAAA,CACP,UAAW,0FACb,CAAA,CACA,CACE,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,QACP,SAAA,CAAW,8FACb,CAAA,CACA,CACE,KAAA,CAAO,OAAA,CACP,MAAO,SAAA,CACP,SAAA,CAAW,sGACb,CAAA,CACA,CACE,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,SAAA,CACP,SAAA,CAAW,sGACb,CAAA,CAIA,CACE,KAAA,CAAO,UACP,IAAA,CAAM,IAAA,CACN,SAAA,CAAW,gBACb,CAAA,CACA,CACE,MAAO,SAAA,CACP,IAAA,CAAM,IAAA,CACN,SAAA,CAAW,kBACb,CAAA,CAEA,CACE,KAAA,CAAO,UAAA,CACP,IAAA,CAAM,IAAA,CACN,SAAA,CAAW,gBACb,EACA,CACE,KAAA,CAAO,UAAA,CACP,IAAA,CAAM,IAAA,CACN,SAAA,CAAW,kBACb,CACF,CAAA,CACA,eAAA,CAAiB,CACf,KAAA,CAAO,OAAA,CACP,MAAO,OAAA,CACP,IAAA,CAAM,IAAA,CACN,KAAA,CAAO,SACT,CACF,CACF,CAAA,CAEMC,CAAAA,CAA0B,CAAA,CAAA,aAAA,CAI7B,CACD,KAAA,CAAO,OAAA,CACP,KAAA,CAAO,OAAA,CACP,IAAA,CAAM,IACR,CAAC,EAOD,SAASC,CAAAA,CAAW,CAClB,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CAAQ,OAAA,CACR,KAAA,CAAAC,EAAQ,OAAA,CACR,IAAA,CAAAC,CAAAA,CAAO,IAAA,CACP,KAAA,CAAAC,CAAAA,CAAQ,UACR,MAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,EAAsD,CACpD,IAAMC,CAAAA,CAAe,CACnB,WAAA,CAAa,aAAA,CACb,aAAcP,CAAAA,CACd,YAAA,CAAcC,CAAAA,CACd,WAAA,CAAaC,CAAAA,CACb,YAAA,CAAcC,EACd,SAAA,CAAWK,EAAAA,CAAGb,CAAAA,CAAmB,CAAE,KAAA,CAAAK,CAAAA,CAAO,MAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,CAAM,CAAC,CAAA,CAAGJ,CAAS,CAAA,CAC1E,QAAA,CAAAM,CACF,CAAA,CAEA,OACEI,GAAAA,CAACZ,EAAkB,QAAA,CAAlB,CAA2B,KAAA,CAAO,CAAE,KAAA,CAAOG,CAAAA,EAAS,QAAS,KAAA,CAAOC,CAAAA,EAAS,OAAA,CAAS,IAAA,CAAMC,CAAAA,EAAQ,IAAK,EACvG,QAAA,CAAAQ,SAAAA,CAAU,CACT,cAAA,CAAgB,KAAA,CAChB,KAAA,CAAOC,WAAWJ,CAAAA,CAAcD,CAAK,CAAA,CACrC,MAAA,CAAAF,CAAAA,CACA,KAAA,CAAO,CACL,IAAA,CAAM,aAAA,CACN,KAAA,CAAAJ,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,KAAA,CAAAC,CACF,CACF,CAAC,CAAA,CACH,CAEJ,CAMA,SAASS,CAAAA,CAAgB,CACvB,SAAA,CAAAb,CAAAA,CACA,SAAAM,CAAAA,CACA,GAAGC,CACL,CAAA,CAAyB,CACvB,GAAM,CAAE,KAAA,CAAAN,CAAAA,CAAO,KAAA,CAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAK,EAAU,CAAA,CAAA,UAAA,CAAWL,CAAiB,CAAA,CAE3DgB,CAAAA,CAAwC,CAC5C,KAAA,CAAO,gDACP,IAAA,CAAM,6CAAA,CACN,KAAA,CAAO,+CAAA,CACP,OAAA,CAAS,mDAAA,CACT,QAAS,mDACX,CAAA,CAEMC,CAAAA,CAAeN,EAAAA,CACnB,8DAAA,CACAR,CAAAA,GAAU,SAAW,CACnB,iDAAA,CACAa,CAAAA,CAAcZ,CAAK,CAAA,EAAKY,CAAAA,CAAc,MACtCX,CAAAA,GAAS,IAAA,CAAO,aAAA,CAAgB,eAClC,CAAA,CACAF,CAAAA,GAAU,UAAY,CACpB,8GAAA,CACAE,CAAAA,GAAS,IAAA,CAAO,qBAAA,CAAwB,qBAC1C,CAAA,CACAH,CACF,CAAA,CAEA,OACEU,GAAAA,CAAC,MAAA,CAAA,CAAK,WAAA,CAAU,mBAAA,CAAoB,UAAWK,CAAAA,CAAe,GAAGR,CAAAA,CAC9D,QAAA,CAAAD,CAAAA,CACH,CAEJ,CAMA,SAASU,CAAAA,CAAe,CACtB,SAAA,CAAAhB,CAAAA,CACA,QAAA,CAAAM,EAAWI,GAAAA,CAACO,cAAAA,CAAA,EAAe,CAAA,CAC3B,GAAGV,CACL,EAAwB,CACtB,GAAM,CAAE,KAAA,CAAAL,CAAM,CAAA,CAAU,aAAWJ,CAAiB,CAAA,CAE9CoB,CAAAA,CAAuC,CAC3C,KAAA,CAAO,wBAAA,CACP,KAAM,uBAAA,CACN,KAAA,CAAO,wBAAA,CACP,OAAA,CAAS,0BAAA,CACT,OAAA,CAAS,0BACX,CAAA,CAEA,OACER,GAAAA,CAAC,MAAA,CAAA,CACC,WAAA,CAAU,kBAAA,CACV,SAAA,CAAWD,EAAAA,CACT,uKAAA,CACAS,CAAAA,CAAahB,CAAK,CAAA,EAAKgB,CAAAA,CAAa,KAAA,CACpClB,CACF,CAAA,CACC,GAAGO,CAAAA,CAEH,QAAA,CAAAD,CAAAA,CACH,CAEJ,CAKA,SAASa,CAAAA,CAAc,CACrB,SAAA,CAAAnB,CAAAA,CACA,GAAGO,CACL,CAAA,CAAuB,CACrB,GAAM,CAAE,KAAA,CAAAL,CAAM,EAAU,CAAA,CAAA,UAAA,CAAWJ,CAAiB,CAAA,CAE9CsB,CAAAA,CAAsC,CAC1C,KAAA,CAAO,iDACP,IAAA,CAAM,8CAAA,CACN,KAAA,CAAO,gDAAA,CACP,OAAA,CAAS,oDAAA,CACT,QAAS,oDACX,CAAA,CAEA,OACEV,GAAAA,CAAC,MAAA,CAAA,CACC,WAAA,CAAU,kBACV,SAAA,CAAWD,EAAAA,CACT,4EAAA,CACAW,CAAAA,CAAYlB,CAAK,CAAA,EAAKkB,CAAAA,CAAY,KAAA,CAClCpB,CACF,CAAA,CACC,GAAGO,CAAAA,CACN,CAEJ","file":"chunk-CE6QYHWL.js","sourcesContent":["import * as React from \"react\"\r\n\r\nimport { mergeProps } from \"@base-ui/react/merge-props\"\r\nimport { useRender } from \"@base-ui/react/use-render\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { ArrowRightIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nconst badgeGroupVariants = cva(\r\n \"inline-flex items-center size-max whitespace-nowrap shrink-0 overflow-hidden transition-colors cursor-pointer group/badge-group gap-2\",\r\n {\r\n variants: {\r\n theme: {\r\n light: \"rounded-xp-full ring-1 ring-inset\",\r\n modern: \"rounded-xp-card-base-md bg-bg-primary text-text-secondary ring-1 ring-inset ring-border-primary shadow-xp-xs hover:bg-bg-secondary\",\r\n },\r\n color: {\r\n brand: \"\",\r\n gray: \"\",\r\n error: \"\",\r\n warning: \"\",\r\n success: \"\",\r\n },\r\n size: {\r\n md: \"text-body-medium-3\",\r\n lg: \"text-body-medium-2\",\r\n },\r\n align: {\r\n leading: \"\",\r\n trailing: \"\",\r\n },\r\n },\r\n compoundVariants: [\r\n // Light theme colors\r\n {\r\n theme: \"light\",\r\n color: \"brand\",\r\n className: \"bg-utility-brand-50 text-utility-brand-700 ring-utility-brand-200 hover:bg-utility-brand-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"gray\",\r\n className: \"bg-utility-gray-50 text-utility-gray-700 ring-utility-gray-200 hover:bg-utility-gray-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"error\",\r\n className: \"bg-utility-error-50 text-utility-error-700 ring-utility-error-200 hover:bg-utility-error-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"warning\",\r\n className: \"bg-utility-warning-50 text-utility-warning-700 ring-utility-warning-200 hover:bg-utility-warning-100\",\r\n },\r\n {\r\n theme: \"light\",\r\n color: \"success\",\r\n className: \"bg-utility-success-50 text-utility-success-700 ring-utility-success-200 hover:bg-utility-success-100\",\r\n },\r\n\r\n // Size & Align combinations (Root padding matching exact Figma values)\r\n // Leading: Addon on the left\r\n {\r\n align: \"leading\",\r\n size: \"md\",\r\n className: \"py-1 pl-1 pr-2\",\r\n },\r\n {\r\n align: \"leading\",\r\n size: \"lg\",\r\n className: \"py-1 pl-1 pr-2.5\",\r\n },\r\n // Trailing: Addon on the right\r\n {\r\n align: \"trailing\",\r\n size: \"md\",\r\n className: \"py-1 pl-2 pr-1\",\r\n },\r\n {\r\n align: \"trailing\",\r\n size: \"lg\",\r\n className: \"py-1 pl-2.5 pr-1\",\r\n },\r\n ],\r\n defaultVariants: {\r\n theme: \"light\",\r\n color: \"brand\",\r\n size: \"md\",\r\n align: \"leading\",\r\n },\r\n }\r\n)\r\n\r\nconst badgeGroupContext = React.createContext<{\r\n theme: \"light\" | \"modern\"\r\n color: \"brand\" | \"gray\" | \"error\" | \"warning\" | \"success\"\r\n size: \"md\" | \"lg\"\r\n}>({\r\n theme: \"light\",\r\n color: \"brand\",\r\n size: \"md\",\r\n})\r\n\r\nexport interface BadgeGroupProps\r\n extends Omit<React.ComponentProps<\"div\">, \"color\">,\r\n VariantProps<typeof badgeGroupVariants> {\r\n}\r\n\r\nfunction BadgeGroup({\r\n className,\r\n theme = \"light\",\r\n color = \"brand\",\r\n size = \"md\",\r\n align = \"leading\",\r\n render,\r\n children,\r\n ...props\r\n}: BadgeGroupProps & useRender.ComponentProps<\"div\">) {\r\n const defaultProps = {\r\n \"data-slot\": \"badge-group\",\r\n \"data-theme\": theme,\r\n \"data-color\": color,\r\n \"data-size\": size,\r\n \"data-align\": align,\r\n className: cn(badgeGroupVariants({ theme, color, size, align }), className),\r\n children,\r\n }\r\n\r\n return (\r\n <badgeGroupContext.Provider value={{ theme: theme ?? \"light\", color: color ?? \"brand\", size: size ?? \"md\" }}>\r\n {useRender({\r\n defaultTagName: \"div\",\r\n props: mergeProps(defaultProps, props),\r\n render,\r\n state: {\r\n slot: \"badge-group\",\r\n theme,\r\n color,\r\n size,\r\n align,\r\n },\r\n })}\r\n </badgeGroupContext.Provider>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupAddonProps extends React.ComponentProps<\"span\"> {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction BadgeGroupAddon({\r\n className,\r\n children,\r\n ...props\r\n}: BadgeGroupAddonProps) {\r\n const { theme, color, size } = React.useContext(badgeGroupContext)\r\n\r\n const colorAddonMap: Record<string, string> = {\r\n brand: \"ring-utility-brand-200 text-utility-brand-700\",\r\n gray: \"ring-utility-gray-200 text-utility-gray-700\",\r\n error: \"ring-utility-error-200 text-utility-error-700\",\r\n warning: \"ring-utility-warning-200 text-utility-warning-700\",\r\n success: \"ring-utility-success-200 text-utility-success-700\",\r\n }\r\n\r\n const addonClasses = cn(\r\n \"inline-flex items-center justify-center font-medium shrink-0\",\r\n theme === \"light\" && [\r\n \"rounded-xp-full bg-bg-primary ring-1 ring-inset\",\r\n colorAddonMap[color] || colorAddonMap.brand,\r\n size === \"md\" ? \"px-2 py-0.5\" : \"px-2.5 py-0.5\",\r\n ],\r\n theme === \"modern\" && [\r\n \"rounded-xp-card-base-sm bg-bg-primary shadow-xp-xs ring-1 ring-inset ring-border-primary text-text-secondary\",\r\n size === \"md\" ? \"gap-1 px-1.5 py-0.5\" : \"gap-1.5 px-2 py-0.5\",\r\n ],\r\n className\r\n )\r\n\r\n return (\r\n <span data-slot=\"badge-group-addon\" className={addonClasses} {...props}>\r\n {children}\r\n </span>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupIconProps extends React.ComponentProps<\"span\"> {\r\n children?: React.ReactNode\r\n}\r\n\r\nfunction BadgeGroupIcon({\r\n className,\r\n children = <ArrowRightIcon />,\r\n ...props\r\n}: BadgeGroupIconProps) {\r\n const { color } = React.useContext(badgeGroupContext)\r\n\r\n const iconColorMap: Record<string, string> = {\r\n brand: \"text-utility-brand-500\",\r\n gray: \"text-utility-gray-500\",\r\n error: \"text-utility-error-500\",\r\n warning: \"text-utility-warning-500\",\r\n success: \"text-utility-success-500\",\r\n }\r\n\r\n return (\r\n <span\r\n data-slot=\"badge-group-icon\"\r\n className={cn(\r\n \"inline-flex items-center justify-center shrink-0 [&>svg]:size-4 [&>svg]:stroke-[2px] pointer-events-none transition-transform group-hover/badge-group:translate-x-0.5\",\r\n iconColorMap[color] || iconColorMap.brand,\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </span>\r\n )\r\n}\r\n\r\nexport interface BadgeGroupDotProps extends React.ComponentProps<\"span\"> {\r\n}\r\n\r\nfunction BadgeGroupDot({\r\n className,\r\n ...props\r\n}: BadgeGroupDotProps) {\r\n const { color } = React.useContext(badgeGroupContext)\r\n\r\n const dotColorMap: Record<string, string> = {\r\n brand: \"bg-utility-brand-500 outline-utility-brand-100\",\r\n gray: \"bg-utility-gray-500 outline-utility-gray-100\",\r\n error: \"bg-utility-error-500 outline-utility-error-100\",\r\n warning: \"bg-utility-warning-500 outline-utility-warning-100\",\r\n success: \"bg-utility-success-500 outline-utility-success-100\",\r\n }\r\n\r\n return (\r\n <span\r\n data-slot=\"badge-group-dot\"\r\n className={cn(\r\n \"inline-block size-1.5 shrink-0 rounded-xp-full outline-2 -outline-offset-1\",\r\n dotColorMap[color] || dotColorMap.brand,\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n BadgeGroup,\r\n BadgeGroupAddon,\r\n BadgeGroupIcon,\r\n BadgeGroupDot,\r\n badgeGroupVariants,\r\n}\r\n"]}
@@ -0,0 +1,2 @@
1
+ import {b as b$1}from'./chunk-DQGZIFNP.js';import*as s from'react';import {cva}from'class-variance-authority';import {cn}from'@xploreu/lib/cn';import {jsx}from'react/jsx-runtime';var p=s.createContext({size:"md"}),b=cva(cn("group/input-group relative flex w-full min-w-0 items-center rounded-xp-card-base border border-border-primary bg-bg-primary transition-[color,box-shadow,border] outline-none","in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0","has-disabled:bg-bg-disabled has-disabled:cursor-not-allowed has-disabled:text-text-disabled","has-[[data-slot=input-group-control]:focus-visible]:border-border-brand has-[[data-slot=input-group-control]:focus-visible]:ring-2 has-[[data-slot=input-group-control]:focus-visible]:ring-border-brand/20","has-[[data-slot][aria-invalid=true]]:border-content-on-error-subtle-action has-[[data-slot][aria-invalid=true]]:ring-2 has-[[data-slot][aria-invalid=true]]:ring-content-on-error-subtle-action/20","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col","has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3"),{variants:{size:{"3xs":"h-6 text-label-regular-4 px-2 gap-1","2xs":"h-7 text-label-regular-4 px-2.5 gap-1.5",xs:"h-8 text-body-regular-3 px-2.5 gap-1.5",sm:"h-9 text-body-regular-3 px-3 gap-2",md:"h-10 text-body-regular-2 px-3 gap-2",lg:"h-11 text-body-regular-2 px-3.5 gap-2.5",xl:"h-12 text-body-regular-2 px-4 gap-2.5"}},defaultVariants:{size:"md"}});function h({className:e,size:t="md",...a}){let n=t??"md";return jsx(p.Provider,{value:{size:n},children:jsx("div",{"data-slot":"input-group",role:"group",className:cn(b({size:n}),e),...a})})}var x=cva("flex h-auto cursor-text items-center justify-center text-text-tertiary select-none group-data-[disabled=true]/input-group:opacity-50 [&_svg]:shrink-0",{variants:{align:{"inline-start":"order-first","inline-end":"order-last","block-start":"order-first w-full justify-start border-b border-border-secondary pb-1.5","block-end":"order-last w-full justify-start border-t border-border-secondary pt-1.5"},size:{"3xs":"text-label-regular-4 [&_svg]:size-3.5","2xs":"text-label-regular-4 [&_svg]:size-3.5",xs:"text-body-regular-3 [&_svg]:size-4",sm:"text-body-regular-3 [&_svg]:size-4",md:"text-body-regular-2 [&_svg]:size-4.5",lg:"text-body-regular-2 [&_svg]:size-5",xl:"text-body-regular-2 [&_svg]:size-5"}},defaultVariants:{align:"inline-start",size:"md"}});function v({className:e,align:t="inline-start",size:a,...n}){let u=s.useContext(p),l=a??u.size;return jsx("div",{role:"group","data-slot":"input-group-addon","data-align":t,className:cn(x({align:t,size:l}),e),onClick:i=>{i.target.closest("button")||i.currentTarget.parentElement?.querySelector("input, textarea")?.focus();},...n})}function y({className:e,type:t="button",variant:a="tertiary",size:n,...u}){let l=s.useContext(p),i=n??l.size;return jsx(b$1,{type:t,variant:a,size:i,className:cn("h-auto py-1 px-1.5 shadow-none",e),...u})}function z({className:e,...t}){return jsx("span",{className:cn("flex items-center text-text-tertiary select-none [&_svg]:pointer-events-none",e),...t})}function G({className:e,...t}){return jsx("input",{"data-slot":"input-group-control",className:cn("flex-1 min-w-0 rounded-none border-0 bg-transparent p-0 text-inherit placeholder:text-text-placeholder shadow-none outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus-visible:outline-none disabled:pointer-events-none disabled:bg-transparent disabled:text-text-disabled aria-invalid:ring-0",e),...t})}function I({className:e,...t}){return jsx("textarea",{"data-slot":"input-group-control",className:cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 text-inherit placeholder:text-text-placeholder shadow-none outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus-visible:outline-none disabled:pointer-events-none disabled:bg-transparent disabled:text-text-disabled aria-invalid:ring-0",e),...t})}export{b as a,h as b,x as c,v as d,y as e,z as f,G as g,I as h};//# sourceMappingURL=chunk-GC36Q7SO.js.map
2
+ //# sourceMappingURL=chunk-GC36Q7SO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/input-group.tsx"],"names":["InputGroupContext","inputGroupVariants","cva","cn","InputGroup","className","size","props","resolvedSize","jsx","inputGroupAddonVariants","InputGroupAddon","align","context","e","InputGroupButton","type","variant","Button","InputGroupText","InputGroupInput","InputGroupTextarea"],"mappings":"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","file":"chunk-GC36Q7SO.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport { Button, type buttonVariants } from \"./button\"\r\n\r\ntype InputGroupSize = \"3xs\" | \"2xs\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"\r\n\r\nconst InputGroupContext = React.createContext<{\r\n size: InputGroupSize\r\n}>({\r\n size: \"md\",\r\n})\r\n\r\nconst inputGroupVariants = cva(\r\n cn(\r\n \"group/input-group relative flex w-full min-w-0 items-center rounded-xp-card-base border border-border-primary bg-bg-primary transition-[color,box-shadow,border] outline-none\",\r\n \"in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0\",\r\n \"has-disabled:bg-bg-disabled has-disabled:cursor-not-allowed has-disabled:text-text-disabled\",\r\n \"has-[[data-slot=input-group-control]:focus-visible]:border-border-brand has-[[data-slot=input-group-control]:focus-visible]:ring-2 has-[[data-slot=input-group-control]:focus-visible]:ring-border-brand/20\",\r\n \"has-[[data-slot][aria-invalid=true]]:border-content-on-error-subtle-action has-[[data-slot][aria-invalid=true]]:ring-2 has-[[data-slot][aria-invalid=true]]:ring-content-on-error-subtle-action/20\",\r\n \"has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col\",\r\n \"has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col\",\r\n \"has-[>textarea]:h-auto has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3\"\r\n ),\r\n {\r\n variants: {\r\n size: {\r\n \"3xs\": \"h-6 text-label-regular-4 px-2 gap-1\",\r\n \"2xs\": \"h-7 text-label-regular-4 px-2.5 gap-1.5\",\r\n xs: \"h-8 text-body-regular-3 px-2.5 gap-1.5\",\r\n sm: \"h-9 text-body-regular-3 px-3 gap-2\",\r\n md: \"h-10 text-body-regular-2 px-3 gap-2\",\r\n lg: \"h-11 text-body-regular-2 px-3.5 gap-2.5\",\r\n xl: \"h-12 text-body-regular-2 px-4 gap-2.5\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"md\",\r\n },\r\n }\r\n)\r\n\r\nexport interface InputGroupProps\r\n extends React.ComponentProps<\"div\">,\r\n VariantProps<typeof inputGroupVariants> {}\r\n\r\nfunction InputGroup({ className, size = \"md\", ...props }: InputGroupProps) {\r\n const resolvedSize = size ?? \"md\"\r\n\r\n return (\r\n <InputGroupContext.Provider value={{ size: resolvedSize }}>\r\n <div\r\n data-slot=\"input-group\"\r\n role=\"group\"\r\n className={cn(inputGroupVariants({ size: resolvedSize }), className)}\r\n {...props}\r\n />\r\n </InputGroupContext.Provider>\r\n )\r\n}\r\n\r\nconst inputGroupAddonVariants = cva(\r\n \"flex h-auto cursor-text items-center justify-center text-text-tertiary select-none group-data-[disabled=true]/input-group:opacity-50 [&_svg]:shrink-0\",\r\n {\r\n variants: {\r\n align: {\r\n \"inline-start\": \"order-first\",\r\n \"inline-end\": \"order-last\",\r\n \"block-start\": \"order-first w-full justify-start border-b border-border-secondary pb-1.5\",\r\n \"block-end\": \"order-last w-full justify-start border-t border-border-secondary pt-1.5\",\r\n },\r\n size: {\r\n \"3xs\": \"text-label-regular-4 [&_svg]:size-3.5\",\r\n \"2xs\": \"text-label-regular-4 [&_svg]:size-3.5\",\r\n xs: \"text-body-regular-3 [&_svg]:size-4\",\r\n sm: \"text-body-regular-3 [&_svg]:size-4\",\r\n md: \"text-body-regular-2 [&_svg]:size-4.5\",\r\n lg: \"text-body-regular-2 [&_svg]:size-5\",\r\n xl: \"text-body-regular-2 [&_svg]:size-5\",\r\n },\r\n },\r\n defaultVariants: {\r\n align: \"inline-start\",\r\n size: \"md\",\r\n },\r\n }\r\n)\r\n\r\nexport interface InputGroupAddonProps\r\n extends React.ComponentProps<\"div\">,\r\n VariantProps<typeof inputGroupAddonVariants> {}\r\n\r\nfunction InputGroupAddon({\r\n className,\r\n align = \"inline-start\",\r\n size,\r\n ...props\r\n}: InputGroupAddonProps) {\r\n const context = React.useContext(InputGroupContext)\r\n const resolvedSize = size ?? context.size\r\n\r\n return (\r\n <div\r\n role=\"group\"\r\n data-slot=\"input-group-addon\"\r\n data-align={align}\r\n className={cn(inputGroupAddonVariants({ align, size: resolvedSize }), className)}\r\n onClick={(e) => {\r\n if ((e.target as HTMLElement).closest(\"button\")) {\r\n return\r\n }\r\n e.currentTarget.parentElement?.querySelector<HTMLElement>(\"input, textarea\")?.focus()\r\n }}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport interface InputGroupButtonProps\r\n extends Omit<React.ComponentProps<typeof Button>, \"size\" | \"type\">,\r\n VariantProps<typeof buttonVariants> {\r\n type?: \"button\" | \"submit\" | \"reset\"\r\n size?: InputGroupSize\r\n}\r\n\r\nfunction InputGroupButton({\r\n className,\r\n type = \"button\",\r\n variant = \"tertiary\",\r\n size,\r\n ...props\r\n}: InputGroupButtonProps) {\r\n const context = React.useContext(InputGroupContext)\r\n const resolvedSize = size ?? context.size\r\n\r\n return (\r\n <Button\r\n type={type}\r\n variant={variant}\r\n size={resolvedSize}\r\n className={cn(\"h-auto py-1 px-1.5 shadow-none\", className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\r\n return (\r\n <span\r\n className={cn(\r\n \"flex items-center text-text-tertiary select-none [&_svg]:pointer-events-none\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction InputGroupInput({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"input\">) {\r\n return (\r\n <input\r\n data-slot=\"input-group-control\"\r\n className={cn(\r\n \"flex-1 min-w-0 rounded-none border-0 bg-transparent p-0 text-inherit placeholder:text-text-placeholder shadow-none outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus-visible:outline-none disabled:pointer-events-none disabled:bg-transparent disabled:text-text-disabled aria-invalid:ring-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction InputGroupTextarea({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"textarea\">) {\r\n return (\r\n <textarea\r\n data-slot=\"input-group-control\"\r\n className={cn(\r\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 text-inherit placeholder:text-text-placeholder shadow-none outline-none ring-0 focus:ring-0 focus-visible:ring-0 focus-visible:outline-none disabled:pointer-events-none disabled:bg-transparent disabled:text-text-disabled aria-invalid:ring-0\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport {\r\n InputGroup,\r\n InputGroupAddon,\r\n InputGroupButton,\r\n InputGroupText,\r\n InputGroupInput,\r\n InputGroupTextarea,\r\n inputGroupVariants,\r\n inputGroupAddonVariants,\r\n}\r\n"]}
@@ -1,2 +1,2 @@
1
- import {a,b,i,m,e,q,s,w,x,H}from'./chunk-SVNG3RLD.js';import {a as a$1}from'./chunk-Y6TKCAAJ.js';import'react';import {ChevronDownIcon}from'lucide-react';import'class-variance-authority';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var y={"3xs":"size-3","2xs":"size-3.5",xs:"size-3.5",sm:"size-4",md:"size-4",lg:"size-4.5",xl:"size-5"},D={"3xs":"gap-1.5 pr-2","2xs":"gap-1.5 pr-2.5",xs:"gap-2 pr-2.5",sm:"gap-2 pr-3",md:"gap-2 pr-3",lg:"gap-2.5 pr-3.5",xl:"gap-2.5 pr-4"};function K({items:t,value:I,defaultValue:h,onValueChange:z,placeholder:m$1="Select",searchPlaceholder:N,icon:n,container:V,isPending:v,className:R,triggerClassName:T,contentClassName:k,disabled:q$1,size:a$2="md",infiniteScroll:w$1,showSearch:p=false,filter:l,...L}){return jsxs(a,{items:t,value:I,defaultValue:h,onValueChange:z,filter:l===null||!p?null:l,isItemEqualToValue:(e,B)=>e.value===B.value,disabled:q$1,...L,children:[jsxs(b,{className:cn(a$1({size:a$2}),"group flex cursor-pointer items-center text-left",D[a$2??"md"]??"gap-2 pr-3",T,R),children:[n&&jsx("span",{className:cn(y[a$2??"md"]??"size-4","shrink-0 text-fg-quaternary [&_svg]:size-full"),children:n}),jsx("span",{className:"flex-1 truncate",children:jsx(i,{children:e=>jsx("span",{className:e?"text-text-primary":"text-text-placeholder",children:e?.label??m$1})})}),jsx(ChevronDownIcon,{className:cn(y[a$2??"md"]??"size-4","shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180")})]}),jsxs(m,{container:V,className:cn("w-72",k),align:"start",sideOffset:8,children:[p&&jsx(e,{placeholder:N??`Search ${m$1.toLowerCase()}...`}),jsx(q,{status:v||t===void 0?"pending":t.length===0?"empty":null}),jsxs(s,{children:[t?.map(e=>jsx(w,{value:e,children:jsx(x,{children:e.label})},e.value)),jsx(H,{...w$1})]})]})]})}export{K as a};//# sourceMappingURL=chunk-M63WCJ22.js.map
2
- //# sourceMappingURL=chunk-M63WCJ22.js.map
1
+ import {a,b,i,m,e,q,s,w,x,H}from'./chunk-C5UISTOE.js';import {a as a$1}from'./chunk-Y6TKCAAJ.js';import'react';import {ChevronDownIcon}from'lucide-react';import'class-variance-authority';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var y={"3xs":"size-3","2xs":"size-3.5",xs:"size-3.5",sm:"size-4",md:"size-4",lg:"size-4.5",xl:"size-5"},D={"3xs":"gap-1.5 pr-2","2xs":"gap-1.5 pr-2.5",xs:"gap-2 pr-2.5",sm:"gap-2 pr-3",md:"gap-2 pr-3",lg:"gap-2.5 pr-3.5",xl:"gap-2.5 pr-4"};function K({items:t,value:I,defaultValue:h,onValueChange:z,placeholder:m$1="Select",searchPlaceholder:N,icon:n,container:V,isPending:v,className:R,triggerClassName:T,contentClassName:k,disabled:q$1,size:a$2="md",infiniteScroll:w$1,showSearch:p=false,filter:l,...L}){return jsxs(a,{items:t,value:I,defaultValue:h,onValueChange:z,filter:l===null||!p?null:l,isItemEqualToValue:(e,B)=>e.value===B.value,disabled:q$1,...L,children:[jsxs(b,{className:cn(a$1({size:a$2}),"group flex cursor-pointer items-center text-left",D[a$2??"md"]??"gap-2 pr-3",T,R),children:[n&&jsx("span",{className:cn(y[a$2??"md"]??"size-4","shrink-0 text-fg-quaternary [&_svg]:size-full"),children:n}),jsx("span",{className:"flex-1 truncate",children:jsx(i,{children:e=>jsx("span",{className:e?"text-text-primary":"text-text-placeholder",children:e?.label??m$1})})}),jsx(ChevronDownIcon,{className:cn(y[a$2??"md"]??"size-4","shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180")})]}),jsxs(m,{container:V,className:cn("w-72",k),align:"start",sideOffset:8,children:[p&&jsx(e,{placeholder:N??`Search ${m$1.toLowerCase()}...`}),jsx(q,{status:v||t===void 0?"pending":t.length===0?"empty":null}),jsxs(s,{children:[t?.map(e=>jsx(w,{value:e,children:jsx(x,{children:e.label})},e.value)),jsx(H,{...w$1})]})]})]})}export{K as a};//# sourceMappingURL=chunk-GDWTPI4H.js.map
2
+ //# sourceMappingURL=chunk-GDWTPI4H.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/composites/combobox-simple.tsx"],"names":["comboboxSimpleIconSizes","comboboxSimpleTriggerPaddings","ComboboxSimple","items","value","defaultValue","onValueChange","placeholder","searchPlaceholder","icon","container","isPending","className","triggerClassName","contentClassName","disabled","size","infiniteScroll","showSearch","filter","props","jsxs","Combobox","a","b","ComboboxTrigger","cn","inputVariants","jsx","ComboboxValue","item","ChevronDownIcon","ComboboxPopup","ComboboxInput","ComboboxStatus","ComboboxList","ComboboxItem","ComboboxItemTitle","ComboboxInfiniteScroll"],"mappings":"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","file":"chunk-M63WCJ22.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { ChevronDownIcon } from \"lucide-react\"\r\nimport { type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport { inputVariants } from \"../ui/input\"\r\nimport { ComboboxItem, ComboboxItemTitle, type ComboboxProps } from \"../ui/combobox\"\r\nimport {\r\n Combobox,\r\n ComboboxInfiniteScroll,\r\n ComboboxInput,\r\n ComboboxList,\r\n ComboboxPopup,\r\n ComboboxPortal,\r\n ComboboxStatus,\r\n ComboboxTrigger,\r\n ComboboxValue,\r\n} from \"../ui/combobox\"\r\n\r\n// ─── Types ───\r\n\r\nexport type ComboboxSimpleItem = {\r\n label: string\r\n value: string\r\n}\r\n\r\ntype BaseProps = {\r\n items: ComboboxSimpleItem[] | undefined\r\n placeholder?: string\r\n searchPlaceholder?: string\r\n icon?: React.ReactNode\r\n container?: React.ComponentProps<typeof ComboboxPortal>[\"container\"]\r\n isPending?: boolean\r\n className?: string\r\n triggerClassName?: string\r\n contentClassName?: string\r\n disabled?: boolean\r\n size?: VariantProps<typeof inputVariants>[\"size\"]\r\n infiniteScroll?: React.ComponentProps<typeof ComboboxInfiniteScroll>\r\n showSearch?: boolean\r\n}\r\n\r\nexport type ComboboxSimpleProps = Omit<ComboboxProps<ComboboxSimpleItem, false>, \"multiple\" | \"items\"> & BaseProps\r\n\r\nconst comboboxSimpleIconSizes: Record<string, string> = {\r\n \"3xs\": \"size-3\",\r\n \"2xs\": \"size-3.5\",\r\n xs: \"size-3.5\",\r\n sm: \"size-4\",\r\n md: \"size-4\",\r\n lg: \"size-4.5\",\r\n xl: \"size-5\",\r\n}\r\n\r\nconst comboboxSimpleTriggerPaddings: Record<string, string> = {\r\n \"3xs\": \"gap-1.5 pr-2\",\r\n \"2xs\": \"gap-1.5 pr-2.5\",\r\n xs: \"gap-2 pr-2.5\",\r\n sm: \"gap-2 pr-3\",\r\n md: \"gap-2 pr-3\",\r\n lg: \"gap-2.5 pr-3.5\",\r\n xl: \"gap-2.5 pr-4\",\r\n}\r\n\r\n// ─── Component ───\r\n\r\nfunction ComboboxSimple({\r\n items,\r\n value,\r\n defaultValue,\r\n onValueChange,\r\n placeholder = \"Select\",\r\n searchPlaceholder,\r\n icon,\r\n container,\r\n isPending,\r\n className,\r\n triggerClassName,\r\n contentClassName,\r\n disabled,\r\n size = \"md\",\r\n infiniteScroll,\r\n showSearch = false,\r\n filter,\r\n ...props\r\n}: ComboboxSimpleProps) {\r\n return (\r\n <Combobox\r\n items={items}\r\n value={value}\r\n defaultValue={defaultValue}\r\n onValueChange={onValueChange}\r\n filter={filter === null || !showSearch ? null : filter}\r\n isItemEqualToValue={(a, b) => a.value === b.value}\r\n disabled={disabled}\r\n {...props}\r\n >\r\n <ComboboxTrigger\r\n className={cn(\r\n inputVariants({ size }),\r\n \"group flex cursor-pointer items-center text-left\",\r\n comboboxSimpleTriggerPaddings[size ?? \"md\"] ?? \"gap-2 pr-3\",\r\n triggerClassName,\r\n className\r\n )}\r\n >\r\n {icon && (\r\n <span className={cn(comboboxSimpleIconSizes[size ?? \"md\"] ?? \"size-4\", \"shrink-0 text-fg-quaternary [&_svg]:size-full\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className=\"flex-1 truncate\">\r\n <ComboboxValue>\r\n {(item) => (\r\n <span className={item ? \"text-text-primary\" : \"text-text-placeholder\"}>\r\n {item?.label ?? placeholder}\r\n </span>\r\n )}\r\n </ComboboxValue>\r\n </span>\r\n <ChevronDownIcon\r\n className={cn(\r\n comboboxSimpleIconSizes[size ?? \"md\"] ?? \"size-4\",\r\n \"shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180\"\r\n )}\r\n />\r\n </ComboboxTrigger>\r\n\r\n <ComboboxPopup\r\n container={container}\r\n className={cn(\"w-72\", contentClassName)}\r\n align=\"start\"\r\n sideOffset={8}\r\n >\r\n {showSearch && (\r\n <ComboboxInput placeholder={searchPlaceholder ?? `Search ${placeholder.toLowerCase()}...`} />\r\n )}\r\n <ComboboxStatus\r\n status={\r\n isPending || items === undefined\r\n ? \"pending\"\r\n : items.length === 0\r\n ? \"empty\"\r\n : null\r\n }\r\n />\r\n <ComboboxList>\r\n {items?.map((item) => (\r\n <ComboboxItem key={item.value} value={item}>\r\n <ComboboxItemTitle>\r\n {item.label}\r\n </ComboboxItemTitle>\r\n </ComboboxItem>\r\n ))}\r\n <ComboboxInfiniteScroll {...infiniteScroll} />\r\n </ComboboxList>\r\n </ComboboxPopup>\r\n </Combobox>\r\n )\r\n}\r\n\r\nexport { ComboboxSimple }\r\n"]}
1
+ {"version":3,"sources":["../src/composites/combobox-simple.tsx"],"names":["comboboxSimpleIconSizes","comboboxSimpleTriggerPaddings","ComboboxSimple","items","value","defaultValue","onValueChange","placeholder","searchPlaceholder","icon","container","isPending","className","triggerClassName","contentClassName","disabled","size","infiniteScroll","showSearch","filter","props","jsxs","Combobox","a","b","ComboboxTrigger","cn","inputVariants","jsx","ComboboxValue","item","ChevronDownIcon","ComboboxPopup","ComboboxInput","ComboboxStatus","ComboboxList","ComboboxItem","ComboboxItemTitle","ComboboxInfiniteScroll"],"mappings":"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","file":"chunk-GDWTPI4H.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { ChevronDownIcon } from \"lucide-react\"\r\nimport { type VariantProps } from \"class-variance-authority\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport { inputVariants } from \"../ui/input\"\r\nimport { ComboboxItem, ComboboxItemTitle, type ComboboxProps } from \"../ui/combobox\"\r\nimport {\r\n Combobox,\r\n ComboboxInfiniteScroll,\r\n ComboboxInput,\r\n ComboboxList,\r\n ComboboxPopup,\r\n ComboboxPortal,\r\n ComboboxStatus,\r\n ComboboxTrigger,\r\n ComboboxValue,\r\n} from \"../ui/combobox\"\r\n\r\n// ─── Types ───\r\n\r\nexport type ComboboxSimpleItem = {\r\n label: string\r\n value: string\r\n}\r\n\r\ntype BaseProps = {\r\n items: ComboboxSimpleItem[] | undefined\r\n placeholder?: string\r\n searchPlaceholder?: string\r\n icon?: React.ReactNode\r\n container?: React.ComponentProps<typeof ComboboxPortal>[\"container\"]\r\n isPending?: boolean\r\n className?: string\r\n triggerClassName?: string\r\n contentClassName?: string\r\n disabled?: boolean\r\n size?: VariantProps<typeof inputVariants>[\"size\"]\r\n infiniteScroll?: React.ComponentProps<typeof ComboboxInfiniteScroll>\r\n showSearch?: boolean\r\n}\r\n\r\nexport type ComboboxSimpleProps = Omit<ComboboxProps<ComboboxSimpleItem, false>, \"multiple\" | \"items\"> & BaseProps\r\n\r\nconst comboboxSimpleIconSizes: Record<string, string> = {\r\n \"3xs\": \"size-3\",\r\n \"2xs\": \"size-3.5\",\r\n xs: \"size-3.5\",\r\n sm: \"size-4\",\r\n md: \"size-4\",\r\n lg: \"size-4.5\",\r\n xl: \"size-5\",\r\n}\r\n\r\nconst comboboxSimpleTriggerPaddings: Record<string, string> = {\r\n \"3xs\": \"gap-1.5 pr-2\",\r\n \"2xs\": \"gap-1.5 pr-2.5\",\r\n xs: \"gap-2 pr-2.5\",\r\n sm: \"gap-2 pr-3\",\r\n md: \"gap-2 pr-3\",\r\n lg: \"gap-2.5 pr-3.5\",\r\n xl: \"gap-2.5 pr-4\",\r\n}\r\n\r\n// ─── Component ───\r\n\r\nfunction ComboboxSimple({\r\n items,\r\n value,\r\n defaultValue,\r\n onValueChange,\r\n placeholder = \"Select\",\r\n searchPlaceholder,\r\n icon,\r\n container,\r\n isPending,\r\n className,\r\n triggerClassName,\r\n contentClassName,\r\n disabled,\r\n size = \"md\",\r\n infiniteScroll,\r\n showSearch = false,\r\n filter,\r\n ...props\r\n}: ComboboxSimpleProps) {\r\n return (\r\n <Combobox\r\n items={items}\r\n value={value}\r\n defaultValue={defaultValue}\r\n onValueChange={onValueChange}\r\n filter={filter === null || !showSearch ? null : filter}\r\n isItemEqualToValue={(a, b) => a.value === b.value}\r\n disabled={disabled}\r\n {...props}\r\n >\r\n <ComboboxTrigger\r\n className={cn(\r\n inputVariants({ size }),\r\n \"group flex cursor-pointer items-center text-left\",\r\n comboboxSimpleTriggerPaddings[size ?? \"md\"] ?? \"gap-2 pr-3\",\r\n triggerClassName,\r\n className\r\n )}\r\n >\r\n {icon && (\r\n <span className={cn(comboboxSimpleIconSizes[size ?? \"md\"] ?? \"size-4\", \"shrink-0 text-fg-quaternary [&_svg]:size-full\")}>\r\n {icon}\r\n </span>\r\n )}\r\n <span className=\"flex-1 truncate\">\r\n <ComboboxValue>\r\n {(item) => (\r\n <span className={item ? \"text-text-primary\" : \"text-text-placeholder\"}>\r\n {item?.label ?? placeholder}\r\n </span>\r\n )}\r\n </ComboboxValue>\r\n </span>\r\n <ChevronDownIcon\r\n className={cn(\r\n comboboxSimpleIconSizes[size ?? \"md\"] ?? \"size-4\",\r\n \"shrink-0 text-fg-quaternary transition-transform group-data-[popup-open]:rotate-180\"\r\n )}\r\n />\r\n </ComboboxTrigger>\r\n\r\n <ComboboxPopup\r\n container={container}\r\n className={cn(\"w-72\", contentClassName)}\r\n align=\"start\"\r\n sideOffset={8}\r\n >\r\n {showSearch && (\r\n <ComboboxInput placeholder={searchPlaceholder ?? `Search ${placeholder.toLowerCase()}...`} />\r\n )}\r\n <ComboboxStatus\r\n status={\r\n isPending || items === undefined\r\n ? \"pending\"\r\n : items.length === 0\r\n ? \"empty\"\r\n : null\r\n }\r\n />\r\n <ComboboxList>\r\n {items?.map((item) => (\r\n <ComboboxItem key={item.value} value={item}>\r\n <ComboboxItemTitle>\r\n {item.label}\r\n </ComboboxItemTitle>\r\n </ComboboxItem>\r\n ))}\r\n <ComboboxInfiniteScroll {...infiniteScroll} />\r\n </ComboboxList>\r\n </ComboboxPopup>\r\n </Combobox>\r\n )\r\n}\r\n\r\nexport { ComboboxSimple }\r\n"]}
@@ -1,2 +1,2 @@
1
- import {a as a$1}from'./chunk-AGKZWMW5.js';import {a}from'./chunk-W2HFGSVH.js';import {b,c,d}from'./chunk-BES6JPWQ.js';import {b as b$1}from'./chunk-JLZNZFOO.js';import*as o from'react';import {cva}from'class-variance-authority';import {CircleIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var q=[{status:"open-to-all",label:"Open to All Opportunities",badgeColor:"gray"},{status:"open-to-work",label:"Open to Work",badgeColor:"success"},{status:"open-to-freelance",label:"Open to Freelance",badgeColor:"warning"},{status:"open-to-coach",label:"Open to Coach",badgeColor:"blue-light"}],F=cva("flex flex-col items-center relative",{variants:{size:{xs:"gap-0.5 w-6",sm:"gap-0.5 w-8",md:"gap-0.5 w-10",lg:"gap-1 w-12",xl:"gap-1 w-14","2xl":"gap-2 w-16","3xl":"gap-2 w-20"}},defaultVariants:{size:"sm"}}),L=cva(void 0,{variants:{size:{xs:"p-0.5 h-2 font-semibold text-[5px] leading-2",sm:"p-1 h-2.5 font-semibold text-[6px] leading-2.5",md:"px-1 h-3.5 font-semibold text-[6px] leading-2.5",lg:"px-1 h-4 text-body-semibold-caption",xl:"px-1 h-6 text-body-semibold-xs","2xl":"px-2 h-9 text-body-semibold-sm","3xl":"px-2 h-10 text-label-semibold-4"}},defaultVariants:{size:"sm"}}),M=cva(void 0,{variants:{size:{xs:"border-[1.5px]",sm:"border-2",md:"border-[2.5px]",lg:"border-4",xl:"border-[3.5px]","2xl":"border-4","3xl":"border-4"}},defaultVariants:{size:"sm"}});function J({avatarClassName:h,badgeClassName:N,imageSrc:r,avatarImageClassName:A,imageAlt:u,className:C,status:a$2,size:i,isVerified:z,onEdit:f,onClickAvatar:w,variant:d$1="profile",isOnline:j,companyLogoSrc:t,bordered:V=true,badged:P=false,fallbackText:v,...R}){let p=o.useMemo(()=>q.find(I=>I.status===a$2),[a$2]),O=o.useMemo(()=>{switch(d$1){case "company":return "/images/fallback-company.jpeg";case "university":return "/images/fallback-university.jpeg";case "group":return "/images/fallback-user-group.jpeg";default:return "/images/fallback-user.jpeg"}},[d$1]),B=o.useMemo(()=>{if(r)return typeof r=="string"?r:URL.createObjectURL(r)},[r]),c$1=o.useMemo(()=>{if(t)return typeof t=="string"?t:URL.createObjectURL(t)},[t]);return jsxs("div",{className:cn(F({size:i,className:C})),"data-slot":"profile-avatar",...R,children:[jsxs("div",{className:"relative group size-full",children:[jsxs(b,{className:cn(V&&d$1==="profile"&&[M({size:i}),a$2?"border-transparent bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-avatar-outline)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box]":"border-border-secondary",a$2==="open-to-work"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]",a$2==="open-to-freelance"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentoprofesional)]",a$2==="open-to-coach"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentocoach)]",a$2==="open-to-all"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]"],h),size:i,onClick:w,children:[jsx(c,{alt:u,className:cn("size-full bg-bg-primary object-cover",A),src:B}),v?jsx(d,{render:jsx("div",{className:"flex aspect-square size-full items-center justify-center rounded-xp-card-base-sm border-2 border-border-secondary bg-bg-tertiary text-label-semibold-2 text-text-quaternary",children:v})}):jsx(d,{render:jsx("img",{alt:u||"Avatar Fallback",className:"aspect-square size-full bg-bg-primary object-cover",src:O})})]}),f&&jsx("div",{className:"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer",id:"avatar-upload-trigger",onClick:f,children:jsx("div",{className:"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle",children:jsx(a,{className:"size-6"})})}),j&&!c$1&&jsx(CircleIcon,{className:"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]"}),c$1!==void 0&&jsxs(b,{className:"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px]",children:[jsx(c,{alt:"Company Logo",className:"bg-bg-primary object-cover",src:c$1}),jsx(d,{render:jsx("img",{alt:"Company Logo Fallback",className:"aspect-square size-full bg-bg-primary object-cover",src:"/images/fallback-company.jpeg"})})]})]}),P&&p&&jsx(b$1,{className:cn(L({size:i,className:N})),color:p.badgeColor,size:"sm",children:p.label}),z&&jsx("div",{className:"absolute -bottom-1 -right-1",children:jsx(a$1,{className:"size-4 text-[#068BEE]"})})]})}export{J as a};//# sourceMappingURL=chunk-3733D5Y7.js.map
2
- //# sourceMappingURL=chunk-3733D5Y7.js.map
1
+ import {a as a$1}from'./chunk-AGKZWMW5.js';import {a}from'./chunk-W2HFGSVH.js';import {b,c,d}from'./chunk-Y5YFPTOQ.js';import {b as b$1}from'./chunk-JLZNZFOO.js';import*as o from'react';import {cva}from'class-variance-authority';import {CircleIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsxs,jsx}from'react/jsx-runtime';var q=[{status:"open-to-all",label:"Open to All Opportunities",badgeColor:"gray"},{status:"open-to-work",label:"Open to Work",badgeColor:"success"},{status:"open-to-freelance",label:"Open to Freelance",badgeColor:"warning"},{status:"open-to-coach",label:"Open to Coach",badgeColor:"blue-light"}],F=cva("flex flex-col items-center relative",{variants:{size:{xs:"gap-0.5 w-6",sm:"gap-0.5 w-8",md:"gap-0.5 w-10",lg:"gap-1 w-12",xl:"gap-1 w-14","2xl":"gap-2 w-16","3xl":"gap-2 w-20"}},defaultVariants:{size:"sm"}}),L=cva(void 0,{variants:{size:{xs:"p-0.5 h-2 font-semibold text-[5px] leading-2",sm:"p-1 h-2.5 font-semibold text-[6px] leading-2.5",md:"px-1 h-3.5 font-semibold text-[6px] leading-2.5",lg:"px-1 h-4 text-body-semibold-caption",xl:"px-1 h-6 text-body-semibold-xs","2xl":"px-2 h-9 text-body-semibold-sm","3xl":"px-2 h-10 text-label-semibold-4"}},defaultVariants:{size:"sm"}}),M=cva(void 0,{variants:{size:{xs:"border-[1.5px]",sm:"border-2",md:"border-[2.5px]",lg:"border-4",xl:"border-[3.5px]","2xl":"border-4","3xl":"border-4"}},defaultVariants:{size:"sm"}});function J({avatarClassName:h,badgeClassName:N,imageSrc:r,avatarImageClassName:A,imageAlt:u,className:C,status:a$2,size:i,isVerified:z,onEdit:f,onClickAvatar:w,variant:d$1="profile",isOnline:j,companyLogoSrc:t,bordered:V=true,badged:P=false,fallbackText:v,...R}){let p=o.useMemo(()=>q.find(I=>I.status===a$2),[a$2]),O=o.useMemo(()=>{switch(d$1){case "company":return "/images/fallback-company.jpeg";case "university":return "/images/fallback-university.jpeg";case "group":return "/images/fallback-user-group.jpeg";default:return "/images/fallback-user.jpeg"}},[d$1]),B=o.useMemo(()=>{if(r)return typeof r=="string"?r:URL.createObjectURL(r)},[r]),c$1=o.useMemo(()=>{if(t)return typeof t=="string"?t:URL.createObjectURL(t)},[t]);return jsxs("div",{className:cn(F({size:i,className:C})),"data-slot":"profile-avatar",...R,children:[jsxs("div",{className:"relative group size-full",children:[jsxs(b,{className:cn(V&&d$1==="profile"&&[M({size:i}),a$2?"border-transparent bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-avatar-outline)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box]":"border-border-secondary",a$2==="open-to-work"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]",a$2==="open-to-freelance"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentoprofesional)]",a$2==="open-to-coach"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentocoach)]",a$2==="open-to-all"&&"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]"],h),size:i,onClick:w,children:[jsx(c,{alt:u,className:cn("size-full bg-bg-primary object-cover",A),src:B}),v?jsx(d,{render:jsx("div",{className:"flex aspect-square size-full items-center justify-center rounded-xp-card-base-sm border-2 border-border-secondary bg-bg-tertiary text-label-semibold-2 text-text-quaternary",children:v})}):jsx(d,{render:jsx("img",{alt:u||"Avatar Fallback",className:"aspect-square size-full bg-bg-primary object-cover",src:O})})]}),f&&jsx("div",{className:"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer",id:"avatar-upload-trigger",onClick:f,children:jsx("div",{className:"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle",children:jsx(a,{className:"size-6"})})}),j&&!c$1&&jsx(CircleIcon,{className:"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]"}),c$1!==void 0&&jsxs(b,{className:"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px]",children:[jsx(c,{alt:"Company Logo",className:"bg-bg-primary object-cover",src:c$1}),jsx(d,{render:jsx("img",{alt:"Company Logo Fallback",className:"aspect-square size-full bg-bg-primary object-cover",src:"/images/fallback-company.jpeg"})})]})]}),P&&p&&jsx(b$1,{className:cn(L({size:i,className:N})),color:p.badgeColor,size:"sm",children:p.label}),z&&jsx("div",{className:"absolute -bottom-1 -right-1",children:jsx(a$1,{className:"size-4 text-[#068BEE]"})})]})}export{J as a};//# sourceMappingURL=chunk-HG2N6L3T.js.map
2
+ //# sourceMappingURL=chunk-HG2N6L3T.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/composites/profile-avatar.tsx"],"names":["profileAvatarStatus","profileAvatarVariants","cva","profileAvatarBadgeVariants","profileAvatarBorderWidthVariants","ProfileAvatar","avatarClassName","badgeClassName","imageSrc","avatarImageClassName","imageAlt","className","status","size","isVerified","onEdit","onClickAvatar","variant","isOnline","companyLogoSrc","bordered","badged","fallbackText","props","activeStatus","s","fallbackImage","normalizedImageSrc","normalizedCompanyLogoSrc","jsxs","cn","Avatar","jsx","AvatarImage","AvatarFallback","upload_pictures_on_profile_icon_default","CircleIcon","Badge","verified_icon_default"],"mappings":"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","file":"chunk-3733D5Y7.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { CircleIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { UploadPicturesOnProfileIcon, VerifiedIcon } from \"../icons\"\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\"\r\nimport { Badge } from \"../ui/badge\"\r\n\r\nexport type ProfileAvatarStatus =\r\n | \"open-to-all\"\r\n | \"open-to-work\"\r\n | \"open-to-freelance\"\r\n | \"open-to-coach\"\r\n | undefined\r\n\r\nexport type ProfileAvatarVariant = \"profile\" | \"company\" | \"university\" | \"group\"\r\n\r\nconst profileAvatarStatus: {\r\n status: ProfileAvatarStatus\r\n label: string\r\n badgeColor?: React.ComponentProps<typeof Badge>[\"color\"]\r\n}[] = [\r\n {\r\n status: \"open-to-all\",\r\n label: \"Open to All Opportunities\",\r\n badgeColor: \"gray\",\r\n },\r\n {\r\n status: \"open-to-work\",\r\n label: \"Open to Work\",\r\n badgeColor: \"success\",\r\n },\r\n {\r\n status: \"open-to-freelance\",\r\n label: \"Open to Freelance\",\r\n badgeColor: \"warning\",\r\n },\r\n {\r\n status: \"open-to-coach\",\r\n label: \"Open to Coach\",\r\n badgeColor: \"blue-light\",\r\n },\r\n ]\r\n\r\nconst profileAvatarVariants = cva(\"flex flex-col items-center relative\", {\r\n variants: {\r\n size: {\r\n xs: \"gap-0.5 w-6\",\r\n sm: \"gap-0.5 w-8\",\r\n md: \"gap-0.5 w-10\",\r\n lg: \"gap-1 w-12\",\r\n xl: \"gap-1 w-14\",\r\n \"2xl\": \"gap-2 w-16\",\r\n \"3xl\": \"gap-2 w-20\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarBadgeVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"p-0.5 h-2 font-semibold text-[5px] leading-2\",\r\n sm: \"p-1 h-2.5 font-semibold text-[6px] leading-2.5\",\r\n md: \"px-1 h-3.5 font-semibold text-[6px] leading-2.5\",\r\n lg: \"px-1 h-4 text-body-semibold-caption\",\r\n xl: \"px-1 h-6 text-body-semibold-xs\",\r\n \"2xl\": \"px-2 h-9 text-body-semibold-sm\",\r\n \"3xl\": \"px-2 h-10 text-label-semibold-4\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarBorderWidthVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"border-[1.5px]\",\r\n sm: \"border-2\",\r\n md: \"border-[2.5px]\",\r\n lg: \"border-4\",\r\n xl: \"border-[3.5px]\",\r\n \"2xl\": \"border-4\",\r\n \"3xl\": \"border-4\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nfunction ProfileAvatar({\r\n avatarClassName,\r\n badgeClassName,\r\n imageSrc,\r\n avatarImageClassName,\r\n imageAlt,\r\n className,\r\n status,\r\n size,\r\n isVerified,\r\n onEdit,\r\n onClickAvatar,\r\n variant = \"profile\",\r\n isOnline,\r\n companyLogoSrc,\r\n bordered = true,\r\n badged = false,\r\n fallbackText,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n avatarClassName?: string\r\n badgeClassName?: string\r\n imageSrc?: string | Blob\r\n imageAlt?: string\r\n isVerified?: boolean\r\n avatarImageClassName?: string\r\n size?: VariantProps<typeof profileAvatarVariants>[\"size\"]\r\n status?: ProfileAvatarStatus\r\n onEdit?: () => void\r\n onClickAvatar?: () => void\r\n variant?: ProfileAvatarVariant\r\n isOnline?: boolean\r\n companyLogoSrc?: string | Blob\r\n bordered?: boolean\r\n badged?: boolean\r\n fallbackText?: string\r\n}) {\r\n const activeStatus = React.useMemo(() => {\r\n return profileAvatarStatus.find((s) => s.status === status)\r\n }, [status])\r\n\r\n const fallbackImage = React.useMemo(() => {\r\n switch (variant) {\r\n case \"company\":\r\n return \"/images/fallback-company.jpeg\"\r\n case \"university\":\r\n return \"/images/fallback-university.jpeg\"\r\n case \"group\":\r\n return \"/images/fallback-user-group.jpeg\"\r\n default:\r\n return \"/images/fallback-user.jpeg\"\r\n }\r\n }, [variant])\r\n\r\n const normalizedImageSrc = React.useMemo(() => {\r\n if (!imageSrc) return undefined\r\n if (typeof imageSrc === \"string\") return imageSrc\r\n return URL.createObjectURL(imageSrc)\r\n }, [imageSrc])\r\n\r\n const normalizedCompanyLogoSrc = React.useMemo(() => {\r\n if (!companyLogoSrc) return undefined\r\n if (typeof companyLogoSrc === \"string\") return companyLogoSrc\r\n return URL.createObjectURL(companyLogoSrc)\r\n }, [companyLogoSrc])\r\n\r\n return (\r\n <div\r\n className={cn(profileAvatarVariants({ size, className }))}\r\n data-slot=\"profile-avatar\"\r\n {...props}\r\n >\r\n <div className=\"relative group size-full\">\r\n <Avatar\r\n className={cn(\r\n bordered && variant === \"profile\" && [\r\n profileAvatarBorderWidthVariants({ size }),\r\n status\r\n ? \"border-transparent bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-avatar-outline)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box]\"\r\n : \"border-border-secondary\",\r\n status === \"open-to-work\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]\",\r\n status === \"open-to-freelance\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentoprofesional)]\",\r\n status === \"open-to-coach\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentocoach)]\",\r\n status === \"open-to-all\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]\",\r\n ],\r\n avatarClassName\r\n )}\r\n size={size}\r\n onClick={onClickAvatar}\r\n >\r\n <AvatarImage\r\n alt={imageAlt}\r\n className={cn(\"size-full bg-bg-primary object-cover\", avatarImageClassName)}\r\n src={normalizedImageSrc}\r\n />\r\n {fallbackText ? (\r\n <AvatarFallback\r\n render={\r\n <div className=\"flex aspect-square size-full items-center justify-center rounded-xp-card-base-sm border-2 border-border-secondary bg-bg-tertiary text-label-semibold-2 text-text-quaternary\">\r\n {fallbackText}\r\n </div>\r\n }\r\n />\r\n ) : (\r\n <AvatarFallback\r\n render={\r\n // eslint-disable-next-line @next/next/no-img-element\r\n <img\r\n alt={imageAlt || \"Avatar Fallback\"}\r\n className=\"aspect-square size-full bg-bg-primary object-cover\"\r\n src={fallbackImage}\r\n />\r\n }\r\n />\r\n )}\r\n </Avatar>\r\n\r\n {onEdit && (\r\n <div\r\n className=\"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer\"\r\n id=\"avatar-upload-trigger\"\r\n onClick={onEdit}\r\n >\r\n <div className=\"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle\">\r\n <UploadPicturesOnProfileIcon className=\"size-6\" />\r\n </div>\r\n </div>\r\n )}\r\n {isOnline && !normalizedCompanyLogoSrc && (\r\n <CircleIcon className=\"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]\" />\r\n )}\r\n {normalizedCompanyLogoSrc !== undefined && (\r\n <Avatar className=\"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px]\">\r\n <AvatarImage\r\n alt=\"Company Logo\"\r\n className=\"bg-bg-primary object-cover\"\r\n src={normalizedCompanyLogoSrc}\r\n />\r\n <AvatarFallback\r\n render={\r\n // eslint-disable-next-line @next/next/no-img-element\r\n <img\r\n alt=\"Company Logo Fallback\"\r\n className=\"aspect-square size-full bg-bg-primary object-cover\"\r\n src=\"/images/fallback-company.jpeg\"\r\n />\r\n }\r\n />\r\n </Avatar>\r\n )}\r\n </div>\r\n {badged &&\r\n activeStatus && (\r\n <Badge\r\n className={cn(profileAvatarBadgeVariants({ size, className: badgeClassName }))}\r\n color={activeStatus.badgeColor}\r\n size=\"sm\"\r\n >\r\n {activeStatus.label}\r\n </Badge>\r\n )}\r\n\r\n {isVerified && (\r\n <div className=\"absolute -bottom-1 -right-1\">\r\n <VerifiedIcon className=\"size-4 text-[#068BEE]\" />\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport { ProfileAvatar }\r\n"]}
1
+ {"version":3,"sources":["../src/composites/profile-avatar.tsx"],"names":["profileAvatarStatus","profileAvatarVariants","cva","profileAvatarBadgeVariants","profileAvatarBorderWidthVariants","ProfileAvatar","avatarClassName","badgeClassName","imageSrc","avatarImageClassName","imageAlt","className","status","size","isVerified","onEdit","onClickAvatar","variant","isOnline","companyLogoSrc","bordered","badged","fallbackText","props","activeStatus","s","fallbackImage","normalizedImageSrc","normalizedCompanyLogoSrc","jsxs","cn","Avatar","jsx","AvatarImage","AvatarFallback","upload_pictures_on_profile_icon_default","CircleIcon","Badge","verified_icon_default"],"mappings":"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","file":"chunk-HG2N6L3T.js","sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\n\r\nimport { cva, type VariantProps } from \"class-variance-authority\"\r\nimport { CircleIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\n\r\nimport { UploadPicturesOnProfileIcon, VerifiedIcon } from \"../icons\"\r\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\"\r\nimport { Badge } from \"../ui/badge\"\r\n\r\nexport type ProfileAvatarStatus =\r\n | \"open-to-all\"\r\n | \"open-to-work\"\r\n | \"open-to-freelance\"\r\n | \"open-to-coach\"\r\n | undefined\r\n\r\nexport type ProfileAvatarVariant = \"profile\" | \"company\" | \"university\" | \"group\"\r\n\r\nconst profileAvatarStatus: {\r\n status: ProfileAvatarStatus\r\n label: string\r\n badgeColor?: React.ComponentProps<typeof Badge>[\"color\"]\r\n}[] = [\r\n {\r\n status: \"open-to-all\",\r\n label: \"Open to All Opportunities\",\r\n badgeColor: \"gray\",\r\n },\r\n {\r\n status: \"open-to-work\",\r\n label: \"Open to Work\",\r\n badgeColor: \"success\",\r\n },\r\n {\r\n status: \"open-to-freelance\",\r\n label: \"Open to Freelance\",\r\n badgeColor: \"warning\",\r\n },\r\n {\r\n status: \"open-to-coach\",\r\n label: \"Open to Coach\",\r\n badgeColor: \"blue-light\",\r\n },\r\n ]\r\n\r\nconst profileAvatarVariants = cva(\"flex flex-col items-center relative\", {\r\n variants: {\r\n size: {\r\n xs: \"gap-0.5 w-6\",\r\n sm: \"gap-0.5 w-8\",\r\n md: \"gap-0.5 w-10\",\r\n lg: \"gap-1 w-12\",\r\n xl: \"gap-1 w-14\",\r\n \"2xl\": \"gap-2 w-16\",\r\n \"3xl\": \"gap-2 w-20\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarBadgeVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"p-0.5 h-2 font-semibold text-[5px] leading-2\",\r\n sm: \"p-1 h-2.5 font-semibold text-[6px] leading-2.5\",\r\n md: \"px-1 h-3.5 font-semibold text-[6px] leading-2.5\",\r\n lg: \"px-1 h-4 text-body-semibold-caption\",\r\n xl: \"px-1 h-6 text-body-semibold-xs\",\r\n \"2xl\": \"px-2 h-9 text-body-semibold-sm\",\r\n \"3xl\": \"px-2 h-10 text-label-semibold-4\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nconst profileAvatarBorderWidthVariants = cva(undefined, {\r\n variants: {\r\n size: {\r\n xs: \"border-[1.5px]\",\r\n sm: \"border-2\",\r\n md: \"border-[2.5px]\",\r\n lg: \"border-4\",\r\n xl: \"border-[3.5px]\",\r\n \"2xl\": \"border-4\",\r\n \"3xl\": \"border-4\",\r\n },\r\n },\r\n defaultVariants: {\r\n size: \"sm\",\r\n },\r\n})\r\n\r\nfunction ProfileAvatar({\r\n avatarClassName,\r\n badgeClassName,\r\n imageSrc,\r\n avatarImageClassName,\r\n imageAlt,\r\n className,\r\n status,\r\n size,\r\n isVerified,\r\n onEdit,\r\n onClickAvatar,\r\n variant = \"profile\",\r\n isOnline,\r\n companyLogoSrc,\r\n bordered = true,\r\n badged = false,\r\n fallbackText,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & {\r\n avatarClassName?: string\r\n badgeClassName?: string\r\n imageSrc?: string | Blob\r\n imageAlt?: string\r\n isVerified?: boolean\r\n avatarImageClassName?: string\r\n size?: VariantProps<typeof profileAvatarVariants>[\"size\"]\r\n status?: ProfileAvatarStatus\r\n onEdit?: () => void\r\n onClickAvatar?: () => void\r\n variant?: ProfileAvatarVariant\r\n isOnline?: boolean\r\n companyLogoSrc?: string | Blob\r\n bordered?: boolean\r\n badged?: boolean\r\n fallbackText?: string\r\n}) {\r\n const activeStatus = React.useMemo(() => {\r\n return profileAvatarStatus.find((s) => s.status === status)\r\n }, [status])\r\n\r\n const fallbackImage = React.useMemo(() => {\r\n switch (variant) {\r\n case \"company\":\r\n return \"/images/fallback-company.jpeg\"\r\n case \"university\":\r\n return \"/images/fallback-university.jpeg\"\r\n case \"group\":\r\n return \"/images/fallback-user-group.jpeg\"\r\n default:\r\n return \"/images/fallback-user.jpeg\"\r\n }\r\n }, [variant])\r\n\r\n const normalizedImageSrc = React.useMemo(() => {\r\n if (!imageSrc) return undefined\r\n if (typeof imageSrc === \"string\") return imageSrc\r\n return URL.createObjectURL(imageSrc)\r\n }, [imageSrc])\r\n\r\n const normalizedCompanyLogoSrc = React.useMemo(() => {\r\n if (!companyLogoSrc) return undefined\r\n if (typeof companyLogoSrc === \"string\") return companyLogoSrc\r\n return URL.createObjectURL(companyLogoSrc)\r\n }, [companyLogoSrc])\r\n\r\n return (\r\n <div\r\n className={cn(profileAvatarVariants({ size, className }))}\r\n data-slot=\"profile-avatar\"\r\n {...props}\r\n >\r\n <div className=\"relative group size-full\">\r\n <Avatar\r\n className={cn(\r\n bordered && variant === \"profile\" && [\r\n profileAvatarBorderWidthVariants({ size }),\r\n status\r\n ? \"border-transparent bg-[linear-gradient(90deg,var(--color-bg-primary),var(--color-bg-primary)),var(--gradient-avatar-outline)] [background-clip:padding-box,border-box] [background-origin:padding-box,border-box]\"\r\n : \"border-border-secondary\",\r\n status === \"open-to-work\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]\",\r\n status === \"open-to-freelance\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentoprofesional)]\",\r\n status === \"open-to-coach\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentocoach)]\",\r\n status === \"open-to-all\" && \"[--gradient-avatar-outline:var(--gradient-avatar-outline-opentowork)]\",\r\n ],\r\n avatarClassName\r\n )}\r\n size={size}\r\n onClick={onClickAvatar}\r\n >\r\n <AvatarImage\r\n alt={imageAlt}\r\n className={cn(\"size-full bg-bg-primary object-cover\", avatarImageClassName)}\r\n src={normalizedImageSrc}\r\n />\r\n {fallbackText ? (\r\n <AvatarFallback\r\n render={\r\n <div className=\"flex aspect-square size-full items-center justify-center rounded-xp-card-base-sm border-2 border-border-secondary bg-bg-tertiary text-label-semibold-2 text-text-quaternary\">\r\n {fallbackText}\r\n </div>\r\n }\r\n />\r\n ) : (\r\n <AvatarFallback\r\n render={\r\n // eslint-disable-next-line @next/next/no-img-element\r\n <img\r\n alt={imageAlt || \"Avatar Fallback\"}\r\n className=\"aspect-square size-full bg-bg-primary object-cover\"\r\n src={fallbackImage}\r\n />\r\n }\r\n />\r\n )}\r\n </Avatar>\r\n\r\n {onEdit && (\r\n <div\r\n className=\"absolute inset-0 flex opacity-0 hover:opacity-100 hover:bg-background-primary-subtle-press/25 rounded-xp-card-base transition-opacity duration-200 items-center justify-center cursor-pointer\"\r\n id=\"avatar-upload-trigger\"\r\n onClick={onEdit}\r\n >\r\n <div className=\"flex items-center p-2 hover:bg-background-primary-subtle-hover justify-center rounded-xp-card-base-sm bg-background-canvas-subtle\">\r\n <UploadPicturesOnProfileIcon className=\"size-6\" />\r\n </div>\r\n </div>\r\n )}\r\n {isOnline && !normalizedCompanyLogoSrc && (\r\n <CircleIcon className=\"text-bg-primary-replace fill-fg-success-secondary size-[11.5px] absolute -bottom-[3.5px] -right-[3.5px]\" />\r\n )}\r\n {normalizedCompanyLogoSrc !== undefined && (\r\n <Avatar className=\"border border-bg-primary-replace size-[15px] rounded-xs absolute -bottom-[3.5px] -right-[3.5px]\">\r\n <AvatarImage\r\n alt=\"Company Logo\"\r\n className=\"bg-bg-primary object-cover\"\r\n src={normalizedCompanyLogoSrc}\r\n />\r\n <AvatarFallback\r\n render={\r\n // eslint-disable-next-line @next/next/no-img-element\r\n <img\r\n alt=\"Company Logo Fallback\"\r\n className=\"aspect-square size-full bg-bg-primary object-cover\"\r\n src=\"/images/fallback-company.jpeg\"\r\n />\r\n }\r\n />\r\n </Avatar>\r\n )}\r\n </div>\r\n {badged &&\r\n activeStatus && (\r\n <Badge\r\n className={cn(profileAvatarBadgeVariants({ size, className: badgeClassName }))}\r\n color={activeStatus.badgeColor}\r\n size=\"sm\"\r\n >\r\n {activeStatus.label}\r\n </Badge>\r\n )}\r\n\r\n {isVerified && (\r\n <div className=\"absolute -bottom-1 -right-1\">\r\n <VerifiedIcon className=\"size-4 text-[#068BEE]\" />\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport { ProfileAvatar }\r\n"]}
@@ -1,2 +1,2 @@
1
- import {a,b,i,m,s,w}from'./chunk-SVNG3RLD.js';import*as l from'react';import {ChevronDownIcon,ChevronLeftIcon,ChevronRightIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsxs,Fragment,jsx}from'react/jsx-runtime';function j({page:r,pageSize:a$1,total:i$1,onPageChange:b$1,onPageSizeChange:n,pageSizeOptions:m$1=[10,20,50,100],showPageSize:c=true,showRange:d=true,className:C,...N}){let u=Math.max(1,Math.ceil(i$1/a$1)),h=i$1===0?0:(r-1)*a$1+1,P=Math.min(r*a$1,i$1),s$1=l.useMemo(()=>m$1.map(e=>({label:String(e),value:e})),[m$1]),I=l.useMemo(()=>s$1.find(e=>e.value===a$1)??s$1[0],[s$1,a$1]);return jsxs("div",{className:cn("flex w-full flex-col-reverse gap-3 mt-4 sm:flex-row sm:items-center sm:justify-between border-t border-border-primary pt-3 text-body-regular-2 text-text-secondary",C),"data-slot":"pagination",...N,children:[jsxs("div",{className:"flex items-center gap-2",children:[c&&n&&jsxs(Fragment,{children:[jsx("span",{className:"text-label-regular-3 text-text-tertiary",children:"Rows per page"}),jsxs(a,{items:s$1,value:I,onValueChange:e=>{e&&n&&n(e.value);},isItemEqualToValue:(e,w)=>e.value===w.value,children:[jsxs(b,{className:"h-8 gap-2 rounded-lg border border-border-primary bg-bg-primary px-3 text-label-semibold-3 text-text-primary hover:bg-bg-secondary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border-brand-primary","aria-label":"Rows per page",children:[jsx(i,{children:e=>e?e.label:String(a$1)}),jsx(ChevronDownIcon,{className:"size-3.5 text-text-tertiary"})]}),jsx(m,{className:"w-24",children:jsx(s,{children:s$1.map(e=>jsx(w,{value:e,children:e.label},e.value))})})]})]}),c&&d&&jsx("span",{className:"text-text-tertiary",children:"\xB7"}),d&&jsxs("span",{className:"text-label-regular-3 text-text-tertiary",children:[h,"\u2013",P," of ",i$1]})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{type:"button",disabled:r<=1,onClick:()=>b$1(r-1),className:"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40","aria-label":"Previous page",children:jsx(ChevronLeftIcon,{className:"size-4"})}),jsxs("span",{className:"px-2 text-label-semibold-3 text-text-primary",children:["Page ",r," / ",u]}),jsx("button",{type:"button",disabled:r>=u,onClick:()=>b$1(r+1),className:"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40","aria-label":"Next page",children:jsx(ChevronRightIcon,{className:"size-4"})})]})]})}export{j as a};//# sourceMappingURL=chunk-G2GFDTP5.js.map
2
- //# sourceMappingURL=chunk-G2GFDTP5.js.map
1
+ import {a,b,i,m,s,w}from'./chunk-C5UISTOE.js';import*as l from'react';import {ChevronDownIcon,ChevronLeftIcon,ChevronRightIcon}from'lucide-react';import {cn}from'@xploreu/lib/cn';import {jsxs,Fragment,jsx}from'react/jsx-runtime';function j({page:r,pageSize:a$1,total:i$1,onPageChange:b$1,onPageSizeChange:n,pageSizeOptions:m$1=[10,20,50,100],showPageSize:c=true,showRange:d=true,className:C,...N}){let u=Math.max(1,Math.ceil(i$1/a$1)),h=i$1===0?0:(r-1)*a$1+1,P=Math.min(r*a$1,i$1),s$1=l.useMemo(()=>m$1.map(e=>({label:String(e),value:e})),[m$1]),I=l.useMemo(()=>s$1.find(e=>e.value===a$1)??s$1[0],[s$1,a$1]);return jsxs("div",{className:cn("flex w-full flex-col-reverse gap-3 mt-4 sm:flex-row sm:items-center sm:justify-between border-t border-border-primary pt-3 text-body-regular-2 text-text-secondary",C),"data-slot":"pagination",...N,children:[jsxs("div",{className:"flex items-center gap-2",children:[c&&n&&jsxs(Fragment,{children:[jsx("span",{className:"text-label-regular-3 text-text-tertiary",children:"Rows per page"}),jsxs(a,{items:s$1,value:I,onValueChange:e=>{e&&n&&n(e.value);},isItemEqualToValue:(e,w)=>e.value===w.value,children:[jsxs(b,{className:"h-8 gap-2 rounded-lg border border-border-primary bg-bg-primary px-3 text-label-semibold-3 text-text-primary hover:bg-bg-secondary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border-brand-primary","aria-label":"Rows per page",children:[jsx(i,{children:e=>e?e.label:String(a$1)}),jsx(ChevronDownIcon,{className:"size-3.5 text-text-tertiary"})]}),jsx(m,{className:"w-24",children:jsx(s,{children:s$1.map(e=>jsx(w,{value:e,children:e.label},e.value))})})]})]}),c&&d&&jsx("span",{className:"text-text-tertiary",children:"\xB7"}),d&&jsxs("span",{className:"text-label-regular-3 text-text-tertiary",children:[h,"\u2013",P," of ",i$1]})]}),jsxs("div",{className:"flex items-center gap-1",children:[jsx("button",{type:"button",disabled:r<=1,onClick:()=>b$1(r-1),className:"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40","aria-label":"Previous page",children:jsx(ChevronLeftIcon,{className:"size-4"})}),jsxs("span",{className:"px-2 text-label-semibold-3 text-text-primary",children:["Page ",r," / ",u]}),jsx("button",{type:"button",disabled:r>=u,onClick:()=>b$1(r+1),className:"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40","aria-label":"Next page",children:jsx(ChevronRightIcon,{className:"size-4"})})]})]})}export{j as a};//# sourceMappingURL=chunk-LPH7XAEU.js.map
2
+ //# sourceMappingURL=chunk-LPH7XAEU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/pagination.tsx"],"names":["Pagination","page","pageSize","total","onPageChange","onPageSizeChange","pageSizeOptions","showPageSize","showRange","className","props","totalPages","startItem","endItem","items","opt","selectedItem","item","jsxs","cn","Fragment","jsx","Combobox","a","b","ComboboxTrigger","ComboboxValue","val","ChevronDownIcon","ComboboxPopup","ComboboxList","ComboboxItem","ChevronLeftIcon","ChevronRightIcon"],"mappings":"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","file":"chunk-G2GFDTP5.js","sourcesContent":["import * as React from \"react\"\r\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport {\r\n Combobox,\r\n ComboboxItem,\r\n ComboboxList,\r\n ComboboxPopup,\r\n ComboboxTrigger,\r\n ComboboxValue,\r\n} from \"./combobox\"\r\n\r\nexport interface PaginationProps extends React.ComponentProps<\"div\"> {\r\n page: number\r\n pageSize: number\r\n total: number\r\n onPageChange: (page: number) => void\r\n onPageSizeChange?: (pageSize: number) => void\r\n pageSizeOptions?: number[]\r\n showPageSize?: boolean\r\n showRange?: boolean\r\n}\r\n\r\ntype PageSizeOptionItem = {\r\n label: string\r\n value: number\r\n}\r\n\r\nexport function Pagination({\r\n page,\r\n pageSize,\r\n total,\r\n onPageChange,\r\n onPageSizeChange,\r\n pageSizeOptions = [10, 20, 50, 100],\r\n showPageSize = true,\r\n showRange = true,\r\n className,\r\n ...props\r\n}: PaginationProps) {\r\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\r\n const startItem = total === 0 ? 0 : (page - 1) * pageSize + 1\r\n const endItem = Math.min(page * pageSize, total)\r\n\r\n const items: PageSizeOptionItem[] = React.useMemo(\r\n () => pageSizeOptions.map((opt) => ({ label: String(opt), value: opt })),\r\n [pageSizeOptions]\r\n )\r\n\r\n const selectedItem = React.useMemo(\r\n () => items.find((item) => item.value === pageSize) ?? items[0],\r\n [items, pageSize]\r\n )\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"flex w-full flex-col-reverse gap-3 mt-4 sm:flex-row sm:items-center sm:justify-between border-t border-border-primary pt-3 text-body-regular-2 text-text-secondary\",\r\n className\r\n )}\r\n data-slot=\"pagination\"\r\n {...props}\r\n >\r\n {/* Left: Rows per page & range */}\r\n <div className=\"flex items-center gap-2\">\r\n {showPageSize && onPageSizeChange && (\r\n <>\r\n <span className=\"text-label-regular-3 text-text-tertiary\">\r\n Rows per page\r\n </span>\r\n <Combobox<PageSizeOptionItem>\r\n items={items}\r\n value={selectedItem}\r\n onValueChange={(item) => {\r\n if (item && onPageSizeChange) {\r\n onPageSizeChange(item.value)\r\n }\r\n }}\r\n isItemEqualToValue={(a, b) => a.value === b.value}\r\n >\r\n <ComboboxTrigger\r\n className=\"h-8 gap-2 rounded-lg border border-border-primary bg-bg-primary px-3 text-label-semibold-3 text-text-primary hover:bg-bg-secondary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border-brand-primary\"\r\n aria-label=\"Rows per page\"\r\n >\r\n <ComboboxValue>\r\n {(val) => (val ? val.label : String(pageSize))}\r\n </ComboboxValue>\r\n <ChevronDownIcon className=\"size-3.5 text-text-tertiary\" />\r\n </ComboboxTrigger>\r\n\r\n <ComboboxPopup className=\"w-24\">\r\n <ComboboxList>\r\n {items.map((item) => (\r\n <ComboboxItem\r\n key={item.value}\r\n value={item}\r\n >\r\n {item.label}\r\n </ComboboxItem>\r\n ))}\r\n </ComboboxList>\r\n </ComboboxPopup>\r\n </Combobox>\r\n </>\r\n )}\r\n\r\n {showPageSize && showRange && (\r\n <span className=\"text-text-tertiary\">·</span>\r\n )}\r\n\r\n {showRange && (\r\n <span className=\"text-label-regular-3 text-text-tertiary\">\r\n {startItem}–{endItem} of {total}\r\n </span>\r\n )}\r\n </div>\r\n\r\n {/* Right: Page controls */}\r\n <div className=\"flex items-center gap-1\">\r\n <button\r\n type=\"button\"\r\n disabled={page <= 1}\r\n onClick={() => onPageChange(page - 1)}\r\n className=\"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40\"\r\n aria-label=\"Previous page\"\r\n >\r\n <ChevronLeftIcon className=\"size-4\" />\r\n </button>\r\n\r\n <span className=\"px-2 text-label-semibold-3 text-text-primary\">\r\n Page {page} / {totalPages}\r\n </span>\r\n\r\n <button\r\n type=\"button\"\r\n disabled={page >= totalPages}\r\n onClick={() => onPageChange(page + 1)}\r\n className=\"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40\"\r\n aria-label=\"Next page\"\r\n >\r\n <ChevronRightIcon className=\"size-4\" />\r\n </button>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"]}
1
+ {"version":3,"sources":["../src/ui/pagination.tsx"],"names":["Pagination","page","pageSize","total","onPageChange","onPageSizeChange","pageSizeOptions","showPageSize","showRange","className","props","totalPages","startItem","endItem","items","opt","selectedItem","item","jsxs","cn","Fragment","jsx","Combobox","a","b","ComboboxTrigger","ComboboxValue","val","ChevronDownIcon","ComboboxPopup","ComboboxList","ComboboxItem","ChevronLeftIcon","ChevronRightIcon"],"mappings":"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","file":"chunk-LPH7XAEU.js","sourcesContent":["import * as React from \"react\"\r\nimport { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\"\r\n\r\nimport { cn } from \"@xploreu/lib/cn\"\r\nimport {\r\n Combobox,\r\n ComboboxItem,\r\n ComboboxList,\r\n ComboboxPopup,\r\n ComboboxTrigger,\r\n ComboboxValue,\r\n} from \"./combobox\"\r\n\r\nexport interface PaginationProps extends React.ComponentProps<\"div\"> {\r\n page: number\r\n pageSize: number\r\n total: number\r\n onPageChange: (page: number) => void\r\n onPageSizeChange?: (pageSize: number) => void\r\n pageSizeOptions?: number[]\r\n showPageSize?: boolean\r\n showRange?: boolean\r\n}\r\n\r\ntype PageSizeOptionItem = {\r\n label: string\r\n value: number\r\n}\r\n\r\nexport function Pagination({\r\n page,\r\n pageSize,\r\n total,\r\n onPageChange,\r\n onPageSizeChange,\r\n pageSizeOptions = [10, 20, 50, 100],\r\n showPageSize = true,\r\n showRange = true,\r\n className,\r\n ...props\r\n}: PaginationProps) {\r\n const totalPages = Math.max(1, Math.ceil(total / pageSize))\r\n const startItem = total === 0 ? 0 : (page - 1) * pageSize + 1\r\n const endItem = Math.min(page * pageSize, total)\r\n\r\n const items: PageSizeOptionItem[] = React.useMemo(\r\n () => pageSizeOptions.map((opt) => ({ label: String(opt), value: opt })),\r\n [pageSizeOptions]\r\n )\r\n\r\n const selectedItem = React.useMemo(\r\n () => items.find((item) => item.value === pageSize) ?? items[0],\r\n [items, pageSize]\r\n )\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"flex w-full flex-col-reverse gap-3 mt-4 sm:flex-row sm:items-center sm:justify-between border-t border-border-primary pt-3 text-body-regular-2 text-text-secondary\",\r\n className\r\n )}\r\n data-slot=\"pagination\"\r\n {...props}\r\n >\r\n {/* Left: Rows per page & range */}\r\n <div className=\"flex items-center gap-2\">\r\n {showPageSize && onPageSizeChange && (\r\n <>\r\n <span className=\"text-label-regular-3 text-text-tertiary\">\r\n Rows per page\r\n </span>\r\n <Combobox<PageSizeOptionItem>\r\n items={items}\r\n value={selectedItem}\r\n onValueChange={(item) => {\r\n if (item && onPageSizeChange) {\r\n onPageSizeChange(item.value)\r\n }\r\n }}\r\n isItemEqualToValue={(a, b) => a.value === b.value}\r\n >\r\n <ComboboxTrigger\r\n className=\"h-8 gap-2 rounded-lg border border-border-primary bg-bg-primary px-3 text-label-semibold-3 text-text-primary hover:bg-bg-secondary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-border-brand-primary\"\r\n aria-label=\"Rows per page\"\r\n >\r\n <ComboboxValue>\r\n {(val) => (val ? val.label : String(pageSize))}\r\n </ComboboxValue>\r\n <ChevronDownIcon className=\"size-3.5 text-text-tertiary\" />\r\n </ComboboxTrigger>\r\n\r\n <ComboboxPopup className=\"w-24\">\r\n <ComboboxList>\r\n {items.map((item) => (\r\n <ComboboxItem\r\n key={item.value}\r\n value={item}\r\n >\r\n {item.label}\r\n </ComboboxItem>\r\n ))}\r\n </ComboboxList>\r\n </ComboboxPopup>\r\n </Combobox>\r\n </>\r\n )}\r\n\r\n {showPageSize && showRange && (\r\n <span className=\"text-text-tertiary\">·</span>\r\n )}\r\n\r\n {showRange && (\r\n <span className=\"text-label-regular-3 text-text-tertiary\">\r\n {startItem}–{endItem} of {total}\r\n </span>\r\n )}\r\n </div>\r\n\r\n {/* Right: Page controls */}\r\n <div className=\"flex items-center gap-1\">\r\n <button\r\n type=\"button\"\r\n disabled={page <= 1}\r\n onClick={() => onPageChange(page - 1)}\r\n className=\"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40\"\r\n aria-label=\"Previous page\"\r\n >\r\n <ChevronLeftIcon className=\"size-4\" />\r\n </button>\r\n\r\n <span className=\"px-2 text-label-semibold-3 text-text-primary\">\r\n Page {page} / {totalPages}\r\n </span>\r\n\r\n <button\r\n type=\"button\"\r\n disabled={page >= totalPages}\r\n onClick={() => onPageChange(page + 1)}\r\n className=\"inline-flex size-8 cursor-pointer items-center justify-center rounded-lg border border-border-primary bg-bg-primary text-text-secondary transition-colors hover:bg-bg-secondary hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-40\"\r\n aria-label=\"Next page\"\r\n >\r\n <ChevronRightIcon className=\"size-4\" />\r\n </button>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"]}