@fundamental-ngx/core 0.63.2-rc.5 → 0.63.2-rc.7

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 (202) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/fundamental-ngx-core-action-bar.mjs +27 -26
  3. package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
  4. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +25 -22
  5. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  6. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +35 -31
  7. package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
  8. package/fesm2022/fundamental-ngx-core-avatar-group.mjs +52 -43
  9. package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
  10. package/fesm2022/fundamental-ngx-core-avatar.mjs +67 -43
  11. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-core-bar.mjs +50 -41
  13. package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
  14. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +18 -14
  15. package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +34 -23
  17. package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-core-button.mjs +56 -37
  19. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-core-calendar.mjs +87 -62
  21. package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
  22. package/fesm2022/fundamental-ngx-core-card.mjs +264 -188
  23. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-core-carousel.mjs +35 -26
  25. package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
  26. package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
  27. package/fesm2022/fundamental-ngx-core-combobox.mjs +19 -18
  28. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  29. package/fesm2022/fundamental-ngx-core-content-density.mjs +46 -36
  30. package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
  32. package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
  33. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +15 -14
  34. package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
  35. package/fesm2022/fundamental-ngx-core-datetime.mjs +32 -31
  36. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  37. package/fesm2022/fundamental-ngx-core-dialog.mjs +116 -89
  38. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  39. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +100 -77
  40. package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
  42. package/fesm2022/fundamental-ngx-core-facets.mjs +24 -20
  43. package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
  44. package/fesm2022/fundamental-ngx-core-feed-input.mjs +18 -17
  45. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  46. package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
  47. package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
  48. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +17 -15
  49. package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
  50. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
  51. package/fesm2022/fundamental-ngx-core-form.mjs +74 -74
  52. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  53. package/fesm2022/fundamental-ngx-core-formatted-text.mjs +17 -12
  54. package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-generic-tag.mjs +19 -13
  56. package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-grid-list.mjs +56 -51
  58. package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
  59. package/fesm2022/fundamental-ngx-core-icon.mjs +33 -20
  60. package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
  61. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +42 -31
  62. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  63. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +11 -9
  64. package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
  65. package/fesm2022/fundamental-ngx-core-info-label.mjs +29 -18
  66. package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
  67. package/fesm2022/fundamental-ngx-core-inline-help.mjs +35 -25
  68. package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
  69. package/fesm2022/fundamental-ngx-core-input-group.mjs +21 -21
  70. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  71. package/fesm2022/fundamental-ngx-core-layout-grid.mjs +40 -27
  72. package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
  73. package/fesm2022/fundamental-ngx-core-layout-panel.mjs +41 -37
  74. package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  75. package/fesm2022/fundamental-ngx-core-link.mjs +24 -19
  76. package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
  77. package/fesm2022/fundamental-ngx-core-list.mjs +100 -91
  78. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  79. package/fesm2022/fundamental-ngx-core-menu.mjs +125 -101
  80. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  81. package/fesm2022/fundamental-ngx-core-message-box.mjs +39 -38
  82. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  83. package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
  84. package/fesm2022/fundamental-ngx-core-message-strip.mjs +79 -55
  85. package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
  86. package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
  87. package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
  88. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +21 -20
  89. package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
  90. package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
  91. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +98 -66
  92. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  93. package/fesm2022/fundamental-ngx-core-multi-input.mjs +27 -21
  94. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  95. package/fesm2022/fundamental-ngx-core-nested-list.mjs +46 -43
  96. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  97. package/fesm2022/fundamental-ngx-core-notification.mjs +178 -132
  98. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  99. package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
  100. package/fesm2022/fundamental-ngx-core-object-identifier.mjs +24 -17
  101. package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
  102. package/fesm2022/fundamental-ngx-core-object-marker.mjs +41 -24
  103. package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
  104. package/fesm2022/fundamental-ngx-core-object-number.mjs +33 -21
  105. package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
  106. package/fesm2022/fundamental-ngx-core-object-status.mjs +41 -26
  107. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  108. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +33 -32
  109. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  110. package/fesm2022/fundamental-ngx-core-pagination.mjs +10 -10
  111. package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
  112. package/fesm2022/fundamental-ngx-core-panel.mjs +51 -35
  113. package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
  114. package/fesm2022/fundamental-ngx-core-popover.mjs +267 -164
  115. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  116. package/fesm2022/fundamental-ngx-core-product-switch.mjs +46 -32
  117. package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
  118. package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
  119. package/fesm2022/fundamental-ngx-core-quick-view.mjs +47 -44
  120. package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
  121. package/fesm2022/fundamental-ngx-core-radio.mjs +8 -8
  122. package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
  123. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +61 -39
  124. package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
  125. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +12 -11
  126. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  127. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +17 -12
  128. package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
  129. package/fesm2022/fundamental-ngx-core-scrollbar.mjs +14 -12
  130. package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
  131. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +9 -8
  132. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  133. package/fesm2022/fundamental-ngx-core-select.mjs +22 -21
  134. package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
  135. package/fesm2022/fundamental-ngx-core-settings.mjs +70 -60
  136. package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
  137. package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
  138. package/fesm2022/fundamental-ngx-core-shellbar.mjs +77 -63
  139. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  140. package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
  141. package/fesm2022/fundamental-ngx-core-skeleton.mjs +24 -16
  142. package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
  143. package/fesm2022/fundamental-ngx-core-slider.mjs +15 -13
  144. package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
  145. package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
  146. package/fesm2022/fundamental-ngx-core-status-indicator.mjs +62 -35
  147. package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
  148. package/fesm2022/fundamental-ngx-core-step-input.mjs +11 -9
  149. package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
  150. package/fesm2022/fundamental-ngx-core-switch.mjs +8 -8
  151. package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
  152. package/fesm2022/fundamental-ngx-core-table.mjs +51 -50
  153. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  154. package/fesm2022/fundamental-ngx-core-tabs.mjs +56 -55
  155. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  156. package/fesm2022/fundamental-ngx-core-text.mjs +29 -19
  157. package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
  158. package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
  159. package/fesm2022/fundamental-ngx-core-tile.mjs +171 -136
  160. package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
  161. package/fesm2022/fundamental-ngx-core-time-picker.mjs +9 -8
  162. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  163. package/fesm2022/fundamental-ngx-core-time.mjs +16 -13
  164. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  165. package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
  166. package/fesm2022/fundamental-ngx-core-title.mjs +12 -10
  167. package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
  168. package/fesm2022/fundamental-ngx-core-token.mjs +33 -24
  169. package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
  170. package/fesm2022/fundamental-ngx-core-toolbar.mjs +35 -32
  171. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  172. package/fesm2022/fundamental-ngx-core-tree.mjs +41 -36
  173. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  174. package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
  175. package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
  176. package/fesm2022/fundamental-ngx-core-user-menu.mjs +108 -84
  177. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  178. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +20 -17
  179. package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
  180. package/fesm2022/fundamental-ngx-core-wizard.mjs +41 -32
  181. package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
  182. package/fesm2022/fundamental-ngx-core.mjs +4 -4
  183. package/package.json +11 -10
  184. package/schematics/add-styles/index.js +3 -3
  185. package/schematics/add-styles/index.js.map +1 -1
  186. package/schematics/add-theming/index.js +1 -1
  187. package/schematics/add-theming/index.js.map +1 -1
  188. package/schematics/package.json +7 -0
  189. package/schematics/tsconfig.json +12 -6
  190. package/schematics/tsconfig.spec.json +2 -0
  191. package/schematics/utils/calls-providers-function.js +34 -1
  192. package/schematics/utils/calls-providers-function.js.map +1 -1
  193. package/schematics/utils/ng-module-utils.js +34 -1
  194. package/schematics/utils/ng-module-utils.js.map +1 -1
  195. package/types/fundamental-ngx-core-avatar-group-legacy.d.ts +1 -0
  196. package/types/fundamental-ngx-core-carousel.d.ts +2 -0
  197. package/types/fundamental-ngx-core-list.d.ts +2 -2
  198. package/types/fundamental-ngx-core-menu.d.ts +4 -4
  199. package/types/fundamental-ngx-core-notification.d.ts +0 -2
  200. package/types/fundamental-ngx-core-popover.d.ts +8 -6
  201. package/types/fundamental-ngx-core-product-switch.d.ts +6 -3
  202. package/types/fundamental-ngx-core-wizard.d.ts +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-text.mjs","sources":["../../../../libs/core/text/text.component.ts","../../../../libs/core/text/text.component.html","../../../../libs/core/text/text.module.ts","../../../../libs/core/text/fundamental-ngx-core-text.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n model,\n signal\n} from '@angular/core';\nimport { LineClampDirective, LineClampTargetDirective } from '@fundamental-ngx/cdk/utils';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n/**\n * Type of hyphenation to apply to text using CSS hyphens property.\n * - `'none'` - Disables hyphenation\n * - `'manual'` - Only breaks at explicit hyphenation points\n * - `'auto'` - Browser automatically hyphenates\n * - `null` - No hyphenation applied\n */\nexport type HyphenationType = 'none' | 'manual' | 'auto' | null;\n\n/**\n * Text component for displaying text content with optional line clamping, hyphenation, and expand/collapse functionality.\n */\n@Component({\n selector: 'fd-text',\n templateUrl: './text.component.html',\n styleUrl: './text.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LineClampDirective, LineClampTargetDirective, LinkComponent, FdTranslatePipe]\n})\nexport class TextComponent {\n /**\n * The text content to render.\n * @default ''\n */\n readonly text = input<string>('');\n\n /**\n * Maximum number of visible lines before text is clamped. Set to `null` to disable.\n * @default null\n */\n readonly maxLines = input<number | null>(null);\n\n /**\n * Preserves whitespace and line breaks using CSS `white-space: pre-wrap`.\n * @default false\n */\n readonly whitespaces = input(false);\n\n /**\n * Controls hyphenation behavior using CSS `hyphens` property.\n * @default null\n */\n readonly hyphenation = input<HyphenationType>(null);\n\n /**\n * Displays \"more\"/\"less\" links to expand/collapse text. Requires `maxLines` to be set.\n * @default false\n */\n readonly expandable = input(false);\n\n /**\n * Controls collapsed/expanded state. Two-way bindable via `[(isCollapsed)]`.\n * @default true\n */\n readonly isCollapsed = model(true);\n\n /** @hidden */\n readonly subline = input(false, { transform: booleanAttribute });\n\n /**\n * Computed signal that checks if maxLines is set to a valid positive number.\n * @hidden\n */\n protected readonly _hasValidMaxLines = computed(() => (this.maxLines() ?? 0) > 0);\n\n /**\n * Computed signal determining if text should display in collapsed state.\n * @hidden\n */\n protected readonly _isCollapsed = computed(() => this.isCollapsed() && this._hasValidMaxLines());\n\n /**\n * Computed signal determining if expand/collapse functionality is enabled.\n * @hidden\n */\n protected readonly _expandable = computed(() => this.expandable() && this._hasValidMaxLines());\n\n /**\n * Tracks whether text content exceeds maximum lines.\n * @hidden\n */\n protected readonly _hasMore = signal(false);\n\n /**\n * Toggles collapsed/expanded state and notifies parent components.\n * @hidden\n */\n protected toggleTextView(): void {\n this.isCollapsed.update((collapsed) => !collapsed);\n }\n\n /**\n * Updates `_hasMore` signal based on actual line count from line clamp directive.\n * Signal update automatically triggers change detection.\n * @hidden\n */\n protected checkLineCount(count: number): void {\n const max = this.maxLines();\n this._hasMore.set(!!max && count > max);\n }\n}\n","<p\n class=\"fd-text\"\n [class.fd-text__subline]=\"subline()\"\n [class.fd-text--pre-wrap]=\"whitespaces()\"\n [style.hyphens]=\"hyphenation()\"\n>\n <span\n fdkLineClamp\n class=\"fd-text__lineclamp\"\n #lineClamp=\"fdLineClamp\"\n [fdLineclampState]=\"_isCollapsed()\"\n [fdLineClampLines]=\"maxLines()\"\n (lineCountUpdate)=\"checkLineCount($event)\"\n >\n <span fdkLineClampTarget [fdLineClampTargetText]=\"text()\" (update)=\"lineClamp.refreshTarget($event)\"></span>\n </span>\n @if (_expandable() && _hasMore()) {\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-text__link--more\"\n (keydown.enter)=\"toggleTextView()\"\n (click)=\"toggleTextView()\"\n >\n {{ (isCollapsed() ? ('coreText.moreLabel' | fdTranslate) : ('coreText.lessLabel' | fdTranslate))() }}\n </a>\n }\n</p>\n","import { NgModule } from '@angular/core';\nimport { TextComponent } from './text.component';\n\n/**\n * @deprecated Use the standalone `TextComponent` directly instead. Import `TextComponent` in your component's imports array.\n * This module will be removed in a future version.\n */\n@NgModule({\n imports: [TextComponent],\n exports: [TextComponent]\n})\nexport class TextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-text.mjs","sources":["../../../../libs/core/text/text.component.ts","../../../../libs/core/text/text.component.html","../../../../libs/core/text/text.module.ts","../../../../libs/core/text/fundamental-ngx-core-text.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n booleanAttribute,\n computed,\n input,\n model,\n signal\n} from '@angular/core';\nimport { LineClampDirective, LineClampTargetDirective } from '@fundamental-ngx/cdk/utils';\nimport { LinkComponent } from '@fundamental-ngx/core/link';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\n\n/**\n * Type of hyphenation to apply to text using CSS hyphens property.\n * - `'none'` - Disables hyphenation\n * - `'manual'` - Only breaks at explicit hyphenation points\n * - `'auto'` - Browser automatically hyphenates\n * - `null` - No hyphenation applied\n */\nexport type HyphenationType = 'none' | 'manual' | 'auto' | null;\n\n/**\n * Text component for displaying text content with optional line clamping, hyphenation, and expand/collapse functionality.\n */\n@Component({\n selector: 'fd-text',\n templateUrl: './text.component.html',\n styleUrl: './text.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LineClampDirective, LineClampTargetDirective, LinkComponent, FdTranslatePipe]\n})\nexport class TextComponent {\n /**\n * The text content to render.\n * @default ''\n */\n readonly text = input<string>('');\n\n /**\n * Maximum number of visible lines before text is clamped. Set to `null` to disable.\n * @default null\n */\n readonly maxLines = input<number | null>(null);\n\n /**\n * Preserves whitespace and line breaks using CSS `white-space: pre-wrap`.\n * @default false\n */\n readonly whitespaces = input(false);\n\n /**\n * Controls hyphenation behavior using CSS `hyphens` property.\n * @default null\n */\n readonly hyphenation = input<HyphenationType>(null);\n\n /**\n * Displays \"more\"/\"less\" links to expand/collapse text. Requires `maxLines` to be set.\n * @default false\n */\n readonly expandable = input(false);\n\n /**\n * Controls collapsed/expanded state. Two-way bindable via `[(isCollapsed)]`.\n * @default true\n */\n readonly isCollapsed = model(true);\n\n /** @hidden */\n readonly subline = input(false, { transform: booleanAttribute });\n\n /**\n * Computed signal that checks if maxLines is set to a valid positive number.\n * @hidden\n */\n protected readonly _hasValidMaxLines = computed(() => (this.maxLines() ?? 0) > 0);\n\n /**\n * Computed signal determining if text should display in collapsed state.\n * @hidden\n */\n protected readonly _isCollapsed = computed(() => this.isCollapsed() && this._hasValidMaxLines());\n\n /**\n * Computed signal determining if expand/collapse functionality is enabled.\n * @hidden\n */\n protected readonly _expandable = computed(() => this.expandable() && this._hasValidMaxLines());\n\n /**\n * Tracks whether text content exceeds maximum lines.\n * @hidden\n */\n protected readonly _hasMore = signal(false);\n\n /**\n * Toggles collapsed/expanded state and notifies parent components.\n * @hidden\n */\n protected toggleTextView(): void {\n this.isCollapsed.update((collapsed) => !collapsed);\n }\n\n /**\n * Updates `_hasMore` signal based on actual line count from line clamp directive.\n * Signal update automatically triggers change detection.\n * @hidden\n */\n protected checkLineCount(count: number): void {\n const max = this.maxLines();\n this._hasMore.set(!!max && count > max);\n }\n}\n","<p\n class=\"fd-text\"\n [class.fd-text__subline]=\"subline()\"\n [class.fd-text--pre-wrap]=\"whitespaces()\"\n [style.hyphens]=\"hyphenation()\"\n>\n <span\n fdkLineClamp\n class=\"fd-text__lineclamp\"\n #lineClamp=\"fdLineClamp\"\n [fdLineclampState]=\"_isCollapsed()\"\n [fdLineClampLines]=\"maxLines()\"\n (lineCountUpdate)=\"checkLineCount($event)\"\n >\n <span fdkLineClampTarget [fdLineClampTargetText]=\"text()\" (update)=\"lineClamp.refreshTarget($event)\"></span>\n </span>\n @if (_expandable() && _hasMore()) {\n <a\n fd-link\n tabindex=\"0\"\n class=\"fd-text__link--more\"\n (keydown.enter)=\"toggleTextView()\"\n (click)=\"toggleTextView()\"\n >\n {{ (isCollapsed() ? ('coreText.moreLabel' | fdTranslate) : ('coreText.lessLabel' | fdTranslate))() }}\n </a>\n }\n</p>\n","import { NgModule } from '@angular/core';\nimport { TextComponent } from './text.component';\n\n/**\n * @deprecated Use the standalone `TextComponent` directly instead. Import `TextComponent` in your component's imports array.\n * This module will be removed in a future version.\n */\n@NgModule({\n imports: [TextComponent],\n exports: [TextComponent]\n})\nexport class TextModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAuBA;;AAEG;MASU,aAAa,CAAA;AAR1B,IAAA,WAAA,GAAA;AASI;;;AAGG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,EAAE;iFAAC;AAEjC;;;AAGG;QACM,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAgB,IAAI;qFAAC;AAE9C;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK;wFAAC;AAEnC;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAkB,IAAI;wFAAC;AAEnD;;;AAGG;QACM,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK;uFAAC;AAElC;;;AAGG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,IAAI;wFAAC;;QAGzB,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEhE;;;AAGG;AACgB,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;8FAAC;AAEjF;;;AAGG;AACgB,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;yFAAC;AAEhG;;;AAGG;AACgB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE;wFAAC;AAE9F;;;AAGG;QACgB,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK;qFAAC;AAmB9C,IAAA;AAjBG;;;AAGG;IACO,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,SAAS,KAAK,CAAC,SAAS,CAAC;IACtD;AAEA;;;;AAIG;AACO,IAAA,cAAc,CAAC,KAAa,EAAA;AAClC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC;IAC3C;8GAhFS,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,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,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClC1B,m7BA4BA,EAAA,MAAA,EAAA,CAAA,snEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIc,kBAAkB,sKAAE,wBAAwB,EAAA,QAAA,EAAA,kEAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAE7E,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,iBAGJ,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,kBAAkB,EAAE,wBAAwB,EAAE,aAAa,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,m7BAAA,EAAA,MAAA,EAAA,CAAA,snEAAA,CAAA,EAAA;;;AE7B3F;;;AAGG;MAKU,UAAU,CAAA;8GAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAV,UAAU,EAAA,OAAA,EAAA,CAHT,aAAa,CAAA,EAAA,OAAA,EAAA,CACb,aAAa,CAAA,EAAA,CAAA,CAAA;AAEd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,YAHT,aAAa,CAAA,EAAA,CAAA,CAAA;;2FAGd,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,aAAa,CAAC;oBACxB,OAAO,EAAE,CAAC,aAAa;AAC1B,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -254,10 +254,10 @@ class ThemingService {
254
254
  const nativeTheme = this._getNativeParameterByName(paramName) || this.config.defaultTheme;
255
255
  this.setTheme(nativeTheme);
256
256
  }
257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingService, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }, { token: i1.ActivatedRoute, optional: true }, { token: THEMING_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
258
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingService }); }
257
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingService, deps: [{ token: i0.RendererFactory2 }, { token: DOCUMENT }, { token: i1.ActivatedRoute, optional: true }, { token: THEMING_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
258
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingService }); }
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingService, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingService, decorators: [{
261
261
  type: Injectable
262
262
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: Document, decorators: [{
263
263
  type: Inject,
@@ -310,11 +310,11 @@ class ThemingModule {
310
310
  providers: [provideTheming(config)]
311
311
  };
312
312
  }
313
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
314
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.0", ngImport: i0, type: ThemingModule }); }
315
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingModule, providers: [ThemingService] }); }
313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
314
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: ThemingModule }); }
315
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingModule, providers: [ThemingService] }); }
316
316
  }
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: ThemingModule, decorators: [{
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ThemingModule, decorators: [{
318
318
  type: NgModule,
319
319
  args: [{
320
320
  imports: [],