@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,16 @@
1
+ const r = {
2
+ default: "bear-border bear-border-gray-200 dark:bear-border-gray-700 bear-bg-transparent",
3
+ filled: "bear-border-0 bear-bg-gray-50 dark:bear-bg-gray-800/50",
4
+ unstyled: "bear-border-0 bear-bg-transparent"
5
+ }, e = {
6
+ sm: "bear-rounded-sm",
7
+ md: "bear-rounded-md",
8
+ lg: "bear-rounded-lg"
9
+ }, a = "bear-px-2 bear-ml-2 bear-text-gray-900 dark:bear-text-gray-100", b = "bear-mt-1 bear-mb-3 bear-text-gray-600 dark:bear-text-gray-400", t = "Bear-Fieldset bear-w-full bear-p-4 bear-pt-5";
10
+ export {
11
+ b as DESCRIPTION_CLASSES,
12
+ a as LEGEND_CLASSES,
13
+ e as RADIUS_MAP,
14
+ t as ROOT_CLASS,
15
+ r as VARIANT_CLASSES
16
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { FieldsetProps } from './Fieldset.types';
3
+ export declare const Fieldset: FC<FieldsetProps>;
4
+ export default Fieldset;
@@ -0,0 +1,47 @@
1
+ import { jsxs as S, jsx as r } from "react/jsx-runtime";
2
+ import { cn as d } from "../../utils/cn.js";
3
+ import "react";
4
+ import { Typography as o } from "../Typography/Typography.js";
5
+ import { LEGEND_CLASSES as p, DESCRIPTION_CLASSES as A, RADIUS_MAP as f, VARIANT_CLASSES as N, ROOT_CLASS as b } from "./Fieldset.const.js";
6
+ const h = ({
7
+ legend: e,
8
+ description: a,
9
+ variant: i = "default",
10
+ radius: m = "md",
11
+ disabled: t = !1,
12
+ children: s,
13
+ testId: c,
14
+ className: l,
15
+ ...n
16
+ }) => /* @__PURE__ */ S(
17
+ "fieldset",
18
+ {
19
+ disabled: t,
20
+ className: d(
21
+ b,
22
+ N[i],
23
+ f[m],
24
+ t && "bear-opacity-50 bear-pointer-events-none",
25
+ l
26
+ ),
27
+ "data-testid": c,
28
+ ...n,
29
+ children: [
30
+ e && /* @__PURE__ */ r("legend", { className: p, children: /* @__PURE__ */ r(o, { variant: "body2", weight: "medium", children: e }) }),
31
+ a && /* @__PURE__ */ r(
32
+ o,
33
+ {
34
+ variant: "caption",
35
+ color: "secondary",
36
+ className: e ? A : "bear-mb-3 bear-block",
37
+ children: a
38
+ }
39
+ ),
40
+ s
41
+ ]
42
+ }
43
+ );
44
+ h.displayName = "Fieldset";
45
+ export {
46
+ h as Fieldset
47
+ };
@@ -0,0 +1,10 @@
1
+ import { ReactNode, FieldsetHTMLAttributes } from 'react';
2
+ export interface FieldsetProps extends FieldsetHTMLAttributes<HTMLFieldSetElement> {
3
+ legend?: string;
4
+ description?: string;
5
+ variant?: 'default' | 'filled' | 'unstyled';
6
+ radius?: 'sm' | 'md' | 'lg';
7
+ disabled?: boolean;
8
+ children: ReactNode;
9
+ testId?: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export { Fieldset, default } from './Fieldset';
2
+ export type { FieldsetProps } from './Fieldset.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),t=require("react"),r=require("../../utils/cn.cjs"),U=require("./FormField.const.cjs"),W=require("../../context/BearProvider.cjs"),q=t.forwardRef(({label:R,helperText:E,error:_,success:k,size:I="md",leftAddon:l,rightAddon:c,fullWidth:z=!1,required:M=!1,variant:m="outlined",className:L,disabled:g,value:x,defaultValue:u,placeholder:O,onFocus:s,onBlur:o,...p},P)=>{var C;const F=m==="filled",i=m==="standard",y=t.useContext(W.BearContext),e=(C=y==null?void 0:y.components)==null?void 0:C.FormField,D=e==null?void 0:e.root,T=e==null?void 0:e.input,Z=e==null?void 0:e.label,G=e==null?void 0:e.helper,j=e==null?void 0:e.addon,H=F?e==null?void 0:e.filled:i?e==null?void 0:e.standard:e==null?void 0:e.outlined,[n,B]=t.useState(!1),J=t.useId(),v=p.id??J,K=x!=null&&x!==""||u!=null&&u!=="",N=n||K,b=!!_,d=!!k&&!b,f=U.FORMFIELD_SIZE_CLASSES[I],w=_||k||E,Q=t.useCallback(h=>{B(!0),s==null||s(h)},[s]),S=t.useCallback(h=>{B(!1),o==null||o(h)},[o]);return a.jsxs("div",{className:r.cn("Bear-FormField bear-flex bear-flex-col bear-gap-1",z&&"bear-w-full"),style:D,children:[a.jsxs("div",{className:"Bear-FormField__wrapper bear-relative bear-flex bear-items-center",children:[l&&a.jsx("div",{className:"Bear-FormField__addon Bear-FormField__addon--left bear-absolute bear-left-3 bear-z-10 bear-text-gray-500 dark:bear-text-gray-400",style:j,children:l}),a.jsx("input",{ref:P,id:v,disabled:g,value:x,defaultValue:u,placeholder:N?O:void 0,"aria-invalid":b||void 0,onFocus:Q,onBlur:S,className:r.cn("Bear-FormField__input bear-peer bear-w-full bear-rounded-lg bear-border bear-outline-none bear-transition-all bear-duration-200",F?r.cn("bear-bg-gray-100 bear-border-transparent bear-rounded-t-lg bear-rounded-b-none bear-border-b-2","dark:bear-bg-gray-800",b?"bear-border-b-red-500":d?"bear-border-b-green-500":n?"bear-border-b-bear-500":"bear-border-b-gray-400 dark:bear-border-b-gray-500"):i?r.cn("bear-bg-transparent bear-rounded-none bear-border-0 bear-border-b-2",b?"bear-border-b-red-500":d?"bear-border-b-green-500":n?"bear-border-b-bear-500":"bear-border-b-gray-300 dark:bear-border-b-gray-600"):r.cn("bear-bg-white dark:bear-bg-gray-900",b?"bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/30":d?"bear-border-green-500 focus:bear-ring-2 focus:bear-ring-green-500/30":r.cn("bear-border-gray-300 dark:bear-border-gray-600","focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/30","dark:focus:bear-border-bear-400")),"bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400 dark:placeholder:bear-text-gray-500",g&&"bear-opacity-50 bear-cursor-not-allowed",l&&"bear-pl-10",c&&"bear-pr-10",f.field,i&&"focus:bear-ring-0",L),style:{...H,...T},...p}),a.jsxs("label",{htmlFor:v,className:r.cn("Bear-FormField__label bear-absolute bear-left-0 bear-pointer-events-none bear-origin-top-left","bear-transition-all bear-duration-200 bear-select-none",l?"bear-ml-10":"bear-ml-4",N?r.cn(F?f.labelFloat:i?"bear-top-0 bear--translate-y-1/2 bear-text-xs":"bear-top-0 bear--translate-y-1/2 bear-text-xs bear-px-1 bear-bg-white dark:bear-bg-gray-900",b?"bear-text-red-500":d?"bear-text-green-500":n?"bear-text-bear-500 dark:bear-text-bear-400":"bear-text-gray-500 dark:bear-text-gray-400"):r.cn(f.labelRest,"bear--translate-y-1/2","bear-text-gray-500 dark:bear-text-gray-400"),g&&"bear-opacity-50"),style:Z,children:[R,M&&a.jsx("span",{className:"bear-text-red-500 bear-ml-0.5",children:"*"})]}),c&&a.jsx("div",{className:"Bear-FormField__addon Bear-FormField__addon--right bear-absolute bear-right-3 bear-z-10 bear-text-gray-500 dark:bear-text-gray-400",style:j,children:c})]}),w&&a.jsx("p",{className:r.cn("Bear-FormField__helper bear-text-xs bear-ml-4",b?"bear-text-red-500":d?"bear-text-green-500":"bear-text-gray-500 dark:bear-text-gray-400"),style:G,children:w})]})});q.displayName="FormField";exports.FormField=q;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={sm:{field:"bear-h-10 bear-text-sm bear-px-3 bear-pt-4 bear-pb-1",label:"bear-text-xs",labelFloat:"bear-top-1 bear-text-[10px]",labelRest:"bear-top-1/2 bear-text-sm"},md:{field:"bear-h-14 bear-text-base bear-px-4 bear-pt-5 bear-pb-2",label:"bear-text-sm",labelFloat:"bear-top-1.5 bear-text-xs",labelRest:"bear-top-1/2 bear-text-base"},lg:{field:"bear-h-16 bear-text-lg bear-px-5 bear-pt-6 bear-pb-2",label:"bear-text-base",labelFloat:"bear-top-2 bear-text-xs",labelRest:"bear-top-1/2 bear-text-lg"}};exports.FORMFIELD_SIZE_CLASSES=e;
@@ -0,0 +1,20 @@
1
+ export declare const FORMFIELD_SIZE_CLASSES: {
2
+ readonly sm: {
3
+ readonly field: "bear-h-10 bear-text-sm bear-px-3 bear-pt-4 bear-pb-1";
4
+ readonly label: "bear-text-xs";
5
+ readonly labelFloat: "bear-top-1 bear-text-[10px]";
6
+ readonly labelRest: "bear-top-1/2 bear-text-sm";
7
+ };
8
+ readonly md: {
9
+ readonly field: "bear-h-14 bear-text-base bear-px-4 bear-pt-5 bear-pb-2";
10
+ readonly label: "bear-text-sm";
11
+ readonly labelFloat: "bear-top-1.5 bear-text-xs";
12
+ readonly labelRest: "bear-top-1/2 bear-text-base";
13
+ };
14
+ readonly lg: {
15
+ readonly field: "bear-h-16 bear-text-lg bear-px-5 bear-pt-6 bear-pb-2";
16
+ readonly label: "bear-text-base";
17
+ readonly labelFloat: "bear-top-2 bear-text-xs";
18
+ readonly labelRest: "bear-top-1/2 bear-text-lg";
19
+ };
20
+ };
@@ -0,0 +1,23 @@
1
+ const e = {
2
+ sm: {
3
+ field: "bear-h-10 bear-text-sm bear-px-3 bear-pt-4 bear-pb-1",
4
+ label: "bear-text-xs",
5
+ labelFloat: "bear-top-1 bear-text-[10px]",
6
+ labelRest: "bear-top-1/2 bear-text-sm"
7
+ },
8
+ md: {
9
+ field: "bear-h-14 bear-text-base bear-px-4 bear-pt-5 bear-pb-2",
10
+ label: "bear-text-sm",
11
+ labelFloat: "bear-top-1.5 bear-text-xs",
12
+ labelRest: "bear-top-1/2 bear-text-base"
13
+ },
14
+ lg: {
15
+ field: "bear-h-16 bear-text-lg bear-px-5 bear-pt-6 bear-pb-2",
16
+ label: "bear-text-base",
17
+ labelFloat: "bear-top-2 bear-text-xs",
18
+ labelRest: "bear-top-1/2 bear-text-lg"
19
+ }
20
+ };
21
+ export {
22
+ e as FORMFIELD_SIZE_CLASSES
23
+ };
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { FormFieldProps } from './FormField.types';
3
+ export declare const FormField: FC<FormFieldProps>;
@@ -0,0 +1,127 @@
1
+ import { jsxs as m, jsx as t } from "react/jsx-runtime";
2
+ import { forwardRef as W, useContext as X, useState as Y, useId as $, useCallback as I } from "react";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { FORMFIELD_SIZE_CLASSES as V } from "./FormField.const.js";
5
+ import { BearContext as S } from "../../context/BearProvider.js";
6
+ const A = W(
7
+ ({
8
+ label: z,
9
+ helperText: R,
10
+ error: h,
11
+ success: p,
12
+ size: j = "md",
13
+ leftAddon: d,
14
+ rightAddon: n,
15
+ fullWidth: L = !1,
16
+ required: M = !1,
17
+ variant: _ = "outlined",
18
+ className: D,
19
+ disabled: g,
20
+ value: c,
21
+ defaultValue: x,
22
+ placeholder: O,
23
+ onFocus: l,
24
+ onBlur: o,
25
+ ...k
26
+ }, Z) => {
27
+ var E;
28
+ const f = _ === "filled", s = _ === "standard", F = X(S), r = (E = F == null ? void 0 : F.components) == null ? void 0 : E.FormField, q = r == null ? void 0 : r.root, G = r == null ? void 0 : r.input, H = r == null ? void 0 : r.label, J = r == null ? void 0 : r.helper, B = r == null ? void 0 : r.addon, K = f ? r == null ? void 0 : r.filled : s ? r == null ? void 0 : r.standard : r == null ? void 0 : r.outlined, [i, N] = Y(!1), P = $(), w = k.id ?? P, Q = c != null && c !== "" || x != null && x !== "", v = i || Q, a = !!h, b = !!p && !a, u = V[j], C = h || p || R, T = I(
29
+ (y) => {
30
+ N(!0), l == null || l(y);
31
+ },
32
+ [l]
33
+ ), U = I(
34
+ (y) => {
35
+ N(!1), o == null || o(y);
36
+ },
37
+ [o]
38
+ );
39
+ return /* @__PURE__ */ m("div", { className: e("Bear-FormField bear-flex bear-flex-col bear-gap-1", L && "bear-w-full"), style: q, children: [
40
+ /* @__PURE__ */ m("div", { className: "Bear-FormField__wrapper bear-relative bear-flex bear-items-center", children: [
41
+ d && /* @__PURE__ */ t("div", { className: "Bear-FormField__addon Bear-FormField__addon--left bear-absolute bear-left-3 bear-z-10 bear-text-gray-500 dark:bear-text-gray-400", style: B, children: d }),
42
+ /* @__PURE__ */ t(
43
+ "input",
44
+ {
45
+ ref: Z,
46
+ id: w,
47
+ disabled: g,
48
+ value: c,
49
+ defaultValue: x,
50
+ placeholder: v ? O : void 0,
51
+ "aria-invalid": a || void 0,
52
+ onFocus: T,
53
+ onBlur: U,
54
+ className: e(
55
+ "Bear-FormField__input bear-peer bear-w-full bear-rounded-lg bear-border bear-outline-none bear-transition-all bear-duration-200",
56
+ f ? e(
57
+ "bear-bg-gray-100 bear-border-transparent bear-rounded-t-lg bear-rounded-b-none bear-border-b-2",
58
+ "dark:bear-bg-gray-800",
59
+ a ? "bear-border-b-red-500" : b ? "bear-border-b-green-500" : i ? "bear-border-b-bear-500" : "bear-border-b-gray-400 dark:bear-border-b-gray-500"
60
+ ) : s ? e(
61
+ "bear-bg-transparent bear-rounded-none bear-border-0 bear-border-b-2",
62
+ a ? "bear-border-b-red-500" : b ? "bear-border-b-green-500" : i ? "bear-border-b-bear-500" : "bear-border-b-gray-300 dark:bear-border-b-gray-600"
63
+ ) : e(
64
+ "bear-bg-white dark:bear-bg-gray-900",
65
+ a ? "bear-border-red-500 focus:bear-ring-2 focus:bear-ring-red-500/30" : b ? "bear-border-green-500 focus:bear-ring-2 focus:bear-ring-green-500/30" : e(
66
+ "bear-border-gray-300 dark:bear-border-gray-600",
67
+ "focus:bear-border-bear-500 focus:bear-ring-2 focus:bear-ring-bear-500/30",
68
+ "dark:focus:bear-border-bear-400"
69
+ )
70
+ ),
71
+ "bear-text-gray-900 dark:bear-text-white placeholder:bear-text-gray-400 dark:placeholder:bear-text-gray-500",
72
+ g && "bear-opacity-50 bear-cursor-not-allowed",
73
+ d && "bear-pl-10",
74
+ n && "bear-pr-10",
75
+ u.field,
76
+ s && "focus:bear-ring-0",
77
+ D
78
+ ),
79
+ style: { ...K, ...G },
80
+ ...k
81
+ }
82
+ ),
83
+ /* @__PURE__ */ m(
84
+ "label",
85
+ {
86
+ htmlFor: w,
87
+ className: e(
88
+ "Bear-FormField__label bear-absolute bear-left-0 bear-pointer-events-none bear-origin-top-left",
89
+ "bear-transition-all bear-duration-200 bear-select-none",
90
+ d ? "bear-ml-10" : "bear-ml-4",
91
+ v ? e(
92
+ f ? u.labelFloat : s ? "bear-top-0 bear--translate-y-1/2 bear-text-xs" : "bear-top-0 bear--translate-y-1/2 bear-text-xs bear-px-1 bear-bg-white dark:bear-bg-gray-900",
93
+ a ? "bear-text-red-500" : b ? "bear-text-green-500" : i ? "bear-text-bear-500 dark:bear-text-bear-400" : "bear-text-gray-500 dark:bear-text-gray-400"
94
+ ) : e(
95
+ u.labelRest,
96
+ "bear--translate-y-1/2",
97
+ "bear-text-gray-500 dark:bear-text-gray-400"
98
+ ),
99
+ g && "bear-opacity-50"
100
+ ),
101
+ style: H,
102
+ children: [
103
+ z,
104
+ M && /* @__PURE__ */ t("span", { className: "bear-text-red-500 bear-ml-0.5", children: "*" })
105
+ ]
106
+ }
107
+ ),
108
+ n && /* @__PURE__ */ t("div", { className: "Bear-FormField__addon Bear-FormField__addon--right bear-absolute bear-right-3 bear-z-10 bear-text-gray-500 dark:bear-text-gray-400", style: B, children: n })
109
+ ] }),
110
+ C && /* @__PURE__ */ t(
111
+ "p",
112
+ {
113
+ className: e(
114
+ "Bear-FormField__helper bear-text-xs bear-ml-4",
115
+ a ? "bear-text-red-500" : b ? "bear-text-green-500" : "bear-text-gray-500 dark:bear-text-gray-400"
116
+ ),
117
+ style: J,
118
+ children: C
119
+ }
120
+ )
121
+ ] });
122
+ }
123
+ );
124
+ A.displayName = "FormField";
125
+ export {
126
+ A as FormField
127
+ };
@@ -0,0 +1,23 @@
1
+ import { InputHTMLAttributes, ReactNode } from 'react';
2
+ export interface FormFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
3
+ /** Floating label text */
4
+ label: string;
5
+ /** Helper text below the field */
6
+ helperText?: string;
7
+ /** Error message (replaces helperText, turns border red) */
8
+ error?: string;
9
+ /** Success message (turns border green) */
10
+ success?: string;
11
+ /** Field size */
12
+ size?: 'sm' | 'md' | 'lg';
13
+ /** Left addon inside the field */
14
+ leftAddon?: ReactNode;
15
+ /** Right addon inside the field */
16
+ rightAddon?: ReactNode;
17
+ /** Full width mode */
18
+ fullWidth?: boolean;
19
+ /** Whether the field is required (shows asterisk in label) */
20
+ required?: boolean;
21
+ /** Variant of the floating label */
22
+ variant?: 'outlined' | 'filled' | 'standard';
23
+ }
@@ -0,0 +1,2 @@
1
+ export { FormField } from './FormField';
2
+ export type { FormFieldProps } from './FormField.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),h=require("../../utils/cn.cjs"),l=require("./ImageGallery.const.cjs"),j=({images:S,currentIndex:s,onClose:t,onNavigate:a})=>{const i=S[s],o=S.length;return d.useEffect(()=>{const r=n=>{n.key==="Escape"&&t(),n.key==="ArrowLeft"&&s>0&&a(s-1),n.key==="ArrowRight"&&s<o-1&&a(s+1)};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[s,o,t,a]),e.jsxs("div",{className:l.OVERLAY_CLASSES,onClick:t,role:"dialog","aria-label":"Image lightbox",children:[e.jsx("div",{onClick:r=>r.stopPropagation(),children:e.jsx("img",{src:i.src,alt:i.alt??"",className:l.LIGHTBOX_IMG_CLASSES})}),e.jsx("button",{className:l.CLOSE_BTN_CLASSES,onClick:t,"aria-label":"Close",children:"✕"}),s>0&&e.jsx("button",{className:h.cn(l.NAV_BTN_CLASSES,"bear-left-4"),onClick:()=>a(s-1),"aria-label":"Previous",children:e.jsx("svg",{className:"bear-w-5 bear-h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),s<o-1&&e.jsx("button",{className:h.cn(l.NAV_BTN_CLASSES,"bear-right-4"),onClick:()=>a(s+1),"aria-label":"Next",children:e.jsx("svg",{className:"bear-w-5 bear-h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})}),i.caption&&e.jsx("div",{className:l.CAPTION_CLASSES,children:i.caption}),e.jsxs("div",{className:l.COUNTER_CLASSES,children:[s+1," / ",o]})]})},k=S=>{const{images:s,columns:t=l.DEFAULT_COLUMNS,gap:a=l.DEFAULT_GAP,rounded:i=!0,enableLightbox:o=!0,thumbnailHeight:r=l.DEFAULT_THUMB_HEIGHT,className:n,testId:C,...b}=S,[L,m]=d.useState(null),g=d.useCallback(()=>m(null),[]),E=d.useCallback(c=>m(c),[]);return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:h.cn(l.ROOT_CLASSES,n),style:{gridTemplateColumns:`repeat(${t}, 1fr)`,gap:a},"data-testid":C,...b,children:s.map((c,u)=>e.jsx("div",{className:h.cn(l.THUMB_CLASSES,i&&l.ROUNDED_CLASSES),style:{height:r},onClick:()=>o&&m(u),children:e.jsx("img",{src:c.thumbnail??c.src,alt:c.alt??"",className:l.THUMB_IMG_CLASSES,loading:"lazy"})},u))}),L!==null&&e.jsx(j,{images:s,currentIndex:L,onClose:g,onNavigate:E})]})};exports.ImageGallery=k;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=3,r=8,a=200,b="Bear-ImageGallery bear-grid",t="bear-overflow-hidden bear-cursor-pointer bear-transition-transform hover:bear-scale-[1.02] bear-bg-gray-100 dark:bear-bg-zinc-800",S="bear-w-full bear-h-full bear-object-cover",o="bear-rounded-lg",n="bear-fixed bear-inset-0 bear-z-[99999] bear-bg-black/90 bear-flex bear-items-center bear-justify-center bear-animate-in",s="bear-max-w-[90vw] bear-max-h-[85vh] bear-object-contain bear-select-none",l="bear-absolute bear-top-1/2 bear--translate-y-1/2 bear-bg-white/10 hover:bear-bg-white/20 bear-text-white bear-rounded-full bear-w-10 bear-h-10 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm",c="bear-absolute bear-top-4 bear-right-4 bear-text-white bear-bg-white/10 hover:bear-bg-white/20 bear-rounded-full bear-w-8 bear-h-8 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm",E="bear-absolute bear-bottom-4 bear-left-1/2 bear--translate-x-1/2 bear-text-white bear-text-sm bear-bg-black/50 bear-px-4 bear-py-2 bear-rounded-full bear-backdrop-blur-sm",_="bear-absolute bear-top-4 bear-left-4 bear-text-white/70 bear-text-sm";exports.CAPTION_CLASSES=E;exports.CLOSE_BTN_CLASSES=c;exports.COUNTER_CLASSES=_;exports.DEFAULT_COLUMNS=e;exports.DEFAULT_GAP=r;exports.DEFAULT_THUMB_HEIGHT=a;exports.LIGHTBOX_IMG_CLASSES=s;exports.NAV_BTN_CLASSES=l;exports.OVERLAY_CLASSES=n;exports.ROOT_CLASSES=b;exports.ROUNDED_CLASSES=o;exports.THUMB_CLASSES=t;exports.THUMB_IMG_CLASSES=S;
@@ -0,0 +1,13 @@
1
+ export declare const DEFAULT_COLUMNS = 3;
2
+ export declare const DEFAULT_GAP = 8;
3
+ export declare const DEFAULT_THUMB_HEIGHT = 200;
4
+ export declare const ROOT_CLASSES = "Bear-ImageGallery bear-grid";
5
+ export declare const THUMB_CLASSES = "bear-overflow-hidden bear-cursor-pointer bear-transition-transform hover:bear-scale-[1.02] bear-bg-gray-100 dark:bear-bg-zinc-800";
6
+ export declare const THUMB_IMG_CLASSES = "bear-w-full bear-h-full bear-object-cover";
7
+ export declare const ROUNDED_CLASSES = "bear-rounded-lg";
8
+ export declare const OVERLAY_CLASSES = "bear-fixed bear-inset-0 bear-z-[99999] bear-bg-black/90 bear-flex bear-items-center bear-justify-center bear-animate-in";
9
+ export declare const LIGHTBOX_IMG_CLASSES = "bear-max-w-[90vw] bear-max-h-[85vh] bear-object-contain bear-select-none";
10
+ export declare const NAV_BTN_CLASSES = "bear-absolute bear-top-1/2 bear--translate-y-1/2 bear-bg-white/10 hover:bear-bg-white/20 bear-text-white bear-rounded-full bear-w-10 bear-h-10 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm";
11
+ export declare const CLOSE_BTN_CLASSES = "bear-absolute bear-top-4 bear-right-4 bear-text-white bear-bg-white/10 hover:bear-bg-white/20 bear-rounded-full bear-w-8 bear-h-8 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm";
12
+ export declare const CAPTION_CLASSES = "bear-absolute bear-bottom-4 bear-left-1/2 bear--translate-x-1/2 bear-text-white bear-text-sm bear-bg-black/50 bear-px-4 bear-py-2 bear-rounded-full bear-backdrop-blur-sm";
13
+ export declare const COUNTER_CLASSES = "bear-absolute bear-top-4 bear-left-4 bear-text-white/70 bear-text-sm";
@@ -0,0 +1,16 @@
1
+ const e = 3, r = 8, a = 200, b = "Bear-ImageGallery bear-grid", t = "bear-overflow-hidden bear-cursor-pointer bear-transition-transform hover:bear-scale-[1.02] bear-bg-gray-100 dark:bear-bg-zinc-800", o = "bear-w-full bear-h-full bear-object-cover", n = "bear-rounded-lg", s = "bear-fixed bear-inset-0 bear-z-[99999] bear-bg-black/90 bear-flex bear-items-center bear-justify-center bear-animate-in", c = "bear-max-w-[90vw] bear-max-h-[85vh] bear-object-contain bear-select-none", l = "bear-absolute bear-top-1/2 bear--translate-y-1/2 bear-bg-white/10 hover:bear-bg-white/20 bear-text-white bear-rounded-full bear-w-10 bear-h-10 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm", S = "bear-absolute bear-top-4 bear-right-4 bear-text-white bear-bg-white/10 hover:bear-bg-white/20 bear-rounded-full bear-w-8 bear-h-8 bear-flex bear-items-center bear-justify-center bear-transition-colors bear-backdrop-blur-sm", i = "bear-absolute bear-bottom-4 bear-left-1/2 bear--translate-x-1/2 bear-text-white bear-text-sm bear-bg-black/50 bear-px-4 bear-py-2 bear-rounded-full bear-backdrop-blur-sm", u = "bear-absolute bear-top-4 bear-left-4 bear-text-white/70 bear-text-sm";
2
+ export {
3
+ i as CAPTION_CLASSES,
4
+ S as CLOSE_BTN_CLASSES,
5
+ u as COUNTER_CLASSES,
6
+ e as DEFAULT_COLUMNS,
7
+ r as DEFAULT_GAP,
8
+ a as DEFAULT_THUMB_HEIGHT,
9
+ c as LIGHTBOX_IMG_CLASSES,
10
+ l as NAV_BTN_CLASSES,
11
+ s as OVERLAY_CLASSES,
12
+ b as ROOT_CLASSES,
13
+ n as ROUNDED_CLASSES,
14
+ t as THUMB_CLASSES,
15
+ o as THUMB_IMG_CLASSES
16
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ImageGalleryProps } from './ImageGallery.types';
3
+ export declare const ImageGallery: FC<ImageGalleryProps>;
4
+ export default ImageGallery;
@@ -0,0 +1,61 @@
1
+ import { jsxs as S, Fragment as N, jsx as l } from "react/jsx-runtime";
2
+ import { useState as p, useCallback as C, useEffect as _ } from "react";
3
+ import { cn as d } from "../../utils/cn.js";
4
+ import { DEFAULT_COLUMNS as u, DEFAULT_GAP as f, DEFAULT_THUMB_HEIGHT as T, THUMB_IMG_CLASSES as v, ROUNDED_CLASSES as w, THUMB_CLASSES as y, ROOT_CLASSES as O, OVERLAY_CLASSES as U, LIGHTBOX_IMG_CLASSES as B, CLOSE_BTN_CLASSES as M, NAV_BTN_CLASSES as b, CAPTION_CLASSES as H, COUNTER_CLASSES as G } from "./ImageGallery.const.js";
5
+ const D = ({ images: c, currentIndex: e, onClose: t, onNavigate: a }) => {
6
+ const o = c[e], i = c.length;
7
+ return _(() => {
8
+ const s = (r) => {
9
+ r.key === "Escape" && t(), r.key === "ArrowLeft" && e > 0 && a(e - 1), r.key === "ArrowRight" && e < i - 1 && a(e + 1);
10
+ };
11
+ return window.addEventListener("keydown", s), () => window.removeEventListener("keydown", s);
12
+ }, [e, i, t, a]), /* @__PURE__ */ S("div", { className: U, onClick: t, role: "dialog", "aria-label": "Image lightbox", children: [
13
+ /* @__PURE__ */ l("div", { onClick: (s) => s.stopPropagation(), children: /* @__PURE__ */ l("img", { src: o.src, alt: o.alt ?? "", className: B }) }),
14
+ /* @__PURE__ */ l("button", { className: M, onClick: t, "aria-label": "Close", children: "✕" }),
15
+ e > 0 && /* @__PURE__ */ l("button", { className: d(b, "bear-left-4"), onClick: () => a(e - 1), "aria-label": "Previous", children: /* @__PURE__ */ l("svg", { className: "bear-w-5 bear-h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ l("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }) }),
16
+ e < i - 1 && /* @__PURE__ */ l("button", { className: d(b, "bear-right-4"), onClick: () => a(e + 1), "aria-label": "Next", children: /* @__PURE__ */ l("svg", { className: "bear-w-5 bear-h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ l("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) }) }),
17
+ o.caption && /* @__PURE__ */ l("div", { className: H, children: o.caption }),
18
+ /* @__PURE__ */ S("div", { className: G, children: [
19
+ e + 1,
20
+ " / ",
21
+ i
22
+ ] })
23
+ ] });
24
+ }, P = (c) => {
25
+ const {
26
+ images: e,
27
+ columns: t = u,
28
+ gap: a = f,
29
+ rounded: o = !0,
30
+ enableLightbox: i = !0,
31
+ thumbnailHeight: s = T,
32
+ className: r,
33
+ testId: E,
34
+ ...k
35
+ } = c, [m, h] = p(null), g = C(() => h(null), []), A = C((n) => h(n), []);
36
+ return /* @__PURE__ */ S(N, { children: [
37
+ /* @__PURE__ */ l(
38
+ "div",
39
+ {
40
+ className: d(O, r),
41
+ style: { gridTemplateColumns: `repeat(${t}, 1fr)`, gap: a },
42
+ "data-testid": E,
43
+ ...k,
44
+ children: e.map((n, L) => /* @__PURE__ */ l(
45
+ "div",
46
+ {
47
+ className: d(y, o && w),
48
+ style: { height: s },
49
+ onClick: () => i && h(L),
50
+ children: /* @__PURE__ */ l("img", { src: n.thumbnail ?? n.src, alt: n.alt ?? "", className: v, loading: "lazy" })
51
+ },
52
+ L
53
+ ))
54
+ }
55
+ ),
56
+ m !== null && /* @__PURE__ */ l(D, { images: e, currentIndex: m, onClose: g, onNavigate: A })
57
+ ] });
58
+ };
59
+ export {
60
+ P as ImageGallery
61
+ };
@@ -0,0 +1,22 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface GalleryImage {
3
+ src: string;
4
+ alt?: string;
5
+ thumbnail?: string;
6
+ caption?: string;
7
+ }
8
+ export interface ImageGalleryProps extends HTMLAttributes<HTMLDivElement> {
9
+ images: GalleryImage[];
10
+ columns?: number;
11
+ gap?: number;
12
+ rounded?: boolean;
13
+ enableLightbox?: boolean;
14
+ thumbnailHeight?: number;
15
+ testId?: string;
16
+ }
17
+ export interface LightboxProps {
18
+ images: GalleryImage[];
19
+ currentIndex: number;
20
+ onClose: () => void;
21
+ onNavigate: (index: number) => void;
22
+ }
@@ -0,0 +1,2 @@
1
+ export { ImageGallery } from './ImageGallery';
2
+ export type { ImageGalleryProps, GalleryImage, LightboxProps } from './ImageGallery.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),a=require("../../utils/cn.cjs");require("react");const g=require("../Typography/Typography.cjs"),t=require("./Indicator.const.cjs"),L=({children:c,label:s,color:e,size:n=t.DEFAULT_SIZE,position:d="top-end",radius:S="full",processing:u=!1,disabled:l=!1,offset:r,withBorder:C=!1,inline:p=!1,className:y,testId:m,...I})=>{const O=t.POSITION_MAP[d],f=t.RADIUS_MAP[S],o=typeof e=="string"&&!e.startsWith("bear-"),h=o?void 0:e??t.DEFAULT_COLOR,A=typeof n=="number"?{width:n,height:n,minWidth:n}:void 0,_=typeof r=="number"?{margin:r}:void 0;return i.jsxs("div",{className:a.cn(t.ROOT_CLASS,p&&t.ROOT_INLINE_CLASS,y),"data-testid":m,...I,children:[c,!l&&i.jsx("span",{className:a.cn(t.INDICATOR_CLASS,O,f,h,C&&t.BORDER_CLASS,u&&t.PROCESSING_CLASS),style:{...A,..._,...o?{backgroundColor:e}:void 0},children:s!=null&&i.jsx(g.Typography,{variant:"caption",className:"bear-text-white dark:bear-text-zinc-100 bear-font-medium",children:s})})]})};exports.Indicator=L;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=10,a="bear-bg-pink-500 dark:bear-bg-pink-400",r={"top-start":"bear-top-0 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[-50%]","top-center":"bear-top-0 bear-left-1/2 bear-translate-x-[-50%] bear-translate-y-[-50%]","top-end":"bear-top-0 bear-right-0 bear-translate-x-[50%] bear-translate-y-[-50%]","middle-start":"bear-top-1/2 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[-50%]","middle-end":"bear-top-1/2 bear-right-0 bear-translate-x-[50%] bear-translate-y-[-50%]","bottom-start":"bear-bottom-0 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[50%]","bottom-center":"bear-bottom-0 bear-left-1/2 bear-translate-x-[-50%] bear-translate-y-[50%]","bottom-end":"bear-bottom-0 bear-right-0 bear-translate-x-[50%] bear-translate-y-[50%]"},t={sm:"bear-rounded-sm",md:"bear-rounded-md",lg:"bear-rounded-lg",full:"bear-rounded-full"},b="Bear-Indicator bear-relative",n="Bear-Indicator bear-relative bear-inline-flex",o="Bear-Indicator__dot bear-absolute bear-flex bear-items-center bear-justify-center bear-pointer-events-none",l="bear-ring-2 bear-ring-white dark:bear-ring-zinc-900",s="bear-animate-pulse";exports.BORDER_CLASS=l;exports.DEFAULT_COLOR=a;exports.DEFAULT_SIZE=e;exports.INDICATOR_CLASS=o;exports.POSITION_MAP=r;exports.PROCESSING_CLASS=s;exports.RADIUS_MAP=t;exports.ROOT_CLASS=b;exports.ROOT_INLINE_CLASS=n;
@@ -0,0 +1,15 @@
1
+ import { IndicatorPosition } from './Indicator.types';
2
+ export declare const DEFAULT_SIZE = 10;
3
+ export declare const DEFAULT_COLOR = "bear-bg-pink-500 dark:bear-bg-pink-400";
4
+ export declare const POSITION_MAP: Record<IndicatorPosition, string>;
5
+ export declare const RADIUS_MAP: {
6
+ readonly sm: "bear-rounded-sm";
7
+ readonly md: "bear-rounded-md";
8
+ readonly lg: "bear-rounded-lg";
9
+ readonly full: "bear-rounded-full";
10
+ };
11
+ export declare const ROOT_CLASS = "Bear-Indicator bear-relative";
12
+ export declare const ROOT_INLINE_CLASS = "Bear-Indicator bear-relative bear-inline-flex";
13
+ export declare const INDICATOR_CLASS = "Bear-Indicator__dot bear-absolute bear-flex bear-items-center bear-justify-center bear-pointer-events-none";
14
+ export declare const BORDER_CLASS = "bear-ring-2 bear-ring-white dark:bear-ring-zinc-900";
15
+ export declare const PROCESSING_CLASS = "bear-animate-pulse";
@@ -0,0 +1,26 @@
1
+ const e = 10, a = "bear-bg-pink-500 dark:bear-bg-pink-400", r = {
2
+ "top-start": "bear-top-0 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[-50%]",
3
+ "top-center": "bear-top-0 bear-left-1/2 bear-translate-x-[-50%] bear-translate-y-[-50%]",
4
+ "top-end": "bear-top-0 bear-right-0 bear-translate-x-[50%] bear-translate-y-[-50%]",
5
+ "middle-start": "bear-top-1/2 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[-50%]",
6
+ "middle-end": "bear-top-1/2 bear-right-0 bear-translate-x-[50%] bear-translate-y-[-50%]",
7
+ "bottom-start": "bear-bottom-0 bear-left-0 bear-translate-x-[-50%] bear-translate-y-[50%]",
8
+ "bottom-center": "bear-bottom-0 bear-left-1/2 bear-translate-x-[-50%] bear-translate-y-[50%]",
9
+ "bottom-end": "bear-bottom-0 bear-right-0 bear-translate-x-[50%] bear-translate-y-[50%]"
10
+ }, t = {
11
+ sm: "bear-rounded-sm",
12
+ md: "bear-rounded-md",
13
+ lg: "bear-rounded-lg",
14
+ full: "bear-rounded-full"
15
+ }, b = "Bear-Indicator bear-relative", n = "Bear-Indicator bear-relative bear-inline-flex", o = "Bear-Indicator__dot bear-absolute bear-flex bear-items-center bear-justify-center bear-pointer-events-none", l = "bear-ring-2 bear-ring-white dark:bear-ring-zinc-900", s = "bear-animate-pulse";
16
+ export {
17
+ l as BORDER_CLASS,
18
+ a as DEFAULT_COLOR,
19
+ e as DEFAULT_SIZE,
20
+ o as INDICATOR_CLASS,
21
+ r as POSITION_MAP,
22
+ s as PROCESSING_CLASS,
23
+ t as RADIUS_MAP,
24
+ b as ROOT_CLASS,
25
+ n as ROOT_INLINE_CLASS
26
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { IndicatorProps } from './Indicator.types';
3
+ export declare const Indicator: FC<IndicatorProps>;
4
+ export default Indicator;
@@ -0,0 +1,56 @@
1
+ import { jsxs as y, jsx as n } from "react/jsx-runtime";
2
+ import { cn as a } from "../../utils/cn.js";
3
+ import "react";
4
+ import { Typography as L } from "../Typography/Typography.js";
5
+ import { DEFAULT_SIZE as N, PROCESSING_CLASS as R, BORDER_CLASS as g, DEFAULT_COLOR as v, RADIUS_MAP as T, POSITION_MAP as E, INDICATOR_CLASS as x, ROOT_INLINE_CLASS as D, ROOT_CLASS as b } from "./Indicator.const.js";
6
+ const F = ({
7
+ children: e,
8
+ label: t,
9
+ color: s,
10
+ size: o = N,
11
+ position: d = "top-end",
12
+ radius: m = "full",
13
+ processing: S = !1,
14
+ disabled: p = !1,
15
+ offset: i,
16
+ withBorder: c = !1,
17
+ inline: f = !1,
18
+ className: C,
19
+ testId: l,
20
+ ...A
21
+ }) => {
22
+ const O = E[d], h = T[m], r = typeof s == "string" && !s.startsWith("bear-"), I = r ? void 0 : s ?? v, _ = typeof o == "number" ? { width: o, height: o, minWidth: o } : void 0, u = typeof i == "number" ? { margin: i } : void 0;
23
+ return /* @__PURE__ */ y(
24
+ "div",
25
+ {
26
+ className: a(b, f && D, C),
27
+ "data-testid": l,
28
+ ...A,
29
+ children: [
30
+ e,
31
+ !p && /* @__PURE__ */ n(
32
+ "span",
33
+ {
34
+ className: a(
35
+ x,
36
+ O,
37
+ h,
38
+ I,
39
+ c && g,
40
+ S && R
41
+ ),
42
+ style: {
43
+ ..._,
44
+ ...u,
45
+ ...r ? { backgroundColor: s } : void 0
46
+ },
47
+ children: t != null && /* @__PURE__ */ n(L, { variant: "caption", className: "bear-text-white dark:bear-text-zinc-100 bear-font-medium", children: t })
48
+ }
49
+ )
50
+ ]
51
+ }
52
+ );
53
+ };
54
+ export {
55
+ F as Indicator
56
+ };
@@ -0,0 +1,16 @@
1
+ import { ReactNode, HTMLAttributes } from 'react';
2
+ export type IndicatorPosition = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';
3
+ export interface IndicatorProps extends HTMLAttributes<HTMLDivElement> {
4
+ children: ReactNode;
5
+ label?: ReactNode;
6
+ color?: string;
7
+ size?: number;
8
+ position?: IndicatorPosition;
9
+ radius?: 'sm' | 'md' | 'lg' | 'full';
10
+ processing?: boolean;
11
+ disabled?: boolean;
12
+ offset?: number;
13
+ withBorder?: boolean;
14
+ inline?: boolean;
15
+ testId?: string;
16
+ }
@@ -0,0 +1,2 @@
1
+ export { Indicator, default } from './Indicator';
2
+ export type { IndicatorProps, IndicatorPosition } from './Indicator.types';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("react"),b=require("../../utils/cn.cjs"),s=require("./InfiniteScroll.const.cjs"),A=m=>{const{onLoadMore:a,hasMore:n,loading:t=!1,threshold:d=s.DEFAULT_THRESHOLD,manual:r=!1,loader:u,endMessage:S,loadMoreLabel:v="Load more",inverse:o=!1,children:I,className:g,testId:j,...x}=m,i=c.useRef(null),f=c.useRef(t);f.current=t;const l=c.useCallback(()=>{f.current||!n||a()},[a,n]);c.useEffect(()=>{if(r||!n)return;const E=i.current;if(!E)return;const L=new IntersectionObserver(_=>{var N;(N=_[0])!=null&&N.isIntersecting&&l()},{threshold:0,rootMargin:`${Math.round(d*100)}px`});return L.observe(E),()=>L.disconnect()},[r,n,l,d]);const h=e.jsx("div",{className:s.LOADER_CLASSES,children:e.jsx("div",{className:s.SPINNER_CLASSES})}),R=e.jsxs(e.Fragment,{children:[o&&n&&!r&&e.jsx("div",{ref:i,style:{height:s.SENTINEL_HEIGHT}}),o&&t&&(u??h),I,!o&&t&&(u??h),!o&&n&&!r&&e.jsx("div",{ref:i,style:{height:s.SENTINEL_HEIGHT}}),n&&r&&!t&&e.jsx("button",{type:"button",onClick:l,className:s.MANUAL_BTN_CLASSES,children:v}),!n&&S&&e.jsx("div",{className:s.END_CLASSES,children:S})]});return e.jsx("div",{className:b.cn(s.ROOT_CLASSES,g),"data-testid":j,...x,children:R})};exports.InfiniteScroll=A;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=.8,r=1,a="Bear-InfiniteScroll bear-relative",t="bear-flex bear-items-center bear-justify-center bear-py-4",b="bear-text-center bear-py-4 bear-text-sm bear-text-gray-400 dark:bear-text-zinc-500",S="bear-w-full bear-py-2.5 bear-text-sm bear-font-medium bear-text-pink-600 dark:bear-text-pink-400 bear-bg-pink-50 dark:bear-bg-pink-900/20 bear-rounded-lg bear-transition-colors hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 bear-cursor-pointer",n="bear-w-5 bear-h-5 bear-border-2 bear-border-pink-200 bear-border-t-pink-500 bear-rounded-full bear-animate-spin";exports.DEFAULT_THRESHOLD=e;exports.END_CLASSES=b;exports.LOADER_CLASSES=t;exports.MANUAL_BTN_CLASSES=S;exports.ROOT_CLASSES=a;exports.SENTINEL_HEIGHT=r;exports.SPINNER_CLASSES=n;
@@ -0,0 +1,7 @@
1
+ export declare const DEFAULT_THRESHOLD = 0.8;
2
+ export declare const SENTINEL_HEIGHT = 1;
3
+ export declare const ROOT_CLASSES = "Bear-InfiniteScroll bear-relative";
4
+ export declare const LOADER_CLASSES = "bear-flex bear-items-center bear-justify-center bear-py-4";
5
+ export declare const END_CLASSES = "bear-text-center bear-py-4 bear-text-sm bear-text-gray-400 dark:bear-text-zinc-500";
6
+ export declare const MANUAL_BTN_CLASSES = "bear-w-full bear-py-2.5 bear-text-sm bear-font-medium bear-text-pink-600 dark:bear-text-pink-400 bear-bg-pink-50 dark:bear-bg-pink-900/20 bear-rounded-lg bear-transition-colors hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 bear-cursor-pointer";
7
+ export declare const SPINNER_CLASSES = "bear-w-5 bear-h-5 bear-border-2 bear-border-pink-200 bear-border-t-pink-500 bear-rounded-full bear-animate-spin";
@@ -0,0 +1,10 @@
1
+ const e = 0.8, r = 1, a = "Bear-InfiniteScroll bear-relative", b = "bear-flex bear-items-center bear-justify-center bear-py-4", t = "bear-text-center bear-py-4 bear-text-sm bear-text-gray-400 dark:bear-text-zinc-500", n = "bear-w-full bear-py-2.5 bear-text-sm bear-font-medium bear-text-pink-600 dark:bear-text-pink-400 bear-bg-pink-50 dark:bear-bg-pink-900/20 bear-rounded-lg bear-transition-colors hover:bear-bg-pink-100 dark:hover:bear-bg-pink-900/30 bear-cursor-pointer", o = "bear-w-5 bear-h-5 bear-border-2 bear-border-pink-200 bear-border-t-pink-500 bear-rounded-full bear-animate-spin";
2
+ export {
3
+ e as DEFAULT_THRESHOLD,
4
+ t as END_CLASSES,
5
+ b as LOADER_CLASSES,
6
+ n as MANUAL_BTN_CLASSES,
7
+ a as ROOT_CLASSES,
8
+ r as SENTINEL_HEIGHT,
9
+ o as SPINNER_CLASSES
10
+ };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { InfiniteScrollProps } from './InfiniteScroll.types';
3
+ export declare const InfiniteScroll: FC<InfiniteScrollProps>;
4
+ export default InfiniteScroll;