@lucca-front/ng 20.3.0-rc.1 → 20.3.0-rc.2

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 (124) hide show
  1. package/button/index.d.ts +3 -4
  2. package/callout/index.d.ts +10 -2
  3. package/comment/index.d.ts +7 -1
  4. package/core-select/department/index.d.ts +1 -0
  5. package/core-select/index.d.ts +4 -2
  6. package/core-select/user/index.d.ts +1 -0
  7. package/date2/index.d.ts +8 -3
  8. package/dialog/index.d.ts +2 -2
  9. package/fesm2022/lucca-front-ng-api.mjs +6 -6
  10. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-box.mjs +2 -2
  12. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-button.mjs +9 -13
  14. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-callout.mjs +35 -12
  16. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-comment.mjs +10 -4
  18. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-core-select-department.mjs +10 -1
  20. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select-user.mjs +1 -0
  22. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select.mjs +5 -1
  24. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-date.mjs +4 -4
  26. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-date2.mjs +44 -12
  28. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-department.mjs +2 -2
  30. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-dialog.mjs +5 -5
  32. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
  34. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-establishment.mjs +4 -4
  36. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
  38. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
  40. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-footer.mjs +2 -2
  42. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-form-field.mjs +10 -6
  44. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-formly.mjs +30 -30
  46. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +6 -2
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +4 -0
  50. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +42 -0
  52. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -0
  53. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +40 -31
  54. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-forms.mjs +19 -26
  56. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-gauge.mjs +50 -0
  58. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -0
  59. package/fesm2022/lucca-front-ng-icon.mjs +4 -3
  60. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
  62. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-listbox.mjs +1 -1
  64. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-listing.mjs +3 -3
  66. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-mobile-push.mjs +1 -1
  68. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-modal.mjs +6 -6
  70. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-multi-select.mjs +27 -13
  72. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-option.mjs +8 -8
  74. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
  76. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  78. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
  80. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-popover.mjs +5 -5
  82. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  84. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-read-more.mjs +2 -2
  86. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-segmentedControl.mjs +72 -0
  88. package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -0
  89. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +99 -0
  90. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -0
  91. package/fesm2022/lucca-front-ng-select.mjs +2 -2
  92. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-simple-select.mjs +4 -4
  94. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-skeleton.mjs +12 -12
  96. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-tag.mjs +8 -5
  98. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-toast.mjs +2 -2
  100. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-tree-select.mjs +3 -2
  102. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-user-popover.mjs +77 -74
  104. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-user.mjs +16 -11
  106. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  107. package/form-field/index.d.ts +6 -2
  108. package/forms/index.d.ts +5 -2
  109. package/forms/rich-text-input/formatters/html/index.d.ts +3 -2
  110. package/forms/rich-text-input/formatters/markdown/index.d.ts +1 -0
  111. package/forms/rich-text-input/formatters/plain-text/index.d.ts +15 -0
  112. package/forms/rich-text-input/index.d.ts +9 -6
  113. package/gauge/index.d.ts +28 -0
  114. package/icon/index.d.ts +3 -2
  115. package/package.json +36 -15
  116. package/schematics/class-prefix/index.js +11 -0
  117. package/schematics/lib/angular-component-ast.js +11 -1
  118. package/segmentedControl/index.d.ts +28 -0
  119. package/segmentedControlTabs/index.d.ts +34 -0
  120. package/src/components/_picker.scss +1 -2
  121. package/tag/index.d.ts +6 -4
  122. package/tree-select/index.d.ts +2 -1
  123. package/user/index.d.ts +2 -1
  124. package/user-popover/index.d.ts +2 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, signal, booleanAttribute, HostListener, ContentChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, ElementRef, signal, booleanAttribute, ContentChild, Input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { LuClass } from '@lucca-front/ng/core';
4
4
  import { IconComponent } from '@lucca-front/ng/icon';
5
5
 
