@alneas/appkit-react 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +111 -0
- package/README.md +20 -23
- package/consumer-ai/SKILL.md +20 -0
- package/consumer-ai/api-index.json +104239 -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 +28 -6
- package/dist/ai/action/use-screen-action.d.ts +28 -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 +48 -5
- package/dist/ai/action/use-screen-context.d.ts +48 -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 +137 -7
- package/dist/ai/proposal/use-proposal-batch-review.d.ts +137 -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 +14 -0
- package/dist/consumer-ai/api-index.json +104239 -0
- package/dist/consumer-ai/package-context.json +14 -12
- package/dist/mockServiceWorker.js +460 -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/column-order.cjs +2 -0
- package/dist/tools/components/data-table/column-order.cjs.map +1 -0
- package/dist/tools/components/data-table/column-order.d.cts +11 -0
- package/dist/tools/components/data-table/column-order.d.ts +11 -0
- package/dist/tools/components/data-table/column-order.js +18 -0
- package/dist/tools/components/data-table/column-order.js.map +1 -0
- 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.d.cts +18 -28
- package/dist/tools/components/data-table/data-table.d.ts +18 -28
- package/dist/tools/components/data-table/data-table.js +318 -265
- 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/FileBrowser.cjs +1 -1
- package/dist/tools/components/file-browser/FileBrowser.cjs.map +1 -1
- package/dist/tools/components/file-browser/FileBrowser.d.cts +17 -4
- package/dist/tools/components/file-browser/FileBrowser.d.ts +17 -4
- package/dist/tools/components/file-browser/FileBrowser.js +124 -90
- package/dist/tools/components/file-browser/FileBrowser.js.map +1 -1
- package/dist/tools/components/file-browser/FileGridView.cjs +1 -1
- package/dist/tools/components/file-browser/FileGridView.cjs.map +1 -1
- package/dist/tools/components/file-browser/FileGridView.d.cts +16 -1
- package/dist/tools/components/file-browser/FileGridView.d.ts +16 -1
- package/dist/tools/components/file-browser/FileGridView.js +27 -16
- package/dist/tools/components/file-browser/FileGridView.js.map +1 -1
- package/dist/tools/components/file-browser/FileListView.cjs +1 -1
- package/dist/tools/components/file-browser/FileListView.cjs.map +1 -1
- package/dist/tools/components/file-browser/FileListView.d.cts +16 -1
- package/dist/tools/components/file-browser/FileListView.d.ts +16 -1
- package/dist/tools/components/file-browser/FileListView.js +7 -9
- package/dist/tools/components/file-browser/FileListView.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/file-browser/file-drop.cjs +2 -0
- package/dist/tools/components/file-browser/file-drop.cjs.map +1 -0
- package/dist/tools/components/file-browser/file-drop.d.cts +20 -0
- package/dist/tools/components/file-browser/file-drop.d.ts +20 -0
- package/dist/tools/components/file-browser/file-drop.js +17 -0
- package/dist/tools/components/file-browser/file-drop.js.map +1 -0
- 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/filter/use-filter.cjs +1 -1
- package/dist/tools/components/filter/use-filter.cjs.map +1 -1
- package/dist/tools/components/filter/use-filter.d.cts +3 -0
- package/dist/tools/components/filter/use-filter.d.ts +3 -0
- package/dist/tools/components/filter/use-filter.js +28 -30
- package/dist/tools/components/filter/use-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-action-bar.cjs +1 -1
- package/dist/tools/components/form/form-action-bar.cjs.map +1 -1
- package/dist/tools/components/form/form-action-bar.d.cts +4 -1
- package/dist/tools/components/form/form-action-bar.d.ts +4 -1
- package/dist/tools/components/form/form-action-bar.js +29 -28
- package/dist/tools/components/form/form-action-bar.js.map +1 -1
- package/dist/tools/components/form/form-container.cjs +1 -1
- package/dist/tools/components/form/form-container.cjs.map +1 -1
- package/dist/tools/components/form/form-container.d.cts +4 -1
- package/dist/tools/components/form/form-container.d.ts +4 -1
- package/dist/tools/components/form/form-container.js +13 -10
- package/dist/tools/components/form/form-container.js.map +1 -1
- package/dist/tools/components/form/form-grid.cjs +1 -1
- package/dist/tools/components/form/form-grid.cjs.map +1 -1
- package/dist/tools/components/form/form-grid.d.cts +52 -24
- package/dist/tools/components/form/form-grid.d.ts +52 -24
- package/dist/tools/components/form/form-grid.js +24 -19
- 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 +20 -35
- package/dist/tools/components/kanban/KanbanBoard.d.ts +20 -35
- package/dist/tools/components/kanban/KanbanBoard.js +32 -28
- package/dist/tools/components/kanban/KanbanBoard.js.map +1 -1
- package/dist/tools/components/kanban/KanbanCard.cjs +1 -1
- package/dist/tools/components/kanban/KanbanCard.cjs.map +1 -1
- package/dist/tools/components/kanban/KanbanCard.d.cts +4 -1
- package/dist/tools/components/kanban/KanbanCard.d.ts +4 -1
- package/dist/tools/components/kanban/KanbanCard.js +16 -14
- package/dist/tools/components/kanban/KanbanCard.js.map +1 -1
- package/dist/tools/components/kanban/KanbanCardView.cjs +1 -1
- package/dist/tools/components/kanban/KanbanCardView.cjs.map +1 -1
- package/dist/tools/components/kanban/KanbanCardView.d.cts +4 -1
- package/dist/tools/components/kanban/KanbanCardView.d.ts +4 -1
- package/dist/tools/components/kanban/KanbanCardView.js +35 -34
- package/dist/tools/components/kanban/KanbanCardView.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.d.cts +23 -2
- package/dist/tools/components/kanban/KanbanColumn.d.ts +23 -2
- package/dist/tools/components/kanban/KanbanColumn.js +28 -33
- 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 +46 -48
- package/dist/tools/components/kanban/kanban-compound.js.map +1 -1
- package/dist/tools/components/kanban/kanban-drag.cjs.map +1 -1
- package/dist/tools/components/kanban/kanban-drag.d.cts +26 -4
- package/dist/tools/components/kanban/kanban-drag.d.ts +26 -4
- package/dist/tools/components/kanban/kanban-drag.js.map +1 -1
- package/dist/tools/components/kanban/kanban-events.cjs +2 -0
- package/dist/tools/components/kanban/kanban-events.cjs.map +1 -0
- package/dist/tools/components/kanban/kanban-events.d.cts +19 -0
- package/dist/tools/components/kanban/kanban-events.d.ts +19 -0
- package/dist/tools/components/kanban/kanban-events.js +17 -0
- package/dist/tools/components/kanban/kanban-events.js.map +1 -0
- 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.d.cts +71 -4
- package/dist/tools/components/kanban/kanban-primitives.d.ts +71 -4
- package/dist/tools/components/kanban/kanban-primitives.js +55 -34
- package/dist/tools/components/kanban/kanban-primitives.js.map +1 -1
- package/dist/tools/components/kanban/use-kanban-drag.cjs +1 -1
- package/dist/tools/components/kanban/use-kanban-drag.cjs.map +1 -1
- package/dist/tools/components/kanban/use-kanban-drag.d.cts +34 -17
- package/dist/tools/components/kanban/use-kanban-drag.d.ts +34 -17
- package/dist/tools/components/kanban/use-kanban-drag.js +20 -22
- package/dist/tools/components/kanban/use-kanban-drag.js.map +1 -1
- package/dist/tools/components/kanban/use-kanban-sensors.cjs +1 -1
- package/dist/tools/components/kanban/use-kanban-sensors.cjs.map +1 -1
- package/dist/tools/components/kanban/use-kanban-sensors.d.cts +21 -2
- package/dist/tools/components/kanban/use-kanban-sensors.d.ts +21 -2
- package/dist/tools/components/kanban/use-kanban-sensors.js +41 -26
- package/dist/tools/components/kanban/use-kanban-sensors.js.map +1 -1
- package/dist/tools/components/pane/SearchAndCreatePane.cjs.map +1 -1
- package/dist/tools/components/pane/SearchAndCreatePane.d.cts +5 -0
- package/dist/tools/components/pane/SearchAndCreatePane.d.ts +5 -0
- package/dist/tools/components/pane/SearchAndCreatePane.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.d.cts +4 -1
- package/dist/tools/components/priority-queue/PriorityCard.d.ts +4 -1
- package/dist/tools/components/priority-queue/PriorityCard.js +36 -34
- package/dist/tools/components/priority-queue/PriorityCard.js.map +1 -1
- package/dist/tools/components/priority-queue/PriorityQueue.cjs +1 -1
- package/dist/tools/components/priority-queue/PriorityQueue.cjs.map +1 -1
- package/dist/tools/components/priority-queue/PriorityQueue.d.cts +4 -1
- package/dist/tools/components/priority-queue/PriorityQueue.d.ts +4 -1
- package/dist/tools/components/priority-queue/PriorityQueue.js +20 -20
- package/dist/tools/components/priority-queue/PriorityQueue.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/sidebar/sidebar-compound.d.cts +2 -1
- package/dist/tools/components/sidebar/sidebar-compound.d.ts +2 -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/ui/chart.cjs +2 -2
- package/dist/tools/components/ui/chart.cjs.map +1 -1
- package/dist/tools/components/ui/chart.d.cts +15 -6
- package/dist/tools/components/ui/chart.d.ts +15 -6
- package/dist/tools/components/ui/chart.js +42 -40
- package/dist/tools/components/ui/chart.js.map +1 -1
- package/dist/tools/components/ui/dnd/DnDProvider.cjs +1 -1
- package/dist/tools/components/ui/dnd/DnDProvider.cjs.map +1 -1
- package/dist/tools/components/ui/dnd/DnDProvider.d.cts +27 -11
- package/dist/tools/components/ui/dnd/DnDProvider.d.ts +27 -11
- package/dist/tools/components/ui/dnd/DnDProvider.js +15 -12
- package/dist/tools/components/ui/dnd/DnDProvider.js.map +1 -1
- package/dist/tools/components/ui/dnd/Draggable.cjs +1 -1
- package/dist/tools/components/ui/dnd/Draggable.cjs.map +1 -1
- package/dist/tools/components/ui/dnd/Draggable.d.cts +32 -11
- package/dist/tools/components/ui/dnd/Draggable.d.ts +32 -11
- package/dist/tools/components/ui/dnd/Draggable.js +15 -19
- package/dist/tools/components/ui/dnd/Draggable.js.map +1 -1
- package/dist/tools/components/ui/dnd/Droppable.cjs +1 -1
- package/dist/tools/components/ui/dnd/Droppable.cjs.map +1 -1
- package/dist/tools/components/ui/dnd/Droppable.d.cts +30 -10
- package/dist/tools/components/ui/dnd/Droppable.d.ts +30 -10
- package/dist/tools/components/ui/dnd/Droppable.js +12 -11
- package/dist/tools/components/ui/dnd/Droppable.js.map +1 -1
- package/dist/tools/components/ui/field.cjs +1 -1
- package/dist/tools/components/ui/field.cjs.map +1 -1
- package/dist/tools/components/ui/field.d.cts +4 -1
- package/dist/tools/components/ui/field.d.ts +4 -1
- package/dist/tools/components/ui/field.js +48 -47
- package/dist/tools/components/ui/field.js.map +1 -1
- package/dist/tools/components/ui/form-helpers.d.cts +5 -14
- package/dist/tools/components/ui/form-helpers.d.ts +5 -14
- 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/tools/paraglide/messages/auth_alreadyhaveaccount2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_alreadyhaveaccount2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_alreadyhaveaccount2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_alreadyhaveaccount2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_alreadyhaveaccount2.js +4 -4
- package/dist/tools/paraglide/messages/auth_alreadyhaveaccount2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.js +4 -4
- package/dist/tools/paraglide/messages/auth_donthaveaccount2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_email.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_email.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_email.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_email.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_email.js +4 -4
- package/dist/tools/paraglide/messages/auth_email.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.js +2 -5
- package/dist/tools/paraglide/messages/auth_emailplaceholder1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_failedtologin2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_failedtologin2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_failedtologin2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_failedtologin2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_failedtologin2.js +4 -4
- package/dist/tools/paraglide/messages/auth_failedtologin2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_failedtoregister2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_failedtoregister2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_failedtoregister2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_failedtoregister2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_failedtoregister2.js +4 -4
- package/dist/tools/paraglide/messages/auth_failedtoregister2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_loggingin1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_loggingin1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_loggingin1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_loggingin1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_loggingin1.js +4 -4
- package/dist/tools/paraglide/messages/auth_loggingin1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithapple2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithapple2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithapple2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_loginwithapple2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_loginwithapple2.js +4 -4
- package/dist/tools/paraglide/messages/auth_loginwithapple2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.js +4 -4
- package/dist/tools/paraglide/messages/auth_loginwithgoogle2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_name.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_name.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_name.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_name.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_name.js +4 -4
- package/dist/tools/paraglide/messages/auth_name.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.js +4 -4
- package/dist/tools/paraglide/messages/auth_nameplaceholder1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.js +4 -4
- package/dist/tools/paraglide/messages/auth_orcontinuewith2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_password.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_password.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_password.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_password.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_password.js +4 -4
- package/dist/tools/paraglide/messages/auth_password.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_registering.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_registering.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_registering.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_registering.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_registering.js +4 -4
- package/dist/tools/paraglide/messages/auth_registering.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.js +4 -4
- package/dist/tools/paraglide/messages/auth_socialloginfailed2.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.js +4 -4
- package/dist/tools/paraglide/messages/auth_validation_invalidemail1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.js +4 -4
- package/dist/tools/paraglide/messages/auth_validation_invalidnumber1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.js +4 -4
- package/dist/tools/paraglide/messages/auth_validation_passwordlength1.js.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_required.cjs +1 -1
- package/dist/tools/paraglide/messages/auth_validation_required.cjs.map +1 -1
- package/dist/tools/paraglide/messages/auth_validation_required.d.cts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_required.d.ts +2 -0
- package/dist/tools/paraglide/messages/auth_validation_required.js +4 -4
- package/dist/tools/paraglide/messages/auth_validation_required.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_day.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_day.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_day.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_day.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_day.js +2 -5
- package/dist/tools/paraglide/messages/calendar_day.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_month.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_month.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_month.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_month.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_month.js +2 -5
- package/dist/tools/paraglide/messages/calendar_month.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_resources.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_resources.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_resources.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_resources.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_resources.js +4 -4
- package/dist/tools/paraglide/messages/calendar_resources.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_today.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_today.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_today.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_today.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_today.js +4 -4
- package/dist/tools/paraglide/messages/calendar_today.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_agenda.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_agenda.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_agenda.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_agenda.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_agenda.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_agenda.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_comingsoon1.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_day.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_day.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_day.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_day.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_day.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_day.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_grid.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_grid.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_grid.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_grid.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_grid.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_grid.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_month.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_month.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_month.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_month.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_month.js +2 -5
- package/dist/tools/paraglide/messages/calendar_view_month.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_resource.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_resource.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_resource.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_resource.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_resource.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_resource.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_timeline.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_timeline.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_timeline.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_timeline.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_timeline.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_timeline.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_week.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_view_week.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_view_week.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_week.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_view_week.js +4 -4
- package/dist/tools/paraglide/messages/calendar_view_week.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_week.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_week.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_week.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_week.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_week.js +4 -4
- package/dist/tools/paraglide/messages/calendar_week.js.map +1 -1
- package/dist/tools/paraglide/messages/calendar_year.cjs +1 -1
- package/dist/tools/paraglide/messages/calendar_year.cjs.map +1 -1
- package/dist/tools/paraglide/messages/calendar_year.d.cts +2 -0
- package/dist/tools/paraglide/messages/calendar_year.d.ts +2 -0
- package/dist/tools/paraglide/messages/calendar_year.js +2 -5
- package/dist/tools/paraglide/messages/calendar_year.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_back.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_back.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_back.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_back.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_back.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_back.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_cancel.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_cancel.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_cancel.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_cancel.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_cancel.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_cancel.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_create.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_create.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_create.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_create.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_create.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_create.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_delete.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_delete.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_delete.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_delete.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_delete.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_delete.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_download.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_download.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_download.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_download.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_download.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_download.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_edit.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_edit.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_edit.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_edit.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_edit.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_edit.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_home.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_home.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_home.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_home.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_home.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_home.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_next.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_next.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_next.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_next.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_next.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_next.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_ok.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_ok.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_ok.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_ok.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_ok.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_ok.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_previous.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_previous.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_previous.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_previous.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_previous.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_previous.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_retry.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_retry.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_retry.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_retry.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_retry.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_retry.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_save.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_save.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_save.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_save.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_save.js +2 -5
- package/dist/tools/paraglide/messages/common_actions_save.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_search.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_search.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_search.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_search.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_search.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_search.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_submit.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_submit.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_submit.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_submit.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_submit.js +4 -4
- package/dist/tools/paraglide/messages/common_actions_submit.js.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_update.cjs +1 -1
- package/dist/tools/paraglide/messages/common_actions_update.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_actions_update.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_actions_update.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_actions_update.js +2 -5
- package/dist/tools/paraglide/messages/common_actions_update.js.map +1 -1
- package/dist/tools/paraglide/messages/common_advanced.cjs +1 -1
- package/dist/tools/paraglide/messages/common_advanced.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_advanced.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_advanced.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_advanced.js +4 -4
- package/dist/tools/paraglide/messages/common_advanced.js.map +1 -1
- package/dist/tools/paraglide/messages/common_language.cjs +1 -1
- package/dist/tools/paraglide/messages/common_language.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_language.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_language.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_language.js +4 -4
- package/dist/tools/paraglide/messages/common_language.js.map +1 -1
- package/dist/tools/paraglide/messages/common_no.cjs +1 -1
- package/dist/tools/paraglide/messages/common_no.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_no.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_no.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_no.js +4 -4
- package/dist/tools/paraglide/messages/common_no.js.map +1 -1
- package/dist/tools/paraglide/messages/common_status_error.cjs +1 -1
- package/dist/tools/paraglide/messages/common_status_error.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_status_error.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_status_error.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_status_error.js +4 -4
- package/dist/tools/paraglide/messages/common_status_error.js.map +1 -1
- package/dist/tools/paraglide/messages/common_status_loading.cjs +1 -1
- package/dist/tools/paraglide/messages/common_status_loading.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_status_loading.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_status_loading.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_status_loading.js +4 -4
- package/dist/tools/paraglide/messages/common_status_loading.js.map +1 -1
- package/dist/tools/paraglide/messages/common_stepprogress1.cjs +1 -1
- package/dist/tools/paraglide/messages/common_stepprogress1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_stepprogress1.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_stepprogress1.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_stepprogress1.js +4 -4
- package/dist/tools/paraglide/messages/common_stepprogress1.js.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_noresults1.cjs +1 -1
- package/dist/tools/paraglide/messages/common_validation_noresults1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_noresults1.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_validation_noresults1.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_validation_noresults1.js +4 -4
- package/dist/tools/paraglide/messages/common_validation_noresults1.js.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_noschemas1.cjs +1 -1
- package/dist/tools/paraglide/messages/common_validation_noschemas1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_noschemas1.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_validation_noschemas1.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_validation_noschemas1.js +4 -4
- package/dist/tools/paraglide/messages/common_validation_noschemas1.js.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_notfound1.cjs +1 -1
- package/dist/tools/paraglide/messages/common_validation_notfound1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_validation_notfound1.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_validation_notfound1.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_validation_notfound1.js +4 -4
- package/dist/tools/paraglide/messages/common_validation_notfound1.js.map +1 -1
- package/dist/tools/paraglide/messages/common_yes.cjs +1 -1
- package/dist/tools/paraglide/messages/common_yes.cjs.map +1 -1
- package/dist/tools/paraglide/messages/common_yes.d.cts +2 -0
- package/dist/tools/paraglide/messages/common_yes.d.ts +2 -0
- package/dist/tools/paraglide/messages/common_yes.js +4 -4
- package/dist/tools/paraglide/messages/common_yes.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.js +4 -4
- package/dist/tools/paraglide/messages/datatable_filterplaceholder2.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.js +4 -4
- package/dist/tools/paraglide/messages/datatable_gotofirstpage4.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.js +4 -4
- package/dist/tools/paraglide/messages/datatable_gotolastpage4.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.js +4 -4
- package/dist/tools/paraglide/messages/datatable_gotonextpage4.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.js +4 -4
- package/dist/tools/paraglide/messages/datatable_gotopreviouspage4.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_items1.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_items1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_items1.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_items1.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_items1.js +4 -4
- package/dist/tools/paraglide/messages/datatable_items1.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_noresults2.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_noresults2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_noresults2.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_noresults2.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_noresults2.js +4 -4
- package/dist/tools/paraglide/messages/datatable_noresults2.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_page1.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_page1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_page1.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_page1.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_page1.js +4 -4
- package/dist/tools/paraglide/messages/datatable_page1.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.js +4 -4
- package/dist/tools/paraglide/messages/datatable_rowsperpage3.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsselected2.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsselected2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_rowsselected2.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_rowsselected2.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_rowsselected2.js +4 -4
- package/dist/tools/paraglide/messages/datatable_rowsselected2.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.js +4 -4
- package/dist/tools/paraglide/messages/datatable_togglecolumns2.js.map +1 -1
- package/dist/tools/paraglide/messages/datatable_view1.cjs +1 -1
- package/dist/tools/paraglide/messages/datatable_view1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/datatable_view1.d.cts +2 -0
- package/dist/tools/paraglide/messages/datatable_view1.d.ts +2 -0
- package/dist/tools/paraglide/messages/datatable_view1.js +4 -4
- package/dist/tools/paraglide/messages/datatable_view1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_account_exists_with_different_credential.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_email_already_in_use.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_expired_action_code.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_invalid_action_code.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_invalid_credential.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_invalid_email.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_network_request_failed.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_operation_not_allowed.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_popup_closed_by_user.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_requires_recent_login.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_too_many_requests.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_user_disabled.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_user_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_weak_password.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_weak_password.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_weak_password.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_weak_password.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_weak_password.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_weak_password.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.js +4 -4
- package/dist/tools/paraglide/messages/errors_auth_wrong_password.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_code.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_code.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_code.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_code.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_code.js +4 -4
- package/dist/tools/paraglide/messages/errors_code.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_dialogtitle1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_dialogtitle1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_dialogtitle1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_dialogtitle1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_dialogtitle1.js +4 -4
- package/dist/tools/paraglide/messages/errors_dialogtitle1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_forbidden.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_forbidden.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_forbidden.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_forbidden.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_forbidden.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_forbidden.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_network.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_network.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_network.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_network.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_network.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_network.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_server.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_server.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_server.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_server.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_server.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_server.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_timeout.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_timeout.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_timeout.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_timeout.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_timeout.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_timeout.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_unauthorized.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_unauthorized.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_unauthorized.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_unauthorized.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_unauthorized.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_unauthorized.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_unknown.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_unknown.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_unknown.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_unknown.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_unknown.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_unknown.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_validation.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_error_validation.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_error_validation.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_error_validation.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_error_validation.js +4 -4
- package/dist/tools/paraglide/messages/errors_error_validation.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_aborted.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_aborted.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_aborted.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_aborted.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_aborted.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_aborted.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_already_exists.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_already_exists.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_already_exists.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_already_exists.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_already_exists.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_already_exists.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_cancelled.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_cancelled.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_cancelled.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_cancelled.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_cancelled.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_cancelled.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_data_loss.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_data_loss.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_data_loss.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_data_loss.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_data_loss.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_data_loss.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_deadline_exceeded.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_failed_precondition.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_internal.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_internal.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_internal.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_internal.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_internal.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_internal.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_invalid_argument.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_out_of_range.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_permission_denied.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_resource_exhausted.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_unauthenticated.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unavailable.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unavailable.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unavailable.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unavailable.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unavailable.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_unavailable.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_unimplemented.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unknown.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unknown.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_functions_unknown.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unknown.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_functions_unknown.js +4 -4
- package/dist/tools/paraglide/messages/errors_functions_unknown.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_generic.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_generic.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_generic.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_generic.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_generic.js +4 -4
- package/dist/tools/paraglide/messages/errors_generic.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_generictitle1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_generictitle1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_generictitle1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_generictitle1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_generictitle1.js +4 -4
- package/dist/tools/paraglide/messages/errors_generictitle1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_bucket_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_file_too_large.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_invalid_file_type.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_object_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_unauthorized.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.js +4 -4
- package/dist/tools/paraglide/messages/errors_storage_upload_failed.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_bad_jwt.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_check_violation.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_email_not_confirmed.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_foreign_key_violation.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_insufficient_privilege.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_invalid_credentials.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_invalid_grant.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_invalid_token.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_not_admin.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_rate_limit_exceeded.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_session_expired.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_undefined_table.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_unique_violation.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_user_already_exists.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.js +4 -4
- package/dist/tools/paraglide/messages/errors_supabase_user_not_found.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_invalidemail1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_maxlength1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_minlength1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_minlength1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_minlength1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_minlength1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_minlength1.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_minlength1.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_pattern.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_pattern.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_pattern.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_pattern.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_pattern.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_pattern.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_required.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_required.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_required.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_required.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_required.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_required.js.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.cjs +1 -1
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.d.cts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.d.ts +2 -0
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.js +4 -4
- package/dist/tools/paraglide/messages/errors_validation_weakpassword1.js.map +1 -1
- package/dist/tools/paraglide/messages/filter_all.cjs +1 -1
- package/dist/tools/paraglide/messages/filter_all.cjs.map +1 -1
- package/dist/tools/paraglide/messages/filter_all.d.cts +2 -0
- package/dist/tools/paraglide/messages/filter_all.d.ts +2 -0
- package/dist/tools/paraglide/messages/filter_all.js +4 -4
- package/dist/tools/paraglide/messages/filter_all.js.map +1 -1
- package/dist/tools/paraglide/messages/filter_apply.cjs +1 -1
- package/dist/tools/paraglide/messages/filter_apply.cjs.map +1 -1
- package/dist/tools/paraglide/messages/filter_apply.d.cts +2 -0
- package/dist/tools/paraglide/messages/filter_apply.d.ts +2 -0
- package/dist/tools/paraglide/messages/filter_apply.js +4 -4
- package/dist/tools/paraglide/messages/filter_apply.js.map +1 -1
- package/dist/tools/paraglide/messages/filter_max.cjs +1 -1
- package/dist/tools/paraglide/messages/filter_max.cjs.map +1 -1
- package/dist/tools/paraglide/messages/filter_max.d.cts +2 -0
- package/dist/tools/paraglide/messages/filter_max.d.ts +2 -0
- package/dist/tools/paraglide/messages/filter_max.js +2 -5
- package/dist/tools/paraglide/messages/filter_max.js.map +1 -1
- package/dist/tools/paraglide/messages/filter_min.cjs +1 -1
- package/dist/tools/paraglide/messages/filter_min.cjs.map +1 -1
- package/dist/tools/paraglide/messages/filter_min.d.cts +2 -0
- package/dist/tools/paraglide/messages/filter_min.d.ts +2 -0
- package/dist/tools/paraglide/messages/filter_min.js +2 -5
- package/dist/tools/paraglide/messages/filter_min.js.map +1 -1
- package/dist/tools/paraglide/messages/filter_reset.cjs +1 -1
- package/dist/tools/paraglide/messages/filter_reset.cjs.map +1 -1
- package/dist/tools/paraglide/messages/filter_reset.d.cts +2 -0
- package/dist/tools/paraglide/messages/filter_reset.d.ts +2 -0
- package/dist/tools/paraglide/messages/filter_reset.js +4 -4
- package/dist/tools/paraglide/messages/filter_reset.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_default.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_default.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_default.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_default.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_default.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_default.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_dueasc1.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_duedesc1.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_priorityasc1.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_prioritydesc1.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_titleasc1.js.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.cjs +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.d.cts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.d.ts +2 -0
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.js +4 -4
- package/dist/tools/paraglide/messages/kanban_sort_titledesc1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_close.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_close.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_close.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_close.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_close.js +4 -4
- package/dist/tools/paraglide/messages/pdf_close.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_description.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_description.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_description.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_description.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_description.js +4 -4
- package/dist/tools/paraglide/messages/pdf_description.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_export.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_export.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_export.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_export.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_export.js +4 -4
- package/dist/tools/paraglide/messages/pdf_export.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_landscape.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_options_landscape.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_landscape.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_landscape.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_landscape.js +4 -4
- package/dist/tools/paraglide/messages/pdf_options_landscape.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_portrait.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_options_portrait.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_portrait.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_portrait.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_portrait.js +4 -4
- package/dist/tools/paraglide/messages/pdf_options_portrait.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_shrink.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_options_shrink.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_shrink.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_shrink.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_shrink.js +4 -4
- package/dist/tools/paraglide/messages/pdf_options_shrink.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_truncate.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_options_truncate.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_truncate.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_truncate.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_truncate.js +4 -4
- package/dist/tools/paraglide/messages/pdf_options_truncate.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_wrap.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_options_wrap.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_options_wrap.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_wrap.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_options_wrap.js +4 -4
- package/dist/tools/paraglide/messages/pdf_options_wrap.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_preview.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_preview.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_preview.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_preview.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_preview.js +4 -4
- package/dist/tools/paraglide/messages/pdf_preview.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_aligncenter1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_alignleft1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_alignright1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_bottom.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_bottom.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_bottom.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_bottom.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_bottom.js +2 -5
- package/dist/tools/paraglide/messages/pdf_settings_bottom.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_font.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_font.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_font.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_font.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_font.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_font.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_fontsize1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_footer.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_footer.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_footer.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_footer.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_footer.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_footer.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_format.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_format.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_format.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_format.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_format.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_format.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_header.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_header.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_header.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_header.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_header.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_header.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_left.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_left.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_left.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_left.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_left.js +2 -5
- package/dist/tools/paraglide/messages/pdf_settings_left.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_margins.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_margins.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_margins.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_margins.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_margins.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_margins.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_orientation.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_orientation.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_orientation.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_orientation.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_orientation.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_orientation.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_overflow.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_overflow.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_overflow.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_overflow.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_overflow.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_overflow.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_right.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_right.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_right.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_right.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_right.js +2 -5
- package/dist/tools/paraglide/messages/pdf_settings_right.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_showline1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_showline1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_showline1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_showline1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_showline1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_showline1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_shrinktable1.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.js +4 -4
- package/dist/tools/paraglide/messages/pdf_settings_shrinktabledesc2.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_top.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_top.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_settings_top.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_top.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_settings_top.js +2 -5
- package/dist/tools/paraglide/messages/pdf_settings_top.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.js +4 -4
- package/dist/tools/paraglide/messages/pdf_tabs_behavior.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_page.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_page.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_page.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_page.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_page.js +4 -4
- package/dist/tools/paraglide/messages/pdf_tabs_page.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_text.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_text.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_tabs_text.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_text.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_tabs_text.js +4 -4
- package/dist/tools/paraglide/messages/pdf_tabs_text.js.map +1 -1
- package/dist/tools/paraglide/messages/pdf_title.cjs +1 -1
- package/dist/tools/paraglide/messages/pdf_title.cjs.map +1 -1
- package/dist/tools/paraglide/messages/pdf_title.d.cts +2 -0
- package/dist/tools/paraglide/messages/pdf_title.d.ts +2 -0
- package/dist/tools/paraglide/messages/pdf_title.js +4 -4
- package/dist/tools/paraglide/messages/pdf_title.js.map +1 -1
- package/dist/tools/paraglide/messages/signin1.cjs +1 -1
- package/dist/tools/paraglide/messages/signin1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/signin1.d.cts +2 -0
- package/dist/tools/paraglide/messages/signin1.d.ts +2 -0
- package/dist/tools/paraglide/messages/signin1.js +4 -4
- package/dist/tools/paraglide/messages/signin1.js.map +1 -1
- package/dist/tools/paraglide/messages/signup1.cjs +1 -1
- package/dist/tools/paraglide/messages/signup1.cjs.map +1 -1
- package/dist/tools/paraglide/messages/signup1.d.cts +2 -0
- package/dist/tools/paraglide/messages/signup1.d.ts +2 -0
- package/dist/tools/paraglide/messages/signup1.js +4 -4
- package/dist/tools/paraglide/messages/signup1.js.map +1 -1
- package/dist/tools/paraglide/runtime.cjs +1 -1
- package/dist/tools/paraglide/runtime.cjs.map +1 -1
- package/dist/tools/paraglide/runtime.d.cts +18 -4
- package/dist/tools/paraglide/runtime.d.ts +18 -4
- package/dist/tools/paraglide/runtime.js +54 -36
- package/dist/tools/paraglide/runtime.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 +1 -1
- package/dist/ui/components/ui/accordion.cjs.map +1 -1
- package/dist/ui/components/ui/accordion.d.cts +76 -4
- package/dist/ui/components/ui/accordion.d.ts +76 -4
- package/dist/ui/components/ui/accordion.js +58 -50
- 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 +1 -1
- package/dist/ui/components/ui/alert-dialog.cjs.map +1 -1
- package/dist/ui/components/ui/alert-dialog.d.cts +225 -14
- package/dist/ui/components/ui/alert-dialog.d.ts +225 -14
- package/dist/ui/components/ui/alert-dialog.js +103 -83
- 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 +1 -1
- package/dist/ui/components/ui/avatar.cjs.map +1 -1
- package/dist/ui/components/ui/avatar.d.cts +105 -8
- package/dist/ui/components/ui/avatar.d.ts +105 -8
- package/dist/ui/components/ui/avatar.js +34 -28
- 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 +1 -1
- package/dist/ui/components/ui/button-components.cjs.map +1 -1
- package/dist/ui/components/ui/button-components.d.cts +22 -7
- package/dist/ui/components/ui/button-components.d.ts +22 -7
- package/dist/ui/components/ui/button-components.js +29 -27
- 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 +1 -1
- package/dist/ui/components/ui/card.cjs.map +1 -1
- package/dist/ui/components/ui/card.d.cts +137 -12
- package/dist/ui/components/ui/card.d.ts +137 -12
- package/dist/ui/components/ui/card.js +66 -52
- 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 +1 -1
- package/dist/ui/components/ui/checkbox.cjs.map +1 -1
- package/dist/ui/components/ui/checkbox.d.cts +21 -7
- package/dist/ui/components/ui/checkbox.d.ts +21 -7
- package/dist/ui/components/ui/checkbox.js +19 -17
- 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 +1 -1
- package/dist/ui/components/ui/context-menu.cjs.map +1 -1
- package/dist/ui/components/ui/context-menu.d.cts +295 -19
- package/dist/ui/components/ui/context-menu.d.ts +295 -19
- package/dist/ui/components/ui/context-menu.js +145 -119
- package/dist/ui/components/ui/context-menu.js.map +1 -1
- package/dist/ui/components/ui/dialog.cjs +1 -1
- package/dist/ui/components/ui/dialog.cjs.map +1 -1
- package/dist/ui/components/ui/dialog.d.cts +185 -12
- package/dist/ui/components/ui/dialog.d.ts +185 -12
- package/dist/ui/components/ui/dialog.js +82 -70
- 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 +1 -1
- package/dist/ui/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/ui/components/ui/dropdown-menu.d.cts +271 -19
- package/dist/ui/components/ui/dropdown-menu.d.ts +271 -19
- package/dist/ui/components/ui/dropdown-menu.js +125 -107
- 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 +1 -1
- package/dist/ui/components/ui/field.cjs.map +1 -1
- package/dist/ui/components/ui/field.d.cts +203 -12
- package/dist/ui/components/ui/field.d.ts +203 -12
- package/dist/ui/components/ui/field.js +56 -50
- 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 +1 -1
- package/dist/ui/components/ui/input.cjs.map +1 -1
- package/dist/ui/components/ui/input.d.cts +22 -11
- package/dist/ui/components/ui/input.d.ts +22 -11
- package/dist/ui/components/ui/input.js +18 -18
- 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 +1 -1
- package/dist/ui/components/ui/label.cjs.map +1 -1
- package/dist/ui/components/ui/label.d.cts +19 -1
- package/dist/ui/components/ui/label.d.ts +19 -1
- package/dist/ui/components/ui/label.js +11 -9
- 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 +49 -12
- package/dist/ui/components/ui/layout.d.ts +49 -12
- package/dist/ui/components/ui/layout.js +31 -29
- 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 +1 -1
- package/dist/ui/components/ui/mobile-form.cjs.map +1 -1
- package/dist/ui/components/ui/mobile-form.d.cts +210 -15
- package/dist/ui/components/ui/mobile-form.d.ts +210 -15
- package/dist/ui/components/ui/mobile-form.js +102 -94
- 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 +1 -1
- package/dist/ui/components/ui/pagination.cjs.map +1 -1
- package/dist/ui/components/ui/pagination.d.cts +121 -13
- package/dist/ui/components/ui/pagination.d.ts +121 -13
- package/dist/ui/components/ui/pagination.js +57 -48
- package/dist/ui/components/ui/pagination.js.map +1 -1
- package/dist/ui/components/ui/password-input.cjs +1 -1
- package/dist/ui/components/ui/password-input.cjs.map +1 -1
- package/dist/ui/components/ui/password-input.d.cts +14 -8
- package/dist/ui/components/ui/password-input.d.ts +14 -8
- package/dist/ui/components/ui/password-input.js +6 -6
- package/dist/ui/components/ui/password-input.js.map +1 -1
- package/dist/ui/components/ui/popover.cjs +1 -1
- package/dist/ui/components/ui/popover.cjs.map +1 -1
- package/dist/ui/components/ui/popover.d.cts +102 -6
- package/dist/ui/components/ui/popover.d.ts +102 -6
- package/dist/ui/components/ui/popover.js +51 -43
- package/dist/ui/components/ui/popover.js.map +1 -1
- package/dist/ui/components/ui/progress.cjs +1 -1
- package/dist/ui/components/ui/progress.cjs.map +1 -1
- package/dist/ui/components/ui/progress.d.cts +93 -7
- package/dist/ui/components/ui/progress.d.ts +93 -7
- package/dist/ui/components/ui/progress.js +50 -40
- package/dist/ui/components/ui/progress.js.map +1 -1
- package/dist/ui/components/ui/radio-card.cjs +1 -1
- package/dist/ui/components/ui/radio-card.cjs.map +1 -1
- package/dist/ui/components/ui/radio-card.d.cts +41 -7
- package/dist/ui/components/ui/radio-card.d.ts +41 -7
- package/dist/ui/components/ui/radio-card.js +46 -42
- package/dist/ui/components/ui/radio-card.js.map +1 -1
- package/dist/ui/components/ui/radio-group.cjs +1 -1
- package/dist/ui/components/ui/radio-group.cjs.map +1 -1
- package/dist/ui/components/ui/radio-group.d.cts +36 -4
- package/dist/ui/components/ui/radio-group.d.ts +36 -4
- package/dist/ui/components/ui/radio-group.js +28 -24
- 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 +1 -1
- package/dist/ui/components/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/components/ui/scroll-area.d.cts +32 -2
- package/dist/ui/components/ui/scroll-area.d.ts +32 -2
- package/dist/ui/components/ui/scroll-area.js +26 -24
- 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 +1 -1
- package/dist/ui/components/ui/select.cjs.map +1 -1
- package/dist/ui/components/ui/select.d.cts +213 -42
- package/dist/ui/components/ui/select.d.ts +213 -42
- package/dist/ui/components/ui/select.js +76 -72
- package/dist/ui/components/ui/select.js.map +1 -1
- package/dist/ui/components/ui/separator.cjs +1 -1
- package/dist/ui/components/ui/separator.cjs.map +1 -1
- package/dist/ui/components/ui/separator.d.cts +18 -3
- package/dist/ui/components/ui/separator.d.ts +18 -3
- package/dist/ui/components/ui/separator.js +13 -11
- package/dist/ui/components/ui/separator.js.map +1 -1
- package/dist/ui/components/ui/sheet.cjs +1 -1
- package/dist/ui/components/ui/sheet.cjs.map +1 -1
- package/dist/ui/components/ui/sheet.d.cts +148 -8
- package/dist/ui/components/ui/sheet.d.ts +148 -8
- package/dist/ui/components/ui/sheet.js +72 -62
- 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 +1 -1
- package/dist/ui/components/ui/slider.cjs.map +1 -1
- package/dist/ui/components/ui/slider.d.cts +17 -8
- package/dist/ui/components/ui/slider.d.ts +17 -8
- package/dist/ui/components/ui/slider.js +15 -15
- 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 +1 -1
- package/dist/ui/components/ui/switch.cjs.map +1 -1
- package/dist/ui/components/ui/switch.d.cts +30 -1
- package/dist/ui/components/ui/switch.d.ts +30 -1
- package/dist/ui/components/ui/switch.js +18 -16
- package/dist/ui/components/ui/switch.js.map +1 -1
- package/dist/ui/components/ui/table.cjs +1 -1
- package/dist/ui/components/ui/table.cjs.map +1 -1
- package/dist/ui/components/ui/table.d.cts +151 -11
- package/dist/ui/components/ui/table.d.ts +151 -11
- package/dist/ui/components/ui/table.js +78 -62
- 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 +1 -1
- package/dist/ui/components/ui/textarea.cjs.map +1 -1
- package/dist/ui/components/ui/textarea.d.cts +27 -1
- package/dist/ui/components/ui/textarea.d.ts +27 -1
- package/dist/ui/components/ui/textarea.js +12 -10
- package/dist/ui/components/ui/textarea.js.map +1 -1
- package/dist/ui/components/ui/toast.cjs +1 -1
- package/dist/ui/components/ui/toast.cjs.map +1 -1
- package/dist/ui/components/ui/toast.d.cts +163 -8
- package/dist/ui/components/ui/toast.d.ts +163 -8
- package/dist/ui/components/ui/toast.js +64 -52
- 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 +1 -1
- package/dist/ui/components/ui/toggle-components.cjs.map +1 -1
- package/dist/ui/components/ui/toggle-components.d.cts +20 -4
- package/dist/ui/components/ui/toggle-components.d.ts +20 -4
- package/dist/ui/components/ui/toggle-components.js +16 -14
- package/dist/ui/components/ui/toggle-components.js.map +1 -1
- package/dist/ui/components/ui/toggle-group.cjs +1 -1
- package/dist/ui/components/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/components/ui/toggle-group.d.cts +42 -3
- package/dist/ui/components/ui/toggle-group.d.ts +42 -3
- package/dist/ui/components/ui/toggle-group.js +22 -18
- 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 +1 -1
- package/dist/ui/components/ui/tooltip.cjs.map +1 -1
- package/dist/ui/components/ui/tooltip.d.cts +58 -4
- package/dist/ui/components/ui/tooltip.d.ts +58 -4
- package/dist/ui/components/ui/tooltip.js +26 -24
- 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 +1 -1
- package/dist/ui/lib/hooks/use-keyboard-shortcut.cjs.map +1 -1
- package/dist/ui/lib/hooks/use-keyboard-shortcut.d.cts +47 -18
- package/dist/ui/lib/hooks/use-keyboard-shortcut.d.ts +47 -18
- package/dist/ui/lib/hooks/use-keyboard-shortcut.js +15 -14
- 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 +24 -24
- package/docs/migration.md +565 -0
- package/docs/request-form.md +4 -1
- package/docs/tools.md +4 -1
- package/docs/ui.md +4 -1
- package/llms-full.txt +659 -45
- package/llms.txt +4 -0
- package/package.json +57 -22
- package/dist/tools/types/dnd-react19.cjs +0 -1
- package/dist/tools/types/dnd-react19.d.cts +0 -10
- package/dist/tools/types/dnd-react19.d.ts +0 -10
- package/dist/tools/types/dnd-react19.js +0 -1
- package/dist/types/dnd-react19.cjs +0 -1
- package/dist/types/dnd-react19.d.cts +0 -10
- package/dist/types/dnd-react19.d.ts +0 -10
- package/dist/types/dnd-react19.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table.js","names":["React","m.dataTable_noResults","FilterIcon","m.dataTable_items","m.dataTable_filterPlaceholder","m.dataTable_view","m.dataTable_toggleColumns","m.dataTable_rowsSelected","m.dataTable_rowsPerPage","m.dataTable_page","m.dataTable_goToFirstPage","m.dataTable_goToPreviousPage","m.dataTable_goToNextPage","m.dataTable_goToLastPage","_Fragment","datatable_filterplaceholder2","datatable_gotofirstpage4","datatable_gotolastpage4","datatable_gotonextpage4","datatable_gotopreviouspage4","datatable_items1","datatable_noresults2","datatable_page1","datatable_rowsperpage3","datatable_rowsselected2","datatable_togglecolumns2","datatable_view1","React$1","DataTableColumnHeader","useSortable","header","enableColumnOrdering","canSort","sortDirection","isSorted","style","CSS","transform","isDragging","handleSort","enableMultiSort","TableHead","setNodeRef","attributes","listeners","cn","flexRender","jsx","ChevronUp","ChevronDown","sortIndex","DataTable","controlledSorting","controlledPagination","getTableSettings","useDataTableStore","state","setTableSettings","hasHydrated","mounted","filterOpen","setFilterOpen","defaultFilterOpen","localSorting","setLocalSorting","columnFilters","setColumnFilters","columnVisibility","setColumnVisibility","rowSelection","setRowSelection","localPagination","setLocalPagination","columnOrder","setColumnOrder","columns","c","isPaginationControlled","sorting","pagination","setSorting","next","updater","onSortingChange","setPagination","onPaginationChange","settingsLoaded","setSettingsLoaded","columnIdListKey","validColumnIds","loadKey","storageKey","storedSettings","validSorting","s","validVisibility","key","value","prev","validStoredOrder","id","storedOrderSet","newColumns","mergedOrder","rowNumberColumn","tableInstance","paginationState","row","columnsWithRowNumber","cols","showRowNumber","enableSortingByDefault","col","getRowId","rowIdField","obj","originalRow","manualFiltering","onColumnFiltersChange","table","useTable","dataTableFeatures","manualPagination","pageCount","rowCount","index","onSelectionChange","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","handleDragEnd","event","active","over","oldIndex","order","newIndex","arrayMove","getSortIndex","columnId","renderTable","DndContext","closestCenter","tableClassName","Table","TableHeader","SortableContext","horizontalListSortingStrategy","TableRow","headerGroup","TableBody","onRowClick","TableCell","cell","renderLoadingTable","variant","containerClassName","DataTablePagination","onAdd","Button","Plus","DataTableViewOptions","filterContent","filterLayout","Filter","DataTablePaginationCompact","itemCount","activeFiltersContent","filterColumn","Input","DropdownMenu","DropdownMenuTrigger","buttonVariants","Settings2","DropdownMenuContent","DropdownMenuGroup","DropdownMenuLabel","DropdownMenuSeparator","column","DropdownMenuCheckboxItem","e","pageSizeOptions","pageSize","ChevronsLeft","ChevronLeft","ChevronRight","ChevronsRight","totalPages","Fragment"],"sources":["../../../../src/tools/components/data-table/data-table.tsx"],"sourcesContent":["/**\n * @fileoverview DataTable component with sorting, pagination, and persistence\n *\n * A feature-rich data table built on TanStack Table with:\n * - Three layout variants: default, toolbar, minimal\n * - Single and multi-column sorting\n * - Column reordering via drag-and-drop\n * - Column visibility toggle\n * - Settings persistence via Zustand store\n * - Row selection and click handling\n * - Server-side pagination/sorting support\n *\n * @module data-table/data-table\n */\n\nimport * as React from 'react';\nimport {\n ColumnDef,\n ColumnFiltersState,\n SortingState,\n VisibilityState,\n ColumnOrderState,\n PaginationState,\n flexRender,\n useTable,\n dataTableFeatures,\n Table as TableInstance,\n Header,\n} from './table-engine';\nimport * as m from '../../paraglide/messages.js';\n\nimport {\n DndContext,\n closestCenter,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n DragEndEvent,\n} from '@dnd-kit/core';\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n horizontalListSortingStrategy,\n useSortable,\n} from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\n\nimport { cn } from \"../../lib/utils\";\nimport { Button, buttonVariants } from '../ui/button';\nimport { Input } from '../ui/input';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../ui/table';\n\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n Settings2,\n Plus,\n ChevronUp,\n ChevronDown,\n Filter as FilterIcon,\n} from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuTrigger,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuGroup,\n} from '../ui/dropdown-menu';\n\nimport { useDataTableStore } from './table-store';\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * テーブルレイアウトのバリアント\n * Table layout variants\n */\nexport type DataTableVariant = 'default' | 'toolbar' | 'minimal';\n\n// =============================================================================\n// Sortable Header Component\n// =============================================================================\n\ninterface DataTableColumnHeaderProps<\n TData extends object,\n TValue,\n> extends React.HTMLAttributes<HTMLTableCellElement> {\n header: Header<TData, TValue>;\n enableColumnOrdering?: boolean;\n enableMultiSort?: boolean;\n sortIndex?: number;\n}\n\nfunction DataTableColumnHeader<TData extends object, TValue>({\n header,\n enableColumnOrdering = true,\n enableMultiSort = false,\n sortIndex,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: header.column.id,\n disabled: !enableColumnOrdering,\n });\n\n const canSort = header.column.getCanSort();\n const sortDirection = header.column.getIsSorted();\n const isSorted = sortDirection !== false;\n\n const style: React.CSSProperties = enableColumnOrdering\n ? {\n transform: CSS.Translate.toString(transform),\n transition,\n opacity: isDragging ? 0.8 : 1,\n zIndex: isDragging ? 1 : 0,\n position: 'relative',\n cursor: 'move',\n }\n : {};\n\n const handleSort = (e: React.MouseEvent) => {\n if (!canSort) return;\n if (enableMultiSort && e.shiftKey) {\n header.column.toggleSorting(undefined, true);\n } else {\n header.column.toggleSorting();\n }\n };\n\n return (\n <TableHead\n ref={enableColumnOrdering ? setNodeRef : undefined}\n style={style}\n {...(enableColumnOrdering ? { ...attributes, ...listeners } : {})}\n className={cn(\n 'bg-primary/10 text-primary font-bold border-b border-primary/20',\n canSort && 'cursor-pointer select-none hover:bg-primary/20 transition-colors',\n )}\n onClick={canSort ? handleSort : undefined}\n >\n {header.isPlaceholder ? null : (\n <span className='inline-flex items-center gap-1'>\n <span className={cn(isSorted && 'font-semibold')}>\n {flexRender(header.column.columnDef.header, header.getContext())}\n </span>\n {/* Only show sort indicator when column is actively sorted */}\n {isSorted && (\n <span className='inline-flex items-center text-xs'>\n {sortDirection === 'asc' ? (\n <ChevronUp className='h-3.5 w-3.5' />\n ) : (\n <ChevronDown className='h-3.5 w-3.5' />\n )}\n {enableMultiSort && sortIndex !== undefined && sortIndex >= 0 && (\n <span className='text-[10px] ml-0.5'>{sortIndex + 1}</span>\n )}\n </span>\n )}\n </span>\n )}\n </TableHead>\n );\n}\n\n// =============================================================================\n// DataTable Props\n// =============================================================================\n\n/**\n * DataTableProps\n * DataTableのプロップス\n *\n * ## AI/Automation Features\n * - `testId`: Container element\n * - Pattern: `{testId}`, rows: `{testId}-row-{id}`, pagination: `{testId}-pagination`\n */\nexport interface DataTableProps<TData extends object, TValue> {\n /** AI/E2E Test用の安定ID / Stable test identifier */\n testId?: string;\n /** 列定義 / Column definitions */\n columns: ColumnDef<TData, TValue>[];\n /** データ配列 / Data array */\n data: TData[];\n /** テーブルレイアウトのバリアント / Table layout variant */\n variant?: DataTableVariant;\n /** ツールバー用カスタムフィルターコンテンツ / Custom filter content for toolbar */\n filterContent?: React.ReactNode;\n /** 設定永続化用キー(Zustandストアで使用) / Storage key for persisting settings */\n storageKey?: string;\n /** 全カラムをデフォルトでソート可能にする / Enable sorting on all columns by default */\n enableSortingByDefault?: boolean;\n /** 複数カラムソートを有効化 / Enable multi-column sorting */\n enableMultiSort?: boolean;\n /** 行番号カラムを表示 / Show row number column */\n showRowNumber?: boolean;\n /** アイテム総数(表示用) / Total item count for display */\n itemCount?: number;\n /** 追加ボタンのコールバック / Callback for floating add button */\n onAdd?: () => void;\n /** 総ページ数(手動ページネーション時) / Total page count for manual pagination */\n pageCount?: number;\n /** 総行数(手動ページネーション時) / Total row count for manual pagination */\n rowCount?: number;\n /**\n * ページ変更時のコールバック / Pagination change callback\n * 操作による変更要求時に通知。初期マウント・props同期では通知しません。\n */\n onPaginationChange?: (pagination: { pageIndex: number; pageSize: number }) => void;\n /** ソートの変更要求時のコールバック(初期マウント・props同期では通知しない) / Requested sorting change */\n onSortingChange?: (sorting: SortingState) => void;\n /** フィルタ変更時のコールバック / Filter change callback */\n onColumnFiltersChange?: (filters: ColumnFiltersState) => void;\n /** 行クリック時のコールバック / Row click callback */\n onRowClick?: (rowId: string | number) => void;\n /** 選択変更時のコールバック / Selection change callback */\n onSelectionChange?: (selectedRows: TData[]) => void;\n /** 行ID用フィールド名 / Row ID field name */\n rowIdField?: string;\n /** サーバーサイドページネーション / Server-side pagination */\n manualPagination?: boolean;\n /** サーバーサイドソート / Server-side sorting */\n manualSorting?: boolean;\n /** サーバーサイドフィルタ / Server-side filtering */\n manualFiltering?: boolean;\n /** フィルタ対象カラム / Filter column name */\n filterColumn?: string;\n /** ページサイズのオプション / Page size options */\n pageSizeOptions?: number[];\n /** ソート推移のオプション(外部制御用) / Sorting state for controlled mode */\n sorting?: SortingState;\n /**\n * 現在のページネーション(外部制御用) / Pagination state for controlled mode\n * 指定時はページ自動リセット(autoResetPageIndex)を無効化します。\n */\n pagination?: PaginationState;\n /** 列の並べ替え有効化 / Enable column reordering */\n enableColumnOrdering?: boolean;\n /** コンテナのクラス名 / Container class name */\n containerClassName?: string;\n /** テーブルのクラス名 / Table class name */\n tableClassName?: string;\n /** フィルターのレイアウトモード / Filter layout mode */\n filterLayout?: 'inline' | 'panel';\n /** フィルターパネルの初期開閉状態 / Default open state of the filter panel */\n defaultFilterOpen?: boolean;\n /** アクティブフィルター表示用のコンテンツ / Custom active filters component or node */\n activeFiltersContent?: React.ReactNode;\n}\n\n// =============================================================================\n// DataTable Component\n// =============================================================================\n\n/**\n * データテーブルコンポーネント\n *\n * ソート、フィルタ、ページネーション、行選択、列並べ替えに対応した\n * 高機能なデータテーブル。TanStack Table を使用。\n *\n * ## 制御モード (Controlled Mode)\n * `sorting` と `pagination` プロップスを渡すことで、外部状態からテーブルを制御できます。\n * これにより、サーバーサイドソートとクライアントサイドページネーションといった\n * 柔軟な組み合わせが、共有ライブラリ側のロジックを変更せずに実現可能です。\n *\n * 補足:\n * - `pagination` を指定した場合、`manualPagination` が false でも `onPaginationChange` を通知します。\n * - `pagination` 指定時はデータ更新時の `pageIndex` 自動リセットを無効化します。\n *\n * @example 基本的な使い方 (Uncontrolled)\n * ```tsx\n * <DataTable columns={columns} data={data} />\n * ```\n *\n * @example 外部状態によるソート制御 (Controlled Sorting)\n * ```tsx\n * const [sorting, setSorting] = useState<SortingState>([]);\n * <DataTable\n * columns={columns}\n * data={data}\n * sorting={sorting}\n * onSortingChange={setSorting}\n * manualSorting={true}\n * />\n * ```\n */\nexport function DataTable<TData extends object, TValue>({\n columns,\n data,\n variant = 'default',\n filterContent,\n storageKey,\n enableSortingByDefault = true,\n enableMultiSort = false,\n showRowNumber = false,\n itemCount,\n onAdd,\n pageCount,\n rowCount,\n onPaginationChange,\n onSortingChange,\n onColumnFiltersChange,\n onRowClick,\n onSelectionChange,\n rowIdField = 'id',\n manualPagination = false,\n manualSorting = false,\n manualFiltering = false,\n filterColumn,\n sorting: controlledSorting,\n pagination: controlledPagination,\n enableColumnOrdering = true,\n containerClassName,\n tableClassName,\n pageSizeOptions = [10, 20, 30, 50, 100],\n filterLayout = 'inline',\n defaultFilterOpen = false,\n activeFiltersContent,\n}: DataTableProps<TData, TValue>) {\n 'use no memo';\n\n // Get persisted settings from store (must be called before any early returns)\n const getTableSettings = useDataTableStore((state) => state.getTableSettings);\n const setTableSettings = useDataTableStore((state) => state.setTableSettings);\n const hasHydrated = useDataTableStore((state) => state._hasHydrated);\n\n // SSR safety: Only render on client\n // useSyncExternalStore ensures we have a consistent value during hydration\n const mounted = React.useSyncExternalStore(\n React.useCallback(() => () => {}, []),\n () => true,\n () => false,\n );\n const [filterOpen, setFilterOpen] = React.useState(defaultFilterOpen);\n\n // Initialize state with default values (SSR-safe)\n const [localSorting, setLocalSorting] = React.useState<SortingState>(controlledSorting || []);\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({});\n const [rowSelection, setRowSelection] = React.useState({});\n const [localPagination, setLocalPagination] = React.useState<PaginationState>(\n controlledPagination || {\n pageIndex: 0,\n pageSize: 10,\n },\n );\n const [columnOrder, setColumnOrder] = React.useState<ColumnOrderState>(\n columns.map((c) => c.id || ((c as { accessorKey?: string }).accessorKey as string)),\n );\n const isPaginationControlled = controlledPagination !== undefined;\n const sorting = controlledSorting ?? localSorting;\n const pagination = controlledPagination ?? localPagination;\n const setSorting: React.Dispatch<React.SetStateAction<SortingState>> = (updater) => {\n const next = typeof updater === 'function' ? updater(sorting) : updater;\n if (controlledSorting === undefined) setLocalSorting(next);\n onSortingChange?.(next);\n };\n const setPagination: React.Dispatch<React.SetStateAction<PaginationState>> = (updater) => {\n const next = typeof updater === 'function' ? updater(pagination) : updater;\n if (controlledPagination === undefined) setLocalPagination(next);\n onPaginationChange?.(next);\n };\n const [settingsLoaded, setSettingsLoaded] = React.useState<string | null>(null);\n const columnIdListKey = React.useMemo(\n () => columns.map((c) => c.id || (c as { accessorKey?: string }).accessorKey || '').join('|'),\n [columns],\n );\n const validColumnIds = React.useMemo(\n () => new Set(columnIdListKey.split('|').filter(Boolean)),\n [columnIdListKey],\n );\n\n // Guarded render-time hydration, avoiding a stale-state effect render.\n const loadKey = storageKey ? JSON.stringify([storageKey, columnIdListKey, Boolean(controlledSorting), Boolean(controlledPagination)]) : null;\n if (hasHydrated && storageKey && settingsLoaded !== loadKey) {\n setSettingsLoaded(loadKey);\n const storedSettings = getTableSettings(storageKey);\n if (storedSettings) {\n if (!controlledSorting && storedSettings.sorting && storedSettings.sorting.length > 0) {\n // Filter out sorting for columns that no longer exist\n const validSorting = storedSettings.sorting.filter((s) => validColumnIds.has(s.id));\n if (validSorting.length > 0) {\n setLocalSorting(validSorting);\n }\n }\n if (\n storedSettings.columnVisibility &&\n Object.keys(storedSettings.columnVisibility).length > 0\n ) {\n // Filter out visibility for columns that no longer exist\n const validVisibility: Record<string, boolean> = {};\n for (const [key, value] of Object.entries(storedSettings.columnVisibility)) {\n if (validColumnIds.has(key)) {\n validVisibility[key] = value;\n }\n }\n if (Object.keys(validVisibility).length > 0) {\n setColumnVisibility(validVisibility);\n }\n }\n if (!controlledPagination && storedSettings.pageSize && storedSettings.pageSize !== 10) {\n setLocalPagination((prev) => ({ ...prev, pageSize: storedSettings.pageSize }));\n }\n if (storedSettings.columnOrder && storedSettings.columnOrder.length > 0) {\n // Filter out columns that no longer exist and add new columns\n const validStoredOrder = storedSettings.columnOrder.filter((id) => validColumnIds.has(id));\n const storedOrderSet = new Set(validStoredOrder);\n const newColumns = Array.from(validColumnIds).filter((id) => !storedOrderSet.has(id));\n const mergedOrder = [...validStoredOrder, ...newColumns];\n if (mergedOrder.length > 0) {\n setColumnOrder(mergedOrder);\n }\n }\n }\n }\n\n // Row number column definition (MUST be called before early return)\n const rowNumberColumn: ColumnDef<TData, TValue> = React.useMemo(\n () => ({\n id: 'rowNumber',\n header: 'No',\n enableSorting: false,\n cell: ({ row, table: tableInstance }) => {\n const paginationState = tableInstance.store.state.pagination;\n if (paginationState) {\n return paginationState.pageIndex * paginationState.pageSize + row.index + 1;\n }\n return row.index + 1;\n },\n }),\n [],\n );\n\n // Add row number column if requested (MUST be called before early return)\n const columnsWithRowNumber = React.useMemo(() => {\n const cols = showRowNumber ? [rowNumberColumn, ...columns] : columns;\n // Apply enableSortingByDefault to all columns that don't explicitly disable sorting\n if (enableSortingByDefault) {\n return cols.map((col) => ({\n ...col,\n enableSorting: col.enableSorting !== false,\n }));\n }\n return cols;\n }, [showRowNumber, columns, rowNumberColumn, enableSortingByDefault]);\n\n // Helper to extract nested ID safely (MUST be called before early return)\n const getRowId = React.useCallback(\n (originalRow: TData) => {\n if (!rowIdField) return undefined;\n // Simple dot notation support for id field\n\n return rowIdField.split('_').reduce<unknown>((obj, key) => {\n if (\n obj &&\n typeof obj === 'object' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n Object.prototype.hasOwnProperty.call(obj, key)\n ) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, originalRow as unknown);\n },\n [rowIdField],\n );\n\n // Persist settings to store (MUST be called before early return)\n React.useEffect(() => {\n if (storageKey && hasHydrated && settingsLoaded === loadKey) {\n setTableSettings(storageKey, {\n columnOrder,\n columnVisibility,\n sorting,\n pageSize: pagination.pageSize,\n });\n }\n }, [storageKey, columnOrder, columnVisibility, sorting, pagination.pageSize, setTableSettings, hasHydrated, settingsLoaded, loadKey]);\n\n React.useEffect(() => {\n if (manualFiltering && onColumnFiltersChange) {\n onColumnFiltersChange(columnFilters);\n }\n }, [columnFilters, manualFiltering, onColumnFiltersChange]);\n\n // Create table instance (MUST be called before early return)\n const table = useTable({\n features: dataTableFeatures,\n data,\n // Table 9 erases heterogeneous cell values to unknown at the table boundary.\n columns: columnsWithRowNumber as ColumnDef<TData>[],\n pageCount: manualPagination ? pageCount : undefined,\n rowCount: manualPagination ? rowCount : undefined,\n getRowId: rowIdField\n ? (originalRow, index) => {\n const id = rowIdField.split('_').reduce<unknown>((obj, key) => {\n if (obj && typeof obj === 'object' && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, originalRow as unknown);\n return id !== undefined ? String(id) : String(index);\n }\n : undefined,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n pagination,\n columnOrder,\n },\n enableRowSelection: true,\n enableMultiSort,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n onColumnOrderChange: setColumnOrder,\n autoResetPageIndex: manualPagination || isPaginationControlled ? false : undefined,\n manualPagination,\n manualSorting,\n manualFiltering,\n });\n\n // Sync selection to parent (MUST be called before early return)\n React.useEffect(() => {\n if (onSelectionChange) {\n const selectedRows = table.getFilteredSelectedRowModel().rows.map((row) => row.original);\n onSelectionChange(selectedRows);\n }\n }, [rowSelection, table, onSelectionChange]);\n\n // DnD Sensors (MUST be called before early return)\n const sensors = useSensors(\n useSensor(PointerSensor, {\n activationConstraint: {\n distance: 8,\n },\n }),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates,\n }),\n );\n\n // Handle drag end callback (MUST be defined before early return)\n const handleDragEnd = React.useCallback((event: DragEndEvent) => {\n const { active, over } = event;\n if (active && over && active.id !== over.id) {\n setColumnOrder((order) => {\n const oldIndex = order.indexOf(active.id as string);\n const newIndex = order.indexOf(over.id as string);\n return arrayMove(order, oldIndex, newIndex);\n });\n }\n }, []);\n\n // Get sort index for multi-sort display (MUST be called before early return)\n const getSortIndex = React.useCallback(\n (columnId: string): number => {\n return sorting.findIndex((s) => s.id === columnId);\n },\n [sorting],\n );\n\n // Render table content (MUST be called before early return)\n const renderTable = React.useCallback(\n () => (\n <DndContext sensors={sensors} collisionDetection={closestCenter} onDragEnd={handleDragEnd}>\n <div className={cn('rounded-md border', tableClassName)}>\n <Table>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <SortableContext\n key={headerGroup.id}\n items={columnOrder}\n strategy={horizontalListSortingStrategy}\n >\n <TableRow>\n {headerGroup.headers.map((header) => (\n <DataTableColumnHeader\n key={header.id}\n header={header}\n enableColumnOrdering={enableColumnOrdering}\n enableMultiSort={enableMultiSort}\n sortIndex={getSortIndex(header.column.id)}\n />\n ))}\n </TableRow>\n </SortableContext>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && 'selected'}\n onClick={() =>\n onRowClick && onRowClick(getRowId(row.original) as string | number)\n }\n className={onRowClick ? 'cursor-pointer hover:bg-muted/50' : undefined}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columnsWithRowNumber.length} className='h-24 text-center'>\n {m.dataTable_noResults()}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n </DndContext>\n ),\n [\n sensors,\n handleDragEnd,\n table,\n columnsWithRowNumber,\n columnOrder,\n enableColumnOrdering,\n enableMultiSort,\n getSortIndex,\n onRowClick,\n getRowId,\n tableClassName,\n ],\n );\n\n // Render loading table during SSR - simple version to avoid hydration issues\n const renderLoadingTable = () => (\n <div className={cn('rounded-md border', tableClassName)}>\n <Table>\n <TableBody>\n <TableRow>\n <TableCell className='h-24 text-center'>\n <div className='text-muted-foreground'>Loading...</div>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </div>\n );\n\n // Variant: minimal - just table with pagination\n if (variant === 'minimal') {\n return (\n <div className={cn('space-y-4', containerClassName)}>\n {mounted ? renderTable() : renderLoadingTable()}\n <DataTablePagination table={table} pageSizeOptions={pageSizeOptions} />\n </div>\n );\n }\n\n // Variant: toolbar - setagaya-front style with toolbar above table\n if (variant === 'toolbar') {\n return (\n <div className={cn('relative h-full', containerClassName)}>\n {onAdd && (\n <div className='absolute left-0 top-0 w-full h-full z-10 pointer-events-none'>\n <div className='fixed right-4 bottom-10 pointer-events-auto'>\n <Button\n type='button'\n size='icon'\n onClick={onAdd}\n className='w-12 h-12 rounded-full shadow-lg'\n >\n <Plus className='w-6 h-6' />\n </Button>\n </div>\n </div>\n )}\n <div className='relative h-full flex flex-col'>\n {/* Toolbar */}\n <div className='bg-muted p-2 rounded-t-md grid grid-cols-1 sm:grid-cols-[1fr_minmax(0,auto)_1fr] items-center gap-2'>\n {/* Center: Column settings + filter content */}\n <div className='flex flex-wrap justify-center items-center gap-2 sm:col-start-2 sm:col-end-3'>\n <DataTableViewOptions table={table} />\n {filterContent && filterLayout === 'inline' && filterContent}\n {filterContent && filterLayout === 'panel' && (\n <Button\n type='button'\n variant={filterOpen ? 'default' : 'outline'}\n size='sm'\n onClick={() => setFilterOpen(!filterOpen)}\n className='h-8 gap-1.5'\n >\n <FilterIcon className='h-4 w-4' />\n <span>フィルター</span>\n </Button>\n )}\n </div>\n {/* Right: Pagination + count */}\n <div className='flex items-center gap-3 justify-center sm:justify-end sm:col-start-3 sm:col-end-4'>\n <DataTablePaginationCompact table={table} pageSizeOptions={pageSizeOptions} />\n {typeof itemCount === 'number' && (\n <span className='text-sm text-muted-foreground whitespace-nowrap'>\n {`${itemCount.toLocaleString()} ${m.dataTable_items()}`}\n </span>\n )}\n </div>\n </div>\n {/* Filter Panel (Collapsible) */}\n {filterContent && filterLayout === 'panel' && (\n <div\n className={cn(\n 'border-b transition-all duration-200 ease-in-out overflow-hidden bg-background',\n filterOpen ? 'max-h-[500px] p-4' : 'max-h-0 p-0 border-none',\n )}\n >\n {filterContent}\n </div>\n )}\n {/* Active Filters Display */}\n {activeFiltersContent && (\n <div className='bg-background px-4 py-1.5 border-b'>{activeFiltersContent}</div>\n )}\n {/* Table */}\n <div className='flex-1 overflow-auto'>\n {mounted ? renderTable() : renderLoadingTable()}\n </div>\n </div>\n </div>\n );\n }\n\n // Variant: default - current behavior\n return (\n <div className={cn('space-y-4', containerClassName)}>\n <div className='flex items-center justify-between'>\n <div className='flex items-center py-4'>\n {filterColumn && (\n <Input\n placeholder={m.dataTable_filterPlaceholder({ column: filterColumn })}\n value={(table.getColumn(filterColumn)?.getFilterValue() as string) ?? ''}\n onChange={(event) =>\n table.getColumn(filterColumn)?.setFilterValue(event.target.value)\n }\n className='max-w-sm'\n />\n )}\n </div>\n <DataTableViewOptions table={table} />\n </div>\n {activeFiltersContent && (\n <div className='border rounded-md bg-background px-3 py-1'>{activeFiltersContent}</div>\n )}\n {mounted ? renderTable() : renderLoadingTable()}\n <DataTablePagination table={table} pageSizeOptions={pageSizeOptions} />\n {onAdd && (\n <div className='fixed right-4 bottom-10 z-10'>\n <Button\n type='button'\n size='icon'\n onClick={onAdd}\n className='w-12 h-12 rounded-full shadow-lg'\n >\n <Plus className='w-6 h-6' />\n </Button>\n </div>\n )}\n </div>\n );\n}\n\n// =============================================================================\n// View Options Component\n// =============================================================================\n\ninterface DataTableViewOptionsProps<TData extends object> {\n table: TableInstance<TData>;\n}\n\n/**\n * テーブルの表示列を切り替える設定ドロップダウンメニューコンポーネント\n */\nexport function DataTableViewOptions<TData extends object>({ table }: DataTableViewOptionsProps<TData>) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={buttonVariants({ variant: 'default', size: 'sm', className: 'h-8' })}\n >\n <Settings2 className='mr-2 h-4 w-4' />\n {m.dataTable_view()}\n </DropdownMenuTrigger>\n <DropdownMenuContent align='end' className='w-40'>\n <DropdownMenuGroup>\n <DropdownMenuLabel>{m.dataTable_toggleColumns()}</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className='capitalize'\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(!!value)}\n >\n {typeof column.columnDef.header === 'string'\n ? column.columnDef.header\n : column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n// =============================================================================\n// Pagination Component (Full)\n// =============================================================================\n\ninterface DataTablePaginationProps<TData extends object> {\n table: TableInstance<TData>;\n pageSizeOptions?: number[];\n}\n\n/**\n * テーブルの標準的なページネーションコントロールコンポーネント\n */\nexport function DataTablePagination<TData extends object>({\n table,\n pageSizeOptions = [10, 20, 30, 50, 100],\n}: DataTablePaginationProps<TData>) {\n return (\n <div className='flex items-center justify-between px-2'>\n <div className='flex-1 text-sm text-muted-foreground'>\n {m.dataTable_rowsSelected({\n selected: table.getFilteredSelectedRowModel().rows.length,\n total: table.getFilteredRowModel().rows.length,\n })}\n </div>\n <div className='flex items-center space-x-6 lg:space-x-8'>\n <div className='flex items-center space-x-2'>\n <p className='text-sm font-medium'>{m.dataTable_rowsPerPage()}</p>\n <select\n aria-label={m.dataTable_rowsPerPage()}\n value={`${table.store.state.pagination.pageSize}`}\n onChange={(e) => {\n table.setPageSize(Number(e.target.value));\n }}\n className='h-8 w-fit min-w-16 rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2'\n >\n {pageSizeOptions.map((pageSize) => (\n <option key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </option>\n ))}\n </select>\n </div>\n <div className='flex w-24 items-center justify-center text-sm font-medium'>\n {m.dataTable_page({\n current: table.store.state.pagination.pageIndex + 1,\n total: table.getPageCount(),\n })}\n </div>\n <div className='flex items-center space-x-2'>\n <Button\n variant='default'\n size='icon'\n className='hidden h-8 w-8 lg:flex hover:bg-primary/90'\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n >\n <span className='sr-only'>{m.dataTable_goToFirstPage()}</span>\n <ChevronsLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <span className='sr-only'>{m.dataTable_goToPreviousPage()}</span>\n <ChevronLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <span className='sr-only'>{m.dataTable_goToNextPage()}</span>\n <ChevronRight className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='hidden h-8 w-8 lg:flex hover:bg-primary/90'\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\n disabled={!table.getCanNextPage()}\n >\n <span className='sr-only'>{m.dataTable_goToLastPage()}</span>\n <ChevronsRight className='h-4 w-4' />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n// =============================================================================\n// Pagination Component (Compact - for toolbar variant)\n// =============================================================================\n\ninterface DataTablePaginationCompactProps<TData extends object> {\n table: TableInstance<TData>;\n pageSizeOptions?: number[];\n}\n\n/**\n * ツールバー等に配置するコンパクトなページネーションコントロールコンポーネント\n */\nexport function DataTablePaginationCompact<TData extends object>({\n table,\n pageSizeOptions = [10, 20, 30, 50, 100],\n}: DataTablePaginationCompactProps<TData>) {\n const totalPages = table.getPageCount();\n\n return (\n <div className='flex items-center gap-1'>\n <select\n aria-label={m.dataTable_rowsPerPage()}\n value={`${table.store.state.pagination.pageSize}`}\n onChange={(e) => {\n table.setPageSize(Number(e.target.value));\n }}\n className='h-8 w-fit min-w-16 rounded-md border border-input bg-background px-2 py-1 text-sm'\n >\n {pageSizeOptions.map((pageSize) => (\n <option key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </option>\n ))}\n </select>\n {totalPages > 1 && (\n <>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.setPageIndex(0)}\n disabled={table.store.state.pagination.pageIndex === 0}\n >\n <ChevronsLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronLeft className='h-4 w-4' />\n </Button>\n <span className='text-sm text-muted-foreground whitespace-nowrap px-1'>\n {table.store.state.pagination.pageIndex + 1} / {totalPages}\n </span>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <ChevronRight className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n onClick={() => table.setPageIndex(totalPages - 1)}\n disabled={table.store.state.pagination.pageIndex === totalPages - 1}\n >\n <ChevronsRight className='h-4 w-4' />\n </Button>\n </>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"data-table.js","names":["React","m.dataTable_noResults","FilterIcon","m.dataTable_items","m.dataTable_filterPlaceholder","m.dataTable_view","m.dataTable_toggleColumns","m.dataTable_rowsSelected","m.dataTable_rowsPerPage","m.dataTable_page","m.dataTable_goToFirstPage","m.dataTable_goToPreviousPage","m.dataTable_goToNextPage","m.dataTable_goToLastPage","_Fragment","datatable_filterplaceholder2","datatable_gotofirstpage4","datatable_gotolastpage4","datatable_gotonextpage4","datatable_gotopreviouspage4","datatable_items1","datatable_noresults2","datatable_page1","datatable_rowsperpage3","datatable_rowsselected2","datatable_togglecolumns2","datatable_view1","React$1","DataTableColumnHeader","canReorder","enableColumnOrdering","header","useSortable","sortableIndex","sortableGroup","registeredIds","closestCenter","canSort","sortDirection","isSorted","SortLabel","style","isDragging","TableHead","ref","cn","enableMultiSort","handleRef","GripVertical","event","flexRender","jsx","ChevronUp","ChevronDown","sortIndex","DataTable","controlledSorting","controlledPagination","getTableSettings","useDataTableStore","state","setTableSettings","hasHydrated","mounted","filterOpen","setFilterOpen","defaultFilterOpen","localSorting","setLocalSorting","columnFilters","setColumnFilters","columnVisibility","setColumnVisibility","rowSelection","setRowSelection","localPagination","setLocalPagination","columnOrder","setColumnOrder","getLeafColumnIds","columns","isPaginationControlled","sorting","pagination","setSorting","next","updater","onSortingChange","setPagination","onPaginationChange","settingsLoaded","setSettingsLoaded","columnIdListKey","showRowNumber","validColumnIds","loadKey","storageKey","storedSettings","validSorting","s","validVisibility","key","value","prev","validStoredOrder","id","storedOrderSet","newColumns","mergedOrder","rowNumberColumn","tableInstance","paginationState","row","columnsWithRowNumber","cols","enableSortingByDefault","col","getRowId","rowIdField","obj","originalRow","manualFiltering","onColumnFiltersChange","table","useTable","dataTableFeatures","manualPagination","pageCount","rowCount","index","onSelectionChange","dragSnapshot","handleDragStart","source","column","handleDragEnd","snapshot","target","isSortable","leafIds","group","reorderVisibleColumns","order","getSortIndex","columnId","renderTable","DragDropProvider","defaults","sensor","PointerSensor","PointerActivationConstraints","Feedback","tableClassName","Table","TableHeader","headerGroup","TableRow","TableBody","onRowClick","TableCell","cell","renderLoadingTable","variant","containerClassName","DataTablePagination","onAdd","Button","Plus","DataTableViewOptions","filterContent","filterLayout","Filter","DataTablePaginationCompact","itemCount","activeFiltersContent","filterColumn","Input","DropdownMenu","DropdownMenuTrigger","buttonVariants","Settings2","DropdownMenuContent","DropdownMenuGroup","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuCheckboxItem","e","pageSizeOptions","pageSize","ChevronsLeft","ChevronLeft","ChevronRight","ChevronsRight","totalPages","Fragment"],"sources":["../../../../src/tools/components/data-table/data-table.tsx"],"sourcesContent":["/**\n * @fileoverview DataTable component with sorting, pagination, and persistence\n *\n * A feature-rich data table built on TanStack Table with:\n * - Three layout variants: default, toolbar, minimal\n * - Single and multi-column sorting\n * - Column reordering via drag-and-drop\n * - Column visibility toggle\n * - Settings persistence via Zustand store\n * - Row selection and click handling\n * - Server-side pagination/sorting support\n *\n * @module data-table/data-table\n */\n\nimport * as React from 'react';\nimport {\n ColumnDef,\n ColumnFiltersState,\n SortingState,\n VisibilityState,\n ColumnOrderState,\n PaginationState,\n flexRender,\n useTable,\n dataTableFeatures,\n Table as TableInstance,\n Header,\n} from './table-engine';\nimport * as m from '../../paraglide/messages.js';\n\nimport { DragDropProvider, type DragStartEvent, type DragEndEvent } from '@dnd-kit/react';\nimport { useSortable, isSortable } from '@dnd-kit/react/sortable';\nimport { PointerSensor, PointerActivationConstraints, Feedback } from '@dnd-kit/dom';\nimport { closestCenter } from '@dnd-kit/collision';\nimport { reorderVisibleColumns, getLeafColumnIds } from './column-order';\n\nimport { cn } from \"../../lib/utils\";\nimport { Button, buttonVariants } from '../ui/button';\nimport { Input } from '../ui/input';\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../ui/table';\n\nimport {\n ChevronLeft,\n ChevronRight,\n ChevronsLeft,\n ChevronsRight,\n Settings2,\n GripVertical,\n Plus,\n ChevronUp,\n ChevronDown,\n Filter as FilterIcon,\n} from 'lucide-react';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuTrigger,\n DropdownMenuSeparator,\n DropdownMenuLabel,\n DropdownMenuGroup,\n} from '../ui/dropdown-menu';\n\nimport { useDataTableStore } from './table-store';\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * テーブルレイアウトのバリアント\n * Table layout variants\n */\nexport type DataTableVariant = 'default' | 'toolbar' | 'minimal';\n\n// =============================================================================\n// Sortable Header Component\n// =============================================================================\n\ninterface DataTableColumnHeaderProps<\n TData extends object,\n TValue,\n> extends React.HTMLAttributes<HTMLTableCellElement> {\n header: Header<TData, TValue>;\n enableColumnOrdering?: boolean;\n enableMultiSort?: boolean;\n sortIndex?: number;\n sortableIndex: number;\n sortableGroup: string;\n registeredIds: string[];\n}\n\nfunction DataTableColumnHeader<TData extends object, TValue>({\n header,\n enableColumnOrdering = true,\n enableMultiSort = false,\n sortIndex,\n sortableIndex, sortableGroup, registeredIds,\n}: DataTableColumnHeaderProps<TData, TValue>) {\n const canReorder = enableColumnOrdering && !header.isPlaceholder && header.column.columns.length === 0;\n const { ref, handleRef, isDragging } = useSortable({\n id: header.id,\n index: sortableIndex,\n group: sortableGroup,\n type: sortableGroup,\n accept: sortableGroup,\n data: {columnId: header.column.id, groupId: sortableGroup, columnIds: registeredIds},\n disabled: !canReorder,\n collisionDetector: closestCenter,\n });\n\n const canSort = header.column.getCanSort();\n const sortDirection = header.column.getIsSorted();\n const isSorted = sortDirection !== false;\n const SortLabel = canSort && typeof header.column.columnDef.header !== 'function' ? 'button' : 'span';\n\n const style: React.CSSProperties = enableColumnOrdering\n ? {\n opacity: isDragging ? 0.8 : 1,\n zIndex: isDragging ? 1 : 0,\n position: 'relative',\n cursor: 'move',\n }\n : {};\n\n const handleSort = (e: React.MouseEvent) => {\n if (!canSort || (e.target as HTMLElement).closest('button, input, select, [role=checkbox]')) return;\n if (enableMultiSort && e.shiftKey) {\n header.column.toggleSorting(undefined, true);\n } else {\n header.column.toggleSorting();\n }\n };\n\n return (\n <TableHead\n ref={canReorder ? ref : undefined}\n colSpan={header.colSpan}\n aria-hidden={header.isPlaceholder || undefined}\n style={style}\n aria-sort={canSort ? (sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none') : undefined}\n className={cn(\n 'bg-primary/10 text-primary font-bold border-b border-primary/20',\n canSort && 'cursor-pointer select-none hover:bg-primary/20 transition-colors',\n )}\n onClick={canSort ? handleSort : undefined}\n >\n {canReorder && <button\n type='button' ref={handleRef}\n aria-label={`Reorder column ${header.column.id}`}\n className='inline-flex h-6 w-6 items-center justify-center cursor-grab'\n ><GripVertical className='h-3 w-3' aria-hidden='true' /></button>}\n {header.isPlaceholder ? null : (\n <span className='inline-flex items-center gap-1'>\n <SortLabel className={cn(isSorted && 'font-semibold')}\n {...(SortLabel === 'button' ? { type: 'button' as const, onClick: (event: React.MouseEvent) => {\n event.stopPropagation();\n header.column.toggleSorting(undefined, enableMultiSort && event.shiftKey);\n } } : {})}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n </SortLabel>\n {/* Only show sort indicator when column is actively sorted */}\n {isSorted && (\n <span className='inline-flex items-center text-xs'>\n {sortDirection === 'asc' ? (\n <ChevronUp className='h-3.5 w-3.5' />\n ) : (\n <ChevronDown className='h-3.5 w-3.5' />\n )}\n {enableMultiSort && sortIndex !== undefined && sortIndex >= 0 && (\n <span className='text-[10px] ml-0.5'>{sortIndex + 1}</span>\n )}\n </span>\n )}\n </span>\n )}\n </TableHead>\n );\n}\n\n// =============================================================================\n// DataTable Props\n// =============================================================================\n\n/**\n * DataTableProps\n * DataTableのプロップス\n *\n * ## AI/Automation Features\n * - `testId`: Container element\n * - Pattern: `{testId}`, rows: `{testId}-row-{id}`, pagination: `{testId}-pagination`\n */\nexport interface DataTableProps<TData extends object, TValue> {\n /** AI/E2E Test用の安定ID / Stable test identifier */\n testId?: string;\n /** 列定義 / Column definitions */\n columns: ColumnDef<TData, TValue>[];\n /** データ配列 / Data array */\n data: TData[];\n /** テーブルレイアウトのバリアント / Table layout variant */\n variant?: DataTableVariant;\n /** ツールバー用カスタムフィルターコンテンツ / Custom filter content for toolbar */\n filterContent?: React.ReactNode;\n /** 設定永続化用キー(Zustandストアで使用) / Storage key for persisting settings */\n storageKey?: string;\n /** 全カラムをデフォルトでソート可能にする / Enable sorting on all columns by default */\n enableSortingByDefault?: boolean;\n /** 複数カラムソートを有効化 / Enable multi-column sorting */\n enableMultiSort?: boolean;\n /** 行番号カラムを表示 / Show row number column */\n showRowNumber?: boolean;\n /** アイテム総数(表示用) / Total item count for display */\n itemCount?: number;\n /** 追加ボタンのコールバック / Callback for floating add button */\n onAdd?: () => void;\n /** 総ページ数(手動ページネーション時) / Total page count for manual pagination */\n pageCount?: number;\n /** 総行数(手動ページネーション時) / Total row count for manual pagination */\n rowCount?: number;\n /**\n * ページ変更時のコールバック / Pagination change callback\n * 操作による変更要求時に通知。初期マウント・props同期では通知しません。\n */\n onPaginationChange?: (pagination: { pageIndex: number; pageSize: number }) => void;\n /** ソートの変更要求時のコールバック(初期マウント・props同期では通知しない) / Requested sorting change */\n onSortingChange?: (sorting: SortingState) => void;\n /** フィルタ変更時のコールバック / Filter change callback */\n onColumnFiltersChange?: (filters: ColumnFiltersState) => void;\n /** 行クリック時のコールバック / Row click callback */\n onRowClick?: (rowId: string | number) => void;\n /** 選択変更時のコールバック / Selection change callback */\n onSelectionChange?: (selectedRows: TData[]) => void;\n /** 行ID用フィールド名 / Row ID field name */\n rowIdField?: string;\n /** サーバーサイドページネーション / Server-side pagination */\n manualPagination?: boolean;\n /** サーバーサイドソート / Server-side sorting */\n manualSorting?: boolean;\n /** サーバーサイドフィルタ / Server-side filtering */\n manualFiltering?: boolean;\n /** フィルタ対象カラム / Filter column name */\n filterColumn?: string;\n /** ページサイズのオプション / Page size options */\n pageSizeOptions?: number[];\n /** ソート推移のオプション(外部制御用) / Sorting state for controlled mode */\n sorting?: SortingState;\n /**\n * 現在のページネーション(外部制御用) / Pagination state for controlled mode\n * 指定時はページ自動リセット(autoResetPageIndex)を無効化します。\n */\n pagination?: PaginationState;\n /** 列の並べ替え有効化 / Enable column reordering */\n enableColumnOrdering?: boolean;\n /** コンテナのクラス名 / Container class name */\n containerClassName?: string;\n /** テーブルのクラス名 / Table class name */\n tableClassName?: string;\n /** フィルターのレイアウトモード / Filter layout mode */\n filterLayout?: 'inline' | 'panel';\n /** フィルターパネルの初期開閉状態 / Default open state of the filter panel */\n defaultFilterOpen?: boolean;\n /** アクティブフィルター表示用のコンテンツ / Custom active filters component or node */\n activeFiltersContent?: React.ReactNode;\n}\n\n// =============================================================================\n// DataTable Component\n// =============================================================================\n\n/**\n * Render a sortable/filterable table with host-controlled or local state.\n * @typeParam TData - Object shape of each data row.\n * @typeParam TValue - Column cell-value type shared by the supplied column definitions.\n * @param props - Columns, data, presentation and feature/state options. Native leaf\n * reordering is enabled by default; sort and reorder buttons remain separate.\n * @returns The table with its configured toolbar, pagination and interaction surfaces.\n * @remarks Hidden/grouped columns retain stable persisted slots; changing current\n * columns or visibility invalidates an active reorder snapshot. Controlled sorting\n * and pagination remain host-owned. Supplying pagination notifies onPaginationChange\n * even without manualPagination and disables automatic page-index reset on data updates.\n * Import Appkit CSS once; this component owns its native drag provider.\n * @example\n * ```tsx\n * import {DataTable} from '@alneas/appkit-react/tools/data-table';\n * import '@alneas/appkit-react/styles';\n * export function ReviewTable() {\n * return <DataTable data={[{id: 'one', title: 'Review'}]}\n * columns={[{accessorKey: 'title', header: 'Title'}]} />;\n * }\n * ```\n */\nexport function DataTable<TData extends object, TValue>({\n columns,\n data,\n variant = 'default',\n filterContent,\n storageKey,\n enableSortingByDefault = true,\n enableMultiSort = false,\n showRowNumber = false,\n itemCount,\n onAdd,\n pageCount,\n rowCount,\n onPaginationChange,\n onSortingChange,\n onColumnFiltersChange,\n onRowClick,\n onSelectionChange,\n rowIdField = 'id',\n manualPagination = false,\n manualSorting = false,\n manualFiltering = false,\n filterColumn,\n sorting: controlledSorting,\n pagination: controlledPagination,\n enableColumnOrdering = true,\n containerClassName,\n tableClassName,\n pageSizeOptions = [10, 20, 30, 50, 100],\n filterLayout = 'inline',\n defaultFilterOpen = false,\n activeFiltersContent,\n}: DataTableProps<TData, TValue>) {\n 'use no memo';\n\n // Get persisted settings from store (must be called before any early returns)\n const getTableSettings = useDataTableStore((state) => state.getTableSettings);\n const setTableSettings = useDataTableStore((state) => state.setTableSettings);\n const hasHydrated = useDataTableStore((state) => state._hasHydrated);\n\n // SSR safety: Only render on client\n // useSyncExternalStore ensures we have a consistent value during hydration\n const mounted = React.useSyncExternalStore(\n React.useCallback(() => () => {}, []),\n () => true,\n () => false,\n );\n const [filterOpen, setFilterOpen] = React.useState(defaultFilterOpen);\n\n // Initialize state with default values (SSR-safe)\n const [localSorting, setLocalSorting] = React.useState<SortingState>(controlledSorting || []);\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([]);\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({});\n const [rowSelection, setRowSelection] = React.useState({});\n const [localPagination, setLocalPagination] = React.useState<PaginationState>(\n controlledPagination || {\n pageIndex: 0,\n pageSize: 10,\n },\n );\n const [columnOrder, setColumnOrder] = React.useState<ColumnOrderState>(\n getLeafColumnIds(columns),\n );\n const isPaginationControlled = controlledPagination !== undefined;\n const sorting = controlledSorting ?? localSorting;\n const pagination = controlledPagination ?? localPagination;\n const setSorting: React.Dispatch<React.SetStateAction<SortingState>> = (updater) => {\n const next = typeof updater === 'function' ? updater(sorting) : updater;\n if (controlledSorting === undefined) setLocalSorting(next);\n onSortingChange?.(next);\n };\n const setPagination: React.Dispatch<React.SetStateAction<PaginationState>> = (updater) => {\n const next = typeof updater === 'function' ? updater(pagination) : updater;\n if (controlledPagination === undefined) setLocalPagination(next);\n onPaginationChange?.(next);\n };\n const [settingsLoaded, setSettingsLoaded] = React.useState<string | null>(null);\n const columnIdListKey = React.useMemo(\n () => JSON.stringify([...(showRowNumber ? ['rowNumber'] : []), ...getLeafColumnIds(columns)]),\n [columns, showRowNumber],\n );\n const validColumnIds = React.useMemo(\n () => new Set<string>(JSON.parse(columnIdListKey)),\n [columnIdListKey],\n );\n\n // Guarded render-time hydration, avoiding a stale-state effect render.\n const loadKey = storageKey ? JSON.stringify([storageKey, columnIdListKey, Boolean(controlledSorting), Boolean(controlledPagination)]) : null;\n if (hasHydrated && storageKey && settingsLoaded !== loadKey) {\n setSettingsLoaded(loadKey);\n const storedSettings = getTableSettings(storageKey);\n if (storedSettings) {\n if (!controlledSorting && storedSettings.sorting && storedSettings.sorting.length > 0) {\n // Filter out sorting for columns that no longer exist\n const validSorting = storedSettings.sorting.filter((s) => validColumnIds.has(s.id));\n if (validSorting.length > 0) {\n setLocalSorting(validSorting);\n }\n }\n if (\n storedSettings.columnVisibility &&\n Object.keys(storedSettings.columnVisibility).length > 0\n ) {\n // Filter out visibility for columns that no longer exist\n const validVisibility: Record<string, boolean> = {};\n for (const [key, value] of Object.entries(storedSettings.columnVisibility)) {\n if (validColumnIds.has(key)) {\n validVisibility[key] = value;\n }\n }\n if (Object.keys(validVisibility).length > 0) {\n setColumnVisibility(validVisibility);\n }\n }\n if (!controlledPagination && storedSettings.pageSize && storedSettings.pageSize !== 10) {\n setLocalPagination((prev) => ({ ...prev, pageSize: storedSettings.pageSize }));\n }\n if (storedSettings.columnOrder && storedSettings.columnOrder.length > 0) {\n // Filter out columns that no longer exist and add new columns\n const validStoredOrder = storedSettings.columnOrder.filter((id) => validColumnIds.has(id));\n const storedOrderSet = new Set(validStoredOrder);\n const newColumns = Array.from(validColumnIds).filter((id) => !storedOrderSet.has(id));\n const mergedOrder = [...validStoredOrder, ...newColumns];\n if (mergedOrder.length > 0) {\n setColumnOrder(mergedOrder);\n }\n }\n }\n }\n\n // Row number column definition (MUST be called before early return)\n const rowNumberColumn: ColumnDef<TData, TValue> = React.useMemo(\n () => ({\n id: 'rowNumber',\n header: 'No',\n enableSorting: false,\n cell: ({ row, table: tableInstance }) => {\n const paginationState = tableInstance.store.state.pagination;\n if (paginationState) {\n return paginationState.pageIndex * paginationState.pageSize + row.index + 1;\n }\n return row.index + 1;\n },\n }),\n [],\n );\n\n // Add row number column if requested (MUST be called before early return)\n const columnsWithRowNumber = React.useMemo(() => {\n const cols = showRowNumber ? [rowNumberColumn, ...columns] : columns;\n // Apply enableSortingByDefault to all columns that don't explicitly disable sorting\n if (enableSortingByDefault) {\n return cols.map((col) => ({\n ...col,\n enableSorting: col.enableSorting !== false,\n }));\n }\n return cols;\n }, [showRowNumber, columns, rowNumberColumn, enableSortingByDefault]);\n\n // Helper to extract nested ID safely (MUST be called before early return)\n const getRowId = React.useCallback(\n (originalRow: TData) => {\n if (!rowIdField) return undefined;\n // Simple dot notation support for id field\n\n return rowIdField.split('_').reduce<unknown>((obj, key) => {\n if (\n obj &&\n typeof obj === 'object' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n Object.prototype.hasOwnProperty.call(obj, key)\n ) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, originalRow as unknown);\n },\n [rowIdField],\n );\n\n // Persist settings to store (MUST be called before early return)\n React.useEffect(() => {\n if (storageKey && hasHydrated && settingsLoaded === loadKey) {\n setTableSettings(storageKey, {\n columnOrder,\n columnVisibility,\n sorting,\n pageSize: pagination.pageSize,\n });\n }\n }, [storageKey, columnOrder, columnVisibility, sorting, pagination.pageSize, setTableSettings, hasHydrated, settingsLoaded, loadKey]);\n\n React.useEffect(() => {\n if (manualFiltering && onColumnFiltersChange) {\n onColumnFiltersChange(columnFilters);\n }\n }, [columnFilters, manualFiltering, onColumnFiltersChange]);\n\n // Create table instance (MUST be called before early return)\n const table = useTable({\n features: dataTableFeatures,\n data,\n // Table 9 erases heterogeneous cell values to unknown at the table boundary.\n columns: columnsWithRowNumber as ColumnDef<TData>[],\n pageCount: manualPagination ? pageCount : undefined,\n rowCount: manualPagination ? rowCount : undefined,\n getRowId: rowIdField\n ? (originalRow, index) => {\n const id = rowIdField.split('_').reduce<unknown>((obj, key) => {\n if (obj && typeof obj === 'object' && key in (obj as Record<string, unknown>)) {\n return (obj as Record<string, unknown>)[key];\n }\n return undefined;\n }, originalRow as unknown);\n return id !== undefined ? String(id) : String(index);\n }\n : undefined,\n state: {\n sorting,\n columnFilters,\n columnVisibility,\n rowSelection,\n pagination,\n columnOrder,\n },\n enableRowSelection: true,\n enableMultiSort,\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnFiltersChange: setColumnFilters,\n onColumnVisibilityChange: setColumnVisibility,\n onPaginationChange: setPagination,\n onColumnOrderChange: setColumnOrder,\n autoResetPageIndex: manualPagination || isPaginationControlled ? false : undefined,\n manualPagination,\n manualSorting,\n manualFiltering,\n });\n\n // Sync selection to parent (MUST be called before early return)\n React.useEffect(() => {\n if (onSelectionChange) {\n const selectedRows = table.getFilteredSelectedRowModel().rows.map((row) => row.original);\n onSelectionChange(selectedRows);\n }\n }, [rowSelection, table, onSelectionChange]);\n\n // A drag captures the registered leaf subset. Hidden/changed columns never use stale indices.\n const dragSnapshot = React.useRef<{\n sourceId: string; groupId: string; ids: string[]; leafIds: string[]; order: string[];\n } | null>(null);\n const handleDragStart = React.useCallback((event: DragStartEvent) => {\n const source = event.operation.source;\n if (!source || !Array.isArray(source.data.columnIds)) return;\n dragSnapshot.current = {\n sourceId: String(source.id), groupId: source.data.groupId,\n ids: [...source.data.columnIds], leafIds: table.getAllLeafColumns().map(column => column.id),\n order: [...columnOrder],\n };\n }, [table, columnOrder]);\n const handleDragEnd = React.useCallback((event: DragEndEvent) => {\n const snapshot = dragSnapshot.current;\n dragSnapshot.current = null;\n const {source, target} = event.operation;\n if (event.canceled || !enableColumnOrdering || !snapshot || !target || !isSortable(source) || String(source.id) !== snapshot.sourceId) return;\n const leafIds = table.getAllLeafColumns().map(column => column.id);\n const group = table.getHeaderGroups().find(group => group.id === snapshot.groupId);\n const registeredIds = group?.headers.filter(header => !header.isPlaceholder && header.column.columns.length === 0).map(header => header.column.id);\n if (!registeredIds || JSON.stringify(registeredIds) !== JSON.stringify(snapshot.ids) ||\n JSON.stringify(leafIds) !== JSON.stringify(snapshot.leafIds) || JSON.stringify(columnOrder) !== JSON.stringify(snapshot.order)) return;\n setColumnOrder(order => reorderVisibleColumns(order, leafIds, snapshot.ids, source.data.columnId, source.initialIndex, source.index));\n }, [table, columnOrder, enableColumnOrdering]);\n\n // Get sort index for multi-sort display (MUST be called before early return)\n const getSortIndex = React.useCallback(\n (columnId: string): number => {\n return sorting.findIndex((s) => s.id === columnId);\n },\n [sorting],\n );\n\n // Render table content (MUST be called before early return)\n const renderTable = React.useCallback(\n () => (\n <DragDropProvider\n sensors={defaults => [...defaults.filter(sensor => sensor !== PointerSensor), PointerSensor.configure({activationConstraints: [new PointerActivationConstraints.Distance({value: 8})]})]}\n plugins={defaults => [...defaults, Feedback.configure({feedback: 'clone', dropAnimation: {duration: 0}})]}\n onDragStart={handleDragStart} onDragEnd={handleDragEnd}\n >\n <div className={cn('rounded-md border', tableClassName)}>\n <Table>\n <TableHeader>\n {table.getHeaderGroups().map(headerGroup => {\n const registeredIds = headerGroup.headers.filter(header => !header.isPlaceholder && header.column.columns.length === 0).map(header => header.column.id);\n return <TableRow key={headerGroup.id}>\n {headerGroup.headers.map(header => <DataTableColumnHeader\n key={header.id} header={header} enableColumnOrdering={enableColumnOrdering}\n enableMultiSort={enableMultiSort} sortIndex={getSortIndex(header.column.id)}\n sortableIndex={registeredIds.indexOf(header.column.id)} sortableGroup={headerGroup.id}\n registeredIds={registeredIds}\n />)}\n </TableRow>;\n })}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && 'selected'}\n onClick={() =>\n onRowClick && onRowClick(getRowId(row.original) as string | number)\n }\n className={onRowClick ? 'cursor-pointer hover:bg-muted/50' : undefined}\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id}>\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columnsWithRowNumber.length} className='h-24 text-center'>\n {m.dataTable_noResults()}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n </DragDropProvider>\n ),\n [\n handleDragStart,\n handleDragEnd,\n table,\n columnsWithRowNumber,\n columnOrder,\n enableColumnOrdering,\n enableMultiSort,\n getSortIndex,\n onRowClick,\n getRowId,\n tableClassName,\n ],\n );\n\n // Render loading table during SSR - simple version to avoid hydration issues\n const renderLoadingTable = () => (\n <div className={cn('rounded-md border', tableClassName)}>\n <Table>\n <TableBody>\n <TableRow>\n <TableCell className='h-24 text-center'>\n <div className='text-muted-foreground'>Loading...</div>\n </TableCell>\n </TableRow>\n </TableBody>\n </Table>\n </div>\n );\n\n // Variant: minimal - just table with pagination\n if (variant === 'minimal') {\n return (\n <div className={cn('space-y-4', containerClassName)}>\n {mounted ? renderTable() : renderLoadingTable()}\n <DataTablePagination table={table} pageSizeOptions={pageSizeOptions} />\n </div>\n );\n }\n\n // Variant: toolbar - setagaya-front style with toolbar above table\n if (variant === 'toolbar') {\n return (\n <div className={cn('relative h-full', containerClassName)}>\n {onAdd && (\n <div className='absolute left-0 top-0 w-full h-full z-10 pointer-events-none'>\n <div className='fixed right-4 bottom-10 pointer-events-auto'>\n <Button\n type='button'\n size='icon'\n aria-label='Add row'\n onClick={onAdd}\n className='w-12 h-12 rounded-full shadow-lg'\n >\n <Plus className='w-6 h-6' />\n </Button>\n </div>\n </div>\n )}\n <div className='relative h-full flex flex-col'>\n {/* Toolbar */}\n <div className='bg-muted p-2 rounded-t-md grid grid-cols-1 sm:grid-cols-[1fr_minmax(0,auto)_1fr] items-center gap-2'>\n {/* Center: Column settings + filter content */}\n <div className='flex flex-wrap justify-center items-center gap-2 sm:col-start-2 sm:col-end-3'>\n <DataTableViewOptions table={table} />\n {filterContent && filterLayout === 'inline' && filterContent}\n {filterContent && filterLayout === 'panel' && (\n <Button\n type='button'\n variant={filterOpen ? 'default' : 'outline'}\n size='sm'\n onClick={() => setFilterOpen(!filterOpen)}\n className='h-8 gap-1.5'\n >\n <FilterIcon className='h-4 w-4' />\n <span>フィルター</span>\n </Button>\n )}\n </div>\n {/* Right: Pagination + count */}\n <div className='flex items-center gap-3 justify-center sm:justify-end sm:col-start-3 sm:col-end-4'>\n <DataTablePaginationCompact table={table} pageSizeOptions={pageSizeOptions} />\n {typeof itemCount === 'number' && (\n <span className='text-sm text-muted-foreground whitespace-nowrap'>\n {`${itemCount.toLocaleString()} ${m.dataTable_items()}`}\n </span>\n )}\n </div>\n </div>\n {/* Filter Panel (Collapsible) */}\n {filterContent && filterLayout === 'panel' && (\n <div\n className={cn(\n 'border-b transition-all duration-200 ease-in-out overflow-hidden bg-background',\n filterOpen ? 'max-h-[500px] p-4' : 'max-h-0 p-0 border-none',\n )}\n >\n {filterContent}\n </div>\n )}\n {/* Active Filters Display */}\n {activeFiltersContent && (\n <div className='bg-background px-4 py-1.5 border-b'>{activeFiltersContent}</div>\n )}\n {/* Table */}\n <div className='flex-1 overflow-auto'>\n {mounted ? renderTable() : renderLoadingTable()}\n </div>\n </div>\n </div>\n );\n }\n\n // Variant: default - current behavior\n return (\n <div className={cn('space-y-4', containerClassName)}>\n <div className='flex items-center justify-between'>\n <div className='flex items-center py-4'>\n {filterColumn && (\n <Input\n placeholder={m.dataTable_filterPlaceholder({ column: filterColumn })}\n value={(table.getColumn(filterColumn)?.getFilterValue() as string) ?? ''}\n onChange={(event) =>\n table.getColumn(filterColumn)?.setFilterValue(event.target.value)\n }\n className='max-w-sm'\n />\n )}\n </div>\n <DataTableViewOptions table={table} />\n </div>\n {activeFiltersContent && (\n <div className='border rounded-md bg-background px-3 py-1'>{activeFiltersContent}</div>\n )}\n {mounted ? renderTable() : renderLoadingTable()}\n <DataTablePagination table={table} pageSizeOptions={pageSizeOptions} />\n {onAdd && (\n <div className='fixed right-4 bottom-10 z-10'>\n <Button\n type='button'\n size='icon'\n onClick={onAdd}\n className='w-12 h-12 rounded-full shadow-lg'\n >\n <Plus className='w-6 h-6' />\n </Button>\n </div>\n )}\n </div>\n );\n}\n\n// =============================================================================\n// View Options Component\n// =============================================================================\n\ninterface DataTableViewOptionsProps<TData extends object> {\n table: TableInstance<TData>;\n}\n\n/**\n * テーブルの表示列を切り替える設定ドロップダウンメニューコンポーネント\n */\nexport function DataTableViewOptions<TData extends object>({ table }: DataTableViewOptionsProps<TData>) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger\n className={buttonVariants({ variant: 'default', size: 'sm', className: 'h-8' })}\n >\n <Settings2 className='mr-2 h-4 w-4' />\n {m.dataTable_view()}\n </DropdownMenuTrigger>\n <DropdownMenuContent align='end' className='w-40'>\n <DropdownMenuGroup>\n <DropdownMenuLabel>{m.dataTable_toggleColumns()}</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className='capitalize'\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(!!value)}\n >\n {typeof column.columnDef.header === 'string'\n ? column.columnDef.header\n : column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuGroup>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n// =============================================================================\n// Pagination Component (Full)\n// =============================================================================\n\ninterface DataTablePaginationProps<TData extends object> {\n table: TableInstance<TData>;\n pageSizeOptions?: number[];\n}\n\n/**\n * テーブルの標準的なページネーションコントロールコンポーネント\n */\nexport function DataTablePagination<TData extends object>({\n table,\n pageSizeOptions = [10, 20, 30, 50, 100],\n}: DataTablePaginationProps<TData>) {\n return (\n <div className='flex items-center justify-between px-2'>\n <div className='flex-1 text-sm text-muted-foreground'>\n {m.dataTable_rowsSelected({\n selected: table.getFilteredSelectedRowModel().rows.length,\n total: table.getFilteredRowModel().rows.length,\n })}\n </div>\n <div className='flex items-center space-x-6 lg:space-x-8'>\n <div className='flex items-center space-x-2'>\n <p className='text-sm font-medium'>{m.dataTable_rowsPerPage()}</p>\n <select\n aria-label={m.dataTable_rowsPerPage()}\n value={`${table.store.state.pagination.pageSize}`}\n onChange={(e) => {\n table.setPageSize(Number(e.target.value));\n }}\n className='h-8 w-fit min-w-16 rounded-md border border-input bg-background px-2 py-1 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2'\n >\n {pageSizeOptions.map((pageSize) => (\n <option key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </option>\n ))}\n </select>\n </div>\n <div className='flex w-24 items-center justify-center text-sm font-medium'>\n {m.dataTable_page({\n current: table.store.state.pagination.pageIndex + 1,\n total: table.getPageCount(),\n })}\n </div>\n <div className='flex items-center space-x-2'>\n <Button\n variant='default'\n size='icon'\n className='hidden h-8 w-8 lg:flex hover:bg-primary/90'\n aria-label={m.dataTable_goToFirstPage()}\n onClick={() => table.setPageIndex(0)}\n disabled={!table.getCanPreviousPage()}\n >\n <span className='sr-only'>{m.dataTable_goToFirstPage()}</span>\n <ChevronsLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToPreviousPage()}\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <span className='sr-only'>{m.dataTable_goToPreviousPage()}</span>\n <ChevronLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToNextPage()}\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <span className='sr-only'>{m.dataTable_goToNextPage()}</span>\n <ChevronRight className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='hidden h-8 w-8 lg:flex hover:bg-primary/90'\n aria-label={m.dataTable_goToLastPage()}\n onClick={() => table.setPageIndex(table.getPageCount() - 1)}\n disabled={!table.getCanNextPage()}\n >\n <span className='sr-only'>{m.dataTable_goToLastPage()}</span>\n <ChevronsRight className='h-4 w-4' />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n// =============================================================================\n// Pagination Component (Compact - for toolbar variant)\n// =============================================================================\n\ninterface DataTablePaginationCompactProps<TData extends object> {\n table: TableInstance<TData>;\n pageSizeOptions?: number[];\n}\n\n/**\n * ツールバー等に配置するコンパクトなページネーションコントロールコンポーネント\n */\nexport function DataTablePaginationCompact<TData extends object>({\n table,\n pageSizeOptions = [10, 20, 30, 50, 100],\n}: DataTablePaginationCompactProps<TData>) {\n const totalPages = table.getPageCount();\n\n return (\n <div className='flex items-center gap-1'>\n <select\n aria-label={m.dataTable_rowsPerPage()}\n value={`${table.store.state.pagination.pageSize}`}\n onChange={(e) => {\n table.setPageSize(Number(e.target.value));\n }}\n className='h-8 w-fit min-w-16 rounded-md border border-input bg-background px-2 py-1 text-sm'\n >\n {pageSizeOptions.map((pageSize) => (\n <option key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </option>\n ))}\n </select>\n {totalPages > 1 && (\n <>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToFirstPage()}\n onClick={() => table.setPageIndex(0)}\n disabled={table.store.state.pagination.pageIndex === 0}\n >\n <ChevronsLeft className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToPreviousPage()}\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <ChevronLeft className='h-4 w-4' />\n </Button>\n <span className='text-sm text-muted-foreground whitespace-nowrap px-1'>\n {table.store.state.pagination.pageIndex + 1} / {totalPages}\n </span>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToNextPage()}\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <ChevronRight className='h-4 w-4' />\n </Button>\n <Button\n variant='default'\n size='icon'\n className='h-8 w-8 hover:bg-primary/90'\n aria-label={m.dataTable_goToLastPage()}\n onClick={() => table.setPageIndex(totalPages - 1)}\n disabled={table.store.state.pagination.pageIndex === totalPages - 1}\n >\n <ChevronsRight className='h-4 w-4' />\n </Button>\n </>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-utils.cjs","names":["require_tools_lib_date_utils","getNestedValue","path","current","key","obj","cellGenerators","value","row","field","age","options","separator","timeRegex","compareTimeStrings","aMatch","a","bMatch","b","aH","aM","bH","bM","timeSort","rawA","rowA","columnId","rawB","rowB","aEmpty","bEmpty","timeComparison","trimmedSort","createColumnsFromHeads","heads","dbField","head","cellType","columnDef","val","numericCell","x","id","y","xn","yn","dateCell","timeCell","timeStringCell","ageCell","optionCell","arrayCell","arraySeparator","stringCell","joinValues","filterDataByMongoQuery","query","data","matchRow","subQuery","q","rowVal","isDateField","schema","op","opVal","regexVal","rowStr","caseInsensitive","normalizedRow","normalizedQuery","r","compareRow","compareQuery"],"sources":["../../../../src/tools/components/data-table/table-utils.ts"],"sourcesContent":["/**\n * @fileoverview Table utility functions for DataTable component\n *\n * Provides:\n * - `getNestedValue` - Access nested object properties via dot notation\n * - `cellGenerators` - Pre-built cell formatters for common types\n * - `createColumnsFromHeads` - Create column definitions declaratively\n * - `timeSort`, `trimmedSort` - Custom sorting functions\n *\n * @module data-table/table-utils\n */\n\nimport { ColumnDef, Row, SortingFn } from './table-engine';\nimport { formatDate, formatTime, getAge } from \"../../lib/date-utils\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * 汎用キーバリューオブジェクト型\n * Generic key-value object type for table row data\n * @typedef {Record<string, unknown>} KV\n */\n\nexport type KV = Record<string, unknown>;\n\n/**\n * セルタイプの種類\n * Available cell generator types\n * @typedef {'Date' | 'Time' | 'TimeString' | 'Age' | 'Option' | 'String' | 'Array'} CellType\n */\nexport type CellType =\n | 'Date'\n | 'Time'\n | 'TimeString'\n | 'Age'\n | 'Option'\n | 'String'\n | 'Array'\n | 'Boolean'\n | 'Number';\n\n/**\n * テーブルヘッダーの基本定義\n * Base type for table column header definitions\n *\n * @typedef {Object} TableHeadBase\n * @property {string} field - カラムの一意識別子 / Unique column identifier\n * @property {string} text - ヘッダーの表示テキスト / Display text for the column header\n * @property {string} [id] - ソート/クエリ用のDBフィールド名 / Database field name for sorting\n * @property {CellType} [type] - セルタイプ / Logical cell type, defaults to \"String\"\n * @property {Record<string | number, string>} [options] - Optionタイプ用のマッピング / Options mapping\n * @property {Function} [accessorFn] - カスタムアクセサー関数 / Custom accessor function\n * @property {Function} [cell] - カスタムセルレンダラー / Custom cell renderer\n * @property {boolean} [enableSorting] - ソートを有効にするか / Enable sorting for this column\n */\nexport type TableHeadBase = {\n /** カラムの一意識別子 / Unique column identifier */\n field: string;\n /** ヘッダーの表示テキスト / Display text for the column header */\n text: string;\n /** ソート/クエリ用のDBフィールド名(省略時はfieldと同じ) / Optional database field name for sorting/querying */\n id?: string;\n /** セルタイプ(省略時は\"String\") / Logical cell type, defaults to \"String\" */\n type?: CellType;\n /** Optionタイプ用のオプションマッピング / Options mapping for Option-type cells */\n options?: Record<string | number, string>;\n /** カスタムアクセサー関数 / Optional accessor function */\n accessorFn?: (row: KV) => unknown;\n /** カスタムセルレンダラー / Optional custom cell renderer */\n cell?: (row: KV) => React.ReactNode;\n /** ソートを無効にするか / Disable sorting for this column */\n enableSorting?: boolean;\n /** インライン編集を有効にする / Enable inline editing for this column */\n editable?: boolean;\n};\n\n/**\n * createColumnsFromHeads のオプション\n * Options for createColumnsFromHeads\n *\n * @typedef {Object} CreateColumnsOptions\n * @property {string} [locale] - ロケール / Locale for date formatting\n * @property {string} [timezone] - タイムゾーン / Timezone for date formatting\n * @property {string} [arraySeparator] - 配列の結合文字 / Separator for joining array values\n */\nexport type CreateColumnsOptions = {\n /** ロケール(日付フォーマット用) / Locale for date formatting */\n locale?: string;\n /** タイムゾーン(日付フォーマット用) / Timezone for date formatting */\n timezone?: string;\n /** 配列の結合文字 / Separator for joining array values */\n arraySeparator?: string;\n};\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * ドット記法でネストされた値を取得する\n * Retrieves a nested value from an object using a dot-notation path.\n *\n * @param {KV} obj - 走査するオブジェクト / The object to traverse\n * @param {string} path - ドット記法のパス / Dot-notation path (e.g., \"user.profile.name\")\n * @returns {unknown} 指定パスの値、存在しない場合はundefined / The value at the path\n *\n * @example\n * const obj = { user: { profile: { name: \"John\" } } };\n * getNestedValue(obj, \"user.profile.name\"); // \"John\"\n * getNestedValue(obj, \"user.email\"); // undefined\n */\nexport const getNestedValue = (obj: KV, path: string): unknown => {\n return path.split('.').reduce<unknown>((current, key) => {\n if (\n current &&\n typeof current === 'object' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n Object.prototype.hasOwnProperty.call(current, key)\n ) {\n return (current as Record<string, unknown>)[key];\n }\n return undefined;\n }, obj);\n};\n\n// =============================================================================\n// Cell Generators\n// =============================================================================\n\n/**\n * セルジェネレーター関数群\n * Cell generators for rendering different data types in table cells.\n * Each generator returns a function that takes a row and returns a formatted string.\n *\n * @example\n * const dateCell = cellGenerators.Date('createdAt');\n * const formatted = dateCell(rowData); // \"2024/01/15\"\n */\nexport const cellGenerators = {\n /**\n * 日付値をローカライズされた日付文字列にフォーマットする\n * Formats a date value as localized date string.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Date:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n return formatDate(new Date(value as string | number | Date));\n },\n\n /**\n * タイムスタンプをローカライズされた時刻文字列にフォーマットする\n * Formats a timestamp as localized time string (HH:mm).\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Time:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n return formatTime(new Date(value as string | number | Date));\n },\n\n /**\n * 時刻文字列(HH:mm)をそのまま表示する\n * Renders a time string (HH:mm) directly without conversion.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n TimeString:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return (value as string) || '';\n },\n\n /**\n * 生年月日から年齢を計算して表示する\n * Calculates and formats age from a birth date value.\n *\n * @param {string} field - 生年月日フィールド名 / Field name containing birth date\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Age:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n const age = getAge(new Date(value as string | number | Date));\n return age !== null ? String(age) : '';\n },\n\n /**\n * オプションマッピングを使って値をラベルに変換する\n * Maps a value to its label using the provided options mapping.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @param {Record<string | number, string>} [options] - 値→ラベルのマッピング / Value to label mapping\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n *\n * @example\n * const statusCell = cellGenerators.Option('status', { 0: '未処理', 1: '完了' });\n */\n Option:\n (field: string, options?: Record<string | number, string>) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (value === undefined || value === null) return '';\n if (options && (typeof value === 'string' || typeof value === 'number') && value in options) {\n return options[value];\n }\n return String(value);\n },\n\n /**\n * 文字列値を表示する(ネストフィールド対応)\n * Formats a string value, supporting nested field access.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n /** Finite numeric values retain their numeric accessor for sorting. */\n Number: (field: string) => (row: KV): string => {\n const value = getNestedValue(row, field);\n return typeof value === 'number' && Number.isFinite(value) ? String(value) : '';\n },\n String:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return value?.toString() || '';\n },\n\n /**\n * 配列値をセパレータで結合する\n * Formats an array value by joining elements with a separator.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @param {string} [separator=' / '] - 結合文字 / Separator string\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Array:\n (field: string, separator = ' / ') =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return Array.isArray(value) && value.length ? value.join(separator) : '';\n },\n};\n\n// =============================================================================\n// Custom Sorting Functions\n// =============================================================================\n\n/** 時刻文字列のパターン (H:mm or HH:mm) */\nconst timeRegex = /^(\\d{1,2}):(\\d{2})$/;\n\n/**\n * 2つの時刻文字列を数値比較する\n * @param {string} a - 時刻文字列A\n * @param {string} b - 時刻文字列B\n * @returns {number | null} 比較結果 (負=a<b, 正=a>b, 0=等しい, null=比較不可)\n */\nconst compareTimeStrings = (a: string, b: string): number | null => {\n const aMatch = a.match(timeRegex);\n const bMatch = b.match(timeRegex);\n\n if (aMatch && bMatch) {\n const aH = parseInt(aMatch[1], 10);\n const aM = parseInt(aMatch[2], 10);\n const bH = parseInt(bMatch[1], 10);\n const bM = parseInt(bMatch[2], 10);\n\n if (aH !== bH) return aH - bH;\n return aM - bM;\n }\n return null;\n};\n\n/**\n * 時刻文字列用のカスタムソート関数\n * H:mm/HH:mm形式の時刻を正しく数値順にソートする。\n * 空の値は先頭に配置される。\n *\n * Custom sorting function for time strings (H:mm/HH:mm format).\n * Correctly sorts times numerically. Empty values are sorted first.\n *\n * @param {Row<KV>} rowA - 行A / Row A to compare\n * @param {Row<KV>} rowB - 行B / Row B to compare\n * @param {string} columnId - カラムID / Column ID to sort by\n * @returns {number} ソート順序 / Sort order (-1, 0, or 1)\n */\nexport const timeSort: SortingFn<KV> = (rowA: Row<KV>, rowB: Row<KV>, columnId: string): number => {\n const rawA = rowA.getValue(columnId);\n const rawB = rowB.getValue(columnId);\n\n let a = rawA === null || rawA === undefined ? '' : rawA;\n let b = rawB === null || rawB === undefined ? '' : rawB;\n\n if (typeof a === 'string') a = a.trim();\n if (typeof b === 'string') b = b.trim();\n\n const aEmpty = a === '';\n const bEmpty = b === '';\n\n if (aEmpty && bEmpty) return 0;\n if (aEmpty) return -1;\n if (bEmpty) return 1;\n\n if (typeof a === 'string' && typeof b === 'string') {\n const timeComparison = compareTimeStrings(a, b);\n if (timeComparison !== null) return timeComparison;\n }\n\n if ((a as string) < (b as string)) return -1;\n if ((a as string) > (b as string)) return 1;\n return 0;\n};\n\n/**\n * トリム済み文字列用のカスタムソート関数\n * 空の値を一貫して処理する(空の値は先頭に配置)。\n *\n * Custom sorting function for trimmed strings.\n * Handles empty values consistently (empty values sorted first).\n *\n * @param {Row<KV>} rowA - 行A / Row A to compare\n * @param {Row<KV>} rowB - 行B / Row B to compare\n * @param {string} columnId - カラムID / Column ID to sort by\n * @returns {number} ソート順序 / Sort order (-1, 0, or 1)\n */\nexport const trimmedSort: SortingFn<KV> = (\n rowA: Row<KV>,\n rowB: Row<KV>,\n columnId: string,\n): number => {\n const rawA = rowA.getValue(columnId);\n const rawB = rowB.getValue(columnId);\n\n let a = rawA === null || rawA === undefined ? '' : rawA;\n let b = rawB === null || rawB === undefined ? '' : rawB;\n\n if (typeof a === 'string') a = a.trim();\n if (typeof b === 'string') b = b.trim();\n\n const aEmpty = a === '';\n const bEmpty = b === '';\n\n if (aEmpty && bEmpty) return 0;\n if (aEmpty) return -1;\n if (bEmpty) return 1;\n\n if (typeof a === 'number' && typeof b === 'number') {\n return a - b;\n }\n\n if ((a as string) < (b as string)) return -1;\n if ((a as string) > (b as string)) return 1;\n return 0;\n};\n\n// =============================================================================\n// Column Creation Helper\n// =============================================================================\n\n/**\n * 宣言的なヘッダー定義からTanStack Tableのカラム定義を生成する\n * Creates TanStack Table column definitions from a declarative TableHeadBase array.\n *\n * デフォルト動作:\n * - 論理的な`type`を`cellGenerators`にマッピング\n * - Optionセル用の`options`マッピングを使用\n * - TimeString型には`timeSort`を適用\n * - その他の型には`trimmedSort`を適用\n *\n * @param {TableHeadBase[]} heads - ヘッダー定義の配列 / Array of header definitions\n * @param {CreateColumnsOptions} [options] - オプション設定 / Optional configuration\n * @returns {ColumnDef<KV>[]} TanStack Tableのカラム定義配列 / Array of column definitions\n *\n * @example\n * const columns = createColumnsFromHeads([\n * { field: 'name', text: '氏名' },\n * { field: 'birthday', text: '生年月日', type: 'Date' },\n * { field: 'status', text: '状態', type: 'Option', options: { 0: '未処理', 1: '完了' } },\n * ]);\n */\nexport const createColumnsFromHeads = (\n heads: TableHeadBase[],\n options?: CreateColumnsOptions,\n): ColumnDef<KV>[] => {\n const { arraySeparator = ' / ' } = options || {};\n\n return heads.map((head) => {\n const dbField = head.id || head.field;\n const cellType = head.type || 'String';\n\n const columnDef: ColumnDef<KV> = {\n id: head.field,\n header: head.text,\n enableSorting: head.enableSorting !== false,\n accessorFn: (row: KV) => {\n const val = getNestedValue(row, dbField);\n if (val === null || val === undefined || val === '') return '';\n if (typeof val === 'string' && val.trim() === '') return '';\n return val;\n },\n sortFn: trimmedSort,\n };\n\n if (head.accessorFn) {\n columnDef.accessorFn = head.accessorFn;\n }\n\n if (head.cell) {\n columnDef.cell = ({ row }: { row: { original: KV } }) => head.cell!(row.original);\n } else if (cellType === 'Number') {\n const numericCell = cellGenerators.Number(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => numericCell(row.original);\n columnDef.sortFn = (a, b, id) => {\n const x = a.getValue(id), y = b.getValue(id);\n const xn = typeof x === 'number' && Number.isFinite(x);\n const yn = typeof y === 'number' && Number.isFinite(y);\n return xn && yn ? x - y : xn ? 1 : yn ? -1 : 0;\n };\n } else if (cellType === 'Date') {\n const dateCell = cellGenerators.Date(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => dateCell(row.original);\n } else if (cellType === 'Time') {\n const timeCell = cellGenerators.Time(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => timeCell(row.original);\n } else if (cellType === 'TimeString') {\n const timeStringCell = cellGenerators.TimeString(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => timeStringCell(row.original);\n columnDef.sortFn = timeSort;\n } else if (cellType === 'Age') {\n const ageCell = cellGenerators.Age(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => ageCell(row.original);\n } else if (cellType === 'Option') {\n const optionCell = cellGenerators.Option(dbField, head.options);\n columnDef.cell = ({ row }: { row: { original: KV } }) => optionCell(row.original);\n } else if (cellType === 'Boolean') {\n // Default boolean display (editable version handled in DataTableView)\n columnDef.cell = ({ row }: { row: { original: KV } }) => {\n const val = getNestedValue(row.original, dbField);\n return val ? '✓' : '-';\n };\n } else if (cellType === 'Array') {\n const arrayCell = cellGenerators.Array(dbField, arraySeparator);\n columnDef.cell = ({ row }: { row: { original: KV } }) => arrayCell(row.original);\n } else {\n const stringCell = cellGenerators.String(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => stringCell(row.original);\n }\n\n // Store metadata for editable columns (used by DataTableView)\n if (head.editable) {\n columnDef.meta = {\n editable: true,\n field: dbField,\n type: cellType,\n options: head.options,\n };\n }\n\n return columnDef;\n });\n};\n\n/**\n * 配列を指定のセパレータで結合する\n * Joins an array of strings with the specified separator.\n *\n * @param {string[]} [value] - 結合する文字列配列 / Array of strings to join\n * @param {string} [separator=' / '] - セパレータ / Separator string\n * @returns {string} 結合された文字列、空の場合は空文字列 / Joined string or empty string\n *\n * @example\n * joinValues(['a', 'b', 'c']); // \"a / b / c\"\n * joinValues(['a', 'b'], ', '); // \"a, b\"\n * joinValues(); // \"\"\n */\nexport const joinValues = (value?: string[], separator = ' / '): string =>\n value && value.length ? value.join(separator) : '';\n\n/**\n * MongoDBスタイルのクエリを用いてローカルデータ配列をフィルタリングします(クライアントサイドフィルタリング用)。\n *\n * サポートする演算子:\n * - 完全一致 (値が等しい場合。日付の場合は日付のミリ秒値で比較)\n * - $regex (部分一致、前方一致、後方一致。$options: 'i' による大文字小文字無視をサポート)\n * - $gte, $lte, $gt, $lt (数値、日付の比較)\n * - $in (複数選択のいずれかに一致)\n * - $and (複数条件の論理積)\n * - $or (複数条件の論理和)\n *\n * @param data フィルタリング対象のデータ配列\n * @param query MongoDBスタイルのフィルターオブジェクト\n * @param schema コレクションスキーマ(オプショナル。型推論のために使用)\n * @returns フィルタリング後のデータ配列\n */\nexport function filterDataByMongoQuery<T extends Record<string, any>>(\n data: T[],\n query: Record<string, any>,\n schema?: any,\n): T[] {\n if (!query || Object.keys(query).length === 0) {\n return data;\n }\n\n const matchRow = (row: T, subQuery: Record<string, any>): boolean => {\n for (const [key, val] of Object.entries(subQuery)) {\n if (key === '$and') {\n if (!Array.isArray(val)) continue;\n if (!val.every((q) => matchRow(row, q))) {\n return false;\n }\n continue;\n }\n if (key === '$or') {\n if (!Array.isArray(val)) continue;\n if (!val.some((q) => matchRow(row, q))) {\n return false;\n }\n continue;\n }\n\n const rowVal = getNestedValue(row, key);\n const schemaField = schema?.[key];\n const isDateField = schemaField?.type === 'date' || rowVal instanceof Date;\n\n if (val && typeof val === 'object' && !(val instanceof Date)) {\n // MongoDB-style operators\n for (const [op, opVal] of Object.entries(val)) {\n if (op === '$regex') {\n const regexVal = String(opVal);\n // Limit pattern length to prevent pathological regular expressions (ReDoS)\n if (regexVal.length > 256) return false;\n\n const rowStr = rowVal !== undefined && rowVal !== null ? String(rowVal) : '';\n const options = (val as any).$options || '';\n const caseInsensitive = options.includes('i');\n\n try {\n const regex = new RegExp(regexVal, caseInsensitive ? 'i' : '');\n if (!regex.test(rowStr)) return false;\n } catch (_e) {\n const normalizedRow = caseInsensitive ? rowStr.toLowerCase() : rowStr;\n const normalizedQuery = caseInsensitive ? regexVal.toLowerCase() : regexVal;\n if (!normalizedRow.includes(normalizedQuery)) return false;\n }\n } else if (op === '$options') {\n continue;\n } else if (op === '$in') {\n if (!Array.isArray(opVal)) return false;\n const rowArr = Array.isArray(rowVal) ? rowVal : [rowVal];\n const hasMatch = rowArr.some((r) =>\n opVal.some((q) => {\n if (isDateField && r && q) {\n return new Date(r as any).getTime() === new Date(q as any).getTime();\n }\n return String(r) === String(q);\n }),\n );\n if (!hasMatch) return false;\n } else if (op === '$gte' || op === '$gt' || op === '$lte' || op === '$lt') {\n if (rowVal === undefined || rowVal === null || rowVal === '') return false;\n\n const compareRow = isDateField ? new Date(rowVal as any).getTime() : Number(rowVal);\n const compareQuery = isDateField ? new Date(opVal as any).getTime() : Number(opVal);\n\n if (isNaN(compareRow) || isNaN(compareQuery)) return false;\n\n if (op === '$gte' && !(compareRow >= compareQuery)) return false;\n if (op === '$gt' && !(compareRow > compareQuery)) return false;\n if (op === '$lte' && !(compareRow <= compareQuery)) return false;\n if (op === '$lt' && !(compareRow < compareQuery)) return false;\n }\n }\n } else {\n // Exact match\n if (rowVal === undefined || rowVal === null || rowVal === '') {\n if (val !== undefined && val !== null && val !== '') return false;\n } else if (isDateField && rowVal && val) {\n if (new Date(rowVal as any).getTime() !== new Date(val as any).getTime()) return false;\n } else {\n if (String(rowVal) !== String(val)) return false;\n }\n }\n }\n return true;\n };\n\n return data.filter((row) => matchRow(row, query));\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-utils.cjs","names":["require_tools_lib_date_utils","getNestedValue","path","current","key","obj","cellGenerators","value","row","field","age","options","separator","timeRegex","compareTimeStrings","aMatch","a","bMatch","b","aH","aM","bH","bM","timeSort","rawA","rowA","columnId","rawB","rowB","aEmpty","bEmpty","timeComparison","trimmedSort","createColumnsFromHeads","heads","dbField","head","cellType","columnDef","val","numericCell","x","id","y","xn","yn","dateCell","timeCell","timeStringCell","ageCell","optionCell","arrayCell","arraySeparator","stringCell","joinValues","filterDataByMongoQuery","query","data","matchRow","subQuery","q","rowVal","isDateField","schema","op","opVal","regexVal","rowStr","caseInsensitive","normalizedRow","normalizedQuery","r","compareRow","compareQuery"],"sources":["../../../../src/tools/components/data-table/table-utils.ts"],"sourcesContent":["/**\n * @fileoverview Table utility functions for DataTable component\n *\n * Provides:\n * - `getNestedValue` - Access nested object properties via dot notation\n * - `cellGenerators` - Pre-built cell formatters for common types\n * - `createColumnsFromHeads` - Create column definitions declaratively\n * - `timeSort`, `trimmedSort` - Custom sorting functions\n *\n * @module data-table/table-utils\n */\n\nimport { ColumnDef, Row, SortingFn } from './table-engine';\nimport { formatDate, formatTime, getAge } from \"../../lib/date-utils\";\n\n// =============================================================================\n// Types\n// =============================================================================\n\n/**\n * 汎用キーバリューオブジェクト型\n * Generic key-value object type for table row data\n * @typedef {Record<string, unknown>} KV\n */\n\nexport type KV = Record<string, unknown>;\n\n/**\n * セルタイプの種類\n * Available cell generator types\n * @typedef {'Date' | 'Time' | 'TimeString' | 'Age' | 'Option' | 'String' | 'Array'} CellType\n */\nexport type CellType =\n | 'Date'\n | 'Time'\n | 'TimeString'\n | 'Age'\n | 'Option'\n | 'String'\n | 'Array'\n | 'Boolean'\n | 'Number';\n\n/**\n * テーブルヘッダーの基本定義\n * Base type for table column header definitions\n *\n * @typedef {Object} TableHeadBase\n * @property {string} field - カラムの一意識別子 / Unique column identifier\n * @property {string} text - ヘッダーの表示テキスト / Display text for the column header\n * @property {string} [id] - ソート/クエリ用のDBフィールド名 / Database field name for sorting\n * @property {CellType} [type] - セルタイプ / Logical cell type, defaults to \"String\"\n * @property {Record<string | number, string>} [options] - Optionタイプ用のマッピング / Options mapping\n * @property {Function} [accessorFn] - カスタムアクセサー関数 / Custom accessor function\n * @property {Function} [cell] - カスタムセルレンダラー / Custom cell renderer\n * @property {boolean} [enableSorting] - ソートを有効にするか / Enable sorting for this column\n */\nexport type TableHeadBase = {\n /** カラムの一意識別子 / Unique column identifier */\n field: string;\n /** ヘッダーの表示テキスト / Display text for the column header */\n text: string;\n /** ソート/クエリ用のDBフィールド名(省略時はfieldと同じ) / Optional database field name for sorting/querying */\n id?: string;\n /** セルタイプ(省略時は\"String\") / Logical cell type, defaults to \"String\" */\n type?: CellType;\n /** Optionタイプ用のオプションマッピング / Options mapping for Option-type cells */\n options?: Record<string | number, string>;\n /** カスタムアクセサー関数 / Optional accessor function */\n accessorFn?: (row: KV) => unknown;\n /** カスタムセルレンダラー / Optional custom cell renderer */\n cell?: (row: KV) => React.ReactNode;\n /** ソートを無効にするか / Disable sorting for this column */\n enableSorting?: boolean;\n /** インライン編集を有効にする / Enable inline editing for this column */\n editable?: boolean;\n};\n\n/**\n * Compatibility options for {@link createColumnsFromHeads}.\n * @remarks Only arraySeparator is currently consumed; locale and timezone do not affect generated cells.\n * @see createColumnsFromHeads\n */\nexport type CreateColumnsOptions = {\n /** Reserved compatibility option; currently ignored by createColumnsFromHeads. No locale default is applied here. */\n locale?: string;\n /** Reserved compatibility option; currently ignored by createColumnsFromHeads. No timezone default is applied here. */\n timezone?: string;\n /** Separator for joining array values; defaults to \" / \". */\n arraySeparator?: string;\n};\n\n// =============================================================================\n// Utility Functions\n// =============================================================================\n\n/**\n * ドット記法でネストされた値を取得する\n * Retrieves a nested value from an object using a dot-notation path.\n *\n * @param {KV} obj - 走査するオブジェクト / The object to traverse\n * @param {string} path - ドット記法のパス / Dot-notation path (e.g., \"user.profile.name\")\n * @returns {unknown} 指定パスの値、存在しない場合はundefined / The value at the path\n *\n * @example\n * ```ts\n * import { getNestedValue } from '@alneas/appkit-react/tools/data-table';\n * const obj = { user: { profile: { name: 'John' } } };\n * getNestedValue(obj, 'user.profile.name'); // 'John'\n * getNestedValue(obj, 'user.email'); // undefined\n * ```\n */\nexport const getNestedValue = (obj: KV, path: string): unknown => {\n return path.split('.').reduce<unknown>((current, key) => {\n if (\n current &&\n typeof current === 'object' &&\n key !== '__proto__' &&\n key !== 'constructor' &&\n key !== 'prototype' &&\n Object.prototype.hasOwnProperty.call(current, key)\n ) {\n return (current as Record<string, unknown>)[key];\n }\n return undefined;\n }, obj);\n};\n\n// =============================================================================\n// Cell Generators\n// =============================================================================\n\n/**\n * セルジェネレーター関数群\n * Cell generators for rendering different data types in table cells.\n * Each generator returns a function that takes a row and returns a formatted string.\n *\n * @example\n * ```ts\n * import { cellGenerators } from '@alneas/appkit-react/tools/data-table';\n * const rowData = { createdAt: new Date(2026, 0, 15) };\n * const dateCell = cellGenerators.Date('createdAt');\n * const formatted = dateCell(rowData);\n * ```\n */\nexport const cellGenerators = {\n /**\n * 日付値をローカライズされた日付文字列にフォーマットする\n * Formats a date value as localized date string.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Date:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n return formatDate(new Date(value as string | number | Date));\n },\n\n /**\n * タイムスタンプをローカライズされた時刻文字列にフォーマットする\n * Formats a timestamp as localized time string (HH:mm).\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Time:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n return formatTime(new Date(value as string | number | Date));\n },\n\n /**\n * 時刻文字列(HH:mm)をそのまま表示する\n * Renders a time string (HH:mm) directly without conversion.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n TimeString:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return (value as string) || '';\n },\n\n /**\n * 生年月日から年齢を計算して表示する\n * Calculates and formats age from a birth date value.\n *\n * @param {string} field - 生年月日フィールド名 / Field name containing birth date\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Age:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (!value) return '';\n const age = getAge(new Date(value as string | number | Date));\n return age !== null ? String(age) : '';\n },\n\n /**\n * オプションマッピングを使って値をラベルに変換する\n * Maps a value to its label using the provided options mapping.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @param {Record<string | number, string>} [options] - 値→ラベルのマッピング / Value to label mapping\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n *\n * @example\n * ```ts\n * import { cellGenerators } from '@alneas/appkit-react/tools/data-table';\n * const statusCell = cellGenerators.Option('status', { 0: 'Pending', 1: 'Complete' });\n * const label = statusCell({ status: 1 }); // 'Complete'\n * ```\n */\n Option:\n (field: string, options?: Record<string | number, string>) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n if (value === undefined || value === null) return '';\n if (options && (typeof value === 'string' || typeof value === 'number') && value in options) {\n return options[value];\n }\n return String(value);\n },\n\n /**\n * 文字列値を表示する(ネストフィールド対応)\n * Formats a string value, supporting nested field access.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n /** Finite numeric values retain their numeric accessor for sorting. */\n Number: (field: string) => (row: KV): string => {\n const value = getNestedValue(row, field);\n return typeof value === 'number' && Number.isFinite(value) ? String(value) : '';\n },\n String:\n (field: string) =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return value?.toString() || '';\n },\n\n /**\n * 配列値をセパレータで結合する\n * Formats an array value by joining elements with a separator.\n *\n * @param {string} field - データフィールド名 / Field name to access\n * @param {string} [separator=' / '] - 結合文字 / Separator string\n * @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function\n */\n Array:\n (field: string, separator = ' / ') =>\n (row: KV): string => {\n const value = getNestedValue(row, field);\n return Array.isArray(value) && value.length ? value.join(separator) : '';\n },\n};\n\n// =============================================================================\n// Custom Sorting Functions\n// =============================================================================\n\n/** 時刻文字列のパターン (H:mm or HH:mm) */\nconst timeRegex = /^(\\d{1,2}):(\\d{2})$/;\n\n/**\n * 2つの時刻文字列を数値比較する\n * @param {string} a - 時刻文字列A\n * @param {string} b - 時刻文字列B\n * @returns {number | null} 比較結果 (負=a<b, 正=a>b, 0=等しい, null=比較不可)\n */\nconst compareTimeStrings = (a: string, b: string): number | null => {\n const aMatch = a.match(timeRegex);\n const bMatch = b.match(timeRegex);\n\n if (aMatch && bMatch) {\n const aH = parseInt(aMatch[1], 10);\n const aM = parseInt(aMatch[2], 10);\n const bH = parseInt(bMatch[1], 10);\n const bM = parseInt(bMatch[2], 10);\n\n if (aH !== bH) return aH - bH;\n return aM - bM;\n }\n return null;\n};\n\n/**\n * 時刻文字列用のカスタムソート関数\n * H:mm/HH:mm形式の時刻を正しく数値順にソートする。\n * 空の値は先頭に配置される。\n *\n * Custom sorting function for time strings (H:mm/HH:mm format).\n * Correctly sorts times numerically. Empty values are sorted first.\n *\n * @param {Row<KV>} rowA - 行A / Row A to compare\n * @param {Row<KV>} rowB - 行B / Row B to compare\n * @param {string} columnId - カラムID / Column ID to sort by\n * @returns {number} ソート順序 / Sort order (-1, 0, or 1)\n */\nexport const timeSort: SortingFn<KV> = (rowA: Row<KV>, rowB: Row<KV>, columnId: string): number => {\n const rawA = rowA.getValue(columnId);\n const rawB = rowB.getValue(columnId);\n\n let a = rawA === null || rawA === undefined ? '' : rawA;\n let b = rawB === null || rawB === undefined ? '' : rawB;\n\n if (typeof a === 'string') a = a.trim();\n if (typeof b === 'string') b = b.trim();\n\n const aEmpty = a === '';\n const bEmpty = b === '';\n\n if (aEmpty && bEmpty) return 0;\n if (aEmpty) return -1;\n if (bEmpty) return 1;\n\n if (typeof a === 'string' && typeof b === 'string') {\n const timeComparison = compareTimeStrings(a, b);\n if (timeComparison !== null) return timeComparison;\n }\n\n if ((a as string) < (b as string)) return -1;\n if ((a as string) > (b as string)) return 1;\n return 0;\n};\n\n/**\n * トリム済み文字列用のカスタムソート関数\n * 空の値を一貫して処理する(空の値は先頭に配置)。\n *\n * Custom sorting function for trimmed strings.\n * Handles empty values consistently (empty values sorted first).\n *\n * @param {Row<KV>} rowA - 行A / Row A to compare\n * @param {Row<KV>} rowB - 行B / Row B to compare\n * @param {string} columnId - カラムID / Column ID to sort by\n * @returns {number} ソート順序 / Sort order (-1, 0, or 1)\n */\nexport const trimmedSort: SortingFn<KV> = (\n rowA: Row<KV>,\n rowB: Row<KV>,\n columnId: string,\n): number => {\n const rawA = rowA.getValue(columnId);\n const rawB = rowB.getValue(columnId);\n\n let a = rawA === null || rawA === undefined ? '' : rawA;\n let b = rawB === null || rawB === undefined ? '' : rawB;\n\n if (typeof a === 'string') a = a.trim();\n if (typeof b === 'string') b = b.trim();\n\n const aEmpty = a === '';\n const bEmpty = b === '';\n\n if (aEmpty && bEmpty) return 0;\n if (aEmpty) return -1;\n if (bEmpty) return 1;\n\n if (typeof a === 'number' && typeof b === 'number') {\n return a - b;\n }\n\n if ((a as string) < (b as string)) return -1;\n if ((a as string) > (b as string)) return 1;\n return 0;\n};\n\n// =============================================================================\n// Column Creation Helper\n// =============================================================================\n\n/**\n * Creates table column definitions from declarative headers and built-in cell generators.\n * @param heads - Header definitions in display order; field selects a row path and id can\n * override the source path. Cell type defaults to String and sorting is enabled unless explicitly false.\n * @param options - Array formatting options; see {@link CreateColumnsOptions}. arraySeparator\n * defaults to \" / \"; locale and timezone are accepted but ignored by this function.\n * @returns A newly allocated column-definition array; each definition closes over its header configuration.\n * @remarks Date/Time cells receive only the field name and use their cell-generator defaults;\n * passing locale/timezone here does not change them. Custom head.cell receives the original row.\n * The generated JSX uses Appkit UI components; import Appkit CSS in the rendering host.\n * @example\n * ```tsx\n * import { createColumnsFromHeads } from '@alneas/appkit-react/tools/data-table';\n * import '@alneas/appkit-react/styles';\n * const columns = createColumnsFromHeads([\n * { field: 'name', text: 'Name' },\n * { field: 'birthday', text: 'Birthday', type: 'Date' },\n * { field: 'status', text: 'Status', type: 'Option', options: { 0: 'Pending', 1: 'Done' } },\n * ], { arraySeparator: ', ' });\n * ```\n */\nexport const createColumnsFromHeads = (\n heads: TableHeadBase[],\n options?: CreateColumnsOptions,\n): ColumnDef<KV>[] => {\n const { arraySeparator = ' / ' } = options || {};\n\n return heads.map((head) => {\n const dbField = head.id || head.field;\n const cellType = head.type || 'String';\n\n const columnDef: ColumnDef<KV> = {\n id: head.field,\n header: head.text,\n enableSorting: head.enableSorting !== false,\n accessorFn: (row: KV) => {\n const val = getNestedValue(row, dbField);\n if (val === null || val === undefined || val === '') return '';\n if (typeof val === 'string' && val.trim() === '') return '';\n return val;\n },\n sortFn: trimmedSort,\n };\n\n if (head.accessorFn) {\n columnDef.accessorFn = head.accessorFn;\n }\n\n if (head.cell) {\n columnDef.cell = ({ row }: { row: { original: KV } }) => head.cell!(row.original);\n } else if (cellType === 'Number') {\n const numericCell = cellGenerators.Number(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => numericCell(row.original);\n columnDef.sortFn = (a, b, id) => {\n const x = a.getValue(id), y = b.getValue(id);\n const xn = typeof x === 'number' && Number.isFinite(x);\n const yn = typeof y === 'number' && Number.isFinite(y);\n return xn && yn ? x - y : xn ? 1 : yn ? -1 : 0;\n };\n } else if (cellType === 'Date') {\n const dateCell = cellGenerators.Date(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => dateCell(row.original);\n } else if (cellType === 'Time') {\n const timeCell = cellGenerators.Time(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => timeCell(row.original);\n } else if (cellType === 'TimeString') {\n const timeStringCell = cellGenerators.TimeString(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => timeStringCell(row.original);\n columnDef.sortFn = timeSort;\n } else if (cellType === 'Age') {\n const ageCell = cellGenerators.Age(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => ageCell(row.original);\n } else if (cellType === 'Option') {\n const optionCell = cellGenerators.Option(dbField, head.options);\n columnDef.cell = ({ row }: { row: { original: KV } }) => optionCell(row.original);\n } else if (cellType === 'Boolean') {\n // Default boolean display (editable version handled in DataTableView)\n columnDef.cell = ({ row }: { row: { original: KV } }) => {\n const val = getNestedValue(row.original, dbField);\n return val ? '✓' : '-';\n };\n } else if (cellType === 'Array') {\n const arrayCell = cellGenerators.Array(dbField, arraySeparator);\n columnDef.cell = ({ row }: { row: { original: KV } }) => arrayCell(row.original);\n } else {\n const stringCell = cellGenerators.String(dbField);\n columnDef.cell = ({ row }: { row: { original: KV } }) => stringCell(row.original);\n }\n\n // Store metadata for editable columns (used by DataTableView)\n if (head.editable) {\n columnDef.meta = {\n editable: true,\n field: dbField,\n type: cellType,\n options: head.options,\n };\n }\n\n return columnDef;\n });\n};\n\n/**\n * 配列を指定のセパレータで結合する\n * Joins an array of strings with the specified separator.\n *\n * @param {string[]} [value] - 結合する文字列配列 / Array of strings to join\n * @param {string} [separator=' / '] - セパレータ / Separator string\n * @returns {string} 結合された文字列、空の場合は空文字列 / Joined string or empty string\n *\n * @example\n * ```ts\n * import { joinValues } from '@alneas/appkit-react/tools/data-table';\n * joinValues(['a', 'b', 'c']); // 'a / b / c'\n * joinValues(['a', 'b'], ', '); // 'a, b'\n * joinValues(); // ''\n * ```\n */\nexport const joinValues = (value?: string[], separator = ' / '): string =>\n value && value.length ? value.join(separator) : '';\n\n/**\n * MongoDBスタイルのクエリを用いてローカルデータ配列をフィルタリングします(クライアントサイドフィルタリング用)。\n *\n * サポートする演算子:\n * - 完全一致 (値が等しい場合。日付の場合は日付のミリ秒値で比較)\n * - $regex (部分一致、前方一致、後方一致。$options: 'i' による大文字小文字無視をサポート)\n * - $gte, $lte, $gt, $lt (数値、日付の比較)\n * - $in (複数選択のいずれかに一致)\n * - $and (複数条件の論理積)\n * - $or (複数条件の論理和)\n *\n * @param data フィルタリング対象のデータ配列\n * @param query MongoDBスタイルのフィルターオブジェクト\n * @param schema コレクションスキーマ(オプショナル。型推論のために使用)\n * @returns フィルタリング後のデータ配列\n */\nexport function filterDataByMongoQuery<T extends Record<string, any>>(\n data: T[],\n query: Record<string, any>,\n schema?: any,\n): T[] {\n if (!query || Object.keys(query).length === 0) {\n return data;\n }\n\n const matchRow = (row: T, subQuery: Record<string, any>): boolean => {\n for (const [key, val] of Object.entries(subQuery)) {\n if (key === '$and') {\n if (!Array.isArray(val)) continue;\n if (!val.every((q) => matchRow(row, q))) {\n return false;\n }\n continue;\n }\n if (key === '$or') {\n if (!Array.isArray(val)) continue;\n if (!val.some((q) => matchRow(row, q))) {\n return false;\n }\n continue;\n }\n\n const rowVal = getNestedValue(row, key);\n const schemaField = schema?.[key];\n const isDateField = schemaField?.type === 'date' || rowVal instanceof Date;\n\n if (val && typeof val === 'object' && !(val instanceof Date)) {\n // MongoDB-style operators\n for (const [op, opVal] of Object.entries(val)) {\n if (op === '$regex') {\n const regexVal = String(opVal);\n // Limit pattern length to prevent pathological regular expressions (ReDoS)\n if (regexVal.length > 256) return false;\n\n const rowStr = rowVal !== undefined && rowVal !== null ? String(rowVal) : '';\n const options = (val as any).$options || '';\n const caseInsensitive = options.includes('i');\n\n try {\n const regex = new RegExp(regexVal, caseInsensitive ? 'i' : '');\n if (!regex.test(rowStr)) return false;\n } catch (_e) {\n const normalizedRow = caseInsensitive ? rowStr.toLowerCase() : rowStr;\n const normalizedQuery = caseInsensitive ? regexVal.toLowerCase() : regexVal;\n if (!normalizedRow.includes(normalizedQuery)) return false;\n }\n } else if (op === '$options') {\n continue;\n } else if (op === '$in') {\n if (!Array.isArray(opVal)) return false;\n const rowArr = Array.isArray(rowVal) ? rowVal : [rowVal];\n const hasMatch = rowArr.some((r) =>\n opVal.some((q) => {\n if (isDateField && r && q) {\n return new Date(r as any).getTime() === new Date(q as any).getTime();\n }\n return String(r) === String(q);\n }),\n );\n if (!hasMatch) return false;\n } else if (op === '$gte' || op === '$gt' || op === '$lte' || op === '$lt') {\n if (rowVal === undefined || rowVal === null || rowVal === '') return false;\n\n const compareRow = isDateField ? new Date(rowVal as any).getTime() : Number(rowVal);\n const compareQuery = isDateField ? new Date(opVal as any).getTime() : Number(opVal);\n\n if (isNaN(compareRow) || isNaN(compareQuery)) return false;\n\n if (op === '$gte' && !(compareRow >= compareQuery)) return false;\n if (op === '$gt' && !(compareRow > compareQuery)) return false;\n if (op === '$lte' && !(compareRow <= compareQuery)) return false;\n if (op === '$lt' && !(compareRow < compareQuery)) return false;\n }\n }\n } else {\n // Exact match\n if (rowVal === undefined || rowVal === null || rowVal === '') {\n if (val !== undefined && val !== null && val !== '') return false;\n } else if (isDateField && rowVal && val) {\n if (new Date(rowVal as any).getTime() !== new Date(val as any).getTime()) return false;\n } else {\n if (String(rowVal) !== String(val)) return false;\n }\n }\n }\n return true;\n };\n\n return data.filter((row) => matchRow(row, query));\n}\n"],"mappings":"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"}
|
|
@@ -46,20 +46,16 @@ export type TableHeadBase = {
|
|
|
46
46
|
editable?: boolean;
|
|
47
47
|
};
|
|
48
48
|
/**
|
|
49
|
-
* createColumnsFromHeads
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
* @typedef {Object} CreateColumnsOptions
|
|
53
|
-
* @property {string} [locale] - ロケール / Locale for date formatting
|
|
54
|
-
* @property {string} [timezone] - タイムゾーン / Timezone for date formatting
|
|
55
|
-
* @property {string} [arraySeparator] - 配列の結合文字 / Separator for joining array values
|
|
49
|
+
* Compatibility options for {@link createColumnsFromHeads}.
|
|
50
|
+
* @remarks Only arraySeparator is currently consumed; locale and timezone do not affect generated cells.
|
|
51
|
+
* @see createColumnsFromHeads
|
|
56
52
|
*/
|
|
57
53
|
export type CreateColumnsOptions = {
|
|
58
|
-
/**
|
|
54
|
+
/** Reserved compatibility option; currently ignored by createColumnsFromHeads. No locale default is applied here. */
|
|
59
55
|
locale?: string;
|
|
60
|
-
/**
|
|
56
|
+
/** Reserved compatibility option; currently ignored by createColumnsFromHeads. No timezone default is applied here. */
|
|
61
57
|
timezone?: string;
|
|
62
|
-
/**
|
|
58
|
+
/** Separator for joining array values; defaults to " / ". */
|
|
63
59
|
arraySeparator?: string;
|
|
64
60
|
};
|
|
65
61
|
/**
|
|
@@ -71,9 +67,12 @@ export type CreateColumnsOptions = {
|
|
|
71
67
|
* @returns {unknown} 指定パスの値、存在しない場合はundefined / The value at the path
|
|
72
68
|
*
|
|
73
69
|
* @example
|
|
74
|
-
*
|
|
75
|
-
* getNestedValue
|
|
76
|
-
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { getNestedValue } from '@alneas/appkit-react/tools/data-table';
|
|
72
|
+
* const obj = { user: { profile: { name: 'John' } } };
|
|
73
|
+
* getNestedValue(obj, 'user.profile.name'); // 'John'
|
|
74
|
+
* getNestedValue(obj, 'user.email'); // undefined
|
|
75
|
+
* ```
|
|
77
76
|
*/
|
|
78
77
|
export declare const getNestedValue: (obj: KV, path: string) => unknown;
|
|
79
78
|
/**
|
|
@@ -82,8 +81,12 @@ export declare const getNestedValue: (obj: KV, path: string) => unknown;
|
|
|
82
81
|
* Each generator returns a function that takes a row and returns a formatted string.
|
|
83
82
|
*
|
|
84
83
|
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* import { cellGenerators } from '@alneas/appkit-react/tools/data-table';
|
|
86
|
+
* const rowData = { createdAt: new Date(2026, 0, 15) };
|
|
85
87
|
* const dateCell = cellGenerators.Date('createdAt');
|
|
86
|
-
* const formatted = dateCell(rowData);
|
|
88
|
+
* const formatted = dateCell(rowData);
|
|
89
|
+
* ```
|
|
87
90
|
*/
|
|
88
91
|
export declare const cellGenerators: {
|
|
89
92
|
/**
|
|
@@ -127,7 +130,11 @@ export declare const cellGenerators: {
|
|
|
127
130
|
* @returns {(row: KV) => string} セルレンダラー関数 / Cell renderer function
|
|
128
131
|
*
|
|
129
132
|
* @example
|
|
130
|
-
*
|
|
133
|
+
* ```ts
|
|
134
|
+
* import { cellGenerators } from '@alneas/appkit-react/tools/data-table';
|
|
135
|
+
* const statusCell = cellGenerators.Option('status', { 0: 'Pending', 1: 'Complete' });
|
|
136
|
+
* const label = statusCell({ status: 1 }); // 'Complete'
|
|
137
|
+
* ```
|
|
131
138
|
*/
|
|
132
139
|
Option: (field: string, options?: Record<string | number, string>) => (row: KV) => string;
|
|
133
140
|
/**
|
|
@@ -178,25 +185,25 @@ export declare const timeSort: SortingFn<KV>;
|
|
|
178
185
|
*/
|
|
179
186
|
export declare const trimmedSort: SortingFn<KV>;
|
|
180
187
|
/**
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* -
|
|
187
|
-
* -
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
* @param {TableHeadBase[]} heads - ヘッダー定義の配列 / Array of header definitions
|
|
191
|
-
* @param {CreateColumnsOptions} [options] - オプション設定 / Optional configuration
|
|
192
|
-
* @returns {ColumnDef<KV>[]} TanStack Tableのカラム定義配列 / Array of column definitions
|
|
193
|
-
*
|
|
188
|
+
* Creates table column definitions from declarative headers and built-in cell generators.
|
|
189
|
+
* @param heads - Header definitions in display order; field selects a row path and id can
|
|
190
|
+
* override the source path. Cell type defaults to String and sorting is enabled unless explicitly false.
|
|
191
|
+
* @param options - Array formatting options; see {@link CreateColumnsOptions}. arraySeparator
|
|
192
|
+
* defaults to " / "; locale and timezone are accepted but ignored by this function.
|
|
193
|
+
* @returns A newly allocated column-definition array; each definition closes over its header configuration.
|
|
194
|
+
* @remarks Date/Time cells receive only the field name and use their cell-generator defaults;
|
|
195
|
+
* passing locale/timezone here does not change them. Custom head.cell receives the original row.
|
|
196
|
+
* The generated JSX uses Appkit UI components; import Appkit CSS in the rendering host.
|
|
194
197
|
* @example
|
|
198
|
+
* ```tsx
|
|
199
|
+
* import { createColumnsFromHeads } from '@alneas/appkit-react/tools/data-table';
|
|
200
|
+
* import '@alneas/appkit-react/styles';
|
|
195
201
|
* const columns = createColumnsFromHeads([
|
|
196
|
-
* { field: 'name', text: '
|
|
197
|
-
* { field: 'birthday', text: '
|
|
198
|
-
* { field: 'status', text: '
|
|
199
|
-
* ]);
|
|
202
|
+
* { field: 'name', text: 'Name' },
|
|
203
|
+
* { field: 'birthday', text: 'Birthday', type: 'Date' },
|
|
204
|
+
* { field: 'status', text: 'Status', type: 'Option', options: { 0: 'Pending', 1: 'Done' } },
|
|
205
|
+
* ], { arraySeparator: ', ' });
|
|
206
|
+
* ```
|
|
200
207
|
*/
|
|
201
208
|
export declare const createColumnsFromHeads: (heads: TableHeadBase[], options?: CreateColumnsOptions) => ColumnDef<KV>[];
|
|
202
209
|
/**
|
|
@@ -208,9 +215,12 @@ export declare const createColumnsFromHeads: (heads: TableHeadBase[], options?:
|
|
|
208
215
|
* @returns {string} 結合された文字列、空の場合は空文字列 / Joined string or empty string
|
|
209
216
|
*
|
|
210
217
|
* @example
|
|
211
|
-
*
|
|
212
|
-
* joinValues
|
|
213
|
-
* joinValues(); //
|
|
218
|
+
* ```ts
|
|
219
|
+
* import { joinValues } from '@alneas/appkit-react/tools/data-table';
|
|
220
|
+
* joinValues(['a', 'b', 'c']); // 'a / b / c'
|
|
221
|
+
* joinValues(['a', 'b'], ', '); // 'a, b'
|
|
222
|
+
* joinValues(); // ''
|
|
223
|
+
* ```
|
|
214
224
|
*/
|
|
215
225
|
export declare const joinValues: (value?: string[], separator?: string) => string;
|
|
216
226
|
/**
|