commerce-toolkit 0.4.0 → 0.6.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 (735) hide show
  1. package/dist/{Combination-BYVrsWzR.js → Combination-B_L7xrJs.js} +2 -2
  2. package/dist/{Combination-BYVrsWzR.js.map → Combination-B_L7xrJs.js.map} +1 -1
  3. package/dist/{Combination-CMyKl2HP.cjs → Combination-D7-DB-sH.cjs} +2 -2
  4. package/dist/{Combination-CMyKl2HP.cjs.map → Combination-D7-DB-sH.cjs.map} +1 -1
  5. package/dist/accordion-trigger-CpTcclGS.cjs +2 -0
  6. package/dist/accordion-trigger-CpTcclGS.cjs.map +1 -0
  7. package/dist/accordion-trigger-DFuN29lS.js +455 -0
  8. package/dist/accordion-trigger-DFuN29lS.js.map +1 -0
  9. package/dist/accordion.cjs +1 -1
  10. package/dist/accordion.js +7 -8
  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-CBXo2FqS.cjs +2 -0
  24. package/dist/blog-post-card-author-CBXo2FqS.cjs.map +1 -0
  25. package/dist/{blog-post-card-author-CD_eplIv.js → blog-post-card-author-VkGle9g8.js} +34 -28
  26. package/dist/blog-post-card-author-VkGle9g8.js.map +1 -0
  27. package/dist/blog-post-card.cjs +1 -1
  28. package/dist/blog-post-card.cjs.map +1 -1
  29. package/dist/blog-post-card.js +29 -35
  30. package/dist/blog-post-card.js.map +1 -1
  31. package/dist/button-W0_PtryU.js +106 -0
  32. package/dist/button-W0_PtryU.js.map +1 -0
  33. package/dist/button-ibzOCImJ.cjs +7 -0
  34. package/dist/button-ibzOCImJ.cjs.map +1 -0
  35. package/dist/button-radio-group.cjs +2 -0
  36. package/dist/button-radio-group.cjs.map +1 -0
  37. package/dist/button-radio-group.js +63 -0
  38. package/dist/button-radio-group.js.map +1 -0
  39. package/dist/{card-link-COguZcAK.js → card-link-C48N1y5C.js} +2 -2
  40. package/dist/{card-link-COguZcAK.js.map → card-link-C48N1y5C.js.map} +1 -1
  41. package/dist/{card-link-Dnn-M6g-.cjs → card-link-i_zrZjnx.cjs} +2 -2
  42. package/dist/{card-link-Dnn-M6g-.cjs.map → card-link-i_zrZjnx.cjs.map} +1 -1
  43. package/dist/card-radio-group.cjs +2 -0
  44. package/dist/card-radio-group.cjs.map +1 -0
  45. package/dist/card-radio-group.js +81 -0
  46. package/dist/card-radio-group.js.map +1 -0
  47. package/dist/card.cjs +1 -1
  48. package/dist/card.js +3 -3
  49. package/dist/carousel-next-C6jpZTlN.js +1480 -0
  50. package/dist/carousel-next-C6jpZTlN.js.map +1 -0
  51. package/dist/carousel-next-DEHDO98_.cjs +2 -0
  52. package/dist/{carousel-next-Co4dy8i8.cjs.map → carousel-next-DEHDO98_.cjs.map} +1 -1
  53. package/dist/carousel.cjs +1 -1
  54. package/dist/carousel.js +1 -1
  55. package/dist/category-card-link-BXoWFETv.cjs +2 -0
  56. package/dist/category-card-link-BXoWFETv.cjs.map +1 -0
  57. package/dist/category-card-link-D85RfMpf.js +186 -0
  58. package/dist/category-card-link-D85RfMpf.js.map +1 -0
  59. package/dist/category-card.cjs +1 -1
  60. package/dist/category-card.cjs.map +1 -1
  61. package/dist/category-card.js +23 -27
  62. package/dist/category-card.js.map +1 -1
  63. package/dist/checkbox-group.cjs +2 -0
  64. package/dist/checkbox-group.cjs.map +1 -0
  65. package/dist/checkbox-group.js +21 -0
  66. package/dist/checkbox-group.js.map +1 -0
  67. package/dist/checkbox-indicator-DVkOzOV6.cjs +2 -0
  68. package/dist/checkbox-indicator-DVkOzOV6.cjs.map +1 -0
  69. package/dist/checkbox-indicator-sO8XNm-j.js +296 -0
  70. package/dist/checkbox-indicator-sO8XNm-j.js.map +1 -0
  71. package/dist/checkbox.cjs +1 -1
  72. package/dist/checkbox.js +3 -5
  73. package/dist/checkbox.js.map +1 -1
  74. package/dist/{chip-button-BVG27Nve.js → chip-button-BhdyJZ5U.js} +2 -2
  75. package/dist/{chip-button-BVG27Nve.js.map → chip-button-BhdyJZ5U.js.map} +1 -1
  76. package/dist/{chip-button-B-QabGrN.cjs → chip-button-DRroMV7K.cjs} +2 -2
  77. package/dist/{chip-button-B-QabGrN.cjs.map → chip-button-DRroMV7K.cjs.map} +1 -1
  78. package/dist/chip.cjs +1 -1
  79. package/dist/chip.js +1 -1
  80. package/dist/compare-card-specs-empty-D42h8BPm.cjs +2 -0
  81. package/dist/compare-card-specs-empty-D42h8BPm.cjs.map +1 -0
  82. package/dist/compare-card-specs-empty-n4gOqNXU.js +285 -0
  83. package/dist/compare-card-specs-empty-n4gOqNXU.js.map +1 -0
  84. package/dist/compare-card.cjs +1 -1
  85. package/dist/compare-card.cjs.map +1 -1
  86. package/dist/compare-card.js +29 -30
  87. package/dist/compare-card.js.map +1 -1
  88. package/dist/{compare-drawer-remove-B6UNek1W.js → compare-drawer-remove-DqQAu7qC.js} +3 -3
  89. package/dist/{compare-drawer-remove-B6UNek1W.js.map → compare-drawer-remove-DqQAu7qC.js.map} +1 -1
  90. package/dist/{compare-drawer-remove-DcaPIOnG.cjs → compare-drawer-remove-DxYGdJay.cjs} +2 -2
  91. package/dist/{compare-drawer-remove-DcaPIOnG.cjs.map → compare-drawer-remove-DxYGdJay.cjs.map} +1 -1
  92. package/dist/compare-drawer.cjs +1 -1
  93. package/dist/compare-drawer.js +1 -1
  94. package/dist/components/accordion/accordion.d.ts +1 -2
  95. package/dist/components/accordion/accordion.d.ts.map +1 -1
  96. package/dist/components/accordion/primitives/accordion-chevron.d.ts.map +1 -1
  97. package/dist/components/accordion/primitives/accordion-content-area.d.ts.map +1 -1
  98. package/dist/components/accordion/primitives/accordion-item.d.ts.map +1 -1
  99. package/dist/components/accordion/primitives/accordion-root.d.ts +2 -10
  100. package/dist/components/accordion/primitives/accordion-root.d.ts.map +1 -1
  101. package/dist/components/accordion/primitives/accordion-title.d.ts.map +1 -1
  102. package/dist/components/accordion/primitives.d.ts +1 -1
  103. package/dist/components/accordion/primitives.d.ts.map +1 -1
  104. package/dist/components/blog-post-card/blog-post-card.d.ts +2 -1
  105. package/dist/components/blog-post-card/blog-post-card.d.ts.map +1 -1
  106. package/dist/components/blog-post-card/primitives/blog-post-card-root.d.ts +2 -1
  107. package/dist/components/blog-post-card/primitives/blog-post-card-root.d.ts.map +1 -1
  108. package/dist/components/blog-post-card/primitives/blog-post-card-skeleton.d.ts +2 -4
  109. package/dist/components/blog-post-card/primitives/blog-post-card-skeleton.d.ts.map +1 -1
  110. package/dist/components/blog-post-card/primitives/blog-post-card-thumbnail.d.ts.map +1 -1
  111. package/dist/components/button/button.d.ts +13 -13
  112. package/dist/components/button/button.d.ts.map +1 -1
  113. package/dist/components/button-link/button-link.d.ts +1 -1
  114. package/dist/components/button-link/button-link.d.ts.map +1 -1
  115. package/dist/components/button-radio-group/button-radio-group.d.ts +33 -0
  116. package/dist/components/button-radio-group/button-radio-group.d.ts.map +1 -0
  117. package/dist/components/button-radio-group/index.d.ts +3 -0
  118. package/dist/components/button-radio-group/index.d.ts.map +1 -0
  119. package/dist/components/button-radio-group/primitives/button-radio-group-item.d.ts +5 -0
  120. package/dist/components/button-radio-group/primitives/button-radio-group-item.d.ts.map +1 -0
  121. package/dist/components/button-radio-group/primitives/button-radio-group-root.d.ts +5 -0
  122. package/dist/components/button-radio-group/primitives/button-radio-group-root.d.ts.map +1 -0
  123. package/dist/components/button-radio-group/primitives.d.ts +3 -0
  124. package/dist/components/button-radio-group/primitives.d.ts.map +1 -0
  125. package/dist/components/calendar/calendar.d.ts +2 -4
  126. package/dist/components/calendar/calendar.d.ts.map +1 -1
  127. package/dist/components/card-radio-group/card-radio-group.d.ts +37 -0
  128. package/dist/components/card-radio-group/card-radio-group.d.ts.map +1 -0
  129. package/dist/components/card-radio-group/index.d.ts +3 -0
  130. package/dist/components/card-radio-group/index.d.ts.map +1 -0
  131. package/dist/components/card-radio-group/primitives/card-radio-group-image.d.ts +6 -0
  132. package/dist/components/card-radio-group/primitives/card-radio-group-image.d.ts.map +1 -0
  133. package/dist/components/card-radio-group/primitives/card-radio-group-item.d.ts +5 -0
  134. package/dist/components/card-radio-group/primitives/card-radio-group-item.d.ts.map +1 -0
  135. package/dist/components/card-radio-group/primitives/card-radio-group-label.d.ts +4 -0
  136. package/dist/components/card-radio-group/primitives/card-radio-group-label.d.ts.map +1 -0
  137. package/dist/components/card-radio-group/primitives/card-radio-group-root.d.ts +5 -0
  138. package/dist/components/card-radio-group/primitives/card-radio-group-root.d.ts.map +1 -0
  139. package/dist/components/card-radio-group/primitives/card-radio-group-thumbnail.d.ts +4 -0
  140. package/dist/components/card-radio-group/primitives/card-radio-group-thumbnail.d.ts.map +1 -0
  141. package/dist/components/card-radio-group/primitives.d.ts +6 -0
  142. package/dist/components/card-radio-group/primitives.d.ts.map +1 -0
  143. package/dist/components/carousel/primitives/carousel-controls.d.ts.map +1 -1
  144. package/dist/components/carousel/primitives/carousel-root.d.ts +1 -3
  145. package/dist/components/carousel/primitives/carousel-root.d.ts.map +1 -1
  146. package/dist/components/carousel/primitives/carousel-scrollbar.d.ts.map +1 -1
  147. package/dist/components/category-card/category-card.d.ts +2 -4
  148. package/dist/components/category-card/category-card.d.ts.map +1 -1
  149. package/dist/components/category-card/primitives/category-card-fallback.d.ts.map +1 -1
  150. package/dist/components/category-card/primitives/category-card-icon.d.ts.map +1 -1
  151. package/dist/components/category-card/primitives/category-card-image.d.ts.map +1 -1
  152. package/dist/components/category-card/primitives/category-card-link.d.ts.map +1 -1
  153. package/dist/components/category-card/primitives/category-card-overlay.d.ts.map +1 -1
  154. package/dist/components/category-card/primitives/category-card-root.d.ts +2 -14
  155. package/dist/components/category-card/primitives/category-card-root.d.ts.map +1 -1
  156. package/dist/components/category-card/primitives/category-card-skeleton.d.ts.map +1 -1
  157. package/dist/components/category-card/primitives/category-card-thumbnail.d.ts.map +1 -1
  158. package/dist/components/category-card/primitives/category-card-title.d.ts.map +1 -1
  159. package/dist/components/category-card/primitives.d.ts +1 -1
  160. package/dist/components/category-card/primitives.d.ts.map +1 -1
  161. package/dist/components/checkbox/checkbox.d.ts +5 -15
  162. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  163. package/dist/components/checkbox/primitives/checkbox-root.d.ts +2 -10
  164. package/dist/components/checkbox/primitives/checkbox-root.d.ts.map +1 -1
  165. package/dist/components/checkbox/primitives.d.ts +1 -1
  166. package/dist/components/checkbox/primitives.d.ts.map +1 -1
  167. package/dist/components/checkbox-group/checkbox-group.d.ts +16 -0
  168. package/dist/components/checkbox-group/checkbox-group.d.ts.map +1 -0
  169. package/dist/components/checkbox-group/index.d.ts +3 -0
  170. package/dist/components/checkbox-group/index.d.ts.map +1 -0
  171. package/dist/components/checkbox-group/primitives/checkbox-group-option.d.ts +4 -0
  172. package/dist/components/checkbox-group/primitives/checkbox-group-option.d.ts.map +1 -0
  173. package/dist/components/checkbox-group/primitives/checkbox-group-root.d.ts +4 -0
  174. package/dist/components/checkbox-group/primitives/checkbox-group-root.d.ts.map +1 -0
  175. package/dist/components/checkbox-group/primitives.d.ts +3 -0
  176. package/dist/components/checkbox-group/primitives.d.ts.map +1 -0
  177. package/dist/components/counter/counter.d.ts +4 -5
  178. package/dist/components/counter/counter.d.ts.map +1 -1
  179. package/dist/components/counter/primitives/counter-decrease.d.ts +1 -1
  180. package/dist/components/counter/primitives/counter-decrease.d.ts.map +1 -1
  181. package/dist/components/counter/primitives/counter-increase.d.ts +1 -1
  182. package/dist/components/counter/primitives/counter-increase.d.ts.map +1 -1
  183. package/dist/components/counter/primitives/counter-input.d.ts +1 -1
  184. package/dist/components/counter/primitives/counter-input.d.ts.map +1 -1
  185. package/dist/components/counter/primitives/counter-root.d.ts +2 -14
  186. package/dist/components/counter/primitives/counter-root.d.ts.map +1 -1
  187. package/dist/components/counter/primitives.d.ts +1 -1
  188. package/dist/components/counter/primitives.d.ts.map +1 -1
  189. package/dist/components/date-picker/date-picker.d.ts +10 -0
  190. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  191. package/dist/components/date-picker/index.d.ts +3 -0
  192. package/dist/components/date-picker/index.d.ts.map +1 -0
  193. package/dist/components/date-picker/primitives/date-picker-content.d.ts +5 -0
  194. package/dist/components/date-picker/primitives/date-picker-content.d.ts.map +1 -0
  195. package/dist/components/date-picker/primitives/date-picker-portal.d.ts +5 -0
  196. package/dist/components/date-picker/primitives/date-picker-portal.d.ts.map +1 -0
  197. package/dist/components/date-picker/primitives/date-picker-root.d.ts +5 -0
  198. package/dist/components/date-picker/primitives/date-picker-root.d.ts.map +1 -0
  199. package/dist/components/date-picker/primitives/date-picker-trigger.d.ts +5 -0
  200. package/dist/components/date-picker/primitives/date-picker-trigger.d.ts.map +1 -0
  201. package/dist/components/date-picker/primitives.d.ts +5 -0
  202. package/dist/components/date-picker/primitives.d.ts.map +1 -0
  203. package/dist/components/field/index.d.ts +2 -0
  204. package/dist/components/field/index.d.ts.map +1 -0
  205. package/dist/components/field/primitives/field-description.d.ts +4 -0
  206. package/dist/components/field/primitives/field-description.d.ts.map +1 -0
  207. package/dist/components/field/primitives/field-error.d.ts +4 -0
  208. package/dist/components/field/primitives/field-error.d.ts.map +1 -0
  209. package/dist/components/field/primitives/field-group.d.ts +4 -0
  210. package/dist/components/field/primitives/field-group.d.ts.map +1 -0
  211. package/dist/components/field/primitives/field-hint.d.ts +4 -0
  212. package/dist/components/field/primitives/field-hint.d.ts.map +1 -0
  213. package/dist/components/field/primitives/field-item.d.ts +6 -0
  214. package/dist/components/field/primitives/field-item.d.ts.map +1 -0
  215. package/dist/components/field/primitives/field-label.d.ts +4 -0
  216. package/dist/components/field/primitives/field-label.d.ts.map +1 -0
  217. package/dist/components/field/primitives/field-legend.d.ts +4 -0
  218. package/dist/components/field/primitives/field-legend.d.ts.map +1 -0
  219. package/dist/components/field/primitives/field-separator.d.ts +4 -0
  220. package/dist/components/field/primitives/field-separator.d.ts.map +1 -0
  221. package/dist/components/field/primitives/field-set.d.ts +4 -0
  222. package/dist/components/field/primitives/field-set.d.ts.map +1 -0
  223. package/dist/components/field/primitives.d.ts +10 -0
  224. package/dist/components/field/primitives.d.ts.map +1 -0
  225. package/dist/components/file-input/file-input.d.ts +27 -0
  226. package/dist/components/file-input/file-input.d.ts.map +1 -0
  227. package/dist/components/file-input/index.d.ts +3 -0
  228. package/dist/components/file-input/index.d.ts.map +1 -0
  229. package/dist/components/file-input/primitives/file-input-details.d.ts +4 -0
  230. package/dist/components/file-input/primitives/file-input-details.d.ts.map +1 -0
  231. package/dist/components/file-input/primitives/file-input-dropzone-error.d.ts +4 -0
  232. package/dist/components/file-input/primitives/file-input-dropzone-error.d.ts.map +1 -0
  233. package/dist/components/file-input/primitives/file-input-dropzone-hint.d.ts +4 -0
  234. package/dist/components/file-input/primitives/file-input-dropzone-hint.d.ts.map +1 -0
  235. package/dist/components/file-input/primitives/file-input-dropzone.d.ts +4 -0
  236. package/dist/components/file-input/primitives/file-input-dropzone.d.ts.map +1 -0
  237. package/dist/components/file-input/primitives/file-input-error.d.ts +4 -0
  238. package/dist/components/file-input/primitives/file-input-error.d.ts.map +1 -0
  239. package/dist/components/file-input/primitives/file-input-header.d.ts +4 -0
  240. package/dist/components/file-input/primitives/file-input-header.d.ts.map +1 -0
  241. package/dist/components/file-input/primitives/file-input-icon.d.ts +8 -0
  242. package/dist/components/file-input/primitives/file-input-icon.d.ts.map +1 -0
  243. package/dist/components/file-input/primitives/file-input-item.d.ts +15 -0
  244. package/dist/components/file-input/primitives/file-input-item.d.ts.map +1 -0
  245. package/dist/components/file-input/primitives/file-input-list.d.ts +10 -0
  246. package/dist/components/file-input/primitives/file-input-list.d.ts.map +1 -0
  247. package/dist/components/file-input/primitives/file-input-message.d.ts +4 -0
  248. package/dist/components/file-input/primitives/file-input-message.d.ts.map +1 -0
  249. package/dist/components/file-input/primitives/file-input-metadata.d.ts +4 -0
  250. package/dist/components/file-input/primitives/file-input-metadata.d.ts.map +1 -0
  251. package/dist/components/file-input/primitives/file-input-name.d.ts +4 -0
  252. package/dist/components/file-input/primitives/file-input-name.d.ts.map +1 -0
  253. package/dist/components/file-input/primitives/file-input-progress.d.ts +4 -0
  254. package/dist/components/file-input/primitives/file-input-progress.d.ts.map +1 -0
  255. package/dist/components/file-input/primitives/file-input-remove.d.ts +4 -0
  256. package/dist/components/file-input/primitives/file-input-remove.d.ts.map +1 -0
  257. package/dist/components/file-input/primitives/file-input-root.d.ts +40 -0
  258. package/dist/components/file-input/primitives/file-input-root.d.ts.map +1 -0
  259. package/dist/components/file-input/primitives/file-input-status.d.ts +4 -0
  260. package/dist/components/file-input/primitives/file-input-status.d.ts.map +1 -0
  261. package/dist/components/file-input/primitives/file-input-trigger.d.ts +5 -0
  262. package/dist/components/file-input/primitives/file-input-trigger.d.ts.map +1 -0
  263. package/dist/components/file-input/primitives.d.ts +18 -0
  264. package/dist/components/file-input/primitives.d.ts.map +1 -0
  265. package/dist/components/form-status/form-status.d.ts +5 -11
  266. package/dist/components/form-status/form-status.d.ts.map +1 -1
  267. package/dist/components/form-status/primitives/form-status-root.d.ts +1 -2
  268. package/dist/components/form-status/primitives/form-status-root.d.ts.map +1 -1
  269. package/dist/components/input/index.d.ts +3 -0
  270. package/dist/components/input/index.d.ts.map +1 -0
  271. package/dist/components/input/input.d.ts +18 -0
  272. package/dist/components/input/input.d.ts.map +1 -0
  273. package/dist/components/input/primitives/input-field.d.ts +4 -0
  274. package/dist/components/input/primitives/input-field.d.ts.map +1 -0
  275. package/dist/components/input/primitives/input-prepend.d.ts +4 -0
  276. package/dist/components/input/primitives/input-prepend.d.ts.map +1 -0
  277. package/dist/components/input/primitives/input-root.d.ts +6 -0
  278. package/dist/components/input/primitives/input-root.d.ts.map +1 -0
  279. package/dist/components/input/primitives.d.ts +4 -0
  280. package/dist/components/input/primitives.d.ts.map +1 -0
  281. package/dist/components/label/label.d.ts +2 -4
  282. package/dist/components/label/label.d.ts.map +1 -1
  283. package/dist/components/navigation-menu/navigation-menu.d.ts +1 -0
  284. package/dist/components/navigation-menu/navigation-menu.d.ts.map +1 -1
  285. package/dist/components/navigation-menu/primitives/navigation-menu-content.d.ts.map +1 -1
  286. package/dist/components/navigation-menu/primitives/navigation-menu-grid-column.d.ts.map +1 -1
  287. package/dist/components/navigation-menu/primitives/navigation-menu-grid-label.d.ts.map +1 -1
  288. package/dist/components/navigation-menu/primitives/navigation-menu-grid-link.d.ts.map +1 -1
  289. package/dist/components/navigation-menu/primitives/navigation-menu-grid.d.ts.map +1 -1
  290. package/dist/components/navigation-menu/primitives/navigation-menu-item.d.ts.map +1 -1
  291. package/dist/components/navigation-menu/primitives/navigation-menu-link.d.ts.map +1 -1
  292. package/dist/components/navigation-menu/primitives/navigation-menu-list.d.ts.map +1 -1
  293. package/dist/components/navigation-menu/primitives/navigation-menu-panel.d.ts.map +1 -1
  294. package/dist/components/navigation-menu/primitives/navigation-menu-root.d.ts.map +1 -1
  295. package/dist/components/navigation-menu/primitives/navigation-menu-slot.d.ts.map +1 -1
  296. package/dist/components/navigation-menu/primitives/navigation-menu-trigger.d.ts.map +1 -1
  297. package/dist/components/navigation-menu/primitives/navigation-menu-viewport.d.ts.map +1 -1
  298. package/dist/components/navigation-menu/primitives.d.ts +1 -0
  299. package/dist/components/navigation-menu/primitives.d.ts.map +1 -1
  300. package/dist/components/price/price.d.ts +1 -1
  301. package/dist/components/price/price.d.ts.map +1 -1
  302. package/dist/components/price/primitives/price-root.d.ts +2 -4
  303. package/dist/components/price/primitives/price-root.d.ts.map +1 -1
  304. package/dist/components/product-card/primitives/product-card-checkbox.d.ts.map +1 -1
  305. package/dist/components/product-card/primitives/product-card-fallback.d.ts.map +1 -1
  306. package/dist/components/product-card/primitives/product-card-image.d.ts.map +1 -1
  307. package/dist/components/product-card/primitives/product-card-label.d.ts.map +1 -1
  308. package/dist/components/product-card/primitives/product-card-link.d.ts.map +1 -1
  309. package/dist/components/product-card/primitives/product-card-price.d.ts.map +1 -1
  310. package/dist/components/product-card/primitives/product-card-root.d.ts +2 -10
  311. package/dist/components/product-card/primitives/product-card-root.d.ts.map +1 -1
  312. package/dist/components/product-card/primitives/product-card-skeleton.d.ts.map +1 -1
  313. package/dist/components/product-card/primitives/product-card-subtitle.d.ts.map +1 -1
  314. package/dist/components/product-card/primitives/product-card-thumbnail.d.ts.map +1 -1
  315. package/dist/components/product-card/primitives/product-card-title.d.ts.map +1 -1
  316. package/dist/components/product-card/primitives.d.ts +1 -1
  317. package/dist/components/product-card/primitives.d.ts.map +1 -1
  318. package/dist/components/product-card/product-card.d.ts +2 -3
  319. package/dist/components/product-card/product-card.d.ts.map +1 -1
  320. package/dist/components/radio-group/index.d.ts +3 -0
  321. package/dist/components/radio-group/index.d.ts.map +1 -0
  322. package/dist/components/radio-group/primitives/radio-group-indicator.d.ts +5 -0
  323. package/dist/components/radio-group/primitives/radio-group-indicator.d.ts.map +1 -0
  324. package/dist/components/radio-group/primitives/radio-group-item.d.ts +5 -0
  325. package/dist/components/radio-group/primitives/radio-group-item.d.ts.map +1 -0
  326. package/dist/components/radio-group/primitives/radio-group-option.d.ts +4 -0
  327. package/dist/components/radio-group/primitives/radio-group-option.d.ts.map +1 -0
  328. package/dist/components/radio-group/primitives/radio-group-root.d.ts +5 -0
  329. package/dist/components/radio-group/primitives/radio-group-root.d.ts.map +1 -0
  330. package/dist/components/radio-group/primitives.d.ts +5 -0
  331. package/dist/components/radio-group/primitives.d.ts.map +1 -0
  332. package/dist/components/radio-group/radio-group.d.ts +31 -0
  333. package/dist/components/radio-group/radio-group.d.ts.map +1 -0
  334. package/dist/components/range-input/index.d.ts +3 -0
  335. package/dist/components/range-input/index.d.ts.map +1 -0
  336. package/dist/components/range-input/primitives/range-input-root.d.ts +4 -0
  337. package/dist/components/range-input/primitives/range-input-root.d.ts.map +1 -0
  338. package/dist/components/range-input/primitives.d.ts +2 -0
  339. package/dist/components/range-input/primitives.d.ts.map +1 -0
  340. package/dist/components/range-input/range-input.d.ts +31 -0
  341. package/dist/components/range-input/range-input.d.ts.map +1 -0
  342. package/dist/components/rating/primitives/rating-root.d.ts +5 -1
  343. package/dist/components/rating/primitives/rating-root.d.ts.map +1 -1
  344. package/dist/components/rating/primitives/rating-star.d.ts.map +1 -1
  345. package/dist/components/rating/primitives/rating-total.d.ts +4 -0
  346. package/dist/components/rating/primitives/rating-total.d.ts.map +1 -0
  347. package/dist/components/rating/primitives/rating-value.d.ts +1 -1
  348. package/dist/components/rating/primitives/rating-value.d.ts.map +1 -1
  349. package/dist/components/rating/primitives.d.ts +1 -0
  350. package/dist/components/rating/primitives.d.ts.map +1 -1
  351. package/dist/components/rating/rating.d.ts +3 -1
  352. package/dist/components/rating/rating.d.ts.map +1 -1
  353. package/dist/components/select/index.d.ts +3 -0
  354. package/dist/components/select/index.d.ts.map +1 -0
  355. package/dist/components/select/primitives/select-content.d.ts +5 -0
  356. package/dist/components/select/primitives/select-content.d.ts.map +1 -0
  357. package/dist/components/select/primitives/select-icon.d.ts +5 -0
  358. package/dist/components/select/primitives/select-icon.d.ts.map +1 -0
  359. package/dist/components/select/primitives/select-item-text.d.ts +5 -0
  360. package/dist/components/select/primitives/select-item-text.d.ts.map +1 -0
  361. package/dist/components/select/primitives/select-item.d.ts +5 -0
  362. package/dist/components/select/primitives/select-item.d.ts.map +1 -0
  363. package/dist/components/select/primitives/select-portal.d.ts +5 -0
  364. package/dist/components/select/primitives/select-portal.d.ts.map +1 -0
  365. package/dist/components/select/primitives/select-root.d.ts +9 -0
  366. package/dist/components/select/primitives/select-root.d.ts.map +1 -0
  367. package/dist/components/select/primitives/select-scroll-down-button.d.ts +5 -0
  368. package/dist/components/select/primitives/select-scroll-down-button.d.ts.map +1 -0
  369. package/dist/components/select/primitives/select-scroll-up-button.d.ts +5 -0
  370. package/dist/components/select/primitives/select-scroll-up-button.d.ts.map +1 -0
  371. package/dist/components/select/primitives/select-trigger.d.ts +5 -0
  372. package/dist/components/select/primitives/select-trigger.d.ts.map +1 -0
  373. package/dist/components/select/primitives/select-value.d.ts +5 -0
  374. package/dist/components/select/primitives/select-value.d.ts.map +1 -0
  375. package/dist/components/select/primitives/select-viewport.d.ts +5 -0
  376. package/dist/components/select/primitives/select-viewport.d.ts.map +1 -0
  377. package/dist/components/select/primitives.d.ts +12 -0
  378. package/dist/components/select/primitives.d.ts.map +1 -0
  379. package/dist/components/select/select.d.ts +44 -0
  380. package/dist/components/select/select.d.ts.map +1 -0
  381. package/dist/components/swatch-radio-group/index.d.ts +3 -0
  382. package/dist/components/swatch-radio-group/index.d.ts.map +1 -0
  383. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-color.d.ts +6 -0
  384. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-color.d.ts.map +1 -0
  385. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-image.d.ts +6 -0
  386. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-image.d.ts.map +1 -0
  387. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-indicator.d.ts +4 -0
  388. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-indicator.d.ts.map +1 -0
  389. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-item.d.ts +5 -0
  390. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-item.d.ts.map +1 -0
  391. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-root.d.ts +5 -0
  392. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-root.d.ts.map +1 -0
  393. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-thumbnail.d.ts +4 -0
  394. package/dist/components/swatch-radio-group/primitives/swatch-radio-group-thumbnail.d.ts.map +1 -0
  395. package/dist/components/swatch-radio-group/primitives.d.ts +8 -0
  396. package/dist/components/swatch-radio-group/primitives.d.ts.map +1 -0
  397. package/dist/components/swatch-radio-group/swatch-radio-group.d.ts +42 -0
  398. package/dist/components/swatch-radio-group/swatch-radio-group.d.ts.map +1 -0
  399. package/dist/components/textarea/index.d.ts +2 -0
  400. package/dist/components/textarea/index.d.ts.map +1 -0
  401. package/dist/components/textarea/textarea.d.ts +4 -0
  402. package/dist/components/textarea/textarea.d.ts.map +1 -0
  403. package/dist/components/toggle-group/index.d.ts +3 -0
  404. package/dist/components/toggle-group/index.d.ts.map +1 -0
  405. package/dist/components/toggle-group/primitives/toggle-group-item.d.ts +5 -0
  406. package/dist/components/toggle-group/primitives/toggle-group-item.d.ts.map +1 -0
  407. package/dist/components/toggle-group/primitives/toggle-group-root.d.ts +5 -0
  408. package/dist/components/toggle-group/primitives/toggle-group-root.d.ts.map +1 -0
  409. package/dist/components/toggle-group/primitives.d.ts +3 -0
  410. package/dist/components/toggle-group/primitives.d.ts.map +1 -0
  411. package/dist/components/toggle-group/toggle-group.d.ts +32 -0
  412. package/dist/components/toggle-group/toggle-group.d.ts.map +1 -0
  413. package/dist/counter-input-60Nb59Nw.cjs +2 -0
  414. package/dist/counter-input-60Nb59Nw.cjs.map +1 -0
  415. package/dist/counter-input-staB16MG.js +80 -0
  416. package/dist/counter-input-staB16MG.js.map +1 -0
  417. package/dist/counter.cjs +1 -1
  418. package/dist/counter.js +2 -3
  419. package/dist/{cursor-pagination-link-BJafEeyH.cjs → cursor-pagination-link-C6otmDIa.cjs} +2 -2
  420. package/dist/{cursor-pagination-link-BJafEeyH.cjs.map → cursor-pagination-link-C6otmDIa.cjs.map} +1 -1
  421. package/dist/{cursor-pagination-link-CkZ5dwLY.js → cursor-pagination-link-CWbshIOY.js} +2 -2
  422. package/dist/{cursor-pagination-link-CkZ5dwLY.js.map → cursor-pagination-link-CWbshIOY.js.map} +1 -1
  423. package/dist/cursor-pagination.cjs +1 -1
  424. package/dist/cursor-pagination.js +4 -4
  425. package/dist/date-picker.cjs +2 -0
  426. package/dist/date-picker.cjs.map +1 -0
  427. package/dist/date-picker.js +258 -0
  428. package/dist/date-picker.js.map +1 -0
  429. package/dist/dropdown-menu-node-CAwgTGIA.cjs +7 -0
  430. package/dist/dropdown-menu-node-CAwgTGIA.cjs.map +1 -0
  431. package/dist/dropdown-menu-node-x6qIrxA6.js +1101 -0
  432. package/dist/dropdown-menu-node-x6qIrxA6.js.map +1 -0
  433. package/dist/dropdown-menu.cjs +1 -1
  434. package/dist/dropdown-menu.js +1 -1
  435. package/dist/{favorite-heart-DfzWBG3K.js → favorite-heart-DM8QjcYe.js} +17 -44
  436. package/dist/favorite-heart-DM8QjcYe.js.map +1 -0
  437. package/dist/favorite-heart-JHXkEZUQ.cjs +2 -0
  438. package/dist/favorite-heart-JHXkEZUQ.cjs.map +1 -0
  439. package/dist/favorite.cjs +1 -1
  440. package/dist/favorite.js +1 -1
  441. package/dist/field-error-D5NKv8wq.cjs +7 -0
  442. package/dist/field-error-D5NKv8wq.cjs.map +1 -0
  443. package/dist/field-error-DtlucLPM.js +150 -0
  444. package/dist/field-error-DtlucLPM.js.map +1 -0
  445. package/dist/field.cjs +2 -0
  446. package/dist/field.cjs.map +1 -0
  447. package/dist/field.js +13 -0
  448. package/dist/field.js.map +1 -0
  449. package/dist/file-input.cjs +2 -0
  450. package/dist/file-input.cjs.map +1 -0
  451. package/dist/file-input.js +625 -0
  452. package/dist/file-input.js.map +1 -0
  453. package/dist/form-status.cjs +1 -1
  454. package/dist/form-status.cjs.map +1 -1
  455. package/dist/form-status.js +22 -23
  456. package/dist/form-status.js.map +1 -1
  457. package/dist/icon.cjs +1 -1
  458. package/dist/icon.js +2 -2
  459. package/dist/{index-Cn_ZXVPF.js → index-437EL2iq.js} +2 -2
  460. package/dist/{index-Cn_ZXVPF.js.map → index-437EL2iq.js.map} +1 -1
  461. package/dist/index-B8ydIT5v.cjs +2 -0
  462. package/dist/index-B8ydIT5v.cjs.map +1 -0
  463. package/dist/index-BEcVxceo.js +235 -0
  464. package/dist/index-BEcVxceo.js.map +1 -0
  465. package/dist/{index-B_420jYs.js → index-BGQepRFJ.js} +2 -2
  466. package/dist/{index-B_420jYs.js.map → index-BGQepRFJ.js.map} +1 -1
  467. package/dist/index-BRpvnewZ.js +1541 -0
  468. package/dist/index-BRpvnewZ.js.map +1 -0
  469. package/dist/index-Baakt2Nc.js +32 -0
  470. package/dist/index-Baakt2Nc.js.map +1 -0
  471. package/dist/index-Bd0gQB0k.cjs +2 -0
  472. package/dist/index-Bd0gQB0k.cjs.map +1 -0
  473. package/dist/index-Bj4dHMqQ.cjs +2 -0
  474. package/dist/{index-BgU5ZH3M.cjs.map → index-Bj4dHMqQ.cjs.map} +1 -1
  475. package/dist/index-BpWB3aFK.js +71 -0
  476. package/dist/index-BpWB3aFK.js.map +1 -0
  477. package/dist/{index-BSyIT6yC.cjs → index-Bw3eeUEE.cjs} +2 -2
  478. package/dist/{index-BSyIT6yC.cjs.map → index-Bw3eeUEE.cjs.map} +1 -1
  479. package/dist/{index-DoAIVWjZ.js → index-BybPvee-.js} +2 -2
  480. package/dist/{index-DoAIVWjZ.js.map → index-BybPvee-.js.map} +1 -1
  481. package/dist/{index-BwVkw1mh.cjs → index-C8aODXfJ.cjs} +2 -2
  482. package/dist/{index-BwVkw1mh.cjs.map → index-C8aODXfJ.cjs.map} +1 -1
  483. package/dist/index-C8ni3LLa.cjs +2 -0
  484. package/dist/index-C8ni3LLa.cjs.map +1 -0
  485. package/dist/index-C9i1xBih.cjs +2 -0
  486. package/dist/index-C9i1xBih.cjs.map +1 -0
  487. package/dist/index-CCKe-Mpx.js +7 -0
  488. package/dist/index-CCKe-Mpx.js.map +1 -0
  489. package/dist/{index-Aj7AU26N.js → index-CFzSulqY.js} +3 -3
  490. package/dist/{index-Aj7AU26N.js.map → index-CFzSulqY.js.map} +1 -1
  491. package/dist/index-CHBN4DXC.cjs +2 -0
  492. package/dist/index-CHBN4DXC.cjs.map +1 -0
  493. package/dist/index-CfUNQctP.cjs +2 -0
  494. package/dist/index-CfUNQctP.cjs.map +1 -0
  495. package/dist/{index-9BYBSfjb.js → index-Cv867SGx.js} +2 -2
  496. package/dist/{index-9BYBSfjb.js.map → index-Cv867SGx.js.map} +1 -1
  497. package/dist/{index-DthUnpqb.js → index-D54L0mSJ.js} +18 -17
  498. package/dist/{index-DthUnpqb.js.map → index-D54L0mSJ.js.map} +1 -1
  499. package/dist/index-DFZozV_h.js +69 -0
  500. package/dist/index-DFZozV_h.js.map +1 -0
  501. package/dist/index-DO-atGp-.cjs +2 -0
  502. package/dist/index-DO-atGp-.cjs.map +1 -0
  503. package/dist/index-DYM6xIoO.js +81 -0
  504. package/dist/index-DYM6xIoO.js.map +1 -0
  505. package/dist/{index-DgGfdcU-.js → index-DbDmtVzS.js} +6 -6
  506. package/dist/{index-DgGfdcU-.js.map → index-DbDmtVzS.js.map} +1 -1
  507. package/dist/index-Dgln3ACt.cjs +6 -0
  508. package/dist/{index-CY_4_uMy.cjs.map → index-Dgln3ACt.cjs.map} +1 -1
  509. package/dist/index-DqtbJbQD.cjs +2 -0
  510. package/dist/index-DqtbJbQD.cjs.map +1 -0
  511. package/dist/index-MQ0c3ZX_.cjs +2 -0
  512. package/dist/index-MQ0c3ZX_.cjs.map +1 -0
  513. package/dist/{index-wBo-Jtto.cjs → index-VgAaryF4.cjs} +2 -2
  514. package/dist/{index-wBo-Jtto.cjs.map → index-VgAaryF4.cjs.map} +1 -1
  515. package/dist/{index-BRcWOeqw.cjs → index-WIv2ndLu.cjs} +2 -2
  516. package/dist/{index-BRcWOeqw.cjs.map → index-WIv2ndLu.cjs.map} +1 -1
  517. package/dist/index-YyKO8LfJ.js +34 -0
  518. package/dist/index-YyKO8LfJ.js.map +1 -0
  519. package/dist/index-_4V-_s4C.js +18 -0
  520. package/dist/{index-CM8VpmHn.js.map → index-_4V-_s4C.js.map} +1 -1
  521. package/dist/{index-6tKkLrHE.cjs → index-bSPhqlcX.cjs} +2 -2
  522. package/dist/{index-6tKkLrHE.cjs.map → index-bSPhqlcX.cjs.map} +1 -1
  523. package/dist/{index-CB459AZm.cjs → index-ioB9fNr9.cjs} +2 -2
  524. package/dist/{index-CB459AZm.cjs.map → index-ioB9fNr9.cjs.map} +1 -1
  525. package/dist/index-rKs9bXHr.js +7 -0
  526. package/dist/index-rKs9bXHr.js.map +1 -0
  527. package/dist/index.cjs +7 -12
  528. package/dist/index.cjs.map +1 -1
  529. package/dist/index.d.ts +1 -1
  530. package/dist/index.d.ts.map +1 -1
  531. package/dist/index.js +1317 -1338
  532. package/dist/index.js.map +1 -1
  533. package/dist/input.cjs +2 -0
  534. package/dist/input.cjs.map +1 -0
  535. package/dist/input.js +72 -0
  536. package/dist/input.js.map +1 -0
  537. package/dist/label-C2HI4Bjj.js +38 -0
  538. package/dist/label-C2HI4Bjj.js.map +1 -0
  539. package/dist/label-CP55xclp.cjs +2 -0
  540. package/dist/label-CP55xclp.cjs.map +1 -0
  541. package/dist/{logo-skeleton-CpbzziY-.cjs → logo-skeleton-DPhYgp4v.cjs} +2 -2
  542. package/dist/{logo-skeleton-CpbzziY-.cjs.map → logo-skeleton-DPhYgp4v.cjs.map} +1 -1
  543. package/dist/{logo-skeleton-CgTRdVwc.js → logo-skeleton-DSSJAa_5.js} +3 -3
  544. package/dist/{logo-skeleton-CgTRdVwc.js.map → logo-skeleton-DSSJAa_5.js.map} +1 -1
  545. package/dist/logo.cjs +1 -1
  546. package/dist/logo.js +1 -1
  547. package/dist/{modal-title-BrR2NosO.cjs → modal-title-D0y_YSeK.cjs} +2 -2
  548. package/dist/{modal-title-BrR2NosO.cjs.map → modal-title-D0y_YSeK.cjs.map} +1 -1
  549. package/dist/{modal-title-ji5CKbNn.js → modal-title-DIVsr1XZ.js} +3 -3
  550. package/dist/{modal-title-ji5CKbNn.js.map → modal-title-DIVsr1XZ.js.map} +1 -1
  551. package/dist/modal.cjs +1 -1
  552. package/dist/modal.js +1 -1
  553. package/dist/navigation-menu.cjs +1 -1
  554. package/dist/navigation-menu.cjs.map +1 -1
  555. package/dist/navigation-menu.js +277 -327
  556. package/dist/navigation-menu.js.map +1 -1
  557. package/dist/{offset-pagination-ellipsis-MCFHXB-5.cjs → offset-pagination-ellipsis-BDbVGBuP.cjs} +2 -2
  558. package/dist/{offset-pagination-ellipsis-MCFHXB-5.cjs.map → offset-pagination-ellipsis-BDbVGBuP.cjs.map} +1 -1
  559. package/dist/{offset-pagination-ellipsis-DWDhFCgW.js → offset-pagination-ellipsis-bGa7YpkD.js} +2 -2
  560. package/dist/{offset-pagination-ellipsis-DWDhFCgW.js.map → offset-pagination-ellipsis-bGa7YpkD.js.map} +1 -1
  561. package/dist/offset-pagination.cjs +1 -1
  562. package/dist/offset-pagination.js +1 -1
  563. package/dist/{price-strike-Br_Yriv9.js → price-strike-D9Pzzzkr.js} +10 -19
  564. package/dist/price-strike-D9Pzzzkr.js.map +1 -0
  565. package/dist/price-strike-DqOP577f.cjs +2 -0
  566. package/dist/price-strike-DqOP577f.cjs.map +1 -0
  567. package/dist/price.cjs +1 -1
  568. package/dist/price.js +1 -1
  569. package/dist/product-card-label-CP4yzMhB.js +244 -0
  570. package/dist/product-card-label-CP4yzMhB.js.map +1 -0
  571. package/dist/product-card-label-DHKOJFTo.cjs +2 -0
  572. package/dist/product-card-label-DHKOJFTo.cjs.map +1 -0
  573. package/dist/product-card-root-BnBOoYFY.js +27 -0
  574. package/dist/product-card-root-BnBOoYFY.js.map +1 -0
  575. package/dist/product-card-root-DNqlSx52.cjs +2 -0
  576. package/dist/product-card-root-DNqlSx52.cjs.map +1 -0
  577. package/dist/product-card-skeleton-BgN1OCwY.cjs +2 -0
  578. package/dist/product-card-skeleton-BgN1OCwY.cjs.map +1 -0
  579. package/dist/product-card-skeleton-C-xXJrKi.js +29 -0
  580. package/dist/product-card-skeleton-C-xXJrKi.js.map +1 -0
  581. package/dist/product-card.cjs +1 -1
  582. package/dist/product-card.js +19 -20
  583. package/dist/radio-group.cjs +2 -0
  584. package/dist/radio-group.cjs.map +1 -0
  585. package/dist/radio-group.js +82 -0
  586. package/dist/radio-group.js.map +1 -0
  587. package/dist/range-input.cjs +2 -0
  588. package/dist/range-input.cjs.map +1 -0
  589. package/dist/range-input.js +17 -0
  590. package/dist/range-input.js.map +1 -0
  591. package/dist/rating-total-BxVcB0gt.cjs +2 -0
  592. package/dist/rating-total-BxVcB0gt.cjs.map +1 -0
  593. package/dist/rating-total-C_vpBVPa.js +144 -0
  594. package/dist/rating-total-C_vpBVPa.js.map +1 -0
  595. package/dist/rating.cjs +1 -1
  596. package/dist/rating.js +4 -3
  597. package/dist/{reveal-trigger-XpH07-oH.cjs → reveal-trigger-CCTnO9e2.cjs} +2 -2
  598. package/dist/{reveal-trigger-XpH07-oH.cjs.map → reveal-trigger-CCTnO9e2.cjs.map} +1 -1
  599. package/dist/{reveal-trigger-C-dcymoc.js → reveal-trigger-ScuufoFq.js} +7 -7
  600. package/dist/{reveal-trigger-C-dcymoc.js.map → reveal-trigger-ScuufoFq.js.map} +1 -1
  601. package/dist/reveal.cjs +1 -1
  602. package/dist/reveal.js +1 -1
  603. package/dist/scroll-area-corner-Bc4E-OBW.cjs +2 -0
  604. package/dist/scroll-area-corner-Bc4E-OBW.cjs.map +1 -0
  605. package/dist/{scroll-area-corner-Bq7PB1XK.js → scroll-area-corner-DfIRArAE.js} +59 -59
  606. package/dist/scroll-area-corner-DfIRArAE.js.map +1 -0
  607. package/dist/scroll-area.cjs +1 -1
  608. package/dist/scroll-area.js +1 -1
  609. package/dist/select.cjs +2 -0
  610. package/dist/select.cjs.map +1 -0
  611. package/dist/select.js +991 -0
  612. package/dist/select.js.map +1 -0
  613. package/dist/{side-panel-close-DIP8gLRZ.cjs → side-panel-close-BSEnX7wo.cjs} +2 -2
  614. package/dist/{side-panel-close-DIP8gLRZ.cjs.map → side-panel-close-BSEnX7wo.cjs.map} +1 -1
  615. package/dist/{side-panel-close-BtypdE9q.js → side-panel-close-CbsiwlUW.js} +3 -3
  616. package/dist/{side-panel-close-BtypdE9q.js.map → side-panel-close-CbsiwlUW.js.map} +1 -1
  617. package/dist/side-panel.cjs +1 -1
  618. package/dist/side-panel.js +1 -1
  619. package/dist/{skeleton-box-yQLivCqg.cjs → skeleton-box-BsY5q4RG.cjs} +2 -2
  620. package/dist/{skeleton-box-yQLivCqg.cjs.map → skeleton-box-BsY5q4RG.cjs.map} +1 -1
  621. package/dist/{skeleton-box-BSzQ5f9Y.js → skeleton-box-D0XcgPLs.js} +2 -2
  622. package/dist/{skeleton-box-BSzQ5f9Y.js.map → skeleton-box-D0XcgPLs.js.map} +1 -1
  623. package/dist/{skeleton-icon-ThRjXhfU.js → skeleton-icon-Cm6f9u-Z.js} +2 -2
  624. package/dist/{skeleton-icon-ThRjXhfU.js.map → skeleton-icon-Cm6f9u-Z.js.map} +1 -1
  625. package/dist/{skeleton-icon-CCCgNtIy.cjs → skeleton-icon-o8gtDMoj.cjs} +2 -2
  626. package/dist/{skeleton-icon-CCCgNtIy.cjs.map → skeleton-icon-o8gtDMoj.cjs.map} +1 -1
  627. package/dist/{skeleton-root-DHW28LoV.js → skeleton-root-BIYF02UE.js} +2 -2
  628. package/dist/{skeleton-root-DHW28LoV.js.map → skeleton-root-BIYF02UE.js.map} +1 -1
  629. package/dist/{skeleton-root-uIgjea8b.cjs → skeleton-root-Bahq1UoM.cjs} +2 -2
  630. package/dist/{skeleton-root-uIgjea8b.cjs.map → skeleton-root-Bahq1UoM.cjs.map} +1 -1
  631. package/dist/{skeleton-text-Dd4GbnEz.js → skeleton-text-BCsnfhcU.js} +2 -2
  632. package/dist/{skeleton-text-Dd4GbnEz.js.map → skeleton-text-BCsnfhcU.js.map} +1 -1
  633. package/dist/{skeleton-text-CLzoDFvz.cjs → skeleton-text-BxefRRo2.cjs} +2 -2
  634. package/dist/{skeleton-text-CLzoDFvz.cjs.map → skeleton-text-BxefRRo2.cjs.map} +1 -1
  635. package/dist/skeleton.cjs +1 -1
  636. package/dist/skeleton.js +4 -4
  637. package/dist/swatch-radio-group.cjs +2 -0
  638. package/dist/swatch-radio-group.cjs.map +1 -0
  639. package/dist/swatch-radio-group.js +169 -0
  640. package/dist/swatch-radio-group.js.map +1 -0
  641. package/dist/{tabs-root-BmY1p2kY.js → tabs-root-BLHqpIyN.js} +19 -18
  642. package/dist/{tabs-root-BmY1p2kY.js.map → tabs-root-BLHqpIyN.js.map} +1 -1
  643. package/dist/tabs-root-DzmRz2Up.cjs +2 -0
  644. package/dist/{tabs-root-D3Bg29y-.cjs.map → tabs-root-DzmRz2Up.cjs.map} +1 -1
  645. package/dist/tabs.cjs +1 -1
  646. package/dist/tabs.js +1 -1
  647. package/dist/toggle-group.cjs +2 -0
  648. package/dist/toggle-group.cjs.map +1 -0
  649. package/dist/toggle-group.js +193 -0
  650. package/dist/toggle-group.js.map +1 -0
  651. package/dist/{utils-BOGlfttm.js → utils-CRiPKpXj.js} +2 -1
  652. package/dist/{utils-BOGlfttm.js.map → utils-CRiPKpXj.js.map} +1 -1
  653. package/dist/{utils-LBH114_M.cjs → utils-DoxiiusW.cjs} +2 -2
  654. package/dist/{utils-LBH114_M.cjs.map → utils-DoxiiusW.cjs.map} +1 -1
  655. package/package.json +124 -1
  656. package/tailwind.preset.js +3 -0
  657. package/dist/accordion-trigger-Bhrl2g4p.cjs +0 -2
  658. package/dist/accordion-trigger-Bhrl2g4p.cjs.map +0 -1
  659. package/dist/accordion-trigger-DedSFrtg.js +0 -492
  660. package/dist/accordion-trigger-DedSFrtg.js.map +0 -1
  661. package/dist/blog-post-card-author-CD_eplIv.js.map +0 -1
  662. package/dist/blog-post-card-author-D4zo7N_N.cjs +0 -2
  663. package/dist/blog-post-card-author-D4zo7N_N.cjs.map +0 -1
  664. package/dist/button-BFVyxGhc.js +0 -104
  665. package/dist/button-BFVyxGhc.js.map +0 -1
  666. package/dist/button-Br8dBU5w.cjs +0 -7
  667. package/dist/button-Br8dBU5w.cjs.map +0 -1
  668. package/dist/carousel-next-Co4dy8i8.cjs +0 -2
  669. package/dist/carousel-next-H6-vbcKz.js +0 -1495
  670. package/dist/carousel-next-H6-vbcKz.js.map +0 -1
  671. package/dist/category-card-link-BqMAG9Op.js +0 -211
  672. package/dist/category-card-link-BqMAG9Op.js.map +0 -1
  673. package/dist/category-card-link-BwSFHFcd.cjs +0 -2
  674. package/dist/category-card-link-BwSFHFcd.cjs.map +0 -1
  675. package/dist/checkbox-indicator-C9hf5wZD.js +0 -18
  676. package/dist/checkbox-indicator-C9hf5wZD.js.map +0 -1
  677. package/dist/checkbox-indicator-D3X4eolv.cjs +0 -2
  678. package/dist/checkbox-indicator-D3X4eolv.cjs.map +0 -1
  679. package/dist/checkbox-root-CFYnDr-v.js +0 -299
  680. package/dist/checkbox-root-CFYnDr-v.js.map +0 -1
  681. package/dist/checkbox-root-oz6K_T-0.cjs +0 -2
  682. package/dist/checkbox-root-oz6K_T-0.cjs.map +0 -1
  683. package/dist/compare-card-specs-empty-BMLUSqQL.js +0 -281
  684. package/dist/compare-card-specs-empty-BMLUSqQL.js.map +0 -1
  685. package/dist/compare-card-specs-empty-ar5CneZv.cjs +0 -2
  686. package/dist/compare-card-specs-empty-ar5CneZv.cjs.map +0 -1
  687. package/dist/components/field-error/field-error.d.ts +0 -14
  688. package/dist/components/field-error/field-error.d.ts.map +0 -1
  689. package/dist/components/field-error/index.d.ts +0 -2
  690. package/dist/components/field-error/index.d.ts.map +0 -1
  691. package/dist/counter-input-BJov0Fub.cjs +0 -2
  692. package/dist/counter-input-BJov0Fub.cjs.map +0 -1
  693. package/dist/counter-input-hbz8NVA1.js +0 -106
  694. package/dist/counter-input-hbz8NVA1.js.map +0 -1
  695. package/dist/dropdown-menu-node-C0Oe_nJV.cjs +0 -7
  696. package/dist/dropdown-menu-node-C0Oe_nJV.cjs.map +0 -1
  697. package/dist/dropdown-menu-node-CrYNKRZ0.js +0 -2622
  698. package/dist/dropdown-menu-node-CrYNKRZ0.js.map +0 -1
  699. package/dist/favorite-heart-DfzWBG3K.js.map +0 -1
  700. package/dist/favorite-heart-uZBiApM_.cjs +0 -2
  701. package/dist/favorite-heart-uZBiApM_.cjs.map +0 -1
  702. package/dist/index-BgU5ZH3M.cjs +0 -2
  703. package/dist/index-Bw7_huW8.cjs +0 -2
  704. package/dist/index-Bw7_huW8.cjs.map +0 -1
  705. package/dist/index-BzgbBl8b.js +0 -83
  706. package/dist/index-BzgbBl8b.js.map +0 -1
  707. package/dist/index-CM8VpmHn.js +0 -17
  708. package/dist/index-CY_4_uMy.cjs +0 -6
  709. package/dist/index-CnXYiTkW.cjs +0 -2
  710. package/dist/index-CnXYiTkW.cjs.map +0 -1
  711. package/dist/index-Df-2-3xv.js +0 -136
  712. package/dist/index-Df-2-3xv.js.map +0 -1
  713. package/dist/price-strike-Br_Yriv9.js.map +0 -1
  714. package/dist/price-strike-DD2WNPQX.cjs +0 -2
  715. package/dist/price-strike-DD2WNPQX.cjs.map +0 -1
  716. package/dist/product-card-label-B1EwGQhM.cjs +0 -2
  717. package/dist/product-card-label-B1EwGQhM.cjs.map +0 -1
  718. package/dist/product-card-label-Djn5qQC4.js +0 -312
  719. package/dist/product-card-label-Djn5qQC4.js.map +0 -1
  720. package/dist/product-card-root-4Xz4-pdL.js +0 -43
  721. package/dist/product-card-root-4Xz4-pdL.js.map +0 -1
  722. package/dist/product-card-root-BMTVhhFp.cjs +0 -2
  723. package/dist/product-card-root-BMTVhhFp.cjs.map +0 -1
  724. package/dist/product-card-skeleton-B2lGkIgo.cjs +0 -2
  725. package/dist/product-card-skeleton-B2lGkIgo.cjs.map +0 -1
  726. package/dist/product-card-skeleton-Rvy8Ocb0.js +0 -34
  727. package/dist/product-card-skeleton-Rvy8Ocb0.js.map +0 -1
  728. package/dist/rating-value-CkSY9Pyr.cjs +0 -2
  729. package/dist/rating-value-CkSY9Pyr.cjs.map +0 -1
  730. package/dist/rating-value-DBtmrorI.js +0 -115
  731. package/dist/rating-value-DBtmrorI.js.map +0 -1
  732. package/dist/scroll-area-corner-Bq7PB1XK.js.map +0 -1
  733. package/dist/scroll-area-corner-DsyetkPH.cjs +0 -2
  734. package/dist/scroll-area-corner-DsyetkPH.cjs.map +0 -1
  735. package/dist/tabs-root-D3Bg29y-.cjs +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"file":"carousel-next-H6-vbcKz.js","sources":["../node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js","../node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js","../node_modules/.pnpm/embla-carousel-react@8.6.0_react@19.2.0/node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js","../src/components/carousel/primitives/carousel-root.tsx","../src/components/carousel/primitives/carousel-viewport.tsx","../src/components/carousel/primitives/carousel-content.tsx","../src/components/carousel/primitives/carousel-item.tsx","../src/components/carousel/primitives/carousel-scrollbar.tsx","../src/components/carousel/primitives/carousel-controls.tsx","../src/components/carousel/primitives/carousel-nav.tsx","../src/components/carousel/primitives/carousel-prev.tsx","../src/components/carousel/primitives/carousel-next.tsx"],"sourcesContent":["function isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction isRecord(subject) {\n return isObject(subject) || Array.isArray(subject);\n}\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\nfunction areOptionsEqual(optionsA, optionsB) {\n const optionsAKeys = Object.keys(optionsA);\n const optionsBKeys = Object.keys(optionsB);\n if (optionsAKeys.length !== optionsBKeys.length) return false;\n const breakpointsA = JSON.stringify(Object.keys(optionsA.breakpoints || {}));\n const breakpointsB = JSON.stringify(Object.keys(optionsB.breakpoints || {}));\n if (breakpointsA !== breakpointsB) return false;\n return optionsAKeys.every(key => {\n const valueA = optionsA[key];\n const valueB = optionsB[key];\n if (typeof valueA === 'function') return `${valueA}` === `${valueB}`;\n if (!isRecord(valueA) || !isRecord(valueB)) return valueA === valueB;\n return areOptionsEqual(valueA, valueB);\n });\n}\nfunction sortAndMapPluginToOptions(plugins) {\n return plugins.concat().sort((a, b) => a.name > b.name ? 1 : -1).map(plugin => plugin.options);\n}\nfunction arePluginsEqual(pluginsA, pluginsB) {\n if (pluginsA.length !== pluginsB.length) return false;\n const optionsA = sortAndMapPluginToOptions(pluginsA);\n const optionsB = sortAndMapPluginToOptions(pluginsB);\n return optionsA.every((optionA, index) => {\n const optionB = optionsB[index];\n return areOptionsEqual(optionA, optionB);\n });\n}\n\nexport { areOptionsEqual, arePluginsEqual, canUseDOM, sortAndMapPluginToOptions };\n//# sourceMappingURL=embla-carousel-reactive-utils.esm.js.map\n","function isNumber(subject) {\n return typeof subject === 'number';\n}\nfunction isString(subject) {\n return typeof subject === 'string';\n}\nfunction isBoolean(subject) {\n return typeof subject === 'boolean';\n}\nfunction isObject(subject) {\n return Object.prototype.toString.call(subject) === '[object Object]';\n}\nfunction mathAbs(n) {\n return Math.abs(n);\n}\nfunction mathSign(n) {\n return Math.sign(n);\n}\nfunction deltaAbs(valueB, valueA) {\n return mathAbs(valueB - valueA);\n}\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (mathAbs(valueB) <= mathAbs(valueA)) return 0;\n const diff = deltaAbs(mathAbs(valueB), mathAbs(valueA));\n return mathAbs(diff / valueB);\n}\nfunction roundToTwoDecimals(num) {\n return Math.round(num * 100) / 100;\n}\nfunction arrayKeys(array) {\n return objectKeys(array).map(Number);\n}\nfunction arrayLast(array) {\n return array[arrayLastIndex(array)];\n}\nfunction arrayLastIndex(array) {\n return Math.max(0, array.length - 1);\n}\nfunction arrayIsLastIndex(array, index) {\n return index === arrayLastIndex(array);\n}\nfunction arrayFromNumber(n, startAt = 0) {\n return Array.from(Array(n), (_, i) => startAt + i);\n}\nfunction objectKeys(object) {\n return Object.keys(object);\n}\nfunction objectsMergeDeep(objectA, objectB) {\n return [objectA, objectB].reduce((mergedObjects, currentObject) => {\n objectKeys(currentObject).forEach(key => {\n const valueA = mergedObjects[key];\n const valueB = currentObject[key];\n const areObjects = isObject(valueA) && isObject(valueB);\n mergedObjects[key] = areObjects ? objectsMergeDeep(valueA, valueB) : valueB;\n });\n return mergedObjects;\n }, {});\n}\nfunction isMouseEvent(evt, ownerWindow) {\n return typeof ownerWindow.MouseEvent !== 'undefined' && evt instanceof ownerWindow.MouseEvent;\n}\n\nfunction Alignment(align, viewSize) {\n const predefined = {\n start,\n center,\n end\n };\n function start() {\n return 0;\n }\n function center(n) {\n return end(n) / 2;\n }\n function end(n) {\n return viewSize - n;\n }\n function measure(n, index) {\n if (isString(align)) return predefined[align](n);\n return align(viewSize, n, index);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction EventStore() {\n let listeners = [];\n function add(node, type, handler, options = {\n passive: true\n }) {\n let removeListener;\n if ('addEventListener' in node) {\n node.addEventListener(type, handler, options);\n removeListener = () => node.removeEventListener(type, handler, options);\n } else {\n const legacyMediaQueryList = node;\n legacyMediaQueryList.addListener(handler);\n removeListener = () => legacyMediaQueryList.removeListener(handler);\n }\n listeners.push(removeListener);\n return self;\n }\n function clear() {\n listeners = listeners.filter(remove => remove());\n }\n const self = {\n add,\n clear\n };\n return self;\n}\n\nfunction Animations(ownerDocument, ownerWindow, update, render) {\n const documentVisibleHandler = EventStore();\n const fixedTimeStep = 1000 / 60;\n let lastTimeStamp = null;\n let accumulatedTime = 0;\n let animationId = 0;\n function init() {\n documentVisibleHandler.add(ownerDocument, 'visibilitychange', () => {\n if (ownerDocument.hidden) reset();\n });\n }\n function destroy() {\n stop();\n documentVisibleHandler.clear();\n }\n function animate(timeStamp) {\n if (!animationId) return;\n if (!lastTimeStamp) {\n lastTimeStamp = timeStamp;\n update();\n update();\n }\n const timeElapsed = timeStamp - lastTimeStamp;\n lastTimeStamp = timeStamp;\n accumulatedTime += timeElapsed;\n while (accumulatedTime >= fixedTimeStep) {\n update();\n accumulatedTime -= fixedTimeStep;\n }\n const alpha = accumulatedTime / fixedTimeStep;\n render(alpha);\n if (animationId) {\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n }\n function start() {\n if (animationId) return;\n animationId = ownerWindow.requestAnimationFrame(animate);\n }\n function stop() {\n ownerWindow.cancelAnimationFrame(animationId);\n lastTimeStamp = null;\n accumulatedTime = 0;\n animationId = 0;\n }\n function reset() {\n lastTimeStamp = null;\n accumulatedTime = 0;\n }\n const self = {\n init,\n destroy,\n start,\n stop,\n update,\n render\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n const isRightToLeft = contentDirection === 'rtl';\n const isVertical = axis === 'y';\n const scroll = isVertical ? 'y' : 'x';\n const cross = isVertical ? 'x' : 'y';\n const sign = !isVertical && isRightToLeft ? -1 : 1;\n const startEdge = getStartEdge();\n const endEdge = getEndEdge();\n function measureSize(nodeRect) {\n const {\n height,\n width\n } = nodeRect;\n return isVertical ? height : width;\n }\n function getStartEdge() {\n if (isVertical) return 'top';\n return isRightToLeft ? 'right' : 'left';\n }\n function getEndEdge() {\n if (isVertical) return 'bottom';\n return isRightToLeft ? 'left' : 'right';\n }\n function direction(n) {\n return n * sign;\n }\n const self = {\n scroll,\n cross,\n startEdge,\n endEdge,\n measureSize,\n direction\n };\n return self;\n}\n\nfunction Limit(min = 0, max = 0) {\n const length = mathAbs(min - max);\n function reachedMin(n) {\n return n < min;\n }\n function reachedMax(n) {\n return n > max;\n }\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n const self = {\n length,\n max,\n min,\n constrain,\n reachedAny,\n reachedMax,\n reachedMin,\n removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n const {\n constrain\n } = Limit(0, max);\n const loopEnd = max + 1;\n let counter = withinLimit(start);\n function withinLimit(n) {\n return !loop ? constrain(n) : mathAbs((loopEnd + n) % loopEnd);\n }\n function get() {\n return counter;\n }\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n function add(n) {\n return clone().set(get() + n);\n }\n function clone() {\n return Counter(max, get(), loop);\n }\n const self = {\n get,\n set,\n add,\n clone\n };\n return self;\n}\n\nfunction DragHandler(axis, rootNode, ownerDocument, ownerWindow, target, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, baseFriction, watchDrag) {\n const {\n cross: crossAxis,\n direction\n } = axis;\n const focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n const nonPassiveEvent = {\n passive: false\n };\n const initEvents = EventStore();\n const dragEvents = EventStore();\n const goToNextThreshold = Limit(50, 225).constrain(percentOfView.measure(20));\n const snapForceBoost = {\n mouse: 300,\n touch: 400\n };\n const freeForceBoost = {\n mouse: 500,\n touch: 600\n };\n const baseSpeed = dragFree ? 43 : 25;\n let isMoving = false;\n let startScroll = 0;\n let startCross = 0;\n let pointerIsDown = false;\n let preventScroll = false;\n let preventClick = false;\n let isMouse = false;\n function init(emblaApi) {\n if (!watchDrag) return;\n function downIfAllowed(evt) {\n if (isBoolean(watchDrag) || watchDrag(emblaApi, evt)) down(evt);\n }\n const node = rootNode;\n initEvents.add(node, 'dragstart', evt => evt.preventDefault(), nonPassiveEvent).add(node, 'touchmove', () => undefined, nonPassiveEvent).add(node, 'touchend', () => undefined).add(node, 'touchstart', downIfAllowed).add(node, 'mousedown', downIfAllowed).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click, true);\n }\n function destroy() {\n initEvents.clear();\n dragEvents.clear();\n }\n function addDragEvents() {\n const node = isMouse ? ownerDocument : rootNode;\n dragEvents.add(node, 'touchmove', move, nonPassiveEvent).add(node, 'touchend', up).add(node, 'mousemove', move, nonPassiveEvent).add(node, 'mouseup', up);\n }\n function isFocusNode(node) {\n const nodeName = node.nodeName || '';\n return focusNodes.includes(nodeName);\n }\n function forceBoost() {\n const boost = dragFree ? freeForceBoost : snapForceBoost;\n const type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n function allowedForce(force, targetChanged) {\n const next = index.add(mathSign(force) * -1);\n const baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || mathAbs(force) < goToNextThreshold) return baseForce;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n function down(evt) {\n const isMouseEvt = isMouseEvent(evt, ownerWindow);\n isMouse = isMouseEvt;\n preventClick = dragFree && isMouseEvt && !evt.buttons && isMoving;\n isMoving = deltaAbs(target.get(), location.get()) >= 2;\n if (isMouseEvt && evt.button !== 0) return;\n if (isFocusNode(evt.target)) return;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n scrollBody.useFriction(0).useDuration(0);\n target.set(location);\n addDragEvents();\n startScroll = dragTracker.readPoint(evt);\n startCross = dragTracker.readPoint(evt, crossAxis);\n eventHandler.emit('pointerDown');\n }\n function move(evt) {\n const isTouchEvt = !isMouseEvent(evt, ownerWindow);\n if (isTouchEvt && evt.touches.length >= 2) return up(evt);\n const lastScroll = dragTracker.readPoint(evt);\n const lastCross = dragTracker.readPoint(evt, crossAxis);\n const diffScroll = deltaAbs(lastScroll, startScroll);\n const diffCross = deltaAbs(lastCross, startCross);\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up(evt);\n preventScroll = diffScroll > diffCross;\n if (!preventScroll) return up(evt);\n }\n const diff = dragTracker.pointerMove(evt);\n if (diffScroll > dragThreshold) preventClick = true;\n scrollBody.useFriction(0.3).useDuration(0.75);\n animation.start();\n target.add(direction(diff));\n evt.preventDefault();\n }\n function up(evt) {\n const currentLocation = scrollTarget.byDistance(0, false);\n const targetChanged = currentLocation.index !== index.get();\n const rawForce = dragTracker.pointerUp(evt) * forceBoost();\n const force = allowedForce(direction(rawForce), targetChanged);\n const forceFactor = factorAbs(rawForce, force);\n const speed = baseSpeed - 10 * forceFactor;\n const friction = baseFriction + forceFactor / 50;\n preventScroll = false;\n pointerIsDown = false;\n dragEvents.clear();\n scrollBody.useDuration(speed).useFriction(friction);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n eventHandler.emit('pointerUp');\n }\n function click(evt) {\n if (preventClick) {\n evt.stopPropagation();\n evt.preventDefault();\n preventClick = false;\n }\n }\n function pointerDown() {\n return pointerIsDown;\n }\n const self = {\n init,\n destroy,\n pointerDown\n };\n return self;\n}\n\nfunction DragTracker(axis, ownerWindow) {\n const logInterval = 170;\n let startEvent;\n let lastEvent;\n function readTime(evt) {\n return evt.timeStamp;\n }\n function readPoint(evt, evtAxis) {\n const property = evtAxis || axis.scroll;\n const coord = `client${property === 'x' ? 'X' : 'Y'}`;\n return (isMouseEvent(evt, ownerWindow) ? evt : evt.touches[0])[coord];\n }\n function pointerDown(evt) {\n startEvent = evt;\n lastEvent = evt;\n return readPoint(evt);\n }\n function pointerMove(evt) {\n const diff = readPoint(evt) - readPoint(lastEvent);\n const expired = readTime(evt) - readTime(startEvent) > logInterval;\n lastEvent = evt;\n if (expired) startEvent = evt;\n return diff;\n }\n function pointerUp(evt) {\n if (!startEvent || !lastEvent) return 0;\n const diffDrag = readPoint(lastEvent) - readPoint(startEvent);\n const diffTime = readTime(evt) - readTime(startEvent);\n const expired = readTime(evt) - readTime(lastEvent) > logInterval;\n const force = diffDrag / diffTime;\n const isFlick = diffTime && !expired && mathAbs(force) > 0.1;\n return isFlick ? force : 0;\n }\n const self = {\n pointerDown,\n pointerMove,\n pointerUp,\n readPoint\n };\n return self;\n}\n\nfunction NodeRects() {\n function measure(node) {\n const {\n offsetTop,\n offsetLeft,\n offsetWidth,\n offsetHeight\n } = node;\n const offset = {\n top: offsetTop,\n right: offsetLeft + offsetWidth,\n bottom: offsetTop + offsetHeight,\n left: offsetLeft,\n width: offsetWidth,\n height: offsetHeight\n };\n return offset;\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction PercentOfView(viewSize) {\n function measure(n) {\n return viewSize * (n / 100);\n }\n const self = {\n measure\n };\n return self;\n}\n\nfunction ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects) {\n const observeNodes = [container].concat(slides);\n let resizeObserver;\n let containerSize;\n let slideSizes = [];\n let destroyed = false;\n function readSize(node) {\n return axis.measureSize(nodeRects.measure(node));\n }\n function init(emblaApi) {\n if (!watchResize) return;\n containerSize = readSize(container);\n slideSizes = slides.map(readSize);\n function defaultCallback(entries) {\n for (const entry of entries) {\n if (destroyed) return;\n const isContainer = entry.target === container;\n const slideIndex = slides.indexOf(entry.target);\n const lastSize = isContainer ? containerSize : slideSizes[slideIndex];\n const newSize = readSize(isContainer ? container : slides[slideIndex]);\n const diffSize = mathAbs(newSize - lastSize);\n if (diffSize >= 0.5) {\n emblaApi.reInit();\n eventHandler.emit('resize');\n break;\n }\n }\n }\n resizeObserver = new ResizeObserver(entries => {\n if (isBoolean(watchResize) || watchResize(emblaApi, entries)) {\n defaultCallback(entries);\n }\n });\n ownerWindow.requestAnimationFrame(() => {\n observeNodes.forEach(node => resizeObserver.observe(node));\n });\n }\n function destroy() {\n destroyed = true;\n if (resizeObserver) resizeObserver.disconnect();\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction ScrollBody(location, offsetLocation, previousLocation, target, baseDuration, baseFriction) {\n let scrollVelocity = 0;\n let scrollDirection = 0;\n let scrollDuration = baseDuration;\n let scrollFriction = baseFriction;\n let rawLocation = location.get();\n let rawLocationPrevious = 0;\n function seek() {\n const displacement = target.get() - location.get();\n const isInstant = !scrollDuration;\n let scrollDistance = 0;\n if (isInstant) {\n scrollVelocity = 0;\n previousLocation.set(target);\n location.set(target);\n scrollDistance = displacement;\n } else {\n previousLocation.set(location);\n scrollVelocity += displacement / scrollDuration;\n scrollVelocity *= scrollFriction;\n rawLocation += scrollVelocity;\n location.add(scrollVelocity);\n scrollDistance = rawLocation - rawLocationPrevious;\n }\n scrollDirection = mathSign(scrollDistance);\n rawLocationPrevious = rawLocation;\n return self;\n }\n function settled() {\n const diff = target.get() - offsetLocation.get();\n return mathAbs(diff) < 0.001;\n }\n function duration() {\n return scrollDuration;\n }\n function direction() {\n return scrollDirection;\n }\n function velocity() {\n return scrollVelocity;\n }\n function useBaseDuration() {\n return useDuration(baseDuration);\n }\n function useBaseFriction() {\n return useFriction(baseFriction);\n }\n function useDuration(n) {\n scrollDuration = n;\n return self;\n }\n function useFriction(n) {\n scrollFriction = n;\n return self;\n }\n const self = {\n direction,\n duration,\n velocity,\n seek,\n settled,\n useBaseFriction,\n useBaseDuration,\n useFriction,\n useDuration\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody, percentOfView) {\n const pullBackThreshold = percentOfView.measure(10);\n const edgeOffsetTolerance = percentOfView.measure(50);\n const frictionLimit = Limit(0.1, 0.99);\n let disabled = false;\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n const edge = limit.reachedMin(location.get()) ? 'min' : 'max';\n const diffToEdge = mathAbs(limit[edge] - location.get());\n const diffToTarget = target.get() - location.get();\n const friction = frictionLimit.constrain(diffToEdge / edgeOffsetTolerance);\n target.subtract(diffToTarget * friction);\n if (!pointerDown && mathAbs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useDuration(25).useBaseFriction();\n }\n }\n function toggleActive(active) {\n disabled = !active;\n }\n const self = {\n shouldConstrain,\n constrain,\n toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance) {\n const scrollBounds = Limit(-contentSize + viewSize, 0);\n const snapsBounded = measureBounded();\n const scrollContainLimit = findScrollContainLimit();\n const snapsContained = measureContained();\n function usePixelTolerance(bound, snap) {\n return deltaAbs(bound, snap) <= 1;\n }\n function findScrollContainLimit() {\n const startSnap = snapsBounded[0];\n const endSnap = arrayLast(snapsBounded);\n const min = snapsBounded.lastIndexOf(startSnap);\n const max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n function measureBounded() {\n return snapsAligned.map((snapAligned, index) => {\n const {\n min,\n max\n } = scrollBounds;\n const snap = scrollBounds.constrain(snapAligned);\n const isFirst = !index;\n const isLast = arrayIsLastIndex(snapsAligned, index);\n if (isFirst) return max;\n if (isLast) return min;\n if (usePixelTolerance(min, snap)) return min;\n if (usePixelTolerance(max, snap)) return max;\n return snap;\n }).map(scrollBound => parseFloat(scrollBound.toFixed(3)));\n }\n function measureContained() {\n if (contentSize <= viewSize + pixelTolerance) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n const {\n min,\n max\n } = scrollContainLimit;\n return snapsBounded.slice(min, max);\n }\n const self = {\n snapsContained,\n scrollContainLimit\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n const max = scrollSnaps[0];\n const min = loop ? max - contentSize : arrayLast(scrollSnaps);\n const limit = Limit(min, max);\n const self = {\n limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, limit, location, vectors) {\n const jointSafety = 0.1;\n const min = limit.min + jointSafety;\n const max = limit.max + jointSafety;\n const {\n reachedMin,\n reachedMax\n } = Limit(min, max);\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n const loopDistance = contentSize * (direction * -1);\n vectors.forEach(v => v.add(loopDistance));\n }\n const self = {\n loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n const {\n max,\n length\n } = limit;\n function get(n) {\n const currentLocation = n - max;\n return length ? currentLocation / -length : 0;\n }\n const self = {\n get\n };\n return self;\n}\n\nfunction ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll) {\n const {\n startEdge,\n endEdge\n } = axis;\n const {\n groupSlides\n } = slidesToScroll;\n const alignments = measureSizes().map(alignment.measure);\n const snaps = measureUnaligned();\n const snapsAligned = measureAligned();\n function measureSizes() {\n return groupSlides(slideRects).map(rects => arrayLast(rects)[endEdge] - rects[0][startEdge]).map(mathAbs);\n }\n function measureUnaligned() {\n return slideRects.map(rect => containerRect[startEdge] - rect[startEdge]).map(snap => -mathAbs(snap));\n }\n function measureAligned() {\n return groupSlides(snaps).map(g => g[0]).map((snap, index) => snap + alignments[index]);\n }\n const self = {\n snaps,\n snapsAligned\n };\n return self;\n}\n\nfunction SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes) {\n const {\n groupSlides\n } = slidesToScroll;\n const {\n min,\n max\n } = scrollContainLimit;\n const slideRegistry = createSlideRegistry();\n function createSlideRegistry() {\n const groupedSlideIndexes = groupSlides(slideIndexes);\n const doNotContain = !containSnaps || containScroll === 'keepSnaps';\n if (scrollSnaps.length === 1) return [slideIndexes];\n if (doNotContain) return groupedSlideIndexes;\n return groupedSlideIndexes.slice(min, max).map((group, index, groups) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(groups, index);\n if (isFirst) {\n const range = arrayLast(groups[0]) + 1;\n return arrayFromNumber(range);\n }\n if (isLast) {\n const range = arrayLastIndex(slideIndexes) - arrayLast(groups)[0] + 1;\n return arrayFromNumber(range, arrayLast(groups)[0]);\n }\n return group;\n });\n }\n const self = {\n slideRegistry\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n const {\n reachedAny,\n removeOffset,\n constrain\n } = limit;\n function minDistance(distances) {\n return distances.concat().sort((a, b) => mathAbs(a) - mathAbs(b))[0];\n }\n function findTargetSnap(target) {\n const distance = loop ? removeOffset(target) : constrain(target);\n const ascDiffsToSnaps = scrollSnaps.map((snap, index) => ({\n diff: shortcut(snap - distance, 0),\n index\n })).sort((d1, d2) => mathAbs(d1.diff) - mathAbs(d2.diff));\n const {\n index\n } = ascDiffsToSnaps[0];\n return {\n index,\n distance\n };\n }\n function shortcut(target, direction) {\n const targets = [target, target + contentSize, target - contentSize];\n if (!loop) return target;\n if (!direction) return minDistance(targets);\n const matchingTargets = targets.filter(t => mathSign(t) === direction);\n if (matchingTargets.length) return minDistance(matchingTargets);\n return arrayLast(targets) - contentSize;\n }\n function byIndex(index, direction) {\n const diffToSnap = scrollSnaps[index] - targetVector.get();\n const distance = shortcut(diffToSnap, direction);\n return {\n index,\n distance\n };\n }\n function byDistance(distance, snap) {\n const target = targetVector.get() + distance;\n const {\n index,\n distance: targetSnapDistance\n } = findTargetSnap(target);\n const reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index,\n distance\n };\n const diffToSnap = scrollSnaps[index] - targetSnapDistance;\n const snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index,\n distance: snapDistance\n };\n }\n const self = {\n byDistance,\n byIndex,\n shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollBody, scrollTarget, targetVector, eventHandler) {\n function scrollTo(target) {\n const distanceDiff = target.distance;\n const indexDiff = target.index !== indexCurrent.get();\n targetVector.add(distanceDiff);\n if (distanceDiff) {\n if (scrollBody.duration()) {\n animation.start();\n } else {\n animation.update();\n animation.render(1);\n animation.update();\n }\n }\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n eventHandler.emit('select');\n }\n }\n function distance(n, snap) {\n const target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n function index(n, direction) {\n const targetIndex = indexCurrent.clone().set(n);\n const target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n const self = {\n distance,\n index\n };\n return self;\n}\n\nfunction SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus) {\n const focusListenerOptions = {\n passive: true,\n capture: true\n };\n let lastTabPressTime = 0;\n function init(emblaApi) {\n if (!watchFocus) return;\n function defaultCallback(index) {\n const nowTime = new Date().getTime();\n const diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n eventHandler.emit('slideFocusStart');\n root.scrollLeft = 0;\n const group = slideRegistry.findIndex(group => group.includes(index));\n if (!isNumber(group)) return;\n scrollBody.useDuration(0);\n scrollTo.index(group, 0);\n eventHandler.emit('slideFocus');\n }\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach((slide, slideIndex) => {\n eventStore.add(slide, 'focus', evt => {\n if (isBoolean(watchFocus) || watchFocus(emblaApi, evt)) {\n defaultCallback(slideIndex);\n }\n }, focusListenerOptions);\n });\n }\n function registerTabPress(event) {\n if (event.code === 'Tab') lastTabPressTime = new Date().getTime();\n }\n const self = {\n init\n };\n return self;\n}\n\nfunction Vector1D(initialValue) {\n let value = initialValue;\n function get() {\n return value;\n }\n function set(n) {\n value = normalizeInput(n);\n }\n function add(n) {\n value += normalizeInput(n);\n }\n function subtract(n) {\n value -= normalizeInput(n);\n }\n function normalizeInput(n) {\n return isNumber(n) ? n : n.get();\n }\n const self = {\n get,\n set,\n add,\n subtract\n };\n return self;\n}\n\nfunction Translate(axis, container) {\n const translate = axis.scroll === 'x' ? x : y;\n const containerStyle = container.style;\n let previousTarget = null;\n let disabled = false;\n function x(n) {\n return `translate3d(${n}px,0px,0px)`;\n }\n function y(n) {\n return `translate3d(0px,${n}px,0px)`;\n }\n function to(target) {\n if (disabled) return;\n const newTarget = roundToTwoDecimals(axis.direction(target));\n if (newTarget === previousTarget) return;\n containerStyle.transform = translate(newTarget);\n previousTarget = newTarget;\n }\n function toggleActive(active) {\n disabled = !active;\n }\n function clear() {\n if (disabled) return;\n containerStyle.transform = '';\n if (!container.getAttribute('style')) container.removeAttribute('style');\n }\n const self = {\n clear,\n to,\n toggleActive\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, location, slides) {\n const roundingSafety = 0.5;\n const ascItems = arrayKeys(slideSizesWithGaps);\n const descItems = arrayKeys(slideSizesWithGaps).reverse();\n const loopPoints = startPoints().concat(endPoints());\n function removeSlideSizes(indexes, from) {\n return indexes.reduce((a, i) => {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n function slidesInGap(indexes, gap) {\n return indexes.reduce((a, i) => {\n const remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n function findSlideBounds(offset) {\n return snaps.map((snap, index) => ({\n start: snap - slideSizes[index] + roundingSafety + offset,\n end: snap + viewSize - roundingSafety + offset\n }));\n }\n function findLoopPoints(indexes, offset, isEndEdge) {\n const slideBounds = findSlideBounds(offset);\n return indexes.map(index => {\n const initial = isEndEdge ? 0 : -contentSize;\n const altered = isEndEdge ? contentSize : 0;\n const boundEdge = isEndEdge ? 'end' : 'start';\n const loopPoint = slideBounds[index][boundEdge];\n return {\n index,\n loopPoint,\n slideLocation: Vector1D(-1),\n translate: Translate(axis, slides[index]),\n target: () => location.get() > loopPoint ? initial : altered\n };\n });\n }\n function startPoints() {\n const gap = scrollSnaps[0];\n const indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, contentSize, false);\n }\n function endPoints() {\n const gap = viewSize - scrollSnaps[0] - 1;\n const indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, -contentSize, true);\n }\n function canLoop() {\n return loopPoints.every(({\n index\n }) => {\n const otherIndexes = ascItems.filter(i => i !== index);\n return removeSlideSizes(otherIndexes, viewSize) <= 0.1;\n });\n }\n function loop() {\n loopPoints.forEach(loopPoint => {\n const {\n target,\n translate,\n slideLocation\n } = loopPoint;\n const shiftLocation = target();\n if (shiftLocation === slideLocation.get()) return;\n translate.to(shiftLocation);\n slideLocation.set(shiftLocation);\n });\n }\n function clear() {\n loopPoints.forEach(loopPoint => loopPoint.translate.clear());\n }\n const self = {\n canLoop,\n clear,\n loop,\n loopPoints\n };\n return self;\n}\n\nfunction SlidesHandler(container, eventHandler, watchSlides) {\n let mutationObserver;\n let destroyed = false;\n function init(emblaApi) {\n if (!watchSlides) return;\n function defaultCallback(mutations) {\n for (const mutation of mutations) {\n if (mutation.type === 'childList') {\n emblaApi.reInit();\n eventHandler.emit('slidesChanged');\n break;\n }\n }\n }\n mutationObserver = new MutationObserver(mutations => {\n if (destroyed) return;\n if (isBoolean(watchSlides) || watchSlides(emblaApi, mutations)) {\n defaultCallback(mutations);\n }\n });\n mutationObserver.observe(container, {\n childList: true\n });\n }\n function destroy() {\n if (mutationObserver) mutationObserver.disconnect();\n destroyed = true;\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction SlidesInView(container, slides, eventHandler, threshold) {\n const intersectionEntryMap = {};\n let inViewCache = null;\n let notInViewCache = null;\n let intersectionObserver;\n let destroyed = false;\n function init() {\n intersectionObserver = new IntersectionObserver(entries => {\n if (destroyed) return;\n entries.forEach(entry => {\n const index = slides.indexOf(entry.target);\n intersectionEntryMap[index] = entry;\n });\n inViewCache = null;\n notInViewCache = null;\n eventHandler.emit('slidesInView');\n }, {\n root: container.parentElement,\n threshold\n });\n slides.forEach(slide => intersectionObserver.observe(slide));\n }\n function destroy() {\n if (intersectionObserver) intersectionObserver.disconnect();\n destroyed = true;\n }\n function createInViewList(inView) {\n return objectKeys(intersectionEntryMap).reduce((list, slideIndex) => {\n const index = parseInt(slideIndex);\n const {\n isIntersecting\n } = intersectionEntryMap[index];\n const inViewMatch = inView && isIntersecting;\n const notInViewMatch = !inView && !isIntersecting;\n if (inViewMatch || notInViewMatch) list.push(index);\n return list;\n }, []);\n }\n function get(inView = true) {\n if (inView && inViewCache) return inViewCache;\n if (!inView && notInViewCache) return notInViewCache;\n const slideIndexes = createInViewList(inView);\n if (inView) inViewCache = slideIndexes;\n if (!inView) notInViewCache = slideIndexes;\n return slideIndexes;\n }\n const self = {\n init,\n destroy,\n get\n };\n return self;\n}\n\nfunction SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow) {\n const {\n measureSize,\n startEdge,\n endEdge\n } = axis;\n const withEdgeGap = slideRects[0] && readEdgeGap;\n const startGap = measureStartGap();\n const endGap = measureEndGap();\n const slideSizes = slideRects.map(measureSize);\n const slideSizesWithGaps = measureWithGaps();\n function measureStartGap() {\n if (!withEdgeGap) return 0;\n const slideRect = slideRects[0];\n return mathAbs(containerRect[startEdge] - slideRect[startEdge]);\n }\n function measureEndGap() {\n if (!withEdgeGap) return 0;\n const style = ownerWindow.getComputedStyle(arrayLast(slides));\n return parseFloat(style.getPropertyValue(`margin-${endEdge}`));\n }\n function measureWithGaps() {\n return slideRects.map((rect, index, rects) => {\n const isFirst = !index;\n const isLast = arrayIsLastIndex(rects, index);\n if (isFirst) return slideSizes[index] + startGap;\n if (isLast) return slideSizes[index] + endGap;\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(mathAbs);\n }\n const self = {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n };\n return self;\n}\n\nfunction SlidesToScroll(axis, viewSize, slidesToScroll, loop, containerRect, slideRects, startGap, endGap, pixelTolerance) {\n const {\n startEdge,\n endEdge,\n direction\n } = axis;\n const groupByNumber = isNumber(slidesToScroll);\n function byNumber(array, groupSize) {\n return arrayKeys(array).filter(i => i % groupSize === 0).map(i => array.slice(i, i + groupSize));\n }\n function bySize(array) {\n if (!array.length) return [];\n return arrayKeys(array).reduce((groups, rectB, index) => {\n const rectA = arrayLast(groups) || 0;\n const isFirst = rectA === 0;\n const isLast = rectB === arrayLastIndex(array);\n const edgeA = containerRect[startEdge] - slideRects[rectA][startEdge];\n const edgeB = containerRect[startEdge] - slideRects[rectB][endEdge];\n const gapA = !loop && isFirst ? direction(startGap) : 0;\n const gapB = !loop && isLast ? direction(endGap) : 0;\n const chunkSize = mathAbs(edgeB - gapB - (edgeA + gapA));\n if (index && chunkSize > viewSize + pixelTolerance) groups.push(rectB);\n if (isLast) groups.push(array.length);\n return groups;\n }, []).map((currentSize, index, groups) => {\n const previousSize = Math.max(groups[index - 1] || 0);\n return array.slice(previousSize, currentSize);\n });\n }\n function groupSlides(array) {\n return groupByNumber ? byNumber(array, slidesToScroll) : bySize(array);\n }\n const self = {\n groupSlides\n };\n return self;\n}\n\nfunction Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler) {\n // Options\n const {\n align,\n axis: scrollAxis,\n direction,\n startIndex,\n loop,\n duration,\n dragFree,\n dragThreshold,\n inViewThreshold,\n slidesToScroll: groupSlides,\n skipSnaps,\n containScroll,\n watchResize,\n watchSlides,\n watchDrag,\n watchFocus\n } = options;\n // Measurements\n const pixelTolerance = 2;\n const nodeRects = NodeRects();\n const containerRect = nodeRects.measure(container);\n const slideRects = slides.map(nodeRects.measure);\n const axis = Axis(scrollAxis, direction);\n const viewSize = axis.measureSize(containerRect);\n const percentOfView = PercentOfView(viewSize);\n const alignment = Alignment(align, viewSize);\n const containSnaps = !loop && !!containScroll;\n const readEdgeGap = loop || !!containScroll;\n const {\n slideSizes,\n slideSizesWithGaps,\n startGap,\n endGap\n } = SlideSizes(axis, containerRect, slideRects, slides, readEdgeGap, ownerWindow);\n const slidesToScroll = SlidesToScroll(axis, viewSize, groupSlides, loop, containerRect, slideRects, startGap, endGap, pixelTolerance);\n const {\n snaps,\n snapsAligned\n } = ScrollSnaps(axis, alignment, containerRect, slideRects, slidesToScroll);\n const contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n const {\n snapsContained,\n scrollContainLimit\n } = ScrollContain(viewSize, contentSize, snapsAligned, containScroll, pixelTolerance);\n const scrollSnaps = containSnaps ? snapsContained : snapsAligned;\n const {\n limit\n } = ScrollLimit(contentSize, scrollSnaps, loop);\n // Indexes\n const index = Counter(arrayLastIndex(scrollSnaps), startIndex, loop);\n const indexPrevious = index.clone();\n const slideIndexes = arrayKeys(slides);\n // Animation\n const update = ({\n dragHandler,\n scrollBody,\n scrollBounds,\n options: {\n loop\n }\n }) => {\n if (!loop) scrollBounds.constrain(dragHandler.pointerDown());\n scrollBody.seek();\n };\n const render = ({\n scrollBody,\n translate,\n location,\n offsetLocation,\n previousLocation,\n scrollLooper,\n slideLooper,\n dragHandler,\n animation,\n eventHandler,\n scrollBounds,\n options: {\n loop\n }\n }, alpha) => {\n const shouldSettle = scrollBody.settled();\n const withinBounds = !scrollBounds.shouldConstrain();\n const hasSettled = loop ? shouldSettle : shouldSettle && withinBounds;\n const hasSettledAndIdle = hasSettled && !dragHandler.pointerDown();\n if (hasSettledAndIdle) animation.stop();\n const interpolatedLocation = location.get() * alpha + previousLocation.get() * (1 - alpha);\n offsetLocation.set(interpolatedLocation);\n if (loop) {\n scrollLooper.loop(scrollBody.direction());\n slideLooper.loop();\n }\n translate.to(offsetLocation.get());\n if (hasSettledAndIdle) eventHandler.emit('settle');\n if (!hasSettled) eventHandler.emit('scroll');\n };\n const animation = Animations(ownerDocument, ownerWindow, () => update(engine), alpha => render(engine, alpha));\n // Shared\n const friction = 0.68;\n const startLocation = scrollSnaps[index.get()];\n const location = Vector1D(startLocation);\n const previousLocation = Vector1D(startLocation);\n const offsetLocation = Vector1D(startLocation);\n const target = Vector1D(startLocation);\n const scrollBody = ScrollBody(location, offsetLocation, previousLocation, target, duration, friction);\n const scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n const scrollTo = ScrollTo(animation, index, indexPrevious, scrollBody, scrollTarget, target, eventHandler);\n const scrollProgress = ScrollProgress(limit);\n const eventStore = EventStore();\n const slidesInView = SlidesInView(container, slides, eventHandler, inViewThreshold);\n const {\n slideRegistry\n } = SlideRegistry(containSnaps, containScroll, scrollSnaps, scrollContainLimit, slidesToScroll, slideIndexes);\n const slideFocus = SlideFocus(root, slides, slideRegistry, scrollTo, scrollBody, eventStore, eventHandler, watchFocus);\n // Engine\n const engine = {\n ownerDocument,\n ownerWindow,\n eventHandler,\n containerRect,\n slideRects,\n animation,\n axis,\n dragHandler: DragHandler(axis, root, ownerDocument, ownerWindow, target, DragTracker(axis, ownerWindow), location, animation, scrollTo, scrollBody, scrollTarget, index, eventHandler, percentOfView, dragFree, dragThreshold, skipSnaps, friction, watchDrag),\n eventStore,\n percentOfView,\n index,\n indexPrevious,\n limit,\n location,\n offsetLocation,\n previousLocation,\n options,\n resizeHandler: ResizeHandler(container, eventHandler, ownerWindow, slides, axis, watchResize, nodeRects),\n scrollBody,\n scrollBounds: ScrollBounds(limit, offsetLocation, target, scrollBody, percentOfView),\n scrollLooper: ScrollLooper(contentSize, limit, offsetLocation, [location, offsetLocation, previousLocation, target]),\n scrollProgress,\n scrollSnapList: scrollSnaps.map(scrollProgress.get),\n scrollSnaps,\n scrollTarget,\n scrollTo,\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizes, slideSizesWithGaps, snaps, scrollSnaps, offsetLocation, slides),\n slideFocus,\n slidesHandler: SlidesHandler(container, eventHandler, watchSlides),\n slidesInView,\n slideIndexes,\n slideRegistry,\n slidesToScroll,\n target,\n translate: Translate(axis, container)\n };\n return engine;\n}\n\nfunction EventHandler() {\n let listeners = {};\n let api;\n function init(emblaApi) {\n api = emblaApi;\n }\n function getListeners(evt) {\n return listeners[evt] || [];\n }\n function emit(evt) {\n getListeners(evt).forEach(e => e(api, evt));\n return self;\n }\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(e => e !== cb);\n return self;\n }\n function clear() {\n listeners = {};\n }\n const self = {\n init,\n emit,\n off,\n on,\n clear\n };\n return self;\n}\n\nconst defaultOptions = {\n align: 'center',\n axis: 'x',\n container: null,\n slides: null,\n containScroll: 'trimSnaps',\n direction: 'ltr',\n slidesToScroll: 1,\n inViewThreshold: 0,\n breakpoints: {},\n dragFree: false,\n dragThreshold: 10,\n loop: false,\n skipSnaps: false,\n duration: 25,\n startIndex: 0,\n active: true,\n watchDrag: true,\n watchResize: true,\n watchSlides: true,\n watchFocus: true\n};\n\nfunction OptionsHandler(ownerWindow) {\n function mergeOptions(optionsA, optionsB) {\n return objectsMergeDeep(optionsA, optionsB || {});\n }\n function optionsAtMedia(options) {\n const optionsAtMedia = options.breakpoints || {};\n const matchedMediaOptions = objectKeys(optionsAtMedia).filter(media => ownerWindow.matchMedia(media).matches).map(media => optionsAtMedia[media]).reduce((a, mediaOption) => mergeOptions(a, mediaOption), {});\n return mergeOptions(options, matchedMediaOptions);\n }\n function optionsMediaQueries(optionsList) {\n return optionsList.map(options => objectKeys(options.breakpoints || {})).reduce((acc, mediaQueries) => acc.concat(mediaQueries), []).map(ownerWindow.matchMedia);\n }\n const self = {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n };\n return self;\n}\n\nfunction PluginsHandler(optionsHandler) {\n let activePlugins = [];\n function init(emblaApi, plugins) {\n activePlugins = plugins.filter(({\n options\n }) => optionsHandler.optionsAtMedia(options).active !== false);\n activePlugins.forEach(plugin => plugin.init(emblaApi, optionsHandler));\n return plugins.reduce((map, plugin) => Object.assign(map, {\n [plugin.name]: plugin\n }), {});\n }\n function destroy() {\n activePlugins = activePlugins.filter(plugin => plugin.destroy());\n }\n const self = {\n init,\n destroy\n };\n return self;\n}\n\nfunction EmblaCarousel(root, userOptions, userPlugins) {\n const ownerDocument = root.ownerDocument;\n const ownerWindow = ownerDocument.defaultView;\n const optionsHandler = OptionsHandler(ownerWindow);\n const pluginsHandler = PluginsHandler(optionsHandler);\n const mediaHandlers = EventStore();\n const eventHandler = EventHandler();\n const {\n mergeOptions,\n optionsAtMedia,\n optionsMediaQueries\n } = optionsHandler;\n const {\n on,\n off,\n emit\n } = eventHandler;\n const reInit = reActivate;\n let destroyed = false;\n let engine;\n let optionsBase = mergeOptions(defaultOptions, EmblaCarousel.globalOptions);\n let options = mergeOptions(optionsBase);\n let pluginList = [];\n let pluginApis;\n let container;\n let slides;\n function storeElements() {\n const {\n container: userContainer,\n slides: userSlides\n } = options;\n const customContainer = isString(userContainer) ? root.querySelector(userContainer) : userContainer;\n container = customContainer || root.children[0];\n const customSlides = isString(userSlides) ? container.querySelectorAll(userSlides) : userSlides;\n slides = [].slice.call(customSlides || container.children);\n }\n function createEngine(options) {\n const engine = Engine(root, container, slides, ownerDocument, ownerWindow, options, eventHandler);\n if (options.loop && !engine.slideLooper.canLoop()) {\n const optionsWithoutLoop = Object.assign({}, options, {\n loop: false\n });\n return createEngine(optionsWithoutLoop);\n }\n return engine;\n }\n function activate(withOptions, withPlugins) {\n if (destroyed) return;\n optionsBase = mergeOptions(optionsBase, withOptions);\n options = optionsAtMedia(optionsBase);\n pluginList = withPlugins || pluginList;\n storeElements();\n engine = createEngine(options);\n optionsMediaQueries([optionsBase, ...pluginList.map(({\n options\n }) => options)]).forEach(query => mediaHandlers.add(query, 'change', reActivate));\n if (!options.active) return;\n engine.translate.to(engine.location.get());\n engine.animation.init();\n engine.slidesInView.init();\n engine.slideFocus.init(self);\n engine.eventHandler.init(self);\n engine.resizeHandler.init(self);\n engine.slidesHandler.init(self);\n if (engine.options.loop) engine.slideLooper.loop();\n if (container.offsetParent && slides.length) engine.dragHandler.init(self);\n pluginApis = pluginsHandler.init(self, pluginList);\n }\n function reActivate(withOptions, withPlugins) {\n const startIndex = selectedScrollSnap();\n deActivate();\n activate(mergeOptions({\n startIndex\n }, withOptions), withPlugins);\n eventHandler.emit('reInit');\n }\n function deActivate() {\n engine.dragHandler.destroy();\n engine.eventStore.clear();\n engine.translate.clear();\n engine.slideLooper.clear();\n engine.resizeHandler.destroy();\n engine.slidesHandler.destroy();\n engine.slidesInView.destroy();\n engine.animation.destroy();\n pluginsHandler.destroy();\n mediaHandlers.clear();\n }\n function destroy() {\n if (destroyed) return;\n destroyed = true;\n mediaHandlers.clear();\n deActivate();\n eventHandler.emit('destroy');\n eventHandler.clear();\n }\n function scrollTo(index, jump, direction) {\n if (!options.active || destroyed) return;\n engine.scrollBody.useBaseFriction().useDuration(jump === true ? 0 : options.duration);\n engine.scrollTo.index(index, direction || 0);\n }\n function scrollNext(jump) {\n const next = engine.index.add(1).get();\n scrollTo(next, jump, -1);\n }\n function scrollPrev(jump) {\n const prev = engine.index.add(-1).get();\n scrollTo(prev, jump, 1);\n }\n function canScrollNext() {\n const next = engine.index.add(1).get();\n return next !== selectedScrollSnap();\n }\n function canScrollPrev() {\n const prev = engine.index.add(-1).get();\n return prev !== selectedScrollSnap();\n }\n function scrollSnapList() {\n return engine.scrollSnapList;\n }\n function scrollProgress() {\n return engine.scrollProgress.get(engine.offsetLocation.get());\n }\n function selectedScrollSnap() {\n return engine.index.get();\n }\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n function slidesInView() {\n return engine.slidesInView.get();\n }\n function slidesNotInView() {\n return engine.slidesInView.get(false);\n }\n function plugins() {\n return pluginApis;\n }\n function internalEngine() {\n return engine;\n }\n function rootNode() {\n return root;\n }\n function containerNode() {\n return container;\n }\n function slideNodes() {\n return slides;\n }\n const self = {\n canScrollNext,\n canScrollPrev,\n containerNode,\n internalEngine,\n destroy,\n off,\n on,\n emit,\n plugins,\n previousScrollSnap,\n reInit,\n rootNode,\n scrollNext,\n scrollPrev,\n scrollProgress,\n scrollSnapList,\n scrollTo,\n selectedScrollSnap,\n slideNodes,\n slidesInView,\n slidesNotInView\n };\n activate(userOptions, userPlugins);\n setTimeout(() => eventHandler.emit('init'), 0);\n return self;\n}\nEmblaCarousel.globalOptions = undefined;\n\nexport { EmblaCarousel as default };\n//# sourceMappingURL=embla-carousel.esm.js.map\n","import { useRef, useState, useCallback, useEffect } from 'react';\nimport { areOptionsEqual, arePluginsEqual, canUseDOM } from 'embla-carousel-reactive-utils';\nimport EmblaCarousel from 'embla-carousel';\n\nfunction useEmblaCarousel(options = {}, plugins = []) {\n const storedOptions = useRef(options);\n const storedPlugins = useRef(plugins);\n const [emblaApi, setEmblaApi] = useState();\n const [viewport, setViewport] = useState();\n const reInit = useCallback(() => {\n if (emblaApi) emblaApi.reInit(storedOptions.current, storedPlugins.current);\n }, [emblaApi]);\n useEffect(() => {\n if (areOptionsEqual(storedOptions.current, options)) return;\n storedOptions.current = options;\n reInit();\n }, [options, reInit]);\n useEffect(() => {\n if (arePluginsEqual(storedPlugins.current, plugins)) return;\n storedPlugins.current = plugins;\n reInit();\n }, [plugins, reInit]);\n useEffect(() => {\n if (canUseDOM() && viewport) {\n EmblaCarousel.globalOptions = useEmblaCarousel.globalOptions;\n const newEmblaApi = EmblaCarousel(viewport, storedOptions.current, storedPlugins.current);\n setEmblaApi(newEmblaApi);\n return () => newEmblaApi.destroy();\n } else {\n setEmblaApi(undefined);\n }\n }, [viewport, setEmblaApi]);\n return [setViewport, emblaApi];\n}\nuseEmblaCarousel.globalOptions = undefined;\n\nexport { useEmblaCarousel as default };\n//# sourceMappingURL=embla-carousel-react.esm.js.map\n","'use client';\n\nimport useEmblaCarousel from 'embla-carousel-react';\nimport type { UseEmblaCarouselType } from 'embla-carousel-react';\nimport type { ComponentProps, KeyboardEvent } from 'react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ninterface CarouselContext {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n colorScheme: 'light' | 'dark';\n hideOverflow: boolean;\n}\n\nexport const CarouselContext = createContext<CarouselContext | null>(null);\n\nexport interface CarouselRootProps extends ComponentProps<'div'> {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n setApi?: (api: CarouselApi) => void;\n hideOverflow?: boolean;\n colorScheme?: 'light' | 'dark';\n}\n\nexport function CarouselRoot({\n children,\n className,\n opts,\n plugins,\n setApi,\n hideOverflow = true,\n colorScheme = 'light',\n ...props\n}: CarouselRootProps) {\n const [carouselRef, api] = useEmblaCarousel(opts, plugins);\n\n const [canScrollPrev, setCanScrollPrev] = useState(false);\n const [canScrollNext, setCanScrollNext] = useState(false);\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const onSelect = useCallback((api: CarouselApi) => {\n if (!api) return;\n\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = useCallback(() => api?.scrollPrev(), [api]);\n\n const scrollNext = useCallback(() => api?.scrollNext(), [api]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n useEffect(() => {\n if (!api || !setApi) return;\n\n setApi(api);\n }, [api, setApi]);\n\n useEffect(() => {\n if (!api) return;\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n const contextValue = useMemo(\n () => ({\n carouselRef,\n api,\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n colorScheme,\n hideOverflow,\n }),\n [carouselRef, api, scrollPrev, scrollNext, canScrollPrev, canScrollNext],\n );\n\n return (\n <CarouselContext.Provider value={contextValue}>\n <div\n aria-roledescription=\"carousel\"\n className={cn('relative p-1.5 @container', hideOverflow && 'overflow-hidden', className)}\n data-slot=\"carousel-root\"\n onKeyDownCapture={handleKeyDown}\n role=\"region\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\nexport function useCarousel() {\n const context = useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <CarouselRoot />');\n }\n\n return context;\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCarousel } from '@/components/carousel';\nimport { cn } from '@/lib';\n\nexport type CarouselViewportProps = ComponentProps<'div'>;\n\nexport function CarouselViewport({ className, children, ...props }: CarouselViewportProps) {\n const { carouselRef } = useCarousel();\n\n return (\n <div\n className={cn('w-full', className)}\n data-slot=\"carousel-viewport\"\n ref={carouselRef}\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type CarouselContentProps = ComponentProps<'div'>;\n\nexport function CarouselContent({ className, children, ...props }: CarouselContentProps) {\n return (\n <div className={cn('-ml-4 flex @2xl:-ml-5', className)} data-slot=\"carousel-content\" {...props}>\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type CarouselItemProps = ComponentProps<'div'>;\n\nexport function CarouselItem({ className, ...props }: CarouselItemProps) {\n return (\n <div\n {...props}\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 pl-4 @2xl:pl-5', className)}\n data-slot=\"carousel-item\"\n role=\"group\"\n />\n );\n}\n","import type { ComponentProps } from 'react';\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useCarousel } from '@/components/carousel';\nimport { cn } from '@/lib';\n\nexport type CarouselScrollbarProps = ComponentProps<'div'>;\n\nexport function CarouselScrollbar({ className }: CarouselScrollbarProps) {\n const { api, canScrollPrev, canScrollNext, colorScheme } = useCarousel();\n\n const [progress, setProgress] = useState(0);\n\n const [scrollbarPosition, setScrollbarPosition] = useState({ width: 0, left: 0 });\n\n const findClosestSnap = useCallback(\n (nextProgress: number) => {\n if (!api) return 0;\n\n const point = nextProgress / 100;\n const snapList = api.scrollSnapList();\n\n if (snapList.length === 0) return -1;\n\n const closestSnap = snapList.reduce((prev, curr) =>\n Math.abs(curr - point) < Math.abs(prev - point) ? curr : prev,\n );\n\n return snapList.findIndex((snap) => snap === closestSnap);\n },\n [api],\n );\n\n useEffect(() => {\n if (!api) return;\n\n const snapList = api.scrollSnapList();\n const closestSnapIndex = findClosestSnap(progress);\n const scrollbarWidth = 100 / snapList.length;\n const scrollbarLeft = (closestSnapIndex / snapList.length) * 100;\n\n setScrollbarPosition({ width: scrollbarWidth, left: scrollbarLeft });\n\n api.scrollTo(closestSnapIndex);\n }, [progress, api, findClosestSnap]);\n\n useEffect(() => {\n if (!api) return;\n\n function onScroll() {\n if (!api) return;\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n setProgress(api.scrollSnapList()[api.selectedScrollSnap()]! * 100);\n }\n\n api.on('select', onScroll);\n api.on('scroll', onScroll);\n api.on('reInit', onScroll);\n\n return () => {\n api.off('select', onScroll);\n api.off('scroll', onScroll);\n api.off('reInit', onScroll);\n };\n }, [api]);\n\n return (\n <div\n className={cn(\n 'relative flex h-6 w-full max-w-56 items-center overflow-hidden',\n !canScrollPrev && !canScrollNext && 'pointer-events-none invisible',\n className,\n )}\n data-slot=\"carousel-scrollbar\"\n >\n <input\n aria-label=\"Carousel scrollbar\"\n aria-orientation=\"horizontal\"\n aria-valuenow={progress}\n aria-valuetext={`${Math.round(progress)}%`}\n className=\"absolute h-full w-full cursor-pointer appearance-none bg-transparent opacity-0\"\n max={100}\n min={0}\n onChange={(e) => setProgress(e.currentTarget.valueAsNumber)}\n type=\"range\"\n value={progress}\n />\n {/* Track */}\n <div\n className={cn(\n 'pointer-events-none absolute h-1 w-full rounded-full opacity-10',\n {\n light: 'bg-[var(--carousel-light-scrollbar,hsl(var(--foreground)))]',\n dark: 'bg-[var(--carousel-dark-scrollbar,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"carousel-track\"\n />\n {/* Bar */}\n <div\n className={cn(\n 'pointer-events-none absolute h-1 rounded-full transition-all ease-out',\n {\n light: 'bg-[var(--carousel-light-scrollbar,hsl(var(--foreground)))]',\n dark: 'bg-[var(--carousel-dark-scrollbar,hsl(var(--background)))]',\n }[colorScheme],\n )}\n data-slot=\"carousel-bar\"\n style={{\n width: `${scrollbarPosition.width}%`,\n left: `${scrollbarPosition.left}%`,\n }}\n />\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCarousel } from '@/components/carousel';\nimport { cn } from '@/lib';\n\nexport type CarouselControlsProps = ComponentProps<'div'>;\n\nexport function CarouselControls({ className, children, ...props }: CarouselControlsProps) {\n const { colorScheme } = useCarousel();\n\n return (\n <div\n className={cn(\n 'mt-10 flex w-full items-center justify-between gap-2',\n {\n light: 'text-[var(--carousel-light-button,hsl(var(--foreground)))]',\n dark: 'text-[var(--carousel-dark-button,hsl(var(--background)))]',\n }[colorScheme],\n className,\n )}\n data-slot=\"carousel-controls\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nexport type CarouselNavProps = ComponentProps<'div'>;\n\nexport function CarouselNav({ className, children, ...props }: CarouselNavProps) {\n return (\n <div className={cn('flex items-center gap-2', className)} {...props} data-slot=\"carousel-nav\">\n {children}\n </div>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { useCarousel } from '@/components/carousel';\nimport { cn } from '@/lib';\n\nexport type CarouselPrevProps = ComponentProps<'button'>;\n\nexport function CarouselPrev({ children, className, ...props }: CarouselPrevProps) {\n const { canScrollPrev, scrollPrev } = useCarousel();\n\n return (\n <button\n className={cn(\n 'rounded-lg ring-[var(--carousel-focus,hsl(var(--primary)))] transition-colors duration-300 focus-visible:outline-0 focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-25',\n className,\n )}\n data-slot=\"carousel-prev\"\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n title=\"Previous\"\n type=\"button\"\n {...props}\n >\n {children}\n </button>\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { useCarousel } from '@/components/carousel';\nimport { cn } from '@/lib';\n\nexport type CarouselNextProps = ComponentProps<'button'>;\n\nexport function CarouselNext({ children, className, ...props }: CarouselNextProps) {\n const { canScrollNext, scrollNext } = useCarousel();\n\n return (\n <button\n className={cn(\n 'rounded-lg ring-[var(--carousel-focus,hsl(var(--primary)))] transition-colors duration-300 focus-visible:outline-0 focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-25',\n className,\n )}\n data-slot=\"carousel-next\"\n disabled={!canScrollNext}\n onClick={scrollNext}\n title=\"Next\"\n type=\"button\"\n {...props}\n >\n {children}\n </button>\n );\n}\n"],"names":["isObject","subject","isRecord","canUseDOM","areOptionsEqual","optionsA","optionsB","optionsAKeys","optionsBKeys","breakpointsA","breakpointsB","key","valueA","valueB","sortAndMapPluginToOptions","plugins","a","b","plugin","arePluginsEqual","pluginsA","pluginsB","optionA","index","optionB","isNumber","isString","isBoolean","mathAbs","n","mathSign","deltaAbs","factorAbs","diff","roundToTwoDecimals","num","arrayKeys","array","objectKeys","arrayLast","arrayLastIndex","arrayIsLastIndex","arrayFromNumber","startAt","_","i","object","objectsMergeDeep","objectA","objectB","mergedObjects","currentObject","areObjects","isMouseEvent","evt","ownerWindow","Alignment","align","viewSize","predefined","start","center","end","measure","EventStore","listeners","add","node","type","handler","options","removeListener","legacyMediaQueryList","self","clear","remove","Animations","ownerDocument","update","render","documentVisibleHandler","fixedTimeStep","lastTimeStamp","accumulatedTime","animationId","init","reset","destroy","stop","animate","timeStamp","timeElapsed","alpha","Axis","axis","contentDirection","isRightToLeft","isVertical","scroll","cross","sign","startEdge","getStartEdge","endEdge","getEndEdge","measureSize","nodeRect","height","width","direction","Limit","min","max","length","reachedMin","reachedMax","reachedAny","constrain","removeOffset","Counter","loop","loopEnd","counter","withinLimit","get","set","clone","DragHandler","rootNode","target","dragTracker","location","animation","scrollTo","scrollBody","scrollTarget","eventHandler","percentOfView","dragFree","dragThreshold","skipSnaps","baseFriction","watchDrag","crossAxis","focusNodes","nonPassiveEvent","initEvents","dragEvents","goToNextThreshold","snapForceBoost","freeForceBoost","baseSpeed","isMoving","startScroll","startCross","pointerIsDown","preventScroll","preventClick","isMouse","emblaApi","downIfAllowed","down","up","click","addDragEvents","move","isFocusNode","nodeName","forceBoost","allowedForce","force","targetChanged","next","baseForce","isMouseEvt","lastScroll","lastCross","diffScroll","diffCross","rawForce","forceFactor","speed","friction","pointerDown","DragTracker","startEvent","lastEvent","readTime","readPoint","evtAxis","coord","pointerMove","expired","pointerUp","diffDrag","diffTime","NodeRects","offsetTop","offsetLeft","offsetWidth","offsetHeight","PercentOfView","ResizeHandler","container","slides","watchResize","nodeRects","observeNodes","resizeObserver","containerSize","slideSizes","destroyed","readSize","defaultCallback","entries","entry","isContainer","slideIndex","lastSize","newSize","ScrollBody","offsetLocation","previousLocation","baseDuration","scrollVelocity","scrollDirection","scrollDuration","scrollFriction","rawLocation","rawLocationPrevious","seek","displacement","isInstant","scrollDistance","settled","duration","velocity","useBaseDuration","useDuration","useBaseFriction","useFriction","ScrollBounds","limit","pullBackThreshold","edgeOffsetTolerance","frictionLimit","disabled","shouldConstrain","edge","diffToEdge","diffToTarget","toggleActive","active","ScrollContain","contentSize","snapsAligned","containScroll","pixelTolerance","scrollBounds","snapsBounded","measureBounded","scrollContainLimit","findScrollContainLimit","snapsContained","measureContained","usePixelTolerance","bound","snap","startSnap","endSnap","snapAligned","isFirst","isLast","scrollBound","ScrollLimit","scrollSnaps","ScrollLooper","vectors","shouldLoop","loopDistance","v","ScrollProgress","currentLocation","ScrollSnaps","alignment","containerRect","slideRects","slidesToScroll","groupSlides","alignments","measureSizes","snaps","measureUnaligned","measureAligned","rects","rect","SlideRegistry","containSnaps","slideIndexes","slideRegistry","createSlideRegistry","groupedSlideIndexes","doNotContain","group","groups","range","ScrollTarget","targetVector","minDistance","distances","findTargetSnap","distance","ascDiffsToSnaps","shortcut","d1","d2","targets","matchingTargets","t","byIndex","diffToSnap","byDistance","targetSnapDistance","reachedBound","snapDistance","ScrollTo","indexCurrent","indexPrevious","distanceDiff","indexDiff","targetIndex","SlideFocus","root","eventStore","watchFocus","focusListenerOptions","lastTabPressTime","registerTabPress","slide","event","Vector1D","initialValue","value","normalizeInput","subtract","Translate","translate","x","y","containerStyle","previousTarget","to","newTarget","SlideLooper","slideSizesWithGaps","ascItems","descItems","loopPoints","startPoints","endPoints","removeSlideSizes","indexes","from","slidesInGap","gap","findSlideBounds","offset","findLoopPoints","isEndEdge","slideBounds","initial","altered","boundEdge","loopPoint","canLoop","otherIndexes","slideLocation","shiftLocation","SlidesHandler","watchSlides","mutationObserver","mutations","mutation","SlidesInView","threshold","intersectionEntryMap","inViewCache","notInViewCache","intersectionObserver","createInViewList","inView","list","isIntersecting","SlideSizes","readEdgeGap","withEdgeGap","startGap","measureStartGap","endGap","measureEndGap","measureWithGaps","slideRect","style","SlidesToScroll","groupByNumber","byNumber","groupSize","bySize","rectB","rectA","edgeA","edgeB","gapA","gapB","chunkSize","currentSize","previousSize","Engine","scrollAxis","startIndex","inViewThreshold","dragHandler","scrollLooper","slideLooper","shouldSettle","withinBounds","hasSettled","hasSettledAndIdle","interpolatedLocation","engine","startLocation","scrollProgress","slidesInView","slideFocus","EventHandler","api","getListeners","emit","e","on","cb","off","defaultOptions","OptionsHandler","mergeOptions","optionsAtMedia","matchedMediaOptions","media","mediaOption","optionsMediaQueries","optionsList","acc","mediaQueries","PluginsHandler","optionsHandler","activePlugins","map","EmblaCarousel","userOptions","userPlugins","pluginsHandler","mediaHandlers","reInit","reActivate","optionsBase","pluginList","pluginApis","storeElements","userContainer","userSlides","customSlides","createEngine","optionsWithoutLoop","activate","withOptions","withPlugins","query","selectedScrollSnap","deActivate","jump","scrollNext","scrollPrev","prev","canScrollNext","canScrollPrev","scrollSnapList","previousScrollSnap","slidesNotInView","internalEngine","containerNode","slideNodes","useEmblaCarousel","storedOptions","useRef","storedPlugins","setEmblaApi","useState","viewport","setViewport","useCallback","useEffect","newEmblaApi","CarouselContext","createContext","CarouselRoot","children","className","opts","setApi","hideOverflow","colorScheme","props","carouselRef","setCanScrollPrev","setCanScrollNext","onSelect","handleKeyDown","contextValue","useMemo","jsx","cn","useCarousel","context","useContext","CarouselViewport","CarouselContent","CarouselItem","CarouselScrollbar","progress","setProgress","scrollbarPosition","setScrollbarPosition","findClosestSnap","nextProgress","point","snapList","closestSnap","curr","closestSnapIndex","scrollbarWidth","scrollbarLeft","onScroll","jsxs","CarouselControls","CarouselNav","CarouselPrev","CarouselNext"],"mappings":"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","x_google_ignoreList":[0,1,2]}
