@lucca-front/ng 22.1.0-rc.4 → 22.1.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 (238) hide show
  1. package/README.md +6 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +19 -15
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +78 -56
  8. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  10. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
  12. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
  14. package/fesm2022/lucca-front-ng-callout.mjs +24 -24
  15. package/fesm2022/lucca-front-ng-chip.mjs +4 -4
  16. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-clear.mjs +4 -4
  18. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  20. package/fesm2022/lucca-front-ng-color.mjs +3 -3
  21. package/fesm2022/lucca-front-ng-comment.mjs +12 -12
  22. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-container.mjs +3 -3
  24. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  25. package/fesm2022/lucca-front-ng-core-select-department.mjs +8 -6
  26. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +11 -9
  28. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  30. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
  31. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  33. package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -20
  34. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select.mjs +77 -62
  36. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core.mjs +19 -19
  38. package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
  39. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-date.mjs +40 -40
  41. package/fesm2022/lucca-front-ng-date2.mjs +93 -40
  42. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-department.mjs +24 -24
  44. package/fesm2022/lucca-front-ng-dialog.mjs +56 -48
  45. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  47. package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
  48. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
  50. package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
  51. package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  53. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
  54. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form-field.mjs +24 -20
  60. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  62. package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
  63. package/fesm2022/lucca-front-ng-form.mjs +3 -3
  64. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  65. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
  66. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  68. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  69. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +38 -37
  70. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-forms.mjs +68 -48
  72. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  74. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  75. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  76. package/fesm2022/lucca-front-ng-highlight-section.mjs +6 -3
  77. package/fesm2022/lucca-front-ng-highlight-section.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
  80. package/fesm2022/lucca-front-ng-impersonation.mjs +5 -3
  81. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
  83. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  85. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  86. package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
  87. package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
  88. package/fesm2022/lucca-front-ng-link.mjs +38 -14
  89. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
  91. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-listing.mjs +21 -11
  93. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-loading.mjs +51 -10
  95. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  97. package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
  98. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  99. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  100. package/fesm2022/lucca-front-ng-multi-select.mjs +42 -42
  101. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  103. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  104. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  105. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  106. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  109. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  110. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  111. package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
  112. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  114. package/fesm2022/lucca-front-ng-priority-level.mjs +128 -0
  115. package/fesm2022/lucca-front-ng-priority-level.mjs.map +1 -0
  116. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  117. package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
  118. package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
  119. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
  121. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  122. package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
  123. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
  125. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  126. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -8
  127. package/fesm2022/lucca-front-ng-segmented-control.mjs +8 -8
  128. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  129. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  130. package/fesm2022/lucca-front-ng-simple-select.mjs +16 -16
  131. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  132. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  133. package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
  134. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  135. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  136. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  137. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  138. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-time.mjs +18 -18
  140. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  141. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  142. package/fesm2022/lucca-front-ng-tree-select.mjs +7 -7
  143. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  144. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
  145. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  146. package/fesm2022/lucca-front-ng-user.mjs +68 -61
  147. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  148. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  149. package/package.json +23 -10
  150. package/schematics/lib/local-deps/package-lock.json +7 -7
  151. package/schematics/lib/local-deps/package.json +1 -1
  152. package/schematics/lu-button/migration.js +59 -33
  153. package/src/components/_sidepanel.scss +2 -2
  154. package/src/components/cdk/_global.scss +4 -0
  155. package/src/components/cdk/_overlay.scss +1 -1
  156. package/src/definitions/option/_option-item.scss +7 -4
  157. package/types/lucca-front-ng-a11y.d.ts +1 -1
  158. package/types/lucca-front-ng-activity-feed.d.ts +13 -9
  159. package/types/lucca-front-ng-api.d.ts +31 -31
  160. package/types/lucca-front-ng-approbation-inbox.d.ts +22 -14
  161. package/types/lucca-front-ng-bubble-icon.d.ts +5 -2
  162. package/types/lucca-front-ng-callout.d.ts +17 -17
  163. package/types/lucca-front-ng-chip.d.ts +7 -7
  164. package/types/lucca-front-ng-clear.d.ts +2 -2
  165. package/types/lucca-front-ng-color.d.ts +3 -3
  166. package/types/lucca-front-ng-comment.d.ts +14 -14
  167. package/types/lucca-front-ng-container.d.ts +1 -1
  168. package/types/lucca-front-ng-core-select-api.d.ts +7 -7
  169. package/types/lucca-front-ng-core-select-department.d.ts +7 -5
  170. package/types/lucca-front-ng-core-select-establishment.d.ts +8 -6
  171. package/types/lucca-front-ng-core-select-job-qualification.d.ts +2 -2
  172. package/types/lucca-front-ng-core-select-legal-units.d.ts +3 -3
  173. package/types/lucca-front-ng-core-select-occupation-category.d.ts +2 -2
  174. package/types/lucca-front-ng-core-select-user.d.ts +14 -12
  175. package/types/lucca-front-ng-core-select.d.ts +56 -41
  176. package/types/lucca-front-ng-core.d.ts +5 -5
  177. package/types/lucca-front-ng-data-table.d.ts +38 -33
  178. package/types/lucca-front-ng-date.d.ts +13 -13
  179. package/types/lucca-front-ng-date2.d.ts +56 -37
  180. package/types/lucca-front-ng-department.d.ts +2 -2
  181. package/types/lucca-front-ng-dialog.d.ts +9 -9
  182. package/types/lucca-front-ng-divider.d.ts +2 -2
  183. package/types/lucca-front-ng-dropdown.d.ts +2 -2
  184. package/types/lucca-front-ng-empty-state.d.ts +20 -20
  185. package/types/lucca-front-ng-establishment.d.ts +15 -15
  186. package/types/lucca-front-ng-fancy-box.d.ts +12 -12
  187. package/types/lucca-front-ng-file-upload.d.ts +21 -15
  188. package/types/lucca-front-ng-filter-pills.d.ts +27 -18
  189. package/types/lucca-front-ng-footer.d.ts +1 -1
  190. package/types/lucca-front-ng-form-field.d.ts +19 -19
  191. package/types/lucca-front-ng-form-label.d.ts +4 -4
  192. package/types/lucca-front-ng-form.d.ts +1 -1
  193. package/types/lucca-front-ng-forms-phone-number-input.d.ts +11 -11
  194. package/types/lucca-front-ng-forms-rich-text-input.d.ts +11 -11
  195. package/types/lucca-front-ng-forms.d.ts +59 -49
  196. package/types/lucca-front-ng-grid.d.ts +23 -23
  197. package/types/lucca-front-ng-highlight-data.d.ts +5 -5
  198. package/types/lucca-front-ng-highlight-section.d.ts +6 -3
  199. package/types/lucca-front-ng-horizontal-navigation.d.ts +4 -4
  200. package/types/lucca-front-ng-impersonation.d.ts +8 -6
  201. package/types/lucca-front-ng-index-table.d.ts +20 -18
  202. package/types/lucca-front-ng-inline-message.d.ts +2 -2
  203. package/types/lucca-front-ng-kbd.d.ts +59 -0
  204. package/types/lucca-front-ng-link.d.ts +17 -4
  205. package/types/lucca-front-ng-listbox.d.ts +10 -9
  206. package/types/lucca-front-ng-listing.d.ts +14 -3
  207. package/types/lucca-front-ng-loading.d.ts +18 -6
  208. package/types/lucca-front-ng-main-layout.d.ts +9 -9
  209. package/types/lucca-front-ng-modal.d.ts +4 -4
  210. package/types/lucca-front-ng-multi-select.d.ts +21 -21
  211. package/types/lucca-front-ng-option.d.ts +3 -3
  212. package/types/lucca-front-ng-page-header.d.ts +2 -2
  213. package/types/lucca-front-ng-pagination.d.ts +3 -3
  214. package/types/lucca-front-ng-popover.d.ts +18 -18
  215. package/types/lucca-front-ng-popover2.d.ts +9 -8
  216. package/types/lucca-front-ng-popup.d.ts +4 -4
  217. package/types/{lucca-front-ng-priority-levels.d.ts → lucca-front-ng-priority-level.d.ts} +11 -11
  218. package/types/lucca-front-ng-progress-bar.d.ts +1 -1
  219. package/types/lucca-front-ng-progress-stepper.d.ts +2 -2
  220. package/types/lucca-front-ng-read-more.d.ts +6 -6
  221. package/types/lucca-front-ng-resource-card.d.ts +3 -3
  222. package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -5
  223. package/types/lucca-front-ng-segmented-control.d.ts +3 -3
  224. package/types/lucca-front-ng-select.d.ts +9 -9
  225. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  226. package/types/lucca-front-ng-simple-select.d.ts +9 -9
  227. package/types/lucca-front-ng-software-icon.d.ts +1 -1
  228. package/types/lucca-front-ng-sortable-list.d.ts +1 -1
  229. package/types/lucca-front-ng-status-badge.d.ts +1 -1
  230. package/types/lucca-front-ng-time.d.ts +19 -19
  231. package/types/lucca-front-ng-title.d.ts +2 -2
  232. package/types/lucca-front-ng-toast.d.ts +2 -2
  233. package/types/lucca-front-ng-tree-select.d.ts +2 -2
  234. package/types/lucca-front-ng-user-popover.d.ts +1 -2
  235. package/types/lucca-front-ng-user.d.ts +26 -20
  236. package/types/lucca-front-ng-vertical-navigation.d.ts +5 -5
  237. package/fesm2022/lucca-front-ng-priority-levels.mjs +0 -128
  238. package/fesm2022/lucca-front-ng-priority-levels.mjs.map +0 -1
