asterui 0.12.30 → 0.12.31

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 (326) hide show
  1. package/dist/chart.d.ts +2 -0
  2. package/dist/chart.js +5 -0
  3. package/dist/chart.js.map +1 -0
  4. package/dist/{index2.js → components/Affix.js} +1 -1
  5. package/dist/components/Affix.js.map +1 -0
  6. package/dist/{index4.js → components/Alert.js} +1 -1
  7. package/dist/components/Alert.js.map +1 -0
  8. package/dist/{index3.js → components/Anchor.js} +1 -1
  9. package/dist/components/Anchor.js.map +1 -0
  10. package/dist/{index5.js → components/Autocomplete.js} +1 -1
  11. package/dist/components/Autocomplete.js.map +1 -0
  12. package/dist/{index6.js → components/Avatar.js} +1 -1
  13. package/dist/components/Avatar.js.map +1 -0
  14. package/dist/{index7.js → components/Badge.js} +1 -1
  15. package/dist/components/Badge.js.map +1 -0
  16. package/dist/components/Breadcrumb.js +38 -0
  17. package/dist/components/Breadcrumb.js.map +1 -0
  18. package/dist/{index53.js → components/Browser.js} +1 -1
  19. package/dist/components/Browser.js.map +1 -0
  20. package/dist/{index9.js → components/Button.js} +1 -1
  21. package/dist/components/Button.js.map +1 -0
  22. package/dist/{index14.js → components/Card.js} +22 -22
  23. package/dist/{index14.js.map → components/Card.js.map} +1 -1
  24. package/dist/{index17.js → components/Carousel.js} +1 -1
  25. package/dist/components/Carousel.js.map +1 -0
  26. package/dist/{index15.js → components/Cascader.js} +1 -1
  27. package/dist/components/Cascader.js.map +1 -0
  28. package/dist/{index16.js → components/Chart.js} +1 -1
  29. package/dist/components/Chart.js.map +1 -0
  30. package/dist/{index12.js → components/Chat.js} +1 -1
  31. package/dist/{index12.js.map → components/Chat.js.map} +1 -1
  32. package/dist/{index11.js → components/Checkbox.js} +15 -15
  33. package/dist/components/Checkbox.js.map +1 -0
  34. package/dist/{index54.js → components/Code.js} +5 -5
  35. package/dist/{index54.js.map → components/Code.js.map} +1 -1
  36. package/dist/{index18.js → components/Collapse.js} +1 -1
  37. package/dist/components/Collapse.js.map +1 -0
  38. package/dist/{index13.js → components/ColorPicker.js} +1 -1
  39. package/dist/components/ColorPicker.js.map +1 -0
  40. package/dist/{index19.js → components/Container.js} +1 -1
  41. package/dist/components/Container.js.map +1 -0
  42. package/dist/{index20.js → components/ContextMenu.js} +9 -9
  43. package/dist/components/ContextMenu.js.map +1 -0
  44. package/dist/{index10.js → components/CopyButton.js} +2 -2
  45. package/dist/components/CopyButton.js.map +1 -0
  46. package/dist/{index21.js → components/Countdown.js} +1 -1
  47. package/dist/components/Countdown.js.map +1 -0
  48. package/dist/{index22.js → components/DatePicker.js} +2 -2
  49. package/dist/components/DatePicker.js.map +1 -0
  50. package/dist/{index23.js → components/Descriptions.js} +23 -23
  51. package/dist/components/Descriptions.js.map +1 -0
  52. package/dist/{index24.js → components/Diff.js} +1 -1
  53. package/dist/{index24.js.map → components/Diff.js.map} +1 -1
  54. package/dist/{index26.js → components/Divider.js} +1 -1
  55. package/dist/components/Divider.js.map +1 -0
  56. package/dist/{index25.js → components/Dock.js} +1 -1
  57. package/dist/{index25.js.map → components/Dock.js.map} +1 -1
  58. package/dist/{index27.js → components/Drawer.js} +1 -1
  59. package/dist/components/Drawer.js.map +1 -0
  60. package/dist/{index40.js → components/Dropdown.js} +31 -31
  61. package/dist/components/Dropdown.js.map +1 -0
  62. package/dist/{index41.js → components/Empty.js} +1 -1
  63. package/dist/components/Empty.js.map +1 -0
  64. package/dist/{index29.js → components/Fieldset.js} +1 -1
  65. package/dist/components/Fieldset.js.map +1 -0
  66. package/dist/{index30.js → components/FileInput.js} +1 -1
  67. package/dist/components/FileInput.js.map +1 -0
  68. package/dist/{index31.js → components/Filter.js} +1 -1
  69. package/dist/components/Filter.js.map +1 -0
  70. package/dist/{index32.js → components/Flex.js} +1 -1
  71. package/dist/{index32.js.map → components/Flex.js.map} +1 -1
  72. package/dist/{index33.js → components/FloatButton.js} +1 -1
  73. package/dist/components/FloatButton.js.map +1 -0
  74. package/dist/{index34.js → components/Footer.js} +1 -1
  75. package/dist/components/Footer.js.map +1 -0
  76. package/dist/{index35.js → components/Form.js} +1 -1
  77. package/dist/{index35.js.map → components/Form.js.map} +1 -1
  78. package/dist/{index36.js → components/Grid.js} +6 -6
  79. package/dist/{index36.js.map → components/Grid.js.map} +1 -1
  80. package/dist/{index37.js → components/Hero.js} +1 -1
  81. package/dist/{index37.js.map → components/Hero.js.map} +1 -1
  82. package/dist/{index38.js → components/HoverGallery.js} +1 -1
  83. package/dist/components/HoverGallery.js.map +1 -0
  84. package/dist/{index39.js → components/Image.js} +1 -1
  85. package/dist/components/Image.js.map +1 -0
  86. package/dist/{index42.js → components/Input.js} +1 -1
  87. package/dist/components/Input.js.map +1 -0
  88. package/dist/{index43.js → components/InputNumber.js} +1 -1
  89. package/dist/components/InputNumber.js.map +1 -0
  90. package/dist/components/Join.js +18 -0
  91. package/dist/{index44.js.map → components/Join.js.map} +1 -1
  92. package/dist/{index45.js → components/Kbd.js} +1 -1
  93. package/dist/components/Kbd.js.map +1 -0
  94. package/dist/{index46.js → components/Layout.js} +16 -16
  95. package/dist/components/Layout.js.map +1 -0
  96. package/dist/{index47.js → components/List.js} +17 -17
  97. package/dist/{index47.js.map → components/List.js.map} +1 -1
  98. package/dist/{index48.js → components/Loading.js} +1 -1
  99. package/dist/components/Loading.js.map +1 -0
  100. package/dist/{index49.js → components/Mask.js} +1 -1
  101. package/dist/{index49.js.map → components/Mask.js.map} +1 -1
  102. package/dist/{index50.js → components/Masonry.js} +19 -19
  103. package/dist/components/Masonry.js.map +1 -0
  104. package/dist/{index51.js → components/Mention.js} +1 -1
  105. package/dist/components/Mention.js.map +1 -0
  106. package/dist/{index52.js → components/Menu.js} +1 -1
  107. package/dist/{index52.js.map → components/Menu.js.map} +1 -1
  108. package/dist/{index57.js → components/Modal.js} +23 -23
  109. package/dist/components/Modal.js.map +1 -0
  110. package/dist/{index58.js → components/Navbar.js} +1 -1
  111. package/dist/components/Navbar.js.map +1 -0
  112. package/dist/{index59.js → components/Notification.js} +1 -1
  113. package/dist/components/Notification.js.map +1 -0
  114. package/dist/{index60.js → components/OTPInput.js} +1 -1
  115. package/dist/components/OTPInput.js.map +1 -0
  116. package/dist/{index62.js → components/PageLayout.js} +1 -1
  117. package/dist/components/PageLayout.js.map +1 -0
  118. package/dist/{index61.js → components/Pagination.js} +18 -18
  119. package/dist/components/Pagination.js.map +1 -0
  120. package/dist/{index55.js → components/Phone.js} +1 -1
  121. package/dist/components/Phone.js.map +1 -0
  122. package/dist/{index63.js → components/Popconfirm.js} +14 -14
  123. package/dist/components/Popconfirm.js.map +1 -0
  124. package/dist/{index64.js → components/Popover.js} +1 -1
  125. package/dist/components/Popover.js.map +1 -0
  126. package/dist/{index65.js → components/Progress.js} +1 -1
  127. package/dist/components/Progress.js.map +1 -0
  128. package/dist/{index66.js → components/QRCode.js} +1 -1
  129. package/dist/components/QRCode.js.map +1 -0
  130. package/dist/{index68.js → components/RadialProgress.js} +1 -1
  131. package/dist/components/RadialProgress.js.map +1 -0
  132. package/dist/{index67.js → components/Radio.js} +13 -13
  133. package/dist/components/Radio.js.map +1 -0
  134. package/dist/{index69.js → components/Range.js} +1 -1
  135. package/dist/components/Range.js.map +1 -0
  136. package/dist/{index70.js → components/Rating.js} +20 -20
  137. package/dist/components/Rating.js.map +1 -0
  138. package/dist/{index98.js → components/Responsive.js} +2 -2
  139. package/dist/components/Responsive.js.map +1 -0
  140. package/dist/{index71.js → components/Result.js} +1 -1
  141. package/dist/components/Result.js.map +1 -0
  142. package/dist/{index73.js → components/Segmented.js} +1 -1
  143. package/dist/components/Segmented.js.map +1 -0
  144. package/dist/{index72.js → components/Select.js} +1 -1
  145. package/dist/components/Select.js.map +1 -0
  146. package/dist/{index28.js → components/SidebarDrawer.js} +3 -3
  147. package/dist/components/SidebarDrawer.js.map +1 -0
  148. package/dist/{index74.js → components/Skeleton.js} +1 -1
  149. package/dist/components/Skeleton.js.map +1 -0
  150. package/dist/{index75.js → components/Space.js} +10 -10
  151. package/dist/components/Space.js.map +1 -0
  152. package/dist/{index76.js → components/Splitter.js} +22 -22
  153. package/dist/components/Splitter.js.map +1 -0
  154. package/dist/{index77.js → components/Stat.js} +1 -1
  155. package/dist/{index77.js.map → components/Stat.js.map} +1 -1
  156. package/dist/{index78.js → components/Status.js} +1 -1
  157. package/dist/components/Status.js.map +1 -0
  158. package/dist/{index79.js → components/Steps.js} +14 -14
  159. package/dist/components/Steps.js.map +1 -0
  160. package/dist/{index80.js → components/Table.js} +92 -92
  161. package/dist/components/Table.js.map +1 -0
  162. package/dist/components/Tabs.js +83 -0
  163. package/dist/{index81.js.map → components/Tabs.js.map} +1 -1
  164. package/dist/{index84.js → components/Tag.js} +1 -1
  165. package/dist/components/Tag.js.map +1 -0
  166. package/dist/{index83.js → components/TextRotate.js} +1 -1
  167. package/dist/components/TextRotate.js.map +1 -0
  168. package/dist/{index82.js → components/Textarea.js} +1 -1
  169. package/dist/components/Textarea.js.map +1 -0
  170. package/dist/{index85.js → components/ThemeController.js} +1 -1
  171. package/dist/components/ThemeController.js.map +1 -0
  172. package/dist/{index86.js → components/TimePicker.js} +2 -2
  173. package/dist/components/TimePicker.js.map +1 -0
  174. package/dist/{index87.js → components/Timeline.js} +13 -13
  175. package/dist/components/Timeline.js.map +1 -0
  176. package/dist/{index88.js → components/Toggle.js} +1 -1
  177. package/dist/components/Toggle.js.map +1 -0
  178. package/dist/{index90.js → components/Tooltip.js} +1 -1
  179. package/dist/components/Tooltip.js.map +1 -0
  180. package/dist/{index89.js → components/Tour.js} +1 -1
  181. package/dist/{index89.js.map → components/Tour.js.map} +1 -1
  182. package/dist/{index91.js → components/Transfer.js} +1 -1
  183. package/dist/components/Transfer.js.map +1 -0
  184. package/dist/{index92.js → components/Tree.js} +1 -1
  185. package/dist/{index92.js.map → components/Tree.js.map} +1 -1
  186. package/dist/{index93.js → components/TreeSelect.js} +44 -44
  187. package/dist/components/TreeSelect.js.map +1 -0
  188. package/dist/{index94.js → components/Typography.js} +1 -1
  189. package/dist/components/Typography.js.map +1 -0
  190. package/dist/{index95.js → components/Upload.js} +1 -1
  191. package/dist/components/Upload.js.map +1 -0
  192. package/dist/{index96.js → components/VirtualList.js} +2 -2
  193. package/dist/components/VirtualList.js.map +1 -0
  194. package/dist/{index97.js → components/Watermark.js} +1 -1
  195. package/dist/components/Watermark.js.map +1 -0
  196. package/dist/{index56.js → components/Window.js} +1 -1
  197. package/dist/components/Window.js.map +1 -0
  198. package/dist/{index99.js → hooks/useBreakpoint.js} +1 -1
  199. package/dist/hooks/useBreakpoint.js.map +1 -0
  200. package/dist/{index104.js → hooks/useClickOutside.js} +1 -1
  201. package/dist/hooks/useClickOutside.js.map +1 -0
  202. package/dist/{index101.js → hooks/useClipboard.js} +1 -1
  203. package/dist/hooks/useClipboard.js.map +1 -0
  204. package/dist/{index103.js → hooks/useDebounce.js} +1 -1
  205. package/dist/hooks/useDebounce.js.map +1 -0
  206. package/dist/{index100.js → hooks/useDisclosure.js} +1 -1
  207. package/dist/hooks/useDisclosure.js.map +1 -0
  208. package/dist/{index106.js → hooks/useHover.js} +1 -1
  209. package/dist/hooks/useHover.js.map +1 -0
  210. package/dist/{index107.js → hooks/useKeyPress.js} +1 -1
  211. package/dist/hooks/useKeyPress.js.map +1 -0
  212. package/dist/{index102.js → hooks/useLocalStorage.js} +1 -1
  213. package/dist/hooks/useLocalStorage.js.map +1 -0
  214. package/dist/{index105.js → hooks/usePrevious.js} +1 -1
  215. package/dist/hooks/usePrevious.js.map +1 -0
  216. package/dist/{index108.js → hooks/useWindowSize.js} +1 -1
  217. package/dist/hooks/useWindowSize.js.map +1 -0
  218. package/dist/index.d.ts +0 -6
  219. package/dist/index.js +204 -210
  220. package/dist/index.js.map +1 -1
  221. package/dist/qrcode.d.ts +2 -0
  222. package/dist/qrcode.js +5 -0
  223. package/dist/qrcode.js.map +1 -0
  224. package/dist/virtuallist.d.ts +2 -0
  225. package/dist/virtuallist.js +5 -0
  226. package/dist/virtuallist.js.map +1 -0
  227. package/package.json +13 -1
  228. package/dist/index10.js.map +0 -1
  229. package/dist/index100.js.map +0 -1
  230. package/dist/index101.js.map +0 -1
  231. package/dist/index102.js.map +0 -1
  232. package/dist/index103.js.map +0 -1
  233. package/dist/index104.js.map +0 -1
  234. package/dist/index105.js.map +0 -1
  235. package/dist/index106.js.map +0 -1
  236. package/dist/index107.js.map +0 -1
  237. package/dist/index108.js.map +0 -1
  238. package/dist/index109.js +0 -36
  239. package/dist/index109.js.map +0 -1
  240. package/dist/index11.js.map +0 -1
  241. package/dist/index110.js +0 -523
  242. package/dist/index110.js.map +0 -1
  243. package/dist/index111.js +0 -53
  244. package/dist/index111.js.map +0 -1
  245. package/dist/index13.js.map +0 -1
  246. package/dist/index15.js.map +0 -1
  247. package/dist/index16.js.map +0 -1
  248. package/dist/index17.js.map +0 -1
  249. package/dist/index18.js.map +0 -1
  250. package/dist/index19.js.map +0 -1
  251. package/dist/index2.js.map +0 -1
  252. package/dist/index20.js.map +0 -1
  253. package/dist/index21.js.map +0 -1
  254. package/dist/index22.js.map +0 -1
  255. package/dist/index23.js.map +0 -1
  256. package/dist/index26.js.map +0 -1
  257. package/dist/index27.js.map +0 -1
  258. package/dist/index28.js.map +0 -1
  259. package/dist/index29.js.map +0 -1
  260. package/dist/index3.js.map +0 -1
  261. package/dist/index30.js.map +0 -1
  262. package/dist/index31.js.map +0 -1
  263. package/dist/index33.js.map +0 -1
  264. package/dist/index34.js.map +0 -1
  265. package/dist/index38.js.map +0 -1
  266. package/dist/index39.js.map +0 -1
  267. package/dist/index4.js.map +0 -1
  268. package/dist/index40.js.map +0 -1
  269. package/dist/index41.js.map +0 -1
  270. package/dist/index42.js.map +0 -1
  271. package/dist/index43.js.map +0 -1
  272. package/dist/index44.js +0 -18
  273. package/dist/index45.js.map +0 -1
  274. package/dist/index46.js.map +0 -1
  275. package/dist/index48.js.map +0 -1
  276. package/dist/index5.js.map +0 -1
  277. package/dist/index50.js.map +0 -1
  278. package/dist/index51.js.map +0 -1
  279. package/dist/index53.js.map +0 -1
  280. package/dist/index55.js.map +0 -1
  281. package/dist/index56.js.map +0 -1
  282. package/dist/index57.js.map +0 -1
  283. package/dist/index58.js.map +0 -1
  284. package/dist/index59.js.map +0 -1
  285. package/dist/index6.js.map +0 -1
  286. package/dist/index60.js.map +0 -1
  287. package/dist/index61.js.map +0 -1
  288. package/dist/index62.js.map +0 -1
  289. package/dist/index63.js.map +0 -1
  290. package/dist/index64.js.map +0 -1
  291. package/dist/index65.js.map +0 -1
  292. package/dist/index66.js.map +0 -1
  293. package/dist/index67.js.map +0 -1
  294. package/dist/index68.js.map +0 -1
  295. package/dist/index69.js.map +0 -1
  296. package/dist/index7.js.map +0 -1
  297. package/dist/index70.js.map +0 -1
  298. package/dist/index71.js.map +0 -1
  299. package/dist/index72.js.map +0 -1
  300. package/dist/index73.js.map +0 -1
  301. package/dist/index74.js.map +0 -1
  302. package/dist/index75.js.map +0 -1
  303. package/dist/index76.js.map +0 -1
  304. package/dist/index78.js.map +0 -1
  305. package/dist/index79.js.map +0 -1
  306. package/dist/index8.js +0 -38
  307. package/dist/index8.js.map +0 -1
  308. package/dist/index80.js.map +0 -1
  309. package/dist/index81.js +0 -83
  310. package/dist/index82.js.map +0 -1
  311. package/dist/index83.js.map +0 -1
  312. package/dist/index84.js.map +0 -1
  313. package/dist/index85.js.map +0 -1
  314. package/dist/index86.js.map +0 -1
  315. package/dist/index87.js.map +0 -1
  316. package/dist/index88.js.map +0 -1
  317. package/dist/index9.js.map +0 -1
  318. package/dist/index90.js.map +0 -1
  319. package/dist/index91.js.map +0 -1
  320. package/dist/index93.js.map +0 -1
  321. package/dist/index94.js.map +0 -1
  322. package/dist/index95.js.map +0 -1
  323. package/dist/index96.js.map +0 -1
  324. package/dist/index97.js.map +0 -1
  325. package/dist/index98.js.map +0 -1
  326. package/dist/index99.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,110 +1,107 @@
