@cute-widgets/base 20.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE.md +191 -0
  3. package/README.md +190 -0
  4. package/abstract/index.d.ts +327 -0
  5. package/alert/index.d.ts +68 -0
  6. package/autocomplete/index.d.ts +442 -0
  7. package/badge/index.d.ts +26 -0
  8. package/bottom-sheet/index.d.ts +231 -0
  9. package/button/index.d.ts +182 -0
  10. package/button-toggle/index.d.ts +225 -0
  11. package/card/index.d.ts +163 -0
  12. package/checkbox/index.d.ts +174 -0
  13. package/chips/index.d.ts +963 -0
  14. package/collapse/index.d.ts +97 -0
  15. package/core/animation/index.d.ts +43 -0
  16. package/core/datetime/index.d.ts +404 -0
  17. package/core/directives/index.d.ts +168 -0
  18. package/core/error/index.d.ts +74 -0
  19. package/core/index.d.ts +1039 -0
  20. package/core/interfaces/index.d.ts +114 -0
  21. package/core/layout/index.d.ts +53 -0
  22. package/core/line/index.d.ts +37 -0
  23. package/core/nav/index.d.ts +321 -0
  24. package/core/observers/index.d.ts +124 -0
  25. package/core/option/index.d.ts +185 -0
  26. package/core/pipes/index.d.ts +53 -0
  27. package/core/ripple/index.d.ts +66 -0
  28. package/core/testing/index.d.ts +154 -0
  29. package/core/theming/index.d.ts +118 -0
  30. package/core/types/index.d.ts +53 -0
  31. package/core/utils/index.d.ts +129 -0
  32. package/cute-widgets-base-20.0.1.tgz +0 -0
  33. package/datepicker/index.d.ts +1817 -0
  34. package/dialog/index.d.ts +484 -0
  35. package/divider/index.d.ts +24 -0
  36. package/expansion/README.md +8 -0
  37. package/expansion/index.d.ts +308 -0
  38. package/fesm2022/cute-widgets-base-abstract.mjs +547 -0
  39. package/fesm2022/cute-widgets-base-abstract.mjs.map +1 -0
  40. package/fesm2022/cute-widgets-base-alert.mjs +198 -0
  41. package/fesm2022/cute-widgets-base-alert.mjs.map +1 -0
  42. package/fesm2022/cute-widgets-base-autocomplete.mjs +1217 -0
  43. package/fesm2022/cute-widgets-base-autocomplete.mjs.map +1 -0
  44. package/fesm2022/cute-widgets-base-badge.mjs +75 -0
  45. package/fesm2022/cute-widgets-base-badge.mjs.map +1 -0
  46. package/fesm2022/cute-widgets-base-bottom-sheet.mjs +416 -0
  47. package/fesm2022/cute-widgets-base-bottom-sheet.mjs.map +1 -0
  48. package/fesm2022/cute-widgets-base-button-toggle.mjs +640 -0
  49. package/fesm2022/cute-widgets-base-button-toggle.mjs.map +1 -0
  50. package/fesm2022/cute-widgets-base-button.mjs +546 -0
  51. package/fesm2022/cute-widgets-base-button.mjs.map +1 -0
  52. package/fesm2022/cute-widgets-base-card.mjs +471 -0
  53. package/fesm2022/cute-widgets-base-card.mjs.map +1 -0
  54. package/fesm2022/cute-widgets-base-checkbox.mjs +390 -0
  55. package/fesm2022/cute-widgets-base-checkbox.mjs.map +1 -0
  56. package/fesm2022/cute-widgets-base-chips.mjs +2360 -0
  57. package/fesm2022/cute-widgets-base-chips.mjs.map +1 -0
  58. package/fesm2022/cute-widgets-base-collapse.mjs +259 -0
  59. package/fesm2022/cute-widgets-base-collapse.mjs.map +1 -0
  60. package/fesm2022/cute-widgets-base-core-animation.mjs +53 -0
  61. package/fesm2022/cute-widgets-base-core-animation.mjs.map +1 -0
  62. package/fesm2022/cute-widgets-base-core-datetime.mjs +568 -0
  63. package/fesm2022/cute-widgets-base-core-datetime.mjs.map +1 -0
  64. package/fesm2022/cute-widgets-base-core-directives.mjs +404 -0
  65. package/fesm2022/cute-widgets-base-core-directives.mjs.map +1 -0
  66. package/fesm2022/cute-widgets-base-core-error.mjs +105 -0
  67. package/fesm2022/cute-widgets-base-core-error.mjs.map +1 -0
  68. package/fesm2022/cute-widgets-base-core-interfaces.mjs +22 -0
  69. package/fesm2022/cute-widgets-base-core-interfaces.mjs.map +1 -0
  70. package/fesm2022/cute-widgets-base-core-layout.mjs +74 -0
  71. package/fesm2022/cute-widgets-base-core-layout.mjs.map +1 -0
  72. package/fesm2022/cute-widgets-base-core-line.mjs +87 -0
  73. package/fesm2022/cute-widgets-base-core-line.mjs.map +1 -0
  74. package/fesm2022/cute-widgets-base-core-nav.mjs +863 -0
  75. package/fesm2022/cute-widgets-base-core-nav.mjs.map +1 -0
  76. package/fesm2022/cute-widgets-base-core-observers.mjs +304 -0
  77. package/fesm2022/cute-widgets-base-core-observers.mjs.map +1 -0
  78. package/fesm2022/cute-widgets-base-core-option.mjs +373 -0
  79. package/fesm2022/cute-widgets-base-core-option.mjs.map +1 -0
  80. package/fesm2022/cute-widgets-base-core-pipes.mjs +97 -0
  81. package/fesm2022/cute-widgets-base-core-pipes.mjs.map +1 -0
  82. package/fesm2022/cute-widgets-base-core-ripple.mjs +172 -0
  83. package/fesm2022/cute-widgets-base-core-ripple.mjs.map +1 -0
  84. package/fesm2022/cute-widgets-base-core-testing.mjs +210 -0
  85. package/fesm2022/cute-widgets-base-core-testing.mjs.map +1 -0
  86. package/fesm2022/cute-widgets-base-core-theming.mjs +314 -0
  87. package/fesm2022/cute-widgets-base-core-theming.mjs.map +1 -0
  88. package/fesm2022/cute-widgets-base-core-types.mjs +22 -0
  89. package/fesm2022/cute-widgets-base-core-types.mjs.map +1 -0
  90. package/fesm2022/cute-widgets-base-core-utils.mjs +257 -0
  91. package/fesm2022/cute-widgets-base-core-utils.mjs.map +1 -0
  92. package/fesm2022/cute-widgets-base-core.mjs +1600 -0
  93. package/fesm2022/cute-widgets-base-core.mjs.map +1 -0
  94. package/fesm2022/cute-widgets-base-datepicker.mjs +4827 -0
  95. package/fesm2022/cute-widgets-base-datepicker.mjs.map +1 -0
  96. package/fesm2022/cute-widgets-base-dialog.mjs +1046 -0
  97. package/fesm2022/cute-widgets-base-dialog.mjs.map +1 -0
  98. package/fesm2022/cute-widgets-base-divider.mjs +86 -0
  99. package/fesm2022/cute-widgets-base-divider.mjs.map +1 -0
  100. package/fesm2022/cute-widgets-base-expansion.mjs +623 -0
  101. package/fesm2022/cute-widgets-base-expansion.mjs.map +1 -0
  102. package/fesm2022/cute-widgets-base-form-field.mjs +969 -0
  103. package/fesm2022/cute-widgets-base-form-field.mjs.map +1 -0
  104. package/fesm2022/cute-widgets-base-grid-list.mjs +715 -0
  105. package/fesm2022/cute-widgets-base-grid-list.mjs.map +1 -0
  106. package/fesm2022/cute-widgets-base-icon.mjs +1105 -0
  107. package/fesm2022/cute-widgets-base-icon.mjs.map +1 -0
  108. package/fesm2022/cute-widgets-base-input.mjs +726 -0
  109. package/fesm2022/cute-widgets-base-input.mjs.map +1 -0
  110. package/fesm2022/cute-widgets-base-layout-container.mjs +95 -0
  111. package/fesm2022/cute-widgets-base-layout-container.mjs.map +1 -0
  112. package/fesm2022/cute-widgets-base-layout-stack.mjs +166 -0
  113. package/fesm2022/cute-widgets-base-layout-stack.mjs.map +1 -0
  114. package/fesm2022/cute-widgets-base-layout.mjs +250 -0
  115. package/fesm2022/cute-widgets-base-layout.mjs.map +1 -0
  116. package/fesm2022/cute-widgets-base-list.mjs +1557 -0
  117. package/fesm2022/cute-widgets-base-list.mjs.map +1 -0
  118. package/fesm2022/cute-widgets-base-menu.mjs +1283 -0
  119. package/fesm2022/cute-widgets-base-menu.mjs.map +1 -0
  120. package/fesm2022/cute-widgets-base-navbar.mjs +359 -0
  121. package/fesm2022/cute-widgets-base-navbar.mjs.map +1 -0
  122. package/fesm2022/cute-widgets-base-paginator.mjs +485 -0
  123. package/fesm2022/cute-widgets-base-paginator.mjs.map +1 -0
  124. package/fesm2022/cute-widgets-base-progress.mjs +321 -0
  125. package/fesm2022/cute-widgets-base-progress.mjs.map +1 -0
  126. package/fesm2022/cute-widgets-base-radio.mjs +637 -0
  127. package/fesm2022/cute-widgets-base-radio.mjs.map +1 -0
  128. package/fesm2022/cute-widgets-base-select.mjs +1208 -0
  129. package/fesm2022/cute-widgets-base-select.mjs.map +1 -0
  130. package/fesm2022/cute-widgets-base-sidenav.mjs +1095 -0
  131. package/fesm2022/cute-widgets-base-sidenav.mjs.map +1 -0
  132. package/fesm2022/cute-widgets-base-slider.mjs +99 -0
  133. package/fesm2022/cute-widgets-base-slider.mjs.map +1 -0
  134. package/fesm2022/cute-widgets-base-snack-bar.mjs +897 -0
  135. package/fesm2022/cute-widgets-base-snack-bar.mjs.map +1 -0
  136. package/fesm2022/cute-widgets-base-sort.mjs +639 -0
  137. package/fesm2022/cute-widgets-base-sort.mjs.map +1 -0
  138. package/fesm2022/cute-widgets-base-spinner.mjs +154 -0
  139. package/fesm2022/cute-widgets-base-spinner.mjs.map +1 -0
  140. package/fesm2022/cute-widgets-base-stepper.mjs +673 -0
  141. package/fesm2022/cute-widgets-base-stepper.mjs.map +1 -0
  142. package/fesm2022/cute-widgets-base-table.mjs +1023 -0
  143. package/fesm2022/cute-widgets-base-table.mjs.map +1 -0
  144. package/fesm2022/cute-widgets-base-tabs.mjs +729 -0
  145. package/fesm2022/cute-widgets-base-tabs.mjs.map +1 -0
  146. package/fesm2022/cute-widgets-base-timepicker.mjs +965 -0
  147. package/fesm2022/cute-widgets-base-timepicker.mjs.map +1 -0
  148. package/fesm2022/cute-widgets-base-toolbar.mjs +120 -0
  149. package/fesm2022/cute-widgets-base-toolbar.mjs.map +1 -0
  150. package/fesm2022/cute-widgets-base-tooltip.mjs +947 -0
  151. package/fesm2022/cute-widgets-base-tooltip.mjs.map +1 -0
  152. package/fesm2022/cute-widgets-base-tree.mjs +598 -0
  153. package/fesm2022/cute-widgets-base-tree.mjs.map +1 -0
  154. package/fesm2022/cute-widgets-base.mjs +68 -0
  155. package/fesm2022/cute-widgets-base.mjs.map +1 -0
  156. package/form-field/index.d.ts +401 -0
  157. package/grid-list/index.d.ts +361 -0
  158. package/icon/index.d.ts +477 -0
  159. package/index.d.ts +3 -0
  160. package/input/index.d.ts +256 -0
  161. package/layout/container/index.d.ts +31 -0
  162. package/layout/index.d.ts +78 -0
  163. package/layout/stack/index.d.ts +52 -0
  164. package/list/index.d.ts +659 -0
  165. package/menu/index.d.ts +497 -0
  166. package/navbar/index.d.ts +91 -0
  167. package/package.json +279 -0
  168. package/paginator/index.d.ts +216 -0
  169. package/progress/index.d.ts +130 -0
  170. package/radio/index.d.ts +259 -0
  171. package/select/index.d.ts +426 -0
  172. package/sidenav/index.d.ts +369 -0
  173. package/slider/index.d.ts +48 -0
  174. package/snack-bar/index.d.ts +374 -0
  175. package/sort/index.d.ts +334 -0
  176. package/spinner/index.d.ts +70 -0
  177. package/stepper/index.d.ts +295 -0
  178. package/table/index.d.ts +395 -0
  179. package/tabs/index.d.ts +307 -0
  180. package/timepicker/index.d.ts +350 -0
  181. package/toolbar/index.d.ts +36 -0
  182. package/tooltip/index.d.ts +299 -0
  183. package/tree/index.d.ts +314 -0
