ngx-t-forms-types 0.0.18 → 0.0.20

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 (97) hide show
  1. package/dist/index.d.ts +13 -9
  2. package/dist/index.js +13 -9
  3. package/dist/interfaces/DeepProperty/DeepProperty.d.ts +25 -0
  4. package/dist/interfaces/DeepProperty/DeepProperty.js +1 -0
  5. package/dist/interfaces/DeepProperty/index.d.ts +1 -0
  6. package/dist/interfaces/DeepProperty/index.js +1 -0
  7. package/dist/interfaces/Encryption/EncryptedData.d.ts +19 -0
  8. package/dist/interfaces/Encryption/EncryptedData.js +1 -0
  9. package/dist/interfaces/Encryption/index.d.ts +1 -0
  10. package/dist/interfaces/Encryption/index.js +1 -0
  11. package/dist/interfaces/Form/FormInClassUtils.d.ts +3 -3
  12. package/dist/interfaces/Form/IFormsInitStateInterface.d.ts +1 -1
  13. package/dist/interfaces/Form/formInterface.d.ts +2 -2
  14. package/dist/interfaces/Form/formSubmissionHandleInterface.d.ts +2 -2
  15. package/dist/interfaces/Form/index.d.ts +11 -11
  16. package/dist/interfaces/Form/index.js +1 -1
  17. package/dist/interfaces/FormBuilder/DefaultEelement.d.ts +1 -1
  18. package/dist/interfaces/FormBuilder/DefaultEelement.js +9 -8
  19. package/dist/interfaces/FormBuilder/DefaultInputConfigInterface.d.ts +7 -7
  20. package/dist/interfaces/FormBuilder/DefaultInputConfigInterface.js +1 -1
  21. package/dist/interfaces/FormBuilder/FormBuilderCallBackFunctions.d.ts +2 -2
  22. package/dist/interfaces/FormBuilder/FormInputKeys.d.ts +1 -0
  23. package/dist/interfaces/FormBuilder/FormInputKeys.js +1 -0
  24. package/dist/interfaces/FormBuilder/elementEditor.d.ts +7 -6
  25. package/dist/interfaces/FormBuilder/index.d.ts +9 -9
  26. package/dist/interfaces/FormBuilder/index.js +5 -5
  27. package/dist/interfaces/FormBuilder/inputConfig/ElementEditConfig.d.ts +1 -1
  28. package/dist/interfaces/FormBuilder/inputConfig/ElementEditConfig.js +29 -11
  29. package/dist/interfaces/FormBuilder/inputConfig/getInputValueFromElement.js +3 -3
  30. package/dist/interfaces/FormBuilder/workflowSelectionConfig.d.ts +2 -2
  31. package/dist/interfaces/FormSlide/accessTree.d.ts +1 -1
  32. package/dist/interfaces/FormSlide/formSlideInterface.d.ts +1 -1
  33. package/dist/interfaces/FormSlide/index.d.ts +3 -3
  34. package/dist/interfaces/FormSlide/index.js +1 -1
  35. package/dist/interfaces/Import/ImportProgress.d.ts +27 -0
  36. package/dist/interfaces/Import/ImportProgress.js +1 -0
  37. package/dist/interfaces/Import/ImportRowState.d.ts +48 -0
  38. package/dist/interfaces/Import/ImportRowState.js +1 -0
  39. package/dist/interfaces/Import/index.d.ts +2 -0
  40. package/dist/interfaces/Import/index.js +1 -0
  41. package/dist/interfaces/Tour/IFormTour.d.ts +14 -0
  42. package/dist/interfaces/Tour/IFormTour.js +1 -0
  43. package/dist/interfaces/Tour/index.d.ts +1 -0
  44. package/dist/interfaces/Tour/index.js +1 -0
  45. package/dist/interfaces/Tower/ITowerFormSteps.d.ts +3 -3
  46. package/dist/interfaces/Tower/ITowerFormSteps.js +1 -1
  47. package/dist/interfaces/Tower/index.d.ts +1 -1
  48. package/dist/interfaces/environment/IStoreFunctions.d.ts +8 -7
  49. package/dist/interfaces/environment/IStoreFunctions.js +1 -1
  50. package/dist/interfaces/environment/environment.d.ts +10 -3
  51. package/dist/interfaces/environment/index.d.ts +2 -2
  52. package/dist/interfaces/formInput/APIDataFetchingConfigurationInterface.d.ts +3 -3
  53. package/dist/interfaces/formInput/BasicFormInputInterface.d.ts +9 -9
  54. package/dist/interfaces/formInput/DateRangePickerInput.d.ts +1 -1
  55. package/dist/interfaces/formInput/FileUploadInputInterface.d.ts +1 -1
  56. package/dist/interfaces/formInput/IMscoaAccount.d.ts +3 -3
  57. package/dist/interfaces/formInput/ISelectInputInterface.d.ts +3 -3
  58. package/dist/interfaces/formInput/ISelectInputInterface.js +1 -1
  59. package/dist/interfaces/formInput/MatDataOptionsInterface.d.ts +2 -2
  60. package/dist/interfaces/formInput/MatrixInputInterface.d.ts +2 -2
  61. package/dist/interfaces/formInput/MinimumInputRequiredInterface.d.ts +1 -1
  62. package/dist/interfaces/formInput/MscoaInput.d.ts +2 -2
  63. package/dist/interfaces/formInput/MscoaInput.js +1 -1
  64. package/dist/interfaces/formInput/MultipleInterface.d.ts +9 -2
  65. package/dist/interfaces/formInput/MultipleInterface.js +7 -1
  66. package/dist/interfaces/formInput/TableConfigurationsInterface.d.ts +1 -1
  67. package/dist/interfaces/formInput/TextAreaInput.d.ts +1 -1
  68. package/dist/interfaces/formInput/ToggleInputInterface.d.ts +1 -1
  69. package/dist/interfaces/formInput/WorkflowAdjudication.d.ts +1 -1
  70. package/dist/interfaces/formInput/WorkflowDocumentPicker.d.ts +4 -4
  71. package/dist/interfaces/formInput/WorkflowDocumentPicker.js +1 -1
  72. package/dist/interfaces/formInput/calculatedFieldRules.d.ts +1 -1
  73. package/dist/interfaces/formInput/index.d.ts +27 -26
  74. package/dist/interfaces/formInput/index.js +10 -8
  75. package/dist/interfaces/formInput/schema.d.ts +1 -1
  76. package/dist/interfaces/pipeline-builder/index.d.ts +1 -1
  77. package/dist/interfaces/pipeline-builder/index.js +1 -1
  78. package/dist/interfaces/upgradeFunctions/interfaces/init-form.d.ts +1 -1
  79. package/dist/interfaces/workflow/WorkflowFunctionTypes.d.ts +26 -0
  80. package/dist/interfaces/workflow/WorkflowFunctionTypes.js +27 -0
  81. package/dist/interfaces/workflow/index.d.ts +3 -2
  82. package/dist/interfaces/workflow/index.js +3 -2
  83. package/dist/schemas/CalculatedFieldRulesSchema.d.ts +1 -1
  84. package/dist/schemas/CalculatedFieldRulesSchema.js +1 -1
  85. package/dist/schemas/DocmentPickerInputSchema.js +2 -2
  86. package/dist/schemas/FormInputSchema.d.ts +2 -2
  87. package/dist/schemas/FormInputSchema.js +20 -18
  88. package/dist/schemas/FormSchema.d.ts +2 -2
  89. package/dist/schemas/FormSchema.js +3 -3
  90. package/dist/schemas/MatOptionsSchema.js +4 -4
  91. package/dist/schemas/MscoaConfigSchema.js +1 -1
  92. package/dist/schemas/customValidationSchema.d.ts +1 -1
  93. package/dist/schemas/customValidationSchema.js +1 -1
  94. package/dist/schemas/index.d.ts +3 -3
  95. package/dist/schemas/index.js +3 -3
  96. package/dist/schemas/tests/FormInputValidator.spec.js +3 -3
  97. package/package.json +26 -15
