@rededor/site-front-end-lib 20.0.21 → 20.0.22
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/components/breadcrumbs/index.d.ts +2 -1
- package/core/index.d.ts +1 -1
- package/cura/forms/cura-checkbox/index.d.ts +5 -1
- package/cura/forms/cura-select/index.d.ts +2 -1
- package/cura/forms/cura-textarea/index.d.ts +1 -0
- package/fesm2022/rededor-site-front-end-lib-components-algolia-dropdown.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-algolia-search.mjs +15 -15
- package/fesm2022/rededor-site-front-end-lib-components-banner.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs +6 -5
- package/fesm2022/rededor-site-front-end-lib-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-cards.mjs +9 -9
- package/fesm2022/rededor-site-front-end-lib-components-carousels.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-cta-wrapper.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-error.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filter-letter-and-terms.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-generic.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-filters-filter-planos-convenios.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-footer.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-header-components-action.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-header-components-auxiliar.mjs +6 -6
- package/fesm2022/rededor-site-front-end-lib-components-header-components-main.mjs +6 -6
- package/fesm2022/rededor-site-front-end-lib-components-header-components-side.mjs +6 -6
- package/fesm2022/rededor-site-front-end-lib-components-header-services.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-header.mjs +6 -6
- package/fesm2022/rededor-site-front-end-lib-components-image.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-load-screen.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-modal-drawer.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-modal.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-overlay.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-page-header.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-components-page-template-fullcontent.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-page-template-sidebar.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-pagination.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-search.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-section-navigation.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-side-ctas.mjs +15 -15
- package/fesm2022/rededor-site-front-end-lib-components-sidebar-navigation.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-sticky-navigation.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-components-whatsapp.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-core.mjs +54 -54
- package/fesm2022/rededor-site-front-end-lib-cura-accordion.mjs +6 -6
- package/fesm2022/rededor-site-front-end-lib-cura-api.mjs +18 -18
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-counter.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-distance.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-dot.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-badges-cura-badge-pill.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-outline.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-select.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button-transparent.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-buttons-cura-button.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-cards-cura-card.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-alert.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-modal.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-feedback-cura-toast.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs +11 -7
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-checkbox.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-input-text.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-label.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-radio.mjs +5 -5
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-option.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs +4 -4
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select-state.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs +7 -6
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-select.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-switch.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs +6 -5
- package/fesm2022/rededor-site-front-end-lib-cura-forms-cura-textarea.mjs.map +1 -1
- package/fesm2022/rededor-site-front-end-lib-cura-icons-cura-icon.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-bar.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-loaders-cura-loader-circle.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-display.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-heading.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-cura-texts-cura-paragraph.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-algolia-search-api.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-algolia.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-ngu-carousel.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-ssr-loading.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-transfer-state.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-services-youtube.mjs +3 -3
- package/fesm2022/rededor-site-front-end-lib-shared.mjs +6 -6
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ class CuraSelectComponent {
|
|
|
13
13
|
this.curaApi = inject(CuraApiService);
|
|
14
14
|
this.elementRef = inject(ElementRef);
|
|
15
15
|
this.platformId = inject(PLATFORM_ID);
|
|
16
|
+
this.name = input('', ...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
16
17
|
/**
|
|
17
18
|
* The label text for the select component
|
|
18
19
|
*/
|
|
@@ -351,16 +352,16 @@ class CuraSelectComponent {
|
|
|
351
352
|
}
|
|
352
353
|
document.removeEventListener('click', this.handleClickOutside);
|
|
353
354
|
}
|
|
354
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
355
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
356
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraSelectComponent, isStandalone: true, selector: "cura-select", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, searchBehavior: { classPropertyName: "searchBehavior", publicName: "searchBehavior", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", selected: "selected", searchTermInput: "searchTermInput" }, host: { attributes: { "role": "combobox" }, properties: { "attr.aria-label": "label()", "attr.aria-required": "required()", "attr.aria-disabled": "disabled()", "attr.aria-invalid": "status() === \"error\"", "attr.aria-expanded": "isOpen()", "attr.aria-controls": "listboxId()", "attr.aria-activedescendant": "activeOptionId()" } }, providers: [
|
|
356
357
|
{
|
|
357
358
|
provide: NG_VALUE_ACCESSOR,
|
|
358
359
|
useExisting: forwardRef(() => CuraSelectComponent),
|
|
359
360
|
multi: true,
|
|
360
361
|
},
|
|
361
|
-
], queries: [{ propertyName: "options", predicate: CuraSelectOptionComponent, isSignal: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de op\u00E7\u00F5es' : 'Abrir lista de op\u00E7\u00F5es'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de op\u00E7\u00F5es para ' + (label() || 'sele\u00E7\u00E3o')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative;font-family:var(--font-family)}.wrapper{width:100%;-webkit-user-select:none;user-select:none;text-align:left!important}.wrapper cura-label{margin-bottom:8px}.wrapper .helper-text{margin-top:8px;color:var(--neutral-dark)}.wrapper .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper .cura-input-field .feedback-icon{padding-left:12px}.wrapper .cura-input-field .feedback-icon{box-sizing:content-box}.wrapper .cura-input-field .up-down-icon{order:3;margin-right:6px;cursor:pointer;pointer-events:all}.wrapper .cura-input-field .up-down-button{background-color:transparent;border:none}.wrapper .cura-input-field input{padding:0 12px 0 8px;cursor:pointer}.wrapper .cura-input-field.open{border-radius:4px 4px 0 0!important}.wrapper.transparent{background-color:transparent;padding:0;max-height:80px}.wrapper.transparent .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;background-color:transparent!important;border:none!important;border-radius:0;height:27px}.wrapper.transparent .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.transparent .cura-input-field .feedback-icon{padding-left:12px}.wrapper.transparent .cura-input-field input{color:var(--neutral-black)!important;font-size:16px;font-weight:var(--font-weight-bold)!important;padding:0}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-black)}.wrapper.transparent .cura-input-field .feedback-icon{order:3;margin:0 20px 0 0}.wrapper.transparent:focus-within .cura-input-field{border:none!important;background-color:transparent!important}.wrapper.transparent:focus-within .cura-input-field input{border:none!important;outline:none}.wrapper.transparent .helper-text{margin-top:0}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field{border-color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input{color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper:focus-within:not(.selection) .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.wrapper:focus-within:not(.selection) .cura-input-field input{color:var(--neutral-black)!important}.wrapper:focus-within.selection .cura-input-field{border-radius:4px 4px 0 0}.wrapper.success .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.success .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success .cura-input-field .feedback-icon{padding-left:12px}.wrapper.success .cura-input-field input{color:var(--success-darker)!important}.wrapper.success .cura-input-field input::placeholder{color:var(--success-darker)!important}.wrapper.success:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.wrapper.success:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.error .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field input{color:var(--error-darker)!important}.wrapper.error .cura-input-field input::placeholder{color:var(--error-darker)!important}.wrapper.error:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.wrapper.error:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field{width:100%;height:32px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.small .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:12px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.small .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.small .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field input{line-height:13px;letter-spacing:.72px}.wrapper.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.small.label .menu{top:53px}.wrapper.small .menu{top:33px}.wrapper.medium .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.medium .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.medium .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.medium .cura-input-field .feedback-icon{padding-left:12px}.wrapper.medium .cura-input-field input{line-height:16px;letter-spacing:.56px}.wrapper.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.medium.label .menu{top:61px}.wrapper.medium .menu{top:40px}.wrapper.large .cura-input-field{width:100%;height:44px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.large .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:16px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.large .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.large .cura-input-field .feedback-icon{padding-left:12px}.wrapper.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.wrapper.large.label .menu{top:69px}.wrapper.large .menu{top:47px}.wrapper.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.wrapper.disabled .cura-input-field input{color:var(--neutral-medium)}.wrapper.disabled .cura-input-field input::placeholder{color:var(--neutral-medium)}.required{color:red}.menu{position:absolute;left:0;right:-1px;background:#fff;border:2px solid var(--neutral-light);border-radius:4px;z-index:1000;max-height:285px;overflow:hidden;border-top:transparent;align-items:center;scrollbar-color:var(--neutral-medium) var(--neutral-black-20);overflow-y:auto;box-shadow:0 4px 8px #26262629}.menu.open{border-radius:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }] }); }
|
|
362
|
+
], queries: [{ propertyName: "options", predicate: CuraSelectOptionComponent, isSignal: true }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de op\u00E7\u00F5es' : 'Abrir lista de op\u00E7\u00F5es'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de op\u00E7\u00F5es para ' + (label() || 'sele\u00E7\u00E3o')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative;font-family:var(--font-family)}.wrapper{width:100%;-webkit-user-select:none;user-select:none;text-align:left!important}.wrapper cura-label{margin-bottom:8px}.wrapper .helper-text{margin-top:8px;color:var(--neutral-dark)}.wrapper .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper .cura-input-field .feedback-icon{padding-left:12px}.wrapper .cura-input-field .feedback-icon{box-sizing:content-box}.wrapper .cura-input-field .up-down-icon{order:3;margin-right:6px;cursor:pointer;pointer-events:all}.wrapper .cura-input-field .up-down-button{background-color:transparent;border:none}.wrapper .cura-input-field input{padding:0 12px 0 8px;cursor:pointer}.wrapper .cura-input-field.open{border-radius:4px 4px 0 0!important}.wrapper.transparent{background-color:transparent;padding:0;max-height:80px}.wrapper.transparent .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;background-color:transparent!important;border:none!important;border-radius:0;height:27px}.wrapper.transparent .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.transparent .cura-input-field .feedback-icon{padding-left:12px}.wrapper.transparent .cura-input-field input{color:var(--neutral-black)!important;font-size:16px;font-weight:var(--font-weight-bold)!important;padding:0}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-black)}.wrapper.transparent .cura-input-field .feedback-icon{order:3;margin:0 20px 0 0}.wrapper.transparent:focus-within .cura-input-field{border:none!important;background-color:transparent!important}.wrapper.transparent:focus-within .cura-input-field input{border:none!important;outline:none}.wrapper.transparent .helper-text{margin-top:0}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field{border-color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input{color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper:focus-within:not(.selection) .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.wrapper:focus-within:not(.selection) .cura-input-field input{color:var(--neutral-black)!important}.wrapper:focus-within.selection .cura-input-field{border-radius:4px 4px 0 0}.wrapper.success .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.success .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success .cura-input-field .feedback-icon{padding-left:12px}.wrapper.success .cura-input-field input{color:var(--success-darker)!important}.wrapper.success .cura-input-field input::placeholder{color:var(--success-darker)!important}.wrapper.success:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.wrapper.success:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.error .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field input{color:var(--error-darker)!important}.wrapper.error .cura-input-field input::placeholder{color:var(--error-darker)!important}.wrapper.error:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.wrapper.error:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field{width:100%;height:32px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.small .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:12px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.small .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.small .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field input{line-height:13px;letter-spacing:.72px}.wrapper.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.small.label .menu{top:53px}.wrapper.small .menu{top:33px}.wrapper.medium .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.medium .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.medium .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.medium .cura-input-field .feedback-icon{padding-left:12px}.wrapper.medium .cura-input-field input{line-height:16px;letter-spacing:.56px}.wrapper.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.medium.label .menu{top:61px}.wrapper.medium .menu{top:40px}.wrapper.large .cura-input-field{width:100%;height:44px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.large .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:16px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.large .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.large .cura-input-field .feedback-icon{padding-left:12px}.wrapper.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.wrapper.large.label .menu{top:69px}.wrapper.large .menu{top:47px}.wrapper.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.wrapper.disabled .cura-input-field input{color:var(--neutral-medium)}.wrapper.disabled .cura-input-field input::placeholder{color:var(--neutral-medium)}.required{color:red}.menu{position:absolute;left:0;right:-1px;background:#fff;border:2px solid var(--neutral-light);border-radius:4px;z-index:1000;max-height:285px;overflow:hidden;border-top:transparent;align-items:center;scrollbar-color:var(--neutral-medium) var(--neutral-black-20);overflow-y:auto;box-shadow:0 4px 8px #26262629}.menu.open{border-radius:0!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }, { kind: "component", type: CuraIconComponent, selector: "cura-icon", inputs: ["name", "color", "size", "iconset", "disabled"] }] }); }
|
|
362
363
|
}
|
|
363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraSelectComponent, decorators: [{
|
|
364
365
|
type: Component,
|
|
365
366
|
args: [{ selector: 'cura-select', imports: [CommonModule, CuraLabelComponent, CuraIconComponent], host: {
|
|
366
367
|
role: 'combobox',
|
|
@@ -377,8 +378,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
377
378
|
useExisting: forwardRef(() => CuraSelectComponent),
|
|
378
379
|
multi: true,
|
|
379
380
|
},
|
|
380
|
-
], template: "<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de op\u00E7\u00F5es' : 'Abrir lista de op\u00E7\u00F5es'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de op\u00E7\u00F5es para ' + (label() || 'sele\u00E7\u00E3o')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative;font-family:var(--font-family)}.wrapper{width:100%;-webkit-user-select:none;user-select:none;text-align:left!important}.wrapper cura-label{margin-bottom:8px}.wrapper .helper-text{margin-top:8px;color:var(--neutral-dark)}.wrapper .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper .cura-input-field .feedback-icon{padding-left:12px}.wrapper .cura-input-field .feedback-icon{box-sizing:content-box}.wrapper .cura-input-field .up-down-icon{order:3;margin-right:6px;cursor:pointer;pointer-events:all}.wrapper .cura-input-field .up-down-button{background-color:transparent;border:none}.wrapper .cura-input-field input{padding:0 12px 0 8px;cursor:pointer}.wrapper .cura-input-field.open{border-radius:4px 4px 0 0!important}.wrapper.transparent{background-color:transparent;padding:0;max-height:80px}.wrapper.transparent .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;background-color:transparent!important;border:none!important;border-radius:0;height:27px}.wrapper.transparent .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.transparent .cura-input-field .feedback-icon{padding-left:12px}.wrapper.transparent .cura-input-field input{color:var(--neutral-black)!important;font-size:16px;font-weight:var(--font-weight-bold)!important;padding:0}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-black)}.wrapper.transparent .cura-input-field .feedback-icon{order:3;margin:0 20px 0 0}.wrapper.transparent:focus-within .cura-input-field{border:none!important;background-color:transparent!important}.wrapper.transparent:focus-within .cura-input-field input{border:none!important;outline:none}.wrapper.transparent .helper-text{margin-top:0}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field{border-color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input{color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper:focus-within:not(.selection) .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.wrapper:focus-within:not(.selection) .cura-input-field input{color:var(--neutral-black)!important}.wrapper:focus-within.selection .cura-input-field{border-radius:4px 4px 0 0}.wrapper.success .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.success .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success .cura-input-field .feedback-icon{padding-left:12px}.wrapper.success .cura-input-field input{color:var(--success-darker)!important}.wrapper.success .cura-input-field input::placeholder{color:var(--success-darker)!important}.wrapper.success:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.wrapper.success:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.error .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field input{color:var(--error-darker)!important}.wrapper.error .cura-input-field input::placeholder{color:var(--error-darker)!important}.wrapper.error:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.wrapper.error:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field{width:100%;height:32px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.small .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:12px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.small .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.small .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field input{line-height:13px;letter-spacing:.72px}.wrapper.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.small.label .menu{top:53px}.wrapper.small .menu{top:33px}.wrapper.medium .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.medium .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.medium .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.medium .cura-input-field .feedback-icon{padding-left:12px}.wrapper.medium .cura-input-field input{line-height:16px;letter-spacing:.56px}.wrapper.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.medium.label .menu{top:61px}.wrapper.medium .menu{top:40px}.wrapper.large .cura-input-field{width:100%;height:44px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.large .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:16px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.large .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.large .cura-input-field .feedback-icon{padding-left:12px}.wrapper.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.wrapper.large.label .menu{top:69px}.wrapper.large .menu{top:47px}.wrapper.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.wrapper.disabled .cura-input-field input{color:var(--neutral-medium)}.wrapper.disabled .cura-input-field input::placeholder{color:var(--neutral-medium)}.required{color:red}.menu{position:absolute;left:0;right:-1px;background:#fff;border:2px solid var(--neutral-light);border-radius:4px;z-index:1000;max-height:285px;overflow:hidden;border-top:transparent;align-items:center;scrollbar-color:var(--neutral-medium) var(--neutral-black-20);overflow-y:auto;box-shadow:0 4px 8px #26262629}.menu.open{border-radius:0!important}\n"] }]
|
|
381
|
-
}], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], searchBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchBehavior", required: false }] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }], searchTermInput: [{ type: i0.Output, args: ["searchTermInput"] }], inputElement: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => CuraSelectOptionComponent), { isSignal: true }] }] } });
|
|
381
|
+
], template: "<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de op\u00E7\u00F5es' : 'Abrir lista de op\u00E7\u00F5es'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de op\u00E7\u00F5es para ' + (label() || 'sele\u00E7\u00E3o')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n", styles: [":host{display:block;position:relative;font-family:var(--font-family)}.wrapper{width:100%;-webkit-user-select:none;user-select:none;text-align:left!important}.wrapper cura-label{margin-bottom:8px}.wrapper .helper-text{margin-top:8px;color:var(--neutral-dark)}.wrapper .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper .cura-input-field .feedback-icon{padding-left:12px}.wrapper .cura-input-field .feedback-icon{box-sizing:content-box}.wrapper .cura-input-field .up-down-icon{order:3;margin-right:6px;cursor:pointer;pointer-events:all}.wrapper .cura-input-field .up-down-button{background-color:transparent;border:none}.wrapper .cura-input-field input{padding:0 12px 0 8px;cursor:pointer}.wrapper .cura-input-field.open{border-radius:4px 4px 0 0!important}.wrapper.transparent{background-color:transparent;padding:0;max-height:80px}.wrapper.transparent .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;background-color:transparent!important;border:none!important;border-radius:0;height:27px}.wrapper.transparent .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.transparent .cura-input-field .feedback-icon{padding-left:12px}.wrapper.transparent .cura-input-field input{color:var(--neutral-black)!important;font-size:16px;font-weight:var(--font-weight-bold)!important;padding:0}.wrapper.transparent .cura-input-field input::placeholder{color:var(--neutral-black)}.wrapper.transparent .cura-input-field .feedback-icon{order:3;margin:0 20px 0 0}.wrapper.transparent:focus-within .cura-input-field{border:none!important;background-color:transparent!important}.wrapper.transparent:focus-within .cura-input-field input{border:none!important;outline:none}.wrapper.transparent .helper-text{margin-top:0}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field{border-color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input{color:var(--neutral-dark)}.wrapper:hover:not(.disabled):not(.isLoading):not(.success):not(.error):not(.isFocused):not(.readOnly):not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper:focus-within:not(.selection) .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.wrapper:focus-within:not(.selection) .cura-input-field input{color:var(--neutral-black)!important}.wrapper:focus-within.selection .cura-input-field{border-radius:4px 4px 0 0}.wrapper.success .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.success .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success .cura-input-field .feedback-icon{padding-left:12px}.wrapper.success .cura-input-field input{color:var(--success-darker)!important}.wrapper.success .cura-input-field input::placeholder{color:var(--success-darker)!important}.wrapper.success:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.wrapper.success:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.success:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.success:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.error .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error .cura-input-field .feedback-icon{padding-left:12px}.wrapper.error .cura-input-field input{color:var(--error-darker)!important}.wrapper.error .cura-input-field input::placeholder{color:var(--error-darker)!important}.wrapper.error:not(.transparent) .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box;border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.wrapper.error:not(.transparent) .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.error:not(.transparent) .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.error:not(.transparent) .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field{width:100%;height:32px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.small .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:12px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.small .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.small .cura-input-field .feedback-icon{padding-left:12px}.wrapper.small .cura-input-field input{line-height:13px;letter-spacing:.72px}.wrapper.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.small.label .menu{top:53px}.wrapper.small .menu{top:33px}.wrapper.medium .cura-input-field{width:100%;height:40px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.medium .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.medium .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.medium .cura-input-field .feedback-icon{padding-left:12px}.wrapper.medium .cura-input-field input{line-height:16px;letter-spacing:.56px}.wrapper.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.wrapper.medium.label .menu{top:61px}.wrapper.medium .menu{top:40px}.wrapper.large .cura-input-field{width:100%;height:44px;display:flex;flex-direction:row;align-items:center;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;line-height:20px;overflow:hidden;box-sizing:border-box}.wrapper.large .cura-input-field input{flex:1;width:100%;height:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:16px;box-sizing:border-box;padding:0 12px 0 8px}.wrapper.large .cura-input-field input::placeholder{color:var(--neutral-dark)}.wrapper.large .cura-input-field .feedback-icon{padding-left:12px}.wrapper.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.wrapper.large.label .menu{top:69px}.wrapper.large .menu{top:47px}.wrapper.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.wrapper.disabled .cura-input-field input{color:var(--neutral-medium)}.wrapper.disabled .cura-input-field input::placeholder{color:var(--neutral-medium)}.required{color:red}.menu{position:absolute;left:0;right:-1px;background:#fff;border:2px solid var(--neutral-light);border-radius:4px;z-index:1000;max-height:285px;overflow:hidden;border-top:transparent;align-items:center;scrollbar-color:var(--neutral-medium) var(--neutral-black-20);overflow-y:auto;box-shadow:0 4px 8px #26262629}.menu.open{border-radius:0!important}\n"] }]
|
|
382
|
+
}], ctorParameters: () => [], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], iconName: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconName", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], searchBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchBehavior", required: false }] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], selected: [{ type: i0.Output, args: ["selected"] }], searchTermInput: [{ type: i0.Output, args: ["searchTermInput"] }], inputElement: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], options: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => CuraSelectOptionComponent), { isSignal: true }] }] } });
|
|
382
383
|
|
|
383
384
|
/**
|
|
384
385
|
* Generated bundle index. Do not edit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-select.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.html","../../../projects/site-front-end-lib/cura/forms/cura-select/rededor-site-front-end-lib-cura-forms-cura-select.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n signal,\n computed,\n inject,\n forwardRef,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n viewChild,\n contentChildren,\n model,\n effect,\n PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\nimport { SelectMode, SelectSize, SelectStatus, SelectSelectedEvent, SelectSearchEvent } from './cura-select.definitions';\n\n@Component({\n selector: 'cura-select',\n imports: [CommonModule, CuraLabelComponent, CuraIconComponent],\n templateUrl: './cura-select.component.html',\n styleUrls: ['./cura-select.component.scss'],\n host: {\n role: 'combobox',\n '[attr.aria-label]': 'label()',\n '[attr.aria-required]': 'required()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-invalid]': 'status() === \"error\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'listboxId()',\n '[attr.aria-activedescendant]': 'activeOptionId()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraSelectComponent),\n multi: true,\n },\n ],\n})\nexport class CuraSelectComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private curaApi: CuraApiService = inject(CuraApiService);\n private elementRef = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n /**\n * The label text for the select component\n */\n label = input<string>('');\n\n /**\n * Placeholder text for the input field\n */\n placeholder = input<string>('');\n\n /**\n * Current value of the select component\n */\n value = model<string | any>('');\n\n /**\n * Display mode of the select component\n */\n mode = input<SelectMode>('default');\n\n /**\n * Size of the select component\n */\n size = input<SelectSize>('medium');\n\n /**\n * Icon name for the select component\n */\n iconName = input<string | undefined>(undefined);\n\n /**\n * Status of the select component\n */\n status = input<SelectStatus>('default');\n\n /**\n * Whether the select component is disabled\n */\n disabled = input<boolean>(false);\n\n /**\n * Whether the select component is required\n */\n required = input<boolean>(false);\n\n /**\n * Enable/Disable search at options by term\n */\n searchBehavior = input<boolean>(false);\n\n /**\n * The search will be sensitive to accents\n */\n caseSensitive = input<boolean>(true);\n\n /**\n * CSS max-height property for dropdown item.\n * Can also be used by css property --max-height.\n * Default: 285px\n */\n maxHeight = input<string>('285px');\n\n /**\n * Event emitted when an option is selected\n */\n selected = output<SelectSelectedEvent>();\n\n /**\n * Event emitted when search term changes\n */\n searchTermInput = output<SelectSearchEvent>();\n\n // Internal state signals\n isHovered = signal<boolean>(false);\n isFocused = signal<boolean>(false);\n isOpen = signal<boolean>(false);\n activeIndex = signal<number>(-1);\n textInput = signal<string>('');\n\n // Unique ID for accessibility\n private componentId = `cura-select-${Math.random().toString(36).substring(2, 8)}`;\n\n // Form control callbacks\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n // ViewChild references\n inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\n options = contentChildren<CuraSelectOptionComponent>(CuraSelectOptionComponent);\n\n // Computed signals\n currentIconName = computed(() => {\n const iconMap = {\n default: this.iconName() || '',\n success: 'checkCircle',\n error: 'alertCircle',\n };\n return iconMap[this.status()];\n });\n\n private colorConfig = computed(() => {\n if (this.disabled()) {\n return {\n label: 'neutral-medium',\n text: 'neutral-medium',\n icon: 'neutral-medium',\n };\n }\n\n const isStatusDefault = this.status() === 'default';\n const isHoveredOrFocused = this.isFocused() || this.isHovered();\n\n return {\n label: !isStatusDefault || isHoveredOrFocused ? 'neutral-black' : 'neutral-dark',\n text: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n icon: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n };\n });\n\n containerClasses = computed(() => {\n return {\n wrapper: true,\n label: !!this.label(),\n disabled: this.disabled(),\n transparent: this.mode() === 'transparent',\n [this.size().toLowerCase()]: true,\n [this.status().toLowerCase()]: true,\n };\n });\n\n labelColor = computed(() => this.colorConfig().label);\n textColor = computed(() => this.colorConfig().text);\n iconColor = computed(() => this.colorConfig().icon);\n\n // Accessibility computed signals\n listboxId = computed(() => `${this.componentId}-listbox`);\n activeOptionId = computed(() => {\n const activeOption = this.options()?.[this.activeIndex()];\n return activeOption?.optionId() || '';\n });\n\n styles = computed(() => {\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\n\n const baseStyles: { [key: string]: string } = {};\n\n if (fonts) {\n const fontWeights = fonts.getWeights();\n baseStyles['--font-weight-medium'] = fontWeights.medium;\n baseStyles['--font-weight-bold'] = fontWeights.bold;\n baseStyles['--font-weight-regular'] = fontWeights.regular;\n baseStyles['--font-color'] = fonts.getColor();\n baseStyles['--font-family'] = fonts.getFamily();\n baseStyles['--font-size'] = fonts.getSize();\n }\n\n if (colors) {\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-light',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach((key) => {\n baseStyles[`--${key}`] = colors.getColor(key);\n });\n }\n\n return baseStyles;\n });\n\n constructor() {\n effect(() => {\n this.updateOptionHighlights(this.activeIndex());\n });\n\n effect(() => {\n if (!this.options() || this.options().length === 0) return;\n\n const selectedOption = this.options().find((option) => option.selected());\n if (selectedOption && selectedOption.value() !== this.value()) {\n this.handleOptionSelected(selectedOption);\n }\n });\n }\n\n ngAfterViewInit() {\n this.initializeOptions();\n this.addOutsideClickListener();\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId)) {\n this.removeOutsideClickListener();\n }\n }\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n this.value.set(value);\n if (!this.options) return;\n\n const option = this.options().find((opt) => opt.value() === value);\n if (option) {\n this.textInput.set(option.elementRef?.nativeElement?.textContent || '');\n }\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private getTextColor(isHoveredOrFocused: boolean, isStatusDefault: boolean): string {\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status() === 'success') return 'success-dark';\n if (this.status() === 'error') return 'error-dark';\n return 'neutral-dark';\n }\n\n private initializeOptions() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.size.set(this.size());\n option.active.set(false);\n option.visible.set(true);\n\n const isSelected = this.value() === option.value();\n option.selected.set(isSelected);\n if (isSelected) {\n this.value.set(option.value());\n this.textInput.update((value) => option.elementRef?.nativeElement?.textContent || value);\n }\n });\n }\n\n private handleOptionSelected(selectedOption: CuraSelectOptionComponent) {\n const value = selectedOption.value();\n this.value.set(value);\n\n const optionText = selectedOption.elementRef?.nativeElement?.textContent || '';\n if (this.textInput() !== optionText) {\n this.onChange(value);\n this.textInput.set(optionText);\n this.isOpen.set(false);\n this.filterOptions(optionText);\n this.selected.emit({ value });\n }\n }\n\n private clearSelectedAttributes() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.selected.set(false);\n });\n }\n\n private removeAccents(str: string): string {\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n\n private filterOptions(searchTerm: string) {\n if (!this.searchBehavior()) {\n return;\n }\n\n this.searchTermInput.emit({ searchTerm });\n\n let processedSearchTerm = searchTerm;\n if (!this.caseSensitive()) {\n processedSearchTerm = this.removeAccents(searchTerm).toLowerCase();\n }\n\n this.options().forEach((option) => {\n let optionText = option.elementRef?.nativeElement?.textContent || '';\n if (!this.caseSensitive()) {\n optionText = this.removeAccents(optionText.toLowerCase());\n }\n\n const isVisible = optionText.includes(processedSearchTerm);\n option.visible.set(isVisible);\n option.elementRef.nativeElement.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n // Event handlers\n handleKeyNavigation(event: KeyboardEvent) {\n const { code: keyCode } = event;\n\n if (!this.isOpen() && keyCode === 'ArrowDown') {\n this.isOpen.set(true);\n this.activeIndex.set(0);\n return;\n }\n\n if (keyCode === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (keyCode === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (keyCode === 'Enter' || keyCode === 'Space') {\n this.options()?.[this.activeIndex()]?.elementRef?.nativeElement?.click();\n }\n\n if (keyCode === 'Escape') {\n this.isOpen.set(false);\n }\n }\n\n private updateActiveIndex(direction: number) {\n const visibleOptions = this.options();\n if (!visibleOptions || visibleOptions.length === 0) return;\n\n this.activeIndex.update((index) => (index + direction + visibleOptions.length) % visibleOptions.length);\n }\n\n handleInputChange(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.textInput.set(value);\n this.isOpen.set(value.length > 0);\n this.onChange(value);\n this.filterOptions(value);\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled()) {\n event.preventDefault();\n return;\n }\n\n const target = event.target as HTMLElement;\n\n // Procura pelo elemento cura-select-option mais próximo\n const optionElement = target.closest('cura-select-option') as HTMLElement;\n\n if (optionElement) {\n this.clearSelectedAttributes();\n const clickedOption = this.options()?.find((option) => option.elementRef?.nativeElement === optionElement);\n if (clickedOption) {\n clickedOption.selected.set(true);\n }\n return;\n }\n\n this.isOpen.update((value) => !value);\n }\n\n private updateOptionHighlights(newActiveIndex: number): void {\n this.options().forEach((option, index) => {\n option.active.set(index === newActiveIndex);\n });\n }\n\n /**\n * Controla o clique fora do componente\n */\n private addOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private removeOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n private handleClickOutside = (event: MouseEvent): void => {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const clickedOutside = !this.elementRef.nativeElement.contains(event.target as Node);\n if (clickedOutside && this.isOpen()) {\n this.isOpen.set(false);\n }\n };\n}\n","<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de opções' : 'Abrir lista de opções'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de opções para ' + (label() || 'seleção')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\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":"rededor-site-front-end-lib-cura-forms-cura-select.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-select/cura-select.component.html","../../../projects/site-front-end-lib/cura/forms/cura-select/rededor-site-front-end-lib-cura-forms-cura-select.ts"],"sourcesContent":["import {\n Component,\n input,\n output,\n signal,\n computed,\n inject,\n forwardRef,\n ElementRef,\n AfterViewInit,\n OnDestroy,\n viewChild,\n contentChildren,\n model,\n effect,\n PLATFORM_ID,\n} from '@angular/core';\nimport { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { CuraIconComponent } from '@rededor/site-front-end-lib/cura/icons/cura-icon';\nimport { CuraSelectOptionComponent } from '@rededor/site-front-end-lib/cura/forms/cura-select-option';\nimport { SelectMode, SelectSize, SelectStatus, SelectSelectedEvent, SelectSearchEvent } from './cura-select.definitions';\n\n@Component({\n selector: 'cura-select',\n imports: [CommonModule, CuraLabelComponent, CuraIconComponent],\n templateUrl: './cura-select.component.html',\n styleUrls: ['./cura-select.component.scss'],\n host: {\n role: 'combobox',\n '[attr.aria-label]': 'label()',\n '[attr.aria-required]': 'required()',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-invalid]': 'status() === \"error\"',\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-controls]': 'listboxId()',\n '[attr.aria-activedescendant]': 'activeOptionId()',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraSelectComponent),\n multi: true,\n },\n ],\n})\nexport class CuraSelectComponent implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private curaApi: CuraApiService = inject(CuraApiService);\n private elementRef = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n name = input<string>('');\n\n /**\n * The label text for the select component\n */\n label = input<string>('');\n\n /**\n * Placeholder text for the input field\n */\n placeholder = input<string>('');\n\n /**\n * Current value of the select component\n */\n value = model<string | any>('');\n\n /**\n * Display mode of the select component\n */\n mode = input<SelectMode>('default');\n\n /**\n * Size of the select component\n */\n size = input<SelectSize>('medium');\n\n /**\n * Icon name for the select component\n */\n iconName = input<string | undefined>(undefined);\n\n /**\n * Status of the select component\n */\n status = input<SelectStatus>('default');\n\n /**\n * Whether the select component is disabled\n */\n disabled = input<boolean>(false);\n\n /**\n * Whether the select component is required\n */\n required = input<boolean>(false);\n\n /**\n * Enable/Disable search at options by term\n */\n searchBehavior = input<boolean>(false);\n\n /**\n * The search will be sensitive to accents\n */\n caseSensitive = input<boolean>(true);\n\n /**\n * CSS max-height property for dropdown item.\n * Can also be used by css property --max-height.\n * Default: 285px\n */\n maxHeight = input<string>('285px');\n\n /**\n * Event emitted when an option is selected\n */\n selected = output<SelectSelectedEvent>();\n\n /**\n * Event emitted when search term changes\n */\n searchTermInput = output<SelectSearchEvent>();\n\n // Internal state signals\n isHovered = signal<boolean>(false);\n isFocused = signal<boolean>(false);\n isOpen = signal<boolean>(false);\n activeIndex = signal<number>(-1);\n textInput = signal<string>('');\n\n // Unique ID for accessibility\n private componentId = `cura-select-${Math.random().toString(36).substring(2, 8)}`;\n\n // Form control callbacks\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n // ViewChild references\n inputElement = viewChild<ElementRef<HTMLInputElement>>('inputElement');\n options = contentChildren<CuraSelectOptionComponent>(CuraSelectOptionComponent);\n\n // Computed signals\n currentIconName = computed(() => {\n const iconMap = {\n default: this.iconName() || '',\n success: 'checkCircle',\n error: 'alertCircle',\n };\n return iconMap[this.status()];\n });\n\n private colorConfig = computed(() => {\n if (this.disabled()) {\n return {\n label: 'neutral-medium',\n text: 'neutral-medium',\n icon: 'neutral-medium',\n };\n }\n\n const isStatusDefault = this.status() === 'default';\n const isHoveredOrFocused = this.isFocused() || this.isHovered();\n\n return {\n label: !isStatusDefault || isHoveredOrFocused ? 'neutral-black' : 'neutral-dark',\n text: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n icon: this.getTextColor(isHoveredOrFocused, isStatusDefault),\n };\n });\n\n containerClasses = computed(() => {\n return {\n wrapper: true,\n label: !!this.label(),\n disabled: this.disabled(),\n transparent: this.mode() === 'transparent',\n [this.size().toLowerCase()]: true,\n [this.status().toLowerCase()]: true,\n };\n });\n\n labelColor = computed(() => this.colorConfig().label);\n textColor = computed(() => this.colorConfig().text);\n iconColor = computed(() => this.colorConfig().icon);\n\n // Accessibility computed signals\n listboxId = computed(() => `${this.componentId}-listbox`);\n activeOptionId = computed(() => {\n const activeOption = this.options()?.[this.activeIndex()];\n return activeOption?.optionId() || '';\n });\n\n styles = computed(() => {\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\n\n const baseStyles: { [key: string]: string } = {};\n\n if (fonts) {\n const fontWeights = fonts.getWeights();\n baseStyles['--font-weight-medium'] = fontWeights.medium;\n baseStyles['--font-weight-bold'] = fontWeights.bold;\n baseStyles['--font-weight-regular'] = fontWeights.regular;\n baseStyles['--font-color'] = fonts.getColor();\n baseStyles['--font-family'] = fonts.getFamily();\n baseStyles['--font-size'] = fonts.getSize();\n }\n\n if (colors) {\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-light',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach((key) => {\n baseStyles[`--${key}`] = colors.getColor(key);\n });\n }\n\n return baseStyles;\n });\n\n constructor() {\n effect(() => {\n this.updateOptionHighlights(this.activeIndex());\n });\n\n effect(() => {\n if (!this.options() || this.options().length === 0) return;\n\n const selectedOption = this.options().find((option) => option.selected());\n if (selectedOption && selectedOption.value() !== this.value()) {\n this.handleOptionSelected(selectedOption);\n }\n });\n }\n\n ngAfterViewInit() {\n this.initializeOptions();\n this.addOutsideClickListener();\n }\n\n ngOnDestroy() {\n if (isPlatformBrowser(this.platformId)) {\n this.removeOutsideClickListener();\n }\n }\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n this.value.set(value);\n if (!this.options) return;\n\n const option = this.options().find((opt) => opt.value() === value);\n if (option) {\n this.textInput.set(option.elementRef?.nativeElement?.textContent || '');\n }\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n private getTextColor(isHoveredOrFocused: boolean, isStatusDefault: boolean): string {\n if (isHoveredOrFocused && isStatusDefault) return 'neutral-black';\n if (this.status() === 'success') return 'success-dark';\n if (this.status() === 'error') return 'error-dark';\n return 'neutral-dark';\n }\n\n private initializeOptions() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.size.set(this.size());\n option.active.set(false);\n option.visible.set(true);\n\n const isSelected = this.value() === option.value();\n option.selected.set(isSelected);\n if (isSelected) {\n this.value.set(option.value());\n this.textInput.update((value) => option.elementRef?.nativeElement?.textContent || value);\n }\n });\n }\n\n private handleOptionSelected(selectedOption: CuraSelectOptionComponent) {\n const value = selectedOption.value();\n this.value.set(value);\n\n const optionText = selectedOption.elementRef?.nativeElement?.textContent || '';\n if (this.textInput() !== optionText) {\n this.onChange(value);\n this.textInput.set(optionText);\n this.isOpen.set(false);\n this.filterOptions(optionText);\n this.selected.emit({ value });\n }\n }\n\n private clearSelectedAttributes() {\n if (!this.options()) return;\n\n this.options().forEach((option) => {\n option.selected.set(false);\n });\n }\n\n private removeAccents(str: string): string {\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n\n private filterOptions(searchTerm: string) {\n if (!this.searchBehavior()) {\n return;\n }\n\n this.searchTermInput.emit({ searchTerm });\n\n let processedSearchTerm = searchTerm;\n if (!this.caseSensitive()) {\n processedSearchTerm = this.removeAccents(searchTerm).toLowerCase();\n }\n\n this.options().forEach((option) => {\n let optionText = option.elementRef?.nativeElement?.textContent || '';\n if (!this.caseSensitive()) {\n optionText = this.removeAccents(optionText.toLowerCase());\n }\n\n const isVisible = optionText.includes(processedSearchTerm);\n option.visible.set(isVisible);\n option.elementRef.nativeElement.style.display = isVisible ? 'block' : 'none';\n });\n }\n\n // Event handlers\n handleKeyNavigation(event: KeyboardEvent) {\n const { code: keyCode } = event;\n\n if (!this.isOpen() && keyCode === 'ArrowDown') {\n this.isOpen.set(true);\n this.activeIndex.set(0);\n return;\n }\n\n if (keyCode === 'ArrowDown') {\n event.preventDefault();\n this.updateActiveIndex(1);\n }\n\n if (keyCode === 'ArrowUp') {\n event.preventDefault();\n this.updateActiveIndex(-1);\n }\n\n if (keyCode === 'Enter' || keyCode === 'Space') {\n this.options()?.[this.activeIndex()]?.elementRef?.nativeElement?.click();\n }\n\n if (keyCode === 'Escape') {\n this.isOpen.set(false);\n }\n }\n\n private updateActiveIndex(direction: number) {\n const visibleOptions = this.options();\n if (!visibleOptions || visibleOptions.length === 0) return;\n\n this.activeIndex.update((index) => (index + direction + visibleOptions.length) % visibleOptions.length);\n }\n\n handleInputChange(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n this.textInput.set(value);\n this.isOpen.set(value.length > 0);\n this.onChange(value);\n this.filterOptions(value);\n }\n\n handleClick(event: MouseEvent) {\n if (this.disabled()) {\n event.preventDefault();\n return;\n }\n\n const target = event.target as HTMLElement;\n\n // Procura pelo elemento cura-select-option mais próximo\n const optionElement = target.closest('cura-select-option') as HTMLElement;\n\n if (optionElement) {\n this.clearSelectedAttributes();\n const clickedOption = this.options()?.find((option) => option.elementRef?.nativeElement === optionElement);\n if (clickedOption) {\n clickedOption.selected.set(true);\n }\n return;\n }\n\n this.isOpen.update((value) => !value);\n }\n\n private updateOptionHighlights(newActiveIndex: number): void {\n this.options().forEach((option, index) => {\n option.active.set(index === newActiveIndex);\n });\n }\n\n /**\n * Controla o clique fora do componente\n */\n private addOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.addEventListener('click', this.handleClickOutside);\n }\n\n private removeOutsideClickListener(): void {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n document.removeEventListener('click', this.handleClickOutside);\n }\n\n private handleClickOutside = (event: MouseEvent): void => {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n const clickedOutside = !this.elementRef.nativeElement.contains(event.target as Node);\n if (clickedOutside && this.isOpen()) {\n this.isOpen.set(false);\n }\n };\n}\n","<div [ngClass]=\"containerClasses()\" [style]=\"styles()\" (mouseenter)=\"isHovered.set(true)\" (mouseleave)=\"isHovered.set(false)\" (click)=\"handleClick($event)\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size() === 'large' ? 'small' : 'xsmall'\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div\n [ngClass]=\"{\n 'cura-input-field': true,\n open: isOpen(),\n }\"\n >\n @if (status() !== 'default' || iconName()) {\n <cura-icon\n class=\"feedback-icon\"\n [name]=\"currentIconName()\"\n iconset=\"default\"\n [size]=\"size() === 'large' ? 20 : 16\"\n [color]=\"iconColor()\"\n [style]=\"styles()\"\n >\n </cura-icon>\n }\n\n <input\n #inputElement\n type=\"text\"\n autocomplete=\"off\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readonly]=\"!searchBehavior()\"\n [value]=\"textInput()\"\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [attr.aria-required]=\"required()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-invalid]=\"status() === 'error'\"\n [attr.aria-autocomplete]=\"searchBehavior() ? 'list' : 'none'\"\n [attr.aria-controls]=\"listboxId()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-activedescendant]=\"activeOptionId()\"\n role=\"combobox\"\n [style]=\"styles()\"\n (focus)=\"isFocused.set(true)\"\n (blur)=\"isFocused.set(false)\"\n (input)=\"handleInputChange($event)\"\n (keydown)=\"handleKeyNavigation($event)\"\n />\n\n <button\n class=\"up-down-button\"\n type=\"button\"\n [attr.aria-label]=\"isOpen() ? 'Fechar lista de opções' : 'Abrir lista de opções'\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"listboxId()\"\n [disabled]=\"disabled()\"\n tabindex=\"-1\"\n >\n <cura-icon [name]=\"isOpen() ? 'up' : 'down'\" class=\"up-down-icon\" [color]=\"disabled() ? 'neutral-dark' : 'primary-base'\" [size]=\"16\" iconset=\"default\">\n </cura-icon>\n </button>\n </div>\n\n <cura-label class=\"helper-text\" size=\"xsmall\" [color]=\"textColor()\" [weight]=\"mode() === 'transparent' ? 'bold' : 'regular'\">\n <ng-content></ng-content>\n </cura-label>\n\n @if (isOpen()) {\n <div\n [ngClass]=\"{\n menu: true,\n open: isOpen(),\n }\"\n [style]=\"{ '--max-height': maxHeight() }\"\n role=\"listbox\"\n [id]=\"listboxId()\"\n [attr.aria-label]=\"'Lista de opções para ' + (label() || 'seleção')\"\n [attr.aria-multiselectable]=\"false\"\n >\n <ng-content select=\"cura-select-option\"></ng-content>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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AAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,cAAc,2FAChB,yBAAyB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE/IhF;;AAEG;;;;"}
|
|
@@ -149,8 +149,8 @@ class CuraSwitchComponent {
|
|
|
149
149
|
this.onTouched();
|
|
150
150
|
this.onchange.emit({ checked: this.checked() });
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.18", type: CuraSwitchComponent, isStandalone: true, selector: "cura-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, tabindex: { classPropertyName: "tabindex", publicName: "tabindex", isSignal: true, isRequired: false, transformFunction: null }, overflowLabel: { classPropertyName: "overflowLabel", publicName: "overflowLabel", isSignal: true, isRequired: false, transformFunction: null }, overflowHelper: { classPropertyName: "overflowHelper", publicName: "overflowHelper", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, background: { classPropertyName: "background", publicName: "background", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onchange: "onchange" }, host: { attributes: { "role": "switch" }, properties: { "attr.aria-checked": "checked()", "attr.aria-disabled": "disabled()", "attr.tabindex": "tabindex()" } }, providers: [
|
|
154
154
|
{
|
|
155
155
|
provide: NG_VALUE_ACCESSOR,
|
|
156
156
|
useExisting: forwardRef(() => CuraSwitchComponent),
|
|
@@ -158,7 +158,7 @@ class CuraSwitchComponent {
|
|
|
158
158
|
},
|
|
159
159
|
], ngImport: i0, template: "<div [class]=\"containerClasses()\" [style]=\"styles()\" (click)=\"toggleSwitch()\">\n <div class=\"info\">\n <cura-label\n [textOverflow]=\"overflowLabel()\"\n [style.textAlign]=\"labelTextAlign()\"\n class=\"label\"\n weight=\"bold\"\n [size]=\"labelSize()\"\n lineHeight=\"125%\"\n [color]=\"labelColor()\"\n >\n {{ label() }}\n </cura-label>\n\n <cura-label [textOverflow]=\"overflowHelper()\" [style.textAlign]=\"labelTextAlign()\" [color]=\"messageColor()\" size=\"xsmall\" class=\"message\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n\n <div class=\"control\">\n <div [class]=\"'track ' + size().toLowerCase()\">\n <div [class]=\"'thumb ' + size().toLowerCase()\" [tabIndex]=\"tabindex()\" (keydown.space)=\"toggleSwitch()\" (keydown.enter)=\"toggleSwitch()\"></div>\n </div>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:block;box-sizing:border-box;min-width:0}.container{display:flex;align-items:center;flex-direction:row-reverse;justify-content:start;gap:var(--gap);text-align:left;cursor:pointer}.position{flex-direction:row}.info{overflow:hidden}.label,.message{text-align:left}.control{width:fit-content}.track{background:var(--neutral-dark-base);border-radius:16px;transition:background-color .3s;align-items:flex-start;flex-shrink:0;box-sizing:border-box;width:var(--size-track);height:var(--size);position:relative}.thumb{background:var(--neutral-purewhite);border:2px solid var(--neutral-darker-medium);border-radius:50%;position:absolute;transition:transform .3s,outline .3s;display:inline-block;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box;width:var(--size);height:var(--size);top:50%;transform:translateY(-50%)}.checked .thumb{border-color:var(--color-dark);box-shadow:0 4px 8px 0 var(--neutral-black-shadow, rgba(38, 38, 38, .16));background:var(--neutral-purewhite);transform:translate(var(--size)) translateY(-50%)}.checked .thumb:hover{background:var(--neutral-pale)!important;border-color:var(--neutral-darker-medium)!important}.checked .thumb:active{border-color:var(--color-dark);background:var(--neutral-pale)}.checked .track{background:var(--color-base-light)}.disabled .track{background:var(--neutral-black-neutral-pale)}.disabled .thumb{background:var(--neutral-black-neutral-base)!important;border-color:var(--neutral-black-neutral-pale)!important;cursor:not-allowed}.disabled.checked .track{background:var(--neutral-black-neutral-pale)}.container.disabled .thumb:focus{outline:none!important;border-color:var(--neutral-black-neutral-pale)!important}:not(.disabled):not(.checked) .thumb:hover{border-color:var(--color-dark);background:var(--neutral-pale)}:not(.disabled):not(.checked) .thumb:active{border-color:var(--color-dark);background:var(--neutral-pale)}:not(.disabled) .thumb:focus{outline:2px solid var(--info-base)!important;border:2px solid var(--neutral-darker-medium);z-index:1}:not(.disabled) .checked .thumb:focus{outline:2px solid var(--info-base)!important;border-color:var(--color-dark)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
|
|
160
160
|
}
|
|
161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
161
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraSwitchComponent, decorators: [{
|
|
162
162
|
type: Component,
|
|
163
163
|
args: [{ selector: 'cura-switch', imports: [CommonModule, CuraLabelComponent], host: {
|
|
164
164
|
role: 'switch',
|
|
@@ -68,6 +68,7 @@ class CuraTextareaComponent {
|
|
|
68
68
|
// Form control callbacks
|
|
69
69
|
this.onChange = (value) => { };
|
|
70
70
|
this.onTouched = () => { };
|
|
71
|
+
this.currentLength = computed(() => this.value()?.length ?? 0, ...(ngDevMode ? [{ debugName: "currentLength" }] : []));
|
|
71
72
|
// Computed styles
|
|
72
73
|
this.styles = computed(() => {
|
|
73
74
|
const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };
|
|
@@ -174,16 +175,16 @@ class CuraTextareaComponent {
|
|
|
174
175
|
this.onChange(newValue);
|
|
175
176
|
this.valueChange.emit({ value: newValue });
|
|
176
177
|
}
|
|
177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
178
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
178
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
179
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: CuraTextareaComponent, isStandalone: true, selector: "cura-textarea", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, maxlength: { classPropertyName: "maxlength", publicName: "maxlength", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, resize: { classPropertyName: "resize", publicName: "resize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange" }, host: { attributes: { "role": "textbox" }, properties: { "attr.aria-multiline": "true", "attr.aria-disabled": "disabled()", "attr.aria-required": "required()", "attr.aria-invalid": "status() === \"error\"" } }, providers: [
|
|
179
180
|
{
|
|
180
181
|
provide: NG_VALUE_ACCESSOR,
|
|
181
182
|
useExisting: forwardRef(() => CuraTextareaComponent),
|
|
182
183
|
multi: true,
|
|
183
184
|
},
|
|
184
|
-
], ngImport: i0, template: "<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;box-sizing:border-box;width:100%}.required{color:var(--error-base)}.cura-input-group{width:100%;font-family:var(--font-family);text-align:left!important}.cura-input-group cura-label{margin-bottom:8px}.cura-input-group .helper-text{margin-top:8px;color:var(--neutral-dark)}.cura-input-group .cura-input-field{width:100%;display:flex;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;box-sizing:border-box;overflow:hidden}.cura-input-group .cura-input-field textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:8px 12px;line-height:20px}.cura-input-group .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field{border-color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:focus-within .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.cura-input-group:focus-within .cura-input-field textarea{color:var(--neutral-black)!important}.cura-input-group.small .cura-input-field textarea{font-size:12px;line-height:13px;letter-spacing:.72px}.cura-input-group.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.medium .cura-input-field textarea{font-size:14px;line-height:16px;letter-spacing:.56px}.cura-input-group.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.large .cura-input-field textarea{font-size:16px}.cura-input-group.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.cura-input-group.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.cura-input-group.disabled .cura-input-field textarea{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field textarea::placeholder{color:var(--neutral-medium)}.cura-input-group.success .cura-input-field{border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.cura-input-group.success .cura-input-field textarea{color:var(--success-darker)!important}.cura-input-group.success .cura-input-field textarea::placeholder{color:var(--success-darker)!important}.cura-input-group.error .cura-input-field{border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.cura-input-group.error .cura-input-field textarea{color:var(--error-darker)!important}.cura-input-group.error .cura-input-field textarea::placeholder{color:var(--error-darker)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
|
|
185
|
+
], ngImport: i0, template: "<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (maxlength() !== undefined) {\n <div class=\"char-counter\" [style]=\"styles()\">{{ currentLength() }}/{{ maxlength() }}</div>\n }\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;box-sizing:border-box;width:100%}.required{color:var(--error-base)}.cura-input-group{width:100%;font-family:var(--font-family);text-align:left!important}.cura-input-group .char-counter{margin-top:4px;text-align:right;font-size:12px;color:var(--neutral-dark);font-family:var(--font-family)}.cura-input-group cura-label{margin-bottom:8px}.cura-input-group .helper-text{margin-top:8px;color:var(--neutral-dark)}.cura-input-group .cura-input-field{width:100%;display:flex;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;box-sizing:border-box;overflow:hidden}.cura-input-group .cura-input-field textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:8px 12px;line-height:20px}.cura-input-group .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field{border-color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:focus-within .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.cura-input-group:focus-within .cura-input-field textarea{color:var(--neutral-black)!important}.cura-input-group.small .cura-input-field textarea{font-size:12px;line-height:13px;letter-spacing:.72px}.cura-input-group.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.medium .cura-input-field textarea{font-size:14px;line-height:16px;letter-spacing:.56px}.cura-input-group.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.large .cura-input-field textarea{font-size:16px}.cura-input-group.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.cura-input-group.disabled .char-counter{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.cura-input-group.disabled .cura-input-field textarea{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field textarea::placeholder{color:var(--neutral-medium)}.cura-input-group.success .cura-input-field{border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.cura-input-group.success .cura-input-field textarea{color:var(--success-darker)!important}.cura-input-group.success .cura-input-field textarea::placeholder{color:var(--success-darker)!important}.cura-input-group.error .cura-input-field{border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.cura-input-group.error .cura-input-field textarea{color:var(--error-darker)!important}.cura-input-group.error .cura-input-field textarea::placeholder{color:var(--error-darker)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CuraLabelComponent, selector: "cura-label", inputs: ["size", "weight", "spotColor", "color", "marginBlock", "lineHeight", "textOverflow"] }] }); }
|
|
185
186
|
}
|
|
186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: CuraTextareaComponent, decorators: [{
|
|
187
188
|
type: Component,
|
|
188
189
|
args: [{ selector: 'cura-textarea', imports: [CommonModule, FormsModule, CuraLabelComponent], host: {
|
|
189
190
|
role: 'textbox',
|
|
@@ -197,7 +198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
197
198
|
useExisting: forwardRef(() => CuraTextareaComponent),
|
|
198
199
|
multi: true,
|
|
199
200
|
},
|
|
200
|
-
], template: "<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;box-sizing:border-box;width:100%}.required{color:var(--error-base)}.cura-input-group{width:100%;font-family:var(--font-family);text-align:left!important}.cura-input-group cura-label{margin-bottom:8px}.cura-input-group .helper-text{margin-top:8px;color:var(--neutral-dark)}.cura-input-group .cura-input-field{width:100%;display:flex;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;box-sizing:border-box;overflow:hidden}.cura-input-group .cura-input-field textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:8px 12px;line-height:20px}.cura-input-group .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field{border-color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:focus-within .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.cura-input-group:focus-within .cura-input-field textarea{color:var(--neutral-black)!important}.cura-input-group.small .cura-input-field textarea{font-size:12px;line-height:13px;letter-spacing:.72px}.cura-input-group.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.medium .cura-input-field textarea{font-size:14px;line-height:16px;letter-spacing:.56px}.cura-input-group.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.large .cura-input-field textarea{font-size:16px}.cura-input-group.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.cura-input-group.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.cura-input-group.disabled .cura-input-field textarea{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field textarea::placeholder{color:var(--neutral-medium)}.cura-input-group.success .cura-input-field{border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.cura-input-group.success .cura-input-field textarea{color:var(--success-darker)!important}.cura-input-group.success .cura-input-field textarea::placeholder{color:var(--success-darker)!important}.cura-input-group.error .cura-input-field{border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.cura-input-group.error .cura-input-field textarea{color:var(--error-darker)!important}.cura-input-group.error .cura-input-field textarea::placeholder{color:var(--error-darker)!important}\n"] }]
|
|
201
|
+
], template: "<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (maxlength() !== undefined) {\n <div class=\"char-counter\" [style]=\"styles()\">{{ currentLength() }}/{{ maxlength() }}</div>\n }\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\n</div>\n", styles: [":host{display:block;box-sizing:border-box;width:100%}.required{color:var(--error-base)}.cura-input-group{width:100%;font-family:var(--font-family);text-align:left!important}.cura-input-group .char-counter{margin-top:4px;text-align:right;font-size:12px;color:var(--neutral-dark);font-family:var(--font-family)}.cura-input-group cura-label{margin-bottom:8px}.cura-input-group .helper-text{margin-top:8px;color:var(--neutral-dark)}.cura-input-group .cura-input-field{width:100%;display:flex;background-color:var(--neutral-purewhite);border:2px solid var(--neutral-medium);border-radius:4px;color:var(--primary-base);letter-spacing:.32px;box-sizing:border-box;overflow:hidden}.cura-input-group .cura-input-field textarea{flex:1;width:100%;background:transparent;border:none;outline:none;color:var(--neutral-dark);font-family:var(--font-family);font-weight:var(--font-weight-medium);font-size:14px;box-sizing:border-box;padding:8px 12px;line-height:20px}.cura-input-group .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field{border-color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea{color:var(--neutral-dark)}.cura-input-group:hover:not(.disabled):not(.success):not(.error):not(.isFocused) .cura-input-field textarea::placeholder{color:var(--neutral-dark)}.cura-input-group:focus-within .cura-input-field{border:2px solid var(--info-base)!important;background-color:var(--neutral-purewhite);outline:none}.cura-input-group:focus-within .cura-input-field textarea{color:var(--neutral-black)!important}.cura-input-group.small .cura-input-field textarea{font-size:12px;line-height:13px;letter-spacing:.72px}.cura-input-group.small .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.medium .cura-input-field textarea{font-size:14px;line-height:16px;letter-spacing:.56px}.cura-input-group.medium .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-regular)}.cura-input-group.large .cura-input-field textarea{font-size:16px}.cura-input-group.large .helper-text{margin-top:8px;color:var(--neutral-dark);font-weight:var(--font-weight-bold)}.cura-input-group.disabled .char-counter{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field{background-color:var(--neutral-white);border:2px solid var(--neutral-base)}.cura-input-group.disabled .cura-input-field textarea{color:var(--neutral-medium)}.cura-input-group.disabled .cura-input-field textarea::placeholder{color:var(--neutral-medium)}.cura-input-group.success .cura-input-field{border:2px solid var(--success-dark)!important;background-color:var(--success-lighter)!important}.cura-input-group.success .cura-input-field textarea{color:var(--success-darker)!important}.cura-input-group.success .cura-input-field textarea::placeholder{color:var(--success-darker)!important}.cura-input-group.error .cura-input-field{border:2px solid var(--error-dark)!important;background-color:var(--error-lighter)!important}.cura-input-group.error .cura-input-field textarea{color:var(--error-darker)!important}.cura-input-group.error .cura-input-field textarea::placeholder{color:var(--error-darker)!important}\n"] }]
|
|
201
202
|
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], resize: [{ type: i0.Input, args: [{ isSignal: true, alias: "resize", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
202
203
|
|
|
203
204
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rededor-site-front-end-lib-cura-forms-cura-textarea.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-textarea/cura-textarea.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-textarea/cura-textarea.component.html","../../../projects/site-front-end-lib/cura/forms/cura-textarea/rededor-site-front-end-lib-cura-forms-cura-textarea.ts"],"sourcesContent":["import { Component, input, output, signal, computed, inject, forwardRef, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { LabelSize } from '@rededor/site-front-end-lib/cura/forms';\nimport { TextareaSize, TextareaStatus, TextareaResize, TextareaValueChangeEvent } from './cura-textarea.definitions';\n\n@Component({\n selector: 'cura-textarea',\n imports: [CommonModule, FormsModule, CuraLabelComponent],\n templateUrl: './cura-textarea.component.html',\n styleUrls: ['./cura-textarea.component.scss'],\n host: {\n role: 'textbox',\n '[attr.aria-multiline]': 'true',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-required]': 'required()',\n '[attr.aria-invalid]': 'status() === \"error\"',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class CuraTextareaComponent implements ControlValueAccessor {\n private curaApi: CuraApiService = inject(CuraApiService);\n\n /**\n * Status of the textarea component\n */\n status = input<TextareaStatus>('default');\n\n /**\n * Size of the textarea component\n */\n size = input<TextareaSize>('medium');\n\n /**\n * Label text for the textarea\n */\n label = input<string>('');\n\n /**\n * Name attribute for the textarea\n */\n name = input<string>('');\n\n /**\n * Placeholder text for the textarea\n */\n placeholder = input<string | null>(null);\n\n /**\n * Current value of the textarea\n */\n value = model<string>('');\n\n /**\n * Whether the textarea is disabled\n */\n disabled = input<boolean>(false);\n\n /**\n * Whether the textarea is required\n */\n required = input<boolean>(false);\n\n /**\n * Whether the textarea is read-only\n */\n readOnly = input<boolean>(false);\n\n /**\n * Maximum length of the textarea value\n */\n maxlength = input<number | undefined>(undefined);\n\n /**\n * Number of visible text rows\n */\n rows = input<number>(3);\n\n /**\n * Resize behaviour of the textarea\n */\n resize = input<TextareaResize>('none');\n\n /**\n * Event emitted when the value changes\n */\n valueChange = output<TextareaValueChangeEvent>();\n\n // Internal state signals\n private isHovered = signal<boolean>(false);\n private isFocused = signal<boolean>(false);\n\n // Form control callbacks\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n this.value.set(value ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n // Computed styles\n styles = computed(() => {\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\n\n const baseStyles: { [key: string]: string } = {};\n\n if (fonts) {\n const fontWeights = fonts.getWeights();\n baseStyles['--font-weight-medium'] = fontWeights.medium;\n baseStyles['--font-weight-bold'] = fontWeights.bold;\n baseStyles['--font-weight-regular'] = fontWeights.regular;\n baseStyles['--font-color'] = fonts.getColor();\n baseStyles['--font-family'] = fonts.getFamily();\n baseStyles['--font-size'] = fonts.getSize();\n }\n\n if (colors) {\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach((key) => {\n baseStyles[`--${key}`] = colors.getColor(key);\n });\n }\n\n return baseStyles;\n });\n\n // Computed signals\n classes = computed(() => ({\n [this.size().toLowerCase()]: true,\n disabled: this.disabled(),\n isFocused: this.isFocused() && !this.disabled() && !this.readOnly(),\n isHovered: this.isHovered(),\n [this.status()]: true,\n }));\n\n labelColor = computed(() => {\n if (this.disabled()) {\n return 'neutral-medium';\n } else if ((this.isFocused() || this.isHovered() || this.status() === 'success' || this.status() === 'error') && !this.readOnly()) {\n return 'neutral-black';\n } else {\n return 'neutral-dark';\n }\n });\n\n helperText = computed((): { size: LabelSize; color: string } => {\n const isError = this.status() === 'error';\n const isSuccess = this.status() === 'success';\n const isDefault = this.status() === 'default';\n const helperTextSize: LabelSize = this.size() === 'large' ? 'small' : 'xsmall';\n\n const colorText = (() => {\n if (this.disabled()) return 'neutral-medium';\n if (this.isFocused() || this.isHovered()) return 'neutral-black';\n return 'neutral-dark';\n })();\n\n return {\n size: helperTextSize,\n color: isDefault ? colorText : isError ? 'error-dark' : isSuccess ? 'success-dark' : colorText,\n };\n });\n\n // Event handlers\n handleMouseEnter(): void {\n this.isHovered.set(true);\n }\n\n handleMouseLeave(): void {\n this.isHovered.set(false);\n }\n\n handleFocus(): void {\n this.isFocused.set(true);\n }\n\n handleBlur(): void {\n this.onTouched();\n setTimeout(() => {\n this.isFocused.set(false);\n }, 150);\n }\n\n handleInputChange(event: Event): void {\n const newValue = (event.target as HTMLTextAreaElement).value;\n this.value.set(newValue);\n this.onChange(newValue);\n this.valueChange.emit({ value: newValue });\n }\n}\n","<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\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":"rededor-site-front-end-lib-cura-forms-cura-textarea.mjs","sources":["../../../projects/site-front-end-lib/cura/forms/cura-textarea/cura-textarea.component.ts","../../../projects/site-front-end-lib/cura/forms/cura-textarea/cura-textarea.component.html","../../../projects/site-front-end-lib/cura/forms/cura-textarea/rededor-site-front-end-lib-cura-forms-cura-textarea.ts"],"sourcesContent":["import { Component, input, output, signal, computed, inject, forwardRef, model } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CuraApiService } from '@rededor/site-front-end-lib/cura/api';\nimport { CuraLabelComponent } from '@rededor/site-front-end-lib/cura/forms/cura-label';\nimport { LabelSize } from '@rededor/site-front-end-lib/cura/forms';\nimport { TextareaSize, TextareaStatus, TextareaResize, TextareaValueChangeEvent } from './cura-textarea.definitions';\n\n@Component({\n selector: 'cura-textarea',\n imports: [CommonModule, FormsModule, CuraLabelComponent],\n templateUrl: './cura-textarea.component.html',\n styleUrls: ['./cura-textarea.component.scss'],\n host: {\n role: 'textbox',\n '[attr.aria-multiline]': 'true',\n '[attr.aria-disabled]': 'disabled()',\n '[attr.aria-required]': 'required()',\n '[attr.aria-invalid]': 'status() === \"error\"',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => CuraTextareaComponent),\n multi: true,\n },\n ],\n})\nexport class CuraTextareaComponent implements ControlValueAccessor {\n private curaApi: CuraApiService = inject(CuraApiService);\n\n /**\n * Status of the textarea component\n */\n status = input<TextareaStatus>('default');\n\n /**\n * Size of the textarea component\n */\n size = input<TextareaSize>('medium');\n\n /**\n * Label text for the textarea\n */\n label = input<string>('');\n\n /**\n * Name attribute for the textarea\n */\n name = input<string>('');\n\n /**\n * Placeholder text for the textarea\n */\n placeholder = input<string | null>(null);\n\n /**\n * Current value of the textarea\n */\n value = model<string>('');\n\n /**\n * Whether the textarea is disabled\n */\n disabled = input<boolean>(false);\n\n /**\n * Whether the textarea is required\n */\n required = input<boolean>(false);\n\n /**\n * Whether the textarea is read-only\n */\n readOnly = input<boolean>(false);\n\n /**\n * Maximum length of the textarea value\n */\n maxlength = input<number | undefined>(undefined);\n\n /**\n * Number of visible text rows\n */\n rows = input<number>(3);\n\n /**\n * Resize behaviour of the textarea\n */\n resize = input<TextareaResize>('none');\n\n /**\n * Event emitted when the value changes\n */\n valueChange = output<TextareaValueChangeEvent>();\n\n // Internal state signals\n private isHovered = signal<boolean>(false);\n private isFocused = signal<boolean>(false);\n\n // Form control callbacks\n private onChange = (value: string) => {};\n private onTouched = () => {};\n\n // ControlValueAccessor implementation\n writeValue(value: string): void {\n this.value.set(value ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n currentLength = computed(() => this.value()?.length ?? 0);\n\n // Computed styles\n styles = computed(() => {\n const { fonts, colors } = this.curaApi?.theme || { fonts: null, colors: null };\n\n const baseStyles: { [key: string]: string } = {};\n\n if (fonts) {\n const fontWeights = fonts.getWeights();\n baseStyles['--font-weight-medium'] = fontWeights.medium;\n baseStyles['--font-weight-bold'] = fontWeights.bold;\n baseStyles['--font-weight-regular'] = fontWeights.regular;\n baseStyles['--font-color'] = fonts.getColor();\n baseStyles['--font-family'] = fonts.getFamily();\n baseStyles['--font-size'] = fonts.getSize();\n }\n\n if (colors) {\n const colorKeys = [\n 'primary-base',\n 'neutral-purewhite',\n 'neutral-white',\n 'neutral-black',\n 'neutral-medium',\n 'neutral-base',\n 'neutral-dark',\n 'success-dark',\n 'success-darker',\n 'success-lighter',\n 'error-lighter',\n 'error-dark',\n 'error-darker',\n 'error-base',\n 'info-base',\n ];\n\n colorKeys.forEach((key) => {\n baseStyles[`--${key}`] = colors.getColor(key);\n });\n }\n\n return baseStyles;\n });\n\n // Computed signals\n classes = computed(() => ({\n [this.size().toLowerCase()]: true,\n disabled: this.disabled(),\n isFocused: this.isFocused() && !this.disabled() && !this.readOnly(),\n isHovered: this.isHovered(),\n [this.status()]: true,\n }));\n\n labelColor = computed(() => {\n if (this.disabled()) {\n return 'neutral-medium';\n } else if ((this.isFocused() || this.isHovered() || this.status() === 'success' || this.status() === 'error') && !this.readOnly()) {\n return 'neutral-black';\n } else {\n return 'neutral-dark';\n }\n });\n\n helperText = computed((): { size: LabelSize; color: string } => {\n const isError = this.status() === 'error';\n const isSuccess = this.status() === 'success';\n const isDefault = this.status() === 'default';\n const helperTextSize: LabelSize = this.size() === 'large' ? 'small' : 'xsmall';\n\n const colorText = (() => {\n if (this.disabled()) return 'neutral-medium';\n if (this.isFocused() || this.isHovered()) return 'neutral-black';\n return 'neutral-dark';\n })();\n\n return {\n size: helperTextSize,\n color: isDefault ? colorText : isError ? 'error-dark' : isSuccess ? 'success-dark' : colorText,\n };\n });\n\n // Event handlers\n handleMouseEnter(): void {\n this.isHovered.set(true);\n }\n\n handleMouseLeave(): void {\n this.isHovered.set(false);\n }\n\n handleFocus(): void {\n this.isFocused.set(true);\n }\n\n handleBlur(): void {\n this.onTouched();\n setTimeout(() => {\n this.isFocused.set(false);\n }, 150);\n }\n\n handleInputChange(event: Event): void {\n const newValue = (event.target as HTMLTextAreaElement).value;\n this.value.set(newValue);\n this.onChange(newValue);\n this.valueChange.emit({ value: newValue });\n }\n}\n","<div class=\"cura-input-group\" [ngClass]=\"classes()\" [style]=\"styles()\" (mouseenter)=\"handleMouseEnter()\" (mouseleave)=\"handleMouseLeave()\">\n <div class=\"input-wrapper\">\n @if (label()) {\n <cura-label class=\"label\" weight=\"bold\" [size]=\"size()\" [color]=\"labelColor()\">\n {{ label() }}\n @if (required()) {\n <span class=\"required\">*</span>\n }\n </cura-label>\n }\n\n <div class=\"cura-input-field\" [style]=\"styles()\">\n <textarea\n [attr.id]=\"name() || null\"\n [attr.name]=\"name() || null\"\n [placeholder]=\"placeholder() || ''\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [readOnly]=\"readOnly()\"\n [attr.maxlength]=\"maxlength()\"\n [rows]=\"rows()\"\n [style.resize]=\"resize()\"\n [(ngModel)]=\"value\"\n [ngClass]=\"classes()\"\n [style]=\"styles()\"\n (focus)=\"handleFocus()\"\n (blur)=\"handleBlur()\"\n (input)=\"handleInputChange($event)\"\n ></textarea>\n </div>\n\n @if (maxlength() !== undefined) {\n <div class=\"char-counter\" [style]=\"styles()\">{{ currentLength() }}/{{ maxlength() }}</div>\n }\n\n @if (helperText()) {\n <div [style]=\"styles()\" class=\"helper-text\" part=\"cura-textarea-helper\">\n <cura-label [size]=\"helperText().size\" lineHeight=\"xsmall\" [color]=\"helperText().color\">\n <ng-content></ng-content>\n </cura-label>\n </div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|