@educarehq/solaris-components 0.1.8 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1656,11 +1656,11 @@ class PasswordToggle {
1656
1656
  get ariaLabelHide() { return 'Hide password'; }
1657
1657
  get ariaLabelShow() { return 'Show password'; }
1658
1658
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: PasswordToggle, deps: [], target: i0.ɵɵFactoryTarget.Component });
1659
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: PasswordToggle, isStandalone: true, selector: "solaris-password-toggle", host: { properties: { "attr.solaris-suffix": "this.solarisSuffix" } }, ngImport: i0, template: "<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n", styles: [".solaris-password-toggle{border:0;opacity:.6;display:grid;width:3.8rem;height:3.8rem;cursor:pointer;place-items:center;background:transparent;color:var(--solaris-color-text-muted);transition:opacity .16s ease,filter .16s ease}.solaris-password-toggle:hover,.solaris-password-toggle:focus-visible{opacity:1;filter:brightness(1.1)}.solaris-password-toggle:focus-visible{outline-offset:.2rem;border-radius:var(--solaris-radius-md);outline:.2rem solid color-mix(in srgb,var(--solaris-color-primary) 35%,transparent)}.solaris-password-toggle i.ph{font-size:var(--solaris-fs-14)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1659
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: PasswordToggle, isStandalone: true, selector: "solaris-password-toggle", host: { properties: { "attr.solaris-suffix": "this.solarisSuffix" } }, ngImport: i0, template: "<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n", styles: [".solaris-password-toggle{border:0;opacity:.6;display:grid;width:3.8rem;height:3.8rem;cursor:pointer;place-items:center;background:transparent;color:var(--solaris-color-text-muted);transition:opacity .16s ease,filter .16s ease}.solaris-password-toggle:hover,.solaris-password-toggle:focus-visible{opacity:1;filter:brightness(1.1)}.solaris-password-toggle:focus-visible{outline-offset:.2rem;border-radius:var(--solaris-radius-md);outline:.2rem solid color-mix(in srgb,var(--solaris-color-primary) 35%,transparent)}.solaris-password-toggle i.ph{font-size:var(--solaris-fs-18)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1660
1660
  }
1661
1661
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: PasswordToggle, decorators: [{
1662
1662
  type: Component,
1663
- args: [{ selector: 'solaris-password-toggle', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n", styles: [".solaris-password-toggle{border:0;opacity:.6;display:grid;width:3.8rem;height:3.8rem;cursor:pointer;place-items:center;background:transparent;color:var(--solaris-color-text-muted);transition:opacity .16s ease,filter .16s ease}.solaris-password-toggle:hover,.solaris-password-toggle:focus-visible{opacity:1;filter:brightness(1.1)}.solaris-password-toggle:focus-visible{outline-offset:.2rem;border-radius:var(--solaris-radius-md);outline:.2rem solid color-mix(in srgb,var(--solaris-color-primary) 35%,transparent)}.solaris-password-toggle i.ph{font-size:var(--solaris-fs-14)}\n"] }]
1663
+ args: [{ selector: 'solaris-password-toggle', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n", styles: [".solaris-password-toggle{border:0;opacity:.6;display:grid;width:3.8rem;height:3.8rem;cursor:pointer;place-items:center;background:transparent;color:var(--solaris-color-text-muted);transition:opacity .16s ease,filter .16s ease}.solaris-password-toggle:hover,.solaris-password-toggle:focus-visible{opacity:1;filter:brightness(1.1)}.solaris-password-toggle:focus-visible{outline-offset:.2rem;border-radius:var(--solaris-radius-md);outline:.2rem solid color-mix(in srgb,var(--solaris-color-primary) 35%,transparent)}.solaris-password-toggle i.ph{font-size:var(--solaris-fs-18)}\n"] }]
1664
1664
  }], propDecorators: { solarisSuffix: [{
1665
1665
  type: HostBinding,
1666
1666
  args: ['attr.solaris-suffix']
@@ -1821,11 +1821,17 @@ class FormField {
1821
1821
  return 'solaris.validation.invalid';
1822
1822
  }, ...(ngDevMode ? [{ debugName: "errorKey" }] : []));
1823
1823
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: FormField, deps: [], target: i0.ɵɵFactoryTarget.Component });
1824
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: FormField, isStandalone: true, selector: "solaris-form-field", inputs: { hint: "hint", label: "label", hintKey: "hintKey", labelKey: "labelKey", invalid: "invalid", showErrors: "showErrors" }, providers: [SolarisFormFieldController], queries: [{ propertyName: "prefix", first: true, predicate: SolarisPrefixDirective, descendants: true }, { propertyName: "suffix", first: true, predicate: SolarisSuffixDirective, descendants: true }], ngImport: i0, template: "<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".solaris-form-field{display:grid;gap:var(--solaris-space-2)}.solaris-form-field__label{font-weight:600;font-size:var(--solaris-fs-14);color:var(--solaris-color-text);margin-left:var(--solaris-space-1)}.solaris-form-field__frame{display:grid;min-height:3.8rem;align-items:stretch;grid-template-columns:1fr;border-radius:var(--solaris-radius-sm);background:var(--solaris-color-surface-2);border:1px solid var(--solaris-color-border);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.solaris-form-field--has-prefix .solaris-form-field__frame{grid-template-columns:3.8rem 1fr}.solaris-form-field__prefix{opacity:.5;display:grid;width:3.8rem;line-height:0;place-items:center;font-size:var(--solaris-fs-14);color:var(--solaris-color-text-muted);transition:opacity .3s ease,filter .3s ease;border-right:1px solid color-mix(in srgb,var(--solaris-color-border) 85%,transparent)}.solaris-form-field__frame:hover .solaris-form-field__prefix,.solaris-form-field__frame:focus-within .solaris-form-field__prefix{opacity:1;filter:brightness(1.05)}.solaris-form-field__prefix :is(i,svg,[solarisPrefixIcon]){display:block;line-height:1}.solaris-form-field__prefix i.ph{opacity:.6;font-size:1.9rem}.solaris-form-field__prefix svg{width:1.9rem;height:1.9rem}.solaris-form-field__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;position:relative;padding-left:var(--solaris-space-3);padding-right:0}.solaris-form-field__control-slot{width:100%;min-width:0;display:flex;align-items:center;flex:1 1 auto}.solaris-form-field__control-slot>*{flex:1 1 0;min-width:0;width:100%}.solaris-form-field__control-slot :is(input,textarea){margin:0;border:0;outline:none;width:100%;min-width:0;padding:.9rem 0;background:transparent;font-size:var(--solaris-fs-14);line-height:var(--solaris-lh-normal);color:var(--solaris-color-text)}.solaris-form-field__control-slot :is(input,textarea)::placeholder{opacity:.9;color:var(--solaris-color-text-muted)}.solaris-form-field__suffix{display:inline-flex;align-items:center;justify-content:center;padding-right:var(--solaris-space-3);gap:var(--solaris-space-2)}.solaris-form-field__suffix :is(button,a){align-self:stretch;display:inline-flex;align-items:center;height:3.6rem}.solaris-form-field__status{width:3.8rem;height:3.8rem;display:grid;place-items:center;color:var(--solaris-color-error);opacity:.95}.solaris-form-field__status i.ph{font-size:1.9rem;line-height:1}.solaris-form-field__hint{font-size:var(--solaris-fs-12);color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:is(input,textarea)[disabled]){opacity:.45}.solaris-form-field__frame:has(:is(input,textarea)[disabled]) .solaris-form-field__prefix,.solaris-form-field__frame:has(:is(input,textarea)[disabled]) :is(.solaris-form-field__label,.solaris-form-field__hint){color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:focus-visible){box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-primary) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-primary) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame{box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-error) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame:focus-within{border-color:color-mix(in srgb,var(--solaris-color-error) 80%,var(--solaris-color-border));box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 16%,transparent)}.solaris-form-field[data-invalid=true] .solaris-form-field__prefix{border-right-color:color-mix(in srgb,var(--solaris-color-error) 30%,var(--solaris-color-border));color:color-mix(in srgb,var(--solaris-color-error) 75%,var(--solaris-color-text-muted))}.solaris-form-field[data-invalid=true] .solaris-form-field__control-slot :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--solaris-color-error) 45%,var(--solaris-color-text-muted))}.solaris-form-field__body:has(solaris-phone-input){padding-left:0}\n"], dependencies: [{ kind: "component", type: PasswordToggle, selector: "solaris-password-toggle" }, { kind: "component", type: FieldErrorComponent, selector: "solaris-field-error", inputs: ["text", "textKey", "textParams"] }, { kind: "pipe", type: SolarisTranslationPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1824
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: FormField, isStandalone: true, selector: "solaris-form-field", inputs: { hint: "hint", label: "label", hintKey: "hintKey", labelKey: "labelKey", invalid: "invalid", showErrors: "showErrors" }, providers: [
1825
+ SolarisFormFieldController,
1826
+ { provide: SOLARIS_FORM_FIELD_CONTROLLER, useExisting: SolarisFormFieldController },
1827
+ ], queries: [{ propertyName: "prefix", first: true, predicate: SolarisPrefixDirective, descendants: true }, { propertyName: "suffix", first: true, predicate: SolarisSuffixDirective, descendants: true }], ngImport: i0, template: "<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".solaris-form-field{display:grid;gap:var(--solaris-space-2)}.solaris-form-field__label{font-weight:600;font-size:var(--solaris-fs-14);color:var(--solaris-color-text);margin-left:var(--solaris-space-1)}.solaris-form-field__frame{display:grid;min-height:3.8rem;align-items:stretch;grid-template-columns:1fr;border-radius:var(--solaris-radius-sm);background:var(--solaris-color-surface-2);border:1px solid var(--solaris-color-border);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.solaris-form-field--has-prefix .solaris-form-field__frame{grid-template-columns:3.8rem 1fr}.solaris-form-field__prefix{opacity:.5;display:grid;width:3.8rem;line-height:0;place-items:center;font-size:var(--solaris-fs-14);color:var(--solaris-color-text-muted);transition:opacity .3s ease,filter .3s ease;border-right:1px solid color-mix(in srgb,var(--solaris-color-border) 85%,transparent)}.solaris-form-field__frame:hover .solaris-form-field__prefix,.solaris-form-field__frame:focus-within .solaris-form-field__prefix{opacity:1;filter:brightness(1.05)}.solaris-form-field__prefix :is(i,svg,[solarisPrefixIcon]){display:block;line-height:1}.solaris-form-field__prefix i.ph{opacity:.6;font-size:var(--solaris-fs-18)}.solaris-form-field__prefix svg{width:var(--solaris-fs-18);height:var(--solaris-fs-18)}.solaris-form-field__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;position:relative;padding-left:var(--solaris-space-3);padding-right:0}.solaris-form-field__control-slot{width:100%;min-width:0;display:flex;align-items:center;flex:1 1 auto}.solaris-form-field__control-slot>*{flex:1 1 0;min-width:0;width:100%}.solaris-form-field__control-slot :is(input,textarea){margin:0;border:0;outline:none;width:100%;min-width:0;padding:.9rem 0;background:transparent;font-size:var(--solaris-fs-14);line-height:var(--solaris-lh-normal);color:var(--solaris-color-text)}.solaris-form-field__control-slot :is(input,textarea)::placeholder{opacity:.9;color:var(--solaris-color-text-muted)}.solaris-form-field__suffix{display:inline-flex;align-items:center;justify-content:center;padding-right:var(--solaris-space-3);gap:var(--solaris-space-2)}.solaris-form-field__suffix :is(button,a){align-self:stretch;display:inline-flex;align-items:center;height:3.6rem}.solaris-form-field__status{width:3.8rem;height:3.8rem;display:grid;place-items:center;color:var(--solaris-color-error);opacity:.95}.solaris-form-field__status i.ph{font-size:var(--solaris-fs-18);line-height:1}.solaris-form-field__hint{font-size:var(--solaris-fs-12);color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:is(input,textarea)[disabled]){opacity:.45}.solaris-form-field__frame:has(:is(input,textarea)[disabled]) .solaris-form-field__prefix,.solaris-form-field__frame:has(:is(input,textarea)[disabled]) :is(.solaris-form-field__label,.solaris-form-field__hint){color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:focus-visible){box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-primary) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-primary) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame{box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-error) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame:focus-within{border-color:color-mix(in srgb,var(--solaris-color-error) 80%,var(--solaris-color-border));box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 16%,transparent)}.solaris-form-field[data-invalid=true] .solaris-form-field__prefix{border-right-color:color-mix(in srgb,var(--solaris-color-error) 30%,var(--solaris-color-border));color:color-mix(in srgb,var(--solaris-color-error) 75%,var(--solaris-color-text-muted))}.solaris-form-field[data-invalid=true] .solaris-form-field__control-slot :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--solaris-color-error) 45%,var(--solaris-color-text-muted))}.solaris-form-field__body:has(solaris-phone-input){padding-left:0}\n"], dependencies: [{ kind: "component", type: PasswordToggle, selector: "solaris-password-toggle" }, { kind: "component", type: FieldErrorComponent, selector: "solaris-field-error", inputs: ["text", "textKey", "textParams"] }, { kind: "pipe", type: SolarisTranslationPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1825
1828
  }
