@agridea/suibi-module 0.1.0-preview.6 → 0.1.0-preview.68e6607

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 (105) hide show
  1. package/README.md +10 -10
  2. package/dist/elements/browser/main.js +75 -72
  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 +75 -72
  6. package/dist/elements/browser/{suibi-module.v0.1.0-preview.6.css → suibi-module.v0.1.0-preview.68e6607.css} +1 -1
  7. package/dist/elements/browser/suibi-module.v0.1.0-preview.68e6607.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 -0
  11. package/dist/types/app/app.d.ts +1 -3
  12. package/dist/types/app/components/add-dashed-button/add-dashed-button.component.d.ts +9 -0
  13. package/dist/types/app/components/data-preview/data-preview.component.d.ts +4 -2
  14. package/dist/types/app/components/empty-state/empty-state.component.d.ts +12 -0
  15. package/dist/types/app/components/gauge-arc/gauge-arc.component.d.ts +49 -0
  16. package/dist/types/app/{header-bar.d.ts → components/header-bar/header-bar.component.d.ts} +3 -4
  17. package/dist/types/app/components/inline-table/inline-table.component.d.ts +114 -0
  18. package/dist/types/app/components/inline-table/inline-table.types.d.ts +161 -0
  19. package/dist/types/app/components/module-placeholder-page/module-placeholder-page.component.d.ts +6 -0
  20. package/dist/types/app/components/planning-result/planning-result.component.d.ts +46 -0
  21. package/dist/types/app/components/planning-result-row/planning-result-row.component.d.ts +34 -0
  22. package/dist/types/app/components/planning-trigger/planning-trigger.component.d.ts +13 -0
  23. package/dist/types/app/components/results-page/results-page.component.d.ts +13 -0
  24. package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-dashboard.component.d.ts +32 -0
  25. package/dist/types/app/components/suissebilanz-dashboard/suissebilanz-metrics.service.d.ts +21 -0
  26. package/dist/types/app/components/suissebilanz-minibar/suissebilanz-minibar.component.d.ts +19 -0
  27. package/dist/types/app/components/validation-page/validation-page.component.d.ts +18 -0
  28. package/dist/types/app/components/welcome-page/metadata.types.d.ts +1 -1
  29. package/dist/types/app/components/welcome-page/welcome-page.component.d.ts +5 -3
  30. package/dist/types/app/components/workflow-stepper/workflow-stepper.component.d.ts +49 -0
  31. package/dist/types/app/core/data/naebi-data.service.d.ts +38 -28
  32. package/dist/types/app/core/error/global-error-handler.d.ts +2 -3
  33. package/dist/types/app/core/i18n/i18n.service.d.ts +5 -3
  34. package/dist/types/app/core/i18n/locales/fr.d.ts +2 -0
  35. package/dist/types/app/core/i18n/locales/it.d.ts +2 -0
  36. package/dist/types/app/core/master-data/master-data.service.d.ts +8 -1
  37. package/dist/types/app/core/metadata/suibi-metadata.types.d.ts +11 -1
  38. package/dist/types/app/core/navigation/navigation.service.d.ts +29 -1
  39. package/dist/types/app/core/planning/planning-balance.service.d.ts +38 -0
  40. package/dist/types/app/core/planning/planning-balance.types.d.ts +206 -0
  41. package/dist/types/app/core/planning/planning-balance.utils.d.ts +10 -0
  42. package/dist/types/app/core/utils/object.util.d.ts +26 -0
  43. package/dist/types/app/core/validation/capabilities.d.ts +5 -5
  44. package/dist/types/app/core/validation/global-validation.service.d.ts +19 -4
  45. package/dist/types/app/jsonforms/filters/code-list-filter-resolvers.d.ts +3 -0
  46. package/dist/types/app/jsonforms/registry/renderers.registry.d.ts +8 -0
  47. package/dist/types/app/jsonforms/renderers/controls/selects/animal-category/animal-category-select.renderer.d.ts +1 -1
  48. package/dist/types/app/jsonforms/renderers/controls/selects/code-list/code-list-select.renderer.d.ts +10 -4
  49. package/dist/types/app/jsonforms/renderers/layout/array/array-layout.renderer.d.ts +43 -0
  50. package/dist/types/app/jsonforms/renderers/layout/categorization/selected-category-categorization.renderer.d.ts +3 -0
  51. package/dist/types/app/jsonforms/renderers/layout/constraint/constraint-layout.renderer.d.ts +1 -0
  52. package/dist/types/app/jsonforms/renderers/layout/group/base-group.renderer.d.ts +2 -0
  53. package/dist/types/app/jsonforms/renderers/layout/group/module-toggle-group.renderer.d.ts +38 -0
  54. package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-detail/animal-stock-detail.component.d.ts +21 -0
  55. 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
  56. 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 -3
  57. package/dist/types/app/nutrient-cycle/animal-stock/index.d.ts +3 -3
  58. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-detail/farm-manure-trading-detail.component.d.ts +26 -0
  59. package/dist/types/app/nutrient-cycle/farm-manure-trading/{farm-manure-trading-list.component.d.ts → farm-manure-trading-list/farm-manure-trading-list.component.d.ts} +9 -9
  60. package/dist/types/app/nutrient-cycle/farm-manure-trading/{farm-manure-trading-master-detail.component.d.ts → farm-manure-trading-master-detail/farm-manure-trading-master-detail.component.d.ts} +3 -4
  61. package/dist/types/app/nutrient-cycle/farm-manure-trading/index.d.ts +3 -3
  62. package/dist/types/app/nutrient-cycle/field-cultivation/arable-land-table/arable-land-table.component.d.ts +21 -0
  63. package/dist/types/app/nutrient-cycle/field-cultivation/arable-land-table/arable-land-table.config.d.ts +9 -0
  64. package/dist/types/app/nutrient-cycle/field-cultivation/crop-harvest-table/crop-harvest-table.component.d.ts +21 -0
  65. package/dist/types/app/nutrient-cycle/field-cultivation/crop-harvest-table/crop-harvest-table.config.d.ts +13 -0
  66. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-detail/field-cultivation-detail.component.d.ts +22 -0
  67. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-general/field-cultivation-general.component.d.ts +20 -0
  68. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-list/field-cultivation-list.component.d.ts +17 -0
  69. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation-master-detail/field-cultivation-master-detail.component.d.ts +29 -0
  70. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation.types.d.ts +41 -0
  71. package/dist/types/app/nutrient-cycle/field-cultivation/field-cultivation.util.d.ts +6 -0
  72. package/dist/types/app/nutrient-cycle/field-cultivation/fodder-cropland-table/fodder-cropland-table.component.d.ts +27 -0
  73. package/dist/types/app/nutrient-cycle/field-cultivation/fodder-cropland-table/fodder-cropland-table.config.d.ts +16 -0
  74. package/dist/types/app/nutrient-cycle/field-cultivation/index.d.ts +9 -0
  75. package/dist/types/app/nutrient-cycle/field-cultivation/special-crops-table/special-crops-table.component.d.ts +29 -0
  76. package/dist/types/app/nutrient-cycle/field-cultivation/special-crops-table/special-crops-table.config.d.ts +61 -0
  77. package/dist/types/app/nutrient-cycle/field-spreading/fertiliser-table/fertiliser-table.component.d.ts +43 -0
  78. package/dist/types/app/nutrient-cycle/field-spreading/fertiliser-table/fertiliser-table.config.d.ts +20 -0
  79. package/dist/types/app/nutrient-cycle/field-spreading/field-spreading.component.d.ts +16 -4
  80. package/dist/types/app/nutrient-cycle/field-spreading/ingredient.util.d.ts +8 -0
  81. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-table.component.d.ts +31 -0
  82. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-table.config.d.ts +17 -0
  83. package/dist/types/app/nutrient-cycle/field-spreading/recycling-table/recycling-transaction-unit.util.d.ts +4 -0
  84. package/dist/types/app/nutrient-cycle/fodder/fodder-master-detail/fodder-master-detail.component.d.ts +25 -0
  85. package/dist/types/app/nutrient-cycle/fodder/fodder-table/fodder-table.component.d.ts +26 -0
  86. package/dist/types/app/nutrient-cycle/fodder/fodder-table/fodder-table.config.d.ts +9 -0
  87. package/dist/types/app/nutrient-cycle/fodder/fodder.types.d.ts +34 -0
  88. package/dist/types/app/nutrient-cycle/fodder/index.d.ts +3 -0
  89. package/dist/types/app/nutrient-cycle/fodder/ingredient.util.d.ts +8 -0
  90. package/dist/types/app/nutrient-cycle/fodder/transaction-unit.util.d.ts +2 -0
  91. package/dist/types/app/nutrient-cycle/lifetime-performance/index.d.ts +2 -0
  92. package/dist/types/app/nutrient-cycle/lifetime-performance/lifetime-performance-form.component.d.ts +1 -1
  93. package/dist/types/app/nutrient-cycle/storage/index.d.ts +4 -0
  94. package/dist/types/app/nutrient-cycle/storage/storage-detail/storage-detail.component.d.ts +30 -0
  95. package/dist/types/app/nutrient-cycle/storage/storage-general/storage-general.component.d.ts +29 -0
  96. package/dist/types/app/nutrient-cycle/storage/storage-list/storage-list.component.d.ts +23 -0
  97. package/dist/types/app/nutrient-cycle/storage/storage-master-detail/storage-master-detail.component.d.ts +32 -0
  98. package/dist/types/app/nutrient-cycle/storage/storage.types.d.ts +40 -0
  99. package/dist/types/environments/environment.d.ts +5 -0
  100. package/dist/types/shared/material-icons.d.ts +3 -3
  101. package/package.json +68 -17
  102. package/dist/elements/browser/suibi-module.v0.1.0-preview.6.js +0 -75
  103. package/dist/types/app/nutrient-cycle/animal-stock/animal-stock-detail.component.d.ts +0 -22
  104. package/dist/types/app/nutrient-cycle/farm-manure-trading/farm-manure-trading-detail.component.d.ts +0 -27
  105. /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,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';
