{"version":3,"file":"eui-components-eui-input-group.mjs","sources":["../../eui-input-group/eui-input-group-addon-item.component.ts","../../eui-input-group/eui-input-group-addon.component.ts","../../eui-input-group/eui-input-group.component.ts","../../eui-input-group/index.ts","../../eui-input-group/eui-components-eui-input-group.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that represents an individual item within an input group add-on.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroupAddOn>\n *   <div euiInputGroupAddOnItem>https://</div>\n *   <input euiInputText placeholder=\"example.com\" />\n * </div>\n * ```\n *\n * ### Accessibility\n * - Decorative items should have `aria-hidden=\"true\"`\n * - Meaningful items should be properly labeled for screen readers\n *\n * ### Notes\n * - Typically contains text, icons, or buttons\n * - Must be used within `euiInputGroupAddOn` container\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroupAddOnItem], eui-input-group-addon-item',\n    styleUrl: './eui-input-group-addon-item.scss',\n    template: '<ng-content/>',\n})\nexport class EuiInputGroupAddOnItemComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group-addon-item'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon-item';\n    /**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-input-group-addon-item';\n    }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n/**\n * @description\n * A component that serves as a container for input group add-on items.\n * Can be used either as an attribute selector on a div or as a custom element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroupAddOn>\n *   <div euiInputGroupAddOnItem>€</div>\n *   <input euiInputText type=\"number\" />\n * </div>\n * ```\n *\n * ### Accessibility\n * - Add-on items should have appropriate ARIA labels when they convey meaning\n * - Ensure add-on content is announced to screen readers if it provides context\n *\n * ### Notes\n * - Used to group prefix/suffix elements with input controls\n * - Provides consistent styling for input decorations\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroupAddOn], eui-input-group-addon',\n    styleUrl: './eui-input-group-addon.scss',\n    template: '<ng-content/>',\n})\nexport class EuiInputGroupAddOnComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group-addon'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group-addon';/**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return 'eui-input-group-addon';\n    }\n}\n","import { Component, HostBinding, inject, Input } from '@angular/core';\nimport { BaseStatesDirective } from '@eui/components/shared';\n\n/**\n * @description\n * Container component used to group input-related elements such as labels, inputs, and validation messages.\n * `euiInputGroup` provides a consistent layout and styling for form controls and is required to ensure proper visual and functional integration of EUI input components.\n * This component can only be used as an attribute selector on a `div` element.\n *\n * @usageNotes\n * ### Basic Usage\n * ```html\n * <div euiInputGroup>\n *   <label euiLabel for=\"email\">Email</label>\n *   <input euiInputText id=\"email\" type=\"email\" />\n * </div>\n * ```\n *\n * ### With Validation Message\n * ```html\n * <div euiInputGroup>\n *   <label euiLabel for=\"password\">Password</label>\n *   <input euiInputText id=\"password\" type=\"password\" [isInvalid]=\"hasError\" />\n *   <span euiLabel euiDanger *ngIf=\"hasError\">Password is required</span>\n * </div>\n * ```\n *\n * ### Accessibility\n * - Groups related form elements for better screen reader navigation\n * - Maintains proper label-input associations\n * - Ensures validation messages are announced to assistive technologies\n *\n * ### Notes\n * - Must be used as attribute on `div` element only\n * - Provides consistent spacing and layout for form controls\n * - Supports size variants through `euiSizeS` input\n */\n@Component({\n    // eslint-disable-next-line @angular-eslint/component-selector\n    selector: 'div[euiInputGroup]',\n    styleUrl: './eui-input-group.scss',\n    template: '<ng-content/>',\n    hostDirectives: [\n        {\n            directive: BaseStatesDirective,\n            inputs: [\n                'euiSizeS',\n                'euiSizeVariant',\n            ],\n        },\n    ],    \n})\nexport class EuiInputGroupComponent {\n    /**\n     * @description\n     * Input property for setting the data-e2e attribute value.\n     * Used for end-to-end testing purposes.\n     *\n     * @default 'eui-input-group'\n     */\n    @HostBinding('attr.data-e2e') @Input() e2eAttr = 'eui-input-group';\n    /**\n     * @description\n     * Getter that returns the CSS class for the component.\n     * Bound to the host element's class attribute.\n     *\n     * @returns {string} The CSS class name\n     */\n    @HostBinding('class')\n    public get cssClasses(): string {\n        return [\n            this.baseStatesDirective.getCssClasses('eui-input-group'),\n        ].join(' ').trim();\n    }\n\n    /**\n     * @description\n     * Protected property that defines the type of the input group.\n     * Bound to the host element's type attribute.\n     *\n     * @protected\n     * @default 'inputGroup'\n     */\n    @HostBinding('attr.type') protected type = 'inputGroup';\n\n    public baseStatesDirective: BaseStatesDirective = inject(BaseStatesDirective);\n}\n","import { EuiInputGroupAddOnItemComponent } from './eui-input-group-addon-item.component';\nimport { EuiInputGroupAddOnComponent } from './eui-input-group-addon.component';\nimport { EuiInputGroupComponent } from './eui-input-group.component';\n\nexport * from './eui-input-group.component';\nexport * from './eui-input-group-addon.component';\nexport * from './eui-input-group-addon-item.component';\n\nexport const EUI_INPUT_GROUP = [\n        EuiInputGroupComponent,\n        EuiInputGroupAddOnComponent,\n        EuiInputGroupAddOnItemComponent,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}