@@ -38,11 +38,11 @@ class ButtonComponent {
38
38
  get iconOnRight() {
39
39
  return this.#iconComponentRef?.nativeElement === this.#elementRef?.nativeElement?.lastChild;
40
40
  }
41
- ngOnChanges() {
41
+ ngOnChanges({ state }) {
42
42
  this.updateClasses();
43
- }
44
- animationEnd() {
45
- this.notifyError.set(false);
43
+ if (state) {
44
+ this.triggerErrorIfNeeded();
45
+ }
46
46
  }
47
47
  triggerErrorIfNeeded() {
48
48
  if (this.state === 'error') {
@@ -74,14 +74,16 @@ class ButtonComponent {
74
74
  this.#luClass.setState(classesConfig);
75
75
  }
76
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.2", type: ButtonComponent, isStandalone: true, selector: "button[luButton],a[luButton]", inputs: { size: "size", block: ["block", "block", booleanAttribute], critical: ["critical", "critical", booleanAttribute], delete: ["delete", "delete", booleanAttribute], disclosure: ["disclosure", "disclosure", booleanAttribute], palette: "palette", state: "state", luButton: "luButton" }, host: { listeners: { "animationend": "animationEnd()", "click": "triggerErrorIfNeeded()" }, properties: { "class.is-error": "notifyError()" }, classAttribute: "button" }, providers: [LuClass], queries: [{ propertyName: "iconComponentRef", first: true, predicate: IconComponent, descendants: true, read: (ElementRef) }], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@charset \"UTF-8\";@layer reset,base,components,mods,states,product,utils;@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:before{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}}@layer states{.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-backgroundColor: var(--palettes-product-500);--commons-loading-frontground: var(--palettes-product-50)}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-outlined,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-product-500);--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.button.is-success.mod-outlined,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-outlined:after,.button.success.mod-outlined:after{color:var(--palettes-product-700)}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-product-700)}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.0.2", type: ButtonComponent, isStandalone: true, selector: "button[luButton],a[luButton]", inputs: { size: "size", block: ["block", "block", booleanAttribute], critical: ["critical", "critical", booleanAttribute], delete: ["delete", "delete", booleanAttribute], disclosure: ["disclosure", "disclosure", booleanAttribute], palette: "palette", state: "state", luButton: "luButton" }, host: { listeners: { "click": "triggerErrorIfNeeded()", "animationend": "notifyError.set(false)" }, properties: { "class.is-error": "notifyError()" }, classAttribute: "button" }, providers: [LuClass], queries: [{ propertyName: "iconComponentRef", first: true, predicate: IconComponent, descendants: true, read: (ElementRef) }], usesOnChanges: true, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@charset \"UTF-8\";@layer reset,base,components,mods,states,product,utils;@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-AI:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-AI:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-AI:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-AI:not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(:disabled) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI.is-success .lucca-icon{background-image:none}.button.mod-AI.is-success:before{content:none}.button.mod-AI.is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI.is-loading .lucca-icon{background-image:none}.button.mod-AI.is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}}@layer states{.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading .numericBadge,.button.loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-AI,.button.is-loading.mod-outlined,.button.loading.mod-AI,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success .numericBadge,.button.success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-success.mod-AI,.button.is-success.mod-outlined,.button.success.mod-AI,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after,.button.success.mod-AI:after,.button.success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled,.button[aria-disabled]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge,.button[aria-disabled] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ButtonComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'button[luButton],a[luButton]', standalone: true, providers: [LuClass], template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
82
82
  class: 'button',
83
83
  '[class.is-error]': 'notifyError()',
84
- }, styles: ["@charset \"UTF-8\";@layer reset,base,components,mods,states,product,utils;@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: none;--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0;text-rendering:inherit}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle))}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:before{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}}@layer states{.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-backgroundColor: var(--palettes-product-500);--commons-loading-frontground: var(--palettes-product-50)}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-outlined,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-product-500);--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none}.button.is-success.mod-outlined,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-outlined:after,.button.success.mod-outlined:after{color:var(--palettes-product-700)}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-product-700)}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"] }]
84
+ '(click)': 'triggerErrorIfNeeded()',
85
+ '(animationend)': 'notifyError.set(false)',
86
+ }, styles: ["@charset \"UTF-8\";@layer reset,base,components,mods,states,product,utils;@layer components{.button{--components-button-font: var(--pr-t-font-body-M);--components-button-borderRadius: var(--pr-t-border-radius-default);--components-button-paddingBlock: var(--pr-t-spacings-100);--components-button-paddingInline: var(--pr-t-spacings-150);--components-button-paddingBlockStart: var(--components-button-paddingBlock);--components-button-paddingBlockEnd: var(--components-button-paddingBlock);--components-button-paddingInlineStart: var(--components-button-paddingInline);--components-button-paddingInlineEnd: var(--components-button-paddingInline);--components-button-padding: var(--components-button-paddingBlockStart) var(--components-button-paddingInlineEnd) var(--components-button-paddingBlockEnd) var(--components-button-paddingInlineStart);--components-button-gap: var(--pr-t-spacings-100);--components-button-opacity: 1;--components-button-cursor: pointer;--components-button-pointerEvents: auto;--components-button-width: auto;--components-button-minWidth: none;--components-button-userSelect: auto;--components-button-boxShadow: var(--pr-t-elevation-shadow-button);--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-700, var(--palettes-product-700));--components-button-arrow-transform: none;--components-button-font-size: var(--pr-t-font-body-M-fontSize);--components-button-line-height: var(--pr-t-font-body-M-lineHeight);--icon-size: 1.5rem;background-color:var(--components-button-backgroundColor);box-shadow:var(--components-button-boxShadow);border-radius:var(--components-button-borderRadius);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);inline-size:var(--components-button-width);min-inline-size:var(--components-button-minWidth);font:var(--components-button-font);font-size:var(--components-button-font-size);line-height:var(--components-button-line-height);font-weight:var(--pr-t-font-fontWeight-semibold);gap:var(--components-button-gap);pointer-events:var(--components-button-pointerEvents);-webkit-user-select:var(--components-button-userSelect);user-select:var(--components-button-userSelect);opacity:var(--components-button-opacity);cursor:var(--components-button-cursor);transition-timing-function:ease;display:inline-flex;align-items:center;justify-content:center;position:relative;text-decoration:none;vertical-align:middle;text-wrap:balance;text-align:center;border:0}.button,.button:is(a){color:var(--components-button-color)}.button .lucca-icon{display:block}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined,.mod-outline) .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.button:hover{--components-button-color: var(--palettes-0, var(--palettes-text, var(--palettes-product-0)));--components-button-backgroundColor: var(--palettes-800, var(--palettes-product-800))}.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--components-button-borderRadius)}.button:active{--components-button-backgroundColor: var(--palettes-900, var(--palettes-product-900))}.button:disabled{--components-button-cursor: default;--components-button-color: var(--palettes-neutral-500);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button:disabled .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}@layer mods{.button.mod-AI{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-AI:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-AI:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-AI:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-AI:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-AI:not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-default) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.button.mod-AI:not(:disabled) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI.is-success .lucca-icon{background-image:none}.button.mod-AI.is-success:before{content:none}.button.mod-AI.is-success:after{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.button.mod-AI.is-loading .lucca-icon{background-image:none}.button.mod-AI.is-loading:before{content:none}.button.mod-block{--components-button-width: 100%}.button.mod-S{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS{--icon-size: 1rem;--components-button-font: var(--pr-t-font-body-XS);--components-button-paddingBlock: var(--pr-t-spacings-50);--components-button-paddingInline: var(--pr-t-spacings-75);--components-button-gap: var(--pr-t-spacings-50);--components-button-borderRadius: var(--pr-t-border-radius-small);--components-button-font-size: var(--pr-t-font-body-XS-fontSize);--components-button-line-height: var(--pr-t-font-body-XS-lineHeight)}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.button.mod-disclosure{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-disclosure .icon-arrowChevronBottom{transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform:var(--components-button-arrow-transform)}.button.mod-disclosure[aria-expanded=true]{--components-button-arrow-transform: rotate(-180deg)}.button.mod-outlined:where(:not(.is-success,.is-error)),.button.mod-outline:where(:not(.is-success,.is-error)){--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.button.mod-outlined:where(:not(.is-success,.is-error)):hover,.button.mod-outline:where(:not(.is-success,.is-error)):hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.button.mod-outlined:where(:not(.is-success,.is-error)):active,.button.mod-outline:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-outlined:where(:not(.is-success,.is-error)):focus-visible,.button.mod-outline:where(:not(.is-success,.is-error)):focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.button.mod-outlined:where(:not(.is-success,.is-error)):disabled,.button.mod-outline:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-text:where(:not(.is-success,.is-error)),.button.mod-link:where(:not(.is-success,.is-error)),.button.mod-ghost:where(:not(.is-success,.is-error)){--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.button.mod-text:where(:not(.is-success,.is-error)):hover,.button.mod-text:where(:not(.is-success,.is-error)):focus-visible,.button.mod-link:where(:not(.is-success,.is-error)):hover,.button.mod-link:where(:not(.is-success,.is-error)):focus-visible,.button.mod-ghost:where(:not(.is-success,.is-error)):hover,.button.mod-ghost:where(:not(.is-success,.is-error)):focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.button.mod-text:where(:not(.is-success,.is-error)):active,.button.mod-link:where(:not(.is-success,.is-error)):active,.button.mod-ghost:where(:not(.is-success,.is-error)):active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.button.mod-text:where(:not(.is-success,.is-error)):disabled,.button.mod-link:where(:not(.is-success,.is-error)):disabled,.button.mod-ghost:where(:not(.is-success,.is-error)):disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.button.mod-withIcon.mod-iconOnLeft{--components-button-paddingInlineStart: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnLeft.mod-S{--components-button-paddingInlineStart: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnLeft.mod-XS{--components-button-paddingInlineStart: var(--pr-t-spacings-50)}.button.mod-withIcon.mod-iconOnRight{--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button.mod-withIcon.mod-iconOnRight.mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button.mod-withIcon.mod-iconOnRight.mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-onlyIcon{--components-button-padding: var(--pr-t-spacings-100)}.button.mod-onlyIcon.mod-S{--components-button-padding: var(--pr-t-spacings-75)}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--pr-t-spacings-50)}.button:has(.numericBadge){--components-button-paddingInlineEnd: var(--pr-t-spacings-100)}.button:has(.numericBadge).mod-S{--components-button-paddingInlineEnd: var(--pr-t-spacings-75)}.button:has(.numericBadge).mod-XS{--components-button-paddingInlineEnd: var(--pr-t-spacings-50)}.button.mod-critical:hover,.button.mod-delete:hover{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical:active,.button.mod-delete:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-text:hover,.button.mod-critical.mod-text:focus-visible,.button.mod-critical.mod-link:hover,.button.mod-critical.mod-link:focus-visible,.button.mod-delete.mod-text:hover,.button.mod-delete.mod-text:focus-visible,.button.mod-delete.mod-link:hover,.button.mod-delete.mod-link:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-text:active,.button.mod-critical.mod-link:active,.button.mod-delete.mod-text:active,.button.mod-delete.mod-link:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-critical.mod-outlined:hover,.button.mod-critical.mod-outline:hover,.button.mod-delete.mod-outlined:hover,.button.mod-delete.mod-outline:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.button.mod-critical.mod-outlined:focus-visible,.button.mod-critical.mod-outline:focus-visible,.button.mod-delete.mod-outlined:focus-visible,.button.mod-delete.mod-outline:focus-visible{--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-error-400);--components-button-color: var(--palettes-error-700)}.button.mod-critical.mod-outlined:active,.button.mod-critical.mod-outline:active,.button.mod-delete.mod-outlined:active,.button.mod-delete.mod-outline:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.button.mod-inverted,.button.mod-invert{--components-button-color: var(--palettes-neutral-0)}.button.mod-inverted:hover,.button.mod-inverted:focus-visible,.button.mod-invert:hover,.button.mod-invert:focus-visible{--components-button-color: var(--palettes-neutral-0);--components-button-backgroundColor: var(--palettes-neutral-900)}.button.mod-inverted:active,.button.mod-invert:active{--components-button-backgroundColor: var(--palettes-neutral-700)}.button.mod-more{--components-button-minWidth: 2rem;--components-button-padding: 0}.button.mod-more:after{--icon-content: \"\\e97c\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;block-size:0;order:-1;vertical-align:text-top}.button.mod-more.mod-S{--components-button-minWidth: 1.75rem}.button.mod-more.mod-XS{--components-button-minWidth: 1.5rem}}@layer states{.button.is-loading,.button.loading{--components-button-pointerEvents: none;--components-button-color: transparent;--components-button-userSelect: none;--components-button-boxShadow: none;--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--commons-loading-frontground: var(--palettes-50, var(--palettes-product-50))}.button.is-loading:after,.button.loading:after{content:\"\";inline-size:var(--pr-t-font-body-M-lineHeight);block-size:var(--pr-t-font-body-M-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading .numericBadge,.button.loading .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-loading.mod-S:after,.button.loading.mod-S:after{content:\"\";inline-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}.button.is-loading.mod-XS,.button.loading.mod-XS{--commons-loading-borderWidth: 2px}.button.is-loading.mod-XS:after,.button.loading.mod-XS:after{content:\"\";inline-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight);border-radius:var(--pr-t-border-radius-full);line-height:.8rem;border-width:var(--commons-loading-borderWidth);inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-block-start-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button.is-loading.mod-AI,.button.is-loading.mod-outlined,.button.loading.mod-AI,.button.loading.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--commons-loading-frontground: var(--palettes-neutral-300);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-loading.mod-ghost,.button.loading.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--commons-loading-frontground: var(--palettes-neutral-400)}.button.is-error,.button.error{animation-name:shake;animation-iteration-count:1;animation-duration:var(--commons-animations-durations-standard)}@keyframes shake{0%,to{transform:translateZ(0)}20%,60%{transform:translate3d(-3px,0,0)}40%,80%{transform:translate3d(3px,0,0)}}.button.is-success,.button.success{--components-button-backgroundColor: var(--palettes-500, var(--palettes-product-500));--components-button-color: transparent;--components-button-pointerEvents: none;--components-button-userSelect: none}.button.is-success:after,.button.success:after{--icon-content: \"\\e97d\";font-weight:400;display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;color:var(--palettes-neutral-0);font-size:calc(1.5 * var(--pr-t-font-body-M-fontSize));block-size:var(--pr-t-font-body-M-lineHeight);inset:0;margin:auto;position:absolute}.button.is-success .numericBadge,.button.success .numericBadge{--components-numericBadge-background: transparent;--components-numericBadge-color: transparent}.button.is-success.mod-AI,.button.is-success.mod-outlined,.button.success.mod-AI,.button.success.mod-outlined{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-100)}.button.is-success.mod-AI:after,.button.is-success.mod-outlined:after,.button.success.mod-AI:after,.button.success.mod-outlined:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-ghost,.button.success.mod-ghost{--components-button-backgroundColor: var(--palettes-neutral-50);--components-button-boxShadow: none}.button.is-success.mod-ghost:after,.button.success.mod-ghost:after{color:var(--palettes-700, var(--palettes-product-700))}.button.is-success.mod-S:after,.button.success.mod-S:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.button.is-success.mod-XS:after,.button.success.mod-XS:after{font-size:var(--pr-t-font-body-XS-lineHeight);block-size:var(--pr-t-font-body-XS-lineHeight)}.button.is-disabled,.button.disabled,.button[aria-disabled]{--components-button-cursor: default;--components-button-color: var(--pr-t-color-text-disabled);--components-button-backgroundColor: var(--commons-disabled-background);--components-button-pointerEvents: none}.button.is-disabled .numericBadge,.button.disabled .numericBadge,.button[aria-disabled] .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}}\n"] }]
85
87
  }], propDecorators: { size: [{
86
88
  type: Input
87
89
  }], block: [{
@@ -118,12 +120,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
118
120
  }], iconComponentRef: [{
119
121
  type: ContentChild,
120
122
  args: [IconComponent, { read: (ElementRef) }]
121
- }], animationEnd: [{
122
- type: HostListener,
123
- args: ['animationend']
124
- }], triggerErrorIfNeeded: [{
125
- type: HostListener,
126
- args: ['click']
127
123
  }] } });
