@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-expansion.mjs","sources":["../../../../projects/cute-widgets/base/expansion/src/accordion-base.interface.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel-base.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel-content.directive.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel.component.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel.component.html","../../../../projects/cute-widgets/base/expansion/src/expansion-panel-header.component.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel-header.component.html","../../../../projects/cute-widgets/base/expansion/src/accordion.directive.ts","../../../../projects/cute-widgets/base/expansion/src/expansion-panel-action-row.directive.ts","../../../../projects/cute-widgets/base/expansion/src/expansion.module.ts","../../../../projects/cute-widgets/base/expansion/cute-widgets-base-expansion.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 {InjectionToken} from '@angular/core';\r\nimport {CdkAccordion} from '@angular/cdk/accordion';\r\n\r\n/** CuteAccordion's display modes. */\r\nexport type CuteAccordionDisplayMode = 'default' | 'flush';\r\n\r\n/** CuteAccordion's toggle positions. */\r\nexport type CuteAccordionTogglePosition = 'before' | 'after';\r\n\r\n/**\r\n * Base interface for a `CuteAccordion`.\r\n * @docs-private\r\n */\r\nexport interface CuteAccordionBase extends CdkAccordion {\r\n /** Whether the expansion indicator should be hidden. */\r\n hideToggle: boolean;\r\n\r\n /** Display mode used for all expansion panels in the accordion. */\r\n displayMode: CuteAccordionDisplayMode;\r\n\r\n /** The position of the expansion indicator. */\r\n togglePosition: CuteAccordionTogglePosition;\r\n\r\n /** Handles keyboard events coming in from the panel headers. */\r\n _handleHeaderKeydown: (event: KeyboardEvent) => void;\r\n\r\n /** Handles focus events on the panel headers. */\r\n _handleHeaderFocus: (header: any) => void;\r\n}\r\n\r\n/**\r\n * Token used to provide a `CuteAccordion` to `CuteExpansionPanel`.\r\n * Used primarily to avoid circular imports between `CuteAccordion` and `CuteExpansionPanel`.\r\n */\r\nexport const CUTE_ACCORDION = new InjectionToken<CuteAccordionBase>('CUTE_ACCORDION');\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 {InjectionToken} from '@angular/core';\r\nimport {CdkAccordionItem} from '@angular/cdk/accordion';\r\n\r\n/**\r\n * Base interface for a `CuteExpansionPanel`.\r\n */\r\nexport interface CuteExpansionPanelBase extends CdkAccordionItem {\r\n /** Whether the toggle indicator should be hidden. */\r\n hideToggle: boolean;\r\n}\r\n\r\n/**\r\n * Token used to provide a `CuteExpansionPanel` to `CuteExpansionPanelContent`.\r\n * Used to avoid circular imports between `CuteExpansionPanel` and `CuteExpansionPanelContent`.\r\n */\r\nexport const CUTE_EXPANSION_PANEL = new InjectionToken<CuteExpansionPanelBase>('CUTE_EXPANSION_PANEL');\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, TemplateRef, inject} from '@angular/core';\r\nimport {CUTE_EXPANSION_PANEL, CuteExpansionPanelBase} from './expansion-panel-base';\r\n\r\n/**\r\n * Expansion panel content that will be rendered lazily\r\n * after the panel is opened for the first time.\r\n */\r\n@Directive({\r\n selector: 'ng-template[cuteExpansionPanelContent]',\r\n standalone: true,\r\n})\r\nexport class CuteExpansionPanelContent {\r\n _template = inject<TemplateRef<any>>(TemplateRef);\r\n _expansionPanel = inject<CuteExpansionPanelBase>(CUTE_EXPANSION_PANEL, {optional: true});\r\n\r\n constructor(...args: unknown[]);\r\n constructor() {}\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 {CdkAccordionItem} from \"@angular/cdk/accordion\";\r\nimport {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n Component, ContentChild, ElementRef, EventEmitter, inject,\r\n InjectionToken, Input,\r\n OnChanges, OnDestroy, Output, SimpleChanges, ViewChild, ViewContainerRef,\r\n ViewEncapsulation,\r\n DOCUMENT, NgZone, Renderer2\r\n} from \"@angular/core\";\r\n\r\nimport {BooleanInput, coerceBooleanProperty} from \"@angular/cdk/coercion\";\r\nimport {CdkPortalOutlet, TemplatePortal} from \"@angular/cdk/portal\";\r\nimport {UniqueSelectionDispatcher} from \"@angular/cdk/collections\";\r\nimport {filter, startWith, Subject, take} from \"rxjs\";\r\nimport {CUTE_EXPANSION_PANEL, CuteExpansionPanelBase} from \"./expansion-panel-base\";\r\nimport { CuteAccordionBase, CuteAccordionTogglePosition, CUTE_ACCORDION} from \"./accordion-base.interface\";\r\nimport { CuteExpansionPanelContent } from \"./expansion-panel-content.directive\";\r\nimport {Expandable} from \"@cute-widgets/base/abstract\";\r\nimport {_animationsDisabled} from '@cute-widgets/base/core';\r\n\r\n\r\n/** CuteExpansionPanel's states. */\r\nexport type CuteExpansionPanelState = 'expanded' | 'collapsed';\r\n\r\n/** Counter for generating unique element ids. */\r\nlet uniqueId = 0;\r\n\r\n/**\r\n * Object that can be used to override the default options\r\n * for all the expansion panels in a module.\r\n */\r\nexport interface CuteExpansionPanelDefaultOptions {\r\n /** Height of the header while the panel is expanded. */\r\n expandedHeight: string;\r\n\r\n /** Height of the header while the panel is collapsed. */\r\n collapsedHeight: string;\r\n\r\n /** Whether the toggle indicator should be hidden. */\r\n hideToggle: boolean;\r\n}\r\n\r\n/**\r\n * Injection token that can be used to configure the default\r\n * options for the expansion panel component.\r\n */\r\nexport const CUTE_EXPANSION_PANEL_DEFAULT_OPTIONS =\r\n new InjectionToken<CuteExpansionPanelDefaultOptions>('CUTE_EXPANSION_PANEL_DEFAULT_OPTIONS');\r\n\r\n/**\r\n * This component can be used as a single element to show expandable content, or as one of\r\n * multiple children of an element with the CuteAccordion directive attached.\r\n */\r\n@Component({\r\n selector: 'cute-expansion-panel',\r\n templateUrl: './expansion-panel.component.html',\r\n styleUrls: ['./expansion-panel.component.scss'],\r\n exportAs: 'cuteExpansionPanel',\r\n host: {\r\n 'class': 'cute-expansion-panel',\r\n '[class.accordion-item]': 'accordion',\r\n '[class.accordion]': '!accordion',\r\n '[class.cute-expanded]': 'expanded',\r\n },\r\n imports: [CdkPortalOutlet],\r\n providers: [\r\n // Provide CuteAccordion as undefined to prevent nested expansion panels from registering\r\n // to the same accordion.\r\n { provide: CUTE_ACCORDION, useValue: undefined },\r\n { provide: CUTE_EXPANSION_PANEL, useExisting: CuteExpansionPanel },\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class CuteExpansionPanel extends CdkAccordionItem\r\n implements CuteExpansionPanelBase, Expandable, AfterContentInit, OnChanges, OnDestroy\r\n{\r\n private _viewContainerRef = inject(ViewContainerRef);\r\n private readonly _animationsDisabled = _animationsDisabled();\r\n private _document = inject(DOCUMENT);\r\n private _ngZone = inject(NgZone);\r\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private _renderer = inject(Renderer2);\r\n private _cleanupTransitionEnd: (() => void) | undefined;\r\n\r\n /** Whether the toggle indicator should be hidden. */\r\n @Input()\r\n get hideToggle(): boolean { return this._hideToggle || (this.accordion && this.accordion.hideToggle); }\r\n set hideToggle(value: BooleanInput) {\r\n this._hideToggle = coerceBooleanProperty(value);\r\n }\r\n private _hideToggle = false;\r\n\r\n /** The position of the expansion indicator. */\r\n @Input()\r\n get togglePosition(): CuteAccordionTogglePosition {\r\n return this._togglePosition || (this.accordion && this.accordion.togglePosition);\r\n }\r\n set togglePosition(value: CuteAccordionTogglePosition) {\r\n this._togglePosition = value;\r\n }\r\n private _togglePosition: CuteAccordionTogglePosition | undefined;\r\n\r\n /** An event emitted after the body's expansion animation happens. */\r\n @Output() readonly afterExpand = new EventEmitter<void>();\r\n\r\n /** An event emitted after the body's collapse animation happens. */\r\n @Output() readonly afterCollapse = new EventEmitter<void>();\r\n\r\n /** Stream that emits for changes in `@Input` properties. */\r\n readonly _inputChanges = new Subject<SimpleChanges>();\r\n\r\n /** Optionally defined accordion the expansion panel belongs to. */\r\n override readonly accordion = inject<CuteAccordionBase>(CUTE_ACCORDION, {optional: true, skipSelf: true})!;\r\n\r\n /** Content that will be rendered lazily. */\r\n @ContentChild(CuteExpansionPanelContent) _lazyContent: CuteExpansionPanelContent | undefined;\r\n\r\n /** Element containing the panel's user-provided content. */\r\n @ViewChild('body') _body: ElementRef<HTMLElement> | undefined;\r\n\r\n /** Element wrapping the panel body. */\r\n @ViewChild('bodyWrapper')\r\n protected _bodyWrapper: ElementRef<HTMLElement> | undefined;\r\n\r\n /** Portal holding the user's content. */\r\n protected _portal: TemplatePortal | null = null;\r\n\r\n /** ID for the associated header element. Used for a11y labelling. */\r\n _headerId: string = `cute-expansion-panel-header-${uniqueId++}`;\r\n\r\n _contentId: string = this._headerId.replace(\"header\",\"content\");\r\n\r\n constructor(...args: unknown[]);\r\n constructor() {\r\n super();\r\n\r\n const defaultOptions = inject<CuteExpansionPanelDefaultOptions>(\r\n CUTE_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n {optional: true},\r\n );\r\n\r\n this._expansionDispatcher = inject(UniqueSelectionDispatcher);\r\n\r\n if (defaultOptions) {\r\n this.hideToggle = defaultOptions.hideToggle;\r\n }\r\n }\r\n\r\n /** Determines whether the expansion panel should have spacing between it and its siblings. */\r\n _hasSpacing(): boolean {\r\n if (this.accordion) {\r\n return this.expanded && this.accordion.displayMode === 'default';\r\n }\r\n return false;\r\n }\r\n\r\n /** Gets the expanded state string. */\r\n _getExpandedState(): CuteExpansionPanelState {\r\n return this.expanded ? 'expanded' : 'collapsed';\r\n }\r\n\r\n /** Toggles the expanded state of the expansion panel. */\r\n override toggle(): void {\r\n this.expanded = !this.expanded;\r\n }\r\n\r\n /** Sets the expanded state of the expansion panel to false. */\r\n override close(): void {\r\n this.expanded = false;\r\n }\r\n\r\n /** Sets the expanded state of the expansion panel to true. */\r\n override open(): void {\r\n this.expanded = true;\r\n }\r\n\r\n ngAfterContentInit() {\r\n if (this._lazyContent && this._lazyContent._expansionPanel === this) {\r\n // Render the content as soon as the panel becomes open.\r\n this.opened\r\n .pipe(\r\n startWith(null),\r\n filter(() => this.expanded && !this._portal),\r\n take(1),\r\n )\r\n .subscribe(() => {\r\n this._portal = new TemplatePortal(this._lazyContent!._template, this._viewContainerRef);\r\n });\r\n }\r\n\r\n this._setupAnimationEvents();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this._inputChanges.next(changes);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._cleanupTransitionEnd?.();\r\n this._inputChanges.complete();\r\n }\r\n\r\n /** Checks whether the expansion panel's content contains the currently focused element. */\r\n _containsFocus(): boolean {\r\n if (this._body) {\r\n const focusedElement = this._document.activeElement;\r\n const bodyElement = this._body.nativeElement;\r\n return focusedElement === bodyElement || bodyElement.contains(focusedElement);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n //private _transitionEndListener = ({target, propertyName}: TransitionEvent) => {\r\n private _transitionEndListener = (event: TransitionEvent) => {\r\n // CWT: we change `_bodyWrapper` to `_body` since our template's markup differs from original\r\n if (event.target === this._body?.nativeElement && event.propertyName === 'grid-template-rows') {\r\n // if (event.propertyName===\"transform\" && event.pseudoElement===\"::after\") {\r\n this._ngZone.run(() => {\r\n if (this.expanded) {\r\n this.afterExpand.emit();\r\n } else {\r\n this.afterCollapse.emit();\r\n }\r\n });\r\n }\r\n }\r\n\r\n protected _setupAnimationEvents() {\r\n // This method is defined separately, because we need to\r\n // disable this logic in some internal components.\r\n this._ngZone.runOutsideAngular(() => {\r\n if (this._animationsDisabled) {\r\n this.opened.subscribe(() => this._ngZone.run(() => this.afterExpand.emit()));\r\n this.closed.subscribe(() => this._ngZone.run(() => this.afterCollapse.emit()));\r\n } else {\r\n setTimeout(() => {\r\n const element = this._elementRef.nativeElement;\r\n this._cleanupTransitionEnd = this._renderer.listen(\r\n element,\r\n 'transitionend',\r\n this._transitionEndListener,\r\n );\r\n element.classList.add('cute-expansion-panel-animations-enabled');\r\n }, 200);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","<div class=\"cute-expansion-panel-content-wrapper\"\r\n [class.accordion-item]=\"!accordion\"\r\n [class.accordion-header]=\"accordion\"\r\n #bodyWrapper>\r\n\r\n <ng-content select=\"cute-expansion-panel-header\"></ng-content>\r\n <div class=\"cute-expansion-panel-content accordion-collapse\"\r\n [class]=\"expanded ? 'expanded' : 'collapsed'\"\r\n [attr.aria-expanded]=\"expanded\"\r\n [attr.aria-labelledby]=\"_headerId\"\r\n role=\"region\"\r\n [attr.id]=\"_contentId\"\r\n #body>\r\n <div class=\"cute-expansion-panel-body accordion-body\">\r\n <ng-content></ng-content>\r\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\r\n </div>\r\n <ng-content select=\"cute-action-row\"></ng-content>\r\n </div>\r\n\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 {\r\n AfterViewInit, ANIMATION_MODULE_TYPE, Attribute,\r\n ChangeDetectionStrategy, ChangeDetectorRef,\r\n Component,\r\n Directive, ElementRef, Host, HostAttributeToken, inject, Inject, Input, numberAttribute,\r\n OnDestroy, Optional,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {FocusableOption, FocusMonitor, FocusOrigin} from \"@angular/cdk/a11y\";\r\nimport {ENTER, SPACE, hasModifierKey} from \"@angular/cdk/keycodes\";\r\nimport {\r\n CUTE_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n CuteExpansionPanel,\r\n CuteExpansionPanelDefaultOptions\r\n} from \"./expansion-panel.component\";\r\nimport {EMPTY, filter, merge, Subscription} from \"rxjs\";\r\nimport {CuteAccordionTogglePosition} from \"./accordion-base.interface\";\r\n\r\n@Component({\r\n selector: 'cute-expansion-panel-header',\r\n templateUrl: './expansion-panel-header.component.html',\r\n styleUrls: ['./expansion-panel-header.component.scss'],\r\n exportAs: 'cuteExpansionPanelHeader',\r\n inputs: ['tabIndex'],\r\n host: {\r\n 'class': 'cute-expansion-panel-header',\r\n '[class.accordion-header]': '!panel.accordion',\r\n '[class.cute-expanded]': '_isExpanded()',\r\n // '[class.cute-expansion-toggle-indicator-after]': `_getTogglePosition() === 'after'`,\r\n // '[class.cute-expansion-toggle-indicator-before]': `_getTogglePosition() === 'before'`,\r\n 'role': 'button',\r\n '[attr.id]': 'panel._headerId',\r\n // CWT: we apply 'tabindex' rule on the nested '.accordion-button' element\r\n '[attr.tabindex]': '-1', /*'disabled ? -1 : tabIndex',*/\r\n // CWT: we apply 'aria-controls' on the nested '.accordion-button' element\r\n // '[attr.aria-controls]': '_getPanelId()',\r\n '[attr.aria-expanded]': '_isExpanded()',\r\n '[attr.aria-disabled]': 'panel.disabled', //'disabled',\r\n '[style.height]': '_getHeaderHeight()',\r\n '(click)': '_toggle()',\r\n '(keydown)': '_keydown($event)',\r\n },\r\n standalone: true,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class CuteExpansionPanelHeader implements AfterViewInit, OnDestroy, FocusableOption /* extends ... */ {\r\n readonly panel = inject(CuteExpansionPanel, {host: true});\r\n private _element = inject(ElementRef);\r\n private _focusMonitor = inject(FocusMonitor);\r\n private _changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n private _parentChangeSubscription = Subscription.EMPTY;\r\n\r\n constructor(...args: unknown[]);\r\n constructor() {\r\n const panel = this.panel;\r\n const defaultOptions = inject<CuteExpansionPanelDefaultOptions>(\r\n CUTE_EXPANSION_PANEL_DEFAULT_OPTIONS,\r\n {optional: true},\r\n );\r\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\r\n\r\n const accordionHideToggleChange = panel.accordion\r\n ? panel.accordion._stateChanges.pipe(\r\n filter(changes => !!(changes['hideToggle'] || changes['togglePosition'])),\r\n )\r\n : EMPTY;\r\n this.tabIndex = parseInt(tabIndex || '') || 0;\r\n\r\n // Since the toggle state depends on an @Input on the panel, we\r\n // need to subscribe and trigger change detection manually.\r\n this._parentChangeSubscription = merge(\r\n panel.opened,\r\n panel.closed,\r\n accordionHideToggleChange,\r\n panel._inputChanges.pipe(\r\n filter(changes => {\r\n return !!(changes['hideToggle'] || changes['disabled'] || changes['togglePosition']);\r\n }),\r\n ),\r\n ).subscribe(() => this._changeDetectorRef.markForCheck());\r\n\r\n // Avoids focus being lost if the panel contained the focused element and was closed.\r\n panel.closed\r\n .pipe(filter(() => panel._containsFocus()))\r\n .subscribe(() => this._focusMonitor.focusVia(this._element, 'program'));\r\n\r\n if (defaultOptions) {\r\n this.expandedHeight = defaultOptions.expandedHeight;\r\n this.collapsedHeight = defaultOptions.collapsedHeight;\r\n }\r\n }\r\n\r\n /** Height of the header while the panel is expanded. */\r\n @Input() expandedHeight: string | undefined;\r\n\r\n /** Height of the header while the panel is collapsed. */\r\n @Input() collapsedHeight: string | undefined;\r\n\r\n /** Tab index of the header. */\r\n @Input({\r\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\r\n })\r\n tabIndex: number = 0;\r\n\r\n /** Whether the associated panel is disabled. Implemented as a part of `FocusableOption`. */\r\n get disabled(): boolean {\r\n return this.panel.disabled;\r\n }\r\n\r\n /** Toggles the expanded state of the panel. */\r\n protected _toggle(): void {\r\n if (!this.disabled) {\r\n this.panel.toggle();\r\n }\r\n }\r\n\r\n /** Gets whether the panel is expanded. */\r\n protected _isExpanded(): boolean {\r\n return this.panel.expanded;\r\n }\r\n\r\n /** Gets the expanded state string of the panel. */\r\n protected _getExpandedState(): string {\r\n return this.panel._getExpandedState();\r\n }\r\n\r\n /** Gets the panel id. */\r\n protected _getPanelId(): string {\r\n return this.panel.id;\r\n }\r\n\r\n /** Gets the toggle position for the header. */\r\n protected _getTogglePosition(): CuteAccordionTogglePosition {\r\n return this.panel.togglePosition;\r\n }\r\n\r\n /** Gets whether the expanded indicator should be shown. */\r\n protected _showToggle(): boolean {\r\n return !this.panel.hideToggle && !this.panel.disabled;\r\n }\r\n\r\n /**\r\n * Gets the current height of the header. Null if no custom height has been\r\n * specified, and if the default height from the stylesheet should be used.\r\n */\r\n protected _getHeaderHeight(): string | null {\r\n const isExpanded = this._isExpanded();\r\n if (isExpanded && this.expandedHeight) {\r\n return this.expandedHeight;\r\n } else if (!isExpanded && this.collapsedHeight) {\r\n return this.collapsedHeight;\r\n }\r\n return null;\r\n }\r\n\r\n /** Handle keydown event calling to toggle() if appropriate. */\r\n protected _keydown(event: KeyboardEvent) {\r\n switch (event.keyCode) {\r\n // Toggle for space and enter keys.\r\n case SPACE:\r\n case ENTER:\r\n if (!hasModifierKey(event)) {\r\n event.preventDefault();\r\n this._toggle();\r\n }\r\n break;\r\n default:\r\n if (this.panel.accordion) {\r\n this.panel.accordion._handleHeaderKeydown(event);\r\n }\r\n return;\r\n }\r\n }\r\n\r\n /**\r\n * Focuses the panel header. Implemented as a part of `FocusableOption`.\r\n * @param origin Origin of the action that triggered the focus.\r\n * @param options FocusOptions\r\n */\r\n focus(origin?: FocusOrigin, options?: FocusOptions) {\r\n if (origin) {\r\n this._focusMonitor.focusVia(this._element, origin, options);\r\n } else {\r\n this._element.nativeElement.focus(options);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this._focusMonitor.monitor(this._element).subscribe(origin => {\r\n if (origin && this.panel.accordion) {\r\n this.panel.accordion._handleHeaderFocus(this);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this._parentChangeSubscription.unsubscribe();\r\n this._focusMonitor.stopMonitoring(this._element);\r\n }\r\n\r\n}\r\n\r\n/**\r\n * Description element of a `<cute-expansion-panel-header>`.\r\n */\r\n@Directive({\r\n selector: 'cute-panel-description',\r\n host: {\r\n class: 'cute-expansion-panel-header-description text-secondary ',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteExpansionPanelDescription {}\r\n\r\n/**\r\n * Title element of a `<cute-expansion-panel-header>`.\r\n */\r\n@Directive({\r\n selector: 'cute-panel-title',\r\n host: {\r\n class: 'cute-expansion-panel-header-title',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteExpansionPanelTitle {}\r\n","<button class=\"accordion-button\" type=\"button\"\r\n [class.accordion-button-indicator-before]=\"_getTogglePosition()=='before'\"\r\n [class.accordion-button-hide-indicator]=\"!_showToggle()\"\r\n [class.text-body-tertiary]=\"disabled\"\r\n [class.collapsed]=\"!_isExpanded()\"\r\n [attr.aria-expanded]=\"_isExpanded()\"\r\n [attr.aria-controls]=\"panel._contentId\"\r\n [disabled]=\"disabled || null\"\r\n [tabIndex]=\"disabled ? -1 : tabIndex\"\r\n>\r\n <span class=\"cute-expansion-panel-header-content\">\r\n <ng-content select=\"cute-panel-title\"></ng-content>\r\n <ng-content select=\"cute-panel-description\"></ng-content>\r\n <ng-content></ng-content>\r\n </span>\r\n</button>\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 AfterContentInit, booleanAttribute,\r\n ContentChildren,\r\n Directive,\r\n Input, OnDestroy, QueryList,\r\n} from \"@angular/core\";\r\nimport {CdkAccordion} from \"@angular/cdk/accordion\";\r\nimport {\r\n CUTE_ACCORDION,\r\n CuteAccordionBase,\r\n CuteAccordionDisplayMode,\r\n CuteAccordionTogglePosition\r\n} from \"./accordion-base.interface\";\r\nimport {FocusKeyManager} from \"@angular/cdk/a11y\";\r\nimport {CuteExpansionPanelHeader} from \"./expansion-panel-header.component\";\r\nimport {startWith} from \"rxjs\";\r\n\r\nlet nextId: number = -1;\r\n\r\n@Directive({\r\n selector: 'cute-accordion',\r\n exportAs: 'cuteAccordion',\r\n host: {\r\n 'class': 'cute-accordion accordion d-block',\r\n '[class.accordion-flush]': 'displayMode == \"flush\"',\r\n '[id]': 'id',\r\n },\r\n providers: [{provide: CUTE_ACCORDION, useExisting: CuteAccordion}],\r\n})\r\nexport class CuteAccordion extends CdkAccordion implements CuteAccordionBase, AfterContentInit, OnDestroy {\r\n\r\n private _keyManager: FocusKeyManager<CuteExpansionPanelHeader> | undefined;\r\n\r\n /** Headers belonging to this accordion. */\r\n private _ownHeaders = new QueryList<CuteExpansionPanelHeader>();\r\n\r\n /** All headers inside the accordion. Includes headers inside nested accordions. */\r\n @ContentChildren(CuteExpansionPanelHeader, {descendants: true})\r\n _headers: QueryList<CuteExpansionPanelHeader> | undefined;\r\n\r\n /** Whether the expansion indicator should be hidden. */\r\n @Input({transform: booleanAttribute})\r\n hideToggle: boolean = false;\r\n\r\n /**\r\n * Display mode used for all expansion panels in the accordion. Currently two display\r\n * modes exist:\r\n * default - a gutter-like spacing is placed around any expanded panel, placing the expanded\r\n * panel at a different elevation from the rest of the accordion.\r\n * flush - removes some borders and rounded corners to render expansion panels edge-to-edge with their parent container.\r\n */\r\n @Input() displayMode: CuteAccordionDisplayMode = 'default';\r\n\r\n /** The position of the expansion indicator. */\r\n @Input() togglePosition: CuteAccordionTogglePosition = 'after';\r\n\r\n ngAfterContentInit() {\r\n this._headers?.changes\r\n .pipe(startWith(this._headers))\r\n .subscribe((headers: QueryList<CuteExpansionPanelHeader>) => {\r\n this._ownHeaders.reset(headers.filter(header => header.panel.accordion === this));\r\n this._ownHeaders.notifyOnChanges();\r\n });\r\n\r\n this._keyManager = new FocusKeyManager(this._ownHeaders).withWrap().withHomeAndEnd();\r\n }\r\n\r\n /** Handles keyboard events coming in from the panel headers. */\r\n _handleHeaderKeydown(event: KeyboardEvent) {\r\n this._keyManager?.onKeydown(event);\r\n }\r\n\r\n _handleHeaderFocus(header: CuteExpansionPanelHeader) {\r\n this._keyManager?.updateActiveItem(header);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._keyManager?.destroy();\r\n this._ownHeaders.destroy();\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} from \"@angular/core\";\r\n\r\n/**\r\n * Actions of a `<cute-expansion-panel>`.\r\n */\r\n@Directive({\r\n selector: 'cute-action-row',\r\n host: {\r\n class: 'cute-action-row',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteExpansionPanelActionRow {}\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 } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport {CuteExpansionPanel} from \"./expansion-panel.component\";\r\nimport {CuteExpansionPanelContent} from \"./expansion-panel-content.directive\";\r\nimport {\r\n CuteExpansionPanelDescription,\r\n CuteExpansionPanelHeader,\r\n CuteExpansionPanelTitle\r\n} from \"./expansion-panel-header.component\";\r\nimport {CuteExpansionPanelActionRow} from \"./expansion-panel-action-row.directive\";\r\nimport {CuteAccordion} from \"./accordion.directive\";\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n CuteAccordion,\r\n CuteExpansionPanel,\r\n CuteExpansionPanelContent,\r\n CuteExpansionPanelHeader,\r\n CuteExpansionPanelActionRow,\r\n CuteExpansionPanelTitle,\r\n CuteExpansionPanelDescription,\r\n ],\r\n exports: [\r\n CuteAccordion,\r\n CuteExpansionPanel,\r\n CuteExpansionPanelContent,\r\n CuteExpansionPanelHeader,\r\n CuteExpansionPanelActionRow,\r\n CuteExpansionPanelTitle,\r\n CuteExpansionPanelDescription,\r\n ]\r\n})\r\nexport class CuteExpansionModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}