@codefast/ui 0.3.9 → 0.3.10

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 (245) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/components/accordion.cjs +97 -1
  3. package/dist/components/accordion.d.ts +4 -4
  4. package/dist/components/accordion.js +51 -1
  5. package/dist/components/alert-dialog.cjs +155 -1
  6. package/dist/components/alert-dialog.d.ts +11 -11
  7. package/dist/components/alert-dialog.js +94 -1
  8. package/dist/components/alert.cjs +84 -1
  9. package/dist/components/alert.d.ts +5 -5
  10. package/dist/components/alert.js +41 -1
  11. package/dist/components/aspect-ratio.cjs +43 -1
  12. package/dist/components/aspect-ratio.d.ts +2 -2
  13. package/dist/components/aspect-ratio.js +9 -1
  14. package/dist/components/avatar.cjs +65 -1
  15. package/dist/components/avatar.d.ts +2 -2
  16. package/dist/components/avatar.js +25 -1
  17. package/dist/components/badge.cjs +66 -1
  18. package/dist/components/badge.d.ts +3 -3
  19. package/dist/components/badge.js +29 -1
  20. package/dist/components/breadcrumb.cjs +126 -1
  21. package/dist/components/breadcrumb.d.ts +8 -8
  22. package/dist/components/breadcrumb.js +74 -1
  23. package/dist/components/button-group.cjs +86 -1
  24. package/dist/components/button-group.d.ts +5 -5
  25. package/dist/components/button-group.js +43 -1
  26. package/dist/components/button.cjs +92 -1
  27. package/dist/components/button.d.ts +6 -6
  28. package/dist/components/button.js +55 -1
  29. package/dist/components/calendar.cjs +150 -1
  30. package/dist/components/calendar.d.ts +12 -19
  31. package/dist/components/calendar.js +113 -1
  32. package/dist/components/card.cjs +105 -1
  33. package/dist/components/card.d.ts +8 -8
  34. package/dist/components/card.js +53 -1
  35. package/dist/components/carousel.cjs +210 -1
  36. package/dist/components/carousel.d.ts +10 -10
  37. package/dist/components/carousel.js +151 -1
  38. package/dist/components/chart.cjs +250 -3
  39. package/dist/components/chart.d.ts +9 -9
  40. package/dist/components/chart.js +198 -3
  41. package/dist/components/checkbox-cards.cjs +69 -1
  42. package/dist/components/checkbox-cards.d.ts +2 -2
  43. package/dist/components/checkbox-cards.js +32 -1
  44. package/dist/components/checkbox-group.cjs +63 -1
  45. package/dist/components/checkbox-group.d.ts +2 -2
  46. package/dist/components/checkbox-group.js +26 -1
  47. package/dist/components/checkbox.cjs +53 -1
  48. package/dist/components/checkbox.d.ts +2 -2
  49. package/dist/components/checkbox.js +19 -1
  50. package/dist/components/collapsible.cjs +61 -1
  51. package/dist/components/collapsible.d.ts +2 -2
  52. package/dist/components/collapsible.js +21 -1
  53. package/dist/components/command.cjs +167 -1
  54. package/dist/components/command.d.ts +4 -4
  55. package/dist/components/command.js +106 -1
  56. package/dist/components/context-menu.cjs +218 -1
  57. package/dist/components/context-menu.d.ts +4 -4
  58. package/dist/components/context-menu.js +142 -1
  59. package/dist/components/dialog.cjs +164 -1
  60. package/dist/components/dialog.d.ts +10 -10
  61. package/dist/components/dialog.js +106 -1
  62. package/dist/components/drawer.cjs +143 -1
  63. package/dist/components/drawer.d.ts +9 -9
  64. package/dist/components/drawer.js +85 -1
  65. package/dist/components/dropdown-menu.cjs +221 -1
  66. package/dist/components/dropdown-menu.d.ts +4 -4
  67. package/dist/components/dropdown-menu.js +145 -1
  68. package/dist/components/empty.cjs +113 -1
  69. package/dist/components/empty.d.ts +9 -9
  70. package/dist/components/empty.js +61 -1
  71. package/dist/components/field.cjs +193 -1
  72. package/dist/components/field.d.ts +14 -14
  73. package/dist/components/field.js +129 -1
  74. package/dist/components/form.cjs +151 -1
  75. package/dist/components/form.d.ts +10 -10
  76. package/dist/components/form.js +96 -1
  77. package/dist/components/hover-card.cjs +77 -1
  78. package/dist/components/hover-card.d.ts +2 -2
  79. package/dist/components/hover-card.js +34 -1
  80. package/dist/components/input-group.cjs +155 -1
  81. package/dist/components/input-group.d.ts +15 -15
  82. package/dist/components/input-group.js +97 -1
  83. package/dist/components/input-number.cjs +98 -1
  84. package/dist/components/input-number.d.ts +2 -2
  85. package/dist/components/input-number.js +64 -1
  86. package/dist/components/input-otp.cjs +101 -1
  87. package/dist/components/input-otp.d.ts +6 -6
  88. package/dist/components/input-otp.js +49 -1
  89. package/dist/components/input-password.cjs +71 -1
  90. package/dist/components/input-password.d.ts +3 -3
  91. package/dist/components/input-password.js +37 -1
  92. package/dist/components/input-search.cjs +80 -1
  93. package/dist/components/input-search.d.ts +3 -3
  94. package/dist/components/input-search.js +46 -1
  95. package/dist/components/input.cjs +45 -1
  96. package/dist/components/input.d.ts +2 -2
  97. package/dist/components/input.js +11 -1
  98. package/dist/components/item.cjs +186 -1
  99. package/dist/components/item.d.ts +12 -12
  100. package/dist/components/item.js +119 -1
  101. package/dist/components/kbd.cjs +54 -1
  102. package/dist/components/kbd.d.ts +3 -3
  103. package/dist/components/kbd.js +17 -1
  104. package/dist/components/label.cjs +45 -1
  105. package/dist/components/label.d.ts +2 -2
  106. package/dist/components/label.js +11 -1
  107. package/dist/components/menubar.cjs +232 -1
  108. package/dist/components/menubar.d.ts +4 -4
  109. package/dist/components/menubar.js +153 -1
  110. package/dist/components/native-select.cjs +75 -1
  111. package/dist/components/native-select.d.ts +4 -4
  112. package/dist/components/native-select.js +35 -1
  113. package/dist/components/navigation-menu.cjs +146 -2
  114. package/dist/components/navigation-menu.d.ts +2 -2
  115. package/dist/components/navigation-menu.js +94 -2
  116. package/dist/components/pagination.cjs +138 -1
  117. package/dist/components/pagination.d.ts +10 -10
  118. package/dist/components/pagination.js +86 -1
  119. package/dist/components/popover.cjs +86 -1
  120. package/dist/components/popover.d.ts +3 -3
  121. package/dist/components/popover.js +40 -1
  122. package/dist/components/progress-circle.cjs +184 -1
  123. package/dist/components/progress-circle.d.ts +5 -5
  124. package/dist/components/progress-circle.js +147 -1
  125. package/dist/components/progress.cjs +52 -1
  126. package/dist/components/progress.d.ts +2 -2
  127. package/dist/components/progress.js +18 -1
  128. package/dist/components/radio-cards.cjs +66 -1
  129. package/dist/components/radio-cards.d.ts +2 -2
  130. package/dist/components/radio-cards.js +29 -1
  131. package/dist/components/radio-group.cjs +59 -1
  132. package/dist/components/radio-group.d.ts +2 -2
  133. package/dist/components/radio-group.js +22 -1
  134. package/dist/components/radio.cjs +47 -1
  135. package/dist/components/radio.d.ts +2 -2
  136. package/dist/components/radio.js +13 -1
  137. package/dist/components/resizable.cjs +71 -1
  138. package/dist/components/resizable.d.ts +8 -8
  139. package/dist/components/resizable.js +31 -1
  140. package/dist/components/scroll-area.cjs +140 -1
  141. package/dist/components/scroll-area.d.ts +5 -5
  142. package/dist/components/scroll-area.js +100 -1
  143. package/dist/components/select.cjs +180 -1
  144. package/dist/components/select.d.ts +5 -5
  145. package/dist/components/select.js +119 -1
  146. package/dist/components/separator.cjs +82 -1
  147. package/dist/components/separator.d.ts +5 -5
  148. package/dist/components/separator.js +42 -1
  149. package/dist/components/sheet.cjs +184 -1
  150. package/dist/components/sheet.d.ts +9 -9
  151. package/dist/components/sheet.js +123 -1
  152. package/dist/components/sidebar.cjs +506 -1
  153. package/dist/components/sidebar.d.ts +31 -31
  154. package/dist/components/sidebar.js +400 -1
  155. package/dist/components/skeleton.cjs +44 -1
  156. package/dist/components/skeleton.d.ts +2 -2
  157. package/dist/components/skeleton.js +10 -1
  158. package/dist/components/slider.cjs +79 -1
  159. package/dist/components/slider.d.ts +2 -2
  160. package/dist/components/slider.js +45 -1
  161. package/dist/components/sonner.cjs +57 -1
  162. package/dist/components/sonner.d.ts +3 -3
  163. package/dist/components/sonner.js +17 -1
  164. package/dist/components/spinner.cjs +75 -1
  165. package/dist/components/spinner.d.ts +2 -2
  166. package/dist/components/spinner.js +41 -1
  167. package/dist/components/switch.cjs +49 -1
  168. package/dist/components/switch.d.ts +2 -2
  169. package/dist/components/switch.js +15 -1
  170. package/dist/components/table.cjs +118 -1
  171. package/dist/components/table.d.ts +9 -9
  172. package/dist/components/table.js +63 -1
  173. package/dist/components/tabs.cjs +75 -1
  174. package/dist/components/tabs.d.ts +3 -3
  175. package/dist/components/tabs.js +32 -1
  176. package/dist/components/textarea.cjs +44 -1
  177. package/dist/components/textarea.d.ts +2 -2
  178. package/dist/components/textarea.js +10 -1
  179. package/dist/components/toggle-group.cjs +90 -1
  180. package/dist/components/toggle-group.d.ts +10 -12
  181. package/dist/components/toggle-group.js +53 -1
  182. package/dist/components/toggle.cjs +71 -1
  183. package/dist/components/toggle.d.ts +10 -12
  184. package/dist/components/toggle.js +34 -1
  185. package/dist/components/tooltip.cjs +90 -1
  186. package/dist/components/tooltip.d.ts +3 -3
  187. package/dist/components/tooltip.js +44 -1
  188. package/dist/css/amber.css +95 -1
  189. package/dist/css/blue.css +95 -1
  190. package/dist/css/cyan.css +95 -1
  191. package/dist/css/emerald.css +95 -1
  192. package/dist/css/fuchsia.css +95 -1
  193. package/dist/css/gray.css +95 -1
  194. package/dist/css/green.css +95 -1
  195. package/dist/css/indigo.css +95 -1
  196. package/dist/css/lime.css +95 -1
  197. package/dist/css/neutral.css +95 -1
  198. package/dist/css/orange.css +95 -1
  199. package/dist/css/pink.css +95 -1
  200. package/dist/css/preset.css +118 -1
  201. package/dist/css/purple.css +95 -1
  202. package/dist/css/red.css +95 -1
  203. package/dist/css/rose.css +95 -1
  204. package/dist/css/sky.css +95 -1
  205. package/dist/css/slate.css +95 -1
  206. package/dist/css/stone.css +95 -1
  207. package/dist/css/style.css +3 -1
  208. package/dist/css/teal.css +95 -1
  209. package/dist/css/violet.css +95 -1
  210. package/dist/css/yellow.css +95 -1
  211. package/dist/css/zinc.css +95 -1
  212. package/dist/hooks/use-animated-value.cjs +74 -1
  213. package/dist/hooks/use-animated-value.d.ts +9 -10
  214. package/dist/hooks/use-animated-value.js +40 -1
  215. package/dist/hooks/use-copy-to-clipboard.cjs +57 -1
  216. package/dist/hooks/use-copy-to-clipboard.d.ts +18 -1
  217. package/dist/hooks/use-copy-to-clipboard.js +23 -1
  218. package/dist/hooks/use-is-mobile.cjs +39 -1
  219. package/dist/hooks/use-is-mobile.d.ts +15 -6
  220. package/dist/hooks/use-is-mobile.js +5 -1
  221. package/dist/hooks/use-media-query.cjs +56 -1
  222. package/dist/hooks/use-media-query.d.ts +11 -3
  223. package/dist/hooks/use-media-query.js +22 -1
  224. package/dist/hooks/use-mutation-observer.cjs +56 -1
  225. package/dist/hooks/use-mutation-observer.d.ts +8 -12
  226. package/dist/hooks/use-mutation-observer.js +22 -1
  227. package/dist/hooks/use-pagination.cjs +92 -1
  228. package/dist/hooks/use-pagination.d.ts +12 -10
  229. package/dist/hooks/use-pagination.js +55 -1
  230. package/dist/index.cjs +1081 -1
  231. package/dist/index.d.ts +130 -131
  232. package/dist/index.js +69 -1
  233. package/dist/primitives/checkbox-group.cjs +151 -1
  234. package/dist/primitives/checkbox-group.d.ts +11 -11
  235. package/dist/primitives/checkbox-group.js +99 -1
  236. package/dist/primitives/input-number.cjs +439 -1
  237. package/dist/primitives/input-number.d.ts +8 -8
  238. package/dist/primitives/input-number.js +381 -1
  239. package/dist/primitives/input.cjs +99 -1
  240. package/dist/primitives/input.d.ts +4 -4
  241. package/dist/primitives/input.js +53 -1
  242. package/dist/primitives/progress-circle.cjs +198 -1
  243. package/dist/primitives/progress-circle.d.ts +7 -7
  244. package/dist/primitives/progress-circle.js +128 -1
  245. package/package.json +385 -38
