@alneas/appkit-react 0.1.0 → 0.2.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 (659) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +85 -15
  3. package/consumer-ai/SKILL.md +12 -0
  4. package/consumer-ai/api-index.json +103754 -0
  5. package/consumer-ai/package-context.json +409 -0
  6. package/dist/ai/action/ExecutionHistory.cjs.map +1 -1
  7. package/dist/ai/action/ExecutionHistory.d.cts +32 -2
  8. package/dist/ai/action/ExecutionHistory.d.ts +32 -2
  9. package/dist/ai/action/ExecutionHistory.js.map +1 -1
  10. package/dist/ai/action/ScreenActionContext.cjs.map +1 -1
  11. package/dist/ai/action/ScreenActionContext.d.cts +15 -2
  12. package/dist/ai/action/ScreenActionContext.d.ts +15 -2
  13. package/dist/ai/action/ScreenActionContext.js.map +1 -1
  14. package/dist/ai/action/context.cjs.map +1 -1
  15. package/dist/ai/action/context.d.cts +19 -3
  16. package/dist/ai/action/context.d.ts +19 -3
  17. package/dist/ai/action/context.js.map +1 -1
  18. package/dist/ai/action/types.d.cts +35 -3
  19. package/dist/ai/action/types.d.ts +35 -3
  20. package/dist/ai/action/use-execution-session.cjs.map +1 -1
  21. package/dist/ai/action/use-execution-session.d.cts +17 -1
  22. package/dist/ai/action/use-execution-session.d.ts +17 -1
  23. package/dist/ai/action/use-execution-session.js.map +1 -1
  24. package/dist/ai/action/use-screen-action-registry.cjs.map +1 -1
  25. package/dist/ai/action/use-screen-action-registry.d.cts +77 -8
  26. package/dist/ai/action/use-screen-action-registry.d.ts +77 -8
  27. package/dist/ai/action/use-screen-action-registry.js.map +1 -1
  28. package/dist/ai/action/use-screen-action.cjs.map +1 -1
  29. package/dist/ai/action/use-screen-action.d.cts +23 -6
  30. package/dist/ai/action/use-screen-action.d.ts +23 -6
  31. package/dist/ai/action/use-screen-action.js.map +1 -1
  32. package/dist/ai/action/use-screen-context.cjs.map +1 -1
  33. package/dist/ai/action/use-screen-context.d.cts +42 -5
  34. package/dist/ai/action/use-screen-context.d.ts +42 -5
  35. package/dist/ai/action/use-screen-context.js.map +1 -1
  36. package/dist/ai/ai-chat/transport.cjs.map +1 -1
  37. package/dist/ai/ai-chat/transport.d.cts +35 -8
  38. package/dist/ai/ai-chat/transport.d.ts +35 -8
  39. package/dist/ai/ai-chat/transport.js.map +1 -1
  40. package/dist/ai/generative-ui/GenerativeUIRenderer.cjs.map +1 -1
  41. package/dist/ai/generative-ui/GenerativeUIRenderer.d.cts +21 -3
  42. package/dist/ai/generative-ui/GenerativeUIRenderer.d.ts +21 -3
  43. package/dist/ai/generative-ui/GenerativeUIRenderer.js.map +1 -1
  44. package/dist/ai/generative-ui/error-boundary.cjs.map +1 -1
  45. package/dist/ai/generative-ui/error-boundary.d.cts +98 -2
  46. package/dist/ai/generative-ui/error-boundary.d.ts +98 -2
  47. package/dist/ai/generative-ui/error-boundary.js.map +1 -1
  48. package/dist/ai/generative-ui/registry.cjs.map +1 -1
  49. package/dist/ai/generative-ui/registry.d.cts +96 -7
  50. package/dist/ai/generative-ui/registry.d.ts +96 -7
  51. package/dist/ai/generative-ui/registry.js.map +1 -1
  52. package/dist/ai/proposal/ProposalFieldReview.cjs.map +1 -1
  53. package/dist/ai/proposal/ProposalFieldReview.d.cts +170 -8
  54. package/dist/ai/proposal/ProposalFieldReview.d.ts +170 -8
  55. package/dist/ai/proposal/ProposalFieldReview.js.map +1 -1
  56. package/dist/ai/proposal/types.d.cts +97 -26
  57. package/dist/ai/proposal/types.d.ts +97 -26
  58. package/dist/ai/proposal/use-proposal-batch-review.cjs.map +1 -1
  59. package/dist/ai/proposal/use-proposal-batch-review.d.cts +133 -7
  60. package/dist/ai/proposal/use-proposal-batch-review.d.ts +133 -7
  61. package/dist/ai/proposal/use-proposal-batch-review.js.map +1 -1
  62. package/dist/ai/proposal/use-proposal-review.cjs.map +1 -1
  63. package/dist/ai/proposal/use-proposal-review.d.cts +47 -5
  64. package/dist/ai/proposal/use-proposal-review.d.ts +47 -5
  65. package/dist/ai/proposal/use-proposal-review.js.map +1 -1
  66. package/dist/avatar.svg +1 -0
  67. package/dist/consumer-ai/SKILL.md +6 -0
  68. package/dist/consumer-ai/api-index.json +103754 -0
  69. package/dist/consumer-ai/package-context.json +5 -3
  70. package/dist/mockServiceWorker.js +361 -0
  71. package/dist/styles.css +1 -1
  72. package/dist/tools/components/auth/AuthForms.cjs.map +1 -1
  73. package/dist/tools/components/auth/AuthForms.d.cts +131 -81
  74. package/dist/tools/components/auth/AuthForms.d.ts +131 -81
  75. package/dist/tools/components/auth/AuthForms.js.map +1 -1
  76. package/dist/tools/components/auth/AuthGuard.cjs.map +1 -1
  77. package/dist/tools/components/auth/AuthGuard.d.cts +31 -4
  78. package/dist/tools/components/auth/AuthGuard.d.ts +31 -4
  79. package/dist/tools/components/auth/AuthGuard.js.map +1 -1
  80. package/dist/tools/components/auth/AuthProvider.cjs.map +1 -1
  81. package/dist/tools/components/auth/AuthProvider.d.cts +39 -42
  82. package/dist/tools/components/auth/AuthProvider.d.ts +39 -42
  83. package/dist/tools/components/auth/AuthProvider.js.map +1 -1
  84. package/dist/tools/components/auth/ProtectedRoute.cjs.map +1 -1
  85. package/dist/tools/components/auth/ProtectedRoute.d.cts +75 -60
  86. package/dist/tools/components/auth/ProtectedRoute.d.ts +75 -60
  87. package/dist/tools/components/auth/ProtectedRoute.js.map +1 -1
  88. package/dist/tools/components/auth/SignInButton.cjs.map +1 -1
  89. package/dist/tools/components/auth/SignInButton.d.cts +26 -18
  90. package/dist/tools/components/auth/SignInButton.d.ts +26 -18
  91. package/dist/tools/components/auth/SignInButton.js.map +1 -1
  92. package/dist/tools/components/auth/UserProfileProvider.cjs.map +1 -1
  93. package/dist/tools/components/auth/UserProfileProvider.d.cts +48 -20
  94. package/dist/tools/components/auth/UserProfileProvider.d.ts +48 -20
  95. package/dist/tools/components/auth/UserProfileProvider.js.map +1 -1
  96. package/dist/tools/components/auth/adapters/better-auth-adapter.cjs.map +1 -1
  97. package/dist/tools/components/auth/adapters/better-auth-adapter.d.cts +371 -51
  98. package/dist/tools/components/auth/adapters/better-auth-adapter.d.ts +371 -51
  99. package/dist/tools/components/auth/adapters/better-auth-adapter.js.map +1 -1
  100. package/dist/tools/components/auth/adapters/mock-adapter.cjs.map +1 -1
  101. package/dist/tools/components/auth/adapters/mock-adapter.d.cts +149 -28
  102. package/dist/tools/components/auth/adapters/mock-adapter.d.ts +149 -28
  103. package/dist/tools/components/auth/adapters/mock-adapter.js.map +1 -1
  104. package/dist/tools/components/auth/auth-session.cjs.map +1 -1
  105. package/dist/tools/components/auth/auth-session.d.cts +147 -1
  106. package/dist/tools/components/auth/auth-session.d.ts +147 -1
  107. package/dist/tools/components/auth/auth-session.js.map +1 -1
  108. package/dist/tools/components/auth/session-cache.cjs.map +1 -1
  109. package/dist/tools/components/auth/session-cache.d.cts +88 -24
  110. package/dist/tools/components/auth/session-cache.d.ts +88 -24
  111. package/dist/tools/components/auth/session-cache.js.map +1 -1
  112. package/dist/tools/components/auth/types.cjs.map +1 -1
  113. package/dist/tools/components/auth/types.d.cts +329 -106
  114. package/dist/tools/components/auth/types.d.ts +329 -106
  115. package/dist/tools/components/auth/types.js.map +1 -1
  116. package/dist/tools/components/auth/useAuth.cjs.map +1 -1
  117. package/dist/tools/components/auth/useAuth.d.cts +110 -17
  118. package/dist/tools/components/auth/useAuth.d.ts +110 -17
  119. package/dist/tools/components/auth/useAuth.js.map +1 -1
  120. package/dist/tools/components/auth/useAuthGuard.cjs.map +1 -1
  121. package/dist/tools/components/auth/useAuthGuard.d.cts +49 -38
  122. package/dist/tools/components/auth/useAuthGuard.d.ts +49 -38
  123. package/dist/tools/components/auth/useAuthGuard.js.map +1 -1
  124. package/dist/tools/components/auth/useRoleCheck.cjs.map +1 -1
  125. package/dist/tools/components/auth/useRoleCheck.d.cts +48 -1
  126. package/dist/tools/components/auth/useRoleCheck.d.ts +48 -1
  127. package/dist/tools/components/auth/useRoleCheck.js.map +1 -1
  128. package/dist/tools/components/auth/useUserProfile.cjs.map +1 -1
  129. package/dist/tools/components/auth/useUserProfile.d.cts +66 -1
  130. package/dist/tools/components/auth/useUserProfile.d.ts +66 -1
  131. package/dist/tools/components/auth/useUserProfile.js.map +1 -1
  132. package/dist/tools/components/barcode/BarcodeGenerator.cjs.map +1 -1
  133. package/dist/tools/components/barcode/BarcodeGenerator.d.cts +32 -18
  134. package/dist/tools/components/barcode/BarcodeGenerator.d.ts +32 -18
  135. package/dist/tools/components/barcode/BarcodeGenerator.js.map +1 -1
  136. package/dist/tools/components/barcode/QRCodeGenerator.cjs +1 -1
  137. package/dist/tools/components/barcode/QRCodeGenerator.cjs.map +1 -1
  138. package/dist/tools/components/barcode/QRCodeGenerator.d.cts +20 -13
  139. package/dist/tools/components/barcode/QRCodeGenerator.d.ts +20 -13
  140. package/dist/tools/components/barcode/QRCodeGenerator.js +1 -1
  141. package/dist/tools/components/barcode/QRCodeGenerator.js.map +1 -1
  142. package/dist/tools/components/barcode/QRCodeScanner.cjs.map +1 -1
  143. package/dist/tools/components/barcode/QRCodeScanner.d.cts +32 -1
  144. package/dist/tools/components/barcode/QRCodeScanner.d.ts +32 -1
  145. package/dist/tools/components/barcode/QRCodeScanner.js.map +1 -1
  146. package/dist/tools/components/calendar/ResourceCalendar.cjs.map +1 -1
  147. package/dist/tools/components/calendar/ResourceCalendar.d.cts +17 -42
  148. package/dist/tools/components/calendar/ResourceCalendar.d.ts +17 -42
  149. package/dist/tools/components/calendar/ResourceCalendar.js.map +1 -1
  150. package/dist/tools/components/calendar/views/ResourceView.cjs +1 -1
  151. package/dist/tools/components/calendar/views/ResourceView.cjs.map +1 -1
  152. package/dist/tools/components/calendar/views/ResourceView.js +2 -2
  153. package/dist/tools/components/calendar/views/ResourceView.js.map +1 -1
  154. package/dist/tools/components/chart/ComposedChart.cjs.map +1 -1
  155. package/dist/tools/components/chart/ComposedChart.d.cts +54 -1
  156. package/dist/tools/components/chart/ComposedChart.d.ts +54 -1
  157. package/dist/tools/components/chart/ComposedChart.js.map +1 -1
  158. package/dist/tools/components/chart/SimpleAreaChart.cjs.map +1 -1
  159. package/dist/tools/components/chart/SimpleAreaChart.d.cts +41 -1
  160. package/dist/tools/components/chart/SimpleAreaChart.d.ts +41 -1
  161. package/dist/tools/components/chart/SimpleAreaChart.js.map +1 -1
  162. package/dist/tools/components/chart/SimpleBarChart.cjs.map +1 -1
  163. package/dist/tools/components/chart/SimpleBarChart.d.cts +34 -24
  164. package/dist/tools/components/chart/SimpleBarChart.d.ts +34 -24
  165. package/dist/tools/components/chart/SimpleBarChart.js.map +1 -1
  166. package/dist/tools/components/chart/SimpleLineChart.cjs.map +1 -1
  167. package/dist/tools/components/chart/SimpleLineChart.d.cts +31 -28
  168. package/dist/tools/components/chart/SimpleLineChart.d.ts +31 -28
  169. package/dist/tools/components/chart/SimpleLineChart.js.map +1 -1
  170. package/dist/tools/components/chart/SimplePieChart.cjs.map +1 -1
  171. package/dist/tools/components/chart/SimplePieChart.d.cts +28 -22
  172. package/dist/tools/components/chart/SimplePieChart.d.ts +28 -22
  173. package/dist/tools/components/chart/SimplePieChart.js.map +1 -1
  174. package/dist/tools/components/chart/SimpleRadarChart.cjs.map +1 -1
  175. package/dist/tools/components/chart/SimpleRadarChart.d.cts +38 -1
  176. package/dist/tools/components/chart/SimpleRadarChart.d.ts +38 -1
  177. package/dist/tools/components/chart/SimpleRadarChart.js.map +1 -1
  178. package/dist/tools/components/chart/SimpleScatterChart.cjs.map +1 -1
  179. package/dist/tools/components/chart/SimpleScatterChart.d.cts +44 -1
  180. package/dist/tools/components/chart/SimpleScatterChart.d.ts +44 -1
  181. package/dist/tools/components/chart/SimpleScatterChart.js.map +1 -1
  182. package/dist/tools/components/chart/StackedBarChart.cjs.map +1 -1
  183. package/dist/tools/components/chart/StackedBarChart.d.cts +38 -1
  184. package/dist/tools/components/chart/StackedBarChart.d.ts +38 -1
  185. package/dist/tools/components/chart/StackedBarChart.js.map +1 -1
  186. package/dist/tools/components/data-table/data-table.cjs +1 -1
  187. package/dist/tools/components/data-table/data-table.cjs.map +1 -1
  188. package/dist/tools/components/data-table/data-table.js +286 -263
  189. package/dist/tools/components/data-table/data-table.js.map +1 -1
  190. package/dist/tools/components/data-table/table-utils.cjs.map +1 -1
  191. package/dist/tools/components/data-table/table-utils.d.cts +45 -35
  192. package/dist/tools/components/data-table/table-utils.d.ts +45 -35
  193. package/dist/tools/components/data-table/table-utils.js.map +1 -1
  194. package/dist/tools/components/editable-table/editable-table.cjs +1 -1
  195. package/dist/tools/components/editable-table/editable-table.cjs.map +1 -1
  196. package/dist/tools/components/editable-table/editable-table.js +15 -2
  197. package/dist/tools/components/editable-table/editable-table.js.map +1 -1
  198. package/dist/tools/components/error/ErrorDialog.cjs +1 -1
  199. package/dist/tools/components/error/ErrorDialog.cjs.map +1 -1
  200. package/dist/tools/components/error/ErrorDialog.js +1 -1
  201. package/dist/tools/components/error/ErrorDialog.js.map +1 -1
  202. package/dist/tools/components/error/ErrorInline.cjs +1 -1
  203. package/dist/tools/components/error/ErrorInline.cjs.map +1 -1
  204. package/dist/tools/components/error/ErrorInline.js +1 -1
  205. package/dist/tools/components/error/ErrorInline.js.map +1 -1
  206. package/dist/tools/components/error/ErrorNotification.cjs +1 -1
  207. package/dist/tools/components/error/ErrorNotification.cjs.map +1 -1
  208. package/dist/tools/components/error/ErrorNotification.js +10 -10
  209. package/dist/tools/components/error/ErrorNotification.js.map +1 -1
  210. package/dist/tools/components/file-browser/FilePreview.cjs +1 -1
  211. package/dist/tools/components/file-browser/FilePreview.cjs.map +1 -1
  212. package/dist/tools/components/file-browser/FilePreview.js +28 -26
  213. package/dist/tools/components/file-browser/FilePreview.js.map +1 -1
  214. package/dist/tools/components/filter/filter.cjs.map +1 -1
  215. package/dist/tools/components/filter/filter.d.cts +23 -34
  216. package/dist/tools/components/filter/filter.d.ts +23 -34
  217. package/dist/tools/components/filter/filter.js.map +1 -1
  218. package/dist/tools/components/form/EnhancedDetailPage.cjs.map +1 -1
  219. package/dist/tools/components/form/EnhancedDetailPage.d.cts +47 -42
  220. package/dist/tools/components/form/EnhancedDetailPage.d.ts +47 -42
  221. package/dist/tools/components/form/EnhancedDetailPage.js.map +1 -1
  222. package/dist/tools/components/form/form-grid.cjs.map +1 -1
  223. package/dist/tools/components/form/form-grid.d.cts +44 -22
  224. package/dist/tools/components/form/form-grid.d.ts +44 -22
  225. package/dist/tools/components/form/form-grid.js.map +1 -1
  226. package/dist/tools/components/gantt/GanttChart.cjs +1 -1
  227. package/dist/tools/components/gantt/GanttChart.cjs.map +1 -1
  228. package/dist/tools/components/gantt/GanttChart.d.cts +20 -1
  229. package/dist/tools/components/gantt/GanttChart.d.ts +20 -1
  230. package/dist/tools/components/gantt/GanttChart.js +3 -0
  231. package/dist/tools/components/gantt/GanttChart.js.map +1 -1
  232. package/dist/tools/components/gantt/components/GanttTaskBar.cjs +1 -1
  233. package/dist/tools/components/gantt/components/GanttTaskBar.cjs.map +1 -1
  234. package/dist/tools/components/gantt/components/GanttTaskBar.js +2 -1
  235. package/dist/tools/components/gantt/components/GanttTaskBar.js.map +1 -1
  236. package/dist/tools/components/header/header.cjs +1 -1
  237. package/dist/tools/components/header/header.cjs.map +1 -1
  238. package/dist/tools/components/header/header.d.cts +103 -40
  239. package/dist/tools/components/header/header.d.ts +103 -40
  240. package/dist/tools/components/header/header.js +1 -1
  241. package/dist/tools/components/header/header.js.map +1 -1
  242. package/dist/tools/components/i18n/LanguageSwitcher.cjs.map +1 -1
  243. package/dist/tools/components/i18n/LanguageSwitcher.d.cts +18 -14
  244. package/dist/tools/components/i18n/LanguageSwitcher.d.ts +18 -14
  245. package/dist/tools/components/i18n/LanguageSwitcher.js.map +1 -1
  246. package/dist/tools/components/kanban/KanbanBoard.cjs +1 -1
  247. package/dist/tools/components/kanban/KanbanBoard.cjs.map +1 -1
  248. package/dist/tools/components/kanban/KanbanBoard.d.cts +16 -34
  249. package/dist/tools/components/kanban/KanbanBoard.d.ts +16 -34
  250. package/dist/tools/components/kanban/KanbanBoard.js +3 -0
  251. package/dist/tools/components/kanban/KanbanBoard.js.map +1 -1
  252. package/dist/tools/components/kanban/KanbanColumn.cjs +1 -1
  253. package/dist/tools/components/kanban/KanbanColumn.cjs.map +1 -1
  254. package/dist/tools/components/kanban/KanbanColumn.js +1 -1
  255. package/dist/tools/components/kanban/KanbanColumn.js.map +1 -1
  256. package/dist/tools/components/kanban/kanban-compound.cjs +1 -1
  257. package/dist/tools/components/kanban/kanban-compound.cjs.map +1 -1
  258. package/dist/tools/components/kanban/kanban-compound.js +4 -1
  259. package/dist/tools/components/kanban/kanban-compound.js.map +1 -1
  260. package/dist/tools/components/kanban/kanban-primitives.cjs +1 -1
  261. package/dist/tools/components/kanban/kanban-primitives.cjs.map +1 -1
  262. package/dist/tools/components/kanban/kanban-primitives.js +0 -1
  263. package/dist/tools/components/kanban/kanban-primitives.js.map +1 -1
  264. package/dist/tools/components/priority-queue/PriorityCard.cjs +1 -1
  265. package/dist/tools/components/priority-queue/PriorityCard.cjs.map +1 -1
  266. package/dist/tools/components/priority-queue/PriorityCard.js +3 -1
  267. package/dist/tools/components/priority-queue/PriorityCard.js.map +1 -1
  268. package/dist/tools/components/sidebar/SmartSidebar.cjs.map +1 -1
  269. package/dist/tools/components/sidebar/SmartSidebar.d.cts +41 -43
  270. package/dist/tools/components/sidebar/SmartSidebar.d.ts +41 -43
  271. package/dist/tools/components/sidebar/SmartSidebar.js.map +1 -1
  272. package/dist/tools/components/splash/SplashScreen.cjs.map +1 -1
  273. package/dist/tools/components/splash/SplashScreen.d.cts +43 -68
  274. package/dist/tools/components/splash/SplashScreen.d.ts +43 -68
  275. package/dist/tools/components/splash/SplashScreen.js.map +1 -1
  276. package/dist/tools/components/workflow/WorkflowStatusPanel.cjs +1 -1
  277. package/dist/tools/components/workflow/WorkflowStatusPanel.cjs.map +1 -1
  278. package/dist/tools/components/workflow/WorkflowStatusPanel.js +2 -2
  279. package/dist/tools/components/workflow/WorkflowStatusPanel.js.map +1 -1
  280. package/dist/tools/lib/data-access/data-access-context.cjs.map +1 -1
  281. package/dist/tools/lib/data-access/data-access-context.d.cts +15 -6
  282. package/dist/tools/lib/data-access/data-access-context.d.ts +15 -6
  283. package/dist/tools/lib/data-access/data-access-context.js.map +1 -1
  284. package/dist/tools/lib/data-access/react-query-provider.cjs.map +1 -1
  285. package/dist/tools/lib/data-access/react-query-provider.d.cts +19 -2
  286. package/dist/tools/lib/data-access/react-query-provider.d.ts +19 -2
  287. package/dist/tools/lib/data-access/react-query-provider.js.map +1 -1
  288. package/dist/tools/lib/data-access/react-query.cjs.map +1 -1
  289. package/dist/tools/lib/data-access/react-query.d.cts +365 -90
  290. package/dist/tools/lib/data-access/react-query.d.ts +365 -90
  291. package/dist/tools/lib/data-access/react-query.js.map +1 -1
  292. package/dist/tools/lib/error/AppError.cjs.map +1 -1
  293. package/dist/tools/lib/error/AppError.d.cts +157 -63
  294. package/dist/tools/lib/error/AppError.d.ts +157 -63
  295. package/dist/tools/lib/error/AppError.js.map +1 -1
  296. package/dist/tools/lib/hooks/useAsyncWithTimeout.cjs.map +1 -1
  297. package/dist/tools/lib/hooks/useAsyncWithTimeout.d.cts +79 -26
  298. package/dist/tools/lib/hooks/useAsyncWithTimeout.d.ts +79 -26
  299. package/dist/tools/lib/hooks/useAsyncWithTimeout.js.map +1 -1
  300. package/dist/tools/lib/hooks/useError.cjs.map +1 -1
  301. package/dist/tools/lib/hooks/useError.d.cts +51 -16
  302. package/dist/tools/lib/hooks/useError.d.ts +51 -16
  303. package/dist/tools/lib/hooks/useError.js.map +1 -1
  304. package/dist/tools/lib/schema/ajv.cjs +1 -1
  305. package/dist/tools/lib/schema/ajv.cjs.map +1 -1
  306. package/dist/tools/lib/schema/ajv.d.cts +19 -8
  307. package/dist/tools/lib/schema/ajv.d.ts +19 -8
  308. package/dist/tools/lib/schema/ajv.js +2 -1
  309. package/dist/tools/lib/schema/ajv.js.map +1 -1
  310. package/dist/tools/lib/state/error-store.cjs.map +1 -1
  311. package/dist/tools/lib/state/error-store.d.cts +61 -10
  312. package/dist/tools/lib/state/error-store.d.ts +61 -10
  313. package/dist/tools/lib/state/error-store.js.map +1 -1
  314. package/dist/tools/lib/state/store-factory.cjs.map +1 -1
  315. package/dist/tools/lib/state/store-factory.d.cts +25 -4
  316. package/dist/tools/lib/state/store-factory.d.ts +25 -4
  317. package/dist/tools/lib/state/store-factory.js.map +1 -1
  318. package/dist/tools/lib/state/ui-store.cjs.map +1 -1
  319. package/dist/tools/lib/state/ui-store.d.cts +39 -0
  320. package/dist/tools/lib/state/ui-store.d.ts +39 -0
  321. package/dist/tools/lib/state/ui-store.js.map +1 -1
  322. package/dist/ui/components/theme/theme-context.cjs.map +1 -1
  323. package/dist/ui/components/theme/theme-context.d.cts +171 -1
  324. package/dist/ui/components/theme/theme-context.d.ts +171 -1
  325. package/dist/ui/components/theme/theme-context.js.map +1 -1
  326. package/dist/ui/components/theme/theme-provider.cjs.map +1 -1
  327. package/dist/ui/components/theme/theme-provider.d.cts +31 -19
  328. package/dist/ui/components/theme/theme-provider.d.ts +31 -19
  329. package/dist/ui/components/theme/theme-provider.js.map +1 -1
  330. package/dist/ui/components/theme/theme-script.cjs.map +1 -1
  331. package/dist/ui/components/theme/theme-script.d.cts +16 -1
  332. package/dist/ui/components/theme/theme-script.d.ts +16 -1
  333. package/dist/ui/components/theme/theme-script.js.map +1 -1
  334. package/dist/ui/components/theme/theme-switcher.cjs +1 -1
  335. package/dist/ui/components/theme/theme-switcher.cjs.map +1 -1
  336. package/dist/ui/components/theme/theme-switcher.d.cts +82 -13
  337. package/dist/ui/components/theme/theme-switcher.d.ts +82 -13
  338. package/dist/ui/components/theme/theme-switcher.js +8 -0
  339. package/dist/ui/components/theme/theme-switcher.js.map +1 -1
  340. package/dist/ui/components/ui/accordion.cjs.map +1 -1
  341. package/dist/ui/components/ui/accordion.d.cts +60 -0
  342. package/dist/ui/components/ui/accordion.d.ts +60 -0
  343. package/dist/ui/components/ui/accordion.js.map +1 -1
  344. package/dist/ui/components/ui/adjustable-pane.cjs.map +1 -1
  345. package/dist/ui/components/ui/adjustable-pane.d.cts +44 -26
  346. package/dist/ui/components/ui/adjustable-pane.d.ts +44 -26
  347. package/dist/ui/components/ui/adjustable-pane.js.map +1 -1
  348. package/dist/ui/components/ui/alert-dialog.cjs.map +1 -1
  349. package/dist/ui/components/ui/alert-dialog.d.cts +179 -2
  350. package/dist/ui/components/ui/alert-dialog.d.ts +179 -2
  351. package/dist/ui/components/ui/alert-dialog.js.map +1 -1
  352. package/dist/ui/components/ui/alert.cjs.map +1 -1
  353. package/dist/ui/components/ui/alert.d.cts +52 -4
  354. package/dist/ui/components/ui/alert.d.ts +52 -4
  355. package/dist/ui/components/ui/alert.js.map +1 -1
  356. package/dist/ui/components/ui/aspect-ratio.cjs.map +1 -1
  357. package/dist/ui/components/ui/aspect-ratio.d.cts +16 -1
  358. package/dist/ui/components/ui/aspect-ratio.d.ts +16 -1
  359. package/dist/ui/components/ui/aspect-ratio.js.map +1 -1
  360. package/dist/ui/components/ui/avatar.cjs.map +1 -1
  361. package/dist/ui/components/ui/avatar.d.cts +87 -3
  362. package/dist/ui/components/ui/avatar.d.ts +87 -3
  363. package/dist/ui/components/ui/avatar.js.map +1 -1
  364. package/dist/ui/components/ui/badge-components.cjs.map +1 -1
  365. package/dist/ui/components/ui/badge-components.d.cts +13 -1
  366. package/dist/ui/components/ui/badge-components.d.ts +13 -1
  367. package/dist/ui/components/ui/badge-components.js.map +1 -1
  368. package/dist/ui/components/ui/badge-variants.cjs.map +1 -1
  369. package/dist/ui/components/ui/badge-variants.d.cts +15 -0
  370. package/dist/ui/components/ui/badge-variants.d.ts +15 -0
  371. package/dist/ui/components/ui/badge-variants.js.map +1 -1
  372. package/dist/ui/components/ui/breadcrumb.cjs.map +1 -1
  373. package/dist/ui/components/ui/breadcrumb.d.cts +91 -7
  374. package/dist/ui/components/ui/breadcrumb.d.ts +91 -7
  375. package/dist/ui/components/ui/breadcrumb.js.map +1 -1
  376. package/dist/ui/components/ui/button-components.cjs.map +1 -1
  377. package/dist/ui/components/ui/button-components.d.cts +18 -6
  378. package/dist/ui/components/ui/button-components.d.ts +18 -6
  379. package/dist/ui/components/ui/button-components.js.map +1 -1
  380. package/dist/ui/components/ui/button-group-components.cjs.map +1 -1
  381. package/dist/ui/components/ui/button-group-components.d.cts +39 -3
  382. package/dist/ui/components/ui/button-group-components.d.ts +39 -3
  383. package/dist/ui/components/ui/button-group-components.js.map +1 -1
  384. package/dist/ui/components/ui/button-group-variants.cjs.map +1 -1
  385. package/dist/ui/components/ui/button-group-variants.d.cts +15 -0
  386. package/dist/ui/components/ui/button-group-variants.d.ts +15 -0
  387. package/dist/ui/components/ui/button-group-variants.js.map +1 -1
  388. package/dist/ui/components/ui/button-variants.cjs.map +1 -1
  389. package/dist/ui/components/ui/button-variants.d.cts +13 -2
  390. package/dist/ui/components/ui/button-variants.d.ts +13 -2
  391. package/dist/ui/components/ui/button-variants.js.map +1 -1
  392. package/dist/ui/components/ui/card.cjs.map +1 -1
  393. package/dist/ui/components/ui/card.d.cts +106 -2
  394. package/dist/ui/components/ui/card.d.ts +106 -2
  395. package/dist/ui/components/ui/card.js.map +1 -1
  396. package/dist/ui/components/ui/checkbox-group.cjs.map +1 -1
  397. package/dist/ui/components/ui/checkbox-group.d.cts +13 -1
  398. package/dist/ui/components/ui/checkbox-group.d.ts +13 -1
  399. package/dist/ui/components/ui/checkbox-group.js.map +1 -1
  400. package/dist/ui/components/ui/checkbox.cjs.map +1 -1
  401. package/dist/ui/components/ui/checkbox.d.cts +17 -6
  402. package/dist/ui/components/ui/checkbox.d.ts +17 -6
  403. package/dist/ui/components/ui/checkbox.js.map +1 -1
  404. package/dist/ui/components/ui/collapsible.cjs.map +1 -1
  405. package/dist/ui/components/ui/collapsible.d.cts +39 -3
  406. package/dist/ui/components/ui/collapsible.d.ts +39 -3
  407. package/dist/ui/components/ui/collapsible.js.map +1 -1
  408. package/dist/ui/components/ui/combobox-components.cjs.map +1 -1
  409. package/dist/ui/components/ui/combobox-components.d.cts +209 -14
  410. package/dist/ui/components/ui/combobox-components.d.ts +209 -14
  411. package/dist/ui/components/ui/combobox-components.js.map +1 -1
  412. package/dist/ui/components/ui/combobox-hooks.cjs.map +1 -1
  413. package/dist/ui/components/ui/combobox-hooks.d.cts +13 -1
  414. package/dist/ui/components/ui/combobox-hooks.d.ts +13 -1
  415. package/dist/ui/components/ui/combobox-hooks.js.map +1 -1
  416. package/dist/ui/components/ui/command.cjs.map +1 -1
  417. package/dist/ui/components/ui/command.d.cts +132 -9
  418. package/dist/ui/components/ui/command.d.ts +132 -9
  419. package/dist/ui/components/ui/command.js.map +1 -1
  420. package/dist/ui/components/ui/context-menu.cjs.map +1 -1
  421. package/dist/ui/components/ui/context-menu.d.cts +233 -2
  422. package/dist/ui/components/ui/context-menu.d.ts +233 -2
  423. package/dist/ui/components/ui/context-menu.js.map +1 -1
  424. package/dist/ui/components/ui/dialog.cjs.map +1 -1
  425. package/dist/ui/components/ui/dialog.d.cts +157 -5
  426. package/dist/ui/components/ui/dialog.d.ts +157 -5
  427. package/dist/ui/components/ui/dialog.js.map +1 -1
  428. package/dist/ui/components/ui/drawer.cjs.map +1 -1
  429. package/dist/ui/components/ui/drawer.d.cts +130 -10
  430. package/dist/ui/components/ui/drawer.d.ts +130 -10
  431. package/dist/ui/components/ui/drawer.js.map +1 -1
  432. package/dist/ui/components/ui/dropdown-menu.cjs.map +1 -1
  433. package/dist/ui/components/ui/dropdown-menu.d.cts +225 -6
  434. package/dist/ui/components/ui/dropdown-menu.d.ts +225 -6
  435. package/dist/ui/components/ui/dropdown-menu.js.map +1 -1
  436. package/dist/ui/components/ui/empty.cjs.map +1 -1
  437. package/dist/ui/components/ui/empty.d.cts +78 -6
  438. package/dist/ui/components/ui/empty.d.ts +78 -6
  439. package/dist/ui/components/ui/empty.js.map +1 -1
  440. package/dist/ui/components/ui/field.cjs.map +1 -1
  441. package/dist/ui/components/ui/field.d.cts +180 -6
  442. package/dist/ui/components/ui/field.d.ts +180 -6
  443. package/dist/ui/components/ui/field.js.map +1 -1
  444. package/dist/ui/components/ui/file-icon.cjs.map +1 -1
  445. package/dist/ui/components/ui/file-icon.d.cts +32 -4
  446. package/dist/ui/components/ui/file-icon.d.ts +32 -4
  447. package/dist/ui/components/ui/file-icon.js.map +1 -1
  448. package/dist/ui/components/ui/hover-card.cjs.map +1 -1
  449. package/dist/ui/components/ui/hover-card.d.cts +39 -3
  450. package/dist/ui/components/ui/hover-card.d.ts +39 -3
  451. package/dist/ui/components/ui/hover-card.js.map +1 -1
  452. package/dist/ui/components/ui/input-group.cjs.map +1 -1
  453. package/dist/ui/components/ui/input-group.d.cts +84 -6
  454. package/dist/ui/components/ui/input-group.d.ts +84 -6
  455. package/dist/ui/components/ui/input-group.js.map +1 -1
  456. package/dist/ui/components/ui/input-otp.cjs.map +1 -1
  457. package/dist/ui/components/ui/input-otp.d.cts +58 -4
  458. package/dist/ui/components/ui/input-otp.d.ts +58 -4
  459. package/dist/ui/components/ui/input-otp.js.map +1 -1
  460. package/dist/ui/components/ui/input.cjs.map +1 -1
  461. package/dist/ui/components/ui/input.d.cts +18 -10
  462. package/dist/ui/components/ui/input.d.ts +18 -10
  463. package/dist/ui/components/ui/input.js.map +1 -1
  464. package/dist/ui/components/ui/item.cjs.map +1 -1
  465. package/dist/ui/components/ui/item.d.cts +130 -10
  466. package/dist/ui/components/ui/item.d.ts +130 -10
  467. package/dist/ui/components/ui/item.js.map +1 -1
  468. package/dist/ui/components/ui/kbd.cjs.map +1 -1
  469. package/dist/ui/components/ui/kbd.d.cts +26 -2
  470. package/dist/ui/components/ui/kbd.d.ts +26 -2
  471. package/dist/ui/components/ui/kbd.js.map +1 -1
  472. package/dist/ui/components/ui/label.cjs.map +1 -1
  473. package/dist/ui/components/ui/label.d.cts +15 -0
  474. package/dist/ui/components/ui/label.d.ts +15 -0
  475. package/dist/ui/components/ui/label.js.map +1 -1
  476. package/dist/ui/components/ui/layout.cjs +1 -1
  477. package/dist/ui/components/ui/layout.cjs.map +1 -1
  478. package/dist/ui/components/ui/layout.d.cts +45 -11
  479. package/dist/ui/components/ui/layout.d.ts +45 -11
  480. package/dist/ui/components/ui/layout.js +22 -20
  481. package/dist/ui/components/ui/layout.js.map +1 -1
  482. package/dist/ui/components/ui/menubar.cjs.map +1 -1
  483. package/dist/ui/components/ui/menubar.d.cts +220 -16
  484. package/dist/ui/components/ui/menubar.d.ts +220 -16
  485. package/dist/ui/components/ui/menubar.js.map +1 -1
  486. package/dist/ui/components/ui/meter.cjs.map +1 -1
  487. package/dist/ui/components/ui/meter.d.cts +52 -4
  488. package/dist/ui/components/ui/meter.d.ts +52 -4
  489. package/dist/ui/components/ui/meter.js.map +1 -1
  490. package/dist/ui/components/ui/mobile-form-variants.cjs.map +1 -1
  491. package/dist/ui/components/ui/mobile-form-variants.d.cts +30 -0
  492. package/dist/ui/components/ui/mobile-form-variants.d.ts +30 -0
  493. package/dist/ui/components/ui/mobile-form-variants.js.map +1 -1
  494. package/dist/ui/components/ui/mobile-form.cjs.map +1 -1
  495. package/dist/ui/components/ui/mobile-form.d.cts +186 -9
  496. package/dist/ui/components/ui/mobile-form.d.ts +186 -9
  497. package/dist/ui/components/ui/mobile-form.js.map +1 -1
  498. package/dist/ui/components/ui/navigation-menu-components.cjs.map +1 -1
  499. package/dist/ui/components/ui/navigation-menu-components.d.cts +104 -8
  500. package/dist/ui/components/ui/navigation-menu-components.d.ts +104 -8
  501. package/dist/ui/components/ui/navigation-menu-components.js.map +1 -1
  502. package/dist/ui/components/ui/navigation-menu-variants.cjs.map +1 -1
  503. package/dist/ui/components/ui/navigation-menu-variants.d.cts +15 -0
  504. package/dist/ui/components/ui/navigation-menu-variants.d.ts +15 -0
  505. package/dist/ui/components/ui/navigation-menu-variants.js.map +1 -1
  506. package/dist/ui/components/ui/number-field.cjs.map +1 -1
  507. package/dist/ui/components/ui/number-field.d.cts +78 -6
  508. package/dist/ui/components/ui/number-field.d.ts +78 -6
  509. package/dist/ui/components/ui/number-field.js.map +1 -1
  510. package/dist/ui/components/ui/pagination.cjs.map +1 -1
  511. package/dist/ui/components/ui/pagination.d.cts +99 -7
  512. package/dist/ui/components/ui/pagination.d.ts +99 -7
  513. package/dist/ui/components/ui/pagination.js.map +1 -1
  514. package/dist/ui/components/ui/password-input.cjs.map +1 -1
  515. package/dist/ui/components/ui/password-input.d.cts +10 -7
  516. package/dist/ui/components/ui/password-input.d.ts +10 -7
  517. package/dist/ui/components/ui/password-input.js.map +1 -1
  518. package/dist/ui/components/ui/popover.cjs.map +1 -1
  519. package/dist/ui/components/ui/popover.d.cts +86 -2
  520. package/dist/ui/components/ui/popover.d.ts +86 -2
  521. package/dist/ui/components/ui/popover.js.map +1 -1
  522. package/dist/ui/components/ui/progress.cjs.map +1 -1
  523. package/dist/ui/components/ui/progress.d.cts +72 -2
  524. package/dist/ui/components/ui/progress.d.ts +72 -2
  525. package/dist/ui/components/ui/progress.js.map +1 -1
  526. package/dist/ui/components/ui/radio-card.cjs.map +1 -1
  527. package/dist/ui/components/ui/radio-card.d.cts +32 -4
  528. package/dist/ui/components/ui/radio-card.d.ts +32 -4
  529. package/dist/ui/components/ui/radio-card.js.map +1 -1
  530. package/dist/ui/components/ui/radio-group.cjs.map +1 -1
  531. package/dist/ui/components/ui/radio-group.d.cts +28 -2
  532. package/dist/ui/components/ui/radio-group.d.ts +28 -2
  533. package/dist/ui/components/ui/radio-group.js.map +1 -1
  534. package/dist/ui/components/ui/resizable.cjs.map +1 -1
  535. package/dist/ui/components/ui/resizable.d.cts +42 -3
  536. package/dist/ui/components/ui/resizable.d.ts +42 -3
  537. package/dist/ui/components/ui/resizable.js.map +1 -1
  538. package/dist/ui/components/ui/responsive-list.cjs.map +1 -1
  539. package/dist/ui/components/ui/responsive-list.d.cts +176 -13
  540. package/dist/ui/components/ui/responsive-list.d.ts +176 -13
  541. package/dist/ui/components/ui/responsive-list.js.map +1 -1
  542. package/dist/ui/components/ui/scroll-area.cjs.map +1 -1
  543. package/dist/ui/components/ui/scroll-area.d.cts +28 -1
  544. package/dist/ui/components/ui/scroll-area.d.ts +28 -1
  545. package/dist/ui/components/ui/scroll-area.js.map +1 -1
  546. package/dist/ui/components/ui/searchable-select-input.cjs.map +1 -1
  547. package/dist/ui/components/ui/searchable-select-input.d.cts +199 -49
  548. package/dist/ui/components/ui/searchable-select-input.d.ts +199 -49
  549. package/dist/ui/components/ui/searchable-select-input.js.map +1 -1
  550. package/dist/ui/components/ui/select.cjs.map +1 -1
  551. package/dist/ui/components/ui/select.d.cts +205 -40
  552. package/dist/ui/components/ui/select.d.ts +205 -40
  553. package/dist/ui/components/ui/select.js.map +1 -1
  554. package/dist/ui/components/ui/separator.cjs.map +1 -1
  555. package/dist/ui/components/ui/separator.d.cts +13 -2
  556. package/dist/ui/components/ui/separator.d.ts +13 -2
  557. package/dist/ui/components/ui/separator.js.map +1 -1
  558. package/dist/ui/components/ui/sheet.cjs.map +1 -1
  559. package/dist/ui/components/ui/sheet.d.cts +128 -3
  560. package/dist/ui/components/ui/sheet.d.ts +128 -3
  561. package/dist/ui/components/ui/sheet.js.map +1 -1
  562. package/dist/ui/components/ui/skeleton.cjs.map +1 -1
  563. package/dist/ui/components/ui/skeleton.d.cts +13 -1
  564. package/dist/ui/components/ui/skeleton.d.ts +13 -1
  565. package/dist/ui/components/ui/skeleton.js.map +1 -1
  566. package/dist/ui/components/ui/slider.cjs.map +1 -1
  567. package/dist/ui/components/ui/slider.d.cts +13 -7
  568. package/dist/ui/components/ui/slider.d.ts +13 -7
  569. package/dist/ui/components/ui/slider.js.map +1 -1
  570. package/dist/ui/components/ui/spinner.cjs.map +1 -1
  571. package/dist/ui/components/ui/spinner.d.cts +13 -1
  572. package/dist/ui/components/ui/spinner.d.ts +13 -1
  573. package/dist/ui/components/ui/spinner.js.map +1 -1
  574. package/dist/ui/components/ui/switch.cjs.map +1 -1
  575. package/dist/ui/components/ui/switch.d.cts +26 -0
  576. package/dist/ui/components/ui/switch.d.ts +26 -0
  577. package/dist/ui/components/ui/switch.js.map +1 -1
  578. package/dist/ui/components/ui/table.cjs.map +1 -1
  579. package/dist/ui/components/ui/table.d.cts +118 -2
  580. package/dist/ui/components/ui/table.d.ts +118 -2
  581. package/dist/ui/components/ui/table.js.map +1 -1
  582. package/dist/ui/components/ui/tabs-components.cjs.map +1 -1
  583. package/dist/ui/components/ui/tabs-components.d.cts +52 -5
  584. package/dist/ui/components/ui/tabs-components.d.ts +52 -5
  585. package/dist/ui/components/ui/tabs-components.js.map +1 -1
  586. package/dist/ui/components/ui/tabs-variants.cjs.map +1 -1
  587. package/dist/ui/components/ui/tabs-variants.d.cts +15 -0
  588. package/dist/ui/components/ui/tabs-variants.d.ts +15 -0
  589. package/dist/ui/components/ui/tabs-variants.js.map +1 -1
  590. package/dist/ui/components/ui/textarea.cjs.map +1 -1
  591. package/dist/ui/components/ui/textarea.d.cts +23 -0
  592. package/dist/ui/components/ui/textarea.d.ts +23 -0
  593. package/dist/ui/components/ui/textarea.js.map +1 -1
  594. package/dist/ui/components/ui/toast.cjs.map +1 -1
  595. package/dist/ui/components/ui/toast.d.cts +136 -0
  596. package/dist/ui/components/ui/toast.d.ts +136 -0
  597. package/dist/ui/components/ui/toast.js.map +1 -1
  598. package/dist/ui/components/ui/toaster.cjs.map +1 -1
  599. package/dist/ui/components/ui/toaster.d.cts +12 -3
  600. package/dist/ui/components/ui/toaster.d.ts +12 -3
  601. package/dist/ui/components/ui/toaster.js.map +1 -1
  602. package/dist/ui/components/ui/toggle-components.cjs.map +1 -1
  603. package/dist/ui/components/ui/toggle-components.d.cts +15 -0
  604. package/dist/ui/components/ui/toggle-components.d.ts +15 -0
  605. package/dist/ui/components/ui/toggle-components.js.map +1 -1
  606. package/dist/ui/components/ui/toggle-group.cjs.map +1 -1
  607. package/dist/ui/components/ui/toggle-group.d.cts +33 -0
  608. package/dist/ui/components/ui/toggle-group.d.ts +33 -0
  609. package/dist/ui/components/ui/toggle-group.js.map +1 -1
  610. package/dist/ui/components/ui/toggle-variants.cjs.map +1 -1
  611. package/dist/ui/components/ui/toggle-variants.d.cts +15 -0
  612. package/dist/ui/components/ui/toggle-variants.d.ts +15 -0
  613. package/dist/ui/components/ui/toggle-variants.js.map +1 -1
  614. package/dist/ui/components/ui/toolbar.cjs.map +1 -1
  615. package/dist/ui/components/ui/toolbar.d.cts +94 -7
  616. package/dist/ui/components/ui/toolbar.d.ts +94 -7
  617. package/dist/ui/components/ui/toolbar.js.map +1 -1
  618. package/dist/ui/components/ui/tooltip.cjs.map +1 -1
  619. package/dist/ui/components/ui/tooltip.d.cts +54 -3
  620. package/dist/ui/components/ui/tooltip.d.ts +54 -3
  621. package/dist/ui/components/ui/tooltip.js.map +1 -1
  622. package/dist/ui/lib/hooks/use-gps.cjs.map +1 -1
  623. package/dist/ui/lib/hooks/use-gps.d.cts +29 -4
  624. package/dist/ui/lib/hooks/use-gps.d.ts +29 -4
  625. package/dist/ui/lib/hooks/use-gps.js.map +1 -1
  626. package/dist/ui/lib/hooks/use-is-client.cjs.map +1 -1
  627. package/dist/ui/lib/hooks/use-is-client.d.cts +11 -2
  628. package/dist/ui/lib/hooks/use-is-client.d.ts +11 -2
  629. package/dist/ui/lib/hooks/use-is-client.js.map +1 -1
  630. package/dist/ui/lib/hooks/use-keyboard-shortcut.cjs.map +1 -1
  631. package/dist/ui/lib/hooks/use-keyboard-shortcut.d.cts +48 -18
  632. package/dist/ui/lib/hooks/use-keyboard-shortcut.d.ts +48 -18
  633. package/dist/ui/lib/hooks/use-keyboard-shortcut.js.map +1 -1
  634. package/dist/ui/lib/hooks/use-mobile.cjs.map +1 -1
  635. package/dist/ui/lib/hooks/use-mobile.d.cts +11 -3
  636. package/dist/ui/lib/hooks/use-mobile.d.ts +11 -3
  637. package/dist/ui/lib/hooks/use-mobile.js.map +1 -1
  638. package/dist/ui/lib/hooks/use-toast.cjs.map +1 -1
  639. package/dist/ui/lib/hooks/use-toast.d.cts +184 -15
  640. package/dist/ui/lib/hooks/use-toast.d.ts +184 -15
  641. package/dist/ui/lib/hooks/use-toast.js.map +1 -1
  642. package/dist/ui/lib/ime-utils.cjs.map +1 -1
  643. package/dist/ui/lib/ime-utils.d.cts +40 -13
  644. package/dist/ui/lib/ime-utils.d.ts +40 -13
  645. package/dist/ui/lib/ime-utils.js.map +1 -1
  646. package/dist/ui/lib/utils.cjs.map +1 -1
  647. package/dist/ui/lib/utils.d.cts +9 -6
  648. package/dist/ui/lib/utils.d.ts +9 -6
  649. package/dist/ui/lib/utils.js.map +1 -1
  650. package/docs/ai.md +34 -1
  651. package/docs/exports.md +5 -1
  652. package/docs/index.md +89 -16
  653. package/docs/migration.md +268 -0
  654. package/docs/request-form.md +4 -1
  655. package/docs/tools.md +4 -1
  656. package/docs/ui.md +4 -1
  657. package/llms-full.txt +499 -36
  658. package/llms.txt +4 -0
  659. package/package.json +35 -5