package/dist/index.d.ts CHANGED
@@ -1,9 +1,13 @@
1
- export * from './interfaces/Form/index';
2
- export * from './interfaces/Tower/index';
3
- export * from './interfaces/FormSlide/index';
4
- export * from './interfaces/formInput/index';
5
- export * from './interfaces/FormBuilder/index';
6
- export * from './interfaces/environment/index';
7
- export * from './interfaces/pipeline-builder/index';
8
- export * from './interfaces/workflow/index';
9
- export * from './schemas/index';
1
+ export * from './interfaces/Form/index.js';
2
+ export * from './interfaces/Tower/index.js';
3
+ export * from './interfaces/FormSlide/index.js';
4
+ export * from './interfaces/formInput/index.js';
5
+ export * from './interfaces/FormBuilder/index.js';
6
+ export * from './interfaces/environment/index.js';
7
+ export * from './interfaces/pipeline-builder/index.js';
8
+ export * from './interfaces/workflow/index.js';
9
+ export * from './interfaces/Encryption/index.js';
10
+ export * from './interfaces/DeepProperty/index.js';
11
+ export * from './interfaces/Import/index.js';
12
+ export * from './interfaces/Tour/index.js';
13
+ export * from './schemas/index.js';
package/dist/index.js CHANGED
@@ -1,9 +1,13 @@
1
- export * from './interfaces/Form/index';
2
- export * from './interfaces/Tower/index';
3
- export * from './interfaces/FormSlide/index';
4
- export * from './interfaces/formInput/index';
5
- export * from './interfaces/FormBuilder/index';
6
- export * from './interfaces/environment/index';
7
- export * from './interfaces/pipeline-builder/index';
8
- export * from './interfaces/workflow/index';
9
- export * from './schemas/index';
1
+ export * from './interfaces/Form/index.js';
2
+ export * from './interfaces/Tower/index.js';
3
+ export * from './interfaces/FormSlide/index.js';
4
+ export * from './interfaces/formInput/index.js';
5
+ export * from './interfaces/FormBuilder/index.js';
6
+ export * from './interfaces/environment/index.js';
7
+ export * from './interfaces/pipeline-builder/index.js';
8
+ export * from './interfaces/workflow/index.js';
9
+ export * from './interfaces/Encryption/index.js';
10
+ export * from './interfaces/DeepProperty/index.js';
11
+ export * from './interfaces/Import/index.js';
12
+ export * from './interfaces/Tour/index.js';
13
+ export * from './schemas/index.js';
@@ -0,0 +1,25 @@
1
+ import type { IArrayFunction } from '../Form/ArrayFunctions.js';
2
+ /**
3
+ * Result type returned by `returnDeepProperty` / `safeReturnDeepProperty`.
4
+ * The deep-property helpers are intentionally untyped at the value boundary
5
+ * because they walk arbitrary nested structures — consumers should narrow
6
+ * after retrieval.
7
+ *
8
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
9
+ *
10
+ * @public
11
+ */
12
+ export type DeepPropertyValue = unknown;
13
+ /**
14
+ * Path segment array used by `returnDeepProperty` / `safeReturnDeepProperty`
15
+ * to traverse a deeply-nested object. Each segment is either:
16
+ *
17
+ * - `string` — object key
18
+ * - `number` — array index
19
+ * - `IArrayFunction[]` — declarative array operation (filter / find / map)
20
+ *
21
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
22
+ *
23
+ * @public
24
+ */
25
+ export type PropertyPath = (string | number | IArrayFunction[])[];
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { DeepPropertyValue, PropertyPath } from './DeepProperty.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Encrypted payload produced by the AES-CBC + HMAC-SHA256 helpers in
3
+ * `ngx-t-forms`. All four fields are Base64-encoded strings; the helpers
4
+ * round-trip through `crypto-js`.
5
+ *
6
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
7
+ *
8
+ * @public
9
+ */
10
+ export interface EncryptedData {
11
+ /** AES-CBC ciphertext, Base64-encoded. */
12
+ ciphertext: string;
13
+ /** PBKDF2 salt (16 random bytes), Base64-encoded. */
14
+ salt: string;
15
+ /** AES-CBC initialisation vector (16 random bytes), Base64-encoded. */
16
+ iv: string;
17
+ /** HMAC-SHA256 of the ciphertext, Base64-encoded. */
18
+ hmac: string;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { EncryptedData } from './EncryptedData.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -1,9 +1,9 @@
1
1
  import { Observable } from "rxjs";
2
- import { IUserSignature } from "../formInput/userSignature";
2
+ import { IUserSignature } from "../formInput/userSignature.js";
3
3
  import { PointGroup } from "signature_pad";
4
- import { FileUploadFn, NgxTFormsConfig } from "../../interfaces/Form";
4
+ import { FileUploadFn, NgxTFormsConfig } from "../../interfaces/Form/index.js";
5
5
  import { HttpClient } from "@angular/common/http";
6
- import { FormSubmissionStatus } from "../FormSlide";
6
+ import { FormSubmissionStatus } from "../FormSlide/index.js";
7
7
  /**
8
8
  * Interface for the utility functions used in the in-class form.
9
9
  */
@@ -1,5 +1,5 @@
1
1
  import { ActivatedRouteSnapshot } from "@angular/router";
2
- import { DatabaseFormInterface, FormInterface } from "./formInterface";
2
+ import { DatabaseFormInterface, FormInterface } from "./formInterface.js";
3
3
  export interface LocalFormStateSelectorInterface extends FormInterface {
4
4
  _id: string;
5
5
  createdAt: Date;
@@ -1,5 +1,5 @@
1
- import { FormSlideInterface } from "../FormSlide/formSlideInterface";
2
- import { FormSubmissionHandleInterface } from "./formSubmissionHandleInterface";
1
+ import { FormSlideInterface } from "../FormSlide/formSlideInterface.js";
2
+ import { FormSubmissionHandleInterface } from "./formSubmissionHandleInterface.js";
3
3
  export interface FormInterface {
4
4
  slides: Array<FormSlideInterface>;
5
5
  submissionHandle: FormSubmissionHandleInterface;
@@ -1,5 +1,5 @@
1
- import { APIDataFetchingConfigurationInterface, MongoDbPipeLineConfigInterface } from "../formInput";
2
- import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface";
1
+ import { APIDataFetchingConfigurationInterface, MongoDbPipeLineConfigInterface } from "../formInput/index.js";
2
+ import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface.js";
3
3
  export interface FormSubmissionHandleInterface {
4
4
  innerComponentShowSubmitButton?: boolean;
5
5
  canSubmitAPI?: Array<APIDataFetchingConfigurationInterface>;
@@ -1,12 +1,12 @@
1
- import { NgxTFormsConfig } from "../environment/environment";
2
- import { FormColumnInputs } from "../formInput/BasicFormInputInterface";
3
- import { IAllInputs, OLD_FormInterface } from "../upgradeFunctions/interfaces/init-form";
4
- import { IArrayFunction } from "./ArrayFunctions";
5
- import { CustomConfigInterface } from "./CustomeConfigInter";
6
- import { FileData, FileUploadFn } from "./FileUploadFn";
7
- import { IFormChangeHistory } from "./formChangeHistory";
8
- import { IFormActions, InClassFormUtilsInterface, InClassFormUtilsWithSectionsInterface } from "./FormInClassUtils";
9
- import { FormInterface, DatabaseFormInterface, MainFormInterface } from "./formInterface";
10
- import { FormSubmissionHandleInterface, IReportDataSources } from "./formSubmissionHandleInterface";
11
- import { FormListSection, FormStateErrors, IFormsInitStateInterface, LocalFormStateSelectorInterface } from "./IFormsInitStateInterface";
1
+ import { NgxTFormsConfig } from "../environment/environment.js";
2
+ import { FormColumnInputs } from "../formInput/BasicFormInputInterface.js";
3
+ import { IAllInputs, OLD_FormInterface } from "../upgradeFunctions/interfaces/init-form.js";
4
+ import { IArrayFunction } from "./ArrayFunctions.js";
5
+ import { CustomConfigInterface } from "./CustomeConfigInter.js";
6
+ import { FileData, FileUploadFn } from "./FileUploadFn.js";
7
+ import { IFormChangeHistory } from "./formChangeHistory.js";
8
+ import { IFormActions, InClassFormUtilsInterface, InClassFormUtilsWithSectionsInterface } from "./FormInClassUtils.js";
9
+ import { FormInterface, DatabaseFormInterface, MainFormInterface } from "./formInterface.js";
10
+ import { FormSubmissionHandleInterface, IReportDataSources } from "./formSubmissionHandleInterface.js";
11
+ import { FormListSection, FormStateErrors, IFormsInitStateInterface, LocalFormStateSelectorInterface } from "./IFormsInitStateInterface.js";
12
12
  export { CustomConfigInterface, InClassFormUtilsInterface, InClassFormUtilsWithSectionsInterface, FormInterface, MainFormInterface, DatabaseFormInterface, FormSubmissionHandleInterface, FormColumnInputs, IFormActions, NgxTFormsConfig, FileUploadFn, FileData, FormListSection, LocalFormStateSelectorInterface, IFormsInitStateInterface, FormStateErrors, IArrayFunction, OLD_FormInterface, IAllInputs, IFormChangeHistory, IReportDataSources };
@@ -1,2 +1,2 @@
1
- import { FormListSection, FormStateErrors } from "./IFormsInitStateInterface";
1
+ import { FormListSection, FormStateErrors } from "./IFormsInitStateInterface.js";
2
2
  export { FormListSection, FormStateErrors };
@@ -1,3 +1,3 @@
1
- import { DefaultInputConfigInterface } from "./DefaultInputConfigInterface";
1
+ import { DefaultInputConfigInterface } from "./DefaultInputConfigInterface.js";
2
2
  export declare function defaultInputs(): string[];
3
3
  export declare const DefaultInputConfig: DefaultInputConfigInterface;
@@ -1,11 +1,11 @@
1
- import { AutocapitalizeOptions, ElementTypes, InputDataTypes, InputTypes } from "../formInput";
2
- import { OptionSelectTypes } from "../formInput/BasicFormInputInterface";
3
- import { InputFileType } from "../formInput/FileUploadInputInterface";
4
- import { AccountingBasis } from "../formInput/IMscoaAccount";
5
- import { MSCOA_INPUT_DEFAULT_MAT_OPTIONS } from "../formInput/MscoaInput";
6
- import { RichTextEditorType } from "../formInput/RichTextEditorInput";
7
- import { LabelPosition } from "../formInput/ToggleInputInterface";
8
- import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys";
1
+ import { AutocapitalizeOptions, ElementTypes, InputDataTypes, InputTypes } from "../formInput/index.js";
2
+ import { OptionSelectTypes } from "../formInput/BasicFormInputInterface.js";
3
+ import { InputFileType } from "../formInput/FileUploadInputInterface.js";
4
+ import { AccountingBasis } from "../formInput/IMscoaAccount.js";
5
+ import { MSCOA_INPUT_DEFAULT_MAT_OPTIONS } from "../formInput/MscoaInput.js";
6
+ import { RichTextEditorType } from "../formInput/RichTextEditorInput.js";
7
+ import { LabelPosition } from "../formInput/ToggleInputInterface.js";
8
+ import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys.js";
9
9
  export function defaultInputs() {
10
10
  return Object.keys(ElementTypes);
11
11
  }
@@ -734,6 +734,7 @@ export const DefaultInputConfig = {
734
734
  AllFormInputPrimaryKeys.MatOptions,
735
735
  AllFormInputPrimaryKeys.FormInputs,
736
736
  AllFormInputPrimaryKeys.HandleLabel,
737
+ SpecialElementKeys.MultipleInputAvailableOperations
737
738
  ],
738
739
  elementTemplate: {
739
740
  element: ElementTypes.MultipleInput,
@@ -1,9 +1,9 @@
1
- import { ElementTypes, IToggleInput, ITextareaProperties, IDateRangePickerInput, IFileUploadInput, IMultiple, IWorkflowAdjudicationInput, IScoaInput } from "../formInput";
2
- import { IFormElementTemplate } from "../formInput/BasicFormInputInterface";
3
- import { IPaginatedSelectionTableInputInterface, ISelectInputInterface } from "../formInput/ISelectInputInterface";
4
- import { IRichTextEditor } from "../formInput/RichTextEditorInput";
5
- import { IWorkflowDocumentPicker } from "../formInput/WorkflowDocumentPicker";
6
- import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys";
1
+ import { ElementTypes, IToggleInput, ITextareaProperties, IDateRangePickerInput, IFileUploadInput, IMultiple, IWorkflowAdjudicationInput, IScoaInput } from "../formInput/index.js";
2
+ import { IFormElementTemplate } from "../formInput/BasicFormInputInterface.js";
3
+ import { IPaginatedSelectionTableInputInterface, ISelectInputInterface } from "../formInput/ISelectInputInterface.js";
4
+ import { IRichTextEditor } from "../formInput/RichTextEditorInput.js";
5
+ import { IWorkflowDocumentPicker } from "../formInput/WorkflowDocumentPicker.js";
6
+ import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys.js";
7
7
  export interface DefaultInputConfigInterface {
8
8
  [ElementTypes.Input]: {
9
9
  label: string;
@@ -121,7 +121,7 @@ export interface DefaultInputConfigInterface {
121
121
  label: string;
122
122
  disabled: boolean;
123
123
  illustration: string;
124
- properties: Array<FormInputKeys | AllFormInputPrimaryKeys>;
124
+ properties: Array<FormInputKeys | AllFormInputPrimaryKeys | SpecialElementKeys>;
125
125
  elementTemplate: IMultiple;
126
126
  requiredProperties: Array<FormInputKeys | AllFormInputPrimaryKeys>;
127
127
  };
@@ -1 +1 @@
1
- import { ElementTypes, } from "../formInput";
1
+ import { ElementTypes, } from "../formInput/index.js";
@@ -1,6 +1,6 @@
1
1
  import { Observable } from "rxjs";
2
- import { IGetTreeResponse, IMultipleInputCal, IScoaAccount } from "../formInput";
3
- import { FormColumnInputs } from "../formInput/BasicFormInputInterface";
2
+ import { IGetTreeResponse, IMultipleInputCal, IScoaAccount } from "../formInput/index.js";
3
+ import { FormColumnInputs } from "../formInput/BasicFormInputInterface.js";
4
4
  import { CdkDragDrop } from "@angular/cdk/drag-drop";
5
5
  export interface FormBuilderFunctions {
6
6
  multipleInputToggleLabel: (item: FormColumnInputs) => void;
@@ -7,6 +7,7 @@ export declare enum SpecialElementKeys {
7
7
  DefaultCalculatedFieldRules = "defaultCalculatedFieldRules",
8
8
  MatOptionsItemType = "matOptionsItemType",
9
9
  MatOptionsSelectionOptions = "matOptionsSelectionOptions",
10
+ MultipleInputAvailableOperations = "multipleInputAvailableOperations",
10
11
  DefaultValuePipe = "defaultValuePipe",
11
12
  DefaultCurrencySelect = "defaultCurrencySelect",
12
13
  DefaultDecimalNumberInput = "defaultDecimalNumberInput",
@@ -8,6 +8,7 @@ export var SpecialElementKeys;
8
8
  SpecialElementKeys["DefaultCalculatedFieldRules"] = "defaultCalculatedFieldRules";
9
9
  SpecialElementKeys["MatOptionsItemType"] = "matOptionsItemType";
10
10
  SpecialElementKeys["MatOptionsSelectionOptions"] = "matOptionsSelectionOptions";
11
+ SpecialElementKeys["MultipleInputAvailableOperations"] = "multipleInputAvailableOperations";
11
12
  SpecialElementKeys["DefaultValuePipe"] = "defaultValuePipe";
12
13
  SpecialElementKeys["DefaultCurrencySelect"] = "defaultCurrencySelect";
13
14
  SpecialElementKeys["DefaultDecimalNumberInput"] = "defaultDecimalNumberInput";
@@ -1,10 +1,10 @@
1
1
  import { Observable } from "rxjs";
2
- import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys";
3
- import { IPostmanCollectionConfig } from "./postmanCollection";
4
- import { IWorkflowOption } from "./workflowSelectionConfig";
5
- import { IGetTreeResponse } from "../formInput";
6
- import { FormColumnInputs } from "../Form";
7
- import { ValidationError } from "../formInput/schema";
2
+ import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys.js";
3
+ import { IPostmanCollectionConfig } from "./postmanCollection.js";
4
+ import { IWorkflowOption } from "./workflowSelectionConfig.js";
5
+ import { IGetTreeResponse } from "../formInput/index.js";
6
+ import { FormColumnInputs } from "../Form/index.js";
7
+ import { ValidationError } from "../formInput/schema.js";
8
8
  export declare enum ElementEditorTypes {
9
9
  Input = "input",
10
10
  Toggle = "toggle",// Note the typo here; check if it should be 'toggle'
@@ -91,4 +91,5 @@ export interface ElementEditorInnerSectionElementInterface {
91
91
  httpGetDataFunction?: (url: string, options: any) => Observable<any>;
92
92
  getWorkflowOptions?: Observable<IWorkflowOption[]> | undefined;
93
93
  getMscoaTree?: Observable<IGetTreeResponse> | undefined;
94
+ multipleSelection?: boolean;
94
95
  }
@@ -1,10 +1,10 @@
1
- import { DefaultInputConfig, defaultInputs } from "./DefaultEelement";
2
- import { DefaultInputConfigInterface } from "./DefaultInputConfigInterface";
3
- import { getElementEditorConfig } from "./inputConfig/ElementEditConfig";
4
- import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys";
5
- import { BlurHandleTypes, ConfigurationValidTestInterface, ElementEditorConfigSectionInterface, ElementEditorInnerSectionElementInterface, ElementEditorTypes } from "./elementEditor";
6
- import { IWorkflowOption } from "./workflowSelectionConfig";
7
- import { FormBuilderFunctions } from "./FormBuilderCallBackFunctions";
8
- import { IGetPostmanCollections, IPostmanCollectionConfig } from "./postmanCollection";
9
- import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface";
1
+ import { DefaultInputConfig, defaultInputs } from "./DefaultEelement.js";
2
+ import { DefaultInputConfigInterface } from "./DefaultInputConfigInterface.js";
3
+ import { getElementEditorConfig } from "./inputConfig/ElementEditConfig.js";
4
+ import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys.js";
5
+ import { BlurHandleTypes, ConfigurationValidTestInterface, ElementEditorConfigSectionInterface, ElementEditorInnerSectionElementInterface, ElementEditorTypes } from "./elementEditor.js";
6
+ import { IWorkflowOption } from "./workflowSelectionConfig.js";
7
+ import { FormBuilderFunctions } from "./FormBuilderCallBackFunctions.js";
8
+ import { IGetPostmanCollections, IPostmanCollectionConfig } from "./postmanCollection.js";
9
+ import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface.js";
10
10
  export { DefaultInputConfigInterface, BlurHandleTypes, FormInputKeys, ElementEditorTypes, ConfigurationValidTestInterface, ElementEditorInnerSectionElementInterface, SpecialElementKeys, AllFormInputPrimaryKeys, DefaultInputConfig, defaultInputs, getElementEditorConfig, IWorkflowOption, FormBuilderFunctions, IGetPostmanCollections, IPostmanCollectionConfig, DataSources, ElementEditorConfigSectionInterface };
@@ -1,6 +1,6 @@
1
- import { DefaultInputConfig, defaultInputs } from "./DefaultEelement";
2
- import { getElementEditorConfig } from "./inputConfig/ElementEditConfig";
3
- import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys";
4
- import { BlurHandleTypes, ElementEditorTypes } from "./elementEditor";
5
- import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface";
1
+ import { DefaultInputConfig, defaultInputs } from "./DefaultEelement.js";
2
+ import { getElementEditorConfig } from "./inputConfig/ElementEditConfig.js";
3
+ import { AllFormInputPrimaryKeys, FormInputKeys, SpecialElementKeys } from "./FormInputKeys.js";
4
+ import { BlurHandleTypes, ElementEditorTypes } from "./elementEditor.js";
5
+ import { DataSources } from "../formInput/APIDataFetchingConfigurationInterface.js";
6
6
  export { BlurHandleTypes, FormInputKeys, ElementEditorTypes, SpecialElementKeys, AllFormInputPrimaryKeys, DefaultInputConfig, defaultInputs, getElementEditorConfig, DataSources };
@@ -1,3 +1,3 @@
1
- import { ElementEditorConfigInterface } from "../elementEditor";
1
+ import { ElementEditorConfigInterface } from "../elementEditor.js";
2
2
  export declare var ElementConfig: ElementEditorConfigInterface;
3
3
  export declare const getElementEditorConfig: ElementEditorConfigInterface;
@@ -1,14 +1,15 @@
1
- import { CurrenciesList } from "../../../Configs/currencies";
2
- import { DatePipeOptions } from "../../../Configs/datePipes";
3
- import { AdjudicationSteps, ElementTypes, InputDataTypes, InputPipeTypes, InputTypes } from "../../formInput";
4
- import { DataSources } from "../../formInput/APIDataFetchingConfigurationInterface";
5
- import { OptionSelectTypes } from "../../formInput/BasicFormInputInterface";
6
- import { InputFileType } from "../../formInput/FileUploadInputInterface";
7
- import { AccountingBasis } from "../../formInput/IMscoaAccount";
8
- import { RichTextEditorType } from "../../formInput/RichTextEditorInput";
9
- import { LabelPosition } from "../../formInput/ToggleInputInterface";
10
- import { AllFormInputPrimaryKeys, SpecialElementKeys } from "../FormInputKeys";
11
- import { BlurHandleTypes, ElementEditorTypes } from "../elementEditor";
1
+ import { CurrenciesList } from "../../../Configs/currencies.js";
2
+ import { DatePipeOptions } from "../../../Configs/datePipes.js";
3
+ import { AdjudicationSteps, ElementTypes, InputDataTypes, InputPipeTypes, InputTypes } from "../../formInput/index.js";
4
+ import { DataSources } from "../../formInput/APIDataFetchingConfigurationInterface.js";
5
+ import { OptionSelectTypes } from "../../formInput/BasicFormInputInterface.js";
6
+ import { InputFileType } from "../../formInput/FileUploadInputInterface.js";
7
+ import { AccountingBasis } from "../../formInput/IMscoaAccount.js";
8
+ import { MultipleInputAvailableOperations } from "../../formInput/MultipleInterface.js";
9
+ import { RichTextEditorType } from "../../formInput/RichTextEditorInput.js";
10
+ import { LabelPosition } from "../../formInput/ToggleInputInterface.js";
11
+ import { AllFormInputPrimaryKeys, SpecialElementKeys } from "../FormInputKeys.js";
12
+ import { BlurHandleTypes, ElementEditorTypes } from "../elementEditor.js";
12
13
  export var ElementConfig = {
13
14
  editorSections: [
14
15
  {
@@ -165,6 +166,22 @@ export var ElementConfig = {
165
166
  label: 'Max length of characters',
166
167
  id: "9bc50894-5230-46f2-91de-b45673b3a80a"
167
168
  },
169
+ {
170
+ name: SpecialElementKeys.MultipleInputAvailableOperations,
171
+ deepBind: [SpecialElementKeys.MultipleInputAvailableOperations],
172
+ editType: ElementEditorTypes.ChipSelect,
173
+ defaultValue: Object.values(MultipleInputAvailableOperations).filter(o => o !== MultipleInputAvailableOperations.LockEditOnFormSubmit),
174
+ multipleSelection: true,
175
+ options: Object.values(MultipleInputAvailableOperations).map(
176
+ //Convert label from camelCase to normal text
177
+ (operation) => ({
178
+ label: operation.replace(/([a-z])([A-Z])/g, '$1 $2'),
179
+ value: operation
180
+ })),
181
+ label: 'Available operations for multiple input',
182
+ hint: 'Select which operations should be available for multiple inputs. This allows you to control how users can manipulate multiple entries, such as adding new ones, removing existing ones, or reordering them.',
183
+ id: "a894e16f-2d7e-4dca-825f-4785-6hjj0"
184
+ },
168
185
  {
169
186
  name: AllFormInputPrimaryKeys.HandleLabel,
170
187
  deepBind: [AllFormInputPrimaryKeys.HandleLabel],
@@ -339,6 +356,7 @@ export var ElementConfig = {
339
356
  deepBind: ['mscoaConfig', 'segments'],
340
357
  editType: ElementEditorTypes.ConfigMscoaSegments,
341
358
  label: 'Configure MScoa Accrual segments',
359
+ defaultValue: false,
342
360
  fetchOptions: ['mscoaConfig', 'showAllSegments'],
343
361
  hint: "Configure SCOA segments to be used in the input",
344
362
  id: "ba1a5b79-b071-44a6-b39a-bf1c2fafcda5"
@@ -1,6 +1,6 @@
1
- import { ElementTypes, InputDataTypes, MinInputTypes } from "../../formInput";
2
- import { DataSources } from "../../formInput/APIDataFetchingConfigurationInterface";
3
- import { ElementEditorTypes } from "../elementEditor";
1
+ import { ElementTypes, InputDataTypes, MinInputTypes } from "../../formInput/index.js";
2
+ import { DataSources } from "../../formInput/APIDataFetchingConfigurationInterface.js";
3
+ import { ElementEditorTypes } from "../elementEditor.js";
4
4
  function elementValue(element) {
5
5
  const editType = element.editType;
6
6
  switch (editType) {
@@ -1,5 +1,5 @@
1
- import { InputDataTypes, InputPipeTypes } from "../formInput";
2
- import { DocumentLitsLabelConfigInterfaceValueType } from "../workflow";
1
+ import { InputDataTypes, InputPipeTypes } from "../formInput/index.js";
2
+ import { DocumentLitsLabelConfigInterfaceValueType } from "../workflow/index.js";
3
3
  export interface IWorkflowOption {
4
4
  name: string;
5
5
  createdAt: Date;
@@ -1,4 +1,4 @@
1
- import { IArrayFunction } from "../Form/ArrayFunctions";
1
+ import { IArrayFunction } from "../Form/ArrayFunctions.js";
2
2
  export interface TreeNode {
3
3
  key: string;
4
4
  value: any;
@@ -1,4 +1,4 @@
1
- import { FormColumnInputs } from "../formInput/BasicFormInputInterface";
1
+ import { FormColumnInputs } from "../formInput/BasicFormInputInterface.js";
2
2
  export declare enum FormSubmissionStatus {
3
3
  SUBMITTING = "submitting",
4
4
  UPLOADING = "uploading",
@@ -1,4 +1,4 @@
1
- import { FlatNode } from "./accessTree";
2
- import { ControlValidation, FormValidationReasons } from "./controlValidation";
3
- import { FormSlideExtended, FormSlideInterface, FormSubmissionStatus } from "./formSlideInterface";
1
+ import { FlatNode } from "./accessTree.js";
2
+ import { ControlValidation, FormValidationReasons } from "./controlValidation.js";
3
+ import { FormSlideExtended, FormSlideInterface, FormSubmissionStatus } from "./formSlideInterface.js";
4
4
  export { ControlValidation, FormValidationReasons, FormSlideInterface, FormSlideExtended, FormSubmissionStatus, FlatNode };
@@ -1,2 +1,2 @@
1
- import { FormSubmissionStatus } from "./formSlideInterface";
1
+ import { FormSubmissionStatus } from "./formSlideInterface.js";
2
2
  export { FormSubmissionStatus };
@@ -0,0 +1,27 @@
1
+ import type { ImportRowState } from './ImportRowState.js';
2
+ /**
3
+ * Aggregate counters plus the underlying row array. Returned by the import
4
+ * controller's `progress$` stream and `currentProgress` snapshot.
5
+ *
6
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
7
+ *
8
+ * @public
9
+ */
10
+ export interface ImportProgress {
11
+ /** Total row count handed to `runImport`. */
12
+ total: number;
13
+ /** Rows still queued (status `pending`). */
14
+ pending: number;
15
+ /** Rows currently processing. */
16
+ processing: number;
17
+ /** `valid` + `invalid` — i.e. rows that fully settled (regardless of validity). */
18
+ complete: number;
19
+ /** Rows that settled with no errors. */
20
+ valid: number;
21
+ /** Rows that settled with at least one error. */
22
+ invalid: number;
23
+ /** Rows that threw before settling. */
24
+ error: number;
25
+ /** Underlying array — useful for rendering per-row UI. */
26
+ rows: ImportRowState[];
27
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Lifecycle states for a single import row driven by the import controller in
3
+ * `ngx-t-forms`.
4
+ *
5
+ * - `pending` — queued, tower not yet created.
6
+ * - `processing` — tower is initialising / preprocessing / awaiting settle.
7
+ * - `valid` — settled with no validator errors.
8
+ * - `invalid` — settled but at least one validator error or pre-process error.
9
+ * - `error` — `_processRow` threw before settle (tower init failure, etc.).
10
+ *
11
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
12
+ *
13
+ * @public
14
+ */
15
+ export type ImportRowStatus = 'pending' | 'processing' | 'valid' | 'invalid' | 'error';
16
+ /**
17
+ * Per-row state recorded throughout an import session.
18
+ *
19
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
20
+ *
21
+ * @public
22
+ */
23
+ export interface ImportRowState {
24
+ /** Position in the original `rows` array passed to `runImport`. */
25
+ rowIndex: number;
26
+ /** The user-supplied row exactly as it arrived (no preprocessing). */
27
+ originalData: Record<string, unknown>;
28
+ /** Current lifecycle state — see {@link ImportRowStatus}. */
29
+ status: ImportRowStatus;
30
+ /**
31
+ * Flat formControlName-keyed values after the tower has settled
32
+ * (output of `tower.getFormValueNames()`). Available once `status` is
33
+ * `valid` or `invalid`.
34
+ */
35
+ settledValue?: Record<string, unknown>;
36
+ /** `true` when no validation/column errors were collected. */
37
+ isValid?: boolean;
38
+ /** inputId → array of Angular validator error keys (e.g. `['required', 'minlength']`). */
39
+ validationErrors?: Record<string, string[]>;
40
+ /**
41
+ * formControlName → error keys concatenated with '.' (e.g. `"required.minlength"`).
42
+ * Includes pre-processing errors (e.g. SCOA lookup failures, MultipleInput
43
+ * sub-row failures) so consumers do not have to merge two sources.
44
+ */
45
+ colErrors?: Record<string, string>;
46
+ /** Free-form message attached when `status === 'error'`. */
47
+ errorMessage?: string;
48
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export { ImportRowState, ImportRowStatus } from './ImportRowState.js';
2
+ export { ImportProgress } from './ImportProgress.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { IStepOption } from 'ngx-ui-tour-md-menu';
2
+ /**
3
+ * Tour step descriptor used by `ngx-t-forms` when binding form-section guided
4
+ * tours through `ngx-ui-tour-md-menu`. Extends the upstream `IStepOption`
5
+ * contract with the originating `sectionId` so the tower can correlate tour
6
+ * steps back to their owning section.
7
+ *
8
+ * Upstreamed from `ngx-t-forms` per DECISIONS.md D-016.
9
+ *
10
+ * @public
11
+ */
12
+ export interface IFormTour extends IStepOption {
13
+ sectionId: string;
14
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export { IFormTour } from './IFormTour.js';
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,8 @@
1
1
  import { FormGroup } from '@angular/forms';
2
- import { FormColumnInputs } from '../formInput/BasicFormInputInterface';
2
+ import { FormColumnInputs } from '../formInput/BasicFormInputInterface.js';
3
3
  import { Observable } from 'rxjs';
4
- import { FormListSection, FormStateErrors, IFormsInitStateInterface, LocalFormStateSelectorInterface } from '../Form/IFormsInitStateInterface';
5
- import { DatabaseFormInterface } from '../Form/formInterface';
4
+ import { FormListSection, FormStateErrors, IFormsInitStateInterface, LocalFormStateSelectorInterface } from '../Form/IFormsInitStateInterface.js';
5
+ import { DatabaseFormInterface } from '../Form/formInterface.js';
6
6
  import { ActivatedRouteSnapshot } from '@angular/router';
7
7
  export interface ITowerStepColumn extends FormColumnInputs {
8
8
  canReload: IInputCanReload;
@@ -1 +1 @@
1
- import { FormStateErrors } from '../Form/IFormsInitStateInterface';
1
+ import { FormStateErrors } from '../Form/IFormsInitStateInterface.js';
@@ -1,2 +1,2 @@
1
- import { FormsStoreSelectorsInterface, ITowerFormSteps, ITowerStepColumn } from "./ITowerFormSteps";
1
+ import { FormsStoreSelectorsInterface, ITowerFormSteps, ITowerStepColumn } from "./ITowerFormSteps.js";
2
2
  export { ITowerFormSteps, FormsStoreSelectorsInterface, ITowerStepColumn };