package/dist/css/zinc.css CHANGED
@@ -1 +1,95 @@
1
- :root{--input:oklch(92% .004 286.32);--border:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067);--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.1% .005 285.823);--sidebar-primary:oklch(21% .006 285.885);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(96.7% .001 286.375);--sidebar-accent-foreground:oklch(21% .006 285.885);--sidebar-border:oklch(92% .004 286.32);--sidebar-ring:oklch(70.5% .015 286.067);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08)}.dark{--input:oklch(100% 0 0/.15);--border:oklch(100% 0 0/.1);--ring:oklch(55.2% .016 285.938);--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--sidebar:oklch(21% .006 285.885);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(27.4% .006 286.033);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.2% .016 285.938);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439)}
1
+ :root {
2
+ --input: oklch(0.92 0.004 286.32); /* --color-zinc-200 */
3
+ --border: oklch(0.92 0.004 286.32); /* --color-zinc-200 */
4
+
5
+ --ring: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
6
+
7
+ --background: oklch(1 0 0); /* --color-zinc-50 */
8
+ --foreground: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
9
+
10
+ --primary: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
11
+ --primary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
12
+
13
+ --secondary: oklch(0.967 0.001 286.375); /* --color-zinc-100 */
14
+ --secondary-foreground: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
15
+
16
+ --destructive: oklch(0.577 0.245 27.325); /* --color-red-600 */
17
+
18
+ --accent: oklch(0.967 0.001 286.375); /* --color-zinc-100 */
19
+ --accent-foreground: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
20
+
21
+ --muted: oklch(0.967 0.001 286.375); /* --color-zinc-100 */
22
+ --muted-foreground: oklch(0.552 0.016 285.938); /* --color-zinc-500 */
23
+
24
+ --popover: oklch(1 0 0); /* --color-zinc-50 */
25
+ --popover-foreground: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
26
+
27
+ --card: oklch(1 0 0); /* --color-zinc-50 */
28
+ --card-foreground: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
29
+
30
+ --sidebar: oklch(0.985 0 0); /* --color-zinc-50 */
31
+ --sidebar-foreground: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
32
+
33
+ --sidebar-primary: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
34
+ --sidebar-primary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
35
+
36
+ --sidebar-accent: oklch(0.967 0.001 286.375); /* --color-zinc-100 */
37
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
38
+
39
+ --sidebar-border: oklch(0.92 0.004 286.32); /* --color-zinc-200 */
40
+ --sidebar-ring: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
41
+
42
+ --chart-1: oklch(0.646 0.222 41.116); /* --color-orange-600 */
43
+ --chart-2: oklch(0.6 0.118 184.704); /* --color-teal-600 */
44
+ --chart-3: oklch(0.398 0.07 227.392); /* --color-cyan-900 */
45
+ --chart-4: oklch(0.828 0.189 84.429); /* --color-amber-400 */
46
+ --chart-5: oklch(0.769 0.188 70.08); /* --color-amber-500 */
47
+ }
48
+
49
+ .dark {
50
+ --input: oklch(1 0 0 / 15%); /* --color-white */
51
+ --border: oklch(1 0 0 / 10%); /* --color-white */
52
+
53
+ --ring: oklch(0.552 0.016 285.938); /* --color-zinc-500 */
54
+
55
+ --background: oklch(0.141 0.005 285.823); /* --color-zinc-950 */
56
+ --foreground: oklch(0.985 0 0); /* --color-zinc-50 */
57
+
58
+ --primary: oklch(0.92 0.004 286.32); /* --color-zinc-200 */
59
+ --primary-foreground: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
60
+
61
+ --secondary: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
62
+ --secondary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
63
+
64
+ --destructive: oklch(0.704 0.191 22.216); /* --color-red-400 */
65
+
66
+ --accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
67
+ --accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
68
+
69
+ --muted: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
70
+ --muted-foreground: oklch(0.705 0.015 286.067); /* --color-zinc-400 */
71
+
72
+ --popover: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
73
+ --popover-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
74
+
75
+ --card: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
76
+ --card-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
77
+
78
+ --sidebar: oklch(0.21 0.006 285.885); /* --color-zinc-900 */
79
+ --sidebar-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
80
+
81
+ --sidebar-primary: oklch(0.488 0.243 264.376); /* --color-blue-700 */
82
+ --sidebar-primary-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
83
+
84
+ --sidebar-accent: oklch(0.274 0.006 286.033); /* --color-zinc-800 */
85
+ --sidebar-accent-foreground: oklch(0.985 0 0); /* --color-zinc-50 */
86
+
87
+ --sidebar-border: oklch(1 0 0 / 10%); /* --color-white */
88
+ --sidebar-ring: oklch(0.552 0.016 285.938); /* --color-zinc-500 */
89
+
90
+ --chart-1: oklch(0.488 0.243 264.376); /* --color-blue-700 */
91
+ --chart-2: oklch(0.696 0.17 162.48); /* --color-emerald-500 */
92
+ --chart-3: oklch(0.769 0.188 70.08); /* --color-amber-500 */
93
+ --chart-4: oklch(0.627 0.265 303.9); /* --color-purple-500 */
94
+ --chart-5: oklch(0.645 0.246 16.439); /* --color-rose-500 */
95
+ }
@@ -1,2 +1,75 @@
1
+ "use strict";
1
2
  "use client";
