@lucca-front/ng 21.2.1 → 22.0.0-rc.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.
Files changed (146) hide show
  1. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  2. package/fesm2022/lucca-front-ng-callout.mjs +10 -4
  3. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-comment.mjs +1 -1
  6. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-core-select-department.mjs +7 -5
  9. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-core-select-user.mjs +16 -11
  14. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-core-select.mjs +46 -18
  16. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-core.mjs +11 -6
  18. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-data-table.mjs +31 -15
  20. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-date.mjs +10 -6
  22. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-date2.mjs +104 -88
  24. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-dialog.mjs +36 -25
  27. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-empty-state.mjs +5 -4
  30. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-establishment.mjs +3 -3
  32. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-fancy-box.mjs +1 -1
  34. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-file-upload.mjs +5 -3
  36. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-filter-pills.mjs +3 -3
  38. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-form-field.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-formly.mjs +1 -1
  42. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +26 -21
  44. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +15 -13
  46. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +5 -3
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +26 -19
  50. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-forms.mjs +3 -3
  52. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-highlight-data.mjs +1 -1
  54. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-index-table.mjs +5 -5
  56. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-input.mjs +6 -5
  58. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-modal.mjs +5 -5
  62. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-multi-select.mjs +27 -14
  64. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-number-format.mjs +9 -8
  66. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-option.mjs +7 -3
  68. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-popover.mjs +6 -2
  71. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-popup.mjs +1 -1
  74. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-select.mjs +5 -4
  81. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-simple-select.mjs +11 -8
  84. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-time.mjs +2 -2
  88. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-tree-select.mjs +11 -10
  92. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-user.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  96. package/package.json +4 -4
  97. package/types/lucca-front-ng-api.d.ts +9 -9
  98. package/types/lucca-front-ng-clear.d.ts +1 -1
  99. package/types/lucca-front-ng-core-select-api.d.ts +14 -14
  100. package/types/lucca-front-ng-core-select-department.d.ts +10 -10
  101. package/types/lucca-front-ng-core-select-establishment.d.ts +12 -12
  102. package/types/lucca-front-ng-core-select-job-qualification.d.ts +6 -6
  103. package/types/lucca-front-ng-core-select-occupation-category.d.ts +6 -6
  104. package/types/lucca-front-ng-core-select-user.d.ts +19 -19
  105. package/types/lucca-front-ng-core-select.d.ts +53 -53
  106. package/types/lucca-front-ng-core.d.ts +10 -9
  107. package/types/lucca-front-ng-data-table.d.ts +40 -40
  108. package/types/lucca-front-ng-date.d.ts +2 -2
  109. package/types/lucca-front-ng-date2.d.ts +93 -93
  110. package/types/lucca-front-ng-department.d.ts +2 -2
  111. package/types/lucca-front-ng-dialog.d.ts +4 -4
  112. package/types/lucca-front-ng-divider.d.ts +1 -1
  113. package/types/lucca-front-ng-establishment.d.ts +9 -9
  114. package/types/lucca-front-ng-file-upload.d.ts +17 -17
  115. package/types/lucca-front-ng-filter-pills.d.ts +32 -32
  116. package/types/lucca-front-ng-form-field.d.ts +8 -8
  117. package/types/lucca-front-ng-forms-phone-number-input.d.ts +7 -7
  118. package/types/lucca-front-ng-forms-rich-text-input.d.ts +15 -14
  119. package/types/lucca-front-ng-forms.d.ts +39 -39
  120. package/types/lucca-front-ng-index-table.d.ts +39 -39
  121. package/types/lucca-front-ng-input.d.ts +8 -8
  122. package/types/lucca-front-ng-link.d.ts +4 -4
  123. package/types/lucca-front-ng-mobile-push.d.ts +1 -1
  124. package/types/lucca-front-ng-modal.d.ts +12 -12
  125. package/types/lucca-front-ng-multi-select.d.ts +24 -24
  126. package/types/lucca-front-ng-number-format.d.ts +2 -2
  127. package/types/lucca-front-ng-option.d.ts +18 -18
  128. package/types/lucca-front-ng-page-header.d.ts +1 -1
  129. package/types/lucca-front-ng-popover.d.ts +1 -1
  130. package/types/lucca-front-ng-popover2.d.ts +20 -20
  131. package/types/lucca-front-ng-popup.d.ts +8 -8
  132. package/types/lucca-front-ng-progress-bar.d.ts +1 -1
  133. package/types/lucca-front-ng-read-more.d.ts +6 -6
  134. package/types/lucca-front-ng-scroll-box.d.ts +3 -3
  135. package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -1
  136. package/types/lucca-front-ng-select.d.ts +12 -12
  137. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  138. package/types/lucca-front-ng-simple-select.d.ts +11 -11
  139. package/types/lucca-front-ng-skeleton.d.ts +1 -1
  140. package/types/lucca-front-ng-sortable-list.d.ts +8 -8
  141. package/types/lucca-front-ng-time.d.ts +17 -17
  142. package/types/lucca-front-ng-title.d.ts +5 -5
  143. package/types/lucca-front-ng-toast.d.ts +1 -1
  144. package/types/lucca-front-ng-tree-select.d.ts +11 -11
  145. package/types/lucca-front-ng-user-popover.d.ts +6 -6
  146. package/types/lucca-front-ng-user.d.ts +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-popup.mjs","sources":["../../../packages/ng/popup/popup-config.default.ts","../../../packages/ng/popup/popup.token.ts","../../../packages/ng/popup/popup-ref.model.ts","../../../packages/ng/popup/popup-ref.factory.ts","../../../packages/ng/popup/popup.service.ts","../../../packages/ng/popup/popup.module.ts","../../../packages/ng/popup/lucca-front-ng-popup.ts"],"sourcesContent":["import { ILuPopupConfig } from './popup-config.model';\n\nexport const luDefaultPopupConfig: ILuPopupConfig = {\n\tposition: 'center',\n\tnoBackdrop: false,\n\tundismissable: false,\n\tbackdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],\n\tpanelClass: 'lu-popup-panel',\n\tsize: 'M',\n};\n","import { InjectionToken } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ILuPopupRefFactory } from './popup-ref.model';\n\nexport const LU_POPUP_REF_FACTORY = new InjectionToken<ILuPopupRefFactory>('LuPopupRefFactory');\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const LU_POPUP_DATA = new InjectionToken<unknown>('LuPopupData');\nexport const LU_POPUP_CONFIG = new InjectionToken<ILuPopupConfig>('LuPopupDefaultConfig', {\n\tfactory: () => ({}),\n});\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { ComponentRef, Injector } from '@angular/core';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { LU_POPUP_DATA } from './popup.token';\n\nexport interface ILuPopupRef<D = unknown, R = unknown> {\n\tonOpen: Observable<D>;\n\tonClose: Observable<R>;\n\tonDismiss: Observable<void>;\n\tonBackdropClick: Observable<void>;\n\topen(data: D): void;\n\tclose(result: R): void;\n\tdismiss(): void;\n}\nexport interface ILuPopupRefFactory<TComponent = unknown, TConfig extends ILuPopupConfig = ILuPopupConfig> {\n\tforge<T extends TComponent, C extends TConfig, D, R>(component: ComponentType<T>, config: C): ILuPopupRef<D, R>;\n}\n\nexport abstract class ALuPopupRef<T = unknown, D = unknown, R = unknown, C extends ILuPopupConfig = ILuPopupConfig> implements ILuPopupRef<D, R> {\n\tonOpen = new Subject<D>();\n\tonClose = new Subject<R>();\n\tonDismiss = new Subject<void>();\n\tonBackdropClick = new Subject<void>();\n\n\tprotected _overlayRef: OverlayRef;\n\tprotected _componentRef: ComponentRef<T>;\n\n\tprotected _subs = new Subscription();\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t\tprotected _component: ComponentType<T>,\n\t\tprotected _config: C,\n\t) {}\n\n\topen(data?: D) {\n\t\tthis._createOverlay();\n\t\tthis._openPopup(data);\n\n\t\tthis._subToCloseEvents();\n\n\t\tthis.onOpen.next(data);\n\t\tthis.onOpen.complete();\n\t}\n\tclose(result?: R) {\n\t\tthis.onClose.next(result);\n\t\tthis._destroy();\n\t}\n\tdismiss() {\n\t\tthis.onDismiss.next();\n\t\tthis._destroy();\n\t}\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay() {\n\t\tif (!this._overlayRef) {\n\t\t\tconst overlayConfig = this._getOverlayConfig();\n\t\t\tthis._overlayRef = this._overlay.create(overlayConfig);\n\t\t}\n\t}\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayConfig = new OverlayConfig();\n\t\tswitch (this._config.position) {\n\t\t\tcase 'top':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().top('0');\n\t\t\t\tbreak;\n\t\t\tcase 'bottom':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().bottom('0');\n\t\t\t\tbreak;\n\t\t\tcase 'left':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerVertically().left('0');\n\t\t\t\tbreak;\n\t\t\tcase 'right':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerVertically().right('0');\n\t\t\t\tbreak;\n\t\t\tcase 'center':\n\t\t\tdefault:\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().centerVertically();\n\t\t\t\tbreak;\n\t\t}\n\t\toverlayConfig.hasBackdrop = !this._config.noBackdrop;\n\t\toverlayConfig.backdropClass = this._config.backdropClass;\n\t\toverlayConfig.panelClass = this._getOverlayPanelClasses();\n\t\toverlayConfig.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\treturn overlayConfig;\n\t}\n\tprotected _openPopup(data?: D) {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuPopupRef, useValue: this },\n\t\t\t\t{ provide: LU_POPUP_DATA, useValue: data },\n\t\t\t],\n\t\t\tparent: this._injector,\n\t\t});\n\t\tconst portal = new ComponentPortal(this._component, undefined, injector);\n\t\tthis._componentRef = this._overlayRef.attach<T>(portal);\n\t}\n\tprotected _getOverlayPanelClasses(): string[] {\n\t\tconst panelClasses: string[] = [];\n\t\tif (Array.isArray(this._config.panelClass)) {\n\t\t\tpanelClasses.push(...this._config.panelClass);\n\t\t} else {\n\t\t\tpanelClasses.push(this._config.panelClass);\n\t\t}\n\t\tpanelClasses.push(`mod-${this._config.size}`);\n\t\treturn panelClasses;\n\t}\n\tprotected _destroy() {\n\t\tthis._cleanSubscription();\n\t\tthis._closePopup();\n\t\tthis._destroyOverlay();\n\t\tthis._completeSubjects();\n\t}\n\tprotected _completeSubjects() {\n\t\tthis.onClose.complete();\n\t\tthis.onOpen.complete();\n\t\tthis.onDismiss.complete();\n\t\tthis.onBackdropClick.complete();\n\t}\n\tprotected _destroyOverlay() {\n\t\tthis._overlayRef.detachBackdrop();\n\t\tthis._overlayRef.detach();\n\t}\n\tprotected _closePopup() {\n\t\tthis._componentRef.destroy();\n\t}\n\tprotected _subToCloseEvents() {\n\t\tif (!this._config.undismissable) {\n\t\t\tthis._subToEscapeKeydownEvent();\n\t\t}\n\t\tthis._subToBackdropClickEvent();\n\t}\n\tprotected _subToEscapeKeydownEvent() {\n\t\tconst escPressed$ = this._overlayRef.keydownEvents().pipe(filter(({ key }) => key === 'Escape'));\n\t\tthis._subs.add(escPressed$.subscribe((_e) => this.dismiss()));\n\t}\n\tprotected _subToBackdropClickEvent() {\n\t\tconst bdClicked$ = this._overlayRef.backdropClick();\n\t\tconst bdClickedSub = bdClicked$.subscribe((_e) => {\n\t\t\tthis.onBackdropClick.next();\n\t\t\tif (!this._config.undismissable) {\n\t\t\t\tthis.dismiss();\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(bdClickedSub);\n\t}\n\tprotected _cleanSubscription() {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","import { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ALuPopupRef, ILuPopupRefFactory } from './popup-ref.model';\n\nexport class LuPopupRef<T = unknown, D = unknown, R = unknown> extends ALuPopupRef<T, D, R> {\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _injector: Injector,\n\t\tprotected override _component: ComponentType<T>,\n\t\tprotected override _config: ILuPopupConfig,\n\t) {\n\t\tsuper(_overlay, _injector, _component, _config);\n\t}\n}\n\n@Injectable()\nexport class LuPopupRefFactory implements ILuPopupRefFactory {\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t) {}\n\tforge<T, D, R>(component: ComponentType<T>, config: ILuPopupConfig) {\n\t\treturn new LuPopupRef<T, D, R>(this._overlay, this._injector, component, config);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject, Injectable } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ILuPopupRef } from './popup-ref.model';\nimport { LU_POPUP_CONFIG, LU_POPUP_REF_FACTORY } from './popup.token';\n\n@Injectable()\nexport class LuPopup {\n\tprotected _factory = inject(LU_POPUP_REF_FACTORY);\n\tprotected _config = inject(LU_POPUP_CONFIG);\n\n\topen<T, D, R>(component: ComponentType<T>, data: D = undefined, config: Partial<ILuPopupConfig> = {}): ILuPopupRef<D, R> {\n\t\tconst extendedConfig = { ...this._config, ...config };\n\t\tconst ref = this._factory.forge<T, ILuPopupConfig, D, R>(component, extendedConfig);\n\t\tref.open(data);\n\t\treturn ref;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport { luDefaultPopupConfig } from './popup-config.default';\nimport { LuPopupRefFactory } from './popup-ref.factory';\nimport { LuPopup } from './popup.service';\nimport { LU_POPUP_CONFIG, LU_POPUP_REF_FACTORY } from './popup.token';\n\n/**\n * @deprecated use `OverlayModule` imports && `LuPopup, { provide: LU_POPUP_CONFIG, useValue: luDefaultPopupConfig }, { provide: LU_POPUP_REF_FACTORY, useClass: LuPopupRefFactory }` providers instead\n */\n@NgModule({\n\timports: [OverlayModule],\n\texports: [],\n\tproviders: [LuPopup, { provide: LU_POPUP_CONFIG, useValue: luDefaultPopupConfig }, { provide: LU_POPUP_REF_FACTORY, useClass: LuPopupRefFactory }],\n})\nexport class LuPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;AAEO,MAAM,oBAAoB,GAAmB;AACnD,IAAA,QAAQ,EAAE,QAAQ;AAClB,IAAA,UAAU,EAAE,KAAK;AACjB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,aAAa,EAAE,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;AACjE,IAAA,UAAU,EAAE,gBAAgB;AAC5B,IAAA,IAAI,EAAE,GAAG;;;MCJG,oBAAoB,GAAG,IAAI,cAAc,CAAqB,mBAAmB;AAE9F;MACa,aAAa,GAAG,IAAI,cAAc,CAAU,aAAa;MACzD,eAAe,GAAG,IAAI,cAAc,CAAiB,sBAAsB,EAAE;AACzF,IAAA,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,CAAA;;MCWqB,WAAW,CAAA;AAWhC,IAAA,WAAA,CACW,QAAiB,EACjB,SAAmB,EACnB,UAA4B,EAC5B,OAAU,EAAA;QAHV,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,OAAO,GAAP,OAAO;AAdlB,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAK;AACzB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAK;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAQ;AAK3B,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE;IAOjC;AAEH,IAAA,IAAI,CAAC,IAAQ,EAAA;QACZ,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAErB,IAAI,CAAC,iBAAiB,EAAE;AAExB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACtB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IACvB;AACA,IAAA,KAAK,CAAC,MAAU,EAAA;AACf,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,QAAQ,EAAE;IAChB;IACA,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;QACrB,IAAI,CAAC,QAAQ,EAAE;IAChB;AACA;;;AAGG;IACO,cAAc,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACtB,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC;QACvD;IACD;AACA;;;AAGG;IACO,iBAAiB,GAAA;AAC1B,QAAA,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE;AACzC,QAAA,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC5B,YAAA,KAAK,KAAK;gBACT,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;gBAChG;AACD,YAAA,KAAK,QAAQ;gBACZ,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;gBACnG;AACD,YAAA,KAAK,MAAM;gBACV,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC/F;AACD,YAAA,KAAK,OAAO;gBACX,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;gBAChG;AACD,YAAA,KAAK,QAAQ;AACb,YAAA;AACC,gBAAA,aAAa,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;gBAC1G;;QAEF,aAAa,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;QACpD,aAAa,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;AACxD,QAAA,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,uBAAuB,EAAE;QACzD,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACrE,QAAA,OAAO,aAAa;IACrB;AACU,IAAA,UAAU,CAAC,IAAQ,EAAA;AAC5B,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAChC,YAAA,SAAS,EAAE;AACV,gBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;AACxC,gBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE;AAC1C,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,SAAS;AACtB,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAI,MAAM,CAAC;IACxD;IACU,uBAAuB,GAAA;QAChC,MAAM,YAAY,GAAa,EAAE;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC3C,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC9C;aAAO;YACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C;QACA,YAAY,CAAC,IAAI,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE,CAAC;AAC7C,QAAA,OAAO,YAAY;IACpB;IACU,QAAQ,GAAA;QACjB,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,WAAW,EAAE;QAClB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,iBAAiB,EAAE;IACzB;IACU,iBAAiB,GAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACtB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;IAChC;IACU,eAAe,GAAA;AACxB,QAAA,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE;AACjC,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;IAC1B;IACU,WAAW,GAAA;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;IAC7B;IACU,iBAAiB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,wBAAwB,EAAE;QAChC;QACA,IAAI,CAAC,wBAAwB,EAAE;IAChC;IACU,wBAAwB,GAAA;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,QAAQ,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D;IACU,wBAAwB,GAAA;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;QACnD,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAI;AAChD,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;gBAChC,IAAI,CAAC,OAAO,EAAE;YACf;AACD,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;IAC7B;IACU,kBAAkB,GAAA;AAC3B,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;IACzB;AACA;;AC1JK,MAAO,UAAkD,SAAQ,WAAoB,CAAA;AAC1F,IAAA,WAAA,CACoB,QAAiB,EACjB,SAAmB,EACnB,UAA4B,EAC5B,OAAuB,EAAA;QAE1C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;QAL5B,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;QACT,IAAA,CAAA,UAAU,GAAV,UAAU;QACV,IAAA,CAAA,OAAO,GAAP,OAAO;IAG3B;AACA;MAGY,iBAAiB,CAAA;IAC7B,WAAA,CACW,QAAiB,EACjB,SAAmB,EAAA;QADnB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,SAAS,GAAT,SAAS;IACjB;IACH,KAAK,CAAU,SAA2B,EAAE,MAAsB,EAAA;AACjE,QAAA,OAAO,IAAI,UAAU,CAAU,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;IACjF;8GAPY,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjB,iBAAiB,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B;;;MCTY,OAAO,CAAA;AADpB,IAAA,WAAA,GAAA;AAEW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACvC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC;AAQ3C,IAAA;AANA,IAAA,IAAI,CAAU,SAA2B,EAAE,OAAU,SAAS,EAAE,SAAkC,EAAE,EAAA;QACnG,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE;AACrD,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAA0B,SAAS,EAAE,cAAc,CAAC;AACnF,QAAA,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AACd,QAAA,OAAO,GAAG;IACX;8GATY,OAAO,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAP,OAAO,EAAA,CAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBADnB;;;ACCD;;AAEG;MAMU,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAJf,aAAa,CAAA,EAAA,CAAA,CAAA;+GAIX,aAAa,EAAA,SAAA,EAFd,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAA,OAAA,EAAA,CAFxI,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAIX,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;AACxB,oBAAA,OAAO,EAAE,EAAE;oBACX,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AAClJ,iBAAA;;;ACdD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-popup.mjs","sources":["../../../packages/ng/popup/popup-config.default.ts","../../../packages/ng/popup/popup.token.ts","../../../packages/ng/popup/popup-ref.model.ts","../../../packages/ng/popup/popup-ref.factory.ts","../../../packages/ng/popup/popup.service.ts","../../../packages/ng/popup/popup.module.ts","../../../packages/ng/popup/lucca-front-ng-popup.ts"],"sourcesContent":["import { ILuPopupConfig } from './popup-config.model';\n\nexport const luDefaultPopupConfig: ILuPopupConfig = {\n\tposition: 'center',\n\tnoBackdrop: false,\n\tundismissable: false,\n\tbackdropClass: ['cdk-overlay-dark-backdrop', 'lu-popup-backdrop'],\n\tpanelClass: 'lu-popup-panel',\n\tsize: 'M',\n};\n","import { InjectionToken } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ILuPopupRefFactory } from './popup-ref.model';\n\nexport const LU_POPUP_REF_FACTORY = new InjectionToken<ILuPopupRefFactory>('LuPopupRefFactory');\n\n/** Injection token that can be used to access the data that was passed in to a dialog. */\nexport const LU_POPUP_DATA = new InjectionToken<unknown>('LuPopupData');\nexport const LU_POPUP_CONFIG = new InjectionToken<ILuPopupConfig>('LuPopupDefaultConfig', {\n\tfactory: () => ({}),\n});\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType } from '@angular/cdk/portal';\nimport { ComponentRef, Injector } from '@angular/core';\nimport { Observable, Subject, Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { LU_POPUP_DATA } from './popup.token';\n\nexport interface ILuPopupRef<D = unknown, R = unknown> {\n\tonOpen: Observable<D | undefined>;\n\tonClose: Observable<R | undefined>;\n\tonDismiss: Observable<void>;\n\tonBackdropClick: Observable<void>;\n\topen(data?: D): void;\n\tclose(result: R): void;\n\tdismiss(): void;\n}\nexport interface ILuPopupRefFactory<TComponent = unknown, TConfig extends ILuPopupConfig = ILuPopupConfig> {\n\tforge<T extends TComponent, C extends TConfig, D, R>(component: ComponentType<T>, config: C): ILuPopupRef<D, R>;\n}\n\nexport abstract class ALuPopupRef<T = unknown, D = unknown, R = unknown, C extends ILuPopupConfig = ILuPopupConfig> implements ILuPopupRef<D, R> {\n\treadonly onOpen = new Subject<D | undefined>();\n\treadonly onClose = new Subject<R | undefined>();\n\treadonly onDismiss = new Subject<void>();\n\treadonly onBackdropClick = new Subject<void>();\n\n\tprotected _overlayRef: OverlayRef;\n\tprotected _componentRef: ComponentRef<T>;\n\n\tprotected _subs = new Subscription();\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t\tprotected _component: ComponentType<T>,\n\t\tprotected _config: C,\n\t) {}\n\n\topen(data?: D) {\n\t\tthis._createOverlay();\n\t\tthis._openPopup(data);\n\n\t\tthis._subToCloseEvents();\n\n\t\tthis.onOpen.next(data);\n\t\tthis.onOpen.complete();\n\t}\n\tclose(result?: R) {\n\t\tthis.onClose.next(result);\n\t\tthis._destroy();\n\t}\n\tdismiss() {\n\t\tthis.onDismiss.next();\n\t\tthis._destroy();\n\t}\n\t/**\n\t * This method creates the overlay from the provided popover's template and saves its\n\t * OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay() {\n\t\tif (!this._overlayRef) {\n\t\t\tconst overlayConfig = this._getOverlayConfig();\n\t\t\tthis._overlayRef = this._overlay.create(overlayConfig);\n\t\t}\n\t}\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayConfig = new OverlayConfig();\n\t\tswitch (this._config.position) {\n\t\t\tcase 'top':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().top('0');\n\t\t\t\tbreak;\n\t\t\tcase 'bottom':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().bottom('0');\n\t\t\t\tbreak;\n\t\t\tcase 'left':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerVertically().left('0');\n\t\t\t\tbreak;\n\t\t\tcase 'right':\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerVertically().right('0');\n\t\t\t\tbreak;\n\t\t\tcase 'center':\n\t\t\tdefault:\n\t\t\t\toverlayConfig.positionStrategy = this._overlay.position().global().centerHorizontally().centerVertically();\n\t\t\t\tbreak;\n\t\t}\n\t\toverlayConfig.hasBackdrop = !this._config.noBackdrop;\n\t\toverlayConfig.backdropClass = this._config.backdropClass;\n\t\toverlayConfig.panelClass = this._getOverlayPanelClasses();\n\t\toverlayConfig.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\treturn overlayConfig;\n\t}\n\tprotected _openPopup(data?: D) {\n\t\tconst injector = Injector.create({\n\t\t\tproviders: [\n\t\t\t\t{ provide: ALuPopupRef, useValue: this },\n\t\t\t\t{ provide: LU_POPUP_DATA, useValue: data },\n\t\t\t],\n\t\t\tparent: this._injector,\n\t\t});\n\t\tconst portal = new ComponentPortal(this._component, undefined, injector);\n\t\tthis._componentRef = this._overlayRef.attach<T>(portal);\n\t}\n\tprotected _getOverlayPanelClasses(): string[] {\n\t\tconst panelClasses: string[] = [];\n\t\tif (Array.isArray(this._config.panelClass)) {\n\t\t\tpanelClasses.push(...this._config.panelClass);\n\t\t} else if (typeof this._config.panelClass === 'string') {\n\t\t\tpanelClasses.push(this._config.panelClass);\n\t\t}\n\t\tpanelClasses.push(`mod-${this._config.size}`);\n\t\treturn panelClasses;\n\t}\n\tprotected _destroy() {\n\t\tthis._cleanSubscription();\n\t\tthis._closePopup();\n\t\tthis._destroyOverlay();\n\t\tthis._completeSubjects();\n\t}\n\tprotected _completeSubjects() {\n\t\tthis.onClose.complete();\n\t\tthis.onOpen.complete();\n\t\tthis.onDismiss.complete();\n\t\tthis.onBackdropClick.complete();\n\t}\n\tprotected _destroyOverlay() {\n\t\tthis._overlayRef.detachBackdrop();\n\t\tthis._overlayRef.detach();\n\t}\n\tprotected _closePopup() {\n\t\tthis._componentRef.destroy();\n\t}\n\tprotected _subToCloseEvents() {\n\t\tif (!this._config.undismissable) {\n\t\t\tthis._subToEscapeKeydownEvent();\n\t\t}\n\t\tthis._subToBackdropClickEvent();\n\t}\n\tprotected _subToEscapeKeydownEvent() {\n\t\tconst escPressed$ = this._overlayRef.keydownEvents().pipe(filter(({ key }) => key === 'Escape'));\n\t\tthis._subs.add(escPressed$.subscribe((_e) => this.dismiss()));\n\t}\n\tprotected _subToBackdropClickEvent() {\n\t\tconst bdClicked$ = this._overlayRef.backdropClick();\n\t\tconst bdClickedSub = bdClicked$.subscribe((_e) => {\n\t\t\tthis.onBackdropClick.next();\n\t\t\tif (!this._config.undismissable) {\n\t\t\t\tthis.dismiss();\n\t\t\t}\n\t\t});\n\t\tthis._subs.add(bdClickedSub);\n\t}\n\tprotected _cleanSubscription() {\n\t\tthis._subs.unsubscribe();\n\t}\n}\n","import { ComponentType, Overlay } from '@angular/cdk/overlay';\nimport { Injectable, Injector } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ALuPopupRef, ILuPopupRefFactory } from './popup-ref.model';\n\nexport class LuPopupRef<T = unknown, D = unknown, R = unknown> extends ALuPopupRef<T, D, R> {\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _injector: Injector,\n\t\tprotected override _component: ComponentType<T>,\n\t\tprotected override _config: ILuPopupConfig,\n\t) {\n\t\tsuper(_overlay, _injector, _component, _config);\n\t}\n}\n\n@Injectable()\nexport class LuPopupRefFactory implements ILuPopupRefFactory {\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _injector: Injector,\n\t) {}\n\tforge<T, D, R>(component: ComponentType<T>, config: ILuPopupConfig) {\n\t\treturn new LuPopupRef<T, D, R>(this._overlay, this._injector, component, config);\n\t}\n}\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { inject, Injectable } from '@angular/core';\nimport { ILuPopupConfig } from './popup-config.model';\nimport { ILuPopupRef } from './popup-ref.model';\nimport { LU_POPUP_CONFIG, LU_POPUP_REF_FACTORY } from './popup.token';\n\n@Injectable()\nexport class LuPopup {\n\tprotected _factory = inject(LU_POPUP_REF_FACTORY);\n\tprotected _config = inject(LU_POPUP_CONFIG);\n\n\topen<T, D, R>(component: ComponentType<T>, data: D | undefined = undefined, config: Partial<ILuPopupConfig> = {}): ILuPopupRef<D, R> {\n\t\tconst extendedConfig = { ...this._config, ...config };\n\t\tconst ref = this._factory.forge<T, ILuPopupConfig, D, R>(component, extendedConfig);\n\t\tref.open(data);\n\t\treturn ref;\n\t}\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { NgModule } from '@angular/core';\nimport { luDefaultPopupConfig } from './popup-config.default';\nimport { LuPopupRefFactory } from './popup-ref.factory';\nimport { LuPopup } from './popup.service';\nimport { LU_POPUP_CONFIG, LU_POPUP_REF_FACTORY } from './popup.token';\n\n/**\n * @deprecated use `OverlayModule` imports && `LuPopup, { provide: LU_POPUP_CONFIG, useValue: luDefaultPopupConfig }, { provide: LU_POPUP_REF_FACTORY, useClass: LuPopupRefFactory }` providers instead\n */\n@NgModule({\n\timports: [OverlayModule],\n\texports: [],\n\tproviders: [LuPopup, { provide: LU_POPUP_CONFIG, useValue: luDefaultPopupConfig }, { provide: LU_POPUP_REF_FACTORY, useClass: LuPopupRefFactory }],\n})\nexport class LuPopupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-progress-bar.mjs","sources":["../../../packages/ng/progress-bar/progress-bar.component.ts","../../../packages/ng/progress-bar/progress-bar.component.html","../../../packages/ng/progress-bar/lucca-front-ng-progress-bar.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, numberAttribute, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-progress-bar',\n\ttemplateUrl: './progress-bar.component.html',\n\tstyleUrl: './progress-bar.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressBarComponent {\n\t/**\n\t * Progress percentage (0 to 100)\n\t */\n\treadonly value = input(0, { transform: numberAttribute });\n\n\t/**\n\t * Progress bar state\n\t */\n\treadonly state = input<'success' | 'error' | 'null'>(null);\n\n\t/**\n\t * Displays a loading state without progress information\n\t */\n\treadonly indeterminate = input(false, { transform: booleanAttribute });\n\n\treadonly stateClass = computed(() => ({\n\t\t[`is-${this.state()}`]: !!this.state(),\n\t}));\n}\n","<div class=\"progress\" [class]=\"stateClass()\" [class.mod-indeterminate]=\"indeterminate()\">\n\t<div class=\"progress-bar\" [attr.style]=\"'width:' + value() + '%'\"></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;AAQC;;AAEG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,CAAC,kDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAEzD;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA+B,IAAI,iDAAC;AAE1D;;AAEG;QACM,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,0DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE7D,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,OAAO;AACrC,YAAA,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACtC,SAAA,CAAC,sDAAC;AACH,IAAA;8GAnBY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,udCTjC,2LAGA,EAAA,MAAA,EAAA,CAAA,8qEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDMa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,iBAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2LAAA,EAAA,MAAA,EAAA,CAAA,8qEAAA,CAAA,EAAA;;;AEPhD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-progress-bar.mjs","sources":["../../../packages/ng/progress-bar/progress-bar.component.ts","../../../packages/ng/progress-bar/progress-bar.component.html","../../../packages/ng/progress-bar/lucca-front-ng-progress-bar.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, numberAttribute, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-progress-bar',\n\ttemplateUrl: './progress-bar.component.html',\n\tstyleUrl: './progress-bar.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ProgressBarComponent {\n\t/**\n\t * Progress percentage (0 to 100)\n\t */\n\treadonly value = input(0, { transform: numberAttribute });\n\n\t/**\n\t * Progress bar state\n\t */\n\treadonly state = input<'success' | 'error' | null>(null);\n\n\t/**\n\t * Displays a loading state without progress information\n\t */\n\treadonly indeterminate = input(false, { transform: booleanAttribute });\n\n\treadonly stateClass = computed(() => ({\n\t\t[`is-${this.state()}`]: !!this.state(),\n\t}));\n}\n","<div class=\"progress\" [class]=\"stateClass()\" [class.mod-indeterminate]=\"indeterminate()\">\n\t<div class=\"progress-bar\" [attr.style]=\"'width:' + value() + '%'\"></div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MASa,oBAAoB,CAAA;AAPjC,IAAA,WAAA,GAAA;AAQC;;AAEG;QACM,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,CAAC,kDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAEzD;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA6B,IAAI,iDAAC;AAExD;;AAEG;QACM,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,KAAK,0DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE7D,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,OAAO;AACrC,YAAA,CAAC,CAAA,GAAA,EAAM,IAAI,CAAC,KAAK,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;AACtC,SAAA,CAAC,sDAAC;AACH,IAAA;8GAnBY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,udCTjC,2LAGA,EAAA,MAAA,EAAA,CAAA,8qEAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDMa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,iBAGZ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2LAAA,EAAA,MAAA,EAAA,CAAA,8qEAAA,CAAA,EAAA;;;AEPhD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': '`\"${labelReadLess()}\"`',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent {\n\tintl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS));\n\n\t/**\n\t * Change the number of lines displayed when collapsed\n\t */\n\treadonly lineClamp = input<number>(5);\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\t/**\n\t * Allow content to be passed via innerHTML\n\t */\n\treadonly innerContent = input<null | string>(null);\n\n\tlabelReadMore = computed(() => this.intl().readMore);\n\tlabelReadLess = computed(() => this.intl().readLess);\n\n\tlabel = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()));\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\texpanded = signal(false);\n\tisClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\treadonly isInnerContentNil = computed(() => isNil(this.innerContent()));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tconst content = this.contentRef();\n\n\t\t\tif (!content) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst observer = new ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\n\t\t\t\tif (!contentElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(content.nativeElement);\n\t\t\tdestroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\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-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': '`\"${labelReadLess()}\"`',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent {\n\treadonly intl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS));\n\n\t/**\n\t * Change the number of lines displayed when collapsed\n\t */\n\treadonly lineClamp = input<number>(5);\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\t/**\n\t * Allow content to be passed via innerHTML\n\t */\n\treadonly innerContent = input<null | string>(null);\n\n\treadonly labelReadMore = computed(() => this.intl().readMore);\n\treadonly labelReadLess = computed(() => this.intl().readLess);\n\n\treadonly label = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()));\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\treadonly expanded = signal(false);\n\treadonly isClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\treadonly isInnerContentNil = computed(() => isNil(this.innerContent()));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tconst content = this.contentRef();\n\n\t\t\tif (!content) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst observer = new ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\n\t\t\t\tif (!contentElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(content.nativeElement);\n\t\t\tdestroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-scroll-box.mjs","sources":["../../../packages/ng/scroll-box/scroll-box.component.ts","../../../packages/ng/scroll-box/lucca-front-ng-scroll-box.ts"],"sourcesContent":["import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-scroll-box',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrl: './scroll-box.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'scrollBox',\n\t\t'(scroll)': 'scroll()',\n\t\t'[class.is-firstVisible]': 'isFirstVisible()',\n\t\t'[class.is-lastVisible]': 'isLastVisible()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollBoxComponent implements OnInit {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/**\n\t * Scroll box content vertically\n\t */\n\tvertical = input(false, { transform: booleanAttribute });\n\n\tisFirstVisible = signal(true);\n\tisLastVisible = signal(false);\n\n\tscroll() {\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.#elementRef.nativeElement);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAgBa,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAUX,MAAM,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9J;aAAO;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;QAC7J;IACD;AAEA,IAAA,WAAA,GAAA;AApBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI,0DAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;QAa5B,eAAe,CAAC,MAAK;YACpB,IAAI,CAAC,MAAM,EAAE;AACd,QAAA,CAAC,CAAC;IACH;IAEA,QAAQ,GAAA;QACP,IAAI,cAAc,CAAC,MAAK;YACvB,IAAI,CAAC,MAAM,EAAE;QACd,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAC3C;8GA/BY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,0YAXpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kiJAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAWd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;+BACC,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,QAAA,EACN,gBAAgB,iBAEX,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,wBAAwB,EAAE,iBAAiB;qBAC3C,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,kiJAAA,CAAA,EAAA;;;ACdhD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-scroll-box.mjs","sources":["../../../packages/ng/scroll-box/scroll-box.component.ts","../../../packages/ng/scroll-box/lucca-front-ng-scroll-box.ts"],"sourcesContent":["import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-scroll-box',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrl: './scroll-box.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'scrollBox',\n\t\t'(scroll)': 'scroll()',\n\t\t'[class.is-firstVisible]': 'isFirstVisible()',\n\t\t'[class.is-lastVisible]': 'isLastVisible()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ScrollBoxComponent implements OnInit {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/**\n\t * Scroll box content vertically\n\t */\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\treadonly isFirstVisible = signal(true);\n\treadonly isLastVisible = signal(false);\n\n\tscroll() {\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.#elementRef.nativeElement);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAgBa,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAUX,MAAM,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9J;aAAO;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;QAC7J;IACD;AAEA,IAAA,WAAA,GAAA;AApBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI,0DAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;QAarC,eAAe,CAAC,MAAK;YACpB,IAAI,CAAC,MAAM,EAAE;AACd,QAAA,CAAC,CAAC;IACH;IAEA,QAAQ,GAAA;QACP,IAAI,cAAc,CAAC,MAAK;YACvB,IAAI,CAAC,MAAM,EAAE;QACd,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAC3C;8GA/BY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,0YAXpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kiJAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAWd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAd9B,SAAS;+BACC,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,QAAA,EACN,gBAAgB,iBAEX,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,wBAAwB,EAAE,iBAAiB;qBAC3C,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,kiJAAA,CAAA,EAAA;;;ACdhD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-scroll.mjs","sources":["../../../packages/ng/scroll/scroll.directive.ts","../../../packages/ng/scroll/scroll.module.ts","../../../packages/ng/scroll/lucca-front-ng-scroll.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Directive, ElementRef, input, OnInit, output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ILuScrollable } from './scroll.model';\n\n/**\n * emits on scroll events\n */\n@Directive({\n\tselector: '[luScroll]',\n\texportAs: 'luScroll',\n\thost: {\n\t\t'(scroll)': 'scroll($event)',\n\t},\n})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\treadonly debounceTime = input<number>(100);\n\treadonly onScroll = output<Event>();\n\treadonly onScrollTop = output<Event>();\n\treadonly onScrollBottom = output<Event>();\n\treadonly onScrollLeft = output<Event>();\n\treadonly onScrollRight = output<Event>();\n\n\t#scrollSubject = new Subject<Event>();\n\t#scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));\n\n\tscroll(event: Event) {\n\t\tthis.#scrollSubject.next(event);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.#scroll$.subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));\n\t}\n\tprivate emitScrollEvents($event: Event) {\n\t\tthis.onScroll.emit($event);\n\n\t\tconst target = $event.target;\n\t\tif (target instanceof Element) {\n\t\t\tconst scrollLeft = target.scrollLeft;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tif (scrollLeft === 0) {\n\t\t\t\tthis.onScrollLeft.emit($event);\n\t\t\t}\n\t\t\tif (scrollTop === 0) {\n\t\t\t\tthis.onScrollTop.emit($event);\n\t\t\t}\n\t\t\tconst scrollWidth = target.scrollWidth;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst eltHeight = this._elementRef.nativeElement.clientHeight;\n\t\t\tconst eltWidth = this._elementRef.nativeElement.clientWidth;\n\t\t\tif (scrollWidth - scrollLeft - eltWidth < 10) {\n\t\t\t\tthis.onScrollRight.emit($event);\n\t\t\t}\n\t\t\tif (scrollHeight - scrollTop - eltHeight < 10) {\n\t\t\t\tthis.onScrollBottom.emit($event);\n\t\t\t}\n\t\t}\n\t}\n\tconstructor(protected _elementRef: ElementRef<HTMLElement>) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuScrollDirective } from './scroll.directive';\n\n/**\n * @deprecated use `LuScrollDirective` instead\n */\n@NgModule({\n\timports: [LuScrollDirective],\n\texports: [LuScrollDirective],\n})\nexport class LuScrollModule {}\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-scroll.mjs","sources":["../../../packages/ng/scroll/scroll.directive.ts","../../../packages/ng/scroll/scroll.module.ts","../../../packages/ng/scroll/lucca-front-ng-scroll.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Directive, ElementRef, input, OnInit, output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ILuScrollable } from './scroll.model';\n\n/**\n * emits on scroll events\n */\n@Directive({\n\tselector: '[luScroll]',\n\texportAs: 'luScroll',\n\thost: {\n\t\t'(scroll)': 'scroll($event)',\n\t},\n})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\treadonly debounceTime = input<number>(100);\n\treadonly onScroll = output<Event>();\n\treadonly onScrollTop = output<Event>();\n\treadonly onScrollBottom = output<Event>();\n\treadonly onScrollLeft = output<Event>();\n\treadonly onScrollRight = output<Event>();\n\n\t#scrollSubject = new Subject<Event>();\n\treadonly #scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));\n\n\tscroll(event: Event) {\n\t\tthis.#scrollSubject.next(event);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.#scroll$.subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));\n\t}\n\tprivate emitScrollEvents($event: Event) {\n\t\tthis.onScroll.emit($event);\n\n\t\tconst target = $event.target;\n\t\tif (target instanceof Element) {\n\t\t\tconst scrollLeft = target.scrollLeft;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tif (scrollLeft === 0) {\n\t\t\t\tthis.onScrollLeft.emit($event);\n\t\t\t}\n\t\t\tif (scrollTop === 0) {\n\t\t\t\tthis.onScrollTop.emit($event);\n\t\t\t}\n\t\t\tconst scrollWidth = target.scrollWidth;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst eltHeight = this._elementRef.nativeElement.clientHeight;\n\t\t\tconst eltWidth = this._elementRef.nativeElement.clientWidth;\n\t\t\tif (scrollWidth - scrollLeft - eltWidth < 10) {\n\t\t\t\tthis.onScrollRight.emit($event);\n\t\t\t}\n\t\t\tif (scrollHeight - scrollTop - eltHeight < 10) {\n\t\t\t\tthis.onScrollBottom.emit($event);\n\t\t\t}\n\t\t}\n\t}\n\tconstructor(protected _elementRef: ElementRef<HTMLElement>) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuScrollDirective } from './scroll.directive';\n\n/**\n * @deprecated use `LuScrollDirective` instead\n */\n@NgModule({\n\timports: [LuScrollDirective],\n\texports: [LuScrollDirective],\n})\nexport class LuScrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-segmented-control-tabs.mjs","sources":["../../../packages/ng/segmented-control-tabs/segmented-control-tabs.token.ts","../../../packages/ng/segmented-control-tabs/panel/panel.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.html","../../../packages/ng/segmented-control-tabs/lucca-front-ng-segmented-control-tabs.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlTabsComponent } from './segmented-control-tabs.component';\n\nexport const LU_SEGMENTEDCONTROLTABS_INSTANCE = new InjectionToken<SegmentedControlTabsComponent>('LU_SEGMENTEDCONTROLTABS_INSTANCE');\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from '../segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs-panel',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'segmentedControl_panel',\n\t\trole: 'tabpanel',\n\t\t'[tabindex]': '0',\n\t\t'[class.is-active]': 'segmentedControlTabsRef.active() === value()',\n\t\t'[id]': 'panelId',\n\t\t'[attr.aria-labelledby]': 'labelId',\n\t},\n})\nexport class SegmentedControlTabsPanelComponent<T = unknown> {\n\tprotected segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);\n\n\treadonly label = input<PortalContent>();\n\n\treadonly value = input.required<T>();\n\n\treadonly id = nextId++;\n\n\treadonly panelId = `panel${this.id}`;\n\treadonly labelId = `tab${this.id}`;\n}\n","import {\n\tAfterContentInit,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinput,\n\tmodel,\n\tviewChildren,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { SegmentedControlTabsPanelComponent } from './public-api';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from './segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs',\n\ttemplateUrl: './segmented-control-tabs.component.html',\n\tstyleUrl: './segmented-control-tabs.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [NoopValueAccessorDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROLTABS_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlTabsComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlTabsComponent<T = unknown> implements AfterContentInit {\n\t/**\n\t * Applies small size to segmented control tabs\n\t */\n\treadonly small = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Display segmented control tabs vertically\n\t */\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\tactive = model<T>(null);\n\n\treadonly id = `segmentedControl${nextId++}`;\n\n\treadonly tabs = contentChildren<SegmentedControlTabsPanelComponent<T>>(SegmentedControlTabsPanelComponent);\n\treadonly tabButtons = viewChildren<ElementRef<HTMLButtonElement>>('tabButton');\n\n\treadonly currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()));\n\n\tprevious() {\n\t\tlet newIndex = this.currentIndex() - 1;\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this.tabs().length - 1;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tnext() {\n\t\tlet newIndex = this.currentIndex() + 1;\n\t\tif (newIndex >= this.tabs().length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tsetActiveTab(index: number) {\n\t\tthis.active.set(this.tabs()[index].value());\n\t\tthis.tabButtons()[index].nativeElement.focus();\n\t}\n\n\tngAfterContentInit(): void {\n\t\tif (this.active() === null) {\n\t\t\tthis.active.set(this.tabs()[0].value());\n\t\t}\n\t}\n}\n","<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-segmented-control-tabs.mjs","sources":["../../../packages/ng/segmented-control-tabs/segmented-control-tabs.token.ts","../../../packages/ng/segmented-control-tabs/panel/panel.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.html","../../../packages/ng/segmented-control-tabs/lucca-front-ng-segmented-control-tabs.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlTabsComponent } from './segmented-control-tabs.component';\n\nexport const LU_SEGMENTEDCONTROLTABS_INSTANCE = new InjectionToken<SegmentedControlTabsComponent>('LU_SEGMENTEDCONTROLTABS_INSTANCE');\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from '../segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs-panel',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'segmentedControl_panel',\n\t\trole: 'tabpanel',\n\t\t'[tabindex]': '0',\n\t\t'[class.is-active]': 'segmentedControlTabsRef.active() === value()',\n\t\t'[id]': 'panelId',\n\t\t'[attr.aria-labelledby]': 'labelId',\n\t},\n})\nexport class SegmentedControlTabsPanelComponent<T = unknown> {\n\tprotected segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);\n\n\treadonly label = input<PortalContent>();\n\n\treadonly value = input.required<T>();\n\n\treadonly id = nextId++;\n\n\treadonly panelId = `panel${this.id}`;\n\treadonly labelId = `tab${this.id}`;\n}\n","import {\n\tAfterContentInit,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinput,\n\tmodel,\n\tviewChildren,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { SegmentedControlTabsPanelComponent } from './public-api';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from './segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs',\n\ttemplateUrl: './segmented-control-tabs.component.html',\n\tstyleUrl: './segmented-control-tabs.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [NoopValueAccessorDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROLTABS_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlTabsComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlTabsComponent<T = unknown> implements AfterContentInit {\n\t/**\n\t * Applies small size to segmented control tabs\n\t */\n\treadonly small = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Display segmented control tabs vertically\n\t */\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\treadonly active = model<T | null>(null);\n\n\treadonly id = `segmentedControl${nextId++}`;\n\n\treadonly tabs = contentChildren<SegmentedControlTabsPanelComponent<T>>(SegmentedControlTabsPanelComponent);\n\treadonly tabButtons = viewChildren<ElementRef<HTMLButtonElement>>('tabButton');\n\n\treadonly currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()));\n\n\tprevious() {\n\t\tlet newIndex = this.currentIndex() - 1;\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this.tabs().length - 1;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tnext() {\n\t\tlet newIndex = this.currentIndex() + 1;\n\t\tif (newIndex >= this.tabs().length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tsetActiveTab(index: number) {\n\t\tthis.active.set(this.tabs()[index].value());\n\t\tthis.tabButtons()[index].nativeElement.focus();\n\t}\n\n\tngAfterContentInit(): void {\n\t\tif (this.active() === null) {\n\t\t\tthis.active.set(this.tabs()[0].value());\n\t\t}\n\t}\n}\n","<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId"],"mappings":"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"}
@@ -4,6 +4,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { ALuClear } from '@lucca-front/ng/clear';
5
5
  import { ALuInputDisplayer } from '@lucca-front/ng/input';
6
6
  import { ALuPickerPanel } from '@lucca-front/ng/picker';
7
+ import { isNil } from '@lucca-front/ng/core';
7
8
  import { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';
8
9
  import { Subscription } from 'rxjs';
9
10
  import * as i1 from '@angular/cdk/overlay';
@@ -21,7 +22,7 @@ class ALuSelectInput extends ALuPopoverTrigger {
21
22
  // From ControlValueAccessor interface
22
23
  this._cvaOnChange = (v) => void v;
23
24
  // From ControlValueAccessor interface
24
- this._onTouched = () => void {};
25
+ this._onTouched = () => { };
25
26
  // multiple
26
27
  this._multiple = false;
27
28
  this.target = new LuPopoverTarget();
@@ -36,7 +37,7 @@ class ALuSelectInput extends ALuPopoverTrigger {
36
37
  this._placeholder = p;
37
38
  }
38
39
  setValue(value) {
39
- if (this.disabled) {
40
+ if (this.disabled || isNil(value)) {
40
41
  return;
41
42
  }
42
43
  this.value = value;
@@ -77,7 +78,7 @@ class ALuSelectInput extends ALuPopoverTrigger {
77
78
  }
78
79
  isEmpty() {
79
80
  const isEmptyArray = Array.isArray(this.value) && this.value.length === 0;
80
- return this.value === null || this.value === undefined || isEmptyArray;
81
+ return isNil(this.value) || isEmptyArray;
81
82
  }
82
83
  applyClasses() {
83
84
  if (this.isEmpty()) {
@@ -149,7 +150,7 @@ class ALuSelectInput extends ALuPopoverTrigger {
149
150
  }
150
151
  renderSingleView() {
151
152
  this.clearDisplay();
152
- if (this.value !== null && this.value !== undefined) {
153
+ if (!isNil(this.value)) {
153
154
  const newView = this.getView(this.value);
154
155
  this.displayView(newView);
155
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClear } from '@lucca-front/ng/clear';\nimport { ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[]) {\n\t\tif (this.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched = () => void {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn this.value === null || this.value === undefined || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClear<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (this.value !== null && this.value !== undefined) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClear, ILuClear } from '@lucca-front/ng/clear';\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\tccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\tvcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClear, { static: true }) ccClearer: ILuClear<T>;\n\t@ViewChild(ALuClear, { static: true }) vcClearer: ILuClear<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: Event) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n *\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrl: './select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t// display clearer\n\t@ContentChild(ALuClear, { read: ElementRef, static: false })\n\tclearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\tsuffixEltRef: ElementRef<HTMLElement>;\n\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display />\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\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-select.mjs","sources":["../../../packages/ng/select/input/select-input.model.ts","../../../packages/ng/select/input/select-input.component.ts","../../../packages/ng/select/input/select-input.component.html","../../../packages/ng/select/input/select-input.module.ts","../../../packages/ng/select/select.module.ts","../../../packages/ng/select/lucca-front-ng-select.ts"],"sourcesContent":["import { Overlay, OverlayConfig } from '@angular/cdk/overlay';\nimport { ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ViewRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { ILuClear } from '@lucca-front/ng/clear';\nimport { isNil } from '@lucca-front/ng/core';\nimport { ILuInput, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ILuInputWithPicker, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuPopoverTrigger, LuPopoverTarget } from '@lucca-front/ng/popover';\nimport { Subscription } from 'rxjs';\n\nexport abstract class ALuSelectInput<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuPopoverTrigger<TPicker> implements ControlValueAccessor, ILuInputWithPicker<T>, ILuInput {\n\tprotected _subs = new Subscription();\n\tconstructor(\n\t\tprotected _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected _renderer: Renderer2,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget();\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis.target.position = 'below';\n\t\tthis.target.alignment = 'left';\n\t}\n\tprotected _isContentInitialized = false;\n\tprotected _placeholder: string;\n\tget placeholder() {\n\t\treturn this._placeholder;\n\t}\n\tset placeholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\t/**\n\t * contriol value accessor interface implementation\n\t */\n\tprotected _value: T | T[];\n\tsetValue(value: T | T[] | undefined) {\n\t\tif (this.disabled || isNil(value)) {\n\t\t\treturn;\n\t\t}\n\t\tthis.value = value;\n\t\tthis._cvaOnChange(value);\n\t\tthis._onTouched();\n\t}\n\tget value(): T | T[] {\n\t\treturn this._value;\n\t}\n\tset value(value: T | T[]) {\n\t\tthis._value = value;\n\t\tthis.render();\n\t\tthis.applyClasses();\n\t\tif (this._picker) {\n\t\t\tthis._picker.setValue(value);\n\t\t}\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\t// From ControlValueAccessor interface\n\twriteValue(value: T | T[]) {\n\t\tthis.value = value;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _cvaOnChange: (v: T | T[]) => unknown = (v: T | T[]) => void v;\n\tregisterOnChange(fn: (v: T | T[]) => unknown) {\n\t\tthis._cvaOnChange = fn;\n\t}\n\t// From ControlValueAccessor interface\n\tprotected _onTouched: () => unknown = () => {};\n\tregisterOnTouched(fn: () => unknown) {\n\t\tthis._onTouched = fn;\n\t}\n\toverride set disabled(d) {\n\t\tthis._disabled = d;\n\t}\n\toverride get disabled() {\n\t\treturn this._disabled;\n\t}\n\tsetDisabledState(disabled: boolean) {\n\t\tthis.disabled = disabled;\n\t\tthis._changeDetectorRef.markForCheck();\n\t}\n\tprotected isEmpty() {\n\t\tconst isEmptyArray = Array.isArray(this.value) && this.value.length === 0;\n\t\treturn isNil(this.value) || isEmptyArray;\n\t}\n\tprotected applyClasses() {\n\t\tif (this.isEmpty()) {\n\t\t\tthis._renderer.removeClass(this._elementRef.nativeElement, 'is-filled');\n\t\t} else {\n\t\t\tthis._renderer.addClass(this._elementRef.nativeElement, 'is-filled');\n\t\t}\n\t}\n\t/**\n\t * popover trigger class extension\n\t */\n\tprotected set _picker(picker: TPicker) {\n\t\tthis.panel = picker;\n\t\tpicker.multiple = this._multiple;\n\t\tthis.subToPickerEvts();\n\t}\n\tprotected get _picker() {\n\t\treturn this.panel;\n\t}\n\tprotected set _clearer(clearer: ILuClear<T>) {\n\t\tif (!!clearer && !!clearer.onClear) {\n\t\t\tthis._subs.add(clearer.onClear.subscribe(() => this.setValue(this._multiple ? [] : undefined)));\n\t\t}\n\t}\n\tprotected subToPickerEvts() {\n\t\tif (this.panel) {\n\t\t\tthis._subs.add(this.panel.onSelectValue.subscribe((value) => this.setValue(value)));\n\t\t}\n\t}\n\n\toverride closePopover() {\n\t\tthis._onTouched();\n\t\tsuper.closePopover();\n\t}\n\n\tonDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis._subs.unsubscribe();\n\t\tthis._cleanUpSubscriptions();\n\t}\n\n\tprotected override _getOverlayConfig(): OverlayConfig {\n\t\tconst config = super._getOverlayConfig();\n\t\tconst clientRect = this._elementRef.nativeElement.getBoundingClientRect();\n\t\tconfig.minWidth = `${Math.max(185, clientRect.width)}px`; // might become min/maxWidth\n\t\treturn config;\n\t}\n\n\t/* Rendering via a inpt displayer */\n\tprotected _displayer: ILuInputDisplayer<T>;\n\tprotected _displayContainer: ViewContainerRef;\n\tprotected set displayer(d: ILuInputDisplayer<T>) {\n\t\tthis._displayer = d;\n\t\tthis.render();\n\t}\n\tprotected set displayContainer(vcr: ViewContainerRef) {\n\t\tthis._displayContainer = vcr;\n\t}\n\tprotected render() {\n\t\tif (!this._displayer || !this._isContentInitialized) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.useMultipleViews()) {\n\t\t\tthis.renderMultipleViews();\n\t\t} else {\n\t\t\tthis.renderSingleView();\n\t\t}\n\t}\n\tprotected useMultipleViews() {\n\t\treturn this._multiple && !!this._displayer && !this._displayer.multiple;\n\t}\n\n\tprotected renderSingleView() {\n\t\tthis.clearDisplay();\n\t\tif (!isNil(this.value)) {\n\t\t\tconst newView = this.getView(this.value);\n\t\t\tthis.displayView(newView);\n\t\t}\n\t}\n\tprotected clearDisplay() {\n\t\tthis._displayContainer.clear();\n\t}\n\tprotected getView(value: T | T[]) {\n\t\tif (this._displayer) {\n\t\t\treturn this._displayer.getViewRef(value);\n\t\t}\n\t\treturn undefined;\n\t}\n\tprotected displayView(view: ViewRef | undefined) {\n\t\tif (view) {\n\t\t\tthis._displayContainer.insert(view);\n\t\t}\n\t}\n\n\tprotected renderMultipleViews() {\n\t\tthis.clearDisplay();\n\t\tconst values = <T[]>this.value || [];\n\t\tconst views = values.map((value) => this.getView(value));\n\t\tviews.forEach((view) => this.displayView(view));\n\t}\n\t// multiple\n\tprotected _multiple = false;\n\tset multiple(m: boolean) {\n\t\tthis._multiple = m;\n\t\tif (this._picker) {\n\t\t\tthis._picker.multiple = m;\n\t\t}\n\t}\n\tget multiple() {\n\t\treturn this._multiple;\n\t}\n}\n","/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Overlay } from '@angular/cdk/overlay';\nimport {\n\tAfterViewInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tHostBinding,\n\tHostListener,\n\tInput,\n\tOnDestroy,\n\tOutput,\n\tRenderer2,\n\tViewChild,\n\tViewContainerRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ALuClear, ILuClear } from '@lucca-front/ng/clear';\nimport { ALuInputDisplayer, ILuInputDisplayer } from '@lucca-front/ng/input';\nimport { ALuPickerPanel, ILuPickerPanel } from '@lucca-front/ng/picker';\nimport { ALuSelectInput } from './select-input.model';\n\n@Directive()\nexport abstract class ALuSelectInputComponent<T, TPicker extends ILuPickerPanel<T> = ILuPickerPanel<T>> extends ALuSelectInput<T, TPicker> implements ControlValueAccessor, AfterViewInit, OnDestroy {\n\t@ViewChild('display', { read: ViewContainerRef, static: true })\n\tprotected set _vcDisplayContainer(vcr: ViewContainerRef) {\n\t\tthis.displayContainer = vcr;\n\t}\n\n\t@HostBinding('tabindex') tabindex = 0;\n\n\t@Input('pickerOverlap') set overlapInput(o: boolean) {\n\t\tthis.target.overlap = o;\n\t}\n\n\t@Input('placeholder') set inputPlaceholder(p: string) {\n\t\tthis._placeholder = p;\n\t}\n\n\t@Input('multiple') set inputMultiple(m: boolean | string) {\n\t\tif (m === '') {\n\t\t\t// allows to have multiple = true when writing\n\t\t\t// <lu-select multiple>\n\t\t\tthis.multiple = true;\n\t\t} else {\n\t\t\tthis.multiple = !!m;\n\t\t}\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t@Output() onOpen = new EventEmitter<void>();\n\t/** Event emitted when the associated popover is closed. */\n\t@Output() onClose = new EventEmitter<void>();\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t@HostBinding('class.is-disabled')\n\tget isDisabled() {\n\t\treturn this.disabled;\n\t}\n\n\t@Input('disabled') set inputDisabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\t@HostBinding('class.is-focused')\n\tget isFocused() {\n\t\treturn this._popoverOpen && !this.target.overlap;\n\t}\n\n\t@HostBinding('class.mod-multiple')\n\tget modMultiple() {\n\t\treturn this._multiple;\n\t}\n\n\t@HostBinding('class.is-clearable')\n\tget isClearable() {\n\t\treturn !!this._clearer;\n\t}\n\n\t/**\n\t * popover trigger class extension\n\t */\n\t@ContentChild(ALuPickerPanel, { static: true }) readonly ccPicker: TPicker;\n\t@ViewChild(ALuPickerPanel, { static: true }) readonly vcPicker: TPicker;\n\n\t@ContentChild(ALuInputDisplayer, { static: true })\n\treadonly ccDisplayer: ILuInputDisplayer<T>;\n\t@ViewChild(ALuInputDisplayer, { static: true })\n\treadonly vcDisplayer: ILuInputDisplayer<T>;\n\n\t@ContentChild(ALuClear, { static: true }) readonly ccClearer: ILuClear<T>;\n\t@ViewChild(ALuClear, { static: true }) readonly vcClearer: ILuClear<T>;\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\t@HostListener('keydown.space', ['$event'])\n\t@HostListener('keydown.enter', ['$event'])\n\tonKeydown($event: Event) {\n\t\tif (!this._popoverOpen) {\n\t\t\tthis.openPopover();\n\t\t\t$event.stopPropagation();\n\t\t\t$event.preventDefault();\n\t\t}\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._isContentInitialized = true;\n\n\t\t// init picker and displayer and clearer\n\t\tconst picker = this.ccPicker || this.vcPicker;\n\t\tif (picker) {\n\t\t\tthis._picker = picker;\n\t\t}\n\t\tconst displayer = this.ccDisplayer || this.vcDisplayer;\n\t\tif (displayer) {\n\t\t\tthis._displayer = displayer;\n\t\t}\n\t\tconst clearer = this.ccClearer || this.vcClearer;\n\t\tif (clearer) {\n\t\t\tthis._clearer = clearer;\n\t\t}\n\n\t\tthis.render();\n\t\tthis._picker.setValue(this.value);\n\n\t\t// strange bug where the view renderred in the displayer was only injected after a hover\n\t\t// no matter how many cdr.markforchack i added\n\t\t// but with a timeout it works\n\t\t// shrug emoji\n\t\tsetTimeout(() => {\n\t\t\tthis._changeDetectorRef.markForCheck();\n\t\t}, 1);\n\t}\n\n\tngOnDestroy() {\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t\tthis.onDestroy();\n\t}\n\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n\n/**\n * select input\n *\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@Component({\n\tselector: 'lu-select',\n\ttemplateUrl: './select-input.component.html',\n\tstyleUrl: './select-input.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => LuSelectInputComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class LuSelectInputComponent<T> extends ALuSelectInputComponent<T> implements AfterViewInit {\n\t@HostBinding('class.mod-multipleView')\n\tget modMultipleView() {\n\t\treturn this.useMultipleViews();\n\t}\n\n\tconstructor(\n\t\tprotected override _changeDetectorRef: ChangeDetectorRef,\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t\tprotected override _renderer: Renderer2,\n\t) {\n\t\tsuper(_changeDetectorRef, _overlay, _elementRef, _viewContainerRef, _renderer);\n\t}\n\n\t// display clearer\n\t@ContentChild(ALuClear, { read: ElementRef, static: false })\n\treadonly clearerEltRef: ElementRef<HTMLElement>;\n\t@ViewChild('suffix', { read: ElementRef, static: true })\n\treadonly suffixEltRef: ElementRef<HTMLElement>;\n\n\tdisplayClearer() {\n\t\tif (this.clearerEltRef) {\n\t\t\tthis._renderer.appendChild(this.suffixEltRef.nativeElement, this.clearerEltRef.nativeElement);\n\t\t}\n\t}\n\n\toverride ngAfterViewInit() {\n\t\tsuper.ngAfterViewInit();\n\t\tthis.displayClearer(); // dont keep\n\t}\n}\n","<div class=\"lu-select-placeholder\">{{ placeholder }}</div>\n<div class=\"lu-select-value\">\n\t<div class=\"lu-select-display-wrapper\">\n\t\t<ng-container #display />\n\t</div>\n</div>\n<div #suffix class=\"lu-select-suffix\"></div>\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputComponent } from './select-input.component';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputComponent],\n\texports: [LuSelectInputComponent],\n})\nexport class LuSelectInputModule {}\n","import { NgModule } from '@angular/core';\nimport { LuSelectInputModule } from './input/index';\n\n/**\n * @deprecated prefer SimpleSelect or MultipleSelect\n */\n@NgModule({\n\timports: [LuSelectInputModule],\n\texports: [LuSelectInputModule],\n})\nexport class LuSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;AAUM,MAAgB,cAAyE,SAAQ,iBAA0B,CAAA;IAEhI,WAAA,CACW,kBAAqC,EAC5B,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EAC5C,SAAoB,EAAA;AAE9B,QAAA,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,iBAAiB,CAAC;QANrC,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QACT,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QAC1B,IAAA,CAAA,SAAS,GAAT,SAAS;AANV,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,YAAY,EAAE;QAc1B,IAAA,CAAA,qBAAqB,GAAG,KAAK;;QAqC7B,IAAA,CAAA,YAAY,GAA4B,CAAC,CAAU,KAAK,KAAK,CAAC;;AAK9D,QAAA,IAAA,CAAA,UAAU,GAAkB,MAAK,EAAE,CAAC;;QAyHpC,IAAA,CAAA,SAAS,GAAG,KAAK;AAxK1B,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,EAAE;QACnC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW;AACzC,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO;AAC9B,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM;IAC/B;AAGA,IAAA,IAAI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,YAAY;IACzB;IACA,IAAI,WAAW,CAAC,CAAS,EAAA;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;IACtB;AAKA,IAAA,QAAQ,CAAC,KAA0B,EAAA;QAClC,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YAClC;QACD;AACA,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,EAAE;IAClB;AACA,IAAA,IAAI,KAAK,GAAA;QACR,OAAO,IAAI,CAAC,MAAM;IACnB;IACA,IAAI,KAAK,CAAC,KAAc,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACnB,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC7B;AACA,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACvC;;AAEA,IAAA,UAAU,CAAC,KAAc,EAAA;AACxB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;IACnB;AAGA,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC3C,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;IACvB;AAGA,IAAA,iBAAiB,CAAC,EAAiB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACrB;IACA,IAAa,QAAQ,CAAC,CAAC,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;IACnB;AACA,IAAA,IAAa,QAAQ,GAAA;QACpB,OAAO,IAAI,CAAC,SAAS;IACtB;AACA,IAAA,gBAAgB,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;AACxB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;IACvC;IACU,OAAO,GAAA;AAChB,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QACzE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,YAAY;IACzC;IACU,YAAY,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;AACnB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACxE;aAAO;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC;QACrE;IACD;AACA;;AAEG;IACH,IAAc,OAAO,CAAC,MAAe,EAAA;AACpC,QAAA,IAAI,CAAC,KAAK,GAAG,MAAM;AACnB,QAAA,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,eAAe,EAAE;IACvB;AACA,IAAA,IAAc,OAAO,GAAA;QACpB,OAAO,IAAI,CAAC,KAAK;IAClB;IACA,IAAc,QAAQ,CAAC,OAAoB,EAAA;QAC1C,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;AACnC,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QAChG;IACD;IACU,eAAe,GAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACpF;IACD;IAES,YAAY,GAAA;QACpB,IAAI,CAAC,UAAU,EAAE;QACjB,KAAK,CAAC,YAAY,EAAE;IACrB;IAEA,SAAS,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE;QACpB;QACA,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;QACxB,IAAI,CAAC,qBAAqB,EAAE;IAC7B;IAEmB,iBAAiB,GAAA;AACnC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,iBAAiB,EAAE;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACzE,QAAA,MAAM,CAAC,QAAQ,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA,EAAA,CAAI,CAAC;AACzD,QAAA,OAAO,MAAM;IACd;IAKA,IAAc,SAAS,CAAC,CAAuB,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE;IACd;IACA,IAAc,gBAAgB,CAAC,GAAqB,EAAA;AACnD,QAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;IAC7B;IACU,MAAM,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACpD;QACD;AACA,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC5B,IAAI,CAAC,mBAAmB,EAAE;QAC3B;aAAO;YACN,IAAI,CAAC,gBAAgB,EAAE;QACxB;IACD;IACU,gBAAgB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;IACxE;IAEU,gBAAgB,GAAA;QACzB,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAC1B;IACD;IACU,YAAY,GAAA;AACrB,QAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE;IAC/B;AACU,IAAA,OAAO,CAAC,KAAc,EAAA;AAC/B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC;QACzC;AACA,QAAA,OAAO,SAAS;IACjB;AACU,IAAA,WAAW,CAAC,IAAyB,EAAA;QAC9C,IAAI,IAAI,EAAE;AACT,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;QACpC;IACD;IAEU,mBAAmB,GAAA;QAC5B,IAAI,CAAC,YAAY,EAAE;AACnB,QAAA,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;AACpC,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACxD,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD;IAGA,IAAI,QAAQ,CAAC,CAAU,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;AAClB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,CAAC;QAC1B;IACD;AACA,IAAA,IAAI,QAAQ,GAAA;QACX,OAAO,IAAI,CAAC,SAAS;IACtB;AACA;;AC1KK,MAAgB,uBAAkF,SAAQ,cAA0B,CAAA;IACzI,IACc,mBAAmB,CAAC,GAAqB,EAAA;AACtD,QAAA,IAAI,CAAC,gBAAgB,GAAG,GAAG;IAC5B;IAIA,IAA4B,YAAY,CAAC,CAAU,EAAA;AAClD,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC;IACxB;IAEA,IAA0B,gBAAgB,CAAC,CAAS,EAAA;AACnD,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC;IACtB;IAEA,IAAuB,aAAa,CAAC,CAAmB,EAAA;AACvD,QAAA,IAAI,CAAC,KAAK,EAAE,EAAE;;;AAGb,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;QACrB;aAAO;AACN,YAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACpB;IACD;IAOA,WAAA,CACoB,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;QAN3D,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,SAAS,GAAT,SAAS;QA9BJ,IAAA,CAAA,QAAQ,GAAG,CAAC;;AAqB3B,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAQ;;AAEjC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAQ;IAU5C;AAEA,IAAA,IACI,UAAU,GAAA;QACb,OAAO,IAAI,CAAC,QAAQ;IACrB;IAEA,IAAuB,aAAa,CAAC,CAAU,EAAA;AAC9C,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC;IACnB;AAEA,IAAA,IACI,SAAS,GAAA;QACZ,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO;IACjD;AAEA,IAAA,IACI,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,SAAS;IACtB;AAEA,IAAA,IACI,WAAW,GAAA;AACd,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ;IACvB;IAiBS,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE;IAChB;IAGS,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE;IACrB;IAGS,YAAY,GAAA;QACpB,KAAK,CAAC,YAAY,EAAE;IACrB;IAGS,OAAO,GAAA;QACf,KAAK,CAAC,OAAO,EAAE;IAChB;IAGS,MAAM,GAAA;QACd,KAAK,CAAC,MAAM,EAAE;IACf;AAIA,IAAA,SAAS,CAAC,MAAa,EAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,IAAI,CAAC,WAAW,EAAE;YAClB,MAAM,CAAC,eAAe,EAAE;YACxB,MAAM,CAAC,cAAc,EAAE;QACxB;IACD;IAEA,eAAe,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;;QAGjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;QAC7C,IAAI,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACtB;QACA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;QACtD,IAAI,SAAS,EAAE;AACd,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAC5B;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QAChD,IAAI,OAAO,EAAE;AACZ,YAAA,IAAI,CAAC,QAAQ,GAAG,OAAO;QACxB;QAEA,IAAI,CAAC,MAAM,EAAE;QACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;QAMjC,UAAU,CAAC,MAAK;AACf,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACvC,CAAC,EAAE,CAAC,CAAC;IACN;IAEA,WAAW,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,EAAE;QACpB;QACA,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,CAAC,SAAS,EAAE;IACjB;IAEU,SAAS,GAAA;AAClB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;IACnB;IAEU,UAAU,GAAA;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;IACpB;8GA7JqB,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,CAAA,eAAA,EAAA,cAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,aAAA,EAAA,kBAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,aAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoE9B,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAGd,iBAAiB,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKjB,QAAQ,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EA3EQ,gBAAgB,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoEnC,cAAc,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,aAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAId,iBAAiB,0FAIjB,QAAQ,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FA7EE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAD5C;;sBAEC,SAAS;uBAAC,SAAS,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAK7D,WAAW;uBAAC,UAAU;;sBAEtB,KAAK;uBAAC,eAAe;;sBAIrB,KAAK;uBAAC,aAAa;;sBAInB,KAAK;uBAAC,UAAU;;sBAWhB;;sBAEA;;sBAYA,WAAW;uBAAC,mBAAmB;;sBAK/B,KAAK;uBAAC,UAAU;;sBAIhB,WAAW;uBAAC,kBAAkB;;sBAK9B,WAAW;uBAAC,oBAAoB;;sBAKhC,WAAW;uBAAC,oBAAoB;;sBAQhC,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAC7C,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAE1C,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAEhD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAG7C,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBACvC,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;sBAEpC,YAAY;uBAAC,OAAO;;sBAKpB,YAAY;uBAAC,YAAY;;sBAKzB,YAAY;uBAAC,YAAY;;sBAKzB,YAAY;uBAAC,OAAO;;sBAKpB,YAAY;uBAAC,MAAM;;sBAKnB,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;sBACxC,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;AAuD1C;;;;AAIG;AAcG,MAAO,sBAA0B,SAAQ,uBAA0B,CAAA;AACxE,IAAA,IACI,eAAe,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE;IAC/B;IAEA,WAAA,CACoB,kBAAqC,EACrC,QAAiB,EACjB,WAAoC,EACpC,iBAAmC,EACnC,SAAoB,EAAA;QAEvC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,CAAC;QAN3D,IAAA,CAAA,kBAAkB,GAAlB,kBAAkB;QAClB,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;QACjB,IAAA,CAAA,SAAS,GAAT,SAAS;IAG7B;IAQA,cAAc,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACvB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;QAC9F;IACD;IAES,eAAe,GAAA;QACvB,KAAK,CAAC,eAAe,EAAE;AACvB,QAAA,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB;8GA/BY,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,sBAAA,EAAA,EAAA,EAAA,SAAA,EARvB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAmBa,QAAQ,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAU,UAAU,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAEb,UAAU,kECjOxC,+OAOA,EAAA,MAAA,EAAA,CAAA,02QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDuMa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAblC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,eAAA,EAGJ,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,+OAAA,EAAA,MAAA,EAAA,CAAA,02QAAA,CAAA,EAAA;;sBAGA,WAAW;uBAAC,wBAAwB;;sBAgBpC,YAAY;uBAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE;;sBAE1D,SAAS;uBAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE;;;AE9NxD;;AAEG;MAKU,mBAAmB,CAAA;8GAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAnB,mBAAmB,EAAA,OAAA,EAAA,CAHrB,sBAAsB,CAAA,EAAA,OAAA,EAAA,CACtB,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAEpB,mBAAmB,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,iBAAA;;;ACND;;AAEG;MAKU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;+GAEjB,cAAc,EAAA,OAAA,EAAA,CAHhB,mBAAmB,EACnB,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAEjB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/sidepanel.model.ts","../../../packages/ng/sidepanel/sidepanel.service.ts","../../../packages/ng/sidepanel/sidepanel.module.ts","../../../packages/ng/sidepanel/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { ALuModalRef as ALuSidepanelRef, ILuModalRef, LU_MODAL_DATA } from '@lucca-front/ng/modal';\n\n/**\n * For backward compatibility, we re-export modal tokens as sidepanel tokens.\n * We should remove all sidepanel related files in the next major version (16+).\n */\n\n/**\n * @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_DATA = LU_MODAL_DATA;\n\n/**\n * @deprecated Use ILuModalRef from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelRef<D = unknown, R = unknown> = ILuModalRef<D, R>;\n\nexport {\n\t/**\n\t * @deprecated Use ALuModalRef from @lucca-front/ng/modal instead.\n\t */\n\tALuSidepanelRef,\n};\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\nimport { ILuModalContent, luDefaultSidepanelConfig, LuModal, LuModalConfig, LuModalContentResult } from '@lucca-front/ng/modal';\nimport { ILuSidepanelRef } from './sidepanel.model';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@Injectable()\nexport class LuSidepanel extends LuModal {\n\tprotected override _config = luDefaultSidepanelConfig;\n\n\t/**\n\t * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n\t */\n\toverride open<T extends ILuModalContent, D>(component: ComponentType<T>, data: D = undefined, config: Partial<LuModalConfig> = {}): ILuSidepanelRef<D, LuModalContentResult<T>> {\n\t\treturn super.open(component, data, config);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuModalModule } from '@lucca-front/ng/modal';\nimport { LuSidepanel } from './sidepanel.service';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@NgModule({\n\timports: [LuModalModule],\n\tproviders: [LuSidepanel],\n})\nexport class LuSidepanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAEA;;;AAGG;AAEH;;AAEG;AACI,MAAM,iBAAiB,GAAG;;ACLjC;;AAEG;AAEG,MAAO,WAAY,SAAQ,OAAO,CAAA;AADxC,IAAA,WAAA,GAAA;;QAEoB,IAAA,CAAA,OAAO,GAAG,wBAAwB;AAQrD,IAAA;AANA;;AAEG;AACM,IAAA,IAAI,CAA+B,SAA2B,EAAE,OAAU,SAAS,EAAE,SAAiC,EAAE,EAAA;QAChI,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;IAC3C;8GARY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAX,WAAW,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;;ACJD;;AAEG;MAKU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHnB,aAAa,CAAA,EAAA,CAAA,CAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,SAAA,EAFlB,CAAC,WAAW,CAAC,YADd,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-sidepanel.mjs","sources":["../../../packages/ng/sidepanel/sidepanel.model.ts","../../../packages/ng/sidepanel/sidepanel.service.ts","../../../packages/ng/sidepanel/sidepanel.module.ts","../../../packages/ng/sidepanel/lucca-front-ng-sidepanel.ts"],"sourcesContent":["import { ALuModalRef as ALuSidepanelRef, ILuModalRef, LU_MODAL_DATA } from '@lucca-front/ng/modal';\n\n/**\n * For backward compatibility, we re-export modal tokens as sidepanel tokens.\n * We should remove all sidepanel related files in the next major version (16+).\n */\n\n/**\n * @deprecated Use LU_MODAL_DATA from @lucca-front/ng/modal instead.\n */\nexport const LU_SIDEPANEL_DATA = LU_MODAL_DATA;\n\n/**\n * @deprecated Use ILuModalRef from @lucca-front/ng/modal instead.\n */\nexport type ILuSidepanelRef<D = unknown, R = unknown> = ILuModalRef<D, R>;\n\nexport {\n\t/**\n\t * @deprecated Use ALuModalRef from @lucca-front/ng/modal instead.\n\t */\n\tALuSidepanelRef,\n};\n","import { ComponentType } from '@angular/cdk/overlay';\nimport { Injectable } from '@angular/core';\nimport { ILuModalContent, luDefaultSidepanelConfig, LuModal, LuModalConfig, LuModalContentResult } from '@lucca-front/ng/modal';\nimport { ILuSidepanelRef } from './sidepanel.model';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@Injectable()\nexport class LuSidepanel extends LuModal {\n\tprotected override _config = luDefaultSidepanelConfig;\n\n\t/**\n\t * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n\t */\n\toverride open<T extends ILuModalContent, D>(component: ComponentType<T>, data: D | undefined = undefined, config: Partial<LuModalConfig> = {}): ILuSidepanelRef<D, LuModalContentResult<T>> {\n\t\treturn super.open(component, data, config);\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuModalModule } from '@lucca-front/ng/modal';\nimport { LuSidepanel } from './sidepanel.service';\n\n/**\n * @deprecated Use LuModal with `modal.open(component, data, { mode: 'sidepanel' })` instead.\n */\n@NgModule({\n\timports: [LuModalModule],\n\tproviders: [LuSidepanel],\n})\nexport class LuSidepanelModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAEA;;;AAGG;AAEH;;AAEG;AACI,MAAM,iBAAiB,GAAG;;ACLjC;;AAEG;AAEG,MAAO,WAAY,SAAQ,OAAO,CAAA;AADxC,IAAA,WAAA,GAAA;;QAEoB,IAAA,CAAA,OAAO,GAAG,wBAAwB;AAQrD,IAAA;AANA;;AAEG;AACM,IAAA,IAAI,CAA+B,SAA2B,EAAE,OAAsB,SAAS,EAAE,SAAiC,EAAE,EAAA;QAC5I,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC;IAC3C;8GARY,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAX,WAAW,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;;ACJD;;AAEG;MAKU,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAHnB,aAAa,CAAA,EAAA,CAAA,CAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,SAAA,EAFlB,CAAC,WAAW,CAAC,YADd,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAGX,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,SAAS,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -5,7 +5,7 @@ import { InjectionToken, Pipe, inject, signal, computed, forwardRef, ChangeDetec
5
5
  import * as i1$1 from '@angular/forms';
6
6
  import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import { ClearComponent } from '@lucca-front/ng/clear';
8
- import { PortalDirective, intlInputOptions } from '@lucca-front/ng/core';
8
+ import { PortalDirective, intlInputOptions, isNotNil } from '@lucca-front/ng/core';
9
9
  import { LuSelectPanelRef, SELECT_ID, CoreSelectKeyManager, ɵgetGroupTemplateLocation as _getGroupTemplateLocation, ɵLuOptionComponent as _LuOptionComponent, ɵCoreSelectPanelElement as _CoreSelectPanelElement, ɵLuOptionGroupPipe as _LuOptionGroupPipe, TreeDisplayPipe, SELECT_PANEL_INSTANCE, SELECT_LABEL_ID, addAttributesOnCdkContainer, ALuSelectInputComponent, LU_CORE_SELECT_TRANSLATIONS, ɵLuOptionOutletDirective as _LuOptionOutletDirective, provideLuSelectLabelsAndIds } from '@lucca-front/ng/core-select';
10
10
  import { FilterPillDisplayerDirective, FILTER_PILL_INPUT_COMPONENT } from '@lucca-front/ng/filter-pills';
11
11
  import { InputDirective, ɵPresentationDisplayDefaultDirective as _PresentationDisplayDefaultDirective, PresentationDisplayDirective } from '@lucca-front/ng/form-field';
@@ -129,7 +129,7 @@ class LuSelectPanelComponent {
129
129
  this.keyManager = inject(CoreSelectKeyManager);
130
130
  this.selected = computed(() => this.selectInput.valueSignal(), ...(ngDevMode ? [{ debugName: "selected" }] : []));
131
131
  this.hasGrouping$ = toObservable(this.grouping).pipe(map((grouping) => !!grouping));
132
- this.clueChange$ = this.selectInput.clue$;
132
+ this.clueChange$ = this.selectInput.clue$.pipe(map((clue) => clue ?? ''));
133
133
  this.shouldDisplayAddOption$ = this.selectInput.shouldDisplayAddOption$;
134
134
  this.groupTemplateLocation$ = _getGroupTemplateLocation(this.hasGrouping$, this.clueChange$, this.options$, this.searchable);
135
135
  }
@@ -152,7 +152,7 @@ class LuSelectPanelComponent {
152
152
  activeOptionIdChanged$: this.panelRef.activeOptionIdChanged,
153
153
  clueChange$: this.selectInput.searchable ? this.selectInput.clueChange$ : EMPTY,
154
154
  });
155
- if (this.initialValue && !this.selectInput.clue) {
155
+ if (this.initialValue !== null && !this.selectInput.clue) {
156
156
  this.keyManager.highlightOption(this.initialValue);
157
157
  }
158
158
  }
@@ -241,9 +241,9 @@ class SelectPanelRef extends BaseSelectPanelRef {
241
241
  class SelectPanelDOMHostRef extends BaseSelectPanelRef {
242
242
  constructor(host, parentInjector, selectInput) {
243
243
  super(parentInjector, selectInput);
244
- this.panelRef = host.createComponent(this.portalRef.component, {
245
- injector: this.portalRef.injector,
246
- projectableNodes: this.portalRef.projectableNodes,
244
+ const panelComponent = this.portalRef.component;
245
+ this.panelRef = host.createComponent(panelComponent, {
246
+ injector: this.portalRef.injector ?? undefined,
247
247
  });
248
248
  this.instance = this.panelRef.instance;
249
249
  }
@@ -340,10 +340,13 @@ class LuSimpleSelectInputComponent extends ALuSelectInputComponent {
340
340
  }
341
341
  }
342
342
  hasValue() {
343
- return this.value !== null && this.value !== undefined;
343
+ return isNotNil(this.value);
344
344
  }
345
345
  enableFilterPillMode() {
346
- this._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, this.filterPillPanelAnchorRef());
346
+ const host = this.filterPillPanelAnchorRef();
347
+ if (host) {
348
+ this._panelRef = this.panelRefFactory.buildAndAttachPanelRef(this, host);
349
+ }
347
350
  super.enableFilterPillMode();
348
351
  }
349
352
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: LuSimpleSelectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }