@cute-widgets/base 20.0.4 → 21.0.0

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 (171) hide show
  1. package/CHANGELOG.md +18 -6
  2. package/fesm2022/cute-widgets-base-abstract.mjs +19 -29
  3. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -1
  4. package/fesm2022/cute-widgets-base-alert.mjs +10 -10
  5. package/fesm2022/cute-widgets-base-alert.mjs.map +1 -1
  6. package/fesm2022/cute-widgets-base-autocomplete.mjs +14 -14
  7. package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -1
  8. package/fesm2022/cute-widgets-base-badge.mjs +46 -14
  9. package/fesm2022/cute-widgets-base-badge.mjs.map +1 -1
  10. package/fesm2022/cute-widgets-base-bottom-sheet.mjs +11 -11
  11. package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -1
  12. package/fesm2022/cute-widgets-base-button-toggle.mjs +61 -37
  13. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -1
  14. package/fesm2022/cute-widgets-base-button.mjs +176 -112
  15. package/fesm2022/cute-widgets-base-button.mjs.map +1 -1
  16. package/fesm2022/cute-widgets-base-card.mjs +40 -40
  17. package/fesm2022/cute-widgets-base-card.mjs.map +1 -1
  18. package/fesm2022/cute-widgets-base-checkbox.mjs +28 -28
  19. package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -1
  20. package/fesm2022/cute-widgets-base-chips.mjs +49 -61
  21. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -1
  22. package/fesm2022/cute-widgets-base-collapse.mjs +120 -132
  23. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -1
  24. package/fesm2022/cute-widgets-base-core-datetime.mjs +11 -11
  25. package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -1
  26. package/fesm2022/cute-widgets-base-core-directives.mjs +21 -21
  27. package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -1
  28. package/fesm2022/cute-widgets-base-core-error.mjs +6 -6
  29. package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -1
  30. package/fesm2022/cute-widgets-base-core-layout.mjs +13 -1
  31. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -1
  32. package/fesm2022/cute-widgets-base-core-line.mjs +7 -7
  33. package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -1
  34. package/fesm2022/cute-widgets-base-core-nav.mjs +30 -28
  35. package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -1
  36. package/fesm2022/cute-widgets-base-core-observers.mjs +16 -16
  37. package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -1
  38. package/fesm2022/cute-widgets-base-core-option.mjs +10 -10
  39. package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -1
  40. package/fesm2022/cute-widgets-base-core-pipes.mjs +6 -6
  41. package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -1
  42. package/fesm2022/cute-widgets-base-core-ripple.mjs +3 -3
  43. package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -1
  44. package/fesm2022/cute-widgets-base-core-theming.mjs +7 -7
  45. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -1
  46. package/fesm2022/cute-widgets-base-core-utils.mjs +3 -3
  47. package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -1
  48. package/fesm2022/cute-widgets-base-core.mjs +50 -38
  49. package/fesm2022/cute-widgets-base-core.mjs.map +1 -1
  50. package/fesm2022/cute-widgets-base-datepicker.mjs +100 -99
  51. package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -1
  52. package/fesm2022/cute-widgets-base-dialog.mjs +170 -135
  53. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -1
  54. package/fesm2022/cute-widgets-base-divider.mjs +7 -7
  55. package/fesm2022/cute-widgets-base-divider.mjs.map +1 -1
  56. package/fesm2022/cute-widgets-base-expansion.mjs +27 -27
  57. package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -1
  58. package/fesm2022/cute-widgets-base-form-field.mjs +28 -28
  59. package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -1
  60. package/fesm2022/cute-widgets-base-grid-list.mjs +22 -22
  61. package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -1
  62. package/fesm2022/cute-widgets-base-icon.mjs +10 -10
  63. package/fesm2022/cute-widgets-base-icon.mjs.map +1 -1
  64. package/fesm2022/cute-widgets-base-input.mjs +7 -7
  65. package/fesm2022/cute-widgets-base-input.mjs.map +1 -1
  66. package/fesm2022/cute-widgets-base-layout-container.mjs +10 -10
  67. package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -1
  68. package/fesm2022/cute-widgets-base-layout-stack.mjs +13 -13
  69. package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -1
  70. package/fesm2022/cute-widgets-base-layout.mjs +23 -23
  71. package/fesm2022/cute-widgets-base-layout.mjs.map +1 -1
  72. package/fesm2022/cute-widgets-base-list.mjs +56 -56
  73. package/fesm2022/cute-widgets-base-list.mjs.map +1 -1
  74. package/fesm2022/cute-widgets-base-menu.mjs +581 -388
  75. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -1
  76. package/fesm2022/cute-widgets-base-navbar.mjs +101 -61
  77. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -1
  78. package/fesm2022/cute-widgets-base-paginator.mjs +13 -13
  79. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -1
  80. package/fesm2022/cute-widgets-base-progress.mjs +10 -10
  81. package/fesm2022/cute-widgets-base-progress.mjs.map +1 -1
  82. package/fesm2022/cute-widgets-base-radio.mjs +11 -11
  83. package/fesm2022/cute-widgets-base-radio.mjs.map +1 -1
  84. package/fesm2022/cute-widgets-base-select.mjs +11 -11
  85. package/fesm2022/cute-widgets-base-select.mjs.map +1 -1
  86. package/fesm2022/cute-widgets-base-sidenav.mjs +26 -26
  87. package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -1
  88. package/fesm2022/cute-widgets-base-slider.mjs +10 -10
  89. package/fesm2022/cute-widgets-base-slider.mjs.map +1 -1
  90. package/fesm2022/cute-widgets-base-snack-bar.mjs +28 -28
  91. package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -1
  92. package/fesm2022/cute-widgets-base-sort.mjs +13 -13
  93. package/fesm2022/cute-widgets-base-sort.mjs.map +1 -1
  94. package/fesm2022/cute-widgets-base-spinner.mjs +8 -8
  95. package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -1
  96. package/fesm2022/cute-widgets-base-stepper.mjs +40 -40
  97. package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -1
  98. package/fesm2022/cute-widgets-base-table.mjs +58 -66
  99. package/fesm2022/cute-widgets-base-table.mjs.map +1 -1
  100. package/fesm2022/cute-widgets-base-tabs.mjs +100 -75
  101. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -1
  102. package/fesm2022/cute-widgets-base-timepicker.mjs +34 -63
  103. package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -1
  104. package/fesm2022/cute-widgets-base-toolbar.mjs +13 -13
  105. package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -1
  106. package/fesm2022/cute-widgets-base-tooltip.mjs +10 -10
  107. package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -1
  108. package/fesm2022/cute-widgets-base-tree.mjs +25 -25
  109. package/fesm2022/cute-widgets-base-tree.mjs.map +1 -1
  110. package/fesm2022/cute-widgets-base.mjs +4 -4
  111. package/package.json +121 -121
  112. package/{abstract/index.d.ts → types/cute-widgets-base-abstract.d.ts} +9 -3
  113. package/{autocomplete/index.d.ts → types/cute-widgets-base-autocomplete.d.ts} +2 -2
  114. package/{badge/index.d.ts → types/cute-widgets-base-badge.d.ts} +6 -5
  115. package/{bottom-sheet/index.d.ts → types/cute-widgets-base-bottom-sheet.d.ts} +1 -1
  116. package/{button-toggle/index.d.ts → types/cute-widgets-base-button-toggle.d.ts} +15 -5
  117. package/{button/index.d.ts → types/cute-widgets-base-button.d.ts} +44 -22
  118. package/{checkbox/index.d.ts → types/cute-widgets-base-checkbox.d.ts} +1 -1
  119. package/{chips/index.d.ts → types/cute-widgets-base-chips.d.ts} +1 -1
  120. package/types/cute-widgets-base-collapse.d.ts +98 -0
  121. package/{core/layout/index.d.ts → types/cute-widgets-base-core-layout.d.ts} +7 -1
  122. package/{core/nav/index.d.ts → types/cute-widgets-base-core-nav.d.ts} +2 -1
  123. package/{core/observers/index.d.ts → types/cute-widgets-base-core-observers.d.ts} +1 -1
  124. package/{core/option/index.d.ts → types/cute-widgets-base-core-option.d.ts} +1 -1
  125. package/{core/index.d.ts → types/cute-widgets-base-core.d.ts} +7 -1
  126. package/{datepicker/index.d.ts → types/cute-widgets-base-datepicker.d.ts} +2 -2
  127. package/{dialog/index.d.ts → types/cute-widgets-base-dialog.d.ts} +81 -57
  128. package/{expansion/index.d.ts → types/cute-widgets-base-expansion.d.ts} +4 -14
  129. package/{form-field/index.d.ts → types/cute-widgets-base-form-field.d.ts} +1 -1
  130. package/{icon/index.d.ts → types/cute-widgets-base-icon.d.ts} +1 -1
  131. package/{input/index.d.ts → types/cute-widgets-base-input.d.ts} +1 -1
  132. package/{menu/index.d.ts → types/cute-widgets-base-menu.d.ts} +202 -121
  133. package/{navbar/index.d.ts → types/cute-widgets-base-navbar.d.ts} +24 -9
  134. package/{paginator/index.d.ts → types/cute-widgets-base-paginator.d.ts} +2 -2
  135. package/{progress/index.d.ts → types/cute-widgets-base-progress.d.ts} +1 -1
  136. package/{radio/index.d.ts → types/cute-widgets-base-radio.d.ts} +2 -2
  137. package/{sidenav/index.d.ts → types/cute-widgets-base-sidenav.d.ts} +1 -1
  138. package/{snack-bar/index.d.ts → types/cute-widgets-base-snack-bar.d.ts} +1 -1
  139. package/{sort/index.d.ts → types/cute-widgets-base-sort.d.ts} +1 -1
  140. package/{table/index.d.ts → types/cute-widgets-base-table.d.ts} +1 -1
  141. package/{tabs/index.d.ts → types/cute-widgets-base-tabs.d.ts} +35 -14
  142. package/{tree/index.d.ts → types/cute-widgets-base-tree.d.ts} +2 -2
  143. package/collapse/index.d.ts +0 -97
  144. /package/{alert/index.d.ts → types/cute-widgets-base-alert.d.ts} +0 -0
  145. /package/{card/index.d.ts → types/cute-widgets-base-card.d.ts} +0 -0
  146. /package/{core/animation/index.d.ts → types/cute-widgets-base-core-animation.d.ts} +0 -0
  147. /package/{core/datetime/index.d.ts → types/cute-widgets-base-core-datetime.d.ts} +0 -0
  148. /package/{core/directives/index.d.ts → types/cute-widgets-base-core-directives.d.ts} +0 -0
  149. /package/{core/error/index.d.ts → types/cute-widgets-base-core-error.d.ts} +0 -0
  150. /package/{core/interfaces/index.d.ts → types/cute-widgets-base-core-interfaces.d.ts} +0 -0
  151. /package/{core/line/index.d.ts → types/cute-widgets-base-core-line.d.ts} +0 -0
  152. /package/{core/pipes/index.d.ts → types/cute-widgets-base-core-pipes.d.ts} +0 -0
  153. /package/{core/ripple/index.d.ts → types/cute-widgets-base-core-ripple.d.ts} +0 -0
  154. /package/{core/testing/index.d.ts → types/cute-widgets-base-core-testing.d.ts} +0 -0
  155. /package/{core/theming/index.d.ts → types/cute-widgets-base-core-theming.d.ts} +0 -0
  156. /package/{core/types/index.d.ts → types/cute-widgets-base-core-types.d.ts} +0 -0
  157. /package/{core/utils/index.d.ts → types/cute-widgets-base-core-utils.d.ts} +0 -0
  158. /package/{divider/index.d.ts → types/cute-widgets-base-divider.d.ts} +0 -0
  159. /package/{grid-list/index.d.ts → types/cute-widgets-base-grid-list.d.ts} +0 -0
  160. /package/{layout/container/index.d.ts → types/cute-widgets-base-layout-container.d.ts} +0 -0
  161. /package/{layout/stack/index.d.ts → types/cute-widgets-base-layout-stack.d.ts} +0 -0
  162. /package/{layout/index.d.ts → types/cute-widgets-base-layout.d.ts} +0 -0
  163. /package/{list/index.d.ts → types/cute-widgets-base-list.d.ts} +0 -0
  164. /package/{select/index.d.ts → types/cute-widgets-base-select.d.ts} +0 -0
  165. /package/{slider/index.d.ts → types/cute-widgets-base-slider.d.ts} +0 -0
  166. /package/{spinner/index.d.ts → types/cute-widgets-base-spinner.d.ts} +0 -0
  167. /package/{stepper/index.d.ts → types/cute-widgets-base-stepper.d.ts} +0 -0
  168. /package/{timepicker/index.d.ts → types/cute-widgets-base-timepicker.d.ts} +0 -0
  169. /package/{toolbar/index.d.ts → types/cute-widgets-base-toolbar.d.ts} +0 -0
  170. /package/{tooltip/index.d.ts → types/cute-widgets-base-tooltip.d.ts} +0 -0
  171. /package/{index.d.ts → types/cute-widgets-base.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"cute-widgets-base-button.mjs","sources":["../../../../projects/cute-widgets/base/button/src/button-base.directive.ts","../../../../projects/cute-widgets/base/button/src/button.component.ts","../../../../projects/cute-widgets/base/button/src/button.component.html","../../../../projects/cute-widgets/base/button/src/button-group.directive.ts","../../../../projects/cute-widgets/base/button/src/button-toolbar.directive.ts","../../../../projects/cute-widgets/base/button/src/button.module.ts","../../../../projects/cute-widgets/base/button/cute-widgets-base-button.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n Directive,\r\n inject,\r\n Input,\r\n NgZone,\r\n HostBinding,\r\n InjectionToken,\r\n ContentChildren,\r\n QueryList,\r\n booleanAttribute, DoCheck,\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {CuteIcon} from \"@cute-widgets/base/icon\";\r\nimport {RelativeSize7, ThemeColor} from \"@cute-widgets/base/core\";\r\nimport {Ripple, RippleManager, RippleOptions} from \"@cute-widgets/base/core/ripple\";\r\nimport {fromEvent, Subject} from \"rxjs\";\r\nimport {takeUntil} from \"rxjs/operators\";\r\nimport {toColorCssClass, toThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/** Button's appearance style */\r\nexport type CuteButtonStyle =\r\n \"base-button\"\r\n |\"flat-button\"\r\n |\"outline-button\"\r\n |\"raised-button\"\r\n |\"pill-button\"\r\n |\"circle-button\"\r\n |\"close-button\"\r\n |\"icon-button\"\r\n |\"fab-button\"\r\n /** Appearance styles for Angular Material compatibility */\r\n |\"text\"\r\n |\"filled\"\r\n |\"elevated\"\r\n |\"outlined\"\r\n |\"tonal\";\r\n\r\n\r\n/** Object that can be used to configure the default options for the button component. */\r\nexport interface CuteButtonConfig {\r\n /** Whether disabled buttons should be interactive. */\r\n disabledInteractive?: boolean;\r\n\r\n /** Default palette color to apply to buttons. */\r\n color?: ThemeColor;\r\n}\r\n\r\n/** Injection token that can be used to provide the default options the button component. */\r\nexport const CUTE_BUTTON_CONFIG = new InjectionToken<CuteButtonConfig>('CUTE_BUTTON_CONFIG');\r\n\r\n/**\r\n * Injection token that can be used to reference instances of `CuteButtonBase`.\r\n * It serves as an alternative token to the actual `CuteButtonBase` class, which\r\n * could cause unnecessary retention of the class and its component metadata.\r\n */\r\nexport const CUTE_BUTTON_BASE = new InjectionToken<CuteButtonBase>(\r\n 'CuteButtonBase'\r\n);\r\n\r\n\r\n@Directive({\r\n host: {\r\n class: 'btn',\r\n '[attr.magnitude]': 'magnitude',\r\n '[style.--bs-focus-ring-color]': 'color? \"rgba(var(\"+bsColorVarName+\"), var(--bs-focus-ring-opacity))\" : \"var(--bs-border-color-translucent)\"',\r\n '(keydown)': '_haltDisabledEvents($event)',\r\n }\r\n})\r\nexport abstract class CuteButtonBase extends CuteFocusableControl implements DoCheck {\r\n\r\n private _cleanupClick: (() => void) | undefined;\r\n private _destroyed$ = new Subject<void>()\r\n\r\n protected readonly _ripple: Ripple;\r\n protected readonly _ngZone: NgZone = inject(NgZone);\r\n protected readonly _isAnchor: boolean = false;\r\n\r\n @ContentChildren(CuteIcon) private _icons: QueryList<CuteIcon> | undefined;\r\n\r\n /** Button's appearance style in the following format: `{style}-button`. */\r\n @Input(\"cuteButton\") //, transform: (v: any): ButtonStyle=>{return !v ? \"base-button\" : v}})\r\n get inputButtonStyle(): CuteButtonStyle {return this._inputButtonStyle;}\r\n set inputButtonStyle(value: CuteButtonStyle | undefined | \"\") {\r\n this._inputButtonStyle = value || \"base-button\";\r\n\r\n // Transform Angular Material's style\r\n switch (this._inputButtonStyle) {\r\n case \"text\": this._inputButtonStyle = \"base-button\"; break;\r\n case \"elevated\": this._inputButtonStyle = \"raised-button\"; break;\r\n case \"outlined\": this._inputButtonStyle = \"outline-button\"; break;\r\n case \"filled\": this._inputButtonStyle = \"flat-button\"; break;\r\n case \"tonal\": this._inputButtonStyle = \"flat-button\"; break;\r\n }\r\n\r\n const dashPos = this._inputButtonStyle.lastIndexOf(\"-\");\r\n if (dashPos >= 0) {\r\n // Format: {style}-button\r\n this._buttonStyle = this._inputButtonStyle.substring(0, dashPos).trim().toLowerCase() || \"base\";\r\n } else {\r\n this._buttonStyle = this._inputButtonStyle;\r\n }\r\n }\r\n private _inputButtonStyle: CuteButtonStyle = \"base-button\";\r\n private _buttonStyle: string = \"base\";\r\n\r\n /** Relative size of the Button. */\r\n @Input() magnitude: RelativeSize7 | undefined;\r\n\r\n /** Whether to enable label wrapping. */\r\n @Input({transform: booleanAttribute})\r\n wrapLabel: boolean = false;\r\n\r\n /** Whether to disable the ripple effect on button clicking. */\r\n @Input()\r\n get disableRipple(): boolean {return this._ripple.disabled}\r\n set disableRipple(value: boolean) { this._ripple.disabled = value; }\r\n\r\n /** `aria-disabled` value of the button. */\r\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\r\n ariaDisabled: boolean | undefined;\r\n\r\n /** Whether to show the collapse/expand indicator based on the `aria-expanded` current value. */\r\n @Input({transform: booleanAttribute})\r\n withAriaExpandedIndicator: boolean = false;\r\n\r\n /**\r\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\r\n * In some scenarios, this might not be desirable, because it can prevent users from finding out\r\n * why the button is disabled (e.g., via tooltip).\r\n *\r\n * Enabling this input will change the button so that it is styled to be disabled and will be\r\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\r\n *\r\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\r\n * meant to be tabbable, and you have to prevent the button action (e.g., form submissions).\r\n */\r\n @Input({transform: booleanAttribute})\r\n get disabledInteractive(): boolean | undefined {return this._disabledInteractive;}\r\n set disabledInteractive(value: boolean | undefined) {this._disabledInteractive = value;}\r\n private _disabledInteractive: boolean | undefined;\r\n\r\n /** Label text that applied for visually hidden button */\r\n @Input()\r\n visuallyHiddenLabel: string | undefined;\r\n\r\n @HostBinding(\"class\")\r\n protected get classNames(): string {\r\n let classes = \"cute-\"+this._inputButtonStyle; // e.g. `cute-outline-button`\r\n if (this.color) {\r\n classes += [\"base\",\"close\",\"icon\"].indexOf(this.buttonStyle)==-1\r\n ? \" btn-\"+(this.buttonStyle==\"outline\" ? \"outline-\" : \"\") + toThemeColor(this.color)\r\n : this.buttonStyle==\"base\"\r\n ? (\" \" + (this.color==\"link\" ? \"btn-link\" : toColorCssClass(this.color)))\r\n : \"\";\r\n }\r\n return classes;\r\n }\r\n\r\n /** Focus shadow color for `close-button` */\r\n @HostBinding(\"style.--bs-btn-close-focus-shadow\")\r\n protected get _closeButtonShadowColor(): string {\r\n return (this.color && this.buttonStyle == \"close\") ? \"0 0 0 0.25rem rgba(var(--bs-\"+this.color+\"-rgb), 0.25)\" : \"\";\r\n }\r\n\r\n @HostBinding(\"class.cute-btn-xxl\")\r\n protected get buttonLargestBinding(): boolean {return this.magnitude == \"largest\"}\r\n @HostBinding(\"class.cute-btn-xl\")\r\n protected get buttonLargerBinding(): boolean {return this.magnitude == \"larger\"}\r\n @HostBinding(\"class.btn-lg\")\r\n protected get buttonLargeBinding(): boolean {return this.magnitude == \"large\"}\r\n @HostBinding(\"class.btn-sm\")\r\n protected get buttonSmallBinding(): boolean {return this.magnitude == \"small\"}\r\n @HostBinding(\"class.cute-btn-xs\")\r\n protected get buttonSmallerBinding(): boolean {return this.magnitude == \"smaller\"}\r\n @HostBinding(\"class.cute-btn-xxs\")\r\n protected get buttonSmallestBinding(): boolean {return this.magnitude == \"smallest\"}\r\n\r\n @HostBinding(\"style.--cute-icon-button-color-rgb\")\r\n protected get iconButtonColorBinding(): string {\r\n return this.buttonStyle==\"icon\" ? \"var(\"+(this.color ? this.bsColorVarName : \"--bs-body-color-rgb\")+\")\" : \"\";\r\n }\r\n @HostBinding(\"style.--cute-base-button-color-rgb\")\r\n protected get baseButtonColorBinding(): string {\r\n return this.buttonStyle==\"base\" ? \"var(\"+(this.color ? this.bsColorVarName : \"--bs-body-color-rgb\")+\")\" : \"\";\r\n }\r\n\r\n /** Returns button style name. */\r\n get buttonStyle(): string {\r\n return this._buttonStyle;\r\n }\r\n\r\n protected get bsColorVarName(): string {\r\n if (this.color) {\r\n if (this.color==\"link\") {\r\n return `--bs-${this.color}-color-rgb`;\r\n }\r\n return `--bs-${this.color}-rgb`;\r\n }\r\n return \"\";\r\n }\r\n\r\n protected constructor(...args: unknown[]);\r\n protected constructor() {\r\n super();\r\n const config = inject(CUTE_BUTTON_CONFIG, {optional: true});\r\n this.disabledInteractive = config?.disabledInteractive ?? false;\r\n this._ripple = RippleManager.getInstance(this._nativeElement);\r\n\r\n this._isAnchor = (this._nativeElement.tagName == \"A\");\r\n }\r\n\r\n protected override generateId(): string {\r\n return \"\"; // `cute-button-${++nextUniqueId}`;\r\n }\r\n\r\n protected _getTabIndex() {\r\n if (this._isAnchor) {\r\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\r\n }\r\n return this.tabIndex;\r\n }\r\n\r\n private _setupAsAnchor() {\r\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\r\n this._renderer.listen(this._nativeElement, 'click', (event: Event) => {\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }),\r\n );\r\n }\r\n\r\n protected override setDisabledState(newState: boolean): boolean {\r\n if (this._isAnchor) {\r\n if (newState) {\r\n this._savedTabIndex = this.tabIndex;\r\n this.tabIndex = -1;\r\n } else {\r\n this.tabIndex = this._savedTabIndex;\r\n }\r\n }\r\n return super.setDisabledState(newState);\r\n }\r\n private _savedTabIndex: number|undefined;\r\n\r\n protected _getAriaDisabled() {\r\n if (this.ariaDisabled != null) {\r\n return this.ariaDisabled;\r\n }\r\n if (this._isAnchor) {\r\n return this.disabled || null;\r\n }\r\n return this.disabled && this.disabledInteractive ? true : null;\r\n }\r\n\r\n protected _getDisabledAttribute() {\r\n //return this.disabledInteractive || !this.disabled ? null : true;\r\n return this.disabled ? true : null;\r\n }\r\n\r\n protected _haltDisabledEvents (event: Event): void {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled && (this.disabledInteractive || this._isAnchor)) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n };\r\n\r\n /** Whether to apply a `focus-ring` css-class to the button when it focused via keyboard interaction */\r\n protected get displayFocusRing(): boolean {\r\n return this.buttonStyle == \"base\" && this.hasClass(\"cdk-keyboard-focused\");\r\n }\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n\r\n [\"mousedown\", \"mouseup\", \"click\"].forEach((type) => {\r\n fromEvent<MouseEvent>(this._nativeElement, type, { capture: true })\r\n .pipe(takeUntil(this._destroyed$))\r\n .subscribe((ev)=> this._onMouseEvent(ev));\r\n });\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n if (this._icons && this.buttonStyle == \"icon\") {\r\n this._icons.forEach(icon => {icon.defaultColor = this.color;});\r\n }\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n\r\n // Some internal tests depend on the timing of this,\r\n // otherwise we could bind it in the constructor.\r\n if (this._isAnchor) {\r\n this._setupAsAnchor();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n // This line was added due to \"Expression Changed After Checked...\" error raised if we place it in the @HostBinding\r\n this.toggleClass(\"focus-ring\", this.displayFocusRing);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._cleanupClick?.();\r\n this._ripple.stop();\r\n this._destroyed$.next();\r\n this._destroyed$.complete();\r\n }\r\n\r\n /** mouse events handler */\r\n private _onMouseEvent(event: MouseEvent) {\r\n\r\n this._haltDisabledEvents(event);\r\n\r\n if (!event.defaultPrevented && event.type == \"mousedown\") {\r\n this._launchRipple(event);\r\n }\r\n }\r\n\r\n private _launchRipple(event: MouseEvent): void {\r\n if (this._ripple && !this._ripple.disabled) {\r\n const options: RippleOptions = {};\r\n if (this.buttonStyle == \"icon\") {\r\n options.centered = true;\r\n options.color = \"rgba(var(--cute-icon-button-color), 0.25)\";\r\n }\r\n this._ripple.launch(event, options);\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {CuteButtonBase, CUTE_BUTTON_BASE} from \"./button-base.directive\";\r\nimport {toThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n@Component({\r\n selector: `button[cuteButton],\r\n button[cute-button],\r\n a[cuteButton],\r\n a[cute-button],\r\n `,\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n exportAs: \"cuteButton\",\r\n imports: [CommonModule],\r\n host: {\r\n 'class': 'cute-button',\r\n '[class.cute-anchor]': '_isAnchor',\r\n '[class.btn-close]': 'buttonStyle == \"close\"',\r\n '[class.rounded-pill]': 'buttonStyle==\"pill\"',\r\n '[class.rounded-circle]': 'buttonStyle==\"circle\"',\r\n '[class.raised]': 'buttonStyle==\"raised\" && !disabled',\r\n '[class.icon-link]': 'toThemeColor(color)==\"link\"',\r\n '[class.cute-button-expandable]': 'withAriaExpandedIndicator',\r\n //'[class.focus-ring]': 'buttonStyle==\"base\" && hasClass(\"cdk-keyboard-focused\")', // See: CuteButtonBase.ngDoCheck()\r\n '[class.disabled]': '(_isAnchor || buttonStyle==\"icon\" || disabledInteractive) && disabled',\r\n '[class.cute-button-disabled-interactive]': 'disabledInteractive',\r\n '[class.cute-unthemed]': '!color',\r\n '[attr.tabindex]': '_getTabIndex()', //'disabled ? -1 : tabIndex',\r\n '[attr.disabled]': '_getDisabledAttribute()',\r\n '[attr.aria-disabled]': '_getAriaDisabled()',\r\n '[attr.id]': 'id || null',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n },\r\n providers: [\r\n { provide: CUTE_BUTTON_BASE, useExisting: CuteButton }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteButton extends CuteButtonBase {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected readonly toThemeColor = toThemeColor;\r\n}\r\n","<!--\r\n For capturing HTML-elements such as <i class..> or <img src=\"\"...> and others\r\n we need apply [cuteButtonIcon] attribute to them.\r\n-->\r\n<span class=\"cute-icon-wrapper\">\r\n <ng-content select=\".material-icons:not([iconPositionEnd]),\r\n .bi:not([iconPositionEnd]),\r\n cute-icon:not([iconPositionEnd]),\r\n cute-avatar:not([iconPositionEnd]),\r\n [cuteButtonIcon]:not([iconPositionEnd])\">\r\n </ng-content>\r\n</span>\r\n\r\n<span class=\"cute-button-label\" [class.cute-button-label__wrap]=\"wrapLabel\">\r\n <ng-content>\r\n @if(visuallyHiddenLabel) {\r\n <span class=\"visually-hidden\"> {{visuallyHiddenLabel}} </span>\r\n }\r\n </ng-content>\r\n</span>\r\n\r\n<span class=\"cute-icon-wrapper\">\r\n <ng-content select=\".material-icons[iconPositionEnd],\r\n .bi:[iconPositionEnd],\r\n cute-icon[iconPositionEnd],\r\n cute-avatar:[iconPositionEnd],\r\n [cuteButtonIcon][iconPositionEnd]\">\r\n </ng-content>\r\n</span>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n booleanAttribute,\r\n ContentChildren,\r\n Directive,\r\n HostBinding,\r\n Input,\r\n QueryList\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize5} from \"@cute-widgets/base/core/types\";\r\nimport {CUTE_BUTTON_BASE, CuteButtonBase, CuteButtonStyle} from \"./button-base.directive\";\r\nimport {BooleanInput, coerceBooleanProperty} from \"@angular/cdk/coercion\";\r\n\r\n// Counter used to generate unique IDs.\r\nlet uniqueIdCounter = 0;\r\n\r\n/**\r\n * Group a series of buttons together on a single line or stack them in a vertical column.\r\n */\r\n@Directive({\r\n selector: \"cute-button-group\",\r\n exportAs: \"cuteButtonGroup\",\r\n host: {\r\n 'role': 'group',\r\n 'class': 'cute-button-group',\r\n '[class]': '\"btn-group\" +(vertical?\"-vertical\":\"\")',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n '[attr.aria-labelledby]': 'ariaLabelledby || null',\r\n '[attr.aria-describedby]': 'ariaDescribedby || null',\r\n '[id]': 'id || null'\r\n },\r\n standalone: true\r\n})\r\nexport class CuteButtonGroup extends CuteFocusableControl {\r\n\r\n /** Whether to place the nested buttons in the vertical direction. */\r\n @Input({transform: booleanAttribute}) vertical: boolean = false;\r\n\r\n /** The relative size of the buttons group. */\r\n @Input() magnitude: RelativeSize5 | undefined;\r\n\r\n /** Default style for the content buttons */\r\n @Input() buttonStyle: CuteButtonStyle | undefined;\r\n\r\n @HostBinding(\"class.cute-btn-group-xl\")\r\n protected get buttonLargerBinding(): boolean {return this.magnitude == \"larger\"}\r\n @HostBinding(\"class.btn-group-lg\")\r\n protected get buttonLargeBinding(): boolean {return this.magnitude == \"large\"}\r\n @HostBinding(\"class.cute-btn-group-xs\")\r\n protected get buttonSmallerBinding(): boolean {return this.magnitude == \"smaller\"}\r\n @HostBinding(\"class.btn-group-sm\")\r\n protected get buttonSmallBinding(): boolean {return this.magnitude == \"small\"}\r\n\r\n /** Child buttons. */\r\n @ContentChildren(CUTE_BUTTON_BASE, {descendants: true})\r\n _buttons: QueryList<CuteButtonBase> | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `button-group-${++uniqueIdCounter}`;\r\n }\r\n\r\n protected override setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean {\r\n let res = super.setDisabledState(newState, emitEvent);\r\n if (res && this._buttons) {\r\n this._buttons.forEach(btn => {\r\n btn.disabled = coerceBooleanProperty(newState);\r\n });\r\n }\r\n return res;\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n this._buttons?.forEach(b => {\r\n b.defaultColor = this.color ?? \"primary\";\r\n b.disabled = this.disabled;\r\n if (b.buttonStyle == \"base\") {\r\n b.inputButtonStyle = this.buttonStyle ?? \"flat-button\";\r\n }\r\n });\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n Directive,\r\n Input, numberAttribute,\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize5} from \"@cute-widgets/base/core/types\";\r\n\r\n// Counter used to generate unique IDs.\r\nlet uniqueIdCounter = 0;\r\n\r\n@Directive({\r\n selector: \"cute-button-toolbar\",\r\n exportAs: \"cuteButtonToolbar\",\r\n host: {\r\n 'role': 'toolbar',\r\n 'class': 'btn-toolbar',\r\n '[class]': '\"gap-\"+gap',\r\n '[attr.gap]': 'null',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n '[attr.aria-labelledby]': 'ariaLabelledby || null',\r\n '[attr.aria-describedby]': 'ariaDescribedby || null',\r\n '[id]': 'id || null'\r\n },\r\n standalone: true\r\n})\r\nexport class CuteButtonToolbar extends CuteFocusableControl {\r\n\r\n //@Input({transform: booleanAttribute}) vertical: boolean = false;\r\n\r\n private _gap:number = 0;\r\n\r\n /** The gutter between buttons */\r\n @Input({transform: numberAttribute})\r\n get gap(): number {return this._gap;}\r\n set gap(value: number) {\r\n const MAX_GAP= 5;\r\n value = Math.round(value);\r\n if (value >= 0 && value <= MAX_GAP) {\r\n this._gap = value;\r\n } else if (value > MAX_GAP) {\r\n this._gap = MAX_GAP;\r\n } else {\r\n this._gap = 0;\r\n }\r\n }\r\n\r\n @Input() magnitude: RelativeSize5 | undefined;\r\n\r\n /** Child buttons. */\r\n //@ContentChildren(CUTE_BUTTON_BASE, {descendants: true})\r\n //_buttons: QueryList<ButtonBase> | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `button-toolbar-${++uniqueIdCounter}`;\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CuteButton} from \"./button.component\";\r\nimport {CuteButtonGroup} from \"./button-group.directive\";\r\nimport {CuteButtonToolbar} from \"./button-toolbar.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteButton,\r\n CuteButtonGroup,\r\n CuteButtonToolbar,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CuteButtonModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uniqueIdCounter"],"mappings":"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"}
