@dmlibs/dm-cmps 0.1.35 → 0.1.36

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@dmlibs/dm-cmps",
3
- "version": "0.1.35",
3
+ "version": "0.1.36",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -595,6 +595,26 @@ interface DmMatSelectConfig<T = any> {
595
595
  * @default null
596
596
  */
597
597
  selectTriggerTemplate?: InputSignal<TemplateRef<any> | null>;
598
+ /**
599
+ * Style to apply to each option.
600
+ * ```
601
+ * type { [key: string]: any } | ((option: T) => { [key: string]: any }) | null
602
+ * ```
603
+ * @default null
604
+ */
605
+ optionStyle?: InputSignal<{
606
+ [key: string]: any;
607
+ } | ((option: T | null) => {
608
+ [key: string]: any;
609
+ }) | null>;
610
+ /**
611
+ * Function to disable an option.
612
+ * ```
613
+ * type ((option: T) => boolean) | null
614
+ * ```
615
+ * @default null
616
+ */
617
+ optionDisabled?: InputSignal<((option: T | null) => boolean) | null>;
598
618
  }
599
619
 
600
620
  type DmMatSelectOutput<T> = T | T[] | string | string[] | number | number[] | null;
@@ -654,6 +674,14 @@ declare class DmMatSelect<T = any> implements DmMatSelectConfig<T>, OnDestroy {
654
674
  simpleArray: _angular_core.Signal<boolean>;
655
675
  optionTemplate: _angular_core.InputSignal<TemplateRef<any> | null>;
656
676
  selectTriggerTemplate: _angular_core.InputSignal<TemplateRef<any> | null>;
677
+ optionStyle: _angular_core.InputSignal<{
678
+ [key: string]: any;
679
+ } | ((option: T | null) => {
680
+ [key: string]: any;
681
+ }) | null>;
682
+ optionDisabled: _angular_core.InputSignal<((option: T | null) => boolean) | null>;
683
+ private optionDisabledCache;
684
+ private optionStyleCache;
657
685
  private selectedOptionsIdsSet;
658
686
  protected filterText: _angular_core.ModelSignal<string>;
659
687
  protected checkIfAllSelected: _angular_core.Signal<boolean>;
@@ -664,6 +692,10 @@ declare class DmMatSelect<T = any> implements DmMatSelectConfig<T>, OnDestroy {
664
692
  registerOnChange(fn: any): void;
665
693
  registerOnTouched(fn: any): void;
666
694
  setDisabledState(isDisabled: boolean): void;
695
+ protected resolveOptionDisabled(option: T | null): boolean;
696
+ protected resolveOptionStyle(option: T | null): {
697
+ [key: string]: any;
698
+ };
667
699
  private runEffects;
668
700
  protected applyFilter(event: KeyboardEvent): void;
669
701
  protected selectionChangeHandler(event: MatSelectChange<T | T[] | null>): void;
@@ -674,7 +706,7 @@ declare class DmMatSelect<T = any> implements DmMatSelectConfig<T>, OnDestroy {
674
706
  protected resetSearch(): void;
675
707
  protected onPanelOpened(): void;
676
708
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DmMatSelect<any>, never>;
677
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DmMatSelect<any>, "dm-mat-select", never, { "formFieldClass": { "alias": "formFieldClass"; "required": false; "isSignal": true; }; "wrapperClass": { "alias": "wrapperClass"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectAllEnabled": { "alias": "selectAllEnabled"; "required": false; "isSignal": true; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionValueKey": { "alias": "optionValueKey"; "required": false; "isSignal": true; }; "optionLabelKey": { "alias": "optionLabelKey"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "returnObject": { "alias": "returnObject"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyOption": { "alias": "emptyOption"; "required": false; "isSignal": true; }; "emptyOptionLabel": { "alias": "emptyOptionLabel"; "required": false; "isSignal": true; }; "emptyOptionValue": { "alias": "emptyOptionValue"; "required": false; "isSignal": true; }; "optionNameFormat": { "alias": "optionNameFormat"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "searchSectionBackgroundColor": { "alias": "searchSectionBackgroundColor"; "required": false; "isSignal": true; }; "sortBySelectedOnTop": { "alias": "sortBySelectedOnTop"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "noDataLabel": { "alias": "noDataLabel"; "required": false; "isSignal": true; }; "clearSearchAfterSelect": { "alias": "clearSearchAfterSelect"; "required": false; "isSignal": true; }; "clearSearchButtonTooltip": { "alias": "clearSearchButtonTooltip"; "required": false; "isSignal": true; }; "focusSearchInputOnPanelOpen": { "alias": "focusSearchInputOnPanelOpen"; "required": false; "isSignal": true; }; "hideErrorArea": { "alias": "hideErrorArea"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "propertiesToSkipInSearch": { "alias": "propertiesToSkipInSearch"; "required": false; "isSignal": true; }; "optionTemplate": { "alias": "optionTemplate"; "required": false; "isSignal": true; }; "selectTriggerTemplate": { "alias": "selectTriggerTemplate"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; "filterText": "filterTextChange"; }, never, ["[dm-mat-select-suffix]"], true, never>;
709
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DmMatSelect<any>, "dm-mat-select", never, { "formFieldClass": { "alias": "formFieldClass"; "required": false; "isSignal": true; }; "wrapperClass": { "alias": "wrapperClass"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "selectAllEnabled": { "alias": "selectAllEnabled"; "required": false; "isSignal": true; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionValueKey": { "alias": "optionValueKey"; "required": false; "isSignal": true; }; "optionLabelKey": { "alias": "optionLabelKey"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "returnObject": { "alias": "returnObject"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyOption": { "alias": "emptyOption"; "required": false; "isSignal": true; }; "emptyOptionLabel": { "alias": "emptyOptionLabel"; "required": false; "isSignal": true; }; "emptyOptionValue": { "alias": "emptyOptionValue"; "required": false; "isSignal": true; }; "optionNameFormat": { "alias": "optionNameFormat"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "searchSectionBackgroundColor": { "alias": "searchSectionBackgroundColor"; "required": false; "isSignal": true; }; "sortBySelectedOnTop": { "alias": "sortBySelectedOnTop"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "noDataLabel": { "alias": "noDataLabel"; "required": false; "isSignal": true; }; "clearSearchAfterSelect": { "alias": "clearSearchAfterSelect"; "required": false; "isSignal": true; }; "clearSearchButtonTooltip": { "alias": "clearSearchButtonTooltip"; "required": false; "isSignal": true; }; "focusSearchInputOnPanelOpen": { "alias": "focusSearchInputOnPanelOpen"; "required": false; "isSignal": true; }; "hideErrorArea": { "alias": "hideErrorArea"; "required": false; "isSignal": true; }; "filterPredicate": { "alias": "filterPredicate"; "required": false; "isSignal": true; }; "propertiesToSkipInSearch": { "alias": "propertiesToSkipInSearch"; "required": false; "isSignal": true; }; "optionTemplate": { "alias": "optionTemplate"; "required": false; "isSignal": true; }; "selectTriggerTemplate": { "alias": "selectTriggerTemplate"; "required": false; "isSignal": true; }; "optionStyle": { "alias": "optionStyle"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "filterText": { "alias": "filterText"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "selectionChange": "selectionChange"; "onSelectionChange": "onSelectionChange"; "filterText": "filterTextChange"; }, never, ["[dm-mat-select-suffix]"], true, never>;
678
710
  }
679
711
 
680
712
  interface DmCmpsColor {