@agridea/suibi-module 0.1.0-preview.cf0616d → 0.1.0-preview.d54bad3

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 (102) hide show
  1. package/README.md +10 -10
  2. package/dist/elements/browser/main.js +71 -71
  3. package/dist/elements/browser/styles.css +1 -1
  4. package/dist/elements/browser/suibi-module-latest.css +1 -1
  5. package/dist/elements/browser/suibi-module-latest.js +71 -71
  6. package/dist/elements/browser/{suibi-module.v0.1.0-preview.cf0616d.css → suibi-module.v0.1.0-preview.d54bad3.css} +1 -1
  7. package/dist/elements/browser/suibi-module.v0.1.0-preview.d54bad3.js +78 -0
  8. package/dist/elements/browser/suibi-theme-dark.css +1 -1
  9. package/dist/elements/browser/version.txt +1 -1
  10. package/dist/elements/browser/wc-global-utilities.css +1 -1
  11. package/dist/types/app/components/data-preview/data-preview.component.d.ts +223 -2
  12. package/dist/types/app/components/{suissebilanz-dashboard → gauge-arc}/gauge-arc.component.d.ts +2 -0
  13. package/dist/types/app/{header-bar.d.ts → components/header-bar/header-bar.component.d.ts} +2 -2
  14. package/dist/types/app/components/inline-table/inline-table.component.d.ts +167 -0
  15. package/dist/types/app/components/inline-table/inline-table.types.d.ts +212 -0
  16. package/dist/types/app/components/planning-result-row/planning-result-row.component.d.ts +34 -0
  17. package/dist/types/app/components/results-page/results-page.component.d.ts +9 -0
  18. package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-dashboard.component.d.ts +10 -2
  19. package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-metrics.service.d.ts +1 -1
  20. package/dist/types/app/components/{suissebilanz-dashboard → suissebilanz-minibar}/suissebilanz-minibar.component.d.ts +2 -2
  21. package/dist/types/app/components/validation-page/validation-page.component.d.ts +1 -0
  22. package/dist/types/app/components/welcome-page/metadata.types.d.ts +1 -1
  23. package/dist/types/app/components/welcome-page/welcome-page.component.d.ts +5 -3
  24. package/dist/types/app/components/workflow-stepper/workflow-stepper.component.d.ts +1 -4
  25. package/dist/types/app/core/data/naebi-data.service.d.ts +28 -28
  26. package/dist/types/app/core/error/global-error-handler.d.ts +2 -3
  27. package/dist/types/app/core/i18n/i18n.service.d.ts +7 -3
  28. package/dist/types/app/core/i18n/locales/fr.d.ts +2 -0
  29. package/dist/types/app/core/i18n/locales/it.d.ts +2 -0
  30. package/dist/types/app/core/master-data/master-data.service.d.ts +2 -0
  31. package/dist/types/app/core/metadata/suibi-metadata.types.d.ts +11 -1
  32. package/dist/types/app/core/navigation/navigation.service.d.ts +34 -1
  33. package/dist/types/app/core/planning/planning-balance.service.d.ts +9 -0
  34. package/dist/types/app/core/utils/custom-unit.util.d.ts +39 -0
  35. package/dist/types/app/core/utils/object.util.d.ts +22 -0
  36. package/dist/types/app/core/validation/ajv-custom.d.ts +1 -0
  37. package/dist/types/app/core/validation/capabilities.d.ts +6 -0
  38. package/dist/types/app/core/validation/global-validation.service.d.ts +21 -1
  39. package/dist/types/app/jsonforms/filters/code-list-filter-resolvers.d.ts +3 -0
  40. package/dist/types/app/jsonforms/registry/renderers.registry.d.ts +4 -0
  41. package/dist/types/app/jsonforms/renderers/controls/selects/animal-category/animal-category-select.renderer.d.ts +5 -2
  42. package/dist/types/app/jsonforms/renderers/controls/selects/code-list/code-list-select.renderer.d.ts +13 -4
  43. package/dist/types/app/jsonforms/renderers/layout/constraint/constraint-layout.renderer.d.ts +1 -0
  44. package/dist/types/app/jsonforms/renderers/layout/group/base-group.renderer.d.ts +2 -0
  45. package/dist/types/app/jsonforms/renderers/layout/group/module-toggle-group.renderer.d.ts +38 -0
  46. package/dist/types/app/jsonforms/shared/searchable-select/search-highlight.d.ts +18 -0
  47. package/dist/types/app/jsonforms/shared/searchable-select/searchable-select.component.d.ts +63 -0
  48. package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-detail/animal-stock-detail.component.d.ts +21 -0
  49. package/dist/types/app/nutrient-cycle/animal-stock/{animal-stock-list.component.d.ts → animal-stock-list/animal-stock-list.component.d.ts} +6 -9
  50. package/dist/types/app/nutrient-cycle/animal-stock/{animal-stock-master-detail.component.d.ts → animal-stock-master-detail/animal-stock-master-detail.component.d.ts} +2 -2
  51. package/dist/types/app/nutrient-cycle/animal-stock/index.d.ts +3 -3
  52. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-master-detail/farm-manure-trading-master-detail.component.d.ts +19 -0
  53. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-table/farm-manure-trading-table.component.d.ts +37 -0
  54. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-table/farm-manure-trading-table.config.d.ts +24 -0
  55. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading.types.d.ts +4 -0
  56. package/dist/types/app/nutrient-cycle/farm-manure-trading/index.d.ts +3 -3
  57. package/dist/types/app/nutrient-cycle/farm-manure-trading/transaction-unit.util.d.ts +2 -0
  58. package/dist/types/app/nutrient-cycle/field-cultivation/arable-land-table/arable-land-table.component.d.ts +23 -0
  59. package/dist/types/app/nutrient-cycle/field-cultivation/arable-land-table/arable-land-table.config.d.ts +16 -0
  60. package/dist/types/app/nutrient-cycle/field-cultivation/crop-harvest-table/crop-harvest-table.component.d.ts +21 -0
  61. package/dist/types/app/nutrient-cycle/field-cultivation/crop-harvest-table/crop-harvest-table.config.d.ts +13 -0
  62. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-detail/field-cultivation-detail.component.d.ts +22 -0
  63. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-general/field-cultivation-general.component.d.ts +20 -0
  64. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-list/field-cultivation-list.component.d.ts +17 -0
  65. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-master-detail/field-cultivation-master-detail.component.d.ts +29 -0
  66. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation.types.d.ts +45 -0
  67. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation.util.d.ts +10 -0
  68. package/dist/types/app/nutrient-cycle/field-cultivation/fodder-cropland-table/fodder-cropland-table.component.d.ts +29 -0
  69. package/dist/types/app/nutrient-cycle/field-cultivation/fodder-cropland-table/fodder-cropland-table.config.d.ts +21 -0
  70. package/dist/types/app/nutrient-cycle/field-cultivation/index.d.ts +9 -0
  71. package/dist/types/app/nutrient-cycle/field-cultivation/special-crops-table/special-crops-table.component.d.ts +29 -0
  72. package/dist/types/app/nutrient-cycle/field-cultivation/special-crops-table/special-crops-table.config.d.ts +51 -0
  73. package/dist/types/app/nutrient-cycle/field-spreading/fertiliser-table/fertiliser-table.component.d.ts +58 -0
  74. package/dist/types/app/nutrient-cycle/field-spreading/fertiliser-table/fertiliser-table.config.d.ts +20 -0
  75. package/dist/types/app/nutrient-cycle/field-spreading/field-spreading.component.d.ts +18 -3
  76. package/dist/types/app/nutrient-cycle/field-spreading/field-spreading.types.d.ts +2 -0
  77. package/dist/types/app/nutrient-cycle/field-spreading/ingredient.util.d.ts +8 -0
  78. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-table.component.d.ts +32 -0
  79. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-table.config.d.ts +17 -0
  80. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-transaction-unit.util.d.ts +4 -0
  81. package/dist/types/app/nutrient-cycle/fodder/fodder-master-detail/fodder-master-detail.component.d.ts +25 -0
  82. package/dist/types/app/nutrient-cycle/fodder/fodder-table/fodder-table.component.d.ts +28 -0
  83. package/dist/types/app/nutrient-cycle/fodder/fodder-table/fodder-table.config.d.ts +9 -0
  84. package/dist/types/app/nutrient-cycle/fodder/fodder.types.d.ts +34 -0
  85. package/dist/types/app/nutrient-cycle/fodder/index.d.ts +3 -0
  86. package/dist/types/app/nutrient-cycle/fodder/ingredient.util.d.ts +8 -0
  87. package/dist/types/app/nutrient-cycle/fodder/transaction-unit.util.d.ts +2 -0
  88. package/dist/types/app/nutrient-cycle/lifetime-performance/index.d.ts +2 -0
  89. package/dist/types/app/nutrient-cycle/storage/index.d.ts +4 -0
  90. package/dist/types/app/nutrient-cycle/storage/storage-detail/storage-detail.component.d.ts +30 -0
  91. package/dist/types/app/nutrient-cycle/storage/storage-general/storage-general.component.d.ts +29 -0
  92. package/dist/types/app/nutrient-cycle/storage/storage-list/storage-list.component.d.ts +23 -0
  93. package/dist/types/app/nutrient-cycle/storage/storage-master-detail/storage-master-detail.component.d.ts +32 -0
  94. package/dist/types/app/nutrient-cycle/storage/storage.types.d.ts +40 -0
  95. package/package.json +68 -17
  96. package/dist/elements/browser/suibi-module.v0.1.0-preview.cf0616d.js +0 -78
  97. package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-detail.component.d.ts +0 -22
  98. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-detail.component.d.ts +0 -27
  99. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-list.component.d.ts +0 -23
  100. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-master-detail.component.d.ts +0 -25
  101. /package/dist/types/app/components/{planning-result → planning-trigger}/planning-trigger.component.d.ts +0 -0
  102. /package/dist/types/app/{core/validation/validation-errors-panel.d.ts → components/validation-errors-panel/validation-errors-panel.component.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Dry matter (Trockensubstanz, T/S) is the only ingredient formula permitted for fodder
3
+ * entries (see `fodderMolecularFormula` in code-lists.ts) and its only allowed unit is '%'
4
+ * (assets/master-data/substances.json → S.1007.1). Both are imposed, never user-picked.
5
+ */
6
+ export declare const FODDER_INGREDIENT_FORMULA = "T/S";
7
+ export declare const FODDER_INGREDIENT_UNIT = "%";
8
+ export declare function deriveFodderIngredientUnit(): string;
@@ -0,0 +1,2 @@
1
+ export declare const FODDER_TRANSACTION_UNIT = "kg";
2
+ export declare function deriveFodderTransactionUnit(): string;
@@ -0,0 +1,2 @@
1
+ export * from './lifetime-performance-form.component';
2
+ export * from './lifetime-performance.types';
@@ -0,0 +1,4 @@
1
+ export * from './storage-list/storage-list.component';
2
+ export * from './storage-detail/storage-detail.component';
3
+ export * from './storage-master-detail/storage-master-detail.component';
4
+ export * from './storage.types';
@@ -0,0 +1,30 @@
1
+ import { JsonSchema, UISchemaElement } from '@jsonforms/core';
2
+ import { ManurePitEntry, SlurryTankEntry, StorageEntryType } from '../storage.types';
3
+ export declare class StorageDetailComponent {
4
+ private readonly i18n;
5
+ readonly type: import("@angular/core").InputSignal<StorageEntryType>;
6
+ readonly row: import("@angular/core").InputSignal<ManurePitEntry | SlurryTankEntry | null>;
7
+ readonly rowChange: import("@angular/core").OutputEmitterRef<ManurePitEntry | SlurryTankEntry>;
8
+ readonly close: import("@angular/core").OutputEmitterRef<void>;
9
+ readonly renderers: {
10
+ tester: import("@jsonforms/core").RankedTester;
11
+ renderer: any;
12
+ }[];
13
+ readonly ajv: import("ajv").Ajv;
14
+ readonly schema: import("@angular/core").Signal<JsonSchema>;
15
+ readonly localizedUi: import("@angular/core").Signal<UISchemaElement>;
16
+ readonly detailTitle: import("@angular/core").Signal<string>;
17
+ readonly jsonFormsData: import("@angular/core").Signal<(({
18
+ descriptor?: string;
19
+ cover?: number | null;
20
+ manureFromAnimalStockStored?: import("..").ManureFromAnimalStockStored[];
21
+ } | {
22
+ descriptor?: string;
23
+ volumeInM3?: number | null;
24
+ depthInM?: number | null;
25
+ cover?: number | null;
26
+ mixingFrequency?: number | null;
27
+ manureDerivation?: string[];
28
+ }) & import("../../../core/schemas/ui-helper-registry").UiHelperDefinitions) | null>;
29
+ onDataChange(event: unknown): void;
30
+ }
@@ -0,0 +1,29 @@
1
+ import { JsonSchema, UISchemaElement } from '@jsonforms/core';
2
+ import { StorageNormalized } from '../storage.types';
3
+ type StorageSection = 'manure' | 'slurry' | 'slurryFacilityToggle' | 'general';
4
+ export declare class StorageGeneralComponent {
5
+ private readonly i18n;
6
+ readonly section: import("@angular/core").InputSignal<StorageSection>;
7
+ readonly value: import("@angular/core").InputSignal<StorageNormalized>;
8
+ readonly valueChange: import("@angular/core").OutputEmitterRef<StorageNormalized>;
9
+ readonly renderers: {
10
+ tester: import("@jsonforms/core").RankedTester;
11
+ renderer: any;
12
+ }[];
13
+ readonly ajv: import("ajv").Ajv;
14
+ readonly schema: import("@angular/core").Signal<JsonSchema>;
15
+ readonly localizedUi: import("@angular/core").Signal<UISchemaElement>;
16
+ readonly jsonFormsData: import("@angular/core").Signal<({
17
+ stableStrawLitter: number | null;
18
+ manureSupplyProportionStored: number | null;
19
+ createFacilitySpecificManureProduct: boolean;
20
+ } & import("../../../core/schemas/ui-helper-registry").UiHelperDefinitions) | ({
21
+ createFacilitySpecificSlurryProduct: boolean;
22
+ } & import("../../../core/schemas/ui-helper-registry").UiHelperDefinitions) | ({
23
+ slurrySupplyProportionStored: number | null;
24
+ slurryTankQuantity: number | null;
25
+ dilutionRatio: number | null;
26
+ } & import("../../../core/schemas/ui-helper-registry").UiHelperDefinitions) | null>;
27
+ onDataChange(event: unknown): void;
28
+ }
29
+ export {};
@@ -0,0 +1,23 @@
1
+ import { ManurePitEntry, SlurryTankEntry, StorageEntryType } from '../storage.types';
2
+ export declare class StorageListComponent {
3
+ private readonly i18n;
4
+ private readonly masterData;
5
+ readonly rows: import("@angular/core").InputSignal<(ManurePitEntry | SlurryTankEntry)[]>;
6
+ readonly selectedIndex: import("@angular/core").InputSignal<number | null>;
7
+ readonly type: import("@angular/core").InputSignal<StorageEntryType>;
8
+ readonly errorIndices: import("@angular/core").InputSignal<ReadonlySet<number>>;
9
+ readonly select: import("@angular/core").OutputEmitterRef<number>;
10
+ readonly add: import("@angular/core").OutputEmitterRef<void>;
11
+ readonly delete: import("@angular/core").OutputEmitterRef<number>;
12
+ readonly displayedColumns: string[];
13
+ readonly headerName: import("@angular/core").Signal<string>;
14
+ readonly headerMeta: import("@angular/core").Signal<string>;
15
+ resolveName(row: ManurePitEntry | SlurryTankEntry, index: number): string;
16
+ rowHasError(index: number): boolean;
17
+ rowErrorLabel(): string;
18
+ resolveMeta(row: ManurePitEntry | SlurryTankEntry): string;
19
+ emptyLabel(): string;
20
+ emptyHintLabel(): string;
21
+ addLabel(): string;
22
+ onDelete(index: number, event: Event): void;
23
+ }
@@ -0,0 +1,32 @@
1
+ import { StorageTab } from '../../../core/navigation/navigation.service';
2
+ import { ManurePitEntry, SlurryTankEntry, StorageEntryType, StorageNormalized } from '../storage.types';
3
+ export declare class StorageMasterDetailComponent {
4
+ private readonly dataSvc;
5
+ private readonly navigationSvc;
6
+ private readonly globalValidation;
7
+ constructor();
8
+ readonly storage: import("@angular/core").Signal<StorageNormalized>;
9
+ readonly manurePitRows: import("@angular/core").Signal<ManurePitEntry[]>;
10
+ readonly slurryTankRows: import("@angular/core").Signal<SlurryTankEntry[]>;
11
+ readonly selectedDetailType: import("@angular/core").WritableSignal<StorageEntryType | null>;
12
+ readonly selectedIndex: import("@angular/core").WritableSignal<number | null>;
13
+ readonly manureFacilitySpecificEnabled: import("@angular/core").Signal<boolean>;
14
+ readonly slurryFacilitySpecificEnabled: import("@angular/core").Signal<boolean>;
15
+ readonly manurePitErrorIndices: import("@angular/core").Signal<Set<number>>;
16
+ readonly slurryTankErrorIndices: import("@angular/core").Signal<Set<number>>;
17
+ readonly detailOpen: import("@angular/core").Signal<boolean>;
18
+ readonly detailType: import("@angular/core").Signal<StorageEntryType>;
19
+ readonly currentDetail: import("@angular/core").Signal<ManurePitEntry | SlurryTankEntry | null>;
20
+ readonly activeTab: import("@angular/core").Signal<StorageTab>;
21
+ openDetail(type: StorageEntryType, index: number): void;
22
+ closeDetail(): void;
23
+ addEntry(type: StorageEntryType): void;
24
+ deleteEntry(type: StorageEntryType, index: number): void;
25
+ onGeneralChange(value: StorageNormalized): void;
26
+ onDetailChange(value: ManurePitEntry | SlurryTankEntry): void;
27
+ private patchRows;
28
+ private patchStorage;
29
+ private normalizeStorage;
30
+ private createEmptyManurePit;
31
+ private createEmptySlurryTank;
32
+ }
@@ -0,0 +1,40 @@
1
+ export interface ManureFromAnimalStockStored {
2
+ manureDerivation?: string;
3
+ proportionStored?: number | null;
4
+ }
5
+ export interface ManurePitEntry {
6
+ descriptor?: string;
7
+ cover?: number | null;
8
+ manureFromAnimalStockStored?: ManureFromAnimalStockStored[];
9
+ }
10
+ export interface SlurryTankEntry {
11
+ descriptor?: string;
12
+ volumeInM3?: number | null;
13
+ depthInM?: number | null;
14
+ cover?: number | null;
15
+ mixingFrequency?: number | null;
16
+ manureDerivation?: string[];
17
+ }
18
+ export interface StorageData {
19
+ stableStrawLitter?: number | null;
20
+ manureSupplyProportionStored?: number | null;
21
+ slurrySupplyProportionStored?: number | null;
22
+ createFacilitySpecificManureProduct?: boolean;
23
+ createFacilitySpecificSlurryProduct?: boolean;
24
+ slurryTankQuantity?: number | null;
25
+ dilutionRatio?: number | null;
26
+ manurePit?: ManurePitEntry[];
27
+ slurryTank?: SlurryTankEntry[];
28
+ }
29
+ export interface StorageNormalized {
30
+ stableStrawLitter: number | null;
31
+ manureSupplyProportionStored: number | null;
32
+ slurrySupplyProportionStored: number | null;
33
+ createFacilitySpecificManureProduct: boolean;
34
+ createFacilitySpecificSlurryProduct: boolean;
35
+ slurryTankQuantity: number | null;
36
+ dilutionRatio: number | null;
37
+ manurePit: ManurePitEntry[];
38
+ slurryTank: SlurryTankEntry[];
39
+ }
40
+ export type StorageEntryType = 'manure_pit' | 'slurry_tank';
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@agridea/suibi-module",
3
- "version": "0.1.0-preview.cf0616d",
3
+ "version": "0.1.0-preview.d54bad3",
4
4
  "scripts": {
5
5
  "ng": "ng",
6
- "start": "ng serve --host 0.0.0.0",
6
+ "start": "ng serve",
7
7
  "build": "ng build",
8
8
  "watch": "ng build --watch --configuration development",
9
- "test": "CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadless --watch=false",
9
+ "test": "CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadlessNoSandbox --watch=false",
10
10
  "test:chrome": "CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=Chrome --watch=false",
11
- "test:headless": "CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadless --watch=false --no-progress",
12
- "test:ci": "CI=true CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadless --watch=false --no-progress",
11
+ "test:headless": "CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadlessNoSandbox --watch=false --no-progress",
12
+ "test:ci": "CI=true CHROME_BIN=${CHROME_BIN:-/usr/bin/chromium} ng test --browsers=ChromeHeadlessNoSandbox --watch=false --no-progress",
13
13
  "build:wc": "ng build --configuration elements && node scripts/alias-wc-bundle.mjs && npm run build:types",
14
14
  "build:wc:dev": "ng build --configuration elements-dev",
15
15
  "watch:wc": "bash -c 'node scripts/alias-wc-watch.mjs & ng build --configuration elements --watch'",
@@ -56,26 +56,29 @@
56
56
  "access": "public"
57
57
  },
58
58
  "dependencies": {
59
- "@angular/common": "^20.2.4",
60
- "@angular/compiler": "^20.2.4",
61
- "@angular/core": "^20.2.4",
62
- "@angular/elements": "^20.2.4",
63
- "@angular/forms": "^20.2.4",
64
- "@angular/localize": "^20.2.4",
65
- "@angular/material": "20.2.2",
66
- "@angular/platform-browser": "^20.2.4",
67
- "@angular/router": "^20.2.4",
59
+ "@angular/animations": "^20.3.17",
60
+ "@angular/cdk": "20.2.14",
61
+ "@angular/common": "^20.3.25",
62
+ "@angular/compiler": "^20.3.25",
63
+ "@angular/core": "^20.3.25",
64
+ "@angular/elements": "^20.3.17",
65
+ "@angular/forms": "^20.3.25",
66
+ "@angular/localize": "^20.3.26",
67
+ "@angular/material": "^20.2.14",
68
+ "@angular/platform-browser": "^20.3.17",
69
+ "@angular/router": "^20.3.17",
68
70
  "@jsonforms/angular": "^3.6.0",
69
71
  "@jsonforms/angular-material": "^3.6.0",
70
72
  "@jsonforms/core": "^3.6.0",
71
73
  "@microsoft/applicationinsights-web": "^3.3.10",
74
+ "dayjs": "^1.11.10",
72
75
  "rxjs": "~7.8.0",
73
76
  "tslib": "^2.3.0"
74
77
  },
75
78
  "devDependencies": {
76
- "@angular/build": "^20.2.2",
77
- "@angular/cli": "^20.2.2",
78
- "@angular/compiler-cli": "^20.2.4",
79
+ "@angular/build": "^20.3.30",
80
+ "@angular/cli": "^20.3.18",
81
+ "@angular/compiler-cli": "^20.3.26",
79
82
  "@types/jasmine": "~5.1.0",
80
83
  "http-server": "^14.1.1",
81
84
  "jasmine-core": "~5.9.0",
@@ -87,5 +90,53 @@
87
90
  "ts-node": "^10.9.2",
88
91
  "tsx": "^4.20.5",
89
92
  "typescript": "~5.9.2"
93
+ },
94
+ "overrides": {
95
+ "@hono/node-server": "^2.0.5",
96
+ "@isaacs/brace-expansion": "^5.0.1",
97
+ "@modelcontextprotocol/sdk": "^1.30.0",
98
+ "@nevware21/ts-utils": "^0.14.0",
99
+ "body-parser": "^1.20.6",
100
+ "brace-expansion": "^2.0.1",
101
+ "diff": "^4.0.4",
102
+ "engine.io": "^6.6.8",
103
+ "fast-uri": "^3.1.4",
104
+ "flatted": "^3.4.2",
105
+ "follow-redirects": "^1.15.12",
106
+ "immutable": "^5.1.8",
107
+ "ip-address": "^10.1.1",
108
+ "lodash": "^4.18.0",
109
+ "path-to-regexp": "^8.4.0",
110
+ "postcss": "^8.5.18",
111
+ "qs": "^6.15.2",
112
+ "rollup": "4.59.0",
113
+ "sigstore": "^4.1.1",
114
+ "socket.io-adapter": "^2.5.7",
115
+ "socket.io-parser": "^4.2.6",
116
+ "tar": "^7.5.21",
117
+ "tmp": "^0.2.6",
118
+ "ws": "^8.20.2",
119
+ "anymatch": {
120
+ "picomatch": "^2.3.2"
121
+ },
122
+ "micromatch": {
123
+ "picomatch": "^2.3.2"
124
+ },
125
+ "karma": {
126
+ "minimatch": "^3.1.4",
127
+ "picomatch": "^2.3.2",
128
+ "brace-expansion": "^2.0.1"
129
+ },
130
+ "@npmcli/package-json": {
131
+ "brace-expansion": "^2.0.1",
132
+ "glob": "^10.5.0"
133
+ },
134
+ "@tufjs/models": {
135
+ "brace-expansion": "^2.0.1"
136
+ },
137
+ "cacache": {
138
+ "brace-expansion": "^2.0.1",
139
+ "glob": "^10.5.0"
140
+ }
90
141
  }
91
142
  }