@codingfactory/task-engine-client 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +53 -0
  2. package/dist/components/dashboard/MyStatsWidget.vue.d.ts +10 -0
  3. package/dist/components/dashboard/MyTasksToday.vue.d.ts +10 -0
  4. package/dist/components/dashboard/OverdueTracker.vue.d.ts +10 -0
  5. package/dist/components/dashboard/TaskDashboard.vue.d.ts +20 -0
  6. package/dist/components/dashboard/TaskHealthAlerts.vue.d.ts +18 -0
  7. package/dist/components/dashboard/TeamActivityFeed.vue.d.ts +11 -0
  8. package/dist/components/dashboard/UpcomingThisWeek.vue.d.ts +10 -0
  9. package/dist/components/dashboard/WidgetGrid.vue.d.ts +25 -0
  10. package/dist/components/index.d.ts +29 -0
  11. package/dist/components/list/TaskBoardView.vue.d.ts +21 -0
  12. package/dist/components/list/TaskBulkActionBar.vue.d.ts +20 -0
  13. package/dist/components/list/TaskCalendarView.vue.d.ts +11 -0
  14. package/dist/components/list/TaskFilterBar.vue.d.ts +15 -0
  15. package/dist/components/list/TaskListView.vue.d.ts +39 -0
  16. package/dist/components/list/TaskSavedFilterTabs.vue.d.ts +13 -0
  17. package/dist/components/recurrence/RecurringTemplateForm.vue.d.ts +17 -0
  18. package/dist/components/recurrence/RecurringTemplateList.vue.d.ts +25 -0
  19. package/dist/components/shared/TaskEntityWidget.vue.d.ts +20 -0
  20. package/dist/components/shared/TaskNotificationToast.vue.d.ts +16 -0
  21. package/dist/components/shared/TaskPriorityIcon.vue.d.ts +7 -0
  22. package/dist/components/shared/TaskQuickCreate.vue.d.ts +17 -0
  23. package/dist/components/task/EscalationActions.vue.d.ts +22 -0
  24. package/dist/components/task/EscalationBadge.vue.d.ts +9 -0
  25. package/dist/components/task/TaskCard.vue.d.ts +14 -0
  26. package/dist/components/task/TaskChecklist.vue.d.ts +17 -0
  27. package/dist/components/task/TaskComments.vue.d.ts +17 -0
  28. package/dist/components/task/TaskDetail.vue.d.ts +47 -0
  29. package/dist/components/task/TaskForm.vue.d.ts +21 -0
  30. package/dist/components/task/TaskStatusBadge.vue.d.ts +6 -0
  31. package/dist/components/task/TaskTimeline.vue.d.ts +11 -0
  32. package/dist/composables/index.d.ts +7 -0
  33. package/dist/composables/useTaskDashboard.d.ts +504 -0
  34. package/dist/composables/useTaskDetail.d.ts +207 -0
  35. package/dist/composables/useTaskFilters.d.ts +38 -0
  36. package/dist/composables/useTaskNotificationFeed.d.ts +47 -0
  37. package/dist/composables/useTaskPresence.d.ts +22 -0
  38. package/dist/composables/useTaskSavedFilters.d.ts +47 -0
  39. package/dist/composables/useTaskWebSocket.d.ts +31 -0
  40. package/dist/index.cjs +1 -0
  41. package/dist/index.d.ts +5 -0
  42. package/dist/index.js +5163 -0
  43. package/dist/services/index.d.ts +1 -0
  44. package/dist/services/taskApi.d.ts +12 -0
  45. package/dist/stores/index.d.ts +2 -0
  46. package/dist/stores/taskListStore.d.ts +179 -0
  47. package/dist/stores/taskStore.d.ts +2294 -0
  48. package/dist/task-engine-client.css +1 -0
  49. package/dist/types/index.d.ts +700 -0
  50. package/dist/utils/index.d.ts +3 -0
  51. package/dist/utils/recurrence.d.ts +25 -0
  52. package/dist/utils/taskDisplay.d.ts +14 -0
  53. package/package.json +74 -0
