@eui/components 19.1.2-snapshot-1743171142266 → 19.1.2-snapshot-1743492977329
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/docs/dependencies.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/eui-icon-toggle/eui-icon-toggle.component.d.ts.map +1 -1
- package/eui-table/pipes/eui-table-highlight-filter.pipe.d.ts.map +1 -1
- package/eui-table-v2/pipes/eui-table-v2-highlight.pipe.d.ts.map +1 -1
- package/eui-user-profile/user-profile.component.d.ts.map +1 -1
- package/fesm2022/eui-components-eui-icon-toggle.mjs +3 -0
- package/fesm2022/eui-components-eui-icon-toggle.mjs.map +1 -1
- package/fesm2022/eui-components-eui-input-radio.mjs +2 -2
- package/fesm2022/eui-components-eui-input-radio.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table-v2.mjs +22 -11
- package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
- package/fesm2022/eui-components-eui-table.mjs +22 -11
- package/fesm2022/eui-components-eui-table.mjs.map +1 -1
- package/fesm2022/eui-components-eui-user-profile.mjs +2 -1
- package/fesm2022/eui-components-eui-user-profile.mjs.map +1 -1
- package/package.json +7 -7
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-icon-toggle.component.d.ts","sourceRoot":"","sources":["../../eui-icon-toggle/eui-icon-toggle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAGhB,YAAY,EAIZ,SAAS,EAET,aAAa,EAEhB,MAAM,eAAe,CAAC;;AAKvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAOa,sBAAuB,YAAW,gBAAgB,EAAE,SAAS;IACtE,IACW,UAAU,IAAI,MAAM,CAK9B;IACyB,IAAI,SAAY;IAC1C;;;OAGG;IACsC,iBAAiB,SAAO;IAEjE;;;;OAIG;IAEqC,SAAS,UAAS;IAE1D;;;;OAIG;IAEqC,UAAU,EAAE,OAAO,CAAC;IAE5D;;;OAGG;IAEM,OAAO,SAAqB;IAErC;;;OAGG;IAEM,EAAE,SAAmC;IAE9C;;;OAGG;IAEM,QAAQ,SAAO;IAExB;;;OAGG;IAEM,SAAS,SAAiB;IAEnC;;;OAGG;IACM,WAAW,SAAO;IAE3B;;OAEG;IACM,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACM,cAAc,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACM,kBAAkB,SAAY;IAEvC;;;OAGG;IACM,mBAAmB,SAAa;IAEzC;;;OAGG;IAEO,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAsB;IAE7D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;
|
1
|
+
{"version":3,"file":"eui-icon-toggle.component.d.ts","sourceRoot":"","sources":["../../eui-icon-toggle/eui-icon-toggle.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,gBAAgB,EAGhB,YAAY,EAIZ,SAAS,EAET,aAAa,EAEhB,MAAM,eAAe,CAAC;;AAKvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAOa,sBAAuB,YAAW,gBAAgB,EAAE,SAAS;IACtE,IACW,UAAU,IAAI,MAAM,CAK9B;IACyB,IAAI,SAAY;IAC1C;;;OAGG;IACsC,iBAAiB,SAAO;IAEjE;;;;OAIG;IAEqC,SAAS,UAAS;IAE1D;;;;OAIG;IAEqC,UAAU,EAAE,OAAO,CAAC;IAE5D;;;OAGG;IAEM,OAAO,SAAqB;IAErC;;;OAGG;IAEM,EAAE,SAAmC;IAE9C;;;OAGG;IAEM,QAAQ,SAAO;IAExB;;;OAGG;IAEM,SAAS,SAAiB;IAEnC;;;OAGG;IACM,WAAW,SAAO;IAE3B;;OAEG;IACM,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACM,cAAc,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACM,kBAAkB,SAAY;IAEvC;;;OAGG;IACM,mBAAmB,SAAa;IAEzC;;;OAGG;IAEO,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAsB;IAE7D,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAUzC;;;;OAIG;IACH,kBAAkB,IAAI,IAAI;IAO1B;;;OAGG;IAEH,SAAS,CAAC,OAAO,IAAI,IAAI;IAIzB;;;;;OAKG;IAEH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAW/C,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,aAAa;yCApKZ,sBAAsB;2CAAtB,sBAAsB;wCA8K+ptC,OAAQ;yCAAR,OAAQ;CADzstC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-table-highlight-filter.pipe.d.ts","sourceRoot":"","sources":["../../../eui-table/pipes/eui-table-highlight-filter.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;;AAEpD;;;;;;;;;;GAUG;AACH,qBAIa,2BAA4B,YAAW,aAAa;IAC7D;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,SAA2B,GAAG,MAAM;yCAThF,2BAA2B;uCAA3B,2BAA2B;
|
1
|
+
{"version":3,"file":"eui-table-highlight-filter.pipe.d.ts","sourceRoot":"","sources":["../../../eui-table/pipes/eui-table-highlight-filter.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;;AAEpD;;;;;;;;;;GAUG;AACH,qBAIa,2BAA4B,YAAW,aAAa;IAC7D;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,SAA2B,GAAG,MAAM;yCAThF,2BAA2B;uCAA3B,2BAA2B;CAqCvC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-table-v2-highlight.pipe.d.ts","sourceRoot":"","sources":["../../../eui-table-v2/pipes/eui-table-v2-highlight.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;;AAEpD;;;;;;;;;;GAUG;AACH,qBAIa,uBAAwB,YAAW,aAAa;IACzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,SAA8B,GAAG,MAAM;yCATnF,uBAAuB;uCAAvB,uBAAuB;
|
1
|
+
{"version":3,"file":"eui-table-v2-highlight.pipe.d.ts","sourceRoot":"","sources":["../../../eui-table-v2/pipes/eui-table-v2-highlight.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,eAAe,CAAC;;AAEpD;;;;;;;;;;GAUG;AACH,qBAIa,uBAAwB,YAAW,aAAa;IACzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,SAA8B,GAAG,MAAM;yCATnF,uBAAuB;uCAAvB,uBAAuB;CAsCnC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"user-profile.component.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EAEN,SAAS,EAET,SAAS,EACT,aAAa,EAEb,UAAU,EAEV,MAAM,EAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;;;AAE9F;;;;;;;GAOG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC1C,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE;QACX,mDAAmD;QACnD,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ;AAED,qBAiBa,uBAAwB,YAAW,MAAM,EAAE,SAAS,EAAE,aAAa;IA6CxE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACZ,mBAAmB,EAAE,mBAAmB;IA9CnD,IACW,UAAU,IAAI,MAAM,CAM9B;IAED,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtB,YAAY,SAAa;IACzB,gBAAgB,SAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,SAAa;IAEK,OAAO,UAAS;IAChB,eAAe,UAAQ;IACvB,oBAAoB,UAAS;IAC7B,gBAAgB,UAAS;IACzB,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,mBAAmB,UAAS;IAC5B,eAAe,UAAQ;IAEvB,kBAAkB,UAAS;IAC3B,gBAAgB,UAAS;IACzB,eAAe,UAAS;IAChE;;OAEG;IACM,gBAAgB,UAAS;IAEX,QAAQ,EAAE,oBAAoB,CAAC;IAEtD,cAAc,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAEvD,cAAc,UAAS;IAEvB,OAAO,CAAC,mBAAmB,CAAgC;gBAG/C,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EACtC,mBAAmB,EAAE,mBAAmB;IAInD,QAAQ,IAAI,IAAI;IAWhB,eAAe,IAAI,IAAI;
|
1
|
+
{"version":3,"file":"user-profile.component.d.ts","sourceRoot":"","sources":["../../eui-user-profile/user-profile.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAKH,MAAM,EAEN,SAAS,EAET,SAAS,EACT,aAAa,EAEb,UAAU,EAEV,MAAM,EAET,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;;;AAE9F;;;;;;;GAOG;AACH,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC1C,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE;QACX,mDAAmD;QACnD,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;CACJ;AAED,qBAiBa,uBAAwB,YAAW,MAAM,EAAE,SAAS,EAAE,aAAa;IA6CxE,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;IACZ,mBAAmB,EAAE,mBAAmB;IA9CnD,IACW,UAAU,IAAI,MAAM,CAM9B;IAED,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEtB,YAAY,SAAa;IACzB,gBAAgB,SAAmB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,SAAa;IAEK,OAAO,UAAS;IAChB,eAAe,UAAQ;IACvB,oBAAoB,UAAS;IAC7B,gBAAgB,UAAS;IACzB,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,mBAAmB,UAAS;IAC5B,eAAe,UAAQ;IAEvB,kBAAkB,UAAS;IAC3B,gBAAgB,UAAS;IACzB,eAAe,UAAS;IAChE;;OAEG;IACM,gBAAgB,UAAS;IAEX,QAAQ,EAAE,oBAAoB,CAAC;IAEtD,cAAc,EAAE,SAAS,CAAC,2BAA2B,CAAC,CAAC;IAEvD,cAAc,UAAS;IAEvB,OAAO,CAAC,mBAAmB,CAAgC;gBAG/C,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,WAAW,CAAC,WAAW,CAAC,EACtC,mBAAmB,EAAE,mBAAmB;IAInD,QAAQ,IAAI,IAAI;IAWhB,eAAe,IAAI,IAAI;IA0BvB,WAAW,IAAI,IAAI;IAKnB,aAAa,IAAI,IAAI;IAKrB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;yCAlG9B,uBAAuB;2CAAvB,uBAAuB;sCAsGyvuC,OAAQ;8CAAR,OAAQ;mDAAR,OAAQ;+CAAR,OAAQ;wCAAR,OAAQ;wCAAR,OAAQ;kDAAR,OAAQ;8CAAR,OAAQ;iDAAR,OAAQ;+CAAR,OAAQ;8CAAR,OAAQ;CADpyuC"}
|
@@ -96,6 +96,9 @@ class EuiIconToggleComponent {
|
|
96
96
|
if (changes?.isReadOnly && changes?.isReadOnly.currentValue === true) {
|
97
97
|
this.tabindex = '-1';
|
98
98
|
}
|
99
|
+
if (changes.isChecked) {
|
100
|
+
this._setIconClass();
|
101
|
+
}
|
99
102
|
}
|
100
103
|
/**
|
101
104
|
* Initializes the component after content has been set.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-icon-toggle.mjs","sources":["../../eui-icon-toggle/eui-icon-toggle.component.ts","../../eui-icon-toggle/eui-icon-toggle.component.html","../../eui-icon-toggle/eui-icon-toggle.module.ts","../../eui-icon-toggle/eui-components-eui-icon-toggle.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n/**\n * Component that provides a toggleable icon button with accessibility support.\n * Functions as a switch control that can be toggled between on/off states,\n * displaying different icons based on the current state.\n *\n * This component handles keyboard navigation, focus management, and proper\n * ARIA attributes for accessibility compliance.\n *\n * @implements {AfterContentInit} Initializes icon state after content is initialized\n * @implements {OnChanges} Responds to input property changes\n *\n * @example\n * <eui-icon-toggle\n * [isChecked]=\"true\"\n * iconSvgNameOn=\"check\"\n * iconSvgNameOff=\"close\"\n * (toggle)=\"handleToggle($event)\">\n * </eui-icon-toggle>\n */\n@Component({\n selector: 'eui-icon-toggle',\n templateUrl: './eui-icon-toggle.component.html',\n styleUrls: ['./eui-icon-toggle.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [EuiIconModule],\n})\nexport class EuiIconToggleComponent implements AfterContentInit, OnChanges {\n @HostBinding('class')\n public get cssClasses(): string {\n return ['eui-icon-toggle',\n this.isChecked ? 'eui-icon-toggle--default-on' : 'eui-icon-toggle--default-off',\n this.isReadOnly ? 'eui-icon-toggle--readonly': '',\n ].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'switch';\n /**\n * Keyboard shortcut key.\n * @default 'i'\n */\n @HostBinding('attr.accesskey') @Input() keyboardAccessKey = 'i';\n\n /**\n * Whether the toggle is in the checked/on state.\n * Bound to aria-checked attribute for accessibility.\n * @default false\n */\n @HostBinding('attr.aria-checked')\n @Input({ transform: booleanAttribute }) isChecked = false;\n\n /**\n * Whether the toggle is read-only (cannot be interacted with).\n * When true, tabindex is set to -1 and clicking will not change state.\n * @default undefined\n */\n @HostBinding('attr.readonly')\n @Input({ transform: booleanAttribute }) isReadOnly: boolean;\n\n /**\n * Data attribute for e2e testing.\n * @default 'eui-icon-toggle'\n */\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-icon-toggle';\n\n /**\n * Unique identifier for the component.\n * @default 'eui-icon-toggle-{uniqueId}'\n */\n @HostBinding('attr.id')\n @Input() id = `eui-icon-toggle-${uniqueId()}`;\n\n /**\n * Tab order value for keyboard navigation.\n * @default '0'\n */\n @HostBinding('attr.tabindex')\n @Input() tabindex = '0';\n\n /**\n * Accessible label for screen readers.\n * @default 'Toggle icon'\n */\n @HostBinding('attr.aria-label')\n @Input() ariaLabel = 'Toggle icon';\n\n /**\n * Size of the icon (s, m, l, xl).\n * @default 'm'\n */\n @Input() iconSvgSize = 'm';\n\n /**\n * Icon to display when toggle is in the ON state.\n */\n @Input() iconSvgNameOn: string;\n\n /**\n * Icon to display when toggle is in the OFF state.\n */\n @Input() iconSvgNameOff: string;\n\n /**\n * Color of the icon when toggle is in the ON state.\n * @default 'accent'\n */\n @Input() iconSvgFillColorOn = 'accent';\n\n /**\n * Color of the icon when toggle is in the OFF state.\n * @default 'neutral'\n */\n @Input() iconSvgFillColorOff = 'neutral';\n\n /**\n * Event emitted when the toggle state changes.\n * Emits the new state (true = checked, false = unchecked).\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n protected iconSvgName: string;\n protected iconSvgFillColor: string;\n /**\n * @deprecated Is not used anymore\n */\n protected iconSvgSet: string;\n\n /**\n * Handles changes to input properties.\n * Updates the tabindex when the component becomes read-only.\n *\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.isReadOnly && changes?.isReadOnly.currentValue === true) {\n this.tabindex = '-1';\n }\n }\n\n /**\n * Initializes the component after content has been set.\n * Sets the appropriate icon based on the current toggle state.\n * Sets the aria-label if none was provided.\n */\n ngAfterContentInit(): void {\n this._setIconClass();\n if (!this.ariaLabel || this.ariaLabel === '') {\n this.ariaLabel = this.iconSvgName ? this.iconSvgName : '';\n }\n }\n\n /**\n * Host listener that handles click events on the component.\n * Triggers the toggle action if the component is not read-only.\n */\n @HostListener('click')\n protected onClick(): void {\n this._toggle();\n }\n\n /**\n * Host listener that handles keyboard events.\n * Triggers the toggle action on Enter or Space key press.\n *\n * @param {KeyboardEvent} event - The keyboard event\n */\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n event.stopPropagation();\n this._toggle();\n break;\n }\n }\n\n private _toggle(): void {\n if (!this.isReadOnly) {\n this.isChecked = !this.isChecked;\n this._setIconClass();\n this.toggle.emit(this.isChecked);\n }\n }\n\n private _setIconClass(): void {\n if (this.isChecked) {\n this.iconSvgName = this.iconSvgNameOn;\n this.iconSvgFillColor = this.iconSvgFillColorOn;\n } else {\n this.iconSvgName = this.iconSvgNameOff;\n this.iconSvgFillColor = this.iconSvgFillColorOff;\n }\n }\n}\n","<eui-icon-svg [icon]=\"iconSvgName\" [fillColor]=\"iconSvgFillColor\" [size]=\"iconSvgSize\"></eui-icon-svg>\n","import { EuiIconToggleComponent } from './eui-icon-toggle.component';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n/**\n * Angular module that provides the EuiIconToggleComponent.\n *\n * @deprecated Use EuiIconToggleComponent directly instead as it is now a standalone component.\n *\n * @example\n * // Legacy usage (deprecated)\n * import { EuiIconToggleModule } from '@eui/components/eui-icon-toggle';\n *\n * @NgModule({\n * imports: [\n * EuiIconToggleModule\n * ]\n * })\n * export class YourFeatureModule {}\n */\n@NgModule({\n imports: [CommonModule, EuiIconToggleComponent],\n exports: [EuiIconToggleComponent],\n})\nexport class EuiIconToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-icon-toggle.mjs","sources":["../../eui-icon-toggle/eui-icon-toggle.component.ts","../../eui-icon-toggle/eui-icon-toggle.component.html","../../eui-icon-toggle/eui-icon-toggle.module.ts","../../eui-icon-toggle/eui-components-eui-icon-toggle.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n booleanAttribute,\n} from '@angular/core';\n\nimport { uniqueId } from '@eui/core';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n/**\n * Component that provides a toggleable icon button with accessibility support.\n * Functions as a switch control that can be toggled between on/off states,\n * displaying different icons based on the current state.\n *\n * This component handles keyboard navigation, focus management, and proper\n * ARIA attributes for accessibility compliance.\n *\n * @implements {AfterContentInit} Initializes icon state after content is initialized\n * @implements {OnChanges} Responds to input property changes\n *\n * @example\n * <eui-icon-toggle\n * [isChecked]=\"true\"\n * iconSvgNameOn=\"check\"\n * iconSvgNameOff=\"close\"\n * (toggle)=\"handleToggle($event)\">\n * </eui-icon-toggle>\n */\n@Component({\n selector: 'eui-icon-toggle',\n templateUrl: './eui-icon-toggle.component.html',\n styleUrls: ['./eui-icon-toggle.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [EuiIconModule],\n})\nexport class EuiIconToggleComponent implements AfterContentInit, OnChanges {\n @HostBinding('class')\n public get cssClasses(): string {\n return ['eui-icon-toggle',\n this.isChecked ? 'eui-icon-toggle--default-on' : 'eui-icon-toggle--default-off',\n this.isReadOnly ? 'eui-icon-toggle--readonly': '',\n ].join(' ').trim();\n }\n @HostBinding('attr.role') role = 'switch';\n /**\n * Keyboard shortcut key.\n * @default 'i'\n */\n @HostBinding('attr.accesskey') @Input() keyboardAccessKey = 'i';\n\n /**\n * Whether the toggle is in the checked/on state.\n * Bound to aria-checked attribute for accessibility.\n * @default false\n */\n @HostBinding('attr.aria-checked')\n @Input({ transform: booleanAttribute }) isChecked = false;\n\n /**\n * Whether the toggle is read-only (cannot be interacted with).\n * When true, tabindex is set to -1 and clicking will not change state.\n * @default undefined\n */\n @HostBinding('attr.readonly')\n @Input({ transform: booleanAttribute }) isReadOnly: boolean;\n\n /**\n * Data attribute for e2e testing.\n * @default 'eui-icon-toggle'\n */\n @HostBinding('attr.data-e2e')\n @Input() e2eAttr = 'eui-icon-toggle';\n\n /**\n * Unique identifier for the component.\n * @default 'eui-icon-toggle-{uniqueId}'\n */\n @HostBinding('attr.id')\n @Input() id = `eui-icon-toggle-${uniqueId()}`;\n\n /**\n * Tab order value for keyboard navigation.\n * @default '0'\n */\n @HostBinding('attr.tabindex')\n @Input() tabindex = '0';\n\n /**\n * Accessible label for screen readers.\n * @default 'Toggle icon'\n */\n @HostBinding('attr.aria-label')\n @Input() ariaLabel = 'Toggle icon';\n\n /**\n * Size of the icon (s, m, l, xl).\n * @default 'm'\n */\n @Input() iconSvgSize = 'm';\n\n /**\n * Icon to display when toggle is in the ON state.\n */\n @Input() iconSvgNameOn: string;\n\n /**\n * Icon to display when toggle is in the OFF state.\n */\n @Input() iconSvgNameOff: string;\n\n /**\n * Color of the icon when toggle is in the ON state.\n * @default 'accent'\n */\n @Input() iconSvgFillColorOn = 'accent';\n\n /**\n * Color of the icon when toggle is in the OFF state.\n * @default 'neutral'\n */\n @Input() iconSvgFillColorOff = 'neutral';\n\n /**\n * Event emitted when the toggle state changes.\n * Emits the new state (true = checked, false = unchecked).\n */\n // eslint-disable-next-line\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n protected iconSvgName: string;\n protected iconSvgFillColor: string;\n /**\n * @deprecated Is not used anymore\n */\n protected iconSvgSet: string;\n\n /**\n * Handles changes to input properties.\n * Updates the tabindex when the component becomes read-only.\n *\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.isReadOnly && changes?.isReadOnly.currentValue === true) {\n this.tabindex = '-1';\n }\n\n if(changes.isChecked) {\n this._setIconClass();\n }\n }\n\n /**\n * Initializes the component after content has been set.\n * Sets the appropriate icon based on the current toggle state.\n * Sets the aria-label if none was provided.\n */\n ngAfterContentInit(): void {\n this._setIconClass();\n if (!this.ariaLabel || this.ariaLabel === '') {\n this.ariaLabel = this.iconSvgName ? this.iconSvgName : '';\n }\n }\n\n /**\n * Host listener that handles click events on the component.\n * Triggers the toggle action if the component is not read-only.\n */\n @HostListener('click')\n protected onClick(): void {\n this._toggle();\n }\n\n /**\n * Host listener that handles keyboard events.\n * Triggers the toggle action on Enter or Space key press.\n *\n * @param {KeyboardEvent} event - The keyboard event\n */\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n event.stopPropagation();\n this._toggle();\n break;\n }\n }\n\n private _toggle(): void {\n if (!this.isReadOnly) {\n this.isChecked = !this.isChecked;\n this._setIconClass();\n this.toggle.emit(this.isChecked);\n }\n }\n\n private _setIconClass(): void {\n if (this.isChecked) {\n this.iconSvgName = this.iconSvgNameOn;\n this.iconSvgFillColor = this.iconSvgFillColorOn;\n } else {\n this.iconSvgName = this.iconSvgNameOff;\n this.iconSvgFillColor = this.iconSvgFillColorOff;\n }\n }\n}\n","<eui-icon-svg [icon]=\"iconSvgName\" [fillColor]=\"iconSvgFillColor\" [size]=\"iconSvgSize\"></eui-icon-svg>\n","import { EuiIconToggleComponent } from './eui-icon-toggle.component';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n/**\n * Angular module that provides the EuiIconToggleComponent.\n *\n * @deprecated Use EuiIconToggleComponent directly instead as it is now a standalone component.\n *\n * @example\n * // Legacy usage (deprecated)\n * import { EuiIconToggleModule } from '@eui/components/eui-icon-toggle';\n *\n * @NgModule({\n * imports: [\n * EuiIconToggleModule\n * ]\n * })\n * export class YourFeatureModule {}\n */\n@NgModule({\n imports: [CommonModule, EuiIconToggleComponent],\n exports: [EuiIconToggleComponent],\n})\nexport class EuiIconToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -229,11 +229,11 @@ class EuiInputRadioComponent extends InputDirective {
|
|
229
229
|
this.euiDanger = this._isInvalid;
|
230
230
|
}
|
231
231
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiInputRadioComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: EuiInputRadioComponent, isStandalone: true, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".eui-19 :host.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:var(--eui-br-max);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-s-xl);justify-content:center;margin-right:var(--eui-s-s);position:relative;vertical-align:middle;width:var(--eui-s-xl);accent-color:var(--eui-c-white);background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep .eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-s-m);white-space:inherit}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-c-white)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-c-neutral-lightest);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+::ng-deep label{pointer-events:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep .eui-label{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep .eui-label{align-items:center;display:inline-flex;
|
232
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: EuiInputRadioComponent, isStandalone: true, selector: "input[euiInputRadio]", inputs: { isInvalid: "isInvalid", defaultChecked: ["checked", "defaultChecked"], value: "value" }, host: { listeners: { "change": "onCheckedChanged($event)", "keydown.space": "onSpacePressed($event)" }, properties: { "class": "this.class", "attr.type": "this.type", "attr.checked": "this.defaultChecked" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [".eui-19 :host.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:var(--eui-br-max);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-s-xl);justify-content:center;margin-right:var(--eui-s-s);position:relative;vertical-align:middle;width:var(--eui-s-xl);accent-color:var(--eui-c-white);background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep .eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-s-m);white-space:inherit}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-c-white)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-c-neutral-lightest);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+::ng-deep label{pointer-events:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep .eui-label{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep .eui-label{align-items:center;display:inline-flex;pointer-events:none;position:initial}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:var(--eui-bw-xs) solid var(--eui-c-danger-dark)!important}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-danger);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:0!important;transition:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:0!important;transition:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden) [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:0!important;transition:none}\n"] }); }
|
233
233
|
}
|
234
234
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiInputRadioComponent, decorators: [{
|
235
235
|
type: Component,
|
236
|
-
args: [{ selector: 'input[euiInputRadio]', template: '', standalone: true, styles: [".eui-19 :host.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:var(--eui-br-max);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-s-xl);justify-content:center;margin-right:var(--eui-s-s);position:relative;vertical-align:middle;width:var(--eui-s-xl);accent-color:var(--eui-c-white);background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep .eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-s-m);white-space:inherit}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-c-white)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-c-neutral-lightest);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+::ng-deep label{pointer-events:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep .eui-label{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep .eui-label{align-items:center;display:inline-flex;
|
236
|
+
args: [{ selector: 'input[euiInputRadio]', template: '', standalone: true, styles: [".eui-19 :host.eui-input-radio:not(.cdk-visually-hidden){appearance:inherit;align-items:center;border-radius:var(--eui-br-max);cursor:pointer;display:inline-flex;flex-shrink:0;height:var(--eui-s-xl);justify-content:center;margin-right:var(--eui-s-s);position:relative;vertical-align:middle;width:var(--eui-s-xl);accent-color:var(--eui-c-white);background:var(--eui-c-white);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)+::ng-deep .eui-label{display:inline-flex;cursor:pointer;margin-right:var(--eui-s-m);white-space:inherit}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked{background:var(--eui-c-white)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]){background:var(--eui-c-neutral-lightest);border:var(--eui-bw-xs) solid var(--eui-c-neutral-light);opacity:.25;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly]):checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-primary);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):disabled:not([readonly])+::ng-deep label{pointer-events:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]{display:none;pointer-events:none;-webkit-user-select:none;user-select:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]+::ng-deep .eui-label{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked{display:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep label,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden)[readonly]:checked+::ng-deep .eui-label{align-items:center;display:inline-flex;pointer-events:none;position:initial}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger{border:var(--eui-bw-xs) solid var(--eui-c-danger-dark)!important}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--invalid:checked:before,.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden).eui-input-radio--danger:checked:before{height:1rem;width:1rem;content:\"\";mask-repeat:no-repeat;mask-position:50% 50%;mask-size:cover;mask-image:var(--eui-internal-icon-ellipse-path);background-color:var(--eui-c-danger);height:var(--eui-s-l);width:var(--eui-s-l)}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):focus:not([readonly]){outline:2px solid var(--eui-c-focus)!important;outline-offset:0!important;transition:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden):focus-visible:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:0!important;transition:none}.eui-19 :host.eui-input-radio:not(.cdk-visually-hidden) [tabindex=\"0\"]:focus:not([readonly]){outline:2px solid var(--eui-c-focus-visible)!important;outline-offset:0!important;transition:none}\n"] }]
|
237
237
|
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
238
238
|
type: Optional
|
239
239
|
}, {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"eui-components-eui-input-radio.mjs","sources":["../../eui-input-radio/eui-input-radio.component.ts","../../eui-input-radio/eui-input-radio.module.ts","../../eui-input-radio/eui-components-eui-input-radio.ts"],"sourcesContent":["import {\n DoCheck,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n Self,\n SimpleChanges,\n OnInit,\n Component,\n HostListener,\n Injector,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeEvent } from 'cleave.js/react/props';\n\n/**\n * A radio input component that implements form control functionality and custom styling.\n * This component extends InputDirective and implements form control interfaces for seamless\n * integration with Angular's form controls.\n *\n * @example\n * ```html\n * <input euiInputRadio\n * [(ngModel)]=\"selectedValue\"\n * [value]=\"optionValue\"\n * [isInvalid]=\"false\"\n * [readonly]=\"false\">\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[euiInputRadio]',\n styleUrls: ['./styles/_index.scss'],\n template: '',\n standalone: true,\n})\nexport class EuiInputRadioComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n /**\n * Gets or sets whether the radio input is in an invalid state.\n * This can be set manually or will be automatically set when used with form validation.\n *\n * @property {boolean} isInvalid - The invalid state of the radio input\n */\n @Input()\n public get isInvalid(): boolean {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this.setInvalid(state);\n }\n protected _isInvalid: boolean;\n\n /**\n * Gets the CSS classes for the radio input component.\n * Combines base classes with invalid state modifier if applicable.\n *\n * @returns {string} Space-separated list of CSS classes\n */\n @HostBinding('class')\n public get class(): string {\n return [super.getCssClasses('eui-input-radio'), this._isInvalid ? 'eui-input-radio--invalid' : ''].join(' ').trim();\n }\n @HostBinding('attr.type') protected type = 'radio';\n\n /**\n * Gets or sets the default checked state of the radio input.\n * This is different from the current checked state and represents the initial value.\n *\n * @property {any} defaultChecked - The default checked state\n */\n @HostBinding('attr.checked')\n @Input('checked')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public get defaultChecked(): any {\n return this._defaultChecked ? '' : null;\n }\n public set defaultChecked(value: BooleanInput) {\n this._defaultChecked = coerceBooleanProperty(value);\n }\n protected _defaultChecked: boolean;\n\n /**\n * Gets whether the radio input is currently selected.\n *\n * @returns {boolean} True if the radio input is selected, false otherwise\n */\n public get selected(): boolean {\n return this._elementRef?.nativeElement.checked;\n }\n\n /**\n * Gets or sets the value of the radio input.\n * The value can be of any type and will be used when the radio is selected in a form group.\n *\n * @property {any} value - The value associated with this radio input\n */\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get value(): any {\n return this._value;\n }\n set value(value) {\n this._value = value;\n if (typeof value === 'number' || typeof value === 'boolean' || !!value) {\n this._elementRef.nativeElement.value = this._value;\n }\n }\n private _value;\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n protected _elementRef: ElementRef<HTMLInputElement>,\n protected _renderer: Renderer2,\n injector: Injector,\n ) {\n super(_elementRef, _renderer, injector);\n\n // Firefox fix: set type to radio before first ngDoCheck runs\n this._elementRef.nativeElement.type = 'radio';\n\n // if there's no id attribute set one\n if (!this._elementRef.nativeElement.id) {\n this.setIdAttribute();\n }\n\n // register control valueAccessor\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /**\n * Initializes the component.\n * Sets up form control validation status subscription and handles initial state.\n */\n ngOnInit(): void {\n super.ngOnInit();\n\n // in case control value is null set the default one (isChecked) and sync Control State\n // if (this.ngControl?.control?.value === null) {\n // this.ngControl.control.setValue('', { emitModelToViewChange: false });\n // changing Model Expression after view checked, so detect changes\n // TODO: check why although it's checked .checked returns false\n // this.ngControl.viewToModelUpdate(this._checked);\n // this._cd.detectChanges();\n // }\n\n if (this.ngControl) {\n this.ngControl.statusChanges.subscribe((status) => {\n this.isInvalid = status === 'INVALID';\n this.euiDanger = this.isInvalid;\n });\n }\n }\n\n /**\n * Performs change detection and updates invalid state based on form control status.\n */\n ngDoCheck(): void {\n if (this.ngControl) {\n this.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n }\n }\n\n /**\n * Handles changes to component inputs. Specifically handles changes to\n * readonly and invalid states.\n *\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n // when readonly changes hide other radio (input+label)\n if (changes['readonly']) {\n const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n if (readonly) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n }\n\n if (changes['isInvalid']) {\n if (changes['isInvalid'].currentValue) {\n this._renderer.addClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n }\n }\n }\n\n /**\n * Implements ControlValueAccessor.writeValue.\n * Updates the checked state based on the form control value.\n *\n * @param {string} obj - The value to write\n */\n writeValue(obj: string): void {\n // set checked state based if radio value matches the control's one\n this._elementRef.nativeElement.checked = this._value === obj;\n }\n\n /**\n * Registers a callback function that is called when the control's value changes.\n *\n * @param {Function} fn - The callback function\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that is called when the control is touched.\n *\n * @param {Function} fn - The callback function\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the radio input.\n *\n * @param {boolean} isDisabled - Whether the radio input should be disabled\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Handles change events on the radio input.\n * Updates the model value when the radio selection changes.\n *\n * @param {ChangeEvent<any>} event - The change event\n */\n @HostListener('change', ['$event'])\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected onCheckedChanged(event: ChangeEvent<any>): void {\n this._defaultChecked = event.target.checked;\n this.onChange(event.target.value === 'on' ? null : event.target.value);\n }\n\n /**\n * Handles space key press events. Prevents selection changes when the input\n * is readonly.\n *\n * @param {KeyboardEvent} event - The keyboard event\n */\n @HostListener('keydown.space', ['$event'])\n protected onSpacePressed(event: KeyboardEvent): void {\n if (this.readonly) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /**\n * Sets the invalid state of the radio input.\n * Updates both the internal state and the visual appearance.\n *\n * @param {boolean} state - The invalid state to set\n */\n protected setInvalid(state): void {\n // in case it's controlled by NgControl override\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n\n // set BaseDirective Attribute\n this.euiDanger = this._isInvalid;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onChange = (_): void => {\n /* Nothing to be Done so far */\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched = (_): void => {\n /* Nothing to be Done so far */\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiInputRadioComponent } from './eui-input-radio.component';\n\n/**\n * Angular module that provides radio input functionality.\n *\n * @example\n * ```typescript\n * import { EuiInputRadioModule } from '@eui/components/input-radio';\n *\n * @NgModule({\n * imports: [\n * EuiInputRadioModule\n * ]\n * })\n * export class YourModule { }\n * ```\n *\n * @deprecated Use {@link `EuiInputRadioComponent`} instead.\n */\n@NgModule({\n imports: [CommonModule, EuiInputRadioComponent],\n exports: [EuiInputRadioComponent],\n})\nexport class EuiInputRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"eui-components-eui-input-radio.mjs","sources":["../../eui-input-radio/eui-input-radio.component.ts","../../eui-input-radio/eui-input-radio.module.ts","../../eui-input-radio/eui-components-eui-input-radio.ts"],"sourcesContent":["import {\n DoCheck,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n Optional,\n Renderer2,\n Self,\n SimpleChanges,\n OnInit,\n Component,\n HostListener,\n Injector,\n} from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\nimport { InputDirective } from '@eui/components/shared';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { ChangeEvent } from 'cleave.js/react/props';\n\n/**\n * A radio input component that implements form control functionality and custom styling.\n * This component extends InputDirective and implements form control interfaces for seamless\n * integration with Angular's form controls.\n *\n * @example\n * ```html\n * <input euiInputRadio\n * [(ngModel)]=\"selectedValue\"\n * [value]=\"optionValue\"\n * [isInvalid]=\"false\"\n * [readonly]=\"false\">\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[euiInputRadio]',\n styleUrls: ['./styles/_index.scss'],\n template: '',\n standalone: true,\n})\nexport class EuiInputRadioComponent extends InputDirective implements OnInit, DoCheck, OnChanges, ControlValueAccessor {\n /**\n * Gets or sets whether the radio input is in an invalid state.\n * This can be set manually or will be automatically set when used with form validation.\n *\n * @property {boolean} isInvalid - The invalid state of the radio input\n */\n @Input()\n public get isInvalid(): boolean {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this.setInvalid(state);\n }\n protected _isInvalid: boolean;\n\n /**\n * Gets the CSS classes for the radio input component.\n * Combines base classes with invalid state modifier if applicable.\n *\n * @returns {string} Space-separated list of CSS classes\n */\n @HostBinding('class')\n public get class(): string {\n return [super.getCssClasses('eui-input-radio'), this._isInvalid ? 'eui-input-radio--invalid' : ''].join(' ').trim();\n }\n @HostBinding('attr.type') protected type = 'radio';\n\n /**\n * Gets or sets the default checked state of the radio input.\n * This is different from the current checked state and represents the initial value.\n *\n * @property {any} defaultChecked - The default checked state\n */\n @HostBinding('attr.checked')\n @Input('checked')\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public get defaultChecked(): any {\n return this._defaultChecked ? '' : null;\n }\n public set defaultChecked(value: BooleanInput) {\n this._defaultChecked = coerceBooleanProperty(value);\n }\n protected _defaultChecked: boolean;\n\n /**\n * Gets whether the radio input is currently selected.\n *\n * @returns {boolean} True if the radio input is selected, false otherwise\n */\n public get selected(): boolean {\n return this._elementRef?.nativeElement.checked;\n }\n\n /**\n * Gets or sets the value of the radio input.\n * The value can be of any type and will be used when the radio is selected in a form group.\n *\n * @property {any} value - The value associated with this radio input\n */\n @Input()\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get value(): any {\n return this._value;\n }\n set value(value) {\n this._value = value;\n if (typeof value === 'number' || typeof value === 'boolean' || !!value) {\n this._elementRef.nativeElement.value = this._value;\n }\n }\n private _value;\n\n constructor(\n @Optional() @Self() protected ngControl: NgControl,\n protected _elementRef: ElementRef<HTMLInputElement>,\n protected _renderer: Renderer2,\n injector: Injector,\n ) {\n super(_elementRef, _renderer, injector);\n\n // Firefox fix: set type to radio before first ngDoCheck runs\n this._elementRef.nativeElement.type = 'radio';\n\n // if there's no id attribute set one\n if (!this._elementRef.nativeElement.id) {\n this.setIdAttribute();\n }\n\n // register control valueAccessor\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n /**\n * Initializes the component.\n * Sets up form control validation status subscription and handles initial state.\n */\n ngOnInit(): void {\n super.ngOnInit();\n\n // in case control value is null set the default one (isChecked) and sync Control State\n // if (this.ngControl?.control?.value === null) {\n // this.ngControl.control.setValue('', { emitModelToViewChange: false });\n // changing Model Expression after view checked, so detect changes\n // TODO: check why although it's checked .checked returns false\n // this.ngControl.viewToModelUpdate(this._checked);\n // this._cd.detectChanges();\n // }\n\n if (this.ngControl) {\n this.ngControl.statusChanges.subscribe((status) => {\n this.isInvalid = status === 'INVALID';\n this.euiDanger = this.isInvalid;\n });\n }\n }\n\n /**\n * Performs change detection and updates invalid state based on form control status.\n */\n ngDoCheck(): void {\n if (this.ngControl) {\n this.isInvalid = this.ngControl.invalid && this.ngControl.touched;\n }\n }\n\n /**\n * Handles changes to component inputs. Specifically handles changes to\n * readonly and invalid states.\n *\n * @param {SimpleChanges} changes - Object containing changed properties\n */\n ngOnChanges(changes: SimpleChanges): void {\n // when readonly changes hide other radio (input+label)\n if (changes['readonly']) {\n const readonly = coerceBooleanProperty(changes['readonly']?.currentValue);\n if (readonly) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', null);\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n }\n\n if (changes['isInvalid']) {\n if (changes['isInvalid'].currentValue) {\n this._renderer.addClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n } else {\n this._renderer.removeClass(this._elementRef.nativeElement, 'eui-input-radio--invalid');\n }\n }\n }\n\n /**\n * Implements ControlValueAccessor.writeValue.\n * Updates the checked state based on the form control value.\n *\n * @param {string} obj - The value to write\n */\n writeValue(obj: string): void {\n // set checked state based if radio value matches the control's one\n this._elementRef.nativeElement.checked = this._value === obj;\n }\n\n /**\n * Registers a callback function that is called when the control's value changes.\n *\n * @param {Function} fn - The callback function\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n /**\n * Registers a callback function that is called when the control is touched.\n *\n * @param {Function} fn - The callback function\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /**\n * Sets the disabled state of the radio input.\n *\n * @param {boolean} isDisabled - Whether the radio input should be disabled\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /**\n * Handles change events on the radio input.\n * Updates the model value when the radio selection changes.\n *\n * @param {ChangeEvent<any>} event - The change event\n */\n @HostListener('change', ['$event'])\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n protected onCheckedChanged(event: ChangeEvent<any>): void {\n this._defaultChecked = event.target.checked;\n this.onChange(event.target.value === 'on' ? null : event.target.value);\n }\n\n /**\n * Handles space key press events. Prevents selection changes when the input\n * is readonly.\n *\n * @param {KeyboardEvent} event - The keyboard event\n */\n @HostListener('keydown.space', ['$event'])\n protected onSpacePressed(event: KeyboardEvent): void {\n if (this.readonly) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n /**\n * Sets the invalid state of the radio input.\n * Updates both the internal state and the visual appearance.\n *\n * @param {boolean} state - The invalid state to set\n */\n protected setInvalid(state): void {\n // in case it's controlled by NgControl override\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : coerceBooleanProperty(state);\n\n // set BaseDirective Attribute\n this.euiDanger = this._isInvalid;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onChange = (_): void => {\n /* Nothing to be Done so far */\n };\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected onTouched = (_): void => {\n /* Nothing to be Done so far */\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiInputRadioComponent } from './eui-input-radio.component';\n\n/**\n * Angular module that provides radio input functionality.\n *\n * @example\n * ```typescript\n * import { EuiInputRadioModule } from '@eui/components/input-radio';\n *\n * @NgModule({\n * imports: [\n * EuiInputRadioModule\n * ]\n * })\n * export class YourModule { }\n * ```\n *\n * @deprecated Use {@link `EuiInputRadioComponent`} instead.\n */\n@NgModule({\n imports: [CommonModule, EuiInputRadioComponent],\n exports: [EuiInputRadioComponent],\n})\nexport class EuiInputRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1395,18 +1395,29 @@ class EuiTableV2HighlightPipe {
|
|
1395
1395
|
* @returns
|
1396
1396
|
*/
|
1397
1397
|
transform(value, strFilter, className = 'eui-table-v2--highlighted') {
|
1398
|
-
if (value)
|
1399
|
-
if (strFilter && strFilter.length > 0) {
|
1400
|
-
const regex = new RegExp('(' + strFilter + ')', 'gi');
|
1401
|
-
return value.toString().replace(regex, '<span class="' + className + '">$1</span>');
|
1402
|
-
}
|
1403
|
-
else {
|
1404
|
-
return value;
|
1405
|
-
}
|
1406
|
-
}
|
1407
|
-
else {
|
1398
|
+
if (!value)
|
1408
1399
|
return '';
|
1409
|
-
|
1400
|
+
if (!strFilter || strFilter.length === 0)
|
1401
|
+
return value;
|
1402
|
+
const generateVariants = (str) => {
|
1403
|
+
const variants = new Set([str]);
|
1404
|
+
for (let j = 1; j <= 3; j++) {
|
1405
|
+
for (const separator of ['.', ',', ' ']) {
|
1406
|
+
let newVariant = str;
|
1407
|
+
let i = j;
|
1408
|
+
while (i < newVariant.length) {
|
1409
|
+
newVariant = newVariant.slice(0, i) + separator + newVariant.slice(i);
|
1410
|
+
i += 4;
|
1411
|
+
}
|
1412
|
+
variants.add(newVariant);
|
1413
|
+
}
|
1414
|
+
}
|
1415
|
+
return Array.from(variants);
|
1416
|
+
};
|
1417
|
+
const isNumber = (str) => !isNaN(Number(str)) && str.trim() !== '';
|
1418
|
+
const variants = isNumber(strFilter) ? generateVariants(strFilter) : [strFilter];
|
1419
|
+
const regex = new RegExp(`(${variants.map(v => v.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|')})`, 'gi');
|
1420
|
+
return value.toString().replace(regex, `<span class="${className}">$1</span>`);
|
1410
1421
|
}
|
1411
1422
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: EuiTableV2HighlightPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
1412
1423
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: EuiTableV2HighlightPipe, isStandalone: false, name: "euiTableV2Highlight" }); }
|