@happyvertical/smrt-projects 0.43.10 → 0.44.1

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 (50) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/manifest.json +15 -3
  3. package/dist/smrt-knowledge.json +9 -3
  4. package/dist/svelte/AssistanceLauncher.svelte +5 -0
  5. package/dist/svelte/AssistanceLauncher.svelte.d.ts +5 -0
  6. package/dist/svelte/AssistanceLauncher.svelte.d.ts.map +1 -1
  7. package/dist/svelte/DeliveryStatus.svelte +1 -0
  8. package/dist/svelte/DeliveryStatus.svelte.d.ts +1 -0
  9. package/dist/svelte/DeliveryStatus.svelte.d.ts.map +1 -1
  10. package/dist/svelte/DevelopmentBoard.svelte +3 -0
  11. package/dist/svelte/DevelopmentBoard.svelte.d.ts +3 -0
  12. package/dist/svelte/DevelopmentBoard.svelte.d.ts.map +1 -1
  13. package/dist/svelte/DevelopmentRequestDetail.svelte +2 -0
  14. package/dist/svelte/DevelopmentRequestDetail.svelte.d.ts +2 -0
  15. package/dist/svelte/DevelopmentRequestDetail.svelte.d.ts.map +1 -1
  16. package/dist/svelte/PreviewApprovalPanel.svelte +3 -0
  17. package/dist/svelte/PreviewApprovalPanel.svelte.d.ts +3 -0
  18. package/dist/svelte/PreviewApprovalPanel.svelte.d.ts.map +1 -1
  19. package/dist/svelte/ServiceEvidenceList.svelte +1 -0
  20. package/dist/svelte/ServiceEvidenceList.svelte.d.ts +1 -0
  21. package/dist/svelte/ServiceEvidenceList.svelte.d.ts.map +1 -1
  22. package/dist/svelte/components/ApprovalActions.svelte +9 -0
  23. package/dist/svelte/components/ApprovalActions.svelte.d.ts +9 -0
  24. package/dist/svelte/components/ApprovalActions.svelte.d.ts.map +1 -1
  25. package/dist/svelte/components/BulkActions.svelte +7 -0
  26. package/dist/svelte/components/BulkActions.svelte.d.ts +7 -0
  27. package/dist/svelte/components/BulkActions.svelte.d.ts.map +1 -1
  28. package/dist/svelte/components/DevelopmentRequestForm.svelte +2 -0
  29. package/dist/svelte/components/DevelopmentRequestForm.svelte.d.ts +2 -0
  30. package/dist/svelte/components/DevelopmentRequestForm.svelte.d.ts.map +1 -1
  31. package/dist/svelte/components/DevelopmentRequestList.svelte +3 -0
  32. package/dist/svelte/components/DevelopmentRequestList.svelte.d.ts +3 -0
  33. package/dist/svelte/components/DevelopmentRequestList.svelte.d.ts.map +1 -1
  34. package/dist/svelte/components/DurationDisplay.svelte +16 -3
  35. package/dist/svelte/components/DurationDisplay.svelte.d.ts +9 -0
  36. package/dist/svelte/components/DurationDisplay.svelte.d.ts.map +1 -1
  37. package/dist/svelte/components/RejectDialog.svelte +10 -0
  38. package/dist/svelte/components/RejectDialog.svelte.d.ts +10 -0
  39. package/dist/svelte/components/RejectDialog.svelte.d.ts.map +1 -1
  40. package/dist/svelte/components/TimeEntryCard.svelte +8 -0
  41. package/dist/svelte/components/TimeEntryCard.svelte.d.ts +8 -0
  42. package/dist/svelte/components/TimeEntryCard.svelte.d.ts.map +1 -1
  43. package/dist/svelte/components/TimeEntryList.svelte +7 -0
  44. package/dist/svelte/components/TimeEntryList.svelte.d.ts +7 -0
  45. package/dist/svelte/components/TimeEntryList.svelte.d.ts.map +1 -1
  46. package/dist/svelte/components/TimeSummary.svelte +11 -0
  47. package/dist/svelte/components/TimeSummary.svelte.d.ts +11 -0
  48. package/dist/svelte/components/TimeSummary.svelte.d.ts.map +1 -1
  49. package/dist/svelte/components/__tests__/DurationDisplay.test.js +34 -0
  50. package/package.json +12 -11
