@eui/ecl 22.0.0-alpha.40 → 22.0.0-alpha.41
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/changelog.html +74 -0
- package/docs/components/EclAccordionSummaryComponent.html +1 -1
- package/docs/components/EclAddToCalendarComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersComponent.html +1 -1
- package/docs/components/EclAnimatedNumbersItemComponent.html +1 -1
- package/docs/components/EclAppComponent.html +1 -1
- package/docs/components/EclBannerComponent.html +1 -1
- package/docs/components/EclBlockquoteComponent.html +1 -1
- package/docs/components/EclBreadcrumbComponent.html +1 -1
- package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
- package/docs/components/EclButtonComponent.html +1 -1
- package/docs/components/EclCardBodyComponent.html +1 -1
- package/docs/components/EclCardComponent.html +1 -1
- package/docs/components/EclCarouselComponent.html +1 -1
- package/docs/components/EclCarouselItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterComponent.html +1 -1
- package/docs/components/EclCategoryFilterItemComponent.html +1 -1
- package/docs/components/EclCategoryFilterListComponent.html +1 -1
- package/docs/components/EclCheckboxHelpComponent.html +1 -1
- package/docs/components/EclCheckboxLabelComponent.html +1 -1
- package/docs/components/EclContentBlockComponent.html +1 -1
- package/docs/components/EclContentItemComponent.html +1 -1
- package/docs/components/EclDateBlockComponent.html +1 -1
- package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
- package/docs/components/EclExpandableComponent.html +1 -1
- package/docs/components/EclFactFiguresComponent.html +1 -1
- package/docs/components/EclFactFiguresItemComponent.html +1 -1
- package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
- package/docs/components/EclFeaturedComponent.html +1 -1
- package/docs/components/EclFeaturedItemComponent.html +1 -1
- package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
- package/docs/components/EclFileComponent.html +1 -1
- package/docs/components/EclFileItemComponent.html +1 -1
- package/docs/components/EclFileItemsComponent.html +1 -1
- package/docs/components/EclFileListsComponent.html +1 -1
- package/docs/components/EclFormGroupComponent.html +1 -1
- package/docs/components/EclFormLabelComponent.html +1 -1
- package/docs/components/EclGalleryComponent.html +1 -1
- package/docs/components/EclGalleryFooterComponent.html +1 -1
- package/docs/components/EclGalleryItemComponent.html +1 -1
- package/docs/components/EclHighlightBoxComponent.html +1 -1
- package/docs/components/EclHighlightedSearchComponent.html +1 -1
- package/docs/components/EclIconComponent.html +1 -1
- package/docs/components/EclIndicatorComponent.html +1 -1
- package/docs/components/EclInpageNavigationComponent.html +1 -1
- package/docs/components/EclInpageNavigationItemComponent.html +1 -1
- package/docs/components/EclLayoutWrapperComponent.html +1 -1
- package/docs/components/EclListIllustrationComponent.html +1 -1
- package/docs/components/EclListIllustrationItemComponent.html +1 -1
- package/docs/components/EclLoadingIndicatorComponent.html +1 -1
- package/docs/components/EclMediaContainerComponent.html +1 -1
- package/docs/components/EclMegaMenuComponent.html +1 -1
- package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
- package/docs/components/EclMegaMenuInfoComponent.html +1 -1
- package/docs/components/EclMegaMenuItemComponent.html +1 -1
- package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
- package/docs/components/EclMenuComponent.html +1 -1
- package/docs/components/EclMenuItemComponent.html +1 -1
- package/docs/components/EclMenuMegaComponent.html +1 -1
- package/docs/components/EclMenuMegaItemComponent.html +1 -1
- package/docs/components/EclModalBodyComponent.html +1 -1
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclModalFooterComponent.html +1 -1
- package/docs/components/EclModalHeaderComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +1 -1
- package/docs/components/EclMultiselectDropdownComponent.html +1 -1
- package/docs/components/EclMultiselectInputComponent.html +1 -1
- package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
- package/docs/components/EclMultiselectOptionComponent.html +1 -1
- package/docs/components/EclNavigationListComponent.html +1 -1
- package/docs/components/EclNavigationListItemComponent.html +1 -1
- package/docs/components/EclNewsTickerComponent.html +1 -1
- package/docs/components/EclNewsTickerItemComponent.html +1 -1
- package/docs/components/EclNotificationComponent.html +1 -1
- package/docs/components/EclPageHeaderComponent.html +1 -1
- package/docs/components/EclPageHeaderDescriptionContainerComponent.html +1 -1
- package/docs/components/EclPageHeaderExpandableComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionComponent.html +1 -1
- package/docs/components/EclPageHeaderSectionInfoComponent.html +1 -1
- package/docs/components/EclPageSummaryComponent.html +1 -1
- package/docs/components/EclPaginationComponent.html +1 -1
- package/docs/components/EclPaginationItemComponent.html +1 -1
- package/docs/components/EclPopoverComponent.html +1 -1
- package/docs/components/EclQuizCardComponent.html +1 -1
- package/docs/components/EclQuizComponent.html +1 -1
- package/docs/components/EclRadioHelpComponent.html +1 -1
- package/docs/components/EclRadioLabelComponent.html +1 -1
- package/docs/components/EclRangeBubbleComponent.html +1 -1
- package/docs/components/EclRangeValueComponent.html +1 -1
- package/docs/components/EclRatingFieldComponent.html +1 -1
- package/docs/components/EclSearchFormComponent.html +1 -1
- package/docs/components/EclSelectContainerComponent.html +1 -1
- package/docs/components/EclSiteFooterComponent.html +1 -1
- package/docs/components/EclSiteFooterCoownerComponent.html +1 -1
- package/docs/components/EclSiteFooterCoreComponent.html +1 -1
- package/docs/components/EclSiteFooterFeedbackComponent.html +1 -1
- package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
- package/docs/components/EclSiteFooterRowCommonComponent.html +1 -1
- package/docs/components/EclSiteHeaderActionComponent.html +1 -1
- package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
- package/docs/components/EclSiteHeaderComponent.html +1 -1
- package/docs/components/EclSiteHeaderCustomActionComponent.html +1 -1
- package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
- package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
- package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
- package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
- package/docs/components/EclSloganTickerComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowComponent.html +1 -1
- package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
- package/docs/components/EclSplashPageComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
- package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
- package/docs/components/EclSpotlightComponent.html +1 -1
- package/docs/components/EclSpotlightLinkComponent.html +1 -1
- package/docs/components/EclStickyContainerComponent.html +1 -1
- package/docs/components/EclStoryCardComponent.html +1 -1
- package/docs/components/EclStoryCardGridDetailsComponent.html +1 -1
- package/docs/components/EclStoryCardItemComponent.html +1 -1
- package/docs/components/EclTabComponent.html +1 -1
- package/docs/components/EclTabLabelComponent.html +1 -1
- package/docs/components/EclTableSortButtonComponent.html +1 -1
- package/docs/components/EclTabsComponent.html +1 -1
- package/docs/components/EclTagComponent.html +47 -107
- package/docs/components/EclTextMediaComponent.html +45 -30
- package/docs/components/EclTimelineComponent.html +2 -221
- package/docs/components/EclTimelineItemComponent.html +41 -443
- package/docs/components/EclTimelineItemTogglerComponent.html +7 -97
- package/docs/directives/ECLBaseDirective.html +0 -4
- package/docs/directives/EclTextAreaDirective.html +53 -100
- package/docs/directives/EclTextInputDirective.html +47 -144
- package/docs/directives/EclTimelineItemLabelDirective.html +0 -46
- package/docs/directives/EclTimelineItemTitleDirective.html +0 -46
- package/docs/directives/EclTimelineSetDirective.html +0 -104
- package/docs/directives/EclTooltipDirective.html +4 -157
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclTimelineComponent.md +1 -1
- package/docs/json/EclTimelineItemComponent.md +4 -4
- package/docs/json/EclTimelineItemTogglerComponent.md +2 -2
- package/docs/json/documentation.json +1673 -2083
- package/docs/llms.txt +21 -25
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-tag.mjs +19 -22
- package/fesm2022/eui-ecl-components-ecl-tag.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs +16 -17
- package/fesm2022/eui-ecl-components-ecl-text-area.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs +14 -17
- package/fesm2022/eui-ecl-components-ecl-text-input.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-text-media.mjs +10 -9
- package/fesm2022/eui-ecl-components-ecl-text-media.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +132 -133
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs +8 -14
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +0 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-tag.d.ts +2 -3
- package/types/eui-ecl-components-ecl-tag.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-area.d.ts +2 -2
- package/types/eui-ecl-components-ecl-text-area.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-input.d.ts +3 -3
- package/types/eui-ecl-components-ecl-text-input.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-text-media.d.ts +1 -1
- package/types/eui-ecl-components-ecl-text-media.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts +65 -50
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tooltip.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts.map +1 -1
package/docs/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# eui documentation
|
|
2
2
|
|
|
3
|
-
> Generated by compodoc 2.0.0 at 2026-10-
|
|
3
|
+
> Generated by compodoc 2.0.0 at 2026-10-08T16:06:39.561Z, llm-md export.
|
|
4
4
|
|
|
5
5
|
## Modules
|
|
6
6
|
|
|
@@ -3359,7 +3359,8 @@ Outputs:
|
|
|
3359
3359
|
- `class: string = ''`
|
|
3360
3360
|
|
|
3361
3361
|
Properties:
|
|
3362
|
-
-
|
|
3362
|
+
- ``cssClasses: unknown = computed(() => { const variant = this.variant(); return [ super.getCssClasses('ecl-tag'), variant ? `ecl-tag--${variant}` : '', this.isWrapped() ? '' : 'ecl-tag…``
|
|
3363
|
+
- `isVisible: unknown = signal(true)`
|
|
3363
3364
|
- `title: string = 'dismiss'`
|
|
3364
3365
|
|
|
3365
3366
|
Methods:
|
|
@@ -3383,13 +3384,16 @@ Inputs:
|
|
|
3383
3384
|
Outputs:
|
|
3384
3385
|
- `class: string = ''`
|
|
3385
3386
|
|
|
3387
|
+
Properties:
|
|
3388
|
+
- `cssClasses: unknown = computed(() => { return [super.getCssClasses('ecl-text-media'), this.variant() === 'primary' ? 'ecl-text-media--primary' : '', this.mediaPosition() === 'left' ?…`
|
|
3389
|
+
|
|
3386
3390
|
Methods:
|
|
3387
3391
|
- `getCssClasses(rootClass: string): string`
|
|
3388
3392
|
|
|
3389
3393
|
### EclTimelineComponent
|
|
3390
3394
|
|
|
3391
3395
|
File: `packages/ecl/components/ecl-timeline/ecl-timeline.component.ts`
|
|
3392
|
-
Selector: `
|
|
3396
|
+
Selector: `ol[eclTimeline]`
|
|
3393
3397
|
|
|
3394
3398
|
Inputs:
|
|
3395
3399
|
- `class: string = ''`
|
|
@@ -3399,25 +3403,20 @@ Inputs:
|
|
|
3399
3403
|
Outputs:
|
|
3400
3404
|
- `class: string = ''`
|
|
3401
3405
|
|
|
3402
|
-
Properties:
|
|
3403
|
-
- `isExpanded: boolean | null = null`
|
|
3404
|
-
- `timelineItems: unknown = contentChildren(forwardRef(() => EclTimelineItemComponent))` — List of projected EclTimelineItemComponent instances. Collected using @ContentChildren .
|
|
3405
|
-
|
|
3406
3406
|
Methods:
|
|
3407
|
-
- `onFocusFirstExpandedLink(item: EclTimelineItemComponent): void` — Focuses the first link in the expanded timeline item, ensuring it's only done once per toggle group interaction.
|
|
3408
3407
|
- `getCssClasses(rootClass: string): string`
|
|
3409
3408
|
|
|
3410
3409
|
### EclTimelineItemComponent
|
|
3411
3410
|
|
|
3412
3411
|
File: `packages/ecl/components/ecl-timeline/ecl-timeline-item.component.ts`
|
|
3413
|
-
Selector: `
|
|
3412
|
+
Selector: `li[eclTimelineItem]`
|
|
3414
3413
|
|
|
3415
3414
|
Inputs:
|
|
3416
3415
|
- `collapseLabel: string = 'Collapse'` — Text label shown when the item is expanded and can be collapsed. Defaults to 'Collapse' .
|
|
3417
3416
|
- `expandLabel: string = 'Expand'` — Text label shown when the item is collapsed and can be expanded. Defaults to 'Expand' .
|
|
3418
|
-
- `isCollapsed: boolean = false` — Whether the item is collapsed.
|
|
3417
|
+
- `isCollapsed: boolean = false` — Whether the item is initially collapsed. Applies the ecl-timeline\_\_item--collapsed CSS class when true.
|
|
3419
3418
|
- `isHeadline: boolean = false`
|
|
3420
|
-
- `isToggler: boolean = false` — Whether the item is a toggler (e.g. expands/collapses related items).
|
|
3419
|
+
- `isToggler: boolean = false` — Whether the item is a toggler (e.g. expands/collapses related items). Applies the ecl-timeline\_\_item--toggle CSS class when true.
|
|
3421
3420
|
- `isTogglerExpanded: boolean = false` — Indicates whether the toggler is initially expanded. Used for toggler-type items.
|
|
3422
3421
|
- `toggleGroup: string = undefined` — Name of the toggle group that this item belongs to. Used to coordinate collapsing/expanding related items.
|
|
3423
3422
|
- `class: string = ''`
|
|
@@ -3425,25 +3424,21 @@ Inputs:
|
|
|
3425
3424
|
- `tabindex = undefined`
|
|
3426
3425
|
|
|
3427
3426
|
Outputs:
|
|
3428
|
-
- `toggle: EventEmitter = new EventEmitter<EclTimelineItemToggleEvent>()` — Event emitted when the toggler is clicked. Consumers can call preventDefault() on the event to cancel toggle behavior.
|
|
3429
3427
|
- `isTogglerExpanded: boolean = false` — Indicates whether the toggler is initially expanded. Used for toggler-type items.
|
|
3428
|
+
- `toggle: EclTimelineItemToggleEvent` — Event emitted when the toggler is clicked. Consumers can call preventDefault() on the event to cancel toggle behavior.
|
|
3430
3429
|
- `class: string = ''`
|
|
3431
3430
|
|
|
3432
3431
|
Properties:
|
|
3433
|
-
- `eclLink: unknown = contentChild(forwardRef(() => EclLinkDirective))` — Reference to a projected ECL link, used for setting focus after toggle.
|
|
3434
|
-
- `
|
|
3435
|
-
- `timelineItemToggler: unknown = contentChild(forwardRef(() => EclTimelineItemTogglerComponent))` — Reference to a projected custom toggler component.
|
|
3436
|
-
- `timelineTitle: unknown = contentChild(forwardRef(() => EclTimelineItemTitleDirective))`
|
|
3432
|
+
- `eclLink: unknown = contentChild(forwardRef(() => EclLinkDirective))` — Reference to a projected ECL link, used for setting focus after toggle. Read by the parent EclTimelineComponent to move focus after a toggle.
|
|
3433
|
+
- `isCollapsedState: unknown = linkedSignal(() => this.isCollapsed())` — Live collapsed state of the item. Seeded from the isCollapsed input but writable at runtime, so the parent EclTimelineComponent can expand or collapse grouped items in response to a toggler interaction. Resets to the input value if the input changes.
|
|
3437
3434
|
|
|
3438
3435
|
Methods:
|
|
3439
|
-
- `hasDefaultToggler(): boolean` — Checks whether the default toggler UI should be used. Returns true if this is a toggler and no custom toggler component is projected.
|
|
3440
|
-
- `onTogglerClick(evt: MouseEvent): void` — Handles click events from the default toggler element.
|
|
3441
3436
|
- `getCssClasses(rootClass: string): string`
|
|
3442
3437
|
|
|
3443
3438
|
### EclTimelineItemTogglerComponent
|
|
3444
3439
|
|
|
3445
3440
|
File: `packages/ecl/components/ecl-timeline/ecl-timeline-item-toggler.component.ts`
|
|
3446
|
-
Selector: `
|
|
3441
|
+
Selector: `li[eclTimelineItemToggler]`
|
|
3447
3442
|
|
|
3448
3443
|
Description: Component representing a toggler inside a timeline item. Emits a toggle event when clicked.
|
|
3449
3444
|
|
|
@@ -3453,11 +3448,10 @@ Inputs:
|
|
|
3453
3448
|
- `tabindex = undefined`
|
|
3454
3449
|
|
|
3455
3450
|
Outputs:
|
|
3456
|
-
- `toggle:
|
|
3451
|
+
- `toggle: void` — Event emitted when the toggler is activated (clicked). Used to trigger expand/collapse behavior in the parent timeline item.
|
|
3457
3452
|
- `class: string = ''`
|
|
3458
3453
|
|
|
3459
3454
|
Methods:
|
|
3460
|
-
- `onTogglerClick(): void` — Handles click events on the toggler element and emits the toggle event.
|
|
3461
3455
|
- `getCssClasses(rootClass: string): string`
|
|
3462
3456
|
|
|
3463
3457
|
## Directives
|
|
@@ -3729,7 +3723,6 @@ Methods:
|
|
|
3729
3723
|
|
|
3730
3724
|
File: `packages/ecl/core/ecl-base.directive.ts`
|
|
3731
3725
|
Selector: `[eclBase]`
|
|
3732
|
-
Standalone: yes
|
|
3733
3726
|
|
|
3734
3727
|
Inputs:
|
|
3735
3728
|
- `class: string = ''`
|
|
@@ -6909,6 +6902,9 @@ Inputs:
|
|
|
6909
6902
|
Outputs:
|
|
6910
6903
|
- `class: string = ''`
|
|
6911
6904
|
|
|
6905
|
+
Properties:
|
|
6906
|
+
- ``cssClasses: unknown = computed(() => { const eclSize = this.eclSize(); return [super.getCssClasses('ecl-text-area'), eclSize ? `ecl-text-area--${eclSize}` : ''].join(' ').trim(); })`` — Adds specific classes for the component.
|
|
6907
|
+
|
|
6912
6908
|
Methods:
|
|
6913
6909
|
- `getCssClasses(rootClass: string): string`
|
|
6914
6910
|
|
|
@@ -6930,6 +6926,9 @@ Inputs:
|
|
|
6930
6926
|
Outputs:
|
|
6931
6927
|
- `class: string = ''`
|
|
6932
6928
|
|
|
6929
|
+
Properties:
|
|
6930
|
+
- ``cssClasses: unknown = computed(() => { const eclSize = this.eclSize(); return [super.getCssClasses('ecl-text-input'), eclSize ? `ecl-text-input--${eclSize}` : ''].join(' ').trim(); }…`` — Adds ECL classes for the component.
|
|
6931
|
+
|
|
6933
6932
|
Methods:
|
|
6934
6933
|
- `getCssClasses(rootClass: string): string`
|
|
6935
6934
|
|
|
@@ -7029,9 +7028,6 @@ Inputs:
|
|
|
7029
7028
|
Outputs:
|
|
7030
7029
|
- `class: string = ''`
|
|
7031
7030
|
|
|
7032
|
-
Properties:
|
|
7033
|
-
- `hasClass: unknown = true`
|
|
7034
|
-
|
|
7035
7031
|
Methods:
|
|
7036
7032
|
- `getCssClasses(rootClass: string): string`
|
|
7037
7033
|
|
package/docs/properties.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, booleanAttribute, output, inject, ElementRef, afterNextRender,
|
|
2
|
+
import { input, booleanAttribute, output, signal, computed, inject, ElementRef, afterNextRender, Component, HostBinding, Directive } from '@angular/core';
|
|
3
3
|
import { TitleCasePipe } from '@angular/common';
|
|
4
4
|
import { EclBaseEvent, ECLBaseDirective, KeyCode } from '@eui/ecl/core';
|
|
5
5
|
import { Subject, fromEvent, takeUntil } from 'rxjs';
|
|
@@ -13,16 +13,6 @@ class EclTagRemoveEvent extends EclBaseEvent {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
class EclTagComponent extends ECLBaseDirective {
|
|
16
|
-
get isHidden() {
|
|
17
|
-
return this.isVisible ? null : 'none';
|
|
18
|
-
}
|
|
19
|
-
get cssClasses() {
|
|
20
|
-
const variant = this.variant();
|
|
21
|
-
return [super.getCssClasses('ecl-tag'),
|
|
22
|
-
variant ? `ecl-tag--${variant}` : '',
|
|
23
|
-
this.isWrapped() ? '' : 'ecl-tag--nowrap',
|
|
24
|
-
].join(' ').trim();
|
|
25
|
-
}
|
|
26
16
|
constructor() {
|
|
27
17
|
super();
|
|
28
18
|
/**
|
|
@@ -42,7 +32,17 @@ class EclTagComponent extends ECLBaseDirective {
|
|
|
42
32
|
* Can be prevented by calling `preventDefault()` on the emitted event.
|
|
43
33
|
*/
|
|
44
34
|
this.remove = output();
|
|
45
|
-
this.isVisible = true
|
|
35
|
+
this.isVisible = signal(true, /* @ts-ignore */
|
|
36
|
+
...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
|
|
37
|
+
this.cssClasses = computed(() => {
|
|
38
|
+
const variant = this.variant();
|
|
39
|
+
return [
|
|
40
|
+
super.getCssClasses('ecl-tag'),
|
|
41
|
+
variant ? `ecl-tag--${variant}` : '',
|
|
42
|
+
this.isWrapped() ? '' : 'ecl-tag--nowrap',
|
|
43
|
+
].join(' ').trim();
|
|
44
|
+
}, /* @ts-ignore */
|
|
45
|
+
...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
|
|
46
46
|
this.title = 'dismiss';
|
|
47
47
|
this.el = inject(ElementRef);
|
|
48
48
|
this.destroy$ = new Subject();
|
|
@@ -71,7 +71,7 @@ class EclTagComponent extends ECLBaseDirective {
|
|
|
71
71
|
const event = new EclTagRemoveEvent();
|
|
72
72
|
this.remove.emit(event);
|
|
73
73
|
if (!event.defaultPrevented) {
|
|
74
|
-
this.isVisible
|
|
74
|
+
this.isVisible.set(false);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
connectEvents() {
|
|
@@ -84,18 +84,15 @@ class EclTagComponent extends ECLBaseDirective {
|
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
87
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclTagComponent, isStandalone: true, selector: "ecl-tag, [eclTag]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, isWrapped: { classPropertyName: "isWrapped", publicName: "isWrapped", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { remove: "remove" }, host: { properties: { "style.display": "
|
|
87
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.2", type: EclTagComponent, isStandalone: true, selector: "ecl-tag, [eclTag]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, isWrapped: { classPropertyName: "isWrapped", publicName: "isWrapped", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { remove: "remove" }, host: { properties: { "style.display": "isVisible() ? null : \"none\"", "class": "cssClasses()" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }] }); }
|
|
88
88
|
}
|
|
89
89
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTagComponent, decorators: [{
|
|
90
90
|
type: Component,
|
|
91
|
-
args: [{ selector: 'ecl-tag, [eclTag]', imports: [...EUI_ECL_ICON, TitleCasePipe],
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
type: HostBinding,
|
|
97
|
-
args: ['class']
|
|
98
|
-
}] } });
|
|
91
|
+
args: [{ selector: 'ecl-tag, [eclTag]', imports: [...EUI_ECL_ICON, TitleCasePipe], host: {
|
|
92
|
+
'[style.display]': 'isVisible() ? null : "none"',
|
|
93
|
+
'[class]': 'cssClasses()',
|
|
94
|
+
}, template: "<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n" }]
|
|
95
|
+
}], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], isWrapped: [{ type: i0.Input, args: [{ isSignal: true, alias: "isWrapped", required: false }] }], remove: [{ type: i0.Output, args: ["remove"] }] } });
|
|
99
96
|
|
|
100
97
|
/**
|
|
101
98
|
* Directive to style a container as a set of tags.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-tag.mjs","sources":["../../components/ecl-tag/events/ecl-tag-remove.event.ts","../../components/ecl-tag/ecl-tag.component.ts","../../components/ecl-tag/ecl-tag.component.html","../../components/ecl-tag/ecl-tag-set.directive.ts","../../components/ecl-tag/ecl-tag-icon.directive.ts","../../components/ecl-tag/index.ts","../../components/ecl-tag/eui-ecl-components-ecl-tag.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a tag is removed.\n */\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n","import {\n Component,\n HostBinding,\n booleanAttribute,\n ElementRef,\n afterNextRender,\n OnDestroy,\n inject,\n output,\n input,\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclTagRemoveEvent } from './events/ecl-tag-remove.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n imports: [...EUI_ECL_ICON, TitleCasePipe],\n})\nexport class EclTagComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Defines the variant of the tag.\n * Currently only 'removable' is supported.\n */\n readonly variant = input<'removable'>(undefined);\n\n /**\n * Whether the tag content should be allowed to wrap onto multiple lines.\n * Set to false to force single-line display (adds `ecl-tag--nowrap` class).\n * Defaults to true.\n */\n readonly isWrapped = input(true, { transform: booleanAttribute });\n\n /**\n * Event emitted when the tag is removed.\n * Can be prevented by calling `preventDefault()` on the emitted event.\n */\n readonly remove = output<EclTagRemoveEvent>();\n\n @HostBinding('style.display')\n get isHidden(): string | null {\n return this.isVisible ? null : 'none';\n }\n\n @HostBinding('class')\n get cssClasses(): string {\n const variant = this.variant();\n return [super.getCssClasses('ecl-tag'),\n variant ? `ecl-tag--${variant}` : '',\n this.isWrapped() ? '' : 'ecl-tag--nowrap',\n ].join(' ').trim();\n }\n\n isVisible = true;\n title = 'dismiss';\n private el = inject(ElementRef);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n super();\n afterNextRender(() => {\n this.connectEvents();\n });\n }\n\n /**\n * Whether the tag is removable (based on the `variant` input).\n */\n get isRemovable(): boolean {\n return this.variant() == 'removable';\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions when the component is destroyed.\n */\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Called when the tag’s remove button is clicked (or enter key pressed).\n * Emits the `remove` event. If not prevented, the tag is hidden.\n */\n onRemoveClick(): void {\n const event = new EclTagRemoveEvent();\n this.remove.emit(event);\n\n if (!event.defaultPrevented) {\n this.isVisible = false;\n }\n }\n\n private connectEvents(): void {\n fromEvent(this.el.nativeElement, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: KeyboardEvent) => {\n if (this.isRemovable && e.key === KeyCode.ENTER) {\n this.onRemoveClick();\n }\n });\n }\n}\n","<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a container as a set of tags.\n * Adds the `ecl-tag-set` class to the host element.\n */\n@Directive({\n selector: '[eclTagSet]',\n})\nexport class EclTagSetDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag-set` to define the layout for a group of tags.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag-set')].join(' ').trim();\n }\n}\n\n/**\n * Directive to mark an element as an individual item in a tag set.\n * Adds the `ecl-tag-set__item` class to the host element.\n */\n@Directive({\n selector: '[eclTagSetItem]',\n})\nexport class EclTagSetItemDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-tag-set__item` CSS class to the host element.\n */\n @HostBinding('class.ecl-tag-set__item') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply external icon styling inside an ECL tag.\n * Adds specific CSS classes to render an \"external\" icon next to the tag content.\n */\n@Directive({\n selector: '[eclTagIconExternal]',\n})\nexport class EclTagIconExternalDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag__icon ecl-tag__icon--external` to display the icon correctly.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag__icon ecl-tag__icon--external')].join(' ').trim();\n }\n}\n","import { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nexport * from './ecl-tag.component';\nexport * from './ecl-tag-set.directive';\nexport * from './ecl-tag-icon.directive';\nexport * from './events/ecl-tag-remove.event';\n\nexport const EUI_ECL_TAG = [\n EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-tag.mjs","sources":["../../components/ecl-tag/events/ecl-tag-remove.event.ts","../../components/ecl-tag/ecl-tag.component.ts","../../components/ecl-tag/ecl-tag.component.html","../../components/ecl-tag/ecl-tag-set.directive.ts","../../components/ecl-tag/ecl-tag-icon.directive.ts","../../components/ecl-tag/index.ts","../../components/ecl-tag/eui-ecl-components-ecl-tag.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\n\n/**\n * Event emitted when a tag is removed.\n */\nexport class EclTagRemoveEvent extends EclBaseEvent {}\n","import {\n Component,\n booleanAttribute,\n ElementRef,\n afterNextRender,\n OnDestroy,\n inject,\n output,\n input,\n computed,\n signal,\n} from '@angular/core';\nimport { TitleCasePipe } from '@angular/common';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { Subject, fromEvent, takeUntil } from 'rxjs';\nimport { KeyCode } from '@eui/ecl/core';\nimport { EclTagRemoveEvent } from './events/ecl-tag-remove.event';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n selector: 'ecl-tag, [eclTag]',\n templateUrl: './ecl-tag.component.html',\n imports: [...EUI_ECL_ICON, TitleCasePipe],\n host: {\n '[style.display]': 'isVisible() ? null : \"none\"',\n '[class]': 'cssClasses()',\n },\n})\nexport class EclTagComponent extends ECLBaseDirective implements OnDestroy {\n /**\n * Defines the variant of the tag.\n * Currently only 'removable' is supported.\n */\n readonly variant = input<'removable'>(undefined);\n\n /**\n * Whether the tag content should be allowed to wrap onto multiple lines.\n * Set to false to force single-line display (adds `ecl-tag--nowrap` class).\n * Defaults to true.\n */\n readonly isWrapped = input(true, { transform: booleanAttribute });\n\n /**\n * Event emitted when the tag is removed.\n * Can be prevented by calling `preventDefault()` on the emitted event.\n */\n readonly remove = output<EclTagRemoveEvent>();\n\n readonly isVisible = signal(true);\n\n readonly cssClasses = computed(() => {\n const variant = this.variant();\n return [\n super.getCssClasses('ecl-tag'),\n variant ? `ecl-tag--${variant}` : '',\n this.isWrapped() ? '' : 'ecl-tag--nowrap',\n ].join(' ').trim();\n });\n title = 'dismiss';\n private el = inject(ElementRef);\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor() {\n super();\n afterNextRender(() => {\n this.connectEvents();\n });\n }\n\n /**\n * Whether the tag is removable (based on the `variant` input).\n */\n get isRemovable(): boolean {\n return this.variant() == 'removable';\n }\n\n /**\n * Lifecycle hook that cleans up subscriptions when the component is destroyed.\n */\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.unsubscribe();\n }\n\n /**\n * Called when the tag’s remove button is clicked (or enter key pressed).\n * Emits the `remove` event. If not prevented, the tag is hidden.\n */\n onRemoveClick(): void {\n const event = new EclTagRemoveEvent();\n this.remove.emit(event);\n\n if (!event.defaultPrevented) {\n this.isVisible.set(false);\n }\n }\n\n private connectEvents(): void {\n fromEvent(this.el.nativeElement, 'keydown')\n .pipe(takeUntil(this.destroy$))\n .subscribe((e: KeyboardEvent) => {\n if (this.isRemovable && e.key === KeyCode.ENTER) {\n this.onRemoveClick();\n }\n });\n }\n}\n","<ng-content></ng-content>\n@if(isRemovable) {\n <span class=\"ecl-tag__icon\" (click)=\"onRemoveClick()\">\n <ecl-icon icon=\"close-outline\" class=\"ecl-tag__icon-close\" [title]=\"title | titlecase\"></ecl-icon>\n</span>\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to style a container as a set of tags.\n * Adds the `ecl-tag-set` class to the host element.\n */\n@Directive({\n selector: '[eclTagSet]',\n})\nexport class EclTagSetDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag-set` to define the layout for a group of tags.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag-set')].join(' ').trim();\n }\n}\n\n/**\n * Directive to mark an element as an individual item in a tag set.\n * Adds the `ecl-tag-set__item` class to the host element.\n */\n@Directive({\n selector: '[eclTagSetItem]',\n})\nexport class EclTagSetItemDirective extends ECLBaseDirective {\n /**\n * Adds the `ecl-tag-set__item` CSS class to the host element.\n */\n @HostBinding('class.ecl-tag-set__item') hasClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to apply external icon styling inside an ECL tag.\n * Adds specific CSS classes to render an \"external\" icon next to the tag content.\n */\n@Directive({\n selector: '[eclTagIconExternal]',\n})\nexport class EclTagIconExternalDirective extends ECLBaseDirective {\n /**\n * CSS classes applied to the host element.\n * Adds `ecl-tag__icon ecl-tag__icon--external` to display the icon correctly.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-tag__icon ecl-tag__icon--external')].join(' ').trim();\n }\n}\n","import { EclTagComponent } from './ecl-tag.component';\nimport { EclTagSetDirective, EclTagSetItemDirective } from './ecl-tag-set.directive';\nimport { EclTagIconExternalDirective } from './ecl-tag-icon.directive';\n\nexport * from './ecl-tag.component';\nexport * from './ecl-tag-set.directive';\nexport * from './ecl-tag-icon.directive';\nexport * from './events/ecl-tag-remove.event';\n\nexport const EUI_ECL_TAG = [\n EclTagComponent, EclTagSetDirective, EclTagSetItemDirective, EclTagIconExternalDirective,\n] as const;","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, booleanAttribute,
|
|
2
|
+
import { inject, input, booleanAttribute, computed, Directive } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
5
5
|
|
|
@@ -9,20 +9,21 @@ import { ECLBaseDirective } from '@eui/ecl/core';
|
|
|
9
9
|
class EclTextAreaDirective extends ECLBaseDirective {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
+
this.ngControl = inject(NgControl, { optional: true, self: true });
|
|
12
13
|
/**
|
|
13
14
|
* Width of the component, can be 's', 'm' or 'l'. Default value is 'm'.
|
|
14
15
|
*/
|
|
15
16
|
this.eclSize = input('m', /* @ts-ignore */
|
|
16
17
|
...(ngDevMode ? [{ debugName: "eclSize" }] : /* istanbul ignore next */ []));
|
|
17
18
|
this.isInvalid = input(false, { ...(ngDevMode ? { debugName: "isInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Adds specific classes for the component.
|
|
21
|
+
*/
|
|
22
|
+
this.cssClasses = computed(() => {
|
|
23
|
+
const eclSize = this.eclSize();
|
|
24
|
+
return [super.getCssClasses('ecl-text-area'), eclSize ? `ecl-text-area--${eclSize}` : ''].join(' ').trim();
|
|
25
|
+
}, /* @ts-ignore */
|
|
26
|
+
...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
28
29
|
* Adds 'ecl-text-area--invalid' class, depending on the invalid status of the component.
|
|
@@ -36,20 +37,18 @@ class EclTextAreaDirective extends ECLBaseDirective {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextAreaDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclTextAreaDirective, isStandalone: true, selector: "textarea[eclTextArea]", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclTextAreaDirective, isStandalone: true, selector: "textarea[eclTextArea]", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses()", "class.ecl-text-area--invalid": "invalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
40
41
|
}
|
|
41
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextAreaDirective, decorators: [{
|
|
42
43
|
type: Directive,
|
|
43
44
|
args: [{
|
|
44
45
|
selector: 'textarea[eclTextArea]',
|
|
46
|
+
host: {
|
|
47
|
+
'[class]': 'cssClasses()',
|
|
48
|
+
'[class.ecl-text-area--invalid]': 'invalidState',
|
|
49
|
+
},
|
|
45
50
|
}]
|
|
46
|
-
}], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }]
|
|
47
|
-
type: HostBinding,
|
|
48
|
-
args: ['class']
|
|
49
|
-
}], invalidState: [{
|
|
50
|
-
type: HostBinding,
|
|
51
|
-
args: ['class.ecl-text-area--invalid']
|
|
52
|
-
}] } });
|
|
51
|
+
}], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }] } });
|
|
53
52
|
|
|
54
53
|
const EUI_ECL_TEXT_AREA = [
|
|
55
54
|
EclTextAreaDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-text-area.mjs","sources":["../../components/ecl-text-area/ecl-text-area.directive.ts","../../components/ecl-text-area/index.ts","../../components/ecl-text-area/eui-ecl-components-ecl-text-area.ts"],"sourcesContent":["import { Directive,
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-text-area.mjs","sources":["../../components/ecl-text-area/ecl-text-area.directive.ts","../../components/ecl-text-area/index.ts","../../components/ecl-text-area/eui-ecl-components-ecl-text-area.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, inject, input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive to be used with <textarea> HTML component. Applies custom styles and formatting, that comply with the ECL standards.\n */\n@Directive({\n selector: 'textarea[eclTextArea]',\n host: {\n '[class]': 'cssClasses()',\n '[class.ecl-text-area--invalid]': 'invalidState',\n },\n})\nexport class EclTextAreaDirective extends ECLBaseDirective {\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * Width of the component, can be 's', 'm' or 'l'. Default value is 'm'.\n */\n readonly eclSize = input('m');\n readonly isInvalid = input(false, { transform: booleanAttribute });\n\n /**\n * Adds specific classes for the component.\n */\n readonly cssClasses = computed(() => {\n const eclSize = this.eclSize();\n return [super.getCssClasses('ecl-text-area'), eclSize ? `ecl-text-area--${eclSize}` : ''].join(' ').trim();\n });\n\n /**\n * Adds 'ecl-text-area--invalid' class, depending on the invalid status of the component.\n */\n get invalidState(): boolean {\n if (this.ngControl) {\n return this.ngControl.status === 'INVALID' && this.ngControl.touched;\n } else {\n return this.isInvalid();\n }\n }\n}\n","import { EclTextAreaDirective } from './ecl-text-area.directive';\n\nexport * from './ecl-text-area.directive';\n\nexport const EUI_ECL_TEXT_AREA = [\n EclTextAreaDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AAQG,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;AAP1D,IAAA,WAAA,GAAA;;AAQqB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAE9E;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG;oFAAC;QACpB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAElE;;AAEG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAChC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,CAAA,eAAA,EAAkB,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAC9G,CAAC;uFAAC;AAYL,IAAA;AAVG;;AAEG;AACH,IAAA,IAAI,YAAY,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO;QACxE;aAAO;AACH,YAAA,OAAO,IAAI,CAAC,SAAS,EAAE;QAC3B;IACJ;8GA1BS,oBAAoB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,cAAA,EAAA,8BAAA,EAAA,cAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,cAAc;AACzB,wBAAA,gCAAgC,EAAE,cAAc;AACnD,qBAAA;AACJ,iBAAA;;;ACTM,MAAM,iBAAiB,GAAG;IAC/B,oBAAoB;;;ACLtB;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { input, booleanAttribute, computed, inject, Directive } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
4
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
5
5
|
|
|
@@ -9,7 +9,6 @@ import { ECLBaseDirective } from '@eui/ecl/core';
|
|
|
9
9
|
class EclTextInputDirective extends ECLBaseDirective {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
-
this.ngControl = inject(NgControl, { optional: true, self: true });
|
|
13
12
|
/**
|
|
14
13
|
* This directive should be used with the input type 'text'.
|
|
15
14
|
*/
|
|
@@ -21,13 +20,15 @@ class EclTextInputDirective extends ECLBaseDirective {
|
|
|
21
20
|
this.eclSize = input('m', /* @ts-ignore */
|
|
22
21
|
...(ngDevMode ? [{ debugName: "eclSize" }] : /* istanbul ignore next */ []));
|
|
23
22
|
this.isInvalid = input(false, { ...(ngDevMode ? { debugName: "isInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Adds ECL classes for the component.
|
|
25
|
+
*/
|
|
26
|
+
this.cssClasses = computed(() => {
|
|
27
|
+
const eclSize = this.eclSize();
|
|
28
|
+
return [super.getCssClasses('ecl-text-input'), eclSize ? `ecl-text-input--${eclSize}` : ''].join(' ').trim();
|
|
29
|
+
}, /* @ts-ignore */
|
|
30
|
+
...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
|
|
31
|
+
this.ngControl = inject(NgControl, { optional: true, self: true });
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Adds 'ecl-text-input--invalid' class, depending on the invalid status of the component.
|
|
@@ -41,7 +42,7 @@ class EclTextInputDirective extends ECLBaseDirective {
|
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclTextInputDirective, isStandalone: true, selector: "input[eclTextInput]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.type": "type()", "class": "
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclTextInputDirective, isStandalone: true, selector: "input[eclTextInput]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.type": "type()", "class": "cssClasses()", "class.ecl-text-input--invalid": "invalidState" } }, usesInheritance: true, ngImport: i0 }); }
|
|
45
46
|
}
|
|
46
47
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextInputDirective, decorators: [{
|
|
47
48
|
type: Directive,
|
|
@@ -49,15 +50,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
|
|
|
49
50
|
selector: 'input[eclTextInput]',
|
|
50
51
|
host: {
|
|
51
52
|
'[attr.type]': 'type()',
|
|
53
|
+
'[class]': 'cssClasses()',
|
|
54
|
+
'[class.ecl-text-input--invalid]': 'invalidState',
|
|
52
55
|
},
|
|
53
56
|
}]
|
|
54
|
-
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }]
|
|
55
|
-
type: HostBinding,
|
|
56
|
-
args: ['class']
|
|
57
|
-
}], invalidState: [{
|
|
58
|
-
type: HostBinding,
|
|
59
|
-
args: ['class.ecl-text-input--invalid']
|
|
60
|
-
}] } });
|
|
57
|
+
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }] } });
|
|
61
58
|
|
|
62
59
|
const EUI_ECL_TEXT_INPUT = [
|
|
63
60
|
EclTextInputDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-text-input.mjs","sources":["../../components/ecl-text-input/ecl-text-input.directive.ts","../../components/ecl-text-input/index.ts","../../components/ecl-text-input/eui-ecl-components-ecl-text-input.ts"],"sourcesContent":["import { Directive,
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-text-input.mjs","sources":["../../components/ecl-text-input/ecl-text-input.directive.ts","../../components/ecl-text-input/index.ts","../../components/ecl-text-input/eui-ecl-components-ecl-text-input.ts"],"sourcesContent":["import { Directive, booleanAttribute, computed, inject, input } from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n/**\n * Directive, to be used with the HTMl element text <input>. Adds ECL compliant styling.\n */\n@Directive({\n selector: 'input[eclTextInput]',\n host: {\n '[attr.type]': 'type()',\n '[class]': 'cssClasses()',\n '[class.ecl-text-input--invalid]': 'invalidState',\n },\n})\nexport class EclTextInputDirective extends ECLBaseDirective {\n /**\n * This directive should be used with the input type 'text'.\n */\n readonly type = input('text');\n\n /**\n * The size of the input width. Can be 's', 'm' or 'l'. Default value is 'm'.\n */\n readonly eclSize = input('m');\n readonly isInvalid = input(false, { transform: booleanAttribute });\n\n /**\n * Adds ECL classes for the component.\n */\n readonly cssClasses = computed(() => {\n const eclSize = this.eclSize();\n return [super.getCssClasses('ecl-text-input'), eclSize ? `ecl-text-input--${eclSize}` : ''].join(' ').trim();\n });\n\n protected readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n /**\n * Adds 'ecl-text-input--invalid' class, depending on the invalid status of the component.\n */\n protected get invalidState(): boolean {\n if (this.ngControl) {\n return Boolean(this.ngControl.status === 'INVALID' && this.ngControl.touched);\n } else {\n return this.isInvalid();\n }\n }\n}\n","import { EclTextInputDirective } from './ecl-text-input.directive';\n\nexport * from './ecl-text-input.directive';\n\nexport const EUI_ECL_TEXT_INPUT = [\n EclTextInputDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA;;AAEG;AASG,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AAR3D,IAAA,WAAA,GAAA;;AASI;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,MAAM;iFAAC;AAE7B;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,GAAG;oFAAC;QACpB,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAElE;;AAEG;AACM,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAChC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAA,gBAAA,EAAmB,OAAO,CAAA,CAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAChH,CAAC;uFAAC;AAEiB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAYnF,IAAA;AAVG;;AAEG;AACH,IAAA,IAAc,YAAY,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAChB,YAAA,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QACjF;aAAO;AACH,YAAA,OAAO,IAAI,CAAC,SAAS,EAAE;QAC3B;IACJ;8GA/BS,qBAAqB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,OAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,cAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,IAAI,EAAE;AACF,wBAAA,aAAa,EAAE,QAAQ;AACvB,wBAAA,SAAS,EAAE,cAAc;AACzB,wBAAA,iCAAiC,EAAE,cAAc;AACpD,qBAAA;AACJ,iBAAA;;;ACVM,MAAM,kBAAkB,GAAG;IAChC,qBAAqB;;;ACLvB;;AAEG;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { input, contentChild, effect, Component, Directive } from '@angular/core';
|
|
2
|
+
import { input, contentChild, computed, effect, Component, Directive } from '@angular/core';
|
|
3
3
|
import { ECLBaseDirective } from '@eui/ecl/core';
|
|
4
4
|
import { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';
|
|
5
5
|
|
|
@@ -16,6 +16,13 @@ class EclTextMediaComponent extends ECLBaseDirective {
|
|
|
16
16
|
...(ngDevMode ? [{ debugName: "mediaPosition" }] : /* istanbul ignore next */ []));
|
|
17
17
|
this.mediaContainer = contentChild(EclMediaContainerComponent, /* @ts-ignore */
|
|
18
18
|
...(ngDevMode ? [{ debugName: "mediaContainer" }] : /* istanbul ignore next */ []));
|
|
19
|
+
this.cssClasses = computed(() => {
|
|
20
|
+
return [super.getCssClasses('ecl-text-media'),
|
|
21
|
+
this.variant() === 'primary' ? 'ecl-text-media--primary' : '',
|
|
22
|
+
this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',
|
|
23
|
+
].filter(Boolean).join(' ');
|
|
24
|
+
}, /* @ts-ignore */
|
|
25
|
+
...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
|
|
19
26
|
effect(() => {
|
|
20
27
|
const mc = this.mediaContainer();
|
|
21
28
|
if (mc?.hasVideo()) {
|
|
@@ -23,19 +30,13 @@ class EclTextMediaComponent extends ECLBaseDirective {
|
|
|
23
30
|
}
|
|
24
31
|
});
|
|
25
32
|
}
|
|
26
|
-
get cssClasses() {
|
|
27
|
-
return [super.getCssClasses('ecl-text-media'),
|
|
28
|
-
this.variant() === 'primary' ? 'ecl-text-media--primary' : '',
|
|
29
|
-
this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',
|
|
30
|
-
].filter(Boolean).join(' ');
|
|
31
|
-
}
|
|
32
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextMediaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclTextMediaComponent, isStandalone: true, selector: "article[eclTextMedia]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, mediaPosition: { classPropertyName: "mediaPosition", publicName: "mediaPosition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses" } }, queries: [{ propertyName: "mediaContainer", first: true, predicate: EclMediaContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>" }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.2", type: EclTextMediaComponent, isStandalone: true, selector: "article[eclTextMedia]", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, mediaPosition: { classPropertyName: "mediaPosition", publicName: "mediaPosition", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses()" } }, queries: [{ propertyName: "mediaContainer", first: true, predicate: EclMediaContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>" }); }
|
|
34
35
|
}
|
|
35
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclTextMediaComponent, decorators: [{
|
|
36
37
|
type: Component,
|
|
37
38
|
args: [{ selector: 'article[eclTextMedia]', host: {
|
|
38
|
-
'[class]': 'cssClasses',
|
|
39
|
+
'[class]': 'cssClasses()',
|
|
39
40
|
}, template: "<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>" }]
|
|
40
41
|
}], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], mediaPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "mediaPosition", required: false }] }], mediaContainer: [{ type: i0.ContentChild, args: [i0.forwardRef(() => EclMediaContainerComponent), { isSignal: true }] }] } });
|
|
41
42
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n
|
|
1
|
+
{"version":3,"file":"eui-ecl-components-ecl-text-media.mjs","sources":["../../components/ecl-text-media/ecl-text-media.component.ts","../../components/ecl-text-media/ecl-text-media.component.html","../../components/ecl-text-media/ecl-text-media-title.directive.ts","../../components/ecl-text-media/index.ts","../../components/ecl-text-media/eui-ecl-components-ecl-text-media.ts"],"sourcesContent":["import { Component, computed, contentChild, effect, input } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclMediaContainerComponent } from '@eui/ecl/components/ecl-media-container';\n\n/**\n * A media container is used to display media items (video, audio, image or other data)\n * with text and a caption.\n */\n@Component({\n selector: 'article[eclTextMedia]',\n templateUrl: './ecl-text-media.component.html',\n host: {\n '[class]': 'cssClasses()',\n },\n})\nexport class EclTextMediaComponent extends ECLBaseDirective {\n variant = input<'default' | 'primary'>('default');\n\n mediaPosition = input<'left' | 'right'>('right');\n\n private mediaContainer = contentChild(EclMediaContainerComponent);\n\n constructor() {\n super();\n effect(() => {\n const mc = this.mediaContainer();\n if (mc?.hasVideo()) {\n mc.captionPositionOverride.set('hidden');\n }\n });\n }\n\n cssClasses = computed(() => {\n return [super.getCssClasses('ecl-text-media'),\n this.variant() === 'primary' ? 'ecl-text-media--primary' : '',\n this.mediaPosition() === 'left' ? 'ecl-text-media--position-left' : '',\n ].filter(Boolean).join(' ');\n });\n}\n","<div class=\"ecl-text-media__content\">\n <ng-content select=\"div[eclTextMediaMicroTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaTitle]\"></ng-content>\n <ng-content select=\"div[eclTextMediaDescription]\"></ng-content>\n <ng-content select=\"a[eclTextMediaLink]\"></ng-content>\n</div>\n<div class=\"ecl-text-media__media\">\n <ng-content select=\"ecl-media-container\"></ng-content>\n</div>","import { Directive, input } from '@angular/core';\n\n/**\n * Applies styles for the micro title element.\n */\n@Directive({\n selector: 'div[eclTextMediaMicroTitle]',\n host: {\n class: 'ecl-text-media__micro-title',\n },\n})\nexport class EclTextMediaMicroTitleDirective {}\n\n/**\n * Applies styles for the title element.\n */\n@Directive({\n selector: 'div[eclTextMediaTitle]',\n host: {\n class: 'ecl-text-media__title',\n },\n})\nexport class EclTextMediaTitleDirective {}\n\n/**\n * Applies styles for the description element.\n */\n@Directive({\n selector: 'div[eclTextMediaDescription]',\n host: {\n class: 'ecl-text-media__description ecl-content-color',\n },\n})\nexport class EclTextMediaDescriptionDirective {}\n\n/**\n * Applies styles for the link element.\n */\n@Directive({\n selector: 'a[eclTextMediaLink]',\n host: {\n class: 'ecl-text-media__link',\n },\n})\nexport class EclTextMediaLinkDirective {}\n\n/**\n * Sets the `--ecl-image-anchor` CSS custom property for an image used\n * within the `ecl-text-media` component.\n *\n * Intended to be used together with `img[eclMediaContainerImage]`\n * from the `ecl-media-container` component.\n */\n@Directive({\n selector: 'img[eclTextMediaImgAnchor]',\n host: {\n '[style.--ecl-image-anchor]': 'anchor()',\n },\n})\nexport class EclTextMediaMediaAnchorDirective {\n readonly anchor = input<'center' | 'top left' | 'bottom right' | '20% 20%'>('center', { alias: \"eclTextMediaImgAnchor\" });\n}\n\n/**\n * Sets custom class for the `ecl-text-media` component, used within eclTextMedia component.\n */\n@Directive({\n selector: 'ecl-media-container[eclTextMediaContainer]',\n host: {\n class: 'ecl-text-media__media_container',\n },\n})\nexport class EclTextMediaContainerDirective {}\n","import { EclTextMediaComponent } from \"./ecl-text-media.component\";\nimport { EclTextMediaMicroTitleDirective, EclTextMediaTitleDirective, EclTextMediaDescriptionDirective, EclTextMediaLinkDirective, EclTextMediaMediaAnchorDirective, EclTextMediaContainerDirective } from \"./ecl-text-media-title.directive\";\n\nexport * from './ecl-text-media.component';\nexport * from './ecl-text-media-title.directive';\n\nexport const EUI_ECL_TEXT_MEDIA = [\n EclTextMediaComponent,\n EclTextMediaMicroTitleDirective,\n EclTextMediaTitleDirective,\n EclTextMediaDescriptionDirective,\n EclTextMediaLinkDirective,\n EclTextMediaMediaAnchorDirective,\n EclTextMediaContainerDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|