@evolve.ui/core-components 1.1.0 → 1.2.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 (203) hide show
  1. package/{BottomSheet-ZV_eq3xt.mjs → BottomSheet-CNVLnEoD.mjs} +3 -3
  2. package/BottomSheet-CNVLnEoD.mjs.map +1 -0
  3. package/{BottomSheet-emWP9Fct.cjs → BottomSheet-D5w0WZDl.cjs} +3 -3
  4. package/BottomSheet-D5w0WZDl.cjs.map +1 -0
  5. package/Button.cjs +1 -1
  6. package/Button.mjs +1 -1
  7. package/{CookieConsent-CIwm0bTz.mjs → CookieConsent-B9dg9WdC.mjs} +2 -2
  8. package/{CookieConsent-CIwm0bTz.mjs.map → CookieConsent-B9dg9WdC.mjs.map} +1 -1
  9. package/{CookieConsent-PIglB_bb.cjs → CookieConsent-BSXJHMwX.cjs} +2 -2
  10. package/{CookieConsent-PIglB_bb.cjs.map → CookieConsent-BSXJHMwX.cjs.map} +1 -1
  11. package/{Drawer-9HFG45OA.cjs → Drawer-3rA9dGCl.cjs} +2 -2
  12. package/{Drawer-9HFG45OA.cjs.map → Drawer-3rA9dGCl.cjs.map} +1 -1
  13. package/Drawer-CFZbwg0R.d.cts.map +1 -1
  14. package/Drawer-CFZbwg0R.d.mts.map +1 -1
  15. package/{Drawer-BkCPfK6P.mjs → Drawer-DzKEmewj.mjs} +2 -2
  16. package/{Drawer-BkCPfK6P.mjs.map → Drawer-DzKEmewj.mjs.map} +1 -1
  17. package/{FavoriteButton-CC3qL0lR.mjs → FavoriteButton-7nK77lQP.mjs} +6 -6
  18. package/FavoriteButton-7nK77lQP.mjs.map +1 -0
  19. package/{FavoriteButton-BGF-3dze.d.cts → FavoriteButton-B8r_qtlj.d.cts} +2 -2
  20. package/{FavoriteButton-BGF-3dze.d.cts.map → FavoriteButton-B8r_qtlj.d.cts.map} +1 -1
  21. package/{FavoriteButton-DliYzkfu.cjs → FavoriteButton-BkIaWfgD.cjs} +6 -6
  22. package/FavoriteButton-BkIaWfgD.cjs.map +1 -0
  23. package/{FavoriteButton-BZEGWrRo.d.mts → FavoriteButton-hIkGjcKH.d.mts} +2 -2
  24. package/{FavoriteButton-BZEGWrRo.d.mts.map → FavoriteButton-hIkGjcKH.d.mts.map} +1 -1
  25. package/{FileUpload-p_pl9NXr.mjs → FileUpload-BfZOMsLs.mjs} +6 -6
  26. package/FileUpload-BfZOMsLs.mjs.map +1 -0
  27. package/{FileUpload--e_UJ_ek.cjs → FileUpload-gjRbkgrL.cjs} +6 -6
  28. package/FileUpload-gjRbkgrL.cjs.map +1 -0
  29. package/IconButton.cjs +1 -1
  30. package/IconButton.mjs +1 -1
  31. package/{ImageSlider-BidXfnLj.cjs → ImageSlider-CAgxQffP.cjs} +3 -3
  32. package/ImageSlider-CAgxQffP.cjs.map +1 -0
  33. package/{ImageSlider-CDrg_TbL.mjs → ImageSlider-fdrJ6lIJ.mjs} +3 -3
  34. package/ImageSlider-fdrJ6lIJ.mjs.map +1 -0
  35. package/InfoIconTooltip.cjs +1 -1
  36. package/InfoIconTooltip.cjs.map +1 -1
  37. package/InfoIconTooltip.mjs +1 -1
  38. package/InfoIconTooltip.mjs.map +1 -1
  39. package/InlineButton-CRLbNJZ3.d.mts.map +1 -1
  40. package/InlineButton-DoXGLiSE.d.cts.map +1 -1
  41. package/Input.cjs +1 -1
  42. package/Input.cjs.map +1 -1
  43. package/Input.mjs +1 -1
  44. package/Input.mjs.map +1 -1
  45. package/JumpMenu-BXYZnPIH.cjs.map +1 -1
  46. package/JumpMenu-DcZjAiej.mjs.map +1 -1
  47. package/{Menu-Cxu8CaX1.mjs → Menu-Bn4smlEe.mjs} +2 -2
  48. package/Menu-Bn4smlEe.mjs.map +1 -0
  49. package/{Menu-ClUogmwE.cjs → Menu-DuDhtoNP.cjs} +2 -2
  50. package/Menu-DuDhtoNP.cjs.map +1 -0
  51. package/Modal-DM0aXJZ5.d.cts.map +1 -1
  52. package/Modal-DM0aXJZ5.d.mts.map +1 -1
  53. package/{Modal-C6gatdtT.mjs → Modal-DtxWd7Le.mjs} +3 -2
  54. package/{Modal-C6gatdtT.mjs.map → Modal-DtxWd7Le.mjs.map} +1 -1
  55. package/{Modal-CiBqXyiK.cjs → Modal-q4HhBAQU.cjs} +3 -2
  56. package/Modal-q4HhBAQU.cjs.map +1 -0
  57. package/{Pagination-bAtbN478.cjs → Pagination-Denb9_zB.cjs} +2 -2
  58. package/{Pagination-bAtbN478.cjs.map → Pagination-Denb9_zB.cjs.map} +1 -1
  59. package/{Pagination-DIpGKMLz.mjs → Pagination-Dyfeys4B.mjs} +2 -2
  60. package/{Pagination-DIpGKMLz.mjs.map → Pagination-Dyfeys4B.mjs.map} +1 -1
  61. package/PhoneInput-B5pkpkdt.mjs.map +1 -1
  62. package/PhoneInput-BXnkBME4.d.mts.map +1 -1
  63. package/PhoneInput-Bkrbrins.d.cts.map +1 -1
  64. package/PhoneInput-CUMPOSxJ.cjs.map +1 -1
  65. package/{ProgressCircle-BC81D9sU.cjs → ProgressCircle-B6R4dxoV.cjs} +2 -2
  66. package/{ProgressCircle-BC81D9sU.cjs.map → ProgressCircle-B6R4dxoV.cjs.map} +1 -1
  67. package/{ProgressCircle-ae8cvZhe.mjs → ProgressCircle-zSai1HTT.mjs} +2 -2
  68. package/{ProgressCircle-ae8cvZhe.mjs.map → ProgressCircle-zSai1HTT.mjs.map} +1 -1
  69. package/SearchInput-DYIPC8Cd.d.cts.map +1 -1
  70. package/SearchInput-IfEWePDQ.d.mts.map +1 -1
  71. package/{Select-BkZu8OLs.mjs → Select-CH_ZN88G.mjs} +2 -2
  72. package/Select-CH_ZN88G.mjs.map +1 -0
  73. package/{Select-BXDjzyDs.cjs → Select-DCCcyLT4.cjs} +2 -2
  74. package/Select-DCCcyLT4.cjs.map +1 -0
  75. package/{SplitButton-DcmmLW8j.cjs → SplitButton-B_Y253RU.cjs} +2 -2
  76. package/{SplitButton-DcmmLW8j.cjs.map → SplitButton-B_Y253RU.cjs.map} +1 -1
  77. package/{SplitButton-WE5ymwCQ.mjs → SplitButton-_poP9Ykq.mjs} +2 -2
  78. package/{SplitButton-WE5ymwCQ.mjs.map → SplitButton-_poP9Ykq.mjs.map} +1 -1
  79. package/{Table-M-rANdMt.mjs → Table-CQGtDpvH.mjs} +3 -3
  80. package/{Table-M-rANdMt.mjs.map → Table-CQGtDpvH.mjs.map} +1 -1
  81. package/{Table-CLlDragJ.cjs → Table-D4UYosb1.cjs} +3 -3
  82. package/{Table-CLlDragJ.cjs.map → Table-D4UYosb1.cjs.map} +1 -1
  83. package/Typography/InlineButton.cjs +1 -1
  84. package/Typography/InlineButton.cjs.map +1 -1
  85. package/Typography/InlineButton.mjs +1 -1
  86. package/Typography/InlineButton.mjs.map +1 -1
  87. package/{ViewMore-BBoUvo7p.cjs → ViewMore-BcoSRZSl.cjs} +14 -1
  88. package/ViewMore-BcoSRZSl.cjs.map +1 -0
  89. package/{ViewMore-BrZPuE4E.mjs → ViewMore-Be0TQZ_2.mjs} +14 -1
  90. package/ViewMore-Be0TQZ_2.mjs.map +1 -0
  91. package/bottomSheet.cjs +1 -1
  92. package/bottomSheet.mjs +1 -1
  93. package/{buttonColorClasses-C3hg1at8.cjs → buttonColorClasses-CQQmLYfk.cjs} +4 -4
  94. package/buttonColorClasses-CQQmLYfk.cjs.map +1 -0
  95. package/{buttonColorClasses-B7OU4aQA.mjs → buttonColorClasses-CQnqAJXl.mjs} +4 -4
  96. package/buttonColorClasses-CQnqAJXl.mjs.map +1 -0
  97. package/card/components/createFavoriteButton.cjs +1 -1
  98. package/card/components/createFavoriteButton.mjs +1 -1
  99. package/cookieConsent.cjs +1 -1
  100. package/cookieConsent.mjs +1 -1
  101. package/drawer.cjs +1 -1
  102. package/drawer.mjs +1 -1
  103. package/favoriteButton.cjs +1 -1
  104. package/favoriteButton.d.cts +1 -1
  105. package/favoriteButton.d.mts +1 -1
  106. package/favoriteButton.mjs +1 -1
  107. package/featureFlags/hooks.d.cts +1 -1
  108. package/featureFlags/hooks.d.mts +1 -1
  109. package/fileUpload/testUtils/mockFilesAndImages.d.cts +3 -3
  110. package/fileUpload/testUtils/mockFilesAndImages.d.cts.map +1 -1
  111. package/fileUpload/testUtils/mockFilesAndImages.d.mts +3 -3
  112. package/fileUpload/testUtils/mockFilesAndImages.d.mts.map +1 -1
  113. package/fileUpload/testUtils/testUtils.d.cts +1 -1
  114. package/fileUpload/testUtils/testUtils.d.cts.map +1 -1
  115. package/fileUpload/testUtils/testUtils.d.mts +1 -1
  116. package/fileUpload/testUtils/testUtils.d.mts.map +1 -1
  117. package/fileUpload.cjs +1 -1
  118. package/fileUpload.mjs +1 -1
  119. package/imageSlider.cjs +1 -1
  120. package/imageSlider.mjs +1 -1
  121. package/index.cjs +14 -14
  122. package/index.d.cts +1 -1
  123. package/index.d.mts +1 -1
  124. package/index.mjs +14 -14
  125. package/menu.cjs +1 -1
  126. package/menu.mjs +1 -1
  127. package/modal/useCloseModal.cjs +2 -1
  128. package/modal/useCloseModal.cjs.map +1 -1
  129. package/modal/useCloseModal.mjs +2 -1
  130. package/modal/useCloseModal.mjs.map +1 -1
  131. package/modal.cjs +1 -1
  132. package/modal.mjs +1 -1
  133. package/package.json +2 -4
  134. package/pagination.cjs +1 -1
  135. package/pagination.mjs +1 -1
  136. package/progressCircle.cjs +1 -1
  137. package/progressCircle.mjs +1 -1
  138. package/searchInput.cjs +4 -4
  139. package/searchInput.cjs.map +1 -1
  140. package/searchInput.mjs +4 -4
  141. package/searchInput.mjs.map +1 -1
  142. package/select.cjs +1 -1
  143. package/select.mjs +1 -1
  144. package/selectAsync.cjs +1 -1
  145. package/selectAsync.mjs +1 -1
  146. package/selectAsyncCreatable.cjs +1 -1
  147. package/selectAsyncCreatable.mjs +1 -1
  148. package/selectCreatable.cjs +1 -1
  149. package/selectCreatable.mjs +1 -1
  150. package/splitButton.cjs +1 -1
  151. package/splitButton.mjs +1 -1
  152. package/src/BottomSheet/components/BottomSheetContentArea/BottomSheetContentArea.tsx +4 -3
  153. package/src/BottomSheet/components/BottomSheetOverlay/BottomSheetOverlayTranslate3d.tsx +5 -2
  154. package/src/Button/buttonColorClasses.ts +8 -3
  155. package/src/Drawer/Drawer.tsx +5 -8
  156. package/src/FavoriteButton/components/IconOnlyFavoriteButton/IconOnlyFavoriteButton.tsx +4 -1
  157. package/src/FavoriteButton/components/LabeledAnimatedFavoriteButton/LabeledAnimatedFavoriteButton.tsx +13 -6
  158. package/src/FavoriteButton/types/favoriteButton.ts +1 -1
  159. package/src/FileUpload/components/GridFileCard/GridFileCard.tsx +1 -1
  160. package/src/FileUpload/components/ListFileCard/ListFileCard.tsx +2 -2
  161. package/src/ImageSlider/ImageSlider.tsx +3 -1
  162. package/src/ImageSlider/components/Thumbnails/Thumbnails.tsx +1 -1
  163. package/src/JumpMenu/components/JumpMenuItem/JumpMenuItem.tsx +4 -1
  164. package/src/Menu/components/MenuItem/MenuItem.tsx +1 -1
  165. package/src/Modal/ComposableModal.tsx +9 -1
  166. package/src/Modal/hooks/useCloseModal.ts +8 -1
  167. package/src/PhoneInput/PhoneInput.tsx +7 -1
  168. package/src/ProgressCircle/ProgressCircle.tsx +1 -1
  169. package/src/SearchInput/SearchInput.tsx +5 -4
  170. package/src/Select/selectComponents.tsx +1 -2
  171. package/src/Tabs/Tabs.tsx +4 -4
  172. package/src/TextArea/TextArea.tsx +2 -0
  173. package/src/TextInput/TextInput.tsx +1 -1
  174. package/src/Tooltip/InfoIconTooltip.tsx +1 -1
  175. package/src/Typography/InlineButton/InlineButton.tsx +4 -3
  176. package/src/utils/smoothScrollTo.ts +18 -0
  177. package/table.cjs +1 -1
  178. package/table.mjs +1 -1
  179. package/tabs.cjs +1 -1
  180. package/tabs.cjs.map +1 -1
  181. package/tabs.mjs +1 -1
  182. package/tabs.mjs.map +1 -1
  183. package/textArea.cjs.map +1 -1
  184. package/textArea.mjs.map +1 -1
  185. package/viewMore.cjs +1 -1
  186. package/viewMore.mjs +1 -1
  187. package/BottomSheet-ZV_eq3xt.mjs.map +0 -1
  188. package/BottomSheet-emWP9Fct.cjs.map +0 -1
  189. package/FavoriteButton-CC3qL0lR.mjs.map +0 -1
  190. package/FavoriteButton-DliYzkfu.cjs.map +0 -1
  191. package/FileUpload--e_UJ_ek.cjs.map +0 -1
  192. package/FileUpload-p_pl9NXr.mjs.map +0 -1
  193. package/ImageSlider-BidXfnLj.cjs.map +0 -1
  194. package/ImageSlider-CDrg_TbL.mjs.map +0 -1
  195. package/Menu-ClUogmwE.cjs.map +0 -1
  196. package/Menu-Cxu8CaX1.mjs.map +0 -1
  197. package/Modal-CiBqXyiK.cjs.map +0 -1
  198. package/Select-BXDjzyDs.cjs.map +0 -1
  199. package/Select-BkZu8OLs.mjs.map +0 -1
  200. package/ViewMore-BBoUvo7p.cjs.map +0 -1
  201. package/ViewMore-BrZPuE4E.mjs.map +0 -1
  202. package/buttonColorClasses-B7OU4aQA.mjs.map +0 -1
  203. package/buttonColorClasses-C3hg1at8.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InlineButton.cjs","names":[],"sources":["../../src/Typography/InlineButton/InlineButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps, MouseEventHandler, ReactNode, useCallback } from 'react';\n\nimport { AnyIcon } from '../../Icons/anyIcon';\n\ntype InlineButtonStyle = 'primary' | 'critical' | 'neutral' | 'inverse';\n\ntype InlineStyles = {\n inlineStyles?: HTMLProps<HTMLDivElement>['style'];\n};\n\nconst downSizeIconSize = {\n md: 'sm',\n sm: 'xs',\n xs: 'xs',\n} as const;\n\ntype Props = {\n children: ReactNode;\n /**\n * Optional className to add to the button.\n */\n className?: string;\n /**\n * Optional icon to show alongside the component.\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} />\n * ```\n */\n icon?: AnyIcon;\n /**\n * Optional location for the icon's rendering. Requires `icon` prop to do anything\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} iconPlacement=\"right\" />\n * ```\n *\n * @default 'left'\n */\n iconPlacement?: 'left' | 'right';\n /**\n * Optional style for the icon's rendering.\n */\n iconStyle?: 'fill' | 'bold' | 'regular' | 'duotone';\n /**\n * Optional loading state trigger. Disables button and adds a loading state.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * The size of the inline button to render.\n *\n * sm = small\n * md = medium (default)\n */\n size?: 'md' | 'sm' | 'xs';\n /**\n * Button style. This matches a color palette in the theme.\n *\n * @default 'primary'\n */\n style?: InlineButtonStyle;\n /**\n * The type of the button.\n *\n * @default 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n} & Omit<HTMLProps<HTMLButtonElement>, 'style' | 'size' | 'as'> &\n InlineStyles;\n\nexport const InlineButton = forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n icon: Icon,\n iconPlacement = 'left',\n iconStyle,\n loading = false,\n onClick: onClickProp,\n size = 'md',\n style = 'primary',\n ...rest\n },\n ref\n ) => {\n const onClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n if (!disabled && !loading && onClickProp) {\n onClickProp(e);\n }\n\n // Handle the case where the button is in a Form and shouldnt trigger the form's onSubmit callback\n if (disabled || loading) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabled, loading, onClickProp]\n );\n\n return (\n <button\n aria-busy={loading}\n aria-live=\"polite\"\n className={cn(\n // GENERAL\n 'hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none',\n // FOCUS\n 'focus-visible:hui-focus-visible-outline focus-visible:underline',\n {\n 'focus-visible:hui-focus-visible-outline-inverse': style === 'inverse',\n },\n // HOVER\n 'hover:underline',\n { 'hover:no-underline': disabled || loading },\n // DISABLED\n 'disabled:cursor-not-allowed disabled:text-text-disabled',\n // SIZE\n 'h-[24px] text-base',\n {\n 'h-[20px] text-xs leading-4': size === 'xs',\n 'h-[22px] text-sm leading-5': size === 'sm',\n },\n // STYLE\n {\n 'text-link-primary hover:text-primary-700 active:text-primary-900': style === 'primary',\n 'text-link-secondary hover:text-surface-700 active:text-surface-900': style === 'neutral',\n 'text-text-critical hover:text-critical-700 active:text-critical-900': style === 'critical',\n 'text-text-inverse hover:text-surface-100 active:text-surface-200': style === 'inverse',\n },\n className\n )}\n data-hui-id=\"InlineButton\"\n disabled={disabled || loading}\n onClick={onClick}\n ref={ref}\n {...rest}\n >\n {Icon && iconPlacement === 'left' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n {children}\n {Icon && iconPlacement === 'right' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n </button>\n );\n }\n);\n\nInlineButton.displayName = 'InlineButton';\n"],"mappings":";;;;;;;;AAWA,MAAM,mBAAmB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;AACR;AA4DA,MAAa,gBAAA,GAAA,MAAA,WAAA,EAEL,EACI,UACA,WACA,WAAW,OACX,MAAM,MACN,gBAAgB,QAChB,WACA,UAAU,OACV,SAAS,aACT,OAAO,MACP,QAAQ,WACR,GAAG,QAEP,QACC;CACD,MAAM,WAAA,GAAA,MAAA,YAAA,EACD,MAAM;EACH,IAAI,CAAC,YAAY,CAAC,WAAW,aACzB,YAAY,CAAC;EAIjB,IAAI,YAAY,SAAS;GACrB,EAAE,eAAe;GACjB,EAAE,gBAAgB;EACtB;CACJ,GACA;EAAC;EAAU;EAAS;CAAW,CACnC;CAEA,OACI,iBAAA,GAAA,kBAAA,KAAA,CAAC,UAAD;EACI,aAAW;EACX,aAAU;EACV,YAAA,GAAA,wBAAA,GAAA,CAEI,8JAEA,mEACA,EACI,mDAAmD,UAAU,UACjE,GAEA,mBACA,EAAE,sBAAsB,YAAY,QAAQ,GAE5C,2DAEA,sBACA;GACI,8BAA8B,SAAS;GACvC,8BAA8B,SAAS;EAC3C,GAEA;GACI,oEAAoE,UAAU;GAC9E,sEAAsE,UAAU;GAChF,uEAAuE,UAAU;GACjF,oEAAoE,UAAU;EAClF,GACA,SACJ;EACA,eAAY;EACZ,UAAU,YAAY;EACb;EACJ;EACL,GAAI;YAnCR;GAqCK,QAAQ,kBAAkB,UACvB,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;GAEJ;GACA,QAAQ,kBAAkB,WACvB,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;EAED;;AAEhB,CACJ;AAEA,aAAa,cAAc"}
1
+ {"version":3,"file":"InlineButton.cjs","names":[],"sources":["../../src/Typography/InlineButton/InlineButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps, MouseEventHandler, ReactNode, useCallback } from 'react';\n\nimport { AnyIcon } from '../../Icons/anyIcon';\n\ntype InlineButtonStyle = 'primary' | 'critical' | 'neutral' | 'inverse';\n\ntype InlineStyles = {\n inlineStyles?: HTMLProps<HTMLDivElement>['style'];\n};\n\nconst downSizeIconSize = {\n md: 'sm',\n sm: 'xs',\n xs: 'xs',\n} as const;\n\ntype Props = {\n children: ReactNode;\n /**\n * Optional className to add to the button.\n */\n className?: string;\n /**\n * Optional icon to show alongside the component.\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} />\n * ```\n */\n icon?: AnyIcon;\n /**\n * Optional location for the icon's rendering. Requires `icon` prop to do anything\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} iconPlacement=\"right\" />\n * ```\n *\n * @default 'left'\n */\n iconPlacement?: 'left' | 'right';\n /**\n * Optional style for the icon's rendering.\n */\n iconStyle?: 'fill' | 'bold' | 'regular' | 'duotone';\n /**\n * Optional loading state trigger. Disables button and adds a loading state.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * The size of the inline button to render.\n *\n * sm = small\n * md = medium (default)\n */\n size?: 'md' | 'sm' | 'xs';\n /**\n * Button style. This matches a color palette in the theme.\n *\n * @default 'primary'\n */\n style?: InlineButtonStyle;\n /**\n * The type of the button.\n *\n * @default 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n} & Omit<HTMLProps<HTMLButtonElement>, 'style' | 'size' | 'as'> &\n InlineStyles;\n\nexport const InlineButton = forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n icon: Icon,\n iconPlacement = 'left',\n iconStyle,\n loading = false,\n onClick: onClickProp,\n size = 'md',\n style = 'primary',\n ...rest\n },\n ref\n ) => {\n const onClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n if (!disabled && !loading && onClickProp) {\n onClickProp(e);\n }\n\n // Handle the case where the button is in a Form and shouldnt trigger the form's onSubmit callback\n if (disabled || loading) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabled, loading, onClickProp]\n );\n\n return (\n <button\n aria-busy={loading}\n aria-live=\"polite\"\n className={cn(\n // GENERAL\n 'hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none',\n // FOCUS — the base `outline-none` above is unvariant (0,1,0), so the bare ring\n // (0,2,0) still wins after de-prefixing (DS-98 Phase 0).\n 'hui-focus-visible-outline focus-visible:underline',\n {\n 'hui-focus-visible-outline-inverse': style === 'inverse',\n },\n // HOVER\n 'hover:underline',\n { 'hover:no-underline': disabled || loading },\n // DISABLED\n 'disabled:cursor-not-allowed disabled:text-text-disabled',\n // SIZE\n 'h-[24px] text-base',\n {\n 'h-[20px] text-xs leading-4': size === 'xs',\n 'h-[22px] text-sm leading-5': size === 'sm',\n },\n // STYLE\n {\n 'text-link-primary hover:text-primary-700 active:text-primary-900': style === 'primary',\n 'text-link-secondary hover:text-surface-700 active:text-surface-900': style === 'neutral',\n 'text-text-critical hover:text-critical-700 active:text-critical-900': style === 'critical',\n 'text-text-inverse hover:text-surface-100 active:text-surface-200': style === 'inverse',\n },\n className\n )}\n data-hui-id=\"InlineButton\"\n disabled={disabled || loading}\n onClick={onClick}\n ref={ref}\n {...rest}\n >\n {Icon && iconPlacement === 'left' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n {children}\n {Icon && iconPlacement === 'right' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n </button>\n );\n }\n);\n\nInlineButton.displayName = 'InlineButton';\n"],"mappings":";;;;;;;;AAWA,MAAM,mBAAmB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;AACR;AA4DA,MAAa,gBAAA,GAAA,MAAA,WAAA,EAEL,EACI,UACA,WACA,WAAW,OACX,MAAM,MACN,gBAAgB,QAChB,WACA,UAAU,OACV,SAAS,aACT,OAAO,MACP,QAAQ,WACR,GAAG,QAEP,QACC;CACD,MAAM,WAAA,GAAA,MAAA,YAAA,EACD,MAAM;EACH,IAAI,CAAC,YAAY,CAAC,WAAW,aACzB,YAAY,CAAC;EAIjB,IAAI,YAAY,SAAS;GACrB,EAAE,eAAe;GACjB,EAAE,gBAAgB;EACtB;CACJ,GACA;EAAC;EAAU;EAAS;CAAW,CACnC;CAEA,OACI,iBAAA,GAAA,kBAAA,KAAA,CAAC,UAAD;EACI,aAAW;EACX,aAAU;EACV,YAAA,GAAA,wBAAA,GAAA,CAEI,8JAGA,qDACA,EACI,qCAAqC,UAAU,UACnD,GAEA,mBACA,EAAE,sBAAsB,YAAY,QAAQ,GAE5C,2DAEA,sBACA;GACI,8BAA8B,SAAS;GACvC,8BAA8B,SAAS;EAC3C,GAEA;GACI,oEAAoE,UAAU;GAC9E,sEAAsE,UAAU;GAChF,uEAAuE,UAAU;GACjF,oEAAoE,UAAU;EAClF,GACA,SACJ;EACA,eAAY;EACZ,UAAU,YAAY;EACb;EACJ;EACL,GAAI;YApCR;GAsCK,QAAQ,kBAAkB,UACvB,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;GAEJ;GACA,QAAQ,kBAAkB,WACvB,iBAAA,GAAA,kBAAA,IAAA,CAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;EAED;;AAEhB,CACJ;AAEA,aAAa,cAAc"}
@@ -23,7 +23,7 @@ const InlineButton = forwardRef(({ children, className, disabled = false, icon:
23
23
  return /* @__PURE__ */ jsxs("button", {
24
24
  "aria-busy": loading,
25
25
  "aria-live": "polite",
26
- className: cn("hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none", "focus-visible:hui-focus-visible-outline focus-visible:underline", { "focus-visible:hui-focus-visible-outline-inverse": style === "inverse" }, "hover:underline", { "hover:no-underline": disabled || loading }, "disabled:cursor-not-allowed disabled:text-text-disabled", "h-[24px] text-base", {
26
+ className: cn("hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none", "hui-focus-visible-outline focus-visible:underline", { "hui-focus-visible-outline-inverse": style === "inverse" }, "hover:underline", { "hover:no-underline": disabled || loading }, "disabled:cursor-not-allowed disabled:text-text-disabled", "h-[24px] text-base", {
27
27
  "h-[20px] text-xs leading-4": size === "xs",
28
28
  "h-[22px] text-sm leading-5": size === "sm"
29
29
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"InlineButton.mjs","names":[],"sources":["../../src/Typography/InlineButton/InlineButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps, MouseEventHandler, ReactNode, useCallback } from 'react';\n\nimport { AnyIcon } from '../../Icons/anyIcon';\n\ntype InlineButtonStyle = 'primary' | 'critical' | 'neutral' | 'inverse';\n\ntype InlineStyles = {\n inlineStyles?: HTMLProps<HTMLDivElement>['style'];\n};\n\nconst downSizeIconSize = {\n md: 'sm',\n sm: 'xs',\n xs: 'xs',\n} as const;\n\ntype Props = {\n children: ReactNode;\n /**\n * Optional className to add to the button.\n */\n className?: string;\n /**\n * Optional icon to show alongside the component.\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} />\n * ```\n */\n icon?: AnyIcon;\n /**\n * Optional location for the icon's rendering. Requires `icon` prop to do anything\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} iconPlacement=\"right\" />\n * ```\n *\n * @default 'left'\n */\n iconPlacement?: 'left' | 'right';\n /**\n * Optional style for the icon's rendering.\n */\n iconStyle?: 'fill' | 'bold' | 'regular' | 'duotone';\n /**\n * Optional loading state trigger. Disables button and adds a loading state.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * The size of the inline button to render.\n *\n * sm = small\n * md = medium (default)\n */\n size?: 'md' | 'sm' | 'xs';\n /**\n * Button style. This matches a color palette in the theme.\n *\n * @default 'primary'\n */\n style?: InlineButtonStyle;\n /**\n * The type of the button.\n *\n * @default 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n} & Omit<HTMLProps<HTMLButtonElement>, 'style' | 'size' | 'as'> &\n InlineStyles;\n\nexport const InlineButton = forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n icon: Icon,\n iconPlacement = 'left',\n iconStyle,\n loading = false,\n onClick: onClickProp,\n size = 'md',\n style = 'primary',\n ...rest\n },\n ref\n ) => {\n const onClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n if (!disabled && !loading && onClickProp) {\n onClickProp(e);\n }\n\n // Handle the case where the button is in a Form and shouldnt trigger the form's onSubmit callback\n if (disabled || loading) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabled, loading, onClickProp]\n );\n\n return (\n <button\n aria-busy={loading}\n aria-live=\"polite\"\n className={cn(\n // GENERAL\n 'hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none',\n // FOCUS\n 'focus-visible:hui-focus-visible-outline focus-visible:underline',\n {\n 'focus-visible:hui-focus-visible-outline-inverse': style === 'inverse',\n },\n // HOVER\n 'hover:underline',\n { 'hover:no-underline': disabled || loading },\n // DISABLED\n 'disabled:cursor-not-allowed disabled:text-text-disabled',\n // SIZE\n 'h-[24px] text-base',\n {\n 'h-[20px] text-xs leading-4': size === 'xs',\n 'h-[22px] text-sm leading-5': size === 'sm',\n },\n // STYLE\n {\n 'text-link-primary hover:text-primary-700 active:text-primary-900': style === 'primary',\n 'text-link-secondary hover:text-surface-700 active:text-surface-900': style === 'neutral',\n 'text-text-critical hover:text-critical-700 active:text-critical-900': style === 'critical',\n 'text-text-inverse hover:text-surface-100 active:text-surface-200': style === 'inverse',\n },\n className\n )}\n data-hui-id=\"InlineButton\"\n disabled={disabled || loading}\n onClick={onClick}\n ref={ref}\n {...rest}\n >\n {Icon && iconPlacement === 'left' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n {children}\n {Icon && iconPlacement === 'right' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n </button>\n );\n }\n);\n\nInlineButton.displayName = 'InlineButton';\n"],"mappings":";;;;AAWA,MAAM,mBAAmB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;AACR;AA4DA,MAAa,eAAe,YAEpB,EACI,UACA,WACA,WAAW,OACX,MAAM,MACN,gBAAgB,QAChB,WACA,UAAU,OACV,SAAS,aACT,OAAO,MACP,QAAQ,WACR,GAAG,QAEP,QACC;CACD,MAAM,UAAgD,aACjD,MAAM;EACH,IAAI,CAAC,YAAY,CAAC,WAAW,aACzB,YAAY,CAAC;EAIjB,IAAI,YAAY,SAAS;GACrB,EAAE,eAAe;GACjB,EAAE,gBAAgB;EACtB;CACJ,GACA;EAAC;EAAU;EAAS;CAAW,CACnC;CAEA,OACI,qBAAC,UAAD;EACI,aAAW;EACX,aAAU;EACV,WAAW,GAEP,8JAEA,mEACA,EACI,mDAAmD,UAAU,UACjE,GAEA,mBACA,EAAE,sBAAsB,YAAY,QAAQ,GAE5C,2DAEA,sBACA;GACI,8BAA8B,SAAS;GACvC,8BAA8B,SAAS;EAC3C,GAEA;GACI,oEAAoE,UAAU;GAC9E,sEAAsE,UAAU;GAChF,uEAAuE,UAAU;GACjF,oEAAoE,UAAU;EAClF,GACA,SACJ;EACA,eAAY;EACZ,UAAU,YAAY;EACb;EACJ;EACL,GAAI;YAnCR;GAqCK,QAAQ,kBAAkB,UACvB,oBAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;GAEJ;GACA,QAAQ,kBAAkB,WACvB,oBAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;EAED;;AAEhB,CACJ;AAEA,aAAa,cAAc"}
1
+ {"version":3,"file":"InlineButton.mjs","names":[],"sources":["../../src/Typography/InlineButton/InlineButton.tsx"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\nimport { forwardRef, HTMLProps, MouseEventHandler, ReactNode, useCallback } from 'react';\n\nimport { AnyIcon } from '../../Icons/anyIcon';\n\ntype InlineButtonStyle = 'primary' | 'critical' | 'neutral' | 'inverse';\n\ntype InlineStyles = {\n inlineStyles?: HTMLProps<HTMLDivElement>['style'];\n};\n\nconst downSizeIconSize = {\n md: 'sm',\n sm: 'xs',\n xs: 'xs',\n} as const;\n\ntype Props = {\n children: ReactNode;\n /**\n * Optional className to add to the button.\n */\n className?: string;\n /**\n * Optional icon to show alongside the component.\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} />\n * ```\n */\n icon?: AnyIcon;\n /**\n * Optional location for the icon's rendering. Requires `icon` prop to do anything\n *\n * Usage:\n * ```tsx\n * <InlineButton icon={Info} iconPlacement=\"right\" />\n * ```\n *\n * @default 'left'\n */\n iconPlacement?: 'left' | 'right';\n /**\n * Optional style for the icon's rendering.\n */\n iconStyle?: 'fill' | 'bold' | 'regular' | 'duotone';\n /**\n * Optional loading state trigger. Disables button and adds a loading state.\n *\n * @default false\n */\n loading?: boolean;\n /**\n * The size of the inline button to render.\n *\n * sm = small\n * md = medium (default)\n */\n size?: 'md' | 'sm' | 'xs';\n /**\n * Button style. This matches a color palette in the theme.\n *\n * @default 'primary'\n */\n style?: InlineButtonStyle;\n /**\n * The type of the button.\n *\n * @default 'button'\n */\n type?: 'button' | 'reset' | 'submit';\n} & Omit<HTMLProps<HTMLButtonElement>, 'style' | 'size' | 'as'> &\n InlineStyles;\n\nexport const InlineButton = forwardRef<HTMLButtonElement, Props>(\n (\n {\n children,\n className,\n disabled = false,\n icon: Icon,\n iconPlacement = 'left',\n iconStyle,\n loading = false,\n onClick: onClickProp,\n size = 'md',\n style = 'primary',\n ...rest\n },\n ref\n ) => {\n const onClick: MouseEventHandler<HTMLButtonElement> = useCallback(\n (e) => {\n if (!disabled && !loading && onClickProp) {\n onClickProp(e);\n }\n\n // Handle the case where the button is in a Form and shouldnt trigger the form's onSubmit callback\n if (disabled || loading) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabled, loading, onClickProp]\n );\n\n return (\n <button\n aria-busy={loading}\n aria-live=\"polite\"\n className={cn(\n // GENERAL\n 'hui-text-body-primary inline-flex w-min cursor-pointer items-center gap-2xs whitespace-nowrap border-none bg-transparent p-0 tracking-[0.5px] outline-none',\n // FOCUS — the base `outline-none` above is unvariant (0,1,0), so the bare ring\n // (0,2,0) still wins after de-prefixing (DS-98 Phase 0).\n 'hui-focus-visible-outline focus-visible:underline',\n {\n 'hui-focus-visible-outline-inverse': style === 'inverse',\n },\n // HOVER\n 'hover:underline',\n { 'hover:no-underline': disabled || loading },\n // DISABLED\n 'disabled:cursor-not-allowed disabled:text-text-disabled',\n // SIZE\n 'h-[24px] text-base',\n {\n 'h-[20px] text-xs leading-4': size === 'xs',\n 'h-[22px] text-sm leading-5': size === 'sm',\n },\n // STYLE\n {\n 'text-link-primary hover:text-primary-700 active:text-primary-900': style === 'primary',\n 'text-link-secondary hover:text-surface-700 active:text-surface-900': style === 'neutral',\n 'text-text-critical hover:text-critical-700 active:text-critical-900': style === 'critical',\n 'text-text-inverse hover:text-surface-100 active:text-surface-200': style === 'inverse',\n },\n className\n )}\n data-hui-id=\"InlineButton\"\n disabled={disabled || loading}\n onClick={onClick}\n ref={ref}\n {...rest}\n >\n {Icon && iconPlacement === 'left' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n {children}\n {Icon && iconPlacement === 'right' && (\n <Icon\n color=\"inherit\"\n size={downSizeIconSize[size]}\n style={iconStyle}\n />\n )}\n </button>\n );\n }\n);\n\nInlineButton.displayName = 'InlineButton';\n"],"mappings":";;;;AAWA,MAAM,mBAAmB;CACrB,IAAI;CACJ,IAAI;CACJ,IAAI;AACR;AA4DA,MAAa,eAAe,YAEpB,EACI,UACA,WACA,WAAW,OACX,MAAM,MACN,gBAAgB,QAChB,WACA,UAAU,OACV,SAAS,aACT,OAAO,MACP,QAAQ,WACR,GAAG,QAEP,QACC;CACD,MAAM,UAAgD,aACjD,MAAM;EACH,IAAI,CAAC,YAAY,CAAC,WAAW,aACzB,YAAY,CAAC;EAIjB,IAAI,YAAY,SAAS;GACrB,EAAE,eAAe;GACjB,EAAE,gBAAgB;EACtB;CACJ,GACA;EAAC;EAAU;EAAS;CAAW,CACnC;CAEA,OACI,qBAAC,UAAD;EACI,aAAW;EACX,aAAU;EACV,WAAW,GAEP,8JAGA,qDACA,EACI,qCAAqC,UAAU,UACnD,GAEA,mBACA,EAAE,sBAAsB,YAAY,QAAQ,GAE5C,2DAEA,sBACA;GACI,8BAA8B,SAAS;GACvC,8BAA8B,SAAS;EAC3C,GAEA;GACI,oEAAoE,UAAU;GAC9E,sEAAsE,UAAU;GAChF,uEAAuE,UAAU;GACjF,oEAAoE,UAAU;EAClF,GACA,SACJ;EACA,eAAY;EACZ,UAAU,YAAY;EACb;EACJ;EACL,GAAI;YApCR;GAsCK,QAAQ,kBAAkB,UACvB,oBAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;GAEJ;GACA,QAAQ,kBAAkB,WACvB,oBAAC,MAAD;IACI,OAAM;IACN,MAAM,iBAAiB;IACvB,OAAO;GACV,CAAA;EAED;;AAEhB,CACJ;AAEA,aAAa,cAAc"}
@@ -19,6 +19,15 @@ const easeInOutCubic = (t) => {
19
19
  * @param targetY - The target vertical scroll position in pixels
20
20
  * @param duration - The duration of the scroll animation in milliseconds (defaults to 300ms)
21
21
  *
22
+ * Under `prefers-reduced-motion: reduce` this jumps straight to the target instead of easing.
23
+ * The preference is read once, at call time, so toggling it mid-scroll will not interrupt a
24
+ * scroll already in flight — deliberate, since the scroll is at most a few hundred milliseconds.
25
+ *
26
+ * The `typeof` check is required rather than defensive: jsdom does not implement `matchMedia`,
27
+ * so an unguarded call would throw in tests. (`window` itself is not guarded because this
28
+ * function already dereferences `window.scrollY` unconditionally and only runs from event
29
+ * handlers.)
30
+ *
22
31
  * @example
23
32
  * ```tsx
24
33
  * // Scroll to 500px from the top over 300ms
@@ -33,6 +42,10 @@ const easeInOutCubic = (t) => {
33
42
  * ```
34
43
  */
35
44
  const smoothScrollTo = (targetY, duration = 300) => {
45
+ if (typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
46
+ window.scrollTo(0, targetY);
47
+ return;
48
+ }
36
49
  const startY = window.scrollY;
37
50
  const distance = targetY - startY;
38
51
  const startTime = performance.now();
@@ -135,4 +148,4 @@ Object.defineProperty(exports, "ViewMore", {
135
148
  }
136
149
  });
137
150
 
138
- //# sourceMappingURL=ViewMore-BBoUvo7p.cjs.map
151
+ //# sourceMappingURL=ViewMore-BcoSRZSl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewMore-BcoSRZSl.cjs","names":["effectEventListener","InlineButton","CaretUp","CaretDown"],"sources":["../src/utils/smoothScrollTo.ts","../src/ViewMore/ViewMore.tsx"],"sourcesContent":["/**\n * Easing function for smooth scroll animation\n * Uses cubic easing in-out curve\n * @param t - Progress value between 0 and 1\n * @returns Eased progress value\n */\nconst easeInOutCubic = (t: number): number => {\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n};\n\n/**\n * Smoothly scrolls the window to a specific vertical position using requestAnimationFrame\n * @param targetY - The target vertical scroll position in pixels\n * @param duration - The duration of the scroll animation in milliseconds (defaults to 300ms)\n *\n * Under `prefers-reduced-motion: reduce` this jumps straight to the target instead of easing.\n * The preference is read once, at call time, so toggling it mid-scroll will not interrupt a\n * scroll already in flight — deliberate, since the scroll is at most a few hundred milliseconds.\n *\n * The `typeof` check is required rather than defensive: jsdom does not implement `matchMedia`,\n * so an unguarded call would throw in tests. (`window` itself is not guarded because this\n * function already dereferences `window.scrollY` unconditionally and only runs from event\n * handlers.)\n *\n * @example\n * ```tsx\n * // Scroll to 500px from the top over 300ms\n * smoothScrollTo(500);\n *\n * // Scroll to top of an element with custom duration\n * const element = document.getElementById('my-element');\n * if (element) {\n * const targetY = element.getBoundingClientRect().top + window.scrollY;\n * smoothScrollTo(targetY, 500);\n * }\n * ```\n */\nexport const smoothScrollTo = (targetY: number, duration: number = 300): void => {\n const prefersReducedMotion =\n typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n if (prefersReducedMotion) {\n window.scrollTo(0, targetY);\n\n return;\n }\n\n const startY = window.scrollY;\n const distance = targetY - startY;\n const startTime = performance.now();\n\n const scroll = (currentTime: number) => {\n const elapsed = currentTime - startTime;\n const progress = Math.min(elapsed / duration, 1);\n const easeProgress = easeInOutCubic(progress);\n\n window.scrollTo(0, startY + distance * easeProgress);\n\n if (progress < 1) {\n requestAnimationFrame(scroll);\n }\n };\n\n requestAnimationFrame(scroll);\n};\n","import { cn, wrapVarRgb } from '@evolve.ui/theme-system';\nimport { MouseEvent, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { CaretDown, CaretUp } from '../Icons';\nimport { InlineButton } from '../Typography/InlineButton/InlineButton';\nimport { effectEventListener } from '../utils/effectEventListener';\nimport { smoothScrollTo } from '../utils/smoothScrollTo';\n\nconst SCROLL_TOP_OFFSET = 100;\nconst SCROLL_DURATION = 200;\n\ntype Props = {\n /**\n * Determines whether to center the inline button.\n */\n centerInlineButton?: boolean;\n /**\n * The inner text description or content to display.\n *\n */\n children: React.ReactNode;\n className?: string;\n /**\n * Custom text for the collapse button.\n *\n * @default 'Read Less'\n */\n collapseText?: string;\n /**\n * Whether the view more should be expanded by default.\n *\n * @default false\n */\n defaultExpanded?: boolean;\n /**\n * Prevents expansion/collapse while still allowing onClick callback to fire.\n * Useful when you want to control the expansion behavior externally.\n *\n * @default false\n */\n disableExpand?: boolean;\n /**\n * Custom text for the expand button.\n *\n * @default 'Read More'\n */\n expandText?: string;\n /**\n * Custom fade color.\n */\n fadeBackgroundColor?: string;\n /**\n * Callback function that is called when the view more is expanded or collapsed.\n */\n onChange?: (isExpanded: boolean) => void;\n /**\n * Callback function that is called when the view more button is clicked.\n * Can be used to track analytics or trigger other actions when the view more is interacted with.\n * Use the `disableExpand` prop if you want to prevent the default expansion/collapse behavior.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Determines whether to remove the fade background color.\n */\n removeFadeBackgroundColor?: boolean;\n /**\n * Whether to display caret icons (CaretDown/CaretUp) alongside the button text.\n *\n * @default false\n */\n showIcon?: boolean;\n /**\n * Number in pixels at which the text description will cut off and show the expand toggle.\n *\n * @default 150\n */\n textCutoffHeight?: number;\n /**\n * Determines whether to use a weak inline button.\n */\n useWeakInlineButton?: boolean;\n};\n\nexport const ViewMore = ({\n centerInlineButton,\n children,\n className,\n collapseText = 'Read Less',\n defaultExpanded = false,\n disableExpand = false,\n expandText = 'Read More',\n fadeBackgroundColor,\n onChange,\n onClick,\n removeFadeBackgroundColor,\n showIcon = false,\n textCutoffHeight = 150,\n useWeakInlineButton,\n}: Props) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(defaultExpanded);\n // Set initial height for SSR-friendly rendering:\n // - When expanded: Use large value (9999px) to show all content before useEffect measures actual height\n // - When collapsed: Use textCutoffHeight to truncate content appropriately\n const [height, setHeight] = useState<number>(defaultExpanded ? 9999 : textCutoffHeight);\n const [showViewToggle, setShowViewToggle] = useState<boolean>(false);\n const [enableTransitions, setEnableTransitions] = useState<boolean>(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleDescription = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n\n // If disableExpand is true, call onClick but don't toggle the expansion\n if (disableExpand) {\n return;\n }\n\n // Enable transitions on first user interaction\n setEnableTransitions(true);\n\n setIsExpanded((prevIsExpanded) => {\n const newHeight = prevIsExpanded\n ? textCutoffHeight\n : (contentRef.current?.scrollHeight ?? textCutoffHeight);\n setHeight(newHeight);\n onChange?.(!prevIsExpanded);\n\n // Scroll to top when collapsing with custom smooth scroll to match 300ms transition\n if (prevIsExpanded && containerRef.current) {\n const top = containerRef.current.getBoundingClientRect().top + window.scrollY - SCROLL_TOP_OFFSET;\n smoothScrollTo(top, SCROLL_DURATION);\n }\n\n return !prevIsExpanded;\n });\n },\n [textCutoffHeight, onChange, onClick, disableExpand]\n );\n\n const updateView = useCallback(() => {\n if (!contentRef.current) {\n return;\n }\n\n const scrollHeight = contentRef.current.scrollHeight;\n const shouldShowToggle = scrollHeight > textCutoffHeight;\n setShowViewToggle(shouldShowToggle);\n setHeight(isExpanded || !shouldShowToggle ? scrollHeight : textCutoffHeight);\n }, [isExpanded, textCutoffHeight]);\n\n useEffect(() => {\n if (!contentRef.current) {\n return;\n }\n updateView();\n\n const cleanupResizeListener = effectEventListener(window, 'resize', updateView);\n\n // Add ResizeObserver to detect content height changes\n const resizeObserver = new ResizeObserver(updateView);\n resizeObserver.observe(contentRef.current);\n\n return () => {\n cleanupResizeListener();\n resizeObserver.disconnect();\n };\n }, [updateView, children]);\n\n return (\n <div className={cn(className, 'flex flex-col gap-xs')}>\n <div\n className={cn('relative overflow-hidden', {\n 'transition-all duration-300 ease-in-out': enableTransitions,\n })}\n data-testid=\"description-container\"\n ref={containerRef}\n style={{\n height: showViewToggle ? `${height}px` : 'auto',\n maxHeight: showViewToggle || isExpanded ? undefined : `${textCutoffHeight}px`,\n }}\n >\n <div ref={contentRef}>{children}</div>\n {showViewToggle && !removeFadeBackgroundColor && !isExpanded && (\n <div\n className=\"absolute bottom-0 left-0 right-0 h-xl w-full\"\n style={{\n background: fadeBackgroundColor\n ? `linear-gradient(to bottom, transparent, ${fadeBackgroundColor})`\n : `linear-gradient(to bottom, transparent, ${wrapVarRgb('--color-background-primary')})`,\n }}\n />\n )}\n </div>\n {showViewToggle && (\n <div\n className={cn('w-full', {\n 'text-center': centerInlineButton,\n })}\n >\n {useWeakInlineButton ? (\n <InlineButton\n className=\"w-fit\"\n icon={showIcon ? (isExpanded ? CaretUp : CaretDown) : undefined}\n iconPlacement=\"right\"\n onClick={toggleDescription}\n style=\"neutral\"\n >\n {isExpanded ? collapseText : expandText}\n </InlineButton>\n ) : (\n <InlineButton\n className=\"w-fit\"\n icon={showIcon ? (isExpanded ? CaretUp : CaretDown) : undefined}\n iconPlacement=\"right\"\n onClick={toggleDescription}\n >\n {isExpanded ? collapseText : expandText}\n </InlineButton>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -19,6 +19,15 @@ const easeInOutCubic = (t) => {
19
19
  * @param targetY - The target vertical scroll position in pixels
20
20
  * @param duration - The duration of the scroll animation in milliseconds (defaults to 300ms)
21
21
  *
22
+ * Under `prefers-reduced-motion: reduce` this jumps straight to the target instead of easing.
23
+ * The preference is read once, at call time, so toggling it mid-scroll will not interrupt a
24
+ * scroll already in flight — deliberate, since the scroll is at most a few hundred milliseconds.
25
+ *
26
+ * The `typeof` check is required rather than defensive: jsdom does not implement `matchMedia`,
27
+ * so an unguarded call would throw in tests. (`window` itself is not guarded because this
28
+ * function already dereferences `window.scrollY` unconditionally and only runs from event
29
+ * handlers.)
30
+ *
22
31
  * @example
23
32
  * ```tsx
24
33
  * // Scroll to 500px from the top over 300ms
@@ -33,6 +42,10 @@ const easeInOutCubic = (t) => {
33
42
  * ```
34
43
  */
35
44
  const smoothScrollTo = (targetY, duration = 300) => {
45
+ if (typeof window.matchMedia === "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
46
+ window.scrollTo(0, targetY);
47
+ return;
48
+ }
36
49
  const startY = window.scrollY;
37
50
  const distance = targetY - startY;
38
51
  const startTime = performance.now();
@@ -130,4 +143,4 @@ const ViewMore = ({ centerInlineButton, children, className, collapseText = "Rea
130
143
  //#endregion
131
144
  export { ViewMore as t };
132
145
 
133
- //# sourceMappingURL=ViewMore-BrZPuE4E.mjs.map
146
+ //# sourceMappingURL=ViewMore-Be0TQZ_2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewMore-Be0TQZ_2.mjs","names":[],"sources":["../src/utils/smoothScrollTo.ts","../src/ViewMore/ViewMore.tsx"],"sourcesContent":["/**\n * Easing function for smooth scroll animation\n * Uses cubic easing in-out curve\n * @param t - Progress value between 0 and 1\n * @returns Eased progress value\n */\nconst easeInOutCubic = (t: number): number => {\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n};\n\n/**\n * Smoothly scrolls the window to a specific vertical position using requestAnimationFrame\n * @param targetY - The target vertical scroll position in pixels\n * @param duration - The duration of the scroll animation in milliseconds (defaults to 300ms)\n *\n * Under `prefers-reduced-motion: reduce` this jumps straight to the target instead of easing.\n * The preference is read once, at call time, so toggling it mid-scroll will not interrupt a\n * scroll already in flight — deliberate, since the scroll is at most a few hundred milliseconds.\n *\n * The `typeof` check is required rather than defensive: jsdom does not implement `matchMedia`,\n * so an unguarded call would throw in tests. (`window` itself is not guarded because this\n * function already dereferences `window.scrollY` unconditionally and only runs from event\n * handlers.)\n *\n * @example\n * ```tsx\n * // Scroll to 500px from the top over 300ms\n * smoothScrollTo(500);\n *\n * // Scroll to top of an element with custom duration\n * const element = document.getElementById('my-element');\n * if (element) {\n * const targetY = element.getBoundingClientRect().top + window.scrollY;\n * smoothScrollTo(targetY, 500);\n * }\n * ```\n */\nexport const smoothScrollTo = (targetY: number, duration: number = 300): void => {\n const prefersReducedMotion =\n typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n if (prefersReducedMotion) {\n window.scrollTo(0, targetY);\n\n return;\n }\n\n const startY = window.scrollY;\n const distance = targetY - startY;\n const startTime = performance.now();\n\n const scroll = (currentTime: number) => {\n const elapsed = currentTime - startTime;\n const progress = Math.min(elapsed / duration, 1);\n const easeProgress = easeInOutCubic(progress);\n\n window.scrollTo(0, startY + distance * easeProgress);\n\n if (progress < 1) {\n requestAnimationFrame(scroll);\n }\n };\n\n requestAnimationFrame(scroll);\n};\n","import { cn, wrapVarRgb } from '@evolve.ui/theme-system';\nimport { MouseEvent, useCallback, useEffect, useRef, useState } from 'react';\n\nimport { CaretDown, CaretUp } from '../Icons';\nimport { InlineButton } from '../Typography/InlineButton/InlineButton';\nimport { effectEventListener } from '../utils/effectEventListener';\nimport { smoothScrollTo } from '../utils/smoothScrollTo';\n\nconst SCROLL_TOP_OFFSET = 100;\nconst SCROLL_DURATION = 200;\n\ntype Props = {\n /**\n * Determines whether to center the inline button.\n */\n centerInlineButton?: boolean;\n /**\n * The inner text description or content to display.\n *\n */\n children: React.ReactNode;\n className?: string;\n /**\n * Custom text for the collapse button.\n *\n * @default 'Read Less'\n */\n collapseText?: string;\n /**\n * Whether the view more should be expanded by default.\n *\n * @default false\n */\n defaultExpanded?: boolean;\n /**\n * Prevents expansion/collapse while still allowing onClick callback to fire.\n * Useful when you want to control the expansion behavior externally.\n *\n * @default false\n */\n disableExpand?: boolean;\n /**\n * Custom text for the expand button.\n *\n * @default 'Read More'\n */\n expandText?: string;\n /**\n * Custom fade color.\n */\n fadeBackgroundColor?: string;\n /**\n * Callback function that is called when the view more is expanded or collapsed.\n */\n onChange?: (isExpanded: boolean) => void;\n /**\n * Callback function that is called when the view more button is clicked.\n * Can be used to track analytics or trigger other actions when the view more is interacted with.\n * Use the `disableExpand` prop if you want to prevent the default expansion/collapse behavior.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Determines whether to remove the fade background color.\n */\n removeFadeBackgroundColor?: boolean;\n /**\n * Whether to display caret icons (CaretDown/CaretUp) alongside the button text.\n *\n * @default false\n */\n showIcon?: boolean;\n /**\n * Number in pixels at which the text description will cut off and show the expand toggle.\n *\n * @default 150\n */\n textCutoffHeight?: number;\n /**\n * Determines whether to use a weak inline button.\n */\n useWeakInlineButton?: boolean;\n};\n\nexport const ViewMore = ({\n centerInlineButton,\n children,\n className,\n collapseText = 'Read Less',\n defaultExpanded = false,\n disableExpand = false,\n expandText = 'Read More',\n fadeBackgroundColor,\n onChange,\n onClick,\n removeFadeBackgroundColor,\n showIcon = false,\n textCutoffHeight = 150,\n useWeakInlineButton,\n}: Props) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(defaultExpanded);\n // Set initial height for SSR-friendly rendering:\n // - When expanded: Use large value (9999px) to show all content before useEffect measures actual height\n // - When collapsed: Use textCutoffHeight to truncate content appropriately\n const [height, setHeight] = useState<number>(defaultExpanded ? 9999 : textCutoffHeight);\n const [showViewToggle, setShowViewToggle] = useState<boolean>(false);\n const [enableTransitions, setEnableTransitions] = useState<boolean>(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleDescription = useCallback(\n (event: MouseEvent<HTMLButtonElement>) => {\n onClick?.(event);\n\n // If disableExpand is true, call onClick but don't toggle the expansion\n if (disableExpand) {\n return;\n }\n\n // Enable transitions on first user interaction\n setEnableTransitions(true);\n\n setIsExpanded((prevIsExpanded) => {\n const newHeight = prevIsExpanded\n ? textCutoffHeight\n : (contentRef.current?.scrollHeight ?? textCutoffHeight);\n setHeight(newHeight);\n onChange?.(!prevIsExpanded);\n\n // Scroll to top when collapsing with custom smooth scroll to match 300ms transition\n if (prevIsExpanded && containerRef.current) {\n const top = containerRef.current.getBoundingClientRect().top + window.scrollY - SCROLL_TOP_OFFSET;\n smoothScrollTo(top, SCROLL_DURATION);\n }\n\n return !prevIsExpanded;\n });\n },\n [textCutoffHeight, onChange, onClick, disableExpand]\n );\n\n const updateView = useCallback(() => {\n if (!contentRef.current) {\n return;\n }\n\n const scrollHeight = contentRef.current.scrollHeight;\n const shouldShowToggle = scrollHeight > textCutoffHeight;\n setShowViewToggle(shouldShowToggle);\n setHeight(isExpanded || !shouldShowToggle ? scrollHeight : textCutoffHeight);\n }, [isExpanded, textCutoffHeight]);\n\n useEffect(() => {\n if (!contentRef.current) {\n return;\n }\n updateView();\n\n const cleanupResizeListener = effectEventListener(window, 'resize', updateView);\n\n // Add ResizeObserver to detect content height changes\n const resizeObserver = new ResizeObserver(updateView);\n resizeObserver.observe(contentRef.current);\n\n return () => {\n cleanupResizeListener();\n resizeObserver.disconnect();\n };\n }, [updateView, children]);\n\n return (\n <div className={cn(className, 'flex flex-col gap-xs')}>\n <div\n className={cn('relative overflow-hidden', {\n 'transition-all duration-300 ease-in-out': enableTransitions,\n })}\n data-testid=\"description-container\"\n ref={containerRef}\n style={{\n height: showViewToggle ? `${height}px` : 'auto',\n maxHeight: showViewToggle || isExpanded ? undefined : `${textCutoffHeight}px`,\n }}\n >\n <div ref={contentRef}>{children}</div>\n {showViewToggle && !removeFadeBackgroundColor && !isExpanded && (\n <div\n className=\"absolute bottom-0 left-0 right-0 h-xl w-full\"\n style={{\n background: fadeBackgroundColor\n ? `linear-gradient(to bottom, transparent, ${fadeBackgroundColor})`\n : `linear-gradient(to bottom, transparent, ${wrapVarRgb('--color-background-primary')})`,\n }}\n />\n )}\n </div>\n {showViewToggle && (\n <div\n className={cn('w-full', {\n 'text-center': centerInlineButton,\n })}\n >\n {useWeakInlineButton ? (\n <InlineButton\n className=\"w-fit\"\n icon={showIcon ? (isExpanded ? CaretUp : CaretDown) : undefined}\n iconPlacement=\"right\"\n onClick={toggleDescription}\n style=\"neutral\"\n >\n {isExpanded ? collapseText : expandText}\n </InlineButton>\n ) : (\n <InlineButton\n className=\"w-fit\"\n icon={showIcon ? (isExpanded ? CaretUp : CaretDown) : undefined}\n iconPlacement=\"right\"\n onClick={toggleDescription}\n >\n {isExpanded ? collapseText : expandText}\n </InlineButton>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
package/bottomSheet.cjs CHANGED
@@ -3,5 +3,5 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_BottomSheet = require("./BottomSheet-emWP9Fct.cjs");
6
+ const require_BottomSheet = require("./BottomSheet-D5w0WZDl.cjs");
7
7
  exports.BottomSheet = require_BottomSheet.BottomSheet;
package/bottomSheet.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import { t as BottomSheet } from "./BottomSheet-ZV_eq3xt.mjs";
2
+ import { t as BottomSheet } from "./BottomSheet-CNVLnEoD.mjs";
3
3
  export { BottomSheet };
@@ -7,15 +7,15 @@ let _evolve_ui_theme_system = require("@evolve.ui/theme-system");
7
7
  const filledPrimaryClasses = (0, _evolve_ui_theme_system.cn)("bg-primary-500 text-text-inverse outline-transparent hover:bg-primary-700 active:bg-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-primary-500 aria-busy:text-transparent");
8
8
  const filledCriticalClasses = (0, _evolve_ui_theme_system.cn)("bg-critical-500 text-text-inverse outline-transparent hover:bg-critical-700 active:bg-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-critical-500 aria-busy:text-transparent");
9
9
  const filledNeutralClasses = (0, _evolve_ui_theme_system.cn)("bg-surface-500 text-text-inverse outline-transparent hover:bg-surface-700 active:bg-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-surface-500 aria-busy:text-transparent");
10
- const filledInverseClasses = (0, _evolve_ui_theme_system.cn)("bg-surface-50 text-primary-500 outline-transparent focus:hui-focus-visible-outline-inverse hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
10
+ const filledInverseClasses = (0, _evolve_ui_theme_system.cn)("hui-focus-visible-outline-inverse bg-surface-50 text-primary-500 outline-transparent hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
11
11
  const outlinedNeutralClasses = (0, _evolve_ui_theme_system.cn)("bg-background-primary text-surface-500 outline outline-1 outline-current hover:bg-surface-100 hover:text-surface-700 active:bg-surface-200 active:text-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-surface-500");
12
12
  const outlinedPrimaryClasses = (0, _evolve_ui_theme_system.cn)("bg-background-primary text-primary-500 outline outline-1 outline-current hover:bg-primary-100 hover:text-primary-700 active:bg-primary-200 active:text-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-primary-500");
13
13
  const outlinedCriticalClasses = (0, _evolve_ui_theme_system.cn)("bg-background-primary text-critical-500 outline outline-1 outline-current hover:bg-critical-100 hover:text-critical-700 active:bg-critical-200 active:text-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-critical-500");
14
- const outlinedInverseClasses = (0, _evolve_ui_theme_system.cn)("outline-solid bg-transparent text-icon-inverse outline outline-1 outline-surface-50 focus:hui-focus-visible-outline-inverse hover:bg-background-hover-inverse focus:outline-focus-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
14
+ const outlinedInverseClasses = (0, _evolve_ui_theme_system.cn)("outline-solid hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline outline-1 outline-surface-50 hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
15
15
  const transparentPrimaryClasses = (0, _evolve_ui_theme_system.cn)("bg-transparent text-primary-500 outline-transparent hover:bg-background-hover hover:text-primary-700 active:bg-background-pressed active:text-primary-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
16
16
  const transparentCriticalClasses = (0, _evolve_ui_theme_system.cn)("bg-transparent text-critical-500 outline-transparent hover:bg-background-hover hover:text-critical-700 active:bg-background-pressed active:text-critical-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
17
17
  const transparentNeutralClasses = (0, _evolve_ui_theme_system.cn)("bg-transparent text-surface-500 outline-transparent hover:bg-background-hover hover:text-surface-700 active:bg-background-pressed active:text-surface-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
18
- const transparentInverseClasses = (0, _evolve_ui_theme_system.cn)("bg-transparent text-icon-inverse outline-transparent focus:hui-focus-visible-outline-inverse hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent");
18
+ const transparentInverseClasses = (0, _evolve_ui_theme_system.cn)("hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline-transparent hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent");
19
19
  //#endregion
20
20
  Object.defineProperty(exports, "filledCriticalClasses", {
21
21
  enumerable: true,
@@ -90,4 +90,4 @@ Object.defineProperty(exports, "transparentPrimaryClasses", {
90
90
  }
91
91
  });
92
92
 
93
- //# sourceMappingURL=buttonColorClasses-C3hg1at8.cjs.map
93
+ //# sourceMappingURL=buttonColorClasses-CQQmLYfk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttonColorClasses-CQQmLYfk.cjs","names":[],"sources":["../src/Button/buttonColorClasses.ts"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\n\n/**\n * Color class constants shared between Button and IconButton components.\n * Each constant represents a combination of variant (filled/outlined/transparent) and style (primary/critical/neutral/inverse).\n */\n\nexport const filledPrimaryClasses = cn(\n 'bg-primary-500 text-text-inverse outline-transparent hover:bg-primary-700 active:bg-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-primary-500 aria-busy:text-transparent'\n);\n\nexport const filledCriticalClasses = cn(\n 'bg-critical-500 text-text-inverse outline-transparent hover:bg-critical-700 active:bg-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-critical-500 aria-busy:text-transparent'\n);\n\nexport const filledNeutralClasses = cn(\n 'bg-surface-500 text-text-inverse outline-transparent hover:bg-surface-700 active:bg-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-surface-500 aria-busy:text-transparent'\n);\n\nexport const filledInverseClasses = cn(\n 'hui-focus-visible-outline-inverse bg-surface-50 text-primary-500 outline-transparent hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n\nexport const outlinedNeutralClasses = cn(\n 'bg-background-primary text-surface-500 outline outline-1 outline-current hover:bg-surface-100 hover:text-surface-700 active:bg-surface-200 active:text-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-surface-500'\n);\nexport const outlinedPrimaryClasses = cn(\n 'bg-background-primary text-primary-500 outline outline-1 outline-current hover:bg-primary-100 hover:text-primary-700 active:bg-primary-200 active:text-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-primary-500'\n);\n\nexport const outlinedCriticalClasses = cn(\n 'bg-background-primary text-critical-500 outline outline-1 outline-current hover:bg-critical-100 hover:text-critical-700 active:bg-critical-200 active:text-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-critical-500'\n);\n\nexport const outlinedInverseClasses = cn(\n // Atomic (DS-98): de-prefixing the ring and deleting the bare-focus outline-color are one edit.\n // The latter is deleted rather than de-prefixed — this string carries a static `outline outline-1\n // outline-surface-50`, so an unconditional outline-color would permanently recolour the resting\n // outline; it also recoloured it on mouse click, which is the SA-07 defect. The -inverse ring\n // already sets that colour at :focus-visible.\n 'outline-solid hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline outline-1 outline-surface-50 hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n\nexport const transparentPrimaryClasses = cn(\n 'bg-transparent text-primary-500 outline-transparent hover:bg-background-hover hover:text-primary-700 active:bg-background-pressed active:text-primary-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentCriticalClasses = cn(\n 'bg-transparent text-critical-500 outline-transparent hover:bg-background-hover hover:text-critical-700 active:bg-background-pressed active:text-critical-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentNeutralClasses = cn(\n 'bg-transparent text-surface-500 outline-transparent hover:bg-background-hover hover:text-surface-700 active:bg-background-pressed active:text-surface-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentInverseClasses = cn(\n 'hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline-transparent hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n"],"mappings":";;;;;;AAOA,MAAa,wBAAA,GAAA,wBAAA,GAAA,CACT,8OACJ;AAEA,MAAa,yBAAA,GAAA,wBAAA,GAAA,CACT,kPACJ;AAEA,MAAa,wBAAA,GAAA,wBAAA,GAAA,CACT,8OACJ;AAEA,MAAa,wBAAA,GAAA,wBAAA,GAAA,CACT,qPACJ;AAEA,MAAa,0BAAA,GAAA,wBAAA,GAAA,CACT,uXACJ;AACA,MAAa,0BAAA,GAAA,wBAAA,GAAA,CACT,uXACJ;AAEA,MAAa,2BAAA,GAAA,wBAAA,GAAA,CACT,6XACJ;AAEA,MAAa,0BAAA,GAAA,wBAAA,GAAA,CAMT,+UACJ;AAEA,MAAa,6BAAA,GAAA,wBAAA,GAAA,CACT,uSACJ;AAEA,MAAa,8BAAA,GAAA,wBAAA,GAAA,CACT,0SACJ;AAEA,MAAa,6BAAA,GAAA,wBAAA,GAAA,CACT,uSACJ;AAEA,MAAa,6BAAA,GAAA,wBAAA,GAAA,CACT,2QACJ"}
@@ -7,16 +7,16 @@ import { cn } from "@evolve.ui/theme-system";
7
7
  const filledPrimaryClasses = cn("bg-primary-500 text-text-inverse outline-transparent hover:bg-primary-700 active:bg-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-primary-500 aria-busy:text-transparent");
8
8
  const filledCriticalClasses = cn("bg-critical-500 text-text-inverse outline-transparent hover:bg-critical-700 active:bg-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-critical-500 aria-busy:text-transparent");
9
9
  const filledNeutralClasses = cn("bg-surface-500 text-text-inverse outline-transparent hover:bg-surface-700 active:bg-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-surface-500 aria-busy:text-transparent");
10
- const filledInverseClasses = cn("bg-surface-50 text-primary-500 outline-transparent focus:hui-focus-visible-outline-inverse hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
10
+ const filledInverseClasses = cn("hui-focus-visible-outline-inverse bg-surface-50 text-primary-500 outline-transparent hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
11
11
  const outlinedNeutralClasses = cn("bg-background-primary text-surface-500 outline outline-1 outline-current hover:bg-surface-100 hover:text-surface-700 active:bg-surface-200 active:text-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-surface-500");
12
12
  const outlinedPrimaryClasses = cn("bg-background-primary text-primary-500 outline outline-1 outline-current hover:bg-primary-100 hover:text-primary-700 active:bg-primary-200 active:text-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-primary-500");
13
13
  const outlinedCriticalClasses = cn("bg-background-primary text-critical-500 outline outline-1 outline-current hover:bg-critical-100 hover:text-critical-700 active:bg-critical-200 active:text-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-critical-500");
14
- const outlinedInverseClasses = cn("outline-solid bg-transparent text-icon-inverse outline outline-1 outline-surface-50 focus:hui-focus-visible-outline-inverse hover:bg-background-hover-inverse focus:outline-focus-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
14
+ const outlinedInverseClasses = cn("outline-solid hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline outline-1 outline-surface-50 hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent");
15
15
  const transparentPrimaryClasses = cn("bg-transparent text-primary-500 outline-transparent hover:bg-background-hover hover:text-primary-700 active:bg-background-pressed active:text-primary-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
16
16
  const transparentCriticalClasses = cn("bg-transparent text-critical-500 outline-transparent hover:bg-background-hover hover:text-critical-700 active:bg-background-pressed active:text-critical-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
17
17
  const transparentNeutralClasses = cn("bg-transparent text-surface-500 outline-transparent hover:bg-background-hover hover:text-surface-700 active:bg-background-pressed active:text-surface-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent");
18
- const transparentInverseClasses = cn("bg-transparent text-icon-inverse outline-transparent focus:hui-focus-visible-outline-inverse hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent");
18
+ const transparentInverseClasses = cn("hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline-transparent hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent");
19
19
  //#endregion
20
20
  export { outlinedCriticalClasses as a, outlinedPrimaryClasses as c, transparentNeutralClasses as d, transparentPrimaryClasses as f, filledPrimaryClasses as i, transparentCriticalClasses as l, filledInverseClasses as n, outlinedInverseClasses as o, filledNeutralClasses as r, outlinedNeutralClasses as s, filledCriticalClasses as t, transparentInverseClasses as u };
21
21
 
22
- //# sourceMappingURL=buttonColorClasses-B7OU4aQA.mjs.map
22
+ //# sourceMappingURL=buttonColorClasses-CQnqAJXl.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttonColorClasses-CQnqAJXl.mjs","names":[],"sources":["../src/Button/buttonColorClasses.ts"],"sourcesContent":["import { cn } from '@evolve.ui/theme-system';\n\n/**\n * Color class constants shared between Button and IconButton components.\n * Each constant represents a combination of variant (filled/outlined/transparent) and style (primary/critical/neutral/inverse).\n */\n\nexport const filledPrimaryClasses = cn(\n 'bg-primary-500 text-text-inverse outline-transparent hover:bg-primary-700 active:bg-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-primary-500 aria-busy:text-transparent'\n);\n\nexport const filledCriticalClasses = cn(\n 'bg-critical-500 text-text-inverse outline-transparent hover:bg-critical-700 active:bg-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-critical-500 aria-busy:text-transparent'\n);\n\nexport const filledNeutralClasses = cn(\n 'bg-surface-500 text-text-inverse outline-transparent hover:bg-surface-700 active:bg-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:bg-surface-500 aria-busy:text-transparent'\n);\n\nexport const filledInverseClasses = cn(\n 'hui-focus-visible-outline-inverse bg-surface-50 text-primary-500 outline-transparent hover:bg-surface-100 active:bg-surface-200 disabled:cursor-not-allowed disabled:bg-background-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n\nexport const outlinedNeutralClasses = cn(\n 'bg-background-primary text-surface-500 outline outline-1 outline-current hover:bg-surface-100 hover:text-surface-700 active:bg-surface-200 active:text-surface-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-surface-500'\n);\nexport const outlinedPrimaryClasses = cn(\n 'bg-background-primary text-primary-500 outline outline-1 outline-current hover:bg-primary-100 hover:text-primary-700 active:bg-primary-200 active:text-primary-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-primary-500'\n);\n\nexport const outlinedCriticalClasses = cn(\n 'bg-background-primary text-critical-500 outline outline-1 outline-current hover:bg-critical-100 hover:text-critical-700 active:bg-critical-200 active:text-critical-900 disabled:cursor-not-allowed disabled:bg-background-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:bg-background-primary aria-busy:text-transparent aria-busy:outline-critical-500'\n);\n\nexport const outlinedInverseClasses = cn(\n // Atomic (DS-98): de-prefixing the ring and deleting the bare-focus outline-color are one edit.\n // The latter is deleted rather than de-prefixed — this string carries a static `outline outline-1\n // outline-surface-50`, so an unconditional outline-color would permanently recolour the resting\n // outline; it also recoloured it on mouse click, which is the SA-07 defect. The -inverse ring\n // already sets that colour at :focus-visible.\n 'outline-solid hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline outline-1 outline-surface-50 hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:text-text-disabled disabled:outline-border-disabled aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n\nexport const transparentPrimaryClasses = cn(\n 'bg-transparent text-primary-500 outline-transparent hover:bg-background-hover hover:text-primary-700 active:bg-background-pressed active:text-primary-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentCriticalClasses = cn(\n 'bg-transparent text-critical-500 outline-transparent hover:bg-background-hover hover:text-critical-700 active:bg-background-pressed active:text-critical-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentNeutralClasses = cn(\n 'bg-transparent text-surface-500 outline-transparent hover:bg-background-hover hover:text-surface-700 active:bg-background-pressed active:text-surface-900 disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:bg-background-pressed aria-busy:text-transparent'\n);\n\nexport const transparentInverseClasses = cn(\n 'hui-focus-visible-outline-inverse bg-transparent text-icon-inverse outline-transparent hover:bg-background-hover-inverse active:bg-background-pressed-inverse disabled:cursor-not-allowed disabled:bg-transparent aria-busy:cursor-not-allowed aria-busy:text-transparent'\n);\n"],"mappings":";;;;;;AAOA,MAAa,uBAAuB,GAChC,8OACJ;AAEA,MAAa,wBAAwB,GACjC,kPACJ;AAEA,MAAa,uBAAuB,GAChC,8OACJ;AAEA,MAAa,uBAAuB,GAChC,qPACJ;AAEA,MAAa,yBAAyB,GAClC,uXACJ;AACA,MAAa,yBAAyB,GAClC,uXACJ;AAEA,MAAa,0BAA0B,GACnC,6XACJ;AAEA,MAAa,yBAAyB,GAMlC,+UACJ;AAEA,MAAa,4BAA4B,GACrC,uSACJ;AAEA,MAAa,6BAA6B,GACtC,0SACJ;AAEA,MAAa,4BAA4B,GACrC,uSACJ;AAEA,MAAa,4BAA4B,GACrC,2QACJ"}
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_FavoriteButton = require("../../FavoriteButton-DliYzkfu.cjs");
6
+ const require_FavoriteButton = require("../../FavoriteButton-BkIaWfgD.cjs");
7
7
  let react = require("react");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  //#region src/Card/components/createFavoriteButton.tsx
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { t as FavoriteButton } from "../../FavoriteButton-CC3qL0lR.mjs";
2
+ import { t as FavoriteButton } from "../../FavoriteButton-7nK77lQP.mjs";
3
3
  import { useCallback } from "react";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region src/Card/components/createFavoriteButton.tsx
package/cookieConsent.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_CookieConsent = require("./CookieConsent-PIglB_bb.cjs");
6
+ const require_CookieConsent = require("./CookieConsent-BSXJHMwX.cjs");
7
7
  exports.ConsentSource = require_CookieConsent.ConsentSource;
8
8
  exports.CookieConsent = require_CookieConsent.CookieConsent;
9
9
  exports.DEFAULT_CONSENT_STORAGE_KEY = require_CookieConsent.DEFAULT_CONSENT_STORAGE_KEY;
package/cookieConsent.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import { a as DEFAULT_COOKIE_CATEGORIES, i as ConsentSource, n as DEFAULT_CONSENT_STORAGE_KEY, r as useCookieConsent, t as CookieConsent } from "./CookieConsent-CIwm0bTz.mjs";
2
+ import { a as DEFAULT_COOKIE_CATEGORIES, i as ConsentSource, n as DEFAULT_CONSENT_STORAGE_KEY, r as useCookieConsent, t as CookieConsent } from "./CookieConsent-B9dg9WdC.mjs";
3
3
  export { ConsentSource, CookieConsent, DEFAULT_CONSENT_STORAGE_KEY, DEFAULT_COOKIE_CATEGORIES, useCookieConsent };
package/drawer.cjs CHANGED
@@ -3,5 +3,5 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_Drawer = require("./Drawer-9HFG45OA.cjs");
6
+ const require_Drawer = require("./Drawer-3rA9dGCl.cjs");
7
7
  exports.Drawer = require_Drawer.Drawer;
package/drawer.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import { t as Drawer } from "./Drawer-BkCPfK6P.mjs";
2
+ import { t as Drawer } from "./Drawer-DzKEmewj.mjs";
3
3
  export { Drawer };
@@ -3,5 +3,5 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_FavoriteButton = require("./FavoriteButton-DliYzkfu.cjs");
6
+ const require_FavoriteButton = require("./FavoriteButton-BkIaWfgD.cjs");
7
7
  exports.FavoriteButton = require_FavoriteButton.FavoriteButton;
@@ -1,2 +1,2 @@
1
- import { t as FavoriteButton } from "./FavoriteButton-BGF-3dze.cjs";
1
+ import { t as FavoriteButton } from "./FavoriteButton-B8r_qtlj.cjs";
2
2
  export { FavoriteButton };
@@ -1,2 +1,2 @@
1
- import { t as FavoriteButton } from "./FavoriteButton-BZEGWrRo.mjs";
1
+ import { t as FavoriteButton } from "./FavoriteButton-hIkGjcKH.mjs";
2
2
  export { FavoriteButton };
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import { t as FavoriteButton } from "./FavoriteButton-CC3qL0lR.mjs";
2
+ import { t as FavoriteButton } from "./FavoriteButton-7nK77lQP.mjs";
3
3
  export { FavoriteButton };
@@ -1,2 +1,2 @@
1
- import { i as useFeatureFlag, r as useFeatureFlags } from "../FavoriteButton-BGF-3dze.cjs";
1
+ import { i as useFeatureFlag, r as useFeatureFlags } from "../FavoriteButton-B8r_qtlj.cjs";
2
2
  export { useFeatureFlag, useFeatureFlags };
@@ -1,2 +1,2 @@
1
- import { i as useFeatureFlag, r as useFeatureFlags } from "../FavoriteButton-BZEGWrRo.mjs";
1
+ import { i as useFeatureFlag, r as useFeatureFlags } from "../FavoriteButton-hIkGjcKH.mjs";
2
2
  export { useFeatureFlag, useFeatureFlags };
@@ -7,13 +7,13 @@ declare const mockColorfulImageUrl: RemoteFile;
7
7
  declare const mockNeutralImageUrl: RemoteFile;
8
8
  declare const mockFordMotorImageUrl: RemoteFile;
9
9
  declare const mockNonImageFiles: File[];
10
- declare const mockFilesAndImageUrls: (RemoteFile | File)[];
10
+ declare const mockFilesAndImageUrls: (File | RemoteFile)[];
11
11
  declare const mock10Files: File[];
12
12
  declare const mock500Files: File[];
13
13
  declare const mock10ImageUrls: RemoteFile[];
14
14
  declare const mock500ImageUrls: RemoteFile[];
15
- declare const mock20FilesAndImageUrls: (RemoteFile | File)[];
16
- declare const mock1kFilesAndImageUrls: (RemoteFile | File)[];
15
+ declare const mock20FilesAndImageUrls: (File | RemoteFile)[];
16
+ declare const mock1kFilesAndImageUrls: (File | RemoteFile)[];
17
17
  //#endregion
18
18
  export { mock10Files, mock10ImageUrls, mock1kFilesAndImageUrls, mock20FilesAndImageUrls, mock500Files, mock500ImageUrls, mockColorfulImageUrl, mockDarkBlueImageUrl, mockFilesAndImageUrls, mockFordMotorImageUrl, mockNeutralImageUrl, mockNonImageFiles, mockPdfFile };
19
19
  //# sourceMappingURL=mockFilesAndImages.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockFilesAndImages.d.cts","names":[],"sources":["../../../src/FileUpload/testUtils/mockFilesAndImages.ts"],"mappings":";;;cAIa,WAAA,EAAW,IAAiF;AAAA,cAG5F,oBAAA,EAAsB,UAIlC;AAAA,cAEY,oBAAA,EAAsB,UAIlC;AAAA,cAEY,mBAAA,EAAqB,UAIjC;AAAA,cAEY,qBAAA,EAAuB,UAInC;AAAA,cAGY,iBAAA,EAAiB,IAAA;AAAA,cAcjB,qBAAA,GAAqB,UAAA,GAAA,IAAA;AAAA,cAUrB,WAAA,EAAW,IAAA;AAAA,cACX,YAAA,EAAY,IAAA;AAAA,cAEZ,eAAA,EAAe,UAAA;AAAA,cACf,gBAAA,EAAgB,UAAA;AAAA,cAEhB,uBAAA,GAAuB,UAAA,GAAA,IAAA;AAAA,cACvB,uBAAA,GAAuB,UAAA,GAAA,IAAA"}
1
+ {"version":3,"file":"mockFilesAndImages.d.cts","names":[],"sources":["../../../src/FileUpload/testUtils/mockFilesAndImages.ts"],"mappings":";;;cAIa,WAAA,EAAW,IAAiF;AAAA,cAG5F,oBAAA,EAAsB,UAIlC;AAAA,cAEY,oBAAA,EAAsB,UAIlC;AAAA,cAEY,mBAAA,EAAqB,UAIjC;AAAA,cAEY,qBAAA,EAAuB,UAInC;AAAA,cAGY,iBAAA,EAAiB,IAAA;AAAA,cAcjB,qBAAA,GAAqB,IAAA,GAAA,UAAA;AAAA,cAUrB,WAAA,EAAW,IAAA;AAAA,cACX,YAAA,EAAY,IAAA;AAAA,cAEZ,eAAA,EAAe,UAAA;AAAA,cACf,gBAAA,EAAgB,UAAA;AAAA,cAEhB,uBAAA,GAAuB,IAAA,GAAA,UAAA;AAAA,cACvB,uBAAA,GAAuB,IAAA,GAAA,UAAA"}
@@ -7,13 +7,13 @@ declare const mockColorfulImageUrl: RemoteFile;
7
7
  declare const mockNeutralImageUrl: RemoteFile;
8
8
  declare const mockFordMotorImageUrl: RemoteFile;
9
9
  declare const mockNonImageFiles: File[];
10
- declare const mockFilesAndImageUrls: (RemoteFile | File)[];
10
+ declare const mockFilesAndImageUrls: (File | RemoteFile)[];
11
11
  declare const mock10Files: File[];
12
12
  declare const mock500Files: File[];
13
13
  declare const mock10ImageUrls: RemoteFile[];
14
14
  declare const mock500ImageUrls: RemoteFile[];
15
- declare const mock20FilesAndImageUrls: (RemoteFile | File)[];
16
- declare const mock1kFilesAndImageUrls: (RemoteFile | File)[];
15
+ declare const mock20FilesAndImageUrls: (File | RemoteFile)[];
16
+ declare const mock1kFilesAndImageUrls: (File | RemoteFile)[];
17
17
  //#endregion
18
18
  export { mock10Files, mock10ImageUrls, mock1kFilesAndImageUrls, mock20FilesAndImageUrls, mock500Files, mock500ImageUrls, mockColorfulImageUrl, mockDarkBlueImageUrl, mockFilesAndImageUrls, mockFordMotorImageUrl, mockNeutralImageUrl, mockNonImageFiles, mockPdfFile };
19
19
  //# sourceMappingURL=mockFilesAndImages.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mockFilesAndImages.d.mts","names":[],"sources":["../../../src/FileUpload/testUtils/mockFilesAndImages.ts"],"mappings":";;;cAIa,WAAA,EAAW,IAAiF;AAAA,cAG5F,oBAAA,EAAsB,UAIlC;AAAA,cAEY,oBAAA,EAAsB,UAIlC;AAAA,cAEY,mBAAA,EAAqB,UAIjC;AAAA,cAEY,qBAAA,EAAuB,UAInC;AAAA,cAGY,iBAAA,EAAiB,IAAA;AAAA,cAcjB,qBAAA,GAAqB,UAAA,GAAA,IAAA;AAAA,cAUrB,WAAA,EAAW,IAAA;AAAA,cACX,YAAA,EAAY,IAAA;AAAA,cAEZ,eAAA,EAAe,UAAA;AAAA,cACf,gBAAA,EAAgB,UAAA;AAAA,cAEhB,uBAAA,GAAuB,UAAA,GAAA,IAAA;AAAA,cACvB,uBAAA,GAAuB,UAAA,GAAA,IAAA"}
1
+ {"version":3,"file":"mockFilesAndImages.d.mts","names":[],"sources":["../../../src/FileUpload/testUtils/mockFilesAndImages.ts"],"mappings":";;;cAIa,WAAA,EAAW,IAAiF;AAAA,cAG5F,oBAAA,EAAsB,UAIlC;AAAA,cAEY,oBAAA,EAAsB,UAIlC;AAAA,cAEY,mBAAA,EAAqB,UAIjC;AAAA,cAEY,qBAAA,EAAuB,UAInC;AAAA,cAGY,iBAAA,EAAiB,IAAA;AAAA,cAcjB,qBAAA,GAAqB,IAAA,GAAA,UAAA;AAAA,cAUrB,WAAA,EAAW,IAAA;AAAA,cACX,YAAA,EAAY,IAAA;AAAA,cAEZ,eAAA,EAAe,UAAA;AAAA,cACf,gBAAA,EAAgB,UAAA;AAAA,cAEhB,uBAAA,GAAuB,IAAA,GAAA,UAAA;AAAA,cACvB,uBAAA,GAAuB,IAAA,GAAA,UAAA"}
@@ -7,7 +7,7 @@ declare const createTestFile: (name: string, type: string, sizeInBytes?: number)
7
7
  declare const shuffleArray: <T>(array: T[]) => T[];
8
8
  declare const createMockFiles: (count: number) => File[];
9
9
  declare const createMockRemoteFileImages: (count: number) => RemoteFile[];
10
- declare const createMixedFilesAndImageUrls: (fileCount: number, imageUrlCount: number) => (RemoteFile | File)[];
10
+ declare const createMixedFilesAndImageUrls: (fileCount: number, imageUrlCount: number) => (File | RemoteFile)[];
11
11
  //#endregion
12
12
  export { createMixedFilesAndImageUrls, createMockFiles, createMockRemoteFileImages, createRemoteFileFromUrl, createTestFile, getRandomImage, shuffleArray };
13
13
  //# sourceMappingURL=testUtils.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../../../src/FileUpload/testUtils/testUtils.ts"],"mappings":";;;cAiCa,cAAA;AAAA,cAMA,uBAAA,GAA2B,GAAA,UAAa,KAAA,cAAiB,UAsBrE;AAAA,cAEY,cAAA,GAAkB,IAAA,UAAc,IAAA,UAAc,WAAA,cAAqB,IAiB/E;AAAA,cAGY,YAAA,MAAmB,KAAA,EAAO,CAAA,OAAM,CAAC;AAAA,cAUjC,eAAA,GAAmB,KAAA,aAAgB,IAAI;AAAA,cAMvC,0BAAA,GAA8B,KAAA,aAAgB,UAAU;AAAA,cAOxD,4BAAA,GAAgC,SAAA,UAAmB,aAAA,cAAqB,UAAA,GAAA,IAAA"}
1
+ {"version":3,"file":"testUtils.d.cts","names":[],"sources":["../../../src/FileUpload/testUtils/testUtils.ts"],"mappings":";;;cAiCa,cAAA;AAAA,cAMA,uBAAA,GAA2B,GAAA,UAAa,KAAA,cAAiB,UAsBrE;AAAA,cAEY,cAAA,GAAkB,IAAA,UAAc,IAAA,UAAc,WAAA,cAAqB,IAiB/E;AAAA,cAGY,YAAA,MAAmB,KAAA,EAAO,CAAA,OAAM,CAAC;AAAA,cAUjC,eAAA,GAAmB,KAAA,aAAgB,IAAI;AAAA,cAMvC,0BAAA,GAA8B,KAAA,aAAgB,UAAU;AAAA,cAOxD,4BAAA,GAAgC,SAAA,UAAmB,aAAA,cAAqB,IAAA,GAAA,UAAA"}
@@ -7,7 +7,7 @@ declare const createTestFile: (name: string, type: string, sizeInBytes?: number)
7
7
  declare const shuffleArray: <T>(array: T[]) => T[];
8
8
  declare const createMockFiles: (count: number) => File[];
9
9
  declare const createMockRemoteFileImages: (count: number) => RemoteFile[];
10
- declare const createMixedFilesAndImageUrls: (fileCount: number, imageUrlCount: number) => (RemoteFile | File)[];
10
+ declare const createMixedFilesAndImageUrls: (fileCount: number, imageUrlCount: number) => (File | RemoteFile)[];
11
11
  //#endregion
12
12
  export { createMixedFilesAndImageUrls, createMockFiles, createMockRemoteFileImages, createRemoteFileFromUrl, createTestFile, getRandomImage, shuffleArray };
13
13
  //# sourceMappingURL=testUtils.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../../../src/FileUpload/testUtils/testUtils.ts"],"mappings":";;;cAiCa,cAAA;AAAA,cAMA,uBAAA,GAA2B,GAAA,UAAa,KAAA,cAAiB,UAsBrE;AAAA,cAEY,cAAA,GAAkB,IAAA,UAAc,IAAA,UAAc,WAAA,cAAqB,IAiB/E;AAAA,cAGY,YAAA,MAAmB,KAAA,EAAO,CAAA,OAAM,CAAC;AAAA,cAUjC,eAAA,GAAmB,KAAA,aAAgB,IAAI;AAAA,cAMvC,0BAAA,GAA8B,KAAA,aAAgB,UAAU;AAAA,cAOxD,4BAAA,GAAgC,SAAA,UAAmB,aAAA,cAAqB,UAAA,GAAA,IAAA"}
1
+ {"version":3,"file":"testUtils.d.mts","names":[],"sources":["../../../src/FileUpload/testUtils/testUtils.ts"],"mappings":";;;cAiCa,cAAA;AAAA,cAMA,uBAAA,GAA2B,GAAA,UAAa,KAAA,cAAiB,UAsBrE;AAAA,cAEY,cAAA,GAAkB,IAAA,UAAc,IAAA,UAAc,WAAA,cAAqB,IAiB/E;AAAA,cAGY,YAAA,MAAmB,KAAA,EAAO,CAAA,OAAM,CAAC;AAAA,cAUjC,eAAA,GAAmB,KAAA,aAAgB,IAAI;AAAA,cAMvC,0BAAA,GAA8B,KAAA,aAAgB,UAAU;AAAA,cAOxD,4BAAA,GAAgC,SAAA,UAAmB,aAAA,cAAqB,IAAA,GAAA,UAAA"}
package/fileUpload.cjs CHANGED
@@ -4,7 +4,7 @@ Object.defineProperties(exports, {
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
6
  const require_hooks = require("./hooks-8VsDqwlb.cjs");
7
- const require_FileUpload = require("./FileUpload--e_UJ_ek.cjs");
7
+ const require_FileUpload = require("./FileUpload-gjRbkgrL.cjs");
8
8
  exports.FileCard = require_FileUpload.FileCard;
9
9
  exports.FileDropzone = require_FileUpload.FileDropzone;
10
10
  exports.FileDropzoneOverlay = require_FileUpload.FileDropzoneOverlay;
package/fileUpload.mjs CHANGED
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
  import { a as useValidationContext, c as getFilePluralizationText, i as UploadValidationProvider, l as getFileExtensionsFromAcceptedTypes, n as useFileValidation, r as UploadValidationContext } from "./hooks-D4sJ62Xl.mjs";
3
- import { a as FileCard, c as FileDropzone, d as useFileUploadContext, i as FilePreviewList, l as FileUploadContext, n as FileDropzoneOverlay, o as ListFileCard, r as FileUpload, s as GridFileCard, t as FileUploadCanvas, u as FileUploadProvider } from "./FileUpload-p_pl9NXr.mjs";
3
+ import { a as FileCard, c as FileDropzone, d as useFileUploadContext, i as FilePreviewList, l as FileUploadContext, n as FileDropzoneOverlay, o as ListFileCard, r as FileUpload, s as GridFileCard, t as FileUploadCanvas, u as FileUploadProvider } from "./FileUpload-BfZOMsLs.mjs";
4
4
  export { FileCard, FileDropzone, FileDropzoneOverlay, FilePreviewList, FileUpload, FileUploadCanvas, FileUploadContext, FileUploadProvider, GridFileCard, ListFileCard, UploadValidationContext, UploadValidationProvider, getFileExtensionsFromAcceptedTypes, getFilePluralizationText, useFileUploadContext, useFileValidation, useValidationContext };
package/imageSlider.cjs CHANGED
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  __esModule: { value: true },
4
4
  [Symbol.toStringTag]: { value: "Module" }
5
5
  });
6
- const require_ImageSlider = require("./ImageSlider-BidXfnLj.cjs");
6
+ const require_ImageSlider = require("./ImageSlider-CAgxQffP.cjs");
7
7
  exports.CAROUSEL_CARD_GAP_NUM = require_ImageSlider.CAROUSEL_CARD_GAP_NUM;
8
8
  exports.ImageSlider = require_ImageSlider.ImageSlider;
9
9
  exports.ThumbnailDisplay = require_ImageSlider.ThumbnailDisplay;
package/imageSlider.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  'use client';
2
- import { i as Thumbnails, n as CAROUSEL_CARD_GAP_NUM, r as ThumbnailDisplay, t as ImageSlider } from "./ImageSlider-CDrg_TbL.mjs";
2
+ import { i as Thumbnails, n as CAROUSEL_CARD_GAP_NUM, r as ThumbnailDisplay, t as ImageSlider } from "./ImageSlider-fdrJ6lIJ.mjs";
3
3
  export { CAROUSEL_CARD_GAP_NUM, ImageSlider, ThumbnailDisplay, Thumbnails };