diff --git a/packages/angular/src/components.ts b/packages/angular/src/components.ts index 2ac53315c9b..b80e3c0e082 100644 --- a/packages/angular/src/components.ts +++ b/packages/angular/src/components.ts @@ -649,14 +649,14 @@ export declare interface IxEventListItem extends Components.IxEventListItem { @ProxyCmp({ - inputs: ['icon', 'placeholder', 'value'] + inputs: ['fullWidth', 'icon', 'placeholder', 'value'] }) @Component({ selector: 'ix-expanding-search', changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['icon', 'placeholder', 'value'], + inputs: ['fullWidth', 'icon', 'placeholder', 'value'], }) export class IxExpandingSearch { protected el: HTMLElement; diff --git a/packages/core/component-doc.json b/packages/core/component-doc.json index 1f34816bcd8..72d1094c950 100644 --- a/packages/core/component-doc.json +++ b/packages/core/component-doc.json @@ -3429,6 +3429,28 @@ ] }, "props": [ + { + "name": "fullWidth", + "type": "boolean", + "mutable": false, + "attr": "full-width", + "reflectToAttr": false, + "docs": "If true the search field will fill all available horizontal space of it's parent container when expanded.", + "docsTags": [ + { + "name": "since", + "text": "1.6.0" + } + ], + "default": "false", + "values": [ + { + "type": "boolean" + } + ], + "optional": false, + "required": false + }, { "name": "icon", "type": "string", diff --git a/packages/core/src/components.d.ts b/packages/core/src/components.d.ts index 0dc2b03ef3e..2f8bdd3774f 100644 --- a/packages/core/src/components.d.ts +++ b/packages/core/src/components.d.ts @@ -669,6 +669,11 @@ export namespace Components { "selected": boolean; } interface IxExpandingSearch { + /** + * If true the search field will fill all available horizontal space of it's parent container when expanded. + * @since 1.6.0 + */ + "fullWidth": boolean; /** * Search icon */ @@ -3189,6 +3194,11 @@ declare namespace LocalJSX { "selected"?: boolean; } interface IxExpandingSearch { + /** + * If true the search field will fill all available horizontal space of it's parent container when expanded. + * @since 1.6.0 + */ + "fullWidth"?: boolean; /** * Search icon */ diff --git a/packages/core/src/components/expanding-search/expanding-search.scss b/packages/core/src/components/expanding-search/expanding-search.scss index b97c5c86b2d..89ac5bedd6a 100644 --- a/packages/core/src/components/expanding-search/expanding-search.scss +++ b/packages/core/src/components/expanding-search/expanding-search.scss @@ -19,9 +19,14 @@ $container-width: 11.5625rem; height: $x-large-space; align-items: center; justify-content: space-between; + position: relative; &.right-position { width: $container-width !important; + + &.fullWidth { + width: 100% !important; + } } .input-container { @@ -34,10 +39,15 @@ $container-width: 11.5625rem; input { box-shadow: var(--theme-input--box-shadow); + cursor: auto !important; } .expanded { width: $container-width; + + &.fullWidth { + width: 100%; + } } .collapsed { diff --git a/packages/core/src/components/expanding-search/expanding-search.tsx b/packages/core/src/components/expanding-search/expanding-search.tsx index 2ba5238e1ae..3a813d72974 100644 --- a/packages/core/src/components/expanding-search/expanding-search.tsx +++ b/packages/core/src/components/expanding-search/expanding-search.tsx @@ -38,6 +38,12 @@ export class ExpandingSearch { */ @Prop({ mutable: true }) value = ''; + /** + * If true the search field will fill all available horizontal space of it's parent container when expanded. + * @since 1.6.0 + */ + @Prop() fullWidth = false; + @State() isFieldChanged = false; @State() expanded = false; @@ -98,6 +104,7 @@ export class ExpandingSearch { class={{ expanded: this.expanded, 'right-position': this.expanded, + fullWidth: this.fullWidth, }} >