@@ -0,0 +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 '[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 disable text wrapping */\r\n @Input() nowrap: 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.nowrap]': 'nowrap',\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\">\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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"}
@@ -0,0 +1,471 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, SecurityContext, inject, ContentChild, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
3
+ import { CuteLayoutControl } from '@cute-widgets/base/abstract';
4
+ import { DomSanitizer } from '@angular/platform-browser';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ /**
8
+ * @license Apache-2.0
9
+ *
10
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
11
+ *
12
+ * You may not use this file except in compliance with the License
13
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * This code is a modification of the `@angular/material` original
16
+ * code licensed under MIT-style License (https://angular.dev/license).
17
+ */
18
+ /**
19
+ * Header region of a card, intended for use within `<cute-card>`.
20
+ * This component is an optional convenience for use with other convenience elements, such as `<cute-card-footer>`;
21
+ * any custom header block element may be used in its place.
22
+ *
23
+ * `CuteCardHeader` provides no behaviors, instead serving as a purely visual treatment.
24
+ */
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 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardHeader, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: 'cute-card-header',
33
+ host: { 'class': 'cute-card-header card-header' },
34
+ standalone: true
35
+ }]
36
+ }] });
37
+
38
+ /**
39
+ * @license Apache-2.0
40
+ *
41
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
42
+ *
43
+ * You may not use this file except in compliance with the License
44
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
45
+ *
46
+ * This code is a modification of the `@angular/material` original
47
+ * code licensed under MIT-style License (https://angular.dev/license).
48
+ */
49
+ /**
50
+ * Footer area a card, intended for use within `<cute-card>`.
51
+ * This component is an optional convenience for use with other convenience elements, such as
52
+ * `<cute-card-content>`; any custom footer block element may be used in its place.
53
+ *
54
+ * CuteCardFooter provides no behaviors, instead serving as a purely visual treatment.
55
+ */
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 }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardFooter, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ selector: 'cute-card-footer',
64
+ host: { 'class': 'cute-card-footer card-footer text-body-secondary' },
65
+ standalone: true
66
+ }]
67
+ }] });
68
+
69
+ /**
70
+ * @license Apache-2.0
71
+ *
72
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
73
+ *
74
+ * You may not use this file except in compliance with the License
75
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
76
+ *
77
+ * This code is a modification of the `@angular/material` original
78
+ * code licensed under MIT-style License (https://angular.dev/license).
79
+ */
80
+ let nextId = -1;
81
+ /**
82
+ * A flexible and extensible content container with multiple variants and options.
83
+ */
84
+ class CuteCard extends CuteLayoutControl {
85
+ get backgroundImage() { return this._backgroundImage; }
86
+ set backgroundImage(value) {
87
+ if (value) {
88
+ this._backgroundImage = this._sanitizer.sanitize(SecurityContext.URL, value) ?? undefined;
89
+ if (this._backgroundImage) {
90
+ this._nativeElement.style.backgroundImage = `url('${this._backgroundImage.trim()}')`;
91
+ }
92
+ }
93
+ else {
94
+ this._nativeElement.style.backgroundImage = "none";
95
+ this._backgroundImage = undefined;
96
+ }
97
+ }
98
+ constructor() {
99
+ super();
100
+ this._sanitizer = inject(DomSanitizer);
101
+ }
102
+ generateId() {
103
+ return `cute-card-${++nextId}`;
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.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 }, { propertyName: "_footer", first: true, predicate: CuteCardFooter }], exportAs: ["cuteCard"], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"img[position=top], [role=img][position=top]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"img[position=bottom], [role=img][position=bottom]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n", styles: [".cute-card{--cute-card-image-height: 200px;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-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 }); }
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCard, decorators: [{
109
+ type: Component,
110
+ args: [{ selector: 'cute-card', exportAs: 'cuteCard', host: {
111
+ 'class': 'cute-card card',
112
+ '[class.cute-card-with-background-image]': 'backgroundImage',
113
+ '[attr.backgroundImage]': 'null',
114
+ }, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content select=\"cute-card-header\"></ng-content>\r\n<ng-content select=\"img[position=top], [role=img][position=top]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"img[position=bottom], [role=img][position=bottom]\"></ng-content>\r\n<ng-content select=\"cute-card-footer\"></ng-content>\r\n", styles: [".cute-card{--cute-card-image-height: 200px;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-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"] }]
115
+ }], ctorParameters: () => [], propDecorators: { backgroundImage: [{
116
+ type: Input
117
+ }], _header: [{
118
+ type: ContentChild,
119
+ args: [CuteCardHeader, { descendants: false }]
120
+ }], _footer: [{
121
+ type: ContentChild,
122
+ args: [CuteCardFooter, { descendants: false }]
123
+ }] } });
124
+
125
+ /**
126
+ * @license Apache-2.0
127
+ *
128
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
129
+ *
130
+ * You may not use this file except in compliance with the License
131
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
132
+ *
133
+ * This code is a modification of the `@angular/material` original
134
+ * code licensed under MIT-style License (https://angular.dev/license).
135
+ */
136
+ /**
137
+ * Avatar image content for a card, intended for use within `<cute-card>`. Can be applied to
138
+ * any media element, such as `<img>` or `<picture>`.
139
+ *
140
+ * This component is an optional convenience for use with other convenience elements, such as
141
+ * `<cute-card-title>`; any custom media element may be used in its place.
142
+ *
143
+ * CuteCardAvatar provides no behaviors, instead serving as a purely visual treatment.
144
+ */
145
+ class CuteCardAvatar {
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardAvatar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
147
+ 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 }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardAvatar, decorators: [{
150
+ type: Directive,
151
+ args: [{
152
+ selector: '[cute-card-avatar], [cuteCardAvatar]',
153
+ host: { 'class': 'cute-card-avatar card-avatar shadow' },
154
+ standalone: true,
155
+ }]
156
+ }] });
157
+
158
+ /**
159
+ * @license Apache-2.0
160
+ *
161
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
162
+ *
163
+ * You may not use this file except in compliance with the License
164
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
165
+ *
166
+ * This code is a modification of the `@angular/material` original
167
+ * code licensed under MIT-style License (https://angular.dev/license).
168
+ */
169
+ /**
170
+ * Primary image content for a card, intended for use within `<cute-card>`. Can be applied to
171
+ * any media element, such as `<img>` or `<picture>`.
172
+ *
173
+ * This component is an optional convenience for use with other convenience elements, such as
174
+ * `<cute-card-body>`; any custom media element may be used in its place.
175
+ *
176
+ * `CuteCardImage` provides no behaviors, instead serving as a purely visual treatment.
177
+ */
178
+ class CuteCardImage {
179
+ constructor() {
180
+ this.card = inject(CuteCard);
181
+ /** Image position in the card layout */
182
+ this.position = "top";
183
+ }
184
+ /** Image height in pixels */
185
+ get height() { return this._height; }
186
+ set height(value) {
187
+ if (typeof value === "string") {
188
+ value = parseInt(value);
189
+ if (isNaN(value))
190
+ value = undefined;
191
+ }
192
+ this._height = value;
193
+ }
194
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardImage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
195
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: CuteCardImage, isStandalone: true, selector: "[cute-card-image], [cuteCardImage]", inputs: { position: "position", height: "height" }, host: { properties: { "class": "'card-img'+(position=='top'||position=='bottom' ? '-'+position : '')", "class.img-fluid": "position==\"fluid\"", "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 }); }
196
+ }
197
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardImage, decorators: [{
198
+ type: Directive,
199
+ args: [{
200
+ selector: '[cute-card-image], [cuteCardImage]',
201
+ host: {
202
+ 'class': 'cute-card-image',
203
+ '[class]': "'card-img'+(position=='top'||position=='bottom' ? '-'+position : '')",
204
+ //'[class.cute-card-image-cover]': 'position=="cover"',
205
+ '[class.img-fluid]': 'position=="fluid"',
206
+ '[style.border-radius]': "position=='top' && card?._header ? 0 : (position=='bottom' && card?._footer ? 0 : undefined)",
207
+ '[style.--cute-card-image-height]': 'height>=0 ? height+"px" : undefined'
208
+ },
209
+ standalone: true,
210
+ }]
211
+ }], propDecorators: { position: [{
212
+ type: Input
213
+ }], height: [{
214
+ type: Input
215
+ }] } });
216
+
217
+ /**
218
+ * @license Apache-2.0
219
+ *
220
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
221
+ *
222
+ * You may not use this file except in compliance with the License
223
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
224
+ *
225
+ * This code is a modification of the `@angular/material` original
226
+ * code licensed under MIT-style License (https://angular.dev/license).
227
+ */
228
+ /**
229
+ * Content of a card, intended for use within `<cute-card>`. This component is an optional
230
+ * convenience for use with other convenience elements, such as `<cute-card-title>`; any custom
231
+ * content block element may be used in its place.
232
+ *
233
+ * CuteCardContent provides no behaviors, instead serving as a purely visual treatment.
234
+ */
235
+ class CuteCardBody {
236
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardBody, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
237
+ 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: "<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 class=\"card-text mt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-card-body{display:flex;flex-direction:column;position:relative}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
238
+ }
239
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardBody, decorators: [{
240
+ type: Component,
241
+ args: [{ selector: 'cute-card-body, cute-card-content', exportAs: 'cuteCardBody', host: {
242
+ 'class': 'cute-card-body card-body',
243
+ '[class]': 'color ? "text-"+color : ""',
244
+ }, standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 class=\"card-text mt-2\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [".cute-card-body{display:flex;flex-direction:column;position:relative}\n"] }]
245
+ }], propDecorators: { color: [{
246
+ type: Input
247
+ }] } });
248
+
249
+ /**
250
+ * @license Apache-2.0
251
+ *
252
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
253
+ *
254
+ * You may not use this file except in compliance with the License
255
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
256
+ *
257
+ * This code is a modification of the `@angular/material` original
258
+ * code licensed under MIT-style License (https://angular.dev/license).
259
+ */
260
+ /**
261
+ * Bottom area of a card that contains action buttons, intended for use within `<cute-card>`.
262
+ * This component is an optional convenience for use with other convenience elements, such as
263
+ * `<cute-card-content>`; any custom action block element may be used in its place.
264
+ *
265
+ * `CuteCardActions` provides no behaviors, instead serving as a purely visual treatment.
266
+ */
267
+ class CuteCardActions {
268
+ constructor() {
269
+ /** Position of the actions inside the card. */
270
+ this.align = "start";
271
+ }
272
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
273
+ 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 }); }
274
+ }
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardActions, decorators: [{
276
+ type: Directive,
277
+ args: [{
278
+ selector: 'cute-card-actions, [cute-card-actions], [cuteCardActions]',
279
+ exportAs: 'cuteCardActions',
280
+ host: {
281
+ 'class': 'cute-card-actions card-actions',
282
+ '[class]': "'justify-content-'+align",
283
+ },
284
+ standalone: true,
285
+ }]
286
+ }], propDecorators: { align: [{
287
+ type: Input
288
+ }] } });
289
+
290
+ /**
291
+ * @license Apache-2.0
292
+ *
293
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
294
+ *
295
+ * You may not use this file except in compliance with the License
296
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
297
+ */
298
+ /**
299
+ * Use _card groups_ to render cards as a single, attached element with equal width and height columns.
300
+ * When using card groups with footers, their content will automatically line up.
301
+ */
302
+ class CuteCardGroup /* extends ... */ {
303
+ constructor() {
304
+ }
305
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardGroup /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
+ 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"] }); }
307
+ }
308
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardGroup /* extends ... */, decorators: [{
309
+ type: Component,
310
+ args: [{ selector: 'cute-card-group', exportAs: 'cuteCardGroup', template: '<ng-content></ng-content>', host: {
311
+ 'class': 'cute-card-group card-group'
312
+ }, standalone: true, styles: [":host{display:block}\n"] }]
313
+ }], ctorParameters: () => [] });
314
+
315
+ /**
316
+ * @license Apache-2.0
317
+ *
318
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
319
+ *
320
+ * You may not use this file except in compliance with the License
321
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
322
+ *
323
+ * This code is a modification of the `@angular/material` original
324
+ * code licensed under MIT-style License (https://angular.dev/license).
325
+ */
326
+ /**
327
+ * Title of a card, intended for use within `<cute-card-body>`. This component is an optional
328
+ * convenience for one variety of card titles; any custom title element may be used in its place.
329
+ *
330
+ * CuteCardTitle provides no behaviors, instead serving as a purely visual treatment.
331
+ */
332
+ class CuteCardTitle {
333
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
334
+ 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 }); }
335
+ }
336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardTitle, decorators: [{
337
+ type: Directive,
338
+ args: [{
339
+ selector: `cute-card-title, [cute-card-title], [cuteCardTitle]`,
340
+ host: {
341
+ 'class': 'cute-card-title card-title',
342
+ '[class]': 'color ? "text-"+color : ""',
343
+ },
344
+ standalone: true
345
+ }]
346
+ }], propDecorators: { color: [{
347
+ type: Input
348
+ }] } });
349
+
350
+ /**
351
+ * @license Apache-2.0
352
+ *
353
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
354
+ *
355
+ * You may not use this file except in compliance with the License
356
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
357
+ *
358
+ * This code is a modification of the `@angular/material` original
359
+ * code licensed under MIT-style License (https://angular.dev/license).
360
+ */
361
+ /**
362
+ * Subtitle of a card, intended for use within `<cute-card-body>` beneath a `<cute-card-title>`. This
363
+ * component is an optional convenience for use with other convenience elements, such as
364
+ * `<cute-card-title>`.
365
+ *
366
+ * CuteCardSubtitle provides no behaviors, instead serving as a purely visual treatment.
367
+ */
368
+ class CuteCardSubtitle {
369
+ constructor() {
370
+ /** Subtitle text color */
371
+ this.color = "secondary";
372
+ }
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardSubtitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
374
+ 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 mb-2" }, ngImport: i0 }); }
375
+ }
376
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardSubtitle, decorators: [{
377
+ type: Directive,
378
+ args: [{
379
+ selector: `cute-card-subtitle, [cute-card-subtitle], [cuteCardSubtitle]`,
380
+ host: {
381
+ 'class': 'cute-card-subtitle card-subtitle mb-2',
382
+ '[class]': 'color ? "text-"+color : ""',
383
+ },
384
+ standalone: true
385
+ }]
386
+ }], propDecorators: { color: [{
387
+ type: Input
388
+ }] } });
389
+
390
+ /**
391
+ * @license Apache-2.0
392
+ *
393
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
394
+ *
395
+ * You may not use this file except in compliance with the License
396
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
397
+ */
398
+ /**
399
+ * Turn an image into a card background and overlay the card’s text.
400
+ */
401
+ class CuteCardOverlay /* extends ... */ {
402
+ constructor() {
403
+ }
404
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardOverlay /* extends ... */, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
405
+ 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 }); }
406
+ }
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardOverlay /* extends ... */, decorators: [{
408
+ type: Directive,
409
+ args: [{
410
+ selector: 'cute-card-overlay',
411
+ exportAs: 'cuteCardOverlay',
412
+ host: {
413
+ 'class': 'card-img-overlay d-flex flex-column'
414
+ },
415
+ standalone: true,
416
+ }]
417
+ }], ctorParameters: () => [] });
418
+
419
+ const TYPES = [
420
+ CuteCard,
421
+ CuteCardTitle,
422
+ CuteCardSubtitle,
423
+ CuteCardFooter,
424
+ CuteCardHeader,
425
+ CuteCardActions,
426
+ CuteCardBody,
427
+ CuteCardOverlay,
428
+ CuteCardImage,
429
+ CuteCardAvatar,
430
+ CuteCardGroup,
431
+ ];
432
+ class CuteCardModule {
433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
434
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, imports: [CommonModule, CuteCard,
435
+ CuteCardTitle,
436
+ CuteCardSubtitle,
437
+ CuteCardFooter,
438
+ CuteCardHeader,
439
+ CuteCardActions,
440
+ CuteCardBody,
441
+ CuteCardOverlay,
442
+ CuteCardImage,
443
+ CuteCardAvatar,
444
+ CuteCardGroup], exports: [CuteCard,
445
+ CuteCardTitle,
446
+ CuteCardSubtitle,
447
+ CuteCardFooter,
448
+ CuteCardHeader,
449
+ CuteCardActions,
450
+ CuteCardBody,
451
+ CuteCardOverlay,
452
+ CuteCardImage,
453
+ CuteCardAvatar,
454
+ CuteCardGroup] }); }
455
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, imports: [CommonModule] }); }
456
+ }
457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CuteCardModule, decorators: [{
458
+ type: NgModule,
459
+ args: [{
460
+ imports: [CommonModule, ...TYPES],
461
+ exports: [TYPES],
462
+ declarations: [],
463
+ }]
464
+ }] });
465
+
466
+ /**
467
+ * Generated bundle index. Do not edit.
468
+ */
469
+
470
+ export { CuteCard, CuteCardActions, CuteCardAvatar, CuteCardBody, CuteCardFooter, CuteCardGroup, CuteCardHeader, CuteCardImage, CuteCardModule, CuteCardOverlay, CuteCardSubtitle, CuteCardTitle };
471
+ //# sourceMappingURL=cute-widgets-base-card.mjs.map
@@ -0,0 +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,\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 @ContentChild(CuteCardHeader, {descendants: false}) readonly _header: CuteCardHeader | undefined;\r\n /** `CuteCardFooter` element if it was defined in the `CuteCard` template. */\r\n @ContentChild(CuteCardFooter, {descendants: false}) readonly _footer: CuteCardFooter | undefined;\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=\"img[position=top], [role=img][position=top]\"></ng-content>\r\n<ng-content></ng-content>\r\n<ng-content select=\"img[position=bottom], [role=img][position=bottom]\"></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, inject, Input} from \"@angular/core\";\r\nimport {CuteCard} from \"./card.component\";\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], [cuteCardImage]',\r\n host: {\r\n 'class': 'cute-card-image',\r\n '[class]': \"'card-img'+(position=='top'||position=='bottom' ? '-'+position : '')\",\r\n //'[class.cute-card-image-cover]': 'position==\"cover\"',\r\n '[class.img-fluid]': 'position==\"fluid\"',\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 @Input() position: \"top\"|\"bottom\"|\"fluid\" = \"top\";\r\n\r\n /** Image height 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}\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","<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 class=\"card-text mt-2\">\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 mb-2',\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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"}