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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/app-layout/index.d.ts +1 -1
  2. package/box/index.d.ts +3 -3
  3. package/breadcrumbs/index.d.ts +3 -3
  4. package/button/index.d.ts +26 -21
  5. package/callout/index.d.ts +90 -86
  6. package/chip/index.d.ts +12 -3
  7. package/clear/index.d.ts +5 -2
  8. package/code/index.d.ts +5 -5
  9. package/comment/index.d.ts +11 -14
  10. package/core/index.d.ts +5 -5
  11. package/core-select/index.d.ts +6 -4
  12. package/core-select/user/index.d.ts +3 -2
  13. package/data-table/index.d.ts +3 -2
  14. package/dialog/index.d.ts +3 -3
  15. package/empty-state/index.d.ts +23 -26
  16. package/fancy-box/index.d.ts +11 -10
  17. package/fesm2022/lucca-front-ng-api.mjs +1 -1
  18. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-button.mjs +59 -90
  22. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-callout.mjs +151 -212
  24. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-chip.mjs +31 -5
  26. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-clear.mjs +22 -10
  28. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-code.mjs +5 -5
  30. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-comment.mjs +15 -35
  32. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  34. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
  36. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select.mjs +14 -20
  38. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-data-table.mjs +9 -4
  42. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-date.mjs +1 -1
  44. package/fesm2022/lucca-front-ng-date2.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-department.mjs +1 -1
  47. package/fesm2022/lucca-front-ng-dialog.mjs +22 -25
  48. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
  50. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-establishment.mjs +1 -1
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  58. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  60. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-formly.mjs +1 -1
  62. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
  63. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
  65. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-forms.mjs +101 -188
  67. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-grid.mjs +20 -5
  69. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-icon.mjs +14 -19
  71. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
  73. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-link.mjs +20 -28
  75. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
  77. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  79. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-multi-select.mjs +6 -6
  81. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
  83. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
  85. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
  87. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  89. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-read-more.mjs +16 -12
  91. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
  93. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-simple-select.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-skeleton.mjs +34 -44
  97. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
  99. package/fesm2022/lucca-front-ng-tag.mjs +31 -42
  100. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-time.mjs +8 -18
  102. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-toast.mjs +55 -60
  104. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-tooltip.mjs +80 -107
  106. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-user.mjs +45 -85
  108. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
  110. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  111. package/forms/index.d.ts +55 -62
  112. package/forms/phone-number-input/index.d.ts +13 -13
  113. package/grid/index.d.ts +9 -5
  114. package/icon/index.d.ts +10 -10
  115. package/inline-message/index.d.ts +9 -11
  116. package/link/index.d.ts +11 -13
  117. package/mobile-push/index.d.ts +5 -6
  118. package/new-badge/index.d.ts +2 -3
  119. package/numeric-badge/index.d.ts +14 -11
  120. package/package.json +27 -27
  121. package/plg-push/index.d.ts +6 -8
  122. package/read-more/index.d.ts +3 -1
  123. package/scroll/index.d.ts +20 -22
  124. package/skeleton/index.d.ts +27 -32
  125. package/tag/index.d.ts +17 -15
  126. package/time/index.d.ts +5 -5
  127. package/toast/index.d.ts +23 -25
  128. package/tooltip/index.d.ts +33 -41
  129. package/user/index.d.ts +17 -28
  130. package/vertical-navigation/index.d.ts +16 -16
@@ -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, 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\tproviders: [LuClass],\n\ttemplate: '<ng-content />',\n\tstyleUrl: './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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"}
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, computed, contentChild, ElementRef, inject, input, signal, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette, ɵeffectWithDeps } 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\tproviders: [LuClass],\n\ttemplate: '<ng-content />',\n\tstyleUrl: './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 {\n\t#luClass = inject(LuClass);\n\t#elementRef = inject<ElementRef<HTMLButtonElement>>(ElementRef);\n\n\treadonly notifyError = signal(false);\n\n\treadonly size = input<'M' | 'S' | 'XS'>();\n\n\treadonly block = input(false, { transform: booleanAttribute });\n\n\treadonly critical = input(false, { transform: booleanAttribute });\n\n\treadonly delete = input(false, { transform: booleanAttribute });\n\n\treadonly disclosure = input(false, { transform: booleanAttribute });\n\n\treadonly palette = input<Palette>('none');\n\n\treadonly state = input<'default' | 'loading' | 'error' | 'success'>('default');\n\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\treadonly luButton = input<'' | 'outlined' | 'AI' | 'ghost' | 'ghost-invert' | 'text' | 'text-invert'>('');\n\n\treadonly iconComponentRef = contentChild<IconComponent, ElementRef<HTMLElement>>(IconComponent, { read: ElementRef });\n\n\treadonly classesConfig = computed(() => {\n\t\tconst config = {\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\tconfig['mod-ghost'] = true;\n\t\t\t\tconfig['mod-invert'] = true;\n\t\t\t} else {\n\t\t\t\tconfig[`mod-${this.luButton()}`] = true;\n\t\t\t}\n\t\t}\n\t\treturn config;\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\tconstructor() {\n\t\tɵeffectWithDeps([this.state], (state) => {\n\t\t\tif (state) {\n\t\t\t\tthis.triggerErrorIfNeeded();\n\t\t\t}\n\t\t});\n\n\t\tɵeffectWithDeps([this.classesConfig], (config) => {\n\t\t\tif (config) {\n\t\t\t\tthis.#luClass.setState(config);\n\t\t\t}\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}