@eui/components 19.1.2-snapshot-1743171142266 → 19.1.2-snapshot-1743171933419
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.
@@ -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"}
|
@@ -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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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@eui/components",
|
3
|
-
"version": "19.1.2-snapshot-
|
3
|
+
"version": "19.1.2-snapshot-1743171933419",
|
4
4
|
"tag": "snapshot",
|
5
5
|
"description": "eUI components package",
|
6
6
|
"homepage": "https://eui.ecdevops.eu",
|
@@ -10,8 +10,8 @@
|
|
10
10
|
"url": "https://citnet.tech.ec.europa.eu/CITnet/stash/projects/CSDR/repos/eui/browse/packages/components"
|
11
11
|
},
|
12
12
|
"peerDependencies": {
|
13
|
-
"@eui/core": "19.1.2-snapshot-
|
14
|
-
"@eui/base": "19.1.2-snapshot-
|
13
|
+
"@eui/core": "19.1.2-snapshot-1743171933419",
|
14
|
+
"@eui/base": "19.1.2-snapshot-1743171933419",
|
15
15
|
"@angular/common": "^18.0.0 || ^19.0.0",
|
16
16
|
"@angular/core": "^18.0.0 || ^19.0.0",
|
17
17
|
"@angular/forms": "^18.0.0 || ^19.0.0",
|
@@ -118,6 +118,10 @@
|
|
118
118
|
"types": "./eui-datepicker/index.d.ts",
|
119
119
|
"default": "./fesm2022/eui-components-eui-datepicker.mjs"
|
120
120
|
},
|
121
|
+
"./eui-dialog": {
|
122
|
+
"types": "./eui-dialog/index.d.ts",
|
123
|
+
"default": "./fesm2022/eui-components-eui-dialog.mjs"
|
124
|
+
},
|
121
125
|
"./eui-dimmer": {
|
122
126
|
"types": "./eui-dimmer/index.d.ts",
|
123
127
|
"default": "./fesm2022/eui-components-eui-dimmer.mjs"
|
@@ -158,10 +162,6 @@
|
|
158
162
|
"types": "./eui-icon-button/index.d.ts",
|
159
163
|
"default": "./fesm2022/eui-components-eui-icon-button.mjs"
|
160
164
|
},
|
161
|
-
"./eui-dialog": {
|
162
|
-
"types": "./eui-dialog/index.d.ts",
|
163
|
-
"default": "./fesm2022/eui-components-eui-dialog.mjs"
|
164
|
-
},
|
165
165
|
"./eui-icon-button-expander": {
|
166
166
|
"types": "./eui-icon-button-expander/index.d.ts",
|
167
167
|
"default": "./fesm2022/eui-components-eui-icon-button-expander.mjs"
|