@@ -64,11 +64,11 @@ class ReadMoreComponent {
64
64
  */
65
65
  this.plainText = input(false, { ...(ngDevMode ? { debugName: "plainText" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
66
66
  /**
67
- * Change the background color under the "Read more / less" button
67
+ * Apply the spacing of the Text Flow component
68
68
  */
69
69
  this.textFlow = input(false, { ...(ngDevMode ? { debugName: "textFlow" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
70
70
  /**
71
- * Apply the spacing of the Text Flow component
71
+ * Change the background color under the "Read more / less" button
72
72
  */
73
73
  this.surface = input(null, /* @ts-ignore */
74
74
  ...(ngDevMode ? [{ debugName: "surface" }] : /* istanbul ignore next */ []));
@@ -123,10 +123,10 @@ class ReadMoreComponent {
123
123
  toggleExpanded() {
124
124
  this.expanded.set(!this.expanded());
125
125
  }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ReadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, plainText: { classPropertyName: "plainText", publicName: "plainText", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "`\"${labelReadLess()}\"`", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-plainText": "plainText()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\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", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);--components-readMore-content-whiteSpace: normal;position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)){white-space:var(--components-readMore-content-whiteSpace)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}.readMore.mod-plainText{--components-readMore-content-whiteSpace: pre-line}}@layer components{.textFlow{overflow-wrap:anywhere}.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ReadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, plainText: { classPropertyName: "plainText", publicName: "plainText", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "`\"${labelReadLess()}\"`", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-plainText": "plainText()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\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", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);--components-readMore-content-whiteSpace: normal;position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)){white-space:var(--components-readMore-content-whiteSpace)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}.readMore.mod-plainText{--components-readMore-content-whiteSpace: pre-line}}@layer components{.textFlow{overflow-wrap:anywhere}.textFlow h1,.textFlow .pr-u-h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2,.textFlow .pr-u-h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3,.textFlow .pr-u-h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4,.textFlow .pr-u-h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ReadMoreComponent, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ReadMoreComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'lu-read-more', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
132
132
  class: 'readMore',
@@ -138,7 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
138
138
  '[class.mod-sunken]': 'surface() === `sunken`',
139
139
  '[class.mod-default]': 'surface() === `default`',
140
140
  '[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',
141
- }, template: "<button\n\ttype=\"button\"\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", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);--components-readMore-content-whiteSpace: normal;position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)){white-space:var(--components-readMore-content-whiteSpace)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}.readMore.mod-plainText{--components-readMore-content-whiteSpace: pre-line}}@layer components{.textFlow{overflow-wrap:anywhere}.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"] }]
141
+ }, template: "<button\n\ttype=\"button\"\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", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);--components-readMore-link-insetBlockEnd: var(--pr-t-spacings-50);--components-readMore-content-whiteSpace: normal;position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--components-readMore-link-insetBlockEnd) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)){white-space:var(--components-readMore-content-whiteSpace)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip-path:rect(1px 1px 1px 1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}.readMore.mod-plainText{--components-readMore-content-whiteSpace: pre-line}}@layer components{.textFlow{overflow-wrap:anywhere}.textFlow h1,.textFlow .pr-u-h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2,.textFlow .pr-u-h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3,.textFlow .pr-u-h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4,.textFlow .pr-u-h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"] }]
142
142
  }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], lineClamp: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineClamp", required: false }] }], openOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnly", required: false }] }], plainText: [{ type: i0.Input, args: [{ isSignal: true, alias: "plainText", required: false }] }], textFlow: [{ type: i0.Input, args: [{ isSignal: true, alias: "textFlow", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], innerContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "innerContent", required: false }] }], contentRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
