@omnitron-dev/prism 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (839) hide show
  1. package/dist/accessibility/index.d.ts +7 -151
  2. package/dist/accessibility/index.d.ts.map +1 -0
  3. package/dist/accessibility/index.js +0 -1
  4. package/dist/accessibility/index.js.map +1 -1
  5. package/dist/accessibility/vision-mode.d.ts +154 -0
  6. package/dist/accessibility/vision-mode.d.ts.map +1 -0
  7. package/dist/blocks/auth-block/auth-block.d.ts +107 -0
  8. package/dist/blocks/auth-block/auth-block.d.ts.map +1 -0
  9. package/dist/blocks/auth-block/guards.d.ts +262 -0
  10. package/dist/blocks/auth-block/guards.d.ts.map +1 -0
  11. package/dist/blocks/auth-block/index.d.ts +13 -0
  12. package/dist/blocks/auth-block/index.d.ts.map +1 -0
  13. package/dist/blocks/auth-block/types.d.ts +232 -0
  14. package/dist/blocks/auth-block/types.d.ts.map +1 -0
  15. package/dist/blocks/dashboard-block/dashboard-block.d.ts +53 -0
  16. package/dist/blocks/dashboard-block/dashboard-block.d.ts.map +1 -0
  17. package/dist/blocks/dashboard-block/index.d.ts +12 -0
  18. package/dist/blocks/dashboard-block/index.d.ts.map +1 -0
  19. package/dist/blocks/dashboard-block/types.d.ts +182 -0
  20. package/dist/blocks/dashboard-block/types.d.ts.map +1 -0
  21. package/dist/blocks/dashboard-block/use-dashboard-block.d.ts +95 -0
  22. package/dist/blocks/dashboard-block/use-dashboard-block.d.ts.map +1 -0
  23. package/dist/blocks/data-grid-block/data-grid-block.d.ts +81 -0
  24. package/dist/blocks/data-grid-block/data-grid-block.d.ts.map +1 -0
  25. package/dist/blocks/data-grid-block/index.d.ts +11 -0
  26. package/dist/blocks/data-grid-block/index.d.ts.map +1 -0
  27. package/dist/blocks/data-grid-block/types.d.ts +304 -0
  28. package/dist/blocks/data-grid-block/types.d.ts.map +1 -0
  29. package/dist/blocks/index.d.ts +10 -1235
  30. package/dist/blocks/index.d.ts.map +1 -0
  31. package/dist/blocks/index.js +187 -50
  32. package/dist/blocks/index.js.map +1 -1
  33. package/dist/{chunk-UR6X3W5I.js → chunk-6AHI4GSV.js} +3 -3
  34. package/dist/chunk-6AHI4GSV.js.map +1 -0
  35. package/dist/{chunk-JDTC2SBY.js → chunk-AD4W7HYC.js} +2 -2
  36. package/dist/chunk-AD4W7HYC.js.map +1 -0
  37. package/dist/{chunk-BTIT7WYH.js → chunk-ADG4HZEP.js} +3 -3
  38. package/dist/chunk-ADG4HZEP.js.map +1 -0
  39. package/dist/{chunk-JNU4QHJK.js → chunk-AYYFMTMI.js} +5 -4
  40. package/dist/{chunk-JNU4QHJK.js.map → chunk-AYYFMTMI.js.map} +1 -1
  41. package/dist/{chunk-HO2GKTWJ.js → chunk-BRDWQVRT.js} +2 -2
  42. package/dist/chunk-BRDWQVRT.js.map +1 -0
  43. package/dist/{chunk-WC2WM2JD.js → chunk-BZOL7GMU.js} +36 -18
  44. package/dist/chunk-BZOL7GMU.js.map +1 -0
  45. package/dist/chunk-DRFNMZLG.js +192 -0
  46. package/dist/chunk-DRFNMZLG.js.map +1 -0
  47. package/dist/{chunk-BV32OJ2A.js → chunk-GUFHFEPZ.js} +2 -2
  48. package/dist/chunk-GUFHFEPZ.js.map +1 -0
  49. package/dist/{chunk-LAEY5USO.js → chunk-OBJ244BO.js} +608 -95
  50. package/dist/chunk-OBJ244BO.js.map +1 -0
  51. package/dist/{chunk-E3XANPTO.js → chunk-S6SEGBX6.js} +32 -209
  52. package/dist/chunk-S6SEGBX6.js.map +1 -0
  53. package/dist/chunk-SNZK5X6F.js +594 -0
  54. package/dist/chunk-SNZK5X6F.js.map +1 -0
  55. package/dist/chunk-WFD54GQQ.js +1940 -0
  56. package/dist/chunk-WFD54GQQ.js.map +1 -0
  57. package/dist/{chunk-DDY7TLUI.js → chunk-XIXSSI3B.js} +28 -2
  58. package/dist/chunk-XIXSSI3B.js.map +1 -0
  59. package/dist/chunk-YQW43BDH.js +11978 -0
  60. package/dist/chunk-YQW43BDH.js.map +1 -0
  61. package/dist/{chunk-XWL6J6IO.js → chunk-YSIG2XYH.js} +2 -2
  62. package/dist/chunk-YSIG2XYH.js.map +1 -0
  63. package/dist/chunk-Z5OSPAOC.js +1576 -0
  64. package/dist/chunk-Z5OSPAOC.js.map +1 -0
  65. package/dist/{chunk-DXXZ3ITR.js → chunk-ZTATTUH7.js} +851 -500
  66. package/dist/chunk-ZTATTUH7.js.map +1 -0
  67. package/dist/cli/commands/add.d.ts +22 -0
  68. package/dist/cli/commands/add.d.ts.map +1 -0
  69. package/dist/cli/commands/diff.d.ts +13 -0
  70. package/dist/cli/commands/diff.d.ts.map +1 -0
  71. package/dist/cli/commands/doctor.d.ts +13 -0
  72. package/dist/cli/commands/doctor.d.ts.map +1 -0
  73. package/dist/cli/commands/init.d.ts +13 -0
  74. package/dist/cli/commands/init.d.ts.map +1 -0
  75. package/dist/cli/commands/list.d.ts +13 -0
  76. package/dist/cli/commands/list.d.ts.map +1 -0
  77. package/dist/cli/commands/remove.d.ts +13 -0
  78. package/dist/cli/commands/remove.d.ts.map +1 -0
  79. package/dist/cli/commands/update.d.ts +13 -0
  80. package/dist/cli/commands/update.d.ts.map +1 -0
  81. package/dist/cli/config.d.ts +73 -0
  82. package/dist/cli/config.d.ts.map +1 -0
  83. package/dist/cli/constants.d.ts +60 -0
  84. package/dist/cli/constants.d.ts.map +1 -0
  85. package/dist/cli/index.d.ts +27 -0
  86. package/dist/cli/index.d.ts.map +1 -0
  87. package/dist/cli/index.js +35 -41
  88. package/dist/cli/index.js.map +1 -1
  89. package/dist/components/accordion/accordion.d.ts +149 -0
  90. package/dist/components/accordion/accordion.d.ts.map +1 -0
  91. package/dist/components/accordion/index.d.ts +7 -0
  92. package/dist/components/accordion/index.d.ts.map +1 -0
  93. package/dist/components/admin-filters/admin-data-table.d.ts +185 -0
  94. package/dist/components/admin-filters/admin-data-table.d.ts.map +1 -0
  95. package/dist/components/admin-filters/amount-cell.d.ts +39 -0
  96. package/dist/components/admin-filters/amount-cell.d.ts.map +1 -0
  97. package/dist/components/admin-filters/filter-toolbar.d.ts +99 -0
  98. package/dist/components/admin-filters/filter-toolbar.d.ts.map +1 -0
  99. package/dist/components/admin-filters/index.d.ts +13 -0
  100. package/dist/components/admin-filters/index.d.ts.map +1 -0
  101. package/dist/components/admin-filters/status-chip.d.ts +55 -0
  102. package/dist/components/admin-filters/status-chip.d.ts.map +1 -0
  103. package/dist/components/alert/alert.d.ts +159 -0
  104. package/dist/components/alert/alert.d.ts.map +1 -0
  105. package/dist/components/alert/index.d.ts +7 -0
  106. package/dist/components/alert/index.d.ts.map +1 -0
  107. package/dist/components/animate/animate-border.d.ts +33 -0
  108. package/dist/components/animate/animate-border.d.ts.map +1 -0
  109. package/dist/components/animate/index.d.ts +3 -0
  110. package/dist/components/animate/index.d.ts.map +1 -0
  111. package/dist/components/animate/motion-lazy.d.ts +5 -0
  112. package/dist/components/animate/motion-lazy.d.ts.map +1 -0
  113. package/dist/components/avatar/avatar.d.ts +78 -0
  114. package/dist/components/avatar/avatar.d.ts.map +1 -0
  115. package/dist/components/avatar/index.d.ts +7 -0
  116. package/dist/components/avatar/index.d.ts.map +1 -0
  117. package/dist/components/badge/badge.d.ts +102 -0
  118. package/dist/components/badge/badge.d.ts.map +1 -0
  119. package/dist/components/badge/index.d.ts +7 -0
  120. package/dist/components/badge/index.d.ts.map +1 -0
  121. package/dist/components/breadcrumbs/breadcrumbs.d.ts +100 -0
  122. package/dist/components/breadcrumbs/breadcrumbs.d.ts.map +1 -0
  123. package/dist/components/breadcrumbs/index.d.ts +7 -0
  124. package/dist/components/breadcrumbs/index.d.ts.map +1 -0
  125. package/dist/components/card/card.d.ts +127 -0
  126. package/dist/components/card/card.d.ts.map +1 -0
  127. package/dist/components/card/index.d.ts +7 -0
  128. package/dist/components/card/index.d.ts.map +1 -0
  129. package/dist/components/carousel/carousel.d.ts +35 -0
  130. package/dist/components/carousel/carousel.d.ts.map +1 -0
  131. package/dist/components/carousel/classes.d.ts +35 -0
  132. package/dist/components/carousel/classes.d.ts.map +1 -0
  133. package/dist/components/carousel/index.d.ts +10 -0
  134. package/dist/components/carousel/index.d.ts.map +1 -0
  135. package/dist/components/carousel/types.d.ts +167 -0
  136. package/dist/components/carousel/types.d.ts.map +1 -0
  137. package/dist/components/carousel/use-carousel.d.ts +51 -0
  138. package/dist/components/carousel/use-carousel.d.ts.map +1 -0
  139. package/dist/components/changelog/changelog-entry.d.ts +10 -0
  140. package/dist/components/changelog/changelog-entry.d.ts.map +1 -0
  141. package/dist/components/changelog/changelog-timeline.d.ts +9 -0
  142. package/dist/components/changelog/changelog-timeline.d.ts.map +1 -0
  143. package/dist/components/changelog/index.d.ts +3 -0
  144. package/dist/components/changelog/index.d.ts.map +1 -0
  145. package/dist/components/chart/chart.d.ts +39 -0
  146. package/dist/components/chart/chart.d.ts.map +1 -0
  147. package/dist/components/chart/classes.d.ts +24 -0
  148. package/dist/components/chart/classes.d.ts.map +1 -0
  149. package/dist/components/chart/components/chart-legends.d.ts +24 -0
  150. package/dist/components/chart/components/chart-legends.d.ts.map +1 -0
  151. package/dist/components/chart/components/chart-loading.d.ts +21 -0
  152. package/dist/components/chart/components/chart-loading.d.ts.map +1 -0
  153. package/dist/components/chart/components/index.d.ts +8 -0
  154. package/dist/components/chart/components/index.d.ts.map +1 -0
  155. package/dist/components/chart/index.d.ts +14 -0
  156. package/dist/components/chart/index.d.ts.map +1 -0
  157. package/dist/components/chart/types.d.ts +264 -0
  158. package/dist/components/chart/types.d.ts.map +1 -0
  159. package/dist/components/chart/use-chart.d.ts +34 -0
  160. package/dist/components/chart/use-chart.d.ts.map +1 -0
  161. package/dist/components/command-palette/command-palette.d.ts +73 -0
  162. package/dist/components/command-palette/command-palette.d.ts.map +1 -0
  163. package/dist/components/command-palette/index.d.ts +7 -0
  164. package/dist/components/command-palette/index.d.ts.map +1 -0
  165. package/dist/components/confirm-dialog/confirm-dialog.d.ts +89 -0
  166. package/dist/components/confirm-dialog/confirm-dialog.d.ts.map +1 -0
  167. package/dist/components/confirm-dialog/index.d.ts +7 -0
  168. package/dist/components/confirm-dialog/index.d.ts.map +1 -0
  169. package/dist/components/content-renderer/classes.d.ts +33 -0
  170. package/dist/components/content-renderer/classes.d.ts.map +1 -0
  171. package/dist/components/content-renderer/content-renderer.d.ts +37 -0
  172. package/dist/components/content-renderer/content-renderer.d.ts.map +1 -0
  173. package/dist/components/content-renderer/html-tags.d.ts +6 -0
  174. package/dist/components/content-renderer/html-tags.d.ts.map +1 -0
  175. package/dist/components/content-renderer/html-to-markdown.d.ts +7 -0
  176. package/dist/components/content-renderer/html-to-markdown.d.ts.map +1 -0
  177. package/dist/components/content-renderer/index.d.ts +7 -0
  178. package/dist/components/content-renderer/index.d.ts.map +1 -0
  179. package/dist/components/content-renderer/markdown.d.ts +23 -0
  180. package/dist/components/content-renderer/markdown.d.ts.map +1 -0
  181. package/dist/components/content-renderer/remark-spoiler.d.ts +9 -0
  182. package/dist/components/content-renderer/remark-spoiler.d.ts.map +1 -0
  183. package/dist/components/content-renderer/styles.d.ts +2 -0
  184. package/dist/components/content-renderer/styles.d.ts.map +1 -0
  185. package/dist/components/country-select/country-select.d.ts +101 -0
  186. package/dist/components/country-select/country-select.d.ts.map +1 -0
  187. package/dist/components/country-select/flag-icon.d.ts +36 -0
  188. package/dist/components/country-select/flag-icon.d.ts.map +1 -0
  189. package/dist/components/country-select/index.d.ts +5 -0
  190. package/dist/components/country-select/index.d.ts.map +1 -0
  191. package/dist/components/date-range-picker/date-range-input.d.ts +48 -0
  192. package/dist/components/date-range-picker/date-range-input.d.ts.map +1 -0
  193. package/dist/components/date-range-picker/date-range-picker.d.ts +39 -0
  194. package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -0
  195. package/dist/components/date-range-picker/index.d.ts +7 -0
  196. package/dist/components/date-range-picker/index.d.ts.map +1 -0
  197. package/dist/components/date-range-picker/use-date-range-picker.d.ts +28 -0
  198. package/dist/components/date-range-picker/use-date-range-picker.d.ts.map +1 -0
  199. package/dist/components/deadline-chip/deadline-chip.d.ts +41 -0
  200. package/dist/components/deadline-chip/deadline-chip.d.ts.map +1 -0
  201. package/dist/components/deadline-chip/index.d.ts +7 -0
  202. package/dist/components/deadline-chip/index.d.ts.map +1 -0
  203. package/dist/components/doc-layout/doc-layout.d.ts +17 -0
  204. package/dist/components/doc-layout/doc-layout.d.ts.map +1 -0
  205. package/dist/components/doc-layout/doc-section-nav.d.ts +16 -0
  206. package/dist/components/doc-layout/doc-section-nav.d.ts.map +1 -0
  207. package/dist/components/doc-layout/doc-sidebar.d.ts +15 -0
  208. package/dist/components/doc-layout/doc-sidebar.d.ts.map +1 -0
  209. package/dist/components/doc-layout/index.d.ts +4 -0
  210. package/dist/components/doc-layout/index.d.ts.map +1 -0
  211. package/dist/components/drawer/drawer.d.ts +65 -0
  212. package/dist/components/drawer/drawer.d.ts.map +1 -0
  213. package/dist/components/drawer/index.d.ts +7 -0
  214. package/dist/components/drawer/index.d.ts.map +1 -0
  215. package/dist/components/duration-picker/duration-picker.d.ts +24 -0
  216. package/dist/components/duration-picker/duration-picker.d.ts.map +1 -0
  217. package/dist/components/duration-picker/index.d.ts +2 -0
  218. package/dist/components/duration-picker/index.d.ts.map +1 -0
  219. package/dist/components/editor/classes.d.ts +52 -0
  220. package/dist/components/editor/classes.d.ts.map +1 -0
  221. package/dist/components/editor/editor.d.ts +15 -0
  222. package/dist/components/editor/editor.d.ts.map +1 -0
  223. package/dist/components/editor/extensions/clear-format.d.ts +3 -0
  224. package/dist/components/editor/extensions/clear-format.d.ts.map +1 -0
  225. package/dist/components/editor/extensions/index.d.ts +3 -0
  226. package/dist/components/editor/extensions/index.d.ts.map +1 -0
  227. package/dist/components/editor/extensions/text-transform.d.ts +20 -0
  228. package/dist/components/editor/extensions/text-transform.d.ts.map +1 -0
  229. package/dist/components/editor/icons/index.d.ts +42 -0
  230. package/dist/components/editor/icons/index.d.ts.map +1 -0
  231. package/dist/components/editor/index.d.ts +44 -0
  232. package/dist/components/editor/index.d.ts.map +1 -0
  233. package/dist/components/editor/index.js +3 -0
  234. package/dist/components/editor/index.js.map +1 -0
  235. package/dist/components/editor/presets.d.ts +3 -0
  236. package/dist/components/editor/presets.d.ts.map +1 -0
  237. package/dist/components/editor/styles.d.ts +2 -0
  238. package/dist/components/editor/styles.d.ts.map +1 -0
  239. package/dist/components/editor/toolbar/bubble-toolbar.d.ts +9 -0
  240. package/dist/components/editor/toolbar/bubble-toolbar.d.ts.map +1 -0
  241. package/dist/components/editor/toolbar/code-highlight-block.d.ts +3 -0
  242. package/dist/components/editor/toolbar/code-highlight-block.d.ts.map +1 -0
  243. package/dist/components/editor/toolbar/heading-block.d.ts +11 -0
  244. package/dist/components/editor/toolbar/heading-block.d.ts.map +1 -0
  245. package/dist/components/editor/toolbar/image-block.d.ts +11 -0
  246. package/dist/components/editor/toolbar/image-block.d.ts.map +1 -0
  247. package/dist/components/editor/toolbar/link-block.d.ts +13 -0
  248. package/dist/components/editor/toolbar/link-block.d.ts.map +1 -0
  249. package/dist/components/editor/toolbar/toolbar-item.d.ts +3 -0
  250. package/dist/components/editor/toolbar/toolbar-item.d.ts.map +1 -0
  251. package/dist/components/editor/toolbar/toolbar.d.ts +3 -0
  252. package/dist/components/editor/toolbar/toolbar.d.ts.map +1 -0
  253. package/dist/components/editor/toolbar/use-toolbar-state.d.ts +24 -0
  254. package/dist/components/editor/toolbar/use-toolbar-state.d.ts.map +1 -0
  255. package/dist/components/editor/types.d.ts +130 -0
  256. package/dist/components/editor/types.d.ts.map +1 -0
  257. package/dist/components/emoji-picker/emoji-picker.d.ts +24 -0
  258. package/dist/components/emoji-picker/emoji-picker.d.ts.map +1 -0
  259. package/dist/components/emoji-picker/emoji-search.d.ts +22 -0
  260. package/dist/components/emoji-picker/emoji-search.d.ts.map +1 -0
  261. package/dist/components/emoji-picker/emoji.d.ts +19 -0
  262. package/dist/components/emoji-picker/emoji.d.ts.map +1 -0
  263. package/dist/components/emoji-picker/index.d.ts +14 -0
  264. package/dist/components/emoji-picker/index.d.ts.map +1 -0
  265. package/dist/components/emoji-picker/index.js +3 -0
  266. package/dist/components/emoji-picker/index.js.map +1 -0
  267. package/dist/components/emoji-picker/twemoji-url.d.ts +26 -0
  268. package/dist/components/emoji-picker/twemoji-url.d.ts.map +1 -0
  269. package/dist/components/emoji-picker/types.d.ts +96 -0
  270. package/dist/components/emoji-picker/types.d.ts.map +1 -0
  271. package/dist/components/emoji-picker/use-emoji-data.d.ts +26 -0
  272. package/dist/components/emoji-picker/use-emoji-data.d.ts.map +1 -0
  273. package/dist/components/emoji-picker/use-recent-emojis.d.ts +16 -0
  274. package/dist/components/emoji-picker/use-recent-emojis.d.ts.map +1 -0
  275. package/dist/components/empty-content/empty-content.d.ts +92 -0
  276. package/dist/components/empty-content/empty-content.d.ts.map +1 -0
  277. package/dist/components/empty-content/index.d.ts +7 -0
  278. package/dist/components/empty-content/index.d.ts.map +1 -0
  279. package/dist/components/error-boundary/error-boundary.d.ts +162 -0
  280. package/dist/components/error-boundary/error-boundary.d.ts.map +1 -0
  281. package/dist/components/error-boundary/index.d.ts +7 -0
  282. package/dist/components/error-boundary/index.d.ts.map +1 -0
  283. package/dist/components/field/field-autocomplete.d.ts +74 -0
  284. package/dist/components/field/field-autocomplete.d.ts.map +1 -0
  285. package/dist/components/field/field-checkbox.d.ts +42 -0
  286. package/dist/components/field/field-checkbox.d.ts.map +1 -0
  287. package/dist/components/field/field-code.d.ts +80 -0
  288. package/dist/components/field/field-code.d.ts.map +1 -0
  289. package/dist/components/field/field-country-select.d.ts +84 -0
  290. package/dist/components/field/field-country-select.d.ts.map +1 -0
  291. package/dist/components/field/field-date-picker.d.ts +58 -0
  292. package/dist/components/field/field-date-picker.d.ts.map +1 -0
  293. package/dist/components/field/field-datetime-picker.d.ts +96 -0
  294. package/dist/components/field/field-datetime-picker.d.ts.map +1 -0
  295. package/dist/components/field/field-editor.d.ts +218 -0
  296. package/dist/components/field/field-editor.d.ts.map +1 -0
  297. package/dist/components/field/field-multi-checkbox.d.ts +91 -0
  298. package/dist/components/field/field-multi-checkbox.d.ts.map +1 -0
  299. package/dist/components/field/field-multi-select.d.ts +85 -0
  300. package/dist/components/field/field-multi-select.d.ts.map +1 -0
  301. package/dist/components/field/field-multi-switch.d.ts +93 -0
  302. package/dist/components/field/field-multi-switch.d.ts.map +1 -0
  303. package/dist/components/field/field-number.d.ts +50 -0
  304. package/dist/components/field/field-number.d.ts.map +1 -0
  305. package/dist/components/field/field-phone.d.ts +82 -0
  306. package/dist/components/field/field-phone.d.ts.map +1 -0
  307. package/dist/components/field/field-radio.d.ts +64 -0
  308. package/dist/components/field/field-radio.d.ts.map +1 -0
  309. package/dist/components/field/field-rating.d.ts +43 -0
  310. package/dist/components/field/field-rating.d.ts.map +1 -0
  311. package/dist/components/field/field-select.d.ts +50 -0
  312. package/dist/components/field/field-select.d.ts.map +1 -0
  313. package/dist/components/field/field-slider.d.ts +56 -0
  314. package/dist/components/field/field-slider.d.ts.map +1 -0
  315. package/dist/components/field/field-switch.d.ts +44 -0
  316. package/dist/components/field/field-switch.d.ts.map +1 -0
  317. package/dist/components/field/field-text.d.ts +38 -0
  318. package/dist/components/field/field-text.d.ts.map +1 -0
  319. package/dist/components/field/field-time-picker.d.ts +79 -0
  320. package/dist/components/field/field-time-picker.d.ts.map +1 -0
  321. package/dist/components/field/field-upload.d.ts +120 -0
  322. package/dist/components/field/field-upload.d.ts.map +1 -0
  323. package/dist/components/field/index.d.ts +149 -0
  324. package/dist/components/field/index.d.ts.map +1 -0
  325. package/dist/components/image/image.d.ts +79 -0
  326. package/dist/components/image/image.d.ts.map +1 -0
  327. package/dist/components/image/index.d.ts +7 -0
  328. package/dist/components/image/index.d.ts.map +1 -0
  329. package/dist/components/index.css +131 -0
  330. package/dist/components/index.css.map +1 -0
  331. package/dist/components/index.d.ts +61 -0
  332. package/dist/components/index.d.ts.map +1 -0
  333. package/dist/components/index.js +13 -0
  334. package/dist/components/index.js.map +1 -0
  335. package/dist/components/label/index.d.ts +7 -0
  336. package/dist/components/label/index.d.ts.map +1 -0
  337. package/dist/components/label/label.d.ts +71 -0
  338. package/dist/components/label/label.d.ts.map +1 -0
  339. package/dist/components/lightbox/classes.d.ts +34 -0
  340. package/dist/components/lightbox/classes.d.ts.map +1 -0
  341. package/dist/components/lightbox/index.d.ts +11 -0
  342. package/dist/components/lightbox/index.d.ts.map +1 -0
  343. package/dist/components/lightbox/lightbox.d.ts +42 -0
  344. package/dist/components/lightbox/lightbox.d.ts.map +1 -0
  345. package/dist/components/lightbox/types.d.ts +233 -0
  346. package/dist/components/lightbox/types.d.ts.map +1 -0
  347. package/dist/components/lightbox/use-lightbox.d.ts +42 -0
  348. package/dist/components/lightbox/use-lightbox.d.ts.map +1 -0
  349. package/dist/components/loading-screen/index.d.ts +8 -0
  350. package/dist/components/loading-screen/index.d.ts.map +1 -0
  351. package/dist/components/loading-screen/loading-screen.d.ts +37 -0
  352. package/dist/components/loading-screen/loading-screen.d.ts.map +1 -0
  353. package/dist/components/loading-screen/splash-screen.d.ts +80 -0
  354. package/dist/components/loading-screen/splash-screen.d.ts.map +1 -0
  355. package/dist/components/map/Map.d.ts +63 -0
  356. package/dist/components/map/Map.d.ts.map +1 -0
  357. package/dist/components/map/MapCoverageLayer.d.ts +25 -0
  358. package/dist/components/map/MapCoverageLayer.d.ts.map +1 -0
  359. package/dist/components/map/MapMarker.d.ts +17 -0
  360. package/dist/components/map/MapMarker.d.ts.map +1 -0
  361. package/dist/components/map/MapPointPicker.d.ts +26 -0
  362. package/dist/components/map/MapPointPicker.d.ts.map +1 -0
  363. package/dist/components/map/index.d.ts +14 -0
  364. package/dist/components/map/index.d.ts.map +1 -0
  365. package/dist/components/mega-menu/index.d.ts +12 -0
  366. package/dist/components/mega-menu/index.d.ts.map +1 -0
  367. package/dist/components/mega-menu/mega-menu-horizontal.d.ts +41 -0
  368. package/dist/components/mega-menu/mega-menu-horizontal.d.ts.map +1 -0
  369. package/dist/components/mega-menu/mega-menu-mobile.d.ts +28 -0
  370. package/dist/components/mega-menu/mega-menu-mobile.d.ts.map +1 -0
  371. package/dist/components/mega-menu/mega-menu-vertical.d.ts +28 -0
  372. package/dist/components/mega-menu/mega-menu-vertical.d.ts.map +1 -0
  373. package/dist/components/mega-menu/styles.d.ts +18 -0
  374. package/dist/components/mega-menu/styles.d.ts.map +1 -0
  375. package/dist/components/mega-menu/types.d.ts +200 -0
  376. package/dist/components/mega-menu/types.d.ts.map +1 -0
  377. package/dist/components/menu/index.d.ts +7 -0
  378. package/dist/components/menu/index.d.ts.map +1 -0
  379. package/dist/components/menu/menu.d.ts +144 -0
  380. package/dist/components/menu/menu.d.ts.map +1 -0
  381. package/dist/components/nav-card/index.d.ts +8 -0
  382. package/dist/components/nav-card/index.d.ts.map +1 -0
  383. package/dist/components/nav-card/nav-card-grid.d.ts +57 -0
  384. package/dist/components/nav-card/nav-card-grid.d.ts.map +1 -0
  385. package/dist/components/nav-card/nav-card.d.ts +69 -0
  386. package/dist/components/nav-card/nav-card.d.ts.map +1 -0
  387. package/dist/components/nav-section/components.d.ts +143 -0
  388. package/dist/components/nav-section/components.d.ts.map +1 -0
  389. package/dist/components/nav-section/index.d.ts +15 -0
  390. package/dist/components/nav-section/index.d.ts.map +1 -0
  391. package/dist/components/nav-section/nav-context.d.ts +80 -0
  392. package/dist/components/nav-section/nav-context.d.ts.map +1 -0
  393. package/dist/components/nav-section/nav-item.d.ts +20 -0
  394. package/dist/components/nav-section/nav-item.d.ts.map +1 -0
  395. package/dist/components/nav-section/nav-list.d.ts +25 -0
  396. package/dist/components/nav-section/nav-list.d.ts.map +1 -0
  397. package/dist/components/nav-section/nav-section-horizontal.d.ts +29 -0
  398. package/dist/components/nav-section/nav-section-horizontal.d.ts.map +1 -0
  399. package/dist/components/nav-section/nav-section-mini.d.ts +30 -0
  400. package/dist/components/nav-section/nav-section-mini.d.ts.map +1 -0
  401. package/dist/components/nav-section/nav-section-vertical.d.ts +37 -0
  402. package/dist/components/nav-section/nav-section-vertical.d.ts.map +1 -0
  403. package/dist/components/nav-section/styles.d.ts +35 -0
  404. package/dist/components/nav-section/styles.d.ts.map +1 -0
  405. package/dist/components/nav-section/types.d.ts +178 -0
  406. package/dist/components/nav-section/types.d.ts.map +1 -0
  407. package/dist/components/navigation-progress/index.d.ts +7 -0
  408. package/dist/components/navigation-progress/index.d.ts.map +1 -0
  409. package/dist/components/navigation-progress/navigation-progress.d.ts +36 -0
  410. package/dist/components/navigation-progress/navigation-progress.d.ts.map +1 -0
  411. package/dist/components/page-content/index.d.ts +7 -0
  412. package/dist/components/page-content/index.d.ts.map +1 -0
  413. package/dist/components/page-content/page-content.d.ts +55 -0
  414. package/dist/components/page-content/page-content.d.ts.map +1 -0
  415. package/dist/components/popover/index.d.ts +7 -0
  416. package/dist/components/popover/index.d.ts.map +1 -0
  417. package/dist/components/popover/popover.d.ts +124 -0
  418. package/dist/components/popover/popover.d.ts.map +1 -0
  419. package/dist/components/progress/countdown-ring.d.ts +60 -0
  420. package/dist/components/progress/countdown-ring.d.ts.map +1 -0
  421. package/dist/components/progress/index.d.ts +8 -0
  422. package/dist/components/progress/index.d.ts.map +1 -0
  423. package/dist/components/progress/progress.d.ts +106 -0
  424. package/dist/components/progress/progress.d.ts.map +1 -0
  425. package/dist/components/rail/index.d.ts +7 -0
  426. package/dist/components/rail/index.d.ts.map +1 -0
  427. package/dist/components/rail/rail.d.ts +39 -0
  428. package/dist/components/rail/rail.d.ts.map +1 -0
  429. package/dist/components/scroll-spy/index.d.ts +3 -0
  430. package/dist/components/scroll-spy/index.d.ts.map +1 -0
  431. package/dist/components/scroll-spy/scroll-spy-provider.d.ts +26 -0
  432. package/dist/components/scroll-spy/scroll-spy-provider.d.ts.map +1 -0
  433. package/dist/components/scroll-spy/scroll-spy-section.d.ts +10 -0
  434. package/dist/components/scroll-spy/scroll-spy-section.d.ts.map +1 -0
  435. package/dist/components/scroll-to-top/index.d.ts +7 -0
  436. package/dist/components/scroll-to-top/index.d.ts.map +1 -0
  437. package/dist/components/scroll-to-top/scroll-to-top.d.ts +25 -0
  438. package/dist/components/scroll-to-top/scroll-to-top.d.ts.map +1 -0
  439. package/dist/components/scrollbar/index.d.ts +7 -0
  440. package/dist/components/scrollbar/index.d.ts.map +1 -0
  441. package/dist/components/scrollbar/scrollbar.d.ts +59 -0
  442. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
  443. package/dist/components/search-input/index.d.ts +2 -0
  444. package/dist/components/search-input/index.d.ts.map +1 -0
  445. package/dist/components/search-input/search-input.d.ts +46 -0
  446. package/dist/components/search-input/search-input.d.ts.map +1 -0
  447. package/dist/components/settings/index.d.ts +10 -0
  448. package/dist/components/settings/index.d.ts.map +1 -0
  449. package/dist/components/settings/settings-drawer.d.ts +39 -0
  450. package/dist/components/settings/settings-drawer.d.ts.map +1 -0
  451. package/dist/components/settings/settings-provider.d.ts +106 -0
  452. package/dist/components/settings/settings-provider.d.ts.map +1 -0
  453. package/dist/components/skeleton/index.d.ts +7 -0
  454. package/dist/components/skeleton/index.d.ts.map +1 -0
  455. package/dist/components/skeleton/skeleton.d.ts +77 -0
  456. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  457. package/dist/components/snackbar/index.d.ts +7 -0
  458. package/dist/components/snackbar/index.d.ts.map +1 -0
  459. package/dist/components/snackbar/snackbar.d.ts +120 -0
  460. package/dist/components/snackbar/snackbar.d.ts.map +1 -0
  461. package/dist/components/sponsored-slot/index.d.ts +3 -0
  462. package/dist/components/sponsored-slot/index.d.ts.map +1 -0
  463. package/dist/components/sponsored-slot/sponsored-slot.d.ts +16 -0
  464. package/dist/components/sponsored-slot/sponsored-slot.d.ts.map +1 -0
  465. package/dist/components/sponsored-slot/types.d.ts +45 -0
  466. package/dist/components/sponsored-slot/types.d.ts.map +1 -0
  467. package/dist/components/stepper/index.d.ts +7 -0
  468. package/dist/components/stepper/index.d.ts.map +1 -0
  469. package/dist/components/stepper/stepper.d.ts +145 -0
  470. package/dist/components/stepper/stepper.d.ts.map +1 -0
  471. package/dist/components/svg-color/index.d.ts +7 -0
  472. package/dist/components/svg-color/index.d.ts.map +1 -0
  473. package/dist/components/svg-color/svg-color.d.ts +80 -0
  474. package/dist/components/svg-color/svg-color.d.ts.map +1 -0
  475. package/dist/components/table/index.d.ts +7 -0
  476. package/dist/components/table/index.d.ts.map +1 -0
  477. package/dist/components/table/table.d.ts +184 -0
  478. package/dist/components/table/table.d.ts.map +1 -0
  479. package/dist/components/tabs/index.d.ts +7 -0
  480. package/dist/components/tabs/index.d.ts.map +1 -0
  481. package/dist/components/tabs/tabs.d.ts +146 -0
  482. package/dist/components/tabs/tabs.d.ts.map +1 -0
  483. package/dist/components/tag-cloud/index.d.ts +7 -0
  484. package/dist/components/tag-cloud/index.d.ts.map +1 -0
  485. package/dist/components/tag-cloud/tag-cloud.d.ts +58 -0
  486. package/dist/components/tag-cloud/tag-cloud.d.ts.map +1 -0
  487. package/dist/components/tiptap-renderer/index.d.ts +2 -0
  488. package/dist/components/tiptap-renderer/index.d.ts.map +1 -0
  489. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts +45 -0
  490. package/dist/components/tiptap-renderer/tiptap-renderer.d.ts.map +1 -0
  491. package/dist/components/tooltip/index.d.ts +7 -0
  492. package/dist/components/tooltip/index.d.ts.map +1 -0
  493. package/dist/components/tooltip/tooltip.d.ts +38 -0
  494. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  495. package/dist/components/virtual-list/index.d.ts +7 -0
  496. package/dist/components/virtual-list/index.d.ts.map +1 -0
  497. package/dist/components/virtual-list/virtual-list.d.ts +64 -0
  498. package/dist/components/virtual-list/virtual-list.d.ts.map +1 -0
  499. package/dist/core/accessibility/index.d.ts +96 -0
  500. package/dist/core/accessibility/index.d.ts.map +1 -0
  501. package/dist/core/accessibility/skip-link.d.ts +31 -0
  502. package/dist/core/accessibility/skip-link.d.ts.map +1 -0
  503. package/dist/core/context.d.ts +99 -0
  504. package/dist/core/context.d.ts.map +1 -0
  505. package/dist/core/hooks/use-boolean.d.ts +54 -0
  506. package/dist/core/hooks/use-boolean.d.ts.map +1 -0
  507. package/dist/core/hooks/use-breakpoints.d.ts +87 -0
  508. package/dist/core/hooks/use-breakpoints.d.ts.map +1 -0
  509. package/dist/core/hooks/use-click-outside.d.ts +26 -0
  510. package/dist/core/hooks/use-click-outside.d.ts.map +1 -0
  511. package/dist/core/hooks/use-copy-to-clipboard.d.ts +66 -0
  512. package/dist/core/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  513. package/dist/core/hooks/use-countdown.d.ts +105 -0
  514. package/dist/core/hooks/use-countdown.d.ts.map +1 -0
  515. package/dist/core/hooks/use-debounce.d.ts +64 -0
  516. package/dist/core/hooks/use-debounce.d.ts.map +1 -0
  517. package/dist/core/hooks/use-event-listener.d.ts +37 -0
  518. package/dist/core/hooks/use-event-listener.d.ts.map +1 -0
  519. package/dist/core/hooks/use-interval.d.ts +30 -0
  520. package/dist/core/hooks/use-interval.d.ts.map +1 -0
  521. package/dist/core/hooks/use-is-client.d.ts +24 -0
  522. package/dist/core/hooks/use-is-client.d.ts.map +1 -0
  523. package/dist/core/hooks/use-local-storage.d.ts +61 -0
  524. package/dist/core/hooks/use-local-storage.d.ts.map +1 -0
  525. package/dist/core/hooks/use-media-query.d.ts +107 -0
  526. package/dist/core/hooks/use-media-query.d.ts.map +1 -0
  527. package/dist/core/hooks/use-mounted.d.ts +33 -0
  528. package/dist/core/hooks/use-mounted.d.ts.map +1 -0
  529. package/dist/core/hooks/use-multi-select.d.ts +113 -0
  530. package/dist/core/hooks/use-multi-select.d.ts.map +1 -0
  531. package/dist/core/hooks/use-previous.d.ts +23 -0
  532. package/dist/core/hooks/use-previous.d.ts.map +1 -0
  533. package/dist/core/hooks/use-set-state.d.ts +56 -0
  534. package/dist/core/hooks/use-set-state.d.ts.map +1 -0
  535. package/dist/core/hooks/use-tabs.d.ts +74 -0
  536. package/dist/core/hooks/use-tabs.d.ts.map +1 -0
  537. package/dist/core/hooks/use-timeout.d.ts +37 -0
  538. package/dist/core/hooks/use-timeout.d.ts.map +1 -0
  539. package/dist/core/index.d.ts +36 -453
  540. package/dist/core/index.d.ts.map +1 -0
  541. package/dist/core/index.js +6 -7
  542. package/dist/core/provider-stack.d.ts +181 -0
  543. package/dist/core/provider-stack.d.ts.map +1 -0
  544. package/dist/core/provider.d.ts +67 -0
  545. package/dist/core/provider.d.ts.map +1 -0
  546. package/dist/forms/index.d.ts +6 -557
  547. package/dist/forms/index.d.ts.map +1 -0
  548. package/dist/forms/index.js +0 -1
  549. package/dist/forms/index.js.map +1 -1
  550. package/dist/forms/schema-provider.d.ts +282 -0
  551. package/dist/forms/schema-provider.d.ts.map +1 -0
  552. package/dist/forms/schema-utils.d.ts +286 -0
  553. package/dist/forms/schema-utils.d.ts.map +1 -0
  554. package/dist/hooks/index.d.ts +38 -7
  555. package/dist/hooks/index.d.ts.map +1 -0
  556. package/dist/hooks/index.js +8 -8
  557. package/dist/hooks/use-array.d.ts +126 -0
  558. package/dist/hooks/use-array.d.ts.map +1 -0
  559. package/dist/hooks/use-async.d.ts +88 -0
  560. package/dist/hooks/use-async.d.ts.map +1 -0
  561. package/dist/hooks/use-back-to-top.d.ts +57 -0
  562. package/dist/hooks/use-back-to-top.d.ts.map +1 -0
  563. package/dist/hooks/use-client-rect.d.ts +67 -0
  564. package/dist/hooks/use-client-rect.d.ts.map +1 -0
  565. package/dist/hooks/use-config-from-query.d.ts +98 -0
  566. package/dist/hooks/use-config-from-query.d.ts.map +1 -0
  567. package/dist/hooks/use-cookies.d.ts +62 -0
  568. package/dist/hooks/use-cookies.d.ts.map +1 -0
  569. package/dist/hooks/use-countdown-date.d.ts +47 -0
  570. package/dist/hooks/use-countdown-date.d.ts.map +1 -0
  571. package/dist/hooks/use-countdown-seconds.d.ts +83 -0
  572. package/dist/hooks/use-countdown-seconds.d.ts.map +1 -0
  573. package/dist/hooks/use-double-click.d.ts +67 -0
  574. package/dist/hooks/use-double-click.d.ts.map +1 -0
  575. package/dist/hooks/use-focus-trap.d.ts +66 -0
  576. package/dist/hooks/use-focus-trap.d.ts.map +1 -0
  577. package/dist/hooks/use-image-dimensions.d.ts +124 -0
  578. package/dist/hooks/use-image-dimensions.d.ts.map +1 -0
  579. package/dist/hooks/use-infinite-scroll.d.ts +204 -0
  580. package/dist/hooks/use-infinite-scroll.d.ts.map +1 -0
  581. package/dist/hooks/use-intersection-observer.d.ts +93 -0
  582. package/dist/hooks/use-intersection-observer.d.ts.map +1 -0
  583. package/dist/hooks/use-isomorphic-layout-effect.d.ts +34 -0
  584. package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -0
  585. package/dist/hooks/use-keyboard-shortcut.d.ts +112 -0
  586. package/dist/hooks/use-keyboard-shortcut.d.ts.map +1 -0
  587. package/dist/hooks/use-lazy-query.d.ts +132 -0
  588. package/dist/hooks/use-lazy-query.d.ts.map +1 -0
  589. package/dist/hooks/use-mutation.d.ts +141 -0
  590. package/dist/hooks/use-mutation.d.ts.map +1 -0
  591. package/dist/hooks/use-online-status.d.ts +56 -0
  592. package/dist/hooks/use-online-status.d.ts.map +1 -0
  593. package/dist/hooks/use-password-visibility.d.ts +83 -0
  594. package/dist/hooks/use-password-visibility.d.ts.map +1 -0
  595. package/dist/hooks/use-popover-hover.d.ts +78 -0
  596. package/dist/hooks/use-popover-hover.d.ts.map +1 -0
  597. package/dist/hooks/use-scroll-offset-top.d.ts +69 -0
  598. package/dist/hooks/use-scroll-offset-top.d.ts.map +1 -0
  599. package/dist/hooks/use-scroll-position.d.ts +96 -0
  600. package/dist/hooks/use-scroll-position.d.ts.map +1 -0
  601. package/dist/hooks/use-session-storage.d.ts +66 -0
  602. package/dist/hooks/use-session-storage.d.ts.map +1 -0
  603. package/dist/hooks/use-throttle.d.ts +67 -0
  604. package/dist/hooks/use-throttle.d.ts.map +1 -0
  605. package/dist/hooks/use-update-effect.d.ts +53 -0
  606. package/dist/hooks/use-update-effect.d.ts.map +1 -0
  607. package/dist/hooks/use-window-size.d.ts +132 -0
  608. package/dist/hooks/use-window-size.d.ts.map +1 -0
  609. package/dist/http/client.d.ts +74 -0
  610. package/dist/http/client.d.ts.map +1 -0
  611. package/dist/http/index.d.ts +6 -229
  612. package/dist/http/index.d.ts.map +1 -0
  613. package/dist/http/index.js +0 -2
  614. package/dist/http/index.js.map +1 -1
  615. package/dist/http/types.d.ts +158 -0
  616. package/dist/http/types.d.ts.map +1 -0
  617. package/dist/index.d.ts +19 -9108
  618. package/dist/index.d.ts.map +1 -0
  619. package/dist/index.js +107 -11678
  620. package/dist/index.js.map +1 -1
  621. package/dist/layouts/auth/centered.d.ts +49 -0
  622. package/dist/layouts/auth/centered.d.ts.map +1 -0
  623. package/dist/layouts/auth/index.d.ts +12 -0
  624. package/dist/layouts/auth/index.d.ts.map +1 -0
  625. package/dist/layouts/auth/simple.d.ts +58 -0
  626. package/dist/layouts/auth/simple.d.ts.map +1 -0
  627. package/dist/layouts/auth/split.d.ts +81 -0
  628. package/dist/layouts/auth/split.d.ts.map +1 -0
  629. package/dist/layouts/core/context.d.ts +102 -0
  630. package/dist/layouts/core/context.d.ts.map +1 -0
  631. package/dist/layouts/core/css-vars.d.ts +43 -0
  632. package/dist/layouts/core/css-vars.d.ts.map +1 -0
  633. package/dist/layouts/core/header-section.d.ts +79 -0
  634. package/dist/layouts/core/header-section.d.ts.map +1 -0
  635. package/dist/layouts/core/index.d.ts +18 -0
  636. package/dist/layouts/core/index.d.ts.map +1 -0
  637. package/dist/layouts/core/layout-section.d.ts +64 -0
  638. package/dist/layouts/core/layout-section.d.ts.map +1 -0
  639. package/dist/layouts/core/user-menu.d.ts +88 -0
  640. package/dist/layouts/core/user-menu.d.ts.map +1 -0
  641. package/dist/layouts/dashboard/index.d.ts +10 -0
  642. package/dist/layouts/dashboard/index.d.ts.map +1 -0
  643. package/dist/layouts/dashboard/layout.d.ts +90 -0
  644. package/dist/layouts/dashboard/layout.d.ts.map +1 -0
  645. package/dist/layouts/dashboard/sidenav.d.ts +58 -0
  646. package/dist/layouts/dashboard/sidenav.d.ts.map +1 -0
  647. package/dist/layouts/dashboard/topnav.d.ts +41 -0
  648. package/dist/layouts/dashboard/topnav.d.ts.map +1 -0
  649. package/dist/layouts/index.d.ts +27 -850
  650. package/dist/layouts/index.d.ts.map +1 -0
  651. package/dist/layouts/index.js +3 -4
  652. package/dist/layouts/types.d.ts +317 -0
  653. package/dist/layouts/types.d.ts.map +1 -0
  654. package/dist/netron/context.d.ts +18 -0
  655. package/dist/netron/context.d.ts.map +1 -0
  656. package/dist/netron/hooks.d.ts +10 -0
  657. package/dist/netron/hooks.d.ts.map +1 -0
  658. package/dist/netron/index.d.ts +47 -4
  659. package/dist/netron/index.d.ts.map +1 -0
  660. package/dist/netron/index.js +1 -2
  661. package/dist/netron/types.d.ts +12 -0
  662. package/dist/netron/types.d.ts.map +1 -0
  663. package/dist/registry/index.d.ts +8 -341
  664. package/dist/registry/index.d.ts.map +1 -0
  665. package/dist/registry/index.js +1 -2
  666. package/dist/registry/installer.d.ts +137 -0
  667. package/dist/registry/installer.d.ts.map +1 -0
  668. package/dist/registry/manager.d.ts +196 -0
  669. package/dist/registry/manager.d.ts.map +1 -0
  670. package/dist/state/create-store.d.ts +164 -0
  671. package/dist/state/create-store.d.ts.map +1 -0
  672. package/dist/state/index.d.ts +12 -969
  673. package/dist/state/index.d.ts.map +1 -0
  674. package/dist/state/index.js +2 -3
  675. package/dist/state/settings-version.d.ts +255 -0
  676. package/dist/state/settings-version.d.ts.map +1 -0
  677. package/dist/state/stores/auth.d.ts +155 -0
  678. package/dist/state/stores/auth.d.ts.map +1 -0
  679. package/dist/state/stores/index.d.ts +10 -0
  680. package/dist/state/stores/index.d.ts.map +1 -0
  681. package/dist/state/stores/settings.d.ts +151 -0
  682. package/dist/state/stores/settings.d.ts.map +1 -0
  683. package/dist/state/stores/theme.d.ts +87 -0
  684. package/dist/state/stores/theme.d.ts.map +1 -0
  685. package/dist/state/stores/ui.d.ts +204 -0
  686. package/dist/state/stores/ui.d.ts.map +1 -0
  687. package/dist/theme/colors/base.d.ts +61 -0
  688. package/dist/theme/colors/base.d.ts.map +1 -0
  689. package/dist/theme/colors/index.d.ts +10 -0
  690. package/dist/theme/colors/index.d.ts.map +1 -0
  691. package/dist/theme/colors/luxury.d.ts +49 -0
  692. package/dist/theme/colors/luxury.d.ts.map +1 -0
  693. package/dist/theme/components/Autocomplete.d.ts +9 -0
  694. package/dist/theme/components/Autocomplete.d.ts.map +1 -0
  695. package/dist/theme/components/Button.d.ts +33 -0
  696. package/dist/theme/components/Button.d.ts.map +1 -0
  697. package/dist/theme/components/Card.d.ts +20 -0
  698. package/dist/theme/components/Card.d.ts.map +1 -0
  699. package/dist/theme/components/Chip.d.ts +29 -0
  700. package/dist/theme/components/Chip.d.ts.map +1 -0
  701. package/dist/theme/components/DataGrid.d.ts +15 -0
  702. package/dist/theme/components/DataGrid.d.ts.map +1 -0
  703. package/dist/theme/components/DatePicker.d.ts +19 -0
  704. package/dist/theme/components/DatePicker.d.ts.map +1 -0
  705. package/dist/theme/components/Dialog.d.ts +23 -0
  706. package/dist/theme/components/Dialog.d.ts.map +1 -0
  707. package/dist/theme/components/FormControls.d.ts +53 -0
  708. package/dist/theme/components/FormControls.d.ts.map +1 -0
  709. package/dist/theme/components/Tabs.d.ts +21 -0
  710. package/dist/theme/components/Tabs.d.ts.map +1 -0
  711. package/dist/theme/components/TextField.d.ts +87 -0
  712. package/dist/theme/components/TextField.d.ts.map +1 -0
  713. package/dist/theme/components/index.d.ts +27 -0
  714. package/dist/theme/components/index.d.ts.map +1 -0
  715. package/dist/theme/components/theme-utils.d.ts +42 -0
  716. package/dist/theme/components/theme-utils.d.ts.map +1 -0
  717. package/dist/theme/create-theme.d.ts +131 -0
  718. package/dist/theme/create-theme.d.ts.map +1 -0
  719. package/dist/theme/css-variables.d.ts +42 -0
  720. package/dist/theme/css-variables.d.ts.map +1 -0
  721. package/dist/theme/custom-shadows.d.ts +58 -0
  722. package/dist/theme/custom-shadows.d.ts.map +1 -0
  723. package/dist/theme/index.d.ts +23 -1045
  724. package/dist/theme/index.d.ts.map +1 -0
  725. package/dist/theme/index.js +2 -3
  726. package/dist/theme/mixins.d.ts +332 -0
  727. package/dist/theme/mixins.d.ts.map +1 -0
  728. package/dist/theme/opacity.d.ts +51 -0
  729. package/dist/theme/opacity.d.ts.map +1 -0
  730. package/dist/theme/palette/builder.d.ts +138 -0
  731. package/dist/theme/palette/builder.d.ts.map +1 -0
  732. package/dist/theme/palette/index.d.ts +7 -0
  733. package/dist/theme/palette/index.d.ts.map +1 -0
  734. package/dist/theme/palette.d.ts +43 -0
  735. package/dist/theme/palette.d.ts.map +1 -0
  736. package/dist/theme/presets/arctic.d.ts +13 -0
  737. package/dist/theme/presets/arctic.d.ts.map +1 -0
  738. package/dist/theme/presets/default.d.ts +13 -0
  739. package/dist/theme/presets/default.d.ts.map +1 -0
  740. package/dist/theme/presets/dracula.d.ts +27 -0
  741. package/dist/theme/presets/dracula.d.ts.map +1 -0
  742. package/dist/theme/presets/ember.d.ts +23 -0
  743. package/dist/theme/presets/ember.d.ts.map +1 -0
  744. package/dist/theme/presets/index.d.ts +39 -0
  745. package/dist/theme/presets/index.d.ts.map +1 -0
  746. package/dist/theme/presets/luxury.d.ts +13 -0
  747. package/dist/theme/presets/luxury.d.ts.map +1 -0
  748. package/dist/theme/presets/midnight.d.ts +23 -0
  749. package/dist/theme/presets/midnight.d.ts.map +1 -0
  750. package/dist/theme/presets/minimal.d.ts +23 -0
  751. package/dist/theme/presets/minimal.d.ts.map +1 -0
  752. package/dist/theme/presets/nature.d.ts +14 -0
  753. package/dist/theme/presets/nature.d.ts.map +1 -0
  754. package/dist/theme/presets/retro.d.ts +23 -0
  755. package/dist/theme/presets/retro.d.ts.map +1 -0
  756. package/dist/theme/shadows.d.ts +61 -0
  757. package/dist/theme/shadows.d.ts.map +1 -0
  758. package/dist/theme/typography.d.ts +24 -0
  759. package/dist/theme/typography.d.ts.map +1 -0
  760. package/dist/theme/utils/color.d.ts +295 -0
  761. package/dist/theme/utils/color.d.ts.map +1 -0
  762. package/dist/theme/utils/index.d.ts +7 -0
  763. package/dist/theme/utils/index.d.ts.map +1 -0
  764. package/dist/{registry-BrDNftd5.d.ts → types/blocks.d.ts} +30 -191
  765. package/dist/types/blocks.d.ts.map +1 -0
  766. package/dist/types/components.d.ts +139 -0
  767. package/dist/types/components.d.ts.map +1 -0
  768. package/dist/{config-BA6IeTq9.d.ts → types/config.d.ts} +14 -16
  769. package/dist/types/config.d.ts.map +1 -0
  770. package/dist/types/index.d.ts +11 -144
  771. package/dist/types/index.d.ts.map +1 -0
  772. package/dist/types/index.js +1 -2
  773. package/dist/types/registry.d.ts +158 -0
  774. package/dist/types/registry.d.ts.map +1 -0
  775. package/dist/{theme-CrXLfP1c.d.ts → types/theme.d.ts} +31 -34
  776. package/dist/types/theme.d.ts.map +1 -0
  777. package/dist/utils/async-lock.d.ts +169 -0
  778. package/dist/utils/async-lock.d.ts.map +1 -0
  779. package/dist/utils/cn.d.ts +80 -0
  780. package/dist/utils/cn.d.ts.map +1 -0
  781. package/dist/utils/cookies.d.ts +68 -0
  782. package/dist/utils/cookies.d.ts.map +1 -0
  783. package/dist/utils/create-classes.d.ts +90 -0
  784. package/dist/utils/create-classes.d.ts.map +1 -0
  785. package/dist/utils/errors.d.ts +201 -0
  786. package/dist/utils/errors.d.ts.map +1 -0
  787. package/dist/utils/fetch-interceptor.d.ts +230 -0
  788. package/dist/utils/fetch-interceptor.d.ts.map +1 -0
  789. package/dist/utils/font.d.ts +65 -0
  790. package/dist/utils/font.d.ts.map +1 -0
  791. package/dist/utils/format-crypto.d.ts +312 -0
  792. package/dist/utils/format-crypto.d.ts.map +1 -0
  793. package/dist/utils/format-date.d.ts +240 -0
  794. package/dist/utils/format-date.d.ts.map +1 -0
  795. package/dist/utils/format-number.d.ts +245 -0
  796. package/dist/utils/format-number.d.ts.map +1 -0
  797. package/dist/utils/i18n-text.d.ts +68 -0
  798. package/dist/utils/i18n-text.d.ts.map +1 -0
  799. package/dist/utils/index.d.ts +30 -0
  800. package/dist/utils/index.d.ts.map +1 -0
  801. package/dist/utils/jwt.d.ts +227 -0
  802. package/dist/utils/jwt.d.ts.map +1 -0
  803. package/dist/utils/object.d.ts +96 -0
  804. package/dist/utils/object.d.ts.map +1 -0
  805. package/dist/utils/refs.d.ts +60 -0
  806. package/dist/utils/refs.d.ts.map +1 -0
  807. package/dist/utils/rtl.d.ts +75 -0
  808. package/dist/utils/rtl.d.ts.map +1 -0
  809. package/dist/utils/storage.d.ts +190 -0
  810. package/dist/utils/storage.d.ts.map +1 -0
  811. package/dist/utils/string.d.ts +216 -0
  812. package/dist/utils/string.d.ts.map +1 -0
  813. package/dist/utils/template-resolver.d.ts +12 -0
  814. package/dist/utils/template-resolver.d.ts.map +1 -0
  815. package/dist/utils/toast.d.ts +25 -0
  816. package/dist/utils/toast.d.ts.map +1 -0
  817. package/dist/utils/transform-number.d.ts +108 -0
  818. package/dist/utils/transform-number.d.ts.map +1 -0
  819. package/dist/utils/url.d.ts +198 -0
  820. package/dist/utils/url.d.ts.map +1 -0
  821. package/package.json +77 -61
  822. package/dist/chunk-77KIJLPP.js +0 -37
  823. package/dist/chunk-77KIJLPP.js.map +0 -1
  824. package/dist/chunk-BTIT7WYH.js.map +0 -1
  825. package/dist/chunk-BV32OJ2A.js.map +0 -1
  826. package/dist/chunk-DDY7TLUI.js.map +0 -1
  827. package/dist/chunk-DXXZ3ITR.js.map +0 -1
  828. package/dist/chunk-E3XANPTO.js.map +0 -1
  829. package/dist/chunk-GYDT5EKX.js +0 -16505
  830. package/dist/chunk-GYDT5EKX.js.map +0 -1
  831. package/dist/chunk-HO2GKTWJ.js.map +0 -1
  832. package/dist/chunk-JDTC2SBY.js.map +0 -1
  833. package/dist/chunk-LAEY5USO.js.map +0 -1
  834. package/dist/chunk-UR6X3W5I.js.map +0 -1
  835. package/dist/chunk-WC2WM2JD.js.map +0 -1
  836. package/dist/chunk-XWL6J6IO.js.map +0 -1
  837. package/dist/index-odhPSv9I.d.ts +0 -2491
  838. package/dist/settings-plpR26Xk.d.ts +0 -455
  839. package/dist/use-timeout-D7U3EAtH.d.ts +0 -808
