@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.
- package/CHANGELOG.md +53 -0
- package/README.md +85 -15
- package/consumer-ai/SKILL.md +12 -0
- package/consumer-ai/api-index.json +103754 -0
- package/consumer-ai/package-context.json +409 -0
- package/dist/ai/action/ExecutionHistory.cjs.map +1 -1
- package/dist/ai/action/ExecutionHistory.d.cts +32 -2
- package/dist/ai/action/ExecutionHistory.d.ts +32 -2
- package/dist/ai/action/ExecutionHistory.js.map +1 -1
- package/dist/ai/action/ScreenActionContext.cjs.map +1 -1
- package/dist/ai/action/ScreenActionContext.d.cts +15 -2
- package/dist/ai/action/ScreenActionContext.d.ts +15 -2
- package/dist/ai/action/ScreenActionContext.js.map +1 -1
- package/dist/ai/action/context.cjs.map +1 -1
- package/dist/ai/action/context.d.cts +19 -3
- package/dist/ai/action/context.d.ts +19 -3
- package/dist/ai/action/context.js.map +1 -1
- package/dist/ai/action/types.d.cts +35 -3
- package/dist/ai/action/types.d.ts +35 -3
- package/dist/ai/action/use-execution-session.cjs.map +1 -1
- package/dist/ai/action/use-execution-session.d.cts +17 -1
- package/dist/ai/action/use-execution-session.d.ts +17 -1
- package/dist/ai/action/use-execution-session.js.map +1 -1
- package/dist/ai/action/use-screen-action-registry.cjs.map +1 -1
- package/dist/ai/action/use-screen-action-registry.d.cts +77 -8
- package/dist/ai/action/use-screen-action-registry.d.ts +77 -8
- package/dist/ai/action/use-screen-action-registry.js.map +1 -1
- package/dist/ai/action/use-screen-action.cjs.map +1 -1
- package/dist/ai/action/use-screen-action.d.cts +23 -6
- package/dist/ai/action/use-screen-action.d.ts +23 -6
- package/dist/ai/action/use-screen-action.js.map +1 -1
- package/dist/ai/action/use-screen-context.cjs.map +1 -1
- package/dist/ai/action/use-screen-context.d.cts +42 -5
- package/dist/ai/action/use-screen-context.d.ts +42 -5
- package/dist/ai/action/use-screen-context.js.map +1 -1
- package/dist/ai/ai-chat/transport.cjs.map +1 -1
- package/dist/ai/ai-chat/transport.d.cts +35 -8
- package/dist/ai/ai-chat/transport.d.ts +35 -8
- package/dist/ai/ai-chat/transport.js.map +1 -1
- package/dist/ai/generative-ui/GenerativeUIRenderer.cjs.map +1 -1
- package/dist/ai/generative-ui/GenerativeUIRenderer.d.cts +21 -3
- package/dist/ai/generative-ui/GenerativeUIRenderer.d.ts +21 -3
- package/dist/ai/generative-ui/GenerativeUIRenderer.js.map +1 -1
- package/dist/ai/generative-ui/error-boundary.cjs.map +1 -1
- package/dist/ai/generative-ui/error-boundary.d.cts +98 -2
- package/dist/ai/generative-ui/error-boundary.d.ts +98 -2
- package/dist/ai/generative-ui/error-boundary.js.map +1 -1
- package/dist/ai/generative-ui/registry.cjs.map +1 -1
- package/dist/ai/generative-ui/registry.d.cts +96 -7
- package/dist/ai/generative-ui/registry.d.ts +96 -7
- package/dist/ai/generative-ui/registry.js.map +1 -1
- package/dist/ai/proposal/ProposalFieldReview.cjs.map +1 -1
- package/dist/ai/proposal/ProposalFieldReview.d.cts +170 -8
- package/dist/ai/proposal/ProposalFieldReview.d.ts +170 -8
- package/dist/ai/proposal/ProposalFieldReview.js.map +1 -1
- package/dist/ai/proposal/types.d.cts +97 -26
- package/dist/ai/proposal/types.d.ts +97 -26
- package/dist/ai/proposal/use-proposal-batch-review.cjs.map +1 -1
- package/dist/ai/proposal/use-proposal-batch-review.d.cts +133 -7
- package/dist/ai/proposal/use-proposal-batch-review.d.ts +133 -7
- package/dist/ai/proposal/use-proposal-batch-review.js.map +1 -1
- package/dist/ai/proposal/use-proposal-review.cjs.map +1 -1
- package/dist/ai/proposal/use-proposal-review.d.cts +47 -5
- package/dist/ai/proposal/use-proposal-review.d.ts +47 -5
- package/dist/ai/proposal/use-proposal-review.js.map +1 -1
- package/dist/avatar.svg +1 -0
- package/dist/consumer-ai/SKILL.md +6 -0
- package/dist/consumer-ai/api-index.json +103754 -0
- package/dist/consumer-ai/package-context.json +5 -3
- package/dist/mockServiceWorker.js +361 -0
- package/dist/styles.css +1 -1
- package/dist/tools/components/auth/AuthForms.cjs.map +1 -1
- package/dist/tools/components/auth/AuthForms.d.cts +131 -81
- package/dist/tools/components/auth/AuthForms.d.ts +131 -81
- package/dist/tools/components/auth/AuthForms.js.map +1 -1
- package/dist/tools/components/auth/AuthGuard.cjs.map +1 -1
- package/dist/tools/components/auth/AuthGuard.d.cts +31 -4
- package/dist/tools/components/auth/AuthGuard.d.ts +31 -4
- package/dist/tools/components/auth/AuthGuard.js.map +1 -1
- package/dist/tools/components/auth/AuthProvider.cjs.map +1 -1
- package/dist/tools/components/auth/AuthProvider.d.cts +39 -42
- package/dist/tools/components/auth/AuthProvider.d.ts +39 -42
- package/dist/tools/components/auth/AuthProvider.js.map +1 -1
- package/dist/tools/components/auth/ProtectedRoute.cjs.map +1 -1
- package/dist/tools/components/auth/ProtectedRoute.d.cts +75 -60
- package/dist/tools/components/auth/ProtectedRoute.d.ts +75 -60
- package/dist/tools/components/auth/ProtectedRoute.js.map +1 -1
- package/dist/tools/components/auth/SignInButton.cjs.map +1 -1
- package/dist/tools/components/auth/SignInButton.d.cts +26 -18
- package/dist/tools/components/auth/SignInButton.d.ts +26 -18
- package/dist/tools/components/auth/SignInButton.js.map +1 -1
- package/dist/tools/components/auth/UserProfileProvider.cjs.map +1 -1
- package/dist/tools/components/auth/UserProfileProvider.d.cts +48 -20
- package/dist/tools/components/auth/UserProfileProvider.d.ts +48 -20
- package/dist/tools/components/auth/UserProfileProvider.js.map +1 -1
- package/dist/tools/components/auth/adapters/better-auth-adapter.cjs.map +1 -1
- package/dist/tools/components/auth/adapters/better-auth-adapter.d.cts +371 -51
- package/dist/tools/components/auth/adapters/better-auth-adapter.d.ts +371 -51
- package/dist/tools/components/auth/adapters/better-auth-adapter.js.map +1 -1
- package/dist/tools/components/auth/adapters/mock-adapter.cjs.map +1 -1
- package/dist/tools/components/auth/adapters/mock-adapter.d.cts +149 -28
- package/dist/tools/components/auth/adapters/mock-adapter.d.ts +149 -28
- package/dist/tools/components/auth/adapters/mock-adapter.js.map +1 -1
- package/dist/tools/components/auth/auth-session.cjs.map +1 -1
- package/dist/tools/components/auth/auth-session.d.cts +147 -1
- package/dist/tools/components/auth/auth-session.d.ts +147 -1
- package/dist/tools/components/auth/auth-session.js.map +1 -1
- package/dist/tools/components/auth/session-cache.cjs.map +1 -1
- package/dist/tools/components/auth/session-cache.d.cts +88 -24
- package/dist/tools/components/auth/session-cache.d.ts +88 -24
- package/dist/tools/components/auth/session-cache.js.map +1 -1
- package/dist/tools/components/auth/types.cjs.map +1 -1
- package/dist/tools/components/auth/types.d.cts +329 -106
- package/dist/tools/components/auth/types.d.ts +329 -106
- package/dist/tools/components/auth/types.js.map +1 -1
- package/dist/tools/components/auth/useAuth.cjs.map +1 -1
- package/dist/tools/components/auth/useAuth.d.cts +110 -17
- package/dist/tools/components/auth/useAuth.d.ts +110 -17
- package/dist/tools/components/auth/useAuth.js.map +1 -1
- package/dist/tools/components/auth/useAuthGuard.cjs.map +1 -1
- package/dist/tools/components/auth/useAuthGuard.d.cts +49 -38
- package/dist/tools/components/auth/useAuthGuard.d.ts +49 -38
- package/dist/tools/components/auth/useAuthGuard.js.map +1 -1
- package/dist/tools/components/auth/useRoleCheck.cjs.map +1 -1
- package/dist/tools/components/auth/useRoleCheck.d.cts +48 -1
- package/dist/tools/components/auth/useRoleCheck.d.ts +48 -1
- package/dist/tools/components/auth/useRoleCheck.js.map +1 -1
- package/dist/tools/components/auth/useUserProfile.cjs.map +1 -1
- package/dist/tools/components/auth/useUserProfile.d.cts +66 -1
- package/dist/tools/components/auth/useUserProfile.d.ts +66 -1
- package/dist/tools/components/auth/useUserProfile.js.map +1 -1
- package/dist/tools/components/barcode/BarcodeGenerator.cjs.map +1 -1
- package/dist/tools/components/barcode/BarcodeGenerator.d.cts +32 -18
- package/dist/tools/components/barcode/BarcodeGenerator.d.ts +32 -18
- package/dist/tools/components/barcode/BarcodeGenerator.js.map +1 -1
- package/dist/tools/components/barcode/QRCodeGenerator.cjs +1 -1
- package/dist/tools/components/barcode/QRCodeGenerator.cjs.map +1 -1
- package/dist/tools/components/barcode/QRCodeGenerator.d.cts +20 -13
- package/dist/tools/components/barcode/QRCodeGenerator.d.ts +20 -13
- package/dist/tools/components/barcode/QRCodeGenerator.js +1 -1
- package/dist/tools/components/barcode/QRCodeGenerator.js.map +1 -1
- package/dist/tools/components/barcode/QRCodeScanner.cjs.map +1 -1
- package/dist/tools/components/barcode/QRCodeScanner.d.cts +32 -1
- package/dist/tools/components/barcode/QRCodeScanner.d.ts +32 -1
- package/dist/tools/components/barcode/QRCodeScanner.js.map +1 -1
- package/dist/tools/components/calendar/ResourceCalendar.cjs.map +1 -1
- package/dist/tools/components/calendar/ResourceCalendar.d.cts +17 -42
- package/dist/tools/components/calendar/ResourceCalendar.d.ts +17 -42
- package/dist/tools/components/calendar/ResourceCalendar.js.map +1 -1
- package/dist/tools/components/calendar/views/ResourceView.cjs +1 -1
- package/dist/tools/components/calendar/views/ResourceView.cjs.map +1 -1
- package/dist/tools/components/calendar/views/ResourceView.js +2 -2
- package/dist/tools/components/calendar/views/ResourceView.js.map +1 -1
- package/dist/tools/components/chart/ComposedChart.cjs.map +1 -1
- package/dist/tools/components/chart/ComposedChart.d.cts +54 -1
- package/dist/tools/components/chart/ComposedChart.d.ts +54 -1
- package/dist/tools/components/chart/ComposedChart.js.map +1 -1
- package/dist/tools/components/chart/SimpleAreaChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimpleAreaChart.d.cts +41 -1
- package/dist/tools/components/chart/SimpleAreaChart.d.ts +41 -1
- package/dist/tools/components/chart/SimpleAreaChart.js.map +1 -1
- package/dist/tools/components/chart/SimpleBarChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimpleBarChart.d.cts +34 -24
- package/dist/tools/components/chart/SimpleBarChart.d.ts +34 -24
- package/dist/tools/components/chart/SimpleBarChart.js.map +1 -1
- package/dist/tools/components/chart/SimpleLineChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimpleLineChart.d.cts +31 -28
- package/dist/tools/components/chart/SimpleLineChart.d.ts +31 -28
- package/dist/tools/components/chart/SimpleLineChart.js.map +1 -1
- package/dist/tools/components/chart/SimplePieChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimplePieChart.d.cts +28 -22
- package/dist/tools/components/chart/SimplePieChart.d.ts +28 -22
- package/dist/tools/components/chart/SimplePieChart.js.map +1 -1
- package/dist/tools/components/chart/SimpleRadarChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimpleRadarChart.d.cts +38 -1
- package/dist/tools/components/chart/SimpleRadarChart.d.ts +38 -1
- package/dist/tools/components/chart/SimpleRadarChart.js.map +1 -1
- package/dist/tools/components/chart/SimpleScatterChart.cjs.map +1 -1
- package/dist/tools/components/chart/SimpleScatterChart.d.cts +44 -1
- package/dist/tools/components/chart/SimpleScatterChart.d.ts +44 -1
- package/dist/tools/components/chart/SimpleScatterChart.js.map +1 -1
- package/dist/tools/components/chart/StackedBarChart.cjs.map +1 -1
- package/dist/tools/components/chart/StackedBarChart.d.cts +38 -1
- package/dist/tools/components/chart/StackedBarChart.d.ts +38 -1
- package/dist/tools/components/chart/StackedBarChart.js.map +1 -1
- package/dist/tools/components/data-table/data-table.cjs +1 -1
- package/dist/tools/components/data-table/data-table.cjs.map +1 -1
- package/dist/tools/components/data-table/data-table.js +286 -263
- package/dist/tools/components/data-table/data-table.js.map +1 -1
- package/dist/tools/components/data-table/table-utils.cjs.map +1 -1
- package/dist/tools/components/data-table/table-utils.d.cts +45 -35
- package/dist/tools/components/data-table/table-utils.d.ts +45 -35
- package/dist/tools/components/data-table/table-utils.js.map +1 -1
- package/dist/tools/components/editable-table/editable-table.cjs +1 -1
- package/dist/tools/components/editable-table/editable-table.cjs.map +1 -1
- package/dist/tools/components/editable-table/editable-table.js +15 -2
- package/dist/tools/components/editable-table/editable-table.js.map +1 -1
- package/dist/tools/components/error/ErrorDialog.cjs +1 -1
- package/dist/tools/components/error/ErrorDialog.cjs.map +1 -1
- package/dist/tools/components/error/ErrorDialog.js +1 -1
- package/dist/tools/components/error/ErrorDialog.js.map +1 -1
- package/dist/tools/components/error/ErrorInline.cjs +1 -1
- package/dist/tools/components/error/ErrorInline.cjs.map +1 -1
- package/dist/tools/components/error/ErrorInline.js +1 -1
- package/dist/tools/components/error/ErrorInline.js.map +1 -1
- package/dist/tools/components/error/ErrorNotification.cjs +1 -1
- package/dist/tools/components/error/ErrorNotification.cjs.map +1 -1
- package/dist/tools/components/error/ErrorNotification.js +10 -10
- package/dist/tools/components/error/ErrorNotification.js.map +1 -1
- package/dist/tools/components/file-browser/FilePreview.cjs +1 -1
- package/dist/tools/components/file-browser/FilePreview.cjs.map +1 -1
- package/dist/tools/components/file-browser/FilePreview.js +28 -26
- package/dist/tools/components/file-browser/FilePreview.js.map +1 -1
- package/dist/tools/components/filter/filter.cjs.map +1 -1
- package/dist/tools/components/filter/filter.d.cts +23 -34
- package/dist/tools/components/filter/filter.d.ts +23 -34
- package/dist/tools/components/filter/filter.js.map +1 -1
- package/dist/tools/components/form/EnhancedDetailPage.cjs.map +1 -1
- package/dist/tools/components/form/EnhancedDetailPage.d.cts +47 -42
- package/dist/tools/components/form/EnhancedDetailPage.d.ts +47 -42
- package/dist/tools/components/form/EnhancedDetailPage.js.map +1 -1
- package/dist/tools/components/form/form-grid.cjs.map +1 -1
- package/dist/tools/components/form/form-grid.d.cts +44 -22
- package/dist/tools/components/form/form-grid.d.ts +44 -22
- package/dist/tools/components/form/form-grid.js.map +1 -1
- package/dist/tools/components/gantt/GanttChart.cjs +1 -1
- package/dist/tools/components/gantt/GanttChart.cjs.map +1 -1
- package/dist/tools/components/gantt/GanttChart.d.cts +20 -1
- package/dist/tools/components/gantt/GanttChart.d.ts +20 -1
- package/dist/tools/components/gantt/GanttChart.js +3 -0
- package/dist/tools/components/gantt/GanttChart.js.map +1 -1
- package/dist/tools/components/gantt/components/GanttTaskBar.cjs +1 -1
- package/dist/tools/components/gantt/components/GanttTaskBar.cjs.map +1 -1
- package/dist/tools/components/gantt/components/GanttTaskBar.js +2 -1
- package/dist/tools/components/gantt/components/GanttTaskBar.js.map +1 -1
- package/dist/tools/components/header/header.cjs +1 -1
- package/dist/tools/components/header/header.cjs.map +1 -1
- package/dist/tools/components/header/header.d.cts +103 -40
- package/dist/tools/components/header/header.d.ts +103 -40
- package/dist/tools/components/header/header.js +1 -1
- package/dist/tools/components/header/header.js.map +1 -1
- package/dist/tools/components/i18n/LanguageSwitcher.cjs.map +1 -1
- package/dist/tools/components/i18n/LanguageSwitcher.d.cts +18 -14
- package/dist/tools/components/i18n/LanguageSwitcher.d.ts +18 -14
- package/dist/tools/components/i18n/LanguageSwitcher.js.map +1 -1
- package/dist/tools/components/kanban/KanbanBoard.cjs +1 -1
- package/dist/tools/components/kanban/KanbanBoard.cjs.map +1 -1
- package/dist/tools/components/kanban/KanbanBoard.d.cts +16 -34
- package/dist/tools/components/kanban/KanbanBoard.d.ts +16 -34
- package/dist/tools/components/kanban/KanbanBoard.js +3 -0
- package/dist/tools/components/kanban/KanbanBoard.js.map +1 -1
- package/dist/tools/components/kanban/KanbanColumn.cjs +1 -1
- package/dist/tools/components/kanban/KanbanColumn.cjs.map +1 -1
- package/dist/tools/components/kanban/KanbanColumn.js +1 -1
- package/dist/tools/components/kanban/KanbanColumn.js.map +1 -1
- package/dist/tools/components/kanban/kanban-compound.cjs +1 -1
- package/dist/tools/components/kanban/kanban-compound.cjs.map +1 -1
- package/dist/tools/components/kanban/kanban-compound.js +4 -1
- package/dist/tools/components/kanban/kanban-compound.js.map +1 -1
- package/dist/tools/components/kanban/kanban-primitives.cjs +1 -1
- package/dist/tools/components/kanban/kanban-primitives.cjs.map +1 -1
- package/dist/tools/components/kanban/kanban-primitives.js +0 -1
- package/dist/tools/components/kanban/kanban-primitives.js.map +1 -1
- package/dist/tools/components/priority-queue/PriorityCard.cjs +1 -1
- package/dist/tools/components/priority-queue/PriorityCard.cjs.map +1 -1
- package/dist/tools/components/priority-queue/PriorityCard.js +3 -1
- package/dist/tools/components/priority-queue/PriorityCard.js.map +1 -1
- package/dist/tools/components/sidebar/SmartSidebar.cjs.map +1 -1
- package/dist/tools/components/sidebar/SmartSidebar.d.cts +41 -43
- package/dist/tools/components/sidebar/SmartSidebar.d.ts +41 -43
- package/dist/tools/components/sidebar/SmartSidebar.js.map +1 -1
- package/dist/tools/components/splash/SplashScreen.cjs.map +1 -1
- package/dist/tools/components/splash/SplashScreen.d.cts +43 -68
- package/dist/tools/components/splash/SplashScreen.d.ts +43 -68
- package/dist/tools/components/splash/SplashScreen.js.map +1 -1
- package/dist/tools/components/workflow/WorkflowStatusPanel.cjs +1 -1
- package/dist/tools/components/workflow/WorkflowStatusPanel.cjs.map +1 -1
- package/dist/tools/components/workflow/WorkflowStatusPanel.js +2 -2
- package/dist/tools/components/workflow/WorkflowStatusPanel.js.map +1 -1
- package/dist/tools/lib/data-access/data-access-context.cjs.map +1 -1
- package/dist/tools/lib/data-access/data-access-context.d.cts +15 -6
- package/dist/tools/lib/data-access/data-access-context.d.ts +15 -6
- package/dist/tools/lib/data-access/data-access-context.js.map +1 -1
- package/dist/tools/lib/data-access/react-query-provider.cjs.map +1 -1
- package/dist/tools/lib/data-access/react-query-provider.d.cts +19 -2
- package/dist/tools/lib/data-access/react-query-provider.d.ts +19 -2
- package/dist/tools/lib/data-access/react-query-provider.js.map +1 -1
- package/dist/tools/lib/data-access/react-query.cjs.map +1 -1
- package/dist/tools/lib/data-access/react-query.d.cts +365 -90
- package/dist/tools/lib/data-access/react-query.d.ts +365 -90
- package/dist/tools/lib/data-access/react-query.js.map +1 -1
- package/dist/tools/lib/error/AppError.cjs.map +1 -1
- package/dist/tools/lib/error/AppError.d.cts +157 -63
- package/dist/tools/lib/error/AppError.d.ts +157 -63
- package/dist/tools/lib/error/AppError.js.map +1 -1
- package/dist/tools/lib/hooks/useAsyncWithTimeout.cjs.map +1 -1
- package/dist/tools/lib/hooks/useAsyncWithTimeout.d.cts +79 -26
- package/dist/tools/lib/hooks/useAsyncWithTimeout.d.ts +79 -26
- package/dist/tools/lib/hooks/useAsyncWithTimeout.js.map +1 -1
- package/dist/tools/lib/hooks/useError.cjs.map +1 -1
- package/dist/tools/lib/hooks/useError.d.cts +51 -16
- package/dist/tools/lib/hooks/useError.d.ts +51 -16
- package/dist/tools/lib/hooks/useError.js.map +1 -1
- package/dist/tools/lib/schema/ajv.cjs +1 -1
- package/dist/tools/lib/schema/ajv.cjs.map +1 -1
- package/dist/tools/lib/schema/ajv.d.cts +19 -8
- package/dist/tools/lib/schema/ajv.d.ts +19 -8
- package/dist/tools/lib/schema/ajv.js +2 -1
- package/dist/tools/lib/schema/ajv.js.map +1 -1
- package/dist/tools/lib/state/error-store.cjs.map +1 -1
- package/dist/tools/lib/state/error-store.d.cts +61 -10
- package/dist/tools/lib/state/error-store.d.ts +61 -10
- package/dist/tools/lib/state/error-store.js.map +1 -1
- package/dist/tools/lib/state/store-factory.cjs.map +1 -1
- package/dist/tools/lib/state/store-factory.d.cts +25 -4
- package/dist/tools/lib/state/store-factory.d.ts +25 -4
- package/dist/tools/lib/state/store-factory.js.map +1 -1
- package/dist/tools/lib/state/ui-store.cjs.map +1 -1
- package/dist/tools/lib/state/ui-store.d.cts +39 -0
- package/dist/tools/lib/state/ui-store.d.ts +39 -0
- package/dist/tools/lib/state/ui-store.js.map +1 -1
- package/dist/ui/components/theme/theme-context.cjs.map +1 -1
- package/dist/ui/components/theme/theme-context.d.cts +171 -1
- package/dist/ui/components/theme/theme-context.d.ts +171 -1
- package/dist/ui/components/theme/theme-context.js.map +1 -1
- package/dist/ui/components/theme/theme-provider.cjs.map +1 -1
- package/dist/ui/components/theme/theme-provider.d.cts +31 -19
- package/dist/ui/components/theme/theme-provider.d.ts +31 -19
- package/dist/ui/components/theme/theme-provider.js.map +1 -1
- package/dist/ui/components/theme/theme-script.cjs.map +1 -1
- package/dist/ui/components/theme/theme-script.d.cts +16 -1
- package/dist/ui/components/theme/theme-script.d.ts +16 -1
- package/dist/ui/components/theme/theme-script.js.map +1 -1
- package/dist/ui/components/theme/theme-switcher.cjs +1 -1
- package/dist/ui/components/theme/theme-switcher.cjs.map +1 -1
- package/dist/ui/components/theme/theme-switcher.d.cts +82 -13
- package/dist/ui/components/theme/theme-switcher.d.ts +82 -13
- package/dist/ui/components/theme/theme-switcher.js +8 -0
- package/dist/ui/components/theme/theme-switcher.js.map +1 -1
- package/dist/ui/components/ui/accordion.cjs.map +1 -1
- package/dist/ui/components/ui/accordion.d.cts +60 -0
- package/dist/ui/components/ui/accordion.d.ts +60 -0
- package/dist/ui/components/ui/accordion.js.map +1 -1
- package/dist/ui/components/ui/adjustable-pane.cjs.map +1 -1
- package/dist/ui/components/ui/adjustable-pane.d.cts +44 -26
- package/dist/ui/components/ui/adjustable-pane.d.ts +44 -26
- package/dist/ui/components/ui/adjustable-pane.js.map +1 -1
- package/dist/ui/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/ui/components/ui/alert-dialog.d.cts +179 -2
- package/dist/ui/components/ui/alert-dialog.d.ts +179 -2
- package/dist/ui/components/ui/alert-dialog.js.map +1 -1
- package/dist/ui/components/ui/alert.cjs.map +1 -1
- package/dist/ui/components/ui/alert.d.cts +52 -4
- package/dist/ui/components/ui/alert.d.ts +52 -4
- package/dist/ui/components/ui/alert.js.map +1 -1
- package/dist/ui/components/ui/aspect-ratio.cjs.map +1 -1
- package/dist/ui/components/ui/aspect-ratio.d.cts +16 -1
- package/dist/ui/components/ui/aspect-ratio.d.ts +16 -1
- package/dist/ui/components/ui/aspect-ratio.js.map +1 -1
- package/dist/ui/components/ui/avatar.cjs.map +1 -1
- package/dist/ui/components/ui/avatar.d.cts +87 -3
- package/dist/ui/components/ui/avatar.d.ts +87 -3
- package/dist/ui/components/ui/avatar.js.map +1 -1
- package/dist/ui/components/ui/badge-components.cjs.map +1 -1
- package/dist/ui/components/ui/badge-components.d.cts +13 -1
- package/dist/ui/components/ui/badge-components.d.ts +13 -1
- package/dist/ui/components/ui/badge-components.js.map +1 -1
- package/dist/ui/components/ui/badge-variants.cjs.map +1 -1
- package/dist/ui/components/ui/badge-variants.d.cts +15 -0
- package/dist/ui/components/ui/badge-variants.d.ts +15 -0
- package/dist/ui/components/ui/badge-variants.js.map +1 -1
- package/dist/ui/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/ui/components/ui/breadcrumb.d.cts +91 -7
- package/dist/ui/components/ui/breadcrumb.d.ts +91 -7
- package/dist/ui/components/ui/breadcrumb.js.map +1 -1
- package/dist/ui/components/ui/button-components.cjs.map +1 -1
- package/dist/ui/components/ui/button-components.d.cts +18 -6
- package/dist/ui/components/ui/button-components.d.ts +18 -6
- package/dist/ui/components/ui/button-components.js.map +1 -1
- package/dist/ui/components/ui/button-group-components.cjs.map +1 -1
- package/dist/ui/components/ui/button-group-components.d.cts +39 -3
- package/dist/ui/components/ui/button-group-components.d.ts +39 -3
- package/dist/ui/components/ui/button-group-components.js.map +1 -1
- package/dist/ui/components/ui/button-group-variants.cjs.map +1 -1
- package/dist/ui/components/ui/button-group-variants.d.cts +15 -0
- package/dist/ui/components/ui/button-group-variants.d.ts +15 -0
- package/dist/ui/components/ui/button-group-variants.js.map +1 -1
- package/dist/ui/components/ui/button-variants.cjs.map +1 -1
- package/dist/ui/components/ui/button-variants.d.cts +13 -2
- package/dist/ui/components/ui/button-variants.d.ts +13 -2
- package/dist/ui/components/ui/button-variants.js.map +1 -1
- package/dist/ui/components/ui/card.cjs.map +1 -1
- package/dist/ui/components/ui/card.d.cts +106 -2
- package/dist/ui/components/ui/card.d.ts +106 -2
- package/dist/ui/components/ui/card.js.map +1 -1
- package/dist/ui/components/ui/checkbox-group.cjs.map +1 -1
- package/dist/ui/components/ui/checkbox-group.d.cts +13 -1
- package/dist/ui/components/ui/checkbox-group.d.ts +13 -1
- package/dist/ui/components/ui/checkbox-group.js.map +1 -1
- package/dist/ui/components/ui/checkbox.cjs.map +1 -1
- package/dist/ui/components/ui/checkbox.d.cts +17 -6
- package/dist/ui/components/ui/checkbox.d.ts +17 -6
- package/dist/ui/components/ui/checkbox.js.map +1 -1
- package/dist/ui/components/ui/collapsible.cjs.map +1 -1
- package/dist/ui/components/ui/collapsible.d.cts +39 -3
- package/dist/ui/components/ui/collapsible.d.ts +39 -3
- package/dist/ui/components/ui/collapsible.js.map +1 -1
- package/dist/ui/components/ui/combobox-components.cjs.map +1 -1
- package/dist/ui/components/ui/combobox-components.d.cts +209 -14
- package/dist/ui/components/ui/combobox-components.d.ts +209 -14
- package/dist/ui/components/ui/combobox-components.js.map +1 -1
- package/dist/ui/components/ui/combobox-hooks.cjs.map +1 -1
- package/dist/ui/components/ui/combobox-hooks.d.cts +13 -1
- package/dist/ui/components/ui/combobox-hooks.d.ts +13 -1
- package/dist/ui/components/ui/combobox-hooks.js.map +1 -1
- package/dist/ui/components/ui/command.cjs.map +1 -1
- package/dist/ui/components/ui/command.d.cts +132 -9
- package/dist/ui/components/ui/command.d.ts +132 -9
- package/dist/ui/components/ui/command.js.map +1 -1
- package/dist/ui/components/ui/context-menu.cjs.map +1 -1
- package/dist/ui/components/ui/context-menu.d.cts +233 -2
- package/dist/ui/components/ui/context-menu.d.ts +233 -2
- package/dist/ui/components/ui/context-menu.js.map +1 -1
- package/dist/ui/components/ui/dialog.cjs.map +1 -1
- package/dist/ui/components/ui/dialog.d.cts +157 -5
- package/dist/ui/components/ui/dialog.d.ts +157 -5
- package/dist/ui/components/ui/dialog.js.map +1 -1
- package/dist/ui/components/ui/drawer.cjs.map +1 -1
- package/dist/ui/components/ui/drawer.d.cts +130 -10
- package/dist/ui/components/ui/drawer.d.ts +130 -10
- package/dist/ui/components/ui/drawer.js.map +1 -1
- package/dist/ui/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/ui/components/ui/dropdown-menu.d.cts +225 -6
- package/dist/ui/components/ui/dropdown-menu.d.ts +225 -6
- package/dist/ui/components/ui/dropdown-menu.js.map +1 -1
- package/dist/ui/components/ui/empty.cjs.map +1 -1
- package/dist/ui/components/ui/empty.d.cts +78 -6
- package/dist/ui/components/ui/empty.d.ts +78 -6
- package/dist/ui/components/ui/empty.js.map +1 -1
- package/dist/ui/components/ui/field.cjs.map +1 -1
- package/dist/ui/components/ui/field.d.cts +180 -6
- package/dist/ui/components/ui/field.d.ts +180 -6
- package/dist/ui/components/ui/field.js.map +1 -1
- package/dist/ui/components/ui/file-icon.cjs.map +1 -1
- package/dist/ui/components/ui/file-icon.d.cts +32 -4
- package/dist/ui/components/ui/file-icon.d.ts +32 -4
- package/dist/ui/components/ui/file-icon.js.map +1 -1
- package/dist/ui/components/ui/hover-card.cjs.map +1 -1
- package/dist/ui/components/ui/hover-card.d.cts +39 -3
- package/dist/ui/components/ui/hover-card.d.ts +39 -3
- package/dist/ui/components/ui/hover-card.js.map +1 -1
- package/dist/ui/components/ui/input-group.cjs.map +1 -1
- package/dist/ui/components/ui/input-group.d.cts +84 -6
- package/dist/ui/components/ui/input-group.d.ts +84 -6
- package/dist/ui/components/ui/input-group.js.map +1 -1
- package/dist/ui/components/ui/input-otp.cjs.map +1 -1
- package/dist/ui/components/ui/input-otp.d.cts +58 -4
- package/dist/ui/components/ui/input-otp.d.ts +58 -4
- package/dist/ui/components/ui/input-otp.js.map +1 -1
- package/dist/ui/components/ui/input.cjs.map +1 -1
- package/dist/ui/components/ui/input.d.cts +18 -10
- package/dist/ui/components/ui/input.d.ts +18 -10
- package/dist/ui/components/ui/input.js.map +1 -1
- package/dist/ui/components/ui/item.cjs.map +1 -1
- package/dist/ui/components/ui/item.d.cts +130 -10
- package/dist/ui/components/ui/item.d.ts +130 -10
- package/dist/ui/components/ui/item.js.map +1 -1
- package/dist/ui/components/ui/kbd.cjs.map +1 -1
- package/dist/ui/components/ui/kbd.d.cts +26 -2
- package/dist/ui/components/ui/kbd.d.ts +26 -2
- package/dist/ui/components/ui/kbd.js.map +1 -1
- package/dist/ui/components/ui/label.cjs.map +1 -1
- package/dist/ui/components/ui/label.d.cts +15 -0
- package/dist/ui/components/ui/label.d.ts +15 -0
- package/dist/ui/components/ui/label.js.map +1 -1
- package/dist/ui/components/ui/layout.cjs +1 -1
- package/dist/ui/components/ui/layout.cjs.map +1 -1
- package/dist/ui/components/ui/layout.d.cts +45 -11
- package/dist/ui/components/ui/layout.d.ts +45 -11
- package/dist/ui/components/ui/layout.js +22 -20
- package/dist/ui/components/ui/layout.js.map +1 -1
- package/dist/ui/components/ui/menubar.cjs.map +1 -1
- package/dist/ui/components/ui/menubar.d.cts +220 -16
- package/dist/ui/components/ui/menubar.d.ts +220 -16
- package/dist/ui/components/ui/menubar.js.map +1 -1
- package/dist/ui/components/ui/meter.cjs.map +1 -1
- package/dist/ui/components/ui/meter.d.cts +52 -4
- package/dist/ui/components/ui/meter.d.ts +52 -4
- package/dist/ui/components/ui/meter.js.map +1 -1
- package/dist/ui/components/ui/mobile-form-variants.cjs.map +1 -1
- package/dist/ui/components/ui/mobile-form-variants.d.cts +30 -0
- package/dist/ui/components/ui/mobile-form-variants.d.ts +30 -0
- package/dist/ui/components/ui/mobile-form-variants.js.map +1 -1
- package/dist/ui/components/ui/mobile-form.cjs.map +1 -1
- package/dist/ui/components/ui/mobile-form.d.cts +186 -9
- package/dist/ui/components/ui/mobile-form.d.ts +186 -9
- package/dist/ui/components/ui/mobile-form.js.map +1 -1
- package/dist/ui/components/ui/navigation-menu-components.cjs.map +1 -1
- package/dist/ui/components/ui/navigation-menu-components.d.cts +104 -8
- package/dist/ui/components/ui/navigation-menu-components.d.ts +104 -8
- package/dist/ui/components/ui/navigation-menu-components.js.map +1 -1
- package/dist/ui/components/ui/navigation-menu-variants.cjs.map +1 -1
- package/dist/ui/components/ui/navigation-menu-variants.d.cts +15 -0
- package/dist/ui/components/ui/navigation-menu-variants.d.ts +15 -0
- package/dist/ui/components/ui/navigation-menu-variants.js.map +1 -1
- package/dist/ui/components/ui/number-field.cjs.map +1 -1
- package/dist/ui/components/ui/number-field.d.cts +78 -6
- package/dist/ui/components/ui/number-field.d.ts +78 -6
- package/dist/ui/components/ui/number-field.js.map +1 -1
- package/dist/ui/components/ui/pagination.cjs.map +1 -1
- package/dist/ui/components/ui/pagination.d.cts +99 -7
- package/dist/ui/components/ui/pagination.d.ts +99 -7
- package/dist/ui/components/ui/pagination.js.map +1 -1
- package/dist/ui/components/ui/password-input.cjs.map +1 -1
- package/dist/ui/components/ui/password-input.d.cts +10 -7
- package/dist/ui/components/ui/password-input.d.ts +10 -7
- package/dist/ui/components/ui/password-input.js.map +1 -1
- package/dist/ui/components/ui/popover.cjs.map +1 -1
- package/dist/ui/components/ui/popover.d.cts +86 -2
- package/dist/ui/components/ui/popover.d.ts +86 -2
- package/dist/ui/components/ui/popover.js.map +1 -1
- package/dist/ui/components/ui/progress.cjs.map +1 -1
- package/dist/ui/components/ui/progress.d.cts +72 -2
- package/dist/ui/components/ui/progress.d.ts +72 -2
- package/dist/ui/components/ui/progress.js.map +1 -1
- package/dist/ui/components/ui/radio-card.cjs.map +1 -1
- package/dist/ui/components/ui/radio-card.d.cts +32 -4
- package/dist/ui/components/ui/radio-card.d.ts +32 -4
- package/dist/ui/components/ui/radio-card.js.map +1 -1
- package/dist/ui/components/ui/radio-group.cjs.map +1 -1
- package/dist/ui/components/ui/radio-group.d.cts +28 -2
- package/dist/ui/components/ui/radio-group.d.ts +28 -2
- package/dist/ui/components/ui/radio-group.js.map +1 -1
- package/dist/ui/components/ui/resizable.cjs.map +1 -1
- package/dist/ui/components/ui/resizable.d.cts +42 -3
- package/dist/ui/components/ui/resizable.d.ts +42 -3
- package/dist/ui/components/ui/resizable.js.map +1 -1
- package/dist/ui/components/ui/responsive-list.cjs.map +1 -1
- package/dist/ui/components/ui/responsive-list.d.cts +176 -13
- package/dist/ui/components/ui/responsive-list.d.ts +176 -13
- package/dist/ui/components/ui/responsive-list.js.map +1 -1
- package/dist/ui/components/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/components/ui/scroll-area.d.cts +28 -1
- package/dist/ui/components/ui/scroll-area.d.ts +28 -1
- package/dist/ui/components/ui/scroll-area.js.map +1 -1
- package/dist/ui/components/ui/searchable-select-input.cjs.map +1 -1
- package/dist/ui/components/ui/searchable-select-input.d.cts +199 -49
- package/dist/ui/components/ui/searchable-select-input.d.ts +199 -49
- package/dist/ui/components/ui/searchable-select-input.js.map +1 -1
- package/dist/ui/components/ui/select.cjs.map +1 -1
- package/dist/ui/components/ui/select.d.cts +205 -40
- package/dist/ui/components/ui/select.d.ts +205 -40
- package/dist/ui/components/ui/select.js.map +1 -1
- package/dist/ui/components/ui/separator.cjs.map +1 -1
- package/dist/ui/components/ui/separator.d.cts +13 -2
- package/dist/ui/components/ui/separator.d.ts +13 -2
- package/dist/ui/components/ui/separator.js.map +1 -1
- package/dist/ui/components/ui/sheet.cjs.map +1 -1
- package/dist/ui/components/ui/sheet.d.cts +128 -3
- package/dist/ui/components/ui/sheet.d.ts +128 -3
- package/dist/ui/components/ui/sheet.js.map +1 -1
- package/dist/ui/components/ui/skeleton.cjs.map +1 -1
- package/dist/ui/components/ui/skeleton.d.cts +13 -1
- package/dist/ui/components/ui/skeleton.d.ts +13 -1
- package/dist/ui/components/ui/skeleton.js.map +1 -1
- package/dist/ui/components/ui/slider.cjs.map +1 -1
- package/dist/ui/components/ui/slider.d.cts +13 -7
- package/dist/ui/components/ui/slider.d.ts +13 -7
- package/dist/ui/components/ui/slider.js.map +1 -1
- package/dist/ui/components/ui/spinner.cjs.map +1 -1
- package/dist/ui/components/ui/spinner.d.cts +13 -1
- package/dist/ui/components/ui/spinner.d.ts +13 -1
- package/dist/ui/components/ui/spinner.js.map +1 -1
- package/dist/ui/components/ui/switch.cjs.map +1 -1
- package/dist/ui/components/ui/switch.d.cts +26 -0
- package/dist/ui/components/ui/switch.d.ts +26 -0
- package/dist/ui/components/ui/switch.js.map +1 -1
- package/dist/ui/components/ui/table.cjs.map +1 -1
- package/dist/ui/components/ui/table.d.cts +118 -2
- package/dist/ui/components/ui/table.d.ts +118 -2
- package/dist/ui/components/ui/table.js.map +1 -1
- package/dist/ui/components/ui/tabs-components.cjs.map +1 -1
- package/dist/ui/components/ui/tabs-components.d.cts +52 -5
- package/dist/ui/components/ui/tabs-components.d.ts +52 -5
- package/dist/ui/components/ui/tabs-components.js.map +1 -1
- package/dist/ui/components/ui/tabs-variants.cjs.map +1 -1
- package/dist/ui/components/ui/tabs-variants.d.cts +15 -0
- package/dist/ui/components/ui/tabs-variants.d.ts +15 -0
- package/dist/ui/components/ui/tabs-variants.js.map +1 -1
- package/dist/ui/components/ui/textarea.cjs.map +1 -1
- package/dist/ui/components/ui/textarea.d.cts +23 -0
- package/dist/ui/components/ui/textarea.d.ts +23 -0
- package/dist/ui/components/ui/textarea.js.map +1 -1
- package/dist/ui/components/ui/toast.cjs.map +1 -1
- package/dist/ui/components/ui/toast.d.cts +136 -0
- package/dist/ui/components/ui/toast.d.ts +136 -0
- package/dist/ui/components/ui/toast.js.map +1 -1
- package/dist/ui/components/ui/toaster.cjs.map +1 -1
- package/dist/ui/components/ui/toaster.d.cts +12 -3
- package/dist/ui/components/ui/toaster.d.ts +12 -3
- package/dist/ui/components/ui/toaster.js.map +1 -1
- package/dist/ui/components/ui/toggle-components.cjs.map +1 -1
- package/dist/ui/components/ui/toggle-components.d.cts +15 -0
- package/dist/ui/components/ui/toggle-components.d.ts +15 -0
- package/dist/ui/components/ui/toggle-components.js.map +1 -1
- package/dist/ui/components/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/components/ui/toggle-group.d.cts +33 -0
- package/dist/ui/components/ui/toggle-group.d.ts +33 -0
- package/dist/ui/components/ui/toggle-group.js.map +1 -1
- package/dist/ui/components/ui/toggle-variants.cjs.map +1 -1
- package/dist/ui/components/ui/toggle-variants.d.cts +15 -0
- package/dist/ui/components/ui/toggle-variants.d.ts +15 -0
- package/dist/ui/components/ui/toggle-variants.js.map +1 -1
- package/dist/ui/components/ui/toolbar.cjs.map +1 -1
- package/dist/ui/components/ui/toolbar.d.cts +94 -7
- package/dist/ui/components/ui/toolbar.d.ts +94 -7
- package/dist/ui/components/ui/toolbar.js.map +1 -1
- package/dist/ui/components/ui/tooltip.cjs.map +1 -1
- package/dist/ui/components/ui/tooltip.d.cts +54 -3
- package/dist/ui/components/ui/tooltip.d.ts +54 -3
- package/dist/ui/components/ui/tooltip.js.map +1 -1
- package/dist/ui/lib/hooks/use-gps.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-gps.d.cts +29 -4
- package/dist/ui/lib/hooks/use-gps.d.ts +29 -4
- package/dist/ui/lib/hooks/use-gps.js.map +1 -1
- package/dist/ui/lib/hooks/use-is-client.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-is-client.d.cts +11 -2
- package/dist/ui/lib/hooks/use-is-client.d.ts +11 -2
- package/dist/ui/lib/hooks/use-is-client.js.map +1 -1
- package/dist/ui/lib/hooks/use-keyboard-shortcut.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-keyboard-shortcut.d.cts +48 -18
- package/dist/ui/lib/hooks/use-keyboard-shortcut.d.ts +48 -18
- package/dist/ui/lib/hooks/use-keyboard-shortcut.js.map +1 -1
- package/dist/ui/lib/hooks/use-mobile.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-mobile.d.cts +11 -3
- package/dist/ui/lib/hooks/use-mobile.d.ts +11 -3
- package/dist/ui/lib/hooks/use-mobile.js.map +1 -1
- package/dist/ui/lib/hooks/use-toast.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-toast.d.cts +184 -15
- package/dist/ui/lib/hooks/use-toast.d.ts +184 -15
- package/dist/ui/lib/hooks/use-toast.js.map +1 -1
- package/dist/ui/lib/ime-utils.cjs.map +1 -1
- package/dist/ui/lib/ime-utils.d.cts +40 -13
- package/dist/ui/lib/ime-utils.d.ts +40 -13
- package/dist/ui/lib/ime-utils.js.map +1 -1
- package/dist/ui/lib/utils.cjs.map +1 -1
- package/dist/ui/lib/utils.d.cts +9 -6
- package/dist/ui/lib/utils.d.ts +9 -6
- package/dist/ui/lib/utils.js.map +1 -1
- package/docs/ai.md +34 -1
- package/docs/exports.md +5 -1
- package/docs/index.md +89 -16
- package/docs/migration.md +268 -0
- package/docs/request-form.md +4 -1
- package/docs/tools.md +4 -1
- package/docs/ui.md +4 -1
- package/llms-full.txt +499 -36
- package/llms.txt +4 -0
- package/package.json +35 -5
package/llms-full.txt
CHANGED
|
@@ -2,39 +2,109 @@
|
|
|
2
2
|
|
|
3
3
|
# Appkit React
|
|
4
4
|
|
|
5
|
-
React 19
|
|
5
|
+
React 19 components, schema-driven forms and record views for business applications.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
[npm](https://www.npmjs.com/package/@alneas/appkit-react) · [Documentation](https://tech-docs.alneas.com/appkit/appkit-react/) · [GitHub](https://github.com/dataarthub/appkit) · [Change history](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/CHANGELOG.md)
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
## Elevator Pitch
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Turn a JSON Schema into a form with validation and connect saves to your own backend. Combine forms with record tables, shared UI primitives and AI proposal review interfaces.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
## Why & Value
|
|
14
|
+
|
|
15
|
+
Use React when your application needs the presentation layer for Appkit's schema and record contracts. You provide the authenticated data adapter and server rules; the form uses that adapter and reports the save result to your UI.
|
|
16
|
+
|
|
17
|
+
React depends on [Appkit Core](https://www.npmjs.com/package/@alneas/appkit-core). Install Core directly as well when your own code imports its types or functions, as the example below does. For backend-only validation, storage or graph calculations, use Core alone.
|
|
18
|
+
|
|
19
|
+
## Key Highlights
|
|
20
|
+
|
|
21
|
+
- **Schema forms and record tables:** build input, filtering and CRUD views around shared record contracts. [Tools guide](docs/tools.md)
|
|
22
|
+
- **React UI primitives:** compose buttons, dialogs, shared providers and hooks. [UI guide](docs/ui.md)
|
|
23
|
+
- **AI interfaces:** connect chat and proposal review to explicit application approval and execution boundaries. [AI guide](docs/ai.md)
|
|
24
|
+
- **Explicit integration:** import styles and supply host providers and data adapters. [Complete form recipe](docs/request-form.md)
|
|
16
25
|
|
|
17
26
|
## Quickstart
|
|
18
27
|
|
|
19
|
-
|
|
28
|
+
### Requirements and installation
|
|
29
|
+
|
|
30
|
+
Use an existing React application. The package declares Node.js **24 or later** and requires React and React DOM **`^19.2.3`**. It provides ESM, CommonJS and TypeScript declarations.
|
|
20
31
|
|
|
21
32
|
```bash
|
|
22
|
-
|
|
33
|
+
npm install @alneas/appkit-react @alneas/appkit-core react@^19.2.3 react-dom@^19.2.3 @tanstack/react-query@5.104.4
|
|
34
|
+
# Or use bun add with the same package names and versions.
|
|
23
35
|
```
|
|
24
36
|
|
|
37
|
+
The example directly imports TanStack Query, so it is listed explicitly. Import Appkit CSS once at your application's stylesheet entry point. `FormView` also requires `QueryClientProvider` and `DataAccessProvider`; a standalone `Button` does not require those data providers. Install optional chart, barcode, QR or AI peers only for their corresponding features; see [the export reference](docs/exports.md).
|
|
38
|
+
|
|
39
|
+
### Render and save a request form
|
|
40
|
+
|
|
41
|
+
This component accepts your application's `DataAccessAdapter`. Implement that adapter for your backend and pass it as the `adapter` prop; no demo backend or credentials are included.
|
|
42
|
+
|
|
25
43
|
```tsx
|
|
26
|
-
import {
|
|
44
|
+
import { useState, type ComponentProps } from 'react';
|
|
45
|
+
import type { DataAccessAdapter } from '@alneas/appkit-core/data';
|
|
46
|
+
import { QueryClientProvider } from '@tanstack/react-query';
|
|
47
|
+
import {
|
|
48
|
+
createQueryClient,
|
|
49
|
+
DataAccessProvider,
|
|
50
|
+
} from '@alneas/appkit-react/tools/data-access/react';
|
|
51
|
+
import { FormView } from '@alneas/appkit-react/tools/form';
|
|
27
52
|
import '@alneas/appkit-react/styles';
|
|
28
|
-
|
|
53
|
+
|
|
54
|
+
const schema: ComponentProps<typeof FormView>['schema'] = {
|
|
55
|
+
type: 'object',
|
|
56
|
+
properties: {
|
|
57
|
+
name: { type: 'string', title: 'Name', minLength: 2 },
|
|
58
|
+
reason: { type: 'string', title: 'Reason', 'x-ui': { widget: 'textarea' } },
|
|
59
|
+
},
|
|
60
|
+
required: ['name'],
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export function RequestForm({ adapter }: { adapter: DataAccessAdapter }) {
|
|
64
|
+
const [client] = useState(createQueryClient);
|
|
65
|
+
const [saved, setSaved] = useState('');
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<QueryClientProvider client={client}>
|
|
69
|
+
<DataAccessProvider adapter={adapter}>
|
|
70
|
+
<FormView
|
|
71
|
+
testId="persistence"
|
|
72
|
+
collection="records"
|
|
73
|
+
mode="create"
|
|
74
|
+
schema={schema}
|
|
75
|
+
validation={{
|
|
76
|
+
emptyStrings: 'preserve',
|
|
77
|
+
locale: 'en',
|
|
78
|
+
cast: { numericMode: 'strict' },
|
|
79
|
+
}}
|
|
80
|
+
onSuccess={record => setSaved(JSON.stringify(record))}
|
|
81
|
+
/>
|
|
82
|
+
<output aria-label="Persisted">{saved}</output>
|
|
83
|
+
</DataAccessProvider>
|
|
84
|
+
</QueryClientProvider>
|
|
85
|
+
);
|
|
86
|
+
}
|
|
29
87
|
```
|
|
30
88
|
|
|
31
|
-
|
|
89
|
+
The form renders Name and Reason fields. A name shorter than two characters should fail validation. A successful save displays the record returned by your adapter. Your backend must enforce authorization, business rules and concurrency; browser validation is only the UI boundary. If your application already has a shared Query client, reuse its provider instead of adding another one. See the [complete recipe](docs/request-form.md) for failure and retry checks.
|
|
90
|
+
|
|
91
|
+
## Next Steps
|
|
32
92
|
|
|
33
|
-
[
|
|
93
|
+
- [Schema forms and record tables](docs/tools.md): the business UI entry points.
|
|
94
|
+
- [UI primitives and providers](docs/ui.md): components and shared host setup.
|
|
95
|
+
- [Public exports and optional peers](docs/exports.md): exact feature paths and additional dependencies.
|
|
96
|
+
- [AI integration and security](docs/ai.md): proposal review and execution boundaries.
|
|
97
|
+
- [Migration guide](docs/migration.md): moving from the earlier separate packages.
|
|
34
98
|
|
|
35
|
-
|
|
99
|
+
### For coding agents
|
|
36
100
|
|
|
37
|
-
|
|
101
|
+
Start with the [agent instructions](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/consumer-ai/SKILL.md), then use the [API catalog](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/consumer-ai/api-index.json) and [full documentation](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/llms-full.txt). Installed packages include these files under `consumer-ai/` and `llms-full.txt`; their locations are also listed in the `appkit.agent` manifest field.
|
|
102
|
+
|
|
103
|
+
### Contributing and license
|
|
104
|
+
|
|
105
|
+
[Contributing](https://github.com/dataarthub/appkit/blob/main/CONTRIBUTING.md) · [Releasing](https://github.com/dataarthub/appkit/blob/main/RELEASING.md) · [MIT license](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/LICENSE)
|
|
106
|
+
|
|
107
|
+
Third-party license texts retained from the compiled CSS are included in [THIRD_PARTY_NOTICES.md](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/THIRD_PARTY_NOTICES.md), also shipped in the package root.
|
|
38
108
|
|
|
39
109
|
|
|
40
110
|
---
|
|
@@ -44,8 +114,11 @@ Compiled CSS license texts are retained in `THIRD_PARTY_NOTICES.md`.
|
|
|
44
114
|
---
|
|
45
115
|
title: "Review AI proposals in React"
|
|
46
116
|
description: "React proposal review and generative UI bindings"
|
|
117
|
+
sidebar:
|
|
118
|
+
order: 2
|
|
47
119
|
archetype: how-to
|
|
48
|
-
project:
|
|
120
|
+
project: appkit
|
|
121
|
+
tags: ["appkit", "ai"]
|
|
49
122
|
---
|
|
50
123
|
|
|
51
124
|
# Review AI proposals in React
|
|
@@ -79,6 +152,36 @@ Type-check this example in your application. See [the export reference](exports.
|
|
|
79
152
|
|
|
80
153
|
React proposal review and generative UI bindings. The optional chat transport requires the ai SDK peer. Proposals do not authorize execution or stored-record changes.
|
|
81
154
|
|
|
155
|
+
## Prompt injection and review permissions
|
|
156
|
+
|
|
157
|
+
Transport text, tool-call arguments, retrieved files and tool outputs are untrusted. The optional `ai` peer is needed only by the SDK chat binding; a chat transport never approves or executes a tool. Keep provider secrets in a server-owned endpoint.
|
|
158
|
+
|
|
159
|
+
Use the [Core validation and approval sequence](../../appkit-core/docs/ai.md) before presenting a proposal. Display the exact immutable target and arguments, require explicit approval for writes or sensitive disclosure, and invalidate approval when the call, session or registration changes. The server must independently enforce resource permissions, concurrency and durable idempotency at execution time. A React component, assistant message or SDK tool-output event is not authorization.
|
|
160
|
+
|
|
161
|
+
Render registered components only, keep React text rendering escaped, and project minimal validated outputs. Do not evaluate generated code or embed arbitrary model HTML. Cancellation cannot roll back completed writes; reconcile uncertain effects before retrying. See [Core error recovery](../../appkit-core/docs/ai-errors.md).
|
|
162
|
+
|
|
163
|
+
## Application review controls
|
|
164
|
+
|
|
165
|
+
These host-owned controls consume the application's pending snapshot. Supply the Core example's controller or equivalent server-backed application flow. `onSettled` refreshes application state. No provider, database or theme provider is required just to render these controls; the larger application retains its documented providers and explicit styles.
|
|
166
|
+
|
|
167
|
+
```tsx
|
|
168
|
+
import {useState} from 'react';
|
|
169
|
+
/** Host-owned review controls; rendering or receiving a tool event never grants permission. */
|
|
170
|
+
export function RenameToolReview({example,pending,onSettled}:{
|
|
171
|
+
example:{approve:(id:string)=>Promise<unknown>;reject:(id:string)=>void};
|
|
172
|
+
pending:{approvalId:string;recordId:string;name:string}|null;onSettled:()=>void;
|
|
173
|
+
}){
|
|
174
|
+
const [busy,setBusy]=useState(false),[failure,setFailure]=useState(false);
|
|
175
|
+
if(!pending)return null;
|
|
176
|
+
return <section aria-label="Review proposed rename">
|
|
177
|
+
<p>Rename record {pending.recordId} to {pending.name}</p>
|
|
178
|
+
<button disabled={busy} onClick={async()=>{setBusy(true);setFailure(false);try{await example.approve(pending.approvalId);}catch{setFailure(true);}finally{setBusy(false);onSettled();}}}>Approve</button>
|
|
179
|
+
<button disabled={busy} onClick={()=>{example.reject(pending.approvalId);onSettled();}}>Reject</button>
|
|
180
|
+
{failure&&<p role="alert">Execution could not complete. Check the application outcome before retrying.</p>}
|
|
181
|
+
</section>;
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
82
185
|
|
|
83
186
|
---
|
|
84
187
|
|
|
@@ -87,8 +190,11 @@ React proposal review and generative UI bindings. The optional chat transport re
|
|
|
87
190
|
---
|
|
88
191
|
title: "Public exports and optional peers"
|
|
89
192
|
description: "Exact install package, public import subpaths and optional peer requirements."
|
|
193
|
+
sidebar:
|
|
194
|
+
order: 10
|
|
90
195
|
archetype: reference
|
|
91
|
-
project:
|
|
196
|
+
project: appkit
|
|
197
|
+
tags: ["appkit", "exports"]
|
|
92
198
|
---
|
|
93
199
|
|
|
94
200
|
# Public exports and optional peers
|
|
@@ -144,6 +250,7 @@ bun add @alneas/appkit-react
|
|
|
144
250
|
| `@alneas/appkit-react/tools/styles` | CSS |
|
|
145
251
|
| `@alneas/appkit-react/ai-instructions` | Metadata |
|
|
146
252
|
| `@alneas/appkit-react/package-context.json` | Metadata |
|
|
253
|
+
| `@alneas/appkit-react/api-index.json` | Metadata |
|
|
147
254
|
|
|
148
255
|
## Optional peers
|
|
149
256
|
|
|
@@ -168,45 +275,392 @@ Install an optional peer only when using its feature. Core entry loading does no
|
|
|
168
275
|
---
|
|
169
276
|
title: "Appkit React"
|
|
170
277
|
description: "Unified React 19 business UI toolkit: accessible primitives, schema-driven forms, data tables, and AI chat interfaces"
|
|
278
|
+
sidebar:
|
|
279
|
+
order: 1
|
|
171
280
|
archetype: explanation
|
|
172
|
-
project:
|
|
281
|
+
project: appkit
|
|
282
|
+
tags: ["appkit", "overview"]
|
|
173
283
|
---
|
|
174
284
|
|
|
175
285
|
# Appkit React
|
|
176
286
|
|
|
177
|
-
React 19
|
|
287
|
+
React 19 components, schema-driven forms and record views for business applications.
|
|
178
288
|
|
|
179
|
-
|
|
289
|
+
[npm](https://www.npmjs.com/package/@alneas/appkit-react) · [Documentation](https://tech-docs.alneas.com/appkit/appkit-react/) · [GitHub](https://github.com/dataarthub/appkit) · [Change history](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/CHANGELOG.md)
|
|
180
290
|
|
|
181
|
-
|
|
291
|
+
## Elevator Pitch
|
|
182
292
|
|
|
183
|
-
|
|
293
|
+
Turn a JSON Schema into a form with validation and connect saves to your own backend. Combine forms with record tables, shared UI primitives and AI proposal review interfaces.
|
|
184
294
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
295
|
+
## Why & Value
|
|
296
|
+
|
|
297
|
+
Use React when your application needs the presentation layer for Appkit's schema and record contracts. You provide the authenticated data adapter and server rules; the form uses that adapter and reports the save result to your UI.
|
|
298
|
+
|
|
299
|
+
React depends on [Appkit Core](https://www.npmjs.com/package/@alneas/appkit-core). Install Core directly as well when your own code imports its types or functions, as the example below does. For backend-only validation, storage or graph calculations, use Core alone.
|
|
300
|
+
|
|
301
|
+
## Key Highlights
|
|
302
|
+
|
|
303
|
+
- **Schema forms and record tables:** build input, filtering and CRUD views around shared record contracts. [Tools guide](tools.md)
|
|
304
|
+
- **React UI primitives:** compose buttons, dialogs, shared providers and hooks. [UI guide](ui.md)
|
|
305
|
+
- **AI interfaces:** connect chat and proposal review to explicit application approval and execution boundaries. [AI guide](ai.md)
|
|
306
|
+
- **Explicit integration:** import styles and supply host providers and data adapters. [Complete form recipe](request-form.md)
|
|
188
307
|
|
|
189
308
|
## Quickstart
|
|
190
309
|
|
|
191
|
-
|
|
310
|
+
### Requirements and installation
|
|
311
|
+
|
|
312
|
+
Use an existing React application. The package declares Node.js **24 or later** and requires React and React DOM **`^19.2.3`**. It provides ESM, CommonJS and TypeScript declarations.
|
|
192
313
|
|
|
193
314
|
```bash
|
|
194
|
-
|
|
315
|
+
npm install @alneas/appkit-react @alneas/appkit-core react@^19.2.3 react-dom@^19.2.3 @tanstack/react-query@5.104.4
|
|
316
|
+
# Or use bun add with the same package names and versions.
|
|
195
317
|
```
|
|
196
318
|
|
|
319
|
+
The example directly imports TanStack Query, so it is listed explicitly. Import Appkit CSS once at your application's stylesheet entry point. `FormView` also requires `QueryClientProvider` and `DataAccessProvider`; a standalone `Button` does not require those data providers. Install optional chart, barcode, QR or AI peers only for their corresponding features; see [the export reference](exports.md).
|
|
320
|
+
|
|
321
|
+
### Render and save a request form
|
|
322
|
+
|
|
323
|
+
This component accepts your application's `DataAccessAdapter`. Implement that adapter for your backend and pass it as the `adapter` prop; no demo backend or credentials are included.
|
|
324
|
+
|
|
197
325
|
```tsx
|
|
198
|
-
import {
|
|
326
|
+
import { useState, type ComponentProps } from 'react';
|
|
327
|
+
import type { DataAccessAdapter } from '@alneas/appkit-core/data';
|
|
328
|
+
import { QueryClientProvider } from '@tanstack/react-query';
|
|
329
|
+
import {
|
|
330
|
+
createQueryClient,
|
|
331
|
+
DataAccessProvider,
|
|
332
|
+
} from '@alneas/appkit-react/tools/data-access/react';
|
|
333
|
+
import { FormView } from '@alneas/appkit-react/tools/form';
|
|
199
334
|
import '@alneas/appkit-react/styles';
|
|
200
|
-
|
|
335
|
+
|
|
336
|
+
const schema: ComponentProps<typeof FormView>['schema'] = {
|
|
337
|
+
type: 'object',
|
|
338
|
+
properties: {
|
|
339
|
+
name: { type: 'string', title: 'Name', minLength: 2 },
|
|
340
|
+
reason: { type: 'string', title: 'Reason', 'x-ui': { widget: 'textarea' } },
|
|
341
|
+
},
|
|
342
|
+
required: ['name'],
|
|
343
|
+
};
|
|
344
|
+
|
|
345
|
+
export function RequestForm({ adapter }: { adapter: DataAccessAdapter }) {
|
|
346
|
+
const [client] = useState(createQueryClient);
|
|
347
|
+
const [saved, setSaved] = useState('');
|
|
348
|
+
|
|
349
|
+
return (
|
|
350
|
+
<QueryClientProvider client={client}>
|
|
351
|
+
<DataAccessProvider adapter={adapter}>
|
|
352
|
+
<FormView
|
|
353
|
+
testId="persistence"
|
|
354
|
+
collection="records"
|
|
355
|
+
mode="create"
|
|
356
|
+
schema={schema}
|
|
357
|
+
validation={{
|
|
358
|
+
emptyStrings: 'preserve',
|
|
359
|
+
locale: 'en',
|
|
360
|
+
cast: { numericMode: 'strict' },
|
|
361
|
+
}}
|
|
362
|
+
onSuccess={record => setSaved(JSON.stringify(record))}
|
|
363
|
+
/>
|
|
364
|
+
<output aria-label="Persisted">{saved}</output>
|
|
365
|
+
</DataAccessProvider>
|
|
366
|
+
</QueryClientProvider>
|
|
367
|
+
);
|
|
368
|
+
}
|
|
201
369
|
```
|
|
202
370
|
|
|
203
|
-
|
|
371
|
+
The form renders Name and Reason fields. A name shorter than two characters should fail validation. A successful save displays the record returned by your adapter. Your backend must enforce authorization, business rules and concurrency; browser validation is only the UI boundary. If your application already has a shared Query client, reuse its provider instead of adding another one. See the [complete recipe](request-form.md) for failure and retry checks.
|
|
372
|
+
|
|
373
|
+
## Next Steps
|
|
374
|
+
|
|
375
|
+
- [Schema forms and record tables](tools.md): the business UI entry points.
|
|
376
|
+
- [UI primitives and providers](ui.md): components and shared host setup.
|
|
377
|
+
- [Public exports and optional peers](exports.md): exact feature paths and additional dependencies.
|
|
378
|
+
- [AI integration and security](ai.md): proposal review and execution boundaries.
|
|
379
|
+
- [Migration guide](migration.md): moving from the earlier separate packages.
|
|
380
|
+
|
|
381
|
+
### For coding agents
|
|
382
|
+
|
|
383
|
+
Start with the [agent instructions](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/consumer-ai/SKILL.md), then use the [API catalog](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/consumer-ai/api-index.json) and [full documentation](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/llms-full.txt). Installed packages include these files under `consumer-ai/` and `llms-full.txt`; their locations are also listed in the `appkit.agent` manifest field.
|
|
204
384
|
|
|
205
|
-
|
|
385
|
+
### Contributing and license
|
|
206
386
|
|
|
207
|
-
[
|
|
387
|
+
[Contributing](https://github.com/dataarthub/appkit/blob/main/CONTRIBUTING.md) · [Releasing](https://github.com/dataarthub/appkit/blob/main/RELEASING.md) · [MIT license](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/LICENSE)
|
|
388
|
+
|
|
389
|
+
Third-party license texts retained from the compiled CSS are included in [THIRD_PARTY_NOTICES.md](https://github.com/dataarthub/appkit/blob/main/packages/appkit-react/THIRD_PARTY_NOTICES.md), also shipped in the package root.
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
---
|
|
393
|
+
|
|
394
|
+
<!-- docs/migration.md -->
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
title: "Migrate from app-core and react-tools"
|
|
398
|
+
description: "Choose between the restricted package rename and the public Appkit 0.1.0 subset, then update dependencies, imports, providers and behavior checks."
|
|
399
|
+
sidebar:
|
|
400
|
+
order: 20
|
|
401
|
+
archetype: how-to
|
|
402
|
+
project: appkit
|
|
403
|
+
tags: ["migration", "core", "react"]
|
|
404
|
+
---
|
|
405
|
+
|
|
406
|
+
# Migrate from app-core and react-tools
|
|
407
|
+
|
|
408
|
+
## Prerequisites
|
|
409
|
+
|
|
410
|
+
This guide starts with applications using `@dataarthub/app-core` and
|
|
411
|
+
`@dataarthub/react-tools`. The public destination is `@alneas/appkit-core@0.1.0`
|
|
412
|
+
and `@alneas/appkit-react@0.1.0`. A public version number is independent of the
|
|
413
|
+
legacy private package versions; `0.1.0` is not an in-place downgrade.
|
|
414
|
+
|
|
415
|
+
Use Node.js 24.0.0 or later. Public React requires React and React DOM matching
|
|
416
|
+
`^19.2.3`. Keep the application's existing lockfile and a working revision before
|
|
417
|
+
changing dependencies. Inventory feature imports and runtime behavior first.
|
|
418
|
+
|
|
419
|
+
## Public import
|
|
420
|
+
|
|
421
|
+
Install the two package names. Import framework-free APIs from
|
|
422
|
+
`@alneas/appkit-core/data`, `/storage`, `/japan`, `/graph` or `/ai`, and React
|
|
423
|
+
features from `@alneas/appkit-react/ui`, `/tools` or `/ai`. Full import targets
|
|
424
|
+
appear in the tables below and the [Core export reference](../../appkit-core/docs/exports.md)
|
|
425
|
+
and [React export reference](exports.md).
|
|
426
|
+
|
|
427
|
+
## Step-by-Step Implementation
|
|
428
|
+
|
|
429
|
+
### 1. Choose the migration route
|
|
430
|
+
|
|
431
|
+
| Route | Destination | What to change |
|
|
432
|
+
| --- | --- | --- |
|
|
433
|
+
| Keep the restricted product and its extensions | `@dataarthub/appkit-core` and `@dataarthub/appkit-react` on GitHub Packages | Rename the package prefix; check each used subpath and named export against that private release. |
|
|
434
|
+
| Adopt the independently usable public subset | `@alneas/appkit-core` and `@alneas/appkit-react` on npm | Move each API to its feature subpath, review behavior differences and replace any feature outside the public exports. |
|
|
435
|
+
|
|
436
|
+
These are different distributions. Replacing `@dataarthub` with `@alneas` does
|
|
437
|
+
not preserve the full legacy product. If an API is absent from the public export
|
|
438
|
+
references, retain its restricted implementation or choose an application-owned
|
|
439
|
+
replacement before removing the old dependency.
|
|
440
|
+
|
|
441
|
+
For the restricted rename, the intended prefix changes are:
|
|
442
|
+
|
|
443
|
+
| Old | New restricted package |
|
|
444
|
+
| --- | --- |
|
|
445
|
+
| `@dataarthub/app-core` | `@dataarthub/appkit-core` |
|
|
446
|
+
| `@dataarthub/react-tools` | `@dataarthub/appkit-react` |
|
|
208
447
|
|
|
209
|
-
|
|
448
|
+
For example, `/schema/core` remains a Core subpath and `/form` remains a React
|
|
449
|
+
subpath on that route. Select versions actually available to your GitHub Packages
|
|
450
|
+
account; a version in a source manifest does not establish that it is published.
|
|
451
|
+
The public install commands and compatibility claims below apply to the public
|
|
452
|
+
route only. This guide does not certify a private release or its consumers.
|
|
453
|
+
|
|
454
|
+
### 2. Install the public packages and keep registry scopes separate
|
|
455
|
+
|
|
456
|
+
For a React application using the form recipe:
|
|
457
|
+
|
|
458
|
+
```bash
|
|
459
|
+
bun add --exact @alneas/appkit-core@0.1.0 @alneas/appkit-react@0.1.0 react@19.2.3 react-dom@19.2.3 @tanstack/react-query@5.104.4
|
|
460
|
+
```
|
|
461
|
+
|
|
462
|
+
A server-only application needs only `@alneas/appkit-core@0.1.0` plus its selected
|
|
463
|
+
adapter's dependencies. Install feature-specific peers from the export references;
|
|
464
|
+
root installation does not configure a database, storage endpoint or AI provider.
|
|
465
|
+
|
|
466
|
+
If both distributions remain in the application, retain scoped registry routing:
|
|
467
|
+
|
|
468
|
+
```ini
|
|
469
|
+
@alneas:registry=https://registry.npmjs.org
|
|
470
|
+
@dataarthub:registry=https://npm.pkg.github.com
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
Keep GitHub Packages authentication in the application's existing secret-managed
|
|
474
|
+
configuration. An entirely public consumer does not need GitHub Packages credentials.
|
|
475
|
+
Do not change the default registry to GitHub Packages for the public packages.
|
|
476
|
+
Do not replace registry dependencies with sibling source aliases or tarball overrides.
|
|
477
|
+
|
|
478
|
+
### 3. Move React imports to feature subpaths
|
|
479
|
+
|
|
480
|
+
The following are destination entry points to inspect, not a claim that every
|
|
481
|
+
symbol in an old barrel is available at the new entry.
|
|
482
|
+
|
|
483
|
+
| Legacy import | Public destination |
|
|
484
|
+
| --- | --- |
|
|
485
|
+
| `@dataarthub/react-tools/ui` | `@alneas/appkit-react/ui` |
|
|
486
|
+
| `@dataarthub/react-tools/core` | `@alneas/appkit-react/tools/core` |
|
|
487
|
+
| `@dataarthub/react-tools/form` | `@alneas/appkit-react/tools/form` |
|
|
488
|
+
| `@dataarthub/react-tools/data-table` | `@alneas/appkit-react/tools/data-table` |
|
|
489
|
+
| `@dataarthub/react-tools/data-access/react` | `@alneas/appkit-react/tools/data-access/react` |
|
|
490
|
+
| `@dataarthub/react-tools/filter` | `@alneas/appkit-react/tools/filter` |
|
|
491
|
+
| `@dataarthub/react-tools/pane` | `@alneas/appkit-react/tools/pane` |
|
|
492
|
+
| `@dataarthub/react-tools/workflow` | `@alneas/appkit-react/tools/workflow` |
|
|
493
|
+
| `@dataarthub/react-tools/calendar` | `@alneas/appkit-react/tools/calendar` |
|
|
494
|
+
| `@dataarthub/react-tools/kanban` | `@alneas/appkit-react/tools/kanban` |
|
|
495
|
+
| `@dataarthub/react-tools/gantt` | `@alneas/appkit-react/tools/gantt` |
|
|
496
|
+
| `@dataarthub/react-tools/chart` | `@alneas/appkit-react/tools/chart` |
|
|
497
|
+
| `@dataarthub/react-tools/barcode` | `@alneas/appkit-react/tools/barcode` |
|
|
498
|
+
| `@dataarthub/react-tools/file-browser` | `@alneas/appkit-react/tools/file-browser` |
|
|
499
|
+
| `@dataarthub/react-tools/error` | `@alneas/appkit-react/tools/error` |
|
|
500
|
+
| `@dataarthub/react-tools/i18n` | `@alneas/appkit-react/tools/i18n` |
|
|
501
|
+
| `@dataarthub/react-tools/proposal` | `@alneas/appkit-react/ai/proposal` |
|
|
502
|
+
| `@dataarthub/react-tools/action` | `@alneas/appkit-react/ai/action` |
|
|
503
|
+
| `@dataarthub/react-tools/generative-ui` | `@alneas/appkit-react/ai/generative-ui` |
|
|
504
|
+
| `@dataarthub/react-tools/styles` | `@alneas/appkit-react/styles` |
|
|
505
|
+
|
|
506
|
+
Apply the same `/tools/` destination pattern for the public `sidebar`, `header`,
|
|
507
|
+
`splash`, `priority-queue` and `editable-table` entries. Private authentication
|
|
508
|
+
composition is not replaced by the public `/tools/auth` helper entry.
|
|
509
|
+
|
|
510
|
+
Before:
|
|
511
|
+
|
|
512
|
+
```diff
|
|
513
|
+
-import { FormView } from '@dataarthub/react-tools/form';
|
|
514
|
+
-import '@dataarthub/react-tools/styles';
|
|
515
|
+
+import { FormView } from '@alneas/appkit-react/tools/form';
|
|
516
|
+
+import '@alneas/appkit-react/styles';
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
Import the public stylesheet once at the application boundary. There is no public
|
|
520
|
+
`/dist/react-tools.css`, `/theme.css`, `/base.css` or `/globals.css` compatibility
|
|
521
|
+
export. Review your own CSS overrides against the resulting UI; an import change
|
|
522
|
+
does not prove visual equivalence.
|
|
523
|
+
|
|
524
|
+
### 4. Separate framework-free Core imports from React bindings
|
|
525
|
+
|
|
526
|
+
| Legacy Core import | Public destination / decision |
|
|
527
|
+
| --- | --- |
|
|
528
|
+
| `@dataarthub/app-core/schema` | `@alneas/appkit-core/data/schema` |
|
|
529
|
+
| `@dataarthub/app-core/schema/core` | `@alneas/appkit-core/data/schema/core` |
|
|
530
|
+
| `@dataarthub/app-core/schema/compiler` | `@alneas/appkit-core/data/schema/compiler` |
|
|
531
|
+
| `@dataarthub/app-core/schema/server` | `@alneas/appkit-core/data/schema/server` (server only) |
|
|
532
|
+
| `@dataarthub/app-core/data-access` | `@alneas/appkit-core/data` (common contracts/services) |
|
|
533
|
+
| `@dataarthub/app-core/data-access/types` | `@alneas/appkit-core/data/types` |
|
|
534
|
+
| `@dataarthub/app-core/data-access/sqlite` | `@alneas/appkit-core/data/sqlite` |
|
|
535
|
+
| `@dataarthub/app-core/data-access/d1` | `@alneas/appkit-core/data/d1` |
|
|
536
|
+
| `@dataarthub/app-core/storage` | `@alneas/appkit-core/storage`; review adapter configuration |
|
|
537
|
+
| `@dataarthub/app-core/storage/local-adapter` | `@alneas/appkit-core/storage/server`; review constructor options |
|
|
538
|
+
| `@dataarthub/app-core/storage/types` | Type imports from `@alneas/appkit-core/storage` |
|
|
539
|
+
| `@dataarthub/app-core/proposal` | `@alneas/appkit-core/ai/proposal` |
|
|
540
|
+
| `@dataarthub/app-core/action` | `@alneas/appkit-core/ai/action` |
|
|
541
|
+
| `@dataarthub/app-core/generative-ui` | `@alneas/appkit-core/ai/generative-ui` |
|
|
542
|
+
| `@dataarthub/app-core/ai` | `@alneas/appkit-core/ai/ai-chat` for conversation/chat APIs; check each symbol |
|
|
543
|
+
| `@dataarthub/app-core/agent-output` | `@alneas/appkit-core/ai/agent-output` |
|
|
544
|
+
| `@dataarthub/app-core/encoding` | `@alneas/appkit-core/data/encoding` |
|
|
545
|
+
| `@dataarthub/app-core/content` | `@alneas/appkit-core/data/content`; Git Markdown uses `@alneas/appkit-core/data/content/git-markdown` |
|
|
546
|
+
| `@dataarthub/app-core/editor` | `@alneas/appkit-core/data/editor` (JSON/upload helpers, not editor UI) |
|
|
547
|
+
| `@dataarthub/app-core/excel` | Generic adapters: `@alneas/appkit-core/data/excel`; Japanese templates: `@alneas/appkit-core/japan/excel` |
|
|
548
|
+
| `@dataarthub/app-core/csv` | Choose generic `@alneas/appkit-core/data/csv` or Japanese defaults in `@alneas/appkit-core/japan/csv` |
|
|
549
|
+
| `@dataarthub/app-core/finance` | Generic calculations: `@alneas/appkit-core/data/finance`; Japanese invoice rules: `@alneas/appkit-core/japan/finance` |
|
|
550
|
+
| `@dataarthub/app-core/edi` | Generic contracts: `@alneas/appkit-core/data/edi`; Japanese document conversion: `@alneas/appkit-core/japan/edi` |
|
|
551
|
+
| `@dataarthub/app-core/pdf` | Generic data: `@alneas/appkit-core/data/pdf`; Japanese presets: `@alneas/appkit-core/japan/pdf`; neither replaces React PDF rendering |
|
|
552
|
+
| `@dataarthub/app-core/legal-document` | `@alneas/appkit-core/japan/legal-document` |
|
|
553
|
+
| `@dataarthub/app-core/notifications` | Choose `@alneas/appkit-core/data/notifications` or `@alneas/appkit-core/japan/notifications` |
|
|
554
|
+
| `@dataarthub/app-core/google-calendar` | `@alneas/appkit-core/data/google-calendar` |
|
|
555
|
+
|
|
556
|
+
Framework-free imports formerly reached through `@dataarthub/react-tools` should
|
|
557
|
+
also move to Core, not to an assumed matching React export. Provider-specific
|
|
558
|
+
record adapters have explicit entries such as `@alneas/appkit-core/data/supabase`
|
|
559
|
+
and `@alneas/appkit-core/data/neon`; install their peers separately. Keep backend
|
|
560
|
+
SDKs, filesystem access and credentials out of browser entry modules.
|
|
561
|
+
|
|
562
|
+
The public Core root exports namespaces (`data`, `storage`, `japan`, `graph`, `ai`,
|
|
563
|
+
`us`). It does not reproduce the old flat Core barrel. Prefer named feature imports:
|
|
564
|
+
|
|
565
|
+
```typescript
|
|
566
|
+
import { createAjvValidator } from '@alneas/appkit-core/data/schema/core';
|
|
567
|
+
import { CSVGenerator } from '@alneas/appkit-core/japan/csv';
|
|
568
|
+
import type { DataAccessAdapter } from '@alneas/appkit-core/data/types';
|
|
569
|
+
|
|
570
|
+
export const validate = createAjvValidator({ locale: 'ja' });
|
|
571
|
+
export const csv = new CSVGenerator();
|
|
572
|
+
export function loadRecords(adapter: DataAccessAdapter) {
|
|
573
|
+
return adapter.find('records', {});
|
|
574
|
+
}
|
|
575
|
+
```
|
|
576
|
+
|
|
577
|
+
### 5. Reconnect providers and review behavior
|
|
578
|
+
|
|
579
|
+
Use the [complete request-form recipe](request-form.md) for a working form with
|
|
580
|
+
`QueryClientProvider`, `DataAccessProvider`, a stable query client, `collection`,
|
|
581
|
+
`schema`, `mode` and the explicit validation policy. `onSave` does not remove these
|
|
582
|
+
provider requirements. A private `AppProvider` is not exported by public Appkit;
|
|
583
|
+
compose the needed public providers in the host application instead.
|
|
584
|
+
|
|
585
|
+
Import related hooks and providers from the same distribution, keep one compatible
|
|
586
|
+
React runtime and query context, and declare dependencies you import directly.
|
|
587
|
+
An application can pass its own compatible adapter to public UI without moving
|
|
588
|
+
its database or replacing its backend implementation.
|
|
589
|
+
|
|
590
|
+
Review these contracts before switching traffic:
|
|
591
|
+
|
|
592
|
+
- **Validation:** explicitly choose locale, empty-string handling, numeric casting
|
|
593
|
+
and JSON Schema draft. Verify invalid input and omitted/default values, rather
|
|
594
|
+
than assuming legacy localized defaults survive a generic import.
|
|
595
|
+
- **Regional formatting:** generic helpers and Japanese presets have different
|
|
596
|
+
responsibilities. Preserve CSV date formatting, invoice rounding, tax and
|
|
597
|
+
document output with representative fixtures when changing the chosen entry.
|
|
598
|
+
- **Storage:** check constructor options, object keys, URL generation and failure
|
|
599
|
+
behavior against your configured adapter. The public storage layer uses
|
|
600
|
+
Web-standard signing/runtime APIs; do not assume an old SDK client constructor
|
|
601
|
+
or compliance wrapper is interchangeable.
|
|
602
|
+
- **Persistence:** changing imports does not move records, run migrations or change
|
|
603
|
+
authorization. Keep connection configuration and existing data in place; verify
|
|
604
|
+
read/create/update/delete and failure handling against your application's adapter.
|
|
605
|
+
- **AI:** use Core for proposal validation/contracts and React for review UI.
|
|
606
|
+
Structured API checks and this migration example do not establish that an AI
|
|
607
|
+
coding agent can migrate an arbitrary application correctly.
|
|
608
|
+
|
|
609
|
+
### 6. Remove legacy dependencies after the cutover
|
|
610
|
+
|
|
611
|
+
For an application that has migrated every legacy import to the public subset:
|
|
612
|
+
|
|
613
|
+
```bash
|
|
614
|
+
bun remove @dataarthub/react-tools @dataarthub/app-core
|
|
615
|
+
```
|
|
616
|
+
|
|
617
|
+
Keep restricted dependencies still used by private features. Update TypeScript,
|
|
618
|
+
bundler and test aliases, mocks, CSS imports and AI instruction references along
|
|
619
|
+
with application imports. Remove obsolete source/tarball overrides and regenerate
|
|
620
|
+
the application's own lockfile with its package manager.
|
|
621
|
+
|
|
622
|
+
Public AI entry points are `@alneas/appkit-core/ai-instructions` and
|
|
623
|
+
`@alneas/appkit-react/ai-instructions`, with machine context at each package's
|
|
624
|
+
`/package-context.json`. The legacy `dist/ai/setup.mjs` is not a public setup CLI.
|
|
625
|
+
The private `compliance/prepare.mjs` is also not shipped by the public packages.
|
|
626
|
+
Review the public packages' `LICENSE` files and React's `THIRD_PARTY_NOTICES.md`;
|
|
627
|
+
keep notices for any retained private or application dependencies in scope.
|
|
628
|
+
|
|
629
|
+
## Verification
|
|
630
|
+
|
|
631
|
+
In the consuming application:
|
|
632
|
+
|
|
633
|
+
1. Search source, tests and configuration for `@dataarthub/app-core` and
|
|
634
|
+
`@dataarthub/react-tools`. Each remaining use must be intentional.
|
|
635
|
+
2. Run the application's TypeScript check with its normal module resolution.
|
|
636
|
+
Confirm each moved symbol exists, not just the destination subpath.
|
|
637
|
+
3. Run the production build and open the migrated screens. Verify providers,
|
|
638
|
+
styles, validation, locale and optional integration loading.
|
|
639
|
+
4. Exercise only the changed feature boundaries: real form persistence, adapter
|
|
640
|
+
failures and relevant document/CSV output. Reuse unchanged integration evidence
|
|
641
|
+
where its inputs still match; avoid production-data writes as a migration probe.
|
|
642
|
+
5. Review the dependency tree for legacy leftovers or duplicate React/query
|
|
643
|
+
contexts, then keep the migration diff and application checks together.
|
|
644
|
+
|
|
645
|
+
Expected result: the application resolves the selected published packages without
|
|
646
|
+
source aliases, type-checks, and retains its tested behavior through explicit
|
|
647
|
+
adapters/providers. Appkit's `0.1.0` release checks covered isolated public package
|
|
648
|
+
consumers, declarations and the request-form recipe; they do not certify your
|
|
649
|
+
application, private extensions or every hosted provider. This guide's import
|
|
650
|
+
example is checked separately; no complete legacy application migration is claimed.
|
|
651
|
+
|
|
652
|
+
## Troubleshooting / Common Pitfalls
|
|
653
|
+
|
|
654
|
+
| Symptom | What to check |
|
|
655
|
+
| --- | --- |
|
|
656
|
+
| Package installation returns 401/404 | Public packages use npm; retained restricted packages need the correct GitHub scope and credentials. |
|
|
657
|
+
| `Package subpath is not defined by exports` | Use the complete new feature path; there is no blanket compatibility alias for old subpaths or `dist/*`. |
|
|
658
|
+
| A named export disappeared | Root barrels differ. Locate the actual symbol in the export reference; some features remain restricted. |
|
|
659
|
+
| Missing query/data-access context | Use the paired public providers in the complete form recipe and check for duplicate dependency instances. |
|
|
660
|
+
| UI renders without styling | Import `@alneas/appkit-react/styles` at the application boundary. |
|
|
661
|
+
| Dates, validation or documents changed | Choose explicit locale/validation settings and the appropriate generic or Japanese preset entry. |
|
|
662
|
+
| A browser build pulls in backend code | Move filesystem/SDK/credential imports to server modules and use explicit feature entries. |
|
|
663
|
+
| A legacy provider/editor/PDF component has no public equivalent | Retain the restricted distribution or replace that feature explicitly; a namespace rename is insufficient. |
|
|
210
664
|
|
|
211
665
|
|
|
212
666
|
---
|
|
@@ -216,8 +670,11 @@ Compiled CSS license texts are retained in `THIRD_PARTY_NOTICES.md`.
|
|
|
216
670
|
---
|
|
217
671
|
title: "Save a schema-driven request form"
|
|
218
672
|
description: "Wire a schema to an application-owned adapter with retained input on failure."
|
|
673
|
+
sidebar:
|
|
674
|
+
order: 3
|
|
219
675
|
archetype: how-to
|
|
220
|
-
project:
|
|
676
|
+
project: appkit
|
|
677
|
+
tags: ["appkit", "request-form"]
|
|
221
678
|
---
|
|
222
679
|
|
|
223
680
|
# Save a schema-driven request form
|
|
@@ -279,8 +736,11 @@ Keep QueryClientProvider and DataAccessProvider, including when using onSave. Au
|
|
|
279
736
|
---
|
|
280
737
|
title: "Build schema forms and record tables"
|
|
281
738
|
description: "Schema-driven forms, tables, filters and CRUD views"
|
|
739
|
+
sidebar:
|
|
740
|
+
order: 4
|
|
282
741
|
archetype: how-to
|
|
283
|
-
project:
|
|
742
|
+
project: appkit
|
|
743
|
+
tags: ["appkit", "tools"]
|
|
284
744
|
---
|
|
285
745
|
|
|
286
746
|
# Build schema forms and record tables
|
|
@@ -325,8 +785,11 @@ See [save a schema-driven request form](request-form.md) for the complete provid
|
|
|
325
785
|
---
|
|
326
786
|
title: "Compose React UI and shared providers"
|
|
327
787
|
description: "React 19 primitives, theme providers and hooks"
|
|
788
|
+
sidebar:
|
|
789
|
+
order: 5
|
|
328
790
|
archetype: how-to
|
|
329
|
-
project:
|
|
791
|
+
project: appkit
|
|
792
|
+
tags: ["appkit", "ui"]
|
|
330
793
|
---
|
|
331
794
|
|
|
332
795
|
# Compose React UI and shared providers
|
package/llms.txt
CHANGED
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Install @alneas/appkit-react; import its explicit feature subpaths.
|
|
4
4
|
|
|
5
|
+
- [Agent instructions](consumer-ai/SKILL.md)
|
|
6
|
+
- [API catalog](consumer-ai/api-index.json)
|
|
7
|
+
|
|
5
8
|
- [README.md](README.md)
|
|
6
9
|
- [docs/ai.md](docs/ai.md)
|
|
7
10
|
- [docs/exports.md](docs/exports.md)
|
|
8
11
|
- [docs/index.md](docs/index.md)
|
|
12
|
+
- [docs/migration.md](docs/migration.md)
|
|
9
13
|
- [docs/request-form.md](docs/request-form.md)
|
|
10
14
|
- [docs/tools.md](docs/tools.md)
|
|
11
15
|
- [docs/ui.md](docs/ui.md)
|