2
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useAnimatedValue:()=>useAnimatedValue});const external_react_namespaceObject=require("react");function useAnimatedValue(e,_,r){let t=e??0,[a,c]=(0,external_react_namespaceObject.useState)(t),n=(0,external_react_namespaceObject.useRef)(t);return(0,external_react_namespaceObject.useEffect)(()=>{n.current=a},[a]),(0,external_react_namespaceObject.useEffect)(()=>{let e;if(!r)return void c(t);let a=n.current,u=t-a,i=performance.now();if(_<=0||0===u)return void c(t);let o=r=>{let n=r-i;if(n>=_)c(t);else{let r=n/_;c(a+u*(1-(1-r)*(1-r))),e=requestAnimationFrame(o)}};return e=requestAnimationFrame(o),()=>{cancelAnimationFrame(e)}},[t,_,r]),Math.round(a)}for(var __webpack_i__ in exports.useAnimatedValue=__webpack_exports__.useAnimatedValue,__webpack_exports__)-1===["useAnimatedValue"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ useAnimatedValue: ()=>useAnimatedValue
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ function useAnimatedValue(targetValue, duration, animate) {
32
+ const actualTargetValue = targetValue ?? 0;
33
+ const [animatedValue, setAnimatedValue] = (0, external_react_namespaceObject.useState)(actualTargetValue);
34
+ const animatedValueRef = (0, external_react_namespaceObject.useRef)(actualTargetValue);
35
+ (0, external_react_namespaceObject.useEffect)(()=>{
36
+ animatedValueRef.current = animatedValue;
37
+ }, [
38
+ animatedValue
39
+ ]);
40
+ (0, external_react_namespaceObject.useEffect)(()=>{
41
+ if (!animate) return void setAnimatedValue(actualTargetValue);
42
+ const currentValue = animatedValueRef.current;
43
+ const valueRange = actualTargetValue - currentValue;
44
+ const startTime = performance.now();
45
+ if (duration <= 0 || 0 === valueRange) return void setAnimatedValue(actualTargetValue);
46
+ let animationFrame;
47
+ const animateValue = (currentTime)=>{
48
+ const elapsedTime = currentTime - startTime;
49
+ if (elapsedTime >= duration) setAnimatedValue(actualTargetValue);
50
+ else {
51
+ const progress = elapsedTime / duration;
52
+ const easeProgress = 1 - (1 - progress) * (1 - progress);
53
+ const nextValue = currentValue + valueRange * easeProgress;
54
+ setAnimatedValue(nextValue);
55
+ animationFrame = requestAnimationFrame(animateValue);
56
+ }
57
+ };
58
+ animationFrame = requestAnimationFrame(animateValue);
59
+ return ()=>{
60
+ cancelAnimationFrame(animationFrame);
61
+ };
62
+ }, [
63
+ actualTargetValue,
64
+ duration,
65
+ animate
66
+ ]);
67
+ return Math.round(animatedValue);
68
+ }
69
+ exports.useAnimatedValue = __webpack_exports__.useAnimatedValue;
70
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
71
+ "useAnimatedValue"
72
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
73
+ Object.defineProperty(exports, '__esModule', {
74
+ value: true
75
+ });
@@ -1,19 +1,18 @@
1
1
  /**
2
- * Hook to create a smoothly animated value when changes occur
2
+ * Produce a smoothly animated numeric value in response to changes.
3
3
  *
4
- * @param targetValue - The target value the animation should reach when complete
5
- * @param duration - The animation duration in milliseconds
6
- * @param animate - Enables the animation effect. If false, the value updates immediately
4
+ * Applies a time-based easing (easeOutQuad) between the current and target values
5
+ * over the specified duration. When disabled, the value updates immediately.
7
6
  *
8
- * @returns The rounded value currently being displayed during animation
7
+ * @param targetValue - Target number to animate toward; null resolves to 0.
8
+ * @param duration - Animation duration in milliseconds.
9
+ * @param animate - When false, bypasses animation and sets the value directly.
10
+ * @returns The current (rounded) animated value.
9
11
  *
10
12
  * @example
11
13
  * ```tsx
12
- * // Use the hook to create an animated value
13
- * const animatedValue = useAnimatedValue(75, 1000, true);
14
- *
15
- * // Display the animated value
16
- * return <div>{animatedValue}%</div>;
14
+ * const value = useAnimatedValue(75, 1000, true);
15
+ * return <div>{value}%</div>;
17
16
  * ```
18
17
  */
19
18
  export declare function useAnimatedValue(targetValue: null | number, duration: number, animate?: boolean): number;
@@ -1,2 +1,41 @@
1
1
  "use client";
2
- import{useEffect as e,useRef as r,useState as t}from"react";function n(n,i,a){let o=n??0,[u,m]=t(o),l=r(o);return e(()=>{l.current=u},[u]),e(()=>{let e;if(!a)return void m(o);let r=l.current,t=o-r,n=performance.now();if(i<=0||0===t)return void m(o);let u=a=>{let l=a-n;if(l>=i)m(o);else{let n=l/i;m(r+t*(1-(1-n)*(1-n))),e=requestAnimationFrame(u)}};return e=requestAnimationFrame(u),()=>{cancelAnimationFrame(e)}},[o,i,a]),Math.round(u)}export{n as useAnimatedValue};
2
+ import { useEffect, useRef, useState } from "react";
3
+ function useAnimatedValue(targetValue, duration, animate) {
4
+ const actualTargetValue = targetValue ?? 0;
5
+ const [animatedValue, setAnimatedValue] = useState(actualTargetValue);
6
+ const animatedValueRef = useRef(actualTargetValue);
7
+ useEffect(()=>{
8
+ animatedValueRef.current = animatedValue;
9
+ }, [
10
+ animatedValue
11
+ ]);
12
+ useEffect(()=>{
13
+ if (!animate) return void setAnimatedValue(actualTargetValue);
14
+ const currentValue = animatedValueRef.current;
15
+ const valueRange = actualTargetValue - currentValue;
16
+ const startTime = performance.now();
17
+ if (duration <= 0 || 0 === valueRange) return void setAnimatedValue(actualTargetValue);
18
+ let animationFrame;
19
+ const animateValue = (currentTime)=>{
20
+ const elapsedTime = currentTime - startTime;
21
+ if (elapsedTime >= duration) setAnimatedValue(actualTargetValue);
22
+ else {
23
+ const progress = elapsedTime / duration;
24
+ const easeProgress = 1 - (1 - progress) * (1 - progress);
25
+ const nextValue = currentValue + valueRange * easeProgress;
26
+ setAnimatedValue(nextValue);
27
+ animationFrame = requestAnimationFrame(animateValue);
28
+ }
29
+ };
30
+ animationFrame = requestAnimationFrame(animateValue);
31
+ return ()=>{
32
+ cancelAnimationFrame(animationFrame);
33
+ };
34
+ }, [
35
+ actualTargetValue,
36
+ duration,
37
+ animate
38
+ ]);
39
+ return Math.round(animatedValue);
40
+ }
41
+ export { useAnimatedValue };
@@ -1,2 +1,58 @@
1
+ "use strict";
1
2
  "use client";
2
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useCopyToClipboard:()=>useCopyToClipboard});const external_react_namespaceObject=require("react");function useCopyToClipboard({onCopy:e,timeout:_=2e3}={}){let[r,o]=(0,external_react_namespaceObject.useState)(!1);return{copyToClipboard:async r=>{if("undefined"!=typeof globalThis&&navigator.clipboard.writeText&&r)try{await navigator.clipboard.writeText(r),o(!0),e&&e(),setTimeout(()=>{o(!1)},_)}catch(e){console.error(e)}},isCopied:r}}for(var __webpack_i__ in exports.useCopyToClipboard=__webpack_exports__.useCopyToClipboard,__webpack_exports__)-1===["useCopyToClipboard"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ useCopyToClipboard: ()=>useCopyToClipboard
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ function useCopyToClipboard({ onCopy, timeout = 2000 } = {}) {
32
+ const [isCopied, setIsCopied] = (0, external_react_namespaceObject.useState)(false);
33
+ const copyToClipboard = async (value)=>{
34
+ if ("u" < typeof window || !('clipboard' in navigator)) return;
35
+ if (!value) return;
36
+ try {
37
+ await navigator.clipboard.writeText(value);
38
+ setIsCopied(true);
39
+ if (onCopy) onCopy();
40
+ setTimeout(()=>{
41
+ setIsCopied(false);
42
+ }, timeout);
43
+ } catch (error) {
44
+ console.error(error);
45
+ }
46
+ };
47
+ return {
48
+ copyToClipboard,
49
+ isCopied
50
+ };
51
+ }
52
+ exports.useCopyToClipboard = __webpack_exports__.useCopyToClipboard;
53
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
54
+ "useCopyToClipboard"
55
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
56
+ Object.defineProperty(exports, '__esModule', {
57
+ value: true
58
+ });
@@ -1,4 +1,21 @@
1
- export declare function useCopyToClipboard({ onCopy, timeout, }?: {
1
+ /**
2
+ * Provide clipboard copy capability with a transient copied state.
3
+ *
4
+ * Internally uses the Clipboard API when available and sets a temporary
5
+ * `isCopied` flag for UI feedback. A custom callback may be invoked upon copy.
6
+ *
7
+ * @param options - Configuration options.
8
+ * - onCopy: Callback invoked after a successful copy.
9
+ * - timeout: Duration in milliseconds to keep `isCopied` true. Defaults to 2000.
10
+ * @returns An object with a `copyToClipboard` function and an `isCopied` flag.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const { copyToClipboard, isCopied } = useCopyToClipboard({ timeout: 1500 });
15
+ * <button onClick={() => copyToClipboard("Hello")}>{isCopied ? "Copied" : "Copy"}</button>
16
+ * ```
17
+ */
18
+ export declare function useCopyToClipboard({ onCopy, timeout }?: {
2
19
  onCopy?: () => void;
3
20
  timeout?: number;
4
21
  }): {
@@ -1,2 +1,24 @@
1
1
  "use client";
2
- import{useState as o}from"react";function r({onCopy:e,timeout:t=2e3}={}){let[i,a]=o(!1);return{copyToClipboard:async o=>{if("undefined"!=typeof globalThis&&navigator.clipboard.writeText&&o)try{await navigator.clipboard.writeText(o),a(!0),e&&e(),setTimeout(()=>{a(!1)},t)}catch(o){console.error(o)}},isCopied:i}}export{r as useCopyToClipboard};
2
+ import { useState } from "react";
3
+ function useCopyToClipboard({ onCopy, timeout = 2000 } = {}) {
4
+ const [isCopied, setIsCopied] = useState(false);
5
+ const copyToClipboard = async (value)=>{
6
+ if ("u" < typeof window || !('clipboard' in navigator)) return;
7
+ if (!value) return;
8
+ try {
9
+ await navigator.clipboard.writeText(value);
10
+ setIsCopied(true);
11
+ if (onCopy) onCopy();
12
+ setTimeout(()=>{
13
+ setIsCopied(false);
14
+ }, timeout);
15
+ } catch (error) {
16
+ console.error(error);
17
+ }
18
+ };
19
+ return {
20
+ copyToClipboard,
21
+ isCopied
22
+ };
23
+ }
24
+ export { useCopyToClipboard };
@@ -1,2 +1,40 @@
1
+ "use strict";
1
2
  "use client";
2
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useIsMobile:()=>useIsMobile});const external_use_media_query_cjs_namespaceObject=require("./use-media-query.cjs"),MOBILE_BREAKPOINT=768;function useIsMobile(){return(0,external_use_media_query_cjs_namespaceObject.useMediaQuery)("(max-width: 767px)")}for(var __webpack_i__ in exports.useIsMobile=__webpack_exports__.useIsMobile,__webpack_exports__)-1===["useIsMobile"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ useIsMobile: ()=>useIsMobile
29
+ });
30
+ const external_use_media_query_cjs_namespaceObject = require("./use-media-query.cjs");
31
+ function useIsMobile(mobileBreakpoint = 768) {
32
+ return (0, external_use_media_query_cjs_namespaceObject.useMediaQuery)(`(max-width: ${(mobileBreakpoint - 1).toString()}px)`);
33
+ }
34
+ exports.useIsMobile = __webpack_exports__.useIsMobile;
35
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
36
+ "useIsMobile"
37
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
38
+ Object.defineProperty(exports, '__esModule', {
39
+ value: true
40
+ });
@@ -1,10 +1,19 @@
1
1
  /**
2
- * Custom hook that determines if the current viewport is mobile-sized.
2
+ * Determine whether the current viewport should be treated as mobile.
3
3
  *
4
- * This hook uses the useMediaQuery hook to check if the screen width is less than
5
- * the defined mobile breakpoint (768px).
4
+ * Uses {@link useMediaQuery} to evaluate a max-width media query derived from the
5
+ * provided breakpoint. By default, widths below 768px are considered mobile.
6
6
  *
7
- * @returns A boolean indicating whether the current viewport is mobile-sized.
8
- * True if the screen width is less than 768px, false otherwise.
7
+ * @param mobileBreakpoint - Pixel width used as the mobile breakpoint. Values strictly
8
+ * less than this breakpoint are treated as mobile. Defaults to 768.
9
+ * @returns true when the viewport width is less than the given breakpoint; otherwise false.
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * const isMobile = useIsMobile();
14
+ * if (isMobile) {
15
+ * // Render compact layout
16
+ * }
17
+ * ```
9
18
  */
10
- export declare function useIsMobile(): boolean;
19
+ export declare function useIsMobile(mobileBreakpoint?: number): boolean;
@@ -1,2 +1,6 @@
1
1
  "use client";
2
- import{useMediaQuery as e}from"./use-media-query.js";function r(){return e("(max-width: 767px)")}export{r as useIsMobile};
2
+ import { useMediaQuery } from "./use-media-query.js";
3
+ function useIsMobile(mobileBreakpoint = 768) {
4
+ return useMediaQuery(`(max-width: ${(mobileBreakpoint - 1).toString()}px)`);
5
+ }
6
+ export { useIsMobile };
@@ -1,2 +1,57 @@
1
+ "use strict";
1
2
  "use client";
2
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useMediaQuery:()=>useMediaQuery});const external_react_namespaceObject=require("react");function useMediaQuery(e){let[_,r]=(0,external_react_namespaceObject.useState)(()=>"undefined"!=typeof globalThis&&"function"==typeof globalThis.matchMedia&&globalThis.matchMedia(e).matches);return(0,external_react_namespaceObject.useEffect)(()=>{if("undefined"==typeof globalThis)return;let _=globalThis.matchMedia(e),t=e=>{r(e.matches)};return _.addEventListener("change",t),()=>{_.removeEventListener("change",t)}},[e]),_}for(var __webpack_i__ in exports.useMediaQuery=__webpack_exports__.useMediaQuery,__webpack_exports__)-1===["useMediaQuery"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ useMediaQuery: ()=>useMediaQuery
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ function useMediaQuery(query) {
32
+ const [matches, setMatches] = (0, external_react_namespaceObject.useState)(()=>{
33
+ if ("u" > typeof window && 'function' == typeof window.matchMedia) return window.matchMedia(query).matches;
34
+ return false;
35
+ });
36
+ (0, external_react_namespaceObject.useEffect)(()=>{
37
+ if ("u" < typeof window) return;
38
+ const mediaQueryList = window.matchMedia(query);
39
+ const onChange = (event)=>{
40
+ setMatches(event.matches);
41
+ };
42
+ mediaQueryList.addEventListener('change', onChange);
43
+ return ()=>{
44
+ mediaQueryList.removeEventListener('change', onChange);
45
+ };
46
+ }, [
47
+ query
48
+ ]);
49
+ return matches;
50
+ }
51
+ exports.useMediaQuery = __webpack_exports__.useMediaQuery;
52
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
53
+ "useMediaQuery"
54
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
55
+ Object.defineProperty(exports, '__esModule', {
56
+ value: true
57
+ });
@@ -1,7 +1,15 @@
1
1
  /**
2
- * Custom hook to listen to CSS media query.
2
+ * Subscribe to a CSS media query and receive its match state.
3
3
  *
4
- * @param query - Media query string.
5
- * @returns Whether the media query matches or not.
4
+ * Evaluates the query immediately (when supported) and updates on changes
5
+ * via an event listener.
6
+ *
7
+ * @param query - A valid media query string (e.g., "(max-width: 768px)").
8
+ * @returns true when the media query currently matches; otherwise false.
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * const isNarrow = useMediaQuery("(max-width: 768px)");
13
+ * ```
6
14
  */
7
15
  export declare function useMediaQuery(query: string): boolean;
@@ -1,2 +1,23 @@
1
1
  "use client";
2
- import{useEffect as e,useState as t}from"react";function a(a){let[i,n]=t(()=>"undefined"!=typeof globalThis&&"function"==typeof globalThis.matchMedia&&globalThis.matchMedia(a).matches);return e(()=>{if("undefined"==typeof globalThis)return;let e=globalThis.matchMedia(a),t=e=>{n(e.matches)};return e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}},[a]),i}export{a as useMediaQuery};
2
+ import { useEffect, useState } from "react";
3
+ function useMediaQuery(query) {
4
+ const [matches, setMatches] = useState(()=>{
5
+ if ("u" > typeof window && 'function' == typeof window.matchMedia) return window.matchMedia(query).matches;
6
+ return false;
7
+ });
8
+ useEffect(()=>{
9
+ if ("u" < typeof window) return;
10
+ const mediaQueryList = window.matchMedia(query);
11
+ const onChange = (event)=>{
12
+ setMatches(event.matches);
13
+ };
14
+ mediaQueryList.addEventListener('change', onChange);
15
+ return ()=>{
16
+ mediaQueryList.removeEventListener('change', onChange);
17
+ };
18
+ }, [
19
+ query
20
+ ]);
21
+ return matches;
22
+ }
23
+ export { useMediaQuery };
@@ -1,2 +1,57 @@
1
+ "use strict";
1
2
  "use client";