@@ -1,39 +1,69 @@
1
1
  /**
2
- * キーボードショートカットの定義
3
- * Keyboard shortcut configuration
2
+ * A case-insensitive key match and handler for useKeyboardShortcuts.
3
+ *
4
+ * @see useKeyboardShortcuts for registration and cleanup.
4
5
  */
5
6
  export interface KeyboardShortcut {
6
- /** キー名(e.g. 's', 'Enter', 'Escape') */
7
+ /**
8
+ * KeyboardEvent.key value, compared case-insensitively.
9
+ */
7
10
  key: string;
8
- /** Ctrl/Cmd キーが必要か(Mac では Cmd も許容) */
11
+ /**
12
+ * When true accept Ctrl or Meta; false excludes both; omission ignores this modifier.
13
+ */
9
14
  ctrlKey?: boolean;
10
- /** Meta (Cmd) キーが必要か */
15
+ /**
16
+ * Require exact Meta state when provided; omission ignores Meta.
17
+ */
11
18
  metaKey?: boolean;
12
- /** Shift キーが必要か */
19
+ /**
20
+ * Require exact Shift state when provided; omission ignores Shift.
21
+ */
13
22
  shiftKey?: boolean;
14
- /** Alt キーが必要か */
23
+ /**
24
+ * Require exact Alt state when provided; omission ignores Alt.
25
+ */
15
26
  altKey?: boolean;
16
- /** ショートカットが押された時のハンドラ */
27
+ /**
28
+ * Callback receiving the original keydown event after a match; only the first matching shortcut runs.
29
+ *
30
+ * @param e - Original matched keydown event.
31
+ *
32
+ * @returns No value after the handler completes.
33
+ */
17
34
  handler: (e: KeyboardEvent) => void;
18
- /** 説明(ヘルプ表示用) */
35
+ /**
36
+ * Optional application help text; not read by the hook.
37
+ */
19
38
  description?: string;
20
- /** preventDefault を呼ぶか(デフォルト: true) */
39
+ /**
40
+ * Prevent the matched event default unless explicitly false; defaults to true.
41
+ */
21
42
  preventDefault?: boolean;
22
43
  }
