@masterteam/formula-builder 0.0.28 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "name": "@masterteam/formula-builder",
3
- "version": "0.0.28",
3
+ "version": "0.0.30",
4
4
  "publishConfig": {
5
5
  "directory": "../../../dist/masterteam/formula-builder",
6
6
  "linkDirectory": true,
7
7
  "access": "public"
8
8
  },
9
9
  "peerDependencies": {
10
- "@angular/common": "catalog:angular21",
11
- "@angular/core": "catalog:angular21",
12
- "@angular/forms": "catalog:angular21",
13
- "@angular/cdk": "catalog:angular21",
14
- "@primeuix/themes": "catalog:",
15
- "@tailwindcss/postcss": "catalog:",
16
- "@jsverse/transloco": "catalog:i18n",
17
- "postcss": "catalog:",
18
- "primeng": "catalog:",
19
- "rxjs": "catalog:angular21",
20
- "tailwindcss": "catalog:",
21
- "tailwindcss-primeui": "catalog:",
22
- "@masterteam/components": "workspace:^",
23
- "@masterteam/icons": "workspace:^"
10
+ "@angular/common": "^21.2.8",
11
+ "@angular/core": "^21.2.8",
12
+ "@angular/forms": "^21.2.8",
13
+ "@angular/cdk": "^21.2.6",
14
+ "@primeuix/themes": "^2.0.3",
15
+ "@tailwindcss/postcss": "^4.2.2",
16
+ "@jsverse/transloco": "^8.3.0",
17
+ "postcss": "^8.5.9",
18
+ "primeng": "21.1.5",
19
+ "rxjs": "^7.8.2",
20
+ "tailwindcss": "^4.2.2",
21
+ "tailwindcss-primeui": "^0.6.1",
22
+ "@masterteam/components": "^0.0.274",
23
+ "@masterteam/icons": "^0.0.17"
24
24
  },
25
25
  "sideEffects": false,
26
26
  "exports": {
@@ -36,6 +36,6 @@
36
36
  "typings": "types/masterteam-formula-builder.d.ts",
37
37
  "type": "module",
38
38
  "dependencies": {
39
- "tslib": "catalog:angular21"
39
+ "tslib": "^2.8.1"
40
40
  }
41
41
  }
@@ -144,6 +144,7 @@ interface FormulaBuilderUiConfig {
144
144
  valueMode?: 'object' | 'expression';
145
145
  hideToolbar?: boolean;
146
146
  hideStatusBar?: boolean;
147
+ invalidWhenEmpty?: boolean;
147
148
  isProcessBuilder?: boolean;
148
149
  contextEntityTypeKey?: string;
149
150
  }