2
- "use strict";const __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_require__={};__webpack_require__.d=(e,_)=>{for(var r in _)__webpack_require__.o(_,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:_[r]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useMutationObserver:()=>useMutationObserver});const external_react_namespaceObject=require("react"),defaultOptions={attributes:!0,characterData:!0,childList:!0,subtree:!0};function useMutationObserver(e,_,r=defaultOptions){(0,external_react_namespaceObject.useEffect)(()=>{if(!e.current)return;let t=new MutationObserver(_);return t.observe(e.current,r),()=>{t.disconnect()}},[e,_,r])}for(var __webpack_i__ in exports.useMutationObserver=__webpack_exports__.useMutationObserver,__webpack_exports__)-1===["useMutationObserver"].indexOf(__webpack_i__)&&(exports[__webpack_i__]=__webpack_exports__[__webpack_i__]);Object.defineProperty(exports,"__esModule",{value:!0});
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ useMutationObserver: ()=>useMutationObserver
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ const defaultOptions = {
32
+ attributes: true,
33
+ characterData: true,
34
+ childList: true,
35
+ subtree: true
36
+ };
37
+ function useMutationObserver(ref, callback, options = defaultOptions) {
38
+ (0, external_react_namespaceObject.useEffect)(()=>{
39
+ if (!ref.current) return;
40
+ const observer = new MutationObserver(callback);
41
+ observer.observe(ref.current, options);
42
+ return ()=>{
43
+ observer.disconnect();
44
+ };
45
+ }, [
46
+ ref,
47
+ callback,
48
+ options
49
+ ]);
50
+ }
51
+ exports.useMutationObserver = __webpack_exports__.useMutationObserver;
52
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
53
+ "useMutationObserver"
54
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
55
+ Object.defineProperty(exports, '__esModule', {
56
+ value: true
57
+ });
@@ -1,18 +1,14 @@
1
- import type { RefObject } from "react";
1
+ import type { RefObject } from 'react';
2
2
  /**
3
- * Attaches a MutationObserver to a given HTMLElement and invokes a callback
4
- * function when mutations occur in the observed elements.
3
+ * Observe DOM mutations on a referenced element and invoke a callback.
5
4
  *
6
- * @param ref - The mutable reference to the HTMLElement to be observed for mutations
7
- * @param callback - The function to be called when mutations are detected
8
- * @param options - Configuration options for the MutationObserver, defaults to watching all changes
9
- * @returns void
5
+ * Attaches a MutationObserver to the provided element reference with the given
6
+ * options and calls the callback whenever mutations occur.
10
7
  *
11
- * @remarks
12
- * This function is a React hook that attaches a MutationObserver to a given
13
- * HTMLElement. The MutationObserver listens for mutations in the observed
14
- * element and its descendants and invokes the provided callback function
15
- * when mutations occur.
8
+ * @param ref - Ref to the target HTMLElement to observe.
9
+ * @param callback - Mutation callback invoked with observed records.
10
+ * @param options - Observer configuration. Defaults watch attributes, characterData, childList, subtree.
11
+ * @returns void
16
12
  *
17
13
  * @see [MutationObserver](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver)
18
14
  */