23
44
  /**
24
- * キーボードショートカットを登録するフック。
45
+ * Registers ordered keyboard shortcuts on the browser window.
46
+ *
47
+ * @param shortcuts - Match definitions; the first matching definition receives the original event.
48
+ *
49
+ * @param enabled - Enable the listener; defaults to true.
25
50
  *
26
- * `ctrlKey: true` の場合、Windows/Linux では Ctrl、Mac では Cmd (metaKey) の両方にマッチします。
51
+ * @returns No value; effect cleanup removes the listener on unmount or input changes.
27
52
  *
28
- * @param shortcuts - ショートカット定義の配列
29
- * @param enabled - ショートカットの有効/無効(デフォルト: true)
53
+ * @remarks Omitted modifiers are ignored. ctrlKey:true accepts Ctrl or Meta on every
54
+ * platform. Events in inputs, composition and repeats are not filtered. Handlers run
55
+ * synchronously and their exceptions propagate through the browser event dispatch.
56
+ * No providers or styles are required; keep the definitions stable to avoid resubscription.
30
57
  *
31
58
  * @example
32
59
  * ```tsx
33
- * useKeyboardShortcuts([
34
- * { key: 's', ctrlKey: true, handler: () => save(), description: '保存' },
35
- * { key: 'Escape', handler: () => close(), description: '閉じる' },
36
- * ]);
60
+ * import { useMemo } from 'react';
61
+ * import { useKeyboardShortcuts } from '@alneas/appkit-react/ui/hooks';
62
+ * export function SaveShortcut({ save }: { save: () => void }) {
63
+ * const shortcuts = useMemo(() => [{ key: 's', ctrlKey: true, handler: save }], [save]);
64
+ * useKeyboardShortcuts(shortcuts);
65
+ * return null;
66
+ * }
37
67
  * ```
38
68
  */