1826
1829
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: FormField, decorators: [{
1827
1830
  type: Component,
1828
- args: [{ selector: 'solaris-form-field', standalone: true, imports: [PasswordToggle, FieldErrorComponent, SolarisTranslationPipe], providers: [SolarisFormFieldController], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".solaris-form-field{display:grid;gap:var(--solaris-space-2)}.solaris-form-field__label{font-weight:600;font-size:var(--solaris-fs-14);color:var(--solaris-color-text);margin-left:var(--solaris-space-1)}.solaris-form-field__frame{display:grid;min-height:3.8rem;align-items:stretch;grid-template-columns:1fr;border-radius:var(--solaris-radius-sm);background:var(--solaris-color-surface-2);border:1px solid var(--solaris-color-border);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.solaris-form-field--has-prefix .solaris-form-field__frame{grid-template-columns:3.8rem 1fr}.solaris-form-field__prefix{opacity:.5;display:grid;width:3.8rem;line-height:0;place-items:center;font-size:var(--solaris-fs-14);color:var(--solaris-color-text-muted);transition:opacity .3s ease,filter .3s ease;border-right:1px solid color-mix(in srgb,var(--solaris-color-border) 85%,transparent)}.solaris-form-field__frame:hover .solaris-form-field__prefix,.solaris-form-field__frame:focus-within .solaris-form-field__prefix{opacity:1;filter:brightness(1.05)}.solaris-form-field__prefix :is(i,svg,[solarisPrefixIcon]){display:block;line-height:1}.solaris-form-field__prefix i.ph{opacity:.6;font-size:1.9rem}.solaris-form-field__prefix svg{width:1.9rem;height:1.9rem}.solaris-form-field__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;position:relative;padding-left:var(--solaris-space-3);padding-right:0}.solaris-form-field__control-slot{width:100%;min-width:0;display:flex;align-items:center;flex:1 1 auto}.solaris-form-field__control-slot>*{flex:1 1 0;min-width:0;width:100%}.solaris-form-field__control-slot :is(input,textarea){margin:0;border:0;outline:none;width:100%;min-width:0;padding:.9rem 0;background:transparent;font-size:var(--solaris-fs-14);line-height:var(--solaris-lh-normal);color:var(--solaris-color-text)}.solaris-form-field__control-slot :is(input,textarea)::placeholder{opacity:.9;color:var(--solaris-color-text-muted)}.solaris-form-field__suffix{display:inline-flex;align-items:center;justify-content:center;padding-right:var(--solaris-space-3);gap:var(--solaris-space-2)}.solaris-form-field__suffix :is(button,a){align-self:stretch;display:inline-flex;align-items:center;height:3.6rem}.solaris-form-field__status{width:3.8rem;height:3.8rem;display:grid;place-items:center;color:var(--solaris-color-error);opacity:.95}.solaris-form-field__status i.ph{font-size:1.9rem;line-height:1}.solaris-form-field__hint{font-size:var(--solaris-fs-12);color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:is(input,textarea)[disabled]){opacity:.45}.solaris-form-field__frame:has(:is(input,textarea)[disabled]) .solaris-form-field__prefix,.solaris-form-field__frame:has(:is(input,textarea)[disabled]) :is(.solaris-form-field__label,.solaris-form-field__hint){color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:focus-visible){box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-primary) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-primary) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame{box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-error) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame:focus-within{border-color:color-mix(in srgb,var(--solaris-color-error) 80%,var(--solaris-color-border));box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 16%,transparent)}.solaris-form-field[data-invalid=true] .solaris-form-field__prefix{border-right-color:color-mix(in srgb,var(--solaris-color-error) 30%,var(--solaris-color-border));color:color-mix(in srgb,var(--solaris-color-error) 75%,var(--solaris-color-text-muted))}.solaris-form-field[data-invalid=true] .solaris-form-field__control-slot :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--solaris-color-error) 45%,var(--solaris-color-text-muted))}.solaris-form-field__body:has(solaris-phone-input){padding-left:0}\n"] }]
1831
+ args: [{ selector: 'solaris-form-field', standalone: true, imports: [PasswordToggle, FieldErrorComponent, SolarisTranslationPipe], providers: [
1832
+ SolarisFormFieldController,
1833
+ { provide: SOLARIS_FORM_FIELD_CONTROLLER, useExisting: SolarisFormFieldController },
1834
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".solaris-form-field{display:grid;gap:var(--solaris-space-2)}.solaris-form-field__label{font-weight:600;font-size:var(--solaris-fs-14);color:var(--solaris-color-text);margin-left:var(--solaris-space-1)}.solaris-form-field__frame{display:grid;min-height:3.8rem;align-items:stretch;grid-template-columns:1fr;border-radius:var(--solaris-radius-sm);background:var(--solaris-color-surface-2);border:1px solid var(--solaris-color-border);transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.solaris-form-field--has-prefix .solaris-form-field__frame{grid-template-columns:3.8rem 1fr}.solaris-form-field__prefix{opacity:.5;display:grid;width:3.8rem;line-height:0;place-items:center;font-size:var(--solaris-fs-14);color:var(--solaris-color-text-muted);transition:opacity .3s ease,filter .3s ease;border-right:1px solid color-mix(in srgb,var(--solaris-color-border) 85%,transparent)}.solaris-form-field__frame:hover .solaris-form-field__prefix,.solaris-form-field__frame:focus-within .solaris-form-field__prefix{opacity:1;filter:brightness(1.05)}.solaris-form-field__prefix :is(i,svg,[solarisPrefixIcon]){display:block;line-height:1}.solaris-form-field__prefix i.ph{opacity:.6;font-size:var(--solaris-fs-18)}.solaris-form-field__prefix svg{width:var(--solaris-fs-18);height:var(--solaris-fs-18)}.solaris-form-field__body{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;position:relative;padding-left:var(--solaris-space-3);padding-right:0}.solaris-form-field__control-slot{width:100%;min-width:0;display:flex;align-items:center;flex:1 1 auto}.solaris-form-field__control-slot>*{flex:1 1 0;min-width:0;width:100%}.solaris-form-field__control-slot :is(input,textarea){margin:0;border:0;outline:none;width:100%;min-width:0;padding:.9rem 0;background:transparent;font-size:var(--solaris-fs-14);line-height:var(--solaris-lh-normal);color:var(--solaris-color-text)}.solaris-form-field__control-slot :is(input,textarea)::placeholder{opacity:.9;color:var(--solaris-color-text-muted)}.solaris-form-field__suffix{display:inline-flex;align-items:center;justify-content:center;padding-right:var(--solaris-space-3);gap:var(--solaris-space-2)}.solaris-form-field__suffix :is(button,a){align-self:stretch;display:inline-flex;align-items:center;height:3.6rem}.solaris-form-field__status{width:3.8rem;height:3.8rem;display:grid;place-items:center;color:var(--solaris-color-error);opacity:.95}.solaris-form-field__status i.ph{font-size:var(--solaris-fs-18);line-height:1}.solaris-form-field__hint{font-size:var(--solaris-fs-12);color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:is(input,textarea)[disabled]){opacity:.45}.solaris-form-field__frame:has(:is(input,textarea)[disabled]) .solaris-form-field__prefix,.solaris-form-field__frame:has(:is(input,textarea)[disabled]) :is(.solaris-form-field__label,.solaris-form-field__hint){color:var(--solaris-color-text-muted)}.solaris-form-field__frame:has(:focus-visible){box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-primary) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-primary) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame{box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 5%,transparent);border-color:color-mix(in srgb,var(--solaris-color-error) 70%,var(--solaris-color-border))}.solaris-form-field[data-invalid=true] .solaris-form-field__frame:focus-within{border-color:color-mix(in srgb,var(--solaris-color-error) 80%,var(--solaris-color-border));box-shadow:0 0 .5rem .25rem color-mix(in srgb,var(--solaris-color-error) 16%,transparent)}.solaris-form-field[data-invalid=true] .solaris-form-field__prefix{border-right-color:color-mix(in srgb,var(--solaris-color-error) 30%,var(--solaris-color-border));color:color-mix(in srgb,var(--solaris-color-error) 75%,var(--solaris-color-text-muted))}.solaris-form-field[data-invalid=true] .solaris-form-field__control-slot :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--solaris-color-error) 45%,var(--solaris-color-text-muted))}.solaris-form-field__body:has(solaris-phone-input){padding-left:0}\n"] }]
1829
1835
  }], ctorParameters: () => [], propDecorators: { prefix: [{
1830
1836
  type: ContentChild,
1831
1837
  args: [SolarisPrefixDirective]
@@ -1 +1 @@
1
- {"version":3,"file":"educarehq-solaris-components.mjs","sources":["../../../projects/solaris-components/src/lib/navigations/broadcrumb/component/breadcrumb.ts","../../../projects/solaris-components/src/lib/navigations/broadcrumb/component/breadcrumb.html","../../../projects/solaris-components/src/lib/navigations/tabs/component/tabs.ts","../../../projects/solaris-components/src/lib/navigations/tabs/component/tabs.html","../../../projects/solaris-components/src/lib/navigations/tabs/tab/component/tab.ts","../../../projects/solaris-components/src/lib/navigations/tabs/tab/component/tab.html","../../../projects/solaris-components/src/lib/feedbacks/loading-overlay/loading-overlay.ts","../../../projects/solaris-components/src/lib/feedbacks/loading-overlay/loading-overlay.html","../../../projects/solaris-components/src/lib/feedbacks/loading/component/loading.ts","../../../projects/solaris-components/src/lib/feedbacks/loading/component/loading.html","../../../projects/solaris-components/src/lib/feedbacks/badge/component/badge.ts","../../../projects/solaris-components/src/lib/feedbacks/badge/component/badge.html","../../../projects/solaris-components/src/lib/layouts/image-slider/component/image-slider.ts","../../../projects/solaris-components/src/lib/layouts/image-slider/component/image-slider.html","../../../projects/solaris-components/src/lib/layouts/section/component/section.ts","../../../projects/solaris-components/src/lib/layouts/section/component/section.html","../../../projects/solaris-components/src/lib/layouts/divider/component/divider.ts","../../../projects/solaris-components/src/lib/layouts/divider/component/divider.html","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-header.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-footer.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-body.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/component/page.ts","../../../projects/solaris-components/src/lib/layouts/page/component/page.html","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-description.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-breadcrumb.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-title.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/title/component/page-header-title.ts","../../../projects/solaris-components/src/lib/layouts/page/header/title/component/page-header-title.html","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-actions.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/component/page-header.ts","../../../projects/solaris-components/src/lib/layouts/page/header/component/page-header.html","../../../projects/solaris-components/src/lib/buttons/directives/solaris-button-group.directive.ts","../../../projects/solaris-components/src/lib/buttons/directives/solaris-button.directive.ts","../../../projects/solaris-components/src/lib/forms/phone-input/helper/phone-input.sanitize.ts","../../../projects/solaris-components/src/lib/forms/phone-input/helper/phone-input.country.ts","../../../projects/solaris-components/src/lib/forms/input-text/tokens/solaris-input.token.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-text.directive.ts","../../../projects/solaris-components/src/lib/forms/phone-input/component/phone-input.ts","../../../projects/solaris-components/src/lib/forms/phone-input/component/phone-input.html","../../../projects/solaris-components/src/lib/forms/form-field/tokens/form-field-features.ts","../../../projects/solaris-components/src/lib/forms/form-field/controller/form-field-controller.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-password.directive.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-email.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/tokens/form-field-controller.token.ts","../../../projects/solaris-components/src/lib/forms/input-text/password-toggle/password-toggle.ts","../../../projects/solaris-components/src/lib/forms/input-text/password-toggle/password-toggle.html","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-control-bridge.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-prefix.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-suffix.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/messages/error/field-error.ts","../../../projects/solaris-components/src/lib/forms/form-field/messages/error/field-error.html","../../../projects/solaris-components/src/lib/forms/form-field/component/form-field.ts","../../../projects/solaris-components/src/lib/forms/form-field/component/form-field.html","../../../projects/solaris-components/src/public-api.ts","../../../projects/solaris-components/src/educarehq-solaris-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\r\nimport { RouterLink } from '@angular/router';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { SolarisBreadcrumbItem } from '../model/solaris-breadcrumb.type';\r\n\r\n@Component({\r\n selector: 'solaris-breadcrumb',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n RouterLink,\r\n CdkMenu,\r\n CdkMenuItem,\r\n CdkMenuTrigger,\r\n NgTemplateOutlet\r\n ],\r\n templateUrl: './breadcrumb.html',\r\n styleUrl: './breadcrumb.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisBreadcrumb {\r\n @Input({ alias: 'min-items' }) minItems = 2;\r\n @Input({ alias: 'max-items' }) maxItems = 4;\r\n @Input() responsive = true;\r\n @Input({ required: true }) items: SolarisBreadcrumbItem[] = [];\r\n @HostBinding('class') hostClass = 'solaris-breadcrumb-host';\r\n @Output() itemSelect = new EventEmitter<{ id: string; item: SolarisBreadcrumbItem }>();\r\n\r\n get viewModel() {\r\n const items = this.items ?? [];\r\n const total = items.length;\r\n const max = Math.max(this.minItems, this.effectiveMaxItems);\r\n\r\n if (total <= max) {\r\n return { head: items, overflow: [] as SolarisBreadcrumbItem[], tail: [] as SolarisBreadcrumbItem[] };\r\n }\r\n\r\n const keepHead = 1;\r\n const keepTail = 1;\r\n\r\n const remaining = max - keepHead - keepTail;\r\n const extraTail = Math.max(0, remaining);\r\n\r\n const head = items.slice(0, keepHead);\r\n const tail = items.slice(total - (keepTail + extraTail), total);\r\n const overflow = items.slice(keepHead, total - tail.length);\r\n\r\n return { head, overflow, tail };\r\n }\r\n get effectiveMaxItems(): number {\r\n if (!this.responsive) return this.maxItems;\r\n\r\n const isSmall = typeof globalThis.matchMedia === \"function\" &&\r\n globalThis.matchMedia(\"(max-width: 640px)\").matches;\r\n\r\n return isSmall ? Math.max(this.minItems, 3) : this.maxItems;\r\n }\r\n\r\n protected getRouterCommands(it: SolarisBreadcrumbItem): any[] | null {\r\n return it.target?.kind === 'router' ? it.target.commands : null;\r\n }\r\n\r\n protected getRouterQueryParams(it: SolarisBreadcrumbItem): Record<string, any> | null {\r\n return it.target?.kind === 'router' ? (it.target.extras?.queryParams ?? null) : null;\r\n }\r\n\r\n protected shouldRenderSeparatorAfterHead(headIndex: number): boolean {\r\n if (headIndex < this.viewModel.head.length - 1) return true;\r\n return this.viewModel.overflow.length > 0 || this.viewModel.tail.length > 0;\r\n }\r\n\r\n protected onAction(item: SolarisBreadcrumbItem) {\r\n if (item.disabled) return;\r\n const t = item.target;\r\n if (t?.kind === 'action') this.itemSelect.emit({ id: t.id, item });\r\n }\r\n}\r\n","<nav class=\"solaris-breadcrumb\" aria-label=\"Breadcrumb\">\r\n <ol class=\"solaris-breadcrumb__list\">\r\n @for (it of viewModel.head; track it.label; let i = $index) {\r\n <li class=\"solaris-breadcrumb__item\">\r\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{ $implicit: it }\"/>\r\n @if (shouldRenderSeparatorAfterHead(i)) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n\r\n @if (viewModel.overflow.length > 0) {\r\n <li class=\"solaris-breadcrumb__item\">\r\n <button type=\"button\" class=\"solaris-breadcrumb__ellipsis\" aria-label=\"Mostrar mais\" [cdkMenuTriggerFor]=\"overflowMenu\">\r\n <i class=\"ph ph-dots-three\"></i>\r\n </button>\r\n\r\n <ng-template #overflowMenu>\r\n <div class=\"solaris-breadcrumb__menu\" cdkMenu>\r\n @for (it of viewModel.overflow; track it.label) {\r\n <button type=\"button\" class=\"solaris-breadcrumb__menu-item\" cdkMenuItem (click)=\"onAction(it)\"\r\n [disabled]=\"it.disabled\" [routerLink]=\"getRouterCommands(it)\"\r\n [queryParams]=\"getRouterQueryParams(it)\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n @if (viewModel.tail.length > 0) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n\r\n @for (it of viewModel.tail; track it.label; let i = $index) {\r\n <li class=\"solaris-breadcrumb__item\" [class.is-current]=\"i === viewModel.tail.length - 1\">\r\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{ $implicit: it, current: i === viewModel.tail.length - 1 }\"/>\r\n @if (it !== viewModel.tail[viewModel.tail.length - 1]) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n\r\n <ng-template #itemTpl let-it let-current=\"current\">\r\n @if (it.target?.kind === 'router') {\r\n <a class=\"solaris-breadcrumb__link\" [class.is-disabled]=\"it.disabled\" [class.is-current]=\"current\"\r\n [routerLink]=\"it.disabled ? null : it.target!.commands\" [attr.aria-current]=\"current ? 'page' : null\"\r\n [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </a>\r\n }\r\n @else if (it.target?.kind === 'href') {\r\n <a class=\"solaris-breadcrumb__link\" [class.is-disabled]=\"it.disabled\" [class.is-current]=\"current\"\r\n [href]=\"it.disabled ? null : it.target!.href\" [target]=\"it.target!.target || '_self'\"\r\n [attr.aria-current]=\"current ? 'page' : null\" [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </a>\r\n }\r\n @else if (it.target?.kind === 'action') {\r\n <button type=\"button\" class=\"solaris-breadcrumb__link as-button\" [class.is-current]=\"current\"\r\n [disabled]=\"it.disabled\" (click)=\"onAction(it)\" [attr.aria-current]=\"current ? 'page' : null\"\r\n [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </button>\r\n }\r\n @else {\r\n <span class=\"solaris-breadcrumb__text\" [attr.aria-current]=\"current ? 'page' : null\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </span>\r\n }\r\n </ng-template>\r\n</nav>\r\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input,\r\n Output, QueryList, signal } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { TabsSize, TabsVariant } from '../model/solaris-tab.type';\r\nimport { SolarisTab } from '../tab/component/tab';\r\n\r\n@Component({\r\n selector: 'solaris-tabs',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './tabs.html',\r\n styleUrl: './tabs.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisTabs implements AfterContentInit {\r\n @Input() size: TabsSize = 'md';\r\n @Input() disabled = false;\r\n @Input() variant: TabsVariant = 'underline';\r\n @Input({ alias: 'active-id' }) activeId?: string;\r\n @Output('active-idChange') activeIdChange = new EventEmitter<string>();\r\n @Output() tabChange = new EventEmitter<{ id: string }>();\r\n\r\n @HostBinding('class') hostClass = 'solaris-tabs-host';\r\n @ContentChildren(SolarisTab) tabs!: QueryList<SolarisTab>;\r\n readonly focusId = signal<string | null>(null);\r\n\r\n ngAfterContentInit() {\r\n queueMicrotask(() => {\r\n const first = this.tabs?.get(0);\r\n if (!this.activeId && first?.id) {\r\n this.setActive(first.id, false);\r\n }\r\n if (!this.focusId() && (this.activeId ?? first?.id)) {\r\n this.focusId.set(this.activeId ?? first?.id ?? null);\r\n }\r\n this.syncTabs();\r\n this.tabs.changes.subscribe(() => this.syncTabs());\r\n });\r\n }\r\n\r\n private syncTabs() {\r\n const list = this.tabs?.toArray() ?? [];\r\n for (const t of list) {\r\n t._setParent(this);\r\n t._setDisabled(this.disabled || t.disabled);\r\n }\r\n }\r\n\r\n isActive(id: string) {\r\n return this.activeId === id;\r\n }\r\n\r\n isFocusable(id: string) {\r\n const fid = this.focusId();\r\n return (fid ?? this.activeId) === id;\r\n }\r\n\r\n setActive(id: string, emit = true) {\r\n if (!id) return;\r\n this.activeId = id;\r\n this.focusId.set(id);\r\n if (emit) {\r\n this.activeIdChange.emit(id);\r\n this.tabChange.emit({ id });\r\n }\r\n }\r\n\r\n onKeydown(ev: KeyboardEvent) {\r\n if (this.disabled) return;\r\n\r\n const keys = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\r\n if (!keys.includes(ev.key)) return;\r\n\r\n const list = (this.tabs?.toArray() ?? []).filter(t => !t._isDisabled());\r\n if (!list.length) return;\r\n\r\n ev.preventDefault();\r\n\r\n const currentId = this.focusId() ?? this.activeId ?? list[0].id;\r\n const idx = Math.max(0, list.findIndex(t => t.id === currentId));\r\n let next = idx;\r\n\r\n if (ev.key === 'ArrowLeft') next = (idx - 1 + list.length) % list.length;\r\n if (ev.key === 'ArrowRight') next = (idx + 1) % list.length;\r\n if (ev.key === 'Home') next = 0;\r\n if (ev.key === 'End') next = list.length - 1;\r\n\r\n const nextTab = list[next];\r\n this.focusId.set(nextTab.id);\r\n nextTab._focus();\r\n }\r\n}\r\n","<div [ngClass]=\"['size-' + size, 'variant-' + variant, disabled ? 'is-disabled' : '']\"\r\n class=\"solaris-tabs\" role=\"tablist\" (keydown)=\"onKeydown($event)\">\r\n <ng-content/>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding,\r\n HostListener, Input, Optional } from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\n\r\nimport { SolarisTabs } from '../../component/tabs';\r\n\r\n@Component({\r\n selector: 'solaris-tab',\r\n standalone: true,\r\n imports: [RouterLink],\r\n templateUrl: './tab.html',\r\n styleUrl: './tab.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisTab {\r\n @Input() disabled = false;\r\n @Input() routerLink?: any[] | string;\r\n @Input({ required: true }) id!: string;\r\n\r\n private parent?: SolarisTabs;\r\n private disabledByParent = false;\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>,@Optional() parent: SolarisTabs) {\r\n this.parent = parent;\r\n }\r\n\r\n _setParent(p: SolarisTabs) { this.parent = p; }\r\n _setDisabled(v: boolean) { this.disabledByParent = v; }\r\n\r\n _isDisabled() {\r\n return this.disabled || this.disabledByParent;\r\n }\r\n\r\n _focus() {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n @HostBinding('class') get hostClass() {\r\n const active = this.parent?.isActive(this.id);\r\n return [\r\n 'solaris-tab',\r\n active ? 'is-active' : '',\r\n this._isDisabled() ? 'is-disabled' : '',\r\n this.routerLink ? 'is-link' : '',\r\n ].filter(Boolean).join(' ');\r\n }\r\n @HostBinding('attr.role') role = 'tab';\r\n @HostBinding('attr.tabindex') get tabIndex() {\r\n if (this._isDisabled()) return -1;\r\n return this.parent?.isFocusable(this.id) ? 0 : -1;\r\n }\r\n @HostBinding('attr.aria-selected') get ariaSelected() {\r\n return this.parent?.isActive(this.id) ? 'true' : 'false';\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n if (this._isDisabled()) return;\r\n this.parent?.setActive(this.id, true);\r\n }\r\n\r\n @HostListener('focus') onFocus() {\r\n if (this._isDisabled()) return;\r\n this.parent?.focusId.set(this.id);\r\n }\r\n}\r\n","@if (routerLink) {\r\n <a class=\"solaris-tab__inner\" [routerLink]=\"routerLink\">\r\n <ng-content />\r\n </a>\r\n} @else {\r\n <button type=\"button\" class=\"solaris-tab__inner\">\r\n <ng-content />\r\n </button>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-loading-overlay',\r\n standalone: true,\r\n templateUrl: './loading-overlay.html',\r\n styleUrl: './loading-overlay.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle\r\n ]\r\n})\r\nexport class SolarisLoadingOverlay implements OnChanges {\r\n @HostBinding('attr.solaris-loading-overlay') readonly marker = '';\r\n\r\n @Input({ alias: 'z-index' }) zIndex?: number;\r\n @Input() backdrop: 'soft' | 'strong' = 'soft';\r\n @Input() appearance: 'card' | 'minimal' = 'card';\r\n @Input({ transform: coerceBoolean }) blur = true;\r\n @Input({ transform: coerceBoolean }) open = false;\r\n @Input({ alias: 'lock-scroll', transform: coerceBoolean }) lockScroll = true;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!this.lockScroll) return;\r\n\r\n if (changes['open']) {\r\n if (this.open) document.documentElement.style.overflow = 'hidden';\r\n else document.documentElement.style.overflow = '';\r\n }\r\n }\r\n\r\n get overlayStyle() {\r\n return this.zIndex != null ? { 'z-index': String(this.zIndex) } : null;\r\n }\r\n}\r\n\r\nfunction coerceBoolean(v: any): boolean {\r\n return v === '' || v === true || v === 'true' || v === 1 || v === '1';\r\n}\r\n","@if (open) {\r\n <div class=\"solaris-loading-overlay\" [class.backdrop-soft]=\"backdrop === 'soft'\"\r\n [class.backdrop-strong]=\"backdrop === 'strong'\" [class.is-blur]=\"blur\"\r\n [class.appearance-card]=\"appearance === 'card'\" [class.appearance-minimal]=\"appearance === 'minimal'\"\r\n [ngStyle]=\"overlayStyle\" role=\"presentation\">\r\n <div class=\"solaris-loading-overlay__backdrop\" aria-hidden=\"true\"></div>\r\n\r\n <div class=\"solaris-loading-overlay__content\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { SolarisLoadingColor, SolarisLoadingSize, SolarisLoadingType } from '../model/solaris-loading.type';\r\n\r\n@Component({\r\n selector: 'solaris-loading',\r\n standalone: true,\r\n templateUrl: './loading.html',\r\n styleUrl: './loading.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisLoading {\r\n @HostBinding('attr.solaris-loading') readonly marker = '';\r\n\r\n @Input() label?: string;\r\n @Input() value: number | null = null;\r\n @Input() size: SolarisLoadingSize = 'md';\r\n @Input() type: SolarisLoadingType = 'spinner';\r\n @Input() color: SolarisLoadingColor = 'primary';\r\n @Input({ transform: (v: any) => v === '' || v === true || v === 'true' || v === 1 || v === '1' })\r\n indeterminate = false;\r\n\r\n get ariaValueNow(): number | null {\r\n if (this.type === 'progress' || this.type === 'bar') {\r\n if (this.indeterminate) return null;\r\n if (this.value == null) return null;\r\n return clamp(this.value, 0, 100);\r\n }\r\n return null;\r\n }\r\n\r\n get percent(): number {\r\n return clamp(this.value ?? 0, 0, 100);\r\n }\r\n\r\n get role(): 'status' | 'progressbar' {\r\n return (this.type === 'progress' || this.type === 'bar') ? 'progressbar' : 'status';\r\n }\r\n\r\n get ariaLabel(): string {\r\n return this.label ?? 'Loading';\r\n }\r\n}\r\n\r\nfunction clamp(n: number, min: number, max: number) {\r\n return Math.max(min, Math.min(max, n));\r\n}\r\n","<div class=\"solaris-loading\" [class.type-spinner]=\"type === 'spinner'\"\r\n [class.type-spinner-dashed]=\"type === 'spinner-dashed'\" [class.type-progress]=\"type === 'progress'\"\r\n [class.type-bar]=\"type === 'bar'\" [class.is-indeterminate]=\"indeterminate || value === null\"\r\n [class.size-xs]=\"size === 'xs'\" [class.size-sm]=\"size === 'sm'\" [class.size-md]=\"size === 'md'\"\r\n [class.size-lg]=\"size === 'lg'\" [class.size-xl]=\"size === 'xl'\" [attr.data-color]=\"color\"\r\n [attr.role]=\"role\" [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-valuemin]=\"role === 'progressbar' ? 0 : null\" [attr.aria-valuemax]=\"role === 'progressbar' ? 100 : null\"\r\n [attr.aria-valuenow]=\"role === 'progressbar' ? ariaValueNow : null\">\r\n @if (type === 'spinner' || type === 'spinner-dashed') {\r\n <span class=\"solaris-loading__spinner\" aria-hidden=\"true\"></span>\r\n }\r\n\r\n @if (type === 'progress') {\r\n <svg class=\"solaris-loading__ring\" viewBox=\"0 0 44 44\" aria-hidden=\"true\">\r\n <circle class=\"ring-track\" cx=\"22\" cy=\"22\" r=\"18\"></circle>\r\n <circle class=\"ring-value\" cx=\"22\" cy=\"22\" r=\"18\" [attr.stroke-dasharray]=\"113.097\"\r\n [attr.stroke-dashoffset]=\"113.097 - (113.097 * percent / 100)\"></circle>\r\n </svg>\r\n\r\n <span class=\"solaris-loading__percent\" aria-hidden=\"true\">\r\n {{ percent }}%\r\n </span>\r\n }\r\n\r\n @if (type === 'bar') {\r\n <span class=\"solaris-loading__bar\" aria-hidden=\"true\">\r\n <span class=\"solaris-loading__bar-inner\" [style.width.%]=\"indeterminate || value === null ? 30 : percent\"></span>\r\n </span>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { BadgeColor, BadgeSize, BadgeVariant } from '../model/solaris-badge.type';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'solaris-badge',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './badge.html',\r\n styleUrl: './badge.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisBadge {\r\n @HostBinding('class') hostClass = 'solaris-badge-host';\r\n\r\n @Input() pill = false;\r\n @Input() size: BadgeSize = 'md';\r\n @Input() interactive = false;\r\n @Input() color: BadgeColor = 'surface';\r\n @Input() variant: BadgeVariant = 'subtle';\r\n @Input({ alias: 'aria-hidden' }) ariaHidden: 'true' | 'false' | null = null;\r\n}\r\n","<span class=\"solaris-badge\" [attr.aria-hidden]=\"ariaHidden\"\r\n [ngClass]=\"[\r\n 'variant-' + variant,\r\n 'color-' + color,\r\n 'size-' + size,\r\n pill ? 'is-pill' : '',\r\n interactive ? 'is-interactive' : ''\r\n ]\">\r\n <ng-content></ng-content>\r\n</span>\r\n","import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, ElementRef, HostBinding, HostListener, inject,\r\n input, signal, TemplateRef, viewChild, afterNextRender, booleanAttribute, numberAttribute } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { SolarisSliderItem, SolarisSliderOverlayContext } from '../model/solaris-image-slider.type';\r\n\r\n@Component({\r\n selector: 'solaris-image-slider',\r\n standalone: true,\r\n templateUrl: './image-slider.html',\r\n styleUrls: ['./image-slider.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet],\r\n})\r\nexport class SolarisImageSliderComponent {\r\n readonly viewport = viewChild<ElementRef<HTMLElement>>('viewport');\r\n\r\n private timer: ReturnType<typeof setInterval> | null = null;\r\n private readonly destroyRef = inject(DestroyRef);\r\n\r\n readonly items = input<SolarisSliderItem[]>([]);\r\n readonly radius = input<'sm' | 'md' | 'lg'>('lg');\r\n readonly autoplay = input(true, { transform: booleanAttribute });\r\n readonly showDots = input(true, { transform: booleanAttribute });\r\n readonly intervalMs = input(4500, { transform: numberAttribute });\r\n readonly showArrows = input(true, { transform: booleanAttribute });\r\n readonly aspect = input<'16/9' | '9/16' | '4/3' | '1/1' | 'auto'>('16/9');\r\n readonly pauseOnHover = input(true, { transform: booleanAttribute });\r\n\r\n readonly overlayTpl = input<TemplateRef<SolarisSliderOverlayContext> | undefined>(undefined);\r\n\r\n protected readonly paused = signal(false);\r\n protected readonly activeIndex = signal(0);\r\n private readonly viewReady = signal(false);\r\n protected readonly count = computed(() => this.items().length);\r\n protected readonly canRun = computed(() => this.autoplay() && this.count() > 1);\r\n\r\n @HostBinding('attr.data-aspect') get dataAspect() {\r\n return this.aspect();\r\n }\r\n\r\n @HostBinding('attr.data-radius') get dataRadius() {\r\n return this.radius();\r\n }\r\n\r\n constructor() {\r\n afterNextRender(() => this.viewReady.set(true));\r\n\r\n effect((onCleanup) => {\r\n const ready = this.viewReady();\r\n const run = this.canRun();\r\n const paused = this.paused();\r\n const ms = this.intervalMs();\r\n const len = this.count();\r\n\r\n this.stopTimer();\r\n\r\n if (!ready || !run || paused || len <= 1) return;\r\n if (!Number.isFinite(ms) || ms <= 0) return;\r\n\r\n this.startTimer(ms);\r\n\r\n onCleanup(() => this.stopTimer());\r\n });\r\n\r\n effect(() => {\r\n const len = this.count();\r\n const idx = this.activeIndex();\r\n\r\n if (!len) {\r\n this.activeIndex.set(0);\r\n return;\r\n }\r\n if (idx > len - 1) this.activeIndex.set(0);\r\n });\r\n\r\n this.destroyRef.onDestroy(() => this.stopTimer());\r\n }\r\n\r\n protected goTo = (idx: number): void => {\r\n const len = this.count();\r\n if (!len) return;\r\n\r\n const next = ((idx % len) + len) % len;\r\n this.activeIndex.set(next);\r\n this.bumpAutoplay();\r\n };\r\n\r\n protected next = (): void => {\r\n this.goTo(this.activeIndex() + 1);\r\n };\r\n\r\n protected prev = (): void => {\r\n this.goTo(this.activeIndex() - 1);\r\n };\r\n\r\n protected onMouseEnter(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(true);\r\n }\r\n\r\n protected onMouseLeave(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(false);\r\n }\r\n\r\n protected onFocusIn(): void {\r\n this.paused.set(true);\r\n }\r\n\r\n protected onFocusOut(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(false);\r\n }\r\n\r\n protected overlayCtx(i: number): SolarisSliderOverlayContext {\r\n const item = this.items()[i];\r\n return {\r\n $implicit: item,\r\n index: i,\r\n active: i === this.activeIndex(),\r\n goTo: this.goTo,\r\n next: this.next,\r\n prev: this.prev,\r\n };\r\n }\r\n\r\n private startTimer(ms: number): void {\r\n this.timer = setInterval(() => this.next(), ms);\r\n }\r\n\r\n private stopTimer(): void {\r\n if (this.timer) clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n\r\n private bumpAutoplay(): void {\r\n if (!this.canRun() || this.paused()) return;\r\n\r\n this.stopTimer();\r\n\r\n const ms = this.intervalMs();\r\n if (!Number.isFinite(ms) || ms <= 0) return;\r\n\r\n this.startTimer(ms);\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(ev: KeyboardEvent): void {\r\n if (this.count() <= 1) return;\r\n\r\n switch (ev.key) {\r\n case 'ArrowLeft':\r\n ev.preventDefault();\r\n this.prev();\r\n break;\r\n case 'ArrowRight':\r\n ev.preventDefault();\r\n this.next();\r\n break;\r\n case 'Home':\r\n ev.preventDefault();\r\n this.goTo(0);\r\n break;\r\n case 'End':\r\n ev.preventDefault();\r\n this.goTo(this.count() - 1);\r\n break;\r\n }\r\n }\r\n}\r\n","<div class=\"solaris-slider\" role=\"region\" aria-roledescription=\"carousel\" [attr.aria-label]=\"'Image slider'\"\r\n (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" (focusin)=\"onFocusIn()\" (focusout)=\"onFocusOut()\">\r\n\r\n <div #viewport class=\"solaris-slider__viewport\">\r\n <div class=\"solaris-slider__track\"\r\n [style.transform]=\"'translate3d(' + (-activeIndex() * 100) + '%, 0, 0)'\">\r\n\r\n @for (it of items(); track $index) {\r\n <div class=\"solaris-slider__slide\"\r\n [attr.aria-hidden]=\"$index !== activeIndex() ? 'true' : null\">\r\n\r\n @if (it.href) {\r\n <a class=\"solaris-slider__media\" [href]=\"it.href\" [attr.target]=\"it.target ?? null\"\r\n [attr.aria-label]=\"it.ariaLabel ?? it.alt ?? 'Open'\">\r\n <img class=\"solaris-slider__img\" [src]=\"it.src\" [attr.alt]=\"it.alt ?? ''\" />\r\n </a>\r\n } @else {\r\n <div class=\"solaris-slider__media\">\r\n <img class=\"solaris-slider__img\" [src]=\"it.src\" [attr.alt]=\"it.alt ?? ''\" />\r\n </div>\r\n }\r\n\r\n @if (overlayTpl(); as tpl) {\r\n <div class=\"solaris-slider__overlay\">\r\n <ng-container *ngTemplateOutlet=\"tpl; context: overlayCtx($index)\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (showArrows() && count() > 1) {\r\n <button type=\"button\" class=\"solaris-slider__arrow is-prev\" (click)=\"prev()\" aria-label=\"Previous slide\">\r\n <i class=\"ph ph-caret-left\"></i>\r\n </button>\r\n\r\n <button type=\"button\" class=\"solaris-slider__arrow is-next\" (click)=\"next()\" aria-label=\"Next slide\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </button>\r\n }\r\n\r\n @if (showDots() && count() > 1) {\r\n <div class=\"solaris-slider__dots\" role=\"tablist\" aria-label=\"Slide navigation\">\r\n @for (it of items(); track $index) {\r\n <button type=\"button\" class=\"solaris-slider__dot\" [class.is-active]=\"$index === activeIndex()\"\r\n (click)=\"goTo($index)\" [attr.aria-label]=\"'Go to slide ' + ($index + 1)\"\r\n [attr.aria-current]=\"$index === activeIndex() ? 'true' : null\">\r\n </button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-section',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './section.html',\r\n styleUrl: './section.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisSectionComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() appearance: 'plain' | 'card' = 'plain';\r\n @Input() density: 'comfortable' | 'compact' = 'comfortable';\r\n}\r\n","<section class=\"solaris-section\" [ngClass]=\"['appearance-' + appearance, 'density-' + density]\">\r\n @if (title || description) {\r\n <header class=\"solaris-section__header\">\r\n @if (title) { <h2 class=\"solaris-section__title\">{{ title }}</h2> }\r\n @if (description) { <p class=\"solaris-section__description\">{{ description }}</p> }\r\n </header>\r\n }\r\n\r\n <div class=\"solaris-section__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { DividerLabelAlign, DividerOrientation, DividerSpacing, DividerStrength, DividerVariant } from '../model/solaris-divider.type';\r\n\r\n@Component({\r\n selector: 'solaris-divider',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './divider.html',\r\n styleUrl: './divider.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { role: 'separator' },\r\n})\r\nexport class SolarisDivider {\r\n @Input() label?: string;\r\n @Input() inset = false;\r\n @Input() spacing: DividerSpacing = 'none';\r\n @Input() variant: DividerVariant = 'solid';\r\n @Input() strength: DividerStrength = 'normal';\r\n @Input() orientation: DividerOrientation = 'horizontal';\r\n @Input({ alias: 'label-align' }) labelAlign: DividerLabelAlign = 'center';\r\n\r\n @HostBinding('class') hostClass = 'solaris-divider-host';\r\n @HostBinding('attr.aria-orientation') get ariaOrientation() {\r\n return this.orientation === 'vertical' ? 'vertical' : 'horizontal';\r\n }\r\n\r\n get hasLabel(): boolean {\r\n return !!this.label && this.orientation === 'horizontal';\r\n }\r\n}\r\n","<div\r\n class=\"solaris-divider\"\r\n [ngClass]=\"[\r\n 'orientation-' + orientation,\r\n 'spacing-' + spacing,\r\n 'strength-' + strength,\r\n 'variant-' + variant,\r\n inset ? 'is-inset' : '',\r\n hasLabel ? 'has-label' : '',\r\n hasLabel ? 'label-' + labelAlign : ''\r\n ]\">\r\n @if (hasLabel) {\r\n <span class=\"solaris-divider__line\"></span>\r\n <span class=\"solaris-divider__label\">{{ label }}</span>\r\n <span class=\"solaris-divider__line\"></span>\r\n }\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-header]',\r\n standalone: true,\r\n})\r\nexport class SolarisHeaderDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-footer]',\r\n standalone: true,\r\n})\r\nexport class SolarisFooterDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-body]',\r\n standalone: true,\r\n})\r\nexport class SolarisBodyDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { SolarisDivider } from '../../divider/component/divider';\r\n\r\n@Component({\r\n selector: 'solaris-page',\r\n standalone: true,\r\n imports: [NgClass, SolarisDivider],\r\n templateUrl: './page.html',\r\n styleUrls: ['./page.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'solaris-page-host',\r\n },\r\n})\r\nexport class SolarisPageComponent {\r\n @Input() stickyHeader = false;\r\n @Input() container: 'contained' | 'fluid' = 'contained';\r\n}\r\n","<div class=\"solaris-page\" [ngClass]=\"['container-' + container]\">\r\n <header class=\"solaris-page__header\" [ngClass]=\"{ 'is-sticky': stickyHeader }\">\r\n <ng-content select=\"[solaris-header]\"></ng-content>\r\n @if (stickyHeader) { <solaris-divider class=\"solaris-page__header-divider\"/> }\r\n </header>\r\n\r\n <main class=\"solaris-page__body\">\r\n <ng-content select=\"[solaris-body]\"></ng-content>\r\n </main>\r\n\r\n <footer class=\"solaris-page__footer\">\r\n <solaris-divider class=\"solaris-page__footer-divider\"/>\r\n\r\n <div class=\"solaris-page__footer-content\">\r\n <ng-content select=\"[solaris-footer]\"></ng-content>\r\n </div>\r\n </footer>\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-description]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderDescriptionDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-breadcrumb]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderBreadcrumbDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-title]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderTitleDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-page-header-title',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './page-header-title.html',\r\n styleUrl: './page-header-title.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisPageHeaderTitle {\r\n @Input() title = '';\r\n @Input() overline?: string;\r\n @Input() description?: string;\r\n @Input() size: 'md' | 'lg' = 'lg';\r\n}\r\n","<div class=\"solaris-page-title\" [ngClass]=\"['size-' + size]\">\r\n @if (overline) {\r\n <div class=\"solaris-page-title__overline\">{{ overline }}</div>\r\n }\r\n\r\n <h1 class=\"solaris-page-title__title\">{{ title }}</h1>\r\n\r\n @if (description) {\r\n <p class=\"solaris-page-title__description\">{{ description }}</p>\r\n }\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-actions]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderActionsDirective {}\r\n","import { ChangeDetectionStrategy, Component, ContentChild, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { SolarisPageHeaderDescriptionDirective } from '../directives/solaris-header-description.directive';\r\nimport { SolarisPageHeaderBreadcrumbDirective } from '../directives/solaris-header-breadcrumb.directive';\r\nimport { SolarisPageHeaderActionsDirective } from '../directives/solaris-header-actions.directive';\r\nimport { SolarisPageHeaderTitleDirective } from '../directives/solaris-header-title.directive';\r\n\r\n\r\n@Component({\r\n selector: 'solaris-page-header',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './page-header.html',\r\n styleUrl: './page-header.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisPageHeader {\r\n @Input() layout: 'split' | 'stacked' = 'split';\r\n @Input() density: 'sm' | 'md' | 'lg' = 'md';\r\n\r\n @ContentChild(SolarisPageHeaderTitleDirective) titleSlot?: SolarisPageHeaderTitleDirective;\r\n @ContentChild(SolarisPageHeaderActionsDirective) actionsSlot?: SolarisPageHeaderActionsDirective;\r\n @ContentChild(SolarisPageHeaderBreadcrumbDirective) breadcrumbSlot?: SolarisPageHeaderBreadcrumbDirective;\r\n @ContentChild(SolarisPageHeaderDescriptionDirective) descriptionSlot?: SolarisPageHeaderDescriptionDirective;\r\n}\r\n","<header class=\"solaris-page-header\" [ngClass]=\"['layout-' + layout, 'density-' + density]\">\r\n <div class=\"solaris-page-header__left\">\r\n <div class=\"solaris-page-header__breadcrumb\">\r\n <ng-content select=\"[solaris-page-header-breadcrumb]\" />\r\n </div>\r\n\r\n <div class=\"solaris-page-header__titles\">\r\n <div class=\"solaris-page-header__title-row\">\r\n <h1 class=\"solaris-page-header__title\">\r\n <span class=\"solaris-page-header__title-slot\">\r\n <ng-content select=\"[solaris-page-header-title]\" />\r\n </span>\r\n\r\n <span class=\"solaris-page-header__title-meta\">\r\n <ng-content select=\"[solaris-page-header-title-meta]\" />\r\n </span>\r\n </h1>\r\n\r\n <div class=\"solaris-page-header__title-meta\">\r\n <ng-content select=\"[solaris-page-header-title-meta]\" />\r\n </div>\r\n </div>\r\n\r\n <p class=\"solaris-page-header__description\">\r\n <ng-content select=\"[solaris-page-header-description]\" />\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"solaris-page-header__actions\">\r\n <ng-content select=\"[solaris-page-header-actions]\" />\r\n </div>\r\n</header>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-button-group]',\r\n standalone: true,\r\n})\r\nexport class SolarisButtonGroupDirective {\r\n @HostBinding('attr.solaris-button-group') readonly attr = '';\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, Input, computed, inject, signal,\r\n booleanAttribute } from '@angular/core';\r\n\r\nimport { SolarisButtonColor, SolarisButtonSize, SolarisButtonVariant } from '../models/solaris-button.type';\r\n\r\n@Directive({\r\n selector: 'button[solaris-button], a[solaris-button]',\r\n standalone: true,\r\n})\r\nexport class SolarisButtonDirective {\r\n private readonly el = inject(ElementRef<HTMLElement>);\r\n private readonly isAnchor = computed(() => this.el.nativeElement.tagName.toLowerCase() === 'a');\r\n\r\n private readonly _loading = signal(false);\r\n private readonly _disabled = signal(false);\r\n private readonly _iconOnly = signal(false);\r\n private readonly _fullWidth = signal(false);\r\n private readonly _size = signal<SolarisButtonSize>('md');\r\n private readonly _color = signal<SolarisButtonColor>('primary');\r\n private readonly _variant = signal<SolarisButtonVariant>('solid');\r\n\r\n @Input() set size(v: SolarisButtonSize) { if (v) this._size.set(v) }\r\n @Input() set color(v: SolarisButtonColor) { if (v) this._color.set(v) }\r\n @Input({ transform: booleanAttribute }) set fullWidth(v: boolean) {\r\n this._fullWidth.set(v);\r\n }\r\n @Input() set variant(v: SolarisButtonVariant) { if (v) this._variant.set(v) }\r\n @Input({ transform: booleanAttribute }) set loading(v: boolean) { this._loading.set(v) }\r\n @Input({ transform: booleanAttribute }) set disabled(v: boolean) {this._disabled.set(v) }\r\n @Input({ transform: booleanAttribute }) set iconOnly(v: boolean) { this._iconOnly.set(v) }\r\n\r\n @HostBinding('attr.tabindex') get tabIndex() {\r\n return this.isAnchor() && (this._disabled() || this._loading()) ? -1 : null;\r\n }\r\n @HostBinding('attr.disabled') get nativeDisabled() {\r\n const isButton = !this.isAnchor();\r\n return isButton && (this._disabled() || this._loading()) ? '' : null;\r\n }\r\n @HostBinding('attr.solaris-button') readonly attr = '';\r\n @HostBinding('attr.aria-disabled') get ariaDisabled() {\r\n return this.isAnchor() && (this._disabled() || this._loading()) ? 'true' : null;\r\n }\r\n @HostBinding('attr.data-size') get dataSize() {return this._size()}\r\n @HostBinding('attr.data-color') get dataColor() { return this._color() }\r\n @HostBinding('attr.data-variant') get dataVariant() { return this._variant() }\r\n @HostBinding('attr.aria-busy') get ariaBusy() { return this._loading() ? 'true' : null }\r\n @HostBinding('attr.data-icon-only') get dataIconOnly() { return this._iconOnly() ? 'true' : null }\r\n @HostBinding('attr.data-full-width') get dataFullWidth() { return this._fullWidth() ? 'true' : null }\r\n\r\n @HostListener('click', ['$event']) onClick(ev: Event) {\r\n if (!this.isAnchor()) return;\r\n if (this._disabled() || this._loading()) {\r\n ev.preventDefault();\r\n ev.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","export type PhoneSanitizeConfig = {\r\n allowedChars: RegExp;\r\n};\r\n\r\nexport function sanitizePhoneInput(v: string): string {\r\n let s = (v ?? '').replace(/[^\\d+\\-\\s().]/g, '');\r\n s = s.replace(/\\+/g, (_m, offset) => (offset === 0 ? '+' : ''));\r\n return s;\r\n}\r\n\r\nexport function insertAtCursor(input: HTMLInputElement, text: string): void {\r\n const start = input.selectionStart ?? input.value.length;\r\n const end = input.selectionEnd ?? input.value.length;\r\n input.value = input.value.slice(0, start) + text + input.value.slice(end);\r\n const pos = start + text.length;\r\n input.setSelectionRange(pos, pos);\r\n}\r\n\r\nexport function enforceMaxDigitsInPlace(input: HTMLInputElement, maxDigits?: number): void {\r\n if (!maxDigits) return;\r\n\r\n const v = input.value ?? '';\r\n const sanitized = sanitizePhoneInput(v);\r\n\r\n const digits = (sanitized.match(/\\d/g) ?? []).length;\r\n if (digits <= maxDigits) {\r\n if (sanitized !== v) input.value = sanitized;\r\n return;\r\n }\r\n\r\n let digitCount = 0;\r\n let out = '';\r\n for (const ch of sanitized) {\r\n if (/\\d/.test(ch)) {\r\n if (digitCount >= maxDigits) break;\r\n digitCount++;\r\n }\r\n out += ch;\r\n }\r\n input.value = out;\r\n}\r\n\r\nexport function shouldBlockBeforeInput(ev: InputEvent, cfg: PhoneSanitizeConfig): boolean {\r\n return !!ev.data && !cfg.allowedChars.test(ev.data);\r\n}\r\n\r\nexport function shouldBlockKeyDown(ev: KeyboardEvent): boolean {\r\n if (ev.ctrlKey || ev.metaKey || ev.altKey) return false;\r\n\r\n const k = ev.key;\r\n const allowedControl = [\r\n 'Backspace', 'Delete', 'Tab', 'Enter', 'Escape',\r\n 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End',\r\n ];\r\n if (allowedControl.includes(k)) return false;\r\n if (/^\\d$/.test(k)) return false;\r\n return !(k === '+' || k === '-' || k === ' ' || k === '(' || k === ')' || k === '.');\r\n}\r\n","import { getCountries, getCountryCallingCode } from 'libphonenumber-js';\r\n\r\nexport function buildCallingCodeIndex(): Map<string, string[]> {\r\n const m = new Map<string, string[]>();\r\n for (const c of getCountries()) {\r\n const code = getCountryCallingCode(c);\r\n const arr = m.get(code) ?? [];\r\n arr.push(c.toLowerCase());\r\n m.set(code, arr);\r\n }\r\n return m;\r\n}\r\n\r\nexport function pickIso2ForCallingCode(\r\n callingCode: string,\r\n selectedIso2: string | null,\r\n index: Map<string, string[]>,\r\n preferredCountries?: string[],\r\n): string | null {\r\n const list = index.get(callingCode) ?? [];\r\n if (!list.length) return null;\r\n\r\n const sel = selectedIso2?.toLowerCase() ?? null;\r\n if (sel && list.includes(sel)) return sel;\r\n\r\n if (callingCode === '1') {\r\n if (list.includes('us')) return 'us';\r\n if (list.includes('ca')) return 'ca';\r\n }\r\n\r\n const preferred = (preferredCountries ?? []).map((x) => x.toLowerCase());\r\n for (const p of preferred) {\r\n if (list.includes(p)) return p;\r\n }\r\n\r\n return list[0] ?? null;\r\n}\r\n\r\nexport function getInitialCountryFromBrowser(fallbackIso2: string): string {\r\n const lang = globalThis?.navigator?.language ?? '';\r\n const region = lang.split('-')[1]?.toLowerCase() ?? '';\r\n return region.length === 2 ? region : fallbackIso2;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisInputApi {\r\n element: HTMLInputElement | HTMLTextAreaElement;\r\n setType?(type: string): void;\r\n getType?(): string;\r\n}\r\n\r\nexport const SOLARIS_INPUT = new InjectionToken<SolarisInputApi>('SOLARIS_INPUT');\r\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\r\n\r\nimport { SOLARIS_INPUT, SolarisInputApi } from '../tokens/solaris-input.token';\r\n\r\n@Directive({\r\n selector: 'input[solaris-input],textarea[solaris-input]',\r\n standalone: true,\r\n providers: [\r\n {\r\n provide: SOLARIS_INPUT,\r\n useFactory: (): SolarisInputApi => {\r\n const el = inject(ElementRef<HTMLInputElement | HTMLTextAreaElement>).nativeElement;\r\n return {\r\n element: el,\r\n setType: (type: string) => {\r\n if (el instanceof HTMLInputElement) el.type = type;\r\n },\r\n getType: () => (el instanceof HTMLInputElement ? el.type : 'textarea'),\r\n };\r\n },\r\n },\r\n ],\r\n})\r\nexport class InputTextDirective {\r\n private readonly el = inject(ElementRef<HTMLInputElement | HTMLTextAreaElement>);\r\n @HostBinding('attr.solaris-input') readonly attr = '';\r\n @HostBinding('attr.placeholder') get placeholderAttr() {\r\n return this.el.nativeElement.getAttribute('placeholder');\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, inject, Input,\r\n OnDestroy, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\n\r\nimport { enforceMaxDigitsInPlace, insertAtCursor, sanitizePhoneInput, shouldBlockBeforeInput, shouldBlockKeyDown } from '../helper/phone-input.sanitize';\r\nimport { buildCallingCodeIndex, getInitialCountryFromBrowser, pickIso2ForCallingCode } from '../helper/phone-input.country';\r\nimport { InputTextDirective } from '../../input-text/directives/input-text.directive';\r\nimport type { ItiInstance, ItiUtils } from '../model/phone-input.iti-types';\r\nimport { AsYouType, parsePhoneNumberFromString, } from 'libphonenumber-js';\r\nimport { PhoneFormat, Iso2 } from '../model/solaris-phone-input.type';\r\nimport intlTelInput from 'intl-tel-input';\r\n\r\n@Component({\r\n selector: 'solaris-phone-input',\r\n standalone: true,\r\n templateUrl: './phone-input.html',\r\n styleUrl: './phone-input.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SolarisPhoneInput),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => SolarisPhoneInput),\r\n multi: true,\r\n },\r\n ],\r\n imports: [InputTextDirective],\r\n})\r\nexport class SolarisPhoneInput implements AfterViewInit, OnDestroy, ControlValueAccessor, Validator {\r\n private readonly renderer: Renderer2 = inject(Renderer2);\r\n @HostBinding('attr.solaris-phone-input') readonly marker = '';\r\n @ViewChild('input', { static: false }) inputRef?: ElementRef<HTMLInputElement>;\r\n\r\n @Input() set placeholder(v: string | undefined) {\r\n this._placeholder = v;\r\n this.applyPlaceholderIfCustom();\r\n }\r\n get placeholder(): string | undefined {\r\n return this._placeholder;\r\n }\r\n\r\n @Input() format: PhoneFormat = 'e164';\r\n @Input({ alias: 'only-countries' }) onlyCountries?: Iso2[];\r\n @Input({ alias: 'default-country' }) defaultCountry: Iso2 = 'br';\r\n @Input({ alias: 'preferred-countries' }) preferredCountries?: Iso2[];\r\n\r\n private _raw = '';\r\n private maxDigits?: number;\r\n private _placeholder?: string;\r\n protected _disabled = false;\r\n private iti: ItiInstance | null = null;\r\n private _lastE164: string | null = null;\r\n private readonly allowedChars = /^[0-9+\\-\\s().]*$/;\r\n private callingCodeIndex = new Map<string, string[]>();\r\n\r\n private onChange: (v: string | null) => void = () => {};\r\n private onTouched: () => void = () => {};\r\n private onValidatorChange?: () => void;\r\n\r\n ngAfterViewInit(): void {\r\n const el = this.el;\r\n if (!el) return;\r\n this.callingCodeIndex = buildCallingCodeIndex();\r\n this.initIntlTelInput(el);\r\n this.setupListeners(el);\r\n\r\n if (this._raw) el.value = this._raw;\r\n\r\n this.normalizeAndFormat(true);\r\n this.recalculateLimits();\r\n this.afterUtilsReady();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n const el = this.el;\r\n if (el) this.teardownListeners(el);\r\n this.iti?.destroy?.();\r\n this.iti = null;\r\n }\r\n\r\n public writeValue(value: string | null): void {\r\n this._lastE164 = value ?? null;\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n if (!value) {\r\n this._raw = '';\r\n el.value = '';\r\n this.recomputeFromRaw(true);\r\n return;\r\n }\r\n const iso2 = this.getSelectedIso2();\r\n const cc = iso2 ? iso2.toUpperCase() : undefined;\r\n const parsed = parsePhoneNumberFromString(value, cc as any);\r\n const next = parsed ? parsed.formatNational() : value;\r\n this._raw = next;\r\n el.value = next;\r\n\r\n this.recomputeFromRaw(true);\r\n }\r\n\r\n public registerOnChange(fn: (v: string | null) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n const el = this.el;\r\n if (el) el.disabled = isDisabled;\r\n }\r\n\r\n public validate(): ValidationErrors | null {\r\n if (!this._raw?.trim()) return null;\r\n return this._lastE164 ? null : { solarisPhone: true };\r\n }\r\n\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this.onValidatorChange = fn;\r\n }\r\n\r\n protected onInput(silent = false): void {\r\n this.normalizeAndFormat(silent);\r\n }\r\n\r\n protected onBlur(): void {\r\n this.onTouched();\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n this._raw = el.value ?? '';\r\n this.recomputeFromRaw(false);\r\n }\r\n\r\n protected onFocus(): void {\r\n const el = this.el;\r\n if (!el || this._disabled) return;\r\n if ((el.value ?? '').trim().length) return;\r\n\r\n const dial = this.getSelectedDialCode();\r\n if (!dial) return;\r\n\r\n const v = `+${dial} `;\r\n el.value = v;\r\n this._raw = v;\r\n\r\n queueMicrotask(() => el.setSelectionRange(v.length, v.length));\r\n this.recomputeFromRaw(false);\r\n }\r\n\r\n private normalizeAndFormat(silent: boolean): void {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const raw = sanitizePhoneInput(el.value ?? '');\r\n const selectedIso2 = this.getSelectedIso2();\r\n const selectedCountry = selectedIso2 ? selectedIso2.toUpperCase() : undefined;\r\n\r\n const ayt = raw.trim().startsWith('+')\r\n ? new AsYouType()\r\n : new AsYouType(selectedCountry as any);\r\n\r\n const formatted = ayt.input(raw);\r\n el.value = formatted;\r\n this._raw = formatted;\r\n\r\n const number = ayt.getNumber();\r\n if (number?.countryCallingCode && this.iti) {\r\n const nextIso2 = pickIso2ForCallingCode(\r\n number.countryCallingCode,\r\n selectedIso2,\r\n this.callingCodeIndex,\r\n this.preferredCountries,\r\n );\r\n if (nextIso2 && nextIso2 !== selectedIso2) {\r\n this.setCountrySafely(nextIso2);\r\n }\r\n }\r\n\r\n enforceMaxDigitsInPlace(el, this.maxDigits);\r\n this.recomputeFromRaw(silent);\r\n }\r\n\r\n private recomputeFromRaw(silent: boolean): void {\r\n const raw = (this._raw ?? '').trim();\r\n\r\n if (!raw) {\r\n this._lastE164 = null;\r\n if (!silent) this.emit(null);\r\n return;\r\n }\r\n\r\n const iso2 = this.getSelectedIso2();\r\n const cc = iso2 ? iso2.toUpperCase() : undefined;\r\n\r\n const parsed = raw.startsWith('+')\r\n ? parsePhoneNumberFromString(raw)\r\n : parsePhoneNumberFromString(raw, cc as any);\r\n\r\n if (parsed?.isValid()) {\r\n this._lastE164 = parsed.number;\r\n if (!silent) this.emit(parsed.number);\r\n return;\r\n }\r\n\r\n this._lastE164 = null;\r\n if (!silent) this.emit(null);\r\n }\r\n\r\n private emit(v: string | null): void {\r\n this.onChange(v);\r\n this.onValidatorChange?.();\r\n }\r\n\r\n private initIntlTelInput(el: HTMLInputElement): void {\r\n const options: Record<string, unknown> = {\r\n initialCountry: getInitialCountryFromBrowser((this.defaultCountry || 'br').toLowerCase()),\r\n separateDialCode: false,\r\n nationalMode: false,\r\n formatOnDisplay: true,\r\n autoPlaceholder: 'aggressive',\r\n loadUtils: () => import('intl-tel-input/build/js/utils.js'),\r\n };\r\n\r\n const only = this.onlyCountries?.map((x) => x.toLowerCase());\r\n if (only?.length) options['onlyCountries'] = only;\r\n const preferred = this.preferredCountries?.map((x) => x.toLowerCase());\r\n if (preferred?.length) options['preferredCountries'] = preferred;\r\n this.iti = intlTelInput(el, options) as unknown as ItiInstance;\r\n this.applyPlaceholderIfCustom();\r\n }\r\n\r\n private afterUtilsReady(): void {\r\n const itiAny: any = this.iti as any;\r\n const p: Promise<unknown> | undefined = itiAny?.promise;\r\n\r\n const run = () => {\r\n const iso2 = this.getSelectedIso2();\r\n if (iso2) this.setCountrySafely(iso2);\r\n this.recalculateLimits();\r\n };\r\n\r\n if (p?.then) p.then(run);\r\n else queueMicrotask(run);\r\n }\r\n\r\n private setCountrySafely(iso2: string): void {\r\n try { (this.iti as any)?.setCountry?.(iso2) } catch {}\r\n }\r\n\r\n private recalculateLimits(): void {\r\n this.updateMaxDigits();\r\n const el = this.el;\r\n if (el) enforceMaxDigitsInPlace(el, this.maxDigits);\r\n }\r\n\r\n private updateMaxDigits(): void {\r\n if (!this.iti) {\r\n this.maxDigits = undefined;\r\n return;\r\n }\r\n\r\n const c: any = (this.iti as any).getSelectedCountryData?.();\r\n const iso2 = String(c?.iso2 ?? '').toLowerCase();\r\n const dialDigits = String(c?.dialCode ?? '').replace(/\\D/g, '').length;\r\n\r\n const u = this.getUtils();\r\n\r\n const exNationalDigits = this.safe(() => {\r\n if (!u?.getExampleNumber) return undefined;\r\n const t = u.numberType?.MOBILE;\r\n const ex = u.getExampleNumber?.(iso2, true, t);\r\n return ex ? (String(ex).match(/\\d/g) ?? []).length : undefined;\r\n });\r\n\r\n if (exNationalDigits && exNationalDigits > 0) {\r\n this.maxDigits = dialDigits + exNationalDigits;\r\n return;\r\n }\r\n\r\n const el = this.el;\r\n const ph = el?.getAttribute('placeholder') ?? '';\r\n const phDigits = (ph.match(/\\d/g) ?? []).length;\r\n this.maxDigits = phDigits > 0 ? phDigits : undefined;\r\n }\r\n\r\n private setupListeners(el: HTMLInputElement): void {\r\n el.addEventListener('beforeinput', this.onBeforeInput as any);\r\n el.addEventListener('keydown', this.onKeyDown);\r\n el.addEventListener('paste', this.onPaste);\r\n el.addEventListener('countrychange', this.onCountryChange);\r\n }\r\n\r\n private teardownListeners(el: HTMLInputElement): void {\r\n el.removeEventListener('beforeinput', this.onBeforeInput as any);\r\n el.removeEventListener('keydown', this.onKeyDown);\r\n el.removeEventListener('paste', this.onPaste);\r\n el.removeEventListener('countrychange', this.onCountryChange);\r\n }\r\n\r\n private readonly onCountryChange = () => {\r\n this.recalculateLimits();\r\n\r\n const el = this.el;\r\n if (!el || !(el.value ?? '').trim()) return;\r\n\r\n this._raw = el.value ?? '';\r\n this.normalizeAndFormat(false);\r\n };\r\n\r\n private readonly onBeforeInput = (ev: InputEvent) => {\r\n if (shouldBlockBeforeInput(ev, { allowedChars: this.allowedChars })) {\r\n ev.preventDefault();\r\n }\r\n };\r\n\r\n private readonly onKeyDown = (ev: KeyboardEvent) => {\r\n if (shouldBlockKeyDown(ev)) ev.preventDefault();\r\n };\r\n\r\n private readonly onPaste = (ev: ClipboardEvent) => {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const text = ev.clipboardData?.getData('text') ?? '';\r\n if (!text) return;\r\n\r\n const sanitized = sanitizePhoneInput(text);\r\n if (sanitized === text) return;\r\n\r\n ev.preventDefault();\r\n insertAtCursor(el, sanitized);\r\n\r\n queueMicrotask(() => {\r\n this.recalculateLimits();\r\n this.normalizeAndFormat(false);\r\n });\r\n };\r\n\r\n private applyPlaceholderIfCustom(): void {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const ph = this._placeholder?.trim();\r\n if (ph) this.renderer.setAttribute(el, 'placeholder', ph);\r\n }\r\n\r\n private getSelectedIso2(): string | null {\r\n try {\r\n const data = (this.iti as any)?.getSelectedCountryData?.();\r\n return (data?.iso2 as string | undefined)?.toLowerCase() ?? null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n private getSelectedDialCode(): string | null {\r\n try {\r\n const data = (this.iti as any)?.getSelectedCountryData?.();\r\n return (data?.dialCode as string | undefined) ?? null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n private getUtils(): ItiUtils | undefined {\r\n return (globalThis as any).intlTelInputUtils as ItiUtils | undefined;\r\n }\r\n\r\n private safe<T>(fn: () => T): T | undefined {\r\n try {\r\n return fn();\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n private get el(): HTMLInputElement | null {\r\n return this.inputRef?.nativeElement ?? null;\r\n }\r\n}\r\n","<input\r\n #input\r\n solaris-input\r\n type=\"tel\"\r\n [disabled]=\"_disabled\"\r\n (focus)=\"onFocus()\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onBlur()\"\r\n data-bwignore=\"true\"\r\n/>\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisFormFieldFeature {\r\n kind: 'email' | 'password';\r\n}\r\n\r\nexport const SOLARIS_FORM_FIELD_FEATURES =\r\n new InjectionToken<ReadonlyArray<SolarisFormFieldFeature>>('SOLARIS_FORM_FIELD_FEATURES');\r\n","import { Injectable, Optional, inject, signal, DestroyRef } from '@angular/core';\r\nimport { NgControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport type { SolarisPasswordDirective } from '../../input-text/directives/input-password.directive';\r\nimport type { SolarisEmailDirective } from '../../input-text/directives/input-email.directive';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../tokens/form-field-features';\r\n\r\n@Injectable()\r\nexport class SolarisFormFieldController {\r\n features = inject(SOLARIS_FORM_FIELD_FEATURES, { optional: true }) ?? [];\r\n @Optional() private readonly ngForm = inject(NgForm, { optional: true });\r\n @Optional() private readonly formGroupDir = inject(FormGroupDirective, { optional: true });\r\n private readonly destroyRef = inject(DestroyRef);\r\n\r\n readonly submitted = signal<boolean>(false);\r\n readonly control = signal<NgControl | null>(null);\r\n readonly email = signal<SolarisEmailDirective | null>(null);\r\n readonly password = signal<SolarisPasswordDirective | null>(null);\r\n\r\n constructor() {\r\n this.formGroupDir?.ngSubmit\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.submitted.set(true));\r\n\r\n this.ngForm?.ngSubmit\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.submitted.set(true));\r\n }\r\n\r\n registerPassword(dir: SolarisPasswordDirective | null) {\r\n this.password.set(dir);\r\n }\r\n\r\n registerEmail(dir: SolarisEmailDirective | null) {\r\n this.email.set(dir);\r\n }\r\n\r\n registerControl(ctrl: NgControl | null) {\r\n if (!ctrl && this.control()) return;\r\n this.control.set(ctrl);\r\n }\r\n\r\n passwordVisible(): boolean {\r\n return this.password()?.visible() ?? false;\r\n }\r\n\r\n togglePasswordVisibility(): void {\r\n this.password()?.toggle();\r\n }\r\n\r\n resetSubmitted() {\r\n this.submitted.set(false);\r\n }\r\n}\r\n","import { Directive, HostBinding, Optional, inject, signal, WritableSignal, Input, forwardRef, Injector } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, NgControl } from '@angular/forms';\r\n\r\nimport { SolarisFormFieldController } from '../../form-field/controller/form-field-controller';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../../form-field/tokens/form-field-features';\r\nimport { SolarisPasswordErrorBag } from '../models/password-directive.type';\r\n\r\n@Directive({\r\n selector: 'input[solaris-password],input[solarisPassword]',\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SolarisPasswordDirective), multi: true },\r\n { provide: SOLARIS_FORM_FIELD_FEATURES, useValue: { kind: 'password' }, multi: true }\r\n ],\r\n})\r\nexport class SolarisPasswordDirective implements Validator {\r\n @Input() minLength = 8;\r\n @Input() requireUpper = true;\r\n @Input() requireLower = true;\r\n @Input() requireNumber = true;\r\n @Input() requireSpecial = false;\r\n\r\n @Input() set requireUpperKebab(v: any) { this.requireUpper = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set requireLowerKebab(v: any) { this.requireLower = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set requireNumberKebab(v: any) { this.requireNumber = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set minLengthKebab(v: any) { this.minLength = coerceNumber(v, 8); this._onChange?.(); }\r\n @Input() set requireSpecialKebab(v: any) { this.requireSpecial = coerceBoolean(v); this._onChange?.(); }\r\n\r\n @HostBinding('attr.type') get type() {\r\n return this.visible() ? 'text' : 'password';\r\n }\r\n @HostBinding('attr.spellcheck') spellcheck = 'false';\r\n @HostBinding('attr.solaris-password') readonly marker = '';\r\n @HostBinding('attr.solaris-input') readonly solarisInput = '';\r\n @HostBinding('attr.autocapitalize') autocapitalize = 'none';\r\n @HostBinding('attr.autocomplete') autocomplete = 'current-password';\r\n\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n private readonly injector = inject(Injector);\r\n\r\n readonly visible: WritableSignal<boolean> = signal(false);\r\n\r\n private _onChange?: () => void;\r\n\r\n constructor() {\r\n this.field?.registerPassword(this);\r\n queueMicrotask(() => {\r\n const ngc = this.injector.get(NgControl, null, { self: true, optional: true });\r\n this.field?.registerControl(ngc);\r\n });\r\n }\r\n\r\n public toggle(): void {\r\n this.visible.set(!this.visible());\r\n }\r\n\r\n public validate(control: AbstractControl): ValidationErrors | null {\r\n const v = String(control.value ?? '');\r\n if (!v) return null;\r\n\r\n const errors: SolarisPasswordErrorBag = {};\r\n\r\n if (this.minLength && v.length < this.minLength) {\r\n errors.minLength = { requiredLength: this.minLength, actualLength: v.length };\r\n }\r\n if (this.requireLower && !/[a-z]/.test(v)) errors.lowercase = true;\r\n if (this.requireUpper && !/[A-Z]/.test(v)) errors.uppercase = true;\r\n if (this.requireNumber && !/\\d/.test(v)) errors.number = true;\r\n if (this.requireSpecial && !/[^\\w\\s]/.test(v)) errors.special = true;\r\n\r\n return Object.keys(errors).length ? { solarisPassword: errors } : null;\r\n }\r\n\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n}\r\n\r\nfunction coerceBoolean(v: any): boolean {\r\n return v === '' || v === true || v === 'true' || v === 1 || v === '1';\r\n}\r\n\r\nfunction coerceNumber(v: any, fallback: number): number {\r\n const n = Number(v);\r\n return Number.isFinite(n) ? n : fallback;\r\n}\r\n","import { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, NgControl } from '@angular/forms';\r\nimport { Directive, forwardRef, HostBinding, inject, Optional, Injector } from '@angular/core';\r\n\r\nimport { SolarisFormFieldController } from '../../form-field/controller/form-field-controller';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../../form-field/tokens/form-field-features';\r\n\r\n@Directive({\r\n selector: 'input[solaris-email],input[solarisEmail]',\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SolarisEmailDirective), multi: true },\r\n { provide: SOLARIS_FORM_FIELD_FEATURES, useValue: { kind: 'email' }, multi: true }\r\n ],\r\n})\r\nexport class SolarisEmailDirective implements Validator {\r\n @HostBinding('attr.type') type = 'email';\r\n @HostBinding('attr.inputmode') inputmode = 'email';\r\n @HostBinding('attr.spellcheck') spellcheck = 'false';\r\n @HostBinding('attr.autocomplete') autocomplete = 'email';\r\n @HostBinding('attr.solaris-input') readonly solarisInput = '';\r\n @HostBinding('attr.autocapitalize') autocapitalize = 'none';\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n private readonly injector = inject(Injector);\r\n\r\n constructor() {\r\n this.field?.registerEmail(this);\r\n queueMicrotask(() => {\r\n const ngc = this.injector.get(NgControl, null, { self: true, optional: true });\r\n this.field?.registerControl(ngc);\r\n });\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n const v = String(control.value ?? '').trim();\r\n if (!v) return null;\r\n const ok = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v);\r\n return ok ? null : { solarisEmail: true };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisFormFieldControllerLike {\r\n passwordVisible(): boolean\r\n togglePasswordVisibility(): void;\r\n}\r\n\r\nexport const SOLARIS_FORM_FIELD_CONTROLLER =\r\n new InjectionToken<SolarisFormFieldControllerLike>('SOLARIS_FORM_FIELD_CONTROLLER');\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Optional, inject } from '@angular/core';\r\nimport { SOLARIS_FORM_FIELD_CONTROLLER, SolarisFormFieldControllerLike } from '../../form-field/tokens/form-field-controller.token';\r\n\r\n@Component({\r\n selector: 'solaris-password-toggle',\r\n standalone: true,\r\n templateUrl: './password-toggle.html',\r\n styleUrls: ['./password-toggle.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PasswordToggle {\r\n @HostBinding('attr.solaris-suffix') readonly solarisSuffix = '';\r\n @Optional() private readonly field = inject<SolarisFormFieldControllerLike>(SOLARIS_FORM_FIELD_CONTROLLER, { optional: true });\r\n\r\n protected visible = () => this.field?.passwordVisible() ?? false;\r\n\r\n protected toggle(): void {\r\n this.field?.togglePasswordVisibility();\r\n }\r\n protected get ariaLabelHide() { return 'Hide password'; }\r\n protected get ariaLabelShow() { return 'Show password'; }\r\n}\r\n","<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n","import { Directive, Optional, inject } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { SolarisFormFieldController } from '../controller/form-field-controller';\r\n\r\n@Directive({\r\n selector: 'input[solaris-password],input[solaris-email],input[solaris-input],textarea[solaris-input]',\r\n standalone: true,\r\n})\r\nexport class SolarisControlBridgeDirective {\r\n @Optional() private readonly ctrl = inject(NgControl, { optional: true });\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n\r\n constructor() {\r\n if (this.ctrl) this.field?.registerControl(this.ctrl);\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-prefix]',\r\n standalone: true,\r\n})\r\nexport class SolarisPrefixDirective {\r\n @HostBinding('attr.solaris-prefix') readonly attr = '';\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-suffix]',\r\n standalone: true\r\n})\r\nexport class SolarisSuffixDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { SolarisTranslationParams, SolarisTranslationPipe } from '@educarehq/solaris-services';\r\n\r\n@Component({\r\n selector: 'solaris-field-error',\r\n standalone: true,\r\n imports: [SolarisTranslationPipe],\r\n templateUrl: './field-error.html',\r\n styleUrls: ['./field-error.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FieldErrorComponent {\r\n @Input() public text?: string;\r\n @Input() public textKey?: string;\r\n @Input() public textParams?: SolarisTranslationParams;\r\n}\r\n","<div class=\"solaris-field-error\" role=\"alert\" aria-live=\"polite\">\r\n <span class=\"solaris-field-error__text\">\r\n @if (textKey) { {{ textKey | translate:textParams }} }\r\n @else { {{ text }} }\r\n </span>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, computed, effect, inject, signal } from '@angular/core';\r\nimport { merge } from 'rxjs';\r\n\r\nimport { PasswordToggle } from '../../input-text/password-toggle/password-toggle';\r\nimport { SolarisFormFieldController } from '../controller/form-field-controller';\r\nimport { SolarisPrefixDirective } from '../directives/solaris-prefix.directive';\r\nimport { SolarisSuffixDirective } from '../directives/solaris-suffix.directive';\r\nimport { SolarisTranslationPipe } from '@educarehq/solaris-services';\r\nimport { FieldErrorComponent } from '../messages/error/field-error';\r\n\r\n@Component({\r\n selector: 'solaris-form-field',\r\n standalone: true,\r\n imports: [PasswordToggle, FieldErrorComponent, SolarisTranslationPipe],\r\n templateUrl: './form-field.html',\r\n styleUrls: ['./form-field.scss'],\r\n providers: [SolarisFormFieldController],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FormField {\r\n protected readonly field = inject(SolarisFormFieldController);\r\n @ContentChild(SolarisPrefixDirective) prefix?: SolarisPrefixDirective;\r\n @ContentChild(SolarisSuffixDirective) suffix?: SolarisSuffixDirective;\r\n\r\n @Input() public hint?: string = '';\r\n @Input() public label?: string = '';\r\n @Input() public hintKey?: string = '';\r\n @Input() public labelKey?: string = '';\r\n @Input() public invalid: boolean | null = null;\r\n @Input() public showErrors: 'dirtyOrTouched' | 'always' | 'submitted' = 'dirtyOrTouched';\r\n private readonly _tick = signal(0);\r\n\r\n constructor() {\r\n effect((onCleanup) => {\r\n const ac = this.field.control()?.control;\r\n if (!ac) return;\r\n\r\n const sub = merge(ac.statusChanges, ac.valueChanges).subscribe(() => {\r\n this._tick.update(v => v + 1);\r\n });\r\n\r\n onCleanup(() => sub.unsubscribe());\r\n });\r\n }\r\n\r\n get hasPrefix(): boolean { return !!this.prefix; }\r\n get hasSuffix(): boolean { return !!this.suffix; }\r\n\r\n private getDirectErrorKey(errors: Record<string, any>): string {\r\n if (errors['required']) return 'ui.solaris.validation.required';\r\n if (errors['email'] || errors['solarisEmail']) return 'ui.solaris.validation.email';\r\n return '';\r\n }\r\n\r\n private getPasswordErrorKey(bag: any): string {\r\n if (bag?.minLength) return 'ui.solaris.validation.password.minLength';\r\n if (bag?.uppercase) return 'ui.solaris.validation.password.uppercase';\r\n if (bag?.lowercase) return 'ui.solaris.validation.password.lowercase';\r\n if (bag?.number) return 'ui.solaris.validation.password.number';\r\n if (bag?.special) return 'ui.solaris.validation.password.special';\r\n return 'ui.solaris.validation.password.invalid';\r\n }\r\n\r\n readonly showPasswordToggle = computed(() => !!this.field.password());\r\n\r\n readonly invalidComputed = computed(() => {\r\n this._tick();\r\n if (this.invalid !== null) return this.invalid;\r\n const c = this.field.control();\r\n if (!c) return false;\r\n if (this.showErrors === 'always') return !!c.invalid;\r\n if (this.showErrors === 'submitted') return !!(c.invalid && this.field.submitted());\r\n return !!(c.invalid && (c.touched || c.dirty));\r\n });\r\n\r\n readonly errorParams = computed(() => {\r\n this._tick();\r\n if (!this.invalidComputed()) return undefined;\r\n\r\n const errors = this.field.control()?.errors;\r\n if (!errors) return undefined;\r\n\r\n const bag = errors['solarisPassword'];\r\n if (bag?.minLength) return { requiredLength: bag.minLength.requiredLength };\r\n\r\n return undefined;\r\n });\r\n\r\n readonly errorKey = computed(() => {\r\n this._tick();\r\n if (!this.invalidComputed()) return '';\r\n\r\n const errors = this.field.control()?.errors;\r\n if (!errors) return '';\r\n\r\n const direct = this.getDirectErrorKey(errors);\r\n if (direct) return direct;\r\n\r\n if (errors['solarisPassword']) return this.getPasswordErrorKey(errors['solarisPassword']);\r\n\r\n return 'solaris.validation.invalid';\r\n });\r\n}\r\n","<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n","/// <reference path=\"./typings/intl-tel-input-utils.d.ts\" />\r\n\r\nexport * from './lib/navigations/navigations.index';\r\nexport * from './lib/feedbacks/feedbacks.index';\r\nexport * from './lib/layouts/layouts.index';\r\nexport * from './lib/buttons/button.index';\r\nexport * from './lib/forms/forms.index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SolarisTabs","coerceBoolean"],"mappings":"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"}
1
+ {"version":3,"file":"educarehq-solaris-components.mjs","sources":["../../../projects/solaris-components/src/lib/navigations/broadcrumb/component/breadcrumb.ts","../../../projects/solaris-components/src/lib/navigations/broadcrumb/component/breadcrumb.html","../../../projects/solaris-components/src/lib/navigations/tabs/component/tabs.ts","../../../projects/solaris-components/src/lib/navigations/tabs/component/tabs.html","../../../projects/solaris-components/src/lib/navigations/tabs/tab/component/tab.ts","../../../projects/solaris-components/src/lib/navigations/tabs/tab/component/tab.html","../../../projects/solaris-components/src/lib/feedbacks/loading-overlay/loading-overlay.ts","../../../projects/solaris-components/src/lib/feedbacks/loading-overlay/loading-overlay.html","../../../projects/solaris-components/src/lib/feedbacks/loading/component/loading.ts","../../../projects/solaris-components/src/lib/feedbacks/loading/component/loading.html","../../../projects/solaris-components/src/lib/feedbacks/badge/component/badge.ts","../../../projects/solaris-components/src/lib/feedbacks/badge/component/badge.html","../../../projects/solaris-components/src/lib/layouts/image-slider/component/image-slider.ts","../../../projects/solaris-components/src/lib/layouts/image-slider/component/image-slider.html","../../../projects/solaris-components/src/lib/layouts/section/component/section.ts","../../../projects/solaris-components/src/lib/layouts/section/component/section.html","../../../projects/solaris-components/src/lib/layouts/divider/component/divider.ts","../../../projects/solaris-components/src/lib/layouts/divider/component/divider.html","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-header.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-footer.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/directives/solaris-body.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/component/page.ts","../../../projects/solaris-components/src/lib/layouts/page/component/page.html","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-description.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-breadcrumb.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-title.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/title/component/page-header-title.ts","../../../projects/solaris-components/src/lib/layouts/page/header/title/component/page-header-title.html","../../../projects/solaris-components/src/lib/layouts/page/header/directives/solaris-header-actions.directive.ts","../../../projects/solaris-components/src/lib/layouts/page/header/component/page-header.ts","../../../projects/solaris-components/src/lib/layouts/page/header/component/page-header.html","../../../projects/solaris-components/src/lib/buttons/directives/solaris-button-group.directive.ts","../../../projects/solaris-components/src/lib/buttons/directives/solaris-button.directive.ts","../../../projects/solaris-components/src/lib/forms/phone-input/helper/phone-input.sanitize.ts","../../../projects/solaris-components/src/lib/forms/phone-input/helper/phone-input.country.ts","../../../projects/solaris-components/src/lib/forms/input-text/tokens/solaris-input.token.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-text.directive.ts","../../../projects/solaris-components/src/lib/forms/phone-input/component/phone-input.ts","../../../projects/solaris-components/src/lib/forms/phone-input/component/phone-input.html","../../../projects/solaris-components/src/lib/forms/form-field/tokens/form-field-features.ts","../../../projects/solaris-components/src/lib/forms/form-field/controller/form-field-controller.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-password.directive.ts","../../../projects/solaris-components/src/lib/forms/input-text/directives/input-email.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/tokens/form-field-controller.token.ts","../../../projects/solaris-components/src/lib/forms/input-text/password-toggle/password-toggle.ts","../../../projects/solaris-components/src/lib/forms/input-text/password-toggle/password-toggle.html","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-control-bridge.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-prefix.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/directives/solaris-suffix.directive.ts","../../../projects/solaris-components/src/lib/forms/form-field/messages/error/field-error.ts","../../../projects/solaris-components/src/lib/forms/form-field/messages/error/field-error.html","../../../projects/solaris-components/src/lib/forms/form-field/component/form-field.ts","../../../projects/solaris-components/src/lib/forms/form-field/component/form-field.html","../../../projects/solaris-components/src/public-api.ts","../../../projects/solaris-components/src/educarehq-solaris-components.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\r\nimport { CdkMenu, CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\r\nimport { RouterLink } from '@angular/router';\r\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { SolarisBreadcrumbItem } from '../model/solaris-breadcrumb.type';\r\n\r\n@Component({\r\n selector: 'solaris-breadcrumb',\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n RouterLink,\r\n CdkMenu,\r\n CdkMenuItem,\r\n CdkMenuTrigger,\r\n NgTemplateOutlet\r\n ],\r\n templateUrl: './breadcrumb.html',\r\n styleUrl: './breadcrumb.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisBreadcrumb {\r\n @Input({ alias: 'min-items' }) minItems = 2;\r\n @Input({ alias: 'max-items' }) maxItems = 4;\r\n @Input() responsive = true;\r\n @Input({ required: true }) items: SolarisBreadcrumbItem[] = [];\r\n @HostBinding('class') hostClass = 'solaris-breadcrumb-host';\r\n @Output() itemSelect = new EventEmitter<{ id: string; item: SolarisBreadcrumbItem }>();\r\n\r\n get viewModel() {\r\n const items = this.items ?? [];\r\n const total = items.length;\r\n const max = Math.max(this.minItems, this.effectiveMaxItems);\r\n\r\n if (total <= max) {\r\n return { head: items, overflow: [] as SolarisBreadcrumbItem[], tail: [] as SolarisBreadcrumbItem[] };\r\n }\r\n\r\n const keepHead = 1;\r\n const keepTail = 1;\r\n\r\n const remaining = max - keepHead - keepTail;\r\n const extraTail = Math.max(0, remaining);\r\n\r\n const head = items.slice(0, keepHead);\r\n const tail = items.slice(total - (keepTail + extraTail), total);\r\n const overflow = items.slice(keepHead, total - tail.length);\r\n\r\n return { head, overflow, tail };\r\n }\r\n get effectiveMaxItems(): number {\r\n if (!this.responsive) return this.maxItems;\r\n\r\n const isSmall = typeof globalThis.matchMedia === \"function\" &&\r\n globalThis.matchMedia(\"(max-width: 640px)\").matches;\r\n\r\n return isSmall ? Math.max(this.minItems, 3) : this.maxItems;\r\n }\r\n\r\n protected getRouterCommands(it: SolarisBreadcrumbItem): any[] | null {\r\n return it.target?.kind === 'router' ? it.target.commands : null;\r\n }\r\n\r\n protected getRouterQueryParams(it: SolarisBreadcrumbItem): Record<string, any> | null {\r\n return it.target?.kind === 'router' ? (it.target.extras?.queryParams ?? null) : null;\r\n }\r\n\r\n protected shouldRenderSeparatorAfterHead(headIndex: number): boolean {\r\n if (headIndex < this.viewModel.head.length - 1) return true;\r\n return this.viewModel.overflow.length > 0 || this.viewModel.tail.length > 0;\r\n }\r\n\r\n protected onAction(item: SolarisBreadcrumbItem) {\r\n if (item.disabled) return;\r\n const t = item.target;\r\n if (t?.kind === 'action') this.itemSelect.emit({ id: t.id, item });\r\n }\r\n}\r\n","<nav class=\"solaris-breadcrumb\" aria-label=\"Breadcrumb\">\r\n <ol class=\"solaris-breadcrumb__list\">\r\n @for (it of viewModel.head; track it.label; let i = $index) {\r\n <li class=\"solaris-breadcrumb__item\">\r\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{ $implicit: it }\"/>\r\n @if (shouldRenderSeparatorAfterHead(i)) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n\r\n @if (viewModel.overflow.length > 0) {\r\n <li class=\"solaris-breadcrumb__item\">\r\n <button type=\"button\" class=\"solaris-breadcrumb__ellipsis\" aria-label=\"Mostrar mais\" [cdkMenuTriggerFor]=\"overflowMenu\">\r\n <i class=\"ph ph-dots-three\"></i>\r\n </button>\r\n\r\n <ng-template #overflowMenu>\r\n <div class=\"solaris-breadcrumb__menu\" cdkMenu>\r\n @for (it of viewModel.overflow; track it.label) {\r\n <button type=\"button\" class=\"solaris-breadcrumb__menu-item\" cdkMenuItem (click)=\"onAction(it)\"\r\n [disabled]=\"it.disabled\" [routerLink]=\"getRouterCommands(it)\"\r\n [queryParams]=\"getRouterQueryParams(it)\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </button>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n @if (viewModel.tail.length > 0) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n\r\n @for (it of viewModel.tail; track it.label; let i = $index) {\r\n <li class=\"solaris-breadcrumb__item\" [class.is-current]=\"i === viewModel.tail.length - 1\">\r\n <ng-container [ngTemplateOutlet]=\"itemTpl\" [ngTemplateOutletContext]=\"{ $implicit: it, current: i === viewModel.tail.length - 1 }\"/>\r\n @if (it !== viewModel.tail[viewModel.tail.length - 1]) {\r\n <span class=\"solaris-breadcrumb__sep\" aria-hidden=\"true\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </span>\r\n }\r\n </li>\r\n }\r\n </ol>\r\n\r\n <ng-template #itemTpl let-it let-current=\"current\">\r\n @if (it.target?.kind === 'router') {\r\n <a class=\"solaris-breadcrumb__link\" [class.is-disabled]=\"it.disabled\" [class.is-current]=\"current\"\r\n [routerLink]=\"it.disabled ? null : it.target!.commands\" [attr.aria-current]=\"current ? 'page' : null\"\r\n [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </a>\r\n }\r\n @else if (it.target?.kind === 'href') {\r\n <a class=\"solaris-breadcrumb__link\" [class.is-disabled]=\"it.disabled\" [class.is-current]=\"current\"\r\n [href]=\"it.disabled ? null : it.target!.href\" [target]=\"it.target!.target || '_self'\"\r\n [attr.aria-current]=\"current ? 'page' : null\" [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </a>\r\n }\r\n @else if (it.target?.kind === 'action') {\r\n <button type=\"button\" class=\"solaris-breadcrumb__link as-button\" [class.is-current]=\"current\"\r\n [disabled]=\"it.disabled\" (click)=\"onAction(it)\" [attr.aria-current]=\"current ? 'page' : null\"\r\n [attr.aria-label]=\"it.ariaLabel || it.label\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </button>\r\n }\r\n @else {\r\n <span class=\"solaris-breadcrumb__text\" [attr.aria-current]=\"current ? 'page' : null\">\r\n @if (it.icon) {\r\n <i class=\"solaris-breadcrumb__icon\" [ngClass]=\"it.icon\" aria-hidden=\"true\"></i>\r\n }\r\n <span class=\"solaris-breadcrumb__label\">{{ it.label }}</span>\r\n </span>\r\n }\r\n </ng-template>\r\n</nav>\r\n","import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, HostBinding, Input,\r\n Output, QueryList, signal } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { TabsSize, TabsVariant } from '../model/solaris-tab.type';\r\nimport { SolarisTab } from '../tab/component/tab';\r\n\r\n@Component({\r\n selector: 'solaris-tabs',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './tabs.html',\r\n styleUrl: './tabs.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisTabs implements AfterContentInit {\r\n @Input() size: TabsSize = 'md';\r\n @Input() disabled = false;\r\n @Input() variant: TabsVariant = 'underline';\r\n @Input({ alias: 'active-id' }) activeId?: string;\r\n @Output('active-idChange') activeIdChange = new EventEmitter<string>();\r\n @Output() tabChange = new EventEmitter<{ id: string }>();\r\n\r\n @HostBinding('class') hostClass = 'solaris-tabs-host';\r\n @ContentChildren(SolarisTab) tabs!: QueryList<SolarisTab>;\r\n readonly focusId = signal<string | null>(null);\r\n\r\n ngAfterContentInit() {\r\n queueMicrotask(() => {\r\n const first = this.tabs?.get(0);\r\n if (!this.activeId && first?.id) {\r\n this.setActive(first.id, false);\r\n }\r\n if (!this.focusId() && (this.activeId ?? first?.id)) {\r\n this.focusId.set(this.activeId ?? first?.id ?? null);\r\n }\r\n this.syncTabs();\r\n this.tabs.changes.subscribe(() => this.syncTabs());\r\n });\r\n }\r\n\r\n private syncTabs() {\r\n const list = this.tabs?.toArray() ?? [];\r\n for (const t of list) {\r\n t._setParent(this);\r\n t._setDisabled(this.disabled || t.disabled);\r\n }\r\n }\r\n\r\n isActive(id: string) {\r\n return this.activeId === id;\r\n }\r\n\r\n isFocusable(id: string) {\r\n const fid = this.focusId();\r\n return (fid ?? this.activeId) === id;\r\n }\r\n\r\n setActive(id: string, emit = true) {\r\n if (!id) return;\r\n this.activeId = id;\r\n this.focusId.set(id);\r\n if (emit) {\r\n this.activeIdChange.emit(id);\r\n this.tabChange.emit({ id });\r\n }\r\n }\r\n\r\n onKeydown(ev: KeyboardEvent) {\r\n if (this.disabled) return;\r\n\r\n const keys = ['ArrowLeft', 'ArrowRight', 'Home', 'End'];\r\n if (!keys.includes(ev.key)) return;\r\n\r\n const list = (this.tabs?.toArray() ?? []).filter(t => !t._isDisabled());\r\n if (!list.length) return;\r\n\r\n ev.preventDefault();\r\n\r\n const currentId = this.focusId() ?? this.activeId ?? list[0].id;\r\n const idx = Math.max(0, list.findIndex(t => t.id === currentId));\r\n let next = idx;\r\n\r\n if (ev.key === 'ArrowLeft') next = (idx - 1 + list.length) % list.length;\r\n if (ev.key === 'ArrowRight') next = (idx + 1) % list.length;\r\n if (ev.key === 'Home') next = 0;\r\n if (ev.key === 'End') next = list.length - 1;\r\n\r\n const nextTab = list[next];\r\n this.focusId.set(nextTab.id);\r\n nextTab._focus();\r\n }\r\n}\r\n","<div [ngClass]=\"['size-' + size, 'variant-' + variant, disabled ? 'is-disabled' : '']\"\r\n class=\"solaris-tabs\" role=\"tablist\" (keydown)=\"onKeydown($event)\">\r\n <ng-content/>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding,\r\n HostListener, Input, Optional } from '@angular/core';\r\nimport { RouterLink } from '@angular/router';\r\n\r\nimport { SolarisTabs } from '../../component/tabs';\r\n\r\n@Component({\r\n selector: 'solaris-tab',\r\n standalone: true,\r\n imports: [RouterLink],\r\n templateUrl: './tab.html',\r\n styleUrl: './tab.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisTab {\r\n @Input() disabled = false;\r\n @Input() routerLink?: any[] | string;\r\n @Input({ required: true }) id!: string;\r\n\r\n private parent?: SolarisTabs;\r\n private disabledByParent = false;\r\n\r\n constructor(private readonly elementRef: ElementRef<HTMLElement>,@Optional() parent: SolarisTabs) {\r\n this.parent = parent;\r\n }\r\n\r\n _setParent(p: SolarisTabs) { this.parent = p; }\r\n _setDisabled(v: boolean) { this.disabledByParent = v; }\r\n\r\n _isDisabled() {\r\n return this.disabled || this.disabledByParent;\r\n }\r\n\r\n _focus() {\r\n this.elementRef.nativeElement.focus();\r\n }\r\n\r\n @HostBinding('class') get hostClass() {\r\n const active = this.parent?.isActive(this.id);\r\n return [\r\n 'solaris-tab',\r\n active ? 'is-active' : '',\r\n this._isDisabled() ? 'is-disabled' : '',\r\n this.routerLink ? 'is-link' : '',\r\n ].filter(Boolean).join(' ');\r\n }\r\n @HostBinding('attr.role') role = 'tab';\r\n @HostBinding('attr.tabindex') get tabIndex() {\r\n if (this._isDisabled()) return -1;\r\n return this.parent?.isFocusable(this.id) ? 0 : -1;\r\n }\r\n @HostBinding('attr.aria-selected') get ariaSelected() {\r\n return this.parent?.isActive(this.id) ? 'true' : 'false';\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n if (this._isDisabled()) return;\r\n this.parent?.setActive(this.id, true);\r\n }\r\n\r\n @HostListener('focus') onFocus() {\r\n if (this._isDisabled()) return;\r\n this.parent?.focusId.set(this.id);\r\n }\r\n}\r\n","@if (routerLink) {\r\n <a class=\"solaris-tab__inner\" [routerLink]=\"routerLink\">\r\n <ng-content />\r\n </a>\r\n} @else {\r\n <button type=\"button\" class=\"solaris-tab__inner\">\r\n <ng-content />\r\n </button>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NgStyle } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-loading-overlay',\r\n standalone: true,\r\n templateUrl: './loading-overlay.html',\r\n styleUrl: './loading-overlay.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n NgStyle\r\n ]\r\n})\r\nexport class SolarisLoadingOverlay implements OnChanges {\r\n @HostBinding('attr.solaris-loading-overlay') readonly marker = '';\r\n\r\n @Input({ alias: 'z-index' }) zIndex?: number;\r\n @Input() backdrop: 'soft' | 'strong' = 'soft';\r\n @Input() appearance: 'card' | 'minimal' = 'card';\r\n @Input({ transform: coerceBoolean }) blur = true;\r\n @Input({ transform: coerceBoolean }) open = false;\r\n @Input({ alias: 'lock-scroll', transform: coerceBoolean }) lockScroll = true;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (!this.lockScroll) return;\r\n\r\n if (changes['open']) {\r\n if (this.open) document.documentElement.style.overflow = 'hidden';\r\n else document.documentElement.style.overflow = '';\r\n }\r\n }\r\n\r\n get overlayStyle() {\r\n return this.zIndex != null ? { 'z-index': String(this.zIndex) } : null;\r\n }\r\n}\r\n\r\nfunction coerceBoolean(v: any): boolean {\r\n return v === '' || v === true || v === 'true' || v === 1 || v === '1';\r\n}\r\n","@if (open) {\r\n <div class=\"solaris-loading-overlay\" [class.backdrop-soft]=\"backdrop === 'soft'\"\r\n [class.backdrop-strong]=\"backdrop === 'strong'\" [class.is-blur]=\"blur\"\r\n [class.appearance-card]=\"appearance === 'card'\" [class.appearance-minimal]=\"appearance === 'minimal'\"\r\n [ngStyle]=\"overlayStyle\" role=\"presentation\">\r\n <div class=\"solaris-loading-overlay__backdrop\" aria-hidden=\"true\"></div>\r\n\r\n <div class=\"solaris-loading-overlay__content\" role=\"status\" aria-live=\"polite\" aria-busy=\"true\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n}\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\n\r\nimport { SolarisLoadingColor, SolarisLoadingSize, SolarisLoadingType } from '../model/solaris-loading.type';\r\n\r\n@Component({\r\n selector: 'solaris-loading',\r\n standalone: true,\r\n templateUrl: './loading.html',\r\n styleUrl: './loading.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisLoading {\r\n @HostBinding('attr.solaris-loading') readonly marker = '';\r\n\r\n @Input() label?: string;\r\n @Input() value: number | null = null;\r\n @Input() size: SolarisLoadingSize = 'md';\r\n @Input() type: SolarisLoadingType = 'spinner';\r\n @Input() color: SolarisLoadingColor = 'primary';\r\n @Input({ transform: (v: any) => v === '' || v === true || v === 'true' || v === 1 || v === '1' })\r\n indeterminate = false;\r\n\r\n get ariaValueNow(): number | null {\r\n if (this.type === 'progress' || this.type === 'bar') {\r\n if (this.indeterminate) return null;\r\n if (this.value == null) return null;\r\n return clamp(this.value, 0, 100);\r\n }\r\n return null;\r\n }\r\n\r\n get percent(): number {\r\n return clamp(this.value ?? 0, 0, 100);\r\n }\r\n\r\n get role(): 'status' | 'progressbar' {\r\n return (this.type === 'progress' || this.type === 'bar') ? 'progressbar' : 'status';\r\n }\r\n\r\n get ariaLabel(): string {\r\n return this.label ?? 'Loading';\r\n }\r\n}\r\n\r\nfunction clamp(n: number, min: number, max: number) {\r\n return Math.max(min, Math.min(max, n));\r\n}\r\n","<div class=\"solaris-loading\" [class.type-spinner]=\"type === 'spinner'\"\r\n [class.type-spinner-dashed]=\"type === 'spinner-dashed'\" [class.type-progress]=\"type === 'progress'\"\r\n [class.type-bar]=\"type === 'bar'\" [class.is-indeterminate]=\"indeterminate || value === null\"\r\n [class.size-xs]=\"size === 'xs'\" [class.size-sm]=\"size === 'sm'\" [class.size-md]=\"size === 'md'\"\r\n [class.size-lg]=\"size === 'lg'\" [class.size-xl]=\"size === 'xl'\" [attr.data-color]=\"color\"\r\n [attr.role]=\"role\" [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-valuemin]=\"role === 'progressbar' ? 0 : null\" [attr.aria-valuemax]=\"role === 'progressbar' ? 100 : null\"\r\n [attr.aria-valuenow]=\"role === 'progressbar' ? ariaValueNow : null\">\r\n @if (type === 'spinner' || type === 'spinner-dashed') {\r\n <span class=\"solaris-loading__spinner\" aria-hidden=\"true\"></span>\r\n }\r\n\r\n @if (type === 'progress') {\r\n <svg class=\"solaris-loading__ring\" viewBox=\"0 0 44 44\" aria-hidden=\"true\">\r\n <circle class=\"ring-track\" cx=\"22\" cy=\"22\" r=\"18\"></circle>\r\n <circle class=\"ring-value\" cx=\"22\" cy=\"22\" r=\"18\" [attr.stroke-dasharray]=\"113.097\"\r\n [attr.stroke-dashoffset]=\"113.097 - (113.097 * percent / 100)\"></circle>\r\n </svg>\r\n\r\n <span class=\"solaris-loading__percent\" aria-hidden=\"true\">\r\n {{ percent }}%\r\n </span>\r\n }\r\n\r\n @if (type === 'bar') {\r\n <span class=\"solaris-loading__bar\" aria-hidden=\"true\">\r\n <span class=\"solaris-loading__bar-inner\" [style.width.%]=\"indeterminate || value === null ? 30 : percent\"></span>\r\n </span>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { BadgeColor, BadgeSize, BadgeVariant } from '../model/solaris-badge.type';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'solaris-badge',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './badge.html',\r\n styleUrl: './badge.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisBadge {\r\n @HostBinding('class') hostClass = 'solaris-badge-host';\r\n\r\n @Input() pill = false;\r\n @Input() size: BadgeSize = 'md';\r\n @Input() interactive = false;\r\n @Input() color: BadgeColor = 'surface';\r\n @Input() variant: BadgeVariant = 'subtle';\r\n @Input({ alias: 'aria-hidden' }) ariaHidden: 'true' | 'false' | null = null;\r\n}\r\n","<span class=\"solaris-badge\" [attr.aria-hidden]=\"ariaHidden\"\r\n [ngClass]=\"[\r\n 'variant-' + variant,\r\n 'color-' + color,\r\n 'size-' + size,\r\n pill ? 'is-pill' : '',\r\n interactive ? 'is-interactive' : ''\r\n ]\">\r\n <ng-content></ng-content>\r\n</span>\r\n","import { ChangeDetectionStrategy, Component, computed, DestroyRef, effect, ElementRef, HostBinding, HostListener, inject,\r\n input, signal, TemplateRef, viewChild, afterNextRender, booleanAttribute, numberAttribute } from '@angular/core';\r\nimport { NgTemplateOutlet } from '@angular/common';\r\n\r\nimport { SolarisSliderItem, SolarisSliderOverlayContext } from '../model/solaris-image-slider.type';\r\n\r\n@Component({\r\n selector: 'solaris-image-slider',\r\n standalone: true,\r\n templateUrl: './image-slider.html',\r\n styleUrls: ['./image-slider.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [NgTemplateOutlet],\r\n})\r\nexport class SolarisImageSliderComponent {\r\n readonly viewport = viewChild<ElementRef<HTMLElement>>('viewport');\r\n\r\n private timer: ReturnType<typeof setInterval> | null = null;\r\n private readonly destroyRef = inject(DestroyRef);\r\n\r\n readonly items = input<SolarisSliderItem[]>([]);\r\n readonly radius = input<'sm' | 'md' | 'lg'>('lg');\r\n readonly autoplay = input(true, { transform: booleanAttribute });\r\n readonly showDots = input(true, { transform: booleanAttribute });\r\n readonly intervalMs = input(4500, { transform: numberAttribute });\r\n readonly showArrows = input(true, { transform: booleanAttribute });\r\n readonly aspect = input<'16/9' | '9/16' | '4/3' | '1/1' | 'auto'>('16/9');\r\n readonly pauseOnHover = input(true, { transform: booleanAttribute });\r\n\r\n readonly overlayTpl = input<TemplateRef<SolarisSliderOverlayContext> | undefined>(undefined);\r\n\r\n protected readonly paused = signal(false);\r\n protected readonly activeIndex = signal(0);\r\n private readonly viewReady = signal(false);\r\n protected readonly count = computed(() => this.items().length);\r\n protected readonly canRun = computed(() => this.autoplay() && this.count() > 1);\r\n\r\n @HostBinding('attr.data-aspect') get dataAspect() {\r\n return this.aspect();\r\n }\r\n\r\n @HostBinding('attr.data-radius') get dataRadius() {\r\n return this.radius();\r\n }\r\n\r\n constructor() {\r\n afterNextRender(() => this.viewReady.set(true));\r\n\r\n effect((onCleanup) => {\r\n const ready = this.viewReady();\r\n const run = this.canRun();\r\n const paused = this.paused();\r\n const ms = this.intervalMs();\r\n const len = this.count();\r\n\r\n this.stopTimer();\r\n\r\n if (!ready || !run || paused || len <= 1) return;\r\n if (!Number.isFinite(ms) || ms <= 0) return;\r\n\r\n this.startTimer(ms);\r\n\r\n onCleanup(() => this.stopTimer());\r\n });\r\n\r\n effect(() => {\r\n const len = this.count();\r\n const idx = this.activeIndex();\r\n\r\n if (!len) {\r\n this.activeIndex.set(0);\r\n return;\r\n }\r\n if (idx > len - 1) this.activeIndex.set(0);\r\n });\r\n\r\n this.destroyRef.onDestroy(() => this.stopTimer());\r\n }\r\n\r\n protected goTo = (idx: number): void => {\r\n const len = this.count();\r\n if (!len) return;\r\n\r\n const next = ((idx % len) + len) % len;\r\n this.activeIndex.set(next);\r\n this.bumpAutoplay();\r\n };\r\n\r\n protected next = (): void => {\r\n this.goTo(this.activeIndex() + 1);\r\n };\r\n\r\n protected prev = (): void => {\r\n this.goTo(this.activeIndex() - 1);\r\n };\r\n\r\n protected onMouseEnter(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(true);\r\n }\r\n\r\n protected onMouseLeave(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(false);\r\n }\r\n\r\n protected onFocusIn(): void {\r\n this.paused.set(true);\r\n }\r\n\r\n protected onFocusOut(): void {\r\n if (!this.pauseOnHover()) return;\r\n this.paused.set(false);\r\n }\r\n\r\n protected overlayCtx(i: number): SolarisSliderOverlayContext {\r\n const item = this.items()[i];\r\n return {\r\n $implicit: item,\r\n index: i,\r\n active: i === this.activeIndex(),\r\n goTo: this.goTo,\r\n next: this.next,\r\n prev: this.prev,\r\n };\r\n }\r\n\r\n private startTimer(ms: number): void {\r\n this.timer = setInterval(() => this.next(), ms);\r\n }\r\n\r\n private stopTimer(): void {\r\n if (this.timer) clearInterval(this.timer);\r\n this.timer = null;\r\n }\r\n\r\n private bumpAutoplay(): void {\r\n if (!this.canRun() || this.paused()) return;\r\n\r\n this.stopTimer();\r\n\r\n const ms = this.intervalMs();\r\n if (!Number.isFinite(ms) || ms <= 0) return;\r\n\r\n this.startTimer(ms);\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(ev: KeyboardEvent): void {\r\n if (this.count() <= 1) return;\r\n\r\n switch (ev.key) {\r\n case 'ArrowLeft':\r\n ev.preventDefault();\r\n this.prev();\r\n break;\r\n case 'ArrowRight':\r\n ev.preventDefault();\r\n this.next();\r\n break;\r\n case 'Home':\r\n ev.preventDefault();\r\n this.goTo(0);\r\n break;\r\n case 'End':\r\n ev.preventDefault();\r\n this.goTo(this.count() - 1);\r\n break;\r\n }\r\n }\r\n}\r\n","<div class=\"solaris-slider\" role=\"region\" aria-roledescription=\"carousel\" [attr.aria-label]=\"'Image slider'\"\r\n (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" (focusin)=\"onFocusIn()\" (focusout)=\"onFocusOut()\">\r\n\r\n <div #viewport class=\"solaris-slider__viewport\">\r\n <div class=\"solaris-slider__track\"\r\n [style.transform]=\"'translate3d(' + (-activeIndex() * 100) + '%, 0, 0)'\">\r\n\r\n @for (it of items(); track $index) {\r\n <div class=\"solaris-slider__slide\"\r\n [attr.aria-hidden]=\"$index !== activeIndex() ? 'true' : null\">\r\n\r\n @if (it.href) {\r\n <a class=\"solaris-slider__media\" [href]=\"it.href\" [attr.target]=\"it.target ?? null\"\r\n [attr.aria-label]=\"it.ariaLabel ?? it.alt ?? 'Open'\">\r\n <img class=\"solaris-slider__img\" [src]=\"it.src\" [attr.alt]=\"it.alt ?? ''\" />\r\n </a>\r\n } @else {\r\n <div class=\"solaris-slider__media\">\r\n <img class=\"solaris-slider__img\" [src]=\"it.src\" [attr.alt]=\"it.alt ?? ''\" />\r\n </div>\r\n }\r\n\r\n @if (overlayTpl(); as tpl) {\r\n <div class=\"solaris-slider__overlay\">\r\n <ng-container *ngTemplateOutlet=\"tpl; context: overlayCtx($index)\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (showArrows() && count() > 1) {\r\n <button type=\"button\" class=\"solaris-slider__arrow is-prev\" (click)=\"prev()\" aria-label=\"Previous slide\">\r\n <i class=\"ph ph-caret-left\"></i>\r\n </button>\r\n\r\n <button type=\"button\" class=\"solaris-slider__arrow is-next\" (click)=\"next()\" aria-label=\"Next slide\">\r\n <i class=\"ph ph-caret-right\"></i>\r\n </button>\r\n }\r\n\r\n @if (showDots() && count() > 1) {\r\n <div class=\"solaris-slider__dots\" role=\"tablist\" aria-label=\"Slide navigation\">\r\n @for (it of items(); track $index) {\r\n <button type=\"button\" class=\"solaris-slider__dot\" [class.is-active]=\"$index === activeIndex()\"\r\n (click)=\"goTo($index)\" [attr.aria-label]=\"'Go to slide ' + ($index + 1)\"\r\n [attr.aria-current]=\"$index === activeIndex() ? 'true' : null\">\r\n </button>\r\n }\r\n </div>\r\n }\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-section',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './section.html',\r\n styleUrl: './section.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisSectionComponent {\r\n @Input() title?: string;\r\n @Input() description?: string;\r\n @Input() appearance: 'plain' | 'card' = 'plain';\r\n @Input() density: 'comfortable' | 'compact' = 'comfortable';\r\n}\r\n","<section class=\"solaris-section\" [ngClass]=\"['appearance-' + appearance, 'density-' + density]\">\r\n @if (title || description) {\r\n <header class=\"solaris-section__header\">\r\n @if (title) { <h2 class=\"solaris-section__title\">{{ title }}</h2> }\r\n @if (description) { <p class=\"solaris-section__description\">{{ description }}</p> }\r\n </header>\r\n }\r\n\r\n <div class=\"solaris-section__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</section>\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { DividerLabelAlign, DividerOrientation, DividerSpacing, DividerStrength, DividerVariant } from '../model/solaris-divider.type';\r\n\r\n@Component({\r\n selector: 'solaris-divider',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './divider.html',\r\n styleUrl: './divider.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { role: 'separator' },\r\n})\r\nexport class SolarisDivider {\r\n @Input() label?: string;\r\n @Input() inset = false;\r\n @Input() spacing: DividerSpacing = 'none';\r\n @Input() variant: DividerVariant = 'solid';\r\n @Input() strength: DividerStrength = 'normal';\r\n @Input() orientation: DividerOrientation = 'horizontal';\r\n @Input({ alias: 'label-align' }) labelAlign: DividerLabelAlign = 'center';\r\n\r\n @HostBinding('class') hostClass = 'solaris-divider-host';\r\n @HostBinding('attr.aria-orientation') get ariaOrientation() {\r\n return this.orientation === 'vertical' ? 'vertical' : 'horizontal';\r\n }\r\n\r\n get hasLabel(): boolean {\r\n return !!this.label && this.orientation === 'horizontal';\r\n }\r\n}\r\n","<div\r\n class=\"solaris-divider\"\r\n [ngClass]=\"[\r\n 'orientation-' + orientation,\r\n 'spacing-' + spacing,\r\n 'strength-' + strength,\r\n 'variant-' + variant,\r\n inset ? 'is-inset' : '',\r\n hasLabel ? 'has-label' : '',\r\n hasLabel ? 'label-' + labelAlign : ''\r\n ]\">\r\n @if (hasLabel) {\r\n <span class=\"solaris-divider__line\"></span>\r\n <span class=\"solaris-divider__label\">{{ label }}</span>\r\n <span class=\"solaris-divider__line\"></span>\r\n }\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-header]',\r\n standalone: true,\r\n})\r\nexport class SolarisHeaderDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-footer]',\r\n standalone: true,\r\n})\r\nexport class SolarisFooterDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-body]',\r\n standalone: true,\r\n})\r\nexport class SolarisBodyDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\nimport { SolarisDivider } from '../../divider/component/divider';\r\n\r\n@Component({\r\n selector: 'solaris-page',\r\n standalone: true,\r\n imports: [NgClass, SolarisDivider],\r\n templateUrl: './page.html',\r\n styleUrls: ['./page.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'solaris-page-host',\r\n },\r\n})\r\nexport class SolarisPageComponent {\r\n @Input() stickyHeader = false;\r\n @Input() container: 'contained' | 'fluid' = 'contained';\r\n}\r\n","<div class=\"solaris-page\" [ngClass]=\"['container-' + container]\">\r\n <header class=\"solaris-page__header\" [ngClass]=\"{ 'is-sticky': stickyHeader }\">\r\n <ng-content select=\"[solaris-header]\"></ng-content>\r\n @if (stickyHeader) { <solaris-divider class=\"solaris-page__header-divider\"/> }\r\n </header>\r\n\r\n <main class=\"solaris-page__body\">\r\n <ng-content select=\"[solaris-body]\"></ng-content>\r\n </main>\r\n\r\n <footer class=\"solaris-page__footer\">\r\n <solaris-divider class=\"solaris-page__footer-divider\"/>\r\n\r\n <div class=\"solaris-page__footer-content\">\r\n <ng-content select=\"[solaris-footer]\"></ng-content>\r\n </div>\r\n </footer>\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-description]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderDescriptionDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-breadcrumb]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderBreadcrumbDirective {}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-title]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderTitleDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'solaris-page-header-title',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './page-header-title.html',\r\n styleUrl: './page-header-title.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisPageHeaderTitle {\r\n @Input() title = '';\r\n @Input() overline?: string;\r\n @Input() description?: string;\r\n @Input() size: 'md' | 'lg' = 'lg';\r\n}\r\n","<div class=\"solaris-page-title\" [ngClass]=\"['size-' + size]\">\r\n @if (overline) {\r\n <div class=\"solaris-page-title__overline\">{{ overline }}</div>\r\n }\r\n\r\n <h1 class=\"solaris-page-title__title\">{{ title }}</h1>\r\n\r\n @if (description) {\r\n <p class=\"solaris-page-title__description\">{{ description }}</p>\r\n }\r\n</div>\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-page-header-actions]',\r\n standalone: true,\r\n})\r\nexport class SolarisPageHeaderActionsDirective {}\r\n","import { ChangeDetectionStrategy, Component, ContentChild, Input } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\nimport { SolarisPageHeaderDescriptionDirective } from '../directives/solaris-header-description.directive';\r\nimport { SolarisPageHeaderBreadcrumbDirective } from '../directives/solaris-header-breadcrumb.directive';\r\nimport { SolarisPageHeaderActionsDirective } from '../directives/solaris-header-actions.directive';\r\nimport { SolarisPageHeaderTitleDirective } from '../directives/solaris-header-title.directive';\r\n\r\n\r\n@Component({\r\n selector: 'solaris-page-header',\r\n standalone: true,\r\n imports: [NgClass],\r\n templateUrl: './page-header.html',\r\n styleUrl: './page-header.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class SolarisPageHeader {\r\n @Input() layout: 'split' | 'stacked' = 'split';\r\n @Input() density: 'sm' | 'md' | 'lg' = 'md';\r\n\r\n @ContentChild(SolarisPageHeaderTitleDirective) titleSlot?: SolarisPageHeaderTitleDirective;\r\n @ContentChild(SolarisPageHeaderActionsDirective) actionsSlot?: SolarisPageHeaderActionsDirective;\r\n @ContentChild(SolarisPageHeaderBreadcrumbDirective) breadcrumbSlot?: SolarisPageHeaderBreadcrumbDirective;\r\n @ContentChild(SolarisPageHeaderDescriptionDirective) descriptionSlot?: SolarisPageHeaderDescriptionDirective;\r\n}\r\n","<header class=\"solaris-page-header\" [ngClass]=\"['layout-' + layout, 'density-' + density]\">\r\n <div class=\"solaris-page-header__left\">\r\n <div class=\"solaris-page-header__breadcrumb\">\r\n <ng-content select=\"[solaris-page-header-breadcrumb]\" />\r\n </div>\r\n\r\n <div class=\"solaris-page-header__titles\">\r\n <div class=\"solaris-page-header__title-row\">\r\n <h1 class=\"solaris-page-header__title\">\r\n <span class=\"solaris-page-header__title-slot\">\r\n <ng-content select=\"[solaris-page-header-title]\" />\r\n </span>\r\n\r\n <span class=\"solaris-page-header__title-meta\">\r\n <ng-content select=\"[solaris-page-header-title-meta]\" />\r\n </span>\r\n </h1>\r\n\r\n <div class=\"solaris-page-header__title-meta\">\r\n <ng-content select=\"[solaris-page-header-title-meta]\" />\r\n </div>\r\n </div>\r\n\r\n <p class=\"solaris-page-header__description\">\r\n <ng-content select=\"[solaris-page-header-description]\" />\r\n </p>\r\n </div>\r\n </div>\r\n\r\n <div class=\"solaris-page-header__actions\">\r\n <ng-content select=\"[solaris-page-header-actions]\" />\r\n </div>\r\n</header>\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-button-group]',\r\n standalone: true,\r\n})\r\nexport class SolarisButtonGroupDirective {\r\n @HostBinding('attr.solaris-button-group') readonly attr = '';\r\n}\r\n","import { Directive, ElementRef, HostBinding, HostListener, Input, computed, inject, signal,\r\n booleanAttribute } from '@angular/core';\r\n\r\nimport { SolarisButtonColor, SolarisButtonSize, SolarisButtonVariant } from '../models/solaris-button.type';\r\n\r\n@Directive({\r\n selector: 'button[solaris-button], a[solaris-button]',\r\n standalone: true,\r\n})\r\nexport class SolarisButtonDirective {\r\n private readonly el = inject(ElementRef<HTMLElement>);\r\n private readonly isAnchor = computed(() => this.el.nativeElement.tagName.toLowerCase() === 'a');\r\n\r\n private readonly _loading = signal(false);\r\n private readonly _disabled = signal(false);\r\n private readonly _iconOnly = signal(false);\r\n private readonly _fullWidth = signal(false);\r\n private readonly _size = signal<SolarisButtonSize>('md');\r\n private readonly _color = signal<SolarisButtonColor>('primary');\r\n private readonly _variant = signal<SolarisButtonVariant>('solid');\r\n\r\n @Input() set size(v: SolarisButtonSize) { if (v) this._size.set(v) }\r\n @Input() set color(v: SolarisButtonColor) { if (v) this._color.set(v) }\r\n @Input({ transform: booleanAttribute }) set fullWidth(v: boolean) {\r\n this._fullWidth.set(v);\r\n }\r\n @Input() set variant(v: SolarisButtonVariant) { if (v) this._variant.set(v) }\r\n @Input({ transform: booleanAttribute }) set loading(v: boolean) { this._loading.set(v) }\r\n @Input({ transform: booleanAttribute }) set disabled(v: boolean) {this._disabled.set(v) }\r\n @Input({ transform: booleanAttribute }) set iconOnly(v: boolean) { this._iconOnly.set(v) }\r\n\r\n @HostBinding('attr.tabindex') get tabIndex() {\r\n return this.isAnchor() && (this._disabled() || this._loading()) ? -1 : null;\r\n }\r\n @HostBinding('attr.disabled') get nativeDisabled() {\r\n const isButton = !this.isAnchor();\r\n return isButton && (this._disabled() || this._loading()) ? '' : null;\r\n }\r\n @HostBinding('attr.solaris-button') readonly attr = '';\r\n @HostBinding('attr.aria-disabled') get ariaDisabled() {\r\n return this.isAnchor() && (this._disabled() || this._loading()) ? 'true' : null;\r\n }\r\n @HostBinding('attr.data-size') get dataSize() {return this._size()}\r\n @HostBinding('attr.data-color') get dataColor() { return this._color() }\r\n @HostBinding('attr.data-variant') get dataVariant() { return this._variant() }\r\n @HostBinding('attr.aria-busy') get ariaBusy() { return this._loading() ? 'true' : null }\r\n @HostBinding('attr.data-icon-only') get dataIconOnly() { return this._iconOnly() ? 'true' : null }\r\n @HostBinding('attr.data-full-width') get dataFullWidth() { return this._fullWidth() ? 'true' : null }\r\n\r\n @HostListener('click', ['$event']) onClick(ev: Event) {\r\n if (!this.isAnchor()) return;\r\n if (this._disabled() || this._loading()) {\r\n ev.preventDefault();\r\n ev.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n","export type PhoneSanitizeConfig = {\r\n allowedChars: RegExp;\r\n};\r\n\r\nexport function sanitizePhoneInput(v: string): string {\r\n let s = (v ?? '').replace(/[^\\d+\\-\\s().]/g, '');\r\n s = s.replace(/\\+/g, (_m, offset) => (offset === 0 ? '+' : ''));\r\n return s;\r\n}\r\n\r\nexport function insertAtCursor(input: HTMLInputElement, text: string): void {\r\n const start = input.selectionStart ?? input.value.length;\r\n const end = input.selectionEnd ?? input.value.length;\r\n input.value = input.value.slice(0, start) + text + input.value.slice(end);\r\n const pos = start + text.length;\r\n input.setSelectionRange(pos, pos);\r\n}\r\n\r\nexport function enforceMaxDigitsInPlace(input: HTMLInputElement, maxDigits?: number): void {\r\n if (!maxDigits) return;\r\n\r\n const v = input.value ?? '';\r\n const sanitized = sanitizePhoneInput(v);\r\n\r\n const digits = (sanitized.match(/\\d/g) ?? []).length;\r\n if (digits <= maxDigits) {\r\n if (sanitized !== v) input.value = sanitized;\r\n return;\r\n }\r\n\r\n let digitCount = 0;\r\n let out = '';\r\n for (const ch of sanitized) {\r\n if (/\\d/.test(ch)) {\r\n if (digitCount >= maxDigits) break;\r\n digitCount++;\r\n }\r\n out += ch;\r\n }\r\n input.value = out;\r\n}\r\n\r\nexport function shouldBlockBeforeInput(ev: InputEvent, cfg: PhoneSanitizeConfig): boolean {\r\n return !!ev.data && !cfg.allowedChars.test(ev.data);\r\n}\r\n\r\nexport function shouldBlockKeyDown(ev: KeyboardEvent): boolean {\r\n if (ev.ctrlKey || ev.metaKey || ev.altKey) return false;\r\n\r\n const k = ev.key;\r\n const allowedControl = [\r\n 'Backspace', 'Delete', 'Tab', 'Enter', 'Escape',\r\n 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End',\r\n ];\r\n if (allowedControl.includes(k)) return false;\r\n if (/^\\d$/.test(k)) return false;\r\n return !(k === '+' || k === '-' || k === ' ' || k === '(' || k === ')' || k === '.');\r\n}\r\n","import { getCountries, getCountryCallingCode } from 'libphonenumber-js';\r\n\r\nexport function buildCallingCodeIndex(): Map<string, string[]> {\r\n const m = new Map<string, string[]>();\r\n for (const c of getCountries()) {\r\n const code = getCountryCallingCode(c);\r\n const arr = m.get(code) ?? [];\r\n arr.push(c.toLowerCase());\r\n m.set(code, arr);\r\n }\r\n return m;\r\n}\r\n\r\nexport function pickIso2ForCallingCode(\r\n callingCode: string,\r\n selectedIso2: string | null,\r\n index: Map<string, string[]>,\r\n preferredCountries?: string[],\r\n): string | null {\r\n const list = index.get(callingCode) ?? [];\r\n if (!list.length) return null;\r\n\r\n const sel = selectedIso2?.toLowerCase() ?? null;\r\n if (sel && list.includes(sel)) return sel;\r\n\r\n if (callingCode === '1') {\r\n if (list.includes('us')) return 'us';\r\n if (list.includes('ca')) return 'ca';\r\n }\r\n\r\n const preferred = (preferredCountries ?? []).map((x) => x.toLowerCase());\r\n for (const p of preferred) {\r\n if (list.includes(p)) return p;\r\n }\r\n\r\n return list[0] ?? null;\r\n}\r\n\r\nexport function getInitialCountryFromBrowser(fallbackIso2: string): string {\r\n const lang = globalThis?.navigator?.language ?? '';\r\n const region = lang.split('-')[1]?.toLowerCase() ?? '';\r\n return region.length === 2 ? region : fallbackIso2;\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisInputApi {\r\n element: HTMLInputElement | HTMLTextAreaElement;\r\n setType?(type: string): void;\r\n getType?(): string;\r\n}\r\n\r\nexport const SOLARIS_INPUT = new InjectionToken<SolarisInputApi>('SOLARIS_INPUT');\r\n","import { Directive, ElementRef, HostBinding, inject } from '@angular/core';\r\n\r\nimport { SOLARIS_INPUT, SolarisInputApi } from '../tokens/solaris-input.token';\r\n\r\n@Directive({\r\n selector: 'input[solaris-input],textarea[solaris-input]',\r\n standalone: true,\r\n providers: [\r\n {\r\n provide: SOLARIS_INPUT,\r\n useFactory: (): SolarisInputApi => {\r\n const el = inject(ElementRef<HTMLInputElement | HTMLTextAreaElement>).nativeElement;\r\n return {\r\n element: el,\r\n setType: (type: string) => {\r\n if (el instanceof HTMLInputElement) el.type = type;\r\n },\r\n getType: () => (el instanceof HTMLInputElement ? el.type : 'textarea'),\r\n };\r\n },\r\n },\r\n ],\r\n})\r\nexport class InputTextDirective {\r\n private readonly el = inject(ElementRef<HTMLInputElement | HTMLTextAreaElement>);\r\n @HostBinding('attr.solaris-input') readonly attr = '';\r\n @HostBinding('attr.placeholder') get placeholderAttr() {\r\n return this.el.nativeElement.getAttribute('placeholder');\r\n }\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostBinding, inject, Input,\r\n OnDestroy, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator } from '@angular/forms';\r\n\r\nimport { enforceMaxDigitsInPlace, insertAtCursor, sanitizePhoneInput, shouldBlockBeforeInput, shouldBlockKeyDown } from '../helper/phone-input.sanitize';\r\nimport { buildCallingCodeIndex, getInitialCountryFromBrowser, pickIso2ForCallingCode } from '../helper/phone-input.country';\r\nimport { InputTextDirective } from '../../input-text/directives/input-text.directive';\r\nimport type { ItiInstance, ItiUtils } from '../model/phone-input.iti-types';\r\nimport { AsYouType, parsePhoneNumberFromString, } from 'libphonenumber-js';\r\nimport { PhoneFormat, Iso2 } from '../model/solaris-phone-input.type';\r\nimport intlTelInput from 'intl-tel-input';\r\n\r\n@Component({\r\n selector: 'solaris-phone-input',\r\n standalone: true,\r\n templateUrl: './phone-input.html',\r\n styleUrl: './phone-input.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => SolarisPhoneInput),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => SolarisPhoneInput),\r\n multi: true,\r\n },\r\n ],\r\n imports: [InputTextDirective],\r\n})\r\nexport class SolarisPhoneInput implements AfterViewInit, OnDestroy, ControlValueAccessor, Validator {\r\n private readonly renderer: Renderer2 = inject(Renderer2);\r\n @HostBinding('attr.solaris-phone-input') readonly marker = '';\r\n @ViewChild('input', { static: false }) inputRef?: ElementRef<HTMLInputElement>;\r\n\r\n @Input() set placeholder(v: string | undefined) {\r\n this._placeholder = v;\r\n this.applyPlaceholderIfCustom();\r\n }\r\n get placeholder(): string | undefined {\r\n return this._placeholder;\r\n }\r\n\r\n @Input() format: PhoneFormat = 'e164';\r\n @Input({ alias: 'only-countries' }) onlyCountries?: Iso2[];\r\n @Input({ alias: 'default-country' }) defaultCountry: Iso2 = 'br';\r\n @Input({ alias: 'preferred-countries' }) preferredCountries?: Iso2[];\r\n\r\n private _raw = '';\r\n private maxDigits?: number;\r\n private _placeholder?: string;\r\n protected _disabled = false;\r\n private iti: ItiInstance | null = null;\r\n private _lastE164: string | null = null;\r\n private readonly allowedChars = /^[0-9+\\-\\s().]*$/;\r\n private callingCodeIndex = new Map<string, string[]>();\r\n\r\n private onChange: (v: string | null) => void = () => {};\r\n private onTouched: () => void = () => {};\r\n private onValidatorChange?: () => void;\r\n\r\n ngAfterViewInit(): void {\r\n const el = this.el;\r\n if (!el) return;\r\n this.callingCodeIndex = buildCallingCodeIndex();\r\n this.initIntlTelInput(el);\r\n this.setupListeners(el);\r\n\r\n if (this._raw) el.value = this._raw;\r\n\r\n this.normalizeAndFormat(true);\r\n this.recalculateLimits();\r\n this.afterUtilsReady();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n const el = this.el;\r\n if (el) this.teardownListeners(el);\r\n this.iti?.destroy?.();\r\n this.iti = null;\r\n }\r\n\r\n public writeValue(value: string | null): void {\r\n this._lastE164 = value ?? null;\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n if (!value) {\r\n this._raw = '';\r\n el.value = '';\r\n this.recomputeFromRaw(true);\r\n return;\r\n }\r\n const iso2 = this.getSelectedIso2();\r\n const cc = iso2 ? iso2.toUpperCase() : undefined;\r\n const parsed = parsePhoneNumberFromString(value, cc as any);\r\n const next = parsed ? parsed.formatNational() : value;\r\n this._raw = next;\r\n el.value = next;\r\n\r\n this.recomputeFromRaw(true);\r\n }\r\n\r\n public registerOnChange(fn: (v: string | null) => void): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: () => void): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n const el = this.el;\r\n if (el) el.disabled = isDisabled;\r\n }\r\n\r\n public validate(): ValidationErrors | null {\r\n if (!this._raw?.trim()) return null;\r\n return this._lastE164 ? null : { solarisPhone: true };\r\n }\r\n\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this.onValidatorChange = fn;\r\n }\r\n\r\n protected onInput(silent = false): void {\r\n this.normalizeAndFormat(silent);\r\n }\r\n\r\n protected onBlur(): void {\r\n this.onTouched();\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n this._raw = el.value ?? '';\r\n this.recomputeFromRaw(false);\r\n }\r\n\r\n protected onFocus(): void {\r\n const el = this.el;\r\n if (!el || this._disabled) return;\r\n if ((el.value ?? '').trim().length) return;\r\n\r\n const dial = this.getSelectedDialCode();\r\n if (!dial) return;\r\n\r\n const v = `+${dial} `;\r\n el.value = v;\r\n this._raw = v;\r\n\r\n queueMicrotask(() => el.setSelectionRange(v.length, v.length));\r\n this.recomputeFromRaw(false);\r\n }\r\n\r\n private normalizeAndFormat(silent: boolean): void {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const raw = sanitizePhoneInput(el.value ?? '');\r\n const selectedIso2 = this.getSelectedIso2();\r\n const selectedCountry = selectedIso2 ? selectedIso2.toUpperCase() : undefined;\r\n\r\n const ayt = raw.trim().startsWith('+')\r\n ? new AsYouType()\r\n : new AsYouType(selectedCountry as any);\r\n\r\n const formatted = ayt.input(raw);\r\n el.value = formatted;\r\n this._raw = formatted;\r\n\r\n const number = ayt.getNumber();\r\n if (number?.countryCallingCode && this.iti) {\r\n const nextIso2 = pickIso2ForCallingCode(\r\n number.countryCallingCode,\r\n selectedIso2,\r\n this.callingCodeIndex,\r\n this.preferredCountries,\r\n );\r\n if (nextIso2 && nextIso2 !== selectedIso2) {\r\n this.setCountrySafely(nextIso2);\r\n }\r\n }\r\n\r\n enforceMaxDigitsInPlace(el, this.maxDigits);\r\n this.recomputeFromRaw(silent);\r\n }\r\n\r\n private recomputeFromRaw(silent: boolean): void {\r\n const raw = (this._raw ?? '').trim();\r\n\r\n if (!raw) {\r\n this._lastE164 = null;\r\n if (!silent) this.emit(null);\r\n return;\r\n }\r\n\r\n const iso2 = this.getSelectedIso2();\r\n const cc = iso2 ? iso2.toUpperCase() : undefined;\r\n\r\n const parsed = raw.startsWith('+')\r\n ? parsePhoneNumberFromString(raw)\r\n : parsePhoneNumberFromString(raw, cc as any);\r\n\r\n if (parsed?.isValid()) {\r\n this._lastE164 = parsed.number;\r\n if (!silent) this.emit(parsed.number);\r\n return;\r\n }\r\n\r\n this._lastE164 = null;\r\n if (!silent) this.emit(null);\r\n }\r\n\r\n private emit(v: string | null): void {\r\n this.onChange(v);\r\n this.onValidatorChange?.();\r\n }\r\n\r\n private initIntlTelInput(el: HTMLInputElement): void {\r\n const options: Record<string, unknown> = {\r\n initialCountry: getInitialCountryFromBrowser((this.defaultCountry || 'br').toLowerCase()),\r\n separateDialCode: false,\r\n nationalMode: false,\r\n formatOnDisplay: true,\r\n autoPlaceholder: 'aggressive',\r\n loadUtils: () => import('intl-tel-input/build/js/utils.js'),\r\n };\r\n\r\n const only = this.onlyCountries?.map((x) => x.toLowerCase());\r\n if (only?.length) options['onlyCountries'] = only;\r\n const preferred = this.preferredCountries?.map((x) => x.toLowerCase());\r\n if (preferred?.length) options['preferredCountries'] = preferred;\r\n this.iti = intlTelInput(el, options) as unknown as ItiInstance;\r\n this.applyPlaceholderIfCustom();\r\n }\r\n\r\n private afterUtilsReady(): void {\r\n const itiAny: any = this.iti as any;\r\n const p: Promise<unknown> | undefined = itiAny?.promise;\r\n\r\n const run = () => {\r\n const iso2 = this.getSelectedIso2();\r\n if (iso2) this.setCountrySafely(iso2);\r\n this.recalculateLimits();\r\n };\r\n\r\n if (p?.then) p.then(run);\r\n else queueMicrotask(run);\r\n }\r\n\r\n private setCountrySafely(iso2: string): void {\r\n try { (this.iti as any)?.setCountry?.(iso2) } catch {}\r\n }\r\n\r\n private recalculateLimits(): void {\r\n this.updateMaxDigits();\r\n const el = this.el;\r\n if (el) enforceMaxDigitsInPlace(el, this.maxDigits);\r\n }\r\n\r\n private updateMaxDigits(): void {\r\n if (!this.iti) {\r\n this.maxDigits = undefined;\r\n return;\r\n }\r\n\r\n const c: any = (this.iti as any).getSelectedCountryData?.();\r\n const iso2 = String(c?.iso2 ?? '').toLowerCase();\r\n const dialDigits = String(c?.dialCode ?? '').replace(/\\D/g, '').length;\r\n\r\n const u = this.getUtils();\r\n\r\n const exNationalDigits = this.safe(() => {\r\n if (!u?.getExampleNumber) return undefined;\r\n const t = u.numberType?.MOBILE;\r\n const ex = u.getExampleNumber?.(iso2, true, t);\r\n return ex ? (String(ex).match(/\\d/g) ?? []).length : undefined;\r\n });\r\n\r\n if (exNationalDigits && exNationalDigits > 0) {\r\n this.maxDigits = dialDigits + exNationalDigits;\r\n return;\r\n }\r\n\r\n const el = this.el;\r\n const ph = el?.getAttribute('placeholder') ?? '';\r\n const phDigits = (ph.match(/\\d/g) ?? []).length;\r\n this.maxDigits = phDigits > 0 ? phDigits : undefined;\r\n }\r\n\r\n private setupListeners(el: HTMLInputElement): void {\r\n el.addEventListener('beforeinput', this.onBeforeInput as any);\r\n el.addEventListener('keydown', this.onKeyDown);\r\n el.addEventListener('paste', this.onPaste);\r\n el.addEventListener('countrychange', this.onCountryChange);\r\n }\r\n\r\n private teardownListeners(el: HTMLInputElement): void {\r\n el.removeEventListener('beforeinput', this.onBeforeInput as any);\r\n el.removeEventListener('keydown', this.onKeyDown);\r\n el.removeEventListener('paste', this.onPaste);\r\n el.removeEventListener('countrychange', this.onCountryChange);\r\n }\r\n\r\n private readonly onCountryChange = () => {\r\n this.recalculateLimits();\r\n\r\n const el = this.el;\r\n if (!el || !(el.value ?? '').trim()) return;\r\n\r\n this._raw = el.value ?? '';\r\n this.normalizeAndFormat(false);\r\n };\r\n\r\n private readonly onBeforeInput = (ev: InputEvent) => {\r\n if (shouldBlockBeforeInput(ev, { allowedChars: this.allowedChars })) {\r\n ev.preventDefault();\r\n }\r\n };\r\n\r\n private readonly onKeyDown = (ev: KeyboardEvent) => {\r\n if (shouldBlockKeyDown(ev)) ev.preventDefault();\r\n };\r\n\r\n private readonly onPaste = (ev: ClipboardEvent) => {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const text = ev.clipboardData?.getData('text') ?? '';\r\n if (!text) return;\r\n\r\n const sanitized = sanitizePhoneInput(text);\r\n if (sanitized === text) return;\r\n\r\n ev.preventDefault();\r\n insertAtCursor(el, sanitized);\r\n\r\n queueMicrotask(() => {\r\n this.recalculateLimits();\r\n this.normalizeAndFormat(false);\r\n });\r\n };\r\n\r\n private applyPlaceholderIfCustom(): void {\r\n const el = this.el;\r\n if (!el) return;\r\n\r\n const ph = this._placeholder?.trim();\r\n if (ph) this.renderer.setAttribute(el, 'placeholder', ph);\r\n }\r\n\r\n private getSelectedIso2(): string | null {\r\n try {\r\n const data = (this.iti as any)?.getSelectedCountryData?.();\r\n return (data?.iso2 as string | undefined)?.toLowerCase() ?? null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n private getSelectedDialCode(): string | null {\r\n try {\r\n const data = (this.iti as any)?.getSelectedCountryData?.();\r\n return (data?.dialCode as string | undefined) ?? null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n private getUtils(): ItiUtils | undefined {\r\n return (globalThis as any).intlTelInputUtils as ItiUtils | undefined;\r\n }\r\n\r\n private safe<T>(fn: () => T): T | undefined {\r\n try {\r\n return fn();\r\n } catch {\r\n return undefined;\r\n }\r\n }\r\n\r\n private get el(): HTMLInputElement | null {\r\n return this.inputRef?.nativeElement ?? null;\r\n }\r\n}\r\n","<input\r\n #input\r\n solaris-input\r\n type=\"tel\"\r\n [disabled]=\"_disabled\"\r\n (focus)=\"onFocus()\"\r\n (input)=\"onInput()\"\r\n (blur)=\"onBlur()\"\r\n data-bwignore=\"true\"\r\n/>\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisFormFieldFeature {\r\n kind: 'email' | 'password';\r\n}\r\n\r\nexport const SOLARIS_FORM_FIELD_FEATURES =\r\n new InjectionToken<ReadonlyArray<SolarisFormFieldFeature>>('SOLARIS_FORM_FIELD_FEATURES');\r\n","import { Injectable, Optional, inject, signal, DestroyRef } from '@angular/core';\r\nimport { NgControl, FormGroupDirective, NgForm } from '@angular/forms';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport type { SolarisPasswordDirective } from '../../input-text/directives/input-password.directive';\r\nimport type { SolarisEmailDirective } from '../../input-text/directives/input-email.directive';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../tokens/form-field-features';\r\n\r\n@Injectable()\r\nexport class SolarisFormFieldController {\r\n features = inject(SOLARIS_FORM_FIELD_FEATURES, { optional: true }) ?? [];\r\n @Optional() private readonly ngForm = inject(NgForm, { optional: true });\r\n @Optional() private readonly formGroupDir = inject(FormGroupDirective, { optional: true });\r\n private readonly destroyRef = inject(DestroyRef);\r\n\r\n readonly submitted = signal<boolean>(false);\r\n readonly control = signal<NgControl | null>(null);\r\n readonly email = signal<SolarisEmailDirective | null>(null);\r\n readonly password = signal<SolarisPasswordDirective | null>(null);\r\n\r\n constructor() {\r\n this.formGroupDir?.ngSubmit\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.submitted.set(true));\r\n\r\n this.ngForm?.ngSubmit\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.submitted.set(true));\r\n }\r\n\r\n registerPassword(dir: SolarisPasswordDirective | null) {\r\n this.password.set(dir);\r\n }\r\n\r\n registerEmail(dir: SolarisEmailDirective | null) {\r\n this.email.set(dir);\r\n }\r\n\r\n registerControl(ctrl: NgControl | null) {\r\n if (!ctrl && this.control()) return;\r\n this.control.set(ctrl);\r\n }\r\n\r\n passwordVisible(): boolean {\r\n return this.password()?.visible() ?? false;\r\n }\r\n\r\n togglePasswordVisibility(): void {\r\n this.password()?.toggle();\r\n }\r\n\r\n resetSubmitted() {\r\n this.submitted.set(false);\r\n }\r\n}\r\n","import { Directive, HostBinding, Optional, inject, signal, WritableSignal, Input, forwardRef, Injector } from '@angular/core';\r\nimport { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, NgControl } from '@angular/forms';\r\n\r\nimport { SolarisFormFieldController } from '../../form-field/controller/form-field-controller';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../../form-field/tokens/form-field-features';\r\nimport { SolarisPasswordErrorBag } from '../models/password-directive.type';\r\n\r\n@Directive({\r\n selector: 'input[solaris-password],input[solarisPassword]',\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SolarisPasswordDirective), multi: true },\r\n { provide: SOLARIS_FORM_FIELD_FEATURES, useValue: { kind: 'password' }, multi: true }\r\n ],\r\n})\r\nexport class SolarisPasswordDirective implements Validator {\r\n @Input() minLength = 8;\r\n @Input() requireUpper = true;\r\n @Input() requireLower = true;\r\n @Input() requireNumber = true;\r\n @Input() requireSpecial = false;\r\n\r\n @Input() set requireUpperKebab(v: any) { this.requireUpper = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set requireLowerKebab(v: any) { this.requireLower = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set requireNumberKebab(v: any) { this.requireNumber = coerceBoolean(v); this._onChange?.(); }\r\n @Input() set minLengthKebab(v: any) { this.minLength = coerceNumber(v, 8); this._onChange?.(); }\r\n @Input() set requireSpecialKebab(v: any) { this.requireSpecial = coerceBoolean(v); this._onChange?.(); }\r\n\r\n @HostBinding('attr.type') get type() {\r\n return this.visible() ? 'text' : 'password';\r\n }\r\n @HostBinding('attr.spellcheck') spellcheck = 'false';\r\n @HostBinding('attr.solaris-password') readonly marker = '';\r\n @HostBinding('attr.solaris-input') readonly solarisInput = '';\r\n @HostBinding('attr.autocapitalize') autocapitalize = 'none';\r\n @HostBinding('attr.autocomplete') autocomplete = 'current-password';\r\n\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n private readonly injector = inject(Injector);\r\n\r\n readonly visible: WritableSignal<boolean> = signal(false);\r\n\r\n private _onChange?: () => void;\r\n\r\n constructor() {\r\n this.field?.registerPassword(this);\r\n queueMicrotask(() => {\r\n const ngc = this.injector.get(NgControl, null, { self: true, optional: true });\r\n this.field?.registerControl(ngc);\r\n });\r\n }\r\n\r\n public toggle(): void {\r\n this.visible.set(!this.visible());\r\n }\r\n\r\n public validate(control: AbstractControl): ValidationErrors | null {\r\n const v = String(control.value ?? '');\r\n if (!v) return null;\r\n\r\n const errors: SolarisPasswordErrorBag = {};\r\n\r\n if (this.minLength && v.length < this.minLength) {\r\n errors.minLength = { requiredLength: this.minLength, actualLength: v.length };\r\n }\r\n if (this.requireLower && !/[a-z]/.test(v)) errors.lowercase = true;\r\n if (this.requireUpper && !/[A-Z]/.test(v)) errors.uppercase = true;\r\n if (this.requireNumber && !/\\d/.test(v)) errors.number = true;\r\n if (this.requireSpecial && !/[^\\w\\s]/.test(v)) errors.special = true;\r\n\r\n return Object.keys(errors).length ? { solarisPassword: errors } : null;\r\n }\r\n\r\n public registerOnValidatorChange(fn: () => void): void {\r\n this._onChange = fn;\r\n }\r\n}\r\n\r\nfunction coerceBoolean(v: any): boolean {\r\n return v === '' || v === true || v === 'true' || v === 1 || v === '1';\r\n}\r\n\r\nfunction coerceNumber(v: any, fallback: number): number {\r\n const n = Number(v);\r\n return Number.isFinite(n) ? n : fallback;\r\n}\r\n","import { AbstractControl, NG_VALIDATORS, ValidationErrors, Validator, NgControl } from '@angular/forms';\r\nimport { Directive, forwardRef, HostBinding, inject, Optional, Injector } from '@angular/core';\r\n\r\nimport { SolarisFormFieldController } from '../../form-field/controller/form-field-controller';\r\nimport { SOLARIS_FORM_FIELD_FEATURES } from '../../form-field/tokens/form-field-features';\r\n\r\n@Directive({\r\n selector: 'input[solaris-email],input[solarisEmail]',\r\n standalone: true,\r\n providers: [\r\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SolarisEmailDirective), multi: true },\r\n { provide: SOLARIS_FORM_FIELD_FEATURES, useValue: { kind: 'email' }, multi: true }\r\n ],\r\n})\r\nexport class SolarisEmailDirective implements Validator {\r\n @HostBinding('attr.type') type = 'email';\r\n @HostBinding('attr.inputmode') inputmode = 'email';\r\n @HostBinding('attr.spellcheck') spellcheck = 'false';\r\n @HostBinding('attr.autocomplete') autocomplete = 'email';\r\n @HostBinding('attr.solaris-input') readonly solarisInput = '';\r\n @HostBinding('attr.autocapitalize') autocapitalize = 'none';\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n private readonly injector = inject(Injector);\r\n\r\n constructor() {\r\n this.field?.registerEmail(this);\r\n queueMicrotask(() => {\r\n const ngc = this.injector.get(NgControl, null, { self: true, optional: true });\r\n this.field?.registerControl(ngc);\r\n });\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n const v = String(control.value ?? '').trim();\r\n if (!v) return null;\r\n const ok = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(v);\r\n return ok ? null : { solarisEmail: true };\r\n }\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport interface SolarisFormFieldControllerLike {\r\n passwordVisible(): boolean\r\n togglePasswordVisibility(): void;\r\n}\r\n\r\nexport const SOLARIS_FORM_FIELD_CONTROLLER =\r\n new InjectionToken<SolarisFormFieldControllerLike>('SOLARIS_FORM_FIELD_CONTROLLER');\r\n","import { ChangeDetectionStrategy, Component, HostBinding, Optional, inject } from '@angular/core';\r\nimport { SOLARIS_FORM_FIELD_CONTROLLER, SolarisFormFieldControllerLike } from '../../form-field/tokens/form-field-controller.token';\r\n\r\n@Component({\r\n selector: 'solaris-password-toggle',\r\n standalone: true,\r\n templateUrl: './password-toggle.html',\r\n styleUrls: ['./password-toggle.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class PasswordToggle {\r\n @HostBinding('attr.solaris-suffix') readonly solarisSuffix = '';\r\n @Optional() private readonly field = inject<SolarisFormFieldControllerLike>(SOLARIS_FORM_FIELD_CONTROLLER, { optional: true });\r\n\r\n protected visible = () => this.field?.passwordVisible() ?? false;\r\n\r\n protected toggle(): void {\r\n this.field?.togglePasswordVisibility();\r\n }\r\n protected get ariaLabelHide() { return 'Hide password'; }\r\n protected get ariaLabelShow() { return 'Show password'; }\r\n}\r\n","<button class=\"solaris-password-toggle\" type=\"button\" (click)=\"toggle()\" [attr.aria-pressed]=\"visible() ? 'true' : 'false'\"\r\n [attr.aria-label]=\"visible() ? ariaLabelHide : ariaLabelShow\">\r\n @if (visible()) { <i class=\"ph ph-eye-slash\"></i> }\r\n @else { <i class=\"ph ph-eye\"></i> }\r\n</button>\r\n","import { Directive, Optional, inject } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\nimport { SolarisFormFieldController } from '../controller/form-field-controller';\r\n\r\n@Directive({\r\n selector: 'input[solaris-password],input[solaris-email],input[solaris-input],textarea[solaris-input]',\r\n standalone: true,\r\n})\r\nexport class SolarisControlBridgeDirective {\r\n @Optional() private readonly ctrl = inject(NgControl, { optional: true });\r\n @Optional() private readonly field = inject(SolarisFormFieldController, { optional: true });\r\n\r\n constructor() {\r\n if (this.ctrl) this.field?.registerControl(this.ctrl);\r\n }\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-prefix]',\r\n standalone: true,\r\n})\r\nexport class SolarisPrefixDirective {\r\n @HostBinding('attr.solaris-prefix') readonly attr = '';\r\n}\r\n","import { Directive } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[solaris-suffix]',\r\n standalone: true\r\n})\r\nexport class SolarisSuffixDirective {}\r\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\r\n\r\nimport { SolarisTranslationParams, SolarisTranslationPipe } from '@educarehq/solaris-services';\r\n\r\n@Component({\r\n selector: 'solaris-field-error',\r\n standalone: true,\r\n imports: [SolarisTranslationPipe],\r\n templateUrl: './field-error.html',\r\n styleUrls: ['./field-error.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FieldErrorComponent {\r\n @Input() public text?: string;\r\n @Input() public textKey?: string;\r\n @Input() public textParams?: SolarisTranslationParams;\r\n}\r\n","<div class=\"solaris-field-error\" role=\"alert\" aria-live=\"polite\">\r\n <span class=\"solaris-field-error__text\">\r\n @if (textKey) { {{ textKey | translate:textParams }} }\r\n @else { {{ text }} }\r\n </span>\r\n</div>\r\n","import { ChangeDetectionStrategy, Component, ContentChild, Input, computed, effect, inject, signal } from '@angular/core';\r\nimport { merge } from 'rxjs';\r\n\r\nimport { SOLARIS_FORM_FIELD_CONTROLLER } from '../tokens/form-field-controller.token';\r\nimport { PasswordToggle } from '../../input-text/password-toggle/password-toggle';\r\nimport { SolarisFormFieldController } from '../controller/form-field-controller';\r\nimport { SolarisPrefixDirective } from '../directives/solaris-prefix.directive';\r\nimport { SolarisSuffixDirective } from '../directives/solaris-suffix.directive';\r\nimport { SolarisTranslationPipe } from '@educarehq/solaris-services';\r\nimport { FieldErrorComponent } from '../messages/error/field-error';\r\n\r\n@Component({\r\n selector: 'solaris-form-field',\r\n standalone: true,\r\n imports: [PasswordToggle, FieldErrorComponent, SolarisTranslationPipe],\r\n templateUrl: './form-field.html',\r\n styleUrls: ['./form-field.scss'],\r\n providers: [\r\n SolarisFormFieldController,\r\n { provide: SOLARIS_FORM_FIELD_CONTROLLER, useExisting: SolarisFormFieldController },\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class FormField {\r\n protected readonly field = inject(SolarisFormFieldController);\r\n @ContentChild(SolarisPrefixDirective) prefix?: SolarisPrefixDirective;\r\n @ContentChild(SolarisSuffixDirective) suffix?: SolarisSuffixDirective;\r\n\r\n @Input() public hint?: string = '';\r\n @Input() public label?: string = '';\r\n @Input() public hintKey?: string = '';\r\n @Input() public labelKey?: string = '';\r\n @Input() public invalid: boolean | null = null;\r\n @Input() public showErrors: 'dirtyOrTouched' | 'always' | 'submitted' = 'dirtyOrTouched';\r\n private readonly _tick = signal(0);\r\n\r\n constructor() {\r\n effect((onCleanup) => {\r\n const ac = this.field.control()?.control;\r\n if (!ac) return;\r\n\r\n const sub = merge(ac.statusChanges, ac.valueChanges).subscribe(() => {\r\n this._tick.update(v => v + 1);\r\n });\r\n\r\n onCleanup(() => sub.unsubscribe());\r\n });\r\n }\r\n\r\n get hasPrefix(): boolean { return !!this.prefix; }\r\n get hasSuffix(): boolean { return !!this.suffix; }\r\n\r\n private getDirectErrorKey(errors: Record<string, any>): string {\r\n if (errors['required']) return 'ui.solaris.validation.required';\r\n if (errors['email'] || errors['solarisEmail']) return 'ui.solaris.validation.email';\r\n return '';\r\n }\r\n\r\n private getPasswordErrorKey(bag: any): string {\r\n if (bag?.minLength) return 'ui.solaris.validation.password.minLength';\r\n if (bag?.uppercase) return 'ui.solaris.validation.password.uppercase';\r\n if (bag?.lowercase) return 'ui.solaris.validation.password.lowercase';\r\n if (bag?.number) return 'ui.solaris.validation.password.number';\r\n if (bag?.special) return 'ui.solaris.validation.password.special';\r\n return 'ui.solaris.validation.password.invalid';\r\n }\r\n\r\n readonly showPasswordToggle = computed(() => !!this.field.password());\r\n\r\n readonly invalidComputed = computed(() => {\r\n this._tick();\r\n if (this.invalid !== null) return this.invalid;\r\n const c = this.field.control();\r\n if (!c) return false;\r\n if (this.showErrors === 'always') return !!c.invalid;\r\n if (this.showErrors === 'submitted') return !!(c.invalid && this.field.submitted());\r\n return !!(c.invalid && (c.touched || c.dirty));\r\n });\r\n\r\n readonly errorParams = computed(() => {\r\n this._tick();\r\n if (!this.invalidComputed()) return undefined;\r\n\r\n const errors = this.field.control()?.errors;\r\n if (!errors) return undefined;\r\n\r\n const bag = errors['solarisPassword'];\r\n if (bag?.minLength) return { requiredLength: bag.minLength.requiredLength };\r\n\r\n return undefined;\r\n });\r\n\r\n readonly errorKey = computed(() => {\r\n this._tick();\r\n if (!this.invalidComputed()) return '';\r\n\r\n const errors = this.field.control()?.errors;\r\n if (!errors) return '';\r\n\r\n const direct = this.getDirectErrorKey(errors);\r\n if (direct) return direct;\r\n\r\n if (errors['solarisPassword']) return this.getPasswordErrorKey(errors['solarisPassword']);\r\n\r\n return 'solaris.validation.invalid';\r\n });\r\n}\r\n","<div class=\"solaris-form-field\" [class.solaris-form-field--has-prefix]=\"hasPrefix\"\r\n [attr.data-invalid]=\"invalidComputed() ? 'true' : null\">\r\n @if ((label || labelKey)) {\r\n <label class=\"solaris-form-field__label\">\r\n @if (labelKey) { {{ labelKey | translate }} }\r\n @else if (label) { {{ label }} }\r\n </label>\r\n }\r\n\r\n <div class=\"solaris-form-field__frame\">\r\n @if (hasPrefix) {\r\n <span class=\"solaris-form-field__prefix\" aria-hidden=\"true\">\r\n <ng-content select=\"[solaris-prefix]\"></ng-content>\r\n </span>\r\n }\r\n\r\n <div class=\"solaris-form-field__body\">\r\n <div class=\"solaris-form-field__control-slot\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n @if (hasSuffix || showPasswordToggle() || invalidComputed()) {\r\n <span class=\"solaris-form-field__suffix\">\r\n <ng-content select=\"[solaris-suffix]\"></ng-content>\r\n\r\n @if (showPasswordToggle()) {\r\n <solaris-password-toggle></solaris-password-toggle>\r\n }\r\n\r\n @if (invalidComputed()) {\r\n <span class=\"solaris-form-field__status\" aria-hidden=\"true\">\r\n <i class=\"ph ph-warning-circle\"></i>\r\n </span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n\r\n @if (errorKey()) {\r\n <solaris-field-error [textKey]=\"errorKey()\" [textParams]=\"errorParams()\"></solaris-field-error>\r\n } @else {\r\n <ng-content select=\"[form-field-message]\"></ng-content>\r\n }\r\n\r\n @if (hint || hintKey) {\r\n <div class=\"solaris-form-field__hint\">\r\n @if (hintKey) { {{ hintKey | translate }} }\r\n @else { {{ hint }} }\r\n </div>\r\n }\r\n</div>\r\n","/// <reference path=\"./typings/intl-tel-input-utils.d.ts\" />\r\n\r\nexport * from './lib/navigations/navigations.index';\r\nexport * from './lib/feedbacks/feedbacks.index';\r\nexport * from './lib/layouts/layouts.index';\r\nexport * from './lib/buttons/button.index';\r\nexport * from './lib/forms/forms.index';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.SolarisTabs","coerceBoolean"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@educarehq/solaris-components",
3
- "version": "0.1.8",
3
+ "version": "0.2.0",
4
4
  "peerDependencies": {
5
5
  "@angular/core": "^21.1.0",
6
6
  "intl-tel-input": "^26.0.9",