@lucca-front/ng 21.3.1-rc.1 → 21.3.1-rc.3

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.
Files changed (99) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +6 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +3 -0
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  6. package/fesm2022/lucca-front-ng-box.mjs +1 -1
  7. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +3 -0
  9. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-callout.mjs +3 -0
  11. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-chip.mjs +5 -0
  13. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-core-select-department.mjs +18 -11
  15. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-core-select-user.mjs +4 -0
  17. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-core-select.mjs +9 -0
  19. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-core.mjs +36 -1
  21. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-data-table.mjs +16 -9
  23. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-date.mjs +10 -0
  25. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-date2.mjs +2 -2
  27. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-department.mjs +3 -0
  29. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-dialog.mjs +4 -1
  31. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-establishment.mjs +3 -0
  33. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-file-upload.mjs +35 -9
  35. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-filter-pills.mjs +5 -0
  37. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-form-field.mjs +3 -0
  39. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-form-label.mjs +39 -30
  41. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +75 -15
  43. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-forms.mjs +22 -3
  45. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-highlight-data.mjs +2 -0
  47. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-index-table.mjs +2 -2
  49. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-input.mjs +4 -2
  51. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-link.mjs +32 -13
  53. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-mobile-push.mjs +9 -0
  55. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-modal.mjs +6 -1
  57. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-multi-select.mjs +23 -2
  59. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-option.mjs +12 -0
  61. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-pagination.mjs +7 -1
  63. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-plg-push.mjs +4 -1
  65. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-popover.mjs +2 -1
  67. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-popover2.mjs +7 -3
  69. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-read-more.mjs +4 -0
  71. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-scroll.mjs +5 -2
  73. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-simple-select.mjs +10 -2
  75. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  77. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-sortable-list.mjs +4 -3
  79. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-time.mjs +59 -43
  81. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-title.mjs +7 -3
  83. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-toast.mjs +3 -0
  85. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-tooltip.mjs +2 -1
  87. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-user.mjs +7 -0
  89. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  90. package/package.json +4 -4
  91. package/schematics/lu-grid/migration.js +31 -58
  92. package/schematics/lu-grid/migration.utils.js +60 -0
  93. package/types/lucca-front-ng-core-select-department.d.ts +10 -9
  94. package/types/lucca-front-ng-core.d.ts +20 -1
  95. package/types/lucca-front-ng-file-upload.d.ts +3 -1
  96. package/types/lucca-front-ng-highlight-data.d.ts +1 -1
  97. package/types/lucca-front-ng-input.d.ts +2 -1
  98. package/types/lucca-front-ng-sortable-list.d.ts +2 -1
  99. package/types/lucca-front-ng-title.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-form-field.mjs","sources":["../../../packages/ng/form-field/form-field-size.ts","../../../packages/ng/form-field/form-field.type.ts","../../../packages/ng/form-field/form-field.token.ts","../../../packages/ng/form-field/translations.ts","../../../packages/ng/form-field/form-field.translate.ts","../../../packages/ng/form-field/form-field.component.ts","../../../packages/ng/form-field/form-field.component.html","../../../packages/ng/form-field/input-framed/input-framed.type.ts","../../../packages/ng/form-field/input-framed/input-framed.token.ts","../../../packages/ng/form-field/input-framed/input-framed.component.ts","../../../packages/ng/form-field/input-framed/input-framed.component.html","../../../packages/ng/form-field/input.directive.ts","../../../packages/ng/form-field/value-presentation/data-presentation/data-presentation.component.ts","../../../packages/ng/form-field/value-presentation/data-presentation/data-presentation.component.html","../../../packages/ng/form-field/value-presentation/presentation-display.directive.ts","../../../packages/ng/form-field/value-presentation/presentation-display-default.directive.ts","../../../packages/ng/form-field/lucca-front-ng-form-field.ts"],"sourcesContent":["export const FORM_FIELD_SIZE = ['XS', 'S', 'M'] as const;\nexport type FormFieldSize = (typeof FORM_FIELD_SIZE)[number];\n","/**\n * Available FormFieldComponent types\n */\n\nexport const FORM_FIELD_WIDTH = [20, 30, 40, 50, 60] as const;\nexport type FormFieldWidth = (typeof FORM_FIELD_WIDTH)[number];\n\nexport const FORM_FIELD_LAYOUT = ['default', 'checkable', 'fieldset'] as const;\nexport type FormFieldLayout = (typeof FORM_FIELD_LAYOUT)[number];\n","import { InjectionToken } from '@angular/core';\nimport { FormFieldComponent } from './form-field.component';\n\nexport const FORM_FIELD_INSTANCE = new InjectionToken<FormFieldComponent>('FORM_FIELD_INSTANCE');\n","export const Translations = {\n\tpt: {\n\t\tcounter: '{{current}} {{max}} A sua publicação tem um comprimento de caracteres, sendo permitido um máximo de caracteres.',\n\t},\n\tes: {\n\t\tcounter: 'Su publicación tiene {{current}} caracteres. Se permite un máximo de {{max}} caracteres.',\n\t},\n\t'nl-BE': {\n\t\tcounter: 'Uw publicatie is {{current}} tekens lang. {{max}} tekens maximaal toegestaan.',\n\t},\n\tnl: {\n\t\tcounter: 'Uw publicatie is {{current}} tekens lang. {{max}} tekens maximaal toegestaan.',\n\t},\n\tit: {\n\t\tcounter: 'La tua pubblicazione è lunga {{current}} caratteri. È consentito un numero di massimo {{max}} caratteri.',\n\t},\n\tde: {\n\t\tcounter: 'Ihr Beitrag ist {{current}} Zeichen lang. Maximal sind {{max}} Zeichen erlaubt.',\n\t},\n\tfr: {\n\t\tcounter: 'Votre publication fait {{current}} caractères de long. {{max}} caractères maximum sont autorisés.',\n\t},\n\ten: {\n\t\tcounter: 'Your message is {{current}} characters long. A maximum of {{max}} characters is allowed.',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FORM_FIELD_TRANSLATIONS = new InjectionToken('LuFormFieldTranslations', {\n\tfactory: () => luFormFieldTranslations,\n});\n\nexport interface LuFormFieldTranslations {\n\tcounter: string;\n}\n\nexport const luFormFieldTranslations: LuTranslation<LuFormFieldTranslations> = Translations;\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tDoCheck,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tmodel,\n\tnumberAttribute,\n\tOnDestroy,\n\tRenderer2,\n\tsignal,\n\tTemplateRef,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, NgControl, ReactiveFormsModule, RequiredValidator, Validators } from '@angular/forms';\nimport { FormField } from '@angular/forms/signals';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { intlInputOptions, LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LU_FORM_INSTANCE } from '@lucca-front/ng/form';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { InlineMessageComponent, InlineMessageState } from '@lucca-front/ng/inline-message';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BehaviorSubject } from 'rxjs';\nimport { FormFieldSize } from './form-field-size';\nimport { FormFieldLayout, FormFieldWidth } from './form-field.type';\nimport { FORM_FIELD_INSTANCE } from './form-field.token';\nimport { LU_FORM_FIELD_TRANSLATIONS } from './form-field.translate';\nimport { InputDirective } from './input.directive';\nimport { INPUT_FRAMED_INSTANCE } from './public-api';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-form-field',\n\timports: [NgTemplateOutlet, InlineMessageComponent, LuTooltipModule, ReactiveFormsModule, IconComponent, PortalDirective, FormLabelComponent],\n\ttemplateUrl: './form-field.component.html',\n\tstyleUrl: './form-field.component.scss',\n\tproviders: [\n\t\tLuClass,\n\t\t{\n\t\t\tprovide: FORM_FIELD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => FormFieldComponent),\n\t\t},\n\t],\n\thost: {\n\t\t'[class.inputFramed-header-field]': 'framed',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldComponent implements OnDestroy, DoCheck {\n\treadonly intl = input(...intlInputOptions(LU_FORM_FIELD_TRANSLATIONS));\n\n\t#luClass = inject(LuClass);\n\t#injector = inject(Injector);\n\t#renderer = inject(Renderer2);\n\tprotected parentForm = inject(LU_FORM_INSTANCE, { optional: true });\n\n\tframed = inject(INPUT_FRAMED_INSTANCE, { optional: true }) !== null;\n\n\treadonly formFieldChildren = contentChildren(FormFieldComponent, { descendants: true });\n\n\treadonly requiredValidators = contentChildren(RequiredValidator, { descendants: true });\n\treadonly ngControls = contentChildren(NgControl, { descendants: true });\n\treadonly ngFormFields = contentChildren(FormField, { descendants: true });\n\n\treadonly ignoredRequiredValidators = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.requiredValidators())));\n\treadonly ignoredControls = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.ngControls())));\n\treadonly ignoredFormFields = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.ngFormFields())));\n\n\treadonly ownRequiredValidators = computed(() => this.requiredValidators().filter((c) => !this.ignoredRequiredValidators().has(c)));\n\treadonly ownControls = computed(() => this.ngControls().filter((c) => !this.ignoredControls().has(c)));\n\treadonly ownFormFields = computed(() => this.ngFormFields().filter((c) => !this.ignoredFormFields().has(c)));\n\n\t#hasInputRequired = signal(false);\n\tforceInputRequired = signal(false);\n\treadonly isInputRequired = computed(() => this.forceInputRequired() || this.#hasInputRequired());\n\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Hide field label, while keeping it in DOM for screen readers\n\t */\n\treadonly hiddenLabel = input(false, { transform: booleanAttribute });\n\n\trolePresentationLabel = model(false);\n\n\tlabelIsPresentation = computed(() => this.rolePresentationLabel() || this.presentation());\n\n\treadonly inline = input(false, { transform: booleanAttribute });\n\n\treadonly statusControl = input<AbstractControl | null>(null);\n\n\treadonly tooltip = input<string | SafeHtml | null>(null);\n\n\treadonly tag = input<string | null>(null);\n\n\treadonly AI = input(false, { transform: booleanAttribute });\n\treadonly iconAItooltip = input<string | null>(null);\n\treadonly iconAIalt = input<string | null>(null);\n\n\treadonly width = input<FormFieldWidth, FormFieldWidth | `${FormFieldWidth}` | null>(null, {\n\t\ttransform: numberAttribute as (value: FormFieldWidth | `${FormFieldWidth}`) => FormFieldWidth,\n\t});\n\n\t#invalidStatus = signal(false);\n\tinvalidStatus = this.#invalidStatus.asReadonly();\n\n\tinvalid = input<boolean | null, boolean>(null, { transform: booleanAttribute });\n\n\treadonly inlineMessage = input<PortalContent | null>(null);\n\n\t/**\n\t * Inline message for when the control is in error state\n\t */\n\treadonly errorInlineMessage = input<PortalContent | null>(null);\n\n\t/**\n\t * State of the inline message, will be ignored if form state is invalid\n\t */\n\treadonly inlineMessageState = input<InlineMessageState | null>(null);\n\n\treadonly size = input<FormFieldSize | null>(null);\n\n\t/**\n\t * Extra aria-describedby attribute\n\t */\n\treadonly extraDescribedBy = input<string>('');\n\n\treadonly layout = model<FormFieldLayout>('default');\n\n\t#inputs: InputDirective[] = [];\n\n\t/**\n\t * Max amount of characters allowed, defaults to 0, which means hidden, no maximum\n\t */\n\treadonly counter = input<number>(0);\n\n\treadonly contentLength = signal<number>(0);\n\n\treadonly presentation = input(false, { transform: booleanAttribute });\n\n\treadonly presentationMode = computed(() => this.parentForm?.presentation() || this.presentation());\n\n\treadonly presentationDisplayTpl = signal<TemplateRef<unknown> | null>(null);\n\n\tpublic addInput(input: InputDirective) {\n\t\tthis.#inputs.push(input);\n\t\t/* We have to put this in the next cycle to make sure it'll be applied properly\n\t\t * and that it won't trigger a change detection error\n\t\t */\n\t\tsetTimeout(() => {\n\t\t\tthis.prepareInput();\n\t\t});\n\t}\n\n\tpublic get inputs(): InputDirective[] {\n\t\treturn this.#inputs;\n\t}\n\n\tid = signal<string>('');\n\n\tready$ = new BehaviorSubject<boolean>(false);\n\n\tpublic get ready(): boolean {\n\t\treturn this.ready$.value;\n\t}\n\n\t#ariaLabelledBy: string[] = [];\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.isInputRequired, this.invalidStatus, this.extraDescribedBy], () => {\n\t\t\tthis.updateAria();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t\t'form-field': this.layout() !== 'fieldset' && !this.presentationMode(),\n\t\t\t\t[`mod-width${this.width()}`]: !!this.width(),\n\t\t\t});\n\t\t});\n\t}\n\n\taddLabelledBy(id: string, prepend = false): void {\n\t\tif (prepend) {\n\t\t\tthis.#ariaLabelledBy = [id, ...this.#ariaLabelledBy];\n\t\t} else {\n\t\t\tthis.#ariaLabelledBy = [...this.#ariaLabelledBy, id];\n\t\t}\n\t\tthis.#inputs.forEach((input) => {\n\t\t\tif (!input.standalone) {\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-labelledby', this.#ariaLabelledBy.join(' '));\n\t\t\t}\n\t\t});\n\t}\n\n\tremoveLabelledBy(id: string): void {\n\t\tthis.#ariaLabelledBy = this.#ariaLabelledBy.filter((labelledBy) => labelledBy !== id);\n\t}\n\n\tprepareInput(): void {\n\t\tif (this.#inputs.length === 0) {\n\t\t\tthrow new Error('Missing input for form field, make sure to set `luInput` to your input inside lu-form-field');\n\t\t}\n\t\tthis.inputs\n\t\t\t.filter((input) => !input.standalone)\n\t\t\t.forEach((input) => {\n\t\t\t\tconst inputId = `${input.host.nativeElement.tagName.toLowerCase()}-${++nextId}`;\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'id', inputId);\n\t\t\t});\n\t\t// We're using the id from the first input available\n\t\tthis.id.set(this.#inputs[0].host.nativeElement.id);\n\t\tthis.updateAria();\n\t\tthis.ready$.next(true);\n\t}\n\n\tprivate updateAria(): void {\n\t\tthis.#inputs.forEach((input) => {\n\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-invalid', this.invalidStatus()?.toString());\n\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-required', this.isInputRequired()?.toString());\n\t\t\tif (!input.standalone) {\n\t\t\t\tlet ariaDescribedBy = `${input.host.nativeElement.id}-message`;\n\t\t\t\tif (this.extraDescribedBy()) {\n\t\t\t\t\tariaDescribedBy += ` ${this.extraDescribedBy()}`;\n\t\t\t\t}\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-describedby', ariaDescribedBy);\n\t\t\t}\n\t\t});\n\t\tif (this.id() && !this.#ariaLabelledBy.includes(`${this.id()}-label`)) {\n\t\t\tthis.addLabelledBy(`${this.id()}-label`);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.ready$.complete();\n\t}\n\n\tngDoCheck(): void {\n\t\tafterNextRender(\n\t\t\t() => {\n\t\t\t\tthis.#hasInputRequired.set(this.#isInputRequired());\n\t\t\t\tthis.#invalidStatus.set(this.#hasInvalidStatus());\n\t\t\t\tthis.contentLength.set((this.#inputs[0]?.host?.nativeElement as HTMLInputElement)?.value?.length ?? 0);\n\t\t\t},\n\t\t\t{\n\t\t\t\tinjector: this.#injector,\n\t\t\t},\n\t\t);\n\t}\n\n\t#isInputRequired(): boolean {\n\t\tconst hasRequiredFormControl = this.ownControls().some((c) => c.control?.hasValidator(Validators.required));\n\t\tconst hasRequiredNgModel = this.ownRequiredValidators().some((c) => booleanAttribute(c.required));\n\t\tconst hasRequiredFormField = this.ownFormFields().some((c) => c.state().required());\n\t\treturn hasRequiredFormField || hasRequiredNgModel || hasRequiredFormControl;\n\t}\n\n\t#hasInvalidStatus(): boolean {\n\t\tconst isInvalidOverride = this.invalid() !== undefined && this.invalid() !== null;\n\t\tif (isInvalidOverride) {\n\t\t\treturn this.invalid();\n\t\t}\n\t\tconst statusControlOverride = this.statusControl();\n\t\tif (statusControlOverride) {\n\t\t\treturn statusControlOverride.invalid && this.ownControls().some((c) => c?.touched);\n\t\t}\n\t\treturn this.ownControls().some((c) => c.invalid && c.touched);\n\t}\n}\n","@if (presentationMode()) {\n\t<dl class=\"presentation\">\n\t\t<ng-container *ngTemplateOutlet=\"inputLayoutTpl\" />\n\t</dl>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"inputLayoutTpl\" />\n}\n\n<ng-template #inputLayoutTpl>\n\t@if (layout() === \"fieldset\" && !presentationMode()) {\n\t\t<fieldset class=\"form-fieldset\" [class.mod-inline]=\"inline()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<legend\n\t\t\t\tluFormLabel\n\t\t\t\t[tooltip]=\"tooltip()\"\n\t\t\t\t[tag]=\"tag()\"\n\t\t\t\t[required]=\"isInputRequired()\"\n\t\t\t\t[class.pr-u-mask]=\"hiddenLabel()\"\n\t\t\t\t[attr.aria-hidden]=\"hiddenLabel()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t\t</legend>\n\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t@if (inlineMessage() || (invalidStatus() ? errorInlineMessage() : false)) {\n\t\t\t\t<lu-inline-message\n\t\t\t\t\tid=\"{{ id() }}-message\"\n\t\t\t\t\t[label]=\"invalidStatus() && errorInlineMessage() ? errorInlineMessage() : inlineMessage()\"\n\t\t\t\t\t[state]=\"invalidStatus() ? 'error' : inlineMessageState()\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</fieldset>\n\t} @else {\n\t\t@if (presentationMode()) {\n\t\t\t<dt class=\"presentation-term\">\n\t\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t\t\t@if (tooltip()) {\n\t\t\t\t\t<lu-icon class=\"presentation-term-info\" icon=\"signHelp\" [alt]=\"'?'\" [luTooltip]=\"tooltip()\" />\n\t\t\t\t}\n\n\t\t\t\t@if (tag()) {\n\t\t\t\t\t<span class=\"formLabel-tag tag\">{{ tag() }}</span>\n\t\t\t\t}\n\t\t\t</dt>\n\n\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t} @else {\n\t\t\t<label\n\t\t\t\tluFormLabel\n\t\t\t\t[counterStatus]=\"contentLength()\"\n\t\t\t\t[counterMax]=\"counter()\"\n\t\t\t\t[error]=\"invalidStatus()\"\n\t\t\t\t[tag]=\"tag()\"\n\t\t\t\t[tooltip]=\"tooltip()\"\n\t\t\t\t[required]=\"isInputRequired()\"\n\t\t\t\t[counterId]=\"`${id()}-counter`\"\n\t\t\t\t[attr.id]=\"`${id()}-label`\"\n\t\t\t\t[attr.for]=\"id()\"\n\t\t\t\t[attr.role]=\"rolePresentationLabel() ? 'presentation' : null\"\n\t\t\t\t[class.pr-u-mask]=\"hiddenLabel()\"\n\t\t\t\t[class.inputFramed-header-label]=\"framed\"\n\t\t\t>\n\t\t\t\t<span><ng-container *luPortal=\"label()\" /></span>\n\t\t\t</label>\n\t\t\t@if (AI()) {\n\t\t\t\t<div class=\"form-field-contentOptional\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t\t\t<lu-icon\n\t\t\t\t\t\tclass=\"pr-u-focusVisible pr-u-borderRadiusSmall\"\n\t\t\t\t\t\t[luTooltip]=\"iconAItooltip()\"\n\t\t\t\t\t\tsize=\"S\"\n\t\t\t\t\t\tAI\n\t\t\t\t\t\ticon=\"weatherStars\"\n\t\t\t\t\t\t[alt]=\"iconAIalt()\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t} @else {\n\t\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t}\n\t\t\t@if (inlineMessage() || (invalidStatus() ? errorInlineMessage() : false)) {\n\t\t\t\t<lu-inline-message\n\t\t\t\t\tid=\"{{ id() }}-message\"\n\t\t\t\t\t[label]=\"invalidStatus() && errorInlineMessage() ? errorInlineMessage() : inlineMessage()\"\n\t\t\t\t\t[state]=\"invalidStatus() ? 'error' : inlineMessageState()\"\n\t\t\t\t/>\n\t\t\t}\n\t\t}\n\t}\n</ng-template>\n\n<ng-template #projectionTpl>\n\t@if (presentationMode() && presentationDisplayTpl()) {\n\t\t<dd class=\"presentation-definition\">\n\t\t\t<ng-container *ngTemplateOutlet=\"presentationDisplayTpl()\" />\n\t\t</dd>\n\t} @else {\n\t\t<ng-content />\n\t}\n</ng-template>\n","/**\n * Available InputFramedComponent sizes\n */\n\nexport const INPUT_FRAMED_SIZE = ['L'] as const;\nexport type InputFramedSize = (typeof INPUT_FRAMED_SIZE)[number];\n","import { InjectionToken } from '@angular/core';\nimport { InputFramedComponent } from './input-framed.component';\n\nexport const INPUT_FRAMED_INSTANCE = new InjectionToken<InputFramedComponent>('INPUT_FRAMED_INSTANCE');\n","import { booleanAttribute, ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { InputFramedSize } from './input-framed.type';\nimport { INPUT_FRAMED_INSTANCE } from './input-framed.token';\n\n@Component({\n\tselector: 'lu-input-framed',\n\timports: [PortalDirective],\n\ttemplateUrl: './input-framed.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [\n\t\t{\n\t\t\tprovide: INPUT_FRAMED_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => InputFramedComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputFramedComponent {\n\treadonly framedPortal = input<PortalContent | null>(null);\n\treadonly center = input(false, { transform: booleanAttribute });\n\treadonly size = input<InputFramedSize | null>(null);\n}\n","<div class=\"inputFramed\" [class.mod-center]=\"center()\" [class.mod-L]=\"size() === 'L'\">\n\t<div class=\"inputFramed-header\">\n\t\t<div class=\"form-field inputFramed-header-field\">\n\t\t\t<ng-content />\n\t\t</div>\n\t\t<div class=\"inputFramed-header-illustration\"><ng-content select=\"[illustration]\" /></div>\n\t\t<div class=\"inputFramed-header-info\"><ng-content select=\"[info]\" /></div>\n\t</div>\n\t@if (framedPortal()) {\n\t\t<div class=\"inputFramed-content\"><ng-container *luPortal=\"framedPortal()\" /></div>\n\t}\n</div>\n","import { booleanAttribute, Directive, ElementRef, inject, Input, OnInit } from '@angular/core';\nimport { FORM_FIELD_INSTANCE } from './form-field.token';\n\n@Directive({\n\tselector: '[luInput]',\n\thost: {\n\t\t// Used to autofocus in dialog boxes, do not change except if you know what you're doing\n\t\tclass: 'luNativeInput',\n\t},\n})\nexport class InputDirective implements OnInit {\n\tpublic readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly formFieldRef = inject(FORM_FIELD_INSTANCE, { optional: true });\n\n\t/**\n\t * Prevents message and label ids from being propagated, useful if the input holds its own message and label (like for radios)\n\t */\n\t@Input({ transform: booleanAttribute, alias: 'luInputStandalone' })\n\tstandalone = false;\n\n\tngOnInit(): void {\n\t\t// If the field is used as standalone, we won't have the ref provided so it'll crash\n\t\tif (this.formFieldRef) {\n\t\t\tthis.formFieldRef.addInput(this);\n\t\t}\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-data-presentation',\n\timports: [PortalDirective],\n\ttemplateUrl: './data-presentation.component.html',\n\tstyleUrl: './data-presentation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataPresentationComponent {\n\treadonly label = input.required<PortalContent>();\n\treadonly noValue = input(false, { transform: booleanAttribute });\n\treadonly size = input<'S' | null>(null);\n}\n","<dl class=\"presentation\" [class.mod-S]=\"size() === 'S'\">\n\t<dt class=\"presentation-term\">\n\t\t<ng-container *luPortal=\"label()\" />\n\t</dt>\n\t<dd class=\"presentation-definition\">\n\t\t@if (noValue()) {\n\t\t\t<div aria-hidden=\"true\" data-content-before=\"–\"></div>\n\t\t}\n\t\t<ng-content />\n\t</dd>\n</dl>\n","import { Directive, inject, OnInit, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { FormFieldComponent } from '../form-field.component';\n\n@Directive({\n\tselector: '[luPresentationDisplay]',\n})\nexport class PresentationDisplayDirective implements OnInit {\n\t#formFieldRef = inject(FormFieldComponent, { optional: true });\n\n\tpublic readonly templateRef: TemplateRef<unknown> = inject(TemplateRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\tdefaultDisplay = signal(false);\n\n\tngOnInit() {\n\t\tif (this.#formFieldRef) {\n\t\t\t// If it's default display, we do not override the existing value, this way consumers can override easily without any kind of race condition.\n\t\t\tif (!this.#formFieldRef.presentationDisplayTpl() || !this.defaultDisplay()) {\n\t\t\t\tthis.#formFieldRef.presentationDisplayTpl.set(this.templateRef);\n\t\t\t}\n\t\t}\n\t\tthis.#vcr.clear();\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: PresentationDisplayDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { PresentationDisplayDirective } from './presentation-display.directive';\n\n@Directive({\n\tselector: '[luPresentationDisplayDefault]',\n\thostDirectives: [PresentationDisplayDirective],\n})\nexport class ɵPresentationDisplayDefaultDirective {\n\t#displayDirectiveRef = inject(PresentationDisplayDirective);\n\n\tconstructor() {\n\t\tthis.#displayDirectiveRef.defaultDisplay.set(true);\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: ɵPresentationDisplayDefaultDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps","i1.PresentationDisplayDirective"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-form-field.mjs","sources":["../../../packages/ng/form-field/form-field-size.ts","../../../packages/ng/form-field/form-field.type.ts","../../../packages/ng/form-field/form-field.token.ts","../../../packages/ng/form-field/translations.ts","../../../packages/ng/form-field/form-field.translate.ts","../../../packages/ng/form-field/form-field.component.ts","../../../packages/ng/form-field/form-field.component.html","../../../packages/ng/form-field/input-framed/input-framed.type.ts","../../../packages/ng/form-field/input-framed/input-framed.token.ts","../../../packages/ng/form-field/input-framed/input-framed.component.ts","../../../packages/ng/form-field/input-framed/input-framed.component.html","../../../packages/ng/form-field/input.directive.ts","../../../packages/ng/form-field/value-presentation/data-presentation/data-presentation.component.ts","../../../packages/ng/form-field/value-presentation/data-presentation/data-presentation.component.html","../../../packages/ng/form-field/value-presentation/presentation-display.directive.ts","../../../packages/ng/form-field/value-presentation/presentation-display-default.directive.ts","../../../packages/ng/form-field/lucca-front-ng-form-field.ts"],"sourcesContent":["export const FORM_FIELD_SIZE = ['XS', 'S', 'M'] as const;\nexport type FormFieldSize = (typeof FORM_FIELD_SIZE)[number];\n","/**\n * Available FormFieldComponent types\n */\n\nexport const FORM_FIELD_WIDTH = [20, 30, 40, 50, 60] as const;\nexport type FormFieldWidth = (typeof FORM_FIELD_WIDTH)[number];\n\nexport const FORM_FIELD_LAYOUT = ['default', 'checkable', 'fieldset'] as const;\nexport type FormFieldLayout = (typeof FORM_FIELD_LAYOUT)[number];\n","import { InjectionToken } from '@angular/core';\nimport { FormFieldComponent } from './form-field.component';\n\nexport const FORM_FIELD_INSTANCE = new InjectionToken<FormFieldComponent>('FORM_FIELD_INSTANCE');\n","export const Translations = {\n\tpt: {\n\t\tcounter: '{{current}} {{max}} A sua publicação tem um comprimento de caracteres, sendo permitido um máximo de caracteres.',\n\t},\n\tes: {\n\t\tcounter: 'Su publicación tiene {{current}} caracteres. Se permite un máximo de {{max}} caracteres.',\n\t},\n\t'nl-BE': {\n\t\tcounter: 'Uw publicatie is {{current}} tekens lang. {{max}} tekens maximaal toegestaan.',\n\t},\n\tnl: {\n\t\tcounter: 'Uw publicatie is {{current}} tekens lang. {{max}} tekens maximaal toegestaan.',\n\t},\n\tit: {\n\t\tcounter: 'La tua pubblicazione è lunga {{current}} caratteri. È consentito un numero di massimo {{max}} caratteri.',\n\t},\n\tde: {\n\t\tcounter: 'Ihr Beitrag ist {{current}} Zeichen lang. Maximal sind {{max}} Zeichen erlaubt.',\n\t},\n\tfr: {\n\t\tcounter: 'Votre publication fait {{current}} caractères de long. {{max}} caractères maximum sont autorisés.',\n\t},\n\ten: {\n\t\tcounter: 'Your message is {{current}} characters long. A maximum of {{max}} characters is allowed.',\n\t},\n\tpl: {\n\t\tcounter: 'Publikacja ma długość {{current}} znaków. Dozwolona jest maksymalna długość {{max}} znaków.',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FORM_FIELD_TRANSLATIONS = new InjectionToken('LuFormFieldTranslations', {\n\tfactory: () => luFormFieldTranslations,\n});\n\nexport interface LuFormFieldTranslations {\n\tcounter: string;\n}\n\nexport const luFormFieldTranslations: LuTranslation<LuFormFieldTranslations> = Translations;\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tDoCheck,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tmodel,\n\tnumberAttribute,\n\tOnDestroy,\n\tRenderer2,\n\tsignal,\n\tTemplateRef,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { AbstractControl, NgControl, ReactiveFormsModule, RequiredValidator, Validators } from '@angular/forms';\nimport { FormField } from '@angular/forms/signals';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { intlInputOptions, LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LU_FORM_INSTANCE } from '@lucca-front/ng/form';\nimport { FormLabelComponent } from '@lucca-front/ng/form-label';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { InlineMessageComponent, InlineMessageState } from '@lucca-front/ng/inline-message';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { BehaviorSubject } from 'rxjs';\nimport { FormFieldSize } from './form-field-size';\nimport { FormFieldLayout, FormFieldWidth } from './form-field.type';\nimport { FORM_FIELD_INSTANCE } from './form-field.token';\nimport { LU_FORM_FIELD_TRANSLATIONS } from './form-field.translate';\nimport { InputDirective } from './input.directive';\nimport { INPUT_FRAMED_INSTANCE } from './public-api';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-form-field',\n\timports: [NgTemplateOutlet, InlineMessageComponent, LuTooltipModule, ReactiveFormsModule, IconComponent, PortalDirective, FormLabelComponent],\n\ttemplateUrl: './form-field.component.html',\n\tstyleUrl: './form-field.component.scss',\n\tproviders: [\n\t\tLuClass,\n\t\t{\n\t\t\tprovide: FORM_FIELD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => FormFieldComponent),\n\t\t},\n\t],\n\thost: {\n\t\t'[class.inputFramed-header-field]': 'framed',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FormFieldComponent implements OnDestroy, DoCheck {\n\treadonly intl = input(...intlInputOptions(LU_FORM_FIELD_TRANSLATIONS));\n\n\t#luClass = inject(LuClass);\n\t#injector = inject(Injector);\n\t#renderer = inject(Renderer2);\n\tprotected parentForm = inject(LU_FORM_INSTANCE, { optional: true });\n\n\tframed = inject(INPUT_FRAMED_INSTANCE, { optional: true }) !== null;\n\n\treadonly formFieldChildren = contentChildren(FormFieldComponent, { descendants: true });\n\n\treadonly requiredValidators = contentChildren(RequiredValidator, { descendants: true });\n\treadonly ngControls = contentChildren(NgControl, { descendants: true });\n\treadonly ngFormFields = contentChildren(FormField, { descendants: true });\n\n\treadonly ignoredRequiredValidators = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.requiredValidators())));\n\treadonly ignoredControls = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.ngControls())));\n\treadonly ignoredFormFields = computed(() => new Set(this.formFieldChildren().flatMap((f) => f.ngFormFields())));\n\n\treadonly ownRequiredValidators = computed(() => this.requiredValidators().filter((c) => !this.ignoredRequiredValidators().has(c)));\n\treadonly ownControls = computed(() => this.ngControls().filter((c) => !this.ignoredControls().has(c)));\n\treadonly ownFormFields = computed(() => this.ngFormFields().filter((c) => !this.ignoredFormFields().has(c)));\n\n\t#hasInputRequired = signal(false);\n\tforceInputRequired = signal(false);\n\treadonly isInputRequired = computed(() => this.forceInputRequired() || this.#hasInputRequired());\n\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Hide field label, while keeping it in DOM for screen readers\n\t */\n\treadonly hiddenLabel = input(false, { transform: booleanAttribute });\n\n\trolePresentationLabel = model(false);\n\n\tlabelIsPresentation = computed(() => this.rolePresentationLabel() || this.presentation());\n\n\treadonly inline = input(false, { transform: booleanAttribute });\n\n\treadonly statusControl = input<AbstractControl | null>(null);\n\n\treadonly tooltip = input<string | SafeHtml | null>(null);\n\n\treadonly tag = input<string | null>(null);\n\n\treadonly AI = input(false, { transform: booleanAttribute });\n\treadonly iconAItooltip = input<string | null>(null);\n\treadonly iconAIalt = input<string | null>(null);\n\n\treadonly width = input<FormFieldWidth, FormFieldWidth | `${FormFieldWidth}` | null>(null, {\n\t\ttransform: numberAttribute as (value: FormFieldWidth | `${FormFieldWidth}`) => FormFieldWidth,\n\t});\n\n\t#invalidStatus = signal(false);\n\tinvalidStatus = this.#invalidStatus.asReadonly();\n\n\tinvalid = input<boolean | null, boolean>(null, { transform: booleanAttribute });\n\n\treadonly inlineMessage = input<PortalContent | null>(null);\n\n\t/**\n\t * Inline message for when the control is in error state\n\t */\n\treadonly errorInlineMessage = input<PortalContent | null>(null);\n\n\t/**\n\t * State of the inline message, will be ignored if form state is invalid\n\t */\n\treadonly inlineMessageState = input<InlineMessageState | null>(null);\n\n\treadonly size = input<FormFieldSize | null>(null);\n\n\t/**\n\t * Extra aria-describedby attribute\n\t */\n\treadonly extraDescribedBy = input<string>('');\n\n\treadonly layout = model<FormFieldLayout>('default');\n\n\t#inputs: InputDirective[] = [];\n\n\t/**\n\t * Max amount of characters allowed, defaults to 0, which means hidden, no maximum\n\t */\n\treadonly counter = input<number>(0);\n\n\treadonly contentLength = signal<number>(0);\n\n\treadonly presentation = input(false, { transform: booleanAttribute });\n\n\treadonly presentationMode = computed(() => this.parentForm?.presentation() || this.presentation());\n\n\treadonly presentationDisplayTpl = signal<TemplateRef<unknown> | null>(null);\n\n\tpublic addInput(input: InputDirective) {\n\t\tthis.#inputs.push(input);\n\t\t/* We have to put this in the next cycle to make sure it'll be applied properly\n\t\t * and that it won't trigger a change detection error\n\t\t */\n\t\tsetTimeout(() => {\n\t\t\tthis.prepareInput();\n\t\t});\n\t}\n\n\tpublic get inputs(): InputDirective[] {\n\t\treturn this.#inputs;\n\t}\n\n\tid = signal<string>('');\n\n\tready$ = new BehaviorSubject<boolean>(false);\n\n\tpublic get ready(): boolean {\n\t\treturn this.ready$.value;\n\t}\n\n\t#ariaLabelledBy: string[] = [];\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.isInputRequired, this.invalidStatus, this.extraDescribedBy], () => {\n\t\t\tthis.updateAria();\n\t\t});\n\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t\t'form-field': this.layout() !== 'fieldset' && !this.presentationMode(),\n\t\t\t\t[`mod-width${this.width()}`]: !!this.width(),\n\t\t\t});\n\t\t});\n\t}\n\n\taddLabelledBy(id: string, prepend = false): void {\n\t\tif (prepend) {\n\t\t\tthis.#ariaLabelledBy = [id, ...this.#ariaLabelledBy];\n\t\t} else {\n\t\t\tthis.#ariaLabelledBy = [...this.#ariaLabelledBy, id];\n\t\t}\n\t\tthis.#inputs.forEach((input) => {\n\t\t\tif (!input.standalone) {\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-labelledby', this.#ariaLabelledBy.join(' '));\n\t\t\t}\n\t\t});\n\t}\n\n\tremoveLabelledBy(id: string): void {\n\t\tthis.#ariaLabelledBy = this.#ariaLabelledBy.filter((labelledBy) => labelledBy !== id);\n\t}\n\n\tprepareInput(): void {\n\t\tif (this.#inputs.length === 0) {\n\t\t\tthrow new Error('Missing input for form field, make sure to set `luInput` to your input inside lu-form-field');\n\t\t}\n\t\tthis.inputs\n\t\t\t.filter((input) => !input.standalone)\n\t\t\t.forEach((input) => {\n\t\t\t\tconst inputId = `${input.host.nativeElement.tagName.toLowerCase()}-${++nextId}`;\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'id', inputId);\n\t\t\t});\n\t\t// We're using the id from the first input available\n\t\tthis.id.set(this.#inputs[0].host.nativeElement.id);\n\t\tthis.updateAria();\n\t\tthis.ready$.next(true);\n\t}\n\n\tprivate updateAria(): void {\n\t\tthis.#inputs.forEach((input) => {\n\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-invalid', this.invalidStatus()?.toString());\n\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-required', this.isInputRequired()?.toString());\n\t\t\tif (!input.standalone) {\n\t\t\t\tlet ariaDescribedBy = `${input.host.nativeElement.id}-message`;\n\t\t\t\tif (this.extraDescribedBy()) {\n\t\t\t\t\tariaDescribedBy += ` ${this.extraDescribedBy()}`;\n\t\t\t\t}\n\t\t\t\tthis.#renderer.setAttribute(input.host.nativeElement, 'aria-describedby', ariaDescribedBy);\n\t\t\t}\n\t\t});\n\t\tif (this.id() && !this.#ariaLabelledBy.includes(`${this.id()}-label`)) {\n\t\t\tthis.addLabelledBy(`${this.id()}-label`);\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.ready$.complete();\n\t}\n\n\tngDoCheck(): void {\n\t\tafterNextRender(\n\t\t\t() => {\n\t\t\t\tthis.#hasInputRequired.set(this.#isInputRequired());\n\t\t\t\tthis.#invalidStatus.set(this.#hasInvalidStatus());\n\t\t\t\tthis.contentLength.set((this.#inputs[0]?.host?.nativeElement as HTMLInputElement)?.value?.length ?? 0);\n\t\t\t},\n\t\t\t{\n\t\t\t\tinjector: this.#injector,\n\t\t\t},\n\t\t);\n\t}\n\n\t#isInputRequired(): boolean {\n\t\tconst hasRequiredFormControl = this.ownControls().some((c) => c.control?.hasValidator(Validators.required));\n\t\tconst hasRequiredNgModel = this.ownRequiredValidators().some((c) => booleanAttribute(c.required));\n\t\tconst hasRequiredFormField = this.ownFormFields().some((c) => c.state().required());\n\t\treturn hasRequiredFormField || hasRequiredNgModel || hasRequiredFormControl;\n\t}\n\n\t#hasInvalidStatus(): boolean {\n\t\tconst isInvalidOverride = this.invalid() !== undefined && this.invalid() !== null;\n\t\tif (isInvalidOverride) {\n\t\t\treturn this.invalid();\n\t\t}\n\t\tconst statusControlOverride = this.statusControl();\n\t\tif (statusControlOverride) {\n\t\t\treturn statusControlOverride.invalid && this.ownControls().some((c) => c?.touched);\n\t\t}\n\t\treturn this.ownControls().some((c) => c.invalid && c.touched);\n\t}\n}\n","@if (presentationMode()) {\n\t<dl class=\"presentation\">\n\t\t<ng-container *ngTemplateOutlet=\"inputLayoutTpl\" />\n\t</dl>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"inputLayoutTpl\" />\n}\n\n<ng-template #inputLayoutTpl>\n\t@if (layout() === \"fieldset\" && !presentationMode()) {\n\t\t<fieldset class=\"form-fieldset\" [class.mod-inline]=\"inline()\" [class.mod-S]=\"size() === 'S'\">\n\t\t\t<legend\n\t\t\t\tluFormLabel\n\t\t\t\t[tooltip]=\"tooltip()\"\n\t\t\t\t[tag]=\"tag()\"\n\t\t\t\t[required]=\"isInputRequired()\"\n\t\t\t\t[class.pr-u-mask]=\"hiddenLabel()\"\n\t\t\t\t[attr.aria-hidden]=\"hiddenLabel()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t\t</legend>\n\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t@if (inlineMessage() || (invalidStatus() ? errorInlineMessage() : false)) {\n\t\t\t\t<lu-inline-message\n\t\t\t\t\tid=\"{{ id() }}-message\"\n\t\t\t\t\t[label]=\"invalidStatus() && errorInlineMessage() ? errorInlineMessage() : inlineMessage()\"\n\t\t\t\t\t[state]=\"invalidStatus() ? 'error' : inlineMessageState()\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</fieldset>\n\t} @else {\n\t\t@if (presentationMode()) {\n\t\t\t<dt class=\"presentation-term\">\n\t\t\t\t<ng-container *luPortal=\"label()\" />\n\t\t\t\t@if (tooltip()) {\n\t\t\t\t\t<lu-icon class=\"presentation-term-info\" icon=\"signHelp\" [alt]=\"'?'\" [luTooltip]=\"tooltip()\" />\n\t\t\t\t}\n\n\t\t\t\t@if (tag()) {\n\t\t\t\t\t<span class=\"formLabel-tag tag\">{{ tag() }}</span>\n\t\t\t\t}\n\t\t\t</dt>\n\n\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t} @else {\n\t\t\t<label\n\t\t\t\tluFormLabel\n\t\t\t\t[counterStatus]=\"contentLength()\"\n\t\t\t\t[counterMax]=\"counter()\"\n\t\t\t\t[error]=\"invalidStatus()\"\n\t\t\t\t[tag]=\"tag()\"\n\t\t\t\t[tooltip]=\"tooltip()\"\n\t\t\t\t[required]=\"isInputRequired()\"\n\t\t\t\t[counterId]=\"`${id()}-counter`\"\n\t\t\t\t[attr.id]=\"`${id()}-label`\"\n\t\t\t\t[attr.for]=\"id()\"\n\t\t\t\t[attr.role]=\"rolePresentationLabel() ? 'presentation' : null\"\n\t\t\t\t[class.pr-u-mask]=\"hiddenLabel()\"\n\t\t\t\t[class.inputFramed-header-label]=\"framed\"\n\t\t\t>\n\t\t\t\t<span><ng-container *luPortal=\"label()\" /></span>\n\t\t\t</label>\n\t\t\t@if (AI()) {\n\t\t\t\t<div class=\"form-field-contentOptional\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t\t\t<lu-icon\n\t\t\t\t\t\tclass=\"pr-u-focusVisible pr-u-borderRadiusSmall\"\n\t\t\t\t\t\t[luTooltip]=\"iconAItooltip()\"\n\t\t\t\t\t\tsize=\"S\"\n\t\t\t\t\t\tAI\n\t\t\t\t\t\ticon=\"weatherStars\"\n\t\t\t\t\t\t[alt]=\"iconAIalt()\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t} @else {\n\t\t\t\t<ng-container *ngTemplateOutlet=\"projectionTpl\" />\n\t\t\t}\n\t\t\t@if (inlineMessage() || (invalidStatus() ? errorInlineMessage() : false)) {\n\t\t\t\t<lu-inline-message\n\t\t\t\t\tid=\"{{ id() }}-message\"\n\t\t\t\t\t[label]=\"invalidStatus() && errorInlineMessage() ? errorInlineMessage() : inlineMessage()\"\n\t\t\t\t\t[state]=\"invalidStatus() ? 'error' : inlineMessageState()\"\n\t\t\t\t/>\n\t\t\t}\n\t\t}\n\t}\n</ng-template>\n\n<ng-template #projectionTpl>\n\t@if (presentationMode() && presentationDisplayTpl()) {\n\t\t<dd class=\"presentation-definition\">\n\t\t\t<ng-container *ngTemplateOutlet=\"presentationDisplayTpl()\" />\n\t\t</dd>\n\t} @else {\n\t\t<ng-content />\n\t}\n</ng-template>\n","/**\n * Available InputFramedComponent sizes\n */\n\nexport const INPUT_FRAMED_SIZE = ['L'] as const;\nexport type InputFramedSize = (typeof INPUT_FRAMED_SIZE)[number];\n","import { InjectionToken } from '@angular/core';\nimport { InputFramedComponent } from './input-framed.component';\n\nexport const INPUT_FRAMED_INSTANCE = new InjectionToken<InputFramedComponent>('INPUT_FRAMED_INSTANCE');\n","import { booleanAttribute, ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { InputFramedSize } from './input-framed.type';\nimport { INPUT_FRAMED_INSTANCE } from './input-framed.token';\n\n@Component({\n\tselector: 'lu-input-framed',\n\timports: [PortalDirective],\n\ttemplateUrl: './input-framed.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [\n\t\t{\n\t\t\tprovide: INPUT_FRAMED_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => InputFramedComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class InputFramedComponent {\n\treadonly framedPortal = input<PortalContent | null>(null);\n\treadonly center = input(false, { transform: booleanAttribute });\n\treadonly size = input<InputFramedSize | null>(null);\n}\n","<div class=\"inputFramed\" [class.mod-center]=\"center()\" [class.mod-L]=\"size() === 'L'\">\n\t<div class=\"inputFramed-header\">\n\t\t<div class=\"form-field inputFramed-header-field\">\n\t\t\t<ng-content />\n\t\t</div>\n\t\t<div class=\"inputFramed-header-illustration\"><ng-content select=\"[illustration]\" /></div>\n\t\t<div class=\"inputFramed-header-info\"><ng-content select=\"[info]\" /></div>\n\t</div>\n\t@if (framedPortal()) {\n\t\t<div class=\"inputFramed-content\"><ng-container *luPortal=\"framedPortal()\" /></div>\n\t}\n</div>\n","import { booleanAttribute, Directive, ElementRef, inject, Input, OnInit } from '@angular/core';\nimport { FORM_FIELD_INSTANCE } from './form-field.token';\n\n@Directive({\n\tselector: '[luInput]',\n\thost: {\n\t\t// Used to autofocus in dialog boxes, do not change except if you know what you're doing\n\t\tclass: 'luNativeInput',\n\t},\n})\nexport class InputDirective implements OnInit {\n\tpublic readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly formFieldRef = inject(FORM_FIELD_INSTANCE, { optional: true });\n\n\t/**\n\t * Prevents message and label ids from being propagated, useful if the input holds its own message and label (like for radios)\n\t */\n\t@Input({ transform: booleanAttribute, alias: 'luInputStandalone' })\n\tstandalone = false;\n\n\tngOnInit(): void {\n\t\t// If the field is used as standalone, we won't have the ref provided so it'll crash\n\t\tif (this.formFieldRef) {\n\t\t\tthis.formFieldRef.addInput(this);\n\t\t}\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-data-presentation',\n\timports: [PortalDirective],\n\ttemplateUrl: './data-presentation.component.html',\n\tstyleUrl: './data-presentation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DataPresentationComponent {\n\treadonly label = input.required<PortalContent>();\n\treadonly noValue = input(false, { transform: booleanAttribute });\n\treadonly size = input<'S' | null>(null);\n}\n","<dl class=\"presentation\" [class.mod-S]=\"size() === 'S'\">\n\t<dt class=\"presentation-term\">\n\t\t<ng-container *luPortal=\"label()\" />\n\t</dt>\n\t<dd class=\"presentation-definition\">\n\t\t@if (noValue()) {\n\t\t\t<div aria-hidden=\"true\" data-content-before=\"–\"></div>\n\t\t}\n\t\t<ng-content />\n\t</dd>\n</dl>\n","import { Directive, inject, OnInit, signal, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { FormFieldComponent } from '../form-field.component';\n\n@Directive({\n\tselector: '[luPresentationDisplay]',\n})\nexport class PresentationDisplayDirective implements OnInit {\n\t#formFieldRef = inject(FormFieldComponent, { optional: true });\n\n\tpublic readonly templateRef: TemplateRef<unknown> = inject(TemplateRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\tdefaultDisplay = signal(false);\n\n\tngOnInit() {\n\t\tif (this.#formFieldRef) {\n\t\t\t// If it's default display, we do not override the existing value, this way consumers can override easily without any kind of race condition.\n\t\t\tif (!this.#formFieldRef.presentationDisplayTpl() || !this.defaultDisplay()) {\n\t\t\t\tthis.#formFieldRef.presentationDisplayTpl.set(this.templateRef);\n\t\t\t}\n\t\t}\n\t\tthis.#vcr.clear();\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: PresentationDisplayDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport { PresentationDisplayDirective } from './presentation-display.directive';\n\n@Directive({\n\tselector: '[luPresentationDisplayDefault]',\n\thostDirectives: [PresentationDisplayDirective],\n})\nexport class ɵPresentationDisplayDefaultDirective {\n\t#displayDirectiveRef = inject(PresentationDisplayDirective);\n\n\tconstructor() {\n\t\tthis.#displayDirectiveRef.defaultDisplay.set(true);\n\t}\n\n\tpublic static ngTemplateContextGuard(_dir: ɵPresentationDisplayDefaultDirective, _ctx: unknown): _ctx is void {\n\t\treturn true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps","i1.PresentationDisplayDirective"],"mappings":"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"}
@@ -11,26 +11,19 @@ import { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';
11
11
  const FORM_LABEL_SIZE = ['XS', 'S'];
12
12
 
13
13
  const Translations = {
14
- 'nl-BE': {
15
- counterAlt: {
16
- one: 'Uw bericht bevat {{counterStatus}} teken. Het maximum aantal is {{counterMax}}.',
17
- other: 'Uw bericht bevat {{counterStatus}} tekens. Het maximum aantal is {{counterMax}}.',
18
- },
19
- tooltipAlt: 'Aanvullende informatie',
20
- },
21
- nl: {
14
+ en: {
22
15
  counterAlt: {
23
- one: 'Uw bericht bevat {{counterStatus}} teken. Het maximum aantal is {{counterMax}}.',
24
- other: 'Uw bericht bevat {{counterStatus}} tekens. Het maximum aantal is {{counterMax}}.',
16
+ one: 'Your message contains {{counterStatus}} character. A maximum of {{counterMax}} are permitted.',
17
+ other: 'Your message contains {{counterStatus}} characters. A maximum of {{counterMax}} are permitted.',
25
18
  },
26
- tooltipAlt: 'Aanvullende informatie',
19
+ tooltipAlt: 'Additional info',
27
20
  },
28
- it: {
21
+ de: {
29
22
  counterAlt: {
30
- one: 'Il tuo messaggio contiene {{counterStatus}} carattere. Sono consentiti al massimo {{counterMax}}.',
31
- other: 'Il tuo messaggio è lungo {{counterStatus}} caratteri. Sono consentiti al massimo {{counterMax}}.',
23
+ one: 'Ihre Nachricht ist {{counterStatus}} Zeichen lang. Maximal {{counterMax}} sind erlaubt.',
24
+ other: 'Ihre Nachricht ist {{counterStatus}} Zeichen lang. Maximal {{counterMax}} sind erlaubt.',
32
25
  },
33
- tooltipAlt: 'Informazioni aggiuntive',
26
+ tooltipAlt: 'Zusätzliche Informationen',
34
27
  },
35
28
  fr: {
36
29
  counterAlt: {
@@ -39,33 +32,49 @@ const Translations = {
39
32
  },
40
33
  tooltipAlt: 'Info supplémentaire',
41
34
  },
42
- pt: {
35
+ it: {
43
36
  counterAlt: {
44
- one: 'A sua mensagem tem {{counterStatus}} caractere. São permitidos no máximo {{counterMax}}.',
45
- other: 'A sua mensagem tem {{counterStatus}} caracteres. São permitidos no máximo {{counterMax}}.',
37
+ one: 'Il tuo messaggio è lungo {{counterStatus}} carattere. È consentito un massimo di {{counterMax}} caratteri.',
38
+ other: 'Il tuo messaggio è lungo {{counterStatus}} caratteri. È consentito un massimo di {{counterMax}} caratteri.',
46
39
  },
47
- tooltipAlt: 'Informações adicionais',
40
+ tooltipAlt: 'Informazione supplementare',
41
+ },
42
+ nl: {
43
+ counterAlt: {
44
+ one: 'Uw bericht is {{counterStatus}} teken te lang. Een maximum van {{counterMax}} is toegestaan.',
45
+ other: 'Uw bericht is {{counterStatus}} tekens te lang. Een maximum van {{counterMax}} is toegestaan.',
46
+ },
47
+ tooltipAlt: 'Aanvullende informatie',
48
+ },
49
+ 'nl-BE': {
50
+ counterAlt: {
51
+ one: 'Uw bericht is {{counterStatus}} teken te lang. Een maximum van {{counterMax}} is toegestaan.',
52
+ other: 'Uw bericht is {{counterStatus}} tekens te lang. Een maximum van {{counterMax}} is toegestaan.',
53
+ },
54
+ tooltipAlt: 'Aanvullende informatie',
48
55
  },
49
56
  es: {
50
57
  counterAlt: {
51
- one: 'Tu mensaje tiene {{counterStatus}} carácter. Se permite un máximo de {{counterMax}}.',
52
- other: 'Tu mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',
58
+ one: 'Su mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',
59
+ other: 'Su mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',
53
60
  },
54
- tooltipAlt: 'Información complementaria',
61
+ tooltipAlt: 'Información adicional',
55
62
  },
56
- de: {
63
+ pt: {
57
64
  counterAlt: {
58
- one: 'Ihre Nachricht enthält {{counterStatus}} Zeichen. Die maximale Anzahl beträgt {{counterMax}}.',
59
- other: 'Ihre Nachricht enthält {{counterStatus}} Zeichen. Die maximale Anzahl beträgt {{counterMax}}.',
65
+ one: 'A sua mensagem tem {{counterStatus}} caracteres. É permitido um máximo de {{counterMax}} .',
66
+ other: 'A sua mensagem tem {{counterStatus}} caracteres. É permitido um máximo de {{counterMax}} .',
60
67
  },
61
- tooltipAlt: 'Zusätzliche Info',
68
+ tooltipAlt: 'Informações adicionais',
62
69
  },
63
- en: {
70
+ pl: {
64
71
  counterAlt: {
65
- one: 'Your message is {{counterStatus}} character long. A maximum of {{counterMax}} are allowed.',
66
- other: 'Your message is {{counterStatus}} characters long. A maximum of {{counterMax}} are allowed.',
72
+ one: 'Wiadomość zawiera {{counterStatus}} znak. Dozwolonych jest maksymalnie {{counterMax}} znaków.',
73
+ few: 'Wiadomość zawiera {{counterStatus}} znaki. Dozwolonych jest maksymalnie {{counterMax}} znaków.',
74
+ many: 'Wiadomość zawiera {{counterStatus}} znaków. Dozwolonych jest maksymalnie {{counterMax}} znaków.',
75
+ other: 'Wiadomość zawiera {{counterStatus}} znaków. Dozwolonych jest maksymalnie {{counterMax}} znaków.',
67
76
  },
68
- tooltipAlt: 'Additional info',
77
+ tooltipAlt: 'Dodatkowe informacje',
69
78
  },
70
79
  };
71
80
 
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-form-label.mjs","sources":["../../../packages/ng/form-label/form-label.type.ts","../../../packages/ng/form-label/translations.ts","../../../packages/ng/form-label/form-label.translate.ts","../../../packages/ng/form-label/form-label.component.ts","../../../packages/ng/form-label/form-label.component.html","../../../packages/ng/form-label/lucca-front-ng-form-label.ts"],"sourcesContent":["/**\n * Available FormLabelComponent Types\n */\n\nexport const FORM_LABEL_SIZE = ['XS', 'S'] as const;\nexport type FormLabelSize = (typeof FORM_LABEL_SIZE)[number];\n","export const Translations = {\n\t'nl-BE': {\n\t\tcounterAlt: {\n\t\t\tone: 'Uw bericht bevat {{counterStatus}} teken. Het maximum aantal is {{counterMax}}.',\n\t\t\tother: 'Uw bericht bevat {{counterStatus}} tekens. Het maximum aantal is {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Aanvullende informatie',\n\t},\n\tnl: {\n\t\tcounterAlt: {\n\t\t\tone: 'Uw bericht bevat {{counterStatus}} teken. Het maximum aantal is {{counterMax}}.',\n\t\t\tother: 'Uw bericht bevat {{counterStatus}} tekens. Het maximum aantal is {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Aanvullende informatie',\n\t},\n\tit: {\n\t\tcounterAlt: {\n\t\t\tone: 'Il tuo messaggio contiene {{counterStatus}} carattere. Sono consentiti al massimo {{counterMax}}.',\n\t\t\tother: 'Il tuo messaggio è lungo {{counterStatus}} caratteri. Sono consentiti al massimo {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Informazioni aggiuntive',\n\t},\n\tfr: {\n\t\tcounterAlt: {\n\t\t\tone: 'Votre message fait {{counterStatus}} caractère de long. {{counterMax}} maximum sont autorisés.',\n\t\t\tother: 'Votre message fait {{counterStatus}} caractères de long. {{counterMax}} maximum sont autorisés.',\n\t\t},\n\t\ttooltipAlt: 'Info supplémentaire',\n\t},\n\tpt: {\n\t\tcounterAlt: {\n\t\t\tone: 'A sua mensagem tem {{counterStatus}} caractere. São permitidos no máximo {{counterMax}}.',\n\t\t\tother: 'A sua mensagem tem {{counterStatus}} caracteres. São permitidos no máximo {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Informações adicionais',\n\t},\n\tes: {\n\t\tcounterAlt: {\n\t\t\tone: 'Tu mensaje tiene {{counterStatus}} carácter. Se permite un máximo de {{counterMax}}.',\n\t\t\tother: 'Tu mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Información complementaria',\n\t},\n\tde: {\n\t\tcounterAlt: {\n\t\t\tone: 'Ihre Nachricht enthält {{counterStatus}} Zeichen. Die maximale Anzahl beträgt {{counterMax}}.',\n\t\t\tother: 'Ihre Nachricht enthält {{counterStatus}} Zeichen. Die maximale Anzahl beträgt {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Zusätzliche Info',\n\t},\n\ten: {\n\t\tcounterAlt: {\n\t\t\tone: 'Your message is {{counterStatus}} character long. A maximum of {{counterMax}} are allowed.',\n\t\t\tother: 'Your message is {{counterStatus}} characters long. A maximum of {{counterMax}} are allowed.',\n\t\t},\n\t\ttooltipAlt: 'Additional info',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuPluralForms, LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FORM_LABEL_TRANSLATIONS = new InjectionToken('LuFormLabelTranslations', {\n\tfactory: () => luFormLabelTranslations,\n});\n\nexport interface LuFormLabelTranslations {\n\tcounterAlt: LuPluralForms;\n\ttooltipAlt: string;\n}\n\nexport const luFormLabelTranslations: LuTranslation<LuFormLabelTranslations> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { getIntlPluralLabel, intlInputOptions, IntlParamsPipe, LOCALE_PLURAL_RULES } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { TagComponent } from '@lucca-front/ng/tag';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { FormLabelSize } from './form-label.type';\nimport { LU_FORM_LABEL_TRANSLATIONS } from './form-label.translate';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'label[luFormLabel], legend[luFormLabel]',\n\tstyleUrl: './form-label.component.scss',\n\ttemplateUrl: './form-label.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuTooltipTriggerDirective, LuTooltipTriggerDirective, TagComponent, IconComponent, IntlParamsPipe],\n\thost: {\n\t\tclass: 'formLabel',\n\t\t'[class.mod-counter]': 'counterMax() > 0',\n\t\t'[class.mod-XS]': \"size() === 'XS'\",\n\t\t'[class.mod-S]': \"size() === 'S'\",\n\t\t'[class.is-error]': 'error() || (counterMax() > 0 ? counterStatus() > counterMax() : null)',\n\t},\n})\nexport class FormLabelComponent {\n\tprotected readonly intl = input(...intlInputOptions(LU_FORM_LABEL_TRANSLATIONS));\n\n\treadonly locale = inject(LOCALE_ID);\n\treadonly pluralRules = inject(LOCALE_PLURAL_RULES);\n\treadonly counterAltLabel = computed(() => getIntlPluralLabel(this.pluralRules, this.intl().counterAlt, this.counterStatus()));\n\n\treadonly required = input(false, { transform: booleanAttribute });\n\treadonly error = input(false, { transform: booleanAttribute });\n\treadonly tooltip = input<string | SafeHtml | null>(null);\n\treadonly tag = input<string | null>(null);\n\treadonly size = input<FormLabelSize | null>(null);\n\treadonly counterStatus = input(0, { transform: numberAttribute });\n\treadonly counterMax = input(0, { transform: numberAttribute });\n\treadonly counterId = input<string | null>(null);\n}\n","<ng-content />\n@if (required()) {\n\t<sup class=\"formLabel-required\" aria-hidden=\"true\">*</sup>\n}\n@if (tooltip()) {\n\t<span class=\"formLabel-info\" [luTooltip]=\"tooltip()\">\n\t\t<lu-icon icon=\"signHelp\" [alt]=\"intl().tooltipAlt\" />\n\t</span>\n}\n@if (tag()) {\n\t<lu-tag class=\"formLabel-tag\" [label]=\"tag()\" />\n}\n@if (counterMax() > 0) {\n\t<span class=\"formLabel-counter\" [attr.id]=\"counterId()\" aria-live=\"polite\">\n\t\t<span aria-hidden=\"true\">{{ counterStatus() }}/{{ counterMax() }}</span>\n\t\t<span class=\"pr-u-mask\">{{ counterAltLabel() | intlParams: { counterStatus: counterStatus(), counterMax: counterMax() } }}</span>\n\t</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-form-label.mjs","sources":["../../../packages/ng/form-label/form-label.type.ts","../../../packages/ng/form-label/translations.ts","../../../packages/ng/form-label/form-label.translate.ts","../../../packages/ng/form-label/form-label.component.ts","../../../packages/ng/form-label/form-label.component.html","../../../packages/ng/form-label/lucca-front-ng-form-label.ts"],"sourcesContent":["/**\n * Available FormLabelComponent Types\n */\n\nexport const FORM_LABEL_SIZE = ['XS', 'S'] as const;\nexport type FormLabelSize = (typeof FORM_LABEL_SIZE)[number];\n","export const Translations = {\n\ten: {\n\t\tcounterAlt: {\n\t\t\tone: 'Your message contains {{counterStatus}} character. A maximum of {{counterMax}} are permitted.',\n\t\t\tother: 'Your message contains {{counterStatus}} characters. A maximum of {{counterMax}} are permitted.',\n\t\t},\n\t\ttooltipAlt: 'Additional info',\n\t},\n\tde: {\n\t\tcounterAlt: {\n\t\t\tone: 'Ihre Nachricht ist {{counterStatus}} Zeichen lang. Maximal {{counterMax}} sind erlaubt.',\n\t\t\tother: 'Ihre Nachricht ist {{counterStatus}} Zeichen lang. Maximal {{counterMax}} sind erlaubt.',\n\t\t},\n\t\ttooltipAlt: 'Zusätzliche Informationen',\n\t},\n\tfr: {\n\t\tcounterAlt: {\n\t\t\tone: 'Votre message fait {{counterStatus}} caractère de long. {{counterMax}} maximum sont autorisés.',\n\t\t\tother: 'Votre message fait {{counterStatus}} caractères de long. {{counterMax}} maximum sont autorisés.',\n\t\t},\n\t\ttooltipAlt: 'Info supplémentaire',\n\t},\n\tit: {\n\t\tcounterAlt: {\n\t\t\tone: 'Il tuo messaggio è lungo {{counterStatus}} carattere. È consentito un massimo di {{counterMax}} caratteri.',\n\t\t\tother: 'Il tuo messaggio è lungo {{counterStatus}} caratteri. È consentito un massimo di {{counterMax}} caratteri.',\n\t\t},\n\t\ttooltipAlt: 'Informazione supplementare',\n\t},\n\tnl: {\n\t\tcounterAlt: {\n\t\t\tone: 'Uw bericht is {{counterStatus}} teken te lang. Een maximum van {{counterMax}} is toegestaan.',\n\t\t\tother: 'Uw bericht is {{counterStatus}} tekens te lang. Een maximum van {{counterMax}} is toegestaan.',\n\t\t},\n\t\ttooltipAlt: 'Aanvullende informatie',\n\t},\n\t'nl-BE': {\n\t\tcounterAlt: {\n\t\t\tone: 'Uw bericht is {{counterStatus}} teken te lang. Een maximum van {{counterMax}} is toegestaan.',\n\t\t\tother: 'Uw bericht is {{counterStatus}} tekens te lang. Een maximum van {{counterMax}} is toegestaan.',\n\t\t},\n\t\ttooltipAlt: 'Aanvullende informatie',\n\t},\n\tes: {\n\t\tcounterAlt: {\n\t\t\tone: 'Su mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',\n\t\t\tother: 'Su mensaje tiene {{counterStatus}} caracteres. Se permite un máximo de {{counterMax}}.',\n\t\t},\n\t\ttooltipAlt: 'Información adicional',\n\t},\n\tpt: {\n\t\tcounterAlt: {\n\t\t\tone: 'A sua mensagem tem {{counterStatus}} caracteres. É permitido um máximo de {{counterMax}} .',\n\t\t\tother: 'A sua mensagem tem {{counterStatus}} caracteres. É permitido um máximo de {{counterMax}} .',\n\t\t},\n\t\ttooltipAlt: 'Informações adicionais',\n\t},\n\tpl: {\n\t\tcounterAlt: {\n\t\t\tone: 'Wiadomość zawiera {{counterStatus}} znak. Dozwolonych jest maksymalnie {{counterMax}} znaków.',\n\t\t\tfew: 'Wiadomość zawiera {{counterStatus}} znaki. Dozwolonych jest maksymalnie {{counterMax}} znaków.',\n\t\t\tmany: 'Wiadomość zawiera {{counterStatus}} znaków. Dozwolonych jest maksymalnie {{counterMax}} znaków.',\n\t\t\tother: 'Wiadomość zawiera {{counterStatus}} znaków. Dozwolonych jest maksymalnie {{counterMax}} znaków.',\n\t\t},\n\t\ttooltipAlt: 'Dodatkowe informacje',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuPluralForms, LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_FORM_LABEL_TRANSLATIONS = new InjectionToken('LuFormLabelTranslations', {\n\tfactory: () => luFormLabelTranslations,\n});\n\nexport interface LuFormLabelTranslations {\n\tcounterAlt: LuPluralForms;\n\ttooltipAlt: string;\n}\n\nexport const luFormLabelTranslations: LuTranslation<LuFormLabelTranslations> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { SafeHtml } from '@angular/platform-browser';\nimport { getIntlPluralLabel, intlInputOptions, IntlParamsPipe, LOCALE_PLURAL_RULES } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { TagComponent } from '@lucca-front/ng/tag';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { FormLabelSize } from './form-label.type';\nimport { LU_FORM_LABEL_TRANSLATIONS } from './form-label.translate';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'label[luFormLabel], legend[luFormLabel]',\n\tstyleUrl: './form-label.component.scss',\n\ttemplateUrl: './form-label.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [LuTooltipTriggerDirective, LuTooltipTriggerDirective, TagComponent, IconComponent, IntlParamsPipe],\n\thost: {\n\t\tclass: 'formLabel',\n\t\t'[class.mod-counter]': 'counterMax() > 0',\n\t\t'[class.mod-XS]': \"size() === 'XS'\",\n\t\t'[class.mod-S]': \"size() === 'S'\",\n\t\t'[class.is-error]': 'error() || (counterMax() > 0 ? counterStatus() > counterMax() : null)',\n\t},\n})\nexport class FormLabelComponent {\n\tprotected readonly intl = input(...intlInputOptions(LU_FORM_LABEL_TRANSLATIONS));\n\n\treadonly locale = inject(LOCALE_ID);\n\treadonly pluralRules = inject(LOCALE_PLURAL_RULES);\n\treadonly counterAltLabel = computed(() => getIntlPluralLabel(this.pluralRules, this.intl().counterAlt, this.counterStatus()));\n\n\treadonly required = input(false, { transform: booleanAttribute });\n\treadonly error = input(false, { transform: booleanAttribute });\n\treadonly tooltip = input<string | SafeHtml | null>(null);\n\treadonly tag = input<string | null>(null);\n\treadonly size = input<FormLabelSize | null>(null);\n\treadonly counterStatus = input(0, { transform: numberAttribute });\n\treadonly counterMax = input(0, { transform: numberAttribute });\n\treadonly counterId = input<string | null>(null);\n}\n","<ng-content />\n@if (required()) {\n\t<sup class=\"formLabel-required\" aria-hidden=\"true\">*</sup>\n}\n@if (tooltip()) {\n\t<span class=\"formLabel-info\" [luTooltip]=\"tooltip()\">\n\t\t<lu-icon icon=\"signHelp\" [alt]=\"intl().tooltipAlt\" />\n\t</span>\n}\n@if (tag()) {\n\t<lu-tag class=\"formLabel-tag\" [label]=\"tag()\" />\n}\n@if (counterMax() > 0) {\n\t<span class=\"formLabel-counter\" [attr.id]=\"counterId()\" aria-live=\"polite\">\n\t\t<span aria-hidden=\"true\">{{ counterStatus() }}/{{ counterMax() }}</span>\n\t\t<span class=\"pr-u-mask\">{{ counterAltLabel() | intlParams: { counterStatus: counterStatus(), counterMax: counterMax() } }}</span>\n\t</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}