commerce-toolkit 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/dist/Combination-B_L7xrJs.js +674 -0
  2. package/dist/Combination-B_L7xrJs.js.map +1 -0
  3. package/dist/Combination-D7-DB-sH.cjs +42 -0
  4. package/dist/Combination-D7-DB-sH.cjs.map +1 -0
  5. package/dist/accordion-trigger-Bj1Laf6l.cjs +2 -0
  6. package/dist/{accordion-trigger-Bhrl2g4p.cjs.map → accordion-trigger-Bj1Laf6l.cjs.map} +1 -1
  7. package/dist/{accordion-trigger-DedSFrtg.js → accordion-trigger-Cdkd0tWD.js} +28 -26
  8. package/dist/{accordion-trigger-DedSFrtg.js.map → accordion-trigger-Cdkd0tWD.js.map} +1 -1
  9. package/dist/accordion.cjs +1 -1
  10. package/dist/accordion.js +1 -1
  11. package/dist/{alert-dismiss-DA9LNmIE.js → alert-dismiss-EYWAId7r.js} +3 -3
  12. package/dist/{alert-dismiss-DA9LNmIE.js.map → alert-dismiss-EYWAId7r.js.map} +1 -1
  13. package/dist/{alert-dismiss-10OVmm_h.cjs → alert-dismiss-m6lm9pLf.cjs} +2 -2
  14. package/dist/{alert-dismiss-10OVmm_h.cjs.map → alert-dismiss-m6lm9pLf.cjs.map} +1 -1
  15. package/dist/alert.cjs +1 -1
  16. package/dist/alert.js +1 -1
  17. package/dist/{banner-dismiss-DfFezmDg.cjs → banner-dismiss-0uh1GtF1.cjs} +2 -2
  18. package/dist/{banner-dismiss-DfFezmDg.cjs.map → banner-dismiss-0uh1GtF1.cjs.map} +1 -1
  19. package/dist/{banner-dismiss-DTT0uoeG.js → banner-dismiss-B_j9wqx-.js} +2 -2
  20. package/dist/{banner-dismiss-DTT0uoeG.js.map → banner-dismiss-B_j9wqx-.js.map} +1 -1
  21. package/dist/banner.cjs +1 -1
  22. package/dist/banner.js +1 -1
  23. package/dist/{blog-post-card-author-D4zo7N_N.cjs → blog-post-card-author-B55DKFff.cjs} +2 -2
  24. package/dist/{blog-post-card-author-D4zo7N_N.cjs.map → blog-post-card-author-B55DKFff.cjs.map} +1 -1
  25. package/dist/{blog-post-card-author-CD_eplIv.js → blog-post-card-author-C1GuND4f.js} +8 -8
  26. package/dist/{blog-post-card-author-CD_eplIv.js.map → blog-post-card-author-C1GuND4f.js.map} +1 -1
  27. package/dist/blog-post-card.cjs +1 -1
  28. package/dist/blog-post-card.js +4 -4
  29. package/dist/button-W0_PtryU.js +106 -0
  30. package/dist/button-W0_PtryU.js.map +1 -0
  31. package/dist/button-ibzOCImJ.cjs +7 -0
  32. package/dist/button-ibzOCImJ.cjs.map +1 -0
  33. package/dist/button-radio-group.cjs +2 -0
  34. package/dist/button-radio-group.cjs.map +1 -0
  35. package/dist/button-radio-group.js +63 -0
  36. package/dist/button-radio-group.js.map +1 -0
  37. package/dist/{card-link-COguZcAK.js → card-link-C48N1y5C.js} +2 -2
  38. package/dist/{card-link-COguZcAK.js.map → card-link-C48N1y5C.js.map} +1 -1
  39. package/dist/{card-link-Dnn-M6g-.cjs → card-link-i_zrZjnx.cjs} +2 -2
  40. package/dist/{card-link-Dnn-M6g-.cjs.map → card-link-i_zrZjnx.cjs.map} +1 -1
  41. package/dist/card-radio-group.cjs +2 -0
  42. package/dist/card-radio-group.cjs.map +1 -0
  43. package/dist/card-radio-group.js +81 -0
  44. package/dist/card-radio-group.js.map +1 -0
  45. package/dist/card.cjs +1 -1
  46. package/dist/card.js +3 -3
  47. package/dist/{carousel-next-Co4dy8i8.cjs → carousel-next-BGIZglEF.cjs} +2 -2
  48. package/dist/{carousel-next-Co4dy8i8.cjs.map → carousel-next-BGIZglEF.cjs.map} +1 -1
  49. package/dist/{carousel-next-H6-vbcKz.js → carousel-next-BzKOs3K-.js} +2 -2
  50. package/dist/{carousel-next-H6-vbcKz.js.map → carousel-next-BzKOs3K-.js.map} +1 -1
  51. package/dist/carousel.cjs +1 -1
  52. package/dist/carousel.js +1 -1
  53. package/dist/{category-card-link-BwSFHFcd.cjs → category-card-link-BSmQDScF.cjs} +2 -2
  54. package/dist/{category-card-link-BwSFHFcd.cjs.map → category-card-link-BSmQDScF.cjs.map} +1 -1
  55. package/dist/{category-card-link-BqMAG9Op.js → category-card-link-mgtggmo_.js} +3 -3
  56. package/dist/{category-card-link-BqMAG9Op.js.map → category-card-link-mgtggmo_.js.map} +1 -1
  57. package/dist/category-card.cjs +1 -1
  58. package/dist/category-card.js +5 -5
  59. package/dist/checkbox-group.cjs +2 -0
  60. package/dist/checkbox-group.cjs.map +1 -0
  61. package/dist/checkbox-group.js +21 -0
  62. package/dist/checkbox-group.js.map +1 -0
  63. package/dist/checkbox-indicator-DVkOzOV6.cjs +2 -0
  64. package/dist/checkbox-indicator-DVkOzOV6.cjs.map +1 -0
  65. package/dist/checkbox-indicator-sO8XNm-j.js +296 -0
  66. package/dist/checkbox-indicator-sO8XNm-j.js.map +1 -0
  67. package/dist/checkbox.cjs +1 -1
  68. package/dist/checkbox.js +3 -5
  69. package/dist/checkbox.js.map +1 -1
  70. package/dist/{chip-button-BVG27Nve.js → chip-button-BhdyJZ5U.js} +2 -2
  71. package/dist/{chip-button-BVG27Nve.js.map → chip-button-BhdyJZ5U.js.map} +1 -1
  72. package/dist/{chip-button-B-QabGrN.cjs → chip-button-DRroMV7K.cjs} +2 -2
  73. package/dist/{chip-button-B-QabGrN.cjs.map → chip-button-DRroMV7K.cjs.map} +1 -1
  74. package/dist/chip.cjs +1 -1
  75. package/dist/chip.js +1 -1
  76. package/dist/compare-card-specs-empty-D42h8BPm.cjs +2 -0
  77. package/dist/compare-card-specs-empty-D42h8BPm.cjs.map +1 -0
  78. package/dist/compare-card-specs-empty-n4gOqNXU.js +285 -0
  79. package/dist/compare-card-specs-empty-n4gOqNXU.js.map +1 -0
  80. package/dist/compare-card.cjs +1 -1
  81. package/dist/compare-card.cjs.map +1 -1
  82. package/dist/compare-card.js +29 -30
  83. package/dist/compare-card.js.map +1 -1
  84. package/dist/{compare-drawer-remove-B6UNek1W.js → compare-drawer-remove-DqQAu7qC.js} +3 -3
  85. package/dist/{compare-drawer-remove-B6UNek1W.js.map → compare-drawer-remove-DqQAu7qC.js.map} +1 -1
  86. package/dist/{compare-drawer-remove-DcaPIOnG.cjs → compare-drawer-remove-DxYGdJay.cjs} +2 -2
  87. package/dist/{compare-drawer-remove-DcaPIOnG.cjs.map → compare-drawer-remove-DxYGdJay.cjs.map} +1 -1
  88. package/dist/compare-drawer.cjs +1 -1
  89. package/dist/compare-drawer.js +1 -1
  90. package/dist/components/button/button.d.ts +13 -13
  91. package/dist/components/button/button.d.ts.map +1 -1
  92. package/dist/components/button-link/button-link.d.ts +1 -1
  93. package/dist/components/button-link/button-link.d.ts.map +1 -1
  94. package/dist/components/button-radio-group/button-radio-group.d.ts +33 -0
  95. package/dist/components/button-radio-group/button-radio-group.d.ts.map +1 -0
  96. package/dist/components/button-radio-group/index.d.ts +3 -0
  97. package/dist/components/button-radio-group/index.d.ts.map +1 -0
  98. package/dist/components/button-radio-group/primitives/button-radio-group-item.d.ts +5 -0
  99. package/dist/components/button-radio-group/primitives/button-radio-group-item.d.ts.map +1 -0
  100. package/dist/components/button-radio-group/primitives/button-radio-group-root.d.ts +5 -0
  101. package/dist/components/button-radio-group/primitives/button-radio-group-root.d.ts.map +1 -0
  102. package/dist/components/button-radio-group/primitives.d.ts +3 -0
  103. package/dist/components/button-radio-group/primitives.d.ts.map +1 -0
  104. package/dist/components/card-radio-group/card-radio-group.d.ts +37 -0
  105. package/dist/components/card-radio-group/card-radio-group.d.ts.map +1 -0
  106. package/dist/components/card-radio-group/index.d.ts +3 -0
  107. package/dist/components/card-radio-group/index.d.ts.map +1 -0
  108. package/dist/components/card-radio-group/primitives/card-radio-group-image.d.ts +6 -0
  109. package/dist/components/card-radio-group/primitives/card-radio-group-image.d.ts.map +1 -0
  110. package/dist/components/card-radio-group/primitives/card-radio-group-item.d.ts +5 -0
  111. package/dist/components/card-radio-group/primitives/card-radio-group-item.d.ts.map +1 -0
  112. package/dist/components/card-radio-group/primitives/card-radio-group-label.d.ts +4 -0
  113. package/dist/components/card-radio-group/primitives/card-radio-group-label.d.ts.map +1 -0
  114. package/dist/components/card-radio-group/primitives/card-radio-group-root.d.ts +5 -0
  115. package/dist/components/card-radio-group/primitives/card-radio-group-root.d.ts.map +1 -0
  116. package/dist/components/card-radio-group/primitives/card-radio-group-thumbnail.d.ts +4 -0
  117. package/dist/components/card-radio-group/primitives/card-radio-group-thumbnail.d.ts.map +1 -0
  118. package/dist/components/card-radio-group/primitives.d.ts +6 -0
  119. package/dist/components/card-radio-group/primitives.d.ts.map +1 -0
  120. package/dist/components/checkbox/checkbox.d.ts +5 -15
  121. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  122. package/dist/components/checkbox/primitives/checkbox-root.d.ts +2 -10
  123. package/dist/components/checkbox/primitives/checkbox-root.d.ts.map +1 -1
  124. package/dist/components/checkbox/primitives.d.ts +1 -1
  125. package/dist/components/checkbox/primitives.d.ts.map +1 -1
  126. package/dist/components/checkbox-group/checkbox-group.d.ts +16 -0
  127. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
  128. package/dist/components/checkbox-group/index.d.ts +3 -0
  129. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  130. package/dist/components/checkbox-group/primitives/checkbox-group-option.d.ts +4 -0
  131. package/dist/components/checkbox-group/primitives/checkbox-group-option.d.ts.map +1 -0
  132. package/dist/components/checkbox-group/primitives/checkbox-group-root.d.ts +4 -0
  133. package/dist/components/checkbox-group/primitives/checkbox-group-root.d.ts.map +1 -0
  134. package/dist/components/checkbox-group/primitives.d.ts +3 -0
  135. package/dist/components/checkbox-group/primitives.d.ts.map +1 -0
  136. package/dist/components/counter/counter.d.ts +4 -5
  137. package/dist/components/counter/counter.d.ts.map +1 -1
  138. package/dist/components/counter/primitives/counter-decrease.d.ts +1 -1
  139. package/dist/components/counter/primitives/counter-decrease.d.ts.map +1 -1
  140. package/dist/components/counter/primitives/counter-increase.d.ts +1 -1
  141. package/dist/components/counter/primitives/counter-increase.d.ts.map +1 -1
  142. package/dist/components/counter/primitives/counter-input.d.ts +1 -1
  143. package/dist/components/counter/primitives/counter-input.d.ts.map +1 -1
  144. package/dist/components/counter/primitives/counter-root.d.ts +2 -14
  145. package/dist/components/counter/primitives/counter-root.d.ts.map +1 -1
  146. package/dist/components/counter/primitives.d.ts +1 -1
  147. package/dist/components/counter/primitives.d.ts.map +1 -1
  148. package/dist/components/date-picker/date-picker.d.ts +10 -0
  149. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  150. package/dist/components/date-picker/index.d.ts +3 -0
  151. package/dist/components/date-picker/index.d.ts.map +1 -0
  152. package/dist/components/date-picker/primitives/date-picker-content.d.ts +5 -0
  153. package/dist/components/date-picker/primitives/date-picker-content.d.ts.map +1 -0
  154. package/dist/components/date-picker/primitives/date-picker-portal.d.ts +5 -0
  155. package/dist/components/date-picker/primitives/date-picker-portal.d.ts.map +1 -0
  156. package/dist/components/date-picker/primitives/date-picker-root.d.ts +5 -0
  157. package/dist/components/date-picker/primitives/date-picker-root.d.ts.map +1 -0
  158. package/dist/components/date-picker/primitives/date-picker-trigger.d.ts +5 -0
  159. package/dist/components/date-picker/primitives/date-picker-trigger.d.ts.map +1 -0
  160. package/dist/components/date-picker/primitives.d.ts +5 -0
  161. package/dist/components/date-picker/primitives.d.ts.map +1 -0
  162. package/dist/components/field/index.d.ts +2 -0
  163. package/dist/components/field/index.d.ts.map +1 -0
  164. package/dist/components/field/primitives/field-description.d.ts +4 -0
  165. package/dist/components/field/primitives/field-description.d.ts.map +1 -0
  166. package/dist/components/field/primitives/field-error.d.ts +4 -0
  167. package/dist/components/field/primitives/field-error.d.ts.map +1 -0
  168. package/dist/components/field/primitives/field-group.d.ts +4 -0
  169. package/dist/components/field/primitives/field-group.d.ts.map +1 -0
  170. package/dist/components/field/primitives/field-hint.d.ts +4 -0
  171. package/dist/components/field/primitives/field-hint.d.ts.map +1 -0
  172. package/dist/components/field/primitives/field-item.d.ts +6 -0
  173. package/dist/components/field/primitives/field-item.d.ts.map +1 -0
  174. package/dist/components/field/primitives/field-label.d.ts +4 -0
  175. package/dist/components/field/primitives/field-label.d.ts.map +1 -0
  176. package/dist/components/field/primitives/field-legend.d.ts +4 -0
  177. package/dist/components/field/primitives/field-legend.d.ts.map +1 -0
  178. package/dist/components/field/primitives/field-separator.d.ts +4 -0
  179. package/dist/components/field/primitives/field-separator.d.ts.map +1 -0
  180. package/dist/components/field/primitives/field-set.d.ts +4 -0
  181. package/dist/components/field/primitives/field-set.d.ts.map +1 -0
  182. package/dist/components/field/primitives.d.ts +10 -0
  183. package/dist/components/field/primitives.d.ts.map +1 -0
  184. package/dist/components/file-input/file-input.d.ts +27 -0
  185. package/dist/components/file-input/file-input.d.ts.map +1 -0
  186. package/dist/components/file-input/index.d.ts +3 -0
  187. package/dist/components/file-input/index.d.ts.map +1 -0
  188. package/dist/components/file-input/primitives/file-input-details.d.ts +4 -0
  189. package/dist/components/file-input/primitives/file-input-details.d.ts.map +1 -0
  190. package/dist/components/file-input/primitives/file-input-dropzone-error.d.ts +4 -0
  191. package/dist/components/file-input/primitives/file-input-dropzone-error.d.ts.map +1 -0
  192. package/dist/components/file-input/primitives/file-input-dropzone-hint.d.ts +4 -0
  193. package/dist/components/file-input/primitives/file-input-dropzone-hint.d.ts.map +1 -0
  194. package/dist/components/file-input/primitives/file-input-dropzone.d.ts +4 -0
  195. package/dist/components/file-input/primitives/file-input-dropzone.d.ts.map +1 -0
  196. package/dist/components/file-input/primitives/file-input-error.d.ts +4 -0
  197. package/dist/components/file-input/primitives/file-input-error.d.ts.map +1 -0
  198. package/dist/components/file-input/primitives/file-input-header.d.ts +4 -0
  199. package/dist/components/file-input/primitives/file-input-header.d.ts.map +1 -0
  200. package/dist/components/file-input/primitives/file-input-icon.d.ts +8 -0
  201. package/dist/components/file-input/primitives/file-input-icon.d.ts.map +1 -0
  202. package/dist/components/file-input/primitives/file-input-item.d.ts +15 -0
  203. package/dist/components/file-input/primitives/file-input-item.d.ts.map +1 -0
  204. package/dist/components/file-input/primitives/file-input-list.d.ts +10 -0
  205. package/dist/components/file-input/primitives/file-input-list.d.ts.map +1 -0
  206. package/dist/components/file-input/primitives/file-input-message.d.ts +4 -0
  207. package/dist/components/file-input/primitives/file-input-message.d.ts.map +1 -0
  208. package/dist/components/file-input/primitives/file-input-metadata.d.ts +4 -0
  209. package/dist/components/file-input/primitives/file-input-metadata.d.ts.map +1 -0
  210. package/dist/components/file-input/primitives/file-input-name.d.ts +4 -0
  211. package/dist/components/file-input/primitives/file-input-name.d.ts.map +1 -0
  212. package/dist/components/file-input/primitives/file-input-progress.d.ts +4 -0
  213. package/dist/components/file-input/primitives/file-input-progress.d.ts.map +1 -0
  214. package/dist/components/file-input/primitives/file-input-remove.d.ts +4 -0
  215. package/dist/components/file-input/primitives/file-input-remove.d.ts.map +1 -0
  216. package/dist/components/file-input/primitives/file-input-root.d.ts +40 -0
  217. package/dist/components/file-input/primitives/file-input-root.d.ts.map +1 -0
  218. package/dist/components/file-input/primitives/file-input-status.d.ts +4 -0
  219. package/dist/components/file-input/primitives/file-input-status.d.ts.map +1 -0
  220. package/dist/components/file-input/primitives/file-input-trigger.d.ts +5 -0
  221. package/dist/components/file-input/primitives/file-input-trigger.d.ts.map +1 -0
  222. package/dist/components/file-input/primitives.d.ts +18 -0
  223. package/dist/components/file-input/primitives.d.ts.map +1 -0
  224. package/dist/components/form-status/form-status.d.ts +21 -0
  225. package/dist/components/form-status/form-status.d.ts.map +1 -0
  226. package/dist/components/form-status/index.d.ts +3 -0
  227. package/dist/components/form-status/index.d.ts.map +1 -0
  228. package/dist/components/form-status/primitives/form-status-root.d.ts +6 -0
  229. package/dist/components/form-status/primitives/form-status-root.d.ts.map +1 -0
  230. package/dist/components/form-status/primitives.d.ts +2 -0
  231. package/dist/components/form-status/primitives.d.ts.map +1 -0
  232. package/dist/components/input/index.d.ts +3 -0
  233. package/dist/components/input/index.d.ts.map +1 -0
  234. package/dist/components/input/input.d.ts +18 -0
  235. package/dist/components/input/input.d.ts.map +1 -0
  236. package/dist/components/input/primitives/input-field.d.ts +4 -0
  237. package/dist/components/input/primitives/input-field.d.ts.map +1 -0
  238. package/dist/components/input/primitives/input-prepend.d.ts +4 -0
  239. package/dist/components/input/primitives/input-prepend.d.ts.map +1 -0
  240. package/dist/components/input/primitives/input-root.d.ts +6 -0
  241. package/dist/components/input/primitives/input-root.d.ts.map +1 -0
  242. package/dist/components/input/primitives.d.ts +4 -0
  243. package/dist/components/input/primitives.d.ts.map +1 -0
  244. package/dist/components/label/label.d.ts +2 -4
  245. package/dist/components/label/label.d.ts.map +1 -1
  246. package/dist/components/logo/index.d.ts +0 -1
  247. package/dist/components/logo/index.d.ts.map +1 -1
  248. package/dist/components/logo/primitives/logo-text.d.ts +3 -1
  249. package/dist/components/logo/primitives/logo-text.d.ts.map +1 -1
  250. package/dist/components/navigation-menu/index.d.ts +3 -0
  251. package/dist/components/navigation-menu/index.d.ts.map +1 -0
  252. package/dist/components/navigation-menu/navigation-menu.d.ts +51 -0
  253. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -0
  254. package/dist/components/navigation-menu/primitives/navigation-menu-content.d.ts +5 -0
  255. package/dist/components/navigation-menu/primitives/navigation-menu-content.d.ts.map +1 -0
  256. package/dist/components/navigation-menu/primitives/navigation-menu-grid-column.d.ts +4 -0
  257. package/dist/components/navigation-menu/primitives/navigation-menu-grid-column.d.ts.map +1 -0
  258. package/dist/components/navigation-menu/primitives/navigation-menu-grid-label.d.ts +5 -0
  259. package/dist/components/navigation-menu/primitives/navigation-menu-grid-label.d.ts.map +1 -0
  260. package/dist/components/navigation-menu/primitives/navigation-menu-grid-link.d.ts +5 -0
  261. package/dist/components/navigation-menu/primitives/navigation-menu-grid-link.d.ts.map +1 -0
  262. package/dist/components/navigation-menu/primitives/navigation-menu-grid.d.ts +4 -0
  263. package/dist/components/navigation-menu/primitives/navigation-menu-grid.d.ts.map +1 -0
  264. package/dist/components/navigation-menu/primitives/navigation-menu-item.d.ts +5 -0
  265. package/dist/components/navigation-menu/primitives/navigation-menu-item.d.ts.map +1 -0
  266. package/dist/components/navigation-menu/primitives/navigation-menu-link.d.ts +5 -0
  267. package/dist/components/navigation-menu/primitives/navigation-menu-link.d.ts.map +1 -0
  268. package/dist/components/navigation-menu/primitives/navigation-menu-list.d.ts +5 -0
  269. package/dist/components/navigation-menu/primitives/navigation-menu-list.d.ts.map +1 -0
  270. package/dist/components/navigation-menu/primitives/navigation-menu-panel.d.ts +4 -0
  271. package/dist/components/navigation-menu/primitives/navigation-menu-panel.d.ts.map +1 -0
  272. package/dist/components/navigation-menu/primitives/navigation-menu-root.d.ts +8 -0
  273. package/dist/components/navigation-menu/primitives/navigation-menu-root.d.ts.map +1 -0
  274. package/dist/components/navigation-menu/primitives/navigation-menu-slot.d.ts +4 -0
  275. package/dist/components/navigation-menu/primitives/navigation-menu-slot.d.ts.map +1 -0
  276. package/dist/components/navigation-menu/primitives/navigation-menu-trigger.d.ts +5 -0
  277. package/dist/components/navigation-menu/primitives/navigation-menu-trigger.d.ts.map +1 -0
  278. package/dist/components/navigation-menu/primitives/navigation-menu-viewport.d.ts +5 -0
  279. package/dist/components/navigation-menu/primitives/navigation-menu-viewport.d.ts.map +1 -0
  280. package/dist/components/navigation-menu/primitives.d.ts +14 -0
  281. package/dist/components/navigation-menu/primitives.d.ts.map +1 -0
  282. package/dist/components/product-card/primitives/product-card-label.d.ts.map +1 -1
  283. package/dist/components/radio-group/index.d.ts +3 -0
  284. package/dist/components/radio-group/index.d.ts.map +1 -0
  285. package/dist/components/radio-group/primitives/radio-group-indicator.d.ts +5 -0
  286. package/dist/components/radio-group/primitives/radio-group-indicator.d.ts.map +1 -0
  287. package/dist/components/radio-group/primitives/radio-group-item.d.ts +5 -0
  288. package/dist/components/radio-group/primitives/radio-group-item.d.ts.map +1 -0
  289. package/dist/components/radio-group/primitives/radio-group-option.d.ts +4 -0
  290. package/dist/components/radio-group/primitives/radio-group-option.d.ts.map +1 -0
  291. package/dist/components/radio-group/primitives/radio-group-root.d.ts +5 -0
  292. package/dist/components/radio-group/primitives/radio-group-root.d.ts.map +1 -0
  293. package/dist/components/radio-group/primitives.d.ts +5 -0
  294. package/dist/components/radio-group/primitives.d.ts.map +1 -0
  295. package/dist/components/radio-group/radio-group.d.ts +31 -0
  296. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  297. package/dist/components/range-input/index.d.ts +3 -0
  298. package/dist/components/range-input/index.d.ts.map +1 -0
  299. package/dist/components/range-input/primitives/range-input-root.d.ts +4 -0
  300. package/dist/components/range-input/primitives/range-input-root.d.ts.map +1 -0
  301. package/dist/components/range-input/primitives.d.ts +2 -0
  302. package/dist/components/range-input/primitives.d.ts.map +1 -0
  303. package/dist/components/range-input/range-input.d.ts +32 -0
  304. package/dist/components/range-input/range-input.d.ts.map +1 -0
  305. package/dist/components/rating/primitives/rating-root.d.ts +5 -1
  306. package/dist/components/rating/primitives/rating-root.d.ts.map +1 -1
  307. package/dist/components/rating/primitives/rating-star.d.ts.map +1 -1
  308. package/dist/components/rating/primitives/rating-total.d.ts +4 -0
  309. package/dist/components/rating/primitives/rating-total.d.ts.map +1 -0
  310. package/dist/components/rating/primitives/rating-value.d.ts +1 -1
  311. package/dist/components/rating/primitives/rating-value.d.ts.map +1 -1
  312. package/dist/components/rating/primitives.d.ts +1 -0
  313. package/dist/components/rating/primitives.d.ts.map +1 -1
  314. package/dist/components/rating/rating.d.ts +3 -1
  315. package/dist/components/rating/rating.d.ts.map +1 -1
  316. package/dist/components/select/index.d.ts +3 -0
  317. package/dist/components/select/index.d.ts.map +1 -0
  318. package/dist/components/select/primitives/select-content.d.ts +5 -0
  319. package/dist/components/select/primitives/select-content.d.ts.map +1 -0
  320. package/dist/components/select/primitives/select-icon.d.ts +5 -0
  321. package/dist/components/select/primitives/select-icon.d.ts.map +1 -0
  322. package/dist/components/select/primitives/select-item-text.d.ts +5 -0
  323. package/dist/components/select/primitives/select-item-text.d.ts.map +1 -0
  324. package/dist/components/select/primitives/select-item.d.ts +5 -0
  325. package/dist/components/select/primitives/select-item.d.ts.map +1 -0
  326. package/dist/components/select/primitives/select-portal.d.ts +5 -0
  327. package/dist/components/select/primitives/select-portal.d.ts.map +1 -0
  328. package/dist/components/select/primitives/select-root.d.ts +9 -0
  329. package/dist/components/select/primitives/select-root.d.ts.map +1 -0
  330. package/dist/components/select/primitives/select-scroll-down-button.d.ts +5 -0
  331. package/dist/components/select/primitives/select-scroll-down-button.d.ts.map +1 -0
  332. package/dist/components/select/primitives/select-scroll-up-button.d.ts +5 -0
  333. package/dist/components/select/primitives/select-scroll-up-button.d.ts.map +1 -0
  334. package/dist/components/select/primitives/select-trigger.d.ts +5 -0
  335. package/dist/components/select/primitives/select-trigger.d.ts.map +1 -0
  336. package/dist/components/select/primitives/select-value.d.ts +5 -0
  337. package/dist/components/select/primitives/select-value.d.ts.map +1 -0
  338. package/dist/components/select/primitives/select-viewport.d.ts +5 -0
  339. package/dist/components/select/primitives/select-viewport.d.ts.map +1 -0
  340. package/dist/components/select/primitives.d.ts +12 -0
  341. package/dist/components/select/primitives.d.ts.map +1 -0
  342. package/dist/components/select/select.d.ts +44 -0
  343. package/dist/components/select/select.d.ts.map +1 -0
  344. package/dist/components/swatch-radio-group/index.d.ts +3 -0
  345. package/dist/components/swatch-radio-group/index.d.ts.map +1 -0
  346. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-color.d.ts +6 -0
  347. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-color.d.ts.map +1 -0
  348. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-image.d.ts +6 -0
  349. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-image.d.ts.map +1 -0
  350. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-indicator.d.ts +4 -0
  351. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-indicator.d.ts.map +1 -0
  352. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-item.d.ts +5 -0
  353. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-item.d.ts.map +1 -0
  354. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-root.d.ts +5 -0
  355. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-root.d.ts.map +1 -0
  356. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-thumbnail.d.ts +4 -0
  357. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-thumbnail.d.ts.map +1 -0
  358. package/dist/components/swatch-radio-group/primitives.d.ts +8 -0
  359. package/dist/components/swatch-radio-group/primitives.d.ts.map +1 -0
  360. package/dist/components/swatch-radio-group/swatch-radio-group.d.ts +42 -0
  361. package/dist/components/swatch-radio-group/swatch-radio-group.d.ts.map +1 -0
  362. package/dist/components/textarea/index.d.ts +2 -0
  363. package/dist/components/textarea/index.d.ts.map +1 -0
  364. package/dist/components/textarea/textarea.d.ts +4 -0
  365. package/dist/components/textarea/textarea.d.ts.map +1 -0
  366. package/dist/components/toggle-group/index.d.ts +3 -0
  367. package/dist/components/toggle-group/index.d.ts.map +1 -0
  368. package/dist/components/toggle-group/primitives/toggle-group-item.d.ts +5 -0
  369. package/dist/components/toggle-group/primitives/toggle-group-item.d.ts.map +1 -0
  370. package/dist/components/toggle-group/primitives/toggle-group-root.d.ts +5 -0
  371. package/dist/components/toggle-group/primitives/toggle-group-root.d.ts.map +1 -0
  372. package/dist/components/toggle-group/primitives.d.ts +3 -0
  373. package/dist/components/toggle-group/primitives.d.ts.map +1 -0
  374. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  375. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  376. package/dist/counter-input-60Nb59Nw.cjs +2 -0
  377. package/dist/counter-input-60Nb59Nw.cjs.map +1 -0
  378. package/dist/counter-input-staB16MG.js +80 -0
  379. package/dist/counter-input-staB16MG.js.map +1 -0
  380. package/dist/counter.cjs +1 -1
  381. package/dist/counter.js +2 -3
  382. package/dist/{cursor-pagination-link-BJafEeyH.cjs → cursor-pagination-link-C6otmDIa.cjs} +2 -2
  383. package/dist/{cursor-pagination-link-BJafEeyH.cjs.map → cursor-pagination-link-C6otmDIa.cjs.map} +1 -1
  384. package/dist/{cursor-pagination-link-CkZ5dwLY.js → cursor-pagination-link-CWbshIOY.js} +2 -2
  385. package/dist/{cursor-pagination-link-CkZ5dwLY.js.map → cursor-pagination-link-CWbshIOY.js.map} +1 -1
  386. package/dist/cursor-pagination.cjs +1 -1
  387. package/dist/cursor-pagination.js +4 -4
  388. package/dist/date-picker.cjs +2 -0
  389. package/dist/date-picker.cjs.map +1 -0
  390. package/dist/date-picker.js +258 -0
  391. package/dist/date-picker.js.map +1 -0
  392. package/dist/dropdown-menu-node-CAwgTGIA.cjs +7 -0
  393. package/dist/dropdown-menu-node-CAwgTGIA.cjs.map +1 -0
  394. package/dist/dropdown-menu-node-x6qIrxA6.js +1101 -0
  395. package/dist/dropdown-menu-node-x6qIrxA6.js.map +1 -0
  396. package/dist/dropdown-menu.cjs +1 -1
  397. package/dist/dropdown-menu.js +1 -1
  398. package/dist/{favorite-heart-DfzWBG3K.js → favorite-heart-DM8QjcYe.js} +17 -44
  399. package/dist/favorite-heart-DM8QjcYe.js.map +1 -0
  400. package/dist/favorite-heart-JHXkEZUQ.cjs +2 -0
  401. package/dist/favorite-heart-JHXkEZUQ.cjs.map +1 -0
  402. package/dist/favorite.cjs +1 -1
  403. package/dist/favorite.js +1 -1
  404. package/dist/field-error-D5NKv8wq.cjs +7 -0
  405. package/dist/field-error-D5NKv8wq.cjs.map +1 -0
  406. package/dist/field-error-DtlucLPM.js +150 -0
  407. package/dist/field-error-DtlucLPM.js.map +1 -0
  408. package/dist/field.cjs +2 -0
  409. package/dist/field.cjs.map +1 -0
  410. package/dist/field.js +13 -0
  411. package/dist/field.js.map +1 -0
  412. package/dist/file-input.cjs +2 -0
  413. package/dist/file-input.cjs.map +1 -0
  414. package/dist/file-input.js +625 -0
  415. package/dist/file-input.js.map +1 -0
  416. package/dist/form-status.cjs +2 -0
  417. package/dist/form-status.cjs.map +1 -0
  418. package/dist/form-status.js +32 -0
  419. package/dist/form-status.js.map +1 -0
  420. package/dist/icon.cjs +1 -1
  421. package/dist/icon.js +2 -2
  422. package/dist/{index-Cn_ZXVPF.js → index-437EL2iq.js} +2 -2
  423. package/dist/{index-Cn_ZXVPF.js.map → index-437EL2iq.js.map} +1 -1
  424. package/dist/index-B8ydIT5v.cjs +2 -0
  425. package/dist/index-B8ydIT5v.cjs.map +1 -0
  426. package/dist/index-BEcVxceo.js +235 -0
  427. package/dist/index-BEcVxceo.js.map +1 -0
  428. package/dist/{index-B_420jYs.js → index-BGQepRFJ.js} +2 -2
  429. package/dist/{index-B_420jYs.js.map → index-BGQepRFJ.js.map} +1 -1
  430. package/dist/index-BRpvnewZ.js +1541 -0
  431. package/dist/index-BRpvnewZ.js.map +1 -0
  432. package/dist/index-BZPx6jYI.js +9 -0
  433. package/dist/index-BZPx6jYI.js.map +1 -0
  434. package/dist/index-Baakt2Nc.js +32 -0
  435. package/dist/index-Baakt2Nc.js.map +1 -0
  436. package/dist/index-Bd0gQB0k.cjs +2 -0
  437. package/dist/index-Bd0gQB0k.cjs.map +1 -0
  438. package/dist/index-Bj4dHMqQ.cjs +2 -0
  439. package/dist/{index-BgU5ZH3M.cjs.map → index-Bj4dHMqQ.cjs.map} +1 -1
  440. package/dist/index-BpWB3aFK.js +71 -0
  441. package/dist/index-BpWB3aFK.js.map +1 -0
  442. package/dist/index-Bw3eeUEE.cjs +2 -0
  443. package/dist/index-Bw3eeUEE.cjs.map +1 -0
  444. package/dist/index-BybPvee-.js +135 -0
  445. package/dist/index-BybPvee-.js.map +1 -0
  446. package/dist/{index-BwVkw1mh.cjs → index-C8aODXfJ.cjs} +2 -2
  447. package/dist/{index-BwVkw1mh.cjs.map → index-C8aODXfJ.cjs.map} +1 -1
  448. package/dist/index-C8ni3LLa.cjs +2 -0
  449. package/dist/index-C8ni3LLa.cjs.map +1 -0
  450. package/dist/index-C9i1xBih.cjs +2 -0
  451. package/dist/index-C9i1xBih.cjs.map +1 -0
  452. package/dist/index-CCKe-Mpx.js +7 -0
  453. package/dist/index-CCKe-Mpx.js.map +1 -0
  454. package/dist/{index-Aj7AU26N.js → index-CFzSulqY.js} +3 -3
  455. package/dist/{index-Aj7AU26N.js.map → index-CFzSulqY.js.map} +1 -1
  456. package/dist/index-CHBN4DXC.cjs +2 -0
  457. package/dist/index-CHBN4DXC.cjs.map +1 -0
  458. package/dist/index-CfUNQctP.cjs +2 -0
  459. package/dist/index-CfUNQctP.cjs.map +1 -0
  460. package/dist/{index-9BYBSfjb.js → index-Cv867SGx.js} +2 -2
  461. package/dist/{index-9BYBSfjb.js.map → index-Cv867SGx.js.map} +1 -1
  462. package/dist/{index-ChSlzMYI.js → index-D54L0mSJ.js} +23 -21
  463. package/dist/{index-ChSlzMYI.js.map → index-D54L0mSJ.js.map} +1 -1
  464. package/dist/index-DFZozV_h.js +69 -0
  465. package/dist/index-DFZozV_h.js.map +1 -0
  466. package/dist/index-DO-atGp-.cjs +2 -0
  467. package/dist/index-DO-atGp-.cjs.map +1 -0
  468. package/dist/index-DYM6xIoO.js +81 -0
  469. package/dist/index-DYM6xIoO.js.map +1 -0
  470. package/dist/index-DYxWvftI.cjs +2 -0
  471. package/dist/index-DYxWvftI.cjs.map +1 -0
  472. package/dist/{index-DgGfdcU-.js → index-DbDmtVzS.js} +6 -6
  473. package/dist/{index-DgGfdcU-.js.map → index-DbDmtVzS.js.map} +1 -1
  474. package/dist/index-Dgln3ACt.cjs +6 -0
  475. package/dist/{index-BppAzNV8.cjs.map → index-Dgln3ACt.cjs.map} +1 -1
  476. package/dist/index-DqtbJbQD.cjs +2 -0
  477. package/dist/index-DqtbJbQD.cjs.map +1 -0
  478. package/dist/index-MQ0c3ZX_.cjs +2 -0
  479. package/dist/index-MQ0c3ZX_.cjs.map +1 -0
  480. package/dist/{index-wBo-Jtto.cjs → index-VgAaryF4.cjs} +2 -2
  481. package/dist/{index-wBo-Jtto.cjs.map → index-VgAaryF4.cjs.map} +1 -1
  482. package/dist/{index-BRcWOeqw.cjs → index-WIv2ndLu.cjs} +2 -2
  483. package/dist/{index-BRcWOeqw.cjs.map → index-WIv2ndLu.cjs.map} +1 -1
  484. package/dist/index-YyKO8LfJ.js +34 -0
  485. package/dist/index-YyKO8LfJ.js.map +1 -0
  486. package/dist/index-_4V-_s4C.js +18 -0
  487. package/dist/{index-CM8VpmHn.js.map → index-_4V-_s4C.js.map} +1 -1
  488. package/dist/{index-6tKkLrHE.cjs → index-bSPhqlcX.cjs} +2 -2
  489. package/dist/{index-6tKkLrHE.cjs.map → index-bSPhqlcX.cjs.map} +1 -1
  490. package/dist/{index-CB459AZm.cjs → index-ioB9fNr9.cjs} +2 -2
  491. package/dist/{index-CB459AZm.cjs.map → index-ioB9fNr9.cjs.map} +1 -1
  492. package/dist/index-rKs9bXHr.js +7 -0
  493. package/dist/index-rKs9bXHr.js.map +1 -0
  494. package/dist/index.cjs +7 -12
  495. package/dist/index.cjs.map +1 -1
  496. package/dist/index.d.ts +2 -2
  497. package/dist/index.d.ts.map +1 -1
  498. package/dist/index.js +1118 -1078
  499. package/dist/index.js.map +1 -1
  500. package/dist/input.cjs +2 -0
  501. package/dist/input.cjs.map +1 -0
  502. package/dist/input.js +72 -0
  503. package/dist/input.js.map +1 -0
  504. package/dist/label-C2HI4Bjj.js +38 -0
  505. package/dist/label-C2HI4Bjj.js.map +1 -0
  506. package/dist/label-CP55xclp.cjs +2 -0
  507. package/dist/label-CP55xclp.cjs.map +1 -0
  508. package/dist/logo-skeleton-DPhYgp4v.cjs +2 -0
  509. package/dist/logo-skeleton-DPhYgp4v.cjs.map +1 -0
  510. package/dist/logo-skeleton-DSSJAa_5.js +44 -0
  511. package/dist/logo-skeleton-DSSJAa_5.js.map +1 -0
  512. package/dist/logo.cjs +1 -1
  513. package/dist/logo.cjs.map +1 -1
  514. package/dist/logo.js +4 -10
  515. package/dist/logo.js.map +1 -1
  516. package/dist/{modal-title-CuB6IpxH.cjs → modal-title-D0y_YSeK.cjs} +2 -2
  517. package/dist/{modal-title-CuB6IpxH.cjs.map → modal-title-D0y_YSeK.cjs.map} +1 -1
  518. package/dist/{modal-title-MIH3Xsp2.js → modal-title-DIVsr1XZ.js} +3 -3
  519. package/dist/{modal-title-MIH3Xsp2.js.map → modal-title-DIVsr1XZ.js.map} +1 -1
  520. package/dist/modal.cjs +1 -1
  521. package/dist/modal.js +1 -1
  522. package/dist/navigation-menu.cjs +2 -0
  523. package/dist/navigation-menu.cjs.map +1 -0
  524. package/dist/navigation-menu.js +830 -0
  525. package/dist/navigation-menu.js.map +1 -0
  526. package/dist/{offset-pagination-ellipsis-MCFHXB-5.cjs → offset-pagination-ellipsis-BDbVGBuP.cjs} +2 -2
  527. package/dist/{offset-pagination-ellipsis-MCFHXB-5.cjs.map → offset-pagination-ellipsis-BDbVGBuP.cjs.map} +1 -1
  528. package/dist/{offset-pagination-ellipsis-DWDhFCgW.js → offset-pagination-ellipsis-bGa7YpkD.js} +2 -2
  529. package/dist/{offset-pagination-ellipsis-DWDhFCgW.js.map → offset-pagination-ellipsis-bGa7YpkD.js.map} +1 -1
  530. package/dist/offset-pagination.cjs +1 -1
  531. package/dist/offset-pagination.js +1 -1
  532. package/dist/{price-strike-DD2WNPQX.cjs → price-strike-BTE4S5Na.cjs} +2 -2
  533. package/dist/{price-strike-DD2WNPQX.cjs.map → price-strike-BTE4S5Na.cjs.map} +1 -1
  534. package/dist/{price-strike-Br_Yriv9.js → price-strike-Ciakdz8c.js} +2 -2
  535. package/dist/{price-strike-Br_Yriv9.js.map → price-strike-Ciakdz8c.js.map} +1 -1
  536. package/dist/price.cjs +1 -1
  537. package/dist/price.js +1 -1
  538. package/dist/product-card-label-BQeJxNcX.cjs +2 -0
  539. package/dist/product-card-label-BQeJxNcX.cjs.map +1 -0
  540. package/dist/{product-card-label-CJmC9ICf.js → product-card-label-C6D-fYjj.js} +68 -95
  541. package/dist/product-card-label-C6D-fYjj.js.map +1 -0
  542. package/dist/{product-card-root-4Xz4-pdL.js → product-card-root-BGUa-vQ_.js} +2 -2
  543. package/dist/{product-card-root-4Xz4-pdL.js.map → product-card-root-BGUa-vQ_.js.map} +1 -1
  544. package/dist/{product-card-root-BMTVhhFp.cjs → product-card-root-Q5lwSPd8.cjs} +2 -2
  545. package/dist/{product-card-root-BMTVhhFp.cjs.map → product-card-root-Q5lwSPd8.cjs.map} +1 -1
  546. package/dist/{product-card-skeleton-Dkqf-bfA.js → product-card-skeleton-B8DGleVJ.js} +8 -9
  547. package/dist/{product-card-skeleton-Dkqf-bfA.js.map → product-card-skeleton-B8DGleVJ.js.map} +1 -1
  548. package/dist/product-card-skeleton-CCbWpq16.cjs +2 -0
  549. package/dist/{product-card-skeleton-CCQkDMNl.cjs.map → product-card-skeleton-CCbWpq16.cjs.map} +1 -1
  550. package/dist/product-card.cjs +1 -1
  551. package/dist/product-card.js +4 -4
  552. package/dist/radio-group.cjs +2 -0
  553. package/dist/radio-group.cjs.map +1 -0
  554. package/dist/radio-group.js +82 -0
  555. package/dist/radio-group.js.map +1 -0
  556. package/dist/range-input.cjs +2 -0
  557. package/dist/range-input.cjs.map +1 -0
  558. package/dist/range-input.js +17 -0
  559. package/dist/range-input.js.map +1 -0
  560. package/dist/rating-total-BxVcB0gt.cjs +2 -0
  561. package/dist/rating-total-BxVcB0gt.cjs.map +1 -0
  562. package/dist/rating-total-C_vpBVPa.js +144 -0
  563. package/dist/rating-total-C_vpBVPa.js.map +1 -0
  564. package/dist/rating.cjs +1 -1
  565. package/dist/rating.js +4 -3
  566. package/dist/{reveal-trigger-XpH07-oH.cjs → reveal-trigger-CCTnO9e2.cjs} +2 -2
  567. package/dist/{reveal-trigger-XpH07-oH.cjs.map → reveal-trigger-CCTnO9e2.cjs.map} +1 -1
  568. package/dist/{reveal-trigger-C-dcymoc.js → reveal-trigger-ScuufoFq.js} +7 -7
  569. package/dist/{reveal-trigger-C-dcymoc.js.map → reveal-trigger-ScuufoFq.js.map} +1 -1
  570. package/dist/reveal.cjs +1 -1
  571. package/dist/reveal.js +1 -1
  572. package/dist/scroll-area-corner-Bc4E-OBW.cjs +2 -0
  573. package/dist/scroll-area-corner-Bc4E-OBW.cjs.map +1 -0
  574. package/dist/{scroll-area-corner-Bq7PB1XK.js → scroll-area-corner-DfIRArAE.js} +59 -59
  575. package/dist/scroll-area-corner-DfIRArAE.js.map +1 -0
  576. package/dist/scroll-area.cjs +1 -1
  577. package/dist/scroll-area.js +1 -1
  578. package/dist/select.cjs +2 -0
  579. package/dist/select.cjs.map +1 -0
  580. package/dist/select.js +991 -0
  581. package/dist/select.js.map +1 -0
  582. package/dist/{side-panel-close-Bjcn4BEE.cjs → side-panel-close-BSEnX7wo.cjs} +2 -2
  583. package/dist/{side-panel-close-Bjcn4BEE.cjs.map → side-panel-close-BSEnX7wo.cjs.map} +1 -1
  584. package/dist/{side-panel-close-DVJwOxdM.js → side-panel-close-CbsiwlUW.js} +3 -3
  585. package/dist/{side-panel-close-DVJwOxdM.js.map → side-panel-close-CbsiwlUW.js.map} +1 -1
  586. package/dist/side-panel.cjs +1 -1
  587. package/dist/side-panel.js +1 -1
  588. package/dist/{skeleton-box-yQLivCqg.cjs → skeleton-box-BsY5q4RG.cjs} +2 -2
  589. package/dist/{skeleton-box-yQLivCqg.cjs.map → skeleton-box-BsY5q4RG.cjs.map} +1 -1
  590. package/dist/{skeleton-box-BSzQ5f9Y.js → skeleton-box-D0XcgPLs.js} +2 -2
  591. package/dist/{skeleton-box-BSzQ5f9Y.js.map → skeleton-box-D0XcgPLs.js.map} +1 -1
  592. package/dist/{skeleton-icon-ThRjXhfU.js → skeleton-icon-Cm6f9u-Z.js} +2 -2
  593. package/dist/{skeleton-icon-ThRjXhfU.js.map → skeleton-icon-Cm6f9u-Z.js.map} +1 -1
  594. package/dist/{skeleton-icon-CCCgNtIy.cjs → skeleton-icon-o8gtDMoj.cjs} +2 -2
  595. package/dist/{skeleton-icon-CCCgNtIy.cjs.map → skeleton-icon-o8gtDMoj.cjs.map} +1 -1
  596. package/dist/{skeleton-root-DHW28LoV.js → skeleton-root-BIYF02UE.js} +2 -2
  597. package/dist/{skeleton-root-DHW28LoV.js.map → skeleton-root-BIYF02UE.js.map} +1 -1
  598. package/dist/{skeleton-root-uIgjea8b.cjs → skeleton-root-Bahq1UoM.cjs} +2 -2
  599. package/dist/{skeleton-root-uIgjea8b.cjs.map → skeleton-root-Bahq1UoM.cjs.map} +1 -1
  600. package/dist/{skeleton-text-Dd4GbnEz.js → skeleton-text-BCsnfhcU.js} +2 -2
  601. package/dist/{skeleton-text-Dd4GbnEz.js.map → skeleton-text-BCsnfhcU.js.map} +1 -1
  602. package/dist/{skeleton-text-CLzoDFvz.cjs → skeleton-text-BxefRRo2.cjs} +2 -2
  603. package/dist/{skeleton-text-CLzoDFvz.cjs.map → skeleton-text-BxefRRo2.cjs.map} +1 -1
  604. package/dist/skeleton.cjs +1 -1
  605. package/dist/skeleton.js +4 -4
  606. package/dist/swatch-radio-group.cjs +2 -0
  607. package/dist/swatch-radio-group.cjs.map +1 -0
  608. package/dist/swatch-radio-group.js +169 -0
  609. package/dist/swatch-radio-group.js.map +1 -0
  610. package/dist/{tabs-root-BmY1p2kY.js → tabs-root-BLHqpIyN.js} +19 -18
  611. package/dist/{tabs-root-BmY1p2kY.js.map → tabs-root-BLHqpIyN.js.map} +1 -1
  612. package/dist/tabs-root-DzmRz2Up.cjs +2 -0
  613. package/dist/{tabs-root-D3Bg29y-.cjs.map → tabs-root-DzmRz2Up.cjs.map} +1 -1
  614. package/dist/tabs.cjs +1 -1
  615. package/dist/tabs.js +1 -1
  616. package/dist/toggle-group.cjs +2 -0
  617. package/dist/toggle-group.cjs.map +1 -0
  618. package/dist/toggle-group.js +193 -0
  619. package/dist/toggle-group.js.map +1 -0
  620. package/dist/{utils-BOGlfttm.js → utils-CRiPKpXj.js} +2 -1
  621. package/dist/{utils-BOGlfttm.js.map → utils-CRiPKpXj.js.map} +1 -1
  622. package/dist/{utils-LBH114_M.cjs → utils-DoxiiusW.cjs} +2 -2
  623. package/dist/{utils-LBH114_M.cjs.map → utils-DoxiiusW.cjs.map} +1 -1
  624. package/package.json +144 -1
  625. package/tailwind.preset.js +3 -0
  626. package/dist/Combination-49q9aXeT.js +0 -801
  627. package/dist/Combination-49q9aXeT.js.map +0 -1
  628. package/dist/Combination-DAFZFTdA.cjs +0 -42
  629. package/dist/Combination-DAFZFTdA.cjs.map +0 -1
  630. package/dist/accordion-trigger-Bhrl2g4p.cjs +0 -2
  631. package/dist/button-BFVyxGhc.js +0 -104
  632. package/dist/button-BFVyxGhc.js.map +0 -1
  633. package/dist/button-Br8dBU5w.cjs +0 -7
  634. package/dist/button-Br8dBU5w.cjs.map +0 -1
  635. package/dist/checkbox-indicator-GNoyS6OL.cjs +0 -2
  636. package/dist/checkbox-indicator-GNoyS6OL.cjs.map +0 -1
  637. package/dist/checkbox-indicator-os50dewx.js +0 -18
  638. package/dist/checkbox-indicator-os50dewx.js.map +0 -1
  639. package/dist/checkbox-root-B9W2Y8rY.js +0 -302
  640. package/dist/checkbox-root-B9W2Y8rY.js.map +0 -1
  641. package/dist/checkbox-root-g9HcYZCP.cjs +0 -2
  642. package/dist/checkbox-root-g9HcYZCP.cjs.map +0 -1
  643. package/dist/compare-card-specs-empty-BMLUSqQL.js +0 -281
  644. package/dist/compare-card-specs-empty-BMLUSqQL.js.map +0 -1
  645. package/dist/compare-card-specs-empty-ar5CneZv.cjs +0 -2
  646. package/dist/compare-card-specs-empty-ar5CneZv.cjs.map +0 -1
  647. package/dist/components/field-error/field-error.d.ts +0 -14
  648. package/dist/components/field-error/field-error.d.ts.map +0 -1
  649. package/dist/components/field-error/index.d.ts +0 -2
  650. package/dist/components/field-error/index.d.ts.map +0 -1
  651. package/dist/components/logo/logo.d.ts +0 -32
  652. package/dist/components/logo/logo.d.ts.map +0 -1
  653. package/dist/counter-input-BJov0Fub.cjs +0 -2
  654. package/dist/counter-input-BJov0Fub.cjs.map +0 -1
  655. package/dist/counter-input-hbz8NVA1.js +0 -106
  656. package/dist/counter-input-hbz8NVA1.js.map +0 -1
  657. package/dist/dropdown-menu-node-4Pe3uXjC.js +0 -2621
  658. package/dist/dropdown-menu-node-4Pe3uXjC.js.map +0 -1
  659. package/dist/dropdown-menu-node-zOplWIzZ.cjs +0 -7
  660. package/dist/dropdown-menu-node-zOplWIzZ.cjs.map +0 -1
  661. package/dist/favorite-heart-DfzWBG3K.js.map +0 -1
  662. package/dist/favorite-heart-uZBiApM_.cjs +0 -2
  663. package/dist/favorite-heart-uZBiApM_.cjs.map +0 -1
  664. package/dist/index-BgU5ZH3M.cjs +0 -2
  665. package/dist/index-BppAzNV8.cjs +0 -6
  666. package/dist/index-Bw7_huW8.cjs +0 -2
  667. package/dist/index-Bw7_huW8.cjs.map +0 -1
  668. package/dist/index-BzgbBl8b.js +0 -83
  669. package/dist/index-BzgbBl8b.js.map +0 -1
  670. package/dist/index-CM8VpmHn.js +0 -17
  671. package/dist/index-CnXYiTkW.cjs +0 -2
  672. package/dist/index-CnXYiTkW.cjs.map +0 -1
  673. package/dist/index-Df-2-3xv.js +0 -136
  674. package/dist/index-Df-2-3xv.js.map +0 -1
  675. package/dist/logo-text-CK4vcNPY.js +0 -39
  676. package/dist/logo-text-CK4vcNPY.js.map +0 -1
  677. package/dist/logo-text-Db3yd3b1.cjs +0 -2
  678. package/dist/logo-text-Db3yd3b1.cjs.map +0 -1
  679. package/dist/product-card-label-CJmC9ICf.js.map +0 -1
  680. package/dist/product-card-label-D43AXtRL.cjs +0 -2
  681. package/dist/product-card-label-D43AXtRL.cjs.map +0 -1
  682. package/dist/product-card-skeleton-CCQkDMNl.cjs +0 -2
  683. package/dist/rating-value-CkSY9Pyr.cjs +0 -2
  684. package/dist/rating-value-CkSY9Pyr.cjs.map +0 -1
  685. package/dist/rating-value-DBtmrorI.js +0 -115
  686. package/dist/rating-value-DBtmrorI.js.map +0 -1
  687. package/dist/scroll-area-corner-Bq7PB1XK.js.map +0 -1
  688. package/dist/scroll-area-corner-DsyetkPH.cjs +0 -2
  689. package/dist/scroll-area-corner-DsyetkPH.cjs.map +0 -1
  690. package/dist/tabs-root-D3Bg29y-.cjs +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-input.cjs","sources":["../src/components/range-input/primitives/range-input-root.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type RangeInputRootProps = ComponentProps<'div'>;\n\nexport function RangeInputRoot({ className, children, ...props }: RangeInputRootProps) {\n return (\n <div\n className={cn('flex w-full items-center gap-2', className)}\n data-slot=\"range-input-root\"\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["RangeInputRoot","className","children","props","jsx","cn"],"mappings":"uJAMO,SAASA,EAAe,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAA8B,CACrF,OACEC,EAAAA,IAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,iCAAkCJ,CAAS,EACzD,YAAU,mBACT,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP"}
@@ -0,0 +1,17 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { c as e } from "./utils-CRiPKpXj.js";
3
+ function i({ className: t, children: o, ...r }) {
4
+ return /* @__PURE__ */ a(
5
+ "div",
6
+ {
7
+ className: e("flex w-full items-center gap-2", t),
8
+ "data-slot": "range-input-root",
9
+ ...r,
10
+ children: o
11
+ }
12
+ );
13
+ }
14
+ export {
15
+ i as Root
16
+ };
17
+ //# sourceMappingURL=range-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-input.js","sources":["../src/components/range-input/primitives/range-input-root.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type RangeInputRootProps = ComponentProps<'div'>;\n\nexport function RangeInputRoot({ className, children, ...props }: RangeInputRootProps) {\n return (\n <div\n className={cn('flex w-full items-center gap-2', className)}\n data-slot=\"range-input-root\"\n {...props}\n >\n {children}\n </div>\n );\n}\n"],"names":["RangeInputRoot","className","children","props","jsx","cn"],"mappings":";;AAMO,SAASA,EAAe,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAA8B;AACrF,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,kCAAkCJ,CAAS;AAAA,MACzD,aAAU;AAAA,MACT,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t=require("react/jsx-runtime"),u=require("./utils-DoxiiusW.cjs"),s=require("react"),h=s.createContext(void 0);function p({children:n,className:a,rating:e,showRating:r=!0,showTotalReviews:o=!0,totalReviews:c=0,...d}){const L=s.useRef(0),x=s.useCallback(()=>{const i=L.current;return L.current+=1,i},[]),g=s.useCallback(()=>{L.current=0},[]),m=s.useMemo(()=>{const i=Math.min(e,5),j=Array.from({length:5},(S,f)=>f<Math.floor(i)?"full":f<Math.ceil(i)?"half":"empty");return{rating:e,adjustedRating:i,stars:j,showRating:r,showTotalReviews:o,totalReviews:c,getNextStarIndex:x,resetStarIndex:g}},[e,r,o,c,x,g]);return t.jsx(h.Provider,{value:m,children:t.jsx("div",{className:u.cn("flex items-center",a),"data-slot":"rating-root",...d,children:n})})}function l(){const n=s.use(h);if(n===void 0)throw new Error("useRating must be used within a RatingRoot");return n}function R({className:n,...a}){const{stars:e,getNextStarIndex:r}=l(),o=r(),c=e[o]??"empty",d={empty:t.jsx("path",{d:"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:"0.4"}),half:t.jsxs(t.Fragment,{children:[t.jsx("path",{d:"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M10.0003 1.6665V14.8082L4.85033 17.5165L5.83366 11.7832L1.66699 7.72484L7.42533 6.88317L10.0003 1.6665Z",fill:"currentColor"})]}),full:t.jsx("path",{d:"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",fill:"currentColor",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})};return t.jsx("svg",{className:u.cn("inline-block text-[var(--rating-icon,hsl(var(--foreground)))]",n),"data-slot":"rating-star",fill:"none",height:20,viewBox:"0 0 20 20",width:20,...a,children:d[c]})}function v(){const{resetStarIndex:n}=l();return n(),t.jsx(t.Fragment,{children:[0,1,2,3,4].map(a=>t.jsx(R,{"data-slot":"rating-star"},a))})}function k({className:n,children:a,...e}){const{adjustedRating:r,showRating:o}=l();return o?t.jsxs("span",{className:u.cn("ml-2 flex text-xs font-bold leading-normal text-[var(--rating-text,hsl(var(--foreground)))]",n),"data-slot":"rating-value",...e,children:[r%1!==0?r.toFixed(1):r,a]}):null}function C({className:n,children:a,...e}){const{totalReviews:r,showTotalReviews:o}=l();return o?t.jsxs("span",{className:u.cn("ml-2 border-l border-contrast-200 pl-2 font-normal text-[var(--rating-text,hsl(var(--contrast-500)))]",n),"data-slot":"rating-total",...e,children:[r.toLocaleString()," ",r===1?"review":"reviews"]}):null}exports.RatingRoot=p;exports.RatingStar=R;exports.RatingStars=v;exports.RatingTotal=C;exports.RatingValue=k;exports.useRating=l;
2
+ //# sourceMappingURL=rating-total-BxVcB0gt.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating-total-BxVcB0gt.cjs","sources":["../src/components/rating/primitives/rating-root.tsx","../src/components/rating/primitives/rating-star.tsx","../src/components/rating/primitives/rating-stars.tsx","../src/components/rating/primitives/rating-value.tsx","../src/components/rating/primitives/rating-total.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useCallback, useMemo, useRef } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type StarType = 'empty' | 'half' | 'full';\n\ninterface RatingContext {\n rating: number;\n adjustedRating: number;\n stars: StarType[];\n showRating: boolean;\n showTotalReviews: boolean;\n totalReviews: number;\n getNextStarIndex: () => number;\n resetStarIndex: () => void;\n}\n\nconst RatingContext = createContext<RatingContext | undefined>(undefined);\n\nexport interface RatingRootProps extends ComponentProps<'div'> {\n rating: number;\n showRating?: boolean;\n showTotalReviews?: boolean;\n totalReviews?: number;\n children: ReactNode;\n}\n\nexport function RatingRoot({\n children,\n className,\n rating,\n showRating = true,\n showTotalReviews = true,\n totalReviews = 0,\n ...props\n}: RatingRootProps) {\n const starIndexRef = useRef(0);\n\n const getNextStarIndex = useCallback(() => {\n const index = starIndexRef.current;\n\n starIndexRef.current += 1;\n\n return index;\n }, []);\n\n const resetStarIndex = useCallback(() => {\n starIndexRef.current = 0;\n }, []);\n\n const contextValues = useMemo(() => {\n const adjustedRating = Math.min(rating, 5);\n\n const stars: StarType[] = Array.from({ length: 5 }, (_, index) => {\n if (index < Math.floor(adjustedRating)) return 'full';\n if (index < Math.ceil(adjustedRating)) return 'half';\n\n return 'empty';\n });\n\n return {\n rating,\n adjustedRating,\n stars,\n showRating,\n showTotalReviews,\n totalReviews,\n getNextStarIndex,\n resetStarIndex,\n };\n }, [rating, showRating, showTotalReviews, totalReviews, getNextStarIndex, resetStarIndex]);\n\n return (\n <RatingContext.Provider value={contextValues}>\n <div className={cn('flex items-center', className)} data-slot=\"rating-root\" {...props}>\n {children}\n </div>\n </RatingContext.Provider>\n );\n}\n\nexport function useRating() {\n const context = use(RatingContext);\n\n if (context === undefined) {\n throw new Error('useRating must be used within a RatingRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingStarProps = ComponentProps<'svg'>;\n\nexport function RatingStar({ className, ...props }: RatingStarProps) {\n const { stars, getNextStarIndex } = useRating();\n\n const index = getNextStarIndex();\n\n const type = stars[index] ?? 'empty';\n\n const paths = {\n empty: (\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeOpacity=\"0.4\"\n />\n ),\n half: (\n <>\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10.0003 1.6665V14.8082L4.85033 17.5165L5.83366 11.7832L1.66699 7.72484L7.42533 6.88317L10.0003 1.6665Z\"\n fill=\"currentColor\"\n />\n </>\n ),\n full: (\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ),\n };\n\n return (\n <svg\n className={cn('inline-block text-[var(--rating-icon,hsl(var(--foreground)))]', className)}\n data-slot=\"rating-star\"\n fill=\"none\"\n height={20}\n viewBox=\"0 0 20 20\"\n width={20}\n {...props}\n >\n {paths[type]}\n </svg>\n );\n}\n","'use client';\n\nimport { Star as RatingStar, useRating } from '@/components/rating';\n\nexport function RatingStars() {\n const { resetStarIndex } = useRating();\n\n resetStarIndex();\n\n return (\n <>\n {[0, 1, 2, 3, 4].map((i) => (\n <RatingStar data-slot=\"rating-star\" key={i} />\n ))}\n </>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingValueProps = ComponentProps<'span'>;\n\nexport function RatingValue({ className, children, ...props }: RatingValueProps) {\n const { adjustedRating, showRating } = useRating();\n\n if (!showRating) return null;\n\n return (\n <span\n className={cn(\n 'ml-2 flex text-xs font-bold leading-normal text-[var(--rating-text,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"rating-value\"\n {...props}\n >\n {adjustedRating % 1 !== 0 ? adjustedRating.toFixed(1) : adjustedRating}\n {children}\n </span>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingTotalProps = ComponentProps<'span'>;\n\nexport function RatingTotal({ className, children, ...props }: RatingTotalProps) {\n const { totalReviews, showTotalReviews } = useRating();\n\n if (!showTotalReviews) return null;\n\n return (\n <span\n className={cn(\n 'ml-2 border-l border-contrast-200 pl-2 font-normal text-[var(--rating-text,hsl(var(--contrast-500)))]',\n className,\n )}\n data-slot=\"rating-total\"\n {...props}\n >\n {totalReviews.toLocaleString()} {totalReviews === 1 ? 'review' : 'reviews'}\n </span>\n );\n}\n"],"names":["RatingContext","createContext","RatingRoot","children","className","rating","showRating","showTotalReviews","totalReviews","props","starIndexRef","useRef","getNextStarIndex","useCallback","index","resetStarIndex","contextValues","useMemo","adjustedRating","stars","_","cn","useRating","context","use","RatingStar","type","paths","jsx","jsxs","Fragment","RatingStars","i","RatingValue","RatingTotal"],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ import { jsx as e, jsxs as L, Fragment as m } from "react/jsx-runtime";
2
+ import { c as l } from "./utils-CRiPKpXj.js";
3
+ import { createContext as k, useRef as C, useCallback as x, useMemo as M, use as b } from "react";
4
+ const p = k(void 0);
5
+ function I({
6
+ children: t,
7
+ className: o,
8
+ rating: n,
9
+ showRating: r = !0,
10
+ showTotalReviews: a = !0,
11
+ totalReviews: i = 0,
12
+ ...u
13
+ }) {
14
+ const d = C(0), f = x(() => {
15
+ const s = d.current;
16
+ return d.current += 1, s;
17
+ }, []), g = x(() => {
18
+ d.current = 0;
19
+ }, []), v = M(() => {
20
+ const s = Math.min(n, 5), R = Array.from({ length: 5 }, (w, h) => h < Math.floor(s) ? "full" : h < Math.ceil(s) ? "half" : "empty");
21
+ return {
22
+ rating: n,
23
+ adjustedRating: s,
24
+ stars: R,
25
+ showRating: r,
26
+ showTotalReviews: a,
27
+ totalReviews: i,
28
+ getNextStarIndex: f,
29
+ resetStarIndex: g
30
+ };
31
+ }, [n, r, a, i, f, g]);
32
+ return /* @__PURE__ */ e(p.Provider, { value: v, children: /* @__PURE__ */ e("div", { className: l("flex items-center", o), "data-slot": "rating-root", ...u, children: t }) });
33
+ }
34
+ function c() {
35
+ const t = b(p);
36
+ if (t === void 0)
37
+ throw new Error("useRating must be used within a RatingRoot");
38
+ return t;
39
+ }
40
+ function j({ className: t, ...o }) {
41
+ const { stars: n, getNextStarIndex: r } = c(), a = r(), i = n[a] ?? "empty", u = {
42
+ empty: /* @__PURE__ */ e(
43
+ "path",
44
+ {
45
+ d: "M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",
46
+ stroke: "currentColor",
47
+ strokeLinecap: "round",
48
+ strokeLinejoin: "round",
49
+ strokeOpacity: "0.4"
50
+ }
51
+ ),
52
+ half: /* @__PURE__ */ L(m, { children: [
53
+ /* @__PURE__ */ e(
54
+ "path",
55
+ {
56
+ d: "M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",
57
+ stroke: "currentColor",
58
+ strokeLinecap: "round",
59
+ strokeLinejoin: "round"
60
+ }
61
+ ),
62
+ /* @__PURE__ */ e(
63
+ "path",
64
+ {
65
+ d: "M10.0003 1.6665V14.8082L4.85033 17.5165L5.83366 11.7832L1.66699 7.72484L7.42533 6.88317L10.0003 1.6665Z",
66
+ fill: "currentColor"
67
+ }
68
+ )
69
+ ] }),
70
+ full: /* @__PURE__ */ e(
71
+ "path",
72
+ {
73
+ d: "M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z",
74
+ fill: "currentColor",
75
+ stroke: "currentColor",
76
+ strokeLinecap: "round",
77
+ strokeLinejoin: "round"
78
+ }
79
+ )
80
+ };
81
+ return /* @__PURE__ */ e(
82
+ "svg",
83
+ {
84
+ className: l("inline-block text-[var(--rating-icon,hsl(var(--foreground)))]", t),
85
+ "data-slot": "rating-star",
86
+ fill: "none",
87
+ height: 20,
88
+ viewBox: "0 0 20 20",
89
+ width: 20,
90
+ ...o,
91
+ children: u[i]
92
+ }
93
+ );
94
+ }
95
+ function Z() {
96
+ const { resetStarIndex: t } = c();
97
+ return t(), /* @__PURE__ */ e(m, { children: [0, 1, 2, 3, 4].map((o) => /* @__PURE__ */ e(j, { "data-slot": "rating-star" }, o)) });
98
+ }
99
+ function V({ className: t, children: o, ...n }) {
100
+ const { adjustedRating: r, showRating: a } = c();
101
+ return a ? /* @__PURE__ */ L(
102
+ "span",
103
+ {
104
+ className: l(
105
+ "ml-2 flex text-xs font-bold leading-normal text-[var(--rating-text,hsl(var(--foreground)))]",
106
+ t
107
+ ),
108
+ "data-slot": "rating-value",
109
+ ...n,
110
+ children: [
111
+ r % 1 !== 0 ? r.toFixed(1) : r,
112
+ o
113
+ ]
114
+ }
115
+ ) : null;
116
+ }
117
+ function F({ className: t, children: o, ...n }) {
118
+ const { totalReviews: r, showTotalReviews: a } = c();
119
+ return a ? /* @__PURE__ */ L(
120
+ "span",
121
+ {
122
+ className: l(
123
+ "ml-2 border-l border-contrast-200 pl-2 font-normal text-[var(--rating-text,hsl(var(--contrast-500)))]",
124
+ t
125
+ ),
126
+ "data-slot": "rating-total",
127
+ ...n,
128
+ children: [
129
+ r.toLocaleString(),
130
+ " ",
131
+ r === 1 ? "review" : "reviews"
132
+ ]
133
+ }
134
+ ) : null;
135
+ }
136
+ export {
137
+ I as R,
138
+ j as a,
139
+ Z as b,
140
+ V as c,
141
+ F as d,
142
+ c as u
143
+ };
144
+ //# sourceMappingURL=rating-total-C_vpBVPa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating-total-C_vpBVPa.js","sources":["../src/components/rating/primitives/rating-root.tsx","../src/components/rating/primitives/rating-star.tsx","../src/components/rating/primitives/rating-stars.tsx","../src/components/rating/primitives/rating-value.tsx","../src/components/rating/primitives/rating-total.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useCallback, useMemo, useRef } from 'react';\nimport type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type StarType = 'empty' | 'half' | 'full';\n\ninterface RatingContext {\n rating: number;\n adjustedRating: number;\n stars: StarType[];\n showRating: boolean;\n showTotalReviews: boolean;\n totalReviews: number;\n getNextStarIndex: () => number;\n resetStarIndex: () => void;\n}\n\nconst RatingContext = createContext<RatingContext | undefined>(undefined);\n\nexport interface RatingRootProps extends ComponentProps<'div'> {\n rating: number;\n showRating?: boolean;\n showTotalReviews?: boolean;\n totalReviews?: number;\n children: ReactNode;\n}\n\nexport function RatingRoot({\n children,\n className,\n rating,\n showRating = true,\n showTotalReviews = true,\n totalReviews = 0,\n ...props\n}: RatingRootProps) {\n const starIndexRef = useRef(0);\n\n const getNextStarIndex = useCallback(() => {\n const index = starIndexRef.current;\n\n starIndexRef.current += 1;\n\n return index;\n }, []);\n\n const resetStarIndex = useCallback(() => {\n starIndexRef.current = 0;\n }, []);\n\n const contextValues = useMemo(() => {\n const adjustedRating = Math.min(rating, 5);\n\n const stars: StarType[] = Array.from({ length: 5 }, (_, index) => {\n if (index < Math.floor(adjustedRating)) return 'full';\n if (index < Math.ceil(adjustedRating)) return 'half';\n\n return 'empty';\n });\n\n return {\n rating,\n adjustedRating,\n stars,\n showRating,\n showTotalReviews,\n totalReviews,\n getNextStarIndex,\n resetStarIndex,\n };\n }, [rating, showRating, showTotalReviews, totalReviews, getNextStarIndex, resetStarIndex]);\n\n return (\n <RatingContext.Provider value={contextValues}>\n <div className={cn('flex items-center', className)} data-slot=\"rating-root\" {...props}>\n {children}\n </div>\n </RatingContext.Provider>\n );\n}\n\nexport function useRating() {\n const context = use(RatingContext);\n\n if (context === undefined) {\n throw new Error('useRating must be used within a RatingRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingStarProps = ComponentProps<'svg'>;\n\nexport function RatingStar({ className, ...props }: RatingStarProps) {\n const { stars, getNextStarIndex } = useRating();\n\n const index = getNextStarIndex();\n\n const type = stars[index] ?? 'empty';\n\n const paths = {\n empty: (\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeOpacity=\"0.4\"\n />\n ),\n half: (\n <>\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10.0003 1.6665V14.8082L4.85033 17.5165L5.83366 11.7832L1.66699 7.72484L7.42533 6.88317L10.0003 1.6665Z\"\n fill=\"currentColor\"\n />\n </>\n ),\n full: (\n <path\n d=\"M9.99984 1.66669L12.5748 6.88335L18.3332 7.72502L14.1665 11.7834L15.1498 17.5167L9.99984 14.8084L4.84984 17.5167L5.83317 11.7834L1.6665 7.72502L7.42484 6.88335L9.99984 1.66669Z\"\n fill=\"currentColor\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ),\n };\n\n return (\n <svg\n className={cn('inline-block text-[var(--rating-icon,hsl(var(--foreground)))]', className)}\n data-slot=\"rating-star\"\n fill=\"none\"\n height={20}\n viewBox=\"0 0 20 20\"\n width={20}\n {...props}\n >\n {paths[type]}\n </svg>\n );\n}\n","'use client';\n\nimport { Star as RatingStar, useRating } from '@/components/rating';\n\nexport function RatingStars() {\n const { resetStarIndex } = useRating();\n\n resetStarIndex();\n\n return (\n <>\n {[0, 1, 2, 3, 4].map((i) => (\n <RatingStar data-slot=\"rating-star\" key={i} />\n ))}\n </>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingValueProps = ComponentProps<'span'>;\n\nexport function RatingValue({ className, children, ...props }: RatingValueProps) {\n const { adjustedRating, showRating } = useRating();\n\n if (!showRating) return null;\n\n return (\n <span\n className={cn(\n 'ml-2 flex text-xs font-bold leading-normal text-[var(--rating-text,hsl(var(--foreground)))]',\n className,\n )}\n data-slot=\"rating-value\"\n {...props}\n >\n {adjustedRating % 1 !== 0 ? adjustedRating.toFixed(1) : adjustedRating}\n {children}\n </span>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useRating } from '@/components/rating';\nimport { cn } from '@/lib';\n\nexport type RatingTotalProps = ComponentProps<'span'>;\n\nexport function RatingTotal({ className, children, ...props }: RatingTotalProps) {\n const { totalReviews, showTotalReviews } = useRating();\n\n if (!showTotalReviews) return null;\n\n return (\n <span\n className={cn(\n 'ml-2 border-l border-contrast-200 pl-2 font-normal text-[var(--rating-text,hsl(var(--contrast-500)))]',\n className,\n )}\n data-slot=\"rating-total\"\n {...props}\n >\n {totalReviews.toLocaleString()} {totalReviews === 1 ? 'review' : 'reviews'}\n </span>\n );\n}\n"],"names":["RatingContext","createContext","RatingRoot","children","className","rating","showRating","showTotalReviews","totalReviews","props","starIndexRef","useRef","getNextStarIndex","useCallback","index","resetStarIndex","contextValues","useMemo","adjustedRating","stars","_","cn","useRating","context","use","RatingStar","type","paths","jsx","jsxs","Fragment","RatingStars","i","RatingValue","RatingTotal"],"mappings":"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"}
package/dist/rating.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./rating-value-CkSY9Pyr.cjs");exports.Root=t.RatingRoot;exports.Star=t.RatingStar;exports.Stars=t.RatingStars;exports.Value=t.RatingValue;exports.useRating=t.useRating;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./rating-total-BxVcB0gt.cjs");exports.Root=t.RatingRoot;exports.Star=t.RatingStar;exports.Stars=t.RatingStars;exports.Total=t.RatingTotal;exports.Value=t.RatingValue;exports.useRating=t.useRating;
2
2
  //# sourceMappingURL=rating.cjs.map
package/dist/rating.js CHANGED
@@ -1,9 +1,10 @@
1
- import { R as t, a as o, b as r, c as e, u } from "./rating-value-DBtmrorI.js";
1
+ import { R as t, a as o, b as r, d as e, c as u, u as R } from "./rating-total-C_vpBVPa.js";
2
2
  export {
3
3
  t as Root,
4
4
  o as Star,
5
5
  r as Stars,
6
- e as Value,
7
- u as useRating
6
+ e as Total,
7
+ u as Value,
8
+ R as useRating
8
9
  };
9
10
  //# sourceMappingURL=rating.js.map
@@ -1,2 +1,2 @@
1
- "use strict";const r=require("react/jsx-runtime"),u=require("./utils-LBH114_M.cjs"),j=require("./button-Br8dBU5w.cjs"),a=require("react");function p({className:e,children:t,...n}){return r.jsx("span",{className:u.cn("origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]",e),...n,children:t})}const R=a.createContext(void 0);function y({children:e,className:t,variant:n="underline",showLabel:o="Show more",hideLabel:s="Show less",defaultOpen:l=!1,maxHeight:i=160,...d}){const[m,b]=a.useState(l),[g,w]=a.useState(!0),c=a.useRef(null);a.useEffect(()=>{function v(){if(c.current){const _=c.current.scrollHeight;w(_>i)}}v();const x=new ResizeObserver(v);return c.current&&x.observe(c.current),()=>{x.disconnect()}},[i]);const h=a.useCallback(()=>{b(v=>!v)},[]),O=a.useMemo(()=>({isOpen:m,hasOverflow:g,variant:n,showLabel:o,hideLabel:s,maxHeight:i,contentRef:c,toggleOpen:h}),[m,g,n,o,s,i,h]);return r.jsx(R.Provider,{value:O,children:r.jsx("div",{className:u.cn("relative",t),...d,children:e})})}function f(){const e=a.use(R);if(e===void 0)throw new Error("useReveal must be used within a RevealRoot");return e}function k({children:e,className:t,...n}){const{hasOverflow:o,isOpen:s,maxHeight:l,contentRef:i}=f();return r.jsx("div",{className:u.cn(o&&!s&&"[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]","overflow-hidden",t),ref:i,style:{maxHeight:s?"none":l},...n,children:e})}function C({children:e,className:t,...n}){const{hasOverflow:o}=f();return o?r.jsx("div",{className:u.cn("flex w-full items-end pt-4",t),...n,children:e}):null}function z({children:e,className:t,...n}){const{variant:o,showLabel:s,hideLabel:l,isOpen:i,toggleOpen:d}=f();return r.jsxs(r.Fragment,{children:[o==="underline"&&r.jsx("button",{className:u.cn("group/underline text-sm focus:outline-none",t),onClick:()=>d(),type:"button",...n,children:r.jsx(p,{children:i?l:s})}),o==="button"&&r.jsx(j.Button,{className:t,onClick:()=>d(),size:"x-small",type:"button",variant:"tertiary",...n,children:i?l:s})]})}exports.AnimatedUnderline=p;exports.RevealControls=C;exports.RevealRoot=y;exports.RevealTrigger=z;exports.RevealViewport=k;exports.useReveal=f;
2
- //# sourceMappingURL=reveal-trigger-XpH07-oH.cjs.map
1
+ "use strict";const r=require("react/jsx-runtime"),u=require("./utils-DoxiiusW.cjs"),j=require("./button-ibzOCImJ.cjs"),l=require("react");function p({className:e,children:t,...n}){return r.jsx("span",{className:u.cn("origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]",e),...n,children:t})}const R=l.createContext(void 0);function k({children:e,className:t,variant:n="underline",showLabel:o="Show more",hideLabel:s="Show less",defaultOpen:a=!1,maxHeight:i=160,...d}){const[m,b]=l.useState(a),[g,w]=l.useState(!0),c=l.useRef(null);l.useEffect(()=>{function v(){if(c.current){const _=c.current.scrollHeight;w(_>i)}}v();const x=new ResizeObserver(v);return c.current&&x.observe(c.current),()=>{x.disconnect()}},[i]);const h=l.useCallback(()=>{b(v=>!v)},[]),O=l.useMemo(()=>({isOpen:m,hasOverflow:g,variant:n,showLabel:o,hideLabel:s,maxHeight:i,contentRef:c,toggleOpen:h}),[m,g,n,o,s,i,h]);return r.jsx(R.Provider,{value:O,children:r.jsx("div",{className:u.cn("relative",t),...d,children:e})})}function f(){const e=l.use(R);if(e===void 0)throw new Error("useReveal must be used within a RevealRoot");return e}function y({children:e,className:t,...n}){const{hasOverflow:o,isOpen:s,maxHeight:a,contentRef:i}=f();return r.jsx("div",{className:u.cn(o&&!s&&"[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]","overflow-hidden",t),ref:i,style:{maxHeight:s?"none":a},...n,children:e})}function C({children:e,className:t,...n}){const{hasOverflow:o}=f();return o?r.jsx("div",{className:u.cn("flex w-full items-end pt-4",t),...n,children:e}):null}function z({children:e,className:t,...n}){const{variant:o,showLabel:s,hideLabel:a,isOpen:i,toggleOpen:d}=f();return r.jsxs(r.Fragment,{children:[o==="underline"&&r.jsx("button",{className:u.cn("group/underline text-sm focus:outline-none",t),onClick:()=>d(),type:"button",...n,children:r.jsx(p,{children:i?a:s})}),o==="button"&&r.jsx(j.Button,{className:t,onClick:()=>d(),size:"x-small",type:"button",variant:"outline",...n,children:i?a:s})]})}exports.AnimatedUnderline=p;exports.RevealControls=C;exports.RevealRoot=k;exports.RevealTrigger=z;exports.RevealViewport=y;exports.useReveal=f;
2
+ //# sourceMappingURL=reveal-trigger-CCTnO9e2.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"reveal-trigger-XpH07-oH.cjs","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"tertiary\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":"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"}
1
+ {"version":3,"file":"reveal-trigger-CCTnO9e2.cjs","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { jsx as i, jsxs as _, Fragment as y } from "react/jsx-runtime";
2
- import { c } from "./utils-BOGlfttm.js";
3
- import { B as k } from "./button-BFVyxGhc.js";
1
+ import { jsx as i, jsxs as _, Fragment as k } from "react/jsx-runtime";
2
+ import { c } from "./utils-CRiPKpXj.js";
3
+ import { B as y } from "./button-W0_PtryU.js";
4
4
  import { createContext as z, useState as g, useRef as C, useEffect as N, useCallback as H, useMemo as S, use as j } from "react";
5
5
  function A({ className: e, children: t, ...n }) {
6
6
  return /* @__PURE__ */ i(
@@ -86,7 +86,7 @@ function P({ children: e, className: t, ...n }) {
86
86
  }
87
87
  function T({ children: e, className: t, ...n }) {
88
88
  const { variant: r, showLabel: a, hideLabel: s, isOpen: o, toggleOpen: u } = f();
89
- return /* @__PURE__ */ _(y, { children: [
89
+ return /* @__PURE__ */ _(k, { children: [
90
90
  r === "underline" && /* @__PURE__ */ i(
91
91
  "button",
92
92
  {
@@ -98,13 +98,13 @@ function T({ children: e, className: t, ...n }) {
98
98
  }
99
99
  ),
100
100
  r === "button" && /* @__PURE__ */ i(
101
- k,
101
+ y,
102
102
  {
103
103
  className: t,
104
104
  onClick: () => u(),
105
105
  size: "x-small",
106
106
  type: "button",
107
- variant: "tertiary",
107
+ variant: "outline",
108
108
  ...n,
109
109
  children: o ? s : a
110
110
  }
@@ -119,4 +119,4 @@ export {
119
119
  T as c,
120
120
  f as u
121
121
  };
122
- //# sourceMappingURL=reveal-trigger-C-dcymoc.js.map
122
+ //# sourceMappingURL=reveal-trigger-ScuufoFq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reveal-trigger-C-dcymoc.js","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"tertiary\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":";;;;AAoBO,SAASA,EAAkB,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAAiC;AAC3F,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;ACdA,MAAMI,IAAgBC,EAAyC,MAAS;AAWjE,SAASC,EAAW;AAAA,EACzB,UAAAN;AAAA,EACA,WAAAD;AAAA,EACA,SAAAQ,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,WAAAC,IAAY;AAAA,EACZ,aAAAC,IAAc;AAAA,EACd,WAAAC,IAAY;AAAA,EACZ,GAAGV;AACL,GAAoB;AAClB,QAAM,CAACW,GAAQC,CAAS,IAAIC,EAASJ,CAAW,GAC1C,CAACK,GAAaC,CAAc,IAAIF,EAAS,EAAI,GAE7CG,IAAaC,EAAuB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACd,aAASC,IAAc;AACrB,UAAIH,EAAW,SAAS;AACtB,cAAMI,IAAgBJ,EAAW,QAAQ;AAEzC,QAAAD,EAAeK,IAAgBV,CAAS;AAAA,MAC1C;AAAA,IACF;AAEA,IAAAS,EAAA;AAEA,UAAME,IAAiB,IAAI,eAAeF,CAAW;AAErD,WAAIH,EAAW,WACbK,EAAe,QAAQL,EAAW,OAAO,GAGpC,MAAM;AACX,MAAAK,EAAe,WAAA;AAAA,IACjB;AAAA,EACF,GAAG,CAACX,CAAS,CAAC;AAEd,QAAMY,IAAaC,EAAY,MAAM;AACnC,IAAAX,EAAU,CAACY,MAAS,CAACA,CAAI;AAAA,EAC3B,GAAG,CAAA,CAAE,GAECC,IAAgBC;AAAA,IACpB,OAAO;AAAA,MACL,QAAAf;AAAA,MACA,aAAAG;AAAA,MACA,SAAAR;AAAA,MACA,WAAAC;AAAA,MACA,WAAAC;AAAA,MACA,WAAAE;AAAA,MACA,YAAAM;AAAA,MACA,YAAAM;AAAA,IAAA;AAAA,IAEF,CAACX,GAAQG,GAAaR,GAASC,GAAWC,GAAWE,GAAWY,CAAU;AAAA,EAAA;AAG5E,2BACGnB,EAAc,UAAd,EAAuB,OAAOsB,GAC7B,UAAA,gBAAAxB,EAAC,OAAA,EAAI,WAAWC,EAAG,YAAYJ,CAAS,GAAI,GAAGE,GAC5C,UAAAD,GACH,GACF;AAEJ;AAEO,SAAS4B,IAAY;AAC1B,QAAMC,IAAUC,EAAI1B,CAAa;AAEjC,MAAIyB,MAAY;AACd,UAAM,IAAI,MAAM,4CAA4C;AAG9D,SAAOA;AACT;AC5FO,SAASE,EAAe,EAAE,UAAA/B,GAAU,WAAAD,GAAW,GAAGE,KAA8B;AACrF,QAAM,EAAE,aAAAc,GAAa,QAAAH,GAAQ,WAAAD,GAAW,YAAAM,EAAA,IAAeW,EAAA;AAEvD,SACE,gBAAA1B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTY,KACE,CAACH,KACD;AAAA,QACF;AAAA,QACAb;AAAA,MAAA;AAAA,MAEF,KAAKkB;AAAA,MACL,OAAO,EAAE,WAAWL,IAAS,SAASD,EAAA;AAAA,MACrC,GAAGV;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;ACnBO,SAASgC,EAAe,EAAE,UAAAhC,GAAU,WAAAD,GAAW,GAAGE,KAA8B;AACrF,QAAM,EAAE,aAAAc,EAAA,IAAgBa,EAAA;AAExB,SAAKb,IAGH,gBAAAb,EAAC,SAAI,WAAWC,EAAG,8BAA8BJ,CAAS,GAAI,GAAGE,GAC9D,UAAAD,GACH,IALuB;AAO3B;ACRO,SAASiC,EAAc,EAAE,UAAAjC,GAAU,WAAAD,GAAW,GAAGE,KAA6B;AACnF,QAAM,EAAE,SAAAM,GAAS,WAAAC,GAAW,WAAAC,GAAW,QAAAG,GAAQ,YAAAW,EAAA,IAAeK,EAAA;AAE9D,SACE,gBAAAM,EAAAC,GAAA,EACG,UAAA;AAAA,IAAA5B,MAAY,eACX,gBAAAL;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAG,8CAA8CJ,CAAS;AAAA,QACrE,SAAS,MAAMwB,EAAA;AAAA,QACf,MAAK;AAAA,QACJ,GAAGtB;AAAA,QAEJ,UAAA,gBAAAC,EAACJ,GAAA,EAAmB,UAAAc,IAASH,IAAYD,EAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtDD,MAAY,YACX,gBAAAL;AAAA,MAACkC;AAAA,MAAA;AAAA,QACC,WAAArC;AAAA,QACA,SAAS,MAAMwB,EAAA;AAAA,QACf,MAAK;AAAA,QACL,MAAK;AAAA,QACL,SAAQ;AAAA,QACP,GAAGtB;AAAA,QAEH,cAASQ,IAAYD;AAAA,MAAA;AAAA,IAAA;AAAA,EACxB,GAEJ;AAEJ;"}
1
+ {"version":3,"file":"reveal-trigger-ScuufoFq.js","sources":["../src/components/animated-underline/animated-underline.tsx","../src/components/reveal/primitives/reveal-root.tsx","../src/components/reveal/primitives/reveal-viewport.tsx","../src/components/reveal/primitives/reveal-controls.tsx","../src/components/reveal/primitives/reveal-trigger.tsx"],"sourcesContent":["import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type AnimatedUnderlineProps = ComponentProps<'span'> & {\n children: string;\n};\n\n/**\n * This component supports various CSS variables for theming. Here's a comprehensive list, along\n * with their default values:\n *\n * ```css\n * :root {\n * --animated-underline-hover: hsl(var(--primary));\n * --animated-underline-text: hsl(var(--foreground));\n * --animated-underline-font-family: var(--font-family-body);\n * }\n * ```\n */\nexport function AnimatedUnderline({ className, children, ...props }: AnimatedUnderlineProps) {\n return (\n <span\n className={cn(\n 'origin-left font-semibold leading-normal text-[var(--animated-underline-text,hsl(var(--foreground)))] transition-[background-size] duration-300 [background:linear-gradient(0deg,var(--animated-underline-hover,hsl(var(--primary))),var(--animated-underline-hover,hsl(var(--primary))))_no-repeat_left_bottom_/_0_2px] [font-family:var(--animated-underline-font-family,var(--font-family-body))] hover:bg-[size:100%_2px] group-focus/underline:bg-[size:100%_2px]',\n className,\n )}\n {...props}\n >\n {children}\n </span>\n );\n}\n","'use client';\n\nimport { createContext, use, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps, ReactNode, RefObject } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface RevealContext {\n isOpen: boolean;\n hasOverflow: boolean;\n variant: 'underline' | 'button';\n showLabel: string;\n hideLabel: string;\n maxHeight: number;\n contentRef: RefObject<HTMLDivElement | null>;\n toggleOpen: () => void;\n}\n\nconst RevealContext = createContext<RevealContext | undefined>(undefined);\n\nexport interface RevealRootProps extends ComponentProps<'div'> {\n variant?: 'underline' | 'button';\n showLabel?: string;\n hideLabel?: string;\n defaultOpen?: boolean;\n maxHeight?: number;\n children: ReactNode;\n}\n\nexport function RevealRoot({\n children,\n className,\n variant = 'underline',\n showLabel = 'Show more',\n hideLabel = 'Show less',\n defaultOpen = false,\n maxHeight = 160,\n ...props\n}: RevealRootProps) {\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const [hasOverflow, setHasOverflow] = useState(true);\n\n const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function checkHeight() {\n if (contentRef.current) {\n const contentHeight = contentRef.current.scrollHeight;\n\n setHasOverflow(contentHeight > maxHeight);\n }\n }\n\n checkHeight();\n\n const resizeObserver = new ResizeObserver(checkHeight);\n\n if (contentRef.current) {\n resizeObserver.observe(contentRef.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [maxHeight]);\n\n const toggleOpen = useCallback(() => {\n setIsOpen((prev) => !prev);\n }, []);\n\n const contextValues = useMemo(\n () => ({\n isOpen,\n hasOverflow,\n variant,\n showLabel,\n hideLabel,\n maxHeight,\n contentRef,\n toggleOpen,\n }),\n [isOpen, hasOverflow, variant, showLabel, hideLabel, maxHeight, toggleOpen],\n );\n\n return (\n <RevealContext.Provider value={contextValues}>\n <div className={cn('relative', className)} {...props}>\n {children}\n </div>\n </RevealContext.Provider>\n );\n}\n\nexport function useReveal() {\n const context = use(RevealContext);\n\n if (context === undefined) {\n throw new Error('useReveal must be used within a RevealRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nexport type RevealViewportProps = ComponentProps<'div'>;\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport function RevealViewport({ children, className, ...props }: RevealViewportProps) {\n const { hasOverflow, isOpen, maxHeight, contentRef } = useReveal();\n\n return (\n <div\n className={cn(\n hasOverflow &&\n !isOpen &&\n '[mask-image:linear-gradient(to_top,transparent,black_50px,black_calc(100%-50px))]',\n 'overflow-hidden',\n className,\n )}\n ref={contentRef}\n style={{ maxHeight: isOpen ? 'none' : maxHeight }}\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealControlsProps = ComponentProps<'div'>;\n\nexport function RevealControls({ children, className, ...props }: RevealControlsProps) {\n const { hasOverflow } = useReveal();\n\n if (!hasOverflow) return null;\n\n return (\n <div className={cn('flex w-full items-end pt-4', className)} {...props}>\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { AnimatedUnderline } from '@/components/animated-underline';\nimport { Button } from '@/components/button';\nimport { useReveal } from '@/components/reveal';\nimport { cn } from '@/lib';\n\nexport type RevealTriggerProps = ComponentProps<'button'>;\n\nexport function RevealTrigger({ children, className, ...props }: RevealTriggerProps) {\n const { variant, showLabel, hideLabel, isOpen, toggleOpen } = useReveal();\n\n return (\n <>\n {variant === 'underline' && (\n <button\n className={cn('group/underline text-sm focus:outline-none', className)}\n onClick={() => toggleOpen()}\n type=\"button\"\n {...props}\n >\n <AnimatedUnderline>{isOpen ? hideLabel : showLabel}</AnimatedUnderline>\n </button>\n )}\n {variant === 'button' && (\n <Button\n className={className}\n onClick={() => toggleOpen()}\n size=\"x-small\"\n type=\"button\"\n variant=\"outline\"\n {...props}\n >\n {isOpen ? hideLabel : showLabel}\n </Button>\n )}\n </>\n );\n}\n"],"names":["AnimatedUnderline","className","children","props","jsx","cn","RevealContext","createContext","RevealRoot","variant","showLabel","hideLabel","defaultOpen","maxHeight","isOpen","setIsOpen","useState","hasOverflow","setHasOverflow","contentRef","useRef","useEffect","checkHeight","contentHeight","resizeObserver","toggleOpen","useCallback","prev","contextValues","useMemo","useReveal","context","use","RevealViewport","RevealControls","RevealTrigger","jsxs","Fragment","Button"],"mappings":"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"}
package/dist/reveal.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./reveal-trigger-XpH07-oH.cjs");exports.Controls=e.RevealControls;exports.Root=e.RevealRoot;exports.Trigger=e.RevealTrigger;exports.Viewport=e.RevealViewport;exports.useReveal=e.useReveal;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./reveal-trigger-CCTnO9e2.cjs");exports.Controls=e.RevealControls;exports.Root=e.RevealRoot;exports.Trigger=e.RevealTrigger;exports.Viewport=e.RevealViewport;exports.useReveal=e.useReveal;
2
2
  //# sourceMappingURL=reveal.cjs.map
package/dist/reveal.js CHANGED
@@ -1,4 +1,4 @@
1
- import { b as s, R as e, c as r, a as t, u as R } from "./reveal-trigger-C-dcymoc.js";
1
+ import { b as s, R as e, c as r, a as t, u as R } from "./reveal-trigger-ScuufoFq.js";
2
2
  export {
3
3
  s as Controls,
4
4
  e as Root,
@@ -0,0 +1,2 @@
1
+ "use strict";const d=require("react/jsx-runtime"),A=require("./utils-DoxiiusW.cjs"),I=require("react"),L=require("./index-C9i1xBih.cjs"),M=require("./index-Bd0gQB0k.cjs"),ie=require("./index-DO-atGp-.cjs"),T=require("./index-_XxjJPRD.cjs"),C=require("./index-CzY-WZXL.cjs"),ue=require("./index-Cje7xxa1.cjs"),de=require("./index-MQ0c3ZX_.cjs"),fe=require("./index-C8ni3LLa.cjs"),P=require("./index-BqyOu62e.cjs");function he(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const c=he(I);function be(e,o){return c.useReducer((r,n)=>o[r][n]??r,e)}var $="ScrollArea",[G]=ie.createContextScope($),[ve,m]=G($),J=c.forwardRef((e,o)=>{const{__scopeScrollArea:r,type:n="hover",dir:t,scrollHideDelay:l=600,...s}=e,[a,i]=c.useState(null),[h,u]=c.useState(null),[b,f]=c.useState(null),[v,w]=c.useState(null),[y,V]=c.useState(null),[x,j]=c.useState(0),[U,D]=c.useState(0),[H,_]=c.useState(!1),[z,N]=c.useState(!1),S=T.useComposedRefs(o,R=>i(R)),p=ue.useDirection(t);return d.jsx(ve,{scope:r,type:n,dir:p,scrollHideDelay:l,scrollArea:a,viewport:h,onViewportChange:u,content:b,onContentChange:f,scrollbarX:v,onScrollbarXChange:w,scrollbarXEnabled:H,onScrollbarXEnabledChange:_,scrollbarY:y,onScrollbarYChange:V,scrollbarYEnabled:z,onScrollbarYEnabledChange:N,onCornerWidthChange:j,onCornerHeightChange:D,children:d.jsx(L.Primitive.div,{dir:p,...s,ref:S,style:{position:"relative","--radix-scroll-area-corner-width":x+"px","--radix-scroll-area-corner-height":U+"px",...e.style}})})});J.displayName=$;var K="ScrollAreaViewport",Q=c.forwardRef((e,o)=>{const{__scopeScrollArea:r,children:n,nonce:t,...l}=e,s=m(K,r),a=c.useRef(null),i=T.useComposedRefs(o,a,s.onViewportChange);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:t}),d.jsx(L.Primitive.div,{"data-radix-scroll-area-viewport":"",...l,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:d.jsx("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});Q.displayName=K;var g="ScrollAreaScrollbar",O=c.forwardRef((e,o)=>{const{forceMount:r,...n}=e,t=m(g,e.__scopeScrollArea),{onScrollbarXEnabledChange:l,onScrollbarYEnabledChange:s}=t,a=e.orientation==="horizontal";return c.useEffect(()=>(a?l(!0):s(!0),()=>{a?l(!1):s(!1)}),[a,l,s]),t.type==="hover"?d.jsx(Se,{...n,ref:o,forceMount:r}):t.type==="scroll"?d.jsx(me,{...n,ref:o,forceMount:r}):t.type==="auto"?d.jsx(Z,{...n,ref:o,forceMount:r}):t.type==="always"?d.jsx(q,{...n,ref:o}):null});O.displayName=g;var Se=c.forwardRef((e,o)=>{const{forceMount:r,...n}=e,t=m(g,e.__scopeScrollArea),[l,s]=c.useState(!1);return c.useEffect(()=>{const a=t.scrollArea;let i=0;if(a){const h=()=>{window.clearTimeout(i),s(!0)},u=()=>{i=window.setTimeout(()=>s(!1),t.scrollHideDelay)};return a.addEventListener("pointerenter",h),a.addEventListener("pointerleave",u),()=>{window.clearTimeout(i),a.removeEventListener("pointerenter",h),a.removeEventListener("pointerleave",u)}}},[t.scrollArea,t.scrollHideDelay]),d.jsx(M.Presence,{present:r||l,children:d.jsx(Z,{"data-state":l?"visible":"hidden",...n,ref:o})})}),me=c.forwardRef((e,o)=>{const{forceMount:r,...n}=e,t=m(g,e.__scopeScrollArea),l=e.orientation==="horizontal",s=Y(()=>i("SCROLL_END"),100),[a,i]=be("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return c.useEffect(()=>{if(a==="idle"){const h=window.setTimeout(()=>i("HIDE"),t.scrollHideDelay);return()=>window.clearTimeout(h)}},[a,t.scrollHideDelay,i]),c.useEffect(()=>{const h=t.viewport,u=l?"scrollLeft":"scrollTop";if(h){let b=h[u];const f=()=>{const v=h[u];b!==v&&(i("SCROLL"),s()),b=v};return h.addEventListener("scroll",f),()=>h.removeEventListener("scroll",f)}},[t.viewport,l,i,s]),d.jsx(M.Presence,{present:r||a!=="hidden",children:d.jsx(q,{"data-state":a==="hidden"?"hidden":"visible",...n,ref:o,onPointerEnter:P.composeEventHandlers(e.onPointerEnter,()=>i("POINTER_ENTER")),onPointerLeave:P.composeEventHandlers(e.onPointerLeave,()=>i("POINTER_LEAVE"))})})}),Z=c.forwardRef((e,o)=>{const r=m(g,e.__scopeScrollArea),{forceMount:n,...t}=e,[l,s]=c.useState(!1),a=e.orientation==="horizontal",i=Y(()=>{if(r.viewport){const h=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;s(a?h:u)}},10);return E(r.viewport,i),E(r.content,i),d.jsx(M.Presence,{present:n||l,children:d.jsx(q,{"data-state":l?"visible":"hidden",...t,ref:o})})}),q=c.forwardRef((e,o)=>{const{orientation:r="vertical",...n}=e,t=m(g,e.__scopeScrollArea),l=c.useRef(null),s=c.useRef(0),[a,i]=c.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),h=ne(a.viewport,a.content),u={...n,sizes:a,onSizesChange:i,hasThumb:h>0&&h<1,onThumbChange:f=>l.current=f,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:f=>s.current=f};function b(f,v){return Pe(f,s.current,a,v)}return r==="horizontal"?d.jsx(pe,{...u,ref:o,onThumbPositionChange:()=>{if(t.viewport&&l.current){const f=t.viewport.scrollLeft,v=F(f,a,t.dir);l.current.style.transform=`translate3d(${v}px, 0, 0)`}},onWheelScroll:f=>{t.viewport&&(t.viewport.scrollLeft=f)},onDragScroll:f=>{t.viewport&&(t.viewport.scrollLeft=b(f,t.dir))}}):r==="vertical"?d.jsx(we,{...u,ref:o,onThumbPositionChange:()=>{if(t.viewport&&l.current){const f=t.viewport.scrollTop,v=F(f,a);l.current.style.transform=`translate3d(0, ${v}px, 0)`}},onWheelScroll:f=>{t.viewport&&(t.viewport.scrollTop=f)},onDragScroll:f=>{t.viewport&&(t.viewport.scrollTop=b(f))}}):null}),pe=c.forwardRef((e,o)=>{const{sizes:r,onSizesChange:n,...t}=e,l=m(g,e.__scopeScrollArea),[s,a]=c.useState(),i=c.useRef(null),h=T.useComposedRefs(o,i,l.onScrollbarXChange);return c.useEffect(()=>{i.current&&a(getComputedStyle(i.current))},[i]),d.jsx(re,{"data-orientation":"horizontal",...t,ref:h,sizes:r,style:{bottom:0,left:l.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:l.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":X(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,b)=>{if(l.viewport){const f=l.viewport.scrollLeft+u.deltaX;e.onWheelScroll(f),se(f,b)&&u.preventDefault()}},onResize:()=>{i.current&&l.viewport&&s&&n({content:l.viewport.scrollWidth,viewport:l.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:k(s.paddingLeft),paddingEnd:k(s.paddingRight)}})}})}),we=c.forwardRef((e,o)=>{const{sizes:r,onSizesChange:n,...t}=e,l=m(g,e.__scopeScrollArea),[s,a]=c.useState(),i=c.useRef(null),h=T.useComposedRefs(o,i,l.onScrollbarYChange);return c.useEffect(()=>{i.current&&a(getComputedStyle(i.current))},[i]),d.jsx(re,{"data-orientation":"vertical",...t,ref:h,sizes:r,style:{top:0,right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":X(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,b)=>{if(l.viewport){const f=l.viewport.scrollTop+u.deltaY;e.onWheelScroll(f),se(f,b)&&u.preventDefault()}},onResize:()=>{i.current&&l.viewport&&s&&n({content:l.viewport.scrollHeight,viewport:l.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:k(s.paddingTop),paddingEnd:k(s.paddingBottom)}})}})}),[ge,ee]=G(g),re=c.forwardRef((e,o)=>{const{__scopeScrollArea:r,sizes:n,hasThumb:t,onThumbChange:l,onThumbPointerUp:s,onThumbPointerDown:a,onThumbPositionChange:i,onDragScroll:h,onWheelScroll:u,onResize:b,...f}=e,v=m(g,r),[w,y]=c.useState(null),V=T.useComposedRefs(o,S=>y(S)),x=c.useRef(null),j=c.useRef(""),U=v.viewport,D=n.content-n.viewport,H=C.useCallbackRef(u),_=C.useCallbackRef(i),z=Y(b,10);function N(S){if(x.current){const p=S.clientX-x.current.left,R=S.clientY-x.current.top;h({x:p,y:R})}}return c.useEffect(()=>{const S=p=>{const R=p.target;w?.contains(R)&&H(p,D)};return document.addEventListener("wheel",S,{passive:!1}),()=>document.removeEventListener("wheel",S,{passive:!1})},[U,w,D,H]),c.useEffect(_,[n,_]),E(w,z),E(v.content,z),d.jsx(ge,{scope:r,scrollbar:w,hasThumb:t,onThumbChange:C.useCallbackRef(l),onThumbPointerUp:C.useCallbackRef(s),onThumbPositionChange:_,onThumbPointerDown:C.useCallbackRef(a),children:d.jsx(L.Primitive.div,{...f,ref:V,style:{position:"absolute",...f.style},onPointerDown:P.composeEventHandlers(e.onPointerDown,S=>{S.button===0&&(S.target.setPointerCapture(S.pointerId),x.current=w.getBoundingClientRect(),j.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",v.viewport&&(v.viewport.style.scrollBehavior="auto"),N(S))}),onPointerMove:P.composeEventHandlers(e.onPointerMove,N),onPointerUp:P.composeEventHandlers(e.onPointerUp,S=>{const p=S.target;p.hasPointerCapture(S.pointerId)&&p.releasePointerCapture(S.pointerId),document.body.style.webkitUserSelect=j.current,v.viewport&&(v.viewport.style.scrollBehavior=""),x.current=null})})})}),W="ScrollAreaThumb",oe=c.forwardRef((e,o)=>{const{forceMount:r,...n}=e,t=ee(W,e.__scopeScrollArea);return d.jsx(M.Presence,{present:r||t.hasThumb,children:d.jsx(xe,{ref:o,...n})})}),xe=c.forwardRef((e,o)=>{const{__scopeScrollArea:r,style:n,...t}=e,l=m(W,r),s=ee(W,r),{onThumbPositionChange:a}=s,i=T.useComposedRefs(o,b=>s.onThumbChange(b)),h=c.useRef(void 0),u=Y(()=>{h.current&&(h.current(),h.current=void 0)},100);return c.useEffect(()=>{const b=l.viewport;if(b){const f=()=>{if(u(),!h.current){const v=Re(b,a);h.current=v,a()}};return a(),b.addEventListener("scroll",f),()=>b.removeEventListener("scroll",f)}},[l.viewport,u,a]),d.jsx(L.Primitive.div,{"data-state":s.hasThumb?"visible":"hidden",...t,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:P.composeEventHandlers(e.onPointerDownCapture,b=>{const v=b.target.getBoundingClientRect(),w=b.clientX-v.left,y=b.clientY-v.top;s.onThumbPointerDown({x:w,y})}),onPointerUp:P.composeEventHandlers(e.onPointerUp,s.onThumbPointerUp)})});oe.displayName=W;var B="ScrollAreaCorner",te=c.forwardRef((e,o)=>{const r=m(B,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?d.jsx(Ce,{...e,ref:o}):null});te.displayName=B;var Ce=c.forwardRef((e,o)=>{const{__scopeScrollArea:r,...n}=e,t=m(B,r),[l,s]=c.useState(0),[a,i]=c.useState(0),h=!!(l&&a);return E(t.scrollbarX,()=>{const u=t.scrollbarX?.offsetHeight||0;t.onCornerHeightChange(u),i(u)}),E(t.scrollbarY,()=>{const u=t.scrollbarY?.offsetWidth||0;t.onCornerWidthChange(u),s(u)}),h?d.jsx(L.Primitive.div,{...n,ref:o,style:{width:l,height:a,position:"absolute",right:t.dir==="ltr"?0:void 0,left:t.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function k(e){return e?parseInt(e,10):0}function ne(e,o){const r=e/o;return isNaN(r)?0:r}function X(e){const o=ne(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*o;return Math.max(n,18)}function Pe(e,o,r,n="ltr"){const t=X(r),l=t/2,s=o||l,a=t-s,i=r.scrollbar.paddingStart+s,h=r.scrollbar.size-r.scrollbar.paddingEnd-a,u=r.content-r.viewport,b=n==="ltr"?[0,u]:[u*-1,0];return le([i,h],b)(e)}function F(e,o,r="ltr"){const n=X(o),t=o.scrollbar.paddingStart+o.scrollbar.paddingEnd,l=o.scrollbar.size-t,s=o.content-o.viewport,a=l-n,i=r==="ltr"?[0,s]:[s*-1,0],h=fe.clamp(e,i);return le([0,s],[0,a])(h)}function le(e,o){return r=>{if(e[0]===e[1]||o[0]===o[1])return o[0];const n=(o[1]-o[0])/(e[1]-e[0]);return o[0]+n*(r-e[0])}}function se(e,o){return e>0&&e<o}var Re=(e,o=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function t(){const l={left:e.scrollLeft,top:e.scrollTop},s=r.left!==l.left,a=r.top!==l.top;(s||a)&&o(),r=l,n=window.requestAnimationFrame(t)})(),()=>window.cancelAnimationFrame(n)};function Y(e,o){const r=C.useCallbackRef(e),n=c.useRef(0);return c.useEffect(()=>()=>window.clearTimeout(n.current),[]),c.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,o)},[r,o])}function E(e,o){const r=C.useCallbackRef(o);de.useLayoutEffect2(()=>{let n=0;if(e){const t=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return t.observe(e),()=>{window.cancelAnimationFrame(n),t.unobserve(e)}}},[e,r])}var Ae=J,Ee=Q,Te=te;function ye({className:e,children:o,...r}){return d.jsx(Ae,{className:A.cn("relative overflow-hidden",e),"data-slot":"scroll-area-root",...r,children:o})}const ce=I.createContext(void 0);function _e({children:e,orientation:o="vertical",scrollHideDelay:r=500,type:n="hover"}){const t=I.useMemo(()=>({orientation:o,scrollHideDelay:r,type:n}),[o,r,n]);return d.jsx(ce.Provider,{value:t,children:e})}function ae(){const e=I.use(ce);if(e===void 0)throw new Error("useScrollArea must be used within a ScrollAreaProvider");return e}function Le({className:e,children:o,...r}){return d.jsx(Ee,{className:A.cn("size-full rounded-[inherit] transition-[color,box-shadow] focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary",e),"data-slot":"scroll-area-viewport",...r,children:o})}function je({className:e,children:o,...r}){const{orientation:n}=ae(),t="flex touch-none select-none bg-transparent p-1 transition-colors data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out-0 data-[state=visible]:fade-in-0",l="h-full w-3.5 border-l border-l-transparent",s="h-3.5 flex-col border-t border-t-transparent";return n==="both"?d.jsxs(d.Fragment,{children:[d.jsx(O,{className:A.cn(t,l,e),"data-slot":"scroll-area-vertical-scrollbar",orientation:"vertical",...r,children:o}),d.jsx(O,{className:A.cn(t,s,e),"data-slot":"scroll-area-horizontal-scrollbar",orientation:"horizontal",...r,children:o})]}):d.jsx(O,{className:A.cn(t,n==="vertical"&&l,n==="horizontal"&&s,e),"data-slot":`scroll-area-${n}-scrollbar`,orientation:n,...r,children:o})}function De({className:e,...o}){return d.jsx(oe,{className:A.cn("relative flex-1 rounded-full bg-contrast-200",e),"data-slot":"scroll-area-thumb",...o})}function He({className:e,...o}){return d.jsx(Te,{className:e,"data-slot":"scroll-area-corner",...o})}exports.ScrollAreaBar=je;exports.ScrollAreaCorner=He;exports.ScrollAreaProvider=_e;exports.ScrollAreaRoot=ye;exports.ScrollAreaThumb=De;exports.ScrollAreaViewport=Le;exports.useScrollArea=ae;
2
+ //# sourceMappingURL=scroll-area-corner-Bc4E-OBW.cjs.map