143
143
 
144
144
  /**
@@ -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/read-more.type.ts","../../../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\tpl: {\n\t\treadMore: 'Czytaj więcej',\n\t\treadLess: 'Czytaj mniej',\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, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil, luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\nimport { ReadMoreSurface } from './read-more.type';\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-plainText]': 'plainText()',\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(5, { transform: luNumberAttribute });\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Display the `\\n` of the content as line breaks instead of collapsing them into spaces (`white-space: pre-line`).\n\t * Meant for plain-text content such as a textarea value.\n\t */\n\treadonly plainText = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly textFlow = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly surface = input<ReadMoreSurface | string | null>(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\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 * Available ReadMoreComponent Types\n */\n\nexport const READ_MORE_SURFACE = ['sunken', 'default'] as const;\nexport type ReadMoreSurface = (typeof READ_MORE_SURFACE)[number];\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/read-more.type.ts","../../../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\tpl: {\n\t\treadMore: 'Czytaj więcej',\n\t\treadLess: 'Czytaj mniej',\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, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil, luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\nimport { ReadMoreSurface } from './read-more.type';\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-plainText]': 'plainText()',\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(5, { transform: luNumberAttribute });\n\n\t/**\n\t * Prevent the component from closing by hiding the \"Read less\" button\n\t */\n\treadonly openOnly = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Display the `\\n` of the content as line breaks instead of collapsing them into spaces (`white-space: pre-line`).\n\t * Meant for plain-text content such as a textarea value.\n\t */\n\treadonly plainText = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Apply the spacing of the Text Flow component\n\t */\n\treadonly textFlow = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Change the background color under the \"Read more / less\" button\n\t */\n\treadonly surface = input<ReadMoreSurface | string | null>(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\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 * Available ReadMoreComponent Types\n */\n\nexport const READ_MORE_SURFACE = ['sunken', 'default'] as const;\nexport type ReadMoreSurface = (typeof READ_MORE_SURFACE)[number];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11,10 +11,10 @@ class ResourceCardButtonComponent {
11
11
  */
12
12
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ResourceCardButtonComponent, isStandalone: true, selector: "button[luResourceCardAction]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "disabled() ? \"disabled\" : null" }, classAttribute: "resourceCard-layout-header-title-action" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.2.1", type: ResourceCardButtonComponent, isStandalone: true, selector: "button[luResourceCardAction]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "disabled() ? \"disabled\" : null" }, classAttribute: "resourceCard-layout-header-title-action" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardButtonComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardButtonComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{
20
20
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -36,10 +36,10 @@ class ResourceCardLinkComponent {
36
36
  */
37
37
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ResourceCardLinkComponent, isStandalone: true, selector: "a[luResourceCardAction]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-disabled": "disabled()", "attr.role": "disabled() ? \"presentation\" : null" }, classAttribute: "resourceCard-layout-header-title-action" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.2.1", type: ResourceCardLinkComponent, isStandalone: true, selector: "a[luResourceCardAction]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-disabled": "disabled()", "attr.role": "disabled() ? \"presentation\" : null" }, classAttribute: "resourceCard-layout-header-title-action" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardLinkComponent, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardLinkComponent, decorators: [{
43
43
  type: Component,
44
44
  args: [{
45
45
  // eslint-disable-next-line @angular-eslint/component-selector
@@ -73,10 +73,10 @@ class ResourceCardComponent {
73
73
  this.size = input(null, /* @ts-ignore */
74
74
  ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: ResourceCardComponent, isStandalone: true, selector: "lu-resource-card", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class.mod-S": "size() === \"S\" || wrapperRef?.size() === \"S\"", "class.mod-grid": "grid() || wrapperRef?.grid()" }, classAttribute: "resourceCard" }, ngImport: i0, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.aria-level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(min(var(--components-resourceCardWrapper-gridTemplateColumnsMin),100%),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIllustration,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIllustration{--palettes-brand-600: var(--pr-t-color-input-icon-disabled)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIcon,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIcon{--components-bubbleIcon-color: var(--pr-t-color-input-icon-disabled);--components-bubbleIcon-bubble-path-fill: var(--pr-t-color-input-background-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25))}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-S .bubbleIllustration{--components-bubbleIllustration-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon{--components-bubbleIcon-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon .lucca-icon{--icon-size: 1.25rem}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.2.1", type: ResourceCardComponent, isStandalone: true, selector: "lu-resource-card", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class.mod-S": "size() === \"S\" || wrapperRef?.size() === \"S\"", "class.mod-grid": "grid() || wrapperRef?.grid()" }, classAttribute: "resourceCard" }, ngImport: i0, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.aria-level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(min(var(--components-resourceCardWrapper-gridTemplateColumnsMin),100%),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIllustration,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIllustration{--palettes-brand-600: var(--pr-t-color-input-icon-disabled)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIcon,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIcon{--components-bubbleIcon-color: var(--pr-t-color-input-icon-disabled);--components-bubbleIcon-bubble-path-fill: var(--pr-t-color-input-background-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-25))}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:after{font-size:var(--pr-t-font-body-S-lineHeight);block-size:var(--pr-t-font-body-S-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:focus-visible{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-100)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button.mod-critical:active{--components-button-color: var(--palettes-error-700);--components-button-backgroundColor: var(--palettes-error-200)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-S .bubbleIllustration{--components-bubbleIllustration-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon{--components-bubbleIcon-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon .lucca-icon{--icon-size: 1.25rem}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'lu-resource-card', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, CdkDragHandle], host: {
82
82
  class: 'resourceCard',
@@ -93,15 +93,15 @@ class ResourceCardWrapperComponent {
93
93
  this.size = input(null, /* @ts-ignore */
94
94
  ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
95
95
  }
96
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ResourceCardWrapperComponent, isStandalone: true, selector: "lu-resource-card-wrapper", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-grid": "grid()", "class.mod-S": "size() === \"S\"" }, classAttribute: "resourceCardWrapper" }, providers: [
96
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
97
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.2.1", type: ResourceCardWrapperComponent, isStandalone: true, selector: "lu-resource-card-wrapper", inputs: { grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-grid": "grid()", "class.mod-S": "size() === \"S\"" }, classAttribute: "resourceCardWrapper" }, providers: [
98
98
  {
99
99
  provide: LU_RESOURCE_CARD_WRAPPER_INSTANCE,
100
100
  useExisting: forwardRef(() => ResourceCardWrapperComponent),
101
101
  },
102
102
  ], ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ResourceCardWrapperComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ResourceCardWrapperComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{
107
107
  selector: 'lu-resource-card-wrapper',
@@ -13,10 +13,10 @@ class LuSafeHtmlPipe {
13
13
  transform(value, config) {
14
14
  return this.sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(value, config));
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuSafeHtmlPipe, isStandalone: true, name: "luSafeHtml" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuSafeHtmlPipe, isStandalone: true, name: "luSafeHtml" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeHtmlPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeHtmlPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'luSafeHtml', standalone: true }]
22
22
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
@@ -25,11 +25,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
25
25
  * @deprecated use `LuSafeHtmlPipe` instead
26
26
  */
27
27
  class LuSafeContentModule {
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuSafeContentModule, imports: [LuSafeHtmlPipe], exports: [LuSafeHtmlPipe] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeContentModule }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuSafeContentModule, imports: [LuSafeHtmlPipe], exports: [LuSafeHtmlPipe] }); }
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeContentModule }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeContentModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeContentModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  imports: [LuSafeHtmlPipe],
@@ -64,10 +64,10 @@ class LuSafeExternalSvgPipe {
64
64
  this.#cdr.markForCheck();
65
65
  });
66
66
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeExternalSvgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuSafeExternalSvgPipe, isStandalone: true, name: "luSafeExternalSvg", pure: false }); }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeExternalSvgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
68
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuSafeExternalSvgPipe, isStandalone: true, name: "luSafeExternalSvg", pure: false }); }
69
69
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuSafeExternalSvgPipe, decorators: [{
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuSafeExternalSvgPipe, decorators: [{
71
71
  type: Pipe,
72
72
  args: [{
73
73
  name: 'luSafeExternalSvg',
@@ -37,17 +37,17 @@ class ScrollBoxComponent {
37
37
  this.scroll();
38
38
  }).observe(this.#elementRef.nativeElement);
39
39
  }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ScrollBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.4", type: ScrollBoxComponent, isStandalone: true, selector: "lu-scroll-box", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "scroll": "scroll()" }, properties: { "class.is-firstVisible": "isFirstVisible()", "class.is-lastVisible": "isLastVisible()" }, classAttribute: "scrollBox" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default);transform:translateZ(0);will-change:scroll-position}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ScrollBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.2.1", type: ScrollBoxComponent, isStandalone: true, selector: "lu-scroll-box", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "scroll": "scroll()" }, properties: { "class.is-firstVisible": "isFirstVisible()", "class.is-lastVisible": "isLastVisible()" }, classAttribute: "scrollBox" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-after-inlineSize: max(var(--components-scrollBox-shadowSize), var(--components-scrollBox-paddingInline));--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default);transform:translateZ(0);will-change:scroll-position}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{inline-size:var(--components-scrollBox-after-inlineSize);opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-after-inlineSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-size:calc(var(--components-scrollBox-shadowSize) * .75) 100%,calc(var(--components-scrollBox-shadowSize) * .25) 100%,1px 100%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ScrollBoxComponent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: ScrollBoxComponent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'lu-scroll-box', standalone: true, template: '<ng-content />', encapsulation: ViewEncapsulation.None, host: {
46
46
  class: 'scrollBox',
47
47
  '(scroll)': 'scroll()',
48
48
  '[class.is-firstVisible]': 'isFirstVisible()',
49
49
  '[class.is-lastVisible]': 'isLastVisible()',
50
- }, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default);transform:translateZ(0);will-change:scroll-position}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"] }]
50
+ }, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-after-inlineSize: max(var(--components-scrollBox-shadowSize), var(--components-scrollBox-paddingInline));--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default);transform:translateZ(0);will-change:scroll-position}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{inline-size:var(--components-scrollBox-after-inlineSize);opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-after-inlineSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-size:calc(var(--components-scrollBox-shadowSize) * .75) 100%,calc(var(--components-scrollBox-shadowSize) * .25) 100%,1px 100%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"] }]
51
51
  }], ctorParameters: () => [], propDecorators: { vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }] } });