39
69
  export declare function useKeyboardShortcuts(shortcuts: KeyboardShortcut[], enabled?: boolean): void;
@@ -1,39 +1,69 @@
1
1
  /**
2
- * キーボードショートカットの定義
3
- * Keyboard shortcut configuration
2
+ * A case-insensitive key match and handler for useKeyboardShortcuts.
3
+ *
4
+ * @see useKeyboardShortcuts for registration and cleanup.
4
5
  */
5
6
  export interface KeyboardShortcut {
6
- /** キー名(e.g. 's', 'Enter', 'Escape') */
7
+ /**
8
+ * KeyboardEvent.key value, compared case-insensitively.
9
+ */
7
10
  key: string;
8
- /** Ctrl/Cmd キーが必要か(Mac では Cmd も許容) */
11
+ /**
12
+ * When true accept Ctrl or Meta; false excludes both; omission ignores this modifier.
13
+ */
9
14
  ctrlKey?: boolean;
10
- /** Meta (Cmd) キーが必要か */
15
+ /**
16
+ * Require exact Meta state when provided; omission ignores Meta.
17
+ */
11
18
  metaKey?: boolean;
12
- /** Shift キーが必要か */
19
+ /**
20
+ * Require exact Shift state when provided; omission ignores Shift.
21
+ */
13
22
  shiftKey?: boolean;
14
- /** Alt キーが必要か */
23
+ /**
24
+ * Require exact Alt state when provided; omission ignores Alt.
25
+ */
15
26
  altKey?: boolean;
16
- /** ショートカットが押された時のハンドラ */
27
+ /**
28
+ * Callback receiving the original keydown event after a match; only the first matching shortcut runs.
29
+ *
30
+ * @param e - Original matched keydown event.
31
+ *
32
+ * @returns No value after the handler completes.
33
+ */
17
34
  handler: (e: KeyboardEvent) => void;
18
- /** 説明(ヘルプ表示用) */
35
+ /**
36
+ * Optional application help text; not read by the hook.
37
+ */
19
38
  description?: string;
20
- /** preventDefault を呼ぶか(デフォルト: true) */
39
+ /**
40
+ * Prevent the matched event default unless explicitly false; defaults to true.
41
+ */
21
42
  preventDefault?: boolean;
22
43
  }
