@forgedevstack/bear 1.1.1 → 1.1.4

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 (276) hide show
  1. package/dist/components/ActionIcon/ActionIcon.cjs +1 -0
  2. package/dist/components/ActionIcon/ActionIcon.const.cjs +1 -0
  3. package/dist/components/ActionIcon/ActionIcon.const.d.ts +7 -0
  4. package/dist/components/ActionIcon/ActionIcon.const.js +68 -0
  5. package/dist/components/ActionIcon/ActionIcon.d.ts +4 -0
  6. package/dist/components/ActionIcon/ActionIcon.js +42 -0
  7. package/dist/components/ActionIcon/ActionIcon.types.d.ts +11 -0
  8. package/dist/components/ActionIcon/index.d.ts +2 -0
  9. package/dist/components/Affix/Affix.cjs +1 -0
  10. package/dist/components/Affix/Affix.const.cjs +1 -0
  11. package/dist/components/Affix/Affix.const.d.ts +6 -0
  12. package/dist/components/Affix/Affix.const.js +9 -0
  13. package/dist/components/Affix/Affix.d.ts +4 -0
  14. package/dist/components/Affix/Affix.js +69 -0
  15. package/dist/components/Affix/Affix.types.d.ts +10 -0
  16. package/dist/components/Affix/index.d.ts +2 -0
  17. package/dist/components/AlertDialog/AlertDialog.cjs +1 -0
  18. package/dist/components/AlertDialog/AlertDialog.const.cjs +1 -0
  19. package/dist/components/AlertDialog/AlertDialog.const.d.ts +5 -0
  20. package/dist/components/AlertDialog/AlertDialog.const.js +8 -0
  21. package/dist/components/AlertDialog/AlertDialog.d.ts +4 -0
  22. package/dist/components/AlertDialog/AlertDialog.js +107 -0
  23. package/dist/components/AlertDialog/AlertDialog.types.d.ts +34 -0
  24. package/dist/components/AlertDialog/index.d.ts +3 -0
  25. package/dist/components/Anchor/Anchor.cjs +1 -0
  26. package/dist/components/Anchor/Anchor.const.cjs +1 -0
  27. package/dist/components/Anchor/Anchor.const.d.ts +9 -0
  28. package/dist/components/Anchor/Anchor.const.js +11 -0
  29. package/dist/components/Anchor/Anchor.d.ts +4 -0
  30. package/dist/components/Anchor/Anchor.js +91 -0
  31. package/dist/components/Anchor/Anchor.types.d.ts +16 -0
  32. package/dist/components/Anchor/index.d.ts +2 -0
  33. package/dist/components/AspectRatio/AspectRatio.cjs +1 -0
  34. package/dist/components/AspectRatio/AspectRatio.d.ts +3 -0
  35. package/dist/components/AspectRatio/AspectRatio.js +29 -0
  36. package/dist/components/AspectRatio/AspectRatio.types.d.ts +9 -0
  37. package/dist/components/AspectRatio/index.d.ts +2 -0
  38. package/dist/components/Blockquote/Blockquote.cjs +1 -0
  39. package/dist/components/Blockquote/Blockquote.const.cjs +1 -0
  40. package/dist/components/Blockquote/Blockquote.const.d.ts +5 -0
  41. package/dist/components/Blockquote/Blockquote.const.js +19 -0
  42. package/dist/components/Blockquote/Blockquote.d.ts +4 -0
  43. package/dist/components/Blockquote/Blockquote.js +56 -0
  44. package/dist/components/Blockquote/Blockquote.types.d.ts +9 -0
  45. package/dist/components/Blockquote/index.d.ts +2 -0
  46. package/dist/components/Button/Button.cjs +1 -1
  47. package/dist/components/Button/Button.constants.cjs +2 -2
  48. package/dist/components/Button/Button.constants.d.ts +1 -0
  49. package/dist/components/Button/Button.constants.js +10 -3
  50. package/dist/components/Button/Button.js +92 -84
  51. package/dist/components/Button/Button.types.d.ts +2 -0
  52. package/dist/components/CheckboxCard/CheckboxCard.cjs +1 -0
  53. package/dist/components/CheckboxCard/CheckboxCard.const.cjs +1 -0
  54. package/dist/components/CheckboxCard/CheckboxCard.const.d.ts +7 -0
  55. package/dist/components/CheckboxCard/CheckboxCard.const.js +22 -0
  56. package/dist/components/CheckboxCard/CheckboxCard.d.ts +5 -0
  57. package/dist/components/CheckboxCard/CheckboxCard.js +132 -0
  58. package/dist/components/CheckboxCard/CheckboxCard.types.d.ts +21 -0
  59. package/dist/components/CheckboxCard/index.d.ts +2 -0
  60. package/dist/components/ColorPicker/ColorPicker.cjs +1 -1
  61. package/dist/components/ColorPicker/ColorPicker.const.cjs +1 -0
  62. package/dist/components/ColorPicker/ColorPicker.const.d.ts +26 -0
  63. package/dist/components/ColorPicker/ColorPicker.const.js +38 -0
  64. package/dist/components/ColorPicker/ColorPicker.js +61 -78
  65. package/dist/components/ColorSwatch/ColorSwatch.cjs +1 -0
  66. package/dist/components/ColorSwatch/ColorSwatch.const.cjs +1 -0
  67. package/dist/components/ColorSwatch/ColorSwatch.const.d.ts +16 -0
  68. package/dist/components/ColorSwatch/ColorSwatch.const.js +19 -0
  69. package/dist/components/ColorSwatch/ColorSwatch.d.ts +5 -0
  70. package/dist/components/ColorSwatch/ColorSwatch.js +92 -0
  71. package/dist/components/ColorSwatch/ColorSwatch.types.d.ts +23 -0
  72. package/dist/components/ColorSwatch/ColorSwatch.utils.cjs +1 -0
  73. package/dist/components/ColorSwatch/ColorSwatch.utils.d.ts +6 -0
  74. package/dist/components/ColorSwatch/ColorSwatch.utils.js +14 -0
  75. package/dist/components/ColorSwatch/index.d.ts +2 -0
  76. package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
  77. package/dist/components/ContextMenu/ContextMenu.const.cjs +1 -0
  78. package/dist/components/ContextMenu/ContextMenu.const.d.ts +9 -0
  79. package/dist/components/ContextMenu/ContextMenu.const.js +12 -0
  80. package/dist/components/ContextMenu/ContextMenu.d.ts +4 -0
  81. package/dist/components/ContextMenu/ContextMenu.js +64 -0
  82. package/dist/components/ContextMenu/ContextMenu.types.d.ts +23 -0
  83. package/dist/components/ContextMenu/index.d.ts +2 -0
  84. package/dist/components/DateRangePicker/DateRangePicker.cjs +1 -0
  85. package/dist/components/DateRangePicker/DateRangePicker.const.cjs +1 -0
  86. package/dist/components/DateRangePicker/DateRangePicker.const.d.ts +27 -0
  87. package/dist/components/DateRangePicker/DateRangePicker.const.js +74 -0
  88. package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
  89. package/dist/components/DateRangePicker/DateRangePicker.js +115 -0
  90. package/dist/components/DateRangePicker/DateRangePicker.types.d.ts +26 -0
  91. package/dist/components/DateRangePicker/DateRangePicker.utils.cjs +1 -0
  92. package/dist/components/DateRangePicker/DateRangePicker.utils.d.ts +4 -0
  93. package/dist/components/DateRangePicker/DateRangePicker.utils.js +22 -0
  94. package/dist/components/DateRangePicker/index.d.ts +2 -0
  95. package/dist/components/Descriptions/Descriptions.cjs +1 -0
  96. package/dist/components/Descriptions/Descriptions.const.cjs +1 -0
  97. package/dist/components/Descriptions/Descriptions.const.d.ts +24 -0
  98. package/dist/components/Descriptions/Descriptions.const.js +27 -0
  99. package/dist/components/Descriptions/Descriptions.d.ts +4 -0
  100. package/dist/components/Descriptions/Descriptions.js +65 -0
  101. package/dist/components/Descriptions/Descriptions.types.d.ts +16 -0
  102. package/dist/components/Descriptions/index.d.ts +2 -0
  103. package/dist/components/Fieldset/Fieldset.cjs +1 -0
  104. package/dist/components/Fieldset/Fieldset.const.cjs +1 -0
  105. package/dist/components/Fieldset/Fieldset.const.d.ts +5 -0
  106. package/dist/components/Fieldset/Fieldset.const.js +16 -0
  107. package/dist/components/Fieldset/Fieldset.d.ts +4 -0
  108. package/dist/components/Fieldset/Fieldset.js +47 -0
  109. package/dist/components/Fieldset/Fieldset.types.d.ts +10 -0
  110. package/dist/components/Fieldset/index.d.ts +2 -0
  111. package/dist/components/FormField/FormField.cjs +1 -0
  112. package/dist/components/FormField/FormField.const.cjs +1 -0
  113. package/dist/components/FormField/FormField.const.d.ts +20 -0
  114. package/dist/components/FormField/FormField.const.js +23 -0
  115. package/dist/components/FormField/FormField.d.ts +3 -0
  116. package/dist/components/FormField/FormField.js +127 -0
  117. package/dist/components/FormField/FormField.types.d.ts +23 -0
  118. package/dist/components/FormField/index.d.ts +2 -0
  119. package/dist/components/ImageGallery/ImageGallery.cjs +1 -0
  120. package/dist/components/ImageGallery/ImageGallery.const.cjs +1 -0
  121. package/dist/components/ImageGallery/ImageGallery.const.d.ts +13 -0
  122. package/dist/components/ImageGallery/ImageGallery.const.js +16 -0
  123. package/dist/components/ImageGallery/ImageGallery.d.ts +4 -0
  124. package/dist/components/ImageGallery/ImageGallery.js +61 -0
  125. package/dist/components/ImageGallery/ImageGallery.types.d.ts +22 -0
  126. package/dist/components/ImageGallery/index.d.ts +2 -0
  127. package/dist/components/Indicator/Indicator.cjs +1 -0
  128. package/dist/components/Indicator/Indicator.const.cjs +1 -0
  129. package/dist/components/Indicator/Indicator.const.d.ts +15 -0
  130. package/dist/components/Indicator/Indicator.const.js +26 -0
  131. package/dist/components/Indicator/Indicator.d.ts +4 -0
  132. package/dist/components/Indicator/Indicator.js +56 -0
  133. package/dist/components/Indicator/Indicator.types.d.ts +16 -0
  134. package/dist/components/Indicator/index.d.ts +2 -0
  135. package/dist/components/InfiniteScroll/InfiniteScroll.cjs +1 -0
  136. package/dist/components/InfiniteScroll/InfiniteScroll.const.cjs +1 -0
  137. package/dist/components/InfiniteScroll/InfiniteScroll.const.d.ts +7 -0
  138. package/dist/components/InfiniteScroll/InfiniteScroll.const.js +10 -0
  139. package/dist/components/InfiniteScroll/InfiniteScroll.d.ts +4 -0
  140. package/dist/components/InfiniteScroll/InfiniteScroll.js +51 -0
  141. package/dist/components/InfiniteScroll/InfiniteScroll.types.d.ts +13 -0
  142. package/dist/components/InfiniteScroll/index.d.ts +2 -0
  143. package/dist/components/Input/Input.cjs +1 -1
  144. package/dist/components/Input/Input.js +114 -44
  145. package/dist/components/Input/Input.types.d.ts +20 -0
  146. package/dist/components/Input/Input.utils.cjs +1 -0
  147. package/dist/components/Input/Input.utils.d.ts +2 -0
  148. package/dist/components/Input/Input.utils.js +15 -0
  149. package/dist/components/Input/components/ClearIcon/ClearIcon.cjs +1 -0
  150. package/dist/components/Input/components/ClearIcon/ClearIcon.d.ts +7 -0
  151. package/dist/components/Input/components/ClearIcon/ClearIcon.js +25 -0
  152. package/dist/components/Input/components/ClearIcon/index.d.ts +1 -0
  153. package/dist/components/Input/index.d.ts +1 -1
  154. package/dist/components/InputGroup/InputGroup.cjs +1 -0
  155. package/dist/components/InputGroup/InputGroup.d.ts +4 -0
  156. package/dist/components/InputGroup/InputGroup.js +63 -0
  157. package/dist/components/InputGroup/InputGroup.types.d.ts +23 -0
  158. package/dist/components/InputGroup/index.d.ts +2 -0
  159. package/dist/components/LoadingOverlay/LoadingOverlay.cjs +1 -0
  160. package/dist/components/LoadingOverlay/LoadingOverlay.const.cjs +1 -0
  161. package/dist/components/LoadingOverlay/LoadingOverlay.const.d.ts +6 -0
  162. package/dist/components/LoadingOverlay/LoadingOverlay.const.js +9 -0
  163. package/dist/components/LoadingOverlay/LoadingOverlay.d.ts +4 -0
  164. package/dist/components/LoadingOverlay/LoadingOverlay.js +42 -0
  165. package/dist/components/LoadingOverlay/LoadingOverlay.types.d.ts +11 -0
  166. package/dist/components/LoadingOverlay/index.d.ts +2 -0
  167. package/dist/components/NumberFormatter/NumberFormatter.cjs +1 -0
  168. package/dist/components/NumberFormatter/NumberFormatter.const.cjs +1 -0
  169. package/dist/components/NumberFormatter/NumberFormatter.const.d.ts +5 -0
  170. package/dist/components/NumberFormatter/NumberFormatter.const.js +8 -0
  171. package/dist/components/NumberFormatter/NumberFormatter.d.ts +4 -0
  172. package/dist/components/NumberFormatter/NumberFormatter.js +53 -0
  173. package/dist/components/NumberFormatter/NumberFormatter.types.d.ts +20 -0
  174. package/dist/components/NumberFormatter/NumberFormatter.utils.cjs +1 -0
  175. package/dist/components/NumberFormatter/NumberFormatter.utils.d.ts +2 -0
  176. package/dist/components/NumberFormatter/NumberFormatter.utils.js +19 -0
  177. package/dist/components/NumberFormatter/index.d.ts +2 -0
  178. package/dist/components/PasswordInput/PasswordInput.cjs +1 -0
  179. package/dist/components/PasswordInput/PasswordInput.d.ts +3 -0
  180. package/dist/components/PasswordInput/PasswordInput.js +61 -0
  181. package/dist/components/PasswordInput/PasswordInput.types.d.ts +18 -0
  182. package/dist/components/PasswordInput/index.d.ts +2 -0
  183. package/dist/components/Popconfirm/Popconfirm.cjs +1 -0
  184. package/dist/components/Popconfirm/Popconfirm.const.cjs +1 -0
  185. package/dist/components/Popconfirm/Popconfirm.const.d.ts +13 -0
  186. package/dist/components/Popconfirm/Popconfirm.const.js +20 -0
  187. package/dist/components/Popconfirm/Popconfirm.d.ts +4 -0
  188. package/dist/components/Popconfirm/Popconfirm.js +65 -0
  189. package/dist/components/Popconfirm/Popconfirm.types.d.ts +16 -0
  190. package/dist/components/Popconfirm/index.d.ts +2 -0
  191. package/dist/components/RadioCard/RadioCard.cjs +1 -0
  192. package/dist/components/RadioCard/RadioCard.const.cjs +1 -0
  193. package/dist/components/RadioCard/RadioCard.const.d.ts +7 -0
  194. package/dist/components/RadioCard/RadioCard.const.js +22 -0
  195. package/dist/components/RadioCard/RadioCard.d.ts +5 -0
  196. package/dist/components/RadioCard/RadioCard.js +111 -0
  197. package/dist/components/RadioCard/RadioCard.types.d.ts +22 -0
  198. package/dist/components/RadioCard/index.d.ts +2 -0
  199. package/dist/components/ResizableTextarea/ResizableTextarea.cjs +1 -1
  200. package/dist/components/ResizableTextarea/ResizableTextarea.js +90 -54
  201. package/dist/components/ResizableTextarea/ResizableTextarea.types.d.ts +10 -0
  202. package/dist/components/Result/Result.cjs +1 -0
  203. package/dist/components/Result/Result.const.cjs +1 -0
  204. package/dist/components/Result/Result.const.d.ts +10 -0
  205. package/dist/components/Result/Result.const.js +20 -0
  206. package/dist/components/Result/Result.d.ts +4 -0
  207. package/dist/components/Result/Result.icons.cjs +1 -0
  208. package/dist/components/Result/Result.icons.d.ts +3 -0
  209. package/dist/components/Result/Result.icons.js +31 -0
  210. package/dist/components/Result/Result.js +35 -0
  211. package/dist/components/Result/Result.types.d.ts +10 -0
  212. package/dist/components/Result/index.d.ts +2 -0
  213. package/dist/components/RichEditor/RichEditor.cjs +1 -1
  214. package/dist/components/RichEditor/RichEditor.js +186 -169
  215. package/dist/components/RichEditor/RichEditor.types.d.ts +4 -0
  216. package/dist/components/RingProgress/RingProgress.cjs +1 -0
  217. package/dist/components/RingProgress/RingProgress.const.cjs +1 -0
  218. package/dist/components/RingProgress/RingProgress.const.d.ts +4 -0
  219. package/dist/components/RingProgress/RingProgress.const.js +7 -0
  220. package/dist/components/RingProgress/RingProgress.d.ts +4 -0
  221. package/dist/components/RingProgress/RingProgress.js +67 -0
  222. package/dist/components/RingProgress/RingProgress.types.d.ts +15 -0
  223. package/dist/components/RingProgress/index.d.ts +2 -0
  224. package/dist/components/SignPad/SignPad.cjs +1 -1
  225. package/dist/components/SignPad/SignPad.const.cjs +1 -1
  226. package/dist/components/SignPad/SignPad.const.js +10 -11
  227. package/dist/components/SignPad/SignPad.d.ts +4 -6
  228. package/dist/components/SignPad/SignPad.js +108 -116
  229. package/dist/components/SignPad/SignPad.types.d.ts +2 -2
  230. package/dist/components/SplitButton/SplitButton.cjs +1 -0
  231. package/dist/components/SplitButton/SplitButton.const.cjs +1 -0
  232. package/dist/components/SplitButton/SplitButton.const.d.ts +25 -0
  233. package/dist/components/SplitButton/SplitButton.const.js +27 -0
  234. package/dist/components/SplitButton/SplitButton.d.ts +4 -0
  235. package/dist/components/SplitButton/SplitButton.js +73 -0
  236. package/dist/components/SplitButton/SplitButton.types.d.ts +21 -0
  237. package/dist/components/SplitButton/index.d.ts +2 -0
  238. package/dist/components/Spoiler/Spoiler.cjs +1 -0
  239. package/dist/components/Spoiler/Spoiler.const.cjs +1 -0
  240. package/dist/components/Spoiler/Spoiler.const.d.ts +6 -0
  241. package/dist/components/Spoiler/Spoiler.const.js +9 -0
  242. package/dist/components/Spoiler/Spoiler.d.ts +4 -0
  243. package/dist/components/Spoiler/Spoiler.js +59 -0
  244. package/dist/components/Spoiler/Spoiler.types.d.ts +10 -0
  245. package/dist/components/Spoiler/index.d.ts +2 -0
  246. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -1
  247. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +63 -57
  248. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -1
  249. package/dist/components/TimePicker/helpers/ClockFaceSvg.d.ts +0 -7
  250. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +32 -31
  251. package/dist/components/TreeSelect/TreeSelect.cjs +1 -0
  252. package/dist/components/TreeSelect/TreeSelect.const.cjs +1 -0
  253. package/dist/components/TreeSelect/TreeSelect.const.d.ts +19 -0
  254. package/dist/components/TreeSelect/TreeSelect.const.js +22 -0
  255. package/dist/components/TreeSelect/TreeSelect.d.ts +4 -0
  256. package/dist/components/TreeSelect/TreeSelect.js +128 -0
  257. package/dist/components/TreeSelect/TreeSelect.types.d.ts +25 -0
  258. package/dist/components/TreeSelect/TreeSelect.utils.cjs +1 -0
  259. package/dist/components/TreeSelect/TreeSelect.utils.d.ts +5 -0
  260. package/dist/components/TreeSelect/TreeSelect.utils.js +25 -0
  261. package/dist/components/TreeSelect/index.d.ts +2 -0
  262. package/dist/components/index.cjs +1 -1
  263. package/dist/components/index.d.ts +54 -0
  264. package/dist/components/index.js +349 -292
  265. package/dist/index.cjs +1 -1
  266. package/dist/index.js +439 -382
  267. package/dist/postcss/bear-plugin.cjs +86 -0
  268. package/dist/styles/_alerts.css +14 -0
  269. package/dist/styles/_base.css +56 -0
  270. package/dist/styles/_buttons.css +108 -0
  271. package/dist/styles/_effects.css +90 -0
  272. package/dist/styles/_marquee.css +25 -0
  273. package/dist/styles/main.css +5 -0
  274. package/dist/styles.css +1 -1
  275. package/dist/types/component.types.d.ts +13 -0
  276. package/package.json +10 -6
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),r=require("../../utils/cn.cjs");require("react");const _=require("../Spinner/Spinner.cjs"),e=require("./ActionIcon.const.cjs"),c=({children:a,variant:i="default",color:o="default",size:t="md",radius:S="md",loading:n=!1,disabled:u=!1,testId:l,className:A,...I})=>{const b=u||n,d=e.VARIANT_CLASSES[i][o];return s.jsx("button",{type:"button",disabled:b,"aria-busy":n||void 0,className:r.cn(e.ROOT_CLASS,e.SIZE_CLASSES[t],e.RADIUS_MAP[S],d,n&&"bear-cursor-wait",A),"data-testid":l,...I,children:n?s.jsx(_.Spinner,{size:e.SPINNER_SIZE_MAP[t],className:e.ICON_SIZE_MAP[t]}):s.jsx("span",{className:r.cn("bear-inline-flex bear-items-center bear-justify-center",e.ICON_SIZE_MAP[t]),children:a})})};c.displayName="ActionIcon";exports.ActionIcon=c;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r={xs:"bear-w-7 bear-h-7",sm:"bear-w-8 bear-h-8",md:"bear-w-9 bear-h-9",lg:"bear-w-[42px] bear-h-[42px]",xl:"bear-w-12 bear-h-12"},e={xs:"[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",sm:"[&_svg]:bear-w-4 [&_svg]:bear-h-4",md:"[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",lg:"[&_svg]:bear-w-5 [&_svg]:bear-h-5",xl:"[&_svg]:bear-w-6 [&_svg]:bear-h-6"},a={sm:"bear-rounded-sm",md:"bear-rounded-md",lg:"bear-rounded-lg",full:"bear-rounded-full"},b={default:{default:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},filled:{default:"bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",success:"bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",warning:"bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",error:"bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"},outline:{default:"bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",primary:"bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},subtle:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"},transparent:{default:"bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",primary:"bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",success:"bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",warning:"bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",error:"bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"}},g={xs:"xs",sm:"xs",md:"sm",lg:"sm",xl:"md"},n="Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";exports.ICON_SIZE_MAP=e;exports.RADIUS_MAP=a;exports.ROOT_CLASS=n;exports.SIZE_CLASSES=r;exports.SPINNER_SIZE_MAP=g;exports.VARIANT_CLASSES=b;
@@ -0,0 +1,7 @@
1
+ export declare const SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number>;
2
+ export declare const SIZE_CLASSES: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
3
+ export declare const ICON_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', string>;
4
+ export declare const RADIUS_MAP: Record<'sm' | 'md' | 'lg' | 'full', string>;
5
+ export declare const VARIANT_CLASSES: Record<'default' | 'filled' | 'outline' | 'subtle' | 'transparent', Record<'default' | 'primary' | 'success' | 'warning' | 'error', string>>;
6
+ export declare const SPINNER_SIZE_MAP: Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', 'xs' | 'sm' | 'md'>;
7
+ export declare const ROOT_CLASS = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
@@ -0,0 +1,68 @@
1
+ const r = {
2
+ xs: "bear-w-7 bear-h-7",
3
+ sm: "bear-w-8 bear-h-8",
4
+ md: "bear-w-9 bear-h-9",
5
+ lg: "bear-w-[42px] bear-h-[42px]",
6
+ xl: "bear-w-12 bear-h-12"
7
+ }, e = {
8
+ xs: "[&_svg]:bear-w-3.5 [&_svg]:bear-h-3.5",
9
+ sm: "[&_svg]:bear-w-4 [&_svg]:bear-h-4",
10
+ md: "[&_svg]:bear-w-4.5 [&_svg]:bear-h-4.5",
11
+ lg: "[&_svg]:bear-w-5 [&_svg]:bear-h-5",
12
+ xl: "[&_svg]:bear-w-6 [&_svg]:bear-h-6"
13
+ }, a = {
14
+ sm: "bear-rounded-sm",
15
+ md: "bear-rounded-md",
16
+ lg: "bear-rounded-lg",
17
+ full: "bear-rounded-full"
18
+ }, b = {
19
+ default: {
20
+ default: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-200 dark:hover:bear-bg-gray-700 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
21
+ primary: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
22
+ success: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-100 dark:hover:bear-bg-green-900/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
23
+ warning: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-100 dark:hover:bear-bg-amber-900/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
24
+ error: "bear-bg-gray-100 dark:bear-bg-gray-800 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-100 dark:hover:bear-bg-red-900/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
25
+ },
26
+ filled: {
27
+ default: "bear-bg-gray-200 dark:bear-bg-gray-700 bear-text-gray-800 dark:bear-text-gray-200 hover:bear-bg-gray-300 dark:hover:bear-bg-gray-600 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
28
+ primary: "bear-bg-pink-500 dark:bear-bg-pink-600 bear-text-white hover:bear-bg-pink-600 dark:hover:bear-bg-pink-500 focus:bear-ring-2 focus:bear-ring-pink-500/50 dark:focus:bear-ring-pink-400/50",
29
+ success: "bear-bg-green-500 dark:bear-bg-green-600 bear-text-white hover:bear-bg-green-600 dark:hover:bear-bg-green-500 focus:bear-ring-2 focus:bear-ring-green-500/50 dark:focus:bear-ring-green-400/50",
30
+ warning: "bear-bg-amber-500 dark:bear-bg-amber-600 bear-text-white hover:bear-bg-amber-600 dark:hover:bear-bg-amber-500 focus:bear-ring-2 focus:bear-ring-amber-500/50 dark:focus:bear-ring-amber-400/50",
31
+ error: "bear-bg-red-500 dark:bear-bg-red-600 bear-text-white hover:bear-bg-red-600 dark:hover:bear-bg-red-500 focus:bear-ring-2 focus:bear-ring-red-500/50 dark:focus:bear-ring-red-400/50"
32
+ },
33
+ outline: {
34
+ default: "bear-bg-transparent bear-border bear-border-gray-300 dark:bear-border-gray-600 bear-text-gray-700 dark:bear-text-gray-300 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/50 dark:focus:bear-ring-gray-500/50",
35
+ primary: "bear-bg-transparent bear-border bear-border-pink-500 dark:bear-border-pink-400 bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/30 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
36
+ success: "bear-bg-transparent bear-border bear-border-green-500 dark:bear-border-green-400 bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/30 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
37
+ warning: "bear-bg-transparent bear-border bear-border-amber-500 dark:bear-border-amber-400 bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/30 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
38
+ error: "bear-bg-transparent bear-border bear-border-red-500 dark:bear-border-red-400 bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/30 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
39
+ },
40
+ subtle: {
41
+ default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100 dark:hover:bear-bg-gray-800 focus:bear-ring-2 focus:bear-ring-gray-400/30 dark:focus:bear-ring-gray-500/30",
42
+ primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-50 dark:hover:bear-bg-pink-950/20 focus:bear-ring-2 focus:bear-ring-pink-500/30 dark:focus:bear-ring-pink-400/30",
43
+ success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-50 dark:hover:bear-bg-green-950/20 focus:bear-ring-2 focus:bear-ring-green-500/30 dark:focus:bear-ring-green-400/30",
44
+ warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-50 dark:hover:bear-bg-amber-950/20 focus:bear-ring-2 focus:bear-ring-amber-500/30 dark:focus:bear-ring-amber-400/30",
45
+ error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-50 dark:hover:bear-bg-red-950/20 focus:bear-ring-2 focus:bear-ring-red-500/30 dark:focus:bear-ring-red-400/30"
46
+ },
47
+ transparent: {
48
+ default: "bear-bg-transparent bear-text-gray-600 dark:bear-text-gray-400 hover:bear-bg-gray-100/50 dark:hover:bear-bg-gray-800/50 focus:bear-ring-2 focus:bear-ring-gray-400/20 dark:focus:bear-ring-gray-500/20",
49
+ primary: "bear-bg-transparent bear-text-pink-600 dark:bear-text-pink-400 hover:bear-bg-pink-500/10 dark:hover:bear-bg-pink-400/10 focus:bear-ring-2 focus:bear-ring-pink-500/20 dark:focus:bear-ring-pink-400/20",
50
+ success: "bear-bg-transparent bear-text-green-600 dark:bear-text-green-400 hover:bear-bg-green-500/10 dark:hover:bear-bg-green-400/10 focus:bear-ring-2 focus:bear-ring-green-500/20 dark:focus:bear-ring-green-400/20",
51
+ warning: "bear-bg-transparent bear-text-amber-600 dark:bear-text-amber-400 hover:bear-bg-amber-500/10 dark:hover:bear-bg-amber-400/10 focus:bear-ring-2 focus:bear-ring-amber-500/20 dark:focus:bear-ring-amber-400/20",
52
+ error: "bear-bg-transparent bear-text-red-600 dark:bear-text-red-400 hover:bear-bg-red-500/10 dark:hover:bear-bg-red-400/10 focus:bear-ring-2 focus:bear-ring-red-500/20 dark:focus:bear-ring-red-400/20"
53
+ }
54
+ }, g = {
55
+ xs: "xs",
56
+ sm: "xs",
57
+ md: "sm",
58
+ lg: "sm",
59
+ xl: "md"
60
+ }, n = "Bear-ActionIcon bear-inline-flex bear-items-center bear-justify-center bear-transition-all bear-duration-200 bear-outline-none disabled:bear-opacity-50 disabled:bear-cursor-not-allowed";
61
+ export {
62
+ e as ICON_SIZE_MAP,
63
+ a as RADIUS_MAP,
64
+ n as ROOT_CLASS,
65
+ r as SIZE_CLASSES,
66
+ g as SPINNER_SIZE_MAP,
67
+ b as VARIANT_CLASSES
68
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ActionIconProps } from './ActionIcon.types';
3
+ export declare const ActionIcon: FC<ActionIconProps>;
4
+ export default ActionIcon;
@@ -0,0 +1,42 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { cn as r } from "../../utils/cn.js";
3
+ import "react";
4
+ import { Spinner as b } from "../Spinner/Spinner.js";
5
+ import { VARIANT_CLASSES as d, ICON_SIZE_MAP as s, SPINNER_SIZE_MAP as I, RADIUS_MAP as u, SIZE_CLASSES as N, ROOT_CLASS as _ } from "./ActionIcon.const.js";
6
+ const E = ({
7
+ children: o,
8
+ variant: i = "default",
9
+ color: n = "default",
10
+ size: t = "md",
11
+ radius: m = "md",
12
+ loading: e = !1,
13
+ disabled: c = !1,
14
+ testId: S,
15
+ className: l,
16
+ ...A
17
+ }) => {
18
+ const f = c || e, p = d[i][n];
19
+ return /* @__PURE__ */ a(
20
+ "button",
21
+ {
22
+ type: "button",
23
+ disabled: f,
24
+ "aria-busy": e || void 0,
25
+ className: r(
26
+ _,
27
+ N[t],
28
+ u[m],
29
+ p,
30
+ e && "bear-cursor-wait",
31
+ l
32
+ ),
33
+ "data-testid": S,
34
+ ...A,
35
+ children: e ? /* @__PURE__ */ a(b, { size: I[t], className: s[t] }) : /* @__PURE__ */ a("span", { className: r("bear-inline-flex bear-items-center bear-justify-center", s[t]), children: o })
36
+ }
37
+ );
38
+ };
39
+ E.displayName = "ActionIcon";
40
+ export {
41
+ E as ActionIcon
42
+ };
@@ -0,0 +1,11 @@
1
+ import { ReactNode, ButtonHTMLAttributes } from 'react';
2
+ export interface ActionIconProps extends ButtonHTMLAttributes<HTMLButtonElement> {
3
+ children: ReactNode;
4
+ variant?: 'default' | 'filled' | 'outline' | 'subtle' | 'transparent';
5
+ color?: 'default' | 'primary' | 'success' | 'warning' | 'error';
6
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7
+ radius?: 'sm' | 'md' | 'lg' | 'full';
8
+ loading?: boolean;
9
+ disabled?: boolean;
10
+ testId?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export { ActionIcon, default } from './ActionIcon';
2
+ export type { ActionIconProps } from './ActionIcon.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react"),P=require("react-dom"),h=require("../../utils/cn.cjs"),t=require("./Affix.const.cjs"),T=E=>{const{children:S,position:c="top",offset:s=t.DEFAULT_OFFSET,zIndex:O=t.DEFAULT_Z_INDEX,withinPortal:R=!1,className:g,testId:m,...p}=E,[e,a]=r.useState(!1),[w,l]=r.useState(0),v=r.useRef(null),x=r.useRef(null),i=r.useCallback(()=>{const f=v.current,o=x.current;if(!f)return;const d=f.getBoundingClientRect();if(c==="top"){if(e)d.top>s&&(a(!1),l(0));else if(d.top<=s){const u=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(u),a(!0)}}else{const u=window.innerHeight;if(e)d.bottom<u-s&&(a(!1),l(0));else if(d.bottom>=u-s){const L=(o==null?void 0:o.offsetHeight)??f.offsetHeight??0;l(L),a(!0)}}},[s,c,e]);r.useEffect(()=>(i(),window.addEventListener("scroll",i,{passive:!0}),window.addEventListener("resize",i),()=>{window.removeEventListener("scroll",i),window.removeEventListener("resize",i)}),[i]);const A=c==="top"?t.POSITION_TOP_CLASSES:t.POSITION_BOTTOM_CLASSES,_=n.jsxs(n.Fragment,{children:[n.jsx("div",{ref:v,style:e?{height:w}:void 0,className:h.cn(!e&&"bear-contents"),"aria-hidden":e,children:!e&&n.jsx("div",{ref:x,className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,g),"data-testid":m,...p,children:S})}),e&&n.jsx("div",{className:h.cn(t.ROOT_CLASS,t.WRAPPER_CLASSES,A,"bear-fixed",g),style:{[c]:s,zIndex:O},"data-testid":m,...p,children:S})]});return R?P.createPortal(n.jsx("div",{className:"Bear-Affix__portal",children:_}),document.body):_};exports.Affix=T;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S="Bear-Affix",t=0,e=100,O="bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200",r="bear-top-0 bear-left-0 bear-right-0",T="bear-bottom-0 bear-left-0 bear-right-0";exports.DEFAULT_OFFSET=t;exports.DEFAULT_Z_INDEX=e;exports.POSITION_BOTTOM_CLASSES=T;exports.POSITION_TOP_CLASSES=r;exports.ROOT_CLASS=S;exports.WRAPPER_CLASSES=O;
@@ -0,0 +1,6 @@
1
+ export declare const ROOT_CLASS = "Bear-Affix";
2
+ export declare const DEFAULT_OFFSET = 0;
3
+ export declare const DEFAULT_Z_INDEX = 100;
4
+ export declare const WRAPPER_CLASSES = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200";
5
+ export declare const POSITION_TOP_CLASSES = "bear-top-0 bear-left-0 bear-right-0";
6
+ export declare const POSITION_BOTTOM_CLASSES = "bear-bottom-0 bear-left-0 bear-right-0";
@@ -0,0 +1,9 @@
1
+ const t = "Bear-Affix", r = 0, e = 100, o = "bear-bg-white dark:bear-bg-zinc-900 bear-transition-[top,bottom] bear-duration-200", a = "bear-top-0 bear-left-0 bear-right-0", b = "bear-bottom-0 bear-left-0 bear-right-0";
2
+ export {
3
+ r as DEFAULT_OFFSET,
4
+ e as DEFAULT_Z_INDEX,
5
+ b as POSITION_BOTTOM_CLASSES,
6
+ a as POSITION_TOP_CLASSES,
7
+ t as ROOT_CLASS,
8
+ o as WRAPPER_CLASSES
9
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AffixProps } from './Affix.types';
3
+ export declare const Affix: FC<AffixProps>;
4
+ export default Affix;
@@ -0,0 +1,69 @@
1
+ import { jsxs as P, Fragment as C, jsx as a } from "react/jsx-runtime";
2
+ import { useState as E, useRef as _, useCallback as F, useEffect as H } from "react";
3
+ import { createPortal as R } from "react-dom";
4
+ import { cn as d } from "../../utils/cn.js";
5
+ import { DEFAULT_OFFSET as b, DEFAULT_Z_INDEX as B, POSITION_TOP_CLASSES as y, POSITION_BOTTOM_CLASSES as z, WRAPPER_CLASSES as L, ROOT_CLASS as O } from "./Affix.const.js";
6
+ const W = (x) => {
7
+ const {
8
+ children: h,
9
+ position: i = "top",
10
+ offset: t = b,
11
+ zIndex: A = B,
12
+ withinPortal: T = !1,
13
+ className: m,
14
+ testId: p,
15
+ ...u
16
+ } = x, [e, r] = E(!1), [I, n] = E(0), S = _(null), g = _(null), s = F(() => {
17
+ const c = S.current, o = g.current;
18
+ if (!c) return;
19
+ const l = c.getBoundingClientRect();
20
+ if (i === "top") {
21
+ if (e)
22
+ l.top > t && (r(!1), n(0));
23
+ else if (l.top <= t) {
24
+ const f = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
25
+ n(f), r(!0);
26
+ }
27
+ } else {
28
+ const f = window.innerHeight;
29
+ if (e)
30
+ l.bottom < f - t && (r(!1), n(0));
31
+ else if (l.bottom >= f - t) {
32
+ const N = (o == null ? void 0 : o.offsetHeight) ?? c.offsetHeight ?? 0;
33
+ n(N), r(!0);
34
+ }
35
+ }
36
+ }, [t, i, e]);
37
+ H(() => (s(), window.addEventListener("scroll", s, { passive: !0 }), window.addEventListener("resize", s), () => {
38
+ window.removeEventListener("scroll", s), window.removeEventListener("resize", s);
39
+ }), [s]);
40
+ const v = i === "top" ? y : z, w = /* @__PURE__ */ P(C, { children: [
41
+ /* @__PURE__ */ a(
42
+ "div",
43
+ {
44
+ ref: S,
45
+ style: e ? { height: I } : void 0,
46
+ className: d(!e && "bear-contents"),
47
+ "aria-hidden": e,
48
+ children: !e && /* @__PURE__ */ a("div", { ref: g, className: d(O, L, v, m), "data-testid": p, ...u, children: h })
49
+ }
50
+ ),
51
+ e && /* @__PURE__ */ a(
52
+ "div",
53
+ {
54
+ className: d(O, L, v, "bear-fixed", m),
55
+ style: {
56
+ [i]: t,
57
+ zIndex: A
58
+ },
59
+ "data-testid": p,
60
+ ...u,
61
+ children: h
62
+ }
63
+ )
64
+ ] });
65
+ return T ? R(/* @__PURE__ */ a("div", { className: "Bear-Affix__portal", children: w }), document.body) : w;
66
+ };
67
+ export {
68
+ W as Affix
69
+ };
@@ -0,0 +1,10 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type AffixPosition = 'top' | 'bottom';
3
+ export interface AffixProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
4
+ children: ReactNode;
5
+ position?: AffixPosition;
6
+ offset?: number;
7
+ zIndex?: number;
8
+ withinPortal?: boolean;
9
+ testId?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export { Affix, default } from './Affix';
2
+ export type { AffixProps, AffixPosition } from './Affix.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),v=require("react-dom"),a=require("../../utils/cn.cjs"),u=require("../Button/Button.cjs"),_=require("../Typography/Typography.cjs"),t=require("./AlertDialog.const.cjs"),C=b=>{const{isOpen:o,onClose:i,onConfirm:A,title:g,description:l,confirmText:m="Confirm",cancelText:y="Cancel",confirmVariant:f="danger",loading:r=!1,loadingText:E,closeOnBackdrop:p=!1,closeOnEscape:s=!0,icon:n,className:x,testId:D}=b,c=d.useCallback(S=>{s&&S.key==="Escape"&&!r&&i()},[s,i,r]);if(d.useEffect(()=>(o&&(document.addEventListener("keydown",c),document.body.style.overflow="hidden"),()=>{document.removeEventListener("keydown",c),document.body.style.overflow=""}),[o,c]),!o)return null;const L=e.jsxs("div",{className:"Bear-AlertDialog bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-center bear-justify-center bear-p-4","data-testid":D,children:[e.jsx("div",{className:a.cn("Bear-AlertDialog__backdrop",t.ALERT_DIALOG_BACKDROP_CLASSES),onClick:p&&!r?i:void 0,"aria-hidden":"true"}),e.jsxs("div",{role:"alertdialog","aria-modal":"true","aria-labelledby":"alert-dialog-title","aria-describedby":l?"alert-dialog-description":void 0,className:a.cn("Bear-AlertDialog__container",t.ALERT_DIALOG_CONTAINER_CLASSES,"bear-p-6",x),children:[n&&e.jsx("div",{className:"Bear-AlertDialog__icon bear-mb-4 bear-flex bear-justify-center",children:n}),e.jsx(_.Typography,{variant:"h6",id:"alert-dialog-title",className:a.cn("Bear-AlertDialog__title",t.ALERT_DIALOG_TITLE_CLASSES,n&&"bear-text-center"),children:g}),l&&e.jsx(_.Typography,{variant:"body2",id:"alert-dialog-description",className:a.cn("Bear-AlertDialog__description",t.ALERT_DIALOG_DESCRIPTION_CLASSES,n&&"bear-text-center"),children:l}),e.jsxs("div",{className:a.cn("Bear-AlertDialog__footer",t.ALERT_DIALOG_FOOTER_CLASSES),children:[e.jsx(u.Button,{variant:"ghost",onClick:i,disabled:r,children:y}),e.jsx(u.Button,{variant:f,onClick:A,loading:r,loadingText:E,children:m})]})]})]});return v.createPortal(L,document.body)};exports.AlertDialog=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e="bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity",r="bear-relative bear-w-full bear-max-w-md bear-bg-white dark:bear-bg-zinc-900 bear-rounded-xl bear-shadow-2xl bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-transform bear-transition-all bear-animate-in bear-fade-in bear-zoom-in-95",a="bear-text-lg bear-font-semibold bear-text-gray-900 dark:bear-text-white",b="bear-text-sm bear-text-gray-600 dark:bear-text-gray-400 bear-mt-2",t="bear-flex bear-items-center bear-justify-end bear-gap-3 bear-pt-6";exports.ALERT_DIALOG_BACKDROP_CLASSES=e;exports.ALERT_DIALOG_CONTAINER_CLASSES=r;exports.ALERT_DIALOG_DESCRIPTION_CLASSES=b;exports.ALERT_DIALOG_FOOTER_CLASSES=t;exports.ALERT_DIALOG_TITLE_CLASSES=a;
@@ -0,0 +1,5 @@
1
+ export declare const ALERT_DIALOG_BACKDROP_CLASSES = "bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity";
2
+ export declare const ALERT_DIALOG_CONTAINER_CLASSES = "bear-relative bear-w-full bear-max-w-md bear-bg-white dark:bear-bg-zinc-900 bear-rounded-xl bear-shadow-2xl bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-transform bear-transition-all bear-animate-in bear-fade-in bear-zoom-in-95";
3
+ export declare const ALERT_DIALOG_TITLE_CLASSES = "bear-text-lg bear-font-semibold bear-text-gray-900 dark:bear-text-white";
4
+ export declare const ALERT_DIALOG_DESCRIPTION_CLASSES = "bear-text-sm bear-text-gray-600 dark:bear-text-gray-400 bear-mt-2";
5
+ export declare const ALERT_DIALOG_FOOTER_CLASSES = "bear-flex bear-items-center bear-justify-end bear-gap-3 bear-pt-6";
@@ -0,0 +1,8 @@
1
+ const e = "bear-absolute bear-inset-0 bear-bg-black/60 bear-backdrop-blur-sm bear-transition-opacity", r = "bear-relative bear-w-full bear-max-w-md bear-bg-white dark:bear-bg-zinc-900 bear-rounded-xl bear-shadow-2xl bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-transform bear-transition-all bear-animate-in bear-fade-in bear-zoom-in-95", a = "bear-text-lg bear-font-semibold bear-text-gray-900 dark:bear-text-white", b = "bear-text-sm bear-text-gray-600 dark:bear-text-gray-400 bear-mt-2", t = "bear-flex bear-items-center bear-justify-end bear-gap-3 bear-pt-6";
2
+ export {
3
+ e as ALERT_DIALOG_BACKDROP_CLASSES,
4
+ r as ALERT_DIALOG_CONTAINER_CLASSES,
5
+ b as ALERT_DIALOG_DESCRIPTION_CLASSES,
6
+ t as ALERT_DIALOG_FOOTER_CLASSES,
7
+ a as ALERT_DIALOG_TITLE_CLASSES
8
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AlertDialogProps } from './AlertDialog.types';
3
+ export declare const AlertDialog: FC<AlertDialogProps>;
4
+ export default AlertDialog;
@@ -0,0 +1,107 @@
1
+ import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
+ import { useCallback as y, useEffect as D } from "react";
3
+ import { createPortal as h } from "react-dom";
4
+ import { cn as a } from "../../utils/cn.js";
5
+ import { Button as s } from "../Button/Button.js";
6
+ import { Typography as m } from "../Typography/Typography.js";
7
+ import { ALERT_DIALOG_BACKDROP_CLASSES as T, ALERT_DIALOG_TITLE_CLASSES as O, ALERT_DIALOG_DESCRIPTION_CLASSES as x, ALERT_DIALOG_FOOTER_CLASSES as N, ALERT_DIALOG_CONTAINER_CLASSES as B } from "./AlertDialog.const.js";
8
+ const z = (_) => {
9
+ const {
10
+ isOpen: o,
11
+ onClose: t,
12
+ onConfirm: f,
13
+ title: b,
14
+ description: l,
15
+ confirmText: A = "Confirm",
16
+ cancelText: p = "Cancel",
17
+ confirmVariant: E = "danger",
18
+ loading: r = !1,
19
+ loadingText: g,
20
+ closeOnBackdrop: L = !1,
21
+ closeOnEscape: c = !0,
22
+ icon: i,
23
+ className: u,
24
+ testId: C
25
+ } = _, n = y(
26
+ (S) => {
27
+ c && S.key === "Escape" && !r && t();
28
+ },
29
+ [c, t, r]
30
+ );
31
+ if (D(() => (o && (document.addEventListener("keydown", n), document.body.style.overflow = "hidden"), () => {
32
+ document.removeEventListener("keydown", n), document.body.style.overflow = "";
33
+ }), [o, n]), !o) return null;
34
+ const v = /* @__PURE__ */ d(
35
+ "div",
36
+ {
37
+ className: "Bear-AlertDialog bear-fixed bear-inset-0 bear-z-50 bear-flex bear-items-center bear-justify-center bear-p-4",
38
+ "data-testid": C,
39
+ children: [
40
+ /* @__PURE__ */ e(
41
+ "div",
42
+ {
43
+ className: a("Bear-AlertDialog__backdrop", T),
44
+ onClick: L && !r ? t : void 0,
45
+ "aria-hidden": "true"
46
+ }
47
+ ),
48
+ /* @__PURE__ */ d(
49
+ "div",
50
+ {
51
+ role: "alertdialog",
52
+ "aria-modal": "true",
53
+ "aria-labelledby": "alert-dialog-title",
54
+ "aria-describedby": l ? "alert-dialog-description" : void 0,
55
+ className: a("Bear-AlertDialog__container", B, "bear-p-6", u),
56
+ children: [
57
+ i && /* @__PURE__ */ e("div", { className: "Bear-AlertDialog__icon bear-mb-4 bear-flex bear-justify-center", children: i }),
58
+ /* @__PURE__ */ e(
59
+ m,
60
+ {
61
+ variant: "h6",
62
+ id: "alert-dialog-title",
63
+ className: a("Bear-AlertDialog__title", O, i && "bear-text-center"),
64
+ children: b
65
+ }
66
+ ),
67
+ l && /* @__PURE__ */ e(
68
+ m,
69
+ {
70
+ variant: "body2",
71
+ id: "alert-dialog-description",
72
+ className: a("Bear-AlertDialog__description", x, i && "bear-text-center"),
73
+ children: l
74
+ }
75
+ ),
76
+ /* @__PURE__ */ d("div", { className: a("Bear-AlertDialog__footer", N), children: [
77
+ /* @__PURE__ */ e(
78
+ s,
79
+ {
80
+ variant: "ghost",
81
+ onClick: t,
82
+ disabled: r,
83
+ children: p
84
+ }
85
+ ),
86
+ /* @__PURE__ */ e(
87
+ s,
88
+ {
89
+ variant: E,
90
+ onClick: f,
91
+ loading: r,
92
+ loadingText: g,
93
+ children: A
94
+ }
95
+ )
96
+ ] })
97
+ ]
98
+ }
99
+ )
100
+ ]
101
+ }
102
+ );
103
+ return h(v, document.body);
104
+ };
105
+ export {
106
+ z as AlertDialog
107
+ };
@@ -0,0 +1,34 @@
1
+ import { ReactNode } from 'react';
2
+ import { BearVariant } from '../../types';
3
+ export interface AlertDialogProps {
4
+ /** Whether the dialog is open */
5
+ isOpen: boolean;
6
+ /** Callback when dialog should close (cancel/backdrop/escape) */
7
+ onClose: () => void;
8
+ /** Callback when confirm action is triggered */
9
+ onConfirm: () => void;
10
+ /** Dialog title */
11
+ title: string;
12
+ /** Dialog description / body text */
13
+ description?: string | ReactNode;
14
+ /** Confirm button text */
15
+ confirmText?: string;
16
+ /** Cancel button text */
17
+ cancelText?: string;
18
+ /** Variant for the confirm button */
19
+ confirmVariant?: BearVariant | (string & {});
20
+ /** Whether confirm action is in progress */
21
+ loading?: boolean;
22
+ /** Loading text for confirm button */
23
+ loadingText?: string;
24
+ /** Whether clicking backdrop closes the dialog */
25
+ closeOnBackdrop?: boolean;
26
+ /** Whether pressing Escape closes the dialog */
27
+ closeOnEscape?: boolean;
28
+ /** Optional icon to show above the title */
29
+ icon?: ReactNode;
30
+ /** Additional class name */
31
+ className?: string;
32
+ /** Test ID */
33
+ testId?: string;
34
+ }
@@ -0,0 +1,3 @@
1
+ export { AlertDialog, default } from './AlertDialog';
2
+ export * from './AlertDialog.types';
3
+ export * from './AlertDialog.const';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=require("react/jsx-runtime"),b=require("react"),p=require("../../utils/cn.cjs"),L=require("../Typography/Typography.cjs"),s=require("./Anchor.const.cjs");function N(E){const c=[],o=d=>{d.forEach(i=>{var l;c.push(i.id),(l=i.children)!=null&&l.length&&o(i.children)})};return o(E),c}const C=E=>{const{links:c,offset:o=s.DEFAULT_OFFSET,affix:d=!1,affixTop:i=s.DEFAULT_AFFIX_TOP,targetOffset:l=s.DEFAULT_TARGET_OFFSET,onClick:u,className:A,testId:I,...m}=E,[v,y]=b.useState(null),f=b.useRef(null),h=N(c),g=b.useCallback(e=>{const n=document.getElementById(e);if(n){const t=n.getBoundingClientRect().top+window.scrollY-l;window.scrollTo({top:t,behavior:"smooth"})}u==null||u(e)},[l,u]);b.useEffect(()=>{if(h.length!==0)return f.current=new IntersectionObserver(e=>{const n=e.filter(t=>t.isIntersecting).sort((t,r)=>{const a=t.boundingClientRect.top,x=r.boundingClientRect.top;return Math.abs(a-o)-Math.abs(x-o)});if(n.length>0){const r=n[0].target.id;h.includes(r)&&y(r)}},{rootMargin:`-${o}px 0px -50% 0px`,threshold:[0,.25,.5,.75,1]}),h.forEach(e=>{var t;const n=document.getElementById(e);n&&((t=f.current)==null||t.observe(n))}),()=>{var e;(e=f.current)==null||e.disconnect(),f.current=null}},[h.join(","),o]);const S=(e,n)=>{var r;const t=v===e.id;return T.jsxs("div",{className:p.cn(n&&s.NESTED_LINK_INDENT),children:[T.jsx("div",{role:"button",tabIndex:0,onClick:()=>g(e.id),onKeyDown:a=>a.key==="Enter"&&g(e.id),className:p.cn(s.LINK_CLASSES,t&&s.ACTIVE_LINK_CLASSES),children:T.jsx(L.Typography,{variant:"body2",className:p.cn(t&&"bear-font-medium"),children:e.label})}),(r=e.children)==null?void 0:r.map(a=>S(a,!0))]},e.id)},_=p.cn(s.ROOT_CLASS,s.ROOT_CLASSES,d&&"bear-sticky",A);return T.jsx("nav",{className:_,style:d?{top:i}:void 0,"data-testid":I,...m,children:c.map(e=>S(e,!1))})};exports.Anchor=C;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r="Bear-Anchor",e=0,t=0,a=0,S="bear-flex bear-flex-col",T="bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100",b="bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5",o="bear-pl-4";exports.ACTIVE_LINK_CLASSES=b;exports.DEFAULT_AFFIX_TOP=t;exports.DEFAULT_OFFSET=e;exports.DEFAULT_TARGET_OFFSET=a;exports.LINK_CLASSES=T;exports.NESTED_LINK_INDENT=o;exports.ROOT_CLASS=r;exports.ROOT_CLASSES=S;
@@ -0,0 +1,9 @@
1
+ export declare const ROOT_CLASS = "Bear-Anchor";
2
+ export declare const DEFAULT_OFFSET = 0;
3
+ export declare const DEFAULT_AFFIX_TOP = 0;
4
+ export declare const DEFAULT_TARGET_OFFSET = 0;
5
+ export declare const ROOT_CLASSES = "bear-flex bear-flex-col";
6
+ export declare const LINK_CLASSES = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100";
7
+ export declare const ACTIVE_LINK_CLASSES = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5";
8
+ export declare const NESTED_LINK_INDENT = "bear-pl-4";
9
+ export declare const ACTIVE_INDICATOR_BAR_CLASSES = "bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400";
@@ -0,0 +1,11 @@
1
+ const r = "Bear-Anchor", e = 0, a = 0, t = 0, b = "bear-flex bear-flex-col", o = "bear-py-1 bear-px-2 bear-text-sm bear-transition-colors bear-cursor-pointer bear-rounded bear-text-gray-600 dark:bear-text-zinc-400 hover:bear-text-gray-900 dark:hover:bear-text-zinc-100", n = "bear-text-pink-500 dark:bear-text-pink-400 bear-font-medium bear-border-l-2 bear-border-pink-500 dark:bear-border-pink-400 bear-pl-3 bear--ml-0.5", c = "bear-pl-4";
2
+ export {
3
+ n as ACTIVE_LINK_CLASSES,
4
+ a as DEFAULT_AFFIX_TOP,
5
+ e as DEFAULT_OFFSET,
6
+ t as DEFAULT_TARGET_OFFSET,
7
+ o as LINK_CLASSES,
8
+ c as NESTED_LINK_INDENT,
9
+ r as ROOT_CLASS,
10
+ b as ROOT_CLASSES
11
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { AnchorProps } from './Anchor.types';
3
+ export declare const Anchor: FC<AnchorProps>;
4
+ export default Anchor;
@@ -0,0 +1,91 @@
1
+ import { jsx as h, jsxs as L } from "react/jsx-runtime";
2
+ import { useState as N, useRef as C, useCallback as x, useEffect as y } from "react";
3
+ import { cn as m } from "../../utils/cn.js";
4
+ import { Typography as F } from "../Typography/Typography.js";
5
+ import { DEFAULT_OFFSET as O, DEFAULT_AFFIX_TOP as R, DEFAULT_TARGET_OFFSET as w, ROOT_CLASSES as D, ROOT_CLASS as K, ACTIVE_LINK_CLASSES as j, LINK_CLASSES as B, NESTED_LINK_INDENT as M } from "./Anchor.const.js";
6
+ function U(p) {
7
+ const r = [], n = (a) => {
8
+ a.forEach((c) => {
9
+ var i;
10
+ r.push(c.id), (i = c.children) != null && i.length && n(c.children);
11
+ });
12
+ };
13
+ return n(p), r;
14
+ }
15
+ const Y = (p) => {
16
+ const {
17
+ links: r,
18
+ offset: n = O,
19
+ affix: a = !1,
20
+ affixTop: c = R,
21
+ targetOffset: i = w,
22
+ onClick: d,
23
+ className: b,
24
+ testId: I,
25
+ ...S
26
+ } = p, [g, v] = N(null), f = C(null), u = U(r), E = x(
27
+ (t) => {
28
+ const o = document.getElementById(t);
29
+ if (o) {
30
+ const e = o.getBoundingClientRect().top + window.scrollY - i;
31
+ window.scrollTo({ top: e, behavior: "smooth" });
32
+ }
33
+ d == null || d(t);
34
+ },
35
+ [i, d]
36
+ );
37
+ y(() => {
38
+ if (u.length !== 0)
39
+ return f.current = new IntersectionObserver(
40
+ (t) => {
41
+ const o = t.filter((e) => e.isIntersecting).sort((e, s) => {
42
+ const l = e.boundingClientRect.top, _ = s.boundingClientRect.top;
43
+ return Math.abs(l - n) - Math.abs(_ - n);
44
+ });
45
+ if (o.length > 0) {
46
+ const s = o[0].target.id;
47
+ u.includes(s) && v(s);
48
+ }
49
+ },
50
+ { rootMargin: `-${n}px 0px -50% 0px`, threshold: [0, 0.25, 0.5, 0.75, 1] }
51
+ ), u.forEach((t) => {
52
+ var e;
53
+ const o = document.getElementById(t);
54
+ o && ((e = f.current) == null || e.observe(o));
55
+ }), () => {
56
+ var t;
57
+ (t = f.current) == null || t.disconnect(), f.current = null;
58
+ };
59
+ }, [u.join(","), n]);
60
+ const T = (t, o) => {
61
+ var s;
62
+ const e = g === t.id;
63
+ return /* @__PURE__ */ L("div", { className: m(o && M), children: [
64
+ /* @__PURE__ */ h(
65
+ "div",
66
+ {
67
+ role: "button",
68
+ tabIndex: 0,
69
+ onClick: () => E(t.id),
70
+ onKeyDown: (l) => l.key === "Enter" && E(t.id),
71
+ className: m(B, e && j),
72
+ children: /* @__PURE__ */ h(F, { variant: "body2", className: m(e && "bear-font-medium"), children: t.label })
73
+ }
74
+ ),
75
+ (s = t.children) == null ? void 0 : s.map((l) => T(l, !0))
76
+ ] }, t.id);
77
+ }, A = m(K, D, a && "bear-sticky", b);
78
+ return /* @__PURE__ */ h(
79
+ "nav",
80
+ {
81
+ className: A,
82
+ style: a ? { top: c } : void 0,
83
+ "data-testid": I,
84
+ ...S,
85
+ children: r.map((t) => T(t, !1))
86
+ }
87
+ );
88
+ };
89
+ export {
90
+ Y as Anchor
91
+ };
@@ -0,0 +1,16 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface AnchorLink {
3
+ id: string;
4
+ label: string;
5
+ children?: AnchorLink[];
6
+ }
7
+ export interface AnchorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick'> {
8
+ links: AnchorLink[];
9
+ offset?: number;
10
+ affix?: boolean;
11
+ affixTop?: number;
12
+ targetOffset?: number;
13
+ onClick?: (id: string) => void;
14
+ activeColor?: string;
15
+ testId?: string;
16
+ }
@@ -0,0 +1,2 @@
1
+ export { Anchor, default } from './Anchor';
2
+ export type { AnchorProps, AnchorLink } from './Anchor.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),l=require("react"),b=require("../../utils/cn.cjs"),r=l.forwardRef(({ratio:a=16/9,maxWidth:e,children:s,className:i,style:c,...n},o)=>t.jsx("div",{ref:o,className:b.cn("Bear-AspectRatio bear-relative bear-w-full bear-overflow-hidden",i),style:{maxWidth:typeof e=="number"?`${e}px`:e,...c},...n,children:t.jsx("div",{className:"Bear-AspectRatio__inner bear-w-full bear-relative",style:{paddingBottom:`${1/a*100}%`},children:t.jsx("div",{className:"Bear-AspectRatio__content bear-absolute bear-inset-0 bear-flex bear-items-center bear-justify-center",children:s})})}));r.displayName="AspectRatio";exports.AspectRatio=r;