@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,23 +1,77 @@
1
1
  import { OTPInput } from 'input-otp';
2
2
  import * as React from 'react';
3
3
  /**
4
- * ワンタイムパスワード(OTP)入力のためのルートコンポーネント。
4
+ * Coordinates a single OTP input and its visual character slots.
5
+ * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.
6
+ * @returns The rendered InputOTP composition.
7
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.
8
+ * @example
9
+ * ```tsx
10
+ * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';
11
+ * import '@alneas/appkit-react/styles';
12
+ *
13
+ * export function Example() {
14
+ * return (<InputOTP maxLength={4} aria-label="Verification code"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);
15
+ * }
16
+ * ```
5
17
  */
6
18
  declare function InputOTP({ className, containerClassName, ...props }: React.ComponentProps<typeof OTPInput> & {
19
+ /**
20
+ * Additional classes applied to the outer input-otp container rather than its input.
21
+ */
7
22
  containerClassName?: string;
8
23
  }): React.JSX.Element;
9
24
  /**
10
- * OTPの入力スロットをグループ化するためのコンテナ。
25
+ * Lays out adjacent OTP slots as a visually joined group.
26
+ * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.
27
+ * @returns The rendered InputOTPGroup composition.
28
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.
29
+ * @example
30
+ * ```tsx
31
+ * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';
32
+ * import '@alneas/appkit-react/styles';
33
+ *
34
+ * export function Example() {
35
+ * return (<InputOTP maxLength={4} aria-label="Verification code"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);
36
+ * }
37
+ * ```
11
38
  */
12
39
  declare function InputOTPGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
13
40
  /**
14
- * OTP入力用の1桁分を表す個々のスロット(入力枠)。
41
+ * Displays one zero-based slot from the surrounding OTP input context.
42
+ * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.
43
+ * @returns The rendered InputOTPSlot composition.
44
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.
45
+ * @example
46
+ * ```tsx
47
+ * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';
48
+ * import '@alneas/appkit-react/styles';
49
+ *
50
+ * export function Example() {
51
+ * return (<InputOTP maxLength={4} aria-label="Verification code"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);
52
+ * }
53
+ * ```
15
54
  */
16
55
  declare function InputOTPSlot({ index, className, ...props }: React.ComponentProps<'div'> & {
56
+ /**
57
+ * Zero-based index into the surrounding OTP context slots; choose an index smaller than maxLength.
58
+ */
17
59
  index: number;
18
60
  }): React.JSX.Element;
19
61
  /**
20
- * OTPスロットのグループ同士を区切るためのセパレーター。
62
+ * Renders a visual separator between OTP slot groups.
63
+ * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.
64
+ * @returns The rendered InputOTPSeparator composition.
65
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry. children are replaced by the fixed minus icon.
66
+ * @example
67
+ * ```tsx
68
+ * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';
69
+ * import '@alneas/appkit-react/styles';
70
+ *
71
+ * export function Example() {
72
+ * return (<InputOTP maxLength={4} aria-label="Verification code"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);
73
+ * }
74
+ * ```
21
75
  */
22
76
  declare function InputOTPSeparator({ ...props }: React.ComponentProps<'div'>): React.JSX.Element;
23
77
  export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };
@@ -1 +1 @@
1
- {"version":3,"file":"input-otp.js","names":["React","React$1","InputOTP","props","OTPInput","cn","containerClassName","className","InputOTPGroup","InputOTPSlot","OTPInputContext","index","isActive","char","hasFakeCaret","InputOTPSeparator","Minus"],"sources":["../../../../src/ui/components/ui/input-otp.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\n\nimport { cn } from '../../lib/utils';\nimport { Minus } from 'lucide-react';\n\n/**\n * ワンタイムパスワード(OTP)入力のためのルートコンポーネント。\n */\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n containerClassName?: string;\n}) {\n return (\n <OTPInput\n data-slot='input-otp'\n containerClassName={cn(\n 'cn-input-otp flex items-center has-disabled:opacity-50',\n containerClassName,\n )}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n );\n}\n\n/**\n * OTPの入力スロットをグループ化するためのコンテナ。\n */\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='input-otp-group'\n className={cn(\n 'has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive rounded-lg has-aria-invalid:ring-[3px] flex items-center',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * OTP入力用の1桁分を表す個々のスロット(入力枠)。\n */\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<'div'> & {\n index: number;\n}) {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot='input-otp-slot'\n data-active={isActive}\n className={cn(\n 'dark:bg-input/30 border-input data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive size-8 border-y border-r text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg data-[active=true]:ring-[3px] relative flex items-center justify-center data-[active=true]:z-10',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className='pointer-events-none absolute inset-0 flex items-center justify-center'>\n <div className='animate-caret-blink bg-foreground h-4 w-px duration-1000 bg-foreground h-4 w-px' />\n </div>\n )}\n </div>\n );\n}\n\n/**\n * OTPスロットのグループ同士を区切るためのセパレーター。\n */\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='input-otp-separator'\n className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\"\n role='separator'\n {...props}\n >\n <Minus />\n </div>\n );\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;AAWA,SAASE,EAAS,EAChB,cACA,uBACA,GAAGC,KAGF;CACD,OACE,kBAACC,GAAD;EACE,aAAU;EACV,oBAAoBC,EAClB,0DACAC,CACF;EACA,YAAY;EACZ,WAAWD,EAAG,+BAA+BE,CAAS;EACtD,GAAIJ;CACL,CAAA;AAEL;AAKA,SAASK,EAAc,EAAE,cAAW,GAAGL,KAAsC;CAC3E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAWE,EACT,+KACAE,CACF;EACA,GAAIJ;CACL,CAAA;AAEL;AAKA,SAASM,EAAa,EACpB,UACA,cACA,GAAGN,KAGF;CAED,IAAM,EAAE,SAAM,iBAAc,gBADJH,EAAM,WAAWU,CACA,CAAA,EAAiB,MAAMC,MAAU,CAAC;CAE3E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,eAAaC;EACb,WAAWP,EACT,ifACAE,CACF;EACA,GAAIJ;EAPN,UAAA,CASGU,GACAC,KACC,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;EAC/F,CAAA,CAEJ;;AAET;AAKA,SAASC,EAAkB,EAAE,GAAGZ,KAAsC;CACpE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAU;EACV,MAAK;EACL,GAAIA;EAEJ,UAAA,kBAACa,GAAD,CAAQ,CAAA;CACL,CAAA;AAET"}
1
+ {"version":3,"file":"input-otp.js","names":["React","React$1","InputOTP","props","OTPInput","cn","containerClassName","className","InputOTPGroup","InputOTPSlot","OTPInputContext","index","isActive","char","hasFakeCaret","InputOTPSeparator","Minus"],"sources":["../../../../src/ui/components/ui/input-otp.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\n\nimport { cn } from '../../lib/utils';\nimport { Minus } from 'lucide-react';\n\n/**\n * Coordinates a single OTP input and its visual character slots.\n * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.\n * @returns The rendered InputOTP composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.\n * @example\n * ```tsx\n * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<InputOTP maxLength={4} aria-label=\"Verification code\"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);\n * }\n * ```\n */\nfunction InputOTP({\n className,\n containerClassName,\n ...props\n}: React.ComponentProps<typeof OTPInput> & {\n /**\n * Additional classes applied to the outer input-otp container rather than its input.\n */\n containerClassName?: string;\n}) {\n return (\n <OTPInput\n data-slot='input-otp'\n containerClassName={cn(\n 'cn-input-otp flex items-center has-disabled:opacity-50',\n containerClassName,\n )}\n spellCheck={false}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n );\n}\n\n/**\n * Lays out adjacent OTP slots as a visually joined group.\n * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.\n * @returns The rendered InputOTPGroup composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.\n * @example\n * ```tsx\n * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<InputOTP maxLength={4} aria-label=\"Verification code\"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);\n * }\n * ```\n */\nfunction InputOTPGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='input-otp-group'\n className={cn(\n 'has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive rounded-lg has-aria-invalid:ring-[3px] flex items-center',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Displays one zero-based slot from the surrounding OTP input context.\n * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.\n * @returns The rendered InputOTPSlot composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry.\n * @example\n * ```tsx\n * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<InputOTP maxLength={4} aria-label=\"Verification code\"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);\n * }\n * ```\n */\nfunction InputOTPSlot({\n index,\n className,\n ...props\n}: React.ComponentProps<'div'> & {\n /**\n * Zero-based index into the surrounding OTP context slots; choose an index smaller than maxLength.\n */\n index: number;\n}) {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};\n\n return (\n <div\n data-slot='input-otp-slot'\n data-active={isActive}\n className={cn(\n 'dark:bg-input/30 border-input data-[active=true]:border-ring data-[active=true]:ring-ring/50 data-[active=true]:aria-invalid:ring-destructive/20 dark:data-[active=true]:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[active=true]:aria-invalid:border-destructive size-8 border-y border-r text-sm transition-all outline-none first:rounded-l-lg first:border-l last:rounded-r-lg data-[active=true]:ring-[3px] relative flex items-center justify-center data-[active=true]:z-10',\n className,\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className='pointer-events-none absolute inset-0 flex items-center justify-center'>\n <div className='animate-caret-blink bg-foreground h-4 w-px duration-1000 bg-foreground h-4 w-px' />\n </div>\n )}\n </div>\n );\n}\n\n/**\n * Renders a visual separator between OTP slot groups.\n * @param props - Component attributes and children accepted by the declared native/underlying prop type; className customizes wrapper styling.\n * @returns The rendered InputOTPSeparator composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. InputOTPSlot reads input-otp context and its index must be within maxLength. Missing context/out-of-range slots render no character. containerClassName styles the outer OTP container, className the input. spellCheck defaults to false but remaining props can override it. The host owns verification and expiry. children are replaced by the fixed minus icon.\n * @example\n * ```tsx\n * import { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<InputOTP maxLength={4} aria-label=\"Verification code\"><InputOTPGroup><InputOTPSlot index={0} /><InputOTPSlot index={1} /></InputOTPGroup><InputOTPSeparator /><InputOTPGroup><InputOTPSlot index={2} /><InputOTPSlot index={3} /></InputOTPGroup></InputOTP>);\n * }\n * ```\n */\nfunction InputOTPSeparator({ ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='input-otp-separator'\n className=\"[&_svg:not([class*='size-'])]:size-4 flex items-center\"\n role='separator'\n {...props}\n >\n <Minus />\n </div>\n );\n}\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;AAuBA,SAASE,EAAS,EAChB,cACA,uBACA,GAAGC,KAMF;CACD,OACE,kBAACC,GAAD;EACE,aAAU;EACV,oBAAoBC,EAClB,0DACAC,CACF;EACA,YAAY;EACZ,WAAWD,EAAG,+BAA+BE,CAAS;EACtD,GAAIJ;CACL,CAAA;AAEL;AAiBA,SAASK,EAAc,EAAE,cAAW,GAAGL,KAAsC;CAC3E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAWE,EACT,+KACAE,CACF;EACA,GAAIJ;CACL,CAAA;AAEL;AAiBA,SAASM,EAAa,EACpB,UACA,cACA,GAAGN,KAMF;CAED,IAAM,EAAE,SAAM,iBAAc,gBADJH,EAAM,WAAWU,CACA,CAAA,EAAiB,MAAMC,MAAU,CAAC;CAE3E,OACE,kBAAC,OAAD;EACE,aAAU;EACV,eAAaC;EACb,WAAWP,EACT,ifACAE,CACF;EACA,GAAIJ;EAPN,UAAA,CASGU,GACAC,KACC,kBAAC,OAAD;GAAK,WAAU;GACb,UAAA,kBAAC,OAAD,EAAK,WAAU,kFAAmF,CAAA;EAC/F,CAAA,CAEJ;;AAET;AAiBA,SAASC,EAAkB,EAAE,GAAGZ,KAAsC;CACpE,OACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAU;EACV,MAAK;EACL,GAAIA;EAEJ,UAAA,kBAACa,GAAD,CAAQ,CAAA;CACL,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"input.cjs","names":["React","getNextNumericValue","normalizeNumericInput","InputPrimitive","cn","require_runtime","require_ui_lib_utils","require_ui_lib_ime_utils","react_jsx_runtime","react","_base_ui_react_input","Input","props","_children","restProps","isNumeric","type","effectiveType","inputMode","pattern","handleKeyDown","direction","step","nextValue","event","handleChange","testId","className"],"sources":["../../../../src/ui/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as InputPrimitive } from '@base-ui/react/input';\nimport { normalizeNumericInput, getNextNumericValue } from '../../lib/ime-utils';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Input component props\n * テキスト入力コンポーネントのプロップス\n */\nexport interface InputProps extends React.ComponentProps<typeof InputPrimitive> {\n /**\n * AI/E2E Test用の安定ID / Stable test identifier for AI and E2E tests\n */\n testId?: string;\n}\n\n/**\n * Input Component\n * テキスト入力コンポーネント\n *\n * `type=\"number\"` が指定された場合、以下の高度な挙動が自動的に適用されます:\n * - IMEの強制切り替え防止 (`type=\"text\"` としてレンダリング)\n * - 全角数字から半角数字への自動変換および非数値文字の自動削除(コピペにも対応)\n * - キーボードの上下キー (\\`ArrowUp\\`/\\`ArrowDown\\`) による数値の増減\n * - モバイルでの数字キーボード表示 (\\`inputMode=\"numeric\"\\`, \\`pattern=\"[0-9\\\\.\\\\-]*\"\\`)\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, testId, ...props }, ref) => {\n // Explicitly exclude children from props since input is a void element\n const {\n children: _children,\n ...restProps\n } = props as InputProps & { children?: React.ReactNode };\n\n const isNumeric = type === 'number';\n const effectiveType = isNumeric ? 'text' : type;\n const inputMode = props.inputMode || (isNumeric ? 'numeric' : undefined);\n const pattern = props.pattern || (isNumeric ? '[0-9\\\\.\\\\-]*' : undefined);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isNumeric && (e.key === 'ArrowUp' || e.key === 'ArrowDown')) {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? 'up' : 'down';\n const step = parseFloat(String(props.step || '1'));\n const nextValue = getNextNumericValue(props.value as any, direction, step);\n\n // Create a synthetic event to trigger onChange if needed,\n // but since Input is often used with controlled value, we just need to call onChange if it exists.\n // However, most React apps use controlled components.\n // For uncontrolled ones, we'd need to set e.target.value.\n if (props.onChange) {\n const event = {\n target: {\n ...e.target,\n value: String(nextValue),\n name: props.name,\n },\n currentTarget: {\n ...e.currentTarget,\n value: String(nextValue),\n name: props.name,\n },\n } as any;\n props.onChange(event);\n }\n }\n props.onKeyDown?.(e as any);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumeric) {\n e.target.value = normalizeNumericInput(e.target.value);\n }\n props.onChange?.(e as any);\n };\n\n return (\n <InputPrimitive\n ref={ref}\n {...restProps}\n type={effectiveType}\n inputMode={inputMode}\n pattern={pattern}\n data-slot='input'\n data-testid={testId}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n className={cn(\n 'dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-8 rounded-lg border bg-background px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n );\n },\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"A,8TA2BA,IAAMW,EAAQX,EAAM,YACjB,CAAE,YAAW,OAAM,SAAQ,GAAGY,GAAS,IAAQ,CAE9C,GAAM,CACJ,SAAUC,EACV,GAAGC,GACDF,EAEEG,EAAYC,IAAS,SACrBC,EAAgBF,EAAY,OAASC,EACrCE,EAAYN,EAAM,YAAcG,EAAY,UAAY,IAAA,IACxDI,EAAUP,EAAM,UAAYG,EAAY,eAAiB,IAAA,IAEzDK,EAAiB,GAA6C,CAClE,GAAIL,IAAc,EAAE,MAAQ,WAAa,EAAE,MAAQ,aAAc,CAC/D,EAAE,eAAe,EACjB,IAAMM,EAAY,EAAE,MAAQ,UAAY,KAAO,OACzCC,EAAO,WAAW,OAAOV,EAAM,MAAQ,GAAG,CAAC,EAC3CW,EAAYtB,EAAAA,oBAAoBW,EAAM,MAAcS,EAAWC,CAAI,EAMzE,GAAIV,EAAM,SAAU,CAClB,IAAMY,EAAQ,CACZ,OAAQ,CACN,GAAG,EAAE,OACL,MAAO,OAAOD,CAAS,EACvB,KAAMX,EAAM,IACd,EACA,cAAe,CACb,GAAG,EAAE,cACL,MAAO,OAAOW,CAAS,EACvB,KAAMX,EAAM,IACd,CACF,EACAA,EAAM,SAASY,CAAK,CACtB,CACF,CACAZ,EAAM,YAAY,CAAQ,CAC5B,EAEMa,EAAgB,GAA2C,CAC3DV,IACF,EAAE,OAAO,MAAQb,EAAAA,sBAAsB,EAAE,OAAO,KAAK,GAEvDU,EAAM,WAAW,CAAQ,CAC3B,EAEA,OACE,EAAAJ,EAAA,IAAA,CAACL,EAAAA,MAAD,CACO,MACL,GAAIW,EACJ,KAAMG,EACK,YACF,UACT,YAAU,QACV,cAAaS,EACb,UAAWN,EACX,SAAUK,EACV,UAAWrB,EAAAA,GACT,qpBACAuB,CACF,CACD,CAAA,CAEL,CACF,EACA,EAAM,YAAc,Q"}
1
+ {"version":3,"file":"input.cjs","names":["React","getNextNumericValue","normalizeNumericInput","InputPrimitive","cn","require_runtime","require_ui_lib_utils","require_ui_lib_ime_utils","react_jsx_runtime","react","_base_ui_react_input","Input","props","_children","restProps","isNumeric","type","effectiveType","inputMode","pattern","handleKeyDown","direction","step","nextValue","event","handleChange","testId","className"],"sources":["../../../../src/ui/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as InputPrimitive } from '@base-ui/react/input';\nimport { normalizeNumericInput, getNextNumericValue } from '../../lib/ime-utils';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Base UI input props with a stable selector; numeric wrapper behavior is documented on Input.\n * @remarks Inherited native or primitive props keep their upstream types and behavior; this declaration documents only the wrapper-owned options.\n * @see Input\n */\nexport interface InputProps extends React.ComponentProps<typeof InputPrimitive> {\n /**\n * Stable data-testid assigned to the rendered control/container; omitted means no selector.\n */\n testId?: string;\n}\n\n/**\n * Renders a Base UI input with optional test ID and IME-aware numeric normalization.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered Input composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. No label prop is supported; use an associated Label or accessible name. type=number renders type=text, defaults inputMode to numeric and pattern to [0-9\\.\\-]*, normalizes fullwidth/nonnumeric input on change, and invokes the supplied onChange with the modified event. ArrowUp/ArrowDown derive the next value from props.value and step (default 1); min/max are not clamped by this wrapper. Numeric stepping requires a controlled value/onChange for reliable updates. Children are discarded. The ref prop forwards to the rendered control or container declared by the component ref type.\n * @example\n * ```tsx\n * import { useState } from 'react';\n * import { Input, Label } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * const [quantity, setQuantity] = useState(\"1\");\n * return (<><Label htmlFor=\"quantity\">Quantity</Label><Input id=\"quantity\" type=\"number\" value={quantity} onChange={event => setQuantity(event.target.value)} /></>);\n * }\n * ```\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, testId, ...props }, ref) => {\n // Explicitly exclude children from props since input is a void element\n const {\n children: _children,\n ...restProps\n } = props as InputProps & { children?: React.ReactNode };\n\n const isNumeric = type === 'number';\n const effectiveType = isNumeric ? 'text' : type;\n const inputMode = props.inputMode || (isNumeric ? 'numeric' : undefined);\n const pattern = props.pattern || (isNumeric ? '[0-9\\\\.\\\\-]*' : undefined);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isNumeric && (e.key === 'ArrowUp' || e.key === 'ArrowDown')) {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? 'up' : 'down';\n const step = parseFloat(String(props.step || '1'));\n const nextValue = getNextNumericValue(props.value as any, direction, step);\n\n // Create a synthetic event to trigger onChange if needed,\n // but since Input is often used with controlled value, we just need to call onChange if it exists.\n // However, most React apps use controlled components.\n // For uncontrolled ones, we'd need to set e.target.value.\n if (props.onChange) {\n const event = {\n target: {\n ...e.target,\n value: String(nextValue),\n name: props.name,\n },\n currentTarget: {\n ...e.currentTarget,\n value: String(nextValue),\n name: props.name,\n },\n } as any;\n props.onChange(event);\n }\n }\n props.onKeyDown?.(e as any);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumeric) {\n e.target.value = normalizeNumericInput(e.target.value);\n }\n props.onChange?.(e as any);\n };\n\n return (\n <InputPrimitive\n ref={ref}\n {...restProps}\n type={effectiveType}\n inputMode={inputMode}\n pattern={pattern}\n data-slot='input'\n data-testid={testId}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n className={cn(\n 'dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-8 rounded-lg border bg-background px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n );\n },\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"A,8TAmCA,IAAMW,EAAQX,EAAM,YACjB,CAAE,YAAW,OAAM,SAAQ,GAAGY,GAAS,IAAQ,CAE9C,GAAM,CACJ,SAAUC,EACV,GAAGC,GACDF,EAEEG,EAAYC,IAAS,SACrBC,EAAgBF,EAAY,OAASC,EACrCE,EAAYN,EAAM,YAAcG,EAAY,UAAY,IAAA,IACxDI,EAAUP,EAAM,UAAYG,EAAY,eAAiB,IAAA,IAEzDK,EAAiB,GAA6C,CAClE,GAAIL,IAAc,EAAE,MAAQ,WAAa,EAAE,MAAQ,aAAc,CAC/D,EAAE,eAAe,EACjB,IAAMM,EAAY,EAAE,MAAQ,UAAY,KAAO,OACzCC,EAAO,WAAW,OAAOV,EAAM,MAAQ,GAAG,CAAC,EAC3CW,EAAYtB,EAAAA,oBAAoBW,EAAM,MAAcS,EAAWC,CAAI,EAMzE,GAAIV,EAAM,SAAU,CAClB,IAAMY,EAAQ,CACZ,OAAQ,CACN,GAAG,EAAE,OACL,MAAO,OAAOD,CAAS,EACvB,KAAMX,EAAM,IACd,EACA,cAAe,CACb,GAAG,EAAE,cACL,MAAO,OAAOW,CAAS,EACvB,KAAMX,EAAM,IACd,CACF,EACAA,EAAM,SAASY,CAAK,CACtB,CACF,CACAZ,EAAM,YAAY,CAAQ,CAC5B,EAEMa,EAAgB,GAA2C,CAC3DV,IACF,EAAE,OAAO,MAAQb,EAAAA,sBAAsB,EAAE,OAAO,KAAK,GAEvDU,EAAM,WAAW,CAAQ,CAC3B,EAEA,OACE,EAAAJ,EAAA,IAAA,CAACL,EAAAA,MAAD,CACO,MACL,GAAIW,EACJ,KAAMG,EACK,YACF,UACT,YAAU,QACV,cAAaS,EACb,UAAWN,EACX,SAAUK,EACV,UAAWrB,EAAAA,GACT,qpBACAuB,CACF,CACD,CAAA,CAEL,CACF,EACA,EAAM,YAAc,Q"}
@@ -1,24 +1,32 @@
1
1
  import { Input as InputPrimitive } from '@base-ui/react/input';
2
2
  import * as React from 'react';
3
3
  /**
4
- * Input component props
5
- * テキスト入力コンポーネントのプロップス
4
+ * Base UI input props with a stable selector; numeric wrapper behavior is documented on Input.
5
+ * @remarks Inherited native or primitive props keep their upstream types and behavior; this declaration documents only the wrapper-owned options.
6
+ * @see Input
6
7
  */
7
8
  export interface InputProps extends React.ComponentProps<typeof InputPrimitive> {
8
9
  /**
9
- * AI/E2E Test用の安定ID / Stable test identifier for AI and E2E tests
10
+ * Stable data-testid assigned to the rendered control/container; omitted means no selector.
10
11
  */
11
12
  testId?: string;
12
13
  }
13
14
  /**
14
- * Input Component
15
- * テキスト入力コンポーネント
15
+ * Renders a Base UI input with optional test ID and IME-aware numeric normalization.
16
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
17
+ * @returns The rendered Input composition.
18
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. No label prop is supported; use an associated Label or accessible name. type=number renders type=text, defaults inputMode to numeric and pattern to [0-9\.\-]*, normalizes fullwidth/nonnumeric input on change, and invokes the supplied onChange with the modified event. ArrowUp/ArrowDown derive the next value from props.value and step (default 1); min/max are not clamped by this wrapper. Numeric stepping requires a controlled value/onChange for reliable updates. Children are discarded. The ref prop forwards to the rendered control or container declared by the component ref type.
19
+ * @example
20
+ * ```tsx
21
+ * import { useState } from 'react';
22
+ * import { Input, Label } from '@alneas/appkit-react/ui';
23
+ * import '@alneas/appkit-react/styles';
16
24
  *
17
- * `type="number"` が指定された場合、以下の高度な挙動が自動的に適用されます:
18
- * - IMEの強制切り替え防止 (`type="text"` としてレンダリング)
19
- * - 全角数字から半角数字への自動変換および非数値文字の自動削除(コピペにも対応)
20
- * - キーボードの上下キー (\`ArrowUp\`/\`ArrowDown\`) による数値の増減
21
- * - モバイルでの数字キーボード表示 (\`inputMode="numeric"\`, \`pattern="[0-9\\.\\-]*"\`)
25
+ * export function Example() {
26
+ * const [quantity, setQuantity] = useState("1");
27
+ * return (<><Label htmlFor="quantity">Quantity</Label><Input id="quantity" type="number" value={quantity} onChange={event => setQuantity(event.target.value)} /></>);
28
+ * }
29
+ * ```
22
30
  */
23
31
  declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
24
32
  export { Input };
@@ -1,24 +1,32 @@
1
1
  import { Input as InputPrimitive } from '@base-ui/react/input';
2
2
  import * as React from 'react';
3
3
  /**
4
- * Input component props
5
- * テキスト入力コンポーネントのプロップス
4
+ * Base UI input props with a stable selector; numeric wrapper behavior is documented on Input.
5
+ * @remarks Inherited native or primitive props keep their upstream types and behavior; this declaration documents only the wrapper-owned options.
6
+ * @see Input
6
7
  */
7
8
  export interface InputProps extends React.ComponentProps<typeof InputPrimitive> {
8
9
  /**
9
- * AI/E2E Test用の安定ID / Stable test identifier for AI and E2E tests
10
+ * Stable data-testid assigned to the rendered control/container; omitted means no selector.
10
11
  */
11
12
  testId?: string;
12
13
  }
13
14
  /**
14
- * Input Component
15
- * テキスト入力コンポーネント
15
+ * Renders a Base UI input with optional test ID and IME-aware numeric normalization.
16
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
17
+ * @returns The rendered Input composition.
18
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. No label prop is supported; use an associated Label or accessible name. type=number renders type=text, defaults inputMode to numeric and pattern to [0-9\.\-]*, normalizes fullwidth/nonnumeric input on change, and invokes the supplied onChange with the modified event. ArrowUp/ArrowDown derive the next value from props.value and step (default 1); min/max are not clamped by this wrapper. Numeric stepping requires a controlled value/onChange for reliable updates. Children are discarded. The ref prop forwards to the rendered control or container declared by the component ref type.
19
+ * @example
20
+ * ```tsx
21
+ * import { useState } from 'react';
22
+ * import { Input, Label } from '@alneas/appkit-react/ui';
23
+ * import '@alneas/appkit-react/styles';
16
24
  *
17
- * `type="number"` が指定された場合、以下の高度な挙動が自動的に適用されます:
18
- * - IMEの強制切り替え防止 (`type="text"` としてレンダリング)
19
- * - 全角数字から半角数字への自動変換および非数値文字の自動削除(コピペにも対応)
20
- * - キーボードの上下キー (\`ArrowUp\`/\`ArrowDown\`) による数値の増減
21
- * - モバイルでの数字キーボード表示 (\`inputMode="numeric"\`, \`pattern="[0-9\\.\\-]*"\`)
25
+ * export function Example() {
26
+ * const [quantity, setQuantity] = useState("1");
27
+ * return (<><Label htmlFor="quantity">Quantity</Label><Input id="quantity" type="number" value={quantity} onChange={event => setQuantity(event.target.value)} /></>);
28
+ * }
29
+ * ```
22
30
  */
23
31
  declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
24
32
  export { Input };
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","names":["React","InputPrimitive","React$1","Input$1","Input","props","_children","restProps","isNumeric","type","effectiveType","inputMode","pattern","handleKeyDown","direction","step","nextValue","getNextNumericValue","event","handleChange","normalizeNumericInput","testId","cn","className"],"sources":["../../../../src/ui/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as InputPrimitive } from '@base-ui/react/input';\nimport { normalizeNumericInput, getNextNumericValue } from '../../lib/ime-utils';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Input component props\n * テキスト入力コンポーネントのプロップス\n */\nexport interface InputProps extends React.ComponentProps<typeof InputPrimitive> {\n /**\n * AI/E2E Test用の安定ID / Stable test identifier for AI and E2E tests\n */\n testId?: string;\n}\n\n/**\n * Input Component\n * テキスト入力コンポーネント\n *\n * `type=\"number\"` が指定された場合、以下の高度な挙動が自動的に適用されます:\n * - IMEの強制切り替え防止 (`type=\"text\"` としてレンダリング)\n * - 全角数字から半角数字への自動変換および非数値文字の自動削除(コピペにも対応)\n * - キーボードの上下キー (\\`ArrowUp\\`/\\`ArrowDown\\`) による数値の増減\n * - モバイルでの数字キーボード表示 (\\`inputMode=\"numeric\"\\`, \\`pattern=\"[0-9\\\\.\\\\-]*\"\\`)\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, testId, ...props }, ref) => {\n // Explicitly exclude children from props since input is a void element\n const {\n children: _children,\n ...restProps\n } = props as InputProps & { children?: React.ReactNode };\n\n const isNumeric = type === 'number';\n const effectiveType = isNumeric ? 'text' : type;\n const inputMode = props.inputMode || (isNumeric ? 'numeric' : undefined);\n const pattern = props.pattern || (isNumeric ? '[0-9\\\\.\\\\-]*' : undefined);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isNumeric && (e.key === 'ArrowUp' || e.key === 'ArrowDown')) {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? 'up' : 'down';\n const step = parseFloat(String(props.step || '1'));\n const nextValue = getNextNumericValue(props.value as any, direction, step);\n\n // Create a synthetic event to trigger onChange if needed,\n // but since Input is often used with controlled value, we just need to call onChange if it exists.\n // However, most React apps use controlled components.\n // For uncontrolled ones, we'd need to set e.target.value.\n if (props.onChange) {\n const event = {\n target: {\n ...e.target,\n value: String(nextValue),\n name: props.name,\n },\n currentTarget: {\n ...e.currentTarget,\n value: String(nextValue),\n name: props.name,\n },\n } as any;\n props.onChange(event);\n }\n }\n props.onKeyDown?.(e as any);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumeric) {\n e.target.value = normalizeNumericInput(e.target.value);\n }\n props.onChange?.(e as any);\n };\n\n return (\n <InputPrimitive\n ref={ref}\n {...restProps}\n type={effectiveType}\n inputMode={inputMode}\n pattern={pattern}\n data-slot='input'\n data-testid={testId}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n className={cn(\n 'dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-8 rounded-lg border bg-background px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n );\n },\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":";;;;;;;AA2BA,IAAMI,IAAQJ,EAAM,YACjB,EAAE,cAAW,SAAM,WAAQ,GAAGK,KAAS,MAAQ;CAE9C,IAAM,EACJ,UAAUC,GACV,GAAGC,MACDF,GAEEG,IAAYC,MAAS,UACrBC,IAAgBF,IAAY,SAASC,GACrCE,IAAYN,EAAM,cAAcG,IAAY,YAAY,KAAA,IACxDI,IAAUP,EAAM,YAAYG,IAAY,iBAAiB,KAAA,IAEzDK,KAAiB,MAA6C;EAClE,IAAIL,MAAc,EAAE,QAAQ,aAAa,EAAE,QAAQ,cAAc;GAC/D,EAAE,eAAe;GACjB,IAAMM,IAAY,EAAE,QAAQ,YAAY,OAAO,QACzCC,IAAO,WAAW,OAAOV,EAAM,QAAQ,GAAG,CAAC,GAC3CW,IAAYC,EAAoBZ,EAAM,OAAcS,GAAWC,CAAI;GAMzE,IAAIV,EAAM,UAAU;IAClB,IAAMa,IAAQ;KACZ,QAAQ;MACN,GAAG,EAAE;MACL,OAAO,OAAOF,CAAS;MACvB,MAAMX,EAAM;KACd;KACA,eAAe;MACb,GAAG,EAAE;MACL,OAAO,OAAOW,CAAS;MACvB,MAAMX,EAAM;KACd;IACF;IACA,EAAM,SAASa,CAAK;GACtB;EACF;EACA,EAAM,YAAY,CAAQ;CAC5B,GAEMC,KAAgB,MAA2C;EAI/D,AAHIX,MACF,EAAE,OAAO,QAAQY,EAAsB,EAAE,OAAO,KAAK,IAEvDf,EAAM,WAAW,CAAQ;CAC3B;CAEA,OACE,kBAACJ,GAAD;EACO;EACL,GAAIM;EACJ,MAAMG;EACK;EACF;EACT,aAAU;EACV,eAAaW;EACb,WAAWR;EACX,UAAUM;EACV,WAAWG,EACT,spBACAC,CACF;CACD,CAAA;AAEL,CACF;AACA,EAAM,cAAc"}
1
+ {"version":3,"file":"input.js","names":["React","InputPrimitive","React$1","Input$1","Input","props","_children","restProps","isNumeric","type","effectiveType","inputMode","pattern","handleKeyDown","direction","step","nextValue","getNextNumericValue","event","handleChange","normalizeNumericInput","testId","cn","className"],"sources":["../../../../src/ui/components/ui/input.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Input as InputPrimitive } from '@base-ui/react/input';\nimport { normalizeNumericInput, getNextNumericValue } from '../../lib/ime-utils';\n\nimport { cn } from '../../lib/utils';\n\n/**\n * Base UI input props with a stable selector; numeric wrapper behavior is documented on Input.\n * @remarks Inherited native or primitive props keep their upstream types and behavior; this declaration documents only the wrapper-owned options.\n * @see Input\n */\nexport interface InputProps extends React.ComponentProps<typeof InputPrimitive> {\n /**\n * Stable data-testid assigned to the rendered control/container; omitted means no selector.\n */\n testId?: string;\n}\n\n/**\n * Renders a Base UI input with optional test ID and IME-aware numeric normalization.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered Input composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. No label prop is supported; use an associated Label or accessible name. type=number renders type=text, defaults inputMode to numeric and pattern to [0-9\\.\\-]*, normalizes fullwidth/nonnumeric input on change, and invokes the supplied onChange with the modified event. ArrowUp/ArrowDown derive the next value from props.value and step (default 1); min/max are not clamped by this wrapper. Numeric stepping requires a controlled value/onChange for reliable updates. Children are discarded. The ref prop forwards to the rendered control or container declared by the component ref type.\n * @example\n * ```tsx\n * import { useState } from 'react';\n * import { Input, Label } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * const [quantity, setQuantity] = useState(\"1\");\n * return (<><Label htmlFor=\"quantity\">Quantity</Label><Input id=\"quantity\" type=\"number\" value={quantity} onChange={event => setQuantity(event.target.value)} /></>);\n * }\n * ```\n */\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ className, type, testId, ...props }, ref) => {\n // Explicitly exclude children from props since input is a void element\n const {\n children: _children,\n ...restProps\n } = props as InputProps & { children?: React.ReactNode };\n\n const isNumeric = type === 'number';\n const effectiveType = isNumeric ? 'text' : type;\n const inputMode = props.inputMode || (isNumeric ? 'numeric' : undefined);\n const pattern = props.pattern || (isNumeric ? '[0-9\\\\.\\\\-]*' : undefined);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isNumeric && (e.key === 'ArrowUp' || e.key === 'ArrowDown')) {\n e.preventDefault();\n const direction = e.key === 'ArrowUp' ? 'up' : 'down';\n const step = parseFloat(String(props.step || '1'));\n const nextValue = getNextNumericValue(props.value as any, direction, step);\n\n // Create a synthetic event to trigger onChange if needed,\n // but since Input is often used with controlled value, we just need to call onChange if it exists.\n // However, most React apps use controlled components.\n // For uncontrolled ones, we'd need to set e.target.value.\n if (props.onChange) {\n const event = {\n target: {\n ...e.target,\n value: String(nextValue),\n name: props.name,\n },\n currentTarget: {\n ...e.currentTarget,\n value: String(nextValue),\n name: props.name,\n },\n } as any;\n props.onChange(event);\n }\n }\n props.onKeyDown?.(e as any);\n };\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (isNumeric) {\n e.target.value = normalizeNumericInput(e.target.value);\n }\n props.onChange?.(e as any);\n };\n\n return (\n <InputPrimitive\n ref={ref}\n {...restProps}\n type={effectiveType}\n inputMode={inputMode}\n pattern={pattern}\n data-slot='input'\n data-testid={testId}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n className={cn(\n 'dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 disabled:bg-input/50 dark:disabled:bg-input/80 h-8 rounded-lg border bg-background px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n />\n );\n },\n);\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":";;;;;;;AAmCA,IAAMI,IAAQJ,EAAM,YACjB,EAAE,cAAW,SAAM,WAAQ,GAAGK,KAAS,MAAQ;CAE9C,IAAM,EACJ,UAAUC,GACV,GAAGC,MACDF,GAEEG,IAAYC,MAAS,UACrBC,IAAgBF,IAAY,SAASC,GACrCE,IAAYN,EAAM,cAAcG,IAAY,YAAY,KAAA,IACxDI,IAAUP,EAAM,YAAYG,IAAY,iBAAiB,KAAA,IAEzDK,KAAiB,MAA6C;EAClE,IAAIL,MAAc,EAAE,QAAQ,aAAa,EAAE,QAAQ,cAAc;GAC/D,EAAE,eAAe;GACjB,IAAMM,IAAY,EAAE,QAAQ,YAAY,OAAO,QACzCC,IAAO,WAAW,OAAOV,EAAM,QAAQ,GAAG,CAAC,GAC3CW,IAAYC,EAAoBZ,EAAM,OAAcS,GAAWC,CAAI;GAMzE,IAAIV,EAAM,UAAU;IAClB,IAAMa,IAAQ;KACZ,QAAQ;MACN,GAAG,EAAE;MACL,OAAO,OAAOF,CAAS;MACvB,MAAMX,EAAM;KACd;KACA,eAAe;MACb,GAAG,EAAE;MACL,OAAO,OAAOW,CAAS;MACvB,MAAMX,EAAM;KACd;IACF;IACA,EAAM,SAASa,CAAK;GACtB;EACF;EACA,EAAM,YAAY,CAAQ;CAC5B,GAEMC,KAAgB,MAA2C;EAI/D,AAHIX,MACF,EAAE,OAAO,QAAQY,EAAsB,EAAE,OAAO,KAAK,IAEvDf,EAAM,WAAW,CAAQ;CAC3B;CAEA,OACE,kBAACJ,GAAD;EACO;EACL,GAAIM;EACJ,MAAMG;EACK;EACF;EACT,aAAU;EACV,eAAaW;EACb,WAAWR;EACX,UAAUM;EACV,WAAWG,EACT,spBACAC,CACF;CACD,CAAA;AAEL,CACF;AACA,EAAM,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"file":"item.cjs","names":["cn","Separator","cva","useRender","mergeProps","require_runtime","require_ui_lib_utils","require_ui_components_ui_separator","react_jsx_runtime","react","class_variance_authority","_base_ui_react_merge_props","_base_ui_react_use_render","ItemGroup","props","className","ItemSeparator","itemVariants","Item","itemMediaVariants","ItemMedia","variant","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"sources":["../../../../src/ui/components/ui/item.tsx"],"sourcesContent":["import * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../lib/utils';\nimport { Separator } from './separator';\n\n/**\n * リスト形式のアイテムをグループ化するコンテナコンポーネント。\n */\nfunction ItemGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n role='list'\n data-slot='item-group'\n className={cn(\n 'gap-4 has-[[data-size=sm]]:gap-2.5 has-[[data-size=xs]]:gap-2 group/item-group flex w-full flex-col',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * アイテムグループ内のアイテム同士を区切るためのセパレーター(区切り線)。\n */\nfunction ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot='item-separator'\n orientation='horizontal'\n className={cn('my-2', className)}\n {...props}\n />\n );\n}\n\nconst itemVariants = cva(\n '[a]:hover:bg-muted rounded-lg border text-sm w-full group/item focus-visible:border-ring focus-visible:ring-ring/50 flex items-center flex-wrap outline-none transition-colors duration-100 focus-visible:ring-[3px] [a]:transition-colors',\n {\n variants: {\n variant: {\n default: 'border-transparent',\n outline: 'border-border',\n muted: 'bg-muted/50 border-transparent',\n },\n size: {\n default: 'gap-2.5 px-3 py-2.5',\n sm: 'gap-2.5 px-3 py-2.5',\n xs: 'gap-2 px-2.5 py-2 [[data-slot=dropdown-menu-content]_&]:p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n/**\n * リストやグリッド内の個々のアイテムを表す基本コンポーネント。\n */\nfunction Item({\n className,\n variant = 'default',\n size = 'default',\n render,\n ...props\n}: useRender.ComponentProps<'div'> & VariantProps<typeof itemVariants>) {\n return useRender({\n defaultTagName: 'div',\n props: mergeProps<'div'>(\n {\n className: cn(itemVariants({ variant, size, className })),\n },\n props,\n ),\n render,\n state: {\n slot: 'item',\n variant,\n size,\n },\n });\n}\n\nconst itemMediaVariants = cva(\n 'gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\n/**\n * アイテム内のアバター、アイコン、画像などのメディア要素を表示するコンポーネント。\n */\nfunction ItemMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot='item-media'\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\n/**\n * アイテム内のコンテンツ(タイトルや説明など)を格納するコンテナ。\n */\nfunction ItemContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-content'\n className={cn(\n 'gap-1 group-data-[size=xs]/item:gap-0 flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * アイテムのタイトル。\n */\nfunction ItemTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-title'\n className={cn(\n 'gap-2 text-sm leading-snug font-medium underline-offset-4 line-clamp-1 flex w-fit items-center',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * アイテムの補助的な説明テキスト。\n */\nfunction ItemDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot='item-description'\n className={cn(\n 'text-muted-foreground text-left text-sm leading-normal group-data-[size=xs]/item:text-xs [&>a:hover]:text-primary line-clamp-2 font-normal [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * アイテムに関連するアクションボタンや操作子を配置するコンポーネント。\n */\nfunction ItemActions({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot='item-actions' className={cn('gap-2 flex items-center', className)} {...props} />\n );\n}\n\n/**\n * アイテムの上部にメタ情報などを配置するヘッダー領域。\n */\nfunction ItemHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-header'\n className={cn('gap-2 flex basis-full items-center justify-between', className)}\n {...props}\n />\n );\n}\n\n/**\n * アイテムの下部にメタ情報やアクションを配置するフッター領域。\n */\nfunction ItemFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-footer'\n className={cn('gap-2 flex basis-full items-center justify-between', className)}\n {...props}\n />\n );\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n};\n"],"mappings":"A,yYAWA,SAASa,EAAU,CAAE,YAAW,GAAGC,GAAsC,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,KAAK,OACL,YAAU,aACV,UAAWR,EAAAA,GACT,sGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAKA,SAASE,EAAc,CAAE,YAAW,GAAGF,GAAiD,CACtF,OACE,EAAAN,EAAA,IAAA,CAACP,EAAAA,UAAD,CACE,YAAU,iBACV,YAAY,aACZ,UAAWD,EAAAA,GAAG,OAAQe,CAAS,EAC/B,GAAID,CACL,CAAA,CAEL,CAEA,IAAMG,GAAA,EAAef,EAAAA,IAAAA,CACnB,6OACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,qBACT,QAAS,gBACT,MAAO,gCACT,EACA,KAAM,CACJ,QAAS,sBACT,GAAI,sBACJ,GAAI,6DACN,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAKA,SAASgB,EAAK,CACZ,YACA,UAAU,UACV,OAAO,UACP,SACA,GAAGJ,GACmE,CACtE,OAAA,EAAOX,EAAAA,UAAAA,CAAU,CACf,eAAgB,MAChB,OAAA,EAAOC,EAAAA,WAAAA,CACL,CACE,UAAWJ,EAAAA,GAAGiB,EAAa,CAAE,UAAS,OAAM,WAAU,CAAC,CAAC,CAC1D,EACAH,CACF,EACA,SACA,MAAO,CACL,KAAM,OACN,UACA,MACF,CACF,CAAC,CACH,CAEA,IAAMK,GAAA,EAAoBjB,EAAAA,IAAAA,CACxB,qMACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,KAAM,uCACN,MACE,6IACJ,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAKA,SAASkB,EAAU,CACjB,YACA,UAAU,UACV,GAAGN,GACoE,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,aACV,eAAca,EACd,UAAWrB,EAAAA,GAAGmB,EAAkB,CAAE,UAAS,WAAU,CAAC,CAAC,EACvD,GAAIL,CACL,CAAA,CAEL,CAKA,SAASQ,EAAY,CAAE,YAAW,GAAGR,GAAsC,CACzE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,eACV,UAAWR,EAAAA,GACT,oGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAKA,SAASS,EAAU,CAAE,YAAW,GAAGT,GAAsC,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,aACV,UAAWR,EAAAA,GACT,iGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAKA,SAASU,EAAgB,CAAE,YAAW,GAAGV,GAAoC,CAC3E,OACE,EAAAN,EAAA,IAAA,CAAC,IAAD,CACE,YAAU,mBACV,UAAWR,EAAAA,GACT,sLACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAKA,SAASW,EAAY,CAAE,YAAW,GAAGX,GAAsC,CACzE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,eAAe,UAAWR,EAAAA,GAAG,0BAA2Be,CAAS,EAAG,GAAID,CAAQ,CAAA,CAEnG,CAKA,SAASY,EAAW,CAAE,YAAW,GAAGZ,GAAsC,CACxE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,cACV,UAAWR,EAAAA,GAAG,qDAAsDe,CAAS,EAC7E,GAAID,CACL,CAAA,CAEL,CAKA,SAASa,EAAW,CAAE,YAAW,GAAGb,GAAsC,CACxE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,cACV,UAAWR,EAAAA,GAAG,qDAAsDe,CAAS,EAC7E,GAAID,CACL,CAAA,CAEL,C"}
1
+ {"version":3,"file":"item.cjs","names":["cn","Separator","cva","useRender","mergeProps","require_runtime","require_ui_lib_utils","require_ui_components_ui_separator","react_jsx_runtime","react","class_variance_authority","_base_ui_react_merge_props","_base_ui_react_use_render","ItemGroup","props","className","ItemSeparator","itemVariants","Item","itemMediaVariants","ItemMedia","variant","ItemContent","ItemTitle","ItemDescription","ItemActions","ItemHeader","ItemFooter"],"sources":["../../../../src/ui/components/ui/item.tsx"],"sourcesContent":["import * as React from 'react';\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '../../lib/utils';\nimport { Separator } from './separator';\n\n/**\n * Renders a list-role container for vertically arranged item cards.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemGroup composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n role='list'\n data-slot='item-group'\n className={cn(\n 'gap-4 has-[[data-size=sm]]:gap-2.5 has-[[data-size=xs]]:gap-2 group/item-group flex w-full flex-col',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Draws a horizontal divider between item cards.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemSeparator composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot='item-separator'\n orientation='horizontal'\n className={cn('my-2', className)}\n {...props}\n />\n );\n}\n\nconst itemVariants = cva(\n '[a]:hover:bg-muted rounded-lg border text-sm w-full group/item focus-visible:border-ring focus-visible:ring-ring/50 flex items-center flex-wrap outline-none transition-colors duration-100 focus-visible:ring-[3px] [a]:transition-colors',\n {\n variants: {\n /**\n * Visual treatment selected by the consumer; these values change CSS classes only.\n * Accepted values: default, outline, muted.\n * @defaultValue 'default'\n * @see itemVariants\n */\n variant: {\n default: 'border-transparent',\n outline: 'border-border',\n muted: 'bg-muted/50 border-transparent',\n },\n /**\n * Control size preset selected by the consumer; sizes are class-based rather than numeric dimensions.\n * Accepted values: default, sm, xs.\n * @defaultValue 'default'\n * @see itemVariants\n */\n size: {\n default: 'gap-2.5 px-3 py-2.5',\n sm: 'gap-2.5 px-3 py-2.5',\n xs: 'gap-2 px-2.5 py-2 [[data-slot=dropdown-menu-content]_&]:p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\n/**\n * Renders a list-item surface with configurable size, border treatment and render element.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling. Wrapper defaults: variant='default', size='default'.\n * @returns The rendered Item composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction Item({\n className,\n variant = 'default',\n size = 'default',\n render,\n ...props\n}: useRender.ComponentProps<'div'> & VariantProps<typeof itemVariants>) {\n return useRender({\n defaultTagName: 'div',\n props: mergeProps<'div'>(\n {\n className: cn(itemVariants({ variant, size, className })),\n },\n props,\n ),\n render,\n state: {\n slot: 'item',\n variant,\n size,\n },\n });\n}\n\nconst itemMediaVariants = cva(\n 'gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none',\n {\n variants: {\n /**\n * Visual treatment selected by the consumer; these values change CSS classes only.\n * Accepted values: default, icon, image.\n * @defaultValue 'default'\n * @see itemMediaVariants\n */\n variant: {\n default: 'bg-transparent',\n icon: \"[&_svg:not([class*='size-'])]:size-4\",\n image:\n 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\n/**\n * Styles leading media as plain content, an icon or a cropped image.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling. Wrapper defaults: variant='default'.\n * @returns The rendered ItemMedia composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemMedia({\n className,\n variant = 'default',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>) {\n return (\n <div\n data-slot='item-media'\n data-variant={variant}\n className={cn(itemMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\n/**\n * Arranges an item title and supporting content in a flexible column.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemContent composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-content'\n className={cn(\n 'gap-1 group-data-[size=xs]/item:gap-0 flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Styles a single-line item title.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemTitle composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-title'\n className={cn(\n 'gap-2 text-sm leading-snug font-medium underline-offset-4 line-clamp-1 flex w-fit items-center',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Styles a two-line item description and embedded links.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemDescription composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemDescription({ className, ...props }: React.ComponentProps<'p'>) {\n return (\n <p\n data-slot='item-description'\n className={cn(\n 'text-muted-foreground text-left text-sm leading-normal group-data-[size=xs]/item:text-xs [&>a:hover]:text-primary line-clamp-2 font-normal [&>a]:underline [&>a]:underline-offset-4',\n className,\n )}\n {...props}\n />\n );\n}\n\n/**\n * Aligns host-provided item action controls.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemActions composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemActions({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot='item-actions' className={cn('gap-2 flex items-center', className)} {...props} />\n );\n}\n\n/**\n * Lays out full-width metadata above the main item content.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemHeader composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-header'\n className={cn('gap-2 flex basis-full items-center justify-between', className)}\n {...props}\n />\n );\n}\n\n/**\n * Lays out full-width metadata or controls below item content.\n * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.\n * @returns The rendered ItemFooter composition.\n * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.\n * @example\n * ```tsx\n * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';\n * import '@alneas/appkit-react/styles';\n *\n * export function Example() {\n * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant=\"icon\">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type=\"button\">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);\n * }\n * ```\n */\nfunction ItemFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot='item-footer'\n className={cn('gap-2 flex basis-full items-center justify-between', className)}\n {...props}\n />\n );\n}\n\nexport {\n Item,\n ItemMedia,\n ItemContent,\n ItemActions,\n ItemGroup,\n ItemSeparator,\n ItemTitle,\n ItemDescription,\n ItemHeader,\n ItemFooter,\n};\n"],"mappings":"A,yYAuBA,SAASa,EAAU,CAAE,YAAW,GAAGC,GAAsC,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,KAAK,OACL,YAAU,aACV,UAAWR,EAAAA,GACT,sGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAiBA,SAASE,EAAc,CAAE,YAAW,GAAGF,GAAiD,CACtF,OACE,EAAAN,EAAA,IAAA,CAACP,EAAAA,UAAD,CACE,YAAU,iBACV,YAAY,aACZ,UAAWD,EAAAA,GAAG,OAAQe,CAAS,EAC/B,GAAID,CACL,CAAA,CAEL,CAEA,IAAMG,GAAA,EAAef,EAAAA,IAAAA,CACnB,6OACA,CACE,SAAU,CAOR,QAAS,CACP,QAAS,qBACT,QAAS,gBACT,MAAO,gCACT,EAOA,KAAM,CACJ,QAAS,sBACT,GAAI,sBACJ,GAAI,6DACN,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAiBA,SAASgB,EAAK,CACZ,YACA,UAAU,UACV,OAAO,UACP,SACA,GAAGJ,GACmE,CACtE,OAAA,EAAOX,EAAAA,UAAAA,CAAU,CACf,eAAgB,MAChB,OAAA,EAAOC,EAAAA,WAAAA,CACL,CACE,UAAWJ,EAAAA,GAAGiB,EAAa,CAAE,UAAS,OAAM,WAAU,CAAC,CAAC,CAC1D,EACAH,CACF,EACA,SACA,MAAO,CACL,KAAM,OACN,UACA,MACF,CACF,CAAC,CACH,CAEA,IAAMK,GAAA,EAAoBjB,EAAAA,IAAAA,CACxB,qMACA,CACE,SAAU,CAOR,QAAS,CACP,QAAS,iBACT,KAAM,uCACN,MACE,6IACJ,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF,EAiBA,SAASkB,EAAU,CACjB,YACA,UAAU,UACV,GAAGN,GACoE,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,aACV,eAAca,EACd,UAAWrB,EAAAA,GAAGmB,EAAkB,CAAE,UAAS,WAAU,CAAC,CAAC,EACvD,GAAIL,CACL,CAAA,CAEL,CAiBA,SAASQ,EAAY,CAAE,YAAW,GAAGR,GAAsC,CACzE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,eACV,UAAWR,EAAAA,GACT,oGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAiBA,SAASS,EAAU,CAAE,YAAW,GAAGT,GAAsC,CACvE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,aACV,UAAWR,EAAAA,GACT,iGACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAiBA,SAASU,EAAgB,CAAE,YAAW,GAAGV,GAAoC,CAC3E,OACE,EAAAN,EAAA,IAAA,CAAC,IAAD,CACE,YAAU,mBACV,UAAWR,EAAAA,GACT,sLACAe,CACF,EACA,GAAID,CACL,CAAA,CAEL,CAiBA,SAASW,EAAY,CAAE,YAAW,GAAGX,GAAsC,CACzE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CAAK,YAAU,eAAe,UAAWR,EAAAA,GAAG,0BAA2Be,CAAS,EAAG,GAAID,CAAQ,CAAA,CAEnG,CAiBA,SAASY,EAAW,CAAE,YAAW,GAAGZ,GAAsC,CACxE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,cACV,UAAWR,EAAAA,GAAG,qDAAsDe,CAAS,EAC7E,GAAID,CACL,CAAA,CAEL,CAiBA,SAASa,EAAW,CAAE,YAAW,GAAGb,GAAsC,CACxE,OACE,EAAAN,EAAA,IAAA,CAAC,MAAD,CACE,YAAU,cACV,UAAWR,EAAAA,GAAG,qDAAsDe,CAAS,EAC7E,GAAID,CACL,CAAA,CAEL,C"}
@@ -3,11 +3,35 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import { Separator } from './separator.cjs';
4
4
  import * as React from 'react';
5
5
  /**
6
- * リスト形式のアイテムをグループ化するコンテナコンポーネント。
6
+ * Renders a list-role container for vertically arranged item cards.
7
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
8
+ * @returns The rendered ItemGroup composition.
9
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
10
+ * @example
11
+ * ```tsx
12
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
13
+ * import '@alneas/appkit-react/styles';
14
+ *
15
+ * export function Example() {
16
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
17
+ * }
18
+ * ```
7
19
  */
8
20
  declare function ItemGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
9
21
  /**
10
- * アイテムグループ内のアイテム同士を区切るためのセパレーター(区切り線)。
22
+ * Draws a horizontal divider between item cards.
23
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
24
+ * @returns The rendered ItemSeparator composition.
25
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
26
+ * @example
27
+ * ```tsx
28
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
29
+ * import '@alneas/appkit-react/styles';
30
+ *
31
+ * export function Example() {
32
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
33
+ * }
34
+ * ```
11
35
  */
12
36
  declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
13
37
  declare const itemVariants: (props?: ({
@@ -15,38 +39,134 @@ declare const itemVariants: (props?: ({
15
39
  size?: "default" | "xs" | "sm" | null | undefined;
16
40
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
17
41
  /**
18
- * リストやグリッド内の個々のアイテムを表す基本コンポーネント。
42
+ * Renders a list-item surface with configurable size, border treatment and render element.
43
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling. Wrapper defaults: variant='default', size='default'.
44
+ * @returns The rendered Item composition.
45
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
46
+ * @example
47
+ * ```tsx
48
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
49
+ * import '@alneas/appkit-react/styles';
50
+ *
51
+ * export function Example() {
52
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
53
+ * }
54
+ * ```
19
55
  */
20
56
  declare function Item({ className, variant, size, render, ...props }: useRender.ComponentProps<'div'> & VariantProps<typeof itemVariants>): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
21
57
  declare const itemMediaVariants: (props?: ({
22
58
  variant?: "image" | "default" | "icon" | null | undefined;
23
59
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
24
60
  /**
25
- * アイテム内のアバター、アイコン、画像などのメディア要素を表示するコンポーネント。
61
+ * Styles leading media as plain content, an icon or a cropped image.
62
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling. Wrapper defaults: variant='default'.
63
+ * @returns The rendered ItemMedia composition.
64
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
65
+ * @example
66
+ * ```tsx
67
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
68
+ * import '@alneas/appkit-react/styles';
69
+ *
70
+ * export function Example() {
71
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
72
+ * }
73
+ * ```
26
74
  */
27
75
  declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof itemMediaVariants>): React.JSX.Element;
28
76
  /**
29
- * アイテム内のコンテンツ(タイトルや説明など)を格納するコンテナ。
77
+ * Arranges an item title and supporting content in a flexible column.
78
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
79
+ * @returns The rendered ItemContent composition.
80
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
81
+ * @example
82
+ * ```tsx
83
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
84
+ * import '@alneas/appkit-react/styles';
85
+ *
86
+ * export function Example() {
87
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
88
+ * }
89
+ * ```
30
90
  */
31
91
  declare function ItemContent({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
32
92
  /**
33
- * アイテムのタイトル。
93
+ * Styles a single-line item title.
94
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
95
+ * @returns The rendered ItemTitle composition.
96
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
97
+ * @example
98
+ * ```tsx
99
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
100
+ * import '@alneas/appkit-react/styles';
101
+ *
102
+ * export function Example() {
103
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
104
+ * }
105
+ * ```
34
106
  */
35
107
  declare function ItemTitle({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
36
108
  /**
37
- * アイテムの補助的な説明テキスト。
109
+ * Styles a two-line item description and embedded links.
110
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
111
+ * @returns The rendered ItemDescription composition.
112
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
113
+ * @example
114
+ * ```tsx
115
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
116
+ * import '@alneas/appkit-react/styles';
117
+ *
118
+ * export function Example() {
119
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
120
+ * }
121
+ * ```
38
122
  */
39
123
  declare function ItemDescription({ className, ...props }: React.ComponentProps<'p'>): React.JSX.Element;
40
124
  /**
41
- * アイテムに関連するアクションボタンや操作子を配置するコンポーネント。
125
+ * Aligns host-provided item action controls.
126
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
127
+ * @returns The rendered ItemActions composition.
128
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
129
+ * @example
130
+ * ```tsx
131
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
132
+ * import '@alneas/appkit-react/styles';
133
+ *
134
+ * export function Example() {
135
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
136
+ * }
137
+ * ```
42
138
  */
43
139
  declare function ItemActions({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
44
140
  /**
45
- * アイテムの上部にメタ情報などを配置するヘッダー領域。
141
+ * Lays out full-width metadata above the main item content.
142
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
143
+ * @returns The rendered ItemHeader composition.
144
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
145
+ * @example
146
+ * ```tsx
147
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
148
+ * import '@alneas/appkit-react/styles';
149
+ *
150
+ * export function Example() {
151
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
152
+ * }
153
+ * ```
46
154
  */
47
155
  declare function ItemHeader({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
48
156
  /**
49
- * アイテムの下部にメタ情報やアクションを配置するフッター領域。
157
+ * Lays out full-width metadata or controls below item content.
158
+ * @param props - Component attributes and children accepted by the declared Base UI or native prop type; className customizes wrapper styling.
159
+ * @returns The rendered ItemFooter composition.
160
+ * @remarks Import @alneas/appkit-react/styles in the rendering host. These slots provide presentation, not selection or navigation. Item renders a div unless render is supplied; custom render elements must accept merged props. variant and size default to default; ItemMedia variant also defaults to default. ItemGroup role=list does not automatically assign role=listitem to children; the host may supply appropriate semantics.
161
+ * @example
162
+ * ```tsx
163
+ * import { ItemGroup, Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions, ItemHeader, ItemFooter, ItemSeparator } from '@alneas/appkit-react/ui';
164
+ * import '@alneas/appkit-react/styles';
165
+ *
166
+ * export function Example() {
167
+ * return (<ItemGroup><Item><ItemHeader>Today</ItemHeader><ItemMedia variant="icon">D</ItemMedia><ItemContent><ItemTitle>Draft</ItemTitle><ItemDescription>Ready to review</ItemDescription></ItemContent><ItemActions><button type="button">Open</button></ItemActions><ItemFooter>Updated recently</ItemFooter></Item><ItemSeparator /></ItemGroup>);
168
+ * }
169
+ * ```
50
170
  */
51
171
  declare function ItemFooter({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
52
172
  export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter, };