diff --git a/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.component.ts b/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.component.ts index 380716bc8..56609270e 100644 --- a/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.component.ts +++ b/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.component.ts @@ -20,22 +20,7 @@ import { coerceNumberProperty, } from "@angular/cdk/coercion"; import { DropdownService } from "./services/dropdown.service"; - -type Space = - | "xxsmall" - | "xsmall" - | "small" - | "medium" - | "large" - | "xlarge" - | "xxlarge"; - -type Margin = { - top?: Space; - bottom?: Space; - left?: Space; - right?: Space; -}; +import { DropdownProperties, Space, Spacing } from "./dxc-dropdown.types"; @Component({ selector: "dxc-dropdown", @@ -79,11 +64,11 @@ export class DxcDropdownComponent implements OnChanges { /** * Size of the margin to be applied to the component - * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'). - * You can pass an object with 'top', 'bottom', 'left' and 'right' properties + * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'). + * You can pass an object with 'top', 'bottom', 'left' and 'right' properties * in order to specify different margin sizes. */ - @Input() margin: Space | Margin; + @Input() margin: Space | Spacing; /** * Size of the component. @@ -151,9 +136,8 @@ export class DxcDropdownComponent implements OnChanges { menuOptions: string; triggerStyles: string; - defaultInputs = new BehaviorSubject({ + defaultInputs = new BehaviorSubject({ optionsIconPosition: "before", - iconSrc: null, iconPosition: "before", label: null, name: null, diff --git a/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.types.ts b/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.types.ts new file mode 100644 index 000000000..8c3421fb0 --- /dev/null +++ b/projects/dxc-ngx-cdk/src/lib/dxc-dropdown/dxc-dropdown.types.ts @@ -0,0 +1,28 @@ +export interface DropdownProperties { + margin?: Space | Spacing; + optionsIconPosition?: "before" | "after"; + iconPosition?: "before" | "after"; + label?: string; + name?: string; + caretHidden?: boolean; + size?: "small" | "medium" | "large" | "fillParent" | "fitContent"; + tabIndexValue?: number; + expandOnHover?: boolean; + disabled?: boolean; +} + +export type Space = + | "xxsmall" + | "xsmall" + | "small" + | "medium" + | "large" + | "xlarge" + | "xxlarge"; + +export type Spacing = { + top?: Space; + bottom?: Space; + left?: Space; + right?: Space; +};