@agorapulse/ui-components 20.4.32 → 21.0.0
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/agorapulse-ui-components-21.0.0.tgz +0 -0
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs +17 -18
- package/fesm2022/agorapulse-ui-components-action-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-add-comment.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs +7 -7
- package/fesm2022/agorapulse-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-avatar-group.mjs +11 -13
- package/fesm2022/agorapulse-ui-components-avatar-group.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-avatar.mjs +21 -23
- package/fesm2022/agorapulse-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-badge.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-button.mjs +15 -15
- package/fesm2022/agorapulse-ui-components-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-checkbox.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-close-button.mjs +7 -7
- package/fesm2022/agorapulse-ui-components-close-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-confirm-modal.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-counter.mjs +9 -9
- package/fesm2022/agorapulse-ui-components-counter.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-datepicker.mjs +50 -50
- package/fesm2022/agorapulse-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-directives.mjs +26 -26
- package/fesm2022/agorapulse-ui-components-directives.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-dot-stepper.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-dropdown-base.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-filter-chips-list.mjs +22 -22
- package/fesm2022/agorapulse-ui-components-filter-chips-list.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs +78 -78
- package/fesm2022/agorapulse-ui-components-filter-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-form-field.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-form-message.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-form-message.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-icon-button.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-icon-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-infobox.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-infobox.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input-group.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-input-search.mjs +9 -9
- package/fesm2022/agorapulse-ui-components-input-search.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-input.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-labels-selector.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-labels.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-legacy-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs +16 -16
- package/fesm2022/agorapulse-ui-components-legacy-select.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-legacy-textarea.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-media-display-overlay.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-modal.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +148 -148
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-neo-datepicker.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-notification.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-paginator.mjs +8 -8
- package/fesm2022/agorapulse-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-password-input.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs +5 -6
- package/fesm2022/agorapulse-ui-components-phone-number-input.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-popmenu.mjs +10 -10
- package/fesm2022/agorapulse-ui-components-radio-button-card.mjs +25 -25
- package/fesm2022/agorapulse-ui-components-radio-button-card.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-radio.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-range-slider.mjs +4 -4
- package/fesm2022/agorapulse-ui-components-range-slider.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-segmented-control.mjs +17 -10
- package/fesm2022/agorapulse-ui-components-segmented-control.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-select.mjs +74 -74
- package/fesm2022/agorapulse-ui-components-select.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-selection-dropdown.mjs +33 -33
- package/fesm2022/agorapulse-ui-components-selection-dropdown.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-slide-toggle.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-snackbars-thread.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-social-button.mjs +6 -6
- package/fesm2022/agorapulse-ui-components-social-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-split-button.mjs +14 -14
- package/fesm2022/agorapulse-ui-components-split-button.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-status-card.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-status.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-stepper.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-tabs.mjs +25 -24
- package/fesm2022/agorapulse-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-tag.mjs +9 -9
- package/fesm2022/agorapulse-ui-components-tag.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-text-measurement.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-textarea.mjs +3 -3
- package/fesm2022/agorapulse-ui-components-toggle.mjs +5 -5
- package/fesm2022/agorapulse-ui-components-toggle.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components-tooltip.mjs +34 -34
- package/fesm2022/agorapulse-ui-components-tooltip.mjs.map +1 -1
- package/fesm2022/agorapulse-ui-components.mjs +4 -4
- package/package.json +71 -70
- package/{button/index.d.ts → types/agorapulse-ui-components-button.d.ts} +1 -1
- package/{icon-button/index.d.ts → types/agorapulse-ui-components-icon-button.d.ts} +1 -1
- package/{paginator/index.d.ts → types/agorapulse-ui-components-paginator.d.ts} +1 -1
- package/{segmented-control/index.d.ts → types/agorapulse-ui-components-segmented-control.d.ts} +3 -2
- package/{social-button/index.d.ts → types/agorapulse-ui-components-social-button.d.ts} +1 -1
- package/{split-button/index.d.ts → types/agorapulse-ui-components-split-button.d.ts} +1 -1
- package/agorapulse-ui-components-20.4.32.tgz +0 -0
- /package/{action-dropdown/index.d.ts → types/agorapulse-ui-components-action-dropdown.d.ts} +0 -0
- /package/{add-comment/index.d.ts → types/agorapulse-ui-components-add-comment.d.ts} +0 -0
- /package/{autocomplete/index.d.ts → types/agorapulse-ui-components-autocomplete.d.ts} +0 -0
- /package/{avatar-group/index.d.ts → types/agorapulse-ui-components-avatar-group.d.ts} +0 -0
- /package/{avatar/index.d.ts → types/agorapulse-ui-components-avatar.d.ts} +0 -0
- /package/{badge/index.d.ts → types/agorapulse-ui-components-badge.d.ts} +0 -0
- /package/{checkbox/index.d.ts → types/agorapulse-ui-components-checkbox.d.ts} +0 -0
- /package/{close-button/index.d.ts → types/agorapulse-ui-components-close-button.d.ts} +0 -0
- /package/{confirm-modal/index.d.ts → types/agorapulse-ui-components-confirm-modal.d.ts} +0 -0
- /package/{counter/index.d.ts → types/agorapulse-ui-components-counter.d.ts} +0 -0
- /package/{datepicker/index.d.ts → types/agorapulse-ui-components-datepicker.d.ts} +0 -0
- /package/{directives/index.d.ts → types/agorapulse-ui-components-directives.d.ts} +0 -0
- /package/{dot-stepper/index.d.ts → types/agorapulse-ui-components-dot-stepper.d.ts} +0 -0
- /package/{dropdown-base/index.d.ts → types/agorapulse-ui-components-dropdown-base.d.ts} +0 -0
- /package/{filter-chips-list/index.d.ts → types/agorapulse-ui-components-filter-chips-list.d.ts} +0 -0
- /package/{filter-dropdown/index.d.ts → types/agorapulse-ui-components-filter-dropdown.d.ts} +0 -0
- /package/{form-field/index.d.ts → types/agorapulse-ui-components-form-field.d.ts} +0 -0
- /package/{form-message/index.d.ts → types/agorapulse-ui-components-form-message.d.ts} +0 -0
- /package/{infobox/index.d.ts → types/agorapulse-ui-components-infobox.d.ts} +0 -0
- /package/{input-group/index.d.ts → types/agorapulse-ui-components-input-group.d.ts} +0 -0
- /package/{input-search/index.d.ts → types/agorapulse-ui-components-input-search.d.ts} +0 -0
- /package/{input/index.d.ts → types/agorapulse-ui-components-input.d.ts} +0 -0
- /package/{labels-selector/index.d.ts → types/agorapulse-ui-components-labels-selector.d.ts} +0 -0
- /package/{labels/index.d.ts → types/agorapulse-ui-components-labels.d.ts} +0 -0
- /package/{legacy/input/index.d.ts → types/agorapulse-ui-components-legacy-input.d.ts} +0 -0
- /package/{legacy/select/index.d.ts → types/agorapulse-ui-components-legacy-select.d.ts} +0 -0
- /package/{legacy/textarea/index.d.ts → types/agorapulse-ui-components-legacy-textarea.d.ts} +0 -0
- /package/{media-display-overlay/index.d.ts → types/agorapulse-ui-components-media-display-overlay.d.ts} +0 -0
- /package/{modal/index.d.ts → types/agorapulse-ui-components-modal.d.ts} +0 -0
- /package/{nav-selector/testing/index.d.ts → types/agorapulse-ui-components-nav-selector-testing.d.ts} +0 -0
- /package/{nav-selector/index.d.ts → types/agorapulse-ui-components-nav-selector.d.ts} +0 -0
- /package/{neo-datepicker/index.d.ts → types/agorapulse-ui-components-neo-datepicker.d.ts} +0 -0
- /package/{notification/index.d.ts → types/agorapulse-ui-components-notification.d.ts} +0 -0
- /package/{password-input/index.d.ts → types/agorapulse-ui-components-password-input.d.ts} +0 -0
- /package/{phone-number-input/index.d.ts → types/agorapulse-ui-components-phone-number-input.d.ts} +0 -0
- /package/{popmenu/index.d.ts → types/agorapulse-ui-components-popmenu.d.ts} +0 -0
- /package/{providers/index.d.ts → types/agorapulse-ui-components-providers.d.ts} +0 -0
- /package/{radio-button-card/index.d.ts → types/agorapulse-ui-components-radio-button-card.d.ts} +0 -0
- /package/{radio/index.d.ts → types/agorapulse-ui-components-radio.d.ts} +0 -0
- /package/{range-slider/index.d.ts → types/agorapulse-ui-components-range-slider.d.ts} +0 -0
- /package/{select/index.d.ts → types/agorapulse-ui-components-select.d.ts} +0 -0
- /package/{selection-dropdown/index.d.ts → types/agorapulse-ui-components-selection-dropdown.d.ts} +0 -0
- /package/{slide-toggle/index.d.ts → types/agorapulse-ui-components-slide-toggle.d.ts} +0 -0
- /package/{snackbars-thread/index.d.ts → types/agorapulse-ui-components-snackbars-thread.d.ts} +0 -0
- /package/{status-card/index.d.ts → types/agorapulse-ui-components-status-card.d.ts} +0 -0
- /package/{status/index.d.ts → types/agorapulse-ui-components-status.d.ts} +0 -0
- /package/{stepper/index.d.ts → types/agorapulse-ui-components-stepper.d.ts} +0 -0
- /package/{tabs/index.d.ts → types/agorapulse-ui-components-tabs.d.ts} +0 -0
- /package/{tag/index.d.ts → types/agorapulse-ui-components-tag.d.ts} +0 -0
- /package/{text-measurement/index.d.ts → types/agorapulse-ui-components-text-measurement.d.ts} +0 -0
- /package/{textarea/index.d.ts → types/agorapulse-ui-components-textarea.d.ts} +0 -0
- /package/{toggle/index.d.ts → types/agorapulse-ui-components-toggle.d.ts} +0 -0
- /package/{tooltip/index.d.ts → types/agorapulse-ui-components-tooltip.d.ts} +0 -0
- /package/{index.d.ts → types/agorapulse-ui-components.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-phone-number-input.mjs","sources":["../../../libs/ui-components/phone-number-input/src/phone-number-input.component.ts","../../../libs/ui-components/phone-number-input/src/phone-number-input.component.html","../../../libs/ui-components/phone-number-input/src/agorapulse-ui-components-phone-number-input.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent, InputPrefixComponent } from '@agorapulse/ui-components/input-group';\nimport { DropdownItemSingleOneLineComponent, DropdownSearchFormComponent, SelectBaseDirective } from '@agorapulse/ui-components/select';\nimport { apCheck, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { CommonModule, NgOptimizedImage } from '@angular/common';\nimport { Component, DestroyRef, EventEmitter, forwardRef, inject, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormControl,\n FormGroup,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n Validators,\n} from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nexport interface PhoneNumberInfo {\n countryCode: string;\n countryName: string;\n phoneNumberCode: string;\n}\n\nexport interface Phone {\n phoneNumber: string;\n phoneNumberCode: string;\n}\n\nconst NUMBER_ONLY_PATTERN = /[0-9]/;\n\nconst DEFAULT_COUNTRY_CODE = 'US';\nconst DEFAULT_PHONE_NUMBER_CODE = '+1';\n\n@Component({\n selector: 'ap-phone-number-input',\n templateUrl: 'phone-number-input.component.html',\n styleUrls: ['phone-number-input.component.scss'],\n imports: [\n CommonModule,\n FormsModule,\n NgSelectModule,\n InputGroupComponent,\n SelectBaseDirective,\n InputDirective,\n InputPrefixComponent,\n DropdownItemSingleOneLineComponent,\n ReactiveFormsModule,\n NgOptimizedImage,\n DropdownSearchFormComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PhoneNumberInputComponent implements ControlValueAccessor, Validator, OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n @Input() set errorsDisplayForced(errorsDisplayForced: boolean) {\n if (errorsDisplayForced) {\n this.formGroup.markAllAsTouched();\n Object.values(this.formGroup.controls).forEach(control => control.markAsDirty());\n this.formGroup.updateValueAndValidity();\n }\n }\n @Input({ required: true }) flagsBucketUrl!: string;\n @Input({ required: true }) set phoneNumberInfos(phoneNumberInfos: PhoneNumberInfo[]) {\n this.codeNumberInfos = phoneNumberInfos ?? [];\n this.countryCodeMappedPhoneNumberInfos = phoneNumberInfos.reduce(\n (acc, phoneNumberInfo) => {\n acc[phoneNumberInfo.countryCode as string] = phoneNumberInfo;\n return acc;\n },\n {} as Record<string, PhoneNumberInfo>\n );\n }\n codeNumberInfos: PhoneNumberInfo[] = [];\n countryCodeMappedPhoneNumberInfos: Record<string, PhoneNumberInfo> = {};\n\n @Input({ required: true }) name!: string;\n @Input({ required: true }) placeholder!: string;\n @Input({ required: true }) searchPlaceholder!: string;\n @Input() set phoneNumber(phoneNumber: string) {\n this.formGroup.controls.phoneNumber.setValue(phoneNumber);\n }\n @Input() set phoneNumberCode(phoneNumberCode: string) {\n this.formGroup.controls.countryCode.setValue(phoneNumberCode);\n }\n @Input() set initialCountryCode(initialCountryCode: string) {\n const firstValue = this.findPhoneNumberInfoByCountryCode(initialCountryCode)?.countryCode;\n if (firstValue) {\n this.formGroup.patchValue({ countryCode: firstValue });\n }\n }\n\n @Output() changePhoneNumber: EventEmitter<string> = new EventEmitter<string>();\n @Output() changePhoneNumberCode: EventEmitter<string> = new EventEmitter<string>();\n\n formGroup = new FormGroup({\n countryCode: new FormControl<string>(DEFAULT_COUNTRY_CODE, [Validators.required]),\n phoneNumber: new FormControl<string>('', [Validators.required]),\n });\n\n public onTouched: any = () => {};\n public onChange: any = () => {};\n\n constructor(symbolRegistry: SymbolRegistry) {\n symbolRegistry.registerSymbols([apCheck]);\n }\n\n ngOnInit(): void {\n // Subscribe to form changes to propagate them to the parent component\n this.formGroup.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n let phoneNumberCode = DEFAULT_PHONE_NUMBER_CODE;\n if (value.countryCode) {\n const phoneNumberInfo = this.findPhoneNumberInfoByCountryCode(value.countryCode);\n if (phoneNumberInfo) {\n phoneNumberCode = phoneNumberInfo.phoneNumberCode;\n }\n }\n if (this.onChange && phoneNumberCode) {\n this.onChange({\n phoneNumber: value.phoneNumber,\n phoneNumberCode,\n });\n }\n if (value.phoneNumber !== this.phoneNumber) {\n this.changePhoneNumber.emit(value.phoneNumber ?? '');\n }\n if (phoneNumberCode !== this.phoneNumberCode) {\n this.changePhoneNumberCode.emit(phoneNumberCode ?? '');\n }\n });\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n validate(): ValidationErrors | null {\n return this.formGroup.valid ? null : { phoneNumber: 'invalid', ...this.formGroup.errors };\n }\n\n writeValue(phone: Phone | null): void {\n // Avoid setting an empty value for the phone number code, it should always have a value\n if (phone === null || !phone.phoneNumberCode) {\n this.formGroup.patchValue({ phoneNumber: phone?.phoneNumberCode ?? '' });\n } else {\n this.formGroup.patchValue(phone);\n }\n }\n\n phoneNumberCodeSearchFn(term: string, item: PhoneNumberInfo): boolean {\n const termCased = term.toLocaleLowerCase();\n return item.countryName.toLocaleLowerCase().indexOf(termCased) > -1 || item.countryCode.toLocaleLowerCase().indexOf(termCased) > -1;\n }\n\n markAsTouched(): void {\n this.formGroup.markAllAsTouched();\n }\n\n /**\n * Filter the phone number input to only allow numbers\n */\n filterChars(event: InputEvent): void {\n if (event.inputType !== 'insertText') {\n return;\n }\n const inputChar: string | null = event.data;\n if (inputChar && !NUMBER_ONLY_PATTERN.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n private findPhoneNumberInfoByCountryCode(countryCode: string): PhoneNumberInfo | undefined {\n return this.codeNumberInfos.find(codeInfo => codeInfo.countryCode === countryCode);\n }\n}\n","<ng-container [formGroup]=\"formGroup\">\n <ng-select\n #select\n apSelectSingle\n data-test=\"subscription-billing-infos-phoneNumberCode\"\n class=\"ap-phone-number-code-select ap-select\"\n bindLabel=\"countryName\"\n bindValue=\"countryCode\"\n notFoundText=\"\"\n formControlName=\"countryCode\"\n appendTo=\"body\"\n [clearable]=\"false\"\n [items]=\"codeNumberInfos\"\n [searchFn]=\"phoneNumberCodeSearchFn\"\n (blur)=\"onTouched()\">\n <ng-template\n let-item=\"item\"\n ng-label-tmp>\n @if (item && item.countryCode) {\n <div class=\"flag\">\n @if (!!flagsBucketUrl) {\n <img\n width=\"24\"\n height=\"16\"\n alt=\"flag\"\n [ngSrc]=\"flagsBucketUrl + '/' + item.countryCode.toUpperCase() + '.png'\" />\n } @else {\n <span>{{ item.countryCode }}</span>\n }\n </div>\n }\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ap-dropdown-item-single-one-line\n [text]=\"item.phoneNumberCode + ' ' + item.countryName\"\n [avatarUrl]=\"flagsBucketUrl + '/' + item.countryCode.toUpperCase() + '.png'\"\n [selected]=\"item$.selected\"\n [roundedAvatar]=\"false\"\n />\n </ng-template>\n <ng-template\n let-searchTerm=\"searchTerm\"\n ng-header-tmp>\n <ap-dropdown-search-form\n [searchPlaceholder]=\"searchPlaceholder\"\n [select]=\"select\"\n />\n </ng-template>\n </ng-select>\n <ap-input-group class=\"phone-number-input-group\">\n @let countryCode = formGroup.controls.countryCode.value;\n @let phoneNumberCode = countryCode ? countryCodeMappedPhoneNumberInfos[countryCode]?.phoneNumberCode : '';\n \n @if (phoneNumberCode) {\n <ap-input-prefix>{{phoneNumberCode}}</ap-input-prefix>\n }\n <input\n apInput\n class=\"phone-field\"\n data-test=\"subscription-billing-infos-phoneNumberInput\"\n type=\"text\"\n data-recurly=\"phone\"\n formControlName=\"phoneNumber\"\n [placeholder]=\"placeholder\"\n [attr.name]=\"name\"\n (beforeinput)=\"filterChars($event)\"\n (blur)=\"onTouched()\"\n />\n </ap-input-group>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-phone-number-input.mjs","sources":["../../../libs/ui-components/phone-number-input/src/phone-number-input.component.ts","../../../libs/ui-components/phone-number-input/src/phone-number-input.component.html","../../../libs/ui-components/phone-number-input/src/agorapulse-ui-components-phone-number-input.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\nimport { InputDirective } from '@agorapulse/ui-components/input';\nimport { InputGroupComponent, InputPrefixComponent } from '@agorapulse/ui-components/input-group';\nimport { DropdownItemSingleOneLineComponent, DropdownSearchFormComponent, SelectBaseDirective } from '@agorapulse/ui-components/select';\nimport { apCheck, SymbolRegistry } from '@agorapulse/ui-symbol';\nimport { NgOptimizedImage } from '@angular/common';\nimport { Component, DestroyRef, EventEmitter, forwardRef, inject, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n ControlValueAccessor,\n FormControl,\n FormGroup,\n FormsModule,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n ValidationErrors,\n Validator,\n Validators,\n} from '@angular/forms';\nimport { NgSelectModule } from '@ng-select/ng-select';\n\nexport interface PhoneNumberInfo {\n countryCode: string;\n countryName: string;\n phoneNumberCode: string;\n}\n\nexport interface Phone {\n phoneNumber: string;\n phoneNumberCode: string;\n}\n\nconst NUMBER_ONLY_PATTERN = /[0-9]/;\n\nconst DEFAULT_COUNTRY_CODE = 'US';\nconst DEFAULT_PHONE_NUMBER_CODE = '+1';\n\n@Component({\n selector: 'ap-phone-number-input',\n templateUrl: 'phone-number-input.component.html',\n styleUrls: ['phone-number-input.component.scss'],\n imports: [\n FormsModule,\n NgSelectModule,\n InputGroupComponent,\n SelectBaseDirective,\n InputDirective,\n InputPrefixComponent,\n DropdownItemSingleOneLineComponent,\n ReactiveFormsModule,\n NgOptimizedImage,\n DropdownSearchFormComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true,\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => PhoneNumberInputComponent),\n multi: true,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PhoneNumberInputComponent implements ControlValueAccessor, Validator, OnInit {\n private readonly destroyRef = inject(DestroyRef);\n\n @Input() set errorsDisplayForced(errorsDisplayForced: boolean) {\n if (errorsDisplayForced) {\n this.formGroup.markAllAsTouched();\n Object.values(this.formGroup.controls).forEach(control => control.markAsDirty());\n this.formGroup.updateValueAndValidity();\n }\n }\n @Input({ required: true }) flagsBucketUrl!: string;\n @Input({ required: true }) set phoneNumberInfos(phoneNumberInfos: PhoneNumberInfo[]) {\n this.codeNumberInfos = phoneNumberInfos ?? [];\n this.countryCodeMappedPhoneNumberInfos = phoneNumberInfos.reduce(\n (acc, phoneNumberInfo) => {\n acc[phoneNumberInfo.countryCode as string] = phoneNumberInfo;\n return acc;\n },\n {} as Record<string, PhoneNumberInfo>\n );\n }\n codeNumberInfos: PhoneNumberInfo[] = [];\n countryCodeMappedPhoneNumberInfos: Record<string, PhoneNumberInfo> = {};\n\n @Input({ required: true }) name!: string;\n @Input({ required: true }) placeholder!: string;\n @Input({ required: true }) searchPlaceholder!: string;\n @Input() set phoneNumber(phoneNumber: string) {\n this.formGroup.controls.phoneNumber.setValue(phoneNumber);\n }\n @Input() set phoneNumberCode(phoneNumberCode: string) {\n this.formGroup.controls.countryCode.setValue(phoneNumberCode);\n }\n @Input() set initialCountryCode(initialCountryCode: string) {\n const firstValue = this.findPhoneNumberInfoByCountryCode(initialCountryCode)?.countryCode;\n if (firstValue) {\n this.formGroup.patchValue({ countryCode: firstValue });\n }\n }\n\n @Output() changePhoneNumber: EventEmitter<string> = new EventEmitter<string>();\n @Output() changePhoneNumberCode: EventEmitter<string> = new EventEmitter<string>();\n\n formGroup = new FormGroup({\n countryCode: new FormControl<string>(DEFAULT_COUNTRY_CODE, [Validators.required]),\n phoneNumber: new FormControl<string>('', [Validators.required]),\n });\n\n public onTouched: any = () => {};\n public onChange: any = () => {};\n\n constructor(symbolRegistry: SymbolRegistry) {\n symbolRegistry.registerSymbols([apCheck]);\n }\n\n ngOnInit(): void {\n // Subscribe to form changes to propagate them to the parent component\n this.formGroup.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {\n let phoneNumberCode = DEFAULT_PHONE_NUMBER_CODE;\n if (value.countryCode) {\n const phoneNumberInfo = this.findPhoneNumberInfoByCountryCode(value.countryCode);\n if (phoneNumberInfo) {\n phoneNumberCode = phoneNumberInfo.phoneNumberCode;\n }\n }\n if (this.onChange && phoneNumberCode) {\n this.onChange({\n phoneNumber: value.phoneNumber,\n phoneNumberCode,\n });\n }\n if (value.phoneNumber !== this.phoneNumber) {\n this.changePhoneNumber.emit(value.phoneNumber ?? '');\n }\n if (phoneNumberCode !== this.phoneNumberCode) {\n this.changePhoneNumberCode.emit(phoneNumberCode ?? '');\n }\n });\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n validate(): ValidationErrors | null {\n return this.formGroup.valid ? null : { phoneNumber: 'invalid', ...this.formGroup.errors };\n }\n\n writeValue(phone: Phone | null): void {\n // Avoid setting an empty value for the phone number code, it should always have a value\n if (phone === null || !phone.phoneNumberCode) {\n this.formGroup.patchValue({ phoneNumber: phone?.phoneNumberCode ?? '' });\n } else {\n this.formGroup.patchValue(phone);\n }\n }\n\n phoneNumberCodeSearchFn(term: string, item: PhoneNumberInfo): boolean {\n const termCased = term.toLocaleLowerCase();\n return item.countryName.toLocaleLowerCase().indexOf(termCased) > -1 || item.countryCode.toLocaleLowerCase().indexOf(termCased) > -1;\n }\n\n markAsTouched(): void {\n this.formGroup.markAllAsTouched();\n }\n\n /**\n * Filter the phone number input to only allow numbers\n */\n filterChars(event: InputEvent): void {\n if (event.inputType !== 'insertText') {\n return;\n }\n const inputChar: string | null = event.data;\n if (inputChar && !NUMBER_ONLY_PATTERN.test(inputChar)) {\n event.preventDefault();\n }\n }\n\n private findPhoneNumberInfoByCountryCode(countryCode: string): PhoneNumberInfo | undefined {\n return this.codeNumberInfos.find(codeInfo => codeInfo.countryCode === countryCode);\n }\n}\n","<ng-container [formGroup]=\"formGroup\">\n <ng-select\n #select\n apSelectSingle\n data-test=\"subscription-billing-infos-phoneNumberCode\"\n class=\"ap-phone-number-code-select ap-select\"\n bindLabel=\"countryName\"\n bindValue=\"countryCode\"\n notFoundText=\"\"\n formControlName=\"countryCode\"\n appendTo=\"body\"\n [clearable]=\"false\"\n [items]=\"codeNumberInfos\"\n [searchFn]=\"phoneNumberCodeSearchFn\"\n (blur)=\"onTouched()\">\n <ng-template\n let-item=\"item\"\n ng-label-tmp>\n @if (item && item.countryCode) {\n <div class=\"flag\">\n @if (!!flagsBucketUrl) {\n <img\n width=\"24\"\n height=\"16\"\n alt=\"flag\"\n [ngSrc]=\"flagsBucketUrl + '/' + item.countryCode.toUpperCase() + '.png'\" />\n } @else {\n <span>{{ item.countryCode }}</span>\n }\n </div>\n }\n </ng-template>\n <ng-template\n let-item=\"item\"\n let-item$=\"item$\"\n ng-option-tmp>\n <ap-dropdown-item-single-one-line\n [text]=\"item.phoneNumberCode + ' ' + item.countryName\"\n [avatarUrl]=\"flagsBucketUrl + '/' + item.countryCode.toUpperCase() + '.png'\"\n [selected]=\"item$.selected\"\n [roundedAvatar]=\"false\"\n />\n </ng-template>\n <ng-template\n let-searchTerm=\"searchTerm\"\n ng-header-tmp>\n <ap-dropdown-search-form\n [searchPlaceholder]=\"searchPlaceholder\"\n [select]=\"select\"\n />\n </ng-template>\n </ng-select>\n <ap-input-group class=\"phone-number-input-group\">\n @let countryCode = formGroup.controls.countryCode.value;\n @let phoneNumberCode = countryCode ? countryCodeMappedPhoneNumberInfos[countryCode]?.phoneNumberCode : '';\n \n @if (phoneNumberCode) {\n <ap-input-prefix>{{phoneNumberCode}}</ap-input-prefix>\n }\n <input\n apInput\n class=\"phone-field\"\n data-test=\"subscription-billing-infos-phoneNumberInput\"\n type=\"text\"\n data-recurly=\"phone\"\n formControlName=\"phoneNumber\"\n [placeholder]=\"placeholder\"\n [attr.name]=\"name\"\n (beforeinput)=\"filterChars($event)\"\n (blur)=\"onTouched()\"\n />\n </ap-input-group>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -328,10 +328,10 @@ class PopmenuComponent {
|
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
}
|
|
331
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
332
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
331
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
332
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: PopmenuComponent, isStandalone: true, selector: "ap-popmenu", inputs: { data: "data", show: "show", close: "close" }, outputs: { menuClosed: "menuClosed", menuOpened: "menuOpened" }, host: { properties: { "style.top": "this.hostStyleTop", "style.border-radius": "this.hostStyleBorderRadius", "style.left": "this.hostStyleLeft", "style.z-index": "this.hostStyleZIndex", "style.transition": "this.hostStyleTransition", "style.width": "this.hostStyleWidth", "style.max-width": "this.hostStyleMaxWidth", "style.pointer-events": "this.hostStylePointerEvents", "class.tooltip-show": "this.hostClassShow", "class.tooltip-shadow": "this.hostClassShadow", "class.tooltip-light": "this.hostClassLight" } }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<button\n id=\"menuTrigger\"\n class=\"button-trigger\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (menuClosed)=\"onMenuClosed()\"\n (menuOpened)=\"onMenuOpened()\"></button>\n<mat-menu\n #menu=\"matMenu\"\n [yPosition]=\"!below ? 'above' : 'below'\"\n [xPosition]=\"!before ? 'after' : 'before'\"\n [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{ arrow ? 'arrow-before ' + arrowClass : '' }} {{ shadow ? 'shadow' : '' }} {{\n border ? '' : shadow ? 'shadow-no-border' : ''\n }} {{ rounded ? 'rounded-component' : '' }} {{ background ? '' : 'no-background' }} {{ panelClass }}\">\n @if (arrow) {\n <div\n class=\"{{ arrow ? 'arrow-before ' + arrowClass : '' }}\"\n [ngStyle]=\"{ left: arrowLeftPosition, right: arrowRightPosition, top: arrowTopPosition, bottom: arrowBottomPosition }\"></div>\n }\n <div\n class=\"{{ rounded ? 'rounded-component' : '' }} outline-none\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"{{ border ? 'popover-content ' : '' }} {{ rounded ? 'rounded-component' : '' }}\">\n <ng-container *ngTemplateOutlet=\"value; context: { menu: this }\" />\n </div>\n </div>\n</mat-menu>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.mat-mdc-menu-content{padding:0}.mat-mdc-menu-item{height:inherit;width:inherit;background-color:#fff;padding:0;cursor:default;box-shadow:0 4px 10px #0000001c}.mat-mdc-menu-item:hover{background-color:#fff!important;cursor:default;box-shadow:none!important}.outline-none{outline:none}.mat-mdc-menu-item:hover:not([disabled]),.mat-mdc-menu-item.cdk-program-focused:not([disabled]),.mat-mdc-menu-item.cdk-keyboard-focused:not([disabled]),.mat-mdc-menu-item-highlighted:not([disabled]){background-color:#fff!important;cursor:default;box-shadow:none!important}:host ::ng-deep .mat-mdc-button{max-width:1px;max-height:1px;min-width:1px;min-height:1px;padding:0;margin:0}:host{position:absolute;max-width:1px;max-height:1px;display:flex}.button-trigger{padding:0;border:none;height:1px;width:1px}::ng-deep .no-background .rounded-component{position:fixed}.popover-content{border:1px solid #dfe3e9}\n"], dependencies: [{ kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i1.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
333
333
|
}
|
|
334
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuComponent, decorators: [{
|
|
335
335
|
type: Component,
|
|
336
336
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-popmenu', imports: [ButtonComponent, MatMenuModule, NgStyle, NgTemplateOutlet], template: "<button\n id=\"menuTrigger\"\n class=\"button-trigger\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (menuClosed)=\"onMenuClosed()\"\n (menuOpened)=\"onMenuOpened()\"></button>\n<mat-menu\n #menu=\"matMenu\"\n [yPosition]=\"!below ? 'above' : 'below'\"\n [xPosition]=\"!before ? 'after' : 'before'\"\n [overlapTrigger]=\"false\"\n [hasBackdrop]=\"hasBackdrop\"\n [backdropClass]=\"backdropClass\"\n class=\"pop-menu {{ arrow ? 'arrow-before ' + arrowClass : '' }} {{ shadow ? 'shadow' : '' }} {{\n border ? '' : shadow ? 'shadow-no-border' : ''\n }} {{ rounded ? 'rounded-component' : '' }} {{ background ? '' : 'no-background' }} {{ panelClass }}\">\n @if (arrow) {\n <div\n class=\"{{ arrow ? 'arrow-before ' + arrowClass : '' }}\"\n [ngStyle]=\"{ left: arrowLeftPosition, right: arrowRightPosition, top: arrowTopPosition, bottom: arrowBottomPosition }\"></div>\n }\n <div\n class=\"{{ rounded ? 'rounded-component' : '' }} outline-none\"\n (click)=\"$event.stopPropagation()\">\n <div class=\"{{ border ? 'popover-content ' : '' }} {{ rounded ? 'rounded-component' : '' }}\">\n <ng-container *ngTemplateOutlet=\"value; context: { menu: this }\" />\n </div>\n </div>\n</mat-menu>\n", styles: ["[color=facebook]{color:#0866ff}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#0866ff}[border=facebook]{border:1px solid #0866ff}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=reddit]{color:#ff4500}[bgcolor=reddit],[hcolor=reddit]:hover{background-color:#ff4500}[border=reddit]{border:1px solid #ff4500}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.mat-mdc-menu-content{padding:0}.mat-mdc-menu-item{height:inherit;width:inherit;background-color:#fff;padding:0;cursor:default;box-shadow:0 4px 10px #0000001c}.mat-mdc-menu-item:hover{background-color:#fff!important;cursor:default;box-shadow:none!important}.outline-none{outline:none}.mat-mdc-menu-item:hover:not([disabled]),.mat-mdc-menu-item.cdk-program-focused:not([disabled]),.mat-mdc-menu-item.cdk-keyboard-focused:not([disabled]),.mat-mdc-menu-item-highlighted:not([disabled]){background-color:#fff!important;cursor:default;box-shadow:none!important}:host ::ng-deep .mat-mdc-button{max-width:1px;max-height:1px;min-width:1px;min-height:1px;padding:0;margin:0}:host{position:absolute;max-width:1px;max-height:1px;display:flex}.button-trigger{padding:0;border:none;height:1px;width:1px}::ng-deep .no-background .rounded-component{position:fixed}.popover-content{border:1px solid #dfe3e9}\n"] }]
|
|
337
337
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
|
|
@@ -630,10 +630,10 @@ class PopmenuDirective {
|
|
|
630
630
|
this.componentRef.instance.close = true;
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
634
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
633
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuDirective, deps: [{ token: PopmenuOptionsService, optional: true }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive });
|
|
634
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: PopmenuDirective, isStandalone: true, selector: "[apPopmenu]", inputs: { apPopmenuBorder: "apPopmenuBorder", apPopmenuDisabled: "apPopmenuDisabled", apPopmenuBackground: "apPopmenuBackground", arrow: "arrow", arrowOffset: "arrowOffset", arrowPosition: "arrowPosition", close: "close", hasBackdrop: "hasBackdrop", backdropClass: "backdropClass", panelClass: "panelClass", offset: "offset", offsets: "offsets", placement: "placement", pointer: "pointer", popMenuValue: ["apPopmenu", "popMenuValue"], position: "position", rounded: "rounded", shadow: "shadow", options: "options", menuOpen: "menuOpen" }, outputs: { menuClosed: "menuClosed", menuOpened: "menuOpened", menuOpenChange: "menuOpenChange" }, host: { listeners: { "click": "onClick()" } }, usesOnChanges: true, ngImport: i0 });
|
|
635
635
|
}
|
|
636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
636
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuDirective, decorators: [{
|
|
637
637
|
type: Directive,
|
|
638
638
|
args: [{
|
|
639
639
|
selector: '[apPopmenu]',
|
|
@@ -708,11 +708,11 @@ class PopmenuModule {
|
|
|
708
708
|
],
|
|
709
709
|
};
|
|
710
710
|
}
|
|
711
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
712
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
713
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
711
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
712
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.16", ngImport: i0, type: PopmenuModule, imports: [PopmenuDirective, PopmenuComponent], exports: [PopmenuDirective] });
|
|
713
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuModule, imports: [PopmenuComponent] });
|
|
714
714
|
}
|
|
715
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
715
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: PopmenuModule, decorators: [{
|
|
716
716
|
type: NgModule,
|
|
717
717
|
args: [{
|
|
718
718
|
imports: [PopmenuDirective, PopmenuComponent],
|
|
@@ -11,41 +11,41 @@ class RadioButtonCardComponent {
|
|
|
11
11
|
symbolRegistry = inject(SymbolRegistry);
|
|
12
12
|
ngControl = inject(NgControl, { optional: true, self: true });
|
|
13
13
|
// Accessibility inputs
|
|
14
|
-
ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
|
|
15
|
-
ariaLabelledby = input(null, ...(ngDevMode ? [{ debugName: "ariaLabelledby" }] : []));
|
|
16
|
-
ariaDescribedby = input('', ...(ngDevMode ? [{ debugName: "ariaDescribedby" }] : []));
|
|
14
|
+
ariaLabel = input('', ...(ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []));
|
|
15
|
+
ariaLabelledby = input(null, ...(ngDevMode ? [{ debugName: "ariaLabelledby" }] : /* istanbul ignore next */ []));
|
|
16
|
+
ariaDescribedby = input('', ...(ngDevMode ? [{ debugName: "ariaDescribedby" }] : /* istanbul ignore next */ []));
|
|
17
17
|
// Basic configuration inputs
|
|
18
|
-
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
19
|
-
radioId = input(`ap-radio-button-${RadioButtonCardComponent.nextId++}`, ...(ngDevMode ? [{ debugName: "radioId" }] : []));
|
|
20
|
-
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
21
|
-
name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
18
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
19
|
+
radioId = input(`ap-radio-button-${RadioButtonCardComponent.nextId++}`, ...(ngDevMode ? [{ debugName: "radioId" }] : /* istanbul ignore next */ []));
|
|
20
|
+
value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
21
|
+
name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
22
22
|
// Card mode content inputs
|
|
23
|
-
title = input('', ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
24
|
-
description = input('', ...(ngDevMode ? [{ debugName: "description" }] : []));
|
|
25
|
-
linkUrl = input('', ...(ngDevMode ? [{ debugName: "linkUrl" }] : []));
|
|
26
|
-
linkTitle = input('', ...(ngDevMode ? [{ debugName: "linkTitle" }] : []));
|
|
27
|
-
titleSymbolId = input('', ...(ngDevMode ? [{ debugName: "titleSymbolId" }] : []));
|
|
28
|
-
tooltipText = input('', ...(ngDevMode ? [{ debugName: "tooltipText" }] : []));
|
|
29
|
-
statusBadge = input('', ...(ngDevMode ? [{ debugName: "statusBadge" }] : []));
|
|
23
|
+
title = input('', ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
24
|
+
description = input('', ...(ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []));
|
|
25
|
+
linkUrl = input('', ...(ngDevMode ? [{ debugName: "linkUrl" }] : /* istanbul ignore next */ []));
|
|
26
|
+
linkTitle = input('', ...(ngDevMode ? [{ debugName: "linkTitle" }] : /* istanbul ignore next */ []));
|
|
27
|
+
titleSymbolId = input('', ...(ngDevMode ? [{ debugName: "titleSymbolId" }] : /* istanbul ignore next */ []));
|
|
28
|
+
tooltipText = input('', ...(ngDevMode ? [{ debugName: "tooltipText" }] : /* istanbul ignore next */ []));
|
|
29
|
+
statusBadge = input('', ...(ngDevMode ? [{ debugName: "statusBadge" }] : /* istanbul ignore next */ []));
|
|
30
30
|
// Display and state inputs
|
|
31
|
-
mode = input('card', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
32
|
-
featureLocked = input(false, ...(ngDevMode ? [{ debugName: "featureLocked" }] : []));
|
|
33
|
-
hasError = input(false, ...(ngDevMode ? [{ debugName: "hasError" }] : []));
|
|
31
|
+
mode = input('card', ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
32
|
+
featureLocked = input(false, ...(ngDevMode ? [{ debugName: "featureLocked" }] : /* istanbul ignore next */ []));
|
|
33
|
+
hasError = input(false, ...(ngDevMode ? [{ debugName: "hasError" }] : /* istanbul ignore next */ []));
|
|
34
34
|
// Vertically centers the content within the card height.
|
|
35
|
-
centered = input(false, ...(ngDevMode ? [{ debugName: "centered" }] : []));
|
|
35
|
+
centered = input(false, ...(ngDevMode ? [{ debugName: "centered" }] : /* istanbul ignore next */ []));
|
|
36
36
|
// Internal state signals
|
|
37
|
-
checked = signal(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
|
|
37
|
+
checked = signal(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
|
|
38
38
|
computedName = computed(() => {
|
|
39
39
|
return this.name() || this.ngControl?.name || '';
|
|
40
|
-
}, ...(ngDevMode ? [{ debugName: "computedName" }] : []));
|
|
40
|
+
}, ...(ngDevMode ? [{ debugName: "computedName" }] : /* istanbul ignore next */ []));
|
|
41
41
|
customContentEnabled = computed(() => {
|
|
42
42
|
return this.title() || this.titleSymbolId() || this.statusBadge() || this.tooltipText() || this.description() || this.linkUrl();
|
|
43
|
-
}, ...(ngDevMode ? [{ debugName: "customContentEnabled" }] : []));
|
|
43
|
+
}, ...(ngDevMode ? [{ debugName: "customContentEnabled" }] : /* istanbul ignore next */ []));
|
|
44
44
|
// True when the card content should be vertically centered: explicitly opted in via centered,
|
|
45
45
|
// or a structured single-row card (no description or link) that centers automatically.
|
|
46
46
|
centeredLayout = computed(() => {
|
|
47
47
|
return this.centered() || (Boolean(this.customContentEnabled()) && !this.description() && !this.linkUrl());
|
|
48
|
-
}, ...(ngDevMode ? [{ debugName: "centeredLayout" }] : []));
|
|
48
|
+
}, ...(ngDevMode ? [{ debugName: "centeredLayout" }] : /* istanbul ignore next */ []));
|
|
49
49
|
constructor() {
|
|
50
50
|
this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));
|
|
51
51
|
// Set valueAccessor to avoid Angular error
|
|
@@ -75,10 +75,10 @@ class RadioButtonCardComponent {
|
|
|
75
75
|
registerOnTouched(fn) {
|
|
76
76
|
this.onModelTouched = fn;
|
|
77
77
|
}
|
|
78
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
79
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: RadioButtonCardComponent, isStandalone: true, selector: "ap-radio-button-card", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, radioId: { classPropertyName: "radioId", publicName: "radioId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null }, linkTitle: { classPropertyName: "linkTitle", publicName: "linkTitle", isSignal: true, isRequired: false, transformFunction: null }, titleSymbolId: { classPropertyName: "titleSymbolId", publicName: "titleSymbolId", isSignal: true, isRequired: false, transformFunction: null }, tooltipText: { classPropertyName: "tooltipText", publicName: "tooltipText", isSignal: true, isRequired: false, transformFunction: null }, statusBadge: { classPropertyName: "statusBadge", publicName: "statusBadge", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, featureLocked: { classPropertyName: "featureLocked", publicName: "featureLocked", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, centered: { classPropertyName: "centered", publicName: "centered", isSignal: true, isRequired: false, transformFunction: null } }, providers: [withSymbols(apInfo)], ngImport: i0, template: "<div\n class=\"radio-button-card__container\"\n [class.radio-button-card__container--default]=\"mode() === 'default'\"\n [class.radio-button-card__container--card]=\"mode() === 'card'\"\n [class.radio-button-card__container--locked]=\"featureLocked()\"\n [class.radio-button-card__container--error]=\"hasError()\"\n [class.radio-button-card__container--centered]=\"centeredLayout()\">\n <input\n type=\"radio\"\n class=\"radio-button-card__input\"\n [attr.id]=\"radioId()\"\n [attr.name]=\"computedName()\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled() || featureLocked()\"\n (change)=\"select()\" />\n <label\n class=\"radio-button-card__label\"\n [attr.for]=\"radioId()\">\n @if (featureLocked()) {\n <div class=\"radio-button-card__lock-icon\">\n <ap-symbol symbolId=\"feature-lock\" />\n </div>\n } @else {\n <div class=\"radio-button-card__indicator\">\n <div class=\"radio-button-card__indicator-outer\">\n <div class=\"radio-button-card__indicator-inner\"></div>\n </div>\n </div>\n }\n <div class=\"radio-button-card__content\">\n @if (customContentEnabled()) {\n <div class=\"radio-button-card__structured-content\">\n <div class=\"radio-button-card__header\">\n <div class=\"radio-button-card__header-left\">\n @if (titleSymbolId()) {\n <ap-symbol\n class=\"radio-button-card__title-symbol\"\n color=\"grey-blue\"\n [symbolId]=\"titleSymbolId()\" />\n }\n @if (title()) {\n <div class=\"radio-button-card__title\">{{ title() }}</div>\n }\n </div>\n <div class=\"radio-button-card__header-right\">\n @if (statusBadge()) {\n <ap-status\n class=\"radio-button-card__status\"\n color=\"grey\"\n [dot]=\"false\">\n {{ statusBadge() }}\n </ap-status>\n }\n @if (tooltipText()) {\n <ap-symbol\n apTooltipPosition=\"top\"\n class=\"radio-button-card__tooltip-icon\"\n symbolId=\"info\"\n [apTooltip]=\"tooltipText()\" />\n }\n </div>\n </div>\n @if (description()) {\n <div class=\"radio-button-card__description\">{{ description() }}</div>\n }\n @if (linkUrl()) {\n <a\n class=\"standalone radio-button-card__link\"\n [href]=\"linkUrl()\"\n (click)=\"$event.stopPropagation()\">\n {{ linkTitle() }}\n </a>\n }\n </div>\n } @else {\n <ng-content />\n }\n </div>\n </label>\n</div>\n", styles: ["ap-radio-button-card{display:block}ap-radio-button-card .radio-button-card__container{--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-80);--radio-border-color-focus: var(--ref-color-grey-100);--radio-indicator-border: var(--ref-color-grey-60);--radio-indicator-border-hover: var(--ref-color-grey-80);--radio-indicator-border-focus: var(--ref-color-grey-100);--radio-indicator-fill: var(--ref-color-electric-blue-100);--radio-content-opacity: 1;--radio-cursor: pointer;position:relative;display:block;width:100%;transition:all .2s ease-in-out;border:1px solid var(--radio-border-color);border-radius:var(--ref-border-radius-md);background:var(--radio-background)}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within){border-color:var(--radio-border-color-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)){border-color:var(--radio-border-color-focus)}ap-radio-button-card .radio-button-card__container:has(input:focus-visible){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:2px}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container{--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: var(--ref-color-electric-blue-100);border-radius:var(--ref-border-radius-md)}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:focus-visible){outline:none}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:checked){--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: transparent}ap-radio-button-card .radio-button-card__container--centered{display:flex;align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__header{align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__indicator,ap-radio-button-card .radio-button-card__container--centered .radio-button-card__lock-icon{top:50%;transform:translateY(-50%)}ap-radio-button-card .radio-button-card__container:has(input:checked){--radio-border-color: var(--ref-color-electric-blue-100);--radio-border-color-hover: var(--ref-color-electric-blue-100);--radio-border-color-focus: var(--ref-color-electric-blue-100);--radio-indicator-border: var(--ref-color-electric-blue-100);--radio-indicator-border-hover: var(--ref-color-electric-blue-100);--radio-indicator-border-focus: var(--ref-color-electric-blue-100)}ap-radio-button-card .radio-button-card__container:has(input:disabled){--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-20);--radio-border-color-focus: var(--ref-color-grey-20);--radio-indicator-border: var(--ref-color-grey-40);--radio-indicator-border-hover: var(--ref-color-grey-40);--radio-indicator-border-focus: var(--ref-color-grey-40);--radio-indicator-fill: var(--ref-color-grey-60);--radio-content-opacity: .6;--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container:has(input:disabled):has(input:checked){--radio-border-color: var(--ref-color-grey-40)}ap-radio-button-card .radio-button-card__container--default:has(input:disabled){--radio-border-color: transparent}ap-radio-button-card .radio-button-card__container--locked:has(input:disabled){--radio-border-color: var(--ref-color-purple-20);--radio-border-color-hover: var(--ref-color-purple-20);--radio-border-color-focus: var(--ref-color-purple-20);--radio-background: var(--ref-color-purple-10);--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container--error{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:checked){--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:disabled){--radio-border-color-hover: var(--ref-color-red-100);--radio-border-color-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__label{display:block;width:100%;padding:var(--ref-spacing-xs);padding-left:36px;cursor:var(--radio-cursor);text-align:left;font-family:inherit;font-size:inherit}ap-radio-button-card .radio-button-card__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}ap-radio-button-card .radio-button-card__indicator{position:absolute;top:13px;left:12px;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__lock-icon{position:absolute;top:13px;left:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--ref-color-purple-100)}ap-radio-button-card .radio-button-card__lock-icon ap-symbol{width:16px;height:16px}ap-radio-button-card .radio-button-card__indicator-outer{width:16px;height:16px;border:1px solid var(--radio-indicator-border);border-radius:50%;background:var(--ref-color-white);transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-focus)}ap-radio-button-card .radio-button-card__container:has(input:disabled) .radio-button-card__indicator-outer{background:var(--ref-color-grey-10)}ap-radio-button-card .radio-button-card__indicator-inner{width:10px;height:10px;border-radius:50%;background:var(--radio-indicator-fill);transform:scale(0);transition:transform .2s ease-in-out}ap-radio-button-card .radio-button-card__container:has(input:checked) .radio-button-card__indicator-inner{transform:scale(1)}ap-radio-button-card .radio-button-card__content{display:block;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100);cursor:var(--radio-cursor)}ap-radio-button-card .radio-button-card__content:not(:has(.radio-button-card__structured-content)){opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__structured-content{display:flex;flex-direction:column;gap:var(--ref-spacing-xxxs)}ap-radio-button-card .radio-button-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ref-spacing-sm)}ap-radio-button-card .radio-button-card__header-left{display:flex;align-items:center;gap:var(--ref-spacing-xxxs);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__header-right{display:flex;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0}ap-radio-button-card .radio-button-card__title-symbol{flex-shrink:0;width:16px;height:16px}ap-radio-button-card .radio-button-card__title{font-size:var(--ref-font-size-sm);font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__status{flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon{width:16px;height:16px;color:var(--ref-color-grey-60);flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon:hover{color:var(--ref-color-grey-80)}ap-radio-button-card .radio-button-card__description{font-size:var(--ref-font-size-sm);font-style:normal;line-height:var(--ref-font-line-height-sm);color:var(--ref-color-grey-80);opacity:var(--radio-content-opacity)}ap-radio-button-card a{display:block;gap:0}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container.radio-button-card__container--default{--radio-border-color: transparent;--radio-border-color-hover: transparent}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: StatusComponent, selector: "ap-status", inputs: ["color", "dot"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement", "apTooltipTrigger", "apTooltipType", "apTooltipPresentationContext", "apTooltipListItems", "apTooltipShowAvatarCaption"], exportAs: ["apTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioButtonCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.16", type: RadioButtonCardComponent, isStandalone: true, selector: "ap-radio-button-card", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, radioId: { classPropertyName: "radioId", publicName: "radioId", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, linkUrl: { classPropertyName: "linkUrl", publicName: "linkUrl", isSignal: true, isRequired: false, transformFunction: null }, linkTitle: { classPropertyName: "linkTitle", publicName: "linkTitle", isSignal: true, isRequired: false, transformFunction: null }, titleSymbolId: { classPropertyName: "titleSymbolId", publicName: "titleSymbolId", isSignal: true, isRequired: false, transformFunction: null }, tooltipText: { classPropertyName: "tooltipText", publicName: "tooltipText", isSignal: true, isRequired: false, transformFunction: null }, statusBadge: { classPropertyName: "statusBadge", publicName: "statusBadge", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, featureLocked: { classPropertyName: "featureLocked", publicName: "featureLocked", isSignal: true, isRequired: false, transformFunction: null }, hasError: { classPropertyName: "hasError", publicName: "hasError", isSignal: true, isRequired: false, transformFunction: null }, centered: { classPropertyName: "centered", publicName: "centered", isSignal: true, isRequired: false, transformFunction: null } }, providers: [withSymbols(apInfo)], ngImport: i0, template: "<div\n class=\"radio-button-card__container\"\n [class.radio-button-card__container--default]=\"mode() === 'default'\"\n [class.radio-button-card__container--card]=\"mode() === 'card'\"\n [class.radio-button-card__container--locked]=\"featureLocked()\"\n [class.radio-button-card__container--error]=\"hasError()\"\n [class.radio-button-card__container--centered]=\"centeredLayout()\">\n <input\n type=\"radio\"\n class=\"radio-button-card__input\"\n [attr.id]=\"radioId()\"\n [attr.name]=\"computedName()\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled() || featureLocked()\"\n (change)=\"select()\" />\n <label\n class=\"radio-button-card__label\"\n [attr.for]=\"radioId()\">\n @if (featureLocked()) {\n <div class=\"radio-button-card__lock-icon\">\n <ap-symbol symbolId=\"feature-lock\" />\n </div>\n } @else {\n <div class=\"radio-button-card__indicator\">\n <div class=\"radio-button-card__indicator-outer\">\n <div class=\"radio-button-card__indicator-inner\"></div>\n </div>\n </div>\n }\n <div class=\"radio-button-card__content\">\n @if (customContentEnabled()) {\n <div class=\"radio-button-card__structured-content\">\n <div class=\"radio-button-card__header\">\n <div class=\"radio-button-card__header-left\">\n @if (titleSymbolId()) {\n <ap-symbol\n class=\"radio-button-card__title-symbol\"\n color=\"grey-blue\"\n [symbolId]=\"titleSymbolId()\" />\n }\n @if (title()) {\n <div class=\"radio-button-card__title\">{{ title() }}</div>\n }\n </div>\n <div class=\"radio-button-card__header-right\">\n @if (statusBadge()) {\n <ap-status\n class=\"radio-button-card__status\"\n color=\"grey\"\n [dot]=\"false\">\n {{ statusBadge() }}\n </ap-status>\n }\n @if (tooltipText()) {\n <ap-symbol\n apTooltipPosition=\"top\"\n class=\"radio-button-card__tooltip-icon\"\n symbolId=\"info\"\n [apTooltip]=\"tooltipText()\" />\n }\n </div>\n </div>\n @if (description()) {\n <div class=\"radio-button-card__description\">{{ description() }}</div>\n }\n @if (linkUrl()) {\n <a\n class=\"standalone radio-button-card__link\"\n [href]=\"linkUrl()\"\n (click)=\"$event.stopPropagation()\">\n {{ linkTitle() }}\n </a>\n }\n </div>\n } @else {\n <ng-content />\n }\n </div>\n </label>\n</div>\n", styles: ["ap-radio-button-card{display:block}ap-radio-button-card .radio-button-card__container{--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-80);--radio-border-color-focus: var(--ref-color-grey-100);--radio-indicator-border: var(--ref-color-grey-60);--radio-indicator-border-hover: var(--ref-color-grey-80);--radio-indicator-border-focus: var(--ref-color-grey-100);--radio-indicator-fill: var(--ref-color-electric-blue-100);--radio-content-opacity: 1;--radio-cursor: pointer;position:relative;display:block;width:100%;transition:all .2s ease-in-out;border:1px solid var(--radio-border-color);border-radius:var(--ref-border-radius-md);background:var(--radio-background)}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within){border-color:var(--radio-border-color-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)){border-color:var(--radio-border-color-focus)}ap-radio-button-card .radio-button-card__container:has(input:focus-visible){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:2px}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container{--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: var(--ref-color-electric-blue-100);border-radius:var(--ref-border-radius-md)}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:focus-visible){outline:none}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:checked){--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: transparent}ap-radio-button-card .radio-button-card__container--centered{display:flex;align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__header{align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__indicator,ap-radio-button-card .radio-button-card__container--centered .radio-button-card__lock-icon{top:50%;transform:translateY(-50%)}ap-radio-button-card .radio-button-card__container:has(input:checked){--radio-border-color: var(--ref-color-electric-blue-100);--radio-border-color-hover: var(--ref-color-electric-blue-100);--radio-border-color-focus: var(--ref-color-electric-blue-100);--radio-indicator-border: var(--ref-color-electric-blue-100);--radio-indicator-border-hover: var(--ref-color-electric-blue-100);--radio-indicator-border-focus: var(--ref-color-electric-blue-100)}ap-radio-button-card .radio-button-card__container:has(input:disabled){--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-20);--radio-border-color-focus: var(--ref-color-grey-20);--radio-indicator-border: var(--ref-color-grey-40);--radio-indicator-border-hover: var(--ref-color-grey-40);--radio-indicator-border-focus: var(--ref-color-grey-40);--radio-indicator-fill: var(--ref-color-grey-60);--radio-content-opacity: .6;--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container:has(input:disabled):has(input:checked){--radio-border-color: var(--ref-color-grey-40)}ap-radio-button-card .radio-button-card__container--default:has(input:disabled){--radio-border-color: transparent}ap-radio-button-card .radio-button-card__container--locked:has(input:disabled){--radio-border-color: var(--ref-color-purple-20);--radio-border-color-hover: var(--ref-color-purple-20);--radio-border-color-focus: var(--ref-color-purple-20);--radio-background: var(--ref-color-purple-10);--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container--error{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:checked){--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:disabled){--radio-border-color-hover: var(--ref-color-red-100);--radio-border-color-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__label{display:block;width:100%;padding:var(--ref-spacing-xs);padding-left:36px;cursor:var(--radio-cursor);text-align:left;font-family:inherit;font-size:inherit}ap-radio-button-card .radio-button-card__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}ap-radio-button-card .radio-button-card__indicator{position:absolute;top:13px;left:12px;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__lock-icon{position:absolute;top:13px;left:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--ref-color-purple-100)}ap-radio-button-card .radio-button-card__lock-icon ap-symbol{width:16px;height:16px}ap-radio-button-card .radio-button-card__indicator-outer{width:16px;height:16px;border:1px solid var(--radio-indicator-border);border-radius:50%;background:var(--ref-color-white);transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-focus)}ap-radio-button-card .radio-button-card__container:has(input:disabled) .radio-button-card__indicator-outer{background:var(--ref-color-grey-10)}ap-radio-button-card .radio-button-card__indicator-inner{width:10px;height:10px;border-radius:50%;background:var(--radio-indicator-fill);transform:scale(0);transition:transform .2s ease-in-out}ap-radio-button-card .radio-button-card__container:has(input:checked) .radio-button-card__indicator-inner{transform:scale(1)}ap-radio-button-card .radio-button-card__content{display:block;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100);cursor:var(--radio-cursor)}ap-radio-button-card .radio-button-card__content:not(:has(.radio-button-card__structured-content)){opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__structured-content{display:flex;flex-direction:column;gap:var(--ref-spacing-xxxs)}ap-radio-button-card .radio-button-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ref-spacing-sm)}ap-radio-button-card .radio-button-card__header-left{display:flex;align-items:center;gap:var(--ref-spacing-xxxs);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__header-right{display:flex;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0}ap-radio-button-card .radio-button-card__title-symbol{flex-shrink:0;width:16px;height:16px}ap-radio-button-card .radio-button-card__title{font-size:var(--ref-font-size-sm);font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__status{flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon{width:16px;height:16px;color:var(--ref-color-grey-60);flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon:hover{color:var(--ref-color-grey-80)}ap-radio-button-card .radio-button-card__description{font-size:var(--ref-font-size-sm);font-style:normal;line-height:var(--ref-font-line-height-sm);color:var(--ref-color-grey-80);opacity:var(--radio-content-opacity)}ap-radio-button-card a{display:block;gap:0}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container.radio-button-card__container--default{--radio-border-color: transparent;--radio-border-color-hover: transparent}\n"], dependencies: [{ kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: StatusComponent, selector: "ap-status", inputs: ["color", "dot"] }, { kind: "directive", type: TooltipDirective, selector: "[apTooltip]", inputs: ["apTooltip", "apTooltipPosition", "apTooltipShowDelay", "apTooltipHideDelay", "apTooltipDuration", "apTooltipDisabled", "apTooltipTruncatedTextOnly", "apTooltipTemplateContext", "apTooltipVirtualScrollElement", "apTooltipTrigger", "apTooltipType", "apTooltipPresentationContext", "apTooltipListItems", "apTooltipShowAvatarCaption"], exportAs: ["apTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
80
80
|
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioButtonCardComponent, decorators: [{
|
|
82
82
|
type: Component,
|
|
83
83
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-radio-button-card', standalone: true, imports: [SymbolComponent, StatusComponent, TooltipDirective], providers: [withSymbols(apInfo)], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"radio-button-card__container\"\n [class.radio-button-card__container--default]=\"mode() === 'default'\"\n [class.radio-button-card__container--card]=\"mode() === 'card'\"\n [class.radio-button-card__container--locked]=\"featureLocked()\"\n [class.radio-button-card__container--error]=\"hasError()\"\n [class.radio-button-card__container--centered]=\"centeredLayout()\">\n <input\n type=\"radio\"\n class=\"radio-button-card__input\"\n [attr.id]=\"radioId()\"\n [attr.name]=\"computedName()\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled() || featureLocked()\"\n (change)=\"select()\" />\n <label\n class=\"radio-button-card__label\"\n [attr.for]=\"radioId()\">\n @if (featureLocked()) {\n <div class=\"radio-button-card__lock-icon\">\n <ap-symbol symbolId=\"feature-lock\" />\n </div>\n } @else {\n <div class=\"radio-button-card__indicator\">\n <div class=\"radio-button-card__indicator-outer\">\n <div class=\"radio-button-card__indicator-inner\"></div>\n </div>\n </div>\n }\n <div class=\"radio-button-card__content\">\n @if (customContentEnabled()) {\n <div class=\"radio-button-card__structured-content\">\n <div class=\"radio-button-card__header\">\n <div class=\"radio-button-card__header-left\">\n @if (titleSymbolId()) {\n <ap-symbol\n class=\"radio-button-card__title-symbol\"\n color=\"grey-blue\"\n [symbolId]=\"titleSymbolId()\" />\n }\n @if (title()) {\n <div class=\"radio-button-card__title\">{{ title() }}</div>\n }\n </div>\n <div class=\"radio-button-card__header-right\">\n @if (statusBadge()) {\n <ap-status\n class=\"radio-button-card__status\"\n color=\"grey\"\n [dot]=\"false\">\n {{ statusBadge() }}\n </ap-status>\n }\n @if (tooltipText()) {\n <ap-symbol\n apTooltipPosition=\"top\"\n class=\"radio-button-card__tooltip-icon\"\n symbolId=\"info\"\n [apTooltip]=\"tooltipText()\" />\n }\n </div>\n </div>\n @if (description()) {\n <div class=\"radio-button-card__description\">{{ description() }}</div>\n }\n @if (linkUrl()) {\n <a\n class=\"standalone radio-button-card__link\"\n [href]=\"linkUrl()\"\n (click)=\"$event.stopPropagation()\">\n {{ linkTitle() }}\n </a>\n }\n </div>\n } @else {\n <ng-content />\n }\n </div>\n </label>\n</div>\n", styles: ["ap-radio-button-card{display:block}ap-radio-button-card .radio-button-card__container{--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-80);--radio-border-color-focus: var(--ref-color-grey-100);--radio-indicator-border: var(--ref-color-grey-60);--radio-indicator-border-hover: var(--ref-color-grey-80);--radio-indicator-border-focus: var(--ref-color-grey-100);--radio-indicator-fill: var(--ref-color-electric-blue-100);--radio-content-opacity: 1;--radio-cursor: pointer;position:relative;display:block;width:100%;transition:all .2s ease-in-out;border:1px solid var(--radio-border-color);border-radius:var(--ref-border-radius-md);background:var(--radio-background)}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within){border-color:var(--radio-border-color-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)){border-color:var(--radio-border-color-focus)}ap-radio-button-card .radio-button-card__container:has(input:focus-visible){outline:2px solid var(--ref-color-electric-blue-100);outline-offset:2px}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container{--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: var(--ref-color-electric-blue-100);border-radius:var(--ref-border-radius-md)}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:focus-visible){outline:none}ap-radio-button-card .radio-button-card__container--default.radio-button-card__container:has(input:checked){--radio-border-color: transparent;--radio-border-color-hover: transparent;--radio-border-color-focus: transparent}ap-radio-button-card .radio-button-card__container--centered{display:flex;align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__header{align-items:center}ap-radio-button-card .radio-button-card__container--centered .radio-button-card__indicator,ap-radio-button-card .radio-button-card__container--centered .radio-button-card__lock-icon{top:50%;transform:translateY(-50%)}ap-radio-button-card .radio-button-card__container:has(input:checked){--radio-border-color: var(--ref-color-electric-blue-100);--radio-border-color-hover: var(--ref-color-electric-blue-100);--radio-border-color-focus: var(--ref-color-electric-blue-100);--radio-indicator-border: var(--ref-color-electric-blue-100);--radio-indicator-border-hover: var(--ref-color-electric-blue-100);--radio-indicator-border-focus: var(--ref-color-electric-blue-100)}ap-radio-button-card .radio-button-card__container:has(input:disabled){--radio-border-color: var(--ref-color-grey-20);--radio-border-color-hover: var(--ref-color-grey-20);--radio-border-color-focus: var(--ref-color-grey-20);--radio-indicator-border: var(--ref-color-grey-40);--radio-indicator-border-hover: var(--ref-color-grey-40);--radio-indicator-border-focus: var(--ref-color-grey-40);--radio-indicator-fill: var(--ref-color-grey-60);--radio-content-opacity: .6;--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container:has(input:disabled):has(input:checked){--radio-border-color: var(--ref-color-grey-40)}ap-radio-button-card .radio-button-card__container--default:has(input:disabled){--radio-border-color: transparent}ap-radio-button-card .radio-button-card__container--locked:has(input:disabled){--radio-border-color: var(--ref-color-purple-20);--radio-border-color-hover: var(--ref-color-purple-20);--radio-border-color-focus: var(--ref-color-purple-20);--radio-background: var(--ref-color-purple-10);--radio-cursor: not-allowed}ap-radio-button-card .radio-button-card__container--error{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:checked){--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-border-color-focus: var(--ref-color-red-100);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-border-hover: var(--ref-color-red-60);--radio-indicator-border-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__container--error:has(input:disabled){--radio-border-color-hover: var(--ref-color-red-100);--radio-border-color-focus: var(--ref-color-red-100)}ap-radio-button-card .radio-button-card__label{display:block;width:100%;padding:var(--ref-spacing-xs);padding-left:36px;cursor:var(--radio-cursor);text-align:left;font-family:inherit;font-size:inherit}ap-radio-button-card .radio-button-card__input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}ap-radio-button-card .radio-button-card__indicator{position:absolute;top:13px;left:12px;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__lock-icon{position:absolute;top:13px;left:12px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:var(--ref-color-purple-100)}ap-radio-button-card .radio-button-card__lock-icon ap-symbol{width:16px;height:16px}ap-radio-button-card .radio-button-card__indicator-outer{width:16px;height:16px;border:1px solid var(--radio-indicator-border);border-radius:50%;background:var(--ref-color-white);transition:all .2s ease-in-out;display:flex;align-items:center;justify-content:center}ap-radio-button-card .radio-button-card__container:has(input:not(:disabled)):hover:not(:focus-within) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-hover)}ap-radio-button-card .radio-button-card__container:focus-within:has(input:not(:disabled)) .radio-button-card__indicator-outer{border-color:var(--radio-indicator-border-focus)}ap-radio-button-card .radio-button-card__container:has(input:disabled) .radio-button-card__indicator-outer{background:var(--ref-color-grey-10)}ap-radio-button-card .radio-button-card__indicator-inner{width:10px;height:10px;border-radius:50%;background:var(--radio-indicator-fill);transform:scale(0);transition:transform .2s ease-in-out}ap-radio-button-card .radio-button-card__container:has(input:checked) .radio-button-card__indicator-inner{transform:scale(1)}ap-radio-button-card .radio-button-card__content{display:block;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100);cursor:var(--radio-cursor)}ap-radio-button-card .radio-button-card__content:not(:has(.radio-button-card__structured-content)){opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__structured-content{display:flex;flex-direction:column;gap:var(--ref-spacing-xxxs)}ap-radio-button-card .radio-button-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--ref-spacing-sm)}ap-radio-button-card .radio-button-card__header-left{display:flex;align-items:center;gap:var(--ref-spacing-xxxs);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__header-right{display:flex;align-items:center;gap:var(--ref-spacing-xxs);flex-shrink:0}ap-radio-button-card .radio-button-card__title-symbol{flex-shrink:0;width:16px;height:16px}ap-radio-button-card .radio-button-card__title{font-size:var(--ref-font-size-sm);font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-sm);flex:1;min-width:0;opacity:var(--radio-content-opacity)}ap-radio-button-card .radio-button-card__status{flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon{width:16px;height:16px;color:var(--ref-color-grey-60);flex-shrink:0}ap-radio-button-card .radio-button-card__tooltip-icon:hover{color:var(--ref-color-grey-80)}ap-radio-button-card .radio-button-card__description{font-size:var(--ref-font-size-sm);font-style:normal;line-height:var(--ref-font-line-height-sm);color:var(--ref-color-grey-80);opacity:var(--radio-content-opacity)}ap-radio-button-card a{display:block;gap:0}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container{--radio-border-color: var(--ref-color-red-100);--radio-border-color-hover: var(--ref-color-red-60);--radio-indicator-border: var(--ref-color-red-100);--radio-indicator-fill: var(--ref-color-red-100)}ap-radio-button-card.ng-invalid.ng-dirty .radio-button-card__container.radio-button-card__container--default{--radio-border-color: transparent;--radio-border-color-hover: transparent}\n"] }]
|
|
84
84
|
}], ctorParameters: () => [], propDecorators: { ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledby", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedby", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], radioId: [{ type: i0.Input, args: [{ isSignal: true, alias: "radioId", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], linkUrl: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkUrl", required: false }] }], linkTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "linkTitle", required: false }] }], titleSymbolId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleSymbolId", required: false }] }], tooltipText: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipText", required: false }] }], statusBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusBadge", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], featureLocked: [{ type: i0.Input, args: [{ isSignal: true, alias: "featureLocked", required: false }] }], hasError: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasError", required: false }] }], centered: [{ type: i0.Input, args: [{ isSignal: true, alias: "centered", required: false }] }] } });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agorapulse-ui-components-radio-button-card.mjs","sources":["../../../libs/ui-components/radio-button-card/src/radio-button-card.component.ts","../../../libs/ui-components/radio-button-card/src/radio-button-card.component.html","../../../libs/ui-components/radio-button-card/src/agorapulse-ui-components-radio-button-card.ts"],"sourcesContent":["import { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { StatusComponent } from '@agorapulse/ui-components/status';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { apInfo, SymbolComponent, SymbolRegistry, withSymbols } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-radio-button-card',\n styleUrls: ['./radio-button-card.component.scss'],\n standalone: true,\n imports: [SymbolComponent, StatusComponent, TooltipDirective],\n providers: [withSymbols(apInfo)],\n templateUrl: './radio-button-card.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioButtonCardComponent implements ControlValueAccessor {\n private static nextId = 0;\n private readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n // Accessibility inputs\n readonly ariaLabel = input<string>('');\n readonly ariaLabelledby = input<string | null>(null);\n readonly ariaDescribedby = input<string>('');\n\n // Basic configuration inputs\n readonly disabled = input(false);\n readonly radioId = input<string>(`ap-radio-button-${RadioButtonCardComponent.nextId++}`);\n readonly value = input.required<string>();\n readonly name = input<string>('');\n\n // Card mode content inputs\n readonly title = input<string>('');\n readonly description = input<string>('');\n readonly linkUrl = input<string>('');\n readonly linkTitle = input<string>('');\n readonly titleSymbolId = input<string>('');\n readonly tooltipText = input<string>('');\n readonly statusBadge = input<string>('');\n\n // Display and state inputs\n readonly mode = input<'default' | 'card'>('card');\n readonly featureLocked = input(false);\n readonly hasError = input(false);\n // Vertically centers the content within the card height.\n readonly centered = input(false);\n\n // Internal state signals\n readonly checked = signal(false);\n readonly computedName = computed(() => {\n return this.name() || this.ngControl?.name || '';\n });\n\n readonly customContentEnabled = computed(() => {\n return this.title() || this.titleSymbolId() || this.statusBadge() || this.tooltipText() || this.description() || this.linkUrl();\n });\n\n // True when the card content should be vertically centered: explicitly opted in via centered,\n // or a structured single-row card (no description or link) that centers automatically.\n readonly centeredLayout = computed(() => {\n return this.centered() || (Boolean(this.customContentEnabled()) && !this.description() && !this.linkUrl());\n });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n\n // Set valueAccessor to avoid Angular error\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n select() {\n const currentValue = this.value();\n this.checked.set(true);\n this.onModelChange(currentValue);\n }\n\n writeValue(value: unknown): void {\n const currentValue = this.value();\n const shouldBeChecked = value == currentValue;\n this.checked.set(shouldBeChecked);\n }\n\n onModelChange: (value: unknown) => void = () => {\n // No-op until Angular registers the actual callback\n };\n\n onModelTouched: () => void = () => {\n // No-op until Angular registers the actual callback\n };\n\n registerOnChange(fn: () => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n}\n","<div\n class=\"radio-button-card__container\"\n [class.radio-button-card__container--default]=\"mode() === 'default'\"\n [class.radio-button-card__container--card]=\"mode() === 'card'\"\n [class.radio-button-card__container--locked]=\"featureLocked()\"\n [class.radio-button-card__container--error]=\"hasError()\"\n [class.radio-button-card__container--centered]=\"centeredLayout()\">\n <input\n type=\"radio\"\n class=\"radio-button-card__input\"\n [attr.id]=\"radioId()\"\n [attr.name]=\"computedName()\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled() || featureLocked()\"\n (change)=\"select()\" />\n <label\n class=\"radio-button-card__label\"\n [attr.for]=\"radioId()\">\n @if (featureLocked()) {\n <div class=\"radio-button-card__lock-icon\">\n <ap-symbol symbolId=\"feature-lock\" />\n </div>\n } @else {\n <div class=\"radio-button-card__indicator\">\n <div class=\"radio-button-card__indicator-outer\">\n <div class=\"radio-button-card__indicator-inner\"></div>\n </div>\n </div>\n }\n <div class=\"radio-button-card__content\">\n @if (customContentEnabled()) {\n <div class=\"radio-button-card__structured-content\">\n <div class=\"radio-button-card__header\">\n <div class=\"radio-button-card__header-left\">\n @if (titleSymbolId()) {\n <ap-symbol\n class=\"radio-button-card__title-symbol\"\n color=\"grey-blue\"\n [symbolId]=\"titleSymbolId()\" />\n }\n @if (title()) {\n <div class=\"radio-button-card__title\">{{ title() }}</div>\n }\n </div>\n <div class=\"radio-button-card__header-right\">\n @if (statusBadge()) {\n <ap-status\n class=\"radio-button-card__status\"\n color=\"grey\"\n [dot]=\"false\">\n {{ statusBadge() }}\n </ap-status>\n }\n @if (tooltipText()) {\n <ap-symbol\n apTooltipPosition=\"top\"\n class=\"radio-button-card__tooltip-icon\"\n symbolId=\"info\"\n [apTooltip]=\"tooltipText()\" />\n }\n </div>\n </div>\n @if (description()) {\n <div class=\"radio-button-card__description\">{{ description() }}</div>\n }\n @if (linkUrl()) {\n <a\n class=\"standalone radio-button-card__link\"\n [href]=\"linkUrl()\"\n (click)=\"$event.stopPropagation()\">\n {{ linkTitle() }}\n </a>\n }\n </div>\n } @else {\n <ng-content />\n }\n </div>\n </label>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agorapulse-ui-components-radio-button-card.mjs","sources":["../../../libs/ui-components/radio-button-card/src/radio-button-card.component.ts","../../../libs/ui-components/radio-button-card/src/radio-button-card.component.html","../../../libs/ui-components/radio-button-card/src/agorapulse-ui-components-radio-button-card.ts"],"sourcesContent":["import { UI_COMPONENTS_SYMBOLS } from '@agorapulse/ui-components/providers';\nimport { StatusComponent } from '@agorapulse/ui-components/status';\nimport { TooltipDirective } from '@agorapulse/ui-components/tooltip';\nimport { apInfo, SymbolComponent, SymbolRegistry, withSymbols } from '@agorapulse/ui-symbol';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'ap-radio-button-card',\n styleUrls: ['./radio-button-card.component.scss'],\n standalone: true,\n imports: [SymbolComponent, StatusComponent, TooltipDirective],\n providers: [withSymbols(apInfo)],\n templateUrl: './radio-button-card.component.html',\n encapsulation: ViewEncapsulation.None,\n})\nexport class RadioButtonCardComponent implements ControlValueAccessor {\n private static nextId = 0;\n private readonly symbolRegistry: SymbolRegistry = inject(SymbolRegistry);\n private readonly ngControl = inject(NgControl, { optional: true, self: true });\n\n // Accessibility inputs\n readonly ariaLabel = input<string>('');\n readonly ariaLabelledby = input<string | null>(null);\n readonly ariaDescribedby = input<string>('');\n\n // Basic configuration inputs\n readonly disabled = input(false);\n readonly radioId = input<string>(`ap-radio-button-${RadioButtonCardComponent.nextId++}`);\n readonly value = input.required<string>();\n readonly name = input<string>('');\n\n // Card mode content inputs\n readonly title = input<string>('');\n readonly description = input<string>('');\n readonly linkUrl = input<string>('');\n readonly linkTitle = input<string>('');\n readonly titleSymbolId = input<string>('');\n readonly tooltipText = input<string>('');\n readonly statusBadge = input<string>('');\n\n // Display and state inputs\n readonly mode = input<'default' | 'card'>('card');\n readonly featureLocked = input(false);\n readonly hasError = input(false);\n // Vertically centers the content within the card height.\n readonly centered = input(false);\n\n // Internal state signals\n readonly checked = signal(false);\n readonly computedName = computed(() => {\n return this.name() || this.ngControl?.name || '';\n });\n\n readonly customContentEnabled = computed(() => {\n return this.title() || this.titleSymbolId() || this.statusBadge() || this.tooltipText() || this.description() || this.linkUrl();\n });\n\n // True when the card content should be vertically centered: explicitly opted in via centered,\n // or a structured single-row card (no description or link) that centers automatically.\n readonly centeredLayout = computed(() => {\n return this.centered() || (Boolean(this.customContentEnabled()) && !this.description() && !this.linkUrl());\n });\n\n constructor() {\n this.symbolRegistry.withSymbols(...(inject(UI_COMPONENTS_SYMBOLS, { optional: true })?.flat() ?? []));\n\n // Set valueAccessor to avoid Angular error\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n select() {\n const currentValue = this.value();\n this.checked.set(true);\n this.onModelChange(currentValue);\n }\n\n writeValue(value: unknown): void {\n const currentValue = this.value();\n const shouldBeChecked = value == currentValue;\n this.checked.set(shouldBeChecked);\n }\n\n onModelChange: (value: unknown) => void = () => {\n // No-op until Angular registers the actual callback\n };\n\n onModelTouched: () => void = () => {\n // No-op until Angular registers the actual callback\n };\n\n registerOnChange(fn: () => void): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onModelTouched = fn;\n }\n}\n","<div\n class=\"radio-button-card__container\"\n [class.radio-button-card__container--default]=\"mode() === 'default'\"\n [class.radio-button-card__container--card]=\"mode() === 'card'\"\n [class.radio-button-card__container--locked]=\"featureLocked()\"\n [class.radio-button-card__container--error]=\"hasError()\"\n [class.radio-button-card__container--centered]=\"centeredLayout()\">\n <input\n type=\"radio\"\n class=\"radio-button-card__input\"\n [attr.id]=\"radioId()\"\n [attr.name]=\"computedName()\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-label]=\"ariaLabel() || null\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [value]=\"value()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled() || featureLocked()\"\n (change)=\"select()\" />\n <label\n class=\"radio-button-card__label\"\n [attr.for]=\"radioId()\">\n @if (featureLocked()) {\n <div class=\"radio-button-card__lock-icon\">\n <ap-symbol symbolId=\"feature-lock\" />\n </div>\n } @else {\n <div class=\"radio-button-card__indicator\">\n <div class=\"radio-button-card__indicator-outer\">\n <div class=\"radio-button-card__indicator-inner\"></div>\n </div>\n </div>\n }\n <div class=\"radio-button-card__content\">\n @if (customContentEnabled()) {\n <div class=\"radio-button-card__structured-content\">\n <div class=\"radio-button-card__header\">\n <div class=\"radio-button-card__header-left\">\n @if (titleSymbolId()) {\n <ap-symbol\n class=\"radio-button-card__title-symbol\"\n color=\"grey-blue\"\n [symbolId]=\"titleSymbolId()\" />\n }\n @if (title()) {\n <div class=\"radio-button-card__title\">{{ title() }}</div>\n }\n </div>\n <div class=\"radio-button-card__header-right\">\n @if (statusBadge()) {\n <ap-status\n class=\"radio-button-card__status\"\n color=\"grey\"\n [dot]=\"false\">\n {{ statusBadge() }}\n </ap-status>\n }\n @if (tooltipText()) {\n <ap-symbol\n apTooltipPosition=\"top\"\n class=\"radio-button-card__tooltip-icon\"\n symbolId=\"info\"\n [apTooltip]=\"tooltipText()\" />\n }\n </div>\n </div>\n @if (description()) {\n <div class=\"radio-button-card__description\">{{ description() }}</div>\n }\n @if (linkUrl()) {\n <a\n class=\"standalone radio-button-card__link\"\n [href]=\"linkUrl()\"\n (click)=\"$event.stopPropagation()\">\n {{ linkTitle() }}\n </a>\n }\n </div>\n } @else {\n <ng-content />\n }\n </div>\n </label>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -91,10 +91,10 @@ class RadioControlRegistry {
|
|
|
91
91
|
}
|
|
92
92
|
return radioComponent.name === accessor.name;
|
|
93
93
|
}
|
|
94
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
95
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' });
|
|
96
96
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioControlRegistry, decorators: [{
|
|
98
98
|
type: Injectable,
|
|
99
99
|
args: [{
|
|
100
100
|
providedIn: 'root',
|
|
@@ -263,10 +263,10 @@ class RadioComponent {
|
|
|
263
263
|
must match. Ex: <p-radioButton formControlName="food" name="food"></p-radioButton>
|
|
264
264
|
`);
|
|
265
265
|
}
|
|
266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
267
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
266
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
267
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.2.16", type: RadioComponent, isStandalone: true, selector: "ap-radio", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], disabled: ["disabled", "disabled", booleanAttribute], labelPosition: "labelPosition", radioId: "radioId", formControlName: "formControlName", value: "value", required: ["required", "required", booleanAttribute], name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, providers: [RADIO_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true, static: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
268
268
|
}
|
|
269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RadioComponent, decorators: [{
|
|
270
270
|
type: Component,
|
|
271
271
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-radio', standalone: true, providers: [RADIO_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"radio-button-container\"\n [class.required]=\"required\"\n [class.label-left]=\"labelPosition === 'left'\">\n <input\n #input\n type=\"radio\"\n tabindex=\"0\"\n [attr.id]=\"inputId\"\n [attr.name]=\"name + '-radio-' + radioIndex\"\n [attr.value]=\"value\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.data-test]=\"hostDataTest ?? name\"\n [checked]=\"checked\"\n [required]=\"required\"\n [class.disabled]=\"disabled\"\n (change)=\"onChange($event)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus($event)\" />\n <div\n class=\"radio-button\"\n [class.disabled]=\"disabled\"\n (click)=\"select($event)\"></div>\n <label\n [for]=\"inputId\"\n (click)=\"select($event)\">\n <ng-content />\n </label>\n</div>\n", styles: ["ap-radio .radio-button-container{display:flex;align-items:center;gap:var(--ref-spacing-xxs)}ap-radio .radio-button-container.label-left{flex-direction:row-reverse}ap-radio .radio-button-container input[type=radio]{transform:scale(0);position:absolute}ap-radio .radio-button-container input[type=radio]:checked~.radio-button{border-color:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 3px var(--ref-color-white)}ap-radio .radio-button-container input[type=radio]:checked~.radio-button.disabled{background:var(--ref-color-grey-40);box-shadow:inset 0 0 0 3px var(--ref-color-grey-10)}ap-radio .radio-button-container input[type=radio]:checked:focus~.radio-button{border-color:var(--ref-color-electric-blue-100)}ap-radio .radio-button-container input[type=radio].disabled~.radio-button{pointer-events:none;cursor:default;box-shadow:inset 0 0 0 16px var(--ref-color-grey-10);border-color:var(--ref-color-grey-20)}ap-radio .radio-button-container input[type=radio].disabled~label{pointer-events:none;cursor:default;color:var(--ref-color-grey-60)}ap-radio .radio-button-container input[type=radio]:focus~.radio-button{outline:3px solid var(--ref-color-electric-blue-100);border-color:var(--ref-color-grey-80);outline-offset:1px}ap-radio .radio-button-container .radio-button{width:16px;height:16px;border-radius:100%;border:1px solid var(--ref-color-grey-60);background:var(--ref-color-electric-blue-100);box-shadow:inset 0 0 0 16px var(--ref-color-white);transition:box-shadow var(--comp-radio-transition-duration);flex-shrink:0}ap-radio .radio-button-container .radio-button:hover:not(.disabled){cursor:pointer;border-color:var(--ref-color-grey-80)}ap-radio .radio-button-container label{display:flex;align-items:center;font-family:var(--sys-text-style-body-font-family);font-size:var(--sys-text-style-body-size);font-weight:var(--sys-text-style-body-weight);line-height:var(--sys-text-style-body-line-height);color:var(--ref-color-grey-100)}ap-radio .radio-button-container label:empty{display:none}ap-radio .radio-button-container label.disabled{color:var(--ref-color-grey-60)}ap-radio .radio-button-container label:hover:not(.disabled){cursor:pointer}ap-radio.ng-invalid.ng-dirty .radio-button{border-color:var(--ref-color-red-100)}ap-radio.ng-invalid.ng-dirty .radio-button:hover{border-color:var(--ref-color-red-60)}ap-radio.ng-invalid.ng-dirty input[type=radio]:focus~.radio-button{border-color:var(--ref-color-red-60)}\n"] }]
|
|
272
272
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { inputElement: [{
|
|
@@ -119,8 +119,8 @@ class RangeSliderComponent {
|
|
|
119
119
|
validate() {
|
|
120
120
|
return this.rangeSliderFormGroup.errors;
|
|
121
121
|
}
|
|
122
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
123
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RangeSliderComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.16", type: RangeSliderComponent, isStandalone: true, selector: "ap-range-slider", inputs: { min: "min", max: "max" }, providers: [
|
|
124
124
|
{
|
|
125
125
|
provide: NG_VALUE_ACCESSOR,
|
|
126
126
|
useExisting: forwardRef(() => RangeSliderComponent),
|
|
@@ -131,9 +131,9 @@ class RangeSliderComponent {
|
|
|
131
131
|
useExisting: forwardRef(() => RangeSliderComponent),
|
|
132
132
|
multi: true,
|
|
133
133
|
},
|
|
134
|
-
], ngImport: i0, template: "<div\n class=\"slider-wrapper\"\n [formGroup]=\"rangeSliderFormGroup\">\n <div class=\"number\">\n <span>{{ min }}</span>\n </div>\n <mat-slider\n class=\"slider\"\n [min]=\"minimum\"\n [max]=\"maximum\">\n <input\n matSliderStartThumb\n formControlName=\"min\"\n (change)=\"change()\" />\n <input\n matSliderEndThumb\n formControlName=\"max\"\n (change)=\"change()\" />\n </mat-slider>\n <div class=\"number\">\n <span>{{ max > maximum ? max + '+' : max }}</span>\n </div>\n</div>\n", styles: [":host{width:100%;height:52px}:host .slider-wrapper{display:flex;justify-content:space-between;align-items:center;gap:var(--ref-spacing-xxs)}:host .slider-wrapper .slider{flex-grow:2}:host .slider-wrapper .slider .mat-slider-thumb{background-color:var(--ref-color-electric-blue-100)}:host .slider-wrapper .number{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:46px;height:36px;border:1px solid var(--ref-color-grey-20);border-radius:3px}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100);width:var(--ref-spacing-md);height:var(--ref-spacing-md)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active_fill{border-color:var(--ref-color-electric-blue-150)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active{height:var(--ref-spacing-xxxs)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--inactive{background-color:var(--ref-color-grey-20)}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
134
|
+
], ngImport: i0, template: "<div\n class=\"slider-wrapper\"\n [formGroup]=\"rangeSliderFormGroup\">\n <div class=\"number\">\n <span>{{ min }}</span>\n </div>\n <mat-slider\n class=\"slider\"\n [min]=\"minimum\"\n [max]=\"maximum\">\n <input\n matSliderStartThumb\n formControlName=\"min\"\n (change)=\"change()\" />\n <input\n matSliderEndThumb\n formControlName=\"max\"\n (change)=\"change()\" />\n </mat-slider>\n <div class=\"number\">\n <span>{{ max > maximum ? max + '+' : max }}</span>\n </div>\n</div>\n", styles: [":host{width:100%;height:52px}:host .slider-wrapper{display:flex;justify-content:space-between;align-items:center;gap:var(--ref-spacing-xxs)}:host .slider-wrapper .slider{flex-grow:2}:host .slider-wrapper .slider .mat-slider-thumb{background-color:var(--ref-color-electric-blue-100)}:host .slider-wrapper .number{flex-shrink:0;display:flex;justify-content:center;align-items:center;width:46px;height:36px;border:1px solid var(--ref-color-grey-20);border-radius:3px}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb--focused .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__thumb-knob{background-color:var(--ref-color-white);border:3px solid var(--ref-color-electric-blue-100);width:var(--ref-spacing-md);height:var(--ref-spacing-md)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active_fill{border-color:var(--ref-color-electric-blue-150)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--active{height:var(--ref-spacing-xxxs)}::ng-deep .slider-wrapper .mat-mdc-slider .mdc-slider__track--inactive{background-color:var(--ref-color-grey-20)}\n"], dependencies: [{ kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i2.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i2.MatSliderRangeThumb, selector: "input[matSliderStartThumb], input[matSliderEndThumb]", exportAs: ["matSliderRangeThumb"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
135
135
|
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: RangeSliderComponent, decorators: [{
|
|
137
137
|
type: Component,
|
|
138
138
|
args: [{ selector: 'ap-range-slider', imports: [MatSliderModule, ReactiveFormsModule], providers: [
|
|
139
139
|
{
|