iss-ctrl 0.0.17 → 0.0.19

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 (24) hide show
  1. package/fesm2022/{iss-ctrl-iss-ctrl-BHW3shB0.mjs → iss-ctrl-iss-ctrl-Cy9p_PEj.mjs} +92 -60
  2. package/fesm2022/iss-ctrl-iss-ctrl-Cy9p_PEj.mjs.map +1 -0
  3. package/fesm2022/{iss-ctrl-load-event-BBKfb4GM.mjs → iss-ctrl-load-event-DbAc-Wqq.mjs} +3 -3
  4. package/fesm2022/{iss-ctrl-load-event-BBKfb4GM.mjs.map → iss-ctrl-load-event-DbAc-Wqq.mjs.map} +1 -1
  5. package/fesm2022/{iss-ctrl-load-options-event-jsZAQloX.mjs → iss-ctrl-load-options-event-CmXkuQ5O.mjs} +3 -3
  6. package/fesm2022/{iss-ctrl-load-options-event-jsZAQloX.mjs.map → iss-ctrl-load-options-event-CmXkuQ5O.mjs.map} +1 -1
  7. package/fesm2022/{iss-ctrl-load-value-event-ClkNTtds.mjs → iss-ctrl-load-value-event-DmX9Pkzf.mjs} +3 -3
  8. package/fesm2022/{iss-ctrl-load-value-event-ClkNTtds.mjs.map → iss-ctrl-load-value-event-DmX9Pkzf.mjs.map} +1 -1
  9. package/fesm2022/{iss-ctrl-note.field-Co2Og2eO.mjs → iss-ctrl-note.field-CbLlparb.mjs} +2 -2
  10. package/fesm2022/{iss-ctrl-note.field-Co2Og2eO.mjs.map → iss-ctrl-note.field-CbLlparb.mjs.map} +1 -1
  11. package/fesm2022/{iss-ctrl-replace-api-keys-Bx7wo5zl.mjs → iss-ctrl-replace-api-keys-C_mYQdtP.mjs} +2 -2
  12. package/fesm2022/{iss-ctrl-replace-api-keys-Bx7wo5zl.mjs.map → iss-ctrl-replace-api-keys-C_mYQdtP.mjs.map} +1 -1
  13. package/fesm2022/{iss-ctrl-set-value-event-D38jsLlO.mjs → iss-ctrl-set-value-event-vKIrSRgu.mjs} +2 -2
  14. package/fesm2022/{iss-ctrl-set-value-event-D38jsLlO.mjs.map → iss-ctrl-set-value-event-vKIrSRgu.mjs.map} +1 -1
  15. package/fesm2022/{iss-ctrl-table.field-BcuL_fSr.mjs → iss-ctrl-table.field-CvqXIE4q.mjs} +2 -2
  16. package/fesm2022/{iss-ctrl-table.field-BcuL_fSr.mjs.map → iss-ctrl-table.field-CvqXIE4q.mjs.map} +1 -1
  17. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-B6M5dYnm.mjs → iss-ctrl-trigger-based-on-json-value-wyn6AXWA.mjs} +2 -2
  18. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-B6M5dYnm.mjs.map → iss-ctrl-trigger-based-on-json-value-wyn6AXWA.mjs.map} +1 -1
  19. package/fesm2022/{iss-ctrl-user-picker.field-BCd6g9jz.mjs → iss-ctrl-user-picker.field-BhjVNeqN.mjs} +2 -2
  20. package/fesm2022/{iss-ctrl-user-picker.field-BCd6g9jz.mjs.map → iss-ctrl-user-picker.field-BhjVNeqN.mjs.map} +1 -1
  21. package/fesm2022/iss-ctrl.mjs +1 -1
  22. package/package.json +1 -1
  23. package/types/iss-ctrl.d.ts +19 -7
  24. package/fesm2022/iss-ctrl-iss-ctrl-BHW3shB0.mjs.map +0 -1