@@ -1,211 +0,0 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { S as g } from "./index-DD8W7cMj.js";
3
- import { c } from "./utils-BOGlfttm.js";
4
- import { createContext as h, useMemo as x, use as y } from "react";
5
- const u = h(void 0);
6
- function w({
7
- className: r,
8
- children: o,
9
- as: t,
10
- textColorScheme: a = "light",
11
- iconColorScheme: e = "light",
12
- aspectRatio: l = "5:6",
13
- textSize: i = "small",
14
- showOverlay: d = !0,
15
- ...f
16
- }) {
17
- const m = t ?? "article", v = x(
18
- () => ({
19
- textColorScheme: a,
20
- iconColorScheme: e,
21
- aspectRatio: l,
22
- textSize: i,
23
- showOverlay: d
24
- }),
25
- [a, e, l, i, d]
26
- );
27
- return /* @__PURE__ */ n(u.Provider, { value: v, children: /* @__PURE__ */ n(
28
- m,
29
- {
30
- className: c(
31
- "group relative flex w-full max-w-md cursor-pointer flex-col gap-2 rounded-[var(--category-card-border-radius,1rem)] font-[var(--category-card-font-family,var(--font-family-body))] @container",
32
- {
33
- small: "gap-2",
34
- medium: "gap-3",
35
- large: "gap-4",
36
- "x-large": "gap-5"
37
- }[i],
38
- r
39
- ),
40
- "data-slot": "category-card-root",
41
- ...f,
42
- children: o
43
- }
44
- ) });
45
- }
46
- function s() {
47
- const r = y(u);
48
- if (r === void 0)
49
- throw new Error("useCategoryCard must be used within a CategoryCardRoot");
50
- return r;
51
- }
52
- function N({ className: r, children: o, ...t }) {
53
- const { iconColorScheme: a } = s();
54
- return /* @__PURE__ */ n(
55
- g,
56
- {
57
- className: c(
58
- "absolute right-5 top-5 z-10 transition-transform duration-700 ease-out group-hover:-translate-y-1.5 group-hover:translate-x-1.5",
59
- {
60
- light: "text-[var(--category-card-light-icon,hsl(var(--foreground)))]",
61
- dark: "text-[var(--category-card-dark-icon,hsl(var(--background)))]"
62
- }[a],
63
- r
64
- ),
65
- "data-slot": "category-card-icon",
66
- ...t,
67
- children: o
68
- }
69
- );
70
- }
71
- function S({
72
- className: r,
73
- children: o,
74
- ...t
75
- }) {
76
- const { textColorScheme: a, aspectRatio: e } = s();
77
- return /* @__PURE__ */ n(
78
- "div",
79
- {
80
- className: c(
81
- "relative overflow-hidden rounded-[inherit] group-focus:ring-[var(--category-card-focus,hsl(var(--primary)))] group-focus-visible:ring-2",
82
- {
83
- light: "bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]",
84
- dark: "bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]"
85
- }[a],
86
- {
87
- "5:6": "aspect-[5/6]",
88
- "3:4": "aspect-[3/4]",
89
- "1:1": "aspect-square"
90
- }[e],
91
- r
92
- ),
93
- "data-slot": "category-card-thumbnail",
94
- ...t,
95
- children: o
96
- }
97
- );
98
- }
99
- function _({
100
- className: r,
101
- children: o,
102
- asChild: t = !1,
103
- ...a
104
- }) {
105
- const { textColorScheme: e } = s();
106
- return /* @__PURE__ */ n(
107
- t ? g : "img",
108
- {
109
- className: c(
110
- "h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110",
111
- {
112
- light: "bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]",
113
- dark: "bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]"
114
- }[e],
115
- r
116
- ),
117
- "data-slot": "category-card-image",
118
- ...a
119
- }
120
- );
121
- }
122
- function R({ className: r, children: o, ...t }) {
123
- const { textColorScheme: a } = s();
124
- return /* @__PURE__ */ n(
125
- "div",
126
- {
127
- className: c(
128
- "break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105",
129
- {
130
- light: "[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]",
131
- dark: "[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]"
132
- }[a],
133
- r
134
- ),
135
- "data-slot": "category-card-fallback",
136
- ...t,
137
- children: o
138
- }
139
- );
140
- }
141
- function j({ children: r, className: o, ...t }) {
142
- const { showOverlay: a } = s();
143
- return /* @__PURE__ */ n(
144
- "div",
145
- {
146
- className: c(
147
- "absolute inset-0 flex items-end p-6 @xs:p-8",
148
- a && "bg-gradient-to-b from-foreground/0 from-50% via-foreground/0 via-50% to-foreground/50 to-100%",
149
- o
150
- ),
151
- "data-slot": "category-card-overlay",
152
- ...t,
153
- children: r
154
- }
155
- );
156
- }
157
- function E({ children: r, className: o, ...t }) {
158
- const { textSize: a, textColorScheme: e } = s();
159
- return /* @__PURE__ */ n(
160
- "h3",
161
- {
162
- className: c(
163
- "font-medium leading-tight",
164
- {
165
- small: "text-lg tracking-normal @xs:text-xl",
166
- medium: "text-xl tracking-normal @xs:text-2xl",
167
- large: "text-2xl tracking-tight @xs:text-3xl",
168
- "x-large": "text-3xl tracking-tight @xs:text-4xl"
169
- }[a],
170
- {
171
- light: "text-[var(--category-card-light-text,hsl(var(--foreground)))]",
172
- dark: "text-[var(--category-card-dark-text,hsl(var(--background)))]"
173
- }[e],
174
- o
175
- ),
176
- "data-slot": "category-card-title",
177
- ...t,
178
- children: r
179
- }
180
- );
181
- }
182
- function I({ asChild: r = !1, className: o, ...t }) {
183
- const { textColorScheme: a } = s();
184
- return /* @__PURE__ */ n(
185
- r ? g : "a",
186
- {
187
- className: c(
188
- "absolute inset-0 rounded-[var(--category-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--category-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4",
189
- {
190
- light: "ring-offset-[var(--category-card-light-offset,hsl(var(--background)))]",
191
- dark: "ring-offset-[var(--category-card-dark-offset,hsl(var(--foreground)))]"
192
- }[a],
193
- o
194
- ),
195
- "data-slot": "category-card-link",
196
- ...t
197
- }
198
- );
199
- }
200
- export {
201
- w as C,
202
- N as a,
203
- S as b,
204
- _ as c,
205
- R as d,
206
- j as e,
207
- E as f,
208
- I as g,
209
- s as u
210
- };
211
- //# sourceMappingURL=category-card-link-BqMAG9Op.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"category-card-link-BqMAG9Op.js","sources":["../src/components/category-card/primitives/category-card-root.tsx","../src/components/category-card/primitives/category-card-icon.tsx","../src/components/category-card/primitives/category-card-thumbnail.tsx","../src/components/category-card/primitives/category-card-image.tsx","../src/components/category-card/primitives/category-card-fallback.tsx","../src/components/category-card/primitives/category-card-overlay.tsx","../src/components/category-card/primitives/category-card-title.tsx","../src/components/category-card/primitives/category-card-link.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useMemo } from 'react';\nimport type { ComponentProps, ElementType } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface CategoryCardContext {\n textColorScheme: 'light' | 'dark';\n iconColorScheme: 'light' | 'dark';\n aspectRatio: '5:6' | '3:4' | '1:1';\n textSize: 'small' | 'medium' | 'large' | 'x-large';\n showOverlay: boolean;\n}\n\nexport const CategoryCardContext = createContext<CategoryCardContext | undefined>(undefined);\n\nexport type CategoryCardRootProps<E extends ElementType = 'article'> = Omit<\n ComponentProps<E>,\n 'as'\n> & {\n as?: E;\n textColorScheme?: 'light' | 'dark';\n iconColorScheme?: 'light' | 'dark';\n aspectRatio?: '5:6' | '3:4' | '1:1';\n textSize?: 'small' | 'medium' | 'large' | 'x-large';\n showOverlay?: boolean;\n};\n\nexport function CategoryCardRoot<T extends ElementType = 'article'>({\n className,\n children,\n as,\n textColorScheme = 'light',\n iconColorScheme = 'light',\n aspectRatio = '5:6',\n textSize = 'small',\n showOverlay = true,\n ...props\n}: CategoryCardRootProps<T>) {\n const CategoryCardRootElement = as ?? 'article';\n\n const contextValues = useMemo(\n () => ({\n textColorScheme,\n iconColorScheme,\n aspectRatio,\n textSize,\n showOverlay,\n }),\n [textColorScheme, iconColorScheme, aspectRatio, textSize, showOverlay],\n );\n\n return (\n <CategoryCardContext.Provider value={contextValues}>\n <CategoryCardRootElement\n className={cn(\n 'group relative flex w-full max-w-md cursor-pointer flex-col gap-2 rounded-[var(--category-card-border-radius,1rem)] font-[var(--category-card-font-family,var(--font-family-body))] @container',\n {\n small: 'gap-2',\n medium: 'gap-3',\n large: 'gap-4',\n 'x-large': 'gap-5',\n }[textSize],\n className,\n )}\n data-slot=\"category-card-root\"\n {...props}\n >\n {children}\n </CategoryCardRootElement>\n </CategoryCardContext.Provider>\n );\n}\n\nexport function useCategoryCard() {\n const context = use(CategoryCardContext);\n\n if (context === undefined) {\n throw new Error('useCategoryCard must be used within a CategoryCardRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardIconProps = ComponentProps<typeof Slot>;\n\nexport function CategoryCardIcon({ className, children, ...props }: CategoryCardIconProps) {\n const { iconColorScheme } = useCategoryCard();\n\n return (\n <Slot\n className={cn(\n 'absolute right-5 top-5 z-10 transition-transform duration-700 ease-out group-hover:-translate-y-1.5 group-hover:translate-x-1.5',\n {\n light: 'text-[var(--category-card-light-icon,hsl(var(--foreground)))]',\n dark: 'text-[var(--category-card-dark-icon,hsl(var(--background)))]',\n }[iconColorScheme],\n className,\n )}\n data-slot=\"category-card-icon\"\n {...props}\n >\n {children}\n </Slot>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardThumbnailProps = ComponentProps<'div'>;\n\nexport function CategoryCardThumbnail({\n className,\n children,\n ...props\n}: CategoryCardThumbnailProps) {\n const { textColorScheme, aspectRatio } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[inherit] group-focus:ring-[var(--category-card-focus,hsl(var(--primary)))] group-focus-visible:ring-2',\n {\n light: 'bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]',\n }[textColorScheme],\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n className,\n )}\n data-slot=\"category-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardImageProps = ComponentProps<'img'> & {\n asChild?: boolean;\n};\n\nexport function CategoryCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: CategoryCardImageProps) {\n const { textColorScheme } = useCategoryCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-image\"\n {...props}\n />\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardFallbackProps = ComponentProps<'div'>;\n\nexport function CategoryCardFallback({ className, children, ...props }: CategoryCardFallbackProps) {\n const { textColorScheme } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nimport { useCategoryCard } from '../primitives';\n\nexport type CategoryCardOverlayProps = ComponentProps<'div'>;\n\nexport function CategoryCardOverlay({ children, className, ...props }: CategoryCardOverlayProps) {\n const { showOverlay } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'absolute inset-0 flex items-end p-6 @xs:p-8',\n showOverlay &&\n 'bg-gradient-to-b from-foreground/0 from-50% via-foreground/0 via-50% to-foreground/50 to-100%',\n className,\n )}\n data-slot=\"category-card-overlay\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nimport { useCategoryCard } from '../primitives';\n\nexport type CategoryCardTitleProps = ComponentProps<'h3'>;\n\nexport function CategoryCardTitle({ children, className, ...props }: CategoryCardTitleProps) {\n const { textSize, textColorScheme } = useCategoryCard();\n\n return (\n <h3\n className={cn(\n 'font-medium leading-tight',\n {\n small: 'text-lg tracking-normal @xs:text-xl',\n medium: 'text-xl tracking-normal @xs:text-2xl',\n large: 'text-2xl tracking-tight @xs:text-3xl',\n 'x-large': 'text-3xl tracking-tight @xs:text-4xl',\n }[textSize],\n {\n light: 'text-[var(--category-card-light-text,hsl(var(--foreground)))]',\n dark: 'text-[var(--category-card-dark-text,hsl(var(--background)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport interface CategoryCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function CategoryCardLink({ asChild = false, className, ...props }: CategoryCardLinkProps) {\n const { textColorScheme } = useCategoryCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--category-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--category-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--category-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--category-card-dark-offset,hsl(var(--foreground)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-link\"\n {...props}\n />\n );\n}\n"],"names":["CategoryCardContext","createContext","CategoryCardRoot","className","children","as","textColorScheme","iconColorScheme","aspectRatio","textSize","showOverlay","props","CategoryCardRootElement","contextValues","useMemo","jsx","cn","useCategoryCard","context","use","CategoryCardIcon","Slot","CategoryCardThumbnail","CategoryCardImage","asChild","CategoryCardFallback","CategoryCardOverlay","CategoryCardTitle","CategoryCardLink"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";const n=require("react/jsx-runtime"),i=require("./index-DGaxX11V.cjs"),c=require("./utils-LBH114_M.cjs"),d=require("react"),f=d.createContext(void 0);function m({className:r,children:o,as:t,textColorScheme:a="light",iconColorScheme:e="light",aspectRatio:l="5:6",textSize:g="small",showOverlay:u=!0,...x}){const v=t??"article",y=d.useMemo(()=>({textColorScheme:a,iconColorScheme:e,aspectRatio:l,textSize:g,showOverlay:u}),[a,e,l,g,u]);return n.jsx(f.Provider,{value:y,children:n.jsx(v,{className:c.cn("group relative flex w-full max-w-md cursor-pointer flex-col gap-2 rounded-[var(--category-card-border-radius,1rem)] font-[var(--category-card-font-family,var(--font-family-body))] @container",{small:"gap-2",medium:"gap-3",large:"gap-4","x-large":"gap-5"}[g],r),"data-slot":"category-card-root",...x,children:o})})}function s(){const r=d.use(f);if(r===void 0)throw new Error("useCategoryCard must be used within a CategoryCardRoot");return r}function C({className:r,children:o,...t}){const{iconColorScheme:a}=s();return n.jsx(i.Slot,{className:c.cn("absolute right-5 top-5 z-10 transition-transform duration-700 ease-out group-hover:-translate-y-1.5 group-hover:translate-x-1.5",{light:"text-[var(--category-card-light-icon,hsl(var(--foreground)))]",dark:"text-[var(--category-card-dark-icon,hsl(var(--background)))]"}[a],r),"data-slot":"category-card-icon",...t,children:o})}function h({className:r,children:o,...t}){const{textColorScheme:a,aspectRatio:e}=s();return n.jsx("div",{className:c.cn("relative overflow-hidden rounded-[inherit] group-focus:ring-[var(--category-card-focus,hsl(var(--primary)))] group-focus-visible:ring-2",{light:"bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]",dark:"bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]"}[a],{"5:6":"aspect-[5/6]","3:4":"aspect-[3/4]","1:1":"aspect-square"}[e],r),"data-slot":"category-card-thumbnail",...t,children:o})}function b({className:r,children:o,asChild:t=!1,...a}){const{textColorScheme:e}=s(),l=t?i.Slot:"img";return n.jsx(l,{className:c.cn("h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110",{light:"bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]",dark:"bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]"}[e],r),"data-slot":"category-card-image",...a})}function k({className:r,children:o,...t}){const{textColorScheme:a}=s();return n.jsx("div",{className:c.cn("break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105",{light:"[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]",dark:"[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]"}[a],r),"data-slot":"category-card-fallback",...t,children:o})}function p({children:r,className:o,...t}){const{showOverlay:a}=s();return n.jsx("div",{className:c.cn("absolute inset-0 flex items-end p-6 @xs:p-8",a&&"bg-gradient-to-b from-foreground/0 from-50% via-foreground/0 via-50% to-foreground/50 to-100%",o),"data-slot":"category-card-overlay",...t,children:r})}function j({children:r,className:o,...t}){const{textSize:a,textColorScheme:e}=s();return n.jsx("h3",{className:c.cn("font-medium leading-tight",{small:"text-lg tracking-normal @xs:text-xl",medium:"text-xl tracking-normal @xs:text-2xl",large:"text-2xl tracking-tight @xs:text-3xl","x-large":"text-3xl tracking-tight @xs:text-4xl"}[a],{light:"text-[var(--category-card-light-text,hsl(var(--foreground)))]",dark:"text-[var(--category-card-dark-text,hsl(var(--background)))]"}[e],o),"data-slot":"category-card-title",...t,children:r})}function w({asChild:r=!1,className:o,...t}){const{textColorScheme:a}=s(),e=r?i.Slot:"a";return n.jsx(e,{className:c.cn("absolute inset-0 rounded-[var(--category-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--category-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4",{light:"ring-offset-[var(--category-card-light-offset,hsl(var(--background)))]",dark:"ring-offset-[var(--category-card-dark-offset,hsl(var(--foreground)))]"}[a],o),"data-slot":"category-card-link",...t})}exports.CategoryCardFallback=k;exports.CategoryCardIcon=C;exports.CategoryCardImage=b;exports.CategoryCardLink=w;exports.CategoryCardOverlay=p;exports.CategoryCardRoot=m;exports.CategoryCardThumbnail=h;exports.CategoryCardTitle=j;exports.useCategoryCard=s;
2
- //# sourceMappingURL=category-card-link-BwSFHFcd.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"category-card-link-BwSFHFcd.cjs","sources":["../src/components/category-card/primitives/category-card-root.tsx","../src/components/category-card/primitives/category-card-icon.tsx","../src/components/category-card/primitives/category-card-thumbnail.tsx","../src/components/category-card/primitives/category-card-image.tsx","../src/components/category-card/primitives/category-card-fallback.tsx","../src/components/category-card/primitives/category-card-overlay.tsx","../src/components/category-card/primitives/category-card-title.tsx","../src/components/category-card/primitives/category-card-link.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, use, useMemo } from 'react';\nimport type { ComponentProps, ElementType } from 'react';\n\nimport { cn } from '@/lib';\n\ninterface CategoryCardContext {\n textColorScheme: 'light' | 'dark';\n iconColorScheme: 'light' | 'dark';\n aspectRatio: '5:6' | '3:4' | '1:1';\n textSize: 'small' | 'medium' | 'large' | 'x-large';\n showOverlay: boolean;\n}\n\nexport const CategoryCardContext = createContext<CategoryCardContext | undefined>(undefined);\n\nexport type CategoryCardRootProps<E extends ElementType = 'article'> = Omit<\n ComponentProps<E>,\n 'as'\n> & {\n as?: E;\n textColorScheme?: 'light' | 'dark';\n iconColorScheme?: 'light' | 'dark';\n aspectRatio?: '5:6' | '3:4' | '1:1';\n textSize?: 'small' | 'medium' | 'large' | 'x-large';\n showOverlay?: boolean;\n};\n\nexport function CategoryCardRoot<T extends ElementType = 'article'>({\n className,\n children,\n as,\n textColorScheme = 'light',\n iconColorScheme = 'light',\n aspectRatio = '5:6',\n textSize = 'small',\n showOverlay = true,\n ...props\n}: CategoryCardRootProps<T>) {\n const CategoryCardRootElement = as ?? 'article';\n\n const contextValues = useMemo(\n () => ({\n textColorScheme,\n iconColorScheme,\n aspectRatio,\n textSize,\n showOverlay,\n }),\n [textColorScheme, iconColorScheme, aspectRatio, textSize, showOverlay],\n );\n\n return (\n <CategoryCardContext.Provider value={contextValues}>\n <CategoryCardRootElement\n className={cn(\n 'group relative flex w-full max-w-md cursor-pointer flex-col gap-2 rounded-[var(--category-card-border-radius,1rem)] font-[var(--category-card-font-family,var(--font-family-body))] @container',\n {\n small: 'gap-2',\n medium: 'gap-3',\n large: 'gap-4',\n 'x-large': 'gap-5',\n }[textSize],\n className,\n )}\n data-slot=\"category-card-root\"\n {...props}\n >\n {children}\n </CategoryCardRootElement>\n </CategoryCardContext.Provider>\n );\n}\n\nexport function useCategoryCard() {\n const context = use(CategoryCardContext);\n\n if (context === undefined) {\n throw new Error('useCategoryCard must be used within a CategoryCardRoot');\n }\n\n return context;\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardIconProps = ComponentProps<typeof Slot>;\n\nexport function CategoryCardIcon({ className, children, ...props }: CategoryCardIconProps) {\n const { iconColorScheme } = useCategoryCard();\n\n return (\n <Slot\n className={cn(\n 'absolute right-5 top-5 z-10 transition-transform duration-700 ease-out group-hover:-translate-y-1.5 group-hover:translate-x-1.5',\n {\n light: 'text-[var(--category-card-light-icon,hsl(var(--foreground)))]',\n dark: 'text-[var(--category-card-dark-icon,hsl(var(--background)))]',\n }[iconColorScheme],\n className,\n )}\n data-slot=\"category-card-icon\"\n {...props}\n >\n {children}\n </Slot>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardThumbnailProps = ComponentProps<'div'>;\n\nexport function CategoryCardThumbnail({\n className,\n children,\n ...props\n}: CategoryCardThumbnailProps) {\n const { textColorScheme, aspectRatio } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'relative overflow-hidden rounded-[inherit] group-focus:ring-[var(--category-card-focus,hsl(var(--primary)))] group-focus-visible:ring-2',\n {\n light: 'bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]',\n }[textColorScheme],\n {\n '5:6': 'aspect-[5/6]',\n '3:4': 'aspect-[3/4]',\n '1:1': 'aspect-square',\n }[aspectRatio],\n className,\n )}\n data-slot=\"category-card-thumbnail\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardImageProps = ComponentProps<'img'> & {\n asChild?: boolean;\n};\n\nexport function CategoryCardImage({\n className,\n children,\n asChild = false,\n ...props\n}: CategoryCardImageProps) {\n const { textColorScheme } = useCategoryCard();\n\n const Component = asChild ? Slot : 'img';\n\n return (\n <Component\n className={cn(\n 'h-full w-full scale-100 select-none object-cover transition-transform duration-500 ease-out group-hover:scale-110',\n {\n light: 'bg-[var(--category-card-light-background,hsl(var(--contrast-100)))]',\n dark: 'bg-[var(--category-card-dark-background,hsl(var(--contrast-500)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-image\"\n {...props}\n />\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport type CategoryCardFallbackProps = ComponentProps<'div'>;\n\nexport function CategoryCardFallback({ className, children, ...props }: CategoryCardFallbackProps) {\n const { textColorScheme } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'break-words p-4 text-4xl font-bold leading-none tracking-tight transition-transform duration-500 ease-out group-hover:scale-105',\n {\n light: '[color:color-mix(in_oklab,hsl(var(--foreground))_30%,transparent)]',\n dark: '[color:color-mix(in_oklab,hsl(var(--background))_30%,transparent)]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-fallback\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nimport { useCategoryCard } from '../primitives';\n\nexport type CategoryCardOverlayProps = ComponentProps<'div'>;\n\nexport function CategoryCardOverlay({ children, className, ...props }: CategoryCardOverlayProps) {\n const { showOverlay } = useCategoryCard();\n\n return (\n <div\n className={cn(\n 'absolute inset-0 flex items-end p-6 @xs:p-8',\n showOverlay &&\n 'bg-gradient-to-b from-foreground/0 from-50% via-foreground/0 via-50% to-foreground/50 to-100%',\n className,\n )}\n data-slot=\"category-card-overlay\"\n {...props}\n >\n {children}\n </div>\n );\n}\n","'use client';\n\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib';\n\nimport { useCategoryCard } from '../primitives';\n\nexport type CategoryCardTitleProps = ComponentProps<'h3'>;\n\nexport function CategoryCardTitle({ children, className, ...props }: CategoryCardTitleProps) {\n const { textSize, textColorScheme } = useCategoryCard();\n\n return (\n <h3\n className={cn(\n 'font-medium leading-tight',\n {\n small: 'text-lg tracking-normal @xs:text-xl',\n medium: 'text-xl tracking-normal @xs:text-2xl',\n large: 'text-2xl tracking-tight @xs:text-3xl',\n 'x-large': 'text-3xl tracking-tight @xs:text-4xl',\n }[textSize],\n {\n light: 'text-[var(--category-card-light-text,hsl(var(--foreground)))]',\n dark: 'text-[var(--category-card-dark-text,hsl(var(--background)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-title\"\n {...props}\n >\n {children}\n </h3>\n );\n}\n","'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps } from 'react';\n\nimport { useCategoryCard } from '@/components/category-card';\nimport { cn } from '@/lib';\n\nexport interface CategoryCardLinkProps extends ComponentProps<'a'> {\n asChild?: boolean;\n}\n\nexport function CategoryCardLink({ asChild = false, className, ...props }: CategoryCardLinkProps) {\n const { textColorScheme } = useCategoryCard();\n\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'absolute inset-0 rounded-[var(--category-card-border-radius,1rem)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--category-card-focus,hsl(var(--primary)))] focus-visible:ring-offset-4',\n {\n light: 'ring-offset-[var(--category-card-light-offset,hsl(var(--background)))]',\n dark: 'ring-offset-[var(--category-card-dark-offset,hsl(var(--foreground)))]',\n }[textColorScheme],\n className,\n )}\n data-slot=\"category-card-link\"\n {...props}\n />\n );\n}\n"],"names":["CategoryCardContext","createContext","CategoryCardRoot","className","children","as","textColorScheme","iconColorScheme","aspectRatio","textSize","showOverlay","props","CategoryCardRootElement","contextValues","useMemo","jsx","cn","useCategoryCard","context","use","CategoryCardIcon","Slot","CategoryCardThumbnail","CategoryCardImage","asChild","Component","CategoryCardFallback","CategoryCardOverlay","CategoryCardTitle","CategoryCardLink"],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { jsx as c } from "react/jsx-runtime";
2
- import { a as t } from "./checkbox-root-CFYnDr-v.js";
3
- import { c as i } from "./utils-BOGlfttm.js";
4
- function e({ className: o, children: r, ...a }) {
5
- return /* @__PURE__ */ c(
6
- t,
7
- {
8
- className: i(o),
9
- "data-slot": "checkbox-indicator",
10
- ...a,
11
- children: r
12
- }
13
- );
14
- }
15
- export {
16
- e as C
17
- };
18
- //# sourceMappingURL=checkbox-indicator-C9hf5wZD.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-indicator-C9hf5wZD.js","sources":["../src/components/checkbox/primitives/checkbox-indicator.tsx"],"sourcesContent":["'use client';\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type CheckboxIndicatorProps = ComponentProps<typeof CheckboxPrimitive.Indicator>;\n\nexport function CheckboxIndicator({ className, children, ...props }: CheckboxIndicatorProps) {\n return (\n <CheckboxPrimitive.Indicator\n className={cn(className)}\n data-slot=\"checkbox-indicator\"\n {...props}\n >\n {children}\n </CheckboxPrimitive.Indicator>\n );\n}\n"],"names":["CheckboxIndicator","className","children","props","jsx","CheckboxPrimitive.Indicator","cn"],"mappings":";;;AASO,SAASA,EAAkB,EAAE,WAAAC,GAAW,UAAAC,GAAU,GAAGC,KAAiC;AAC3F,SACE,gBAAAC;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,WAAWC,EAAGL,CAAS;AAAA,MACvB,aAAU;AAAA,MACT,GAAGE;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP;"}
@@ -1,2 +0,0 @@
1
- "use strict";const e=require("react/jsx-runtime"),r=require("./checkbox-root-oz6K_T-0.cjs"),i=require("./utils-LBH114_M.cjs");function n({className:c,children:o,...t}){return e.jsx(r.CheckboxIndicator,{className:i.cn(c),"data-slot":"checkbox-indicator",...t,children:o})}exports.CheckboxIndicator=n;
2
- //# sourceMappingURL=checkbox-indicator-D3X4eolv.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox-indicator-D3X4eolv.cjs","sources":["../src/components/checkbox/primitives/checkbox-indicator.tsx"],"sourcesContent":["'use client';\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport type { ComponentProps } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nexport type CheckboxIndicatorProps = ComponentProps<typeof CheckboxPrimitive.Indicator>;\n\nexport function CheckboxIndicator({ className, children, ...props }: CheckboxIndicatorProps) {\n return (\n <CheckboxPrimitive.Indicator\n className={cn(className)}\n data-slot=\"checkbox-indicator\"\n {...props}\n >\n {children}\n </CheckboxPrimitive.Indicator>\n );\n}\n"],"names":["CheckboxIndicator","className","children","props","jsx","CheckboxPrimitive.Indicator","cn"],"mappings":"8HASO,SAASA,EAAkB,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAiC,CAC3F,OACEC,EAAAA,IAACC,EAAAA,kBAAA,CACC,UAAWC,EAAAA,GAAGL,CAAS,EACvB,YAAU,qBACT,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGP"}