23
44
  /**
24
- * キーボードショートカットを登録するフック。
45
+ * Registers ordered keyboard shortcuts on the browser window.
46
+ *
47
+ * @param shortcuts - Match definitions; the first matching definition receives the original event.
48
+ *
49
+ * @param enabled - Enable the listener; defaults to true.
25
50
  *
26
- * `ctrlKey: true` の場合、Windows/Linux では Ctrl、Mac では Cmd (metaKey) の両方にマッチします。
51
+ * @returns No value; effect cleanup removes the listener on unmount or input changes.
27
52
  *
28
- * @param shortcuts - ショートカット定義の配列
29
- * @param enabled - ショートカットの有効/無効(デフォルト: true)
53
+ * @remarks Omitted modifiers are ignored. ctrlKey:true accepts Ctrl or Meta on every
54
+ * platform. Events in inputs, composition and repeats are not filtered. Handlers run
55
+ * synchronously and their exceptions propagate through the browser event dispatch.
56
+ * No providers or styles are required; keep the definitions stable to avoid resubscription.
30
57
  *
31
58
  * @example
32
59
  * ```tsx
33
- * useKeyboardShortcuts([
34
- * { key: 's', ctrlKey: true, handler: () => save(), description: '保存' },
35
- * { key: 'Escape', handler: () => close(), description: '閉じる' },
36
- * ]);
60
+ * import { useMemo } from 'react';
61
+ * import { useKeyboardShortcuts } from '@alneas/appkit-react/ui/hooks';
62
+ * export function SaveShortcut({ save }: { save: () => void }) {
63
+ * const shortcuts = useMemo(() => [{ key: 's', ctrlKey: true, handler: save }], [save]);
64
+ * useKeyboardShortcuts(shortcuts);
65
+ * return null;
66
+ * }
37
67
  * ```
38
68
  */
39
69
  export declare function useKeyboardShortcuts(shortcuts: KeyboardShortcut[], enabled?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-keyboard-shortcut.js","names":["useKeyboardShortcuts","enabled","handleKeyDown","shortcut","shortcuts","ctrlMatch","metaMatch","shiftMatch","altMatch","keyMatch"],"sources":["../../../../src/ui/lib/hooks/use-keyboard-shortcut.ts"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * キーボードショートカットの定義\n * Keyboard shortcut configuration\n */\nexport interface KeyboardShortcut {\n /** キー名(e.g. 's', 'Enter', 'Escape') */\n key: string;\n /** Ctrl/Cmd キーが必要か(Mac では Cmd も許容) */\n ctrlKey?: boolean;\n /** Meta (Cmd) キーが必要か */\n metaKey?: boolean;\n /** Shift キーが必要か */\n shiftKey?: boolean;\n /** Alt キーが必要か */\n altKey?: boolean;\n /** ショートカットが押された時のハンドラ */\n handler: (e: KeyboardEvent) => void;\n /** 説明(ヘルプ表示用) */\n description?: string;\n /** preventDefault を呼ぶか(デフォルト: true) */\n preventDefault?: boolean;\n}\n\n/**\n * キーボードショートカットを登録するフック。\n *\n * `ctrlKey: true` の場合、Windows/Linux では Ctrl、Mac では Cmd (metaKey) の両方にマッチします。\n *\n * @param shortcuts - ショートカット定義の配列\n * @param enabled - ショートカットの有効/無効(デフォルト: true)\n *\n * @example\n * ```tsx\n * useKeyboardShortcuts([\n * { key: 's', ctrlKey: true, handler: () => save(), description: '保存' },\n * { key: 'Escape', handler: () => close(), description: '閉じる' },\n * ]);\n * ```\n */\nexport function useKeyboardShortcuts(shortcuts: KeyboardShortcut[], enabled: boolean = true) {\n useEffect(() => {\n if (!enabled) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n for (const shortcut of shortcuts) {\n // For ctrlKey, match either Ctrl (Windows/Linux) or Cmd (Mac)\n const ctrlMatch =\n shortcut.ctrlKey === undefined\n ? true\n : shortcut.ctrlKey\n ? e.ctrlKey || e.metaKey\n : !(e.ctrlKey || e.metaKey);\n\n // For metaKey, only match Cmd on Mac\n const metaMatch = shortcut.metaKey === undefined ? true : shortcut.metaKey === e.metaKey;\n\n const shiftMatch =\n shortcut.shiftKey === undefined ? true : shortcut.shiftKey === e.shiftKey;\n\n const altMatch = shortcut.altKey === undefined ? true : shortcut.altKey === e.altKey;\n\n const keyMatch = e.key.toLowerCase() === shortcut.key.toLowerCase();\n\n if (ctrlMatch && metaMatch && shiftMatch && altMatch && keyMatch) {\n if (shortcut.preventDefault !== false) {\n e.preventDefault();\n }\n shortcut.handler(e);\n break; // Only trigger one shortcut per keypress\n }\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [shortcuts, enabled]);\n}\n"],"mappings":";;;AAyCA,SAAgBA,EAAqB,GAA+B,IAAmB,IAAM;CAC3F,QAAgB;EACd,IAAI,CAACC,GAAS;EAEd,IAAMC,KAAiB,MAAqB;GAC1C,KAAK,IAAMC,KAAYC,GAAW;IAEhC,IAAMC,IACJF,EAAS,YAAY,KAAA,IACjB,KACAA,EAAS,UACP,EAAE,WAAW,EAAE,UACf,EAAE,EAAE,WAAW,EAAE,UAGnBG,IAAYH,EAAS,YAAY,KAAA,KAAmBA,EAAS,YAAY,EAAE,SAE3EI,IACJJ,EAAS,aAAa,KAAA,KAAmBA,EAAS,aAAa,EAAE,UAE7DK,IAAWL,EAAS,WAAW,KAAA,KAAmBA,EAAS,WAAW,EAAE,QAExEM,IAAW,EAAE,IAAI,YAAY,MAAMN,EAAS,IAAI,YAAY;IAElE,IAAIE,KAAaC,KAAaC,KAAcC,KAAYC,GAAU;KAIhE,AAHIN,EAAS,mBAAmB,MAC9B,EAAE,eAAe,GAEnBA,EAAS,QAAQ,CAAC;KAClB;IACF;GACF;EACF;EAGA,OADA,OAAO,iBAAiB,WAAWD,CAAa,SACnC,OAAO,oBAAoB,WAAWA,CAAa;CAClE,GAAG,CAACE,GAAWH,CAAO,CAAC;AACzB"}