@@ -123,6 +123,7 @@ declare class ControlBase implements ControlValueAccessor, Validator {
123
123
  setDisabledState(isDisabled: boolean): void;
124
124
  writeValue(value: string | FormData | Date | null): void;
125
125
  markAsTouched(): void;
126
+ validate(control: AbstractControl): ValidationErrors | null;
126
127
  /**
127
128
  * Whether the control currently holds no value.
128
129
  *
@@ -132,7 +133,6 @@ declare class ControlBase implements ControlValueAccessor, Validator {
132
133
  * Override it in a control whose value does not live on {@link ControlBase.ctrl}.
133
134
  */
134
135
  protected isEmpty(): boolean;
135
- validate(control: AbstractControl): ValidationErrors | null;
136
136
  protected onTouch: () => void;
137
137
  protected onPropagateValue: (_: any) => void;
138
138
  protected emitValue(value?: any): void;
@@ -210,9 +210,9 @@ declare class ChipsControl extends ControlBase {
210
210
  */
211
211
  readonly keywords: WritableSignal<string[]>;
212
212
  writeValue(value: string | null): void;
213
- protected isEmpty(): boolean;
214
213
  remove(keyword: string): void;
215
214
  add(event: MatChipInputEvent): void;
215
+ protected isEmpty(): boolean;
216
216
  static ɵfac: i0.ɵɵFactoryDeclaration<ChipsControl, never>;
217
217
  static ɵcmp: i0.ɵɵComponentDeclaration<ChipsControl, "iss-ctrl-chips", never, {}, {}, never, ["label"], true, never>;
218
218
  }
@@ -362,11 +362,11 @@ declare class DateRangePickerControl extends ControlBase implements OnInit, OnDe
362
362
  */
363
363
  isHijri(): boolean;
364
364
  ngOnInit(): void;
365
- protected isEmpty(): boolean;
366
365
  setDisabledState(isDisabled: boolean): void;
367
366
  clear(event: MouseEvent): void;
368
367
  writeValue(value: string | FormData | null): void;
369
368
  ngOnDestroy(): void;
369
+ protected isEmpty(): boolean;
370
370
  protected openPicker(picker: any): void;
371
371
  protected calendarDaysFilter: (d: Date | null) => boolean;
372
372
  static ɵfac: i0.ɵɵFactoryDeclaration<DateRangePickerControl, never>;
@@ -1176,7 +1176,8 @@ declare class FieldEvent {
1176
1176
  * | `visible()` | `boolean` | Whether the field is rendered at all. |
1177
1177
  * | `loading()` | `boolean` | Shows the field's own loading state. |
1178
1178
  * | `config` | `FieldConfig` | Per-type configuration — see {@link FieldConfig}. |
1179
- * | `validation` | `any` | Synchronous validation rules. |
1179
+ * | `validation` | `any` | Synchronous validation rules, exactly as the JSON declared them. |
1180
+ * | `validationFns` | `Record<string, Function>` | Validator factory behind each active rule, resolved by the outlet. |
1180
1181
  * | `asyncValidation` | `FieldAsyncValidation` | Remote validation rules. |
1181
1182
  * | `events` | `FieldEvent[]` | Cross-field reactions (show, hide, set value, …). |
1182
1183
  * | `children` | `IssField[]` | Nested fields, used by table and group fields. |
@@ -1200,6 +1201,7 @@ declare class IssField {
1200
1201
  wasVisible: WritableSignal<boolean>;
1201
1202
  events: FieldEvent[];
1202
1203
  validation: any;
1204
+ validationFns: Record<string, Function>;
1203
1205
  asyncValidation: FieldAsyncValidation;
1204
1206
  children: IssField[];
1205
1207
  apiResponse: BehaviorSubject<any>;
@@ -1965,6 +1967,16 @@ declare const COMPONENTS: DynamicImport<Type<any>>;
1965
1967
  declare const SERVICES: DynamicImport<Type<any>>;
1966
1968
 
1967
1969
  declare const VALIDATORS: DynamicImport<Function>;
1970
+ /**
1971
+ * Whether a rule in a field's `validation` is switched on.
1972
+ *
1973
+ * The rule's value is the argument its validator is built with, so it is also what says
1974
+ * whether the rule applies at all: `{ "required": false }` is an optional field, not a
1975
+ * required one, and a rule the API left out or sent as null is off the same way. Values
1976
+ * that are falsy but meaningful — `0`, `""` — are rules, so only the three off states are
1977
+ * rejected here.
1978
+ */
1979
+ declare function isActiveValidationRule(value: unknown): boolean;
1968
1980
 
1969
1981
  declare const HOST: InjectionToken<string>;
1970
1982
 
@@ -2203,9 +2215,9 @@ declare abstract class FileValidators {
2203
2215
  }
2204
2216
 
2205
2217
  declare abstract class TimeValidator {
2206
- static beforeDate(field: IssField): ValidatorFn;
2207
- static afterDate(field: IssField): ValidatorFn;
2218
+ static beforeDate(otherFieldName: string): ValidatorFn;
2219
+ static afterDate(otherFieldName: string): ValidatorFn;
2208
2220
  }
2209
2221
 
2210
- export { ATTACHMENT_DOWNLOAD_URL, ATTACHMENT_UPLOAD_RESPONSE_MAPPER, ATTACHMENT_UPLOAD_URL, ArabicNumberPipe, AttachmentViewer, COMPONENTS, COUNTRIES, CheckboxControl, CheckboxField, CheckboxViewer, ChipsControl, ChipsField, ChipsViewer, ControlBase, DATETIME_FORMAT, DATE_FORMAT_ADAPTER, DEFAULT_COUNTRY, DatePickerControl, DatePickerField, DatePickerTimeViewer, DatePickerViewer, DateRangePickerControl, DateRangePickerField, DateRangePickerViewer, DatetimePickerControl, DatetimePickerField, Droppable, Employee, FIELD_DATA, FieldBase, FieldDataInjector, FileHandler, FilePickerControl, FilePickerField, FileValidators, FormEngine, HIJRI_LOCALE, HIJRI_MONTH_NAMES, HOST, HintsComponent, InputControl, InputField, InputViewer, IssDateAdapter, IssValidators, Loader, MobileControl, MobileField, MobileViewer, Outlet, PLACEHOLDER_REGEX, PLATE_LETTERS, Phone, PlateControl, PlateField, PlateLetterPipe, PlateViewer, RadioControl, RadioField, RadioViewer, SERVICES, SelectControl, SelectField, SelectStatusPipe, SelectViewer, SlideToggleControl, SlideToggleField, SlideToggleViewer, TextareaControl, TextareaField, TextareaViewer, TimePickerControl, TimePickerField, TimePickerViewer, TimeValidator, ToggleButtonControl, ToggleButtonField, ToggleButtonViewer, TranslatePipe, UI_LANGUAGE, USER_SEARCH_API, VALIDATION_MESSAGES, VALIDATORS, VIEW_PROVIDER, ValidationMessageComponent, arrayFrom, createHijriDate, formatFileSize, formatHijriDate, getHijriDaysInMonth, getHijriParts, getPropertyByPath, parseHijriDate, provideIssDateAdapter, replacePlaceholders, startOfHijriMonth, toHijriDisplay };
2222
+ export { ATTACHMENT_DOWNLOAD_URL, ATTACHMENT_UPLOAD_RESPONSE_MAPPER, ATTACHMENT_UPLOAD_URL, ArabicNumberPipe, AttachmentViewer, COMPONENTS, COUNTRIES, CheckboxControl, CheckboxField, CheckboxViewer, ChipsControl, ChipsField, ChipsViewer, ControlBase, DATETIME_FORMAT, DATE_FORMAT_ADAPTER, DEFAULT_COUNTRY, DatePickerControl, DatePickerField, DatePickerTimeViewer, DatePickerViewer, DateRangePickerControl, DateRangePickerField, DateRangePickerViewer, DatetimePickerControl, DatetimePickerField, Droppable, Employee, FIELD_DATA, FieldBase, FieldDataInjector, FileHandler, FilePickerControl, FilePickerField, FileValidators, FormEngine, HIJRI_LOCALE, HIJRI_MONTH_NAMES, HOST, HintsComponent, InputControl, InputField, InputViewer, IssDateAdapter, IssValidators, Loader, MobileControl, MobileField, MobileViewer, Outlet, PLACEHOLDER_REGEX, PLATE_LETTERS, Phone, PlateControl, PlateField, PlateLetterPipe, PlateViewer, RadioControl, RadioField, RadioViewer, SERVICES, SelectControl, SelectField, SelectStatusPipe, SelectViewer, SlideToggleControl, SlideToggleField, SlideToggleViewer, TextareaControl, TextareaField, TextareaViewer, TimePickerControl, TimePickerField, TimePickerViewer, TimeValidator, ToggleButtonControl, ToggleButtonField, ToggleButtonViewer, TranslatePipe, UI_LANGUAGE, USER_SEARCH_API, VALIDATION_MESSAGES, VALIDATORS, VIEW_PROVIDER, ValidationMessageComponent, arrayFrom, createHijriDate, formatFileSize, formatHijriDate, getHijriDaysInMonth, getHijriParts, getPropertyByPath, isActiveValidationRule, parseHijriDate, provideIssDateAdapter, replacePlaceholders, startOfHijriMonth, toHijriDisplay };
2211
2223
  export type { ActionTriggerFn, ComponentOutlet, Country, DateRangeEmission, DynamicImport, EventArgument, EventConfigFn, EventStrategy, FieldChange, HijriParts, Hint, HintAlignment, I18n, ISO2, IssAttachment, IssFile, Mobile, Option, PlateLetter, ValidationMessage, ValidationMessageFn };