@lucca-front/ng 17.2.0 → 17.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/button.component.d.ts +1 -2
- package/callout/callout-feedback-list/callout-feedback-list.component.d.ts +1 -2
- package/core/public-api.d.ts +1 -1
- package/core/tools/class.d.ts +11 -0
- package/esm2022/button/button.component.mjs +7 -8
- package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +6 -7
- package/esm2022/core/public-api.mjs +2 -2
- package/esm2022/core/tools/class.mjs +75 -0
- package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +3 -3
- package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +3 -3
- package/esm2022/form-field/form-field.component.mjs +11 -10
- package/esm2022/inline-message/inline-message.component.mjs +7 -8
- package/esm2022/numeric-badge/numeric-badge.component.mjs +7 -8
- package/fesm2022/lucca-front-ng-button.mjs +6 -7
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +5 -6
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +72 -22
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +10 -9
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +6 -7
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +6 -7
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/form-field/form-field.component.d.ts +1 -2
- package/inline-message/inline-message.component.d.ts +1 -2
- package/numeric-badge/numeric-badge.component.d.ts +1 -2
- package/package.json +3 -3
- package/core/tools/ng-clazz.directive.d.ts +0 -9
- package/esm2022/core/tools/ng-clazz.directive.mjs +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-callout.mjs","sources":["../../../packages/ng/callout/callout.translate.ts","../../../packages/ng/callout/callout-state.ts","../../../packages/ng/callout/callout/callout.component.ts","../../../packages/ng/callout/callout/callout.component.html","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.html","../../../packages/ng/callout/callout-popover/callout-popover.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.html","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.ts","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.html","../../../packages/ng/callout/callout-feedback-list/callout-feedback-list.component.ts","../../../packages/ng/callout/lucca-front-ng-callout.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CALLOUT_TRANSLATIONS = new InjectionToken('LuCalloutTranslations', {\n\tfactory: () => luCalloutTranslations,\n});\n\nexport interface LuCalloutLabel {\n\tclose: string;\n}\n\nexport const luCalloutTranslations: ILuTranslation<LuCalloutLabel> = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n};\n","import { Palette } from '@lucca-front/ng/core';\nimport { LuccaIcon } from '@lucca-front/icons';\n\nexport type CalloutState = 'success' | 'warning' | 'error';\n\nexport const CalloutStateMap: Record<CalloutState, { icon: LuccaIcon; palette: Palette }> = {\n\tsuccess: {\n\t\ticon: 'signSuccess',\n\t\tpalette: 'success',\n\t},\n\twarning: {\n\t\ticon: 'signWarning',\n\t\tpalette: 'warning',\n\t},\n\terror: {\n\t\ticon: 'signError',\n\t\tpalette: 'error',\n\t},\n};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { getIntl, Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LU_CALLOUT_TRANSLATIONS } from '../callout.translate';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout',\n\tstandalone: true,\n\timports: [NgIf, PortalDirective],\n\ttemplateUrl: './callout.component.html',\n\tstyleUrls: ['./callout.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutComponent {\n\t@Input()\n\t/**\n\t * The title of the callout\n\t */\n\theading: PortalContent;\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette = 'none';\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'M' | 'S';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should we display the remove icon?\n\t */\n\tremovable = false;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Is the callout removed? Works with two way binding too.\n\t */\n\tremoved = false;\n\n\t@HostBinding('attr.hidden')\n\tget hiddenAttr(): 'hidden' | null {\n\t\treturn this.removed ? 'hidden' : null;\n\t}\n\n\t@Output()\n\tremovedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n\tpublic intl = getIntl(LU_CALLOUT_TRANSLATIONS);\n}\n","<div class=\"callout palette-{{palette}} mod-{{size}}\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout-disclosure',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, PortalDirective],\n\ttemplateUrl: './callout-disclosure.component.html',\n\tstyleUrls: ['./callout-disclosure.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutDisclosureComponent {\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tsize: 'M' | 'S' = 'M';\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t@Input({ transform: booleanAttribute }) open = false;\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\n\tpublic onToggle(event: Event) {\n\t\tif (event.target instanceof HTMLDetailsElement) {\n\t\t\tthis.openChange.emit(event.target.open);\n\t\t}\n\t}\n}\n","<details class=\"calloutDisclosure palette-{{palette}} mod-{{size}}\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, numberAttribute, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout-popover',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, ButtonComponent, PortalDirective],\n\tanimations: [\n\t\ttrigger('tooltip', [\n\t\t\tstate(\n\t\t\t\t'enter',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: `scale(1)`,\n\t\t\t\t}),\n\t\t\t),\n\t\t\ttransition('void => *', [\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: `scale(0)`,\n\t\t\t\t}),\n\t\t\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t\t\t]),\n\t\t\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n\t\t]),\n\t],\n\ttemplateUrl: './callout-popover.component.html',\n\tstyleUrls: ['./callout-popover.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutPopoverComponent implements OnDestroy {\n\t#overlay = inject(Overlay);\n\t#viewContainerRef = inject(ViewContainerRef);\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t@ViewChild('overlayOriginRef')\n\toverlayOrigin: ElementRef;\n\n\t@ViewChild('overlayContentRef')\n\toverlayContent: TemplateRef<unknown>;\n\n\t#overlayRef: OverlayRef;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _hideDelayId: unknown | undefined;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _showDelayId: unknown | undefined;\n\n\t/**\n\t * Debounce for the popover to open (mouse will have to be on the element fox openDelay milliseconds for popover to show)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly openDelay = 50;\n\n\t/**\n\t * Debounce for the popover to close (mouse will have to be out of both popover and trigger for closeDelay milliseconds for it to close)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly closeDelay = 500;\n\n\t/**\n\t * Label to put inside the button, often used to show just a number\n\t */\n\t@Input()\n\tbuttonLabel: string;\n\n\t/**\n\t * Palette for both the button and the popover content\n\t */\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t/**\n\t * Size for both button and popover content\n\t */\n\t@Input()\n\tsize?: 'M' | 'S' | 'XS';\n\n\t/**\n\t * Icon shows in button and next to popover's title\n\t */\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t/**\n\t * Heading for the details popover\n\t */\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\tget contentSize(): 'S' | 'M' | undefined {\n\t\tif (this.size === 'XS') {\n\t\t\treturn 'S';\n\t\t}\n\t\treturn this.size;\n\t}\n\n\tpublic showContent() {\n\t\tclearTimeout(this._hideDelayId as number);\n\t\t// Don't open if we still have one opened\n\t\tif (this._showDelayId) {\n\t\t\treturn;\n\t\t}\n\t\tthis._showDelayId = setTimeout(() => {\n\t\t\tthis.createPanelContent();\n\t\t\tdelete this._hideDelayId;\n\t\t}, this.openDelay);\n\t}\n\n\tprivate createPanelContent() {\n\t\tconst positionStrategy = this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.overlayOrigin)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t]);\n\n\t\tthis.#overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy,\n\t\t});\n\n\t\tconst portal = new TemplatePortal(this.overlayContent, this.#viewContainerRef);\n\n\t\tthis.#overlayRef.attach(portal);\n\t}\n\n\tpublic hideContent(event: MouseEvent | null) {\n\t\tclearTimeout(this._showDelayId as number);\n\t\tthis._hideDelayId = setTimeout(() => {\n\t\t\tconst newTarget = event?.relatedTarget as Node | null;\n\t\t\t// This is to prevent tooltip closing when user puts cursor on tooltip, thus leaving the origin trigger\n\t\t\tif (!newTarget || !(this.#overlayRef?.overlayElement?.contains(newTarget) || this.#elementRef?.nativeElement?.contains(newTarget))) {\n\t\t\t\t// Remove the tooltip if needed.\n\t\t\t\tif (this.#overlayRef) {\n\t\t\t\t\tthis.#overlayRef.dispose();\n\t\t\t\t\tdelete this._showDelayId;\n\t\t\t\t\tdelete this._hideDelayId;\n\t\t\t\t}\n\t\t\t}\n\t\t}, this.closeDelay);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hideContent(null);\n\t}\n}\n","<button\n\ttype=\"button\"\n\tclass=\"calloutPopover palette-{{palette}} mod-{{size}}\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay mod-{{contentSize}}\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon palette-{{palette}}\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'li[lu-callout-feedback-item]',\n\tstandalone: true,\n\timports: [],\n\ttemplateUrl: './callout-feedback-item.component.html',\n\tstyleUrls: ['./callout-feedback-item.component.scss'],\n\t// eslint-disable-next-line @angular-eslint/no-host-metadata-property\n\thost: {\n\t\tclass: 'calloutFeedbackList-item',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackItemComponent {}\n","<span class=\"calloutFeedbackList-item-description\">\n\t<ng-content select=\"lu-feedback-item-description\"></ng-content>\n</span>\n<div class=\"calloutFeedbackList-item-actions\">\n\t<ng-content select=\"[lu-feedback-item-action]\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { NgClazz, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'ul[lu-callout-feedback-list]',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./callout-feedback-list.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'calloutFeedbackList',\n\t},\n\thostDirectives: [NgClazz],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackListComponent implements OnChanges {\n\t#ngClass = inject(NgClazz);\n\n\t@Input()\n\tpalette: Palette;\n\n\t@Input()\n\tsize: 'M' | 'S';\n\n\tngOnChanges(): void {\n\t\tthis.#ngClass.ngClass = [`palette-${this.palette}`, `mod-${this.size}`];\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-callout.mjs","sources":["../../../packages/ng/callout/callout.translate.ts","../../../packages/ng/callout/callout-state.ts","../../../packages/ng/callout/callout/callout.component.ts","../../../packages/ng/callout/callout/callout.component.html","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.ts","../../../packages/ng/callout/callout-disclosure/callout-disclosure.component.html","../../../packages/ng/callout/callout-popover/callout-popover.component.ts","../../../packages/ng/callout/callout-popover/callout-popover.component.html","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.ts","../../../packages/ng/callout/callout-feedback-item/callout-feedback-item.component.html","../../../packages/ng/callout/callout-feedback-list/callout-feedback-list.component.ts","../../../packages/ng/callout/lucca-front-ng-callout.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_CALLOUT_TRANSLATIONS = new InjectionToken('LuCalloutTranslations', {\n\tfactory: () => luCalloutTranslations,\n});\n\nexport interface LuCalloutLabel {\n\tclose: string;\n}\n\nexport const luCalloutTranslations: ILuTranslation<LuCalloutLabel> = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n};\n","import { Palette } from '@lucca-front/ng/core';\nimport { LuccaIcon } from '@lucca-front/icons';\n\nexport type CalloutState = 'success' | 'warning' | 'error';\n\nexport const CalloutStateMap: Record<CalloutState, { icon: LuccaIcon; palette: Palette }> = {\n\tsuccess: {\n\t\ticon: 'signSuccess',\n\t\tpalette: 'success',\n\t},\n\twarning: {\n\t\ticon: 'signWarning',\n\t\tpalette: 'warning',\n\t},\n\terror: {\n\t\ticon: 'signError',\n\t\tpalette: 'error',\n\t},\n};\n","import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { NgIf } from '@angular/common';\nimport { getIntl, Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LU_CALLOUT_TRANSLATIONS } from '../callout.translate';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout',\n\tstandalone: true,\n\timports: [NgIf, PortalDirective],\n\ttemplateUrl: './callout.component.html',\n\tstyleUrls: ['./callout.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutComponent {\n\t@Input()\n\t/**\n\t * The title of the callout\n\t */\n\theading: PortalContent;\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette = 'none';\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'M' | 'S';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should we display the remove icon?\n\t */\n\tremovable = false;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Is the callout removed? Works with two way binding too.\n\t */\n\tremoved = false;\n\n\t@HostBinding('attr.hidden')\n\tget hiddenAttr(): 'hidden' | null {\n\t\treturn this.removed ? 'hidden' : null;\n\t}\n\n\t@Output()\n\tremovedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n\tpublic intl = getIntl(LU_CALLOUT_TRANSLATIONS);\n}\n","<div class=\"callout palette-{{palette}} mod-{{size}}\" *ngIf=\"!removed\">\n\t<div class=\"callout-icon\" *ngIf=\"icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-{{icon}}\"></span>\n\t</div>\n\t<div class=\"callout-content\">\n\t\t<strong class=\"callout-content-title\" *ngIf=\"heading\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</strong>\n\t\t<div class=\"callout-content-description\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n\t<button *ngIf=\"removable\" type=\"button\" class=\"callout-kill\" (click)=\"removed = true; removedChange.emit(true)\">\n\t\t<span class=\"u-mask\">{{ intl.close }}</span>\n\t</button>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation, booleanAttribute } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout-disclosure',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, PortalDirective],\n\ttemplateUrl: './callout-disclosure.component.html',\n\tstyleUrls: ['./callout-disclosure.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutDisclosureComponent {\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input()\n\tsize: 'M' | 'S' = 'M';\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t@Input({ transform: booleanAttribute }) open = false;\n\n\t@Output() openChange = new EventEmitter<boolean>();\n\n\tpublic onToggle(event: Event) {\n\t\tif (event.target instanceof HTMLDetailsElement) {\n\t\t\tthis.openChange.emit(event.target.open);\n\t\t}\n\t}\n}\n","<details class=\"calloutDisclosure palette-{{palette}} mod-{{size}}\" [class.mod-iconless]=\"!icon\" [open]=\"open\" (toggle)=\"onToggle($event)\">\n\t<summary class=\"calloutDisclosure-summary\">\n\t\t<lu-icon class=\"calloutDisclosure-summary-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t<span class=\"calloutDisclosure-summary-title\">\n\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t</span>\n\t\t<lu-icon class=\"calloutDisclosure-summary-chevron\" icon=\"arrowChevronBottom\"></lu-icon>\n\t</summary>\n\t<div class=\"calloutDisclosure-details\">\n\t\t<ng-content></ng-content>\n\t</div>\n</details>\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, Input, numberAttribute, OnDestroy, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { CalloutState, CalloutStateMap } from '../callout-state';\n\n@Component({\n\tselector: 'lu-callout-popover',\n\tstandalone: true,\n\timports: [CommonModule, IconComponent, ButtonComponent, PortalDirective],\n\tanimations: [\n\t\ttrigger('tooltip', [\n\t\t\tstate(\n\t\t\t\t'enter',\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 1,\n\t\t\t\t\ttransform: `scale(1)`,\n\t\t\t\t}),\n\t\t\t),\n\t\t\ttransition('void => *', [\n\t\t\t\tstyle({\n\t\t\t\t\topacity: 0,\n\t\t\t\t\ttransform: `scale(0)`,\n\t\t\t\t}),\n\t\t\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t\t\t]),\n\t\t\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n\t\t]),\n\t],\n\ttemplateUrl: './callout-popover.component.html',\n\tstyleUrls: ['./callout-popover.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutPopoverComponent implements OnDestroy {\n\t#overlay = inject(Overlay);\n\t#viewContainerRef = inject(ViewContainerRef);\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t@ViewChild('overlayOriginRef')\n\toverlayOrigin: ElementRef;\n\n\t@ViewChild('overlayContentRef')\n\toverlayContent: TemplateRef<unknown>;\n\n\t#overlayRef: OverlayRef;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _hideDelayId: unknown | undefined;\n\n\t// Using unknown here because it's using Node types for whatever reason but it's a number\n\tprivate _showDelayId: unknown | undefined;\n\n\t/**\n\t * Debounce for the popover to open (mouse will have to be on the element fox openDelay milliseconds for popover to show)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly openDelay = 50;\n\n\t/**\n\t * Debounce for the popover to close (mouse will have to be out of both popover and trigger for closeDelay milliseconds for it to close)\n\t */\n\t@Input({ transform: numberAttribute })\n\treadonly closeDelay = 500;\n\n\t/**\n\t * Label to put inside the button, often used to show just a number\n\t */\n\t@Input()\n\tbuttonLabel: string;\n\n\t/**\n\t * Palette for both the button and the popover content\n\t */\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t/**\n\t * Size for both button and popover content\n\t */\n\t@Input()\n\tsize?: 'M' | 'S' | 'XS';\n\n\t/**\n\t * Icon shows in button and next to popover's title\n\t */\n\t@Input()\n\ticon: LuccaIcon;\n\n\t@Input()\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\tset state(state: CalloutState) {\n\t\tconst { icon, palette } = CalloutStateMap[state];\n\t\tif (this.palette === 'none') {\n\t\t\tthis.palette = palette;\n\t\t}\n\t\tif (!this.icon) {\n\t\t\tthis.icon = icon;\n\t\t}\n\t}\n\n\t/**\n\t * Heading for the details popover\n\t */\n\t@Input({ required: true })\n\theading: PortalContent;\n\n\tget contentSize(): 'S' | 'M' | undefined {\n\t\tif (this.size === 'XS') {\n\t\t\treturn 'S';\n\t\t}\n\t\treturn this.size;\n\t}\n\n\tpublic showContent() {\n\t\tclearTimeout(this._hideDelayId as number);\n\t\t// Don't open if we still have one opened\n\t\tif (this._showDelayId) {\n\t\t\treturn;\n\t\t}\n\t\tthis._showDelayId = setTimeout(() => {\n\t\t\tthis.createPanelContent();\n\t\t\tdelete this._hideDelayId;\n\t\t}, this.openDelay);\n\t}\n\n\tprivate createPanelContent() {\n\t\tconst positionStrategy = this.#overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(this.overlayOrigin)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'top',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'bottom',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: 'center',\n\t\t\t\t\toriginY: 'bottom',\n\t\t\t\t\toverlayX: 'center',\n\t\t\t\t\toverlayY: 'top',\n\t\t\t\t},\n\t\t\t]);\n\n\t\tthis.#overlayRef = this.#overlay.create({\n\t\t\tpositionStrategy,\n\t\t});\n\n\t\tconst portal = new TemplatePortal(this.overlayContent, this.#viewContainerRef);\n\n\t\tthis.#overlayRef.attach(portal);\n\t}\n\n\tpublic hideContent(event: MouseEvent | null) {\n\t\tclearTimeout(this._showDelayId as number);\n\t\tthis._hideDelayId = setTimeout(() => {\n\t\t\tconst newTarget = event?.relatedTarget as Node | null;\n\t\t\t// This is to prevent tooltip closing when user puts cursor on tooltip, thus leaving the origin trigger\n\t\t\tif (!newTarget || !(this.#overlayRef?.overlayElement?.contains(newTarget) || this.#elementRef?.nativeElement?.contains(newTarget))) {\n\t\t\t\t// Remove the tooltip if needed.\n\t\t\t\tif (this.#overlayRef) {\n\t\t\t\t\tthis.#overlayRef.dispose();\n\t\t\t\t\tdelete this._showDelayId;\n\t\t\t\t\tdelete this._hideDelayId;\n\t\t\t\t}\n\t\t\t}\n\t\t}, this.closeDelay);\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.hideContent(null);\n\t}\n}\n","<button\n\ttype=\"button\"\n\tclass=\"calloutPopover palette-{{palette}} mod-{{size}}\"\n\t#overlayOriginRef\n\t(mouseenter)=\"showContent()\"\n\t(focus)=\"showContent()\"\n\t(mouseleave)=\"hideContent($event)\"\n\t(blur)=\"hideContent(null)\"\n>\n\t<lu-icon class=\"calloutPopover-icon\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t{{buttonLabel}}\n</button>\n<ng-template #overlayContentRef>\n\t<div\n\t\t[@tooltip]=\"'open'\"\n\t\tclass=\"lu-popover-content calloutPopover-overlay mod-{{contentSize}}\"\n\t\t(mouseenter)=\"showContent()\"\n\t\t(mouseleave)=\"hideContent($event)\"\n\t>\n\t\t<div class=\"calloutPopover-overlay-head\">\n\t\t\t<lu-icon class=\"calloutPopover-overlay-head-icon palette-{{palette}}\" *ngIf=\"icon\" [icon]=\"icon\"></lu-icon>\n\t\t\t<strong class=\"calloutPopover-overlay-head-title\">\n\t\t\t\t<ng-container *luPortal=\"heading\"></ng-container>\n\t\t\t</strong>\n\t\t</div>\n\t\t<div class=\"calloutPopover-overlay-content\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n</ng-template>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'li[lu-callout-feedback-item]',\n\tstandalone: true,\n\timports: [],\n\ttemplateUrl: './callout-feedback-item.component.html',\n\tstyleUrls: ['./callout-feedback-item.component.scss'],\n\t// eslint-disable-next-line @angular-eslint/no-host-metadata-property\n\thost: {\n\t\tclass: 'calloutFeedbackList-item',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackItemComponent {}\n","<span class=\"calloutFeedbackList-item-description\">\n\t<ng-content select=\"lu-feedback-item-description\"></ng-content>\n</span>\n<div class=\"calloutFeedbackList-item-actions\">\n\t<ng-content select=\"[lu-feedback-item-action]\"></ng-content>\n</div>\n","import { ChangeDetectionStrategy, Component, inject, Input, OnChanges, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'ul[lu-callout-feedback-list]',\n\tstandalone: true,\n\ttemplate: '<ng-content></ng-content>',\n\tstyleUrls: ['./callout-feedback-list.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'calloutFeedbackList',\n\t},\n\tproviders: [LuClass],\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class CalloutFeedbackListComponent implements OnChanges {\n\t#luClass = inject(LuClass);\n\n\t@Input()\n\tpalette: Palette;\n\n\t@Input()\n\tsize: 'M' | 'S';\n\n\tngOnChanges(): void {\n\t\tthis.#luClass.setState([`palette-${this.palette}`, `mod-${this.size}`]);\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,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, LOCALE_ID, Injectable, Inject, Optional, inject, ViewContainerRef, Renderer2, TemplateRef, Directive, Input,
|
|
3
|
-
import { FormatWidth, getLocaleDateFormat, formatDate
|
|
2
|
+
import { InjectionToken, LOCALE_ID, Injectable, Inject, Optional, inject, ViewContainerRef, Renderer2, TemplateRef, Directive, Input, ElementRef } from '@angular/core';
|
|
3
|
+
import { FormatWidth, getLocaleDateFormat, formatDate } from '@angular/common';
|
|
4
4
|
|
|
5
5
|
var ELuDateGranularity;
|
|
6
6
|
(function (ELuDateGranularity) {
|
|
@@ -450,32 +450,82 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
450
450
|
args: [{ required: true }]
|
|
451
451
|
}] } });
|
|
452
452
|
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
#
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
453
|
+
class LuClass {
|
|
454
|
+
#elementRef = inject(ElementRef);
|
|
455
|
+
#renderer = inject(Renderer2);
|
|
456
|
+
#state = {};
|
|
457
|
+
#stateMap = new Map();
|
|
458
|
+
setState(value) {
|
|
459
|
+
this.#state = normalizeToRecord(value);
|
|
460
|
+
for (const [klass, enabled] of Object.entries(this.#state)) {
|
|
461
|
+
this.#updateState(klass, enabled);
|
|
462
|
+
}
|
|
463
|
+
this.#applyStateDiff();
|
|
464
|
+
}
|
|
465
|
+
#updateState(klass, nextEnabled) {
|
|
466
|
+
const state = this.#stateMap.get(klass);
|
|
467
|
+
if (state !== undefined) {
|
|
468
|
+
if (state.enabled !== nextEnabled) {
|
|
469
|
+
state.changed = true;
|
|
470
|
+
state.enabled = nextEnabled;
|
|
471
|
+
}
|
|
472
|
+
state.touched = true;
|
|
473
|
+
}
|
|
474
|
+
else {
|
|
475
|
+
this.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });
|
|
476
|
+
}
|
|
460
477
|
}
|
|
461
|
-
|
|
462
|
-
|
|
478
|
+
#applyStateDiff() {
|
|
479
|
+
for (const stateEntry of this.#stateMap) {
|
|
480
|
+
const klass = stateEntry[0];
|
|
481
|
+
const state = stateEntry[1];
|
|
482
|
+
if (state.changed) {
|
|
483
|
+
this.#toggleClass(klass, state.enabled);
|
|
484
|
+
state.changed = false;
|
|
485
|
+
}
|
|
486
|
+
else if (!state.touched) {
|
|
487
|
+
// A class that was previously active got removed from the new collection of classes -
|
|
488
|
+
// remove from the DOM as well.
|
|
489
|
+
if (state.enabled) {
|
|
490
|
+
this.#toggleClass(klass, false);
|
|
491
|
+
}
|
|
492
|
+
this.#stateMap.delete(klass);
|
|
493
|
+
}
|
|
494
|
+
state.touched = false;
|
|
495
|
+
}
|
|
463
496
|
}
|
|
464
|
-
|
|
465
|
-
|
|
497
|
+
#toggleClass(klass, enabled) {
|
|
498
|
+
if (enabled) {
|
|
499
|
+
this.#renderer.addClass(this.#elementRef.nativeElement, klass);
|
|
500
|
+
}
|
|
501
|
+
else {
|
|
502
|
+
this.#renderer.removeClass(this.#elementRef.nativeElement, klass);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
506
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass }); }
|
|
507
|
+
}
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, decorators: [{
|
|
509
|
+
type: Injectable
|
|
510
|
+
}] });
|
|
511
|
+
function normalizeToRecord(obj) {
|
|
512
|
+
if (Array.isArray(obj) || obj instanceof Set) {
|
|
513
|
+
const result = {};
|
|
514
|
+
for (const item of obj) {
|
|
515
|
+
result[item] = true;
|
|
516
|
+
}
|
|
517
|
+
return result;
|
|
518
|
+
}
|
|
519
|
+
if (typeof obj === 'string') {
|
|
520
|
+
obj = obj.trim();
|
|
521
|
+
return obj ? { [obj]: true } : {};
|
|
522
|
+
}
|
|
523
|
+
return obj;
|
|
466
524
|
}
|
|
467
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: NgClazz, decorators: [{
|
|
468
|
-
type: Directive,
|
|
469
|
-
args: [{
|
|
470
|
-
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
471
|
-
selector: '[ngClazz]',
|
|
472
|
-
standalone: true,
|
|
473
|
-
}]
|
|
474
|
-
}], ctorParameters: () => [] });
|
|
475
525
|
|
|
476
526
|
/**
|
|
477
527
|
* Generated bundle index. Do not edit.
|
|
478
528
|
*/
|
|
479
529
|
|
|
480
|
-
export { ALuDateAdapter, ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ELuDateGranularity, LU_NATIVE_DATE_ADAPTER_OPTIONS, LuNativeDateAdapter, LuStringDateAdapter,
|
|
530
|
+
export { ALuDateAdapter, ALuOnCloseSubscriber, ALuOnOpenSubscriber, ALuOnScrollBottomSubscriber, ELuDateGranularity, LU_NATIVE_DATE_ADAPTER_OPTIONS, LuClass, LuNativeDateAdapter, LuStringDateAdapter, PortalDirective, generateId, getIntl, luDefaultNativeDateAdapterOptions };
|
|
481
531
|
//# sourceMappingURL=lucca-front-ng-core.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/tools/ng-clazz.directive.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["export enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: ELuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: ELuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: ELuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: ELuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, luDefaultNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: ELuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: ELuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Injectable, Inject, LOCALE_ID } from '@angular/core';\nimport { LuNativeDateAdapter } from '../native/index';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuDateAdapter } from '../date-adapter.interface';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: ELuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation } from './translation.model';\n\nexport type ILuIntl<T> = { [P in keyof T]: string };\n\nfunction isSupportedLang<T>(locale: string, translations: ILuTranslation<T>): locale is keyof ILuTranslation<T> {\n\treturn locale in translations;\n}\n\nexport function getIntl<T>(translationsToken: InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (isSupportedLang(locale, translations)) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (isSupportedLang(shortLocale, translations)) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'];\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","import { Directive, inject, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n\tstandalone: true,\n})\nexport class PortalDirective<T = unknown> implements OnChanges {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\n\t@Input({ required: true })\n\tpublic luPortal: PortalContent<T> = null;\n\n\tprivate render(): void {\n\t\tthis.viewContainerRef.clear();\n\n\t\tif (this.luPortal instanceof TemplateRef) {\n\t\t\tthis.viewContainerRef.createEmbeddedView(this.luPortal);\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.renderer.insertBefore(parent, document.createTextNode(this.luPortal), container);\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luPortal']) {\n\t\t\t// If we're here, it means that either the template ref changed or the string changed,\n\t\t\t// meaning that we need to render again\n\t\t\tthis.render();\n\t\t}\n\t}\n}\n","import { ChangeDetectorRef, Directive, ElementRef, inject, IterableDiffers, KeyValueDiffers, Renderer2 } from '@angular/core';\nimport { NgClass } from '@angular/common';\n\n// This directive exists to temporarily resolve a conflict in how directives work, see https://github.com/angular/angular/issues/52072\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: '[ngClazz]',\n\tstandalone: true,\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class NgClazz extends NgClass {\n\t#cdr = inject(ChangeDetectorRef);\n\n\toverride set ngClass(value: NgClass['ngClass']) {\n\t\tsuper.ngClass = value;\n\t\tsetTimeout(() => this.#cdr.markForCheck());\n\t}\n\n\tconstructor() {\n\t\tsuper(inject(IterableDiffers), inject(KeyValueDiffers), inject(ElementRef), inject(Renderer2));\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-core.mjs","sources":["../../../packages/ng/core/date/date-granularity.enum.ts","../../../packages/ng/core/date/date-adapter.class.ts","../../../packages/ng/core/date/native/native-date.option.ts","../../../packages/ng/core/date/native/native-date.adapter.ts","../../../packages/ng/core/date/string/string-date.adapter.ts","../../../packages/ng/core/event/on-close.subscriber.ts","../../../packages/ng/core/event/on-open.subscriber.ts","../../../packages/ng/core/event/on-scroll-bottom.subscriber.ts","../../../packages/ng/core/translate/intl.model.ts","../../../packages/ng/core/id/id.generator.ts","../../../packages/ng/core/portal/portal.directive.ts","../../../packages/ng/core/tools/class.ts","../../../packages/ng/core/lucca-front-ng-core.ts"],"sourcesContent":["export enum ELuDateGranularity {\n\tday = 'day',\n\tmonth = 'month',\n\tyear = 'year',\n\tdecade = 'decade',\n}\n","import { ILuDateAdapter } from './date-adapter.interface';\nimport { ELuDateGranularity } from './date-granularity.enum';\n\nexport abstract class ALuDateAdapter<D> implements ILuDateAdapter<D> {\n\tabstract forge(year: number, month: number, date: number): D;\n\tabstract forgeToday(): D;\n\tabstract forgeInvalid(): D;\n\tabstract isValid(d: D): boolean;\n\tcompare(a: D, b: D, granularity: ELuDateGranularity): number {\n\t\tif (!a || !b || !this.isValid(a) || !this.isValid(b)) {\n\t\t\tthrow new Error('you must provide valid and not null dates to be compared');\n\t\t}\n\t\tconst aDecade = Math.floor(this.getYear(a) / 10);\n\t\tconst bDecade = Math.floor(this.getYear(b) / 10);\n\t\tif (aDecade < bDecade) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDecade > bDecade) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.decade) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aYear = this.getYear(a);\n\t\tconst bYear = this.getYear(b);\n\t\tif (aYear < bYear) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aYear > bYear) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.year) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aMonth = this.getMonth(a);\n\t\tconst bMonth = this.getMonth(b);\n\t\tif (aMonth < bMonth) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aMonth > bMonth) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.month) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst aDate = this.getDate(a);\n\t\tconst bDate = this.getDate(b);\n\t\tif (aDate < bDate) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (aDate > bDate) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (granularity === ELuDateGranularity.day) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn 0;\n\t}\n\tabstract isParsable(text: string, granularity?: ELuDateGranularity): boolean;\n\tabstract parse(text: string, granularity?: ELuDateGranularity): D;\n\tabstract format(d: D, format: string): string;\n\tabstract clone(d: D): D;\n\n\tabstract getYear(d: D): number;\n\tabstract getMonth(d: D): number;\n\tabstract getDate(d: D): number;\n\tabstract getDay(d: D): number;\n\n\tabstract add(d: D, count: number, granularity: ELuDateGranularity): D;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface ILuNativeDateAdapterOptions {\n\tuseUtc?: boolean;\n}\nexport const luDefaultNativeDateAdapterOptions: ILuNativeDateAdapterOptions = {\n\tuseUtc: false,\n};\nexport const LU_NATIVE_DATE_ADAPTER_OPTIONS = new InjectionToken<ILuNativeDateAdapterOptions>('Native date adapter options');\n","import { formatDate, FormatWidth, getLocaleDateFormat } from '@angular/common';\nimport { Inject, Injectable, LOCALE_ID, Optional } from '@angular/core';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ILuDateAdapter } from '../date-adapter.interface';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuNativeDateAdapterOptions, luDefaultNativeDateAdapterOptions, LU_NATIVE_DATE_ADAPTER_OPTIONS } from './native-date.option';\n\n@Injectable()\nexport class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDateAdapter<Date> {\n\tprivate _regex = /[/,.\\-\\s]/i;\n\tprivate _order = {\n\t\tdate: 0,\n\t\tmonth: 1,\n\t\tyear: 2,\n\t};\n\tconstructor(\n\t\t@Inject(LOCALE_ID) private _locale: string,\n\t\t@Inject(LU_NATIVE_DATE_ADAPTER_OPTIONS)\n\t\t@Optional()\n\t\tprivate _options: ILuNativeDateAdapterOptions,\n\t) {\n\t\tsuper();\n\t\tthis._options = this._options || luDefaultNativeDateAdapterOptions;\n\t\tthis.initOrder();\n\t}\n\tprivate initOrder() {\n\t\tconst format = getLocaleDateFormat(this._locale, FormatWidth.Short);\n\t\tconst groups = format.split(this._regex);\n\t\tgroups.forEach((g, i) => {\n\t\t\tif (g.indexOf('d') !== -1) {\n\t\t\t\tthis._order.date = i;\n\t\t\t}\n\t\t\tif (g.indexOf('M') !== -1) {\n\t\t\t\tthis._order.month = i;\n\t\t\t}\n\t\t\tif (g.indexOf('y') !== -1) {\n\t\t\t\tthis._order.year = i;\n\t\t\t}\n\t\t});\n\t}\n\tprivate extract(text: string, granularity: ELuDateGranularity = ELuDateGranularity.day): { date: number; month: number; year: number } {\n\t\tconst groups = text.split(this._regex);\n\t\tlet date = 1,\n\t\t\tmonth = 1,\n\t\t\tyear = 1;\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 2, 0)], 10);\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth = parseInt(groups[Math.max(this._order.month - 1, 0)], 10);\n\t\t\t\tyear = parseInt(groups[Math.max(this._order.year - 1, 0)], 10) || new Date().getFullYear();\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\tdefault:\n\t\t\t\tdate = parseInt(groups[this._order.date], 10);\n\t\t\t\tmonth = parseInt(groups[this._order.month], 10);\n\t\t\t\tyear = parseInt(groups[this._order.year], 10) || new Date().getFullYear();\n\t\t}\n\t\treturn { date, month, year };\n\t}\n\tisParsable(text: string, granularity = ELuDateGranularity.day): boolean {\n\t\tif (!text) {\n\t\t\treturn false;\n\t\t}\n\t\tconst groups = text.split(this._regex);\n\t\tconst dayTextInvalid = granularity === ELuDateGranularity.day && groups.length !== 3;\n\t\tconst monthTextInvalid = granularity === ELuDateGranularity.month && groups.length !== 2;\n\t\tconst yearTextInvalid = granularity === ELuDateGranularity.year && groups.length !== 1;\n\t\tif (dayTextInvalid || monthTextInvalid || yearTextInvalid) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\t\t// When year is equal or greater than 10_000 ISO string goes from 2000-01-01 to +010000-01-01 which is not supported by backends\n\t\t\tif (year >= 10_000) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet d: Date;\n\t\t\tif (this._options.useUtc) {\n\t\t\t\td = new Date(Date.UTC(year, month - 1, date));\n\t\t\t} else {\n\t\t\t\td = new Date(year, month - 1, date);\n\t\t\t}\n\t\t\t// checking if its a valid date\n\t\t\t// https://stackoverflow.com/questions/1353684/detecting-an-invalid-date-date-instance-in-javascript\n\t\t\tif (!(d instanceof Date)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (isNaN(d.getTime())) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t// d is a valid date, but\n\t\t\t// as i can write new Date(1234, 56, 78) and mr javascript accepts it\n\t\t\t// i check now that the generated date has the same year/month/date as what i entered\n\t\t\tif (this._options.useUtc) {\n\t\t\t\tif (d.getUTCFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getUTCDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (d.getFullYear() !== year) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getMonth() !== month - 1) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (d.getDate() !== date) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\tparse(text: string, granularity = ELuDateGranularity.day): Date {\n\t\tif (!text) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (!this.isParsable(text, granularity)) {\n\t\t\treturn this.forgeInvalid();\n\t\t}\n\n\t\tconst { date, month, year } = this.extract(text, granularity);\n\n\t\treturn this.forge(year, month, date);\n\t}\n\tformat(d: Date, format: string): string {\n\t\tif (this._options.useUtc) {\n\t\t\treturn formatDate(d, format, this._locale, 'UTC');\n\t\t} else {\n\t\t\treturn formatDate(d, format, this._locale);\n\t\t}\n\t}\n\tforge(year: number, month: number, date: number): Date {\n\t\tif (this._options.useUtc) {\n\t\t\treturn new Date(Date.UTC(year, month - 1, date)); // month-1 cuz 0 -> january\n\t\t} else {\n\t\t\treturn new Date(year, month - 1, date); // month-1 cuz 0 -> january\n\t\t}\n\t}\n\tforgeToday(): Date {\n\t\tif (this._options.useUtc) {\n\t\t\tconst nonUTCToday = new Date();\n\t\t\treturn new Date(Date.UTC(nonUTCToday.getFullYear(), nonUTCToday.getMonth(), nonUTCToday.getDate()));\n\t\t} else {\n\t\t\tconst today = new Date();\n\t\t\treturn new Date(today.getFullYear(), today.getMonth(), today.getDate());\n\t\t}\n\t}\n\tforgeInvalid(): Date {\n\t\treturn new Date('Invalid Date');\n\t}\n\tisValid(d: Date): boolean {\n\t\tif (!(d instanceof Date)) {\n\t\t\treturn false;\n\t\t}\n\t\tif (isNaN(d.getTime())) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tclone(d: Date): Date {\n\t\treturn new Date(d);\n\t}\n\n\tgetYear(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCFullYear();\n\t\t} else {\n\t\t\treturn d.getFullYear();\n\t\t}\n\t}\n\tgetMonth(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCMonth() + 1;\n\t\t} else {\n\t\t\treturn d.getMonth() + 1;\n\t\t}\n\t}\n\tgetDate(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDate();\n\t\t} else {\n\t\t\treturn d.getDate();\n\t\t}\n\t}\n\tgetDay(d: Date): number {\n\t\tif (this._options.useUtc) {\n\t\t\treturn d.getUTCDay();\n\t\t} else {\n\t\t\treturn d.getDay();\n\t\t}\n\t}\n\n\tadd(d: Date, count: number, granularity: ELuDateGranularity): Date {\n\t\tlet year = this.getYear(d);\n\t\tlet month = this.getMonth(d);\n\t\tlet date = this.getDate(d);\n\t\tswitch (granularity) {\n\t\t\tcase ELuDateGranularity.decade:\n\t\t\t\tyear += 10 * count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.year:\n\t\t\t\tyear += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.month:\n\t\t\t\tmonth += count;\n\t\t\t\tbreak;\n\t\t\tcase ELuDateGranularity.day:\n\t\t\t\tdate += count;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn this.forge(year, month, date);\n\t}\n}\n","import { Injectable, Inject, LOCALE_ID } from '@angular/core';\nimport { LuNativeDateAdapter } from '../native/index';\nimport { ALuDateAdapter } from '../date-adapter.class';\nimport { ELuDateGranularity } from '../date-granularity.enum';\nimport { ILuDateAdapter } from '../date-adapter.interface';\n\n/** bind to a string with iso 26001 format YYYY-MM-DD */\n@Injectable()\nexport class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuDateAdapter<string> {\n\t// i'm going to implement this by doing some inheritance by composition\n\t// i'll just use the native date adapter and just parse/format to interface it with a string\n\n\tprivate _nativeAdapter: LuNativeDateAdapter;\n\n\tconstructor(@Inject(LOCALE_ID) private _locale: string) {\n\t\tsuper();\n\t\tthis._nativeAdapter = new LuNativeDateAdapter(this._locale, {\n\t\t\tuseUtc: true,\n\t\t});\n\t}\n\n\tforge(year: number, month: number, date: number): string {\n\t\treturn this.dateToString(this._nativeAdapter.forge(year, month, date));\n\t}\n\n\tforgeToday(): string {\n\t\treturn this.dateToString(this._nativeAdapter.forgeToday());\n\t}\n\n\tforgeInvalid(): string {\n\t\treturn 'Invalid Date';\n\t}\n\n\tisValid(d: string): boolean {\n\t\treturn this._nativeAdapter.isValid(this.stringToDate(d));\n\t}\n\n\toverride compare(a: string, b: string, granularity: ELuDateGranularity): number {\n\t\tconst da = this.stringToDate(a);\n\t\tconst db = this.stringToDate(b);\n\n\t\treturn this._nativeAdapter.compare(da, db, granularity);\n\t}\n\n\tisParsable(text: string): boolean {\n\t\treturn this._nativeAdapter.isParsable(text);\n\t}\n\n\tparse(text: string, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.parse(text, granularity));\n\t}\n\n\tformat(d: string, format: string): string {\n\t\treturn this._nativeAdapter.format(this.stringToDate(d), format);\n\t}\n\n\tclone(d: string): string {\n\t\treturn `${d}`;\n\t}\n\n\tgetYear(d: string): number {\n\t\treturn this._nativeAdapter.getYear(this.stringToDate(d));\n\t}\n\n\tgetMonth(d: string): number {\n\t\treturn this._nativeAdapter.getMonth(this.stringToDate(d));\n\t}\n\n\tgetDate(d: string): number {\n\t\treturn this._nativeAdapter.getDate(this.stringToDate(d));\n\t}\n\n\tgetDay(d: string): number {\n\t\treturn this._nativeAdapter.getDay(this.stringToDate(d));\n\t}\n\n\tadd(d: string, count: number, granularity: ELuDateGranularity): string {\n\t\treturn this.dateToString(this._nativeAdapter.add(this.stringToDate(d), count, granularity));\n\t}\n\n\tprotected stringToDate(s: string): Date {\n\t\treturn new Date(`${s}T00:00:00Z`);\n\t}\n\n\tprotected dateToString(d: Date): string {\n\t\tlet result: string;\n\n\t\tif (d === undefined) {\n\t\t\tresult = undefined;\n\t\t} else if (!this._nativeAdapter.isValid(d)) {\n\t\t\tresult = this.forgeInvalid();\n\t\t} else {\n\t\t\tresult = d.toISOString().substring(0, 10);\n\t\t}\n\n\t\treturn result;\n\t}\n}\n","export interface ILuOnCloseSubscriber {\n\tonClose(): void;\n}\nexport abstract class ALuOnCloseSubscriber implements ILuOnCloseSubscriber {\n\tabstract onClose(): void;\n}\n","export interface ILuOnOpenSubscriber {\n\tonOpen(): void;\n}\nexport abstract class ALuOnOpenSubscriber implements ILuOnOpenSubscriber {\n\tabstract onOpen(): void;\n}\n","export interface ILuOnScrollBottomSubscriber {\n\tonScrollBottom(): void;\n}\nexport abstract class ALuOnScrollBottomSubscriber implements ILuOnScrollBottomSubscriber {\n\tabstract onScrollBottom(): void;\n}\n","import { inject, InjectionToken, LOCALE_ID } from '@angular/core';\nimport { ILuTranslation } from './translation.model';\n\nexport type ILuIntl<T> = { [P in keyof T]: string };\n\nfunction isSupportedLang<T>(locale: string, translations: ILuTranslation<T>): locale is keyof ILuTranslation<T> {\n\treturn locale in translations;\n}\n\nexport function getIntl<T>(translationsToken: InjectionToken<ILuTranslation<T>>): T {\n\tconst locale = inject(LOCALE_ID);\n\tconst translations = inject(translationsToken);\n\n\tif (isSupportedLang(locale, translations)) {\n\t\treturn translations[locale];\n\t}\n\n\tconst shortLocale = locale.substring(0, 2);\n\tif (isSupportedLang(shortLocale, translations)) {\n\t\treturn translations[shortLocale];\n\t}\n\n\treturn translations['en'];\n}\n","const ID_LENGTH = 8;\nconst ID_BASE = 16;\nexport function generateId(): string {\n\treturn Array(ID_LENGTH)\n\t\t.fill(0)\n\t\t.map(() => Math.floor(Math.random() * ID_BASE).toString(ID_BASE))\n\t\t.join('');\n}\n","import { Directive, inject, Input, OnChanges, Renderer2, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { PortalContent } from './portal-content';\n\n@Directive({\n\tselector: '[luPortal]',\n\tstandalone: true,\n})\nexport class PortalDirective<T = unknown> implements OnChanges {\n\tprivate viewContainerRef = inject(ViewContainerRef);\n\tprivate renderer = inject(Renderer2);\n\tprivate templateRef = inject(TemplateRef);\n\n\t@Input({ required: true })\n\tpublic luPortal: PortalContent<T> = null;\n\n\tprivate render(): void {\n\t\tthis.viewContainerRef.clear();\n\n\t\tif (this.luPortal instanceof TemplateRef) {\n\t\t\tthis.viewContainerRef.createEmbeddedView(this.luPortal);\n\t\t} else {\n\t\t\tconst ref = this.viewContainerRef.createEmbeddedView(this.templateRef);\n\t\t\tconst container: HTMLElement = ref.rootNodes[0] as HTMLElement;\n\t\t\tconst parent = container.parentElement;\n\t\t\tthis.renderer.insertBefore(parent, document.createTextNode(this.luPortal), container);\n\t\t}\n\t}\n\n\tngOnChanges(changes: SimpleChanges): void {\n\t\tif (changes['luPortal']) {\n\t\t\t// If we're here, it means that either the template ref changed or the string changed,\n\t\t\t// meaning that we need to render again\n\t\t\tthis.render();\n\t\t}\n\t}\n}\n","import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';\n\ntype LuClassSupportedTypes = string | string[] | Set<string> | { [klass: string]: boolean };\n\ninterface CssClassState {\n\tenabled: boolean;\n\tchanged: boolean;\n\ttouched: boolean;\n}\n\n@Injectable()\nexport class LuClass {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\t#renderer = inject(Renderer2);\n\n\t#state: Record<string, boolean> = {};\n\t#stateMap = new Map<string, CssClassState>();\n\n\tpublic setState(value: LuClassSupportedTypes) {\n\t\tthis.#state = normalizeToRecord(value);\n\n\t\tfor (const [klass, enabled] of Object.entries(this.#state)) {\n\t\t\tthis.#updateState(klass, enabled);\n\t\t}\n\n\t\tthis.#applyStateDiff();\n\t}\n\n\t#updateState(klass: string, nextEnabled: boolean) {\n\t\tconst state = this.#stateMap.get(klass);\n\t\tif (state !== undefined) {\n\t\t\tif (state.enabled !== nextEnabled) {\n\t\t\t\tstate.changed = true;\n\t\t\t\tstate.enabled = nextEnabled;\n\t\t\t}\n\t\t\tstate.touched = true;\n\t\t} else {\n\t\t\tthis.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });\n\t\t}\n\t}\n\n\t#applyStateDiff() {\n\t\tfor (const stateEntry of this.#stateMap) {\n\t\t\tconst klass = stateEntry[0];\n\t\t\tconst state = stateEntry[1];\n\n\t\t\tif (state.changed) {\n\t\t\t\tthis.#toggleClass(klass, state.enabled);\n\t\t\t\tstate.changed = false;\n\t\t\t} else if (!state.touched) {\n\t\t\t\t// A class that was previously active got removed from the new collection of classes -\n\t\t\t\t// remove from the DOM as well.\n\t\t\t\tif (state.enabled) {\n\t\t\t\t\tthis.#toggleClass(klass, false);\n\t\t\t\t}\n\t\t\t\tthis.#stateMap.delete(klass);\n\t\t\t}\n\n\t\t\tstate.touched = false;\n\t\t}\n\t}\n\n\t#toggleClass(klass: string, enabled: boolean): void {\n\t\tif (enabled) {\n\t\t\tthis.#renderer.addClass(this.#elementRef.nativeElement, klass);\n\t\t} else {\n\t\t\tthis.#renderer.removeClass(this.#elementRef.nativeElement, klass);\n\t\t}\n\t}\n}\n\nfunction normalizeToRecord(obj: LuClassSupportedTypes): Record<string, boolean> {\n\tif (Array.isArray(obj) || obj instanceof Set) {\n\t\tconst result: Record<string, boolean> = {};\n\n\t\tfor (const item of obj) {\n\t\t\tresult[item] = true;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tif (typeof obj === 'string') {\n\t\tobj = obj.trim();\n\t\treturn obj ? { [obj]: true } : {};\n\t}\n\n\treturn obj;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -29,13 +29,13 @@ class EmptyStatePageComponent {
|
|
|
29
29
|
this.contentBackgroundColor = 'var(--commons-background-base)';
|
|
30
30
|
}
|
|
31
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EmptyStatePageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: EmptyStatePageComponent, isStandalone: true, selector: "lu-empty-state-page", inputs: { icon: "icon", topRightBackground: "topRightBackground", topRightForeground: "topRightForeground", bottomLeftBackground: "bottomLeftBackground", bottomLeftForeground: "bottomLeftForeground", contentBackgroundColor: "contentBackgroundColor", title: "title", description: "description" }, host: { classAttribute: "emptyState-wrapper" }, ngImport: i0, template: "<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: EmptyStatePageComponent, isStandalone: true, selector: "lu-empty-state-page", inputs: { icon: "icon", topRightBackground: "topRightBackground", topRightForeground: "topRightForeground", bottomLeftBackground: "bottomLeftBackground", bottomLeftForeground: "bottomLeftForeground", contentBackgroundColor: "contentBackgroundColor", title: "title", description: "description" }, host: { classAttribute: "emptyState-wrapper" }, ngImport: i0, template: "<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{border-radius:var(--commons-borderRadius-L);max-width:100%;padding:var(--spacings-XXS);width:calc(25rem + var(--spacings-XXS) * 2)}.emptyState-content-icon{--components-emptyState-icon-background-color: var(--palettes-100, var(--palettes-primary-100));--components-emptyState-icon-action-color: var(--palettes-600, var(--palettes-primary-600))}.emptyState-content-text{padding:0 var(--spacings-XXS)}.emptyState-content-heading{margin-bottom:0}.emptyState-actions{display:flex;flex-wrap:wrap;gap:var(--spacings-XS)}.emptyState-actions .button{margin:0}.emptyState.mod-page{background-image:var(--components-emptyState-illustration-foreground-bottom-left),var(--components-emptyState-illustration-background-bottom-left),var(--components-emptyState-illustration-foreground-top-right),var(--components-emptyState-illustration-background-top-right);background-repeat:no-repeat;background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left),top left var(--components-emptyState-illustration-top-right-offset-left)}@media (width < 50em){.emptyState.mod-page{background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left-S),top left var(--components-emptyState-illustration-top-right-offset-left-S);background-size:auto 10.875rem}}.emptyState.mod-page .emptyState-content{background-color:var(--components-emptyState-background-color);box-shadow:0 0 8px 4px var(--components-emptyState-background-color)}.emptyState.mod-center{text-align:center}.emptyState.mod-center .emptyState-actions{justify-content:center}.emptyState-wrapper{display:flex;flex-direction:column;flex-grow:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: LuSafeExternalSvgPipe, name: "luSafeExternalSvg" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
33
33
|
}
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EmptyStatePageComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'lu-empty-state-page', standalone: true, imports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
37
37
|
class: 'emptyState-wrapper',
|
|
38
|
-
}, template: "<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{
|
|
38
|
+
}, template: "<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{border-radius:var(--commons-borderRadius-L);max-width:100%;padding:var(--spacings-XXS);width:calc(25rem + var(--spacings-XXS) * 2)}.emptyState-content-icon{--components-emptyState-icon-background-color: var(--palettes-100, var(--palettes-primary-100));--components-emptyState-icon-action-color: var(--palettes-600, var(--palettes-primary-600))}.emptyState-content-text{padding:0 var(--spacings-XXS)}.emptyState-content-heading{margin-bottom:0}.emptyState-actions{display:flex;flex-wrap:wrap;gap:var(--spacings-XS)}.emptyState-actions .button{margin:0}.emptyState.mod-page{background-image:var(--components-emptyState-illustration-foreground-bottom-left),var(--components-emptyState-illustration-background-bottom-left),var(--components-emptyState-illustration-foreground-top-right),var(--components-emptyState-illustration-background-top-right);background-repeat:no-repeat;background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left),top left var(--components-emptyState-illustration-top-right-offset-left)}@media (width < 50em){.emptyState.mod-page{background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left-S),top left var(--components-emptyState-illustration-top-right-offset-left-S);background-size:auto 10.875rem}}.emptyState.mod-page .emptyState-content{background-color:var(--components-emptyState-background-color);box-shadow:0 0 8px 4px var(--components-emptyState-background-color)}.emptyState.mod-center{text-align:center}.emptyState.mod-center .emptyState-actions{justify-content:center}.emptyState-wrapper{display:flex;flex-direction:column;flex-grow:1}\n"] }]
|
|
39
39
|
}], propDecorators: {
|
|
40
40
|
/**
|
|
41
41
|
* Icon image (URL)
|
|
@@ -74,11 +74,11 @@ class EmptyStateSectionComponent {
|
|
|
74
74
|
this.center = false;
|
|
75
75
|
}
|
|
76
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EmptyStateSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.2", type: EmptyStateSectionComponent, isStandalone: true, selector: "lu-empty-state-section", inputs: { icon: "icon", palette: "palette", center: ["center", "center", booleanAttribute], title: "title", description: "description" }, ngImport: i0, template: "<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{
|
|
77
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.2", type: EmptyStateSectionComponent, isStandalone: true, selector: "lu-empty-state-section", inputs: { icon: "icon", palette: "palette", center: ["center", "center", booleanAttribute], title: "title", description: "description" }, ngImport: i0, template: "<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{border-radius:var(--commons-borderRadius-L);max-width:100%;padding:var(--spacings-XXS);width:calc(25rem + var(--spacings-XXS) * 2)}.emptyState-content-icon{--components-emptyState-icon-background-color: var(--palettes-100, var(--palettes-primary-100));--components-emptyState-icon-action-color: var(--palettes-600, var(--palettes-primary-600))}.emptyState-content-text{padding:0 var(--spacings-XXS)}.emptyState-content-heading{margin-bottom:0}.emptyState-actions{display:flex;flex-wrap:wrap;gap:var(--spacings-XS)}.emptyState-actions .button{margin:0}.emptyState.mod-page{background-image:var(--components-emptyState-illustration-foreground-bottom-left),var(--components-emptyState-illustration-background-bottom-left),var(--components-emptyState-illustration-foreground-top-right),var(--components-emptyState-illustration-background-top-right);background-repeat:no-repeat;background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left),top left var(--components-emptyState-illustration-top-right-offset-left)}@media (width < 50em){.emptyState.mod-page{background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left-S),top left var(--components-emptyState-illustration-top-right-offset-left-S);background-size:auto 10.875rem}}.emptyState.mod-page .emptyState-content{background-color:var(--components-emptyState-background-color);box-shadow:0 0 8px 4px var(--components-emptyState-background-color)}.emptyState.mod-center{text-align:center}.emptyState.mod-center .emptyState-actions{justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: LuSafeExternalSvgPipe, name: "luSafeExternalSvg" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
78
78
|
}
|
|
79
79
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: EmptyStateSectionComponent, decorators: [{
|
|
80
80
|
type: Component,
|
|
81
|
-
args: [{ selector: 'lu-empty-state-section', standalone: true, imports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{
|
|
81
|
+
args: [{ selector: 'lu-empty-state-section', standalone: true, imports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n", styles: [".emptyState{--components-container-max-width: 100rem;--components-container-padding: 3.5rem;--components-emptyState-background-color: var(--commons-background-base);--components-emptyState-max-width: var(--components-container-max-width);--components-emptyState-illustration-top-right-offset-left: min(calc(100% + 5rem), calc(var(--components-emptyState-max-width) - 8.5rem));--components-emptyState-illustration-top-right-offset-left-S: min(calc(100% + 3.5rem), calc(var(--components-emptyState-max-width) - 8.5rem) );--background-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg);--foreground-left-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg);--background-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg);--foreground-right-01: url(https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg);--components-emptyState-illustration-background-bottom-left: var(--background-left-01);--components-emptyState-illustration-foreground-bottom-left: var(--foreground-left-01);--components-emptyState-illustration-background-top-right: var(--background-right-01);--components-emptyState-illustration-foreground-top-right: var(--foreground-right-01);display:flex;flex-direction:column;flex-grow:1;padding:var(--spacings-S)}.emptyState-container{align-items:center;display:flex;flex-grow:1;justify-content:center;max-width:var(--components-emptyState-max-width);padding:0;width:100%}.emptyState-content{border-radius:var(--commons-borderRadius-L);max-width:100%;padding:var(--spacings-XXS);width:calc(25rem + var(--spacings-XXS) * 2)}.emptyState-content-icon{--components-emptyState-icon-background-color: var(--palettes-100, var(--palettes-primary-100));--components-emptyState-icon-action-color: var(--palettes-600, var(--palettes-primary-600))}.emptyState-content-text{padding:0 var(--spacings-XXS)}.emptyState-content-heading{margin-bottom:0}.emptyState-actions{display:flex;flex-wrap:wrap;gap:var(--spacings-XS)}.emptyState-actions .button{margin:0}.emptyState.mod-page{background-image:var(--components-emptyState-illustration-foreground-bottom-left),var(--components-emptyState-illustration-background-bottom-left),var(--components-emptyState-illustration-foreground-top-right),var(--components-emptyState-illustration-background-top-right);background-repeat:no-repeat;background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left),top left var(--components-emptyState-illustration-top-right-offset-left)}@media (width < 50em){.emptyState.mod-page{background-position:bottom left,bottom left,top left var(--components-emptyState-illustration-top-right-offset-left-S),top left var(--components-emptyState-illustration-top-right-offset-left-S);background-size:auto 10.875rem}}.emptyState.mod-page .emptyState-content{background-color:var(--components-emptyState-background-color);box-shadow:0 0 8px 4px var(--components-emptyState-background-color)}.emptyState.mod-center{text-align:center}.emptyState.mod-center .emptyState-actions{justify-content:center}\n"] }]
|
|
82
82
|
}], propDecorators: { icon: [{
|
|
83
83
|
type: Input
|
|
84
84
|
}], palette: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-empty-state.mjs","sources":["../../../packages/ng/empty-state/empty-state-page/empty-state-page.component.ts","../../../packages/ng/empty-state/empty-state-page/empty-state-page.component.html","../../../packages/ng/empty-state/empty-state-section/empty-state-section.component.ts","../../../packages/ng/empty-state/empty-state-section/empty-state-section.component.html","../../../packages/ng/empty-state/lucca-front-ng-empty-state.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\n\n@Component({\n\tselector: 'lu-empty-state-page',\n\tstandalone: true,\n\timports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective],\n\ttemplateUrl: './empty-state-page.component.html',\n\tstyleUrl: './empty-state-page.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'emptyState-wrapper',\n\t},\n})\nexport class EmptyStatePageComponent {\n\t@Input()\n\n\t/**\n\t * Icon image (URL)\n\t */\n\ticon = null;\n\n\t/**\n\t * Top right background image (URL)\n\t */\n\t@Input()\n\ttopRightBackground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg';\n\n\t/**\n\t * Top right foreground image (URL)\n\t */\n\t@Input()\n\ttopRightForeground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg';\n\n\t/**\n\t * Bottom left background image (URL)\n\t */\n\t@Input()\n\tbottomLeftBackground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg';\n\n\t/**\n\t * Bottom left foreground image (URL)\n\t */\n\t@Input()\n\tbottomLeftForeground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg';\n\n\t/**\n\t * Background color for content (text)\n\t */\n\t@Input()\n\tcontentBackgroundColor = 'var(--commons-background-base)';\n\n\t@Input({\n\t\trequired: true,\n\t})\n\ttitle: string;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\tdescription: PortalContent;\n}\n","<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\n\n@Component({\n\tselector: 'lu-empty-state-section',\n\tstandalone: true,\n\timports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective],\n\ttemplateUrl: './empty-state-section.component.html',\n\tstyleUrl: './empty-state-section.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class EmptyStateSectionComponent {\n\t/**\n\t * Icon URL\n\t */\n\t@Input()\n\ticon = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/icons/iconBanknote.svg';\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tcenter = false;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\ttitle: string;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\tdescription: PortalContent;\n}\n","<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAiBa,uBAAuB,CAAA;AAZpC,IAAA,WAAA,GAAA;QAkBC,IAAI,CAAA,IAAA,GAAG,IAAI,CAAC;AAEZ;;AAEG;QAEH,IAAkB,CAAA,kBAAA,GAAG,sFAAsF,CAAC;AAE5G;;AAEG;QAEH,IAAkB,CAAA,kBAAA,GAAG,4EAA4E,CAAC;AAElG;;AAEG;QAEH,IAAoB,CAAA,oBAAA,GAAG,wFAAwF,CAAC;AAEhH;;AAEG;QAEH,IAAoB,CAAA,oBAAA,GAAG,4EAA4E,CAAC;AAEpG;;AAEG;QAEH,IAAsB,CAAA,sBAAA,GAAG,gCAAgC,CAAC;AAW1D,KAAA;8GA/CY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,uaCjBpC,qjCAuBA,EAAA,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-empty-state.mjs","sources":["../../../packages/ng/empty-state/empty-state-page/empty-state-page.component.ts","../../../packages/ng/empty-state/empty-state-page/empty-state-page.component.html","../../../packages/ng/empty-state/empty-state-section/empty-state-section.component.ts","../../../packages/ng/empty-state/empty-state-section/empty-state-section.component.html","../../../packages/ng/empty-state/lucca-front-ng-empty-state.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\n\n@Component({\n\tselector: 'lu-empty-state-page',\n\tstandalone: true,\n\timports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective],\n\ttemplateUrl: './empty-state-page.component.html',\n\tstyleUrl: './empty-state-page.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'emptyState-wrapper',\n\t},\n})\nexport class EmptyStatePageComponent {\n\t@Input()\n\n\t/**\n\t * Icon image (URL)\n\t */\n\ticon = null;\n\n\t/**\n\t * Top right background image (URL)\n\t */\n\t@Input()\n\ttopRightBackground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-top-right-01.svg';\n\n\t/**\n\t * Top right foreground image (URL)\n\t */\n\t@Input()\n\ttopRightForeground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/generic/coffee-01.svg';\n\n\t/**\n\t * Bottom left background image (URL)\n\t */\n\t@Input()\n\tbottomLeftBackground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/bubbles-bottom-left-01.svg';\n\n\t/**\n\t * Bottom left foreground image (URL)\n\t */\n\t@Input()\n\tbottomLeftForeground = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/poplee/core-hr-01.svg';\n\n\t/**\n\t * Background color for content (text)\n\t */\n\t@Input()\n\tcontentBackgroundColor = 'var(--commons-background-base)';\n\n\t@Input({\n\t\trequired: true,\n\t})\n\ttitle: string;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\tdescription: PortalContent;\n}\n","<section\n\tclass=\"emptyState mod-page\"\n\t[style.--components-emptyState-background-color]=\"contentBackgroundColor\"\n\tstyle.--components-emptyState-illustration-background-bottom-left=\"url({{bottomLeftBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-bottom-left=\"url({{bottomLeftForeground}})\"\n\tstyle.--components-emptyState-illustration-background-top-right=\"url({{topRightBackground}})\"\n\tstyle.--components-emptyState-illustration-foreground-top-right=\"url({{topRightForeground}})\"\n>\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h1 class=\"emptyState-content-heading\">{{title}}</h1>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n","import { CommonModule } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { Palette, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LuSafeExternalSvgPipe } from '@lucca-front/ng/safe-content';\n\n@Component({\n\tselector: 'lu-empty-state-section',\n\tstandalone: true,\n\timports: [CommonModule, LuSafeExternalSvgPipe, PortalDirective],\n\ttemplateUrl: './empty-state-section.component.html',\n\tstyleUrl: './empty-state-section.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class EmptyStateSectionComponent {\n\t/**\n\t * Icon URL\n\t */\n\t@Input()\n\ticon = 'https://cdn.lucca.fr/lucca-front/assets/empty-states/icons/iconBanknote.svg';\n\n\t@Input()\n\tpalette: Palette = 'none';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tcenter = false;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\ttitle: string;\n\n\t@Input({\n\t\trequired: true,\n\t})\n\tdescription: PortalContent;\n}\n","<section class=\"emptyState\" [class.mod-center]=\"center\" [style.--components-emptyState-background-color]=\"'var(--colors-white-color)'\">\n\t<div class=\"emptyState-container\">\n\t\t<div class=\"emptyState-content\">\n\t\t\t<div class=\"emptyState-content-icon palette-{{palette}}\" aria-hidden=\"true\" [innerHtml]=\"icon | luSafeExternalSvg\"></div>\n\t\t\t<div class=\"emptyState-content-text\">\n\t\t\t\t<h3 class=\"emptyState-content-heading\">{{title}}</h3>\n\t\t\t\t<p>\n\t\t\t\t\t<ng-container *luPortal=\"description\"></ng-container>\n\t\t\t\t</p>\n\t\t\t\t<div class=\"emptyState-actions\">\n\t\t\t\t\t<ng-content></ng-content>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</section>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|