128
124
 
129
125
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, HostListener, inject, Input, OnChanges, signal, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content />',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t\t'[class.is-error]': 'notifyError()',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\tnotifyError = signal(false);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tcritical = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdisclosure = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'ghost' | 'ghost-invert' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tprivate get iconOnLeft(): boolean {\n\t\treturn this.#iconComponentRef?.nativeElement === this.#elementRef?.nativeElement?.firstChild;\n\t}\n\n\tprivate get iconOnRight(): boolean {\n\t\treturn this.#iconComponentRef?.nativeElement === this.#elementRef?.nativeElement?.lastChild;\n\t}\n\n\tngOnChanges(): void {\n\t\tthis.updateClasses();\n\t}\n\n\t@HostListener('animationend')\n\tanimationEnd() {\n\t\tthis.notifyError.set(false);\n\t}\n\n\t@HostListener('click')\n\ttriggerErrorIfNeeded() {\n\t\tif (this.state === 'error') {\n\t\t\tthis.notifyError.set(true);\n\t\t}\n\t}\n\n\tupdateClasses(): void {\n\t\tconst classesConfig = {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t\t[`is-${this.state}`]: !!this.state && this.state !== 'error',\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-iconOnLeft']: this.iconOnLeft,\n\t\t\t['mod-iconOnRight']: this.iconOnRight,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined && !this.disclosure && !this.iconOnly,\n\t\t\t['mod-critical']: this.critical || this.delete,\n\t\t\t['mod-disclosure']: this.disclosure,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'ghost-invert') {\n\t\t\t\tclassesConfig['mod-ghost'] = true;\n\t\t\t\tclassesConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tclassesConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(classesConfig);\n\t}\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-button.mjs","sources":["../../../packages/ng/button/button.component.ts","../../../packages/ng/button/lucca-front-ng-button.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ElementRef, inject, Input, OnChanges, signal, SimpleChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luButton],a[luButton]',\n\tstandalone: true,\n\tproviders: [LuClass],\n\ttemplate: '<ng-content />',\n\tstyleUrls: ['./button.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'button',\n\t\t'[class.is-error]': 'notifyError()',\n\t\t'(click)': 'triggerErrorIfNeeded()',\n\t\t'(animationend)': 'notifyError.set(false)',\n\t},\n})\nexport class ButtonComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\tnotifyError = signal(false);\n\n\t@Input()\n\tsize: 'M' | 'S' | 'XS';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tblock = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tcritical = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdelete = false;\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tdisclosure = false;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tstate: 'default' | 'loading' | 'error' | 'success' = 'default';\n\n\t@Input()\n\t/**\n\t * '' is the default value when you just set the `luButton` directive without a value attached to it.\n\t * We just make this explicit here.\n\t */\n\tluButton: '' | 'outlined' | 'AI' | 'ghost' | 'ghost-invert' | 'text' | 'text-invert' = '';\n\n\t#iconComponentRef?: ElementRef<HTMLElement>;\n\n\t@ContentChild(IconComponent, { read: ElementRef<HTMLElement> })\n\tset iconComponentRef(ref: ElementRef<HTMLElement>) {\n\t\tthis.#iconComponentRef = ref;\n\t\tthis.updateClasses();\n\t}\n\n\tprivate get iconOnly(): boolean {\n\t\tconst childNodes = Array.from(this.#elementRef?.nativeElement?.childNodes || []);\n\t\tconst noText = childNodes.every(({ nodeName }) => nodeName !== '#text');\n\t\t// ignore icon and comment\n\t\tconst noSpan =\n\t\t\tchildNodes.filter((node: HTMLElement) => {\n\t\t\t\treturn node.nodeName !== '#comment' && node.nodeName.toLowerCase() !== 'lu-icon' && !node?.className?.includes('mask');\n\t\t\t}).length == 0;\n\t\treturn !!this.#iconComponentRef && noSpan && noText;\n\t}\n\n\tprivate get iconOnLeft(): boolean {\n\t\treturn this.#iconComponentRef?.nativeElement === this.#elementRef?.nativeElement?.firstChild;\n\t}\n\n\tprivate get iconOnRight(): boolean {\n\t\treturn this.#iconComponentRef?.nativeElement === this.#elementRef?.nativeElement?.lastChild;\n\t}\n\n\tngOnChanges({ state }: SimpleChanges): void {\n\t\tthis.updateClasses();\n\t\tif (state) {\n\t\t\tthis.triggerErrorIfNeeded();\n\t\t}\n\t}\n\n\ttriggerErrorIfNeeded(): void {\n\t\tif (this.state === 'error') {\n\t\t\tthis.notifyError.set(true);\n\t\t}\n\t}\n\n\tupdateClasses(): void {\n\t\tconst classesConfig = {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`mod-block`]: this.block,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t\t[`is-${this.state}`]: !!this.state && this.state !== 'error',\n\t\t\t['mod-onlyIcon']: this.iconOnly,\n\t\t\t['mod-iconOnLeft']: this.iconOnLeft,\n\t\t\t['mod-iconOnRight']: this.iconOnRight,\n\t\t\t['mod-withIcon']: this.#iconComponentRef !== undefined && !this.disclosure && !this.iconOnly,\n\t\t\t['mod-critical']: this.critical || this.delete,\n\t\t\t['mod-disclosure']: this.disclosure,\n\t\t};\n\n\t\tif (this.luButton !== '') {\n\t\t\tif (this.luButton === 'ghost-invert') {\n\t\t\t\tclassesConfig['mod-ghost'] = true;\n\t\t\t\tclassesConfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tclassesConfig[`mod-${this.luButton}`] = true;\n\t\t\t}\n\t\t}\n\t\tthis.#luClass.setState(classesConfig);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}