@@ -2,7 +2,7 @@
2
2
  "version": "1.0.0",
3
3
  "timestamp": 0,
4
4
  "packageName": "@happyvertical/smrt-projects",
5
- "packageVersion": "0.43.10",
5
+ "packageVersion": "0.44.1",
6
6
  "objects": {
7
7
  "@happyvertical/smrt-projects:DevelopmentRequestHistoryCollection": {
8
8
  "name": "developmentrequesthistorycollection",
@@ -2501,7 +2501,13 @@
2501
2501
  "delete": {
2502
2502
  "name": "delete",
2503
2503
  "async": true,
2504
- "parameters": [],
2504
+ "parameters": [
2505
+ {
2506
+ "name": "options",
2507
+ "type": "SmrtDeleteOptions",
2508
+ "optional": true
2509
+ }
2510
+ ],
2505
2511
  "returnType": "Promise<void>",
2506
2512
  "isStatic": false,
2507
2513
  "isPublic": true
@@ -4654,7 +4660,13 @@
4654
4660
  "delete": {
4655
4661
  "name": "delete",
4656
4662
  "async": true,
4657
- "parameters": [],
4663
+ "parameters": [
4664
+ {
4665
+ "name": "options",
4666
+ "type": "SmrtDeleteOptions",
4667
+ "optional": true
4668
+ }
4669
+ ],
4658
4670
  "returnType": "Promise<void>",
4659
4671
  "isStatic": false,
4660
4672
  "isPublic": true
@@ -3,12 +3,12 @@
3
3
  "sensitiveFieldsExcluded": true,
4
4
  "generatedAt": "1970-01-01T00:00:00.000Z",
5
5
  "packageName": "@happyvertical/smrt-projects",
6
- "packageVersion": "0.43.10",
6
+ "packageVersion": "0.44.1",
7
7
  "sourceManifestPath": "dist/manifest.json",
8
8
  "agentDocPath": "AGENTS.md",
9
9
  "sourceHashes": {
10
- "manifest": "46d57ca327ca95e151c8e8e3039cee8112dbb4b4ba8ea0fcefa581d1719d4bce",
11
- "packageJson": "9227c354cd6619e0d455bb242a3665c42cae85db249bfbe03bc75be9f83c7a8f",
10
+ "manifest": "1d02c4ab0f8923f0b769dc4ecc31406ab0917642a665d5590fb2c46c67f21086",
11
+ "packageJson": "7f4f69edd017c4bddac7386f897be5f5836fac45c9482a1f8d29655a7e885941",
12
12
  "agents": "1642532c0c1bf16fb07b0184326f76f9fb3b142cb111e39f8e763c2d08be40d3"
13
13
  },
14
14
  "exports": [
@@ -1391,6 +1391,9 @@
1391
1391
  {
1392
1392
  "name": "delete",
1393
1393
  "async": true,
1394
+ "params": [
1395
+ "options?: SmrtDeleteOptions"
1396
+ ],
1394
1397
  "returns": "Promise<void>"
1395
1398
  },
1396
1399
  {
@@ -2886,6 +2889,9 @@
2886
2889
  {
2887
2890
  "name": "delete",
2888
2891
  "async": true,
2892
+ "params": [
2893
+ "options?: SmrtDeleteOptions"
2894
+ ],
2889
2895
  "returns": "Promise<void>"
2890
2896
  },
2891
2897
  {
@@ -9,10 +9,15 @@ import type {
9
9
  import { M } from './i18n.js';
10
10
 
11
11
  export interface Props {
12
+ /** Identifier of the user submitting the assistance request. */
12
13
  requesterId: string;
14
+ /** Additional context data about the application. */
13
15
  applicationContext?: Record<string, unknown>;
16
+ /** Evidence supporting the assistance request. */
14
17
  evidence?: DevelopmentRequestEvidence[];
18
+ /** Blocks interaction with the form controls. */
15
19
  disabled?: boolean;
20
+ /** Invoked when the user submits the form. */
16
21
  onsubmit?: (value: ManagedAssistanceRequestInput) => void | Promise<void>;
17
22
  }
18
23
 
@@ -1,9 +1,14 @@
1
1
  import type { DevelopmentRequestEvidence, ManagedAssistanceRequestInput } from '../types.js';
2
2
  export interface Props {
3
+ /** Identifier of the user submitting the assistance request. */
3
4
  requesterId: string;
5
+ /** Additional context data about the application. */
4
6
  applicationContext?: Record<string, unknown>;
7
+ /** Evidence supporting the assistance request. */
5
8
  evidence?: DevelopmentRequestEvidence[];
9
+ /** Blocks interaction with the form controls. */
6
10
  disabled?: boolean;
11
+ /** Invoked when the user submits the form. */
7
12
  onsubmit?: (value: ManagedAssistanceRequestInput) => void | Promise<void>;
8
13
  }
9
14
  declare const AssistanceLauncher: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"AssistanceLauncher.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/AssistanceLauncher.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AA6DD,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"AssistanceLauncher.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/AssistanceLauncher.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,KAAK;IACpB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,kDAAkD;IAClD,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AA6DD,QAAA,MAAM,kBAAkB,2CAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
@@ -4,6 +4,7 @@ import type { DeliveryEventView } from './delivery-types.js';
4
4
  import { M } from './i18n.js';
5
5
 
6
6
  export interface Props {
7
+ /** Timeline of delivery status events. */
7
8
  events?: DeliveryEventView[];
8
9
  }
9
10
 
@@ -1,5 +1,6 @@
1
1
  import type { DeliveryEventView } from './delivery-types.js';
2
2
  export interface Props {
3
+ /** Timeline of delivery status events. */
3
4
  events?: DeliveryEventView[];
4
5
  }
5
6
  declare const DeliveryStatus: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DeliveryStatus.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DeliveryStatus.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,MAAM,WAAW,KAAK;IACpB,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAmCD,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"DeliveryStatus.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DeliveryStatus.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,MAAM,WAAW,KAAK;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAmCD,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -14,8 +14,11 @@ interface DevelopmentBoardCard extends BoardCard {
14
14
  }
15
15
 
16
16
  export interface Props {
17
+ /** Development requests to display as board cards. */
17
18
  requests?: DevelopmentRequestView[];
19
+ /** Column identifiers corresponding to request statuses. */
18
20
  columns?: string[];
21
+ /** Invoked when the user selects a request card. */
19
22
  onselect?: (request: DevelopmentRequestView) => void;
20
23
  }
21
24
 
@@ -1,7 +1,10 @@
1
1
  import type { DevelopmentRequestView } from './delivery-types.js';
2
2
  export interface Props {
3
+ /** Development requests to display as board cards. */
3
4
  requests?: DevelopmentRequestView[];
5
+ /** Column identifiers corresponding to request statuses. */
4
6
  columns?: string[];
7
+ /** Invoked when the user selects a request card. */
5
8
  onselect?: (request: DevelopmentRequestView) => void;
6
9
  }
7
10
  declare const DevelopmentBoard: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopmentBoard.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DevelopmentBoard.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AASlE,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACtD;AAsDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"DevelopmentBoard.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DevelopmentBoard.svelte.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AASlE,MAAM,WAAW,KAAK;IACpB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACpC,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;CACtD;AAsDD,QAAA,MAAM,gBAAgB,2CAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -8,7 +8,9 @@ import type {
8
8
  import { M } from './i18n.js';
9
9
 
10
10
  export interface Props {
11
+ /** Development request to display. */
11
12
  request: DevelopmentRequestView;
13
+ /** Timeline of delivery status events. */
12
14
  events?: DeliveryEventView[];
13
15
  }
14
16
 
@@ -1,6 +1,8 @@
1
1
  import type { DeliveryEventView, DevelopmentRequestView } from './delivery-types.js';
2
2
  export interface Props {
3
+ /** Development request to display. */
3
4
  request: DevelopmentRequestView;
5
+ /** Timeline of delivery status events. */
4
6
  events?: DeliveryEventView[];
5
7
  }
6
8
  declare const DevelopmentRequestDetail: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopmentRequestDetail.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DevelopmentRequestDetail.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,sBAAsB,CAAC;IAChC,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAiDD,QAAA,MAAM,wBAAwB,2CAAwC,CAAC;AACvE,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC5E,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"DevelopmentRequestDetail.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/DevelopmentRequestDetail.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,KAAK;IACpB,sCAAsC;IACtC,OAAO,EAAE,sBAAsB,CAAC;IAChC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAiDD,QAAA,MAAM,wBAAwB,2CAAwC,CAAC;AACvE,KAAK,wBAAwB,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC5E,eAAe,wBAAwB,CAAC"}
@@ -5,8 +5,11 @@ import type { PreviewApprovalView } from './delivery-types.js';
5
5
  import { M } from './i18n.js';
6
6
 
7
7
  export interface Props {
8
+ /** Preview item awaiting approval decision. */
8
9
  preview: PreviewApprovalView;
10
+ /** Disables approval buttons during processing. */
9
11
  busy?: boolean;
12
+ /** Invoked when the user approves or rejects the preview. */
10
13
  ondecide?: (approved: boolean) => void | Promise<void>;
11
14
  }
12
15
 
@@ -1,7 +1,10 @@
1
1
  import type { PreviewApprovalView } from './delivery-types.js';
2
2
  export interface Props {
3
+ /** Preview item awaiting approval decision. */
3
4
  preview: PreviewApprovalView;
5
+ /** Disables approval buttons during processing. */
4
6
  busy?: boolean;
7
+ /** Invoked when the user approves or rejects the preview. */
5
8
  ondecide?: (approved: boolean) => void | Promise<void>;
6
9
  }
7
10
  declare const PreviewApprovalPanel: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewApprovalPanel.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/PreviewApprovalPanel.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAsCD,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PreviewApprovalPanel.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/PreviewApprovalPanel.svelte.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,KAAK;IACpB,+CAA+C;IAC/C,OAAO,EAAE,mBAAmB,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAsCD,QAAA,MAAM,oBAAoB,2CAAwC,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
@@ -4,6 +4,7 @@ import type { ServiceEvidenceView } from './delivery-types.js';
4
4
  import { M } from './i18n.js';
5
5
 
6
6
  export interface Props {
7
+ /** Service evidence entries showing participant charge and compensation details. */
7
8
  entries?: ServiceEvidenceView[];
8
9
  }
9
10
 
@@ -1,5 +1,6 @@
1
1
  import type { ServiceEvidenceView } from './delivery-types.js';
2
2
  export interface Props {
3
+ /** Service evidence entries showing participant charge and compensation details. */
3
4
  entries?: ServiceEvidenceView[];
4
5
  }
5
6
  declare const ServiceEvidenceList: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceEvidenceList.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/ServiceEvidenceList.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,KAAK;IACpB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAkED,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ServiceEvidenceList.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/ServiceEvidenceList.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,MAAM,WAAW,KAAK;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACjC;AAkED,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
@@ -13,14 +13,23 @@ const { t } = useI18n();
13
13
 
14
14
  /** Props for ApprovalActions component */
15
15
  export interface Props {
16
+ /** Current approval workflow status. */
16
17
  status: ApprovalStatus;
18
+ /** Invoked when submitting a draft for approval. */
17
19
  onsubmit?: () => void;
20
+ /** Invoked when approving a submitted item. */
18
21
  onapprove?: () => void;
22
+ /** Invoked when rejecting a submitted item. */
19
23
  onreject?: () => void;
24
+ /** Invoked when editing a draft or rejected item. */
20
25
  onedit?: () => void;
26
+ /** Invoked when deleting a draft item. */
21
27
  ondelete?: () => void;
28
+ /** Disables buttons and shows loading indicators during processing. */
22
29
  loading?: boolean;
30
+ /** Blocks all button interactions. */
23
31
  disabled?: boolean;
32
+ /** Arranges buttons horizontally or vertically. */
24
33
  layout?: 'horizontal' | 'vertical';
25
34
  }
26
35
 
@@ -1,14 +1,23 @@
1
1
  import type { ApprovalStatus } from './utils.js';
2
2
  /** Props for ApprovalActions component */
3
3
  export interface Props {
4
+ /** Current approval workflow status. */
4
5
  status: ApprovalStatus;
6
+ /** Invoked when submitting a draft for approval. */
5
7
  onsubmit?: () => void;
8
+ /** Invoked when approving a submitted item. */
6
9
  onapprove?: () => void;
10
+ /** Invoked when rejecting a submitted item. */
7
11
  onreject?: () => void;
12
+ /** Invoked when editing a draft or rejected item. */
8
13
  onedit?: () => void;
14
+ /** Invoked when deleting a draft item. */
9
15
  ondelete?: () => void;
16
+ /** Disables buttons and shows loading indicators during processing. */
10
17
  loading?: boolean;
18
+ /** Blocks all button interactions. */
11
19
  disabled?: boolean;
20
+ /** Arranges buttons horizontally or vertically. */
12
21
  layout?: 'horizontal' | 'vertical';
13
22
  }
14
23
  declare const ApprovalActions: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"ApprovalActions.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ApprovalActions.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,0CAA0C;AAC1C,MAAM,WAAW,KAAK;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACpC;AAkFD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ApprovalActions.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/ApprovalActions.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,0CAA0C;AAC1C,MAAM,WAAW,KAAK;IACpB,wCAAwC;IACxC,MAAM,EAAE,cAAc,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACpC;AAkFD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -12,12 +12,19 @@ const { t } = useI18n();
12
12
 
13
13
  /** Props for BulkActions component */
14
14
  export interface Props {
15
+ /** Number of selected items. Component is hidden when count is zero. */
15
16
  selectedCount: number;
17
+ /** Invoked when approving all selected items. */
16
18
  onapprove?: () => void;
19
+ /** Invoked when rejecting all selected items. */
17
20
  onreject?: () => void;
21
+ /** Invoked when deleting all selected items. */
18
22
  ondelete?: () => void;
23
+ /** Invoked when exporting selected items. */
19
24
  onexport?: () => void;
25
+ /** Invoked when clearing all selections. */
20
26
  onclear?: () => void;
27
+ /** Disables all action buttons during processing. */
21
28
  loading?: boolean;
22
29
  }
23
30
 
@@ -1,11 +1,18 @@
1
1
  /** Props for BulkActions component */
2
2
  export interface Props {
3
+ /** Number of selected items. Component is hidden when count is zero. */
3
4
  selectedCount: number;
5
+ /** Invoked when approving all selected items. */
4
6
  onapprove?: () => void;
7
+ /** Invoked when rejecting all selected items. */
5
8
  onreject?: () => void;
9
+ /** Invoked when deleting all selected items. */
6
10
  ondelete?: () => void;
11
+ /** Invoked when exporting selected items. */
7
12
  onexport?: () => void;
13
+ /** Invoked when clearing all selections. */
8
14
  onclear?: () => void;
15
+ /** Disables all action buttons during processing. */
9
16
  loading?: boolean;
10
17
  }
11
18
  declare const BulkActions: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActions.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/BulkActions.svelte.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC,MAAM,WAAW,KAAK;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoED,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"BulkActions.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/BulkActions.svelte.ts"],"names":[],"mappings":"AAYA,sCAAsC;AACtC,MAAM,WAAW,KAAK;IACpB,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qDAAqD;IACrD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoED,QAAA,MAAM,WAAW,2CAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -11,7 +11,9 @@ export interface DevelopmentRequestSubmission {
11
11
  discussion: string;
12
12
  }
13
13
  export interface Props {
14
+ /** Invoked when the user submits the development request form. */
14
15
  onsubmit: (request: DevelopmentRequestSubmission) => void | Promise<void>;
16
+ /** Blocks all form controls. */
15
17
  disabled?: boolean;
16
18
  }
17
19
  let { onsubmit, disabled = false }: Props = $props();
@@ -10,7 +10,9 @@ export interface DevelopmentRequestSubmission {
10
10
  discussion: string;
11
11
  }
12
12
  export interface Props {
13
+ /** Invoked when the user submits the development request form. */
13
14
  onsubmit: (request: DevelopmentRequestSubmission) => void | Promise<void>;
15
+ /** Blocks all form controls. */
14
16
  disabled?: boolean;
15
17
  }
16
18
  declare const DevelopmentRequestForm: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopmentRequestForm.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DevelopmentRequestForm.svelte.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyDD,QAAA,MAAM,sBAAsB,2CAAwC,CAAC;AACrE,KAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACxE,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"DevelopmentRequestForm.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DevelopmentRequestForm.svelte.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,MAAM,WAAW,KAAK;IACpB,kEAAkE;IAClE,QAAQ,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAyDD,QAAA,MAAM,sBAAsB,2CAAwC,CAAC;AACrE,KAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACxE,eAAe,sBAAsB,CAAC"}
@@ -21,8 +21,11 @@ export interface DevelopmentRequestListItem {
21
21
  }
22
22
 
23
23
  export interface Props {
24
+ /** Filters requests to show only those from a specific requester. */
24
25
  requesterId?: string;
26
+ /** Development requests to display in the list. */
25
27
  requests: DevelopmentRequestListItem[];
28
+ /** Message shown when no requests match the filter. */
26
29
  emptyMessage?: string;
27
30
  }
28
31
 
@@ -12,8 +12,11 @@ export interface DevelopmentRequestListItem {
12
12
  createdAt?: Date | string;
13
13
  }
14
14
  export interface Props {
15
+ /** Filters requests to show only those from a specific requester. */
15
16
  requesterId?: string;
17
+ /** Development requests to display in the list. */
16
18
  requests: DevelopmentRequestListItem[];
19
+ /** Message shown when no requests match the filter. */
17
20
  emptyMessage?: string;
18
21
  }
19
22
  declare const DevelopmentRequestList: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopmentRequestList.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DevelopmentRequestList.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2FD,QAAA,MAAM,sBAAsB,2CAAwC,CAAC;AACrE,KAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACxE,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"DevelopmentRequestList.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DevelopmentRequestList.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,sBAAsB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,CAAC,EAAE,4BAA4B,CAAC;IAC1C,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACxC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,KAAK;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2FD,QAAA,MAAM,sBAAsB,2CAAwC,CAAC;AACrE,KAAK,sBAAsB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACxE,eAAe,sBAAsB,CAAC"}
@@ -8,9 +8,18 @@ import { formatHoursHHMM } from './utils.js';
8
8
 
9
9
  /** Props for DurationDisplay component */
10
10
  export interface Props {
11
+ /** Duration in hours to display. */
11
12
  hours: number;
13
+ /** Format duration as decimal (8.5) or hours:minutes (8:30). */
12
14
  format?: 'decimal' | 'hhmm';
15
+ /** Sets the font size of the duration display. */
13
16
  size?: 'sm' | 'md' | 'lg';
17
+ /**
18
+ * Renders the `h` unit after a `decimal` value; set `false` for a bare
19
+ * number, such as in a column whose header already names the unit. An
20
+ * `hhmm` value spells its own unit in the `8:30` shape and never appends a
21
+ * separate one, so this prop does not affect that format.
22
+ */
14
23
  showLabel?: boolean;
15
24
  }
16
25
 
@@ -18,19 +27,23 @@ let {
18
27
  hours,
19
28
  format = 'decimal',
20
29
  size = 'md',
21
- showLabel = false,
30
+ showLabel = true,
22
31
  }: Props = $props();
23
32
 
24
33
  // $derived creates a reactive value, not a function - no wrapper or parentheses needed
25
34
  const formattedValue = $derived(
26
35
  format === 'hhmm' ? formatHoursHHMM(hours) : hours.toFixed(1),
27
36
  );
37
+
38
+ // Only the decimal form needs a unit appended: `8:30` already reads as hours
39
+ // and minutes. That makes `h` the one unit `showLabel` has to gate.
40
+ const unit = $derived(format === 'hhmm' ? '' : 'h');
28
41
  </script>
29
42
 
30
43
  <span class="duration" class:sm={size === 'sm'} class:lg={size === 'lg'}>
31
44
  <span class="value">{formattedValue}</span>
32
- {#if showLabel || format === 'decimal'}
33
- <span class="unit">{format === 'hhmm' ? '' : 'h'}</span>
45
+ {#if showLabel && unit}
46
+ <span class="unit">{unit}</span>
34
47
  {/if}
35
48
  </span>
36
49
 
@@ -1,8 +1,17 @@
1
1
  /** Props for DurationDisplay component */
2
2
  export interface Props {
3
+ /** Duration in hours to display. */
3
4
  hours: number;
5
+ /** Format duration as decimal (8.5) or hours:minutes (8:30). */
4
6
  format?: 'decimal' | 'hhmm';
7
+ /** Sets the font size of the duration display. */
5
8
  size?: 'sm' | 'md' | 'lg';
9
+ /**
10
+ * Renders the `h` unit after a `decimal` value; set `false` for a bare
11
+ * number, such as in a column whose header already names the unit. An
12
+ * `hhmm` value spells its own unit in the `8:30` shape and never appends a
13
+ * separate one, so this prop does not affect that format.
14
+ */
6
15
  showLabel?: boolean;
7
16
  }
8
17
  declare const DurationDisplay: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"DurationDisplay.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DurationDisplay.svelte.ts"],"names":[],"mappings":"AAUA,0CAA0C;AAC1C,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA+BD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DurationDisplay.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/DurationDisplay.svelte.ts"],"names":[],"mappings":"AAUA,0CAA0C;AAC1C,MAAM,WAAW,KAAK;IACpB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAmCD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -12,15 +12,25 @@ const { t } = useI18n();
12
12
 
13
13
  /** Props for RejectDialog component */
14
14
  export interface Props {
15
+ /** Controls whether the dialog is displayed. */
15
16
  open: boolean;
17
+ /** Dialog heading text. */
16
18
  title?: string;
19
+ /** Instructions displayed above the reason input. */
17
20
  message?: string;
21
+ /** Label for the confirm button. */
18
22
  confirmLabel?: string;
23
+ /** Label for the cancel button. */
19
24
  cancelLabel?: string;
25
+ /** Placeholder text for the reason textarea. */
20
26
  placeholder?: string;
27
+ /** Requires the user to enter a reason before confirming. */
21
28
  required?: boolean;
29
+ /** Disables the dialog controls during processing. */
22
30
  loading?: boolean;
31
+ /** Invoked when the user confirms the rejection with a reason. */
23
32
  onconfirm: (reason: string) => void;
33
+ /** Invoked when the user cancels or closes the dialog. */
24
34
  oncancel: () => void;
25
35
  }
26
36
 
@@ -1,14 +1,24 @@
1
1
  /** Props for RejectDialog component */
2
2
  export interface Props {
3
+ /** Controls whether the dialog is displayed. */
3
4
  open: boolean;
5
+ /** Dialog heading text. */
4
6
  title?: string;
7
+ /** Instructions displayed above the reason input. */
5
8
  message?: string;
9
+ /** Label for the confirm button. */
6
10
  confirmLabel?: string;
11
+ /** Label for the cancel button. */
7
12
  cancelLabel?: string;
13
+ /** Placeholder text for the reason textarea. */
8
14
  placeholder?: string;
15
+ /** Requires the user to enter a reason before confirming. */
9
16
  required?: boolean;
17
+ /** Disables the dialog controls during processing. */
10
18
  loading?: boolean;
19
+ /** Invoked when the user confirms the rejection with a reason. */
11
20
  onconfirm: (reason: string) => void;
21
+ /** Invoked when the user cancels or closes the dialog. */
12
22
  oncancel: () => void;
13
23
  }
14
24
  declare const RejectDialog: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"RejectDialog.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/RejectDialog.svelte.ts"],"names":[],"mappings":"AAYA,uCAAuC;AACvC,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AA4FD,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"RejectDialog.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/RejectDialog.svelte.ts"],"names":[],"mappings":"AAYA,uCAAuC;AACvC,MAAM,WAAW,KAAK;IACpB,gDAAgD;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AA4FD,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -18,13 +18,21 @@ import {
18
18
 
19
19
  /** Props for TimeEntryCard component */
20
20
  export interface Props {
21
+ /** Time entry data to display. */
21
22
  entry: TimeEntry;
23
+ /** URL to navigate to when the card is clicked. */
22
24
  href?: string;
25
+ /** Invoked when the card content is clicked. */
23
26
  onclick?: () => void;
27
+ /** Shows a checkbox for selecting the entry. */
24
28
  selectable?: boolean;
29
+ /** Indicates whether the entry is selected. */
25
30
  selected?: boolean;
31
+ /** Invoked when the selection checkbox is toggled. */
26
32
  onselect?: (id: string, selected: boolean) => void;
33
+ /** Currency code for formatting hourly rates and amounts. */
27
34
  currency?: Currency;
35
+ /** Renders action buttons on the right side of the card. */
28
36
  actions?: Snippet;
29
37
  }
30
38
 
@@ -2,13 +2,21 @@ import type { Snippet } from 'svelte';
2
2
  import { type Currency, type TimeEntry } from './utils.js';
3
3
  /** Props for TimeEntryCard component */
4
4
  export interface Props {
5
+ /** Time entry data to display. */
5
6
  entry: TimeEntry;
7
+ /** URL to navigate to when the card is clicked. */
6
8
  href?: string;
9
+ /** Invoked when the card content is clicked. */
7
10
  onclick?: () => void;
11
+ /** Shows a checkbox for selecting the entry. */
8
12
  selectable?: boolean;
13
+ /** Indicates whether the entry is selected. */
9
14
  selected?: boolean;
15
+ /** Invoked when the selection checkbox is toggled. */
10
16
  onselect?: (id: string, selected: boolean) => void;
17
+ /** Currency code for formatting hourly rates and amounts. */
11
18
  currency?: Currency;
19
+ /** Renders action buttons on the right side of the card. */
12
20
  actions?: Snippet;
13
21
  }
14
22
  declare const TimeEntryCard: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"TimeEntryCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/TimeEntryCard.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EACL,KAAK,QAAQ,EAKb,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAGpB,wCAAwC;AACxC,MAAM,WAAW,KAAK;IACpB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoHD,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"TimeEntryCard.svelte.d.ts","sourceRoot":"","sources":["../../../src/svelte/components/TimeEntryCard.svelte.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EACL,KAAK,QAAQ,EAKb,KAAK,SAAS,EACf,MAAM,YAAY,CAAC;AAGpB,wCAAwC;AACxC,MAAM,WAAW,KAAK;IACpB,kCAAkC;IAClC,KAAK,EAAE,SAAS,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoHD,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -19,12 +19,19 @@ const { t } = useI18n();
19
19
 
20
20
  /** Props for TimeEntryList component */
21
21
  export interface Props {
22
+ /** Time entries to display in the list. */
22
23
  entries: TimeEntry[];
24
+ /** Shows checkboxes for selecting entries. */
23
25
  selectable?: boolean;
26
+ /** Identifiers of currently selected entries. */
24
27
  selectedIds?: string[];
28
+ /** Invoked when the selection changes. */
25
29
  onselectionchange?: (ids: string[]) => void;
30
+ /** Message shown when the entries list is empty. */
26
31
  emptyMessage?: string;
32
+ /** Base URL to construct entry detail links. */
27
33
  baseHref?: string;
34
+ /** Currency code for formatting amounts. */
28
35
  currency?: Currency;
29
36
  /** Filter function to determine which entries can be selected */
30
37
  canSelect?: (entry: TimeEntry) => boolean;