1
+ {"version":3,"file":"cute-widgets-base-button.mjs","sources":["../../../../projects/cute-widgets/base/button/src/button-group.directive.ts","../../../../projects/cute-widgets/base/button/src/button-base.directive.ts","../../../../projects/cute-widgets/base/button/src/button.component.ts","../../../../projects/cute-widgets/base/button/src/button.component.html","../../../../projects/cute-widgets/base/button/src/button-toolbar.directive.ts","../../../../projects/cute-widgets/base/button/src/button.module.ts","../../../../projects/cute-widgets/base/button/cute-widgets-base-button.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n booleanAttribute,\r\n ContentChildren,\r\n Directive, EventEmitter,\r\n HostBinding, InjectionToken,\r\n Input, Output,\r\n QueryList\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize5} from \"@cute-widgets/base/core/types\";\r\nimport {CUTE_BUTTON_BASE, CuteButtonBase, CuteButtonStyle} from \"./button-base.directive\";\r\nimport {BooleanInput, coerceBooleanProperty} from \"@angular/cdk/coercion\";\r\n\r\n// Counter used to generate unique IDs.\r\nlet uniqueIdCounter = 0;\r\n\r\n/**\r\n * Injection token that can be used to reference instances of `CuteButtonGroup`.\r\n * It serves as an alternative token to the actual `CuteButtonGroup` class which\r\n * could cause unnecessary retention of the class and its component metadata.\r\n */\r\nexport const CUTE_BUTTON_GROUP = new InjectionToken<CuteButtonGroup>(\r\n 'CuteButtonGroup',\r\n);\r\n\r\n\r\n/**\r\n * Group a series of buttons together on a single line or stack them in a vertical column.\r\n */\r\n@Directive({\r\n selector: \"cute-button-group\",\r\n exportAs: \"cuteButtonGroup\",\r\n host: {\r\n 'role': 'group',\r\n 'class': 'cute-button-group',\r\n '[class]': '\"btn-group\" +(vertical?\"-vertical\":\"\")',\r\n '[class.disabled]': 'disabled',\r\n '[attr.aria-disabled]': 'disabled',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n '[attr.aria-labelledby]': 'ariaLabelledby || null',\r\n '[attr.aria-describedby]': 'ariaDescribedby || null',\r\n '[attr.tabindex]': '-1',\r\n '[id]': 'id || null'\r\n },\r\n providers: [{provide: CUTE_BUTTON_GROUP, useExisting: CuteButtonGroup}],\r\n standalone: true\r\n})\r\nexport class CuteButtonGroup extends CuteFocusableControl {\r\n\r\n /** Whether to place the nested buttons in the vertical direction. */\r\n @Input({transform: booleanAttribute}) vertical: boolean = false;\r\n\r\n /** The relative size of the buttons group. */\r\n @Input() magnitude: RelativeSize5 | undefined;\r\n\r\n /** Default style for the content buttons */\r\n @Input() buttonStyle: CuteButtonStyle | undefined;\r\n\r\n @HostBinding(\"class.cute-btn-group-xl\")\r\n protected get buttonLargerBinding(): boolean {return this.magnitude == \"larger\"}\r\n @HostBinding(\"class.btn-group-lg\")\r\n protected get buttonLargeBinding(): boolean {return this.magnitude == \"large\"}\r\n @HostBinding(\"class.cute-btn-group-xs\")\r\n protected get buttonSmallerBinding(): boolean {return this.magnitude == \"smaller\"}\r\n @HostBinding(\"class.btn-group-sm\")\r\n protected get buttonSmallBinding(): boolean {return this.magnitude == \"small\"}\r\n\r\n /** Child buttons. */\r\n @ContentChildren(CUTE_BUTTON_BASE, {descendants: true})\r\n _buttons: QueryList<CuteButtonBase> | undefined;\r\n\r\n /** Raised when the disabled state of a component group changes. */\r\n @Output() disabledChange = new EventEmitter<boolean>();\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `button-group-${++uniqueIdCounter}`;\r\n }\r\n\r\n // Buttons that have `disabled` states before the group is disabled as a whole. Uses to restore `disabled` states\r\n // when the group's state will be enabled again.\r\n // CuteButtonToggleGroup, as an ancestor, uses this algo too.\r\n #disablesCache = new Set<CuteButtonBase>();\r\n\r\n protected override setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean {\r\n let res = super.setDisabledState(newState, emitEvent);\r\n if (res && this._buttons) {\r\n const isDisabled = coerceBooleanProperty(newState);\r\n if (isDisabled) {\r\n this._buttons.forEach(btn => {\r\n if (btn.disabled) {\r\n this.#disablesCache.add(btn);\r\n }\r\n btn.disabled = isDisabled;\r\n });\r\n } else {\r\n this._buttons.forEach(btn => {\r\n if (!this.#disablesCache.has(btn)) {\r\n btn.disabled = false;\r\n }\r\n });\r\n this.#disablesCache.clear();\r\n }\r\n\r\n this._markButtonsForCheck();\r\n\r\n this.disabledChange.emit(isDisabled);\r\n }\r\n return res;\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n this._buttons?.forEach(b => {\r\n b.defaultColor = this.color ?? \"primary\";\r\n\r\n if (this.disabled) {\r\n b.disabled = this.disabled;\r\n }\r\n\r\n if (b.buttonStyle == \"base\") {\r\n b.inputButtonStyle = this.buttonStyle ?? \"flat-button\";\r\n }\r\n });\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n\r\n this.#disablesCache.clear();\r\n }\r\n\r\n /** Marks all the child button toggles to be checked. */\r\n protected _markButtonsForCheck() {\r\n this._buttons?.forEach(btn => btn.markForCheck());\r\n }\r\n\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n Directive,\r\n inject,\r\n Input,\r\n NgZone,\r\n HostBinding,\r\n InjectionToken,\r\n ContentChildren,\r\n QueryList,\r\n booleanAttribute, DoCheck,\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {CuteIcon} from \"@cute-widgets/base/icon\";\r\nimport {RelativeSize7, ThemeColor} from \"@cute-widgets/base/core\";\r\nimport {Ripple, RippleManager, RippleOptions} from \"@cute-widgets/base/core/ripple\";\r\nimport {fromEvent, Subject} from \"rxjs\";\r\nimport {takeUntil} from \"rxjs/operators\";\r\nimport {toColorCssClass, toThemeColor} from \"@cute-widgets/base/core\";\r\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\r\nimport {CUTE_BUTTON_GROUP} from './button-group.directive';\r\n\r\n/** Button's appearance style */\r\nexport type CuteButtonStyle =\r\n \"base-button\"\r\n |\"flat-button\"\r\n |\"outline-button\"\r\n |\"raised-button\"\r\n |\"pill-button\"\r\n |\"circle-button\"\r\n |\"close-button\"\r\n |\"icon-button\"\r\n |\"fab-button\"\r\n /** Appearance styles for Angular Material compatibility */\r\n |\"text\"\r\n |\"filled\"\r\n |\"elevated\"\r\n |\"outlined\"\r\n |\"tonal\";\r\n\r\n\r\n/** Object that can be used to configure the default options for the button component. */\r\nexport interface CuteButtonConfig {\r\n /** Whether disabled buttons should be interactive. */\r\n disabledInteractive?: boolean;\r\n\r\n /** Default palette color to apply to buttons. */\r\n color?: ThemeColor;\r\n\r\n /** Whether to enable text wrapping. */\r\n wrapText?: boolean;\r\n}\r\n\r\n/** Injection token that can be used to provide the default options the button component. */\r\nexport const CUTE_BUTTON_CONFIG = new InjectionToken<CuteButtonConfig>('CUTE_BUTTON_CONFIG');\r\n\r\n/**\r\n * Injection token that can be used to reference instances of `CuteButtonBase`.\r\n * It serves as an alternative token to the actual `CuteButtonBase` class, which\r\n * could cause unnecessary retention of the class and its component metadata.\r\n */\r\nexport const CUTE_BUTTON_BASE = new InjectionToken<CuteButtonBase>(\r\n 'CuteButtonBase'\r\n);\r\n\r\n\r\n@Directive({\r\n host: {\r\n class: 'btn',\r\n '[attr.magnitude]': 'magnitude',\r\n '[style.--bs-focus-ring-color]': 'color? \"rgba(var(\"+bsColorVarName+\"), var(--bs-focus-ring-opacity))\" : \"var(--bs-border-color-translucent)\"',\r\n '(keydown)': '_haltDisabledEvents($event)',\r\n }\r\n})\r\nexport abstract class CuteButtonBase extends CuteFocusableControl implements DoCheck {\r\n\r\n private _cleanupClick: (() => void) | undefined;\r\n private _destroyed$ = new Subject<void>()\r\n\r\n protected readonly _ripple: Ripple;\r\n protected readonly _ngZone: NgZone = inject(NgZone);\r\n protected readonly _group = inject(CUTE_BUTTON_GROUP, {optional: true, host: true});\r\n protected readonly _isAnchor: boolean = false;\r\n\r\n @ContentChildren(CuteIcon) private _icons: QueryList<CuteIcon> | undefined;\r\n\r\n /** Button's appearance style in the following format: `{style}-button`. */\r\n @Input(\"cuteButton\") //, transform: (v: any): ButtonStyle=>{return !v ? \"base-button\" : v}})\r\n get inputButtonStyle(): CuteButtonStyle {return this._inputButtonStyle;}\r\n set inputButtonStyle(value: CuteButtonStyle | undefined | \"\") {\r\n this._inputButtonStyle = value || \"base-button\";\r\n\r\n // Transform Angular Material's style\r\n switch (this._inputButtonStyle) {\r\n case \"text\": this._inputButtonStyle = \"base-button\"; break;\r\n case \"elevated\": this._inputButtonStyle = \"raised-button\"; break;\r\n case \"outlined\": this._inputButtonStyle = \"outline-button\"; break;\r\n case \"filled\": this._inputButtonStyle = \"flat-button\"; break;\r\n case \"tonal\": this._inputButtonStyle = \"flat-button\"; break;\r\n }\r\n\r\n const dashPos = this._inputButtonStyle.lastIndexOf(\"-\");\r\n if (dashPos >= 0) {\r\n // Format: {style}-button\r\n this._buttonStyle = this._inputButtonStyle.substring(0, dashPos).trim().toLowerCase() || \"base\";\r\n } else {\r\n this._buttonStyle = this._inputButtonStyle;\r\n }\r\n }\r\n private _inputButtonStyle: CuteButtonStyle = \"base-button\";\r\n private _buttonStyle: string = \"base\";\r\n\r\n /** Relative size of the Button. */\r\n @Input() magnitude: RelativeSize7 | undefined;\r\n\r\n /** Whether to enable text wrapping. */\r\n @Input({transform: booleanAttribute})\r\n wrapText: boolean = false;\r\n\r\n /** Whether to disable the ripple effect on button clicking. */\r\n @Input()\r\n get disableRipple(): boolean {return this._ripple.disabled}\r\n set disableRipple(value: boolean) { this._ripple.disabled = value; }\r\n\r\n /** `aria-disabled` value of the button. */\r\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\r\n ariaDisabled: boolean | undefined;\r\n\r\n /** Whether to show the collapse/expand indicator based on the `aria-expanded` current value. */\r\n @Input({transform: booleanAttribute})\r\n withAriaExpandedIndicator: boolean = false;\r\n\r\n /**\r\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\r\n * In some scenarios, this might not be desirable, because it can prevent users from finding out\r\n * why the button is disabled (e.g., via tooltip).\r\n *\r\n * Enabling this input will change the button so that it is styled to be disabled and will be\r\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\r\n *\r\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\r\n * meant to be tabbable, and you have to prevent the button action (e.g., form submissions).\r\n */\r\n @Input({transform: booleanAttribute})\r\n get disabledInteractive(): boolean | undefined {return this._disabledInteractive;}\r\n set disabledInteractive(value: boolean | undefined) {this._disabledInteractive = value;}\r\n private _disabledInteractive: boolean | undefined;\r\n\r\n /** Label text that applied for visually hidden button */\r\n @Input()\r\n visuallyHiddenLabel: string | undefined;\r\n\r\n @HostBinding(\"class\")\r\n protected get classNames(): string {\r\n let classes = \"cute-\"+this._inputButtonStyle; // e.g. `cute-outline-button`\r\n if (this.color) {\r\n classes += [\"base\",\"close\",\"icon\"].indexOf(this.buttonStyle)==-1\r\n ? \" btn-\"+(this.buttonStyle==\"outline\" ? \"outline-\" : \"\") + toThemeColor(this.color)\r\n : this.buttonStyle==\"base\"\r\n ? (\" \" + (this.color==\"link\" ? \"btn-link\" : toColorCssClass(this.color)))\r\n : \"\";\r\n }\r\n return classes;\r\n }\r\n\r\n /** Focus shadow color for `close-button` */\r\n @HostBinding(\"style.--bs-btn-close-focus-shadow\")\r\n protected get _closeButtonShadowColor(): string {\r\n return (this.color && this.buttonStyle == \"close\") ? \"0 0 0 0.25rem rgba(var(--bs-\"+this.color+\"-rgb), 0.25)\" : \"\";\r\n }\r\n\r\n @HostBinding(\"class.cute-btn-xxl\")\r\n protected get buttonLargestBinding(): boolean {return this.magnitude == \"largest\"}\r\n @HostBinding(\"class.cute-btn-xl\")\r\n protected get buttonLargerBinding(): boolean {return this.magnitude == \"larger\"}\r\n @HostBinding(\"class.btn-lg\")\r\n protected get buttonLargeBinding(): boolean {return this.magnitude == \"large\"}\r\n @HostBinding(\"class.btn-sm\")\r\n protected get buttonSmallBinding(): boolean {return this.magnitude == \"small\"}\r\n @HostBinding(\"class.cute-btn-xs\")\r\n protected get buttonSmallerBinding(): boolean {return this.magnitude == \"smaller\"}\r\n @HostBinding(\"class.cute-btn-xxs\")\r\n protected get buttonSmallestBinding(): boolean {return this.magnitude == \"smallest\"}\r\n\r\n @HostBinding(\"style.--cute-icon-button-color-rgb\")\r\n protected get iconButtonColorBinding(): string {\r\n return this.buttonStyle==\"icon\" ? \"var(\"+(this.color ? this.bsColorVarName : \"--bs-body-color-rgb\")+\")\" : \"\";\r\n }\r\n @HostBinding(\"style.--cute-base-button-color-rgb\")\r\n protected get baseButtonColorBinding(): string {\r\n return this.buttonStyle==\"base\" ? \"var(\"+(this.color ? this.bsColorVarName : \"--bs-body-color-rgb\")+\")\" : \"\";\r\n }\r\n\r\n /** Returns button style name. */\r\n get buttonStyle(): string {\r\n return this._buttonStyle;\r\n }\r\n\r\n protected get bsColorVarName(): string {\r\n if (this.color) {\r\n if (this.color==\"link\") {\r\n return `--bs-${this.color}-color-rgb`;\r\n }\r\n return `--bs-${this.color}-rgb`;\r\n }\r\n return \"\";\r\n }\r\n\r\n protected constructor(...args: unknown[]);\r\n protected constructor() {\r\n super();\r\n const config = inject(CUTE_BUTTON_CONFIG, {optional: true});\r\n this.disabledInteractive = config?.disabledInteractive ?? false;\r\n this.wrapText = config?.wrapText ?? false;\r\n this._ripple = RippleManager.getInstance(this._nativeElement);\r\n\r\n this._isAnchor = (this._nativeElement.tagName == \"A\");\r\n }\r\n\r\n protected override generateId(): string {\r\n return \"\"; // `cute-button-${++nextUniqueId}`;\r\n }\r\n\r\n protected _getTabIndex() {\r\n if (this._isAnchor) {\r\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\r\n }\r\n return this.tabIndex;\r\n }\r\n\r\n private _setupAsAnchor() {\r\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\r\n this._renderer.listen(this._nativeElement, 'click', (event: Event) => {\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n }),\r\n );\r\n }\r\n\r\n protected override setDisabledState(newState: BooleanInput): boolean {\r\n if (this._isAnchor) {\r\n const isDisabled = coerceBooleanProperty(newState);\r\n if (isDisabled) {\r\n this._savedTabIndex = this.tabIndex;\r\n this.tabIndex = -1;\r\n } else {\r\n this.tabIndex = this._savedTabIndex;\r\n }\r\n }\r\n return super.setDisabledState(newState);\r\n }\r\n private _savedTabIndex: number|undefined;\r\n\r\n protected _getAriaDisabled() {\r\n if (this.ariaDisabled != null) {\r\n return this.ariaDisabled;\r\n }\r\n if (this._isAnchor) {\r\n return this.disabled || null;\r\n }\r\n return this.disabled && this.disabledInteractive ? true : null;\r\n }\r\n\r\n protected _getDisabledAttribute() {\r\n //return this.disabledInteractive || !this.disabled ? null : true;\r\n return this.disabled ? true : null;\r\n }\r\n\r\n protected _haltDisabledEvents (event: Event): void {\r\n // A disabled button shouldn't apply any actions\r\n if (this.disabled && (this.disabledInteractive || this._isAnchor)) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n };\r\n\r\n /** Whether to apply a `focus-ring` css-class to the button when it focused via keyboard interaction */\r\n protected get displayFocusRing(): boolean {\r\n return this.buttonStyle == \"base\" && this.hasClass(\"cdk-keyboard-focused\");\r\n }\r\n\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n\r\n if (this._group) {\r\n this.defaultColor = this._group.color;\r\n }\r\n\r\n this._focusMonitor.monitor(this._elementRef, true);\r\n\r\n [\"mousedown\", \"mouseup\", \"click\"].forEach((type) => {\r\n fromEvent<MouseEvent>(this._nativeElement, type, { capture: true })\r\n .pipe(takeUntil(this._destroyed$))\r\n .subscribe((ev)=> this._onMouseEvent(ev));\r\n });\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n\r\n if (this._icons && this.buttonStyle == \"icon\") {\r\n this._icons.forEach(icon => {icon.defaultColor = this.color;});\r\n }\r\n }\r\n\r\n override ngAfterViewInit() {\r\n super.ngAfterViewInit();\r\n\r\n // Some internal tests depend on the timing of this,\r\n // otherwise we could bind it in the constructor.\r\n if (this._isAnchor) {\r\n this._setupAsAnchor();\r\n }\r\n }\r\n\r\n ngDoCheck() {\r\n // This line was added due to \"Expression Changed After Checked...\" error raised if we place it in the @HostBinding\r\n this.toggleClass(\"focus-ring\", this.displayFocusRing);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._cleanupClick?.();\r\n this._ripple.stop();\r\n this._destroyed$.next();\r\n this._destroyed$.complete();\r\n }\r\n\r\n /** mouse events handler */\r\n private _onMouseEvent(event: MouseEvent) {\r\n\r\n this._haltDisabledEvents(event);\r\n\r\n if (!event.defaultPrevented && event.type == \"mousedown\") {\r\n this._launchRipple(event);\r\n }\r\n }\r\n\r\n private _launchRipple(event: MouseEvent): void {\r\n if (this._ripple && !this._ripple.disabled) {\r\n const options: RippleOptions = {};\r\n if (this.buttonStyle == \"icon\") {\r\n options.centered = true;\r\n options.color = \"rgba(var(--cute-icon-button-color), 0.25)\";\r\n }\r\n this._ripple.launch(event, options);\r\n }\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\n\r\nimport {CuteButtonBase, CUTE_BUTTON_BASE} from \"./button-base.directive\";\r\nimport {toThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n@Component({\r\n selector: `button[cuteButton],\r\n button[cute-button],\r\n a[cuteButton],\r\n a[cute-button],\r\n `,\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.component.scss'],\r\n exportAs: \"cuteButton\",\r\n imports: [],\r\n host: {\r\n 'class': 'cute-button',\r\n '[class.cute-anchor]': '_isAnchor',\r\n '[class.btn-close]': 'buttonStyle == \"close\"',\r\n '[class.rounded-pill]': 'buttonStyle==\"pill\"',\r\n '[class.rounded-circle]': 'buttonStyle==\"circle\"',\r\n '[class.raised]': 'buttonStyle==\"raised\" && !disabled',\r\n '[class.icon-link]': 'toThemeColor(color)==\"link\"',\r\n '[class.cute-button-expandable]': 'withAriaExpandedIndicator',\r\n //'[class.focus-ring]': 'buttonStyle==\"base\" && hasClass(\"cdk-keyboard-focused\")', // See: CuteButtonBase.ngDoCheck()\r\n '[class.disabled]': '(_isAnchor || buttonStyle==\"icon\" || disabledInteractive) && disabled',\r\n '[class.cute-button-disabled-interactive]': 'disabledInteractive',\r\n '[class.cute-unthemed]': '!color',\r\n '[attr.tabindex]': '_getTabIndex()', //'disabled ? -1 : tabIndex',\r\n '[attr.disabled]': '_getDisabledAttribute()',\r\n '[attr.aria-disabled]': '_getAriaDisabled()',\r\n '[attr.id]': 'id || null',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n },\r\n providers: [\r\n { provide: CUTE_BUTTON_BASE, useExisting: CuteButton }\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteButton extends CuteButtonBase {\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected readonly toThemeColor = toThemeColor;\r\n}\r\n","<!--\r\n For capturing HTML-elements such as <i class..> or <img src=\"\"...> and others\r\n we need apply [cuteButtonIcon] attribute to them.\r\n-->\r\n<span class=\"cute-icon-wrapper\">\r\n <ng-content select=\".material-icons:not([iconPositionEnd]),\r\n .bi:not([iconPositionEnd]),\r\n cute-icon:not([iconPositionEnd]),\r\n cute-avatar:not([iconPositionEnd]),\r\n [cuteButtonIcon]:not([iconPositionEnd])\">\r\n </ng-content>\r\n</span>\r\n\r\n<span class=\"cute-button-label\" [class.cute-button-label__nowrap]=\"!wrapText\">\r\n <ng-content>\r\n @if(visuallyHiddenLabel) {\r\n <span class=\"visually-hidden\"> {{visuallyHiddenLabel}} </span>\r\n }\r\n </ng-content>\r\n</span>\r\n\r\n<span class=\"cute-icon-wrapper\">\r\n <ng-content select=\".material-icons[iconPositionEnd],\r\n .bi:[iconPositionEnd],\r\n cute-icon[iconPositionEnd],\r\n cute-avatar:[iconPositionEnd],\r\n [cuteButtonIcon][iconPositionEnd]\">\r\n </ng-content>\r\n</span>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {\r\n Directive, InjectionToken,\r\n Input, numberAttribute,\r\n} from \"@angular/core\";\r\nimport {CuteFocusableControl} from \"@cute-widgets/base/abstract\";\r\nimport {RelativeSize5} from \"@cute-widgets/base/core/types\";\r\n\r\n// Counter used to generate unique IDs.\r\nlet uniqueIdCounter = 0;\r\n\r\n/**\r\n * Injection token that can be used to reference instances of `CuteButtonToolbar`.\r\n * It serves as an alternative token to the actual `CuteButtonToolbar` class which\r\n * could cause unnecessary retention of the class and its component metadata.\r\n */\r\nexport const CUTE_BUTTON_TOOLBAR = new InjectionToken<CuteButtonToolbar>(\r\n 'CuteButtonToolbar',\r\n);\r\n\r\n\r\n/**\r\n * Combines sets of button groups into button toolbars for more complex components.\r\n */\r\n@Directive({\r\n selector: \"cute-button-toolbar\",\r\n exportAs: \"cuteButtonToolbar\",\r\n host: {\r\n 'class': 'cute-button-toolbar btn-toolbar',\r\n '[class]': '\"gap-\"+gap',\r\n '[attr.gap]': 'null',\r\n '[attr.aria-label]': 'ariaLabel || null',\r\n '[attr.aria-labelledby]': 'ariaLabelledby || null',\r\n '[attr.aria-describedby]': 'ariaDescribedby || null',\r\n '[id]': 'id || null',\r\n 'role': 'toolbar',\r\n },\r\n providers: [{provide: CUTE_BUTTON_TOOLBAR, useExisting: CuteButtonToolbar}],\r\n standalone: true\r\n})\r\nexport class CuteButtonToolbar extends CuteFocusableControl {\r\n\r\n //@Input({transform: booleanAttribute}) vertical: boolean = false;\r\n\r\n private _gap:number = 0;\r\n\r\n /** The gutter between button groups. */\r\n @Input({transform: numberAttribute})\r\n get gap(): number {return this._gap;}\r\n set gap(value: number) {\r\n const MAX_GAP= 5;\r\n value = Math.round(value);\r\n if (value >= 0 && value <= MAX_GAP) {\r\n this._gap = value;\r\n } else if (value > MAX_GAP) {\r\n this._gap = MAX_GAP;\r\n } else {\r\n this._gap = 0;\r\n }\r\n }\r\n\r\n @Input() magnitude: RelativeSize5 | undefined;\r\n\r\n /** Child buttons. */\r\n //@ContentChildren(CUTE_BUTTON_BASE, {descendants: true})\r\n //_buttons: QueryList<ButtonBase> | undefined;\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `button-toolbar-${++uniqueIdCounter}`;\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {NgModule, Type} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {CuteButton} from \"./button.component\";\r\nimport {CuteButtonGroup} from \"./button-group.directive\";\r\nimport {CuteButtonToolbar} from \"./button-toolbar.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteButton,\r\n CuteButtonGroup,\r\n CuteButtonToolbar,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CuteButtonModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["uniqueIdCounter"],"mappings":"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"}
@@ -23,10 +23,10 @@ import { CommonModule } from '@angular/common';
23
23
  * `CuteCardHeader` provides no behaviors, instead serving as a purely visual treatment.
24
24
  */
25
25
  class CuteCardHeader {
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardHeader, isStandalone: true, selector: "cute-card-header", host: { classAttribute: "cute-card-header card-header" }, ngImport: i0 }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardHeader, isStandalone: true, selector: "cute-card-header", host: { classAttribute: "cute-card-header card-header" }, ngImport: i0 }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardHeader, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardHeader, decorators: [{
30
30
  type: Directive,
31
31
  args: [{
32
32
  selector: 'cute-card-header',
@@ -54,10 +54,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
54
54
  * CuteCardFooter provides no behaviors, instead serving as a purely visual treatment.
55
55
  */
56
56
  class CuteCardFooter {
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardFooter, isStandalone: true, selector: "cute-card-footer", host: { classAttribute: "cute-card-footer card-footer text-body-secondary" }, ngImport: i0 }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardFooter, isStandalone: true, selector: "cute-card-footer", host: { classAttribute: "cute-card-footer card-footer text-body-secondary" }, ngImport: i0 }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardFooter, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardFooter, decorators: [{
61
61
  type: Directive,
62
62
  args: [{
63
63
  selector: 'cute-card-footer',
@@ -99,17 +99,17 @@ class CuteCard extends CuteLayoutControl {
99
99
  super();
100
100
  this._sanitizer = inject(DomSanitizer);
101
101
  /** `CuteCardHeader` element if it was defined in the `CuteCard` template. */
102
- this._header = contentChild(CuteCardHeader, ...(ngDevMode ? [{ debugName: "_header", descendants: false }] : [{ descendants: false }]));
102
+ this._header = contentChild(CuteCardHeader, { ...(ngDevMode ? { debugName: "_header" } : {}), descendants: false });
103
103
  /** `CuteCardFooter` element if it was defined in the `CuteCard` template. */
104
- this._footer = contentChild(CuteCardFooter, ...(ngDevMode ? [{ debugName: "_footer", descendants: false }] : [{ descendants: false }]));
104
+ this._footer = contentChild(CuteCardFooter, { ...(ngDevMode ? { debugName: "_footer" } : {}), descendants: false });
105
105
  }
106
106
  generateId() {
107
107
  return `cute-card-${++nextId}`;
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.15", type: CuteCard, isStandalone: true, selector: "cute-card", inputs: { backgroundImage: "backgroundImage" }, host: { properties: { "class.cute-card-with-background-image": "backgroundImage", "attr.backgroundImage": "null" }, classAttribute: "cute-card card" }, queries: [{ propertyName: "_header", first: true, predicate: CuteCardHeader, isSignal: true }, { propertyName: "_footer", first: true, predicate: CuteCardFooter, isSignal: true }], exportAs: ["cuteCard"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"[cute-card-top-image]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"[cute-card-bottom-image]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n", styles: [".cute-card{--cute-card-image-height: auto;padding:0;overflow:hidden;background-repeat:no-repeat;background-position:center center;background-size:cover}.cute-card .cute-card-image{height:var(--cute-card-image-height);object-fit:cover}.cute-card .cute-card-image.img-fluid{height:auto}.cute-card.cute-thematic-widget .list-group-item{opacity:.65}.cute-card.cute-card-with-background-image,.cute-card .card-img-overlay{background-color:transparent!important}.cute-card.cute-card-with-background-image .list-group,.cute-card .card-img-overlay .list-group{--bs-bg-opacity: .25}.cute-card.cute-card-with-background-image .list-group-item,.cute-card .card-img-overlay .list-group-item{opacity:.65}.cute-card .cute-card-avatar{border-radius:50%}.cute-card .cute-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;width:100%;min-height:52px;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.cute-card .cute-card-footer{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: CuteCard, isStandalone: true, selector: "cute-card", inputs: { backgroundImage: "backgroundImage" }, host: { properties: { "class.cute-card-with-background-image": "backgroundImage", "attr.backgroundImage": "null" }, classAttribute: "cute-card card" }, queries: [{ propertyName: "_header", first: true, predicate: CuteCardHeader, isSignal: true }, { propertyName: "_footer", first: true, predicate: CuteCardFooter, isSignal: true }], exportAs: ["cuteCard"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"[cute-card-top-image]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"[cute-card-bottom-image]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n", styles: [".cute-card{--cute-card-image-height: auto;padding:0;overflow:hidden;background-repeat:no-repeat;background-position:center center;background-size:cover}.cute-card .cute-card-image{height:var(--cute-card-image-height);object-fit:cover}.cute-card .cute-card-image.img-fluid{height:auto}.cute-card.cute-thematic-widget .list-group-item{opacity:.65}.cute-card.cute-card-with-background-image,.cute-card .card-img-overlay{background-color:transparent!important}.cute-card.cute-card-with-background-image .list-group,.cute-card .card-img-overlay .list-group{--bs-bg-opacity: .25}.cute-card.cute-card-with-background-image .list-group-item,.cute-card .card-img-overlay .list-group-item{opacity:.65}.cute-card .cute-card-avatar{border-radius:50%}.cute-card .cute-card-actions{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;width:100%;min-height:52px;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x)}.cute-card .cute-card-footer{display:flex;flex-direction:row;align-items:center;box-sizing:border-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCard, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCard, decorators: [{
113
113
  type: Component,
114
114
  args: [{ selector: 'cute-card', exportAs: 'cuteCard', host: {
115
115
  'class': 'cute-card card',
@@ -141,10 +141,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
141
141
  * CuteCardAvatar provides no behaviors, instead serving as a purely visual treatment.
142
142
  */
143
143
  class CuteCardAvatar {
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardAvatar, isStandalone: true, selector: "[cute-card-avatar], [cuteCardAvatar]", host: { classAttribute: "cute-card-avatar card-avatar shadow" }, ngImport: i0 }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardAvatar, isStandalone: true, selector: "[cute-card-avatar], [cuteCardAvatar]", host: { classAttribute: "cute-card-avatar card-avatar shadow" }, ngImport: i0 }); }
146
146
  }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardAvatar, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardAvatar, decorators: [{
148
148
  type: Directive,
149
149
  args: [{
150
150
  selector: '[cute-card-avatar], [cuteCardAvatar]',
@@ -210,10 +210,10 @@ class CuteCardImage {
210
210
  }
211
211
  this.card.markForCheck();
212
212
  }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
214
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardImage, isStandalone: true, selector: "[cute-card-image], [cute-card-top-image], [cute-card-bottom-image], [cute-card-fluid-image]", inputs: { height: "height" }, host: { properties: { "class": "'card-img'+(_position=='top'||_position=='bottom' ? '-'+_position : '')", "class.img-fluid": "_position==\"fluid\"", "attr.height": "height", "style.border-radius": "_position=='top' && card?._header() ? 0 : (_position=='bottom' && card?._footer() ? 0 : undefined)", "style.--cute-card-image-height": "height>=0 ? height+\"px\" : undefined" }, classAttribute: "cute-card-image" }, ngImport: i0 }); }
213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
214
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardImage, isStandalone: true, selector: "[cute-card-image], [cute-card-top-image], [cute-card-bottom-image], [cute-card-fluid-image]", inputs: { height: "height" }, host: { properties: { "class": "'card-img'+(_position=='top'||_position=='bottom' ? '-'+_position : '')", "class.img-fluid": "_position==\"fluid\"", "attr.height": "height", "style.border-radius": "_position=='top' && card?._header() ? 0 : (_position=='bottom' && card?._footer() ? 0 : undefined)", "style.--cute-card-image-height": "height!=null && height>=0 ? height+\"px\" : undefined" }, classAttribute: "cute-card-image" }, ngImport: i0 }); }
215
215
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardImage, decorators: [{
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardImage, decorators: [{
217
217
  type: Directive,
218
218
  args: [{
219
219
  selector: '[cute-card-image], [cute-card-top-image], [cute-card-bottom-image], [cute-card-fluid-image]',
@@ -223,7 +223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
223
223
  '[class.img-fluid]': '_position=="fluid"',
224
224
  '[attr.height]': 'height',
225
225
  '[style.border-radius]': "_position=='top' && card?._header() ? 0 : (_position=='bottom' && card?._footer() ? 0 : undefined)",
226
- '[style.--cute-card-image-height]': 'height>=0 ? height+"px" : undefined'
226
+ '[style.--cute-card-image-height]': 'height!=null && height>=0 ? height+"px" : undefined'
227
227
  },
228
228
  standalone: true,
229
229
  }]
@@ -250,10 +250,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
250
250
  * CuteCardContent provides no behaviors, instead serving as a purely visual treatment.
251
251
  */
252
252
  class CuteCardBody {
253
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
254
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardBody, isStandalone: true, selector: "cute-card-body, cute-card-content", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-body card-body" }, exportAs: ["cuteCardBody"], ngImport: i0, template: "<div class=\"cute-card-title__wrapper\">\r\n <ng-content select=\"cute-card-title, cute-card-subtitle,\r\n [cute-card-title], [cute-card-subtitle],\r\n [cuteCardTitle], [cuteCardSubtitle]\">\r\n </ng-content>\r\n</div>\r\n<div class=\"card-text\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-card-body{display:flex;flex-direction:column;position:relative;gap:.5rem}.cute-card-body .cute-card-title__wrapper:empty{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
253
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
254
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardBody, isStandalone: true, selector: "cute-card-body, cute-card-content", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-body card-body" }, exportAs: ["cuteCardBody"], ngImport: i0, template: "<div class=\"cute-card-title__wrapper\">\r\n <ng-content select=\"cute-card-title, cute-card-subtitle,\r\n [cute-card-title], [cute-card-subtitle],\r\n [cuteCardTitle], [cuteCardSubtitle]\">\r\n </ng-content>\r\n</div>\r\n<div class=\"card-text\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-card-body{display:flex;flex-direction:column;position:relative;gap:.5rem}.cute-card-body .cute-card-title__wrapper:empty{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
255
  }
256
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardBody, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardBody, decorators: [{
257
257
  type: Component,
258
258
  args: [{ selector: 'cute-card-body, cute-card-content', exportAs: 'cuteCardBody', host: {
259
259
  'class': 'cute-card-body card-body',
@@ -286,10 +286,10 @@ class CuteCardActions {
286
286
  /** Position of the actions inside the card. */
287
287
  this.align = "start";
288
288
  }
289
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
290
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardActions, isStandalone: true, selector: "cute-card-actions, [cute-card-actions], [cuteCardActions]", inputs: { align: "align" }, host: { properties: { "class": "'justify-content-'+align" }, classAttribute: "cute-card-actions card-actions" }, exportAs: ["cuteCardActions"], ngImport: i0 }); }
289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
290
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardActions, isStandalone: true, selector: "cute-card-actions, [cute-card-actions], [cuteCardActions]", inputs: { align: "align" }, host: { properties: { "class": "'justify-content-'+align" }, classAttribute: "cute-card-actions card-actions" }, exportAs: ["cuteCardActions"], ngImport: i0 }); }
291
291
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardActions, decorators: [{
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardActions, decorators: [{
293
293
  type: Directive,
294
294
  args: [{
295
295
  selector: 'cute-card-actions, [cute-card-actions], [cuteCardActions]',
@@ -319,10 +319,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
319
319
  class CuteCardGroup /* extends ... */ {
320
320
  constructor() {
321
321
  }
322
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardGroup /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardGroup /* extends ... */, isStandalone: true, selector: "cute-card-group", host: { classAttribute: "cute-card-group card-group" }, exportAs: ["cuteCardGroup"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
322
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardGroup /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
323
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardGroup /* extends ... */, isStandalone: true, selector: "cute-card-group", host: { classAttribute: "cute-card-group card-group" }, exportAs: ["cuteCardGroup"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
324
324
  }
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardGroup /* extends ... */, decorators: [{
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardGroup /* extends ... */, decorators: [{
326
326
  type: Component,
327
327
  args: [{ selector: 'cute-card-group', exportAs: 'cuteCardGroup', template: '<ng-content></ng-content>', host: {
328
328
  'class': 'cute-card-group card-group'
@@ -347,10 +347,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
347
347
  * CuteCardTitle provides no behaviors, instead serving as a purely visual treatment.
348
348
  */
349
349
  class CuteCardTitle {
350
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
351
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardTitle, isStandalone: true, selector: "cute-card-title, [cute-card-title], [cuteCardTitle]", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-title card-title" }, ngImport: i0 }); }
350
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
351
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardTitle, isStandalone: true, selector: "cute-card-title, [cute-card-title], [cuteCardTitle]", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-title card-title" }, ngImport: i0 }); }
352
352
  }
353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardTitle, decorators: [{
353
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardTitle, decorators: [{
354
354
  type: Directive,
355
355
  args: [{
356
356
  selector: `cute-card-title, [cute-card-title], [cuteCardTitle]`,
@@ -387,10 +387,10 @@ class CuteCardSubtitle {
387
387
  /** Subtitle text color */
388
388
  this.color = "secondary";
389
389
  }
390
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardSubtitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
391
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardSubtitle, isStandalone: true, selector: "cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-subtitle card-subtitle" }, ngImport: i0 }); }
390
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardSubtitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
391
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardSubtitle, isStandalone: true, selector: "cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]", inputs: { color: "color" }, host: { properties: { "class": "color ? \"text-\"+color : \"\"" }, classAttribute: "cute-card-subtitle card-subtitle" }, ngImport: i0 }); }
392
392
  }
393
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardSubtitle, decorators: [{
393
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardSubtitle, decorators: [{
394
394
  type: Directive,
395
395
  args: [{
396
396
  selector: `cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]`,
@@ -418,10 +418,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
418
418
  class CuteCardOverlay /* extends ... */ {
419
419
  constructor() {
420
420
  }
421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardOverlay /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
422
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardOverlay /* extends ... */, isStandalone: true, selector: "cute-card-overlay", host: { classAttribute: "card-img-overlay d-flex flex-column" }, exportAs: ["cuteCardOverlay"], ngImport: i0 }); }
421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardOverlay /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
422
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: CuteCardOverlay /* extends ... */, isStandalone: true, selector: "cute-card-overlay", host: { classAttribute: "card-img-overlay d-flex flex-column" }, exportAs: ["cuteCardOverlay"], ngImport: i0 }); }
423
423
  }
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardOverlay /* extends ... */, decorators: [{
424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardOverlay /* extends ... */, decorators: [{
425
425
  type: Directive,
426
426
  args: [{
427
427
  selector: 'cute-card-overlay',
@@ -447,8 +447,8 @@ const TYPES = [
447
447
  CuteCardGroup,
448
448
  ];
449
449
  class CuteCardModule {
450
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
451
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, imports: [CommonModule, CuteCard,
450
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
451
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: CuteCardModule, imports: [CommonModule, CuteCard,
452
452
  CuteCardTitle,
453
453
  CuteCardSubtitle,
454
454
  CuteCardFooter,
@@ -469,9 +469,9 @@ class CuteCardModule {
469
469
  CuteCardImage,
470
470
  CuteCardAvatar,
471
471
  CuteCardGroup] }); }
472
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, imports: [CommonModule] }); }
472
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardModule, imports: [CommonModule] }); }
473
473
  }
474
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, decorators: [{
474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: CuteCardModule, decorators: [{
475
475
  type: NgModule,
476
476
  args: [{
477
477
  imports: [CommonModule, ...TYPES],
@@ -1 +1 @@
1
- {"version":3,"file":"cute-widgets-base-card.mjs","sources":["../../../../projects/cute-widgets/base/card/src/card-header.directive.ts","../../../../projects/cute-widgets/base/card/src/card-footer.directive.ts","../../../../projects/cute-widgets/base/card/src/card.component.ts","../../../../projects/cute-widgets/base/card/src/card.component.html","../../../../projects/cute-widgets/base/card/src/card-avatar.directive.ts","../../../../projects/cute-widgets/base/card/src/card-image.directive.ts","../../../../projects/cute-widgets/base/card/src/card-body.component.ts","../../../../projects/cute-widgets/base/card/src/card-body.component.html","../../../../projects/cute-widgets/base/card/src/card-actions.directive.ts","../../../../projects/cute-widgets/base/card/src/card-group.component.ts","../../../../projects/cute-widgets/base/card/src/card-title.directive.ts","../../../../projects/cute-widgets/base/card/src/card-subtitle.directive.ts","../../../../projects/cute-widgets/base/card/src/card-overlay.directive.ts","../../../../projects/cute-widgets/base/card/src/card.module.ts","../../../../projects/cute-widgets/base/card/cute-widgets-base-card.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Header region of a card, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as `<cute-card-footer>`;\r\n * any custom header block element may be used in its place.\r\n *\r\n * `CuteCardHeader` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-header',\r\n host: {'class': 'cute-card-header card-header'},\r\n standalone: true\r\n})\r\nexport class CuteCardHeader {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Footer area a card, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-content>`; any custom footer block element may be used in its place.\r\n *\r\n * CuteCardFooter provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-footer',\r\n host: {'class': 'cute-card-footer card-footer text-body-secondary'},\r\n standalone: true\r\n})\r\nexport class CuteCardFooter {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component, contentChild,\r\n ContentChild,\r\n inject,\r\n Input,\r\n SecurityContext,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CuteCardHeader} from \"./card-header.directive\";\r\nimport {CuteCardFooter} from \"./card-footer.directive\";\r\nimport {CuteLayoutControl} from \"@cute-widgets/base/abstract\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\nlet nextId: number = -1;\r\n\r\n/**\r\n * A flexible and extensible content container with multiple variants and options.\r\n */\r\n@Component({\r\n selector: 'cute-card',\r\n templateUrl: './card.component.html',\r\n styleUrl: './card.component.scss',\r\n exportAs: 'cuteCard',\r\n host: {\r\n 'class': 'cute-card card',\r\n '[class.cute-card-with-background-image]': 'backgroundImage',\r\n '[attr.backgroundImage]': 'null',\r\n },\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteCard extends CuteLayoutControl {\r\n private _sanitizer = inject(DomSanitizer);\r\n\r\n @Input()\r\n get backgroundImage(): string | undefined {return this._backgroundImage;}\r\n set backgroundImage(value: string | undefined) {\r\n if (value) {\r\n this._backgroundImage = this._sanitizer.sanitize(SecurityContext.URL, value) ?? undefined;\r\n if (this._backgroundImage) {\r\n this._nativeElement.style.backgroundImage = `url('${this._backgroundImage.trim()}')`;\r\n }\r\n } else {\r\n this._nativeElement.style.backgroundImage = \"none\";\r\n this._backgroundImage = undefined;\r\n }\r\n }\r\n private _backgroundImage: string | undefined;\r\n\r\n /** `CuteCardHeader` element if it was defined in the `CuteCard` template. */\r\n readonly _header = contentChild(CuteCardHeader, {descendants: false});\r\n\r\n /** `CuteCardFooter` element if it was defined in the `CuteCard` template. */\r\n readonly _footer = contentChild(CuteCardFooter, {descendants: false});\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-card-${++nextId}`;\r\n }\r\n\r\n}\r\n","<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"[cute-card-top-image]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"[cute-card-bottom-image]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Avatar image content for a card, intended for use within `<cute-card>`. Can be applied to\r\n * any media element, such as `<img>` or `<picture>`.\r\n *\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-title>`; any custom media element may be used in its place.\r\n *\r\n * CuteCardAvatar provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: '[cute-card-avatar], [cuteCardAvatar]',\r\n host: {'class': 'cute-card-avatar card-avatar shadow'},\r\n standalone: true,\r\n})\r\nexport class CuteCardAvatar {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {ChangeDetectorRef, Directive, HostAttributeToken, inject, input, Input, isDevMode} from \"@angular/core\";\r\nimport {CuteCard} from \"./card.component\";\r\n\r\nexport type CuteCardImagePosition = \"top\"|\"bottom\"|\"fluid\";\r\n\r\n/**\r\n * Primary image content for a card, intended for use within `<cute-card>`. Can be applied to\r\n * any media element, such as `<img>` or `<picture>`.\r\n *\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-body>`; any custom media element may be used in its place.\r\n *\r\n * `CuteCardImage` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: '[cute-card-image], [cute-card-top-image], [cute-card-bottom-image], [cute-card-fluid-image]',\r\n host: {\r\n 'class': 'cute-card-image',\r\n '[class]': \"'card-img'+(_position=='top'||_position=='bottom' ? '-'+_position : '')\",\r\n '[class.img-fluid]': '_position==\"fluid\"',\r\n '[attr.height]': 'height',\r\n '[style.border-radius]': \"_position=='top' && card?._header() ? 0 : (_position=='bottom' && card?._footer() ? 0 : undefined)\",\r\n '[style.--cute-card-image-height]': 'height>=0 ? height+\"px\" : undefined'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardImage {\r\n protected card= inject(CuteCard);\r\n\r\n /** Image position in the card layout */\r\n protected readonly _position: CuteCardImagePosition = \"top\";\r\n\r\n /** The intrinsic height of the image, in pixels. */\r\n @Input()\r\n get height(): number|undefined {return this._height;}\r\n set height(value: number|string|undefined) {\r\n if (typeof value===\"string\") {\r\n value = parseInt(value);\r\n if (isNaN(value)) value = undefined;\r\n }\r\n this._height = value;\r\n }\r\n private _height: number | undefined;\r\n\r\n constructor() {\r\n let attribs: (string|null)[] = [];\r\n attribs[0] = inject(new HostAttributeToken(\"cute-card-top-image\"), {optional: true});\r\n attribs[1] = inject(new HostAttributeToken(\"cute-card-bottom-image\"), {optional: true});\r\n attribs[2] = inject(new HostAttributeToken(\"cute-card-fluid-image\"), {optional: true});\r\n\r\n if (attribs.filter(v => v != null).length > 1 && isDevMode()) {\r\n throw new Error(\"Only one attribute with name 'cute-card-*-image' should be applied.\")\r\n }\r\n\r\n // We take into account the first value only\r\n const attrInd = attribs.findIndex(v => v != null);\r\n switch (attrInd) {\r\n case 0: this._position = \"top\"; break;\r\n case 1: this._position = \"bottom\"; break;\r\n case 2: this._position = \"fluid\"; break;\r\n }\r\n this.card.markForCheck();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Content of a card, intended for use within `<cute-card>`. This component is an optional\r\n * convenience for use with other convenience elements, such as `<cute-card-title>`; any custom\r\n * content block element may be used in its place.\r\n *\r\n * CuteCardContent provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Component({\r\n selector: 'cute-card-body, cute-card-content',\r\n templateUrl: './card-body.component.html',\r\n styleUrls: ['./card-body.component.scss'],\r\n exportAs: 'cuteCardBody',\r\n host: {\r\n 'class': 'cute-card-body card-body',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteCardBody {\r\n /** Card body text color */\r\n @Input() color: ThemeColor | undefined;\r\n}\r\n","<div class=\"cute-card-title__wrapper\">\r\n <ng-content select=\"cute-card-title, cute-card-subtitle,\r\n [cute-card-title], [cute-card-subtitle],\r\n [cuteCardTitle], [cuteCardSubtitle]\">\r\n </ng-content>\r\n</div>\r\n<div class=\"card-text\">\r\n <ng-content></ng-content>\r\n</div>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ContentAlignment} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Bottom area of a card that contains action buttons, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-content>`; any custom action block element may be used in its place.\r\n *\r\n * `CuteCardActions` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-actions, [cute-card-actions], [cuteCardActions]',\r\n exportAs: 'cuteCardActions',\r\n host: {\r\n 'class': 'cute-card-actions card-actions',\r\n '[class]': \"'justify-content-'+align\",\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardActions {\r\n /** Position of the actions inside the card. */\r\n @Input() align: ContentAlignment = \"start\";\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Component} from \"@angular/core\";\r\n\r\n/**\r\n * Use _card groups_ to render cards as a single, attached element with equal width and height columns.\r\n * When using card groups with footers, their content will automatically line up.\r\n */\r\n@Component({\r\n selector: 'cute-card-group',\r\n exportAs: 'cuteCardGroup',\r\n template: '<ng-content></ng-content>',\r\n styles: [`\r\n :host { display: block; }\r\n `],\r\n host: {\r\n 'class': 'cute-card-group card-group'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardGroup /* extends ... */ {\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Title of a card, intended for use within `<cute-card-body>`. This component is an optional\r\n * convenience for one variety of card titles; any custom title element may be used in its place.\r\n *\r\n * CuteCardTitle provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: `cute-card-title, [cute-card-title], [cuteCardTitle]`,\r\n host: {\r\n 'class': 'cute-card-title card-title',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true\r\n})\r\nexport class CuteCardTitle {\r\n /** Title text color */\r\n @Input() color: ThemeColor | undefined;\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Subtitle of a card, intended for use within `<cute-card-body>` beneath a `<cute-card-title>`. This\r\n * component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-title>`.\r\n *\r\n * CuteCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: `cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]`,\r\n host: {\r\n 'class': 'cute-card-subtitle card-subtitle',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true\r\n})\r\nexport class CuteCardSubtitle {\r\n /** Subtitle text color */\r\n @Input() color: ThemeColor = \"secondary\";\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Turn an image into a card background and overlay the card’s text.\r\n */\r\n@Directive({\r\n selector: 'cute-card-overlay',\r\n exportAs: 'cuteCardOverlay',\r\n host: {\r\n 'class': 'card-img-overlay d-flex flex-column'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardOverlay /* extends ... */ {\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {NgModule, Type} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CuteCard} from \"./card.component\";\r\nimport {CuteCardTitle} from \"./card-title.directive\";\r\nimport {CuteCardSubtitle} from \"./card-subtitle.directive\";\r\nimport {CuteCardFooter} from \"./card-footer.directive\";\r\nimport {CuteCardHeader} from \"./card-header.directive\";\r\nimport {CuteCardActions} from \"./card-actions.directive\";\r\nimport {CuteCardBody} from \"./card-body.component\";\r\nimport {CuteCardImage} from \"./card-image.directive\";\r\nimport {CuteCardAvatar} from \"./card-avatar.directive\";\r\nimport {CuteCardGroup} from \"./card-group.component\";\r\nimport {CuteCardOverlay} from \"./card-overlay.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteCard,\r\n CuteCardTitle,\r\n CuteCardSubtitle,\r\n CuteCardFooter,\r\n CuteCardHeader,\r\n CuteCardActions,\r\n CuteCardBody,\r\n CuteCardOverlay,\r\n CuteCardImage,\r\n CuteCardAvatar,\r\n CuteCardGroup,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: [TYPES],\r\n declarations: [],\r\n})\r\nexport class CuteCardModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cute-widgets-base-card.mjs","sources":["../../../../projects/cute-widgets/base/card/src/card-header.directive.ts","../../../../projects/cute-widgets/base/card/src/card-footer.directive.ts","../../../../projects/cute-widgets/base/card/src/card.component.ts","../../../../projects/cute-widgets/base/card/src/card.component.html","../../../../projects/cute-widgets/base/card/src/card-avatar.directive.ts","../../../../projects/cute-widgets/base/card/src/card-image.directive.ts","../../../../projects/cute-widgets/base/card/src/card-body.component.ts","../../../../projects/cute-widgets/base/card/src/card-body.component.html","../../../../projects/cute-widgets/base/card/src/card-actions.directive.ts","../../../../projects/cute-widgets/base/card/src/card-group.component.ts","../../../../projects/cute-widgets/base/card/src/card-title.directive.ts","../../../../projects/cute-widgets/base/card/src/card-subtitle.directive.ts","../../../../projects/cute-widgets/base/card/src/card-overlay.directive.ts","../../../../projects/cute-widgets/base/card/src/card.module.ts","../../../../projects/cute-widgets/base/card/cute-widgets-base-card.ts"],"sourcesContent":["/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Header region of a card, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as `<cute-card-footer>`;\r\n * any custom header block element may be used in its place.\r\n *\r\n * `CuteCardHeader` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-header',\r\n host: {'class': 'cute-card-header card-header'},\r\n standalone: true\r\n})\r\nexport class CuteCardHeader {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Footer area a card, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-content>`; any custom footer block element may be used in its place.\r\n *\r\n * CuteCardFooter provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-footer',\r\n host: {'class': 'cute-card-footer card-footer text-body-secondary'},\r\n standalone: true\r\n})\r\nexport class CuteCardFooter {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component, contentChild,\r\n ContentChild,\r\n inject,\r\n Input,\r\n SecurityContext,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CuteCardHeader} from \"./card-header.directive\";\r\nimport {CuteCardFooter} from \"./card-footer.directive\";\r\nimport {CuteLayoutControl} from \"@cute-widgets/base/abstract\";\r\nimport {DomSanitizer} from \"@angular/platform-browser\";\r\n\r\nlet nextId: number = -1;\r\n\r\n/**\r\n * A flexible and extensible content container with multiple variants and options.\r\n */\r\n@Component({\r\n selector: 'cute-card',\r\n templateUrl: './card.component.html',\r\n styleUrl: './card.component.scss',\r\n exportAs: 'cuteCard',\r\n host: {\r\n 'class': 'cute-card card',\r\n '[class.cute-card-with-background-image]': 'backgroundImage',\r\n '[attr.backgroundImage]': 'null',\r\n },\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteCard extends CuteLayoutControl {\r\n private _sanitizer = inject(DomSanitizer);\r\n\r\n @Input()\r\n get backgroundImage(): string | undefined {return this._backgroundImage;}\r\n set backgroundImage(value: string | undefined) {\r\n if (value) {\r\n this._backgroundImage = this._sanitizer.sanitize(SecurityContext.URL, value) ?? undefined;\r\n if (this._backgroundImage) {\r\n this._nativeElement.style.backgroundImage = `url('${this._backgroundImage.trim()}')`;\r\n }\r\n } else {\r\n this._nativeElement.style.backgroundImage = \"none\";\r\n this._backgroundImage = undefined;\r\n }\r\n }\r\n private _backgroundImage: string | undefined;\r\n\r\n /** `CuteCardHeader` element if it was defined in the `CuteCard` template. */\r\n readonly _header = contentChild(CuteCardHeader, {descendants: false});\r\n\r\n /** `CuteCardFooter` element if it was defined in the `CuteCard` template. */\r\n readonly _footer = contentChild(CuteCardFooter, {descendants: false});\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected override generateId(): string {\r\n return `cute-card-${++nextId}`;\r\n }\r\n\r\n}\r\n","<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"[cute-card-top-image]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"[cute-card-bottom-image]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Avatar image content for a card, intended for use within `<cute-card>`. Can be applied to\r\n * any media element, such as `<img>` or `<picture>`.\r\n *\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-title>`; any custom media element may be used in its place.\r\n *\r\n * CuteCardAvatar provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: '[cute-card-avatar], [cuteCardAvatar]',\r\n host: {'class': 'cute-card-avatar card-avatar shadow'},\r\n standalone: true,\r\n})\r\nexport class CuteCardAvatar {}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, HostAttributeToken, inject, Input, isDevMode} from \"@angular/core\";\r\nimport {CuteCard} from \"./card.component\";\r\n\r\nexport type CuteCardImagePosition = \"top\"|\"bottom\"|\"fluid\";\r\n\r\n/**\r\n * Primary image content for a card, intended for use within `<cute-card>`. Can be applied to\r\n * any media element, such as `<img>` or `<picture>`.\r\n *\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-body>`; any custom media element may be used in its place.\r\n *\r\n * `CuteCardImage` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: '[cute-card-image], [cute-card-top-image], [cute-card-bottom-image], [cute-card-fluid-image]',\r\n host: {\r\n 'class': 'cute-card-image',\r\n '[class]': \"'card-img'+(_position=='top'||_position=='bottom' ? '-'+_position : '')\",\r\n '[class.img-fluid]': '_position==\"fluid\"',\r\n '[attr.height]': 'height',\r\n '[style.border-radius]': \"_position=='top' && card?._header() ? 0 : (_position=='bottom' && card?._footer() ? 0 : undefined)\",\r\n '[style.--cute-card-image-height]': 'height!=null && height>=0 ? height+\"px\" : undefined'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardImage {\r\n protected card= inject(CuteCard);\r\n\r\n /** Image position in the card layout */\r\n protected readonly _position: CuteCardImagePosition = \"top\";\r\n\r\n /** The intrinsic height of the image, in pixels. */\r\n @Input()\r\n get height(): number|undefined {return this._height;}\r\n set height(value: number|string|undefined) {\r\n if (typeof value===\"string\") {\r\n value = parseInt(value);\r\n if (isNaN(value)) value = undefined;\r\n }\r\n this._height = value;\r\n }\r\n private _height: number | undefined;\r\n\r\n constructor() {\r\n let attribs: (string|null)[] = [];\r\n attribs[0] = inject(new HostAttributeToken(\"cute-card-top-image\"), {optional: true});\r\n attribs[1] = inject(new HostAttributeToken(\"cute-card-bottom-image\"), {optional: true});\r\n attribs[2] = inject(new HostAttributeToken(\"cute-card-fluid-image\"), {optional: true});\r\n\r\n if (attribs.filter(v => v != null).length > 1 && isDevMode()) {\r\n throw new Error(\"Only one attribute with name 'cute-card-*-image' should be applied.\")\r\n }\r\n\r\n // We take into account the first value only\r\n const attrInd = attribs.findIndex(v => v != null);\r\n switch (attrInd) {\r\n case 0: this._position = \"top\"; break;\r\n case 1: this._position = \"bottom\"; break;\r\n case 2: this._position = \"fluid\"; break;\r\n }\r\n this.card.markForCheck();\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Content of a card, intended for use within `<cute-card>`. This component is an optional\r\n * convenience for use with other convenience elements, such as `<cute-card-title>`; any custom\r\n * content block element may be used in its place.\r\n *\r\n * CuteCardContent provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Component({\r\n selector: 'cute-card-body, cute-card-content',\r\n templateUrl: './card-body.component.html',\r\n styleUrls: ['./card-body.component.scss'],\r\n exportAs: 'cuteCardBody',\r\n host: {\r\n 'class': 'cute-card-body card-body',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteCardBody {\r\n /** Card body text color */\r\n @Input() color: ThemeColor | undefined;\r\n}\r\n","<div class=\"cute-card-title__wrapper\">\r\n <ng-content select=\"cute-card-title, cute-card-subtitle,\r\n [cute-card-title], [cute-card-subtitle],\r\n [cuteCardTitle], [cuteCardSubtitle]\">\r\n </ng-content>\r\n</div>\r\n<div class=\"card-text\">\r\n <ng-content></ng-content>\r\n</div>\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ContentAlignment} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Bottom area of a card that contains action buttons, intended for use within `<cute-card>`.\r\n * This component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-content>`; any custom action block element may be used in its place.\r\n *\r\n * `CuteCardActions` provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: 'cute-card-actions, [cute-card-actions], [cuteCardActions]',\r\n exportAs: 'cuteCardActions',\r\n host: {\r\n 'class': 'cute-card-actions card-actions',\r\n '[class]': \"'justify-content-'+align\",\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardActions {\r\n /** Position of the actions inside the card. */\r\n @Input() align: ContentAlignment = \"start\";\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Component} from \"@angular/core\";\r\n\r\n/**\r\n * Use _card groups_ to render cards as a single, attached element with equal width and height columns.\r\n * When using card groups with footers, their content will automatically line up.\r\n */\r\n@Component({\r\n selector: 'cute-card-group',\r\n exportAs: 'cuteCardGroup',\r\n template: '<ng-content></ng-content>',\r\n styles: [`\r\n :host { display: block; }\r\n `],\r\n host: {\r\n 'class': 'cute-card-group card-group'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardGroup /* extends ... */ {\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Title of a card, intended for use within `<cute-card-body>`. This component is an optional\r\n * convenience for one variety of card titles; any custom title element may be used in its place.\r\n *\r\n * CuteCardTitle provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: `cute-card-title, [cute-card-title], [cuteCardTitle]`,\r\n host: {\r\n 'class': 'cute-card-title card-title',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true\r\n})\r\nexport class CuteCardTitle {\r\n /** Title text color */\r\n @Input() color: ThemeColor | undefined;\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * This code is a modification of the `@angular/material` original\r\n * code licensed under MIT-style License (https://angular.dev/license).\r\n */\r\nimport {Directive, Input} from \"@angular/core\";\r\nimport {ThemeColor} from \"@cute-widgets/base/core\";\r\n\r\n/**\r\n * Subtitle of a card, intended for use within `<cute-card-body>` beneath a `<cute-card-title>`. This\r\n * component is an optional convenience for use with other convenience elements, such as\r\n * `<cute-card-title>`.\r\n *\r\n * CuteCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\r\n */\r\n@Directive({\r\n selector: `cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]`,\r\n host: {\r\n 'class': 'cute-card-subtitle card-subtitle',\r\n '[class]': 'color ? \"text-\"+color : \"\"',\r\n },\r\n standalone: true\r\n})\r\nexport class CuteCardSubtitle {\r\n /** Subtitle text color */\r\n @Input() color: ThemeColor = \"secondary\";\r\n}\r\n","/**\r\n * @license Apache-2.0\r\n *\r\n * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.\r\n *\r\n * You may not use this file except in compliance with the License\r\n * that can be found at http://www.apache.org/licenses/LICENSE-2.0\r\n */\r\nimport {Directive} from \"@angular/core\";\r\n\r\n/**\r\n * Turn an image into a card background and overlay the card’s text.\r\n */\r\n@Directive({\r\n selector: 'cute-card-overlay',\r\n exportAs: 'cuteCardOverlay',\r\n host: {\r\n 'class': 'card-img-overlay d-flex flex-column'\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteCardOverlay /* extends ... */ {\r\n\r\n constructor() {\r\n }\r\n\r\n}\r\n","import {NgModule, Type} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CuteCard} from \"./card.component\";\r\nimport {CuteCardTitle} from \"./card-title.directive\";\r\nimport {CuteCardSubtitle} from \"./card-subtitle.directive\";\r\nimport {CuteCardFooter} from \"./card-footer.directive\";\r\nimport {CuteCardHeader} from \"./card-header.directive\";\r\nimport {CuteCardActions} from \"./card-actions.directive\";\r\nimport {CuteCardBody} from \"./card-body.component\";\r\nimport {CuteCardImage} from \"./card-image.directive\";\r\nimport {CuteCardAvatar} from \"./card-avatar.directive\";\r\nimport {CuteCardGroup} from \"./card-group.component\";\r\nimport {CuteCardOverlay} from \"./card-overlay.directive\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteCard,\r\n CuteCardTitle,\r\n CuteCardSubtitle,\r\n CuteCardFooter,\r\n CuteCardHeader,\r\n CuteCardActions,\r\n CuteCardBody,\r\n CuteCardOverlay,\r\n CuteCardImage,\r\n CuteCardAvatar,\r\n CuteCardGroup,\r\n];\r\n\r\n@NgModule({\r\n imports: [CommonModule, ...TYPES],\r\n exports: [TYPES],\r\n declarations: [],\r\n})\r\nexport class CuteCardModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}