1
- import { Affix as e } from "./index2.js";
2
- import { Anchor as p } from "./index3.js";
3
- import { Alert as f } from "./index4.js";
4
- import { Autocomplete as a } from "./index5.js";
5
- import { Avatar as n, AvatarGroup as s } from "./index6.js";
6
- import { Badge as l } from "./index7.js";
7
- import { Breadcrumb as c } from "./index8.js";
8
- import { Button as T } from "./index9.js";
9
- import { CopyButton as S } from "./index10.js";
10
- import { Checkbox as b } from "./index11.js";
11
- import { Chat as y } from "./index12.js";
12
- import { ColorPicker as h } from "./index13.js";
13
- import { Card as w } from "./index14.js";
14
- import { Cascader as F } from "./index15.js";
15
- import { Chart as L } from "./index16.js";
16
- import { Carousel as I } from "./index17.js";
17
- import { Collapse as H } from "./index18.js";
18
- import { Container as K } from "./index19.js";
19
- import { ContextMenu as N } from "./index20.js";
20
- import { Countdown as z } from "./index21.js";
21
- import { DatePicker as J } from "./index22.js";
22
- import { Descriptions as U } from "./index23.js";
23
- import { Diff as j } from "./index24.js";
24
- import { Dock as X } from "./index25.js";
25
- import { Divider as Z } from "./index26.js";
26
- import { Drawer as $ } from "./index27.js";
27
- import { SidebarDrawer as ro } from "./index28.js";
28
- import { Fieldset as to } from "./index29.js";
29
- import { FileInput as mo } from "./index30.js";
30
- import { Filter as xo } from "./index31.js";
31
- import { Flex as io } from "./index32.js";
32
- import { FloatButton as so } from "./index33.js";
33
- import { Footer as lo } from "./index34.js";
34
- import { Form as Co, useFormInstance as To } from "./index35.js";
35
- import { Col as So, Grid as Po, Row as bo } from "./index36.js";
36
- import { Hero as yo } from "./index37.js";
37
- import { HoverGallery as ho } from "./index38.js";
38
- import { Image as wo } from "./index39.js";
39
- import { Dropdown as Fo } from "./index40.js";
40
- import { Empty as Lo } from "./index41.js";
41
- import { Input as Io } from "./index42.js";
42
- import { InputNumber as Ho } from "./index43.js";
43
- import { Join as Ko } from "./index44.js";
44
- import { Kbd as No } from "./index45.js";
45
- import { Layout as zo, useSiderContext as Eo } from "./index46.js";
46
- import { List as Qo } from "./index47.js";
47
- import { Loading as Vo } from "./index48.js";
48
- import { Mask as qo } from "./index49.js";
49
- import { Masonry as Yo } from "./index50.js";
50
- import { Mention as _o } from "./index51.js";
51
- import { Menu as or } from "./index52.js";
52
- import { Browser as er } from "./index53.js";
53
- import { Code as pr } from "./index54.js";
54
- import { Phone as fr } from "./index55.js";
55
- import { Window as ar } from "./index56.js";
56
- import { Modal as nr } from "./index57.js";
57
- import { Navbar as ur } from "./index58.js";
58
- import { notification as dr } from "./index59.js";
59
- import { OTPInput as Cr } from "./index60.js";
60
- import { Pagination as gr } from "./index61.js";
61
- import { PageLayout as Pr } from "./index62.js";
62
- import { Popconfirm as kr } from "./index63.js";
63
- import { Popover as Dr } from "./index64.js";
64
- import { Progress as vr } from "./index65.js";
65
- import { QRCode as Rr } from "./index66.js";
66
- import { Radio as Br } from "./index67.js";
67
- import { RadialProgress as Ar } from "./index68.js";
68
- import { Range as Mr } from "./index69.js";
69
- import { Rating as Gr } from "./index70.js";
70
- import { Result as Wr } from "./index71.js";
71
- import { Select as Or } from "./index72.js";
72
- import { Segmented as Er } from "./index73.js";
73
- import { Skeleton as Qr } from "./index74.js";
74
- import { Space as Vr } from "./index75.js";
75
- import { Splitter as qr } from "./index76.js";
76
- import { Stats as Yr } from "./index77.js";
77
- import { Status as _r } from "./index78.js";
78
- import { Steps as oe } from "./index79.js";
79
- import { Table as ee } from "./index80.js";
80
- import { Tabs as pe } from "./index81.js";
81
- import { Textarea as fe } from "./index82.js";
82
- import { TextRotate as ae } from "./index83.js";
83
- import { CheckableTag as ne, Tag as se, TagLiveRegion as ue } from "./index84.js";
84
- import { ThemeController as de } from "./index85.js";
85
- import { TimePicker as Ce } from "./index86.js";
86
- import { Timeline as ge } from "./index87.js";
87
- import { Toggle as Pe } from "./index88.js";
88
- import { Tour as ke } from "./index89.js";
89
- import { Tooltip as De } from "./index90.js";
90
- import { Transfer as ve } from "./index91.js";
91
- import { Tree as Re } from "./index92.js";
92
- import { TreeSelect as Be, TreeSelectComponent as Le } from "./index93.js";
93
- import { Typography as Ie } from "./index94.js";
94
- import { Upload as He } from "./index95.js";
95
- import { VirtualList as Ke } from "./index96.js";
96
- import { Watermark as Ne } from "./index97.js";
97
- import { Hide as ze, Show as Ee } from "./index98.js";
98
- import { useBreakpoint as Qe } from "./index99.js";
99
- import { useDisclosure as Ve } from "./index100.js";
100
- import { useClipboard as qe } from "./index101.js";
101
- import { useLocalStorage as Ye } from "./index102.js";
102
- import { useDebounce as _e } from "./index103.js";
103
- import { useClickOutside as ot } from "./index104.js";
104
- import { usePrevious as et } from "./index105.js";
105
- import { useHover as pt } from "./index106.js";
106
- import { useKeyPress as ft, useKeyPressCallback as xt } from "./index107.js";
107
- import { useWindowSize as it } from "./index108.js";
1
+ import { Affix as e } from "./components/Affix.js";
2
+ import { Anchor as p } from "./components/Anchor.js";
3
+ import { Alert as f } from "./components/Alert.js";
4
+ import { Autocomplete as a } from "./components/Autocomplete.js";
5
+ import { Avatar as n, AvatarGroup as s } from "./components/Avatar.js";
6
+ import { Badge as l } from "./components/Badge.js";
7
+ import { Breadcrumb as c } from "./components/Breadcrumb.js";
8
+ import { Button as T } from "./components/Button.js";
9
+ import { CopyButton as S } from "./components/CopyButton.js";
10
+ import { Checkbox as b } from "./components/Checkbox.js";
11
+ import { Chat as y } from "./components/Chat.js";
12
+ import { ColorPicker as v } from "./components/ColorPicker.js";
13
+ import { Card as h } from "./components/Card.js";
14
+ import { Cascader as R } from "./components/Cascader.js";
15
+ import { Carousel as A } from "./components/Carousel.js";
16
+ import { Collapse as L } from "./components/Collapse.js";
17
+ import { Container as H } from "./components/Container.js";
18
+ import { ContextMenu as K } from "./components/ContextMenu.js";
19
+ import { Countdown as N } from "./components/Countdown.js";
20
+ import { DatePicker as z } from "./components/DatePicker.js";
21
+ import { Descriptions as J } from "./components/Descriptions.js";
22
+ import { Diff as j } from "./components/Diff.js";
23
+ import { Dock as Q } from "./components/Dock.js";
24
+ import { Divider as X } from "./components/Divider.js";
25
+ import { Drawer as Z } from "./components/Drawer.js";
26
+ import { SidebarDrawer as $ } from "./components/SidebarDrawer.js";
27
+ import { Fieldset as ro } from "./components/Fieldset.js";
28
+ import { FileInput as to } from "./components/FileInput.js";
29
+ import { Filter as mo } from "./components/Filter.js";
30
+ import { Flex as xo } from "./components/Flex.js";
31
+ import { FloatButton as io } from "./components/FloatButton.js";
32
+ import { Footer as so } from "./components/Footer.js";
33
+ import { Form as lo, useFormInstance as co } from "./components/Form.js";
34
+ import { Col as To, Grid as go, Row as So } from "./components/Grid.js";
35
+ import { Hero as bo } from "./components/Hero.js";
36
+ import { HoverGallery as yo } from "./components/HoverGallery.js";
37
+ import { Image as vo } from "./components/Image.js";
38
+ import { Dropdown as ho } from "./components/Dropdown.js";
39
+ import { Empty as Ro } from "./components/Empty.js";
40
+ import { Input as Ao } from "./components/Input.js";
41
+ import { InputNumber as Lo } from "./components/InputNumber.js";
42
+ import { Join as Ho } from "./components/Join.js";
43
+ import { Kbd as Ko } from "./components/Kbd.js";
44
+ import { Layout as No, useSiderContext as Oo } from "./components/Layout.js";
45
+ import { List as Eo } from "./components/List.js";
46
+ import { Loading as Uo } from "./components/Loading.js";
47
+ import { Mask as qo } from "./components/Mask.js";
48
+ import { Masonry as Vo } from "./components/Masonry.js";
49
+ import { Mention as Yo } from "./components/Mention.js";
50
+ import { Menu as _o } from "./components/Menu.js";
51
+ import { Browser as or } from "./components/Browser.js";
52
+ import { Code as er } from "./components/Code.js";
53
+ import { Phone as pr } from "./components/Phone.js";
54
+ import { Window as fr } from "./components/Window.js";
55
+ import { Modal as ar } from "./components/Modal.js";
56
+ import { Navbar as nr } from "./components/Navbar.js";
57
+ import { notification as ur } from "./components/Notification.js";
58
+ import { OTPInput as dr } from "./components/OTPInput.js";
59
+ import { Pagination as Cr } from "./components/Pagination.js";
60
+ import { PageLayout as gr } from "./components/PageLayout.js";
61
+ import { Popconfirm as Pr } from "./components/Popconfirm.js";
62
+ import { Popover as kr } from "./components/Popover.js";
63
+ import { Progress as Dr } from "./components/Progress.js";
64
+ import { Radio as wr } from "./components/Radio.js";
65
+ import { RadialProgress as Fr } from "./components/RadialProgress.js";
66
+ import { Range as Br } from "./components/Range.js";
67
+ import { Rating as Ir } from "./components/Rating.js";
68
+ import { Result as Mr } from "./components/Result.js";
69
+ import { Select as Gr } from "./components/Select.js";
70
+ import { Segmented as Wr } from "./components/Segmented.js";
71
+ import { Skeleton as Or } from "./components/Skeleton.js";
72
+ import { Space as Er } from "./components/Space.js";
73
+ import { Splitter as Ur } from "./components/Splitter.js";
74
+ import { Stats as qr } from "./components/Stat.js";
75
+ import { Status as Vr } from "./components/Status.js";
76
+ import { Steps as Yr } from "./components/Steps.js";
77
+ import { Table as _r } from "./components/Table.js";
78
+ import { Tabs as oe } from "./components/Tabs.js";
79
+ import { Textarea as ee } from "./components/Textarea.js";
80
+ import { TextRotate as pe } from "./components/TextRotate.js";
81
+ import { CheckableTag as fe, Tag as xe, TagLiveRegion as ae } from "./components/Tag.js";
82
+ import { ThemeController as ne } from "./components/ThemeController.js";
83
+ import { TimePicker as ue } from "./components/TimePicker.js";
84
+ import { Timeline as de } from "./components/Timeline.js";
85
+ import { Toggle as Ce } from "./components/Toggle.js";
86
+ import { Tour as ge } from "./components/Tour.js";
87
+ import { Tooltip as Pe } from "./components/Tooltip.js";
88
+ import { Transfer as ke } from "./components/Transfer.js";
89
+ import { Tree as De } from "./components/Tree.js";
90
+ import { TreeSelect as we, TreeSelectComponent as he } from "./components/TreeSelect.js";
91
+ import { Typography as Re } from "./components/Typography.js";
92
+ import { Upload as Ae } from "./components/Upload.js";
93
+ import { Watermark as Le } from "./components/Watermark.js";
94
+ import { Hide as He, Show as Ge } from "./components/Responsive.js";
95
+ import { useBreakpoint as We } from "./hooks/useBreakpoint.js";
96
+ import { useDisclosure as Oe } from "./hooks/useDisclosure.js";
97
+ import { useClipboard as Ee } from "./hooks/useClipboard.js";
98
+ import { useLocalStorage as Ue } from "./hooks/useLocalStorage.js";
99
+ import { useDebounce as qe } from "./hooks/useDebounce.js";
100
+ import { useClickOutside as Ve } from "./hooks/useClickOutside.js";
101
+ import { usePrevious as Ye } from "./hooks/usePrevious.js";
102
+ import { useHover as _e } from "./hooks/useHover.js";
103
+ import { useKeyPress as ot, useKeyPressCallback as rt } from "./hooks/useKeyPress.js";
104
+ import { useWindowSize as tt } from "./hooks/useWindowSize.js";
108
105
  export {
109
106
  e as Affix,
110
107
  f as Alert,
@@ -114,114 +111,111 @@ export {
114
111
  s as AvatarGroup,
115
112
  l as Badge,
116
113
  c as Breadcrumb,
117
- er as Browser,
114
+ or as Browser,
118
115
  T as Button,
119
- w as Card,
120
- I as Carousel,
121
- F as Cascader,
122
- L as Chart,
116
+ h as Card,
117
+ A as Carousel,
118
+ R as Cascader,
123
119
  y as Chat,
124
- ne as CheckableTag,
120
+ fe as CheckableTag,
125
121
  b as Checkbox,
126
- pr as Code,
127
- So as Col,
128
- H as Collapse,
129
- h as ColorPicker,
130
- K as Container,
131
- N as ContextMenu,
122
+ er as Code,
123
+ To as Col,
124
+ L as Collapse,
125
+ v as ColorPicker,
126
+ H as Container,
127
+ K as ContextMenu,
132
128
  S as CopyButton,
133
- z as Countdown,
134
- J as DatePicker,
135
- U as Descriptions,
129
+ N as Countdown,
130
+ z as DatePicker,
131
+ J as Descriptions,
136
132
  j as Diff,
137
- Z as Divider,
138
- X as Dock,
139
- $ as Drawer,
140
- Fo as Dropdown,
141
- Lo as Empty,
142
- to as Fieldset,
143
- mo as FileInput,
144
- xo as Filter,
145
- io as Flex,
146
- so as FloatButton,
147
- lo as Footer,
148
- Co as Form,
149
- Po as Grid,
150
- yo as Hero,
151
- ze as Hide,
152
- ho as HoverGallery,
153
- wo as Image,
154
- Io as Input,
155
- Ho as InputNumber,
156
- Ko as Join,
157
- No as Kbd,
158
- zo as Layout,
159
- Qo as List,
160
- Vo as Loading,
133
+ X as Divider,
134
+ Q as Dock,
135
+ Z as Drawer,
136
+ ho as Dropdown,
137
+ Ro as Empty,
138
+ ro as Fieldset,
139
+ to as FileInput,
140
+ mo as Filter,
141
+ xo as Flex,
142
+ io as FloatButton,
143
+ so as Footer,
144
+ lo as Form,
145
+ go as Grid,
146
+ bo as Hero,
147
+ He as Hide,
148
+ yo as HoverGallery,
149
+ vo as Image,
150
+ Ao as Input,
151
+ Lo as InputNumber,
152
+ Ho as Join,
153
+ Ko as Kbd,
154
+ No as Layout,
155
+ Eo as List,
156
+ Uo as Loading,
161
157
  qo as Mask,
162
- Yo as Masonry,
163
- _o as Mention,
164
- or as Menu,
165
- nr as Modal,
166
- ur as Navbar,
167
- Cr as OTPInput,
168
- Pr as PageLayout,
169
- gr as Pagination,
170
- fr as Phone,
171
- kr as Popconfirm,
172
- Dr as Popover,
173
- vr as Progress,
174
- Rr as QRCode,
175
- Ar as RadialProgress,
176
- Br as Radio,
177
- Mr as Range,
178
- Gr as Rating,
179
- Wr as Result,
180
- bo as Row,
181
- Er as Segmented,
182
- Or as Select,
183
- Ee as Show,
184
- ro as SidebarDrawer,
185
- Qr as Skeleton,
186
- Vr as Space,
187
- qr as Splitter,
188
- Yr as Stats,
189
- _r as Status,
190
- oe as Steps,
191
- ee as Table,
192
- pe as Tabs,
193
- se as Tag,
194
- ue as TagLiveRegion,
195
- ae as TextRotate,
196
- fe as Textarea,
197
- de as ThemeController,
198
- Ce as TimePicker,
199
- ge as Timeline,
200
- Pe as Toggle,
201
- De as Tooltip,
202
- ke as Tour,
203
- ve as Transfer,
204
- Re as Tree,
205
- Be as TreeSelect,
206
- Le as TreeSelectComponent,
207
- Ie as Typography,
208
- He as Upload,
209
- Ke as VirtualList,
210
- Ne as Watermark,
211
- ar as Window,
212
- dr as notification,
213
- Qe as useBreakpoint,
214
- ot as useClickOutside,
215
- qe as useClipboard,
216
- _e as useDebounce,
217
- Ve as useDisclosure,
218
- To as useFormInstance,
219
- pt as useHover,
220
- ft as useKeyPress,
221
- xt as useKeyPressCallback,
222
- Ye as useLocalStorage,
223
- et as usePrevious,
224
- Eo as useSiderContext,
225
- it as useWindowSize
158
+ Vo as Masonry,
159
+ Yo as Mention,
160
+ _o as Menu,
161
+ ar as Modal,
162
+ nr as Navbar,
163
+ dr as OTPInput,
164
+ gr as PageLayout,
165
+ Cr as Pagination,
166
+ pr as Phone,
167
+ Pr as Popconfirm,
168
+ kr as Popover,
169
+ Dr as Progress,
170
+ Fr as RadialProgress,
171
+ wr as Radio,
172
+ Br as Range,
173
+ Ir as Rating,
174
+ Mr as Result,
175
+ So as Row,
176
+ Wr as Segmented,
177
+ Gr as Select,
178
+ Ge as Show,
179
+ $ as SidebarDrawer,
180
+ Or as Skeleton,
181
+ Er as Space,
182
+ Ur as Splitter,
183
+ qr as Stats,
184
+ Vr as Status,
185
+ Yr as Steps,
186
+ _r as Table,
187
+ oe as Tabs,
188
+ xe as Tag,
189
+ ae as TagLiveRegion,
190
+ pe as TextRotate,
191
+ ee as Textarea,
192
+ ne as ThemeController,
193
+ ue as TimePicker,
194
+ de as Timeline,
195
+ Ce as Toggle,
196
+ Pe as Tooltip,
197
+ ge as Tour,
198
+ ke as Transfer,
199
+ De as Tree,
200
+ we as TreeSelect,
201
+ he as TreeSelectComponent,
202
+ Re as Typography,
203
+ Ae as Upload,
204
+ Le as Watermark,
205
+ fr as Window,
206
+ ur as notification,
207
+ We as useBreakpoint,
208
+ Ve as useClickOutside,
209
+ Ee as useClipboard,
210
+ qe as useDebounce,
211
+ Oe as useDisclosure,
212
+ co as useFormInstance,
213
+ _e as useHover,
214
+ ot as useKeyPress,
215
+ rt as useKeyPressCallback,
216
+ Ue as useLocalStorage,
217
+ Ye as usePrevious,
218
+ Oo as useSiderContext,
219
+ tt as useWindowSize
226
220
  };
227
221
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export { QRCode } from './components/QRCode';
2
+ export type { QRCodeProps, QRCodeErrorLevel, QRCodeType, QRCodeStatus } from './components/QRCode';
package/dist/qrcode.js ADDED
@@ -0,0 +1,5 @@
1
+ import { QRCode as r } from "./components/QRCode.js";
2
+ export {
3
+ r as QRCode
4
+ };
5
+ //# sourceMappingURL=qrcode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qrcode.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,2 @@
1
+ export { VirtualList } from './components/VirtualList';
2
+ export type { VirtualListProps } from './components/VirtualList';
@@ -0,0 +1,5 @@
1
+ import { VirtualList as i } from "./components/VirtualList.js";
2
+ export {
3
+ i as VirtualList
4
+ };
5
+ //# sourceMappingURL=virtuallist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtuallist.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "asterui",
3
- "version": "0.12.30",
3
+ "version": "0.12.31",
4
4
  "description": "React UI component library with DaisyUI",
5
5
  "homepage": "https://asterui.com",
6
6
  "repository": {
@@ -18,6 +18,18 @@
18
18
  ".": {
19
19
  "import": "./dist/index.js",
20
20
  "types": "./dist/index.d.ts"
21
+ },
22
+ "./chart": {
23
+ "import": "./dist/chart.js",
24
+ "types": "./dist/chart.d.ts"
25
+ },
26
+ "./qrcode": {
27
+ "import": "./dist/qrcode.js",
28
+ "types": "./dist/qrcode.d.ts"
29
+ },
30
+ "./virtuallist": {
31
+ "import": "./dist/virtuallist.js",
32
+ "types": "./dist/virtuallist.d.ts"
21
33
  }
22
34
  },
23
35
  "files": [
@@ -1 +0,0 @@
1
- {"version":3,"file":"index10.js","sources":["../src/components/CopyButton.tsx"],"sourcesContent":["import React from 'react'\nimport { useClipboard } from '../hooks/useClipboard'\n\nexport interface CopyButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onError'> {\n /** Text to copy to clipboard */\n text: string\n /** Duration in ms to show copied state */\n timeout?: number\n /** Button color */\n color?: 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error' | 'neutral'\n /** Button style variant */\n variant?: 'solid' | 'outline' | 'dash' | 'soft' | 'ghost' | 'link'\n /** Button size */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n /** Button shape */\n shape?: 'square' | 'circle'\n /** Custom icon for default state */\n icon?: React.ReactNode\n /** Custom icon for copied state */\n copiedIcon?: React.ReactNode\n /** Custom content for default state (overrides icon) */\n children?: React.ReactNode\n /** Custom content for copied state */\n copiedChildren?: React.ReactNode\n /** Callback when copy succeeds */\n onCopy?: () => void\n /** Callback when copy fails */\n onError?: (error: Error) => void\n /** Show tooltip with copy status */\n showTooltip?: boolean\n /** Tooltip text for default state */\n tooltipText?: string\n /** Tooltip text for copied state */\n copiedTooltipText?: string\n}\n\nconst CopyIcon: React.FC = () => (\n <svg\n className=\"w-4 h-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\" />\n </svg>\n)\n\nconst CheckIcon: React.FC = () => (\n <svg\n className=\"w-4 h-4\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth=\"2\" d=\"m4.5 12.75 6 6 9-13.5\" />\n </svg>\n)\n\nexport const CopyButton: React.FC<CopyButtonProps> = ({\n text,\n timeout = 2000,\n color,\n variant,\n size = 'md',\n shape,\n icon,\n copiedIcon,\n children,\n copiedChildren,\n onCopy,\n onError,\n showTooltip = false,\n tooltipText = 'Copy',\n copiedTooltipText = 'Copied!',\n className = '',\n disabled,\n onClick,\n ...rest\n}) => {\n const { copy, copied } = useClipboard(timeout)\n\n const handleClick = async (e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e)\n if (disabled) return\n\n const success = await copy(text)\n if (success) {\n onCopy?.()\n } else {\n onError?.(new Error('Failed to copy to clipboard'))\n }\n }\n\n const colorClasses = {\n primary: 'btn-primary',\n secondary: 'btn-secondary',\n accent: 'btn-accent',\n info: 'btn-info',\n success: 'btn-success',\n warning: 'btn-warning',\n error: 'btn-error',\n neutral: 'btn-neutral',\n }\n\n const variantClasses = {\n solid: '',\n outline: 'btn-outline',\n dash: 'btn-dash',\n soft: 'btn-soft',\n ghost: 'btn-ghost',\n link: 'btn-link',\n }\n\n const sizeClasses = {\n xs: 'btn-xs',\n sm: 'btn-sm',\n md: '',\n lg: 'btn-lg',\n xl: 'btn-xl',\n }\n\n const shapeClasses = {\n square: 'btn-square',\n circle: 'btn-circle',\n }\n\n const classes = [\n 'btn',\n color && colorClasses[color],\n copied && 'btn-success',\n variant && variantClasses[variant],\n sizeClasses[size],\n shape && shapeClasses[shape],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n const defaultIcon = icon ?? <CopyIcon />\n const successIcon = copiedIcon ?? <CheckIcon />\n\n const content = copied\n ? (copiedChildren ?? successIcon)\n : (children ?? defaultIcon)\n\n const button = (\n <button\n type=\"button\"\n className={classes}\n onClick={handleClick}\n disabled={disabled}\n aria-label={copied ? copiedTooltipText : tooltipText}\n {...rest}\n >\n {content}\n </button>\n )\n\n if (showTooltip) {\n return (\n <div className=\"tooltip\" data-tip={copied ? copiedTooltipText : tooltipText}>\n {button}\n </div>\n )\n }\n\n return button\n}\n\nCopyButton.displayName = 'CopyButton'\n"],"names":["CopyIcon","jsx","CheckIcon","CopyButton","text","timeout","color","variant","size","shape","icon","copiedIcon","children","copiedChildren","onCopy","onError","showTooltip","tooltipText","copiedTooltipText","className","disabled","onClick","rest","copy","copied","useClipboard","handleClick","e","colorClasses","variantClasses","sizeClasses","shapeClasses","classes","button"],"mappings":";;AAoCA,MAAMA,IAAqB,MACzB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,QAAO;AAAA,IAEP,UAAA,gBAAAA,EAAC,UAAK,eAAc,SAAQ,gBAAe,SAAQ,aAAY,KAAI,GAAE,wHAAA,CAAwH;AAAA,EAAA;AAC/L,GAGIC,IAAsB,MAC1B,gBAAAD;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAU;AAAA,IACV,MAAK;AAAA,IACL,SAAQ;AAAA,IACR,QAAO;AAAA,IAEP,UAAA,gBAAAA,EAAC,UAAK,eAAc,SAAQ,gBAAe,SAAQ,aAAY,KAAI,GAAE,wBAAA,CAAwB;AAAA,EAAA;AAC/F,GAGWE,IAAwC,CAAC;AAAA,EACpD,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,aAAAC,IAAc;AAAA,EACd,mBAAAC,IAAoB;AAAA,EACpB,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,EAAE,MAAAC,GAAM,QAAAC,MAAWC,EAAapB,CAAO,GAEvCqB,IAAc,OAAOC,MAA2C;AAEpE,QADAN,IAAUM,CAAC,GACPP,EAAU;AAGd,IADgB,MAAMG,EAAKnB,CAAI,IAE7BU,IAAA,IAEAC,IAAU,IAAI,MAAM,6BAA6B,CAAC;AAAA,EAEtD,GAEMa,IAAe;AAAA,IACnB,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,IACT,OAAO;AAAA,IACP,SAAS;AAAA,EAAA,GAGLC,IAAiB;AAAA,IACrB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,EAAA,GAGFC,IAAc;AAAA,IAClB,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA,GAGAC,IAAe;AAAA,IACnB,QAAQ;AAAA,IACR,QAAQ;AAAA,EAAA,GAGJC,IAAU;AAAA,IACd;AAAA,IACA1B,KAASsB,EAAatB,CAAK;AAAA,IAC3BkB,KAAU;AAAA,IACVjB,KAAWsB,EAAetB,CAAO;AAAA,IACjCuB,EAAYtB,CAAI;AAAA,IAChBC,KAASsB,EAAatB,CAAK;AAAA,IAC3BU;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG,GASLc,IACJ,gBAAAhC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW+B;AAAA,MACX,SAASN;AAAA,MACT,UAAAN;AAAA,MACA,cAAYI,IAASN,IAAoBD;AAAA,MACxC,GAAGK;AAAA,MAEH,UAbWE,IACXX,MAHeF,KAAc,gBAAAV,EAACC,GAAA,CAAA,CAAU,KAIxCU,MALeF,KAAQ,gBAAAT,EAACD,GAAA,CAAA,CAAS;AAAA,IAgBjC;AAAA,EAAA;AAIL,SAAIgB,IAEA,gBAAAf,EAAC,SAAI,WAAU,WAAU,YAAUuB,IAASN,IAAoBD,GAC7D,UAAAgB,EAAA,CACH,IAIGA;AACT;AAEA9B,EAAW,cAAc;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index100.js","sources":["../src/hooks/useDisclosure.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport interface UseDisclosureReturn {\n isOpen: boolean\n onOpen: () => void\n onClose: () => void\n onToggle: () => void\n setIsOpen: (value: boolean) => void\n}\n\n/**\n * Hook for managing open/close state of modals, drawers, dropdowns, etc.\n *\n * @param defaultIsOpen - Initial open state (default: false)\n * @returns Object with isOpen state and control functions\n *\n * @example\n * const { isOpen, onOpen, onClose } = useDisclosure()\n *\n * <Button onClick={onOpen}>Open Modal</Button>\n * <Modal open={isOpen} onClose={onClose}>Content</Modal>\n */\nexport function useDisclosure(defaultIsOpen = false): UseDisclosureReturn {\n const [isOpen, setIsOpen] = useState(defaultIsOpen)\n\n const onOpen = useCallback(() => setIsOpen(true), [])\n const onClose = useCallback(() => setIsOpen(false), [])\n const onToggle = useCallback(() => setIsOpen(prev => !prev), [])\n\n return { isOpen, onOpen, onClose, onToggle, setIsOpen }\n}\n"],"names":["useDisclosure","defaultIsOpen","isOpen","setIsOpen","useState","onOpen","useCallback","onClose","onToggle","prev"],"mappings":";AAsBO,SAASA,EAAcC,IAAgB,IAA4B;AACxE,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAASH,CAAa,GAE5CI,IAASC,EAAY,MAAMH,EAAU,EAAI,GAAG,CAAA,CAAE,GAC9CI,IAAUD,EAAY,MAAMH,EAAU,EAAK,GAAG,CAAA,CAAE,GAChDK,IAAWF,EAAY,MAAMH,EAAU,OAAQ,CAACM,CAAI,GAAG,EAAE;AAE/D,SAAO,EAAE,QAAAP,GAAQ,QAAAG,GAAQ,SAAAE,GAAS,UAAAC,GAAU,WAAAL,EAAA;AAC9C;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index101.js","sources":["../src/hooks/useClipboard.ts"],"sourcesContent":["import { useState, useCallback } from 'react'\n\nexport interface UseClipboardReturn {\n copy: (text: string) => Promise<boolean>\n copied: boolean\n error: Error | null\n reset: () => void\n}\n\n/**\n * Hook for copying text to clipboard with success/error state.\n *\n * @param timeout - Duration in ms to show copied state (default: 2000)\n * @returns Object with copy function and state\n *\n * @example\n * const { copy, copied } = useClipboard()\n *\n * <Button onClick={() => copy('Hello!')}>\n * {copied ? 'Copied!' : 'Copy'}\n * </Button>\n */\nexport function useClipboard(timeout = 2000): UseClipboardReturn {\n const [copied, setCopied] = useState(false)\n const [error, setError] = useState<Error | null>(null)\n\n const copy = useCallback(async (text: string): Promise<boolean> => {\n try {\n await navigator.clipboard.writeText(text)\n setCopied(true)\n setError(null)\n\n setTimeout(() => setCopied(false), timeout)\n return true\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to copy'))\n setCopied(false)\n return false\n }\n }, [timeout])\n\n const reset = useCallback(() => {\n setCopied(false)\n setError(null)\n }, [])\n\n return { copy, copied, error, reset }\n}\n"],"names":["useClipboard","timeout","copied","setCopied","useState","error","setError","copy","useCallback","text","err","reset"],"mappings":";AAsBO,SAASA,EAAaC,IAAU,KAA0B;AAC/D,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK,GACpC,CAACC,GAAOC,CAAQ,IAAIF,EAAuB,IAAI,GAE/CG,IAAOC,EAAY,OAAOC,MAAmC;AACjE,QAAI;AACF,mBAAM,UAAU,UAAU,UAAUA,CAAI,GACxCN,EAAU,EAAI,GACdG,EAAS,IAAI,GAEb,WAAW,MAAMH,EAAU,EAAK,GAAGF,CAAO,GACnC;AAAA,IACT,SAASS,GAAK;AACZ,aAAAJ,EAASI,aAAe,QAAQA,IAAM,IAAI,MAAM,gBAAgB,CAAC,GACjEP,EAAU,EAAK,GACR;AAAA,IACT;AAAA,EACF,GAAG,CAACF,CAAO,CAAC,GAENU,IAAQH,EAAY,MAAM;AAC9B,IAAAL,EAAU,EAAK,GACfG,EAAS,IAAI;AAAA,EACf,GAAG,CAAA,CAAE;AAEL,SAAO,EAAE,MAAAC,GAAM,QAAAL,GAAQ,OAAAG,GAAO,OAAAM,EAAA;AAChC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index102.js","sources":["../src/hooks/useLocalStorage.ts"],"sourcesContent":["import { useState, useCallback, useEffect } from 'react'\n\n/**\n * Hook for persisting state to localStorage.\n *\n * @param key - localStorage key\n * @param initialValue - Initial value if key doesn't exist\n * @returns [value, setValue, removeValue] tuple\n *\n * @example\n * const [theme, setTheme] = useLocalStorage('theme', 'light')\n * const [user, setUser, removeUser] = useLocalStorage('user', null)\n */\nexport function useLocalStorage<T>(\n key: string,\n initialValue: T\n): [T, (value: T | ((prev: T) => T)) => void, () => void] {\n // Get initial value from localStorage or use default\n const [storedValue, setStoredValue] = useState<T>(() => {\n if (typeof window === 'undefined') {\n return initialValue\n }\n\n try {\n const item = window.localStorage.getItem(key)\n return item ? (JSON.parse(item) as T) : initialValue\n } catch {\n return initialValue\n }\n })\n\n // Update localStorage when value changes\n const setValue = useCallback(\n (value: T | ((prev: T) => T)) => {\n setStoredValue(prev => {\n const valueToStore = value instanceof Function ? value(prev) : value\n\n if (typeof window !== 'undefined') {\n try {\n window.localStorage.setItem(key, JSON.stringify(valueToStore))\n } catch (error) {\n console.warn(`Failed to save to localStorage key \"${key}\":`, error)\n }\n }\n\n return valueToStore\n })\n },\n [key]\n )\n\n // Remove from localStorage\n const removeValue = useCallback(() => {\n if (typeof window !== 'undefined') {\n try {\n window.localStorage.removeItem(key)\n } catch (error) {\n console.warn(`Failed to remove localStorage key \"${key}\":`, error)\n }\n }\n setStoredValue(initialValue)\n }, [key, initialValue])\n\n // Sync with other tabs/windows\n useEffect(() => {\n const handleStorageChange = (e: StorageEvent) => {\n if (e.key === key && e.newValue !== null) {\n try {\n setStoredValue(JSON.parse(e.newValue) as T)\n } catch {\n // Ignore parse errors\n }\n }\n }\n\n window.addEventListener('storage', handleStorageChange)\n return () => window.removeEventListener('storage', handleStorageChange)\n }, [key])\n\n return [storedValue, setValue, removeValue]\n}\n"],"names":["useLocalStorage","key","initialValue","storedValue","setStoredValue","useState","item","setValue","useCallback","value","prev","valueToStore","error","removeValue","useEffect","handleStorageChange","e"],"mappings":";AAaO,SAASA,EACdC,GACAC,GACwD;AAExD,QAAM,CAACC,GAAaC,CAAc,IAAIC,EAAY,MAAM;AACtD,QAAI,OAAO,SAAW;AACpB,aAAOH;AAGT,QAAI;AACF,YAAMI,IAAO,OAAO,aAAa,QAAQL,CAAG;AAC5C,aAAOK,IAAQ,KAAK,MAAMA,CAAI,IAAUJ;AAAA,IAC1C,QAAQ;AACN,aAAOA;AAAA,IACT;AAAA,EACF,CAAC,GAGKK,IAAWC;AAAA,IACf,CAACC,MAAgC;AAC/B,MAAAL,EAAe,CAAAM,MAAQ;AACrB,cAAMC,IAAeF,aAAiB,WAAWA,EAAMC,CAAI,IAAID;AAE/D,YAAI,OAAO,SAAW;AACpB,cAAI;AACF,mBAAO,aAAa,QAAQR,GAAK,KAAK,UAAUU,CAAY,CAAC;AAAA,UAC/D,SAASC,GAAO;AACd,oBAAQ,KAAK,uCAAuCX,CAAG,MAAMW,CAAK;AAAA,UACpE;AAGF,eAAOD;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAACV,CAAG;AAAA,EAAA,GAIAY,IAAcL,EAAY,MAAM;AACpC,QAAI,OAAO,SAAW;AACpB,UAAI;AACF,eAAO,aAAa,WAAWP,CAAG;AAAA,MACpC,SAASW,GAAO;AACd,gBAAQ,KAAK,sCAAsCX,CAAG,MAAMW,CAAK;AAAA,MACnE;AAEF,IAAAR,EAAeF,CAAY;AAAA,EAC7B,GAAG,CAACD,GAAKC,CAAY,CAAC;AAGtB,SAAAY,EAAU,MAAM;AACd,UAAMC,IAAsB,CAACC,MAAoB;AAC/C,UAAIA,EAAE,QAAQf,KAAOe,EAAE,aAAa;AAClC,YAAI;AACF,UAAAZ,EAAe,KAAK,MAAMY,EAAE,QAAQ,CAAM;AAAA,QAC5C,QAAQ;AAAA,QAER;AAAA,IAEJ;AAEA,kBAAO,iBAAiB,WAAWD,CAAmB,GAC/C,MAAM,OAAO,oBAAoB,WAAWA,CAAmB;AAAA,EACxE,GAAG,CAACd,CAAG,CAAC,GAED,CAACE,GAAaI,GAAUM,CAAW;AAC5C;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index103.js","sources":["../src/hooks/useDebounce.ts"],"sourcesContent":["import { useState, useEffect } from 'react'\n\n/**\n * Hook that delays updating a value until after a specified delay.\n * Useful for search inputs to avoid excessive API calls.\n *\n * @param value - Value to debounce\n * @param delay - Delay in milliseconds (default: 300)\n * @returns Debounced value\n *\n * @example\n * const [search, setSearch] = useState('')\n * const debouncedSearch = useDebounce(search, 500)\n *\n * useEffect(() => {\n * // This runs 500ms after user stops typing\n * fetchResults(debouncedSearch)\n * }, [debouncedSearch])\n */\nexport function useDebounce<T>(value: T, delay = 300): T {\n const [debouncedValue, setDebouncedValue] = useState<T>(value)\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setDebouncedValue(value)\n }, delay)\n\n return () => {\n clearTimeout(timer)\n }\n }, [value, delay])\n\n return debouncedValue\n}\n"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","useState","useEffect","timer"],"mappings":";AAmBO,SAASA,EAAeC,GAAUC,IAAQ,KAAQ;AACvD,QAAM,CAACC,GAAgBC,CAAiB,IAAIC,EAAYJ,CAAK;AAE7D,SAAAK,EAAU,MAAM;AACd,UAAMC,IAAQ,WAAW,MAAM;AAC7B,MAAAH,EAAkBH,CAAK;AAAA,IACzB,GAAGC,CAAK;AAER,WAAO,MAAM;AACX,mBAAaK,CAAK;AAAA,IACpB;AAAA,EACF,GAAG,CAACN,GAAOC,CAAK,CAAC,GAEVC;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index104.js","sources":["../src/hooks/useClickOutside.ts"],"sourcesContent":["import { useEffect, useRef, type RefObject } from 'react'\n\n/**\n * Hook that detects clicks outside of a referenced element.\n * Useful for closing dropdowns, modals, or menus.\n *\n * @param handler - Callback when click outside is detected\n * @param enabled - Whether the listener is active (default: true)\n * @returns Ref to attach to the element\n *\n * @example\n * const ref = useClickOutside(() => setIsOpen(false))\n *\n * <div ref={ref}>\n * <Dropdown>...</Dropdown>\n * </div>\n */\nexport function useClickOutside<T extends HTMLElement = HTMLElement>(\n handler: (event: MouseEvent | TouchEvent) => void,\n enabled = true\n): RefObject<T | null> {\n const ref = useRef<T>(null)\n\n useEffect(() => {\n if (!enabled) return\n\n const listener = (event: MouseEvent | TouchEvent) => {\n const el = ref.current\n if (!el || el.contains(event.target as Node)) {\n return\n }\n handler(event)\n }\n\n document.addEventListener('mousedown', listener)\n document.addEventListener('touchstart', listener)\n\n return () => {\n document.removeEventListener('mousedown', listener)\n document.removeEventListener('touchstart', listener)\n }\n }, [handler, enabled])\n\n return ref\n}\n"],"names":["useClickOutside","handler","enabled","ref","useRef","useEffect","listener","event","el"],"mappings":";AAiBO,SAASA,EACdC,GACAC,IAAU,IACW;AACrB,QAAMC,IAAMC,EAAU,IAAI;AAE1B,SAAAC,EAAU,MAAM;AACd,QAAI,CAACH,EAAS;AAEd,UAAMI,IAAW,CAACC,MAAmC;AACnD,YAAMC,IAAKL,EAAI;AACf,MAAI,CAACK,KAAMA,EAAG,SAASD,EAAM,MAAc,KAG3CN,EAAQM,CAAK;AAAA,IACf;AAEA,oBAAS,iBAAiB,aAAaD,CAAQ,GAC/C,SAAS,iBAAiB,cAAcA,CAAQ,GAEzC,MAAM;AACX,eAAS,oBAAoB,aAAaA,CAAQ,GAClD,SAAS,oBAAoB,cAAcA,CAAQ;AAAA,IACrD;AAAA,EACF,GAAG,CAACL,GAASC,CAAO,CAAC,GAEdC;AACT;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index105.js","sources":["../src/hooks/usePrevious.ts"],"sourcesContent":["import { useRef, useEffect } from 'react'\n\n/**\n * Hook that returns the previous value of a variable.\n * Useful for comparing current and previous values in effects.\n *\n * @param value - Current value\n * @returns Previous value (undefined on first render)\n *\n * @example\n * const [count, setCount] = useState(0)\n * const prevCount = usePrevious(count)\n *\n * // prevCount is the value from previous render\n * console.log(`Changed from ${prevCount} to ${count}`)\n */\nexport function usePrevious<T>(value: T): T | undefined {\n const ref = useRef<T | undefined>(undefined)\n\n useEffect(() => {\n ref.current = value\n }, [value])\n\n return ref.current\n}\n"],"names":["usePrevious","value","ref","useRef","useEffect"],"mappings":";AAgBO,SAASA,EAAeC,GAAyB;AACtD,QAAMC,IAAMC,EAAsB,MAAS;AAE3C,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAI,UAAUD;AAAA,EAChB,GAAG,CAACA,CAAK,CAAC,GAEHC,EAAI;AACb;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index106.js","sources":["../src/hooks/useHover.ts"],"sourcesContent":["import { useState, useRef, useEffect, type RefObject } from 'react'\n\nexport interface UseHoverReturn<T extends HTMLElement> {\n ref: RefObject<T | null>\n isHovered: boolean\n}\n\n/**\n * Hook that tracks hover state of an element.\n *\n * @returns Object with ref and isHovered state\n *\n * @example\n * const { ref, isHovered } = useHover<HTMLDivElement>()\n *\n * <div ref={ref} className={isHovered ? 'bg-blue-500' : 'bg-gray-500'}>\n * Hover me!\n * </div>\n */\nexport function useHover<T extends HTMLElement = HTMLElement>(): UseHoverReturn<T> {\n const [isHovered, setIsHovered] = useState(false)\n const ref = useRef<T>(null)\n\n useEffect(() => {\n const node = ref.current\n if (!node) return\n\n const handleMouseEnter = () => setIsHovered(true)\n const handleMouseLeave = () => setIsHovered(false)\n\n node.addEventListener('mouseenter', handleMouseEnter)\n node.addEventListener('mouseleave', handleMouseLeave)\n\n return () => {\n node.removeEventListener('mouseenter', handleMouseEnter)\n node.removeEventListener('mouseleave', handleMouseLeave)\n }\n }, [])\n\n return { ref, isHovered }\n}\n"],"names":["useHover","isHovered","setIsHovered","useState","ref","useRef","useEffect","node","handleMouseEnter","handleMouseLeave"],"mappings":";AAmBO,SAASA,IAAmE;AACjF,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAMC,EAAU,IAAI;AAE1B,SAAAC,EAAU,MAAM;AACd,UAAMC,IAAOH,EAAI;AACjB,QAAI,CAACG,EAAM;AAEX,UAAMC,IAAmB,MAAMN,EAAa,EAAI,GAC1CO,IAAmB,MAAMP,EAAa,EAAK;AAEjD,WAAAK,EAAK,iBAAiB,cAAcC,CAAgB,GACpDD,EAAK,iBAAiB,cAAcE,CAAgB,GAE7C,MAAM;AACX,MAAAF,EAAK,oBAAoB,cAAcC,CAAgB,GACvDD,EAAK,oBAAoB,cAAcE,CAAgB;AAAA,IACzD;AAAA,EACF,GAAG,CAAA,CAAE,GAEE,EAAE,KAAAL,GAAK,WAAAH,EAAA;AAChB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index107.js","sources":["../src/hooks/useKeyPress.ts"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react'\n\nexport interface UseKeyPressOptions {\n /** Target element (default: window) */\n target?: HTMLElement | Window | null\n /** Event type: 'keydown' | 'keyup' (default: 'keydown') */\n event?: 'keydown' | 'keyup'\n /** Prevent default browser behavior */\n preventDefault?: boolean\n}\n\n/**\n * Hook that detects when a specific key is pressed.\n *\n * @param targetKey - Key to detect (e.g., 'Enter', 'Escape', 'a')\n * @param options - Configuration options\n * @returns Whether the key is currently pressed\n *\n * @example\n * const enterPressed = useKeyPress('Enter')\n * const escapePressed = useKeyPress('Escape')\n *\n * useEffect(() => {\n * if (escapePressed) closeModal()\n * }, [escapePressed])\n *\n * @example\n * // With callback for immediate action\n * useKeyPress('Escape', { preventDefault: true })\n */\nexport function useKeyPress(\n targetKey: string,\n options: UseKeyPressOptions = {}\n): boolean {\n const { target, event = 'keydown', preventDefault = false } = options\n const [keyPressed, setKeyPressed] = useState(false)\n\n const downHandler = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === targetKey) {\n if (preventDefault) e.preventDefault()\n setKeyPressed(true)\n }\n },\n [targetKey, preventDefault]\n )\n\n const upHandler = useCallback(\n (e: KeyboardEvent) => {\n if (e.key === targetKey) {\n setKeyPressed(false)\n }\n },\n [targetKey]\n )\n\n useEffect(() => {\n const targetElement = target ?? window\n\n if (event === 'keydown') {\n targetElement.addEventListener('keydown', downHandler as EventListener)\n targetElement.addEventListener('keyup', upHandler as EventListener)\n } else {\n targetElement.addEventListener('keyup', downHandler as EventListener)\n }\n\n return () => {\n targetElement.removeEventListener('keydown', downHandler as EventListener)\n targetElement.removeEventListener('keyup', upHandler as EventListener)\n }\n }, [target, event, downHandler, upHandler])\n\n return keyPressed\n}\n\n/**\n * Hook that calls a callback when a specific key is pressed.\n *\n * @param targetKey - Key to detect\n * @param callback - Function to call when key is pressed\n * @param options - Configuration options\n *\n * @example\n * useKeyPressCallback('Escape', () => closeModal())\n * useKeyPressCallback('Enter', () => submitForm(), { preventDefault: true })\n */\nexport function useKeyPressCallback(\n targetKey: string,\n callback: (event: KeyboardEvent) => void,\n options: UseKeyPressOptions = {}\n): void {\n const { target, event = 'keydown', preventDefault = false } = options\n\n useEffect(() => {\n const targetElement = target ?? window\n\n const handler = (e: KeyboardEvent) => {\n if (e.key === targetKey) {\n if (preventDefault) e.preventDefault()\n callback(e)\n }\n }\n\n targetElement.addEventListener(event, handler as EventListener)\n return () => targetElement.removeEventListener(event, handler as EventListener)\n }, [target, targetKey, callback, event, preventDefault])\n}\n"],"names":["useKeyPress","targetKey","options","target","event","preventDefault","keyPressed","setKeyPressed","useState","downHandler","useCallback","upHandler","useEffect","targetElement","useKeyPressCallback","callback","handler","e"],"mappings":";AA8BO,SAASA,EACdC,GACAC,IAA8B,IACrB;AACT,QAAM,EAAE,QAAAC,GAAQ,OAAAC,IAAQ,WAAW,gBAAAC,IAAiB,OAAUH,GACxD,CAACI,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAE5CC,IAAcC;AAAA,IAClB,CAAC,MAAqB;AACpB,MAAI,EAAE,QAAQT,MACRI,OAAkB,eAAA,GACtBE,EAAc,EAAI;AAAA,IAEtB;AAAA,IACA,CAACN,GAAWI,CAAc;AAAA,EAAA,GAGtBM,IAAYD;AAAA,IAChB,CAAC,MAAqB;AACpB,MAAI,EAAE,QAAQT,KACZM,EAAc,EAAK;AAAA,IAEvB;AAAA,IACA,CAACN,CAAS;AAAA,EAAA;AAGZ,SAAAW,EAAU,MAAM;AACd,UAAMC,IAAgBV,KAAU;AAEhC,WAAIC,MAAU,aACZS,EAAc,iBAAiB,WAAWJ,CAA4B,GACtEI,EAAc,iBAAiB,SAASF,CAA0B,KAElEE,EAAc,iBAAiB,SAASJ,CAA4B,GAG/D,MAAM;AACX,MAAAI,EAAc,oBAAoB,WAAWJ,CAA4B,GACzEI,EAAc,oBAAoB,SAASF,CAA0B;AAAA,IACvE;AAAA,EACF,GAAG,CAACR,GAAQC,GAAOK,GAAaE,CAAS,CAAC,GAEnCL;AACT;AAaO,SAASQ,EACdb,GACAc,GACAb,IAA8B,CAAA,GACxB;AACN,QAAM,EAAE,QAAAC,GAAQ,OAAAC,IAAQ,WAAW,gBAAAC,IAAiB,OAAUH;AAE9D,EAAAU,EAAU,MAAM;AACd,UAAMC,IAAgBV,KAAU,QAE1Ba,IAAU,CAACC,MAAqB;AACpC,MAAIA,EAAE,QAAQhB,MACRI,OAAkB,eAAA,GACtBU,EAASE,CAAC;AAAA,IAEd;AAEA,WAAAJ,EAAc,iBAAiBT,GAAOY,CAAwB,GACvD,MAAMH,EAAc,oBAAoBT,GAAOY,CAAwB;AAAA,EAChF,GAAG,CAACb,GAAQF,GAAWc,GAAUX,GAAOC,CAAc,CAAC;AACzD;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index108.js","sources":["../src/hooks/useWindowSize.ts"],"sourcesContent":["import { useState, useEffect } from 'react'\n\nexport interface WindowSize {\n width: number\n height: number\n}\n\n/**\n * Hook that tracks window dimensions.\n * Updates on window resize.\n *\n * @returns Object with current width and height\n *\n * @example\n * const { width, height } = useWindowSize()\n *\n * return (\n * <div>\n * Window: {width} x {height}\n * {width < 768 && <MobileNav />}\n * </div>\n * )\n */\nexport function useWindowSize(): WindowSize {\n const [windowSize, setWindowSize] = useState<WindowSize>(() => {\n if (typeof window === 'undefined') {\n return { width: 0, height: 0 }\n }\n return {\n width: window.innerWidth,\n height: window.innerHeight,\n }\n })\n\n useEffect(() => {\n if (typeof window === 'undefined') return\n\n const handleResize = () => {\n setWindowSize({\n width: window.innerWidth,\n height: window.innerHeight,\n })\n }\n\n window.addEventListener('resize', handleResize)\n return () => window.removeEventListener('resize', handleResize)\n }, [])\n\n return windowSize\n}\n"],"names":["useWindowSize","windowSize","setWindowSize","useState","useEffect","handleResize"],"mappings":";AAuBO,SAASA,IAA4B;AAC1C,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAqB,MACnD,OAAO,SAAW,MACb,EAAE,OAAO,GAAG,QAAQ,EAAA,IAEtB;AAAA,IACL,OAAO,OAAO;AAAA,IACd,QAAQ,OAAO;AAAA,EAAA,CAElB;AAED,SAAAC,EAAU,MAAM;AACd,QAAI,OAAO,SAAW,IAAa;AAEnC,UAAMC,IAAe,MAAM;AACzB,MAAAH,EAAc;AAAA,QACZ,OAAO,OAAO;AAAA,QACd,QAAQ,OAAO;AAAA,MAAA,CAChB;AAAA,IACH;AAEA,kBAAO,iBAAiB,UAAUG,CAAY,GACvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAChE,GAAG,CAAA,CAAE,GAEEJ;AACT;"}