@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":"GanttChart.js","names":["MemoTaskBar","memo","GanttTaskBar","EMPTY_DEPENDENCIES","GanttChart","locale","enUS","optimisticTasks","setOptimisticTasks","useState","prevTasks","setPrevTasks","tasks","currentTasks","disableOptimisticUpdates","saving","setSaving","saveError","setSaveError","saveLock","useRef","sourceTasks","requestId","useEffect","graphError","useMemo","dependencies","dependencyError","planningView","schedulingOptions","workingDayPredicate","showCriticalPath","autoSchedule","planGanttTasks","error","criticalTasks","task","schedulingError","onTasksChange","displayTasks","localDate","value","parseISO","useGanttState","state","editDialogOpen","setEditDialogOpen","editingTask","setEditingTask","showTaskList","displayConfig","showChart","taskListWidth","showHorizontalBorders","gridConfig","showVerticalBorders","showWeekendHighlight","showTodayHighlight","rowIds","visibleTasks","virtualized","scrollContainerRef","windowStart","windowEnd","rowIndices","useGanttRowWindow","rowHeight","rowEvents","mountedTasks","index","todayX","getXPosition","containerWidth","viewMode","handleTaskClick","useCallback","selectTask","onTaskClick","editMode","item","publishTask","token","source","previousOptimistic","schedule","next","updatedTask","scheduleGanttTasks","onTaskUpdate","handleTaskSave","datesChanged","saved","handleDateChange","original","taskId","updated","start","end","oldStart","planningDate","oldEnd","addDays","moving","differenceInCalendarDays","getGanttWorkingDuration","handleProgressChange","handleTaskDelete","nextOptimistic","onTaskDelete","handleAddTask","parentId","handleZoomIn","maxWidth","scaleConfig","cellWidth","handleZoomOut","minWidth","t","key","cn","className","delay","GanttToolbar","setViewMode","goToPrevious","goToNext","goToToday","showAddButton","onAddTask","Button","Plus","listRef","bottomInset","selectedTaskId","hierarchyConfig","toggleTaskExpand","ChevronDown","ChevronRight","event","progressConfig","Avatar","AvatarFallback","showRowAddButton","milestones","onMilestoneClick","ms","totalDays","allDays","isMonthStart","day","isFirstMonday","isYearStart","isMonday","showUpperLabel","upperLabelText","showLowerLabel","lowerLabelText","borderClass","format","isWeekend","isToday","isSameDay","startDate","markers","renderMarker","marker","GanttDependencyLayer","left","width","getWidth","baselineLeft","baselineWidth","baselineConfig","date","TaskEditDialog","color"],"sources":["../../../../src/tools/components/gantt/GanttChart.tsx"],"sourcesContent":["/**\n * Enhanced Gantt Chart Component\n *\n * タスクとマイルストーンをタイムライン形式で表示する高機能ガントチャート。\n *\n * ## Features\n * - 階層タスク(サブタスク)表示\n * - 進捗率の可視化\n * - ベースライン比較\n * - ダイアログによるタスク編集\n * - 日単位のバー移動・両端リサイズ(明示的に有効化、キーボード対応)\n * - FS/SS/FF/SF依存線、稼働日・クリティカルパス・容量制約付き前方自動調整\n * - 100件を超えるタスクの行仮想化(全行描画へ切替可能)\n * - フィルタリング機能\n * - カスタムマーカー\n * - 日次/週次/月次ビュー切替\n * - 楽観的UIアップデート\n *\n * ## AI/Automation Attributes\n * - `data-testid`: Container element\n * - `data-task-count`: Number of visible tasks\n *\n * @example\n * ```tsx\n * import { GanttChart } from '@alneas/appkit-react/tools/gantt';\n *\n * const tasks = [\n * {\n * id: '1',\n * title: 'Phase 1',\n * start_date: '2024-01-01',\n * due_date: '2024-01-31',\n * status: 'doing',\n * progress: 50,\n * created_at: '2024-01-01',\n * },\n * ];\n *\n * <GanttChart\n * tasks={tasks}\n * initialViewMode=\"Week\"\n * onTaskClick={(task) => console.log(task)}\n * onTaskUpdate={(task) => updateTask(task)}\n * />\n * ```\n *\n * @param props - {@link GanttChartProps}\n * @returns ガントチャートコンポーネント\n */\n\nimport { useState, useRef, useEffect, useMemo, useCallback, memo } from 'react';\nimport {\n format,\n isSameDay,\n isToday,\n isWeekend,\n differenceInCalendarDays,\n addDays,\n parseISO,\n} from 'date-fns';\nimport { enUS } from 'date-fns/locale';\nimport { ChevronDown, ChevronRight, Plus } from 'lucide-react';\n\nimport { Avatar, AvatarFallback } from '../ui/avatar';\nimport { Button } from '../ui/button';\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n GanttChartProps,\n GanttTask,\n ComputedTask,\n GanttMarker,\n GanttDependency,\n} from './types';\nimport { useGanttState } from './hooks/useGanttState';\nimport { GanttToolbar } from './components/GanttToolbar';\nimport { GanttTaskBar } from './components/GanttTaskBar';\nimport { TaskEditDialog } from './dialogs/TaskEditDialog';\nimport { dependencyError, scheduleGanttTasks } from './hooks/gantt-scheduling';\nimport { GanttDependencyLayer } from './components/GanttDependencyLayer';\nimport { planGanttTasks } from './hooks/gantt-planning';\nimport { useGanttRowWindow } from './hooks/use-gantt-row-window';\nimport {\n getGanttWorkingDuration,\n planningDate,\n workingDayPredicate,\n} from './hooks/gantt-working-calendar';\n\nconst MemoTaskBar = memo(GanttTaskBar);\nconst EMPTY_DEPENDENCIES: GanttDependency[] = [];\n\n/**\n * タスクとマイルストーンを階層構造およびタイムライン形式で表示する、高機能なガントチャートコンポーネント。\n */\nexport function GanttChart({\n tasks,\n milestones = [],\n markers = [],\n onTaskClick,\n onTaskUpdate,\n onTasksChange,\n dependencies = EMPTY_DEPENDENCIES,\n autoSchedule = false,\n schedulingOptions,\n showCriticalPath = false,\n dateEditing,\n onTaskDelete,\n onAddTask,\n onMilestoneClick,\n className,\n initialViewMode = 'Week',\n taskBarDisplay = 'none',\n displayConfig,\n scaleConfig,\n gridConfig,\n baselineConfig,\n progressConfig,\n hierarchyConfig,\n filterConfig,\n editMode = 'dialog',\n editableFields,\n showAddButton,\n showRowAddButton,\n disableOptimisticUpdates = false,\n}: GanttChartProps) {\n const locale = enUS;\n\n // -------------------------------------------------------------------------\n // State Management\n // -------------------------------------------------------------------------\n\n const [optimisticTasks, setOptimisticTasks] = useState<GanttTask[] | null>(null);\n\n // Reset optimistic state during render when original tasks prop changes\n const [prevTasks, setPrevTasks] = useState<GanttTask[]>(tasks);\n if (tasks !== prevTasks) {\n setPrevTasks(tasks);\n setOptimisticTasks(null);\n }\n\n const currentTasks = disableOptimisticUpdates || !optimisticTasks ? tasks : optimisticTasks;\n const [saving, setSaving] = useState(false);\n const [saveError, setSaveError] = useState<string | null>(null);\n const saveLock = useRef(false);\n const sourceTasks = useRef(tasks);\n const requestId = useRef(0);\n useEffect(() => {\n sourceTasks.current = tasks;\n }, [tasks]);\n useEffect(\n () => () => {\n requestId.current++;\n },\n [],\n );\n const graphError = useMemo(\n () => (dependencies.length ? dependencyError(currentTasks, dependencies) : null),\n [currentTasks, dependencies],\n );\n const planningView = useMemo(() => {\n try {\n const isWorking = schedulingOptions?.calendar\n ? workingDayPredicate(schedulingOptions.calendar)\n : undefined;\n const plan =\n showCriticalPath || (autoSchedule && schedulingOptions)\n ? planGanttTasks(currentTasks, dependencies, {\n ...schedulingOptions,\n resourceLeveling: autoSchedule ? schedulingOptions?.resourceLeveling : undefined,\n })\n : undefined;\n return { isWorking, plan, error: null };\n } catch (error) {\n return { error: error instanceof Error ? error.message : 'Invalid schedule.' };\n }\n }, [currentTasks, dependencies, schedulingOptions, showCriticalPath, autoSchedule]);\n const criticalTasks = useMemo(\n () =>\n new Map(\n showCriticalPath\n ? planningView.plan?.criticalPath.tasks.map((task) => [task.taskId, task])\n : [],\n ),\n [showCriticalPath, planningView.plan],\n );\n const schedulingError =\n autoSchedule && !onTasksChange\n ? 'Automatic scheduling requires onTasksChange for atomic updates.'\n : (graphError ?? planningView.error);\n const displayTasks = useMemo(() => {\n if (!schedulingOptions && !showCriticalPath) return currentTasks;\n const localDate = (value: GanttTask['start_date']) =>\n typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2}$/.test(value) ? parseISO(value) : value;\n // Match day-planner date-only parsing without applying the computed schedule during render.\n return currentTasks.map((task) => ({\n ...task,\n start_date: localDate(task.start_date),\n due_date: localDate(task.due_date),\n created_at: localDate(task.created_at)!,\n }));\n }, [currentTasks, schedulingOptions, showCriticalPath]);\n\n const {\n state,\n visibleTasks,\n allDays,\n startDate,\n totalDays,\n setViewMode,\n selectTask,\n toggleTaskExpand,\n setCellWidth,\n goToToday,\n goToPrevious,\n goToNext,\n getXPosition,\n getWidth,\n } = useGanttState({\n tasks: displayTasks,\n initialViewMode,\n hierarchyConfig,\n scaleConfig,\n });\n\n const { viewMode, currentDate, cellWidth, rowHeight, selectedTaskId } = state;\n\n // Dialog state\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const [editingTask, setEditingTask] = useState<GanttTask | null>(null);\n\n // -------------------------------------------------------------------------\n // Display Config Defaults\n // -------------------------------------------------------------------------\n\n const showTaskList = displayConfig?.showTaskList ?? true;\n const showChart = displayConfig?.showChart ?? true;\n const taskListWidth = displayConfig?.taskListWidth ?? 256;\n const showHorizontalBorders = gridConfig?.showHorizontalBorders ?? true;\n const showVerticalBorders = gridConfig?.showVerticalBorders ?? true;\n const showWeekendHighlight = gridConfig?.showWeekendHighlight ?? true;\n const showTodayHighlight = gridConfig?.showTodayHighlight ?? true;\n\n // -------------------------------------------------------------------------\n // Scroll Management\n // -------------------------------------------------------------------------\n\n const rowIds = useMemo(() => visibleTasks.map((task) => task.id), [visibleTasks]);\n const virtualized = displayConfig?.virtualizeRows !== false && visibleTasks.length > 100;\n const {\n chartRef: scrollContainerRef,\n listRef,\n start: windowStart,\n end: windowEnd,\n indices: rowIndices,\n bottomInset,\n onScroll,\n onFocusCapture,\n onBlurCapture,\n onKeyDownCapture,\n onPointerDownCapture,\n onPointerUpCapture,\n onPointerCancelCapture,\n onLostPointerCapture,\n } = useGanttRowWindow(\n rowIds,\n rowHeight,\n virtualized,\n editDialogOpen ? editingTask?.id : undefined,\n `${showTaskList}:${showChart}`,\n );\n const rowEvents = {\n onScroll,\n onFocusCapture,\n onBlurCapture,\n onKeyDownCapture,\n onPointerDownCapture,\n onPointerUpCapture,\n onPointerCancelCapture,\n onLostPointerCapture,\n };\n const mountedTasks = rowIndices.map((index) => ({ task: visibleTasks[index], index }));\n\n useEffect(() => {\n if (scrollContainerRef.current) {\n const todayX = getXPosition(new Date());\n const containerWidth = scrollContainerRef.current.clientWidth;\n scrollContainerRef.current.scrollLeft = todayX - containerWidth / 2;\n }\n }, [viewMode, getXPosition, scrollContainerRef]);\n\n // -------------------------------------------------------------------------\n // Handlers\n // -------------------------------------------------------------------------\n\n const handleTaskClick = useCallback(\n (task: ComputedTask) => {\n if (saveLock.current) return;\n selectTask(task.id);\n onTaskClick?.(task);\n\n if (editMode === 'dialog') {\n setEditingTask(currentTasks.find((item) => item.id === task.id) ?? task);\n setEditDialogOpen(true);\n }\n },\n [selectTask, onTaskClick, editMode, currentTasks],\n );\n\n const publishTask = useCallback(\n async (updatedTask: GanttTask, schedule: boolean) => {\n if (saveLock.current) return false;\n const token = ++requestId.current;\n const source = tasks;\n const previousOptimistic = optimisticTasks;\n saveLock.current = true;\n setSaving(true);\n setSaveError(null);\n try {\n // Validate the proposed schedule, so a dialog can repair invalid input dates.\n if (schedule && autoSchedule && !onTasksChange)\n throw new Error('Automatic scheduling requires onTasksChange for atomic updates.');\n let next = currentTasks.map((task) => (task.id === updatedTask.id ? updatedTask : task));\n if (schedule && autoSchedule)\n next = scheduleGanttTasks(next, dependencies, schedulingOptions);\n if (!disableOptimisticUpdates) setOptimisticTasks(next);\n if (onTasksChange) await onTasksChange(next);\n else await onTaskUpdate?.(updatedTask);\n return token === requestId.current;\n } catch (error) {\n if (token === requestId.current) {\n if (sourceTasks.current === source) setOptimisticTasks(previousOptimistic);\n setSaveError(error instanceof Error ? error.message : 'Unable to save task changes.');\n }\n return false;\n } finally {\n if (token === requestId.current) {\n saveLock.current = false;\n setSaving(false);\n }\n }\n },\n [\n tasks,\n optimisticTasks,\n autoSchedule,\n onTasksChange,\n currentTasks,\n dependencies,\n schedulingOptions,\n disableOptimisticUpdates,\n onTaskUpdate,\n ],\n );\n const handleTaskSave = async (updatedTask: GanttTask) => {\n // The date fields in the dialog edit duration; do not retain an earlier drag's override.\n const datesChanged =\n editingTask &&\n (String(updatedTask.start_date) !== String(editingTask.start_date) ||\n String(updatedTask.due_date) !== String(editingTask.due_date));\n const saved = await publishTask(\n autoSchedule && schedulingOptions && datesChanged\n ? { ...updatedTask, durationDays: undefined }\n : updatedTask,\n true,\n );\n if (saved) {\n setEditDialogOpen(false);\n setEditingTask(null);\n }\n return saved;\n };\n const handleDateChange = useCallback(\n (taskId: string, start: Date, end: Date) => {\n const original = currentTasks.find((task) => task.id === taskId);\n if (!original) return;\n let updated = { ...original, start_date: start, due_date: end };\n if (autoSchedule && schedulingOptions) {\n try {\n const oldStart = planningDate(original.start_date ?? original.created_at);\n const oldEnd =\n original.due_date == null ? addDays(oldStart, 1) : planningDate(original.due_date);\n const moving =\n differenceInCalendarDays(start, oldStart) === differenceInCalendarDays(end, oldEnd);\n // Moving preserves effort across weekends; resizing deliberately recalculates effort.\n updated = {\n ...updated,\n durationDays: getGanttWorkingDuration(\n moving ? original : { ...updated, durationDays: undefined },\n schedulingOptions.calendar,\n ),\n };\n } catch (error) {\n setSaveError(error instanceof Error ? error.message : 'Invalid task dates.');\n return;\n }\n }\n void publishTask(updated, true);\n },\n [currentTasks, autoSchedule, schedulingOptions, publishTask],\n );\n const handleProgressChange = useCallback(\n (taskId: string, progress: number) => {\n const original = currentTasks.find((item) => item.id === taskId);\n if (original) void publishTask({ ...original, progress }, false);\n },\n [currentTasks, publishTask],\n );\n\n const handleTaskDelete = (taskId: string) => {\n if (saveLock.current) return;\n if (!disableOptimisticUpdates) {\n const nextOptimistic = currentTasks.filter((t) => t.id !== taskId);\n setOptimisticTasks(nextOptimistic);\n }\n\n onTaskDelete?.(taskId);\n setEditDialogOpen(false);\n setEditingTask(null);\n };\n\n const handleAddTask = (parentId?: string) => {\n onAddTask?.(parentId);\n };\n\n const handleZoomIn = () => {\n const maxWidth = scaleConfig?.maxCellWidth ?? 100;\n setCellWidth(Math.min(cellWidth * 1.5, maxWidth));\n };\n\n const handleZoomOut = () => {\n const minWidth = scaleConfig?.minCellWidth ?? 5;\n setCellWidth(Math.max(cellWidth / 1.5, minWidth));\n };\n\n // -------------------------------------------------------------------------\n // Helper for translation\n // -------------------------------------------------------------------------\n\n const t = (key: string) => {\n const map: Record<string, string> = {\n today: 'Today',\n day: 'Day',\n week: 'Week',\n month: 'Month',\n tasks: 'Tasks',\n milestones: 'Milestones',\n };\n return map[key.toLowerCase()] || key;\n };\n\n // -------------------------------------------------------------------------\n // Render\n // -------------------------------------------------------------------------\n\n return (\n <div\n aria-busy={saving}\n data-task-count={visibleTasks.length}\n data-virtualized={virtualized || undefined}\n className={cn(\n 'flex flex-col h-full bg-background border overflow-hidden [border-radius:var(--radius-lg)] [box-shadow:var(--shadow-sm)]',\n className,\n )}\n >\n {/* Toolbar */}\n {showCriticalPath && planningView.plan && (\n <div className='px-2 py-1 text-xs text-muted-foreground' role='status'>\n Critical path (dependencies only): {planningView.plan.criticalPath.taskIds.length} tasks;\n resource contention is excluded from float.\n </div>\n )}\n {autoSchedule && schedulingOptions?.resourceLeveling?.enabled && planningView.plan && (\n <details className='px-2 py-1 text-xs text-muted-foreground' data-resource-leveling>\n <summary>\n Resource leveling preview: {planningView.plan.resourceDelays.length} delayed tasks (not\n applied until save)\n </summary>\n <ul>\n {planningView.plan.resourceDelays.map((delay) => (\n <li key={delay.taskId}>\n {currentTasks.find((task) => task.id === delay.taskId)?.title ?? delay.taskId}:\n capacity +{delay.directDays}d, predecessors +{delay.propagatedDays}d\n </li>\n ))}\n </ul>\n </details>\n )}\n {(saveError || schedulingError) && (\n <div role='alert' className='p-2 text-sm text-destructive'>\n {saveError || schedulingError}\n </div>\n )}\n <GanttToolbar\n currentDate={currentDate}\n viewMode={viewMode}\n scaleConfig={scaleConfig}\n filterConfig={filterConfig}\n onViewModeChange={setViewMode}\n onPrevious={goToPrevious}\n onNext={goToNext}\n onToday={goToToday}\n onZoomIn={scaleConfig?.zoomControls ? handleZoomIn : undefined}\n onZoomOut={scaleConfig?.zoomControls ? handleZoomOut : undefined}\n />\n\n <div className='flex flex-1 min-h-0 overflow-hidden'>\n {/* Sidebar (Task Names) */}\n {showTaskList && (\n <div\n className='flex-shrink-0 border-r bg-background flex flex-col z-20 [box-shadow:var(--shadow-sm)]'\n style={{ width: taskListWidth }}\n >\n <div\n className='border-b bg-muted/10 flex items-center justify-between text-muted-foreground [padding-left:var(--spacing-4)] [padding-right:var(--spacing-4)] [font-weight:var(--font-weight-semibold)] [font-size:var(--text-sm)]'\n style={{ height: rowHeight, flexShrink: 0 }}\n >\n <span>{t('tasks')}</span>\n {showAddButton && onAddTask && (\n <Button\n variant='ghost'\n size='icon'\n className='h-6 w-6'\n onClick={() => handleAddTask()}\n >\n <Plus className='h-4 w-4' />\n </Button>\n )}\n </div>\n <div\n ref={listRef}\n {...rowEvents}\n data-gantt-list-viewport\n className='flex-1 min-h-0 overflow-auto'\n >\n <div style={{ paddingBottom: bottomInset }}>\n <div style={{ height: visibleTasks.length * rowHeight, position: 'relative' }}>\n {mountedTasks.map(({ task, index }) => (\n <div\n key={task.id}\n data-gantt-row-id={task.id}\n className={cn(\n 'border-b flex items-center px-2 text-sm font-medium hover:bg-muted/50 cursor-pointer transition-colors group',\n selectedTaskId === task.id && 'bg-muted',\n )}\n style={{\n height: rowHeight,\n position: 'absolute',\n top: index * rowHeight,\n left: 0,\n right: 0,\n paddingLeft: task.computedLevel * (hierarchyConfig?.indentWidth ?? 16) + 8,\n }}\n onClick={() => handleTaskClick(task)}\n >\n {/* Expand/Collapse */}\n {task.hasChildren ? (\n <Button\n aria-label={`${task.title}: expand/collapse`}\n aria-expanded={state.expandedTaskIds.has(task.id)}\n variant='ghost'\n size='icon'\n className='h-4 w-4 p-0 mr-1 hover:bg-muted rounded-sm'\n onClick={(e) => {\n e.stopPropagation();\n toggleTaskExpand(task.id);\n }}\n >\n {state.expandedTaskIds.has(task.id) ? (\n <ChevronDown className='h-3 w-3' />\n ) : (\n <ChevronRight className='h-3 w-3' />\n )}\n </Button>\n ) : (\n <div className='w-4' />\n )}\n\n {/* Status dot */}\n <div\n className={cn(\n 'w-2 h-2 rounded-full mr-2 flex-shrink-0',\n task.status === 'done'\n ? 'bg-green-500'\n : task.status === 'review'\n ? 'bg-primary'\n : task.status === 'doing'\n ? 'bg-blue-500'\n : task.status === 'blocked'\n ? 'bg-red-500'\n : 'bg-muted',\n )}\n />\n\n {/* Title */}\n <button\n type='button'\n className='truncate flex-1 text-left'\n onClick={(event) => {\n event.stopPropagation();\n handleTaskClick(task);\n }}\n >\n {task.title}\n </button>\n\n {/* Progress */}\n {progressConfig?.showProgress && task.computedProgress > 0 && (\n <span className='text-xs text-muted-foreground mr-2'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Assignee */}\n {task.assignee_id && (\n <Avatar className='h-5 w-5 ml-1 border opacity-70 group-hover:opacity-100'>\n <AvatarFallback className='text-[9px]'>\n {task.assignee_name?.[0]?.toUpperCase() ??\n task.priority?.[0]?.toUpperCase() ??\n '?'}\n </AvatarFallback>\n </Avatar>\n )}\n\n {/* Add child button */}\n {showRowAddButton && onAddTask && (\n <Button\n variant='ghost'\n size='icon'\n className='h-5 w-5 opacity-0 group-hover:opacity-100'\n onClick={(e) => {\n e.stopPropagation();\n handleAddTask(task.id);\n }}\n >\n <Plus className='h-3 w-3' />\n </Button>\n )}\n </div>\n ))}\n </div>\n\n {/* Milestones header */}\n {milestones.length > 0 && (\n <div\n className='border-b bg-muted/5 flex items-center px-4 text-xs font-semibold text-muted-foreground uppercase'\n style={{ height: rowHeight }}\n >\n {t('milestones')}\n </div>\n )}\n\n {/* Milestones */}\n {milestones.map((ms) => (\n <div\n key={ms.id}\n className='border-b flex items-center px-4 text-sm hover:bg-muted/50 cursor-pointer'\n style={{ height: rowHeight }}\n onClick={() => onMilestoneClick?.(ms)}\n >\n <div className='w-2 h-2 rotate-45 bg-amber-500 mr-2 flex-shrink-0' />\n <span className='truncate'>{ms.name}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n )}\n\n {/* Main Chart Area */}\n {showChart && (\n <div\n ref={scrollContainerRef}\n {...rowEvents}\n data-gantt-chart-viewport\n className='flex-1 min-w-0 overflow-auto bg-muted/5 relative'\n >\n <div style={{ width: `${totalDays * cellWidth}px`, minWidth: '100%' }}>\n {/* Timeline Header */}\n <div\n className='sticky top-0 z-10 bg-background border-b flex relative'\n style={{ height: rowHeight }}\n >\n {allDays.map((day) => {\n const isMonthStart = day.getDate() === 1;\n const isFirstMonday = day.getDate() <= 7 && day.getDay() === 1;\n const isYearStart = day.getMonth() === 0 && day.getDate() === 1;\n const isMonday = day.getDay() === 1;\n\n let showUpperLabel = false;\n let upperLabelText = '';\n let showLowerLabel = false;\n let lowerLabelText = '';\n let borderClass = showVerticalBorders ? 'border-r' : '';\n\n if (viewMode === 'Day') {\n showUpperLabel = isMonthStart;\n upperLabelText = format(day, 'yyyy MMMM', { locale });\n showLowerLabel = true;\n lowerLabelText = format(day, 'd', { locale });\n } else if (viewMode === 'Week') {\n showUpperLabel = isFirstMonday || (isMonthStart && day.getDay() === 1);\n upperLabelText = format(day, 'yyyy MMM', { locale });\n showLowerLabel = isMonday;\n lowerLabelText = format(day, 'd', { locale });\n borderClass = isMonday && showVerticalBorders ? 'border-l border-border' : '';\n } else if (viewMode === 'Month') {\n showUpperLabel = isYearStart;\n upperLabelText = format(day, 'yyyy', { locale });\n showLowerLabel = isMonthStart;\n borderClass =\n isMonthStart && showVerticalBorders ? 'border-l border-border' : '';\n if (showLowerLabel) lowerLabelText = format(day, 'MMM', { locale });\n }\n\n return (\n <div\n key={day.toISOString()}\n className={cn(\n 'flex-shrink-0 flex flex-col justify-end pb-1 text-[10px] text-muted-foreground select-none text-center relative',\n borderClass,\n (planningView.isWorking\n ? !planningView.isWorking(day)\n : showWeekendHighlight && isWeekend(day)) &&\n viewMode === 'Day' &&\n 'bg-muted/10',\n showTodayHighlight &&\n isToday(day) &&\n 'bg-primary/10 font-semibold text-primary',\n )}\n style={{ width: cellWidth }}\n >\n {showUpperLabel && (\n <span className='absolute top-1 left-1 text-xs font-bold text-foreground pl-1 whitespace-nowrap z-10'>\n {upperLabelText}\n </span>\n )}\n {showLowerLabel && (\n <span\n className={cn(\n viewMode !== 'Day' && 'absolute bottom-1 left-1',\n 'whitespace-nowrap tracking-tighter',\n )}\n >\n {lowerLabelText}\n </span>\n )}\n </div>\n );\n })}\n </div>\n\n {/* Grid & Task Bars */}\n <div className='relative'>\n {/* Background Grid */}\n <div className='absolute inset-0 flex pointer-events-none'>\n {allDays.map((day) => {\n let borderClass = '';\n if (showVerticalBorders) {\n if (viewMode === 'Day') {\n borderClass = 'border-r';\n } else if (viewMode === 'Week' && day.getDay() === 1) {\n borderClass = 'border-l';\n } else if (viewMode === 'Month' && day.getDate() === 1) {\n borderClass = 'border-l';\n }\n }\n\n return (\n <div\n key={`grid-${day.toISOString()}`}\n className={cn(\n 'flex-shrink-0 h-full',\n borderClass,\n (planningView.isWorking\n ? !planningView.isWorking(day)\n : showWeekendHighlight && isWeekend(day)) && viewMode === 'Day'\n ? 'bg-muted/20'\n : 'bg-transparent',\n showTodayHighlight && isToday(day) && 'bg-primary/5',\n )}\n style={{ width: cellWidth }}\n />\n );\n })}\n\n {/* Current Time Indicator */}\n {(isSameDay(new Date(), startDate) || new Date() > startDate) &&\n viewMode !== 'Month' && (\n <div\n className='absolute top-0 bottom-0 border-l-2 border-red-500/50 z-30 pointer-events-none'\n style={{ left: getXPosition(new Date()) + cellWidth / 2 }}\n >\n <div className='w-2 h-2 bg-red-500 rounded-full -ml-[5px] mt-[-4px]' />\n </div>\n )}\n\n {/* Custom Markers */}\n {markers.map((marker) => renderMarker(marker, getXPosition))}\n </div>\n\n {/* Task Rows */}\n {!graphError && dependencies.length > 0 && (\n <GanttDependencyLayer\n tasks={visibleTasks}\n dependencies={dependencies}\n criticalDependencyIds={\n showCriticalPath\n ? new Set(planningView.plan?.criticalPath.dependencyIds)\n : undefined\n }\n rowHeight={rowHeight}\n width={totalDays * cellWidth}\n getXPosition={getXPosition}\n getWidth={getWidth}\n rowWindow={virtualized ? { start: windowStart, end: windowEnd } : undefined}\n />\n )}\n <div>\n <div style={{ height: visibleTasks.length * rowHeight, position: 'relative' }}>\n {mountedTasks.map(({ task, index }) => {\n const left = getXPosition(task.computedStart);\n const width = getWidth(task.computedStart, task.computedEnd);\n\n // Baseline positions\n let baselineLeft: number | undefined;\n let baselineWidth: number | undefined;\n if (\n baselineConfig?.showBaseline &&\n task.baseline_start &&\n task.baseline_end\n ) {\n baselineLeft = getXPosition(new Date(task.baseline_start));\n baselineWidth = getWidth(\n new Date(task.baseline_start),\n new Date(task.baseline_end),\n );\n }\n\n return (\n <div\n key={task.id}\n data-gantt-row-id={task.id}\n className={cn('relative', showHorizontalBorders && 'border-b')}\n style={{\n height: rowHeight,\n position: 'absolute',\n top: index * rowHeight,\n left: 0,\n right: 0,\n }}\n >\n <MemoTaskBar\n task={task}\n critical={criticalTasks.get(task.id)?.critical}\n totalFloatDays={criticalTasks.get(task.id)?.totalFloatDays}\n left={left}\n width={width}\n rowHeight={rowHeight}\n taskBarDisplay={taskBarDisplay}\n progressConfig={progressConfig}\n baselineConfig={baselineConfig}\n baselineLeft={baselineLeft}\n baselineWidth={baselineWidth}\n onClick={handleTaskClick}\n dateEditing={dateEditing}\n cellWidth={cellWidth}\n editingDisabled={saving}\n onDateChange={\n editMode !== 'none' &&\n (onTasksChange || onTaskUpdate) &&\n !task.hasChildren &&\n !(autoSchedule && schedulingError)\n ? handleDateChange\n : undefined\n }\n onProgressChange={\n editMode !== 'none' &&\n (onTasksChange || onTaskUpdate) &&\n !(task.hasChildren && hierarchyConfig?.autoRollupProgress)\n ? handleProgressChange\n : undefined\n }\n />\n </div>\n );\n })}\n </div>\n {milestones.length > 0 && <div aria-hidden style={{ height: rowHeight }} />}\n\n {/* Milestone Rows */}\n {milestones.map((ms) => {\n const date = ms.due_date ? new Date(ms.due_date) : new Date();\n const left = getXPosition(date);\n\n return (\n <div\n key={ms.id}\n className={cn('relative', showHorizontalBorders && 'border-b')}\n style={{ height: rowHeight }}\n >\n <div\n className='absolute top-3 w-6 h-6 rotate-45 bg-amber-400 border-2 border-background shadow-md hover:scale-110 transition-transform cursor-help z-10'\n style={{ left: left - 10 }}\n title={`${ms.name} - ${format(date, 'MMM d')}`}\n />\n <span\n className='absolute top-3 text-xs text-muted-foreground whitespace-nowrap ml-2 pointer-events-none font-medium'\n style={{ left: left + 14 }}\n >\n {ms.name}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n\n {/* Edit Dialog */}\n {editMode === 'dialog' && (\n <TaskEditDialog\n task={editingTask}\n open={editDialogOpen}\n onOpenChange={setEditDialogOpen}\n onSave={handleTaskSave}\n error={saveError}\n onDelete={onTaskDelete ? handleTaskDelete : undefined}\n editableFields={editableFields}\n />\n )}\n </div>\n );\n}\n\n// ============================================================================\n// Helper: Render Marker\n// ============================================================================\n\nfunction renderMarker(marker: GanttMarker, getXPosition: (date: Date) => number) {\n const date = new Date(marker.date);\n const left = getXPosition(date);\n const color = marker.color || 'var(--primary)';\n\n if (marker.type === 'range' && marker.endDate) {\n const endDate = new Date(marker.endDate);\n const endLeft = getXPosition(endDate);\n const width = endLeft - left;\n\n return (\n <div\n key={marker.id}\n className='absolute top-0 bottom-0 opacity-20 pointer-events-none z-5'\n style={{\n left,\n width,\n backgroundColor: color,\n }}\n title={marker.label}\n />\n );\n }\n\n return (\n <div\n key={marker.id}\n className='absolute top-0 bottom-0 border-l-2 border-dashed z-20 pointer-events-none'\n style={{\n left,\n borderColor: color,\n }}\n title={marker.label}\n >\n {marker.label && (\n <span\n className='absolute top-0 left-1 text-[10px] font-semibold whitespace-nowrap px-1 rounded'\n style={{ color, backgroundColor: `color-mix(in srgb, ${color} 20%, transparent)` }}\n >\n {marker.label}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GanttChart.js","names":["MemoTaskBar","memo","GanttTaskBar","EMPTY_DEPENDENCIES","GanttChart","locale","enUS","optimisticTasks","setOptimisticTasks","useState","prevTasks","setPrevTasks","tasks","currentTasks","disableOptimisticUpdates","saving","setSaving","saveError","setSaveError","saveLock","useRef","sourceTasks","requestId","useEffect","graphError","useMemo","dependencies","dependencyError","planningView","schedulingOptions","workingDayPredicate","showCriticalPath","autoSchedule","planGanttTasks","error","criticalTasks","task","schedulingError","onTasksChange","displayTasks","localDate","value","parseISO","useGanttState","state","editDialogOpen","setEditDialogOpen","editingTask","setEditingTask","showTaskList","displayConfig","showChart","taskListWidth","showHorizontalBorders","gridConfig","showVerticalBorders","showWeekendHighlight","showTodayHighlight","rowIds","visibleTasks","virtualized","scrollContainerRef","windowStart","windowEnd","rowIndices","useGanttRowWindow","rowHeight","rowEvents","mountedTasks","index","todayX","getXPosition","containerWidth","viewMode","handleTaskClick","useCallback","selectTask","onTaskClick","editMode","item","publishTask","token","source","previousOptimistic","schedule","next","updatedTask","scheduleGanttTasks","onTaskUpdate","handleTaskSave","datesChanged","saved","handleDateChange","original","taskId","updated","start","end","oldStart","planningDate","oldEnd","addDays","moving","differenceInCalendarDays","getGanttWorkingDuration","handleProgressChange","handleTaskDelete","nextOptimistic","onTaskDelete","handleAddTask","parentId","handleZoomIn","maxWidth","scaleConfig","cellWidth","handleZoomOut","minWidth","t","key","cn","className","delay","GanttToolbar","setViewMode","goToPrevious","goToNext","goToToday","showAddButton","onAddTask","Button","Plus","listRef","bottomInset","selectedTaskId","hierarchyConfig","toggleTaskExpand","ChevronDown","ChevronRight","event","progressConfig","Avatar","AvatarFallback","showRowAddButton","milestones","onMilestoneClick","ms","totalDays","allDays","isMonthStart","day","isFirstMonday","isYearStart","isMonday","showUpperLabel","upperLabelText","showLowerLabel","lowerLabelText","borderClass","format","isWeekend","isToday","isSameDay","startDate","markers","renderMarker","marker","GanttDependencyLayer","left","width","getWidth","baselineLeft","baselineWidth","baselineConfig","date","TaskEditDialog","color"],"sources":["../../../../src/tools/components/gantt/GanttChart.tsx"],"sourcesContent":["import { useState, useRef, useEffect, useMemo, useCallback, memo } from 'react';\nimport {\n format,\n isSameDay,\n isToday,\n isWeekend,\n differenceInCalendarDays,\n addDays,\n parseISO,\n} from 'date-fns';\nimport { enUS } from 'date-fns/locale';\nimport { ChevronDown, ChevronRight, Plus } from 'lucide-react';\n\nimport { Avatar, AvatarFallback } from '../ui/avatar';\nimport { Button } from '../ui/button';\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n GanttChartProps,\n GanttTask,\n ComputedTask,\n GanttMarker,\n GanttDependency,\n} from './types';\nimport { useGanttState } from './hooks/useGanttState';\nimport { GanttToolbar } from './components/GanttToolbar';\nimport { GanttTaskBar } from './components/GanttTaskBar';\nimport { TaskEditDialog } from './dialogs/TaskEditDialog';\nimport { dependencyError, scheduleGanttTasks } from './hooks/gantt-scheduling';\nimport { GanttDependencyLayer } from './components/GanttDependencyLayer';\nimport { planGanttTasks } from './hooks/gantt-planning';\nimport { useGanttRowWindow } from './hooks/use-gantt-row-window';\nimport {\n getGanttWorkingDuration,\n planningDate,\n workingDayPredicate,\n} from './hooks/gantt-working-calendar';\n\nconst MemoTaskBar = memo(GanttTaskBar);\nconst EMPTY_DEPENDENCIES: GanttDependency[] = [];\n\n/**\n * Renders hierarchical tasks, milestones and dependency planning on an editable timeline.\n * @param props - Task data, display/planning settings and host callbacks; see {@link GanttChartProps}.\n * @returns The chart with its toolbar, task list, timeline and optional edit dialog.\n * @remarks Import Appkit CSS. initialViewMode defaults to Week, editMode to dialog and\n * optimistic updates are enabled unless disableOptimisticUpdates is true. The host owns\n * persistence and must replace tasks after updates; optimistic state resets when tasks changes.\n * Date dragging/resizing and auto-scheduling require their explicit options. Calendar formatting\n * uses enUS. The root exposes data-task-count for the filtered visible task count and\n * data-virtualized=\"true\" while virtualized; no data-testid prop/attribute is implemented.\n * @example\n * ```tsx\n * import { GanttChart, type GanttTask } from '@alneas/appkit-react/tools/gantt';\n * import '@alneas/appkit-react/styles';\n *\n * const tasks: GanttTask[] = [{ id: 'phase-1', title: 'Phase 1', status: 'doing',\n * start_date: '2026-01-01', due_date: '2026-01-31', progress: 50, created_at: '2026-01-01' }];\n * export function ProjectTimeline() {\n * return <GanttChart tasks={tasks} initialViewMode=\"Week\" editMode=\"none\" />;\n * }\n * ```\n */\nexport function GanttChart({\n tasks,\n milestones = [],\n markers = [],\n onTaskClick,\n onTaskUpdate,\n onTasksChange,\n dependencies = EMPTY_DEPENDENCIES,\n autoSchedule = false,\n schedulingOptions,\n showCriticalPath = false,\n dateEditing,\n onTaskDelete,\n onAddTask,\n onMilestoneClick,\n className,\n initialViewMode = 'Week',\n taskBarDisplay = 'none',\n displayConfig,\n scaleConfig,\n gridConfig,\n baselineConfig,\n progressConfig,\n hierarchyConfig,\n filterConfig,\n editMode = 'dialog',\n editableFields,\n showAddButton,\n showRowAddButton,\n disableOptimisticUpdates = false,\n}: GanttChartProps) {\n const locale = enUS;\n\n // -------------------------------------------------------------------------\n // State Management\n // -------------------------------------------------------------------------\n\n const [optimisticTasks, setOptimisticTasks] = useState<GanttTask[] | null>(null);\n\n // Reset optimistic state during render when original tasks prop changes\n const [prevTasks, setPrevTasks] = useState<GanttTask[]>(tasks);\n if (tasks !== prevTasks) {\n setPrevTasks(tasks);\n setOptimisticTasks(null);\n }\n\n const currentTasks = disableOptimisticUpdates || !optimisticTasks ? tasks : optimisticTasks;\n const [saving, setSaving] = useState(false);\n const [saveError, setSaveError] = useState<string | null>(null);\n const saveLock = useRef(false);\n const sourceTasks = useRef(tasks);\n const requestId = useRef(0);\n useEffect(() => {\n sourceTasks.current = tasks;\n }, [tasks]);\n useEffect(\n () => () => {\n requestId.current++;\n },\n [],\n );\n const graphError = useMemo(\n () => (dependencies.length ? dependencyError(currentTasks, dependencies) : null),\n [currentTasks, dependencies],\n );\n const planningView = useMemo(() => {\n try {\n const isWorking = schedulingOptions?.calendar\n ? workingDayPredicate(schedulingOptions.calendar)\n : undefined;\n const plan =\n showCriticalPath || (autoSchedule && schedulingOptions)\n ? planGanttTasks(currentTasks, dependencies, {\n ...schedulingOptions,\n resourceLeveling: autoSchedule ? schedulingOptions?.resourceLeveling : undefined,\n })\n : undefined;\n return { isWorking, plan, error: null };\n } catch (error) {\n return { error: error instanceof Error ? error.message : 'Invalid schedule.' };\n }\n }, [currentTasks, dependencies, schedulingOptions, showCriticalPath, autoSchedule]);\n const criticalTasks = useMemo(\n () =>\n new Map(\n showCriticalPath\n ? planningView.plan?.criticalPath.tasks.map((task) => [task.taskId, task])\n : [],\n ),\n [showCriticalPath, planningView.plan],\n );\n const schedulingError =\n autoSchedule && !onTasksChange\n ? 'Automatic scheduling requires onTasksChange for atomic updates.'\n : (graphError ?? planningView.error);\n const displayTasks = useMemo(() => {\n if (!schedulingOptions && !showCriticalPath) return currentTasks;\n const localDate = (value: GanttTask['start_date']) =>\n typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2}$/.test(value) ? parseISO(value) : value;\n // Match day-planner date-only parsing without applying the computed schedule during render.\n return currentTasks.map((task) => ({\n ...task,\n start_date: localDate(task.start_date),\n due_date: localDate(task.due_date),\n created_at: localDate(task.created_at)!,\n }));\n }, [currentTasks, schedulingOptions, showCriticalPath]);\n\n const {\n state,\n visibleTasks,\n allDays,\n startDate,\n totalDays,\n setViewMode,\n selectTask,\n toggleTaskExpand,\n setCellWidth,\n goToToday,\n goToPrevious,\n goToNext,\n getXPosition,\n getWidth,\n } = useGanttState({\n tasks: displayTasks,\n initialViewMode,\n hierarchyConfig,\n scaleConfig,\n });\n\n const { viewMode, currentDate, cellWidth, rowHeight, selectedTaskId } = state;\n\n // Dialog state\n const [editDialogOpen, setEditDialogOpen] = useState(false);\n const [editingTask, setEditingTask] = useState<GanttTask | null>(null);\n\n // -------------------------------------------------------------------------\n // Display Config Defaults\n // -------------------------------------------------------------------------\n\n const showTaskList = displayConfig?.showTaskList ?? true;\n const showChart = displayConfig?.showChart ?? true;\n const taskListWidth = displayConfig?.taskListWidth ?? 256;\n const showHorizontalBorders = gridConfig?.showHorizontalBorders ?? true;\n const showVerticalBorders = gridConfig?.showVerticalBorders ?? true;\n const showWeekendHighlight = gridConfig?.showWeekendHighlight ?? true;\n const showTodayHighlight = gridConfig?.showTodayHighlight ?? true;\n\n // -------------------------------------------------------------------------\n // Scroll Management\n // -------------------------------------------------------------------------\n\n const rowIds = useMemo(() => visibleTasks.map((task) => task.id), [visibleTasks]);\n const virtualized = displayConfig?.virtualizeRows !== false && visibleTasks.length > 100;\n const {\n chartRef: scrollContainerRef,\n listRef,\n start: windowStart,\n end: windowEnd,\n indices: rowIndices,\n bottomInset,\n onScroll,\n onFocusCapture,\n onBlurCapture,\n onKeyDownCapture,\n onPointerDownCapture,\n onPointerUpCapture,\n onPointerCancelCapture,\n onLostPointerCapture,\n } = useGanttRowWindow(\n rowIds,\n rowHeight,\n virtualized,\n editDialogOpen ? editingTask?.id : undefined,\n `${showTaskList}:${showChart}`,\n );\n const rowEvents = {\n onScroll,\n onFocusCapture,\n onBlurCapture,\n onKeyDownCapture,\n onPointerDownCapture,\n onPointerUpCapture,\n onPointerCancelCapture,\n onLostPointerCapture,\n };\n const mountedTasks = rowIndices.map((index) => ({ task: visibleTasks[index], index }));\n\n useEffect(() => {\n if (scrollContainerRef.current) {\n const todayX = getXPosition(new Date());\n const containerWidth = scrollContainerRef.current.clientWidth;\n scrollContainerRef.current.scrollLeft = todayX - containerWidth / 2;\n }\n }, [viewMode, getXPosition, scrollContainerRef]);\n\n // -------------------------------------------------------------------------\n // Handlers\n // -------------------------------------------------------------------------\n\n const handleTaskClick = useCallback(\n (task: ComputedTask) => {\n if (saveLock.current) return;\n selectTask(task.id);\n onTaskClick?.(task);\n\n if (editMode === 'dialog') {\n setEditingTask(currentTasks.find((item) => item.id === task.id) ?? task);\n setEditDialogOpen(true);\n }\n },\n [selectTask, onTaskClick, editMode, currentTasks],\n );\n\n const publishTask = useCallback(\n async (updatedTask: GanttTask, schedule: boolean) => {\n if (saveLock.current) return false;\n const token = ++requestId.current;\n const source = tasks;\n const previousOptimistic = optimisticTasks;\n saveLock.current = true;\n setSaving(true);\n setSaveError(null);\n try {\n // Validate the proposed schedule, so a dialog can repair invalid input dates.\n if (schedule && autoSchedule && !onTasksChange)\n throw new Error('Automatic scheduling requires onTasksChange for atomic updates.');\n let next = currentTasks.map((task) => (task.id === updatedTask.id ? updatedTask : task));\n if (schedule && autoSchedule)\n next = scheduleGanttTasks(next, dependencies, schedulingOptions);\n if (!disableOptimisticUpdates) setOptimisticTasks(next);\n if (onTasksChange) await onTasksChange(next);\n else await onTaskUpdate?.(updatedTask);\n return token === requestId.current;\n } catch (error) {\n if (token === requestId.current) {\n if (sourceTasks.current === source) setOptimisticTasks(previousOptimistic);\n setSaveError(error instanceof Error ? error.message : 'Unable to save task changes.');\n }\n return false;\n } finally {\n if (token === requestId.current) {\n saveLock.current = false;\n setSaving(false);\n }\n }\n },\n [\n tasks,\n optimisticTasks,\n autoSchedule,\n onTasksChange,\n currentTasks,\n dependencies,\n schedulingOptions,\n disableOptimisticUpdates,\n onTaskUpdate,\n ],\n );\n const handleTaskSave = async (updatedTask: GanttTask) => {\n // The date fields in the dialog edit duration; do not retain an earlier drag's override.\n const datesChanged =\n editingTask &&\n (String(updatedTask.start_date) !== String(editingTask.start_date) ||\n String(updatedTask.due_date) !== String(editingTask.due_date));\n const saved = await publishTask(\n autoSchedule && schedulingOptions && datesChanged\n ? { ...updatedTask, durationDays: undefined }\n : updatedTask,\n true,\n );\n if (saved) {\n setEditDialogOpen(false);\n setEditingTask(null);\n }\n return saved;\n };\n const handleDateChange = useCallback(\n (taskId: string, start: Date, end: Date) => {\n const original = currentTasks.find((task) => task.id === taskId);\n if (!original) return;\n let updated = { ...original, start_date: start, due_date: end };\n if (autoSchedule && schedulingOptions) {\n try {\n const oldStart = planningDate(original.start_date ?? original.created_at);\n const oldEnd =\n original.due_date == null ? addDays(oldStart, 1) : planningDate(original.due_date);\n const moving =\n differenceInCalendarDays(start, oldStart) === differenceInCalendarDays(end, oldEnd);\n // Moving preserves effort across weekends; resizing deliberately recalculates effort.\n updated = {\n ...updated,\n durationDays: getGanttWorkingDuration(\n moving ? original : { ...updated, durationDays: undefined },\n schedulingOptions.calendar,\n ),\n };\n } catch (error) {\n setSaveError(error instanceof Error ? error.message : 'Invalid task dates.');\n return;\n }\n }\n void publishTask(updated, true);\n },\n [currentTasks, autoSchedule, schedulingOptions, publishTask],\n );\n const handleProgressChange = useCallback(\n (taskId: string, progress: number) => {\n const original = currentTasks.find((item) => item.id === taskId);\n if (original) void publishTask({ ...original, progress }, false);\n },\n [currentTasks, publishTask],\n );\n\n const handleTaskDelete = (taskId: string) => {\n if (saveLock.current) return;\n if (!disableOptimisticUpdates) {\n const nextOptimistic = currentTasks.filter((t) => t.id !== taskId);\n setOptimisticTasks(nextOptimistic);\n }\n\n onTaskDelete?.(taskId);\n setEditDialogOpen(false);\n setEditingTask(null);\n };\n\n const handleAddTask = (parentId?: string) => {\n onAddTask?.(parentId);\n };\n\n const handleZoomIn = () => {\n const maxWidth = scaleConfig?.maxCellWidth ?? 100;\n setCellWidth(Math.min(cellWidth * 1.5, maxWidth));\n };\n\n const handleZoomOut = () => {\n const minWidth = scaleConfig?.minCellWidth ?? 5;\n setCellWidth(Math.max(cellWidth / 1.5, minWidth));\n };\n\n // -------------------------------------------------------------------------\n // Helper for translation\n // -------------------------------------------------------------------------\n\n const t = (key: string) => {\n const map: Record<string, string> = {\n today: 'Today',\n day: 'Day',\n week: 'Week',\n month: 'Month',\n tasks: 'Tasks',\n milestones: 'Milestones',\n };\n return map[key.toLowerCase()] || key;\n };\n\n // -------------------------------------------------------------------------\n // Render\n // -------------------------------------------------------------------------\n\n return (\n <div\n aria-busy={saving}\n data-task-count={visibleTasks.length}\n data-virtualized={virtualized || undefined}\n className={cn(\n 'flex flex-col h-full bg-background border overflow-hidden [border-radius:var(--radius-lg)] [box-shadow:var(--shadow-sm)]',\n className,\n )}\n >\n {/* Toolbar */}\n {showCriticalPath && planningView.plan && (\n <div className='px-2 py-1 text-xs text-muted-foreground' role='status'>\n Critical path (dependencies only): {planningView.plan.criticalPath.taskIds.length} tasks;\n resource contention is excluded from float.\n </div>\n )}\n {autoSchedule && schedulingOptions?.resourceLeveling?.enabled && planningView.plan && (\n <details className='px-2 py-1 text-xs text-muted-foreground' data-resource-leveling>\n <summary>\n Resource leveling preview: {planningView.plan.resourceDelays.length} delayed tasks (not\n applied until save)\n </summary>\n <ul>\n {planningView.plan.resourceDelays.map((delay) => (\n <li key={delay.taskId}>\n {currentTasks.find((task) => task.id === delay.taskId)?.title ?? delay.taskId}:\n capacity +{delay.directDays}d, predecessors +{delay.propagatedDays}d\n </li>\n ))}\n </ul>\n </details>\n )}\n {(saveError || schedulingError) && (\n <div role='alert' className='p-2 text-sm text-destructive'>\n {saveError || schedulingError}\n </div>\n )}\n <GanttToolbar\n currentDate={currentDate}\n viewMode={viewMode}\n scaleConfig={scaleConfig}\n filterConfig={filterConfig}\n onViewModeChange={setViewMode}\n onPrevious={goToPrevious}\n onNext={goToNext}\n onToday={goToToday}\n onZoomIn={scaleConfig?.zoomControls ? handleZoomIn : undefined}\n onZoomOut={scaleConfig?.zoomControls ? handleZoomOut : undefined}\n />\n\n <div className='flex flex-1 min-h-0 overflow-hidden'>\n {/* Sidebar (Task Names) */}\n {showTaskList && (\n <div\n className='flex-shrink-0 border-r bg-background flex flex-col z-20 [box-shadow:var(--shadow-sm)]'\n style={{ width: taskListWidth }}\n >\n <div\n className='border-b bg-muted/10 flex items-center justify-between text-muted-foreground [padding-left:var(--spacing-4)] [padding-right:var(--spacing-4)] [font-weight:var(--font-weight-semibold)] [font-size:var(--text-sm)]'\n style={{ height: rowHeight, flexShrink: 0 }}\n >\n <span>{t('tasks')}</span>\n {showAddButton && onAddTask && (\n <Button\n variant='ghost'\n size='icon'\n className='h-6 w-6'\n onClick={() => handleAddTask()}\n >\n <Plus className='h-4 w-4' />\n </Button>\n )}\n </div>\n <div\n ref={listRef}\n {...rowEvents}\n data-gantt-list-viewport\n className='flex-1 min-h-0 overflow-auto'\n >\n <div style={{ paddingBottom: bottomInset }}>\n <div style={{ height: visibleTasks.length * rowHeight, position: 'relative' }}>\n {mountedTasks.map(({ task, index }) => (\n <div\n key={task.id}\n data-gantt-row-id={task.id}\n className={cn(\n 'border-b flex items-center px-2 text-sm font-medium hover:bg-muted/50 cursor-pointer transition-colors group',\n selectedTaskId === task.id && 'bg-muted',\n )}\n style={{\n height: rowHeight,\n position: 'absolute',\n top: index * rowHeight,\n left: 0,\n right: 0,\n paddingLeft: task.computedLevel * (hierarchyConfig?.indentWidth ?? 16) + 8,\n }}\n onClick={() => handleTaskClick(task)}\n >\n {/* Expand/Collapse */}\n {task.hasChildren ? (\n <Button\n aria-label={`${task.title}: expand/collapse`}\n aria-expanded={state.expandedTaskIds.has(task.id)}\n variant='ghost'\n size='icon'\n className='h-4 w-4 p-0 mr-1 hover:bg-muted rounded-sm'\n onClick={(e) => {\n e.stopPropagation();\n toggleTaskExpand(task.id);\n }}\n >\n {state.expandedTaskIds.has(task.id) ? (\n <ChevronDown className='h-3 w-3' />\n ) : (\n <ChevronRight className='h-3 w-3' />\n )}\n </Button>\n ) : (\n <div className='w-4' />\n )}\n\n {/* Status dot */}\n <div\n className={cn(\n 'w-2 h-2 rounded-full mr-2 flex-shrink-0',\n task.status === 'done'\n ? 'bg-green-500'\n : task.status === 'review'\n ? 'bg-primary'\n : task.status === 'doing'\n ? 'bg-blue-500'\n : task.status === 'blocked'\n ? 'bg-red-500'\n : 'bg-muted',\n )}\n />\n\n {/* Title */}\n <button\n type='button'\n className='truncate flex-1 text-left'\n onClick={(event) => {\n event.stopPropagation();\n handleTaskClick(task);\n }}\n >\n {task.title}\n </button>\n\n {/* Progress */}\n {progressConfig?.showProgress && task.computedProgress > 0 && (\n <span className='text-xs text-muted-foreground mr-2'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Assignee */}\n {task.assignee_id && (\n <Avatar className='h-5 w-5 ml-1 border opacity-70 group-hover:opacity-100'>\n <AvatarFallback className='text-[9px]'>\n {task.assignee_name?.[0]?.toUpperCase() ??\n task.priority?.[0]?.toUpperCase() ??\n '?'}\n </AvatarFallback>\n </Avatar>\n )}\n\n {/* Add child button */}\n {showRowAddButton && onAddTask && (\n <Button\n variant='ghost'\n size='icon'\n className='h-5 w-5 opacity-0 group-hover:opacity-100'\n onClick={(e) => {\n e.stopPropagation();\n handleAddTask(task.id);\n }}\n >\n <Plus className='h-3 w-3' />\n </Button>\n )}\n </div>\n ))}\n </div>\n\n {/* Milestones header */}\n {milestones.length > 0 && (\n <div\n className='border-b bg-muted/5 flex items-center px-4 text-xs font-semibold text-muted-foreground uppercase'\n style={{ height: rowHeight }}\n >\n {t('milestones')}\n </div>\n )}\n\n {/* Milestones */}\n {milestones.map((ms) => (\n <div\n key={ms.id}\n className='border-b flex items-center px-4 text-sm hover:bg-muted/50 cursor-pointer'\n style={{ height: rowHeight }}\n onClick={() => onMilestoneClick?.(ms)}\n >\n <div className='w-2 h-2 rotate-45 bg-amber-500 mr-2 flex-shrink-0' />\n <span className='truncate'>{ms.name}</span>\n </div>\n ))}\n </div>\n </div>\n </div>\n )}\n\n {/* Main Chart Area */}\n {showChart && (\n <div\n ref={scrollContainerRef}\n {...rowEvents}\n data-gantt-chart-viewport\n role='region'\n aria-label='Gantt timeline'\n tabIndex={0}\n className='flex-1 min-w-0 overflow-auto bg-muted/5 relative'\n >\n <div style={{ width: `${totalDays * cellWidth}px`, minWidth: '100%' }}>\n {/* Timeline Header */}\n <div\n className='sticky top-0 z-10 bg-background border-b flex relative'\n style={{ height: rowHeight }}\n >\n {allDays.map((day) => {\n const isMonthStart = day.getDate() === 1;\n const isFirstMonday = day.getDate() <= 7 && day.getDay() === 1;\n const isYearStart = day.getMonth() === 0 && day.getDate() === 1;\n const isMonday = day.getDay() === 1;\n\n let showUpperLabel = false;\n let upperLabelText = '';\n let showLowerLabel = false;\n let lowerLabelText = '';\n let borderClass = showVerticalBorders ? 'border-r' : '';\n\n if (viewMode === 'Day') {\n showUpperLabel = isMonthStart;\n upperLabelText = format(day, 'yyyy MMMM', { locale });\n showLowerLabel = true;\n lowerLabelText = format(day, 'd', { locale });\n } else if (viewMode === 'Week') {\n showUpperLabel = isFirstMonday || (isMonthStart && day.getDay() === 1);\n upperLabelText = format(day, 'yyyy MMM', { locale });\n showLowerLabel = isMonday;\n lowerLabelText = format(day, 'd', { locale });\n borderClass = isMonday && showVerticalBorders ? 'border-l border-border' : '';\n } else if (viewMode === 'Month') {\n showUpperLabel = isYearStart;\n upperLabelText = format(day, 'yyyy', { locale });\n showLowerLabel = isMonthStart;\n borderClass =\n isMonthStart && showVerticalBorders ? 'border-l border-border' : '';\n if (showLowerLabel) lowerLabelText = format(day, 'MMM', { locale });\n }\n\n return (\n <div\n key={day.toISOString()}\n className={cn(\n 'flex-shrink-0 flex flex-col justify-end pb-1 text-[10px] text-muted-foreground select-none text-center relative',\n borderClass,\n (planningView.isWorking\n ? !planningView.isWorking(day)\n : showWeekendHighlight && isWeekend(day)) &&\n viewMode === 'Day' &&\n 'bg-muted/10',\n showTodayHighlight &&\n isToday(day) &&\n 'bg-primary/10 font-semibold text-primary',\n )}\n style={{ width: cellWidth }}\n >\n {showUpperLabel && (\n <span className='absolute top-1 left-1 text-xs font-bold text-foreground pl-1 whitespace-nowrap z-10'>\n {upperLabelText}\n </span>\n )}\n {showLowerLabel && (\n <span\n className={cn(\n viewMode !== 'Day' && 'absolute bottom-1 left-1',\n 'whitespace-nowrap tracking-tighter',\n )}\n >\n {lowerLabelText}\n </span>\n )}\n </div>\n );\n })}\n </div>\n\n {/* Grid & Task Bars */}\n <div className='relative'>\n {/* Background Grid */}\n <div className='absolute inset-0 flex pointer-events-none'>\n {allDays.map((day) => {\n let borderClass = '';\n if (showVerticalBorders) {\n if (viewMode === 'Day') {\n borderClass = 'border-r';\n } else if (viewMode === 'Week' && day.getDay() === 1) {\n borderClass = 'border-l';\n } else if (viewMode === 'Month' && day.getDate() === 1) {\n borderClass = 'border-l';\n }\n }\n\n return (\n <div\n key={`grid-${day.toISOString()}`}\n className={cn(\n 'flex-shrink-0 h-full',\n borderClass,\n (planningView.isWorking\n ? !planningView.isWorking(day)\n : showWeekendHighlight && isWeekend(day)) && viewMode === 'Day'\n ? 'bg-muted/20'\n : 'bg-transparent',\n showTodayHighlight && isToday(day) && 'bg-primary/5',\n )}\n style={{ width: cellWidth }}\n />\n );\n })}\n\n {/* Current Time Indicator */}\n {(isSameDay(new Date(), startDate) || new Date() > startDate) &&\n viewMode !== 'Month' && (\n <div\n className='absolute top-0 bottom-0 border-l-2 border-red-500/50 z-30 pointer-events-none'\n style={{ left: getXPosition(new Date()) + cellWidth / 2 }}\n >\n <div className='w-2 h-2 bg-red-500 rounded-full -ml-[5px] mt-[-4px]' />\n </div>\n )}\n\n {/* Custom Markers */}\n {markers.map((marker) => renderMarker(marker, getXPosition))}\n </div>\n\n {/* Task Rows */}\n {!graphError && dependencies.length > 0 && (\n <GanttDependencyLayer\n tasks={visibleTasks}\n dependencies={dependencies}\n criticalDependencyIds={\n showCriticalPath\n ? new Set(planningView.plan?.criticalPath.dependencyIds)\n : undefined\n }\n rowHeight={rowHeight}\n width={totalDays * cellWidth}\n getXPosition={getXPosition}\n getWidth={getWidth}\n rowWindow={virtualized ? { start: windowStart, end: windowEnd } : undefined}\n />\n )}\n <div>\n <div style={{ height: visibleTasks.length * rowHeight, position: 'relative' }}>\n {mountedTasks.map(({ task, index }) => {\n const left = getXPosition(task.computedStart);\n const width = getWidth(task.computedStart, task.computedEnd);\n\n // Baseline positions\n let baselineLeft: number | undefined;\n let baselineWidth: number | undefined;\n if (\n baselineConfig?.showBaseline &&\n task.baseline_start &&\n task.baseline_end\n ) {\n baselineLeft = getXPosition(new Date(task.baseline_start));\n baselineWidth = getWidth(\n new Date(task.baseline_start),\n new Date(task.baseline_end),\n );\n }\n\n return (\n <div\n key={task.id}\n data-gantt-row-id={task.id}\n className={cn('relative', showHorizontalBorders && 'border-b')}\n style={{\n height: rowHeight,\n position: 'absolute',\n top: index * rowHeight,\n left: 0,\n right: 0,\n }}\n >\n <MemoTaskBar\n task={task}\n critical={criticalTasks.get(task.id)?.critical}\n totalFloatDays={criticalTasks.get(task.id)?.totalFloatDays}\n left={left}\n width={width}\n rowHeight={rowHeight}\n taskBarDisplay={taskBarDisplay}\n progressConfig={progressConfig}\n baselineConfig={baselineConfig}\n baselineLeft={baselineLeft}\n baselineWidth={baselineWidth}\n onClick={handleTaskClick}\n dateEditing={dateEditing}\n cellWidth={cellWidth}\n editingDisabled={saving}\n onDateChange={\n editMode !== 'none' &&\n (onTasksChange || onTaskUpdate) &&\n !task.hasChildren &&\n !(autoSchedule && schedulingError)\n ? handleDateChange\n : undefined\n }\n onProgressChange={\n editMode !== 'none' &&\n (onTasksChange || onTaskUpdate) &&\n !(task.hasChildren && hierarchyConfig?.autoRollupProgress)\n ? handleProgressChange\n : undefined\n }\n />\n </div>\n );\n })}\n </div>\n {milestones.length > 0 && <div aria-hidden style={{ height: rowHeight }} />}\n\n {/* Milestone Rows */}\n {milestones.map((ms) => {\n const date = ms.due_date ? new Date(ms.due_date) : new Date();\n const left = getXPosition(date);\n\n return (\n <div\n key={ms.id}\n className={cn('relative', showHorizontalBorders && 'border-b')}\n style={{ height: rowHeight }}\n >\n <div\n className='absolute top-3 w-6 h-6 rotate-45 bg-amber-400 border-2 border-background shadow-md hover:scale-110 transition-transform cursor-help z-10'\n style={{ left: left - 10 }}\n title={`${ms.name} - ${format(date, 'MMM d')}`}\n />\n <span\n className='absolute top-3 text-xs text-muted-foreground whitespace-nowrap ml-2 pointer-events-none font-medium'\n style={{ left: left + 14 }}\n >\n {ms.name}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n </div>\n </div>\n )}\n </div>\n\n {/* Edit Dialog */}\n {editMode === 'dialog' && (\n <TaskEditDialog\n task={editingTask}\n open={editDialogOpen}\n onOpenChange={setEditDialogOpen}\n onSave={handleTaskSave}\n error={saveError}\n onDelete={onTaskDelete ? handleTaskDelete : undefined}\n editableFields={editableFields}\n />\n )}\n </div>\n );\n}\n\n// ============================================================================\n// Helper: Render Marker\n// ============================================================================\n\nfunction renderMarker(marker: GanttMarker, getXPosition: (date: Date) => number) {\n const date = new Date(marker.date);\n const left = getXPosition(date);\n const color = marker.color || 'var(--primary)';\n\n if (marker.type === 'range' && marker.endDate) {\n const endDate = new Date(marker.endDate);\n const endLeft = getXPosition(endDate);\n const width = endLeft - left;\n\n return (\n <div\n key={marker.id}\n className='absolute top-0 bottom-0 opacity-20 pointer-events-none z-5'\n style={{\n left,\n width,\n backgroundColor: color,\n }}\n title={marker.label}\n />\n );\n }\n\n return (\n <div\n key={marker.id}\n className='absolute top-0 bottom-0 border-l-2 border-dashed z-20 pointer-events-none'\n style={{\n left,\n borderColor: color,\n }}\n title={marker.label}\n >\n {marker.label && (\n <span\n className='absolute top-0 left-1 text-[10px] font-semibold whitespace-nowrap px-1 rounded'\n style={{ color, backgroundColor: `color-mix(in srgb, ${color} 20%, transparent)` }}\n >\n {marker.label}\n </span>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../ui/lib/utils.cjs"),t=require("../hooks/gantt-hierarchy.cjs"),n=require("../hooks/use-gantt-date-editing.cjs");let r=require("react/jsx-runtime"),i=require("date-fns");function a({task:a,left:o,width:s,rowHeight:c,taskBarDisplay:l=`none`,progressConfig:u,baselineConfig:d,baselineLeft:f,baselineWidth:p,onClick:m,onProgressChange:h,dateEditing:g,cellWidth:_=0,onDateChange:v,editingDisabled:y=!1,critical:b,totalFloatDays:x}){let S=n.useGanttDateEditing(a,_,g,v,y),C=S.bind(`move`),w=o+S.leftDelta,T=s+S.widthDelta,E={done:`bg-green-500 hover:bg-green-600`,review:`bg-primary hover:bg-primary/90`,doing:`bg-blue-500 hover:bg-blue-600`,todo:`bg-muted-foreground/70 hover:bg-muted-foreground`,blocked:`bg-red-500 hover:bg-red-600`},D=E[a.status]||E.todo,O=a.due_date&&new Date(a.due_date)<new Date&&a.status!==`done`,k=u?.showProgress&&a.computedProgress>0,A=d?.showBaseline&&f!==void 0&&p!==void 0,j=(()=>{if(l===`none`)return``;let e=`${(0,i.differenceInDays)(a.computedEnd,a.computedStart)}d`,t=(0,i.format)(a.computedEnd,`M/d`);switch(l){case`duration`:return e;case`end-date`:return t;case`both`:return`${e} (${t})`;default:return``}})(),M=c-16;return(0,r.jsxs)(`div`,{className:`h-full relative group`,children:[A&&(0,r.jsx)(`div`,{className:e.cn(`absolute rounded-sm opacity-40`,d.baselineColor||`bg-muted-foreground`),style:{left:f,width:p,height:M-8,top:d?.baselinePosition===`above`?4:d?.baselinePosition===`below`?8+M-8:12}}),(0,r.jsxs)(`div`,{...C,"data-task-bar":a.id,"data-critical":b||void 0,title:x===void 0?void 0:`${a.title}: total float ${x} working days (dependencies only)`,role:m||S.available(`move`)?`button`:void 0,tabIndex:m||S.available(`move`)?0:void 0,"aria-disabled":y||void 0,"aria-
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../../ui/lib/utils.cjs"),t=require("../hooks/gantt-hierarchy.cjs"),n=require("../hooks/use-gantt-date-editing.cjs");let r=require("react/jsx-runtime"),i=require("date-fns");function a({task:a,left:o,width:s,rowHeight:c,taskBarDisplay:l=`none`,progressConfig:u,baselineConfig:d,baselineLeft:f,baselineWidth:p,onClick:m,onProgressChange:h,dateEditing:g,cellWidth:_=0,onDateChange:v,editingDisabled:y=!1,critical:b,totalFloatDays:x}){let S=n.useGanttDateEditing(a,_,g,v,y),C=S.bind(`move`),w=o+S.leftDelta,T=s+S.widthDelta,E={done:`bg-green-500 hover:bg-green-600`,review:`bg-primary hover:bg-primary/90`,doing:`bg-blue-500 hover:bg-blue-600`,todo:`bg-muted-foreground/70 hover:bg-muted-foreground`,blocked:`bg-red-500 hover:bg-red-600`},D=E[a.status]||E.todo,O=a.due_date&&new Date(a.due_date)<new Date&&a.status!==`done`,k=u?.showProgress&&a.computedProgress>0,A=d?.showBaseline&&f!==void 0&&p!==void 0,j=(()=>{if(l===`none`)return``;let e=`${(0,i.differenceInDays)(a.computedEnd,a.computedStart)}d`,t=(0,i.format)(a.computedEnd,`M/d`);switch(l){case`duration`:return e;case`end-date`:return t;case`both`:return`${e} (${t})`;default:return``}})(),M=c-16;return(0,r.jsxs)(`div`,{className:`h-full relative group`,children:[A&&(0,r.jsx)(`div`,{className:e.cn(`absolute rounded-sm opacity-40`,d.baselineColor||`bg-muted-foreground`),style:{left:f,width:p,height:M-8,top:d?.baselinePosition===`above`?4:d?.baselinePosition===`below`?8+M-8:12}}),(0,r.jsxs)(`div`,{...C,"data-task-bar":a.id,"data-critical":b||void 0,title:x===void 0?void 0:`${a.title}: total float ${x} working days (dependencies only)`,role:m||S.available(`move`)?`button`:void 0,tabIndex:m||S.available(`move`)?0:void 0,"aria-label":s<=50?a.title:void 0,"aria-disabled":y||void 0,"aria-description":S.allowed(`move`)?`Move with Left/Right, Enter to edit, Escape to cancel drag`:void 0,onKeyDown:e=>{C.onKeyDown(e),e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),m?.(a))},className:e.cn(`absolute rounded-md shadow-sm cursor-pointer transition-all border border-white/20 select-none flex items-center overflow-hidden`,D,O&&`ring-2 ring-destructive ring-offset-1`,b&&`outline outline-2 outline-offset-2 outline-fuchsia-600`),style:{left:w,width:T,touchAction:S.allowed(`move`)?`none`:void 0,height:M,top:8},onClick:e=>{e.stopPropagation(),!S.consumeClick()&&m?.(a)},children:[k&&(0,r.jsx)(`div`,{className:e.cn(`absolute inset-0 opacity-30`,u.progressColor||`bg-white`),style:{width:`${a.computedProgress}%`,borderRadius:`inherit`}}),(0,r.jsxs)(`div`,{className:`relative z-10 flex items-center justify-between w-full px-2`,children:[s>50&&(0,r.jsx)(`span`,{className:`text-[10px] sm:text-xs font-semibold text-white truncate drop-shadow-md`,children:a.title}),k&&s>80&&(0,r.jsxs)(`span`,{className:`text-[9px] text-white/80 ml-1 flex-shrink-0`,children:[Math.round(a.computedProgress),`%`]}),j&&s>100&&(0,r.jsx)(`span`,{className:`text-[9px] text-white/70 ml-auto flex-shrink-0`,children:j})]})]}),S.available(`start`)&&[`start`,`end`].map(e=>(0,r.jsx)(`button`,{type:`button`,...S.bind(e),disabled:y,"data-resize-edge":e,"aria-label":`${a.title}: resize ${e} with Left/Right`,className:`absolute z-30 cursor-ew-resize rounded bg-foreground/30 focus-visible:ring-2 focus-visible:ring-primary`,style:{left:e===`start`?w:w+T-8,top:8,width:8,height:M,touchAction:`none`},onClick:e=>e.stopPropagation()},e)),u?.editableProgress&&h&&(0,r.jsx)(`input`,{type:`range`,disabled:y,min:0,max:100,step:1,value:t.boundedProgress(a.computedProgress),"aria-label":`${a.title}: progress`,"aria-valuetext":`${Math.round(t.boundedProgress(a.computedProgress))}%`,className:`absolute z-20 accent-primary`,style:{left:o,width:Math.max(s,40),top:c-14,height:12},onClick:e=>e.stopPropagation(),onKeyDown:e=>e.stopPropagation(),onChange:e=>h(a.id,Number(e.currentTarget.value))}),s<=50&&(0,r.jsx)(`div`,{className:`absolute flex items-center text-xs text-foreground/70 whitespace-nowrap pl-2 pointer-events-none`,style:{left:o+s,top:8,height:M},children:a.title})]})}exports.GanttTaskBar=a;
|
|
2
2
|
//# sourceMappingURL=GanttTaskBar.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GanttTaskBar.cjs","names":["useGanttDateEditing","differenceInDays","format","cn","boundedProgress","require_ui_lib_utils","require_tools_components_gantt_hooks_gantt_hierarchy","require_tools_components_gantt_hooks_use_gantt_date_editing","react_jsx_runtime","date_fns","GanttTaskBar","editing","task","cellWidth","dateEditing","onDateChange","editingDisabled","move","displayLeft","left","displayWidth","width","statusColors","statusColor","isLate","showProgress","progressConfig","showBaseline","baselineConfig","baselineLeft","baselineWidth","displayText","taskBarDisplay","durationText","endText","barHeight","rowHeight","critical","totalFloatDays","onClick","event","edge","onProgressChange"],"sources":["../../../../../src/tools/components/gantt/components/GanttTaskBar.tsx"],"sourcesContent":["/**\n * Gantt Task Bar Component\n *\n * Renders an individual task bar with progress, status color, and interactions.\n */\n\nimport { cn } from \"../../../lib/utils\";\nimport type {\n ComputedTask,\n GanttProgressConfig,\n GanttBaselineConfig,\n TaskBarDisplay,\n GanttDateEditingConfig,\n} from '../types';\nimport { differenceInDays, format } from 'date-fns';\nimport { boundedProgress } from '../hooks/gantt-hierarchy';\nimport { useGanttDateEditing } from '../hooks/use-gantt-date-editing';\n\nexport interface GanttTaskBarProps {\n task: ComputedTask;\n left: number;\n width: number;\n rowHeight: number;\n taskBarDisplay?: TaskBarDisplay;\n progressConfig?: GanttProgressConfig;\n baselineConfig?: GanttBaselineConfig;\n baselineLeft?: number;\n baselineWidth?: number;\n onClick?: (task: ComputedTask) => void;\n onProgressChange?: (taskId: string, progress: number) => void;\n /** Opt-in pointer/keyboard date editing. */\n dateEditing?: GanttDateEditingConfig;\n /** Pixels per calendar day; required for pointer date editing. */\n cellWidth?: number;\n /** Committed date edit, excluding pointer previews. */\n onDateChange?: (taskId: string, start: Date, end: Date) => void;\n /** Temporarily disable controls during persistence without unmounting them. */\n editingDisabled?: boolean;\n /** Dependency-only critical-path emphasis. */\n critical?: boolean;\n /** Total float in working days, displayed in the tooltip. */\n totalFloatDays?: number;\n}\n\n/**\n * 個々のタスクの期間、進捗率、ステータスに応じた色、基準計画(ベースライン)をタイムライン上にバーとして描画するコンポーネント。\n */\nexport function GanttTaskBar({\n task,\n left,\n width,\n rowHeight,\n taskBarDisplay = 'none',\n progressConfig,\n baselineConfig,\n baselineLeft,\n baselineWidth,\n onClick,\n onProgressChange,\n dateEditing,\n cellWidth = 0,\n onDateChange,\n editingDisabled = false,\n critical,\n totalFloatDays,\n}: GanttTaskBarProps) {\n const editing = useGanttDateEditing(task, cellWidth, dateEditing, onDateChange, editingDisabled);\n const move = editing.bind('move');\n const displayLeft = left + editing.leftDelta;\n const displayWidth = width + editing.widthDelta;\n // Status colors\n const statusColors: Record<string, string> = {\n done: 'bg-green-500 hover:bg-green-600',\n review: 'bg-primary hover:bg-primary/90',\n doing: 'bg-blue-500 hover:bg-blue-600',\n todo: 'bg-muted-foreground/70 hover:bg-muted-foreground',\n blocked: 'bg-red-500 hover:bg-red-600',\n };\n\n const statusColor = statusColors[task.status] || statusColors.todo;\n const isLate = task.due_date && new Date(task.due_date) < new Date() && task.status !== 'done';\n const showProgress = progressConfig?.showProgress && task.computedProgress > 0;\n const showBaseline =\n baselineConfig?.showBaseline && baselineLeft !== undefined && baselineWidth !== undefined;\n\n // Calculate display text\n const getDisplayText = (): string => {\n if (taskBarDisplay === 'none') return '';\n\n const duration = differenceInDays(task.computedEnd, task.computedStart);\n const durationText = `${duration}d`;\n const endText = format(task.computedEnd, 'M/d');\n\n switch (taskBarDisplay) {\n case 'duration':\n return durationText;\n case 'end-date':\n return endText;\n case 'both':\n return `${durationText} (${endText})`;\n default:\n return '';\n }\n };\n\n const displayText = getDisplayText();\n const barHeight = rowHeight - 16; // 8px padding top/bottom\n const barTop = 8;\n\n return (\n <div className='h-full relative group'>\n {/* Baseline bar (if enabled) */}\n {showBaseline && (\n <div\n className={cn(\n 'absolute rounded-sm opacity-40',\n baselineConfig.baselineColor || 'bg-muted-foreground',\n )}\n style={{\n left: baselineLeft,\n width: baselineWidth,\n height: barHeight - 8,\n top:\n baselineConfig?.baselinePosition === 'above'\n ? barTop - 4\n : baselineConfig?.baselinePosition === 'below'\n ? barTop + barHeight - 8\n : barTop + 4,\n }}\n />\n )}\n\n {/* Main task bar */}\n <div\n {...move}\n data-task-bar={task.id}\n data-critical={critical || undefined}\n title={\n totalFloatDays === undefined\n ? undefined\n : `${task.title}: total float ${totalFloatDays} working days (dependencies only)`\n }\n role={onClick || editing.available('move') ? 'button' : undefined}\n tabIndex={onClick || editing.available('move') ? 0 : undefined}\n aria-disabled={editingDisabled || undefined}\n aria-label={\n editing.allowed('move')\n ? `${task.title}: move with Left/Right, Enter to edit, Escape to cancel drag`\n : task.title\n }\n onKeyDown={(event) => {\n move.onKeyDown(event);\n if (\n event.target === event.currentTarget &&\n (event.key === 'Enter' || event.key === ' ')\n ) {\n event.preventDefault();\n event.stopPropagation();\n onClick?.(task);\n }\n }}\n className={cn(\n 'absolute rounded-md shadow-sm cursor-pointer transition-all border border-white/20 select-none flex items-center overflow-hidden',\n statusColor,\n isLate && 'ring-2 ring-destructive ring-offset-1',\n critical && 'outline outline-2 outline-offset-2 outline-fuchsia-600',\n )}\n style={{\n left: displayLeft,\n width: displayWidth,\n touchAction: editing.allowed('move') ? 'none' : undefined,\n height: barHeight,\n top: barTop,\n }}\n onClick={(e) => {\n e.stopPropagation();\n if (editing.consumeClick()) return;\n onClick?.(task);\n }}\n >\n {/* Progress fill */}\n {showProgress && (\n <div\n className={cn(\n 'absolute inset-0 opacity-30',\n progressConfig.progressColor || 'bg-white',\n )}\n style={{\n width: `${task.computedProgress}%`,\n borderRadius: 'inherit',\n }}\n />\n )}\n\n {/* Content */}\n <div className='relative z-10 flex items-center justify-between w-full px-2'>\n {/* Title (only if wide enough) */}\n {width > 50 && (\n <span className='text-[10px] sm:text-xs font-semibold text-white truncate drop-shadow-md'>\n {task.title}\n </span>\n )}\n\n {/* Progress percentage */}\n {showProgress && width > 80 && (\n <span className='text-[9px] text-white/80 ml-1 flex-shrink-0'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Duration/End display */}\n {displayText && width > 100 && (\n <span className='text-[9px] text-white/70 ml-auto flex-shrink-0'>{displayText}</span>\n )}\n </div>\n </div>\n\n {editing.available('start') &&\n (['start', 'end'] as const).map((edge) => (\n <button\n key={edge}\n type='button'\n {...editing.bind(edge)}\n disabled={editingDisabled}\n data-resize-edge={edge}\n aria-label={`${task.title}: resize ${edge} with Left/Right`}\n className='absolute z-30 cursor-ew-resize rounded bg-foreground/30 focus-visible:ring-2 focus-visible:ring-primary'\n style={{\n left: edge === 'start' ? displayLeft : displayLeft + displayWidth - 8,\n top: barTop,\n width: 8,\n height: barHeight,\n touchAction: 'none',\n }}\n onClick={(event) => event.stopPropagation()}\n />\n ))}\n\n {progressConfig?.editableProgress && onProgressChange && (\n <input\n type='range'\n disabled={editingDisabled}\n min={0}\n max={100}\n step={1}\n value={boundedProgress(task.computedProgress)}\n aria-label={`${task.title}: progress`}\n aria-valuetext={`${Math.round(boundedProgress(task.computedProgress))}%`}\n className='absolute z-20 accent-primary'\n style={{ left, width: Math.max(width, 40), top: rowHeight - 14, height: 12 }}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n onChange={(event) => onProgressChange(task.id, Number(event.currentTarget.value))}\n />\n )}\n\n {/* External title (if bar too narrow) */}\n {width <= 50 && (\n <div\n className='absolute flex items-center text-xs text-foreground/70 whitespace-nowrap pl-2 pointer-events-none'\n style={{\n left: left + width,\n top: barTop,\n height: barHeight,\n }}\n >\n {task.title}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GanttTaskBar.cjs","names":["useGanttDateEditing","differenceInDays","format","cn","boundedProgress","require_ui_lib_utils","require_tools_components_gantt_hooks_gantt_hierarchy","require_tools_components_gantt_hooks_use_gantt_date_editing","react_jsx_runtime","date_fns","GanttTaskBar","editing","task","cellWidth","dateEditing","onDateChange","editingDisabled","move","displayLeft","left","displayWidth","width","statusColors","statusColor","isLate","showProgress","progressConfig","showBaseline","baselineConfig","baselineLeft","baselineWidth","displayText","taskBarDisplay","durationText","endText","barHeight","rowHeight","critical","totalFloatDays","onClick","event","edge","onProgressChange"],"sources":["../../../../../src/tools/components/gantt/components/GanttTaskBar.tsx"],"sourcesContent":["/**\n * Gantt Task Bar Component\n *\n * Renders an individual task bar with progress, status color, and interactions.\n */\n\nimport { cn } from \"../../../lib/utils\";\nimport type {\n ComputedTask,\n GanttProgressConfig,\n GanttBaselineConfig,\n TaskBarDisplay,\n GanttDateEditingConfig,\n} from '../types';\nimport { differenceInDays, format } from 'date-fns';\nimport { boundedProgress } from '../hooks/gantt-hierarchy';\nimport { useGanttDateEditing } from '../hooks/use-gantt-date-editing';\n\nexport interface GanttTaskBarProps {\n task: ComputedTask;\n left: number;\n width: number;\n rowHeight: number;\n taskBarDisplay?: TaskBarDisplay;\n progressConfig?: GanttProgressConfig;\n baselineConfig?: GanttBaselineConfig;\n baselineLeft?: number;\n baselineWidth?: number;\n onClick?: (task: ComputedTask) => void;\n onProgressChange?: (taskId: string, progress: number) => void;\n /** Opt-in pointer/keyboard date editing. */\n dateEditing?: GanttDateEditingConfig;\n /** Pixels per calendar day; required for pointer date editing. */\n cellWidth?: number;\n /** Committed date edit, excluding pointer previews. */\n onDateChange?: (taskId: string, start: Date, end: Date) => void;\n /** Temporarily disable controls during persistence without unmounting them. */\n editingDisabled?: boolean;\n /** Dependency-only critical-path emphasis. */\n critical?: boolean;\n /** Total float in working days, displayed in the tooltip. */\n totalFloatDays?: number;\n}\n\n/**\n * 個々のタスクの期間、進捗率、ステータスに応じた色、基準計画(ベースライン)をタイムライン上にバーとして描画するコンポーネント。\n */\nexport function GanttTaskBar({\n task,\n left,\n width,\n rowHeight,\n taskBarDisplay = 'none',\n progressConfig,\n baselineConfig,\n baselineLeft,\n baselineWidth,\n onClick,\n onProgressChange,\n dateEditing,\n cellWidth = 0,\n onDateChange,\n editingDisabled = false,\n critical,\n totalFloatDays,\n}: GanttTaskBarProps) {\n const editing = useGanttDateEditing(task, cellWidth, dateEditing, onDateChange, editingDisabled);\n const move = editing.bind('move');\n const displayLeft = left + editing.leftDelta;\n const displayWidth = width + editing.widthDelta;\n // Status colors\n const statusColors: Record<string, string> = {\n done: 'bg-green-500 hover:bg-green-600',\n review: 'bg-primary hover:bg-primary/90',\n doing: 'bg-blue-500 hover:bg-blue-600',\n todo: 'bg-muted-foreground/70 hover:bg-muted-foreground',\n blocked: 'bg-red-500 hover:bg-red-600',\n };\n\n const statusColor = statusColors[task.status] || statusColors.todo;\n const isLate = task.due_date && new Date(task.due_date) < new Date() && task.status !== 'done';\n const showProgress = progressConfig?.showProgress && task.computedProgress > 0;\n const showBaseline =\n baselineConfig?.showBaseline && baselineLeft !== undefined && baselineWidth !== undefined;\n\n // Calculate display text\n const getDisplayText = (): string => {\n if (taskBarDisplay === 'none') return '';\n\n const duration = differenceInDays(task.computedEnd, task.computedStart);\n const durationText = `${duration}d`;\n const endText = format(task.computedEnd, 'M/d');\n\n switch (taskBarDisplay) {\n case 'duration':\n return durationText;\n case 'end-date':\n return endText;\n case 'both':\n return `${durationText} (${endText})`;\n default:\n return '';\n }\n };\n\n const displayText = getDisplayText();\n const barHeight = rowHeight - 16; // 8px padding top/bottom\n const barTop = 8;\n\n return (\n <div className='h-full relative group'>\n {/* Baseline bar (if enabled) */}\n {showBaseline && (\n <div\n className={cn(\n 'absolute rounded-sm opacity-40',\n baselineConfig.baselineColor || 'bg-muted-foreground',\n )}\n style={{\n left: baselineLeft,\n width: baselineWidth,\n height: barHeight - 8,\n top:\n baselineConfig?.baselinePosition === 'above'\n ? barTop - 4\n : baselineConfig?.baselinePosition === 'below'\n ? barTop + barHeight - 8\n : barTop + 4,\n }}\n />\n )}\n\n {/* Main task bar */}\n <div\n {...move}\n data-task-bar={task.id}\n data-critical={critical || undefined}\n title={\n totalFloatDays === undefined\n ? undefined\n : `${task.title}: total float ${totalFloatDays} working days (dependencies only)`\n }\n role={onClick || editing.available('move') ? 'button' : undefined}\n tabIndex={onClick || editing.available('move') ? 0 : undefined}\n aria-label={width <= 50 ? task.title : undefined}\n aria-disabled={editingDisabled || undefined}\n aria-description={editing.allowed('move') ? 'Move with Left/Right, Enter to edit, Escape to cancel drag' : undefined}\n onKeyDown={(event) => {\n move.onKeyDown(event);\n if (\n event.target === event.currentTarget &&\n (event.key === 'Enter' || event.key === ' ')\n ) {\n event.preventDefault();\n event.stopPropagation();\n onClick?.(task);\n }\n }}\n className={cn(\n 'absolute rounded-md shadow-sm cursor-pointer transition-all border border-white/20 select-none flex items-center overflow-hidden',\n statusColor,\n isLate && 'ring-2 ring-destructive ring-offset-1',\n critical && 'outline outline-2 outline-offset-2 outline-fuchsia-600',\n )}\n style={{\n left: displayLeft,\n width: displayWidth,\n touchAction: editing.allowed('move') ? 'none' : undefined,\n height: barHeight,\n top: barTop,\n }}\n onClick={(e) => {\n e.stopPropagation();\n if (editing.consumeClick()) return;\n onClick?.(task);\n }}\n >\n {/* Progress fill */}\n {showProgress && (\n <div\n className={cn(\n 'absolute inset-0 opacity-30',\n progressConfig.progressColor || 'bg-white',\n )}\n style={{\n width: `${task.computedProgress}%`,\n borderRadius: 'inherit',\n }}\n />\n )}\n\n {/* Content */}\n <div className='relative z-10 flex items-center justify-between w-full px-2'>\n {/* Title (only if wide enough) */}\n {width > 50 && (\n <span className='text-[10px] sm:text-xs font-semibold text-white truncate drop-shadow-md'>\n {task.title}\n </span>\n )}\n\n {/* Progress percentage */}\n {showProgress && width > 80 && (\n <span className='text-[9px] text-white/80 ml-1 flex-shrink-0'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Duration/End display */}\n {displayText && width > 100 && (\n <span className='text-[9px] text-white/70 ml-auto flex-shrink-0'>{displayText}</span>\n )}\n </div>\n </div>\n\n {editing.available('start') &&\n (['start', 'end'] as const).map((edge) => (\n <button\n key={edge}\n type='button'\n {...editing.bind(edge)}\n disabled={editingDisabled}\n data-resize-edge={edge}\n aria-label={`${task.title}: resize ${edge} with Left/Right`}\n className='absolute z-30 cursor-ew-resize rounded bg-foreground/30 focus-visible:ring-2 focus-visible:ring-primary'\n style={{\n left: edge === 'start' ? displayLeft : displayLeft + displayWidth - 8,\n top: barTop,\n width: 8,\n height: barHeight,\n touchAction: 'none',\n }}\n onClick={(event) => event.stopPropagation()}\n />\n ))}\n\n {progressConfig?.editableProgress && onProgressChange && (\n <input\n type='range'\n disabled={editingDisabled}\n min={0}\n max={100}\n step={1}\n value={boundedProgress(task.computedProgress)}\n aria-label={`${task.title}: progress`}\n aria-valuetext={`${Math.round(boundedProgress(task.computedProgress))}%`}\n className='absolute z-20 accent-primary'\n style={{ left, width: Math.max(width, 40), top: rowHeight - 14, height: 12 }}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n onChange={(event) => onProgressChange(task.id, Number(event.currentTarget.value))}\n />\n )}\n\n {/* External title (if bar too narrow) */}\n {width <= 50 && (\n <div\n className='absolute flex items-center text-xs text-foreground/70 whitespace-nowrap pl-2 pointer-events-none'\n style={{\n left: left + width,\n top: barTop,\n height: barHeight,\n }}\n >\n {task.title}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -41,8 +41,9 @@ function s({ task: s, left: c, width: l, rowHeight: u, taskBarDisplay: d = "none
|
|
|
41
41
|
title: C === void 0 ? void 0 : `${s.title}: total float ${C} working days (dependencies only)`,
|
|
42
42
|
role: g || w.available("move") ? "button" : void 0,
|
|
43
43
|
tabIndex: g || w.available("move") ? 0 : void 0,
|
|
44
|
+
"aria-label": l <= 50 ? s.title : void 0,
|
|
44
45
|
"aria-disabled": x || void 0,
|
|
45
|
-
"aria-
|
|
46
|
+
"aria-description": w.allowed("move") ? "Move with Left/Right, Enter to edit, Escape to cancel drag" : void 0,
|
|
46
47
|
onKeyDown: (e) => {
|
|
47
48
|
T.onKeyDown(e), e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), g?.(s));
|
|
48
49
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GanttTaskBar.js","names":["GanttTaskBar","editing","useGanttDateEditing","task","cellWidth","dateEditing","onDateChange","editingDisabled","move","displayLeft","left","displayWidth","width","statusColors","statusColor","isLate","showProgress","progressConfig","showBaseline","baselineConfig","baselineLeft","baselineWidth","displayText","taskBarDisplay","durationText","differenceInDays","endText","format","barHeight","rowHeight","cn","critical","totalFloatDays","onClick","event","edge","onProgressChange","boundedProgress"],"sources":["../../../../../src/tools/components/gantt/components/GanttTaskBar.tsx"],"sourcesContent":["/**\n * Gantt Task Bar Component\n *\n * Renders an individual task bar with progress, status color, and interactions.\n */\n\nimport { cn } from \"../../../lib/utils\";\nimport type {\n ComputedTask,\n GanttProgressConfig,\n GanttBaselineConfig,\n TaskBarDisplay,\n GanttDateEditingConfig,\n} from '../types';\nimport { differenceInDays, format } from 'date-fns';\nimport { boundedProgress } from '../hooks/gantt-hierarchy';\nimport { useGanttDateEditing } from '../hooks/use-gantt-date-editing';\n\nexport interface GanttTaskBarProps {\n task: ComputedTask;\n left: number;\n width: number;\n rowHeight: number;\n taskBarDisplay?: TaskBarDisplay;\n progressConfig?: GanttProgressConfig;\n baselineConfig?: GanttBaselineConfig;\n baselineLeft?: number;\n baselineWidth?: number;\n onClick?: (task: ComputedTask) => void;\n onProgressChange?: (taskId: string, progress: number) => void;\n /** Opt-in pointer/keyboard date editing. */\n dateEditing?: GanttDateEditingConfig;\n /** Pixels per calendar day; required for pointer date editing. */\n cellWidth?: number;\n /** Committed date edit, excluding pointer previews. */\n onDateChange?: (taskId: string, start: Date, end: Date) => void;\n /** Temporarily disable controls during persistence without unmounting them. */\n editingDisabled?: boolean;\n /** Dependency-only critical-path emphasis. */\n critical?: boolean;\n /** Total float in working days, displayed in the tooltip. */\n totalFloatDays?: number;\n}\n\n/**\n * 個々のタスクの期間、進捗率、ステータスに応じた色、基準計画(ベースライン)をタイムライン上にバーとして描画するコンポーネント。\n */\nexport function GanttTaskBar({\n task,\n left,\n width,\n rowHeight,\n taskBarDisplay = 'none',\n progressConfig,\n baselineConfig,\n baselineLeft,\n baselineWidth,\n onClick,\n onProgressChange,\n dateEditing,\n cellWidth = 0,\n onDateChange,\n editingDisabled = false,\n critical,\n totalFloatDays,\n}: GanttTaskBarProps) {\n const editing = useGanttDateEditing(task, cellWidth, dateEditing, onDateChange, editingDisabled);\n const move = editing.bind('move');\n const displayLeft = left + editing.leftDelta;\n const displayWidth = width + editing.widthDelta;\n // Status colors\n const statusColors: Record<string, string> = {\n done: 'bg-green-500 hover:bg-green-600',\n review: 'bg-primary hover:bg-primary/90',\n doing: 'bg-blue-500 hover:bg-blue-600',\n todo: 'bg-muted-foreground/70 hover:bg-muted-foreground',\n blocked: 'bg-red-500 hover:bg-red-600',\n };\n\n const statusColor = statusColors[task.status] || statusColors.todo;\n const isLate = task.due_date && new Date(task.due_date) < new Date() && task.status !== 'done';\n const showProgress = progressConfig?.showProgress && task.computedProgress > 0;\n const showBaseline =\n baselineConfig?.showBaseline && baselineLeft !== undefined && baselineWidth !== undefined;\n\n // Calculate display text\n const getDisplayText = (): string => {\n if (taskBarDisplay === 'none') return '';\n\n const duration = differenceInDays(task.computedEnd, task.computedStart);\n const durationText = `${duration}d`;\n const endText = format(task.computedEnd, 'M/d');\n\n switch (taskBarDisplay) {\n case 'duration':\n return durationText;\n case 'end-date':\n return endText;\n case 'both':\n return `${durationText} (${endText})`;\n default:\n return '';\n }\n };\n\n const displayText = getDisplayText();\n const barHeight = rowHeight - 16; // 8px padding top/bottom\n const barTop = 8;\n\n return (\n <div className='h-full relative group'>\n {/* Baseline bar (if enabled) */}\n {showBaseline && (\n <div\n className={cn(\n 'absolute rounded-sm opacity-40',\n baselineConfig.baselineColor || 'bg-muted-foreground',\n )}\n style={{\n left: baselineLeft,\n width: baselineWidth,\n height: barHeight - 8,\n top:\n baselineConfig?.baselinePosition === 'above'\n ? barTop - 4\n : baselineConfig?.baselinePosition === 'below'\n ? barTop + barHeight - 8\n : barTop + 4,\n }}\n />\n )}\n\n {/* Main task bar */}\n <div\n {...move}\n data-task-bar={task.id}\n data-critical={critical || undefined}\n title={\n totalFloatDays === undefined\n ? undefined\n : `${task.title}: total float ${totalFloatDays} working days (dependencies only)`\n }\n role={onClick || editing.available('move') ? 'button' : undefined}\n tabIndex={onClick || editing.available('move') ? 0 : undefined}\n aria-disabled={editingDisabled || undefined}\n aria-label={\n editing.allowed('move')\n ? `${task.title}: move with Left/Right, Enter to edit, Escape to cancel drag`\n : task.title\n }\n onKeyDown={(event) => {\n move.onKeyDown(event);\n if (\n event.target === event.currentTarget &&\n (event.key === 'Enter' || event.key === ' ')\n ) {\n event.preventDefault();\n event.stopPropagation();\n onClick?.(task);\n }\n }}\n className={cn(\n 'absolute rounded-md shadow-sm cursor-pointer transition-all border border-white/20 select-none flex items-center overflow-hidden',\n statusColor,\n isLate && 'ring-2 ring-destructive ring-offset-1',\n critical && 'outline outline-2 outline-offset-2 outline-fuchsia-600',\n )}\n style={{\n left: displayLeft,\n width: displayWidth,\n touchAction: editing.allowed('move') ? 'none' : undefined,\n height: barHeight,\n top: barTop,\n }}\n onClick={(e) => {\n e.stopPropagation();\n if (editing.consumeClick()) return;\n onClick?.(task);\n }}\n >\n {/* Progress fill */}\n {showProgress && (\n <div\n className={cn(\n 'absolute inset-0 opacity-30',\n progressConfig.progressColor || 'bg-white',\n )}\n style={{\n width: `${task.computedProgress}%`,\n borderRadius: 'inherit',\n }}\n />\n )}\n\n {/* Content */}\n <div className='relative z-10 flex items-center justify-between w-full px-2'>\n {/* Title (only if wide enough) */}\n {width > 50 && (\n <span className='text-[10px] sm:text-xs font-semibold text-white truncate drop-shadow-md'>\n {task.title}\n </span>\n )}\n\n {/* Progress percentage */}\n {showProgress && width > 80 && (\n <span className='text-[9px] text-white/80 ml-1 flex-shrink-0'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Duration/End display */}\n {displayText && width > 100 && (\n <span className='text-[9px] text-white/70 ml-auto flex-shrink-0'>{displayText}</span>\n )}\n </div>\n </div>\n\n {editing.available('start') &&\n (['start', 'end'] as const).map((edge) => (\n <button\n key={edge}\n type='button'\n {...editing.bind(edge)}\n disabled={editingDisabled}\n data-resize-edge={edge}\n aria-label={`${task.title}: resize ${edge} with Left/Right`}\n className='absolute z-30 cursor-ew-resize rounded bg-foreground/30 focus-visible:ring-2 focus-visible:ring-primary'\n style={{\n left: edge === 'start' ? displayLeft : displayLeft + displayWidth - 8,\n top: barTop,\n width: 8,\n height: barHeight,\n touchAction: 'none',\n }}\n onClick={(event) => event.stopPropagation()}\n />\n ))}\n\n {progressConfig?.editableProgress && onProgressChange && (\n <input\n type='range'\n disabled={editingDisabled}\n min={0}\n max={100}\n step={1}\n value={boundedProgress(task.computedProgress)}\n aria-label={`${task.title}: progress`}\n aria-valuetext={`${Math.round(boundedProgress(task.computedProgress))}%`}\n className='absolute z-20 accent-primary'\n style={{ left, width: Math.max(width, 40), top: rowHeight - 14, height: 12 }}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n onChange={(event) => onProgressChange(task.id, Number(event.currentTarget.value))}\n />\n )}\n\n {/* External title (if bar too narrow) */}\n {width <= 50 && (\n <div\n className='absolute flex items-center text-xs text-foreground/70 whitespace-nowrap pl-2 pointer-events-none'\n style={{\n left: left + width,\n top: barTop,\n height: barHeight,\n }}\n >\n {task.title}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GanttTaskBar.js","names":["GanttTaskBar","editing","useGanttDateEditing","task","cellWidth","dateEditing","onDateChange","editingDisabled","move","displayLeft","left","displayWidth","width","statusColors","statusColor","isLate","showProgress","progressConfig","showBaseline","baselineConfig","baselineLeft","baselineWidth","displayText","taskBarDisplay","durationText","differenceInDays","endText","format","barHeight","rowHeight","cn","critical","totalFloatDays","onClick","event","edge","onProgressChange","boundedProgress"],"sources":["../../../../../src/tools/components/gantt/components/GanttTaskBar.tsx"],"sourcesContent":["/**\n * Gantt Task Bar Component\n *\n * Renders an individual task bar with progress, status color, and interactions.\n */\n\nimport { cn } from \"../../../lib/utils\";\nimport type {\n ComputedTask,\n GanttProgressConfig,\n GanttBaselineConfig,\n TaskBarDisplay,\n GanttDateEditingConfig,\n} from '../types';\nimport { differenceInDays, format } from 'date-fns';\nimport { boundedProgress } from '../hooks/gantt-hierarchy';\nimport { useGanttDateEditing } from '../hooks/use-gantt-date-editing';\n\nexport interface GanttTaskBarProps {\n task: ComputedTask;\n left: number;\n width: number;\n rowHeight: number;\n taskBarDisplay?: TaskBarDisplay;\n progressConfig?: GanttProgressConfig;\n baselineConfig?: GanttBaselineConfig;\n baselineLeft?: number;\n baselineWidth?: number;\n onClick?: (task: ComputedTask) => void;\n onProgressChange?: (taskId: string, progress: number) => void;\n /** Opt-in pointer/keyboard date editing. */\n dateEditing?: GanttDateEditingConfig;\n /** Pixels per calendar day; required for pointer date editing. */\n cellWidth?: number;\n /** Committed date edit, excluding pointer previews. */\n onDateChange?: (taskId: string, start: Date, end: Date) => void;\n /** Temporarily disable controls during persistence without unmounting them. */\n editingDisabled?: boolean;\n /** Dependency-only critical-path emphasis. */\n critical?: boolean;\n /** Total float in working days, displayed in the tooltip. */\n totalFloatDays?: number;\n}\n\n/**\n * 個々のタスクの期間、進捗率、ステータスに応じた色、基準計画(ベースライン)をタイムライン上にバーとして描画するコンポーネント。\n */\nexport function GanttTaskBar({\n task,\n left,\n width,\n rowHeight,\n taskBarDisplay = 'none',\n progressConfig,\n baselineConfig,\n baselineLeft,\n baselineWidth,\n onClick,\n onProgressChange,\n dateEditing,\n cellWidth = 0,\n onDateChange,\n editingDisabled = false,\n critical,\n totalFloatDays,\n}: GanttTaskBarProps) {\n const editing = useGanttDateEditing(task, cellWidth, dateEditing, onDateChange, editingDisabled);\n const move = editing.bind('move');\n const displayLeft = left + editing.leftDelta;\n const displayWidth = width + editing.widthDelta;\n // Status colors\n const statusColors: Record<string, string> = {\n done: 'bg-green-500 hover:bg-green-600',\n review: 'bg-primary hover:bg-primary/90',\n doing: 'bg-blue-500 hover:bg-blue-600',\n todo: 'bg-muted-foreground/70 hover:bg-muted-foreground',\n blocked: 'bg-red-500 hover:bg-red-600',\n };\n\n const statusColor = statusColors[task.status] || statusColors.todo;\n const isLate = task.due_date && new Date(task.due_date) < new Date() && task.status !== 'done';\n const showProgress = progressConfig?.showProgress && task.computedProgress > 0;\n const showBaseline =\n baselineConfig?.showBaseline && baselineLeft !== undefined && baselineWidth !== undefined;\n\n // Calculate display text\n const getDisplayText = (): string => {\n if (taskBarDisplay === 'none') return '';\n\n const duration = differenceInDays(task.computedEnd, task.computedStart);\n const durationText = `${duration}d`;\n const endText = format(task.computedEnd, 'M/d');\n\n switch (taskBarDisplay) {\n case 'duration':\n return durationText;\n case 'end-date':\n return endText;\n case 'both':\n return `${durationText} (${endText})`;\n default:\n return '';\n }\n };\n\n const displayText = getDisplayText();\n const barHeight = rowHeight - 16; // 8px padding top/bottom\n const barTop = 8;\n\n return (\n <div className='h-full relative group'>\n {/* Baseline bar (if enabled) */}\n {showBaseline && (\n <div\n className={cn(\n 'absolute rounded-sm opacity-40',\n baselineConfig.baselineColor || 'bg-muted-foreground',\n )}\n style={{\n left: baselineLeft,\n width: baselineWidth,\n height: barHeight - 8,\n top:\n baselineConfig?.baselinePosition === 'above'\n ? barTop - 4\n : baselineConfig?.baselinePosition === 'below'\n ? barTop + barHeight - 8\n : barTop + 4,\n }}\n />\n )}\n\n {/* Main task bar */}\n <div\n {...move}\n data-task-bar={task.id}\n data-critical={critical || undefined}\n title={\n totalFloatDays === undefined\n ? undefined\n : `${task.title}: total float ${totalFloatDays} working days (dependencies only)`\n }\n role={onClick || editing.available('move') ? 'button' : undefined}\n tabIndex={onClick || editing.available('move') ? 0 : undefined}\n aria-label={width <= 50 ? task.title : undefined}\n aria-disabled={editingDisabled || undefined}\n aria-description={editing.allowed('move') ? 'Move with Left/Right, Enter to edit, Escape to cancel drag' : undefined}\n onKeyDown={(event) => {\n move.onKeyDown(event);\n if (\n event.target === event.currentTarget &&\n (event.key === 'Enter' || event.key === ' ')\n ) {\n event.preventDefault();\n event.stopPropagation();\n onClick?.(task);\n }\n }}\n className={cn(\n 'absolute rounded-md shadow-sm cursor-pointer transition-all border border-white/20 select-none flex items-center overflow-hidden',\n statusColor,\n isLate && 'ring-2 ring-destructive ring-offset-1',\n critical && 'outline outline-2 outline-offset-2 outline-fuchsia-600',\n )}\n style={{\n left: displayLeft,\n width: displayWidth,\n touchAction: editing.allowed('move') ? 'none' : undefined,\n height: barHeight,\n top: barTop,\n }}\n onClick={(e) => {\n e.stopPropagation();\n if (editing.consumeClick()) return;\n onClick?.(task);\n }}\n >\n {/* Progress fill */}\n {showProgress && (\n <div\n className={cn(\n 'absolute inset-0 opacity-30',\n progressConfig.progressColor || 'bg-white',\n )}\n style={{\n width: `${task.computedProgress}%`,\n borderRadius: 'inherit',\n }}\n />\n )}\n\n {/* Content */}\n <div className='relative z-10 flex items-center justify-between w-full px-2'>\n {/* Title (only if wide enough) */}\n {width > 50 && (\n <span className='text-[10px] sm:text-xs font-semibold text-white truncate drop-shadow-md'>\n {task.title}\n </span>\n )}\n\n {/* Progress percentage */}\n {showProgress && width > 80 && (\n <span className='text-[9px] text-white/80 ml-1 flex-shrink-0'>\n {Math.round(task.computedProgress)}%\n </span>\n )}\n\n {/* Duration/End display */}\n {displayText && width > 100 && (\n <span className='text-[9px] text-white/70 ml-auto flex-shrink-0'>{displayText}</span>\n )}\n </div>\n </div>\n\n {editing.available('start') &&\n (['start', 'end'] as const).map((edge) => (\n <button\n key={edge}\n type='button'\n {...editing.bind(edge)}\n disabled={editingDisabled}\n data-resize-edge={edge}\n aria-label={`${task.title}: resize ${edge} with Left/Right`}\n className='absolute z-30 cursor-ew-resize rounded bg-foreground/30 focus-visible:ring-2 focus-visible:ring-primary'\n style={{\n left: edge === 'start' ? displayLeft : displayLeft + displayWidth - 8,\n top: barTop,\n width: 8,\n height: barHeight,\n touchAction: 'none',\n }}\n onClick={(event) => event.stopPropagation()}\n />\n ))}\n\n {progressConfig?.editableProgress && onProgressChange && (\n <input\n type='range'\n disabled={editingDisabled}\n min={0}\n max={100}\n step={1}\n value={boundedProgress(task.computedProgress)}\n aria-label={`${task.title}: progress`}\n aria-valuetext={`${Math.round(boundedProgress(task.computedProgress))}%`}\n className='absolute z-20 accent-primary'\n style={{ left, width: Math.max(width, 40), top: rowHeight - 14, height: 12 }}\n onClick={(event) => event.stopPropagation()}\n onKeyDown={(event) => event.stopPropagation()}\n onChange={(event) => onProgressChange(task.id, Number(event.currentTarget.value))}\n />\n )}\n\n {/* External title (if bar too narrow) */}\n {width <= 50 && (\n <div\n className='absolute flex items-center text-xs text-foreground/70 whitespace-nowrap pl-2 pointer-events-none'\n style={{\n left: left + width,\n top: barTop,\n height: barHeight,\n }}\n >\n {task.title}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../ui/lib/utils.cjs"),n=require("../../../ui/components/ui/button-variants.cjs"),r=require("../../../ui/components/ui/button-components.cjs"),i=require("../../../ui/components/ui/avatar.cjs"),a=require("../../../ui/components/ui/dropdown-menu.cjs"),o=require("../../../ui/components/ui/sheet.cjs"),s=require("../../../ui/components/theme/theme-switcher.cjs"),c=require("../i18n/LanguageSwitcher.cjs"),l=require("../sidebar/sidebar.cjs");let u=require("react/jsx-runtime"),d=require("react");d=e.__toESM(d,1);let f=require("lucide-react");var p=({menuItems:e,isMenuLeft:i,showThemeToggle:a,showColorToggle:l,showSpaceToggle:p,showLanguageToggle:m})=>(0,u.jsxs)(o.Sheet,{children:[(0,u.jsxs)(o.SheetTrigger,{className:t.cn(n.buttonVariants({variant:`ghost`,size:`icon`}),`shrink-0`),children:[(0,u.jsx)(f.Menu,{className:`h-5 w-5`}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle menu`})]}),(0,u.jsxs)(o.SheetContent,{side:i?`left`:`right`,children:[(0,u.jsx)(o.SheetHeader,{children:(0,u.jsx)(o.SheetTitle,{children:`Menu`})}),(0,u.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[e.map((e,i)=>(0,u.jsx)(d.Fragment,{children:e.href?(0,u.jsxs)(`a`,{href:e.href,className:t.cn(n.buttonVariants({variant:`ghost`}),`justify-start`),onClick:e.onClick,children:[e.icon&&(0,u.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]}):(0,u.jsxs)(r.Button,{variant:`ghost`,className:`justify-start`,onClick:e.onClick,children:[e.icon&&(0,u.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]})},i)),(a||l||p)&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`h-px bg-border my-2`}),(0,u.jsx)(`div`,{className:`px-2`,children:(0,u.jsx)(s.ThemeSwitcherGroup,{showThemeMode:a,showColorTheme:l,showSpacingTheme:p,modeVariant:`icon-group`,colorVariant:`icon-group`,spacingVariant:`icon-group`})})]}),m&&(0,u.jsx)(`div`,{className:`px-2`,children:(0,u.jsx)(c.LanguageSwitcher,{})})]})]})]});function m({className:e,logo:r,title:o,menuPosition:d=`right`,menuItems:f=[],navItems:m=[],user:h,userMenuItems:g=[],onLogout:_,showThemeToggle:v=!0,showColorToggle:y=!0,showSpaceToggle:b=!0,showLanguageToggle:x=!0,onLanguageChange:S,currentLanguage:C,actions:w,...T}){let E=d===`left`;return(0,u.jsx)(`header`,{className:t.cn(`sticky top-0 z-40 w-full border-b bg-primary text-primary-foreground shadow-sm`,e),...T,children:(0,u.jsxs)(`div`,{className:`flex h-16 items-center justify-between px-4 gap-4 overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-4 min-w-0 flex-shrink-0 relative z-10 bg-primary pr-4`,children:[E&&f.length>0&&(0,u.jsx)(`div`,{className:`flex-shrink-0`,children:(0,u.jsx)(p,{menuItems:f,isMenuLeft:E,showThemeToggle:v,showColorToggle:y,showSpaceToggle:b,showLanguageToggle:x})}),r&&(0,u.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[r,o&&(0,u.jsx)(`span`,{className:`text-lg font-bold hidden md:inline-block truncate`,children:o})]}),!r&&o&&(0,u.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:(0,u.jsx)(`span`,{className:`text-lg font-bold truncate`,children:o})}),(0,u.jsx)(`nav`,{className:`flex items-center gap-6 text-sm font-medium hidden md:flex`,children:m.map((e,n)=>(0,u.jsx)(`a`,{href:e.href,onClick:e.onClick,className:t.cn(`transition-colors hover:text-primary-foreground/80`,e.active?`text-primary-foreground font-bold underline underline-offset-4`:`text-primary-foreground/60`),children:e.label},n))})]}),(0,u.jsxs)(`div`,{className:`ml-auto flex items-center justify-end gap-2 min-w-0 flex-shrink`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 flex-shrink overflow-hidden justify-end`,children:[b&&(0,u.jsx)(s.SpacingThemeSwitcher,{variant:`toggle`,withBackground:!0}),y&&(0,u.jsx)(s.ColorThemeSwitcher,{variant:`toggle`,withBackground:!0}),v&&(0,u.jsx)(s.ThemeModeSwitcher,{variant:`toggle`,withBackground:!0}),x&&(0,u.jsx)(c.LanguageSwitcher,{onLanguageChange:S,currentLanguage:C})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2 flex-none relative z-20 bg-primary pl-2`,children:[h&&(0,u.jsxs)(a.DropdownMenu,{children:[(0,u.jsx)(a.DropdownMenuTrigger,{"aria-label"
|
|
1
|
+
"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../ui/lib/utils.cjs"),n=require("../../../ui/components/ui/button-variants.cjs"),r=require("../../../ui/components/ui/button-components.cjs"),i=require("../../../ui/components/ui/avatar.cjs"),a=require("../../../ui/components/ui/dropdown-menu.cjs"),o=require("../../../ui/components/ui/sheet.cjs"),s=require("../../../ui/components/theme/theme-switcher.cjs"),c=require("../i18n/LanguageSwitcher.cjs"),l=require("../sidebar/sidebar.cjs");let u=require("react/jsx-runtime"),d=require("react");d=e.__toESM(d,1);let f=require("lucide-react");var p=({menuItems:e,isMenuLeft:i,showThemeToggle:a,showColorToggle:l,showSpaceToggle:p,showLanguageToggle:m})=>(0,u.jsxs)(o.Sheet,{children:[(0,u.jsxs)(o.SheetTrigger,{className:t.cn(n.buttonVariants({variant:`ghost`,size:`icon`}),`shrink-0`),children:[(0,u.jsx)(f.Menu,{className:`h-5 w-5`}),(0,u.jsx)(`span`,{className:`sr-only`,children:`Toggle menu`})]}),(0,u.jsxs)(o.SheetContent,{side:i?`left`:`right`,children:[(0,u.jsx)(o.SheetHeader,{children:(0,u.jsx)(o.SheetTitle,{children:`Menu`})}),(0,u.jsxs)(`div`,{className:`grid gap-4 py-4`,children:[e.map((e,i)=>(0,u.jsx)(d.Fragment,{children:e.href?(0,u.jsxs)(`a`,{href:e.href,className:t.cn(n.buttonVariants({variant:`ghost`}),`justify-start`),onClick:e.onClick,children:[e.icon&&(0,u.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]}):(0,u.jsxs)(r.Button,{variant:`ghost`,className:`justify-start`,onClick:e.onClick,children:[e.icon&&(0,u.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]})},i)),(a||l||p)&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(`div`,{className:`h-px bg-border my-2`}),(0,u.jsx)(`div`,{className:`px-2`,children:(0,u.jsx)(s.ThemeSwitcherGroup,{showThemeMode:a,showColorTheme:l,showSpacingTheme:p,modeVariant:`icon-group`,colorVariant:`icon-group`,spacingVariant:`icon-group`})})]}),m&&(0,u.jsx)(`div`,{className:`px-2`,children:(0,u.jsx)(c.LanguageSwitcher,{})})]})]})]});function m({className:e,logo:r,title:o,menuPosition:d=`right`,menuItems:f=[],navItems:m=[],user:h,userMenuItems:g=[],onLogout:_,showThemeToggle:v=!0,showColorToggle:y=!0,showSpaceToggle:b=!0,showLanguageToggle:x=!0,onLanguageChange:S,currentLanguage:C,actions:w,...T}){let E=d===`left`;return(0,u.jsx)(`header`,{className:t.cn(`sticky top-0 z-40 w-full border-b bg-primary text-primary-foreground shadow-sm`,e),...T,children:(0,u.jsxs)(`div`,{className:`flex h-16 items-center justify-between px-4 gap-4 overflow-hidden`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-4 min-w-0 flex-shrink-0 relative z-10 bg-primary pr-4`,children:[E&&f.length>0&&(0,u.jsx)(`div`,{className:`flex-shrink-0`,children:(0,u.jsx)(p,{menuItems:f,isMenuLeft:E,showThemeToggle:v,showColorToggle:y,showSpaceToggle:b,showLanguageToggle:x})}),r&&(0,u.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[r,o&&(0,u.jsx)(`span`,{className:`text-lg font-bold hidden md:inline-block truncate`,children:o})]}),!r&&o&&(0,u.jsx)(`div`,{className:`flex items-center gap-2 min-w-0`,children:(0,u.jsx)(`span`,{className:`text-lg font-bold truncate`,children:o})}),(0,u.jsx)(`nav`,{className:`flex items-center gap-6 text-sm font-medium hidden md:flex`,children:m.map((e,n)=>(0,u.jsx)(`a`,{href:e.href,onClick:e.onClick,className:t.cn(`transition-colors hover:text-primary-foreground/80`,e.active?`text-primary-foreground font-bold underline underline-offset-4`:`text-primary-foreground/60`),children:e.label},n))})]}),(0,u.jsxs)(`div`,{className:`ml-auto flex items-center justify-end gap-2 min-w-0 flex-shrink`,children:[(0,u.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0 flex-shrink overflow-hidden justify-end`,children:[b&&(0,u.jsx)(s.SpacingThemeSwitcher,{variant:`toggle`,withBackground:!0}),y&&(0,u.jsx)(s.ColorThemeSwitcher,{variant:`toggle`,withBackground:!0}),v&&(0,u.jsx)(s.ThemeModeSwitcher,{variant:`toggle`,withBackground:!0}),x&&(0,u.jsx)(c.LanguageSwitcher,{onLanguageChange:S,currentLanguage:C})]}),(0,u.jsxs)(`div`,{className:`flex items-center gap-2 flex-none relative z-20 bg-primary pl-2`,children:[h&&(0,u.jsxs)(a.DropdownMenu,{children:[(0,u.jsx)(a.DropdownMenuTrigger,{"aria-label":`${h.initials||h.name.slice(0,2).toUpperCase()} ${h.name} ユーザーメニュー`,className:t.cn(n.buttonVariants({variant:`ghost`}),`relative h-8 w-8 rounded-full p-0 flex items-center justify-center`),children:(0,u.jsxs)(i.Avatar,{className:`h-8 w-8`,children:[(0,u.jsx)(i.AvatarImage,{src:h.image,alt:h.name}),(0,u.jsx)(i.AvatarFallback,{children:h.initials||h.name.slice(0,2).toUpperCase()})]})}),(0,u.jsx)(a.DropdownMenuContent,{className:`w-56`,align:`end`,children:(0,u.jsxs)(a.DropdownMenuGroup,{children:[(0,u.jsx)(a.DropdownMenuLabel,{className:`font-normal`,children:(0,u.jsxs)(`div`,{className:`flex flex-col space-y-1`,children:[(0,u.jsx)(`p`,{className:`text-sm font-medium leading-none`,children:h.name}),(0,u.jsx)(`p`,{className:`text-xs leading-none text-muted-foreground`,children:h.email})]})}),(0,u.jsx)(a.DropdownMenuSeparator,{}),g.map((e,t)=>(0,u.jsx)(a.DropdownMenuItem,{onClick:e.onClick,children:e.href?(0,u.jsx)(`a`,{href:e.href,className:`w-full h-full flex items-center`,children:e.label}):e.label},t)),_&&(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(a.DropdownMenuSeparator,{}),(0,u.jsx)(a.DropdownMenuItem,{onClick:_,children:`Log out`})]})]})})]}),w,!E&&f.length>0&&(0,u.jsx)(p,{menuItems:f,isMenuLeft:E,showThemeToggle:v,showColorToggle:y,showSpaceToggle:b,showLanguageToggle:x}),(0,u.jsx)(l.SidebarTrigger,{className:`md:hidden`})]})]})]})})}exports.Header=m;
|
|
2
2
|
//# sourceMappingURL=header.cjs.map
|