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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/button/index.d.ts +3 -4
  2. package/callout/index.d.ts +10 -2
  3. package/comment/index.d.ts +7 -1
  4. package/core-select/department/index.d.ts +1 -0
  5. package/core-select/index.d.ts +4 -2
  6. package/core-select/user/index.d.ts +1 -0
  7. package/date2/index.d.ts +8 -3
  8. package/dialog/index.d.ts +2 -2
  9. package/fesm2022/lucca-front-ng-api.mjs +6 -6
  10. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-box.mjs +2 -2
  12. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-button.mjs +9 -13
  14. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-callout.mjs +35 -12
  16. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-comment.mjs +10 -4
  18. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-core-select-department.mjs +10 -1
  20. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select-user.mjs +1 -0
  22. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select.mjs +5 -1
  24. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-date.mjs +4 -4
  26. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-date2.mjs +44 -12
  28. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-department.mjs +2 -2
  30. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-dialog.mjs +5 -5
  32. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
  34. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-establishment.mjs +4 -4
  36. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
  38. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
  40. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-footer.mjs +2 -2
  42. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-form-field.mjs +10 -6
  44. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-formly.mjs +30 -30
  46. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +6 -2
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +4 -0
  50. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +42 -0
  52. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -0
  53. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +40 -31
  54. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-forms.mjs +19 -26
  56. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-gauge.mjs +50 -0
  58. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -0
  59. package/fesm2022/lucca-front-ng-icon.mjs +4 -3
  60. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-inline-message.mjs +2 -2
  62. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-listbox.mjs +1 -1
  64. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-listing.mjs +3 -3
  66. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-mobile-push.mjs +1 -1
  68. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-modal.mjs +6 -6
  70. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-multi-select.mjs +27 -13
  72. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-option.mjs +8 -8
  74. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-page-header.mjs +2 -2
  76. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  78. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
  80. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-popover.mjs +5 -5
  82. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  84. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-read-more.mjs +2 -2
  86. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-segmentedControl.mjs +72 -0
  88. package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -0
  89. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +99 -0
  90. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -0
  91. package/fesm2022/lucca-front-ng-select.mjs +2 -2
  92. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-simple-select.mjs +4 -4
  94. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-skeleton.mjs +12 -12
  96. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-tag.mjs +8 -5
  98. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-toast.mjs +2 -2
  100. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-tree-select.mjs +3 -2
  102. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-user-popover.mjs +77 -74
  104. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-user.mjs +16 -11
  106. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  107. package/form-field/index.d.ts +6 -2
  108. package/forms/index.d.ts +5 -2
  109. package/forms/rich-text-input/formatters/html/index.d.ts +3 -2
  110. package/forms/rich-text-input/formatters/markdown/index.d.ts +1 -0
  111. package/forms/rich-text-input/formatters/plain-text/index.d.ts +15 -0
  112. package/forms/rich-text-input/index.d.ts +9 -6
  113. package/gauge/index.d.ts +28 -0
  114. package/icon/index.d.ts +3 -2
  115. package/package.json +36 -15
  116. package/schematics/class-prefix/index.js +11 -0
  117. package/schematics/lib/angular-component-ast.js +11 -1
  118. package/segmentedControl/index.d.ts +28 -0
  119. package/segmentedControlTabs/index.d.ts +34 -0
  120. package/src/components/_picker.scss +1 -2
  121. package/tag/index.d.ts +6 -4
  122. package/tree-select/index.d.ts +2 -1
  123. package/user/index.d.ts +2 -1
  124. package/user-popover/index.d.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-skeleton.mjs","sources":["../../../packages/ng/skeleton/skeleton-button/skeleton-button.component.ts","../../../packages/ng/skeleton/skeleton-button/skeleton-button.component.html","../../../packages/ng/skeleton/skeleton-data-table/skeleton-data-table.component.ts","../../../packages/ng/skeleton/skeleton-data-table/skeleton-data-table.component.html","../../../packages/ng/skeleton/skeleton-field/skeleton-field.component.ts","../../../packages/ng/skeleton/skeleton-field/skeleton-field.component.html","../../../packages/ng/skeleton/skeleton-header/skeleton-header.component.ts","../../../packages/ng/skeleton/skeleton-header/skeleton-header.component.html","../../../packages/ng/skeleton/skeleton-index-table/skeleton-index-table.component.ts","../../../packages/ng/skeleton/skeleton-index-table/skeleton-index-table.component.html","../../../packages/ng/skeleton/skeleton-table/skeleton-table.component.ts","../../../packages/ng/skeleton/skeleton-table/skeleton-table.component.html","../../../packages/ng/skeleton/lucca-front-ng-skeleton.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-button',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-button.component.html',\n\tstyleUrl: './skeleton-button.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonButtonComponent {\n\t@Input({ transform: booleanAttribute })\n\tdark = false;\n}\n","<div class=\"skeleton is-loading\" [class.mod-dark]=\"dark\" inert=\"inert\">\n\t<div class=\"button\" [class.mod-dark]=\"dark\">\n\t\t<span class=\"skeleton-item\"></span>\n\t</div>\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-data-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-data-table.component.html',\n\tstyleUrl: './skeleton-data-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonDataTableComponent {\n\t@Input({ transform: booleanAttribute })\n\tdataTableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (dataTableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<div class=\"dataTableWrapper\">\n\t\t<table class=\"dataTable mod-layoutFixed skeleton is-loading\" inert=\"inert\">\n\t\t\t<thead class=\"dataTable-head\">\n\t\t\t\t<tr class=\"dataTable-head-row\">\n\t\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t\t<th class=\"dataTable-head-row-cell\" scope=\"col\">\n\t\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t\t</table>\n\t</div>\n}\n<ng-template #tbody>\n\t<tbody class=\"dataTable-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"dataTable-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"dataTable-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, numberAttribute } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-field',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-field.component.html',\n\tstyleUrl: './skeleton-field.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonFieldComponent {\n\treadonly dark = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n\n\treadonly hiddenLabel = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n\n\treadonly rows = input<number, number | `${number}`>(1, { transform: numberAttribute });\n\n\treadonly lines = computed(() => Array.from({ length: this.rows() }));\n\n\treadonly getRandomPercent = (min = 33, max = 66) => Math.floor(Math.random() * (max - min) + min);\n}\n","<div class=\"form-field skeleton is-loading\" [class.mod-dark]=\"dark()\" inert=\"inert\">\n\t@if (!hiddenLabel()) {\n\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width.%]=\"getRandomPercent()\"></span>\n\t}\n\t<div class=\"textField\">\n\t\t<div class=\"textField-input\">\n\t\t\t<span class=\"textField-input-value\">\n\t\t\t\t@for (line of lines(); track $index) {\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"skeleton-item\"\n\t\t\t\t\t\t[style.--components-skeleton-text-width.%]=\"$last ? getRandomPercent() : getRandomPercent(98, 100)\"\n\t\t\t\t\t></span>\n\t\t\t\t}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n</div>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-header',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-header.component.html',\n\tstyleUrl: './skeleton-header.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonHeaderComponent {\n\t@Input({ transform: booleanAttribute })\n\tdark = false;\n}\n","<header class=\"pageHeader skeleton is-loading\" [class.mod-dark]=\"dark\" inert=\"inert\">\n\t<div class=\"pageHeader-content\">\n\t\t<div class=\"pageHeader-content-title pr-u-flexGrow1\">\n\t\t\t<h1 class=\"pr-u-margin0 skeleton-item\" style=\"--components-skeleton-text-width: 80%\"></h1>\n\t\t</div>\n\t\t<div class=\"pageHeader-content-actions\">\n\t\t\t<span class=\"pr-u-h1 skeleton-item\"></span>\n\t\t</div>\n\t</div>\n\t<div class=\"pageHeader-description\">\n\t\t<p class=\"pr-u-marginBlockEnd0 skeleton-item\" style=\"--components-skeleton-text-width: 70%\"></p>\n\t\t<p class=\"pr-u-marginBlockEnd0 skeleton-item\" style=\"--components-skeleton-text-width: 40%\"></p>\n\t</div>\n</header>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-index-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-index-table.component.html',\n\tstyleUrl: './skeleton-index-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonIndexTableComponent {\n\t@Input({ transform: booleanAttribute })\n\ttableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (tableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<table class=\"indexTable mod-layoutFixed skeleton is-loading\" inert=\"inert\">\n\t\t<thead class=\"indexTable-head\">\n\t\t\t<tr class=\"indexTable-head-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<th class=\"indexTable-head-row-cell\" scope=\"col\">\n\t\t\t\t\t\t<span class=\"skeleton-item mod-dark\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t</table>\n}\n<ng-template #tbody>\n\t<tbody class=\"indexTable-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"indexTable-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"indexTable-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-table.component.html',\n\tstyleUrl: './skeleton-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonTableComponent {\n\t@Input({ transform: booleanAttribute })\n\ttableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (tableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<table class=\"table skeleton is-loading\" inert=\"inert\">\n\t\t<thead class=\"table-head\">\n\t\t\t<tr class=\"table-head-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<th class=\"table-head-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item mod-dark pr-u-bodyS\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t</table>\n}\n<ng-template #tbody>\n\t<tbody class=\"table-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"table-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"table-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MASa,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QASC,IAAI,CAAA,IAAA,GAAG,KAAK;AACZ;8GAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EACf,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrC,kMAKA,EAAA,MAAA,EAAA,CAAA,4quBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDIa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kMAAA,EAAA,MAAA,EAAA,CAAA,4quBAAA,CAAA,EAAA;8BAI/C,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;MEC1B,0BAA0B,CAAA;AARvC,IAAA,WAAA,GAAA;QAUC,IAAiB,CAAA,iBAAA,GAAG,KAAK;AAEzB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,GAAc,GAAA,EAAE,EAAE,GAAc,GAAA,EAAE,KAAa,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG;AACjI;8GAXY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAClB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,gBAAgB,ECZrC,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8kCA+BA,oozBDtBW,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEd,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBARtC,SAAS;+BACC,wBAAwB,EAAA,UAAA,EACtB,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,8kCAAA,EAAA,MAAA,EAAA,CAAA,4kzBAAA,CAAA,EAAA;8BAI3B,iBAAiB,EAAA,CAAA;sBADhB,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;MEH1B,sBAAsB,CAAA;AAPnC,IAAA,WAAA,GAAA;QAQU,IAAI,CAAA,IAAA,GAAG,KAAK,CAAkC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAErF,IAAW,CAAA,WAAA,GAAG,KAAK,CAAkC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAE5F,IAAI,CAAA,IAAA,GAAG,KAAK,CAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;QAE7E,IAAK,CAAA,KAAA,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE3D,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACjG;8GAVY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,6cCTnC,+nBAiBA,EAAA,MAAA,EAAA,CAAA,4gbAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDRa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACjB,UAAA,EAAA,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,+nBAAA,EAAA,MAAA,EAAA,CAAA,4gbAAA,CAAA,EAAA;;;MEEnC,uBAAuB,CAAA;AAPpC,IAAA,WAAA,GAAA;QASC,IAAI,CAAA,IAAA,GAAG,KAAK;AACZ;8GAHY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EACf,gBAAgB,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECVrC,ksBAcA,EAAA,MAAA,EAAA,CAAA,4wRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDLa,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAClB,UAAA,EAAA,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ksBAAA,EAAA,MAAA,EAAA,CAAA,4wRAAA,CAAA,EAAA;8BAI/C,IAAI,EAAA,CAAA;sBADH,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;MEC1B,2BAA2B,CAAA;AARxC,IAAA,WAAA,GAAA;QAUC,IAAa,CAAA,aAAA,GAAG,KAAK;AAErB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,GAAc,GAAA,EAAE,EAAE,GAAc,GAAA,EAAE,KAAa,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG;AACjI;8GAXY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EACnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,gBAAgB,ECZrC,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ohCA6BA,q31CDpBW,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBARvC,SAAS;+BACC,yBAAyB,EAAA,UAAA,EACvB,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,ohCAAA,EAAA,MAAA,EAAA,CAAA,6z1CAAA,CAAA,EAAA;8BAI3B,aAAa,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;MED1B,sBAAsB,CAAA;AARnC,IAAA,WAAA,GAAA;QAUC,IAAa,CAAA,aAAA,GAAG,KAAK;AAErB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAY,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAE9D,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,GAAc,GAAA,EAAE,EAAE,GAAc,GAAA,EAAE,KAAa,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG;AACjI;8GAXY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EACd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,gBAAgB,ECZrC,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,89BA6BA,q4rBDpBW,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAEd,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;+BACC,mBAAmB,EAAA,UAAA,EACjB,IAAI,EAGC,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,89BAAA,EAAA,MAAA,EAAA,CAAA,60rBAAA,CAAA,EAAA;8BAI3B,aAAa,EAAA,CAAA;sBADZ,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;;AEZvC;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-skeleton.mjs","sources":["../../../packages/ng/skeleton/skeleton-button/skeleton-button.component.ts","../../../packages/ng/skeleton/skeleton-button/skeleton-button.component.html","../../../packages/ng/skeleton/skeleton-data-table/skeleton-data-table.component.ts","../../../packages/ng/skeleton/skeleton-data-table/skeleton-data-table.component.html","../../../packages/ng/skeleton/skeleton-field/skeleton-field.component.ts","../../../packages/ng/skeleton/skeleton-field/skeleton-field.component.html","../../../packages/ng/skeleton/skeleton-header/skeleton-header.component.ts","../../../packages/ng/skeleton/skeleton-header/skeleton-header.component.html","../../../packages/ng/skeleton/skeleton-index-table/skeleton-index-table.component.ts","../../../packages/ng/skeleton/skeleton-index-table/skeleton-index-table.component.html","../../../packages/ng/skeleton/skeleton-table/skeleton-table.component.ts","../../../packages/ng/skeleton/skeleton-table/skeleton-table.component.html","../../../packages/ng/skeleton/lucca-front-ng-skeleton.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-button',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-button.component.html',\n\tstyleUrl: './skeleton-button.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonButtonComponent {\n\t@Input({ transform: booleanAttribute })\n\tdark = false;\n}\n","<div class=\"skeleton is-loading\" [class.mod-dark]=\"dark\" inert=\"inert\">\n\t<div class=\"button\" [class.mod-dark]=\"dark\">\n\t\t<span class=\"skeleton-item\"></span>\n\t</div>\n</div>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-data-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-data-table.component.html',\n\tstyleUrl: './skeleton-data-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonDataTableComponent {\n\t@Input({ transform: booleanAttribute })\n\tdataTableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (dataTableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<div class=\"dataTableWrapper\">\n\t\t<table class=\"dataTable mod-layoutFixed skeleton is-loading\" inert=\"inert\">\n\t\t\t<thead class=\"dataTable-head\">\n\t\t\t\t<tr class=\"dataTable-head-row\">\n\t\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t\t<th class=\"dataTable-head-row-cell\" scope=\"col\">\n\t\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t\t</table>\n\t</div>\n}\n<ng-template #tbody>\n\t<tbody class=\"dataTable-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"dataTable-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"dataTable-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, numberAttribute } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-field',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-field.component.html',\n\tstyleUrl: './skeleton-field.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonFieldComponent {\n\treadonly dark = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n\n\treadonly hiddenLabel = input<boolean, boolean | `${boolean}`>(false, { transform: booleanAttribute });\n\n\treadonly rows = input<number, number | `${number}`>(1, { transform: numberAttribute });\n\n\treadonly lines = computed(() => Array.from({ length: this.rows() }));\n\n\treadonly getRandomPercent = (min = 33, max = 66) => Math.floor(Math.random() * (max - min) + min);\n}\n","<div class=\"form-field skeleton is-loading\" [class.mod-dark]=\"dark()\" inert=\"inert\">\n\t@if (!hiddenLabel()) {\n\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width.%]=\"getRandomPercent()\"></span>\n\t}\n\t<div class=\"textField\">\n\t\t<div class=\"textField-input\">\n\t\t\t<span class=\"textField-input-value\">\n\t\t\t\t@for (line of lines(); track $index) {\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"skeleton-item\"\n\t\t\t\t\t\t[style.--components-skeleton-text-width.%]=\"$last ? getRandomPercent() : getRandomPercent(98, 100)\"\n\t\t\t\t\t></span>\n\t\t\t\t}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n</div>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-header',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-header.component.html',\n\tstyleUrl: './skeleton-header.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkeletonHeaderComponent {\n\t@Input({ transform: booleanAttribute })\n\tdark = false;\n}\n","<header class=\"pageHeader skeleton is-loading\" [class.mod-dark]=\"dark\" inert=\"inert\">\n\t<div class=\"pageHeader-content\">\n\t\t<div class=\"pageHeader-content-title pr-u-flexGrow1\">\n\t\t\t<h1 class=\"pr-u-margin0 skeleton-item\" style=\"--components-skeleton-text-width: 80%\"></h1>\n\t\t</div>\n\t\t<div class=\"pageHeader-content-actions\">\n\t\t\t<span class=\"pr-u-h1 skeleton-item\"></span>\n\t\t</div>\n\t</div>\n\t<div class=\"pageHeader-description\">\n\t\t<p class=\"pr-u-marginBlockEnd0 skeleton-item\" style=\"--components-skeleton-text-width: 70%\"></p>\n\t\t<p class=\"pr-u-marginBlockEnd0 skeleton-item\" style=\"--components-skeleton-text-width: 40%\"></p>\n\t</div>\n</header>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-index-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-index-table.component.html',\n\tstyleUrl: './skeleton-index-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonIndexTableComponent {\n\t@Input({ transform: booleanAttribute })\n\ttableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (tableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<table class=\"indexTable mod-layoutFixed skeleton is-loading\" inert=\"inert\">\n\t\t<thead class=\"indexTable-head\">\n\t\t\t<tr class=\"indexTable-head-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<th class=\"indexTable-head-row-cell\" scope=\"col\">\n\t\t\t\t\t\t<span class=\"skeleton-item mod-dark\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t</table>\n}\n<ng-template #tbody>\n\t<tbody class=\"indexTable-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"indexTable-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"indexTable-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, Input } from '@angular/core';\n\n@Component({\n\tselector: 'lu-skeleton-table',\n\tstandalone: true,\n\ttemplateUrl: './skeleton-table.component.html',\n\tstyleUrl: './skeleton-table.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n})\nexport class SkeletonTableComponent {\n\t@Input({ transform: booleanAttribute })\n\ttableBodyOnly = false;\n\n\tcols = input<number>(5);\n\tcolsNumber = computed<unknown[]>(() => new Array(this.cols()));\n\n\trows = input<number>(8);\n\trowsNumber = computed<unknown[]>(() => new Array(this.rows()));\n\n\tgetRandomPercent = (min: number = 33, max: number = 66): string => `${Math.floor(Math.random() * (max - min) + min).toString()}%`;\n}\n","@if (tableBodyOnly) {\n\t<ng-container *ngTemplateOutlet=\"tbody\" />\n} @else {\n\t<table class=\"table skeleton is-loading\" inert=\"inert\">\n\t\t<thead class=\"table-head\">\n\t\t\t<tr class=\"table-head-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<th class=\"table-head-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item mod-dark pr-u-bodyS\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</th>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t</thead>\n\t\t<ng-container *ngTemplateOutlet=\"tbody\" />\n\t</table>\n}\n<ng-template #tbody>\n\t<tbody class=\"table-body\">\n\t\t@for (row of rowsNumber(); track row) {\n\t\t\t<tr class=\"table-body-row\">\n\t\t\t\t@for (col of colsNumber(); track col) {\n\t\t\t\t\t<td class=\"table-body-row-cell\">\n\t\t\t\t\t\t<span class=\"skeleton-item\" [style.--components-skeleton-text-width]=\"getRandomPercent()\"></span>\n\t\t\t\t\t</td>\n\t\t\t\t}\n\t\t\t</tr>\n\t\t}\n\t</tbody>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,27 +1,30 @@
1
- import { NgClass } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { booleanAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, Input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
4
3
  import { RouterLink } from '@angular/router';
5
4
  import { IconComponent } from '@lucca-front/ng/icon';
5
+ import * as i1 from '@lucca-front/ng/tooltip';
6
+ import { LuTooltipModule } from '@lucca-front/ng/tooltip';
6
7
 
7
8
  class TagComponent {
8
9
  constructor() {
10
+ this.withEllipis = input(false, { transform: booleanAttribute });
9
11
  this.size = 'M';
10
12
  this.palette = 'none';
11
13
  this.outlined = false;
14
+ this.AI = input(false, { transform: booleanAttribute });
12
15
  }
13
16
  get tagClasses() {
14
17
  return {
15
18
  [`mod-${this.size}`]: !!this.size,
16
- [`palette-${this.palette}`]: !!this.palette,
19
+ [`palette-${this.palette}`]: !this.AI() && !!this.palette,
17
20
  };
18
21
  }
19
22
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TagComponent, isStandalone: true, selector: "lu-tag", inputs: { label: "label", size: "size", palette: "palette", outlined: ["outlined", "outlined", booleanAttribute], link: "link", icon: "icon" }, ngImport: i0, template: "@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</span>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;@layer components{.tag{--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-shadow: transparent;--components-tag-font: var(--pr-t-font-body-S);--components-tag-decoration: none;--components-tag-cursor: inherit;--components-tag-fontSize: var(--pr-t-font-body-S-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-tag-background);border-radius:var(--pr-t-border-radius-small);padding-block:0;padding-inline:var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:center;text-align:center;vertical-align:baseline;white-space:nowrap;border:0;font:var(--components-tag-font);font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: 1rem}.tag-content{text-decoration:var(--components-tag-decoration)}}@layer mods{.tag.mod-L{--components-tag-font: var(--pr-t-font-body-M);--components-tag-iconBottom: 0;--components-tag-fontSize: var(--pr-t-font-body-M-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-M-lineHeight)}.tag.mod-L .lucca-icon{--icon-size: 1.25rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}}@layer states{.tag.mod-disabled{--components-tag-background: var(--commons-disabled-background);--components-tag-color: var(--commons-disabled-color)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
23
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TagComponent, isStandalone: true, selector: "lu-tag", inputs: { withEllipis: { classPropertyName: "withEllipis", publicName: "withEllipis", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: false, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: false, isRequired: false, transformFunction: null }, outlined: { classPropertyName: "outlined", publicName: "outlined", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, link: { classPropertyName: "link", publicName: "link", isSignal: false, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: false, isRequired: false, transformFunction: null }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t@if (withEllipis()) {\n\t\t\t<span class=\"tag-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label }}</span>\n\t\t} @else {\n\t\t\t<span class=\"tag-content\">{{ label }}</span>\n\t\t}\n\t</span>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;@layer components{.tag{--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-shadow: transparent;--components-tag-font: var(--pr-t-font-body-S);--components-tag-gap: var(--pr-t-spacings-50);--components-tag-decoration: none;--components-tag-cursor: inherit;--components-tag-boxShadow: 0 0 0 1px var(--components-tag-shadow);--components-tag-fontSize: var(--pr-t-font-body-S-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-tag-background);border-radius:var(--pr-t-border-radius-small);padding-block:0;padding-inline:var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--components-tag-gap);cursor:var(--components-tag-cursor);display:inline-flex;align-items:center;text-align:center;vertical-align:baseline;white-space:nowrap;border:0;font:var(--components-tag-font);font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight);max-inline-size:100%;position:relative}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: 1rem}.tag-content{outline:none;text-decoration:var(--components-tag-decoration)}}@layer mods{.tag.mod-S{--components-tag-font: var(--pr-t-font-body-XS);--components-tag-gap: var(--pr-t-spacings-25);--components-tag-fontSize: var(--pr-t-font-body-XS-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.tag.mod-S .lucca-icon{--icon-size: .75rem}.tag.mod-L{--components-tag-font: var(--pr-t-font-body-M);--components-tag-fontSize: var(--pr-t-font-body-M-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-M-lineHeight)}.tag.mod-L .lucca-icon{--icon-size: 1.25rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined,.tag.mod-AI{--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}.tag.mod-AI:not(:disabled){--components-tag-boxShadow: none}.tag.mod-AI:not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-small) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.tag.mod-AI:not(:disabled) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}@layer states{.tag.mod-disabled{--components-tag-background: var(--commons-disabled-background);--components-tag-color: var(--commons-disabled-color)}.tag:has(.tag-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
21
24
  }
22
25
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TagComponent, decorators: [{
23
26
  type: Component,
24
- args: [{ selector: 'lu-tag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, NgClass, RouterLink], template: "@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</span>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;@layer components{.tag{--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-shadow: transparent;--components-tag-font: var(--pr-t-font-body-S);--components-tag-decoration: none;--components-tag-cursor: inherit;--components-tag-fontSize: var(--pr-t-font-body-S-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-tag-background);border-radius:var(--pr-t-border-radius-small);padding-block:0;padding-inline:var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--pr-t-spacings-50);cursor:var(--components-tag-cursor);display:inline-flex;align-items:center;text-align:center;vertical-align:baseline;white-space:nowrap;border:0;font:var(--components-tag-font);font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight)}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: 1rem}.tag-content{text-decoration:var(--components-tag-decoration)}}@layer mods{.tag.mod-L{--components-tag-font: var(--pr-t-font-body-M);--components-tag-iconBottom: 0;--components-tag-fontSize: var(--pr-t-font-body-M-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-M-lineHeight)}.tag.mod-L .lucca-icon{--icon-size: 1.25rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined{--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}}@layer states{.tag.mod-disabled{--components-tag-background: var(--commons-disabled-background);--components-tag-color: var(--commons-disabled-color)}}\n"] }]
27
+ args: [{ selector: 'lu-tag', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, RouterLink, LuTooltipModule], template: "@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t@if (withEllipis()) {\n\t\t\t<span class=\"tag-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label }}</span>\n\t\t} @else {\n\t\t\t<span class=\"tag-content\">{{ label }}</span>\n\t\t}\n\t</span>\n}\n", styles: ["@layer reset,base,components,mods,states,product,utils;@layer components{.tag{--components-tag-background: var(--palettes-100, var(--palettes-neutral-100));--components-tag-color: var(--palettes-800, var(--palettes-neutral-800));--components-tag-shadow: transparent;--components-tag-font: var(--pr-t-font-body-S);--components-tag-gap: var(--pr-t-spacings-50);--components-tag-decoration: none;--components-tag-cursor: inherit;--components-tag-boxShadow: 0 0 0 1px var(--components-tag-shadow);--components-tag-fontSize: var(--pr-t-font-body-S-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-S-lineHeight);background-color:var(--components-tag-background);border-radius:var(--pr-t-border-radius-small);padding-block:0;padding-inline:var(--pr-t-spacings-50);text-decoration:var(--components-tag-decoration);box-shadow:0 0 0 1px var(--components-tag-shadow);gap:var(--components-tag-gap);cursor:var(--components-tag-cursor);display:inline-flex;align-items:center;text-align:center;vertical-align:baseline;white-space:nowrap;border:0;font:var(--components-tag-font);font-size:var(--components-tag-fontSize);line-height:var(--components-tag-lineHeight);max-inline-size:100%;position:relative}.tag,.tag:is(a,button){color:var(--components-tag-color)}.tag .lucca-icon{--icon-size: 1rem}.tag-content{outline:none;text-decoration:var(--components-tag-decoration)}}@layer mods{.tag.mod-S{--components-tag-font: var(--pr-t-font-body-XS);--components-tag-gap: var(--pr-t-spacings-25);--components-tag-fontSize: var(--pr-t-font-body-XS-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.tag.mod-S .lucca-icon{--icon-size: .75rem}.tag.mod-L{--components-tag-font: var(--pr-t-font-body-M);--components-tag-fontSize: var(--pr-t-font-body-M-fontSize);--components-tag-lineHeight: var(--pr-t-font-body-M-lineHeight)}.tag.mod-L .lucca-icon{--icon-size: 1.25rem}.tag:is(a,button),.tag.mod-clickable{--components-tag-cursor: pointer}.tag:is(a,button):hover,.tag:is(a,button):focus,.tag.mod-clickable:hover,.tag.mod-clickable:focus{--components-tag-decoration: underline}.tag:is(a,button):has(.tag-content):hover,.tag:is(a,button):has(.tag-content):focus,.tag.mod-clickable:has(.tag-content):hover,.tag.mod-clickable:has(.tag-content):focus{--components-tag-decoration: none}.tag:is(a,button):has(.tag-content):hover .tag-content,.tag:is(a,button):has(.tag-content):focus .tag-content,.tag.mod-clickable:has(.tag-content):hover .tag-content,.tag.mod-clickable:has(.tag-content):focus .tag-content{--components-tag-decoration: underline}.tag.mod-outlined,.tag.mod-AI{--components-tag-shadow: var(--palettes-300, var(--palettes-neutral-300));--components-tag-background: transparent}.tag.mod-AI:not(:disabled){--components-tag-boxShadow: none}.tag.mod-AI:not(:disabled):before{content:\"\";pointer-events:none;position:absolute;inset:calc(var(--commons-divider-width) * -1);padding:var(--commons-divider-width);background-image:conic-gradient(from 135deg,var(--palettes-brand-400),var(--palettes-AI-500),var(--palettes-brand-400));border-radius:calc(var(--pr-t-border-radius-small) + var(--commons-divider-width));mask:linear-gradient(var(--palettes-neutral-0)) content-box,linear-gradient(var(--palettes-neutral-0));-webkit-mask-composite:xor;mask-composite:exclude}.tag.mod-AI:not(:disabled) .lucca-icon{background-image:linear-gradient(135deg,var(--palettes-AI-600),var(--palettes-brand-500));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}}@layer states{.tag.mod-disabled{--components-tag-background: var(--commons-disabled-background);--components-tag-color: var(--commons-disabled-color)}.tag:has(.tag-content:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}}\n"] }]
25
28
  }], propDecorators: { label: [{
26
29
  type: Input,
27
30
  args: [{ required: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-tag.mjs","sources":["../../../packages/ng/tag/tag.component.ts","../../../packages/ng/tag/tag.component.html","../../../packages/ng/tag/lucca-front-ng-tag.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { DecorativePalette, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-tag',\n\tstandalone: true,\n\ttemplateUrl: './tag.component.html',\n\tstyleUrls: ['./tag.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, NgClass, RouterLink],\n})\nexport class TagComponent {\n\t@Input({ required: true })\n\tlabel: string;\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'M' | 'L' = 'M';\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette | DecorativePalette = 'none';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should display be outlined?\n\t */\n\toutlined = false;\n\n\t@Input()\n\t/**\n\t * For routerLink usage\n\t */\n\tlink: string;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon | undefined;\n\n\tget tagClasses() {\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${this.palette}`]: !!this.palette,\n\t\t};\n\t}\n}\n","@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"outlined\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAgBa,YAAY,CAAA;AATzB,IAAA,WAAA,GAAA;QAiBC,IAAI,CAAA,IAAA,GAAc,GAAG;QAOrB,IAAO,CAAA,OAAA,GAAgC,MAAM;QAM7C,IAAQ,CAAA,QAAA,GAAG,KAAK;AAqBhB;AANA,IAAA,IAAI,UAAU,GAAA;QACb,OAAO;YACN,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;YACjC,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO;SAC3C;;8GAxCU,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,yIAiBJ,gBAAgB,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjCrC,scAeA,EDDW,MAAA,EAAA,CAAA,83EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,aAAa,8FAAW,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEhC,YAAY,EAAA,UAAA,EAAA,CAAA;kBATxB,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,QAAQ,cACN,IAAI,EAAA,eAAA,EAGC,uBAAuB,CAAC,MAAM,EAChC,aAAA,EAAA,iBAAiB,CAAC,IAAI,WAC5B,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,EAAA,QAAA,EAAA,scAAA,EAAA,MAAA,EAAA,CAAA,83EAAA,CAAA,EAAA;8BAI7C,KAAK,EAAA,CAAA;sBADJ,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;;AAIzB;;AAEG;QACH,IAAI,EAAA,CAAA;sBAJH;;AAOD;;;AAGG;QACH,OAAO,EAAA,CAAA;sBALN;;AAQD;;AAEG;QACH,QAAQ,EAAA,CAAA;sBAJP,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;AAOtC;;AAEG;QACH,IAAI,EAAA,CAAA;sBAJH;;AAOD;;;AAGG;QACH,IAAI,EAAA,CAAA;sBALH;;;AE7CF;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-tag.mjs","sources":["../../../packages/ng/tag/tag.component.ts","../../../packages/ng/tag/tag.component.html","../../../packages/ng/tag/lucca-front-ng-tag.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input, Input, ViewEncapsulation } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { DecorativePalette, Palette } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\n\n@Component({\n\tselector: 'lu-tag',\n\tstandalone: true,\n\ttemplateUrl: './tag.component.html',\n\tstyleUrls: ['./tag.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, RouterLink, LuTooltipModule],\n})\nexport class TagComponent {\n\twithEllipis = input(false, { transform: booleanAttribute });\n\n\t@Input({ required: true })\n\tlabel: string;\n\n\t@Input()\n\t/**\n\t * Which size should the callout be? Defaults to medium\n\t */\n\tsize: 'S' | 'M' | 'L' = 'M';\n\n\t@Input()\n\t/**\n\t * Which palette should be used for the entire callout.\n\t * Defaults to none (inherits parent palette)\n\t */\n\tpalette: Palette | DecorativePalette = 'none';\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Should display be outlined?\n\t */\n\toutlined = false;\n\n\t@Input()\n\t/**\n\t * For routerLink usage\n\t */\n\tlink: string;\n\n\t@Input()\n\t/**\n\t * Which icon should we display in the callout if any?\n\t * Defaults to no icon.\n\t */\n\ticon: LuccaIcon | undefined;\n\n\tAI = input(false, { transform: booleanAttribute });\n\n\tget tagClasses() {\n\t\treturn {\n\t\t\t[`mod-${this.size}`]: !!this.size,\n\t\t\t[`palette-${this.palette}`]: !this.AI() && !!this.palette,\n\t\t};\n\t}\n}\n","@if (link) {\n\t<a [routerLink]=\"link\" class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t<span class=\"tag-content\">{{ label }}</span>\n\t</a>\n} @else {\n\t<span class=\"tag\" [class]=\"tagClasses\" [class.mod-outlined]=\"!AI() && outlined\" [class.mod-AI]=\"AI()\">\n\t\t@if (icon) {\n\t\t\t<lu-icon [icon]=\"icon\" />\n\t\t}\n\t\t@if (withEllipis()) {\n\t\t\t<span class=\"tag-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis>{{ label }}</span>\n\t\t} @else {\n\t\t\t<span class=\"tag-content\">{{ label }}</span>\n\t\t}\n\t</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -115,11 +115,11 @@ class LuToastsComponent {
115
115
  return this.toastsService.isOnlyDismissibleManually(toast);
116
116
  }
117
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuToastsComponent, deps: [{ token: LuToastsService }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: LuToastsComponent, isStandalone: true, selector: "lu-toasts", inputs: { bottom: "bottom", sources: "sources" }, ngImport: i0, template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
119
  }
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuToastsComponent, decorators: [{
121
121
  type: Component,
122
- args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
122
+ args: [{ selector: 'lu-toasts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, PortalDirective], template: "<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n" }]
123
123
  }], ctorParameters: () => [{ type: LuToastsService }], propDecorators: { bottom: [{
124
124
  type: Input
125
125
  }], sources: [{
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-toast.mjs","sources":["../../../packages/ng/toast/translations.ts","../../../packages/ng/toast/toasts.translate.ts","../../../packages/ng/toast/toasts.model.ts","../../../packages/ng/toast/toasts.service.ts","../../../packages/ng/toast/toasts.component.ts","../../../packages/ng/toast/toasts.component.html","../../../packages/ng/toast/toasts.module.ts","../../../packages/ng/toast/public-api.ts","../../../packages/ng/toast/lucca-front-ng-toast.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TOAST_TRANSLATIONS = new InjectionToken('LuToastTranslations', {\n\tfactory: () => luToastTranslations,\n});\n\nexport interface ILuToastLabel {\n\tclose: string;\n}\n\nexport const luToastTranslations: LuTranslation<ILuToastLabel> = Translations;\n","import { PortalContent } from '@lucca-front/ng/core';\n\nexport type LuToastType = 'Info' | 'Error' | 'Success' | 'Warning';\n\nexport const defaultToastDuration = 5000;\n\nexport interface LuToastInput {\n\t/**\n\t * InnerHTML supported.\n\t */\n\tmessage: PortalContent;\n\t/**\n\t * Bold title.\n\t * InnerHTML not supported.\n\t */\n\ttitle?: string;\n\ttype?: LuToastType;\n\t/**\n\t * Auto kill default duration is 5000ms.\n\t * Null means manual dismiss only.\n\t */\n\tduration?: number | null;\n}\n\nexport interface LuToast extends LuToastInput {\n\tid: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultToastDuration, LuToast, LuToastInput } from './toasts.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuToastsService {\n\tpublic toasts$ = new BehaviorSubject<LuToast[]>([]);\n\n\tpublic addToast(toastInput: LuToastInput): LuToast {\n\t\tconst toast = this.getToast(toastInput);\n\n\t\tthis.toasts$.next([...this.toasts$.value, toast]);\n\n\t\treturn toast;\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tconst updatedToasts = this.toasts$.value.filter(({ id }) => id !== toast.id);\n\t\tthis.toasts$.next(updatedToasts);\n\t}\n\n\tpublic isOnlyDismissibleManually({ duration }: LuToastInput): boolean {\n\t\treturn duration === null;\n\t}\n\n\tprivate getToast(toastInput: LuToastInput): LuToast {\n\t\tconst id = this.generateId();\n\t\tconst duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : (toastInput.duration ?? defaultToastDuration);\n\n\t\treturn { ...toastInput, id, duration };\n\t}\n\n\tprivate generateId(): string {\n\t\tconst randomString = Math.random().toString(36).substring(2, 9);\n\t\treturn `_${randomString}`;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';\nimport { getIntl, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { LuToast, LuToastInput, LuToastType } from './toasts.model';\nimport { LuToastsService } from './toasts.service';\nimport { LU_TOAST_TRANSLATIONS } from './toasts.translate';\n\n@Component({\n\tselector: 'lu-toasts',\n\ttemplateUrl: './toasts.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, PortalDirective],\n})\nexport class LuToastsComponent implements OnDestroy {\n\t@Input() public bottom = false;\n\t@Input() public set sources(sources: Array<Observable<LuToastInput>>) {\n\t\tmerge(...sources)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((toast) => this.toastsService.addToast(toast));\n\t}\n\n\tpublic toasts$ = this.toastsService.toasts$;\n\n\tprivate destroy$ = new Subject<void>();\n\n\tpublic intl = getIntl(LU_TOAST_TRANSLATIONS);\n\n\tconstructor(private toastsService: LuToastsService) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n\n\tpublic iconClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: 'icon-signInfo',\n\t\tSuccess: 'icon-signSuccess',\n\t\tError: 'icon-signError',\n\t\tWarning: 'icon-signWarning',\n\t};\n\n\tpublic paletteClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: '',\n\t\tSuccess: 'palette-success',\n\t\tError: 'palette-error',\n\t\tWarning: 'palette-warning',\n\t};\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tthis.toastsService.removeToast(toast);\n\t}\n\n\tpublic trackToast(_index: number, toast: LuToast): string {\n\t\treturn toast.id;\n\t}\n\n\tpublic isOnlyDismissibleManually(toast: LuToast): boolean {\n\t\treturn this.toastsService.isOnlyDismissibleManually(toast);\n\t}\n}\n","<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\"></ng-container>\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuToastsComponent } from './toasts.component';\n\n@NgModule({\n\timports: [LuToastsComponent],\n\texports: [LuToastsComponent],\n})\nexport class LuToastsModule {}\n","/*\n * Public API Surface of toast\n */\n\nexport * from './toasts.component';\nexport * from './toasts.model';\nexport * from './toasts.module';\nexport * from './toasts.service';\nexport * from './toasts.translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuToastsService"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-toast.mjs","sources":["../../../packages/ng/toast/translations.ts","../../../packages/ng/toast/toasts.translate.ts","../../../packages/ng/toast/toasts.model.ts","../../../packages/ng/toast/toasts.service.ts","../../../packages/ng/toast/toasts.component.ts","../../../packages/ng/toast/toasts.component.html","../../../packages/ng/toast/toasts.module.ts","../../../packages/ng/toast/public-api.ts","../../../packages/ng/toast/lucca-front-ng-toast.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\tclose: 'Close',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_TOAST_TRANSLATIONS = new InjectionToken('LuToastTranslations', {\n\tfactory: () => luToastTranslations,\n});\n\nexport interface ILuToastLabel {\n\tclose: string;\n}\n\nexport const luToastTranslations: LuTranslation<ILuToastLabel> = Translations;\n","import { PortalContent } from '@lucca-front/ng/core';\n\nexport type LuToastType = 'Info' | 'Error' | 'Success' | 'Warning';\n\nexport const defaultToastDuration = 5000;\n\nexport interface LuToastInput {\n\t/**\n\t * InnerHTML supported.\n\t */\n\tmessage: PortalContent;\n\t/**\n\t * Bold title.\n\t * InnerHTML not supported.\n\t */\n\ttitle?: string;\n\ttype?: LuToastType;\n\t/**\n\t * Auto kill default duration is 5000ms.\n\t * Null means manual dismiss only.\n\t */\n\tduration?: number | null;\n}\n\nexport interface LuToast extends LuToastInput {\n\tid: string;\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { defaultToastDuration, LuToast, LuToastInput } from './toasts.model';\n\n@Injectable({ providedIn: 'root' })\nexport class LuToastsService {\n\tpublic toasts$ = new BehaviorSubject<LuToast[]>([]);\n\n\tpublic addToast(toastInput: LuToastInput): LuToast {\n\t\tconst toast = this.getToast(toastInput);\n\n\t\tthis.toasts$.next([...this.toasts$.value, toast]);\n\n\t\treturn toast;\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tconst updatedToasts = this.toasts$.value.filter(({ id }) => id !== toast.id);\n\t\tthis.toasts$.next(updatedToasts);\n\t}\n\n\tpublic isOnlyDismissibleManually({ duration }: LuToastInput): boolean {\n\t\treturn duration === null;\n\t}\n\n\tprivate getToast(toastInput: LuToastInput): LuToast {\n\t\tconst id = this.generateId();\n\t\tconst duration = this.isOnlyDismissibleManually(toastInput) ? toastInput.duration : (toastInput.duration ?? defaultToastDuration);\n\n\t\treturn { ...toastInput, id, duration };\n\t}\n\n\tprivate generateId(): string {\n\t\tconst randomString = Math.random().toString(36).substring(2, 9);\n\t\treturn `_${randomString}`;\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';\nimport { getIntl, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { merge, Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { LuToast, LuToastInput, LuToastType } from './toasts.model';\nimport { LuToastsService } from './toasts.service';\nimport { LU_TOAST_TRANSLATIONS } from './toasts.translate';\n\n@Component({\n\tselector: 'lu-toasts',\n\ttemplateUrl: './toasts.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [CommonModule, PortalDirective],\n})\nexport class LuToastsComponent implements OnDestroy {\n\t@Input() public bottom = false;\n\t@Input() public set sources(sources: Array<Observable<LuToastInput>>) {\n\t\tmerge(...sources)\n\t\t\t.pipe(takeUntil(this.destroy$))\n\t\t\t.subscribe((toast) => this.toastsService.addToast(toast));\n\t}\n\n\tpublic toasts$ = this.toastsService.toasts$;\n\n\tprivate destroy$ = new Subject<void>();\n\n\tpublic intl = getIntl(LU_TOAST_TRANSLATIONS);\n\n\tconstructor(private toastsService: LuToastsService) {}\n\n\tpublic ngOnDestroy(): void {\n\t\tthis.destroy$.next();\n\t\tthis.destroy$.complete();\n\t}\n\n\tpublic iconClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: 'icon-signInfo',\n\t\tSuccess: 'icon-signSuccess',\n\t\tError: 'icon-signError',\n\t\tWarning: 'icon-signWarning',\n\t};\n\n\tpublic paletteClassByToastType: Record<LuToastType, string> = {\n\t\tInfo: '',\n\t\tSuccess: 'palette-success',\n\t\tError: 'palette-error',\n\t\tWarning: 'palette-warning',\n\t};\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n\n\tpublic removeToast(toast: LuToast): void {\n\t\tthis.toastsService.removeToast(toast);\n\t}\n\n\tpublic trackToast(_index: number, toast: LuToast): string {\n\t\treturn toast.id;\n\t}\n\n\tpublic isOnlyDismissibleManually(toast: LuToast): boolean {\n\t\treturn this.toastsService.isOnlyDismissibleManually(toast);\n\t}\n}\n","<div class=\"toasts\" aria-live=\"polite\" [class.mod-bottom]=\"bottom\">\n\t<div *ngFor=\"let toast of toasts$ | async; trackBy: trackToast\" class=\"toasts-item\" [class]=\"paletteClassByToastType[toast.type]\">\n\t\t<span *ngIf=\"toast.type\" class=\"toast-item-icon lucca-icon\" aria-hidden=\"true\" [class]=\"iconClassByToastType[toast.type]\"></span>\n\t\t<div class=\"toast-item-content\">\n\t\t\t<div *ngIf=\"toast.title\">\n\t\t\t\t<strong>{{ toast.title }}</strong>\n\t\t\t</div>\n\t\t\t@if (isStringPortalContent(toast.message)) {\n\t\t\t\t<p class=\"toast-item-content-description\" [innerHtml]=\"toast.message\"></p>\n\t\t\t} @else {\n\t\t\t\t<ng-container *luPortal=\"toast.message\" />\n\t\t\t}\n\t\t</div>\n\t\t<button\n\t\t\ttype=\"button\"\n\t\t\tclass=\"toasts-item-kill button\"\n\t\t\t(click)=\"removeToast(toast)\"\n\t\t\t(animationend)=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? removeToast(toast) : null\"\n\t\t\t[style.animation-duration]=\"!isOnlyDismissibleManually(toast) && toast.duration > 0 ? toast.duration + 'ms' : null\"\n\t\t>\n\t\t\t<span class=\"lucca-icon icon-signClose\" aria-hidden=\"true\"></span>\n\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t</button>\n\t</div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { LuToastsComponent } from './toasts.component';\n\n@NgModule({\n\timports: [LuToastsComponent],\n\texports: [LuToastsComponent],\n})\nexport class LuToastsModule {}\n","/*\n * Public API Surface of toast\n */\n\nexport * from './toasts.component';\nexport * from './toasts.model';\nexport * from './toasts.module';\nexport * from './toasts.service';\nexport * from './toasts.translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.LuToastsService"],"mappings":"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"}
@@ -80,6 +80,7 @@ class TreeBranchComponent {
80
80
  this.selectMany = output();
81
81
  this.unselectMany = output();
82
82
  this.simpleMode = input(false, { transform: booleanAttribute });
83
+ this.depth = input(1);
83
84
  if (this.selectInputComponent.selectChildren$) {
84
85
  this.selectInputComponent.selectChildren$.pipe(takeUntilDestroyed()).subscribe(() => {
85
86
  if (this.rootOptionRef().isHighlighted()) {
@@ -126,11 +127,11 @@ class TreeBranchComponent {
126
127
  return result;
127
128
  }
128
129
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeBranchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
129
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TreeBranchComponent, isStandalone: true, selector: "lu-tree-branch", inputs: { branch: { classPropertyName: "branch", publicName: "branch", isSignal: true, isRequired: true, transformFunction: null }, optionTpl: { classPropertyName: "optionTpl", publicName: "optionTpl", isSignal: true, isRequired: true, transformFunction: null }, optionIndex: { classPropertyName: "optionIndex", publicName: "optionIndex", isSignal: true, isRequired: true, transformFunction: null }, optionComparer: { classPropertyName: "optionComparer", publicName: "optionComparer", isSignal: true, isRequired: true, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null }, simpleMode: { classPropertyName: "simpleMode", publicName: "simpleMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleOne: "toggleOne", selectMany: "selectMany", unselectMany: "unselectMany" }, viewQueries: [{ propertyName: "rootOptionRef", first: true, predicate: ["rootOption"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n\t<!-- use --components-treeBranch-level to apply specific child level-->\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 2;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 3;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer components{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 2;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 3;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TreeBranchComponent, isStandalone: true, selector: "lu-tree-branch", inputs: { branch: { classPropertyName: "branch", publicName: "branch", isSignal: true, isRequired: true, transformFunction: null }, optionTpl: { classPropertyName: "optionTpl", publicName: "optionTpl", isSignal: true, isRequired: true, transformFunction: null }, optionIndex: { classPropertyName: "optionIndex", publicName: "optionIndex", isSignal: true, isRequired: true, transformFunction: null }, optionComparer: { classPropertyName: "optionComparer", publicName: "optionComparer", isSignal: true, isRequired: true, transformFunction: null }, selectedOptions: { classPropertyName: "selectedOptions", publicName: "selectedOptions", isSignal: true, isRequired: false, transformFunction: null }, simpleMode: { classPropertyName: "simpleMode", publicName: "simpleMode", isSignal: true, isRequired: false, transformFunction: null }, depth: { classPropertyName: "depth", publicName: "depth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { toggleOne: "toggleOne", selectMany: "selectMany", unselectMany: "unselectMany" }, viewQueries: [{ propertyName: "rootOptionRef", first: true, predicate: ["rootOption"], descendants: true, isSignal: true }], ngImport: i0, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[style.--components-treeBranch-level]=\"depth()\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer components{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"], dependencies: [{ kind: "component", type: TreeBranchComponent, selector: "lu-tree-branch", inputs: ["branch", "optionTpl", "optionIndex", "optionComparer", "selectedOptions", "simpleMode", "depth"], outputs: ["toggleOne", "selectMany", "unselectMany"] }, { kind: "directive", type: _CoreSelectPanelElement, selector: "[luCoreSelectPanelElement]", inputs: ["elementId", "isSelected", "option", "disabled"], outputs: ["isSelectedChange", "selected"], exportAs: ["luCoreSelectPanelElement"] }, { kind: "pipe", type: LuIsOptionSelectedPipe, name: "luIsOptionSelected" }, { kind: "component", type: _LuOptionComponent, selector: "lu-select-option", inputs: ["optionTpl", "option", "grouping", "hasChildren", "groupIndex", "optionIndex", "scrollIntoViewOptions", "groupTemplateLocation"], outputs: ["onlyParent", "onlyChildren"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
130
131
  }
131
132
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TreeBranchComponent, decorators: [{
132
133
  type: Component,
133
- args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n\t<!-- use --components-treeBranch-level to apply specific child level-->\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 2;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 3;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer components{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 2;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 3;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-tree-branch lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"] }]
134
+ args: [{ selector: 'lu-tree-branch', imports: [_CoreSelectPanelElement, LuIsOptionSelectedPipe, _LuOptionComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[style.--components-treeBranch-level]=\"depth()\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n", styles: ["@layer components{lu-tree-branch lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-padding-horizontal: calc(var(--pr-t-spacings-100) + var(--pr-t-spacings-100) * var(--components-treeBranch-level)) var(--pr-t-spacings-100)}lu-tree-branch .optionItem-icons{opacity:0}lu-tree-branch .optionItem.is-highlighted .optionItem-icons,lu-tree-branch .optionItem-value:hover .optionItem-icons{opacity:1}}@layer components{.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option{--components-treeBranch-level: 1;--components-options-item-multiple-padding: calc(1.75rem + var(--pr-t-spacings-100) * var(--components-treeBranch-level));margin-block-start:var(--pr-t-spacings-50)}.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:before,.lu-picker-panel.lu-option-picker-panel.mod-multiple lu-tree-branch lu-select-option .optionItem-value:after{inset-inline-start:calc(var(--pr-t-spacings-100) * var(--components-treeBranch-level))}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option{gap:0}.lu-picker-panel.lu-option-picker-panel.mod-multiple .lu-picker-content-option>lu-tree-branch:first-of-type>lu-select-option:first-of-type{margin-block-start:0}}\n"] }]
134
135
  }], ctorParameters: () => [] });
135
136
 
136
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n\tstandalone: true,\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\tconst handled: T[] = [];\n\t\t// While we haven't handled all the items\n\t\twhile (items.length > handled.length) {\n\t\t\tfor (const item of items) {\n\t\t\t\tif (itemToNode.has(item)) {\n\t\t\t\t\t// item already in resultset\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tlet parent: T | null;\n\t\t\t\tif (parentCache.has(item)) {\n\t\t\t\t\tparent = parentCache.get(item);\n\t\t\t\t} else {\n\t\t\t\t\tparent = this.groupingFn()(item, items);\n\t\t\t\t\tparentCache.set(item, parent);\n\t\t\t\t}\n\t\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\t\tnode: item,\n\t\t\t\t\tchildren: [],\n\t\t\t\t};\n\t\t\t\t// Parent null means it's a root element\n\t\t\t\tif (parent === null) {\n\t\t\t\t\tres.push(itemNode);\n\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\thandled.push(item);\n\t\t\t\t} else {\n\t\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\t\tif (itemToNode.has(parent)) {\n\t\t\t\t\t\titemToNode.get(parent).children.push(itemNode);\n\t\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\t\thandled.push(item);\n\t\t\t\t\t}\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\tselectInputComponent = inject(ALuSelectInputComponent);\n\n\trootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\tbranch = input.required<TreeNode<T>>();\n\n\toptionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\toptionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\toptionComparer = input.required<LuOptionComparer<T>>();\n\n\tselectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\tsimpleMode = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef().isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef().isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>): void {\n\t\tif (this.simpleMode() || branchData.children.length === 0) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n\t<!-- use --components-treeBranch-level to apply specific child level-->\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-tree-select.mjs","sources":["../../../packages/ng/tree-select/tree-select.directive.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.ts","../../../packages/ng/tree-select/tree-branch/tree-branch.component.html","../../../packages/ng/tree-select/lucca-front-ng-tree-select.ts"],"sourcesContent":["import { Directive, inject, input, linkedSignal } from '@angular/core';\nimport { ALuSelectInputComponent, TreeGenerator, TreeGroupingFn, TreeNode } from '@lucca-front/ng/core-select';\n\n@Directive({\n\t// eslint-disable-next-line @angular-eslint/directive-selector\n\tselector: 'lu-simple-select[treeSelect],lu-multi-select[treeSelect]',\n\tstandalone: true,\n})\nexport class TreeSelectDirective<T, V> implements TreeGenerator<T, TreeNode<T>> {\n\t#select = inject<ALuSelectInputComponent<T, V>>(ALuSelectInputComponent);\n\n\tgroupingFnInput = input.required<TreeGroupingFn<T>>({ alias: 'treeSelect' });\n\n\tgroupingFn = linkedSignal(() => this.groupingFnInput());\n\n\tconstructor() {\n\t\tthis.#select.treeGenerator = this;\n\t}\n\n\tgenerateTrees(items: T[]): TreeNode<T>[] {\n\t\tconst res: TreeNode<T>[] = [];\n\t\t// Keep a registry of what has been handled already\n\t\tconst itemToNode = new Map<T, TreeNode<T>>();\n\t\tconst parentCache = new Map<T, T | null>();\n\t\tconst handled: T[] = [];\n\t\t// While we haven't handled all the items\n\t\twhile (items.length > handled.length) {\n\t\t\tfor (const item of items) {\n\t\t\t\tif (itemToNode.has(item)) {\n\t\t\t\t\t// item already in resultset\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tlet parent: T | null;\n\t\t\t\tif (parentCache.has(item)) {\n\t\t\t\t\tparent = parentCache.get(item);\n\t\t\t\t} else {\n\t\t\t\t\tparent = this.groupingFn()(item, items);\n\t\t\t\t\tparentCache.set(item, parent);\n\t\t\t\t}\n\t\t\t\tconst itemNode: TreeNode<T> = {\n\t\t\t\t\tnode: item,\n\t\t\t\t\tchildren: [],\n\t\t\t\t};\n\t\t\t\t// Parent null means it's a root element\n\t\t\t\tif (parent === null) {\n\t\t\t\t\tres.push(itemNode);\n\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\thandled.push(item);\n\t\t\t\t} else {\n\t\t\t\t\t// If the parent is already in the resultset, we can add this\n\t\t\t\t\tif (itemToNode.has(parent)) {\n\t\t\t\t\t\titemToNode.get(parent).children.push(itemNode);\n\t\t\t\t\t\titemToNode.set(item, itemNode);\n\t\t\t\t\t\thandled.push(item);\n\t\t\t\t\t}\n\t\t\t\t\t// Else, we fizzle till the next iteration\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n}\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, output, TemplateRef, Type, viewChild, ViewEncapsulation } from '@angular/core';\nimport { ALuSelectInputComponent, LuIsOptionSelectedPipe, LuOptionComparer, LuOptionContext, TreeNode, ɵCoreSelectPanelElement, ɵLuOptionComponent } from '@lucca-front/ng/core-select';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n\tselector: 'lu-tree-branch',\n\timports: [ɵCoreSelectPanelElement, LuIsOptionSelectedPipe, ɵLuOptionComponent],\n\ttemplateUrl: './tree-branch.component.html',\n\tstyleUrl: './tree-branch.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TreeBranchComponent<T> {\n\tselectInputComponent = inject(ALuSelectInputComponent);\n\n\trootOptionRef = viewChild<ɵCoreSelectPanelElement<T>>('rootOption');\n\n\tbranch = input.required<TreeNode<T>>();\n\n\toptionTpl = input.required<TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined>();\n\n\toptionIndex = input.required({ transform: (value: string | number) => `${value}` });\n\n\toptionComparer = input.required<LuOptionComparer<T>>();\n\n\tselectedOptions = input<T[]>([]);\n\n\ttoggleOne = output<T>();\n\n\tselectMany = output<T[]>();\n\n\tunselectMany = output<T[]>();\n\n\tsimpleMode = input(false, { transform: booleanAttribute });\n\n\tdepth = input(1);\n\n\tconstructor() {\n\t\tif (this.selectInputComponent.selectChildren$) {\n\t\t\tthis.selectInputComponent.selectChildren$.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef().isHighlighted()) {\n\t\t\t\t\tthis.selectOnlyChildren(this.branch());\n\t\t\t\t}\n\t\t\t});\n\t\t\tthis.selectInputComponent.selectParent$.pipe(takeUntilDestroyed()).subscribe(() => {\n\t\t\t\tif (this.rootOptionRef().isHighlighted()) {\n\t\t\t\t\tthis.toggleOne.emit(this.branch().node);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\ttoggle(branchData: TreeNode<T>): void {\n\t\tif (this.simpleMode() || branchData.children.length === 0) {\n\t\t\tthis.toggleOne.emit(branchData.node);\n\t\t} else {\n\t\t\tconst flatOptions = this.flattenTree(branchData);\n\t\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\t\tif (options.length > 0) {\n\t\t\t\tthis.selectMany.emit(options);\n\t\t\t} else {\n\t\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t\t}\n\t\t}\n\t}\n\n\tselectOnlyChildren(branchData: TreeNode<T>): void {\n\t\tconst flatOptions = this.flattenTree(branchData, true);\n\t\tconst options = flatOptions.filter((option) => !this.selectedOptions().some((so) => this.optionComparer()(so, option)));\n\t\tif (options.length > 0) {\n\t\t\tthis.selectMany.emit(options);\n\t\t} else {\n\t\t\tthis.unselectMany.emit(flatOptions);\n\t\t}\n\t}\n\n\tflattenTree(branch: TreeNode<T>, excludeRoot = false): T[] {\n\t\tconst result: T[] = excludeRoot ? [] : [branch.node];\n\t\tif (branch.children.length > 0) {\n\t\t\tresult.push(...branch.children.map((child) => this.flattenTree(child)).flat());\n\t\t}\n\t\treturn result;\n\t}\n}\n","<lu-select-option\n\tluCoreSelectPanelElement\n\t#rootOption=\"luCoreSelectPanelElement\"\n\t[style.--components-treeBranch-level]=\"depth()\"\n\t[option]=\"branch().node\"\n\t[optionTpl]=\"optionTpl()\"\n\t[optionIndex]=\"optionIndex()\"\n\t[scrollIntoViewOptions]=\"{ block: 'nearest' }\"\n\t[isSelected]=\"branch().node | luIsOptionSelected: optionComparer() : selectedOptions()\"\n\t(selected)=\"toggle(branch())\"\n\t(click)=\"toggle(branch())\"\n\t(onlyParent)=\"toggleOne.emit(branch().node)\"\n\t(onlyChildren)=\"selectOnlyChildren(branch())\"\n\t[hasChildren]=\"!simpleMode() && branch().children?.length > 0\"\n/>\n@for (child of branch().children; track $index) {\n\t<lu-tree-branch\n\t\t[depth]=\"depth() + 1\"\n\t\t[branch]=\"child\"\n\t\t[optionTpl]=\"optionTpl()\"\n\t\t[optionIndex]=\"optionIndex() + '-' + $index\"\n\t\t[optionComparer]=\"optionComparer()\"\n\t\t[selectedOptions]=\"selectedOptions()\"\n\t\t[simpleMode]=\"simpleMode()\"\n\t\t(toggleOne)=\"toggleOne.emit($event)\"\n\t\t(selectMany)=\"selectMany.emit($event)\"\n\t\t(unselectMany)=\"unselectMany.emit($event)\"\n\t/>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵCoreSelectPanelElement","ɵLuOptionComponent"],"mappings":"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"}