1
+ {"version":3,"file":"use-keyboard-shortcut.js","names":["useKeyboardShortcuts","enabled","handleKeyDown","shortcut","shortcuts","ctrlMatch","metaMatch","shiftMatch","altMatch","keyMatch"],"sources":["../../../../src/ui/lib/hooks/use-keyboard-shortcut.ts"],"sourcesContent":["import { useEffect } from 'react';\n\n/**\n * A case-insensitive key match and handler for useKeyboardShortcuts.\n *\n * @see useKeyboardShortcuts for registration and cleanup.\n */\nexport interface KeyboardShortcut {\n /**\n * KeyboardEvent.key value, compared case-insensitively.\n */\n key: string;\n /**\n * When true accept Ctrl or Meta; false excludes both; omission ignores this modifier.\n */\n ctrlKey?: boolean;\n /**\n * Require exact Meta state when provided; omission ignores Meta.\n */\n metaKey?: boolean;\n /**\n * Require exact Shift state when provided; omission ignores Shift.\n */\n shiftKey?: boolean;\n /**\n * Require exact Alt state when provided; omission ignores Alt.\n */\n altKey?: boolean;\n /**\n * Callback receiving the original keydown event after a match; only the first matching shortcut runs.\n *\n * @param e - Original matched keydown event.\n *\n * @returns No value after the handler completes.\n */\n handler: (e: KeyboardEvent) => void;\n /**\n * Optional application help text; not read by the hook.\n */\n description?: string;\n /**\n * Prevent the matched event default unless explicitly false; defaults to true.\n */\n preventDefault?: boolean;\n}\n\n/**\n * Registers ordered keyboard shortcuts on the browser window.\n *\n * @param shortcuts - Match definitions; the first matching definition receives the original event.\n *\n * @param enabled - Enable the listener; defaults to true.\n *\n * @returns No value; effect cleanup removes the listener on unmount or input changes.\n *\n * @remarks Omitted modifiers are ignored. ctrlKey:true accepts Ctrl or Meta on every\n * platform. Events in inputs, composition and repeats are not filtered. Handlers run\n * synchronously and their exceptions propagate through the browser event dispatch.\n * No providers or styles are required; keep the definitions stable to avoid resubscription.\n *\n * @example\n * ```tsx\n * import { useMemo } from 'react';\n * import { useKeyboardShortcuts } from '@alneas/appkit-react/ui/hooks';\n * export function SaveShortcut({ save }: { save: () => void }) {\n * const shortcuts = useMemo(() => [{ key: 's', ctrlKey: true, handler: save }], [save]);\n * useKeyboardShortcuts(shortcuts);\n * return null;\n * }\n * ```\n */\nexport function useKeyboardShortcuts(shortcuts: KeyboardShortcut[], enabled: boolean = true) {\n useEffect(() => {\n if (!enabled) return;\n\n const handleKeyDown = (e: KeyboardEvent) => {\n for (const shortcut of shortcuts) {\n // For ctrlKey, match either Ctrl (Windows/Linux) or Cmd (Mac)\n const ctrlMatch =\n shortcut.ctrlKey === undefined\n ? true\n : shortcut.ctrlKey\n ? e.ctrlKey || e.metaKey\n : !(e.ctrlKey || e.metaKey);\n\n // For metaKey, only match Cmd on Mac\n const metaMatch = shortcut.metaKey === undefined ? true : shortcut.metaKey === e.metaKey;\n\n const shiftMatch =\n shortcut.shiftKey === undefined ? true : shortcut.shiftKey === e.shiftKey;\n\n const altMatch = shortcut.altKey === undefined ? true : shortcut.altKey === e.altKey;\n\n const keyMatch = e.key.toLowerCase() === shortcut.key.toLowerCase();\n\n if (ctrlMatch && metaMatch && shiftMatch && altMatch && keyMatch) {\n if (shortcut.preventDefault !== false) {\n e.preventDefault();\n }\n shortcut.handler(e);\n break; // Only trigger one shortcut per keypress\n }\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [shortcuts, enabled]);\n}\n"],"mappings":";;;AAuEA,SAAgBA,EAAqB,GAA+B,IAAmB,IAAM;CAC3F,QAAgB;EACd,IAAI,CAACC,GAAS;EAEd,IAAMC,KAAiB,MAAqB;GAC1C,KAAK,IAAMC,KAAYC,GAAW;IAEhC,IAAMC,IACJF,EAAS,YAAY,KAAA,IACjB,KACAA,EAAS,UACP,EAAE,WAAW,EAAE,UACf,EAAE,EAAE,WAAW,EAAE,UAGnBG,IAAYH,EAAS,YAAY,KAAA,KAAmBA,EAAS,YAAY,EAAE,SAE3EI,IACJJ,EAAS,aAAa,KAAA,KAAmBA,EAAS,aAAa,EAAE,UAE7DK,IAAWL,EAAS,WAAW,KAAA,KAAmBA,EAAS,WAAW,EAAE,QAExEM,IAAW,EAAE,IAAI,YAAY,MAAMN,EAAS,IAAI,YAAY;IAElE,IAAIE,KAAaC,KAAaC,KAAcC,KAAYC,GAAU;KAIhE,AAHIN,EAAS,mBAAmB,MAC9B,EAAE,eAAe,GAEnBA,EAAS,QAAQ,CAAC;KAClB;IACF;GACF;EACF;EAGA,OADA,OAAO,iBAAiB,WAAWD,CAAa,SACnC,OAAO,oBAAoB,WAAWA,CAAa;CAClE,GAAG,CAACE,GAAWH,CAAO,CAAC;AACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.cjs","names":["React","require_runtime","react","MOBILE_BREAKPOINT","useIsMobile","mql","callback"],"sources":["../../../../src/ui/lib/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\n/**\n * 現在の画面幅がモバイルサイズ(768px 未満)であるかどうかを判定し、動的に変更を追従するカスタムフック。\n * `useSyncExternalStore` を使用して、再レンダリングの最適化とハイドレーションの整合性を確保します。\n *\n * @returns モバイルサイズであれば true、それ以外は false\n */\nexport function useIsMobile() {\n return React.useSyncExternalStore(\n React.useCallback((callback) => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n mql.addEventListener('change', callback);\n return () => mql.removeEventListener('change', callback);\n }, []),\n () => window.innerWidth < MOBILE_BREAKPOINT,\n () => false, // サーバーサイドでは false をデフォルトとする\n );\n}\n"],"mappings":"A,mLAEA,IAAMG,EAAoB,IAQ1B,SAAgBC,GAAc,CAC5B,OAAOJ,EAAM,qBACXA,EAAM,YAAa,GAAa,CAC9B,IAAMK,EAAM,OAAO,WAAW,oBAAyC,EAEvE,OADAA,EAAI,iBAAiB,SAAUC,CAAQ,MAC1BD,EAAI,oBAAoB,SAAUC,CAAQ,CACzD,EAAG,CAAC,CAAC,MACC,OAAO,WAAaH,MACpB,EACR,CACF,C"}
1
+ {"version":3,"file":"use-mobile.cjs","names":["React","require_runtime","react","MOBILE_BREAKPOINT","useIsMobile","mql","callback"],"sources":["../../../../src/ui/lib/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\n/**\n * Subscribes to whether the browser viewport is narrower than 768 CSS pixels.\n *\n * @returns False on the server; on the client, window.innerWidth < 768.\n *\n * @remarks Uses a max-width:767px media-query listener and removes it on cleanup. Requires\n * window.matchMedia in the browser; no provider or CSS import is required.\n *\n * @example\n * ```tsx\n * import { useIsMobile } from '@alneas/appkit-react/ui/hooks';\n * export function LayoutHint() { return <span>{useIsMobile() ? 'Compact' : 'Wide'}</span>; }\n * ```\n */\nexport function useIsMobile() {\n return React.useSyncExternalStore(\n React.useCallback((callback) => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n mql.addEventListener('change', callback);\n return () => mql.removeEventListener('change', callback);\n }, []),\n () => window.innerWidth < MOBILE_BREAKPOINT,\n () => false, // サーバーサイドでは false をデフォルトとする\n );\n}\n"],"mappings":"A,mLAEA,IAAMG,EAAoB,IAgB1B,SAAgBC,GAAc,CAC5B,OAAOJ,EAAM,qBACXA,EAAM,YAAa,GAAa,CAC9B,IAAMK,EAAM,OAAO,WAAW,oBAAyC,EAEvE,OADAA,EAAI,iBAAiB,SAAUC,CAAQ,MAC1BD,EAAI,oBAAoB,SAAUC,CAAQ,CACzD,EAAG,CAAC,CAAC,MACC,OAAO,WAAaH,MACpB,EACR,CACF,C"}
@@ -1,7 +1,15 @@
1
1
  /**
2
- * 現在の画面幅がモバイルサイズ(768px 未満)であるかどうかを判定し、動的に変更を追従するカスタムフック。
3
- * `useSyncExternalStore` を使用して、再レンダリングの最適化とハイドレーションの整合性を確保します。
2
+ * Subscribes to whether the browser viewport is narrower than 768 CSS pixels.
4
3
  *
5
- * @returns モバイルサイズであれば true、それ以外は false
4
+ * @returns False on the server; on the client, window.innerWidth < 768.
5
+ *
6
+ * @remarks Uses a max-width:767px media-query listener and removes it on cleanup. Requires
7
+ * window.matchMedia in the browser; no provider or CSS import is required.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { useIsMobile } from '@alneas/appkit-react/ui/hooks';
12
+ * export function LayoutHint() { return <span>{useIsMobile() ? 'Compact' : 'Wide'}</span>; }
13
+ * ```
6
14
  */
7
15
  export declare function useIsMobile(): boolean;
@@ -1,7 +1,15 @@
1
1
  /**
2
- * 現在の画面幅がモバイルサイズ(768px 未満)であるかどうかを判定し、動的に変更を追従するカスタムフック。
3
- * `useSyncExternalStore` を使用して、再レンダリングの最適化とハイドレーションの整合性を確保します。
2
+ * Subscribes to whether the browser viewport is narrower than 768 CSS pixels.
4
3
  *
5
- * @returns モバイルサイズであれば true、それ以外は false
4
+ * @returns False on the server; on the client, window.innerWidth < 768.
5
+ *
6
+ * @remarks Uses a max-width:767px media-query listener and removes it on cleanup. Requires
7
+ * window.matchMedia in the browser; no provider or CSS import is required.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * import { useIsMobile } from '@alneas/appkit-react/ui/hooks';
12
+ * export function LayoutHint() { return <span>{useIsMobile() ? 'Compact' : 'Wide'}</span>; }
13
+ * ```
6
14
  */
