@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-tree.mjs","sources":["../../../../projects/cute-widgets/base/tree/src/node.ts","../../../../projects/cute-widgets/base/tree/src/padding.ts","../../../../projects/cute-widgets/base/tree/src/outlet.ts","../../../../projects/cute-widgets/base/tree/src/tree.ts","../../../../projects/cute-widgets/base/tree/src/toggle.ts","../../../../projects/cute-widgets/base/tree/src/data-source/flat-data-source.ts","../../../../projects/cute-widgets/base/tree/src/data-source/nested-data-source.ts","../../../../projects/cute-widgets/base/tree/src/tree.module.ts","../../../../projects/cute-widgets/base/tree/cute-widgets-base-tree.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 CDK_TREE_NODE_OUTLET_NODE,\r\n CdkNestedTreeNode,\r\n CdkTreeNode,\r\n CdkTreeNodeDef,\r\n} from '@angular/cdk/tree';\r\nimport {\r\n AfterContentInit,\r\n Directive,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n booleanAttribute,\r\n numberAttribute, inject, HostAttributeToken,\r\n} from '@angular/core';\r\nimport {NoopTreeKeyManager, TreeKeyManagerItem, TreeKeyManagerStrategy} from \"@angular/cdk/a11y\";\r\n\r\n/**\r\n * Determine if argument TreeKeyManager is the NoopTreeKeyManager. This function is safe to use with SSR.\r\n */\r\nfunction isNoopTreeKeyManager<T extends TreeKeyManagerItem>(\r\n keyManager: TreeKeyManagerStrategy<T>,\r\n): keyManager is NoopTreeKeyManager<T> {\r\n return !!(keyManager as NoopTreeKeyManager<T>)._isNoopTreeKeyManager;\r\n}\r\n\r\n/**\r\n * Wrapper for the CdkTree node with CuteWidget's design styles.\r\n */\r\n@Directive({\r\n selector: 'cute-tree-node',\r\n exportAs: 'cuteTreeNode',\r\n inputs: ['cdkTreeNodeTypeaheadLabel: cuteTreeNodeTypeaheadLabel'],\r\n outputs: ['activation', 'expandedChange'],\r\n providers: [{provide: CdkTreeNode, useExisting: CuteTreeNode}],\r\n host: {\r\n 'class': 'cute-tree-node',\r\n '[attr.aria-expanded]': '_getAriaExpanded()',\r\n '[attr.aria-level]': 'level + 1',\r\n '[attr.aria-posinset]': '_getPositionInSet()',\r\n '[attr.aria-setsize]': '_getSetSize()',\r\n '(click)': '_focusItem()',\r\n '[tabindex]': '_getTabindexAttribute()',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteTreeNode<T, K = T> extends CdkTreeNode<T, K> implements OnInit, OnDestroy {\r\n /**\r\n * The tabindex of the tree node.\r\n *\r\n * @deprecated By default CuteTreeNode manages focus using TreeKeyManager instead of tabIndex.\r\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager from getting into\r\n * an unexpected state. Tabindex to be removed in a future version.\r\n * @breaking-change 21.0.0 Remove this attribute.\r\n */\r\n @Input({\r\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\r\n alias: 'tabIndex',\r\n })\r\n get tabIndexInputBinding(): number { return this._tabIndexInputBinding; }\r\n set tabIndexInputBinding(value: number) {\r\n // If the specified tabIndex value is null or undefined, fall back to the default value.\r\n this._tabIndexInputBinding = value;\r\n }\r\n private _tabIndexInputBinding: number = 0;\r\n\r\n /**\r\n * The default tabindex of the tree node.\r\n *\r\n * @deprecated By default CuteTreeNode manages focus using TreeKeyManager instead of tabIndex.\r\n * Recommend to avoid setting tabIndex directly to prevent TreeKeyManager form getting into\r\n * an unexpected state. Tabindex to be removed in a future version.\r\n * @breaking-change 21.0.0 Remove this attribute.\r\n */\r\n defaultTabIndex = 0;\r\n\r\n protected _getTabindexAttribute() {\r\n if (isNoopTreeKeyManager(this._tree._keyManager)) {\r\n return this.tabIndexInputBinding;\r\n }\r\n return this._tabindex;\r\n }\r\n\r\n /**\r\n * Whether the component is disabled.\r\n *\r\n * @deprecated This is an alias for `isDisabled`.\r\n * @breaking-change 21.0.0 Remove this input\r\n */\r\n @Input({transform: booleanAttribute})\r\n get disabled(): boolean { return this.isDisabled; }\r\n set disabled(value: boolean) { this.isDisabled = value; }\r\n\r\n constructor(...args: unknown[]);\r\n constructor() {\r\n super();\r\n const tabIndex = inject(new HostAttributeToken('tabindex'), {optional: true});\r\n this.tabIndexInputBinding = Number(tabIndex) || this.defaultTabIndex;\r\n }\r\n\r\n // This is a workaround for https://github.com/angular/angular/issues/23091\r\n // In aot mode, the lifecycle hooks from parent class are not called.\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n }\r\n}\r\n\r\n/**\r\n * Wrapper for the CdkTree node definition with CuteWidgets' design styles.\r\n * Captures the node's template and a `when` predicate that describes when this node should be used.\r\n */\r\n@Directive({\r\n selector: '[cuteTreeNodeDef]',\r\n inputs: ['when: cuteTreeNodeDefWhen'],\r\n providers: [{provide: CdkTreeNodeDef, useExisting: CuteTreeNodeDef}],\r\n standalone: true,\r\n})\r\nexport class CuteTreeNodeDef<T> extends CdkTreeNodeDef<T> {\r\n @Input('cuteTreeNode') data: T | undefined;\r\n}\r\n\r\n/**\r\n * Wrapper for the CdkTree nested node with CuteWidgets' design styles.\r\n */\r\n@Directive({\r\n selector: 'cute-nested-tree-node',\r\n exportAs: 'cuteNestedTreeNode',\r\n outputs: ['activation', 'expandedChange'],\r\n providers: [\r\n {provide: CdkNestedTreeNode, useExisting: CuteNestedTreeNode},\r\n {provide: CdkTreeNode, useExisting: CuteNestedTreeNode},\r\n {provide: CDK_TREE_NODE_OUTLET_NODE, useExisting: CuteNestedTreeNode},\r\n ],\r\n host: {\r\n 'class': 'cute-nested-tree-node',\r\n },\r\n standalone: true,\r\n})\r\nexport class CuteNestedTreeNode<T, K = T> extends CdkNestedTreeNode<T, K>\r\n implements AfterContentInit, OnDestroy, OnInit\r\n{\r\n @Input('cuteNestedTreeNode') node: T | undefined;\r\n\r\n /**\r\n * Whether the node is disabled.\r\n *\r\n * @deprecated This is an alias for `isDisabled`.\r\n * @breaking-change 21.0.0 Remove this input\r\n */\r\n @Input({transform: booleanAttribute})\r\n get disabled(): boolean {return this.isDisabled; }\r\n set disabled(value: boolean) {this.isDisabled = value;}\r\n\r\n /** Tabindex of the node. */\r\n @Input({\r\n transform: (value: unknown) => (value == null ? 0 : numberAttribute(value)),\r\n })\r\n get tabIndex(): number { return this.isDisabled ? -1 : this._tabIndex; }\r\n set tabIndex(value: number) {\r\n // If the specified tabIndex value is null or undefined, fall back to the default value.\r\n this._tabIndex = value;\r\n }\r\n private _tabIndex: number = 0;\r\n\r\n // This is a workaround for https://github.com/angular/angular/issues/19145\r\n // In aot mode, the lifecycle hooks from parent class are not called.\r\n // TODO(tinayuangao): Remove when the angular issue #19145 is fixed\r\n override ngOnInit() {\r\n super.ngOnInit();\r\n }\r\n\r\n override ngAfterContentInit() {\r\n super.ngAfterContentInit();\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\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 {CdkTreeNodePadding} from '@angular/cdk/tree';\r\nimport {Directive, Input, numberAttribute} from '@angular/core';\r\n\r\n/**\r\n * Wrapper for the CdkTree padding with **CuteWidgets** design styles.\r\n */\r\n@Directive({\r\n selector: '[cuteTreeNodePadding]',\r\n providers: [{provide: CdkTreeNodePadding, useExisting: CuteTreeNodePadding}],\r\n standalone: true,\r\n})\r\nexport class CuteTreeNodePadding<T, K = T> extends CdkTreeNodePadding<T, K> {\r\n /** The level of depth of the tree node. The padding will be `level * indent` pixels. */\r\n @Input({alias: 'cuteTreeNodePadding', transform: numberAttribute})\r\n override get level(): number { return this._level; }\r\n override set level(value: number) { this._setLevelInput(value); }\r\n\r\n /** The indent for each level. Default number 40px from material design menu submenu spec. */\r\n @Input('cuteTreeNodePaddingIndent')\r\n override get indent(): number | string { return this._indent; }\r\n override set indent(indent: number | string) { this._setIndentInput(indent); }\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 {CDK_TREE_NODE_OUTLET_NODE, CdkTreeNodeOutlet} from '@angular/cdk/tree';\r\nimport {Directive, inject, ViewContainerRef} from '@angular/core';\r\n\r\n/**\r\n * Outlet for nested CdkNode. Put `[cuteTreeNodeOutlet]` on a tag to place children dataNodes\r\n * inside the outlet.\r\n */\r\n@Directive({\r\n selector: '[cuteTreeNodeOutlet]',\r\n providers: [\r\n {\r\n provide: CdkTreeNodeOutlet,\r\n useExisting: CuteTreeNodeOutlet,\r\n },\r\n ],\r\n standalone: true,\r\n})\r\nexport class CuteTreeNodeOutlet implements CdkTreeNodeOutlet {\r\n readonly viewContainer = inject(ViewContainerRef);\r\n readonly _node = inject(CDK_TREE_NODE_OUTLET_NODE, {optional: true});\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 {CdkTree} from '@angular/cdk/tree';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component, EventEmitter, Input,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {CuteTreeNodeOutlet} from './outlet';\r\nimport {Subject, throttleTime} from \"rxjs\";\r\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\";\r\nimport {distinctUntilChanged} from \"rxjs/operators\";\r\nimport {ListRange} from \"@angular/cdk/collections\";\r\n\r\n/**\r\n * Wrapper for the CdkTable with **CuteWidgets** design styles.\r\n */\r\n@Component({\r\n selector: 'cute-tree',\r\n exportAs: 'cuteTree',\r\n template: `<ng-container cuteTreeNodeOutlet></ng-container>`,\r\n host: {\r\n 'class': 'cute-tree',\r\n 'role': 'tree',\r\n },\r\n styleUrls: ['./tree.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n // See note on CdkTree for explanation on why this uses the default change detection strategy.\r\n // tslint:disable-next-line:validate-decorators\r\n changeDetection: ChangeDetectionStrategy.Default,\r\n providers: [{ provide: CdkTree, useExisting: CuteTree }],\r\n imports: [CuteTreeNodeOutlet]\r\n})\r\nexport class CuteTree<T, K = T> extends CdkTree<T, K> {\r\n\r\n private _renderChanges = new Subject<T[]>();\r\n\r\n /** Event emitted on each change in the rendered data. */\r\n @Output() renderNodesChange = new EventEmitter<T[]>();\r\n\r\n // Outlets within the tree's template where the dataNodes will be inserted.\r\n // We need an initializer here to avoid a TS error. The value will be set in `ngAfterViewInit`.\r\n @ViewChild(CuteTreeNodeOutlet, {static: true}) override _nodeOutlet: CuteTreeNodeOutlet =\r\n undefined!;\r\n\r\n constructor() {\r\n super();\r\n this._renderChanges\r\n .pipe(takeUntilDestroyed())\r\n .subscribe(nodes => this.renderNodesChange.emit(nodes));\r\n }\r\n\r\n override renderNodeChanges(data: T[]) {\r\n // We generate an event before calling the ancestor, otherwise\r\n // the content of `data` array will not be correct !!!???\r\n this._renderChanges.next(data);\r\n super.renderNodeChanges(data);\r\n }\r\n\r\n override ngOnDestroy() {\r\n super.ngOnDestroy();\r\n this._renderChanges.complete();\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 {CdkTreeNodeToggle} from '@angular/cdk/tree';\r\nimport {Directive} from '@angular/core';\r\n\r\n/**\r\n * Wrapper for the CdkTree's toggle with **CuteWidgets** design styles.\r\n */\r\n@Directive({\r\n selector: '[cuteTreeNodeToggle]',\r\n providers: [{provide: CdkTreeNodeToggle, useExisting: CuteTreeNodeToggle}],\r\n inputs: ['recursive: cuteTreeNodeToggleRecursive'],\r\n standalone: true,\r\n})\r\nexport class CuteTreeNodeToggle<T, K = T> extends CdkTreeNodeToggle<T, K> {}\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\r\nimport {FlatTreeControl, TreeControl} from '@angular/cdk/tree';\r\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\r\nimport {map, take} from 'rxjs/operators';\r\n\r\n/**\r\n * Tree flattener to convert a normal type of node to node with children & level information.\r\n * Transform nested nodes of type `T` to flattened nodes of type `F`.\r\n *\r\n * For example, the input data of type `T` is nested, and contains its children data:\r\n * SomeNode: {\r\n * key: 'Fruits',\r\n * children: [\r\n * NodeOne: {\r\n * key: 'Apple',\r\n * },\r\n * NodeTwo: {\r\n * key: 'Pear',\r\n * }\r\n * ]\r\n * }\r\n * After flattener flatten the tree, the structure will become\r\n * SomeNode: {\r\n * key: 'Fruits',\r\n * expandable: true,\r\n * level: 1\r\n * },\r\n * NodeOne: {\r\n * key: 'Apple',\r\n * expandable: false,\r\n * level: 2\r\n * },\r\n * NodeTwo: {\r\n * key: 'Pear',\r\n * expandable: false,\r\n * level: 2\r\n * }\r\n * and the output flattened type is `F` with additional information.\r\n */\r\nexport class CuteTreeFlattener<T, F, K = F> {\r\n constructor(\r\n public transformFunction: (node: T, level: number) => F,\r\n public getLevel: (node: F) => number,\r\n public isExpandable: (node: F) => boolean,\r\n public getChildren: (node: T) => Observable<T[]> | T[] | undefined | null,\r\n ) {}\r\n\r\n private _flattenNode(node: T, level: number, resultNodes: F[], parentMap: boolean[]): F[] {\r\n const flatNode = this.transformFunction(node, level);\r\n resultNodes.push(flatNode);\r\n\r\n if (this.isExpandable(flatNode)) {\r\n const childrenNodes = this.getChildren(node);\r\n if (childrenNodes) {\r\n if (Array.isArray(childrenNodes)) {\r\n this._flattenChildren(childrenNodes, level, resultNodes, parentMap);\r\n } else {\r\n childrenNodes.pipe(take(1)).subscribe(children => {\r\n this._flattenChildren(children, level, resultNodes, parentMap);\r\n });\r\n }\r\n }\r\n }\r\n return resultNodes;\r\n }\r\n\r\n private _flattenChildren(children: T[], level: number, resultNodes: F[], parentMap: boolean[]): void {\r\n children.forEach((child, index) => {\r\n let childParentMap: boolean[] = parentMap.slice();\r\n childParentMap.push(index != children.length - 1);\r\n this._flattenNode(child, level + 1, resultNodes, childParentMap);\r\n });\r\n }\r\n\r\n /**\r\n * Flatten a list of node type T to a flattened version of node F.\r\n * Please note that type T may be nested, and the length of `structuredData` may be different\r\n * from that of a returned list `F[]`.\r\n */\r\n flattenNodes(structuredData: T[]): F[] {\r\n let resultNodes: F[] = [];\r\n structuredData.forEach(node => this._flattenNode(node, 0, resultNodes, []));\r\n return resultNodes;\r\n }\r\n\r\n /**\r\n * Expand flattened node with current expansion status.\r\n * The returned list may have different length.\r\n */\r\n expandFlattenedNodes(nodes: F[], treeControl: TreeControl<F, K>): F[] {\r\n let results: F[] = [];\r\n let currentExpand: boolean[] = [];\r\n currentExpand[0] = true;\r\n\r\n nodes.forEach(node => {\r\n let expand = true;\r\n for (let i = 0; i <= this.getLevel(node); i++) {\r\n expand = expand && currentExpand[i];\r\n }\r\n if (expand) {\r\n results.push(node);\r\n }\r\n if (this.isExpandable(node)) {\r\n currentExpand[this.getLevel(node) + 1] = treeControl.isExpanded(node);\r\n }\r\n });\r\n return results;\r\n }\r\n}\r\n\r\n/**\r\n * Data source for a flat tree.\r\n * The data source needs to handle expansion/collapsion of the tree node and change the data feed\r\n * to `CuteTree`.\r\n * The nested tree nodes of type `T` are flattened through `CuteTreeFlattener`, and converted\r\n * to type `F` for `CuteTree` to consume.\r\n */\r\nexport class CuteTreeFlatDataSource<T, F, K = F> extends DataSource<F> {\r\n private readonly _flattenedData = new BehaviorSubject<F[]>([]);\r\n private readonly _expandedData = new BehaviorSubject<F[]>([]);\r\n\r\n get data() {\r\n return this._data.value;\r\n }\r\n set data(value: T[]) {\r\n this._data.next(value);\r\n this._flattenedData.next(this._treeFlattener.flattenNodes(this.data));\r\n this._treeControl.dataNodes = this._flattenedData.value;\r\n }\r\n private readonly _data = new BehaviorSubject<T[]>([]);\r\n\r\n constructor(\r\n private _treeControl: FlatTreeControl<F, K>,\r\n private _treeFlattener: CuteTreeFlattener<T, F, K>,\r\n initialData?: T[],\r\n ) {\r\n super();\r\n\r\n if (initialData) {\r\n // Assign the data through the constructor to ensure that all of the logic is executed.\r\n this.data = initialData;\r\n }\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<F[]> {\r\n return merge(\r\n collectionViewer.viewChange,\r\n this._treeControl.expansionModel.changed,\r\n this._flattenedData,\r\n ).pipe(\r\n map(() => {\r\n this._expandedData.next(\r\n this._treeFlattener.expandFlattenedNodes(this._flattenedData.value, this._treeControl),\r\n );\r\n return this._expandedData.value;\r\n }),\r\n );\r\n }\r\n\r\n disconnect() {\r\n // no op\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 {CollectionViewer, DataSource} from '@angular/cdk/collections';\r\nimport {BehaviorSubject, merge, Observable} from 'rxjs';\r\nimport {map} from 'rxjs/operators';\r\n\r\n/**\r\n * Data source for a nested tree.\r\n *\r\n * The data source for a nested tree doesn't have to consider node flattener, or the way to expand\r\n * or collapse. The expansion/collapsion will be handled by TreeControl and each non-leaf node.\r\n */\r\nexport class CuteTreeNestedDataSource<T> extends DataSource<T> {\r\n /**\r\n * Data for the nested tree\r\n */\r\n get data(): T[] { return this._data.value; }\r\n set data(value: T[]) {\r\n this._data.next(value);\r\n }\r\n private readonly _data = new BehaviorSubject<T[]>([]);\r\n\r\n connect(collectionViewer: CollectionViewer): Observable<T[]> {\r\n return merge(...([collectionViewer.viewChange, this._data] as Observable<unknown>[])).pipe(\r\n map(() => this.data),\r\n );\r\n }\r\n\r\n disconnect() {\r\n // no op\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 {CdkTreeModule} from \"@angular/cdk/tree\";\r\nimport {CuteNestedTreeNode, CuteTreeNode, CuteTreeNodeDef} from \"./node\";\r\nimport {CuteTreeNodeToggle} from \"./toggle\";\r\nimport {CuteTree} from \"./tree\";\r\nimport {CuteTreeNodeOutlet} from \"./outlet\";\r\nimport {CuteTreeNodePadding} from \"./padding\";\r\n\r\nconst TYPES: (any | Type<any>)[] = [\r\n CuteNestedTreeNode,\r\n CuteTreeNodeDef,\r\n CuteTreeNodePadding,\r\n CuteTreeNodeToggle,\r\n CuteTree,\r\n CuteTreeNode,\r\n CuteTreeNodeOutlet,\r\n];\r\n\r\n@NgModule({\r\n imports: [CdkTreeModule, ...TYPES],\r\n exports: TYPES,\r\n declarations: [],\r\n})\r\nexport class CuteTreeModule {\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ var name = "@cute-widgets/base";
2
+ var version = "20.0.1";
3
+ var license = "Apache-2.0";
4
+ var homepage = "https://github.com/cute-widgets/base#README.md";
5
+ var repository = {
6
+ type: "git",
7
+ url: "git+https://github.com/cute-widgets/base.git"
8
+ };
9
+ var bugs = {
10
+ url: "https://github.com/cute-widgets/base/issues"
11
+ };
12
+ var description = "Angular Material components styled with Bootstrap";
13
+ var author = "ALEXANDER STRELKOV <alv.strelkov@gmail.com>";
14
+ var keywords = [
15
+ "angular",
16
+ "components",
17
+ "widgets",
18
+ "cutewidgets",
19
+ "ui",
20
+ "bootstrap",
21
+ "material",
22
+ "frontend",
23
+ "webdev"
24
+ ];
25
+ var peerDependencies = {
26
+ "@angular/cdk": "^20.0.0",
27
+ "@angular/common": "^20.0.0",
28
+ "@angular/core": "^20.0.0",
29
+ bootstrap: "^5.3.0"
30
+ };
31
+ var dependencies = {
32
+ tslib: "^2.3.0"
33
+ };
34
+ var sideEffects = false;
35
+ var _package = {
36
+ name: name,
37
+ version: version,
38
+ license: license,
39
+ homepage: homepage,
40
+ repository: repository,
41
+ bugs: bugs,
42
+ description: description,
43
+ author: author,
44
+ keywords: keywords,
45
+ peerDependencies: peerDependencies,
46
+ dependencies: dependencies,
47
+ sideEffects: sideEffects
48
+ };
49
+
50
+ /**
51
+ * @license Apache-2.0
52
+ *
53
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
54
+ *
55
+ * You may not use this file except in compliance with the License
56
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
57
+ *
58
+ * @description
59
+ * Public API Surface of the base `CuteWidgets`.
60
+ */
61
+ const CUTE_WIDGETS_VERSION = String(version);
62
+
63
+ /**
64
+ * Generated bundle index. Do not edit.
65
+ */
66
+
67
+ export { CUTE_WIDGETS_VERSION };
68
+ //# sourceMappingURL=cute-widgets-base.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cute-widgets-base.mjs","sources":["../../../../projects/cute-widgets/base/index.ts","../../../../projects/cute-widgets/base/cute-widgets-base.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 * @description\r\n * Public API Surface of the base `CuteWidgets`.\r\n */\r\nimport {version} from \"./package.json\";\r\n\r\nexport const CUTE_WIDGETS_VERSION = String(version);\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;AAUG;MAGU,oBAAoB,GAAG,MAAM,CAAC,OAAO;;ACblD;;AAEG;;;;"}
@@ -0,0 +1,401 @@
1
+ import { Observable } from 'rxjs';
2
+ import { NgControl, AbstractControlDirective } from '@angular/forms';
3
+ import * as i0 from '@angular/core';
4
+ import { ElementRef, InjectionToken, OnInit, OnDestroy, AfterContentChecked, QueryList } from '@angular/core';
5
+ import { ThemeColor, RelativeSize3 } from '@cute-widgets/base/core';
6
+ import { RelativeSize } from '@cute-widgets/base/core/types';
7
+ import { CuteBaseControl } from '@cute-widgets/base/abstract';
8
+ import { BooleanInput } from '@angular/cdk/coercion';
9
+ import * as i1 from '@angular/common';
10
+
11
+ /**
12
+ * @license Apache-2.0
13
+ *
14
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
15
+ *
16
+ * You may not use this file except in compliance with the License
17
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
18
+ *
19
+ * This code is a modification of the `@angular/material` original
20
+ * code licensed under MIT-style License (https://angular.dev/license).
21
+ */
22
+
23
+ /** An interface which allows a control to work inside a `CuteFormField`. */
24
+ declare abstract class CuteFormFieldControl$1<T> {
25
+ /** The value of the control. */
26
+ value: T | null;
27
+ /**
28
+ * Stream that emits whenever the state of the control changes such that the parent `CuteFormField`
29
+ * needs to run change detection.
30
+ */
31
+ readonly stateChanges: Observable<void> | undefined;
32
+ /** The element ID for this control. */
33
+ readonly id: string | undefined;
34
+ /** The placeholder for this control. */
35
+ readonly placeholder: string | undefined;
36
+ /** Gets the `AbstractControlDirective` for this control. */
37
+ readonly ngControl: NgControl | AbstractControlDirective | null;
38
+ /** Whether the control is focused. */
39
+ readonly focused: boolean;
40
+ /** Whether the control is empty. */
41
+ readonly empty: boolean;
42
+ /** Whether the `CuteFormField` label should try to float. */
43
+ readonly shouldLabelFloat: boolean;
44
+ /** Whether the control is required. */
45
+ readonly required: boolean;
46
+ /** Whether the control is disabled. */
47
+ readonly disabled: boolean;
48
+ /** Whether the control is in an error state. */
49
+ readonly errorState: boolean;
50
+ /**
51
+ * An optional name for the control type that can be used to distinguish `cute-form-field` elements
52
+ * based on their control type. The form field will add a class,
53
+ * `cute-form-field-type-{{controlType}}` to its root element.
54
+ */
55
+ readonly controlType?: string;
56
+ /**
57
+ * Whether the input is currently in an autofilled state. If property is not present on the
58
+ * control, it is assumed to be false.
59
+ */
60
+ readonly autofilled?: boolean;
61
+ /**
62
+ * Value of `aria-describedby` that should be merged with the described-by ids,
63
+ * which are set by the form-field.
64
+ */
65
+ readonly userAriaDescribedBy?: string;
66
+ /**
67
+ * Whether to automatically assign the ID of the form field as the `for` attribute
68
+ * on the `<label>` inside the form field. Set this to true to prevent the form
69
+ * field from associating the label with non-native elements.
70
+ */
71
+ readonly disableAutomaticLabeling?: boolean;
72
+ /** Gets the list of element IDs that currently describe this control. */
73
+ readonly describedByIds?: string[];
74
+ /** Sets the list of element IDs that currently describe this control. */
75
+ abstract setDescribedByIds(ids: string[]): void;
76
+ /** Handles a click on the control's container. */
77
+ abstract onContainerClick(event: MouseEvent): void;
78
+ /** Gets the `ElementRef` for this control. */
79
+ readonly controlElementRef: ElementRef | undefined;
80
+ /** Changes the disabled state of this control. */
81
+ abstract setDisabledState(value: boolean): void;
82
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteFormFieldControl$1<any>, never>;
83
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteFormFieldControl$1<any>, never, never, {}, {}, never, never, true, never>;
84
+ }
85
+
86
+ /**
87
+ * @license Apache-2.0
88
+ *
89
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
90
+ *
91
+ * You may not use this file except in compliance with the License
92
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
93
+ */
94
+
95
+ /**
96
+ * Injection token that can be used to reference instances of `CutePrefix`. It serves as
97
+ * an alternative token to the actual `CutePrefix` class, which could cause unnecessary
98
+ * retention of the class and its directive metadata.
99
+ */
100
+ declare const CUTE_PREFIX: InjectionToken<CutePrefix>;
101
+ /** Prefix to be placed in front of the form field. */
102
+ declare class CutePrefix {
103
+ set _isTextSelector(value: '');
104
+ _isText: boolean;
105
+ static ɵfac: i0.ɵɵFactoryDeclaration<CutePrefix, never>;
106
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CutePrefix, "[cutePrefix], [cuteIconPrefix], [cuteTextPrefix]", never, { "_isTextSelector": { "alias": "cuteTextPrefix"; "required": false; }; }, {}, never, never, true, never>;
107
+ }
108
+
109
+ /**
110
+ * @license Apache-2.0
111
+ *
112
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
113
+ *
114
+ * You may not use this file except in compliance with the License
115
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
116
+ */
117
+
118
+ /**
119
+ * Injection token that can be used to reference instances of `CuteSuffix`. It serves as
120
+ * an alternative token to the actual `CuteSuffix` class which could cause unnecessary
121
+ * retention of the class and its directive metadata.
122
+ */
123
+ declare const CUTE_SUFFIX: InjectionToken<CuteSuffix>;
124
+ /** Suffix to be placed at the end of the form field. */
125
+ declare class CuteSuffix {
126
+ set _isTextSelector(value: '');
127
+ _isText: boolean;
128
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteSuffix, never>;
129
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteSuffix, "[cuteSuffix], [cuteIconSuffix], [cuteTextSuffix]", never, { "_isTextSelector": { "alias": "cuteTextSuffix"; "required": false; }; }, {}, never, never, true, never>;
130
+ }
131
+
132
+ /**
133
+ * @license Apache-2.0
134
+ *
135
+ * Copyright (c) 2025 CuteWidgets Team. All Rights Reserved.
136
+ *
137
+ * You may not use this file except in compliance with the License
138
+ * that can be found at http://www.apache.org/licenses/LICENSE-2.0
139
+ *
140
+ * This code is a modification of the `@angular/material` original
141
+ * code licensed under MIT-style License (https://angular.dev/license).
142
+ */
143
+
144
+ /**
145
+ * Injection token that can be used to reference instances of `CuteError`. It serves as
146
+ * an alternative token to the actual `CuteError` class, which could cause unnecessary
147
+ * retention of the class and its directive metadata.
148
+ */
149
+ declare const CUTE_ERROR: InjectionToken<CuteError>;
150
+ /** Single error message to be shown underneath the form-field. */
151
+ declare class CuteError implements OnInit, OnDestroy {
152
+ id: string;
153
+ constructor(...args: unknown[]);
154
+ ngOnInit(): void;
155
+ ngOnDestroy(): void;
156
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteError, [{ attribute: "aria-live"; }, null]>;
157
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteError, "cute-error, [cuteError]", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, never, true, never>;
158
+ }
159
+
160
+ /** Hint text to be shown underneath the form field control. */
161
+ declare class CuteHint {
162
+ /** Whether to align the hint label at the start or end of the line. */
163
+ align: 'start' | 'end';
164
+ /** Unique ID for the hint. Used for the `aria-describedby` on the form field control. */
165
+ id: string;
166
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteHint, never>;
167
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteHint, "cute-hint", ["cuteHint"], { "align": { "alias": "align"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, {}, never, never, true, never>;
168
+ }
169
+
170
+ /** The floating label for a `cute-form-field`. */
171
+ declare class CuteLabel {
172
+ private _elementRef;
173
+ /** Relative size (scale) of the label text. */
174
+ magnitude: RelativeSize | undefined;
175
+ /** Returns the label's current text. */
176
+ getText(): string;
177
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteLabel, never>;
178
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteLabel, "cute-label", never, { "magnitude": { "alias": "magnitude"; "required": false; }; }, {}, never, never, true, never>;
179
+ }
180
+
181
+ /** Type for the available floatLabel values. */
182
+ type FloatLabelType = 'never' | 'always' | 'auto';
183
+ /** Behaviors for how the subscript height is set. */
184
+ type SubscriptSizing = 'fixed' | 'dynamic';
185
+ /**
186
+ * Represents the default options for the form field that can be configured
187
+ * using the `CUTE_FORM_FIELD_DEFAULT_OPTIONS` injection token.
188
+ */
189
+ interface CuteFormFieldDefaultOptions {
190
+ /** Default form field appearance style. */
191
+ /** Default color of the form field. */
192
+ color?: ThemeColor;
193
+ /** Whether the required marker should be hidden by default. */
194
+ hideRequiredMarker?: boolean;
195
+ /** Whether the label for form fields should by default float */
196
+ floatLabel?: FloatLabelType;
197
+ /** Whether the form field should reserve space for one line by default. */
198
+ subscriptSizing?: SubscriptSizing;
199
+ }
200
+ /**
201
+ * Injection token that can be used to inject an instances of `CuteFormField`. It serves
202
+ * as an alternative token to the actual `CuteFormField` class which would cause unnecessary
203
+ * retention of the `CuteFormField` class and its component metadata.
204
+ */
205
+ declare const CUTE_FORM_FIELD: InjectionToken<CuteFormField>;
206
+ /**
207
+ * Injection token that can be used to configure the
208
+ * default options for all form fields within an app.
209
+ */
210
+ declare const CUTE_FORM_FIELD_DEFAULT_OPTIONS: InjectionToken<CuteFormFieldDefaultOptions>;
211
+ /**
212
+ * Despite `CuteFormFieldControl` being an abstract class, most of our usages enforce its shape
213
+ * using `implements` instead of `extends`. This appears to be problematic when Closure compiler
214
+ * is configured to use type information to rename properties, because it can't figure out which
215
+ * class properties are coming from. This interface seems to work around the issue while preserving
216
+ * our type safety (instead being using `any` everywhere).
217
+ * @docs-private
218
+ */
219
+ interface CuteFormFieldControl<T> extends CuteFormFieldControl$1<T> {
220
+ }
221
+ declare class CuteFormField extends CuteBaseControl implements AfterContentChecked {
222
+ _elementRef: ElementRef<any>;
223
+ private _dir;
224
+ private _platform;
225
+ private _ngZone;
226
+ private _defaults;
227
+ private _currentDirection;
228
+ _textField: ElementRef<HTMLElement> | undefined;
229
+ _labelChildNonStatic: CuteLabel | undefined;
230
+ _labelChildStatic: CuteLabel | undefined;
231
+ _formFieldControl: CuteFormFieldControl<any> | undefined;
232
+ _prefixChildren: QueryList<CutePrefix> | undefined;
233
+ _suffixChildren: QueryList<CuteSuffix> | undefined;
234
+ _errorChildren: QueryList<CuteError> | undefined;
235
+ _hintChildren: QueryList<CuteHint> | undefined;
236
+ private readonly _labelChild;
237
+ /** Whether to display the CSS styles for a _valid_ control status after it has been checked. */
238
+ get hideValidStyle(): boolean;
239
+ set hideValidStyle(hideValid: BooleanInput);
240
+ private _hideValidStyle;
241
+ /** Whether the required marker should be hidden. */
242
+ get hideRequiredMarker(): boolean;
243
+ set hideRequiredMarker(value: BooleanInput);
244
+ private _hideRequiredMarker;
245
+ /** The relative size of the form field */
246
+ magnitude: RelativeSize3 | undefined;
247
+ /** Whether the label should always float or float as the user types. */
248
+ get floatLabel(): FloatLabelType;
249
+ set floatLabel(value: FloatLabelType);
250
+ private _floatLabel;
251
+ /**
252
+ * Whether the form field should reserve space for one line of hint/error text (default)
253
+ * or to have the spacing grow from 0px as needed based on the size of the hint/error content.
254
+ * Note that when using dynamic sizing, layout shifts will occur when hint/error text changes.
255
+ */
256
+ get subscriptSizing(): SubscriptSizing;
257
+ set subscriptSizing(value: SubscriptSizing);
258
+ private _subscriptSizing;
259
+ /** Text for the form field hint. */
260
+ get hintLabel(): string;
261
+ set hintLabel(value: string);
262
+ private _hintLabel;
263
+ protected _hasIconPrefix: boolean;
264
+ protected _hasTextPrefix: boolean;
265
+ protected _hasIconSuffix: boolean;
266
+ protected _hasTextSuffix: boolean;
267
+ readonly _labelId: string;
268
+ readonly _hintLabelId: string;
269
+ private _describedByIds;
270
+ /** Gets the current form field control */
271
+ get _control(): CuteFormFieldControl<any> | undefined;
272
+ set _control(value: CuteFormFieldControl<any> | undefined);
273
+ private _explicitFormFieldControl;
274
+ /** Subject that emits when the component has been destroyed. */
275
+ private _destroyed;
276
+ private _isFocused;
277
+ private _needsOutlineLabelOffsetUpdate;
278
+ private _previousControl;
279
+ private _previousControlValidatorFn;
280
+ private _stateChanges;
281
+ private _valueChanges;
282
+ private _describedByChanges;
283
+ protected readonly _animationsDisabled: boolean;
284
+ private _injector;
285
+ /** Returns bootstrap's size suffix for CSS classes */
286
+ protected get magnitudeSuffix(): string;
287
+ get _isFloatLabel(): boolean;
288
+ protected generateId(): string;
289
+ constructor(...args: unknown[]);
290
+ protected setDisabledState(newState: BooleanInput, emitEvent?: boolean): boolean;
291
+ ngAfterViewInit(): void;
292
+ ngAfterContentInit(): void;
293
+ ngAfterContentChecked(): void;
294
+ ngOnDestroy(): void;
295
+ /**
296
+ * Gets the id of the label element. If no label is present, returns `null`.
297
+ */
298
+ getLabelId: i0.Signal<string | null>;
299
+ /**
300
+ * Gets an ElementRef for the element that an overlay attached to the form field
301
+ * should be positioned relative to.
302
+ */
303
+ getConnectedOverlayOrigin(): ElementRef;
304
+ /** Animates the placeholder up and locks it in position. */
305
+ _animateAndLockLabel(): void;
306
+ /**
307
+ * Toggles Bootstrap's validation classes `is-valid` & `is-invalid`.
308
+ * @param hideValid Whether to remove Bootstrap's `is-valid` class.
309
+ */
310
+ protected displayValidity(hideValid?: boolean): void;
311
+ /** Initializes the registered form field control. */
312
+ private _initializeControl;
313
+ private _checkPrefixAndSuffixTypes;
314
+ /** Initializes the prefix and suffix containers. */
315
+ private _initializePrefixAndSuffix;
316
+ /**
317
+ * Initializes the subscript by validating hints and synchronizing "aria-describedby" ids
318
+ * with the custom form field control. Also subscribe to hint and error changes
319
+ * to be able to validate and synchronize ids on change.
320
+ */
321
+ private _initializeSubscript;
322
+ /** Throws an error if the form field's control is missing. */
323
+ private _assertFormFieldControl;
324
+ private _updateFocusState;
325
+ /**
326
+ * The floating label in the docked state needs to account for prefixes. The horizontal offset
327
+ * is calculated whenever the appearance changes to `outline`, the prefixes change, or when the
328
+ * form field is added to the DOM. This method sets up all subscriptions that are needed to
329
+ * trigger the label offset update. In general, we want to avoid performing measurements often,
330
+ * so we rely on the `NgZone` as indicator when the offset should be recalculated, instead of
331
+ * checking every change detection cycle.
332
+ * @deprecated
333
+ */
334
+ private _initializeOutlineLabelOffsetSubscriptions;
335
+ /** Is there any `<cute-label>` in the form field? */
336
+ protected _hasFloatingLabel: i0.Signal<boolean>;
337
+ /** Whether the floating label should always float or not. */
338
+ protected _shouldAlwaysFloat(): boolean;
339
+ /** <cute-datepicker> uses this method */
340
+ _shouldLabelFloat(): boolean;
341
+ /**
342
+ * Determines whether a class from the AbstractControlDirective
343
+ * should be forwarded to the host element.
344
+ */
345
+ protected _shouldForward(prop: keyof AbstractControlDirective): boolean;
346
+ /**
347
+ * Determines whether to display hints or errors.
348
+ * @author A.Strelkov:
349
+ * + Add _undefined_ to return value when no hints and errors exist.
350
+ * + Change to `protected`.
351
+ */
352
+ protected _getSubscriptMessageType(): 'error' | 'hint' | undefined;
353
+ /** Does any extra processing required when handling the hints. */
354
+ private _processHints;
355
+ /**
356
+ * Ensure that there is a maximum of one of each "cute-hint" alignment specified. The hint
357
+ * label specified set through the input is being considered as "start" aligned.
358
+ *
359
+ * This method is a noop if Angular runs in production mode.
360
+ */
361
+ private _validateHints;
362
+ /**
363
+ * Sets the list of element IDs that describe the child control. This allows the control to update
364
+ * its `aria-describedby` attribute accordingly.
365
+ */
366
+ private _syncDescribedByIds;
367
+ /**
368
+ * Calculates the horizontal offset of the label in the outline appearance. In the outline
369
+ * appearance, the notched-outline and label are not relative to the infix container because
370
+ * the outline intends to surround prefixes, suffixes and the infix. This means that the
371
+ * floating label by default overlaps prefixes in the docked state. To avoid this, we need to
372
+ * horizontally offset the label by the width of the prefix container. The MDC text-field does
373
+ * not need to do this because they use a fixed width for prefixes. Hence, they can simply
374
+ * incorporate the horizontal offset into their default text-field styles.
375
+ */
376
+ private _getOutlinedLabelOffset;
377
+ /** Checks whether the form field is attached to the DOM. */
378
+ private _isAttachedToDom;
379
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteFormField, never>;
380
+ static ɵcmp: i0.ɵɵComponentDeclaration<CuteFormField, "cute-form-field", ["cuteFormField"], { "hideValidStyle": { "alias": "hideValidStyle"; "required": false; }; "hideRequiredMarker": { "alias": "hideRequiredMarker"; "required": false; }; "magnitude": { "alias": "magnitude"; "required": false; }; "floatLabel": { "alias": "floatLabel"; "required": false; }; "subscriptSizing": { "alias": "subscriptSizing"; "required": false; }; "hintLabel": { "alias": "hintLabel"; "required": false; }; }, {}, ["_labelChild", "_labelChildNonStatic", "_labelChildStatic", "_formFieldControl", "_prefixChildren", "_suffixChildren", "_errorChildren", "_hintChildren"], ["cute-label", "[cutePrefix], [cuteIconPrefix]", "[cuteTextPrefix]", "*", "[cuteTextSuffix]", "[cuteSuffix], [cuteIconSuffix]", "cute-error, [cuteError]", "cute-hint:not([align='end'])", "cute-hint[align='end']"], true, never>;
381
+ }
382
+
383
+ /** Intro text to be shown underneath the label of the form field control. */
384
+ declare class CuteIntro {
385
+ private _elementRef;
386
+ /** Relative size (scale) of the intro text */
387
+ magnitude: RelativeSize | undefined;
388
+ /** Returns the intro's current text. */
389
+ getText(): string;
390
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteIntro, never>;
391
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CuteIntro, "cute-intro", ["cuteIntro"], { "magnitude": { "alias": "magnitude"; "required": false; }; }, {}, never, never, true, never>;
392
+ }
393
+
394
+ declare class CuteFormFieldModule {
395
+ static ɵfac: i0.ɵɵFactoryDeclaration<CuteFormFieldModule, never>;
396
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CuteFormFieldModule, never, [typeof i1.CommonModule, typeof CuteFormField, typeof CuteLabel, typeof CuteIntro, typeof CuteHint, typeof CutePrefix, typeof CuteSuffix, typeof CuteError], [typeof CuteFormField, typeof CuteLabel, typeof CuteIntro, typeof CuteHint, typeof CutePrefix, typeof CuteSuffix, typeof CuteError]>;
397
+ static ɵinj: i0.ɵɵInjectorDeclaration<CuteFormFieldModule>;
398
+ }
399
+
400
+ export { CUTE_ERROR, CUTE_FORM_FIELD, CUTE_FORM_FIELD_DEFAULT_OPTIONS, CUTE_PREFIX, CUTE_SUFFIX, CuteError, CuteFormField, CuteFormFieldControl$1 as CuteFormFieldControl, CuteFormFieldModule, CuteHint, CuteIntro, CuteLabel, CutePrefix, CuteSuffix };
401
+ export type { CuteFormFieldDefaultOptions, FloatLabelType, SubscriptSizing };