52
52
 
53
53
  /**
@@ -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, ChangeDetectionStrategy, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/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: luBooleanAttribute });\n\n\treadonly isFirstVisible = signal(true);\n\treadonly isLastVisible = signal(false);\n\n\tscroll() {\n\t\tconst container = this.#elementRef.nativeElement.getBoundingClientRect();\n\t\tconst first = this.#elementRef.nativeElement.firstElementChild?.getBoundingClientRect();\n\t\tconst last = this.#elementRef.nativeElement.lastElementChild?.getBoundingClientRect();\n\t\tconst tolerance = 1;\n\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(!first || first.top >= container.top - tolerance);\n\t\t\tthis.isLastVisible.set(!last || last.bottom <= container.bottom + tolerance);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(!first || first.left >= container.left - tolerance);\n\t\t\tthis.isLastVisible.set(!last || last.right <= container.right + tolerance);\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":";;;;MAiBa,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAUX,MAAM,GAAA;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACxE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,qBAAqB,EAAE;AACvF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,EAAE,qBAAqB,EAAE;QACrF,MAAM,SAAS,GAAG,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC;AACzE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7E;aAAO;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;AAC3E,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3E;IACD;AAEA,IAAA,WAAA,GAAA;AAzBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAE1D,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI;2FAAC;QAC7B,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK;0FAAC;QAkBrC,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;8GApCY,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,slJAAA,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,slJAAA,CAAA,EAAA;;;ACfhD;;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, ChangeDetectionStrategy, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute } from '@lucca-front/ng/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: luBooleanAttribute });\n\n\treadonly isFirstVisible = signal(true);\n\treadonly isLastVisible = signal(false);\n\n\tscroll() {\n\t\tconst container = this.#elementRef.nativeElement.getBoundingClientRect();\n\t\tconst first = this.#elementRef.nativeElement.firstElementChild?.getBoundingClientRect();\n\t\tconst last = this.#elementRef.nativeElement.lastElementChild?.getBoundingClientRect();\n\t\tconst tolerance = 1;\n\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(!first || first.top >= container.top - tolerance);\n\t\t\tthis.isLastVisible.set(!last || last.bottom <= container.bottom + tolerance);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(!first || first.left >= container.left - tolerance);\n\t\t\tthis.isLastVisible.set(!last || last.right <= container.right + tolerance);\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":";;;;MAiBa,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAUX,MAAM,GAAA;QACL,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE;AACxE,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,qBAAqB,EAAE;AACvF,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,EAAE,qBAAqB,EAAE;QACrF,MAAM,SAAS,GAAG,CAAC;AAEnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC;AACzE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;QAC7E;aAAO;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;AAC3E,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;QAC3E;IACD;AAEA,IAAA,WAAA,GAAA;AAzBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD;;AAEG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAE1D,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI;2FAAC;QAC7B,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK;0FAAC;QAkBrC,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;8GApCY,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,85JAAA,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,85JAAA,CAAA,EAAA;;;ACfhD;;AAEG;;"}
@@ -12,12 +12,12 @@ import { debounceTime } from 'rxjs/operators';
12
12
  class LuScrollDirective {
13
13
  #destroyRef;
14
14
  #scrollSubject;
15
- #scroll$;
16
15
  scroll(event) {
17
16
  this.#scrollSubject.next(event);
18
17
  }
19
18
  ngOnInit() {
20
- this.#scroll$.pipe(takeUntilDestroyed(this.#destroyRef)).subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));
19
+ // Built here rather than in a field initializer, so that `debounceTime` holds the consumer's value
20
+ this.#scrollSubject.pipe(debounceTime(this.debounceTime()), takeUntilDestroyed(this.#destroyRef)).subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));
21
21
  }
22
22
  emitScrollEvents($event) {
23
23
  this.onScroll.emit($event);
@@ -53,12 +53,11 @@ class LuScrollDirective {
53
53
  this.onScrollRight = output();
54
54
  this.#destroyRef = inject(DestroyRef);
55
55
  this.#scrollSubject = new Subject();
56
- this.#scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));
57
56
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
59
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.4", type: LuScrollDirective, isStandalone: true, selector: "[luScroll]", inputs: { debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollTop: "onScrollTop", onScrollBottom: "onScrollBottom", onScrollLeft: "onScrollLeft", onScrollRight: "onScrollRight" }, host: { listeners: { "scroll": "scroll($event)" } }, exportAs: ["luScroll"], ngImport: i0 }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: LuScrollDirective, isStandalone: true, selector: "[luScroll]", inputs: { debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollTop: "onScrollTop", onScrollBottom: "onScrollBottom", onScrollLeft: "onScrollLeft", onScrollRight: "onScrollRight" }, host: { listeners: { "scroll": "scroll($event)" } }, exportAs: ["luScroll"], ngImport: i0 }); }
60
59
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuScrollDirective, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuScrollDirective, decorators: [{
62
61
  type: Directive,
63
62
  args: [{
64
63
  selector: '[luScroll]',
@@ -73,11 +72,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
73
72
  * @deprecated use `LuScrollDirective` instead
74
73
  */