@@ -1,5 +1,10 @@
1
1
  export declare const environment: {
2
2
  production: boolean;
3
+ planningApiKey: string;
4
+ planningEndpoints: {
5
+ ebilanz: string;
6
+ blw: string;
7
+ };
3
8
  appInsights: {
4
9
  connectionString: string;
5
10
  };
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Ensure the Material Icons stylesheet exists in the document <head> (SPA / non-shadow usage).
2
+ * Ensure the Material icon stylesheets exist in the document <head> (SPA / non-shadow usage).
3
3
  * Idempotent: returns immediately if DOM unavailable (SSR) or link already present.
4
4
  *
5
5
  * @param doc Optional document for testing / dependency injection.
6
6
  */
7
7
  export declare function ensureMaterialIconsInHead(doc?: Document): void;
8
8
  /**
9
- * Ensure the Material Icons stylesheet is available inside a ShadowRoot so that
9
+ * Ensure the Material icon stylesheets are available inside a ShadowRoot so that
10
10
  * icon ligatures render when the component is embedded as a Web Component.
11
11
  * We prepend so icons load early without disturbing existing adopted stylesheets.
12
- * Idempotent: guarded by a custom attribute selector.
12
+ * Idempotent: each font link is guarded by its own custom attribute selector.
13
13
  *
14
14
  * @param shadow Target ShadowRoot; silently no-ops if null/undefined or DOM unavailable.
15
15
  */
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@agridea/suibi-module",
3
- "version": "0.1.0-preview.6",
3
+ "version": "0.1.0-preview.68e6607",
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
  }