package/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # `@codingfactory/task-engine-client`
2
+
3
+ Vue 3 client package for CodingFactory Task Engine.
4
+
5
+ ## Contents
6
+
7
+ - Strict TypeScript task types
8
+ - Axios API client for the Task Engine HTTP API
9
+ - Pinia stores for task detail and list state
10
+ - Vue composables for task filters and task detail workflows
11
+ - Reusable Vue 3 task UI components
12
+
13
+ ## Install
14
+
15
+ ```bash
16
+ npm install @codingfactory/task-engine-client
17
+ ```
18
+
19
+ Peer dependencies:
20
+
21
+ - `vue`
22
+ - `pinia`
23
+ - `axios`
24
+ - `vue-router` (optional)
25
+
26
+ ## Usage
27
+
28
+ ```ts
29
+ import {
30
+ TaskDetailView,
31
+ TaskEntityWidget,
32
+ TaskListView,
33
+ createTaskApi,
34
+ setTaskApi,
35
+ useTaskDetail,
36
+ useTaskStore,
37
+ } from '@codingfactory/task-engine-client';
38
+
39
+ setTaskApi(createTaskApi({
40
+ baseUrl: '/api/task-engine/v1',
41
+ }));
42
+ ```
43
+
44
+ Import styles from:
45
+
46
+ ```ts
47
+ import '@codingfactory/task-engine-client/style.css';
48
+ ```
49
+
50
+ ## Notes
51
+
52
+ - The package normalizes Laravel Task Engine API envelopes into frontend-friendly objects.
53
+ - Host-app router entries, sidebar navigation, and page embedding live in the consuming admin application, not in this package.
@@ -0,0 +1,10 @@
1
+ import type { TaskDashboardStats, TaskDashboardStatsPeriod } from '@/types';
2
+ type __VLS_Props = {
3
+ stats: TaskDashboardStats;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:period": (period: TaskDashboardStatsPeriod) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onUpdate:period"?: (period: TaskDashboardStatsPeriod) => any;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { TaskDashboardTaskListWidget } from '@/types';
2
+ type __VLS_Props = {
3
+ widget: TaskDashboardTaskListWidget;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "select-task": (taskId: string) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onSelect-task"?: (taskId: string) => any;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { TaskDashboardTaskListWidget } from '@/types';
2
+ type __VLS_Props = {
3
+ widget: TaskDashboardTaskListWidget;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "select-task": (taskId: string) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onSelect-task"?: (taskId: string) => any;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import type { TaskEchoLike } from '@/composables/useTaskWebSocket';
2
+ type __VLS_Props = {
3
+ userId: string | number;
4
+ echo?: TaskEchoLike | (() => TaskEchoLike | null | undefined) | null;
5
+ autoConnect?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ "select-task": (taskId: string) => any;
9
+ "widget-action": (payload: {
10
+ taskId: string;
11
+ action: string;
12
+ }) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ "onSelect-task"?: (taskId: string) => any;
15
+ "onWidget-action"?: (payload: {
16
+ taskId: string;
17
+ action: string;
18
+ }) => any;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import type { TaskDashboardHealthWidget } from '@/types';
2
+ type __VLS_Props = {
3
+ widget: TaskDashboardHealthWidget;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ action: (payload: {
7
+ taskId: string;
8
+ action: string;
9
+ }) => any;
10
+ "select-task": (taskId: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onAction?: (payload: {
13
+ taskId: string;
14
+ action: string;
15
+ }) => any;
16
+ "onSelect-task"?: (taskId: string) => any;
17
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { TaskDashboardActivityWidget, TaskDashboardScope } from '@/types';
2
+ type __VLS_Props = {
3
+ widget: TaskDashboardActivityWidget;
4
+ scope?: TaskDashboardScope;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "select-task": (taskId: string) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onSelect-task"?: (taskId: string) => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,10 @@
1
+ import type { TaskDashboardUpcomingWidget } from '@/types';
2
+ type __VLS_Props = {
3
+ widget: TaskDashboardUpcomingWidget;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "select-task": (taskId: string) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onSelect-task"?: (taskId: string) => any;
9
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import type { TaskDashboardWidgetLayout } from '@/types';
2
+ type WidgetMoveDirection = 'left' | 'right' | 'up' | 'down';
3
+ type __VLS_Props = {
4
+ widgets: TaskDashboardWidgetLayout[];
5
+ };
6
+ declare var __VLS_1: {
7
+ widget: TaskDashboardWidgetLayout;
8
+ move: (direction: WidgetMoveDirection) => void;
9
+ resize: (delta: number) => void;
10
+ };
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_1) => any;
13
+ };
14
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "update:widgets": (widgets: TaskDashboardWidgetLayout[]) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ "onUpdate:widgets"?: (widgets: TaskDashboardWidgetLayout[]) => any;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
20
+ export default _default;
21
+ type __VLS_WithSlots<T, S> = T & {
22
+ new (): {
23
+ $slots: S;
24
+ };
25
+ };
@@ -0,0 +1,29 @@
1
+ export { default as MyStatsWidget } from './dashboard/MyStatsWidget.vue';
2
+ export { default as MyTasksToday } from './dashboard/MyTasksToday.vue';
3
+ export { default as OverdueTracker } from './dashboard/OverdueTracker.vue';
4
+ export { default as TaskDashboard } from './dashboard/TaskDashboard.vue';
5
+ export { default as TaskHealthAlerts } from './dashboard/TaskHealthAlerts.vue';
6
+ export { default as TeamActivityFeed } from './dashboard/TeamActivityFeed.vue';
7
+ export { default as UpcomingThisWeek } from './dashboard/UpcomingThisWeek.vue';
8
+ export { default as WidgetGrid } from './dashboard/WidgetGrid.vue';
9
+ export { default as TaskBoardView } from './list/TaskBoardView.vue';
10
+ export { default as TaskBulkActionBar } from './list/TaskBulkActionBar.vue';
11
+ export { default as TaskCalendarView } from './list/TaskCalendarView.vue';
12
+ export { default as TaskFilterBar } from './list/TaskFilterBar.vue';
13
+ export { default as RecurringTemplateForm } from './recurrence/RecurringTemplateForm.vue';
14
+ export { default as RecurringTemplateList } from './recurrence/RecurringTemplateList.vue';
15
+ export { default as TaskListView } from './list/TaskListView.vue';
16
+ export { default as TaskSavedFilterTabs } from './list/TaskSavedFilterTabs.vue';
17
+ export { default as TaskPriorityIcon } from './shared/TaskPriorityIcon.vue';
18
+ export { default as TaskEntityWidget } from './shared/TaskEntityWidget.vue';
19
+ export { default as TaskNotificationToast } from './shared/TaskNotificationToast.vue';
20
+ export { default as TaskQuickCreate } from './shared/TaskQuickCreate.vue';
21
+ export { default as EscalationActions } from './task/EscalationActions.vue';
22
+ export { default as EscalationBadge } from './task/EscalationBadge.vue';
23
+ export { default as TaskCard } from './task/TaskCard.vue';
24
+ export { default as TaskChecklist } from './task/TaskChecklist.vue';
25
+ export { default as TaskComments } from './task/TaskComments.vue';
26
+ export { default as TaskDetailView } from './task/TaskDetail.vue';
27
+ export { default as TaskForm } from './task/TaskForm.vue';
28
+ export { default as TaskStatusBadge } from './task/TaskStatusBadge.vue';
29
+ export { default as TaskTimeline } from './task/TaskTimeline.vue';
@@ -0,0 +1,21 @@
1
+ import type { Task, TaskStatus } from '@/types';
2
+ type __VLS_Props = {
3
+ tasks: Task[];
4
+ loading?: boolean;
5
+ visibleStatuses?: TaskStatus[];
6
+ updateTaskStatus?: ((taskId: string, status: TaskStatus) => Promise<unknown>) | null;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ "select-task": (taskId: string) => any;
10
+ "status-change": (payload: {
11
+ taskId: string;
12
+ status: TaskStatus;
13
+ }) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onSelect-task"?: (taskId: string) => any;
16
+ "onStatus-change"?: (payload: {
17
+ taskId: string;
18
+ status: TaskStatus;
19
+ }) => any;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import type { TaskBulkAction, TaskBulkActionResult } from '@/types';
2
+ type __VLS_Props = {
3
+ selectedCount: number;
4
+ busy?: boolean;
5
+ result?: TaskBulkActionResult | null;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ clear: () => any;
9
+ apply: (payload: {
10
+ action: TaskBulkAction;
11
+ params: Record<string, unknown>;
12
+ }) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onClear?: () => any;
15
+ onApply?: (payload: {
16
+ action: TaskBulkAction;
17
+ params: Record<string, unknown>;
18
+ }) => any;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { Task } from '@/types';
2
+ type __VLS_Props = {
3
+ tasks: Task[];
4
+ initialMonth?: Date | string;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "select-task": (taskId: string) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onSelect-task"?: (taskId: string) => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import type { TaskFilters } from '@/types';
2
+ type __VLS_Props = {
3
+ modelValue: TaskFilters;
4
+ loading?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ clear: () => any;
8
+ "update:modelValue": (value: TaskFilters) => any;
9
+ "save-current": () => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onClear?: () => any;
12
+ "onUpdate:modelValue"?: (value: TaskFilters) => any;
13
+ "onSave-current"?: () => any;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
@@ -0,0 +1,39 @@
1
+ import type { PaginationMeta, Task, TaskBulkAction, TaskBulkActionResult, TaskFilters, TaskSavedFilter } from '@/types';
2
+ type __VLS_Props = {
3
+ tasks: Task[];
4
+ filters: TaskFilters;
5
+ pagination: PaginationMeta;
6
+ loading?: boolean;
7
+ savedFilters?: TaskSavedFilter[];
8
+ activeSavedFilterId?: string | null;
9
+ bulkBusy?: boolean;
10
+ bulkResult?: TaskBulkActionResult | null;
11
+ };
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ "select-task": (taskId: string) => any;
14
+ "update:filters": (filters: TaskFilters) => any;
15
+ "quick-create": () => any;
16
+ "page-change": (page: number) => any;
17
+ "save-filter": () => any;
18
+ "apply-saved-filter": (filterId: string) => any;
19
+ "delete-saved-filter": (filterId: string) => any;
20
+ "bulk-action": (payload: {
21
+ taskIds: string[];
22
+ action: TaskBulkAction;
23
+ params: Record<string, unknown>;
24
+ }) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ "onSelect-task"?: (taskId: string) => any;
27
+ "onUpdate:filters"?: (filters: TaskFilters) => any;
28
+ "onQuick-create"?: () => any;
29
+ "onPage-change"?: (page: number) => any;
30
+ "onSave-filter"?: () => any;
31
+ "onApply-saved-filter"?: (filterId: string) => any;
32
+ "onDelete-saved-filter"?: (filterId: string) => any;
33
+ "onBulk-action"?: (payload: {
34
+ taskIds: string[];
35
+ action: TaskBulkAction;
36
+ params: Record<string, unknown>;
37
+ }) => any;
38
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import type { TaskSavedFilter } from '@/types';
2
+ type __VLS_Props = {
3
+ filters: TaskSavedFilter[];
4
+ activeFilterId?: string | null;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ select: (filterId: string) => any;
8
+ remove: (filterId: string) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onSelect?: (filterId: string) => any;
11
+ onRemove?: (filterId: string) => any;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { RecurringTemplate, RecurringTemplateMutationPayload, TaskTemplate } from '@/types';
2
+ type __VLS_Props = {
3
+ recurring?: Partial<RecurringTemplate> | null;
4
+ templates?: TaskTemplate[];
5
+ submitting?: boolean;
6
+ mode?: 'create' | 'edit';
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ cancel: () => any;
10
+ submit: (payload: RecurringTemplateMutationPayload) => any;
11
+ "template-change": (templateId: string | null) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ onCancel?: () => any;
14
+ onSubmit?: (payload: RecurringTemplateMutationPayload) => any;
15
+ "onTemplate-change"?: (templateId: string | null) => any;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import type { RecurringTemplate } from '@/types';
2
+ type __VLS_Props = {
3
+ templates: RecurringTemplate[];
4
+ loading?: boolean;
5
+ search?: string;
6
+ includeInactive?: boolean;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ edit: (id: string) => any;
10
+ "update:search": (value: string) => any;
11
+ "update:includeInactive": (value: boolean) => any;
12
+ pause: (id: string) => any;
13
+ resume: (id: string) => any;
14
+ remove: (id: string) => any;
15
+ generate: (id: string) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onEdit?: (id: string) => any;
18
+ "onUpdate:search"?: (value: string) => any;
19
+ "onUpdate:includeInactive"?: (value: boolean) => any;
20
+ onPause?: (id: string) => any;
21
+ onResume?: (id: string) => any;
22
+ onRemove?: (id: string) => any;
23
+ onGenerate?: (id: string) => any;
24
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import type { EntityTaskSummary, TaskMutationPayload, TaskTemplate } from '@/types';
2
+ type __VLS_Props = {
3
+ entityType: string;
4
+ entityId: string;
5
+ summary: EntityTaskSummary | null;
6
+ templates?: TaskTemplate[];
7
+ loading?: boolean;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "select-task": (taskId: string) => any;
11
+ "instantiate-template": (templateId: string) => any;
12
+ "create-task": (payload: TaskMutationPayload) => any;
13
+ "view-all": () => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ "onSelect-task"?: (taskId: string) => any;
16
+ "onInstantiate-template"?: (templateId: string) => any;
17
+ "onCreate-task"?: (payload: TaskMutationPayload) => any;
18
+ "onView-all"?: () => any;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ export default _default;
@@ -0,0 +1,16 @@
1
+ import type { TaskNotificationToastItem } from '@/types';
2
+ type __VLS_Props = {
3
+ navigate?: ((toast: TaskNotificationToastItem) => void) | null;
4
+ ariaLabel?: string;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ select: (toast: TaskNotificationToastItem) => any;
8
+ dismiss: (toastId: string) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onSelect?: (toast: TaskNotificationToastItem) => any;
11
+ onDismiss?: (toastId: string) => any;
12
+ }>, {
13
+ navigate: ((toast: TaskNotificationToastItem) => void) | null;
14
+ ariaLabel: string;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { TaskPriority } from '@/types';
2
+ type __VLS_Props = {
3
+ priority: TaskPriority;
4
+ compact?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { TaskMutationPayload, TaskTemplate } from '@/types';
2
+ type __VLS_Props = {
3
+ templates?: TaskTemplate[];
4
+ busy?: boolean;
5
+ entityContext?: {
6
+ type: string;
7
+ id: string;
8
+ } | null;
9
+ };
10
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ submit: (payload: TaskMutationPayload) => any;
12
+ "instantiate-template": (templateId: string) => any;
13
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onSubmit?: (payload: TaskMutationPayload) => any;
15
+ "onInstantiate-template"?: (templateId: string) => any;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import type { TaskDetail } from '@/types';
2
+ type EscalationTask = Pick<TaskDetail, 'id' | 'current_escalation_tier' | 'current_escalation_label' | 'next_escalation_at' | 'escalation_acknowledged_at' | 'escalation_snoozed_until' | 'escalation_events'>;
3
+ type __VLS_Props = {
4
+ task: EscalationTask;
5
+ busy?: boolean;
6
+ };
7
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ snooze: (payload: {
9
+ taskId: string;
10
+ hours: number;
11
+ reason: string;
12
+ }) => any;
13
+ acknowledge: (taskId: string) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onSnooze?: (payload: {
16
+ taskId: string;
17
+ hours: number;
18
+ reason: string;
19
+ }) => any;
20
+ onAcknowledge?: (taskId: string) => any;
21
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import type { EscalationTier } from '@/types';
2
+ type __VLS_Props = {
3
+ tier?: EscalationTier | null;
4
+ acknowledgedAt?: string | null;
5
+ snoozedUntil?: string | null;
6
+ compact?: boolean;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { Task, TaskSummary, UserSummary } from '@/types';
2
+ type DisplayTask = TaskSummary & Partial<Task> & {
3
+ primary_assignee?: UserSummary | null;
4
+ };
5
+ type __VLS_Props = {
6
+ task: DisplayTask;
7
+ compact?: boolean;
8
+ };
9
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ select: (taskId: string) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onSelect?: (taskId: string) => any;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { TaskChecklistItem } from '@/types';
2
+ type __VLS_Props = {
3
+ items: TaskChecklistItem[];
4
+ disabled?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "toggle-item": (itemId: string) => any;
8
+ "add-item": (title: string) => any;
9
+ "remove-item": (itemId: string) => any;
10
+ "reorder-items": (itemIds: string[]) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ "onToggle-item"?: (itemId: string) => any;
13
+ "onAdd-item"?: (title: string) => any;
14
+ "onRemove-item"?: (itemId: string) => any;
15
+ "onReorder-items"?: (itemIds: string[]) => any;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { TaskComment } from '@/types';
2
+ type __VLS_Props = {
3
+ comments: TaskComment[];
4
+ disabled?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ submit: (payload: {
8
+ content: string;
9
+ visibility: "team" | "private";
10
+ }) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
+ onSubmit?: (payload: {
13
+ content: string;
14
+ visibility: "team" | "private";
15
+ }) => any;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,47 @@
1
+ import type { TaskDetail } from '@/types';
2
+ type __VLS_Props = {
3
+ task: TaskDetail | null;
4
+ busy?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ complete: (taskId: string) => any;
8
+ cancel: (taskId: string) => any;
9
+ delete: (taskId: string) => any;
10
+ edit: (taskId: string) => any;
11
+ reopen: (taskId: string) => any;
12
+ "acknowledge-escalation": (taskId: string) => any;
13
+ "snooze-escalation": (payload: {
14
+ taskId: string;
15
+ hours: number;
16
+ reason: string;
17
+ }) => any;
18
+ "submit-comment": (payload: {
19
+ content: string;
20
+ visibility: "team" | "private";
21
+ }) => any;
22
+ "add-checklist-item": (title: string) => any;
23
+ "toggle-checklist-item": (itemId: string) => any;
24
+ "remove-checklist-item": (itemId: string) => any;
25
+ "reorder-checklist-items": (itemIds: string[]) => any;
26
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
27
+ onComplete?: (taskId: string) => any;
28
+ onCancel?: (taskId: string) => any;
29
+ onDelete?: (taskId: string) => any;
30
+ onEdit?: (taskId: string) => any;
31
+ onReopen?: (taskId: string) => any;
32
+ "onAcknowledge-escalation"?: (taskId: string) => any;
33
+ "onSnooze-escalation"?: (payload: {
34
+ taskId: string;
35
+ hours: number;
36
+ reason: string;
37
+ }) => any;
38
+ "onSubmit-comment"?: (payload: {
39
+ content: string;
40
+ visibility: "team" | "private";
41
+ }) => any;
42
+ "onAdd-checklist-item"?: (title: string) => any;
43
+ "onToggle-checklist-item"?: (itemId: string) => any;
44
+ "onRemove-checklist-item"?: (itemId: string) => any;
45
+ "onReorder-checklist-items"?: (itemIds: string[]) => any;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import type { TaskDetail, TaskMutationPayload, TaskTemplate } from '@/types';
2
+ type __VLS_Props = {
3
+ task?: Partial<TaskDetail> | null;
4
+ templates?: TaskTemplate[];
5
+ entityContext?: {
6
+ type: string;
7
+ id: string;
8
+ } | null;
9
+ submitting?: boolean;
10
+ mode?: 'create' | 'edit';
11
+ };
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ cancel: () => any;
14
+ submit: (payload: TaskMutationPayload) => any;
15
+ "template-change": (templateId: string | null) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onCancel?: () => any;
18
+ onSubmit?: (payload: TaskMutationPayload) => any;
19
+ "onTemplate-change"?: (templateId: string | null) => any;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import type { TaskStatus } from '@/types';
2
+ type __VLS_Props = {
3
+ status: TaskStatus;
4
+ };
5
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { TaskActivityLog } from '@/types';
2
+ type __VLS_Props = {
3
+ logs: TaskActivityLog[];
4
+ canLoadMore?: boolean;
5
+ };
6
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ "load-more": () => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ "onLoad-more"?: () => any;
10
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export { useTaskDashboard } from './useTaskDashboard';
2
+ export { useTaskDetail } from './useTaskDetail';
3
+ export { useTaskFilters } from './useTaskFilters';
4
+ export { useTaskNotificationFeed } from './useTaskNotificationFeed';
5
+ export { useTaskPresence } from './useTaskPresence';
6
+ export { useTaskSavedFilters } from './useTaskSavedFilters';
7
+ export { useTaskWebSocket } from './useTaskWebSocket';