75
74
  class LuScrollModule {
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
77
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.4", ngImport: i0, type: LuScrollModule, imports: [LuScrollDirective], exports: [LuScrollDirective] }); }
78
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuScrollModule }); }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
76
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: LuScrollModule, imports: [LuScrollDirective], exports: [LuScrollDirective] }); }
77
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuScrollModule }); }
79
78
  }
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: LuScrollModule, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: LuScrollModule, decorators: [{
81
80
  type: NgModule,
82
81
  args: [{
83
82
  imports: [LuScrollDirective],
@@ -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 { DestroyRef, Directive, ElementRef, inject, input, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luNumberAttribute } from '@lucca-front/ng/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(100, { transform: luNumberAttribute });\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#destroyRef = inject(DestroyRef);\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$.pipe(takeUntilDestroyed(this.#destroyRef)).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 { DestroyRef, Directive, ElementRef, inject, input, OnInit, output } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { luNumberAttribute } from '@lucca-front/ng/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(100, { transform: luNumberAttribute });\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#destroyRef = inject(DestroyRef);\n\n\t#scrollSubject = new Subject<Event>();\n\n\tscroll(event: Event) {\n\t\tthis.#scrollSubject.next(event);\n\t}\n\n\tngOnInit(): void {\n\t\t// Built here rather than in a field initializer, so that `debounceTime` holds the consumer's value\n\t\tthis.#scrollSubject.pipe(debounceTime(this.debounceTime()), takeUntilDestroyed(this.#destroyRef)).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":";;;;;;;AAAA;AAQA;;AAEG;MAQU,iBAAiB,CAAA;AAQ7B,IAAA,WAAW;AAEX,IAAA,cAAc;AAEd,IAAA,MAAM,CAAC,KAAY,EAAA;AAClB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;IAEA,QAAQ,GAAA;;AAEP,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACjK;AACQ,IAAA,gBAAgB,CAAC,MAAa,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAE1B,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,QAAA,IAAI,MAAM,YAAY,OAAO,EAAE;AAC9B,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;AACpC,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;AAClC,YAAA,IAAI,UAAU,KAAK,CAAC,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B;AACA,YAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B;AACA,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;AACtC,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW;YAC3D,IAAI,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,EAAE,EAAE;AAC7C,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC;YACA,IAAI,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,EAAE,EAAE;AAC9C,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC;QACD;IACD;AACA,IAAA,WAAA,CAAsB,WAAoC,EAAA;QAApC,IAAA,CAAA,WAAW,GAAX,WAAW;QA5CxB,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,GAAG,oFAAI,SAAS,EAAE,iBAAiB,EAAA,CAAG;QAC3D,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAS;QAC1B,IAAA,CAAA,WAAW,GAAG,MAAM,EAAS;QAC7B,IAAA,CAAA,cAAc,GAAG,MAAM,EAAS;QAChC,IAAA,CAAA,YAAY,GAAG,MAAM,EAAS;QAC9B,IAAA,CAAA,aAAa,GAAG,MAAM,EAAS;AAExC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAEhC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAS;IAmCwB;8GA7CjD,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACL,wBAAA,UAAU,EAAE,gBAAgB;AAC5B,qBAAA;AACD,iBAAA;;;ACdD;;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,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;+GAEf,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,iBAAA;;;ACTD;;AAEG;;"}