@@ -183,6 +184,14 @@ declare class FormulaBuilder implements ControlValueAccessor, OnDestroy {
183
184
  readonly hideToolbar: _angular_core.InputSignal<boolean>;
184
185
  /** Hide the status bar */
185
186
  readonly hideStatusBar: _angular_core.InputSignal<boolean>;
187
+ /**
188
+ * Treat an empty expression as invalid (a required formula). When true, an
189
+ * empty formula reports `isValid: false` with a localized "required" error so
190
+ * the status bar shows Invalid and `validationChange` emits an invalid state.
191
+ * Default `false` keeps an empty formula valid, so other consumers that allow
192
+ * empty formulas are unaffected.
193
+ */
194
+ readonly invalidWhenEmpty: _angular_core.InputSignal<boolean>;
186
195
  /** Visible toolbar tabs */
187
196
  readonly toolbarTabs: _angular_core.InputSignal<readonly ToolbarTab[]>;
188
197
  /** Optional host-owned function catalog. Takes precedence over API context. */
@@ -245,7 +254,13 @@ declare class FormulaBuilder implements ControlValueAccessor, OnDestroy {
245
254
  private onTouched;
246
255
  /** Disabled state */
247
256
  private readonly isDisabled;
248
- /** Validation result from service */
257
+ /**
258
+ * Validation result surfaced to the status bar and the `validationChange`
259
+ * output. Normally mirrors the validator service; when `invalidWhenEmpty` is
260
+ * set and the expression is empty it reports an invalid "required" result so
261
+ * the status bar (Invalid + message) and any host-side validity agree that an
262
+ * empty formula is not acceptable here. See `invalidWhenEmpty`.
263
+ */
249
264
  readonly validation: _angular_core.Signal<_masterteam_formula_builder.ValidationResult>;
250
265
  /** Is validation in progress */
251
266
  readonly isValidating: _angular_core.Signal<boolean>;
@@ -394,7 +409,7 @@ declare class FormulaBuilder implements ControlValueAccessor, OnDestroy {
394
409
  private buildLookupValueResponse;
395
410
  getOperatorDisplayName(token: string): string;
396
411
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormulaBuilder, never>;
397
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaBuilder, "mt-formula-builder", never, { "propertiesByPath": { "alias": "propertiesByPath"; "required": false; "isSignal": true; }; "levelSchemaId": { "alias": "levelSchemaId"; "required": false; "isSignal": true; }; "moduleId": { "alias": "moduleId"; "required": false; "isSignal": true; }; "contextKey": { "alias": "contextKey"; "required": false; "isSignal": true; }; "contextEntityTypeKey": { "alias": "contextEntityTypeKey"; "required": false; "isSignal": true; }; "templateId": { "alias": "templateId"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideToolbar": { "alias": "hideToolbar"; "required": false; "isSignal": true; }; "hideStatusBar": { "alias": "hideStatusBar"; "required": false; "isSignal": true; }; "toolbarTabs": { "alias": "toolbarTabs"; "required": false; "isSignal": true; }; "functionCategories": { "alias": "functionCategories"; "required": false; "isSignal": true; }; "operators": { "alias": "operators"; "required": false; "isSignal": true; }; "codeOnly": { "alias": "codeOnly"; "required": false; "isSignal": true; }; "builderOnly": { "alias": "builderOnly"; "required": false; "isSignal": true; }; "valueMode": { "alias": "valueMode"; "required": false; "isSignal": true; }; "isProcessBuilder": { "alias": "isProcessBuilder"; "required": false; "isSignal": true; }; }, { "validationChange": "validationChange"; "tokensChange": "tokensChange"; }, never, never, true, never>;
412
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormulaBuilder, "mt-formula-builder", never, { "propertiesByPath": { "alias": "propertiesByPath"; "required": false; "isSignal": true; }; "levelSchemaId": { "alias": "levelSchemaId"; "required": false; "isSignal": true; }; "moduleId": { "alias": "moduleId"; "required": false; "isSignal": true; }; "contextKey": { "alias": "contextKey"; "required": false; "isSignal": true; }; "contextEntityTypeKey": { "alias": "contextEntityTypeKey"; "required": false; "isSignal": true; }; "templateId": { "alias": "templateId"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideToolbar": { "alias": "hideToolbar"; "required": false; "isSignal": true; }; "hideStatusBar": { "alias": "hideStatusBar"; "required": false; "isSignal": true; }; "invalidWhenEmpty": { "alias": "invalidWhenEmpty"; "required": false; "isSignal": true; }; "toolbarTabs": { "alias": "toolbarTabs"; "required": false; "isSignal": true; }; "functionCategories": { "alias": "functionCategories"; "required": false; "isSignal": true; }; "operators": { "alias": "operators"; "required": false; "isSignal": true; }; "codeOnly": { "alias": "codeOnly"; "required": false; "isSignal": true; }; "builderOnly": { "alias": "builderOnly"; "required": false; "isSignal": true; }; "valueMode": { "alias": "valueMode"; "required": false; "isSignal": true; }; "isProcessBuilder": { "alias": "isProcessBuilder"; "required": false; "isSignal": true; }; }, { "validationChange": "validationChange"; "tokensChange": "tokensChange"; }, never, never, true, never>;
398
413
  }
399
414
 
400
415
  type FormulaApiMode$1 = 'default' | 'current-only';