7
15
  export declare function useIsMobile(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.js","names":["React","React$1","MOBILE_BREAKPOINT","useIsMobile","mql","callback"],"sources":["../../../../src/ui/lib/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\n/**\n * 現在の画面幅がモバイルサイズ(768px 未満)であるかどうかを判定し、動的に変更を追従するカスタムフック。\n * `useSyncExternalStore` を使用して、再レンダリングの最適化とハイドレーションの整合性を確保します。\n *\n * @returns モバイルサイズであれば true、それ以外は false\n */\nexport function useIsMobile() {\n return React.useSyncExternalStore(\n React.useCallback((callback) => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n mql.addEventListener('change', callback);\n return () => mql.removeEventListener('change', callback);\n }, []),\n () => window.innerWidth < MOBILE_BREAKPOINT,\n () => false, // サーバーサイドでは false をデフォルトとする\n );\n}\n"],"mappings":";;;AAEA,IAAME,IAAoB;AAQ1B,SAAgBC,IAAc;CAC5B,OAAOH,EAAM,qBACXA,EAAM,aAAa,MAAa;EAC9B,IAAMI,IAAM,OAAO,WAAW,oBAAyC;EAEvE,OADAA,EAAI,iBAAiB,UAAUC,CAAQ,SAC1BD,EAAI,oBAAoB,UAAUC,CAAQ;CACzD,GAAG,CAAC,CAAC,SACC,OAAO,aAAaH,SACpB,EACR;AACF"}
1
+ {"version":3,"file":"use-mobile.js","names":["React","React$1","MOBILE_BREAKPOINT","useIsMobile","mql","callback"],"sources":["../../../../src/ui/lib/hooks/use-mobile.ts"],"sourcesContent":["import * as React from 'react';\n\nconst MOBILE_BREAKPOINT = 768;\n\n/**\n * Subscribes to whether the browser viewport is narrower than 768 CSS pixels.\n *\n * @returns False on the server; on the client, window.innerWidth < 768.\n *\n * @remarks Uses a max-width:767px media-query listener and removes it on cleanup. Requires\n * window.matchMedia in the browser; no provider or CSS import is required.\n *\n * @example\n * ```tsx\n * import { useIsMobile } from '@alneas/appkit-react/ui/hooks';\n * export function LayoutHint() { return <span>{useIsMobile() ? 'Compact' : 'Wide'}</span>; }\n * ```\n */\nexport function useIsMobile() {\n return React.useSyncExternalStore(\n React.useCallback((callback) => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n mql.addEventListener('change', callback);\n return () => mql.removeEventListener('change', callback);\n }, []),\n () => window.innerWidth < MOBILE_BREAKPOINT,\n () => false, // サーバーサイドでは false をデフォルトとする\n );\n}\n"],"mappings":";;;AAEA,IAAME,IAAoB;AAgB1B,SAAgBC,IAAc;CAC5B,OAAOH,EAAM,qBACXA,EAAM,aAAa,MAAa;EAC9B,IAAMI,IAAM,OAAO,WAAW,oBAAyC;EAEvE,OADAA,EAAI,iBAAiB,UAAUC,CAAQ,SAC1BD,EAAI,oBAAoB,UAAUC,CAAQ;CACzD,GAAG,CAAC,CAAC,SACC,OAAO,aAAaH,SACpB,EACR;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-toast.cjs","names":["React","require_runtime","react","TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","action","state","t","toast","listeners","memoryState","listener","props","id","actualDuration","duration","update","dismiss","open","options","useToast","setState","index"],"sources":["../../../../src/ui/lib/hooks/use-toast.ts"],"sourcesContent":["import * as React from 'react';\n\nconst TOAST_LIMIT = 5;\nconst TOAST_REMOVE_DELAY = 5000;\n\ntype ToasterToast = {\n id: string;\n title?: React.ReactNode;\n description?: React.ReactNode;\n action?: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n variant?: 'default' | 'destructive';\n duration?: number;\n};\n\nconst _actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof _actionTypes;\n\ntype Action =\n | {\n type: ActionType['ADD_TOAST'];\n toast: ToasterToast;\n }\n | {\n type: ActionType['UPDATE_TOAST'];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType['DISMISS_TOAST'];\n toastId?: ToasterToast['id'];\n }\n | {\n type: ActionType['REMOVE_TOAST'];\n toastId?: ToasterToast['id'];\n };\n\ninterface State {\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\n/**\n * トースト状態を操作するためのステート reducer。\n * @param state 現在のトースト状態\n * @param action 実行するアクション定義\n * @returns 更新された新しいトースト状態\n */\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case 'REMOVE_TOAST':\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\ntype Toast = Omit<ToasterToast, 'id'>;\n\n/**\n * トースト通知を表示します。\n *\n * デフォルトの表示時間は、通常時 3000ms、エラー(destructive)時 5000ms です。\n *\n * @param props - トーストのプロパティ\n * @returns トーストの制御オブジェクト\n */\nfunction toast({ duration, ...props }: Toast & { duration?: number }) {\n const id = genId();\n\n // デフォルトの表示時間: エラーは5秒、それ以外は3秒\n const actualDuration = duration ?? (props.variant === 'destructive' ? 5000 : 3000);\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n duration: actualDuration,\n open: true,\n onOpenChange: (open: boolean) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n id: id,\n dismiss,\n update,\n };\n}\n\n/**\n * 成功通知を表示します(3000ms)。\n */\ntoast.success = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'default' });\n\n/**\n * エラー通知を表示します(5000ms)。\n */\ntoast.error = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'destructive' });\n\n/**\n * 情報通知を表示します(3000ms)。\n */\ntoast.info = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'default' });\n\n/**\n * トースト通知を表示・管理するためのフック。\n *\n * @example\n * ```tsx\n * const { toast } = useToast();\n *\n * toast({\n * title: \"送信完了\",\n * description: \"メッセージを送信しました。\",\n * });\n * ```\n */\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-toast.cjs","names":["React","require_runtime","react","TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","action","state","t","toast","listeners","memoryState","listener","props","id","actualDuration","duration","update","dismiss","open","options","useToast","setState","index"],"sources":["../../../../src/ui/lib/hooks/use-toast.ts"],"sourcesContent":["import * as React from 'react';\n\nconst TOAST_LIMIT = 5;\nconst TOAST_REMOVE_DELAY = 5000;\n\n/**\n * In-memory notification record read by a host renderer.\n *\n * @see useToast for subscription and display; see toast for creation.\n */\ntype ToasterToast = {\n /**\n * Generated decimal string identifier used for updates and dismissal.\n */\n id: string;\n /**\n * Optional heading content rendered by the host.\n */\n title?: React.ReactNode;\n /**\n * Optional body content rendered by the host.\n */\n description?: React.ReactNode;\n /**\n * Optional host-rendered action element.\n */\n action?: React.ReactNode;\n /**\n * Whether the host renderer should show this notification.\n */\n open?: boolean;\n /**\n * Optional host open-state callback; toast replaces it with dismissal handling.\n *\n * @param open - New host-rendered visibility.\n *\n * @returns No value.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * Presentation intent; default is normal styling, destructive indicates an error.\n */\n variant?: 'default' | 'destructive';\n /**\n * Requested host display duration in milliseconds; toast defaults to 3000 or 5000 for destructive.\n */\n duration?: number;\n};\n\nconst _actionTypes = {\n ADD_TOAST: 'ADD_TOAST',\n UPDATE_TOAST: 'UPDATE_TOAST',\n DISMISS_TOAST: 'DISMISS_TOAST',\n REMOVE_TOAST: 'REMOVE_TOAST',\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof _actionTypes;\n\n/**\n * Reducer message for adding, updating, closing or removing stored notifications.\n *\n * @see reducer for direct reduction; normal callers use toast/useToast.\n */\ntype Action =\n | {\n /** Insert a notification at the front and cap the list at five. */\n type: ActionType['ADD_TOAST'];\n /** Complete notification to insert. */\n toast: ToasterToast;\n }\n | {\n /** Merge fields into the matching notification ID. */\n type: ActionType['UPDATE_TOAST'];\n /** Fields to merge; id selects the existing notification. */\n toast: Partial<ToasterToast>;\n }\n | {\n /** Close matching notifications and queue removal after five seconds. */\n type: ActionType['DISMISS_TOAST'];\n /** Target ID; omission affects all notifications. */\n toastId?: ToasterToast['id'];\n }\n | {\n /** Remove matching notifications immediately. */\n type: ActionType['REMOVE_TOAST'];\n /** Target ID; omission affects all notifications. */\n toastId?: ToasterToast['id'];\n };\n\n/**\n * Current module-global notification list exposed by useToast.\n *\n * @see useToast for subscription.\n */\ninterface State {\n /**\n * Newest-first notifications, capped at five when a notification is added.\n */\n toasts: ToasterToast[];\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>();\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return;\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId);\n dispatch({\n type: 'REMOVE_TOAST',\n toastId: toastId,\n });\n }, TOAST_REMOVE_DELAY);\n\n toastTimeouts.set(toastId, timeout);\n};\n\n/**\n * Reduces notification actions, scheduling delayed removal when notifications are dismissed.\n *\n * @param state - Existing newest-first notification list.\n *\n * @param action - Add/update/dismiss/remove instruction; omitted IDs in dismiss/remove affect all.\n *\n * @returns New list state; unrecognized update IDs leave entries unchanged.\n *\n * @remarks Dismissal closes entries and schedules module-global removal timers for 5000 ms,\n * so this reducer has a timer side effect. Adding truncates to five; duration does not\n * schedule dismissal here. Normal application code should use toast/useToast.\n *\n * @example\n * ```ts\n * import { reducer } from '@alneas/appkit-react/ui/hooks';\n * const state = reducer({ toasts: [] }, { type: 'REMOVE_TOAST' });\n * ```\n */\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case 'ADD_TOAST':\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n };\n\n case 'UPDATE_TOAST':\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t)),\n };\n\n case 'DISMISS_TOAST': {\n const { toastId } = action;\n\n if (toastId) {\n addToRemoveQueue(toastId);\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id);\n });\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t,\n ),\n };\n }\n case 'REMOVE_TOAST':\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n };\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n };\n }\n};\n\nconst listeners: Array<(state: State) => void> = [];\n\nlet memoryState: State = { toasts: [] };\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action);\n listeners.forEach((listener) => {\n listener(memoryState);\n });\n}\n\n/**\n * Notification creation inputs; IDs are generated by toast.\n *\n * @see toast for creation.\n */\ntype Toast = Omit<ToasterToast, 'id'>;\n\n/**\n * Adds an open notification to the module-global store and returns controls for it.\n *\n * @param props - Content, intent and optional duration; ID/open/onOpenChange are managed here.\n *\n * @returns Generated ID plus dismiss and update controls. Updates preserve the generated ID.\n *\n * @remarks Default duration is 3000 ms, or 5000 ms for destructive. Duration is metadata\n * for the host renderer; this store does not auto-dismiss after duration. Calling dismiss\n * closes the notification and queues removal five seconds later. At most five added\n * notifications are retained. State is shared across hook consumers in this module;\n * mount a renderer consuming useToast, and import Appkit styles for styled UI.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast({ title: 'Saved', description: 'The host operation completed.' });\n * notice.dismiss();\n * ```\n */\nfunction toast({ duration, ...props }: Toast & {\n /** Display-duration metadata in milliseconds; not an internal auto-dismiss timer. */\n duration?: number;\n}) {\n const id = genId();\n\n // デフォルトの表示時間: エラーは5秒、それ以外は3秒\n const actualDuration = duration ?? (props.variant === 'destructive' ? 5000 : 3000);\n\n /**\n * Merges fields into this notification while preserving its generated ID.\n *\n * @param props - Notification fields; the supplied id is overwritten by this notification ID.\n *\n * @returns No value after the store update.\n *\n * @see toast for the creation/control example.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast({ title: 'Working' });\n * notice.update({ id: notice.id, title: 'Complete' });\n * notice.dismiss();\n * ```\n */\n const update = (props: ToasterToast) =>\n dispatch({\n type: 'UPDATE_TOAST',\n toast: { ...props, id },\n });\n /**\n * Closes this notification and queues its removal after five seconds.\n *\n * @returns No value after dispatching dismissal.\n *\n * @see toast for a complete example.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast({ title: 'Status' });\n * notice.dismiss();\n * ```\n */\n const dismiss = () => dispatch({ type: 'DISMISS_TOAST', toastId: id });\n\n dispatch({\n type: 'ADD_TOAST',\n toast: {\n ...props,\n id,\n duration: actualDuration,\n open: true,\n onOpenChange: (open: boolean) => {\n if (!open) dismiss();\n },\n },\n });\n\n return {\n /** Generated notification identifier. */\n id: id,\n /**\n * Close and queue removal; see toast for usage.\n * @returns No value after dispatching dismissal.\n *\n * @see toast for the canonical control example.\n */\n dismiss,\n /**\n * Merge notification fields while preserving id; see toast.\n * @param props - Fields to merge; id is replaced by the original generated ID.\n *\n * @returns No value after dispatching the update.\n *\n * @see toast for the canonical control example.\n */\n update,\n };\n}\n\n/**\n * Adds a normal notification with a title and optional content overrides.\n *\n * @param title - Heading content; options.title can override this value.\n *\n * @param options - Other notification inputs; variant is forced to default.\n *\n * @returns Generated ID plus update/dismiss controls, as returned by toast.\n *\n * @remarks Duration defaults to 3000 ms as host-renderer metadata, and can be overridden.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast.success('Operation status');\n * notice.dismiss();\n * ```\n */\ntoast.success = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'default' });\n\n/**\n * Adds a destructive notification with a title and optional content overrides.\n *\n * @param title - Heading content; options.title can override this value.\n *\n * @param options - Other notification inputs; variant is forced to destructive.\n *\n * @returns Generated ID plus update/dismiss controls, as returned by toast.\n *\n * @remarks Duration defaults to 5000 ms as host-renderer metadata, and can be overridden.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast.error('Operation status');\n * notice.dismiss();\n * ```\n */\ntoast.error = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'destructive' });\n\n/**\n * Adds a normal notification with a title and optional content overrides.\n *\n * @param title - Heading content; options.title can override this value.\n *\n * @param options - Other notification inputs; variant is forced to default.\n *\n * @returns Generated ID plus update/dismiss controls, as returned by toast.\n *\n * @remarks Duration defaults to 3000 ms as host-renderer metadata, and can be overridden.\n *\n * @example\n * ```ts\n * import { toast } from '@alneas/appkit-react/ui/hooks';\n * const notice = toast.info('Operation status');\n * notice.dismiss();\n * ```\n */\ntoast.info = (title: React.ReactNode, options?: Partial<Toast>) =>\n toast({ title, ...options, variant: 'default' });\n\n/**\n * Subscribes a component to the shared in-memory notification list.\n *\n * @returns Current notifications, the toast creator and dismiss(id?) that closes one or all entries.\n *\n * @remarks The hook renders nothing; the host must render toasts and honor open/duration.\n * Subscription cleanup removes its listener. Module state/timers survive component\n * unmounts, so this store is not isolated per provider or SSR request. No provider is\n * required; import Appkit styles when using Appkit notification UI.\n *\n * @example\n * ```tsx\n * import { useToast } from '@alneas/appkit-react/ui/hooks';\n * export function Notices() {\n * const { toasts, dismiss } = useToast();\n * return <div>{toasts.filter(item => item.open).map(item => <button key={item.id} onClick={() => dismiss(item.id)}>{item.title}</button>)}</div>;\n * }\n * ```\n */\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState);\n\n React.useEffect(() => {\n listeners.push(setState);\n return () => {\n const index = listeners.indexOf(setState);\n if (index > -1) {\n listeners.splice(index, 1);\n }\n };\n }, [state]);\n\n return {\n ...state,\n /**\n * Add notifications; see toast for arguments, results and duration behavior.\n * @param props - Notification content, presentation and optional duration metadata.\n *\n * @returns Generated ID and update/dismiss controls.\n *\n * @see toast for the canonical creation example.\n */\n toast,\n /**\n * Close one or all notifications and queue removal.\n *\n * @param toastId - ID to close; omission closes all current notifications.\n *\n * @returns No value after dispatching dismissal.\n */\n dismiss: (toastId?: string) => dispatch({ type: 'DISMISS_TOAST', toastId }),\n };\n}\n\nexport { useToast, toast };\n"],"mappings":"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"}
@@ -1,12 +1,45 @@
1
1
  import * as React from 'react';
2
+ /**
3
+ * In-memory notification record read by a host renderer.
4
+ *
5
+ * @see useToast for subscription and display; see toast for creation.
6
+ */
2
7
  type ToasterToast = {
8
+ /**
9
+ * Generated decimal string identifier used for updates and dismissal.
10
+ */
3
11
  id: string;
12
+ /**
13
+ * Optional heading content rendered by the host.
14
+ */
4
15
  title?: React.ReactNode;
16
+ /**
17
+ * Optional body content rendered by the host.
18
+ */
5
19
  description?: React.ReactNode;
20
+ /**
21
+ * Optional host-rendered action element.
22
+ */
6
23
  action?: React.ReactNode;
24
+ /**
25
+ * Whether the host renderer should show this notification.
26
+ */
7
27
  open?: boolean;
28
+ /**
29
+ * Optional host open-state callback; toast replaces it with dismissal handling.
30
+ *
31
+ * @param open - New host-rendered visibility.
32
+ *
33
+ * @returns No value.
34
+ */
8
35
  onOpenChange?: (open: boolean) => void;
36
+ /**
37
+ * Presentation intent; default is normal styling, destructive indicates an error.
38
+ */
9
39
  variant?: 'default' | 'destructive';
40
+ /**
41
+ * Requested host display duration in milliseconds; toast defaults to 3000 or 5000 for destructive.
42
+ */
10
43
  duration?: number;
11
44
  };
12
45
  declare const _actionTypes: {
@@ -16,78 +49,214 @@ declare const _actionTypes: {
16
49
  readonly REMOVE_TOAST: "REMOVE_TOAST";
17
50
  };
18
51
  type ActionType = typeof _actionTypes;
52
+ /**
53
+ * Reducer message for adding, updating, closing or removing stored notifications.
54
+ *
55
+ * @see reducer for direct reduction; normal callers use toast/useToast.
56
+ */
19
57
  type Action = {
58
+ /** Insert a notification at the front and cap the list at five. */
20
59
  type: ActionType['ADD_TOAST'];
60
+ /** Complete notification to insert. */
21
61
  toast: ToasterToast;
22
62
  } | {
63
+ /** Merge fields into the matching notification ID. */
23
64
  type: ActionType['UPDATE_TOAST'];
65
+ /** Fields to merge; id selects the existing notification. */
24
66
  toast: Partial<ToasterToast>;
25
67
  } | {
68
+ /** Close matching notifications and queue removal after five seconds. */
26
69
  type: ActionType['DISMISS_TOAST'];
70
+ /** Target ID; omission affects all notifications. */
27
71
  toastId?: ToasterToast['id'];
28
72
  } | {
73
+ /** Remove matching notifications immediately. */
29
74
  type: ActionType['REMOVE_TOAST'];
75
+ /** Target ID; omission affects all notifications. */
30
76
  toastId?: ToasterToast['id'];
31
77
  };
78
+ /**
79
+ * Current module-global notification list exposed by useToast.
80
+ *
81
+ * @see useToast for subscription.
82
+ */
32
83
  interface State {
84
+ /**
85
+ * Newest-first notifications, capped at five when a notification is added.
86
+ */
33
87
  toasts: ToasterToast[];
34
88
  }
35
89
  /**
36
- * トースト状態を操作するためのステート reducer。
37
- * @param state 現在のトースト状態
38
- * @param action 実行するアクション定義
39
- * @returns 更新された新しいトースト状態
90
+ * Reduces notification actions, scheduling delayed removal when notifications are dismissed.
91
+ *
92
+ * @param state - Existing newest-first notification list.
93
+ *
94
+ * @param action - Add/update/dismiss/remove instruction; omitted IDs in dismiss/remove affect all.
95
+ *
96
+ * @returns New list state; unrecognized update IDs leave entries unchanged.
97
+ *
98
+ * @remarks Dismissal closes entries and schedules module-global removal timers for 5000 ms,
99
+ * so this reducer has a timer side effect. Adding truncates to five; duration does not
100
+ * schedule dismissal here. Normal application code should use toast/useToast.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * import { reducer } from '@alneas/appkit-react/ui/hooks';
105
+ * const state = reducer({ toasts: [] }, { type: 'REMOVE_TOAST' });
106
+ * ```
40
107
  */
41
108
  export declare const reducer: (state: State, action: Action) => State;
109
+ /**
110
+ * Notification creation inputs; IDs are generated by toast.
111
+ *
112
+ * @see toast for creation.
113
+ */
42
114
  type Toast = Omit<ToasterToast, 'id'>;
43
115
  /**
44
- * トースト通知を表示します。
116
+ * Adds an open notification to the module-global store and returns controls for it.
117
+ *
118
+ * @param props - Content, intent and optional duration; ID/open/onOpenChange are managed here.
45
119
  *
46
- * デフォルトの表示時間は、通常時 3000ms、エラー(destructive)時 5000ms です。
120
+ * @returns Generated ID plus dismiss and update controls. Updates preserve the generated ID.
47
121
  *
48
- * @param props - トーストのプロパティ
49
- * @returns トーストの制御オブジェクト
122
+ * @remarks Default duration is 3000 ms, or 5000 ms for destructive. Duration is metadata
123
+ * for the host renderer; this store does not auto-dismiss after duration. Calling dismiss
124
+ * closes the notification and queues removal five seconds later. At most five added
125
+ * notifications are retained. State is shared across hook consumers in this module;
126
+ * mount a renderer consuming useToast, and import Appkit styles for styled UI.
127
+ *
128
+ * @example
129
+ * ```ts
130
+ * import { toast } from '@alneas/appkit-react/ui/hooks';
131
+ * const notice = toast({ title: 'Saved', description: 'The host operation completed.' });
132
+ * notice.dismiss();
133
+ * ```
50
134
  */
51
135
  declare function toast({ duration, ...props }: Toast & {
136
+ /** Display-duration metadata in milliseconds; not an internal auto-dismiss timer. */
52
137
  duration?: number;
53
138
  }): {
139
+ /** Generated notification identifier. */
54
140
  id: string;
141
+ /**
142
+ * Close and queue removal; see toast for usage.
143
+ * @returns No value after dispatching dismissal.
144
+ *
145
+ * @see toast for the canonical control example.
146
+ */
55
147
  dismiss: () => void;
148
+ /**
149
+ * Merge notification fields while preserving id; see toast.
150
+ * @param props - Fields to merge; id is replaced by the original generated ID.
151
+ *
152
+ * @returns No value after dispatching the update.
153
+ *
154
+ * @see toast for the canonical control example.
155
+ */
56
156
  update: (props: ToasterToast) => void;
57
157
  };
58
158
  declare namespace toast {
59
159
  var success: (title: React.ReactNode, options?: Partial<Toast>) => {
160
+ /** Generated notification identifier. */
60
161
  id: string;
162
+ /**
163
+ * Close and queue removal; see toast for usage.
164
+ * @returns No value after dispatching dismissal.
165
+ *
166
+ * @see toast for the canonical control example.
167
+ */
61
168
  dismiss: () => void;
169
+ /**
170
+ * Merge notification fields while preserving id; see toast.
171
+ * @param props - Fields to merge; id is replaced by the original generated ID.
172
+ *
173
+ * @returns No value after dispatching the update.
174
+ *
175
+ * @see toast for the canonical control example.
176
+ */
62
177
  update: (props: ToasterToast) => void;
63
178
  };
64
179
  var error: (title: React.ReactNode, options?: Partial<Toast>) => {
180
+ /** Generated notification identifier. */
65
181
  id: string;
182
+ /**
183
+ * Close and queue removal; see toast for usage.
184
+ * @returns No value after dispatching dismissal.
185
+ *
186
+ * @see toast for the canonical control example.
187
+ */
66
188
  dismiss: () => void;
189
+ /**
190
+ * Merge notification fields while preserving id; see toast.
191
+ * @param props - Fields to merge; id is replaced by the original generated ID.
192
+ *
193
+ * @returns No value after dispatching the update.
194
+ *
195
+ * @see toast for the canonical control example.
196
+ */
67
197
  update: (props: ToasterToast) => void;
68
198
  };
69
199
  var info: (title: React.ReactNode, options?: Partial<Toast>) => {
200
+ /** Generated notification identifier. */
70
201
  id: string;
202
+ /**
203
+ * Close and queue removal; see toast for usage.
204
+ * @returns No value after dispatching dismissal.
205
+ *
206
+ * @see toast for the canonical control example.
207
+ */
71
208
  dismiss: () => void;
209
+ /**
210
+ * Merge notification fields while preserving id; see toast.
211
+ * @param props - Fields to merge; id is replaced by the original generated ID.
212
+ *
213
+ * @returns No value after dispatching the update.
214
+ *
215
+ * @see toast for the canonical control example.
216
+ */
72
217
  update: (props: ToasterToast) => void;
73
218
  };
74
219
  }
75
220
  /**
76
- * トースト通知を表示・管理するためのフック。
221
+ * Subscribes a component to the shared in-memory notification list.
222
+ *
223
+ * @returns Current notifications, the toast creator and dismiss(id?) that closes one or all entries.
224
+ *
225
+ * @remarks The hook renders nothing; the host must render toasts and honor open/duration.
226
+ * Subscription cleanup removes its listener. Module state/timers survive component
227
+ * unmounts, so this store is not isolated per provider or SSR request. No provider is
228
+ * required; import Appkit styles when using Appkit notification UI.
77
229
  *
78
230
  * @example
79
231
  * ```tsx
80
- * const { toast } = useToast();
81
- *
82
- * toast({
83
- * title: "送信完了",
84
- * description: "メッセージを送信しました。",
85
- * });
232
+ * import { useToast } from '@alneas/appkit-react/ui/hooks';
233
+ * export function Notices() {
234
+ * const { toasts, dismiss } = useToast();
235
+ * return <div>{toasts.filter(item => item.open).map(item => <button key={item.id} onClick={() => dismiss(item.id)}>{item.title}</button>)}</div>;
236
+ * }
86
237
  * ```
87
238
  */
88
239
  declare function useToast(): {
240
+ /**
241
+ * Add notifications; see toast for arguments, results and duration behavior.
242
+ * @param props - Notification content, presentation and optional duration metadata.
243
+ *
244
+ * @returns Generated ID and update/dismiss controls.
245
+ *
246
+ * @see toast for the canonical creation example.
247
+ */
89
248
  toast: typeof toast;
249
+ /**
250
+ * Close one or all notifications and queue removal.
251
+ *
252
+ * @param toastId - ID to close; omission closes all current notifications.
253
+ *
254
+ * @returns No value after dispatching dismissal.
255
+ */
90
256
  dismiss: (toastId?: string) => void;
257
+ /**
258
+ * Newest-first notifications, capped at five when a notification is added.
259
+ */
91
260
  toasts: ToasterToast[];
92
261
  };
93
262
  export { useToast, toast };