@@ -1,2491 +0,0 @@
1
- import { b as ThemePreset, a as ThemeMode, c as ThemeDirection, C as ComponentDensity } from './theme-CrXLfP1c.js';
2
- import './use-timeout-D7U3EAtH.js';
3
- import '@mui/material';
4
- import { ReactNode, MouseEvent, Dispatch, SetStateAction, RefObject, SyntheticEvent, EffectCallback, DependencyList, useEffect } from 'react';
5
- import { PopoverProps } from '@mui/material/Popover';
6
- import { SxProps, Theme } from '@mui/material/styles';
7
-
8
- /**
9
- * Popover Component
10
- *
11
- * Enhanced popover component with arrow support and useful hook.
12
- *
13
- * @module @omnitron-dev/prism/components/popover
14
- */
15
-
16
- type ArrowPlacement = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'left-top' | 'left-center' | 'left-bottom' | 'right-top' | 'right-center' | 'right-bottom';
17
- interface PopoverArrowProps {
18
- /** Hide the arrow */
19
- hide?: boolean;
20
- /** Arrow size in pixels */
21
- size?: number;
22
- /** Offset from edge */
23
- offset?: number;
24
- /** Arrow placement */
25
- placement?: ArrowPlacement;
26
- /** Additional styles */
27
- sx?: SxProps<Theme>;
28
- }
29
- interface CustomPopoverProps extends Omit<PopoverProps, 'open'> {
30
- /** Whether the popover is open */
31
- open: boolean | Element | null;
32
- /** Close handler */
33
- onClose: () => void;
34
- /** Arrow configuration */
35
- arrow?: PopoverArrowProps;
36
- /** Minimum width of the popover */
37
- minWidth?: number | string;
38
- }
39
- /**
40
- * CustomPopover - Enhanced popover with arrow support.
41
- *
42
- * @example
43
- * ```tsx
44
- * const popover = usePopover();
45
- *
46
- * <Button onClick={popover.onOpen}>Open Menu</Button>
47
- *
48
- * <CustomPopover
49
- * open={popover.open}
50
- * onClose={popover.onClose}
51
- * anchorEl={popover.anchorEl}
52
- * arrow={{ placement: 'top-right' }}
53
- * >
54
- * <MenuItem>Option 1</MenuItem>
55
- * <MenuItem>Option 2</MenuItem>
56
- * </CustomPopover>
57
- * ```
58
- */
59
- declare function CustomPopover({ open, onClose, children, anchorEl, arrow, minWidth, slotProps, ...other }: CustomPopoverProps): ReactNode;
60
- /**
61
- * Return type for usePopover hook with generic element type.
62
- *
63
- * @typeParam T - The HTML element type (default: HTMLElement)
64
- */
65
- interface UsePopoverReturn<T extends HTMLElement = HTMLElement> {
66
- /** Whether the popover is open */
67
- open: boolean;
68
- /** The anchor element (typed to T) */
69
- anchorEl: T | null;
70
- /** Open the popover - accepts MouseEvent with typed currentTarget */
71
- onOpen: (event: MouseEvent<T>) => void;
72
- /** Close the popover */
73
- onClose: () => void;
74
- /** Set the anchor element directly (typed to T | null) */
75
- setAnchorEl: Dispatch<SetStateAction<T | null>>;
76
- }
77
- /**
78
- * usePopover - Generic hook for managing popover state.
79
- *
80
- * Type-safe hook that accepts a generic type parameter for the anchor element.
81
- * This ensures type safety when accessing `event.currentTarget` and `anchorEl`.
82
- *
83
- * @typeParam T - The HTML element type (default: HTMLElement)
84
- * @returns Popover state and controls with typed elements
85
- *
86
- * @example
87
- * ```tsx
88
- * // Basic usage with default HTMLElement
89
- * function MenuButton() {
90
- * const popover = usePopover();
91
- *
92
- * return (
93
- * <>
94
- * <IconButton onClick={popover.onOpen}>
95
- * <MoreVertIcon />
96
- * </IconButton>
97
- *
98
- * <CustomPopover
99
- * open={popover.open}
100
- * onClose={popover.onClose}
101
- * anchorEl={popover.anchorEl}
102
- * >
103
- * <MenuItem onClick={popover.onClose}>Edit</MenuItem>
104
- * <MenuItem onClick={popover.onClose}>Delete</MenuItem>
105
- * </CustomPopover>
106
- * </>
107
- * );
108
- * }
109
- *
110
- * // Type-safe usage with specific element type
111
- * function TypedButton() {
112
- * const popover = usePopover<HTMLButtonElement>();
113
- *
114
- * // TypeScript knows anchorEl is HTMLButtonElement | null
115
- * // and onOpen accepts MouseEvent<HTMLButtonElement>
116
- *
117
- * return (
118
- * <>
119
- * <button onClick={popover.onOpen}>Click me</button>
120
- * <Popover open={popover.open} anchorEl={popover.anchorEl} onClose={popover.onClose}>
121
- * Content here
122
- * </Popover>
123
- * </>
124
- * );
125
- * }
126
- * ```
127
- */
128
- declare function usePopover<T extends HTMLElement = HTMLElement>(): UsePopoverReturn<T>;
129
-
130
- /**
131
- * Cookie Utilities
132
- *
133
- * Type-safe cookie management with JSON serialization.
134
- *
135
- * @module @omnitron-dev/prism/utils
136
- */
137
- /**
138
- * Cookie options for setting cookies.
139
- */
140
- interface CookieOptions {
141
- /** Enable secure flag (HTTPS only) */
142
- secure?: boolean;
143
- /** Days until expiration */
144
- daysUntilExpiration?: number;
145
- /** SameSite policy */
146
- sameSite?: 'strict' | 'lax' | 'none';
147
- /** Cookie domain */
148
- domain?: string;
149
- /** Cookie path */
150
- path?: string;
151
- }
152
- /**
153
- * Check if cookies are available.
154
- *
155
- * @returns {boolean} True if cookies are available
156
- */
157
- declare function cookiesAvailable(): boolean;
158
- /**
159
- * Get a cookie value with JSON parsing.
160
- *
161
- * @template T - Type of the stored value
162
- * @param {string} key - Cookie name
163
- * @returns {T | null} Parsed value or null
164
- *
165
- * @example
166
- * ```ts
167
- * const user = getCookie<User>('user');
168
- * ```
169
- */
170
- declare function getCookie<T>(key: string): T | null;
171
- /**
172
- * Set a cookie with JSON serialization.
173
- *
174
- * @template T - Type of the value
175
- * @param {string} key - Cookie name
176
- * @param {T} value - Value to store
177
- * @param {CookieOptions} [options] - Cookie options
178
- *
179
- * @example
180
- * ```ts
181
- * setCookie('user', { name: 'John' }, { daysUntilExpiration: 7 });
182
- * ```
183
- */
184
- declare function setCookie<T>(key: string, value: T, options?: CookieOptions): void;
185
- /**
186
- * Remove a cookie.
187
- *
188
- * @param {string} key - Cookie name
189
- * @param {Pick<CookieOptions, 'domain' | 'path'>} [options] - Cookie options
190
- *
191
- * @example
192
- * ```ts
193
- * removeCookie('user');
194
- * ```
195
- */
196
- declare function removeCookie(key: string, options?: Pick<CookieOptions, 'domain' | 'path'>): void;
197
-
198
- /**
199
- * Async state.
200
- */
201
- interface AsyncState<T> {
202
- /** Data result */
203
- data: T | null;
204
- /** Loading state */
205
- loading: boolean;
206
- /** Error state */
207
- error: Error | null;
208
- }
209
- /**
210
- * Return type for useAsync hook.
211
- */
212
- interface UseAsyncReturn<T, Args extends unknown[]> extends AsyncState<T> {
213
- /** Execute the async function */
214
- execute: (...args: Args) => Promise<T>;
215
- /** Reset state */
216
- reset: () => void;
217
- /** Set data manually */
218
- setData: (data: T | null) => void;
219
- /** Set error manually */
220
- setError: (error: Error | null) => void;
221
- }
222
- /**
223
- * Options for useAsync hook.
224
- */
225
- interface UseAsyncOptions<T> {
226
- /** Initial data */
227
- initialData?: T | null;
228
- /** Auto-execute on mount */
229
- immediate?: boolean;
230
- /** On success callback */
231
- onSuccess?: (data: T) => void;
232
- /** On error callback */
233
- onError?: (error: Error) => void;
234
- }
235
- /**
236
- * useAsync - Hook for managing async operations.
237
- *
238
- * @example
239
- * ```tsx
240
- * // Basic usage
241
- * const { data, loading, error, execute } = useAsync(fetchUser);
242
- *
243
- * // Auto-execute on mount
244
- * const { data, loading } = useAsync(fetchUsers, { immediate: true });
245
- *
246
- * // With callbacks
247
- * const { execute } = useAsync(createUser, {
248
- * onSuccess: (user) => toast.success(`Created ${user.name}`),
249
- * onError: (err) => toast.error(err.message),
250
- * });
251
- *
252
- * // In a component
253
- * const handleSubmit = async () => {
254
- * const result = await execute(formData);
255
- * if (result) navigate('/success');
256
- * };
257
- * ```
258
- */
259
- declare function useAsync<T, Args extends unknown[] = []>(asyncFn: (...args: Args) => Promise<T>, options?: UseAsyncOptions<T>): UseAsyncReturn<T, Args>;
260
- /**
261
- * Return type for useAsyncFn hook (simpler version).
262
- */
263
- interface UseAsyncFnReturn<T, Args extends unknown[]> {
264
- /** Execute the async function */
265
- execute: (...args: Args) => Promise<T | undefined>;
266
- /** Loading state */
267
- loading: boolean;
268
- /** Error state */
269
- error: Error | null;
270
- }
271
- /**
272
- * useAsyncFn - Simpler hook for async functions without data tracking.
273
- *
274
- * @example
275
- * ```tsx
276
- * const { execute, loading, error } = useAsyncFn(deleteUser);
277
- *
278
- * const handleDelete = async (id: string) => {
279
- * await execute(id);
280
- * refetch(); // Trigger parent refresh
281
- * };
282
- * ```
283
- */
284
- declare function useAsyncFn<T, Args extends unknown[] = []>(asyncFn: (...args: Args) => Promise<T>): UseAsyncFnReturn<T, Args>;
285
-
286
- /**
287
- * Scroll position data.
288
- */
289
- interface ScrollPosition {
290
- /** Scroll position from top */
291
- x: number;
292
- /** Scroll position from left */
293
- y: number;
294
- /** Scroll direction (1 = down/right, -1 = up/left, 0 = initial) */
295
- directionX: -1 | 0 | 1;
296
- directionY: -1 | 0 | 1;
297
- /** Whether scrolled past threshold */
298
- isScrolled: boolean;
299
- /** Whether at the top */
300
- isAtTop: boolean;
301
- /** Whether at the bottom */
302
- isAtBottom: boolean;
303
- }
304
- /**
305
- * Options for useScrollPosition hook.
306
- */
307
- interface UseScrollPositionOptions {
308
- /** Element to track (default: window) */
309
- element?: HTMLElement | null;
310
- /** Throttle delay in ms (default: 100) */
311
- throttle?: number;
312
- /** Threshold to consider "scrolled" (default: 0) */
313
- threshold?: number;
314
- /** Offset from bottom to consider "at bottom" (default: 10) */
315
- bottomOffset?: number;
316
- }
317
- /**
318
- * useScrollPosition - Hook for tracking scroll position.
319
- *
320
- * @example
321
- * ```tsx
322
- * // Track window scroll
323
- * const { y, isScrolled, directionY } = useScrollPosition();
324
- *
325
- * // Show header shadow when scrolled
326
- * <Header className={isScrolled ? 'shadow' : ''} />
327
- *
328
- * // Hide header on scroll down, show on scroll up
329
- * const showHeader = directionY !== 1 || y < 50;
330
- *
331
- * // Track specific element
332
- * const containerRef = useRef<HTMLDivElement>(null);
333
- * const { isAtBottom } = useScrollPosition({ element: containerRef.current });
334
- *
335
- * // Load more when near bottom
336
- * useEffect(() => {
337
- * if (isAtBottom) loadMore();
338
- * }, [isAtBottom]);
339
- * ```
340
- */
341
- declare function useScrollPosition(options?: UseScrollPositionOptions): ScrollPosition;
342
- /**
343
- * useScrollToTop - Hook for scrolling to top functionality.
344
- *
345
- * @example
346
- * ```tsx
347
- * const { scrollToTop, showButton } = useScrollToTop({ threshold: 300 });
348
- *
349
- * {showButton && (
350
- * <Fab onClick={scrollToTop}>
351
- * <ArrowUpIcon />
352
- * </Fab>
353
- * )}
354
- * ```
355
- */
356
- declare function useScrollToTop(options?: {
357
- threshold?: number;
358
- }): {
359
- scrollToTop: () => void;
360
- showButton: boolean;
361
- };
362
- /**
363
- * useScrollLock - Hook for locking body scroll.
364
- *
365
- * @example
366
- * ```tsx
367
- * const { lock, unlock, isLocked } = useScrollLock();
368
- *
369
- * // Lock when modal opens
370
- * useEffect(() => {
371
- * if (isOpen) lock();
372
- * else unlock();
373
- * }, [isOpen]);
374
- * ```
375
- */
376
- declare function useScrollLock(): {
377
- lock: () => void;
378
- unlock: () => void;
379
- isLocked: boolean;
380
- };
381
-
382
- /**
383
- * Window size data.
384
- */
385
- interface WindowSize {
386
- /** Window width */
387
- width: number;
388
- /** Window height */
389
- height: number;
390
- /** Is mobile (< 600px) */
391
- isMobile: boolean;
392
- /** Is tablet (600px - 960px) */
393
- isTablet: boolean;
394
- /** Is desktop (>= 960px) */
395
- isDesktop: boolean;
396
- /** Is large desktop (>= 1280px) */
397
- isLargeDesktop: boolean;
398
- }
399
- /**
400
- * Breakpoint definitions (following MUI defaults).
401
- */
402
- interface Breakpoints {
403
- xs: number;
404
- sm: number;
405
- md: number;
406
- lg: number;
407
- xl: number;
408
- }
409
- /**
410
- * Options for useWindowSize hook.
411
- */
412
- interface UseWindowSizeOptions {
413
- /** Custom breakpoints */
414
- breakpoints?: Partial<Breakpoints>;
415
- /** Debounce delay in ms (default: 100) */
416
- debounce?: number;
417
- /** Initial width for SSR (default: 1200) */
418
- initialWidth?: number;
419
- /** Initial height for SSR (default: 800) */
420
- initialHeight?: number;
421
- }
422
- /**
423
- * useWindowSize - Hook for tracking window dimensions.
424
- *
425
- * @example
426
- * ```tsx
427
- * // Basic usage
428
- * const { width, height, isMobile, isDesktop } = useWindowSize();
429
- *
430
- * // Responsive rendering
431
- * if (isMobile) {
432
- * return <MobileLayout />;
433
- * }
434
- * return <DesktopLayout />;
435
- *
436
- * // Responsive columns
437
- * const columns = isMobile ? 1 : isTablet ? 2 : 4;
438
- *
439
- * // Custom breakpoints
440
- * const { isMobile } = useWindowSize({
441
- * breakpoints: { sm: 768 }
442
- * });
443
- * ```
444
- */
445
- declare function useWindowSize(options?: UseWindowSizeOptions): WindowSize;
446
- /**
447
- * Return type for useResponsiveQuery hook.
448
- */
449
- type UseResponsiveQueryReturn = boolean;
450
- /**
451
- * useResponsiveQuery - Hook for CSS media query matching.
452
- *
453
- * Note: For the simpler MUI-style useMediaQuery, see @omnitron-dev/prism/core.
454
- * This hook provides a standalone implementation without MUI dependency.
455
- *
456
- * @example
457
- * ```tsx
458
- * // Direct media query
459
- * const prefersDark = useResponsiveQuery('(prefers-color-scheme: dark)');
460
- * const isRetina = useResponsiveQuery('(min-resolution: 2dppx)');
461
- *
462
- * // Responsive
463
- * const isLargeScreen = useResponsiveQuery('(min-width: 1200px)');
464
- * ```
465
- */
466
- declare function useResponsiveQuery(query: string): UseResponsiveQueryReturn;
467
- /**
468
- * useBreakpoint - Hook for checking current breakpoint.
469
- *
470
- * @example
471
- * ```tsx
472
- * const breakpoint = useBreakpoint();
473
- *
474
- * // Current breakpoint name
475
- * console.log(breakpoint); // 'md'
476
- *
477
- * // Check specific breakpoint
478
- * const { isUp, isDown, isOnly, isBetween } = useBreakpointChecks();
479
- *
480
- * if (isUp('md')) {
481
- * // Screen is md or larger
482
- * }
483
- * ```
484
- */
485
- declare function useBreakpoint(customBreakpoints?: Partial<Breakpoints>): 'xs' | 'sm' | 'md' | 'lg' | 'xl';
486
- /**
487
- * Return type for useBreakpointChecks hook.
488
- */
489
- interface BreakpointChecks {
490
- /** Check if width is >= breakpoint */
491
- isUp: (breakpoint: keyof Breakpoints) => boolean;
492
- /** Check if width is < breakpoint */
493
- isDown: (breakpoint: keyof Breakpoints) => boolean;
494
- /** Check if width is within breakpoint range */
495
- isOnly: (breakpoint: keyof Breakpoints) => boolean;
496
- /** Check if width is between two breakpoints */
497
- isBetween: (start: keyof Breakpoints, end: keyof Breakpoints) => boolean;
498
- }
499
- /**
500
- * useBreakpointChecks - Hook for advanced breakpoint checking.
501
- *
502
- * @example
503
- * ```tsx
504
- * const { isUp, isDown, isOnly, isBetween } = useBreakpointChecks();
505
- *
506
- * isUp('md'); // true if >= 900px
507
- * isDown('lg'); // true if < 1200px
508
- * isOnly('md'); // true if 900px - 1199px
509
- * isBetween('sm', 'lg'); // true if 600px - 1199px
510
- * ```
511
- */
512
- declare function useBreakpointChecks(customBreakpoints?: Partial<Breakpoints>): BreakpointChecks;
513
-
514
- /**
515
- * useClientRect Hook
516
- *
517
- * Gets bounding client rect and scroll dimensions of a DOM element.
518
- * SSR-safe with automatic updates on resize/scroll.
519
- *
520
- * @module @omnitron-dev/prism/hooks
521
- */
522
-
523
- /**
524
- * Scroll element dimensions.
525
- */
526
- interface ScrollElValue {
527
- /** Scrollable width */
528
- scrollWidth: number;
529
- /** Scrollable height */
530
- scrollHeight: number;
531
- }
532
- /**
533
- * DOMRect values (SSR-safe).
534
- */
535
- interface DOMRectValue {
536
- top: number;
537
- right: number;
538
- bottom: number;
539
- left: number;
540
- x: number;
541
- y: number;
542
- width: number;
543
- height: number;
544
- }
545
- /**
546
- * Return type for useClientRect hook.
547
- */
548
- interface UseClientRectReturn<T extends HTMLElement = HTMLElement> extends DOMRectValue, ScrollElValue {
549
- /** Ref to attach to the target element */
550
- elementRef: RefObject<T | null>;
551
- /** Force update measurements */
552
- update: () => void;
553
- }
554
- /**
555
- * useClientRect - Hook to get bounding rect and scroll dimensions.
556
- *
557
- * @example
558
- * ```tsx
559
- * // Basic usage - auto-creates ref
560
- * const { elementRef, width, height, top, left } = useClientRect();
561
- *
562
- * return (
563
- * <div ref={elementRef}>
564
- * Width: {width}, Height: {height}
565
- * </div>
566
- * );
567
- *
568
- * // With existing ref
569
- * const myRef = useRef<HTMLDivElement>(null);
570
- * const { width, scrollWidth } = useClientRect(myRef);
571
- *
572
- * // Listen to scroll events
573
- * const { y, scrollHeight } = useClientRect(ref, 'scroll');
574
- *
575
- * // Calculate scroll progress
576
- * const progress = y / (scrollHeight - height);
577
- * ```
578
- */
579
- declare function useClientRect<T extends HTMLElement = HTMLElement>(inputRef?: RefObject<T | null>, eventType?: 'scroll' | 'resize'): UseClientRectReturn<T>;
580
-
581
- /**
582
- * usePopoverHover Hook
583
- *
584
- * Manages hover-based popover state with proper enter/leave handling.
585
- * Different from click-based popovers - opens on mouse enter, closes on leave.
586
- *
587
- * @module @omnitron-dev/prism/hooks
588
- */
589
-
590
- /**
591
- * Return type for usePopoverHover hook.
592
- */
593
- interface UsePopoverHoverReturn<T extends HTMLElement = HTMLElement> {
594
- /** Whether the popover is open */
595
- open: boolean;
596
- /** The element the popover is anchored to (for MUI Popover) */
597
- anchorEl: T | null;
598
- /** Handler for mouse enter - opens the popover */
599
- onOpen: () => void;
600
- /** Handler for mouse leave - closes the popover */
601
- onClose: () => void;
602
- /** Ref to attach to the trigger element */
603
- elementRef: RefObject<T | null>;
604
- /** Manual control of open state */
605
- setOpen: Dispatch<SetStateAction<boolean>>;
606
- }
607
- /**
608
- * usePopoverHover - Hook for hover-based popover management.
609
- *
610
- * This hook is SSR-safe. It doesn't access browser APIs directly.
611
- * During SSR, elementRef.current is null and open defaults to false,
612
- * so anchorEl will always be null on the server.
613
- *
614
- * @example
615
- * ```tsx
616
- * // Basic usage
617
- * const { open, anchorEl, onOpen, onClose, elementRef } = usePopoverHover<HTMLButtonElement>();
618
- *
619
- * return (
620
- * <>
621
- * <Button
622
- * ref={elementRef}
623
- * onMouseEnter={onOpen}
624
- * onMouseLeave={onClose}
625
- * >
626
- * Hover me
627
- * </Button>
628
- * <Popover
629
- * open={open}
630
- * anchorEl={anchorEl}
631
- * onClose={onClose}
632
- * anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}
633
- * >
634
- * <Typography sx={{ p: 2 }}>Popover content</Typography>
635
- * </Popover>
636
- * </>
637
- * );
638
- *
639
- * // With existing ref
640
- * const myRef = useRef<HTMLDivElement>(null);
641
- * const { open, onOpen, onClose } = usePopoverHover(myRef);
642
- *
643
- * // With delay (using inline)
644
- * const { open, anchorEl, elementRef, setOpen } = usePopoverHover();
645
- * const timeoutRef = useRef<NodeJS.Timeout>();
646
- *
647
- * const handleOpen = () => {
648
- * clearTimeout(timeoutRef.current);
649
- * setOpen(true);
650
- * };
651
- *
652
- * const handleClose = () => {
653
- * timeoutRef.current = setTimeout(() => setOpen(false), 200);
654
- * };
655
- * ```
656
- */
657
- declare function usePopoverHover<T extends HTMLElement = HTMLElement>(inputRef?: RefObject<T | null>): UsePopoverHoverReturn<T>;
658
-
659
- /**
660
- * Options for useCookies hook.
661
- */
662
- interface UseCookiesOptions extends CookieOptions {
663
- /**
664
- * If true, initializes the cookie with the initial value if not set.
665
- * @default true
666
- */
667
- initializeWithValue?: boolean;
668
- }
669
- /**
670
- * Return type for useCookies hook.
671
- */
672
- interface UseCookiesReturn<T> {
673
- /** Current state value */
674
- state: T;
675
- /** Reset state to initial value and remove cookie */
676
- resetState: (defaultState?: T) => void;
677
- /** Update the entire state or merge partial state (for objects) */
678
- setState: (updateState: T | Partial<T>) => void;
679
- /** Update a specific field in an object state */
680
- setField: <K extends keyof T>(name: K, updateValue: T[K]) => void;
681
- }
682
- /**
683
- * Hook to manage state with cookies.
684
- *
685
- * Automatically syncs state with cookies and supports:
686
- * - Primitive values (string, number, boolean)
687
- * - Object values with partial updates
688
- * - Type-safe field updates
689
- *
690
- * @template T - Type of the state value
691
- * @param key - Cookie name
692
- * @param initialState - Initial state value
693
- * @param options - Cookie options
694
- * @returns State and update functions
695
- *
696
- * @example
697
- * ```tsx
698
- * // Primitive value
699
- * const { state, setState, resetState } = useCookies('theme', 'light');
700
- *
701
- * // Object value with partial updates
702
- * const { state, setState, setField, resetState } = useCookies('user', {
703
- * name: '',
704
- * age: 0,
705
- * preferences: { notifications: true },
706
- * });
707
- *
708
- * // Update single field
709
- * setField('name', 'John');
710
- *
711
- * // Partial update
712
- * setState({ age: 25 });
713
- *
714
- * // Reset to initial value
715
- * resetState();
716
- * ```
717
- */
718
- declare function useCookies<T>(key: string, initialState: T, options?: UseCookiesOptions): UseCookiesReturn<T>;
719
-
720
- /**
721
- * useDoubleClick Hook
722
- *
723
- * Differentiates between single and double click events.
724
- * Single click is delayed to ensure it's not a double click.
725
- *
726
- * @module @omnitron-dev/prism/hooks
727
- */
728
-
729
- /**
730
- * Props for useDoubleClick hook.
731
- */
732
- interface UseDoubleClickProps {
733
- /**
734
- * Timeout in milliseconds to differentiate between single and double clicks.
735
- * @default 250
736
- */
737
- timeout?: number;
738
- /** Handler for single click (optional) */
739
- click?: (event: SyntheticEvent) => void;
740
- /** Handler for double click (required) */
741
- doubleClick: (event: SyntheticEvent) => void;
742
- }
743
- /**
744
- * Return type - a click handler function.
745
- */
746
- type UseDoubleClickReturn = (event: MouseEvent<HTMLElement>) => void;
747
- /**
748
- * Hook to handle single and double click events on an element.
749
- *
750
- * Uses event.detail to detect click count:
751
- * - detail === 1: single click (delayed by timeout)
752
- * - detail === 2: double click (immediate)
753
- *
754
- * The single click handler is called after a timeout, but only if
755
- * no second click occurs within that time.
756
- *
757
- * @param props - Hook configuration
758
- * @returns Click handler function to attach to element
759
- *
760
- * @example
761
- * ```tsx
762
- * function FileItem({ file }) {
763
- * const handleClick = useDoubleClick({
764
- * click: () => selectFile(file),
765
- * doubleClick: () => openFile(file),
766
- * timeout: 300,
767
- * });
768
- *
769
- * return (
770
- * <div onClick={handleClick}>
771
- * {file.name}
772
- * </div>
773
- * );
774
- * }
775
- * ```
776
- *
777
- * @example
778
- * ```tsx
779
- * // Double-click only (no single click handler)
780
- * const handleClick = useDoubleClick({
781
- * doubleClick: () => console.log('Double clicked!'),
782
- * });
783
- * ```
784
- */
785
- declare function useDoubleClick({ click, doubleClick, timeout }: UseDoubleClickProps): UseDoubleClickReturn;
786
-
787
- /**
788
- * useBackToTop Hook
789
- *
790
- * Manages visibility of a "Back to Top" button based on scroll position.
791
- * Supports both percentage-based and pixel-based visibility thresholds.
792
- *
793
- * @module @omnitron-dev/prism/hooks
794
- */
795
-
796
- /**
797
- * Return type for useBackToTop hook.
798
- */
799
- interface UseBackToTopReturn {
800
- /** Whether the "Back to Top" button should be visible */
801
- isVisible: boolean;
802
- /** Function to scroll smoothly to top */
803
- onBackToTop: () => void;
804
- /** Manual visibility control */
805
- setIsVisible: Dispatch<SetStateAction<boolean>>;
806
- }
807
- /**
808
- * Hook to manage the visibility of a "Back to Top" button based on scroll position.
809
- *
810
- * Two modes are supported:
811
- * - **Percentage mode**: Button becomes visible when scrolled past N% of the page.
812
- * Pass a string like '90%' as the threshold.
813
- * - **Pixel mode**: Button becomes visible when within N pixels of the bottom.
814
- * Pass a number like 80 as the threshold.
815
- *
816
- * @param threshold - Visibility threshold
817
- * - String with '%' (e.g., '90%'): Show when scroll progress >= this percentage
818
- * - Number (e.g., 80): Show when within this many pixels from bottom
819
- * @param debounce - Whether to debounce the scroll handler (100ms)
820
- * @returns Visibility state and scroll control functions
821
- *
822
- * @example
823
- * ```tsx
824
- * // Show when scrolled 90% down the page
825
- * const { isVisible, onBackToTop } = useBackToTop('90%');
826
- *
827
- * // Show when within 80px of the bottom
828
- * const { isVisible, onBackToTop } = useBackToTop(80);
829
- *
830
- * // With debouncing for better performance
831
- * const { isVisible, onBackToTop } = useBackToTop('85%', true);
832
- *
833
- * return (
834
- * <Fade in={isVisible}>
835
- * <Fab onClick={onBackToTop} sx={{ position: 'fixed', bottom: 16, right: 16 }}>
836
- * <KeyboardArrowUpIcon />
837
- * </Fab>
838
- * </Fade>
839
- * );
840
- * ```
841
- */
842
- declare function useBackToTop(threshold?: string | number, debounce?: boolean): UseBackToTopReturn;
843
-
844
- /**
845
- * useCountdownSeconds Hook
846
- *
847
- * Simple countdown timer in seconds. Ideal for OTP resend timers,
848
- * session timeouts, and other time-limited operations.
849
- *
850
- * @module @omnitron-dev/prism/hooks
851
- */
852
-
853
- /**
854
- * Return type for useCountdownSeconds hook.
855
- */
856
- interface UseCountdownSecondsReturn {
857
- /** Current countdown value in seconds */
858
- value: number;
859
- /** Start the countdown */
860
- start: () => void;
861
- /** Reset countdown to initial value and stop */
862
- reset: () => void;
863
- /** Whether countdown is currently active */
864
- isCounting: boolean;
865
- /** Manually set the countdown value */
866
- setValue: Dispatch<SetStateAction<number>>;
867
- }
868
- /**
869
- * Hook to create a simple countdown timer in seconds.
870
- *
871
- * Perfect for:
872
- * - OTP resend timers
873
- * - Session timeout warnings
874
- * - Rate limiting UI feedback
875
- * - Game timers
876
- *
877
- * @param initialSeconds - Initial countdown value in seconds
878
- * @returns Countdown state and control functions
879
- *
880
- * @example
881
- * ```tsx
882
- * // OTP resend timer
883
- * function OTPForm() {
884
- * const { value, start, reset, isCounting } = useCountdownSeconds(60);
885
- *
886
- * const handleResend = async () => {
887
- * await resendOTP();
888
- * reset();
889
- * start();
890
- * };
891
- *
892
- * return (
893
- * <div>
894
- * <input placeholder="Enter OTP" />
895
- * <button onClick={handleResend} disabled={isCounting}>
896
- * {isCounting ? `Resend in ${value}s` : 'Resend OTP'}
897
- * </button>
898
- * </div>
899
- * );
900
- * }
901
- * ```
902
- *
903
- * @example
904
- * ```tsx
905
- * // Session timeout warning
906
- * function SessionWarning() {
907
- * const { value, start, isCounting } = useCountdownSeconds(30);
908
- *
909
- * useEffect(() => {
910
- * if (showWarning) start();
911
- * }, [showWarning]);
912
- *
913
- * useEffect(() => {
914
- * if (value === 0) logout();
915
- * }, [value]);
916
- *
917
- * return isCounting && (
918
- * <Alert severity="warning">
919
- * Session expires in {value} seconds
920
- * </Alert>
921
- * );
922
- * }
923
- * ```
924
- */
925
- declare function useCountdownSeconds(initialSeconds: number): UseCountdownSecondsReturn;
926
-
927
- /**
928
- * Return type for useCountdownDate hook.
929
- */
930
- type UseCountdownDateReturn = {
931
- /** Formatted days (with leading zero) */
932
- days: string;
933
- /** Formatted hours (with leading zero) */
934
- hours: string;
935
- /** Formatted minutes (with leading zero) */
936
- minutes: string;
937
- /** Formatted seconds (with leading zero) */
938
- seconds: string;
939
- };
940
- /**
941
- * Custom hook to create a countdown timer to a target date.
942
- *
943
- * @param targetDate - The target date to count down to
944
- * @param placeholder - The placeholder value to display before the countdown starts (default: '- -')
945
- *
946
- * @returns An object containing the current countdown values in days, hours, minutes, and seconds
947
- *
948
- * @example
949
- * ```tsx
950
- * function SaleCountdown() {
951
- * const { days, hours, minutes, seconds } = useCountdownDate(
952
- * new Date('2024-12-31T23:59:59')
953
- * );
954
- *
955
- * return (
956
- * <div>
957
- * <span>{days}d</span>
958
- * <span>{hours}h</span>
959
- * <span>{minutes}m</span>
960
- * <span>{seconds}s</span>
961
- * </div>
962
- * );
963
- * }
964
- * ```
965
- *
966
- * @example
967
- * ```tsx
968
- * // With custom placeholder
969
- * const countdown = useCountdownDate(launchDate, '--');
970
- * ```
971
- */
972
- declare function useCountdownDate(targetDate: Date, placeholder?: string): UseCountdownDateReturn;
973
-
974
- /**
975
- * useScrollOffsetTop Hook
976
- *
977
- * Manages offset top state based on scroll position.
978
- * Can track against window or a specific element's offset.
979
- *
980
- * This hook is SSR-safe - scroll tracking only runs on the client.
981
- *
982
- * Ported from minimal-shared for Prism design system.
983
- *
984
- * @module @omnitron-dev/prism/hooks/use-scroll-offset-top
985
- */
986
-
987
- /**
988
- * Return type for useScrollOffsetTop hook.
989
- */
990
- type UseScrollOffsetTopReturn<T extends HTMLElement = HTMLElement> = {
991
- /** Whether the scroll position is past the offset threshold */
992
- offsetTop: boolean;
993
- /** Ref to attach to element for tracking its offset (optional) */
994
- elementRef: RefObject<T | null>;
995
- };
996
- /**
997
- * Custom hook to manage the offset top state based on scroll position.
998
- *
999
- * Can be used in two ways:
1000
- * 1. Track against a fixed pixel value (window scroll)
1001
- * 2. Track against an element's offset (using returned ref)
1002
- *
1003
- * @param defaultValue - The offset value at which the state changes (default: 0)
1004
- *
1005
- * @returns An object containing offsetTop boolean and elementRef
1006
- *
1007
- * @example
1008
- * ```tsx
1009
- * // Track window scroll against fixed value
1010
- * function StickyHeader() {
1011
- * const { offsetTop } = useScrollOffsetTop(80);
1012
- *
1013
- * return (
1014
- * <AppBar position={offsetTop ? 'fixed' : 'static'}>
1015
- * <Toolbar>Header</Toolbar>
1016
- * </AppBar>
1017
- * );
1018
- * }
1019
- * ```
1020
- *
1021
- * @example
1022
- * ```tsx
1023
- * // Track scroll against element offset
1024
- * function HeaderWithBanner() {
1025
- * const { offsetTop, elementRef } = useScrollOffsetTop<HTMLDivElement>();
1026
- *
1027
- * return (
1028
- * <>
1029
- * <div ref={elementRef}>Banner Content</div>
1030
- * <AppBar
1031
- * position={offsetTop ? 'fixed' : 'static'}
1032
- * sx={{ top: offsetTop ? 0 : 'auto' }}
1033
- * >
1034
- * <Toolbar>Header</Toolbar>
1035
- * </AppBar>
1036
- * </>
1037
- * );
1038
- * }
1039
- * ```
1040
- */
1041
- declare function useScrollOffsetTop<T extends HTMLElement = HTMLElement>(defaultValue?: number): UseScrollOffsetTopReturn<T>;
1042
-
1043
- /**
1044
- * Configuration values that can be controlled via URL params.
1045
- */
1046
- interface UrlConfigValues {
1047
- /** Theme preset */
1048
- preset?: ThemePreset;
1049
- /** Light/dark/system mode */
1050
- mode?: ThemeMode;
1051
- /** Primary color (hex) */
1052
- primary?: string;
1053
- /** Text direction */
1054
- direction?: ThemeDirection;
1055
- /** Component density */
1056
- density?: ComponentDensity;
1057
- /** Contrast mode */
1058
- contrast?: 'default' | 'high';
1059
- }
1060
- /**
1061
- * Options for useConfigFromQuery hook.
1062
- */
1063
- interface UseConfigFromQueryOptions {
1064
- /** Query parameter names mapping (default: 'preset', 'mode', 'primary', etc.) */
1065
- paramNames?: {
1066
- preset?: string;
1067
- mode?: string;
1068
- primary?: string;
1069
- direction?: string;
1070
- density?: string;
1071
- contrast?: string;
1072
- };
1073
- /** Callback when config changes from URL */
1074
- onConfigChange?: (config: UrlConfigValues) => void;
1075
- /** Enable two-way sync (updates URL when config changes) */
1076
- syncToUrl?: boolean;
1077
- }
1078
- /**
1079
- * Return type for useConfigFromQuery hook.
1080
- */
1081
- interface UseConfigFromQueryReturn {
1082
- /** Parsed config values from URL */
1083
- configFromUrl: UrlConfigValues;
1084
- /** Update URL with new config values */
1085
- updateUrl: (values: Partial<UrlConfigValues>) => void;
1086
- /** Clear all config from URL */
1087
- clearUrl: () => void;
1088
- /** Generate URL with config values */
1089
- generateUrl: (values: Partial<UrlConfigValues>, baseUrl?: string) => string;
1090
- /** Check if URL has any config params */
1091
- hasUrlConfig: boolean;
1092
- }
1093
- /**
1094
- * Hook to sync theme configuration with URL query parameters.
1095
- *
1096
- * Enables shareable configuration links for demos, previews, and design reviews.
1097
- *
1098
- * @param options - Hook options
1099
- * @returns Object with URL config parsing and manipulation utilities
1100
- *
1101
- * @example
1102
- * ```tsx
1103
- * import { useConfigFromQuery } from '@omnitron-dev/prism/hooks';
1104
- *
1105
- * function ThemeSettings() {
1106
- * const {
1107
- * configFromUrl,
1108
- * updateUrl,
1109
- * generateUrl,
1110
- * hasUrlConfig,
1111
- * } = useConfigFromQuery({
1112
- * onConfigChange: (config) => {
1113
- * // Apply config to your theme context
1114
- * if (config.preset) setPreset(config.preset);
1115
- * if (config.mode) setMode(config.mode);
1116
- * if (config.primary) setPrimaryColor(config.primary);
1117
- * },
1118
- * });
1119
- *
1120
- * // Generate shareable link
1121
- * const shareUrl = generateUrl({
1122
- * preset: currentPreset,
1123
- * mode: currentMode,
1124
- * primary: currentPrimary,
1125
- * });
1126
- *
1127
- * return (
1128
- * <div>
1129
- * {hasUrlConfig && <Alert>Using config from URL</Alert>}
1130
- * <Button onClick={() => navigator.clipboard.writeText(shareUrl)}>
1131
- * Copy Share Link
1132
- * </Button>
1133
- * </div>
1134
- * );
1135
- * }
1136
- * ```
1137
- */
1138
- declare function useConfigFromQuery(options?: UseConfigFromQueryOptions): UseConfigFromQueryReturn;
1139
-
1140
- /**
1141
- * Image dimensions result.
1142
- */
1143
- interface ImageDimensions {
1144
- /** Natural width of the image in pixels */
1145
- width: number;
1146
- /** Natural height of the image in pixels */
1147
- height: number;
1148
- /** Aspect ratio (width / height) */
1149
- aspectRatio: number;
1150
- }
1151
- /**
1152
- * Return type for useImageDimensions hook.
1153
- */
1154
- interface UseImageDimensionsReturn {
1155
- /** Image dimensions (null if not loaded or error) */
1156
- dimensions: ImageDimensions | null;
1157
- /** Loading state */
1158
- loading: boolean;
1159
- /** Error if image failed to load */
1160
- error: Error | null;
1161
- /** Manually retry loading the image */
1162
- retry: () => void;
1163
- }
1164
- /**
1165
- * Options for useImageDimensions hook.
1166
- */
1167
- interface UseImageDimensionsOptions {
1168
- /** Cross-origin setting for image loading */
1169
- crossOrigin?: 'anonymous' | 'use-credentials';
1170
- /** Timeout in milliseconds (default: 10000) */
1171
- timeout?: number;
1172
- /** Whether to start loading immediately (default: true) */
1173
- immediate?: boolean;
1174
- }
1175
- /**
1176
- * useImageDimensions - Detects image dimensions from a URL.
1177
- *
1178
- * Loads an image in memory to get its natural width and height.
1179
- *
1180
- * @example
1181
- * ```tsx
1182
- * function ImagePreview({ src }: { src: string }) {
1183
- * const { dimensions, loading, error } = useImageDimensions(src);
1184
- *
1185
- * if (loading) return <CircularProgress />;
1186
- * if (error) return <Alert severity="error">Failed to load image</Alert>;
1187
- * if (!dimensions) return null;
1188
- *
1189
- * return (
1190
- * <Box>
1191
- * <Typography>
1192
- * {dimensions.width} x {dimensions.height}
1193
- * </Typography>
1194
- * <Typography>
1195
- * Aspect ratio: {dimensions.aspectRatio.toFixed(2)}
1196
- * </Typography>
1197
- * <img
1198
- * src={src}
1199
- * alt="preview"
1200
- * style={{ maxWidth: '100%', aspectRatio: dimensions.aspectRatio }}
1201
- * />
1202
- * </Box>
1203
- * );
1204
- * }
1205
- * ```
1206
- *
1207
- * @example
1208
- * ```tsx
1209
- * // With manual control
1210
- * function LazyImage({ src }: { src: string }) {
1211
- * const { dimensions, loading, retry } = useImageDimensions(src, {
1212
- * immediate: false,
1213
- * });
1214
- *
1215
- * return (
1216
- * <Box>
1217
- * {!dimensions && !loading && (
1218
- * <Button onClick={retry}>Load dimensions</Button>
1219
- * )}
1220
- * {loading && <CircularProgress />}
1221
- * {dimensions && (
1222
- * <Typography>{dimensions.width} x {dimensions.height}</Typography>
1223
- * )}
1224
- * </Box>
1225
- * );
1226
- * }
1227
- * ```
1228
- *
1229
- * @param src - Image URL to load
1230
- * @param options - Hook options
1231
- * @returns Dimensions, loading state, error, and retry function
1232
- */
1233
- declare function useImageDimensions(src: string | null | undefined, options?: UseImageDimensionsOptions): UseImageDimensionsReturn;
1234
- /**
1235
- * Get dimensions of multiple images.
1236
- *
1237
- * @example
1238
- * ```tsx
1239
- * function Gallery({ urls }: { urls: string[] }) {
1240
- * const results = useMultipleImageDimensions(urls);
1241
- *
1242
- * return (
1243
- * <Grid container>
1244
- * {results.map((result, i) => (
1245
- * <Grid item key={urls[i]}>
1246
- * {result.loading && <Skeleton />}
1247
- * {result.dimensions && (
1248
- * <img
1249
- * src={urls[i]}
1250
- * style={{ aspectRatio: result.dimensions.aspectRatio }}
1251
- * />
1252
- * )}
1253
- * </Grid>
1254
- * ))}
1255
- * </Grid>
1256
- * );
1257
- * }
1258
- * ```
1259
- */
1260
- declare function useMultipleImageDimensions(urls: (string | null | undefined)[], options?: UseImageDimensionsOptions): UseImageDimensionsReturn[];
1261
-
1262
- /**
1263
- * Return type for usePasswordVisibility hook.
1264
- */
1265
- interface UsePasswordVisibilityReturn {
1266
- /** Whether password is visible (text) or hidden (password) */
1267
- visible: boolean;
1268
- /** Toggle visibility */
1269
- toggle: () => void;
1270
- /** Show password */
1271
- show: () => void;
1272
- /** Hide password */
1273
- hide: () => void;
1274
- /** Input type based on visibility ('text' | 'password') */
1275
- type: 'text' | 'password';
1276
- }
1277
- /**
1278
- * Options for usePasswordVisibility hook.
1279
- */
1280
- interface UsePasswordVisibilityOptions {
1281
- /** Initial visibility state (default: false) */
1282
- initialVisible?: boolean;
1283
- }
1284
- /**
1285
- * usePasswordVisibility - Manage password field visibility toggle.
1286
- *
1287
- * Returns state and handlers for password visibility toggle,
1288
- * commonly used with InputAdornment in MUI TextField.
1289
- *
1290
- * @example
1291
- * ```tsx
1292
- * function LoginForm() {
1293
- * const password = usePasswordVisibility();
1294
- *
1295
- * return (
1296
- * <TextField
1297
- * type={password.type}
1298
- * InputProps={{
1299
- * endAdornment: (
1300
- * <InputAdornment position="end">
1301
- * <IconButton onClick={password.toggle}>
1302
- * {password.visible ? <VisibilityOff /> : <Visibility />}
1303
- * </IconButton>
1304
- * </InputAdornment>
1305
- * ),
1306
- * }}
1307
- * />
1308
- * );
1309
- * }
1310
- * ```
1311
- *
1312
- * @example
1313
- * ```tsx
1314
- * // With confirm password field
1315
- * function RegisterForm() {
1316
- * const password = usePasswordVisibility();
1317
- * const confirmPassword = usePasswordVisibility();
1318
- *
1319
- * return (
1320
- * <Box>
1321
- * <TextField
1322
- * label="Password"
1323
- * type={password.type}
1324
- * InputProps={{ endAdornment: <PasswordToggle {...password} /> }}
1325
- * />
1326
- * <TextField
1327
- * label="Confirm Password"
1328
- * type={confirmPassword.type}
1329
- * InputProps={{ endAdornment: <PasswordToggle {...confirmPassword} /> }}
1330
- * />
1331
- * </Box>
1332
- * );
1333
- * }
1334
- * ```
1335
- *
1336
- * @param options - Hook options
1337
- * @returns Visibility state, toggle handlers, and input type
1338
- */
1339
- declare function usePasswordVisibility(options?: UsePasswordVisibilityOptions): UsePasswordVisibilityReturn;
1340
-
1341
- interface UseThrottleOptions {
1342
- /** Whether to invoke on the leading edge (default: true) */
1343
- leading?: boolean;
1344
- /** Whether to invoke on the trailing edge (default: true) */
1345
- trailing?: boolean;
1346
- }
1347
- /**
1348
- * useThrottle - Throttle a value.
1349
- *
1350
- * Returns a throttled version of the value that only updates
1351
- * at most once per specified interval.
1352
- *
1353
- * @example
1354
- * ```tsx
1355
- * function SearchComponent() {
1356
- * const [search, setSearch] = useState('');
1357
- * const throttledSearch = useThrottle(search, 300);
1358
- *
1359
- * // API call only triggers when throttledSearch changes
1360
- * useEffect(() => {
1361
- * if (throttledSearch) {
1362
- * searchApi(throttledSearch);
1363
- * }
1364
- * }, [throttledSearch]);
1365
- *
1366
- * return <input value={search} onChange={(e) => setSearch(e.target.value)} />;
1367
- * }
1368
- * ```
1369
- *
1370
- * @param value - Value to throttle
1371
- * @param delay - Throttle delay in milliseconds
1372
- * @param options - Throttle options
1373
- * @returns Throttled value
1374
- */
1375
- declare function useThrottle<T>(value: T, delay: number, options?: UseThrottleOptions): T;
1376
- /**
1377
- * useThrottleCallback - Create a throttled callback function.
1378
- *
1379
- * Returns a memoized throttled version of the callback that only
1380
- * invokes at most once per specified interval.
1381
- *
1382
- * @example
1383
- * ```tsx
1384
- * function ScrollTracker() {
1385
- * const handleScroll = useThrottleCallback(
1386
- * (e: Event) => {
1387
- * console.log('Scroll position:', window.scrollY);
1388
- * },
1389
- * 100
1390
- * );
1391
- *
1392
- * useEffect(() => {
1393
- * window.addEventListener('scroll', handleScroll);
1394
- * return () => window.removeEventListener('scroll', handleScroll);
1395
- * }, [handleScroll]);
1396
- *
1397
- * return <div>Scroll me!</div>;
1398
- * }
1399
- * ```
1400
- *
1401
- * @param callback - Callback to throttle
1402
- * @param delay - Throttle delay in milliseconds
1403
- * @param options - Throttle options
1404
- * @returns Throttled callback
1405
- */
1406
- declare function useThrottleCallback<T extends (...args: unknown[]) => unknown>(callback: T, delay: number, options?: UseThrottleOptions): T;
1407
-
1408
- interface UseOnlineStatusReturn {
1409
- /** Whether the browser is online */
1410
- isOnline: boolean;
1411
- /** Whether the browser is offline */
1412
- isOffline: boolean;
1413
- /** Time when status last changed (timestamp) */
1414
- lastChanged: number | null;
1415
- }
1416
- /**
1417
- * useOnlineStatus - Track browser online/offline status.
1418
- *
1419
- * Uses navigator.onLine and online/offline events to track network status.
1420
- * SSR-safe with server-side assumption of online status.
1421
- *
1422
- * @example
1423
- * ```tsx
1424
- * function ConnectionIndicator() {
1425
- * const { isOnline, isOffline } = useOnlineStatus();
1426
- *
1427
- * if (isOffline) {
1428
- * return (
1429
- * <Alert severity="warning">
1430
- * You are offline. Changes will sync when you reconnect.
1431
- * </Alert>
1432
- * );
1433
- * }
1434
- *
1435
- * return null;
1436
- * }
1437
- * ```
1438
- *
1439
- * @example
1440
- * ```tsx
1441
- * // With timestamp tracking
1442
- * function NetworkStatus() {
1443
- * const { isOnline, lastChanged } = useOnlineStatus();
1444
- *
1445
- * return (
1446
- * <Box>
1447
- * <Typography>
1448
- * Status: {isOnline ? 'Online' : 'Offline'}
1449
- * </Typography>
1450
- * {lastChanged && (
1451
- * <Typography variant="caption">
1452
- * Last changed: {new Date(lastChanged).toLocaleTimeString()}
1453
- * </Typography>
1454
- * )}
1455
- * </Box>
1456
- * );
1457
- * }
1458
- * ```
1459
- *
1460
- * @returns Online status and metadata
1461
- */
1462
- declare function useOnlineStatus(): UseOnlineStatusReturn;
1463
-
1464
- interface UseIntersectionObserverOptions {
1465
- /** Root element for intersection (default: viewport) */
1466
- root?: Element | Document | null;
1467
- /** Root margin (default: '0px') */
1468
- rootMargin?: string;
1469
- /** Threshold(s) at which to trigger (default: 0) */
1470
- threshold?: number | number[];
1471
- /** Whether to disconnect after first intersection (default: false) */
1472
- triggerOnce?: boolean;
1473
- /** Whether to start observing immediately (default: true) */
1474
- enabled?: boolean;
1475
- }
1476
- interface UseIntersectionObserverReturn {
1477
- /** Ref to attach to the target element */
1478
- ref: (element: Element | null) => void;
1479
- /** Current intersection entry */
1480
- entry: IntersectionObserverEntry | null;
1481
- /** Whether the element is intersecting */
1482
- isIntersecting: boolean;
1483
- /** Manually disconnect the observer */
1484
- disconnect: () => void;
1485
- }
1486
- /**
1487
- * useIntersectionObserver - Observe element visibility.
1488
- *
1489
- * Uses the Intersection Observer API to track when an element
1490
- * enters or exits the viewport (or a custom root element).
1491
- *
1492
- * @example
1493
- * ```tsx
1494
- * // Lazy loading images
1495
- * function LazyImage({ src }: { src: string }) {
1496
- * const { ref, isIntersecting } = useIntersectionObserver({
1497
- * triggerOnce: true,
1498
- * });
1499
- *
1500
- * return (
1501
- * <div ref={ref}>
1502
- * {isIntersecting ? (
1503
- * <img src={src} alt="" />
1504
- * ) : (
1505
- * <Skeleton variant="rectangular" height={200} />
1506
- * )}
1507
- * </div>
1508
- * );
1509
- * }
1510
- * ```
1511
- *
1512
- * @example
1513
- * ```tsx
1514
- * // Infinite scroll
1515
- * function InfiniteList({ items, onLoadMore }) {
1516
- * const { ref, isIntersecting } = useIntersectionObserver({
1517
- * threshold: 0.5,
1518
- * });
1519
- *
1520
- * useEffect(() => {
1521
- * if (isIntersecting) {
1522
- * onLoadMore();
1523
- * }
1524
- * }, [isIntersecting, onLoadMore]);
1525
- *
1526
- * return (
1527
- * <Box>
1528
- * {items.map((item) => <Item key={item.id} {...item} />)}
1529
- * <div ref={ref} style={{ height: 1 }} />
1530
- * </Box>
1531
- * );
1532
- * }
1533
- * ```
1534
- *
1535
- * @example
1536
- * ```tsx
1537
- * // Animate on scroll
1538
- * function AnimatedSection({ children }) {
1539
- * const { ref, isIntersecting } = useIntersectionObserver({
1540
- * threshold: 0.1,
1541
- * triggerOnce: true,
1542
- * });
1543
- *
1544
- * return (
1545
- * <Fade in={isIntersecting}>
1546
- * <Box ref={ref}>{children}</Box>
1547
- * </Fade>
1548
- * );
1549
- * }
1550
- * ```
1551
- *
1552
- * @param options - Observer options
1553
- * @returns Ref, entry, intersection state, and disconnect function
1554
- */
1555
- declare function useIntersectionObserver(options?: UseIntersectionObserverOptions): UseIntersectionObserverReturn;
1556
-
1557
- interface KeyboardShortcut {
1558
- /** Main key (e.g., 'k', 'Enter', 'Escape') */
1559
- key: string;
1560
- /** Require Ctrl/Cmd key */
1561
- ctrl?: boolean;
1562
- /** Require Shift key */
1563
- shift?: boolean;
1564
- /** Require Alt key */
1565
- alt?: boolean;
1566
- /** Require Meta key (Cmd on Mac) */
1567
- meta?: boolean;
1568
- }
1569
- interface UseKeyboardShortcutOptions {
1570
- /** Whether the shortcut is enabled (default: true) */
1571
- enabled?: boolean;
1572
- /** Prevent default browser behavior (default: true) */
1573
- preventDefault?: boolean;
1574
- /** Stop event propagation (default: false) */
1575
- stopPropagation?: boolean;
1576
- /** Target element (default: document) */
1577
- target?: EventTarget | null;
1578
- /** Event type (default: 'keydown') */
1579
- event?: 'keydown' | 'keyup' | 'keypress';
1580
- /** Ignore when focus is in input/textarea/contenteditable (default: false) */
1581
- ignoreInputs?: boolean;
1582
- }
1583
- /**
1584
- * useKeyboardShortcut - Handle keyboard shortcuts.
1585
- *
1586
- * Listens for keyboard events matching the specified shortcut
1587
- * and invokes the callback when matched.
1588
- *
1589
- * @example
1590
- * ```tsx
1591
- * // Simple shortcut
1592
- * function SearchDialog() {
1593
- * const [open, setOpen] = useState(false);
1594
- *
1595
- * useKeyboardShortcut({ key: 'k', ctrl: true }, () => {
1596
- * setOpen(true);
1597
- * });
1598
- *
1599
- * return <Dialog open={open} onClose={() => setOpen(false)} />;
1600
- * }
1601
- * ```
1602
- *
1603
- * @example
1604
- * ```tsx
1605
- * // Save with Ctrl+S
1606
- * function Editor({ onSave }) {
1607
- * useKeyboardShortcut(
1608
- * { key: 's', ctrl: true },
1609
- * () => onSave(),
1610
- * { preventDefault: true }
1611
- * );
1612
- *
1613
- * return <TextField multiline />;
1614
- * }
1615
- * ```
1616
- *
1617
- * @example
1618
- * ```tsx
1619
- * // Escape to close
1620
- * function Modal({ onClose }) {
1621
- * useKeyboardShortcut({ key: 'Escape' }, onClose);
1622
- *
1623
- * return <div>Modal content</div>;
1624
- * }
1625
- * ```
1626
- *
1627
- * @example
1628
- * ```tsx
1629
- * // Multiple shortcuts
1630
- * function App() {
1631
- * useKeyboardShortcut({ key: 'k', ctrl: true }, openSearch);
1632
- * useKeyboardShortcut({ key: 'n', ctrl: true }, createNew);
1633
- * useKeyboardShortcut({ key: '/', ctrl: true }, toggleHelp);
1634
- *
1635
- * return <div>...</div>;
1636
- * }
1637
- * ```
1638
- *
1639
- * @param shortcut - Keyboard shortcut definition
1640
- * @param callback - Function to call when shortcut is triggered
1641
- * @param options - Hook options
1642
- */
1643
- declare function useKeyboardShortcut(shortcut: KeyboardShortcut, callback: (event: KeyboardEvent) => void, options?: UseKeyboardShortcutOptions): void;
1644
- /**
1645
- * useEscapeKey - Convenience hook for Escape key handling.
1646
- *
1647
- * @example
1648
- * ```tsx
1649
- * function Modal({ onClose }) {
1650
- * useEscapeKey(onClose);
1651
- * return <div>Modal content</div>;
1652
- * }
1653
- * ```
1654
- */
1655
- declare function useEscapeKey(callback: (event: KeyboardEvent) => void, options?: Omit<UseKeyboardShortcutOptions, 'ignoreInputs'>): void;
1656
- /**
1657
- * useEnterKey - Convenience hook for Enter key handling.
1658
- *
1659
- * @example
1660
- * ```tsx
1661
- * function SearchField({ onSearch }) {
1662
- * useEnterKey(onSearch, { ignoreInputs: false });
1663
- * return <TextField />;
1664
- * }
1665
- * ```
1666
- */
1667
- declare function useEnterKey(callback: (event: KeyboardEvent) => void, options?: UseKeyboardShortcutOptions): void;
1668
-
1669
- /**
1670
- * Options for useFocusTrap hook.
1671
- */
1672
- interface UseFocusTrapOptions {
1673
- /**
1674
- * Whether the focus trap is active.
1675
- * @default true
1676
- */
1677
- enabled?: boolean;
1678
- /**
1679
- * Whether to auto-focus the first focusable element when enabled.
1680
- * @default true
1681
- */
1682
- autoFocus?: boolean;
1683
- /**
1684
- * Whether to restore focus to the previously focused element when disabled.
1685
- * @default true
1686
- */
1687
- restoreFocus?: boolean;
1688
- /**
1689
- * Selector for focusable elements.
1690
- * @default FOCUSABLE_SELECTOR
1691
- */
1692
- focusableSelector?: string;
1693
- }
1694
- /**
1695
- * Return type for useFocusTrap hook.
1696
- */
1697
- interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {
1698
- /**
1699
- * Ref to attach to the container element.
1700
- */
1701
- ref: React.RefCallback<T>;
1702
- /**
1703
- * Focus the first focusable element.
1704
- */
1705
- focusFirst: () => void;
1706
- /**
1707
- * Focus the last focusable element.
1708
- */
1709
- focusLast: () => void;
1710
- }
1711
- /**
1712
- * Trap focus within a container element.
1713
- *
1714
- * @param options - Hook options
1715
- * @returns Ref and focus control functions
1716
- *
1717
- * @example
1718
- * ```tsx
1719
- * function Modal({ open, onClose, children }) {
1720
- * const { ref } = useFocusTrap({ enabled: open });
1721
- *
1722
- * if (!open) return null;
1723
- *
1724
- * return (
1725
- * <div ref={ref} role="dialog" aria-modal="true">
1726
- * {children}
1727
- * <button onClick={onClose}>Close</button>
1728
- * </div>
1729
- * );
1730
- * }
1731
- * ```
1732
- */
1733
- declare function useFocusTrap<T extends HTMLElement = HTMLElement>(options?: UseFocusTrapOptions): UseFocusTrapReturn<T>;
1734
-
1735
- /**
1736
- * useUpdateEffect Hook
1737
- *
1738
- * Like useEffect, but skips the first render.
1739
- * Useful for running effects only on updates, not on mount.
1740
- *
1741
- * @module @omnitron-dev/prism/hooks
1742
- */
1743
-
1744
- /**
1745
- * Effect hook that only runs on updates, not on initial mount.
1746
- *
1747
- * @param effect - Effect callback function
1748
- * @param deps - Dependency array
1749
- *
1750
- * @example
1751
- * ```tsx
1752
- * function SearchInput({ value, onSearch }) {
1753
- * // Only search when value changes after initial render
1754
- * useUpdateEffect(() => {
1755
- * onSearch(value);
1756
- * }, [value]);
1757
- *
1758
- * return <input value={value} />;
1759
- * }
1760
- * ```
1761
- */
1762
- declare function useUpdateEffect(effect: EffectCallback, deps?: DependencyList): void;
1763
- /**
1764
- * Layout effect hook that only runs on updates, not on initial mount.
1765
- * Uses useLayoutEffect for synchronous DOM measurements.
1766
- *
1767
- * @param effect - Effect callback function
1768
- * @param deps - Dependency array
1769
- *
1770
- * @example
1771
- * ```tsx
1772
- * function AnimatedComponent({ size }) {
1773
- * const ref = useRef<HTMLDivElement>(null);
1774
- *
1775
- * // Animate size changes, but not initial render
1776
- * useUpdateLayoutEffect(() => {
1777
- * if (ref.current) {
1778
- * animate(ref.current, { width: size });
1779
- * }
1780
- * }, [size]);
1781
- *
1782
- * return <div ref={ref} />;
1783
- * }
1784
- * ```
1785
- */
1786
- declare function useUpdateLayoutEffect(effect: EffectCallback, deps?: DependencyList): void;
1787
-
1788
- /**
1789
- * useIsomorphicLayoutEffect Hook
1790
- *
1791
- * SSR-safe version of useLayoutEffect.
1792
- * Uses useLayoutEffect on client, useEffect on server.
1793
- *
1794
- * @module @omnitron-dev/prism/hooks
1795
- */
1796
-
1797
- /**
1798
- * Isomorphic layout effect that works in both SSR and CSR environments.
1799
- *
1800
- * - On the client: Uses useLayoutEffect for synchronous DOM operations
1801
- * - On the server: Uses useEffect to avoid SSR warnings
1802
- *
1803
- * @example
1804
- * ```tsx
1805
- * function Tooltip({ position }) {
1806
- * const ref = useRef<HTMLDivElement>(null);
1807
- *
1808
- * // Synchronously measure and position on client
1809
- * useIsomorphicLayoutEffect(() => {
1810
- * if (ref.current) {
1811
- * const rect = ref.current.getBoundingClientRect();
1812
- * // Position tooltip based on measurements
1813
- * }
1814
- * }, [position]);
1815
- *
1816
- * return <div ref={ref}>Tooltip</div>;
1817
- * }
1818
- * ```
1819
- */
1820
- declare const useIsomorphicLayoutEffect: typeof useEffect;
1821
-
1822
- /**
1823
- * Return type for useSessionStorage hook.
1824
- */
1825
- interface UseSessionStorageReturn<T> {
1826
- /** Current state value */
1827
- state: T;
1828
- /** Update state and sessionStorage */
1829
- setState: (value: T | ((prev: T) => T)) => void;
1830
- /** Remove item from sessionStorage and reset to default */
1831
- remove: () => void;
1832
- /** Check if sessionStorage has the key */
1833
- hasValue: boolean;
1834
- }
1835
- /**
1836
- * Options for useSessionStorage hook.
1837
- */
1838
- interface UseSessionStorageOptions<T> {
1839
- /** Serializer function (default: JSON.stringify) */
1840
- serializer?: (value: T) => string;
1841
- /** Deserializer function (default: JSON.parse) */
1842
- deserializer?: (value: string) => T;
1843
- }
1844
- /**
1845
- * Hook for persisting state in sessionStorage.
1846
- *
1847
- * @param key - Storage key
1848
- * @param defaultValue - Default value when key is not found
1849
- * @param options - Configuration options
1850
- * @returns State value and control methods
1851
- *
1852
- * @example
1853
- * ```tsx
1854
- * function SearchFilters() {
1855
- * const { state: filters, setState: setFilters, remove } = useSessionStorage(
1856
- * 'search-filters',
1857
- * { query: '', category: 'all' }
1858
- * );
1859
- *
1860
- * return (
1861
- * <>
1862
- * <input
1863
- * value={filters.query}
1864
- * onChange={(e) => setFilters({ ...filters, query: e.target.value })}
1865
- * />
1866
- * <button onClick={remove}>Clear Filters</button>
1867
- * </>
1868
- * );
1869
- * }
1870
- * ```
1871
- *
1872
- * @example
1873
- * ```tsx
1874
- * // With functional updates
1875
- * function Counter() {
1876
- * const { state: count, setState: setCount } = useSessionStorage('counter', 0);
1877
- *
1878
- * return (
1879
- * <button onClick={() => setCount((prev) => prev + 1)}>
1880
- * Count: {count}
1881
- * </button>
1882
- * );
1883
- * }
1884
- * ```
1885
- */
1886
- declare function useSessionStorage<T>(key: string, defaultValue: T, options?: UseSessionStorageOptions<T>): UseSessionStorageReturn<T>;
1887
-
1888
- /**
1889
- * Return type for useArray hook.
1890
- */
1891
- interface UseArrayReturn<T> {
1892
- /** Current array value */
1893
- value: T[];
1894
- /** Set array to new value */
1895
- setValue: React.Dispatch<React.SetStateAction<T[]>>;
1896
- /** Add item to end of array */
1897
- push: (item: T) => void;
1898
- /** Add items to end of array */
1899
- pushMany: (items: T[]) => void;
1900
- /** Remove first occurrence of item (by reference or predicate) */
1901
- remove: (itemOrPredicate: T | ((item: T) => boolean)) => void;
1902
- /** Remove item at index */
1903
- removeAt: (index: number) => void;
1904
- /** Remove items matching predicate */
1905
- removeWhere: (predicate: (item: T) => boolean) => void;
1906
- /** Update item at index */
1907
- updateAt: (index: number, item: T) => void;
1908
- /** Update item at index with partial data (merge) */
1909
- updateAtPartial: (index: number, partial: Partial<T>) => void;
1910
- /** Update items matching predicate */
1911
- updateWhere: (predicate: (item: T) => boolean, update: T | ((item: T) => T)) => void;
1912
- /** Insert item at index */
1913
- insertAt: (index: number, item: T) => void;
1914
- /** Move item from one index to another */
1915
- move: (fromIndex: number, toIndex: number) => void;
1916
- /** Swap items at two indices */
1917
- swap: (indexA: number, indexB: number) => void;
1918
- /** Clear all items */
1919
- clear: () => void;
1920
- /** Reset to initial value */
1921
- reset: () => void;
1922
- /** Reverse array in place */
1923
- reverse: () => void;
1924
- /** Sort array */
1925
- sort: (compareFn?: (a: T, b: T) => number) => void;
1926
- /** Filter array (returns new array, does not modify state) */
1927
- filter: (predicate: (item: T) => boolean) => T[];
1928
- /** Find item (returns item, does not modify state) */
1929
- find: (predicate: (item: T) => boolean) => T | undefined;
1930
- /** Find item index (returns index, does not modify state) */
1931
- findIndex: (predicate: (item: T) => boolean) => number;
1932
- /** Check if array includes item */
1933
- includes: (item: T) => boolean;
1934
- /** Get array length */
1935
- length: number;
1936
- /** Check if array is empty */
1937
- isEmpty: boolean;
1938
- /** Get first item */
1939
- first: T | undefined;
1940
- /** Get last item */
1941
- last: T | undefined;
1942
- }
1943
- /**
1944
- * Hook for managing array state with CRUD operations.
1945
- *
1946
- * @param initialValue - Initial array value
1947
- * @returns Array value and manipulation methods
1948
- *
1949
- * @example
1950
- * ```tsx
1951
- * function TodoList() {
1952
- * const todos = useArray<{ id: number; text: string; done: boolean }>([]);
1953
- *
1954
- * const addTodo = (text: string) => {
1955
- * todos.push({ id: Date.now(), text, done: false });
1956
- * };
1957
- *
1958
- * const toggleTodo = (id: number) => {
1959
- * todos.updateWhere(
1960
- * (todo) => todo.id === id,
1961
- * (todo) => ({ ...todo, done: !todo.done })
1962
- * );
1963
- * };
1964
- *
1965
- * return (
1966
- * <ul>
1967
- * {todos.value.map((todo) => (
1968
- * <li key={todo.id} onClick={() => toggleTodo(todo.id)}>
1969
- * {todo.text} {todo.done && '✓'}
1970
- * </li>
1971
- * ))}
1972
- * </ul>
1973
- * );
1974
- * }
1975
- * ```
1976
- *
1977
- * @example
1978
- * ```tsx
1979
- * // Drag and drop reordering
1980
- * function SortableList() {
1981
- * const items = useArray(['A', 'B', 'C', 'D']);
1982
- *
1983
- * const handleDragEnd = (fromIndex: number, toIndex: number) => {
1984
- * items.move(fromIndex, toIndex);
1985
- * };
1986
- *
1987
- * return <DraggableList items={items.value} onReorder={handleDragEnd} />;
1988
- * }
1989
- * ```
1990
- *
1991
- * @example
1992
- * ```tsx
1993
- * // With type-safe updates
1994
- * interface User {
1995
- * id: number;
1996
- * name: string;
1997
- * email: string;
1998
- * }
1999
- *
2000
- * function UserList() {
2001
- * const users = useArray<User>([
2002
- * { id: 1, name: 'Alice', email: 'alice@example.com' },
2003
- * ]);
2004
- *
2005
- * // Partial update (type-safe)
2006
- * users.updateAtPartial(0, { email: 'alice@newdomain.com' });
2007
- *
2008
- * return <div>{users.value.map(u => u.name).join(', ')}</div>;
2009
- * }
2010
- * ```
2011
- */
2012
- declare function useArray<T>(initialValue?: T[]): UseArrayReturn<T>;
2013
-
2014
- /**
2015
- * State for a mutation.
2016
- */
2017
- interface MutationState<TData, TError> {
2018
- /** Mutation result data */
2019
- data: TData | undefined;
2020
- /** Error from mutation */
2021
- error: TError | undefined;
2022
- /** Whether mutation is currently executing */
2023
- isLoading: boolean;
2024
- /** Whether mutation has succeeded at least once */
2025
- isSuccess: boolean;
2026
- /** Whether mutation has failed */
2027
- isError: boolean;
2028
- /** Whether mutation is idle (never called or reset) */
2029
- isIdle: boolean;
2030
- /** Current status */
2031
- status: 'idle' | 'loading' | 'success' | 'error';
2032
- }
2033
- /**
2034
- * Options for useMutation hook.
2035
- */
2036
- interface UseMutationOptions<TData, TError, TVariables> {
2037
- /** Called when mutation starts */
2038
- onMutate?: (variables: TVariables) => void | Promise<void>;
2039
- /** Called on successful mutation */
2040
- onSuccess?: (data: TData, variables: TVariables) => void | Promise<void>;
2041
- /** Called on mutation error */
2042
- onError?: (error: TError, variables: TVariables) => void | Promise<void>;
2043
- /** Called after mutation settles (success or error) */
2044
- onSettled?: (data: TData | undefined, error: TError | undefined, variables: TVariables) => void | Promise<void>;
2045
- /** Retry count on failure */
2046
- retry?: number | boolean;
2047
- /** Delay between retries in ms */
2048
- retryDelay?: number | ((attempt: number) => number);
2049
- }
2050
- /**
2051
- * Return type for useMutation hook.
2052
- */
2053
- interface UseMutationReturn<TData, TError, TVariables> {
2054
- /** Current mutation state */
2055
- data: TData | undefined;
2056
- error: TError | undefined;
2057
- isLoading: boolean;
2058
- isSuccess: boolean;
2059
- isError: boolean;
2060
- isIdle: boolean;
2061
- status: MutationState<TData, TError>['status'];
2062
- /** Execute the mutation */
2063
- mutate: (variables: TVariables, options?: {
2064
- onSuccess?: (data: TData) => void;
2065
- onError?: (error: TError) => void;
2066
- onSettled?: (data: TData | undefined, error: TError | undefined) => void;
2067
- }) => void;
2068
- /** Execute the mutation and return a promise */
2069
- mutateAsync: (variables: TVariables) => Promise<TData>;
2070
- /** Reset mutation state */
2071
- reset: () => void;
2072
- }
2073
- /**
2074
- * Hook for handling async mutations with loading/error states.
2075
- *
2076
- * @param mutationFn - Async function to execute
2077
- * @param options - Configuration options
2078
- * @returns Mutation state and control methods
2079
- *
2080
- * @example
2081
- * ```tsx
2082
- * function CreateUserForm() {
2083
- * const createUser = useMutation(
2084
- * async (data: { name: string; email: string }) => {
2085
- * const response = await fetch('/api/users', {
2086
- * method: 'POST',
2087
- * body: JSON.stringify(data),
2088
- * });
2089
- * if (!response.ok) throw new Error('Failed to create user');
2090
- * return response.json();
2091
- * },
2092
- * {
2093
- * onSuccess: (user) => {
2094
- * console.log('User created:', user);
2095
- * },
2096
- * onError: (error) => {
2097
- * console.error('Failed:', error);
2098
- * },
2099
- * }
2100
- * );
2101
- *
2102
- * const handleSubmit = (e: FormEvent) => {
2103
- * e.preventDefault();
2104
- * createUser.mutate({ name: 'John', email: 'john@example.com' });
2105
- * };
2106
- *
2107
- * return (
2108
- * <form onSubmit={handleSubmit}>
2109
- * <button type="submit" disabled={createUser.isLoading}>
2110
- * {createUser.isLoading ? 'Creating...' : 'Create User'}
2111
- * </button>
2112
- * {createUser.isError && <div>Error: {String(createUser.error)}</div>}
2113
- * {createUser.isSuccess && <div>User created!</div>}
2114
- * </form>
2115
- * );
2116
- * }
2117
- * ```
2118
- *
2119
- * @example
2120
- * ```tsx
2121
- * // With async/await
2122
- * async function handleCreate() {
2123
- * try {
2124
- * const user = await createUser.mutateAsync({ name: 'Jane' });
2125
- * navigate(`/users/${user.id}`);
2126
- * } catch (error) {
2127
- * // Error already captured in state
2128
- * }
2129
- * }
2130
- * ```
2131
- *
2132
- * @example
2133
- * ```tsx
2134
- * // With retry
2135
- * const uploadFile = useMutation(
2136
- * async (file: File) => {
2137
- * const formData = new FormData();
2138
- * formData.append('file', file);
2139
- * const response = await fetch('/api/upload', {
2140
- * method: 'POST',
2141
- * body: formData,
2142
- * });
2143
- * if (!response.ok) throw new Error('Upload failed');
2144
- * return response.json();
2145
- * },
2146
- * {
2147
- * retry: 3,
2148
- * retryDelay: (attempt) => attempt * 1000,
2149
- * }
2150
- * );
2151
- * ```
2152
- */
2153
- declare function useMutation<TData = unknown, TError = Error, TVariables = void>(mutationFn: (variables: TVariables) => Promise<TData>, options?: UseMutationOptions<TData, TError, TVariables>): UseMutationReturn<TData, TError, TVariables>;
2154
-
2155
- /**
2156
- * State for a lazy query.
2157
- */
2158
- interface LazyQueryState<TData, TError> {
2159
- /** Query result data */
2160
- data: TData | undefined;
2161
- /** Error from query */
2162
- error: TError | undefined;
2163
- /** Whether query is currently executing */
2164
- isLoading: boolean;
2165
- /** Whether query has succeeded at least once */
2166
- isSuccess: boolean;
2167
- /** Whether query has failed */
2168
- isError: boolean;
2169
- /** Whether query has been called at least once */
2170
- isCalled: boolean;
2171
- /** Whether query is fetching (includes refetch) */
2172
- isFetching: boolean;
2173
- /** Whether this is a refetch */
2174
- isRefetching: boolean;
2175
- }
2176
- /**
2177
- * Options for useLazyQuery hook.
2178
- */
2179
- interface UseLazyQueryOptions<TData, TError, TVariables> {
2180
- /** Called on successful query */
2181
- onSuccess?: (data: TData, variables: TVariables) => void | Promise<void>;
2182
- /** Called on query error */
2183
- onError?: (error: TError, variables: TVariables) => void | Promise<void>;
2184
- /** Called after query settles (success or error) */
2185
- onSettled?: (data: TData | undefined, error: TError | undefined, variables: TVariables) => void | Promise<void>;
2186
- /** Cache time in ms (0 = no cache) */
2187
- cacheTime?: number;
2188
- /** Stale time in ms (data considered fresh for this duration) */
2189
- staleTime?: number;
2190
- /** Retry count on failure */
2191
- retry?: number | boolean;
2192
- /** Delay between retries in ms */
2193
- retryDelay?: number | ((attempt: number) => number);
2194
- /** Initial data */
2195
- initialData?: TData;
2196
- }
2197
- /**
2198
- * Return type for useLazyQuery hook.
2199
- */
2200
- interface UseLazyQueryReturn<TData, TError, TVariables> {
2201
- /** Current query state */
2202
- data: TData | undefined;
2203
- error: TError | undefined;
2204
- isLoading: boolean;
2205
- isSuccess: boolean;
2206
- isError: boolean;
2207
- isCalled: boolean;
2208
- isFetching: boolean;
2209
- isRefetching: boolean;
2210
- /** Execute the query */
2211
- query: (variables: TVariables) => Promise<TData>;
2212
- /** Refetch with last variables */
2213
- refetch: () => Promise<TData | undefined>;
2214
- /** Reset query state */
2215
- reset: () => void;
2216
- /** Manually set data */
2217
- setData: (data: TData | ((prev: TData | undefined) => TData)) => void;
2218
- }
2219
- /**
2220
- * Hook for manual query execution with caching support.
2221
- *
2222
- * @param queryFn - Async function to execute
2223
- * @param options - Configuration options
2224
- * @returns Query state and control methods
2225
- *
2226
- * @example
2227
- * ```tsx
2228
- * function UserSearch() {
2229
- * const users = useLazyQuery(
2230
- * async (query: string) => {
2231
- * const response = await fetch(`/api/users?q=${query}`);
2232
- * if (!response.ok) throw new Error('Search failed');
2233
- * return response.json();
2234
- * },
2235
- * {
2236
- * onSuccess: (data) => console.log('Found users:', data.length),
2237
- * cacheTime: 5 * 60 * 1000, // 5 minutes
2238
- * }
2239
- * );
2240
- *
2241
- * const handleSearch = async (query: string) => {
2242
- * const results = await users.query(query);
2243
- * console.log('Results:', results);
2244
- * };
2245
- *
2246
- * return (
2247
- * <div>
2248
- * <SearchInput onSearch={handleSearch} />
2249
- * {users.isLoading && <Spinner />}
2250
- * {users.isError && <div>Error: {String(users.error)}</div>}
2251
- * {users.data?.map((user) => <UserCard key={user.id} user={user} />)}
2252
- * </div>
2253
- * );
2254
- * }
2255
- * ```
2256
- *
2257
- * @example
2258
- * ```tsx
2259
- * // With caching
2260
- * const userDetails = useLazyQuery(
2261
- * async (id: string) => fetchUser(id),
2262
- * {
2263
- * cacheTime: 10 * 60 * 1000, // Keep in cache for 10 min
2264
- * staleTime: 60 * 1000, // Consider fresh for 1 min
2265
- * }
2266
- * );
2267
- *
2268
- * // First call fetches, subsequent calls within staleTime return cache
2269
- * await userDetails.query('123');
2270
- * await userDetails.query('123'); // Returns from cache if not stale
2271
- * ```
2272
- *
2273
- * @example
2274
- * ```tsx
2275
- * // Manual data management
2276
- * const { data, setData, reset } = useLazyQuery(fetchData);
2277
- *
2278
- * // Optimistic update
2279
- * setData((prev) => prev ? { ...prev, count: prev.count + 1 } : prev);
2280
- *
2281
- * // Reset to clean state
2282
- * reset();
2283
- * ```
2284
- */
2285
- declare function useLazyQuery<TData = unknown, TError = Error, TVariables = void>(queryFn: (variables: TVariables) => Promise<TData>, options?: UseLazyQueryOptions<TData, TError, TVariables>): UseLazyQueryReturn<TData, TError, TVariables>;
2286
-
2287
- /**
2288
- * Page info returned from fetch function.
2289
- */
2290
- interface PageInfo {
2291
- /** Whether there are more pages */
2292
- hasNextPage: boolean;
2293
- /** Cursor or token for next page */
2294
- endCursor?: string | number;
2295
- /** Total count (optional) */
2296
- totalCount?: number;
2297
- }
2298
- /**
2299
- * Page data structure.
2300
- */
2301
- interface InfinitePage<TData> {
2302
- /** Items in this page */
2303
- items: TData[];
2304
- /** Page information */
2305
- pageInfo: PageInfo;
2306
- }
2307
- /**
2308
- * State for infinite scroll.
2309
- */
2310
- interface InfiniteScrollState<TData, TError> {
2311
- /** All loaded items (flattened) */
2312
- items: TData[];
2313
- /** All pages */
2314
- pages: InfinitePage<TData>[];
2315
- /** Error from last fetch */
2316
- error: TError | undefined;
2317
- /** Whether initial load is in progress */
2318
- isLoading: boolean;
2319
- /** Whether more data is being fetched */
2320
- isFetchingMore: boolean;
2321
- /** Whether there are more pages to fetch */
2322
- hasNextPage: boolean;
2323
- /** Whether any data has been loaded */
2324
- isEmpty: boolean;
2325
- /** Total count if available */
2326
- totalCount: number | undefined;
2327
- }
2328
- /**
2329
- * Options for useInfiniteScroll hook.
2330
- */
2331
- interface UseInfiniteScrollOptions<TData, TError> {
2332
- /** Called on successful fetch */
2333
- onSuccess?: (page: InfinitePage<TData>) => void | Promise<void>;
2334
- /** Called on fetch error */
2335
- onError?: (error: TError) => void | Promise<void>;
2336
- /** Initial cursor/offset */
2337
- initialCursor?: string | number;
2338
- /** Initial page size */
2339
- pageSize?: number;
2340
- /** Retry count on failure */
2341
- retry?: number | boolean;
2342
- /** Retry delay in ms */
2343
- retryDelay?: number | ((attempt: number) => number);
2344
- /** Intersection observer options for auto-loading */
2345
- observerOptions?: IntersectionObserverInit;
2346
- }
2347
- /**
2348
- * Return type for useInfiniteScroll hook.
2349
- */
2350
- interface UseInfiniteScrollReturn<TData, TError> {
2351
- /** All loaded items (flattened) */
2352
- items: TData[];
2353
- /** All pages */
2354
- pages: InfinitePage<TData>[];
2355
- /** Error from last fetch */
2356
- error: TError | undefined;
2357
- /** Whether initial load is in progress */
2358
- isLoading: boolean;
2359
- /** Whether more data is being fetched */
2360
- isFetchingMore: boolean;
2361
- /** Whether there are more pages to fetch */
2362
- hasNextPage: boolean;
2363
- /** Whether list is empty */
2364
- isEmpty: boolean;
2365
- /** Total count if available */
2366
- totalCount: number | undefined;
2367
- /** Fetch the next page */
2368
- fetchNextPage: () => Promise<void>;
2369
- /** Fetch first page (refresh) */
2370
- refresh: () => Promise<void>;
2371
- /** Reset to initial state */
2372
- reset: () => void;
2373
- /** Ref to attach to sentinel element for auto-loading */
2374
- sentinelRef: React.RefCallback<HTMLElement>;
2375
- /** Manually prepend items */
2376
- prependItems: (items: TData[]) => void;
2377
- /** Manually append items */
2378
- appendItems: (items: TData[]) => void;
2379
- /** Remove item by predicate */
2380
- removeItem: (predicate: (item: TData) => boolean) => void;
2381
- /** Update item by predicate */
2382
- updateItem: (predicate: (item: TData) => boolean, update: Partial<TData> | ((item: TData) => TData)) => void;
2383
- }
2384
- /**
2385
- * Fetch function signature.
2386
- */
2387
- type InfiniteFetchFn<TData> = (params: {
2388
- cursor?: string | number;
2389
- pageSize: number;
2390
- }) => Promise<InfinitePage<TData>>;
2391
- /**
2392
- * Hook for infinite scrolling with paginated data.
2393
- *
2394
- * @param fetchFn - Function to fetch a page of data
2395
- * @param options - Configuration options
2396
- * @returns Infinite scroll state and controls
2397
- *
2398
- * @example
2399
- * ```tsx
2400
- * function UserList() {
2401
- * const {
2402
- * items,
2403
- * isLoading,
2404
- * isFetchingMore,
2405
- * hasNextPage,
2406
- * fetchNextPage,
2407
- * sentinelRef,
2408
- * } = useInfiniteScroll<User>(
2409
- * async ({ cursor, pageSize }) => {
2410
- * const response = await fetch(
2411
- * `/api/users?cursor=${cursor ?? ''}&limit=${pageSize}`
2412
- * );
2413
- * const data = await response.json();
2414
- * return {
2415
- * items: data.users,
2416
- * pageInfo: {
2417
- * hasNextPage: data.hasMore,
2418
- * endCursor: data.nextCursor,
2419
- * totalCount: data.total,
2420
- * },
2421
- * };
2422
- * },
2423
- * { pageSize: 20 }
2424
- * );
2425
- *
2426
- * if (isLoading) return <Spinner />;
2427
- *
2428
- * return (
2429
- * <div>
2430
- * {items.map((user) => (
2431
- * <UserCard key={user.id} user={user} />
2432
- * ))}
2433
- * {hasNextPage && (
2434
- * <div ref={sentinelRef}>
2435
- * {isFetchingMore ? <Spinner /> : 'Load more'}
2436
- * </div>
2437
- * )}
2438
- * </div>
2439
- * );
2440
- * }
2441
- * ```
2442
- *
2443
- * @example
2444
- * ```tsx
2445
- * // Manual loading
2446
- * function ProductList() {
2447
- * const { items, hasNextPage, fetchNextPage, isFetchingMore } = useInfiniteScroll(
2448
- * fetchProducts,
2449
- * { pageSize: 10 }
2450
- * );
2451
- *
2452
- * return (
2453
- * <>
2454
- * <ProductGrid items={items} />
2455
- * {hasNextPage && (
2456
- * <Button onClick={fetchNextPage} loading={isFetchingMore}>
2457
- * Load More
2458
- * </Button>
2459
- * )}
2460
- * </>
2461
- * );
2462
- * }
2463
- * ```
2464
- *
2465
- * @example
2466
- * ```tsx
2467
- * // With optimistic updates
2468
- * const { items, removeItem, updateItem, prependItems } = useInfiniteScroll(
2469
- * fetchComments,
2470
- * { pageSize: 20 }
2471
- * );
2472
- *
2473
- * // Add new comment at top
2474
- * const handleNewComment = (comment: Comment) => {
2475
- * prependItems([comment]);
2476
- * };
2477
- *
2478
- * // Delete comment
2479
- * const handleDelete = (id: string) => {
2480
- * removeItem((c) => c.id === id);
2481
- * };
2482
- *
2483
- * // Update comment
2484
- * const handleEdit = (id: string, text: string) => {
2485
- * updateItem((c) => c.id === id, { text });
2486
- * };
2487
- * ```
2488
- */
2489
- declare function useInfiniteScroll<TData = unknown, TError = Error>(fetchFn: InfiniteFetchFn<TData>, options?: UseInfiniteScrollOptions<TData, TError>): UseInfiniteScrollReturn<TData, TError>;
2490
-
2491
- export { type UseScrollOffsetTopReturn as $, type ArrowPlacement as A, type BreakpointChecks as B, type CookieOptions as C, type DOMRectValue as D, type UseImageDimensionsReturn as E, type UseInfiniteScrollOptions as F, type UseInfiniteScrollReturn as G, type UseIntersectionObserverOptions as H, type ImageDimensions as I, type UseIntersectionObserverReturn as J, type KeyboardShortcut as K, type LazyQueryState as L, type MutationState as M, type UseKeyboardShortcutOptions as N, type UseLazyQueryOptions as O, type PageInfo as P, type UseLazyQueryReturn as Q, type UseMutationOptions as R, type ScrollElValue as S, type UseMutationReturn as T, type UrlConfigValues as U, type UseOnlineStatusReturn as V, type UsePasswordVisibilityOptions as W, type UsePasswordVisibilityReturn as X, type UsePopoverHoverReturn as Y, type UsePopoverReturn as Z, type UseResponsiveQueryReturn as _, type AsyncState as a, type UseScrollPositionOptions as a0, type UseSessionStorageOptions as a1, type UseSessionStorageReturn as a2, type UseThrottleOptions as a3, type UseWindowSizeOptions as a4, type WindowSize as a5, cookiesAvailable as a6, getCookie as a7, removeCookie as a8, setCookie as a9, usePopoverHover as aA, useResponsiveQuery as aB, useScrollLock as aC, useScrollOffsetTop as aD, useScrollPosition as aE, useScrollToTop as aF, useSessionStorage as aG, useThrottle as aH, useThrottleCallback as aI, useUpdateEffect as aJ, useUpdateLayoutEffect as aK, useWindowSize as aL, useArray as aa, useAsync as ab, useAsyncFn as ac, useBackToTop as ad, useBreakpoint as ae, useBreakpointChecks as af, useClientRect as ag, useConfigFromQuery as ah, useCookies as ai, useCountdownDate as aj, useCountdownSeconds as ak, useDoubleClick as al, useEnterKey as am, useEscapeKey as an, useFocusTrap as ao, useImageDimensions as ap, useInfiniteScroll as aq, useIntersectionObserver as ar, useIsomorphicLayoutEffect as as, useKeyboardShortcut as at, useLazyQuery as au, useMultipleImageDimensions as av, useMutation as aw, useOnlineStatus as ax, usePasswordVisibility as ay, usePopover as az, type Breakpoints as b, CustomPopover as c, type CustomPopoverProps as d, type InfiniteFetchFn as e, type InfinitePage as f, type InfiniteScrollState as g, type PopoverArrowProps as h, type ScrollPosition as i, type UseArrayReturn as j, type UseAsyncFnReturn as k, type UseAsyncOptions as l, type UseAsyncReturn as m, type UseBackToTopReturn as n, type UseClientRectReturn as o, type UseConfigFromQueryOptions as p, type UseConfigFromQueryReturn as q, type UseCookiesOptions as r, type UseCookiesReturn as s, type UseCountdownDateReturn as t, type UseCountdownSecondsReturn as u, type UseDoubleClickProps as v, type UseDoubleClickReturn as w, type UseFocusTrapOptions as x, type UseFocusTrapReturn as y, type UseImageDimensionsOptions as z };