@daffodil/design 0.90.0 → 0.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/accordion/index.d.ts +8 -5
  2. package/article/README.md +1 -1
  3. package/article/index.d.ts +20 -0
  4. package/article/src/article-theme.scss +10 -0
  5. package/button/index.d.ts +4 -4
  6. package/button/src/button/button-base.scss +3 -3
  7. package/button/src/button/raised/raised-theme.scss +2 -2
  8. package/card/README.md +0 -8
  9. package/card/index.d.ts +7 -41
  10. package/card/src/card-base-theme.scss +2 -5
  11. package/card/src/card-base.scss +2 -2
  12. package/checkbox/README.md +0 -0
  13. package/checkbox/index.d.ts +177 -0
  14. package/fesm2022/daffodil-design-accordion.mjs +23 -14
  15. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  16. package/fesm2022/daffodil-design-article.mjs +129 -5
  17. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  18. package/fesm2022/daffodil-design-button.mjs +24 -20
  19. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  20. package/fesm2022/daffodil-design-card.mjs +16 -63
  21. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  22. package/fesm2022/daffodil-design-checkbox.mjs +317 -0
  23. package/fesm2022/daffodil-design-checkbox.mjs.map +1 -0
  24. package/fesm2022/daffodil-design-form-field.mjs +35 -65
  25. package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
  26. package/fesm2022/daffodil-design-form.mjs +62 -0
  27. package/fesm2022/daffodil-design-form.mjs.map +1 -0
  28. package/fesm2022/daffodil-design-image.mjs +12 -4
  29. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  30. package/fesm2022/daffodil-design-modal.mjs +55 -56
  31. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  32. package/fesm2022/daffodil-design-notification.mjs +14 -50
  33. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  34. package/fesm2022/daffodil-design-paginator.mjs +6 -11
  35. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-quantity-field.mjs +3 -5
  37. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-radio.mjs +13 -42
  39. package/fesm2022/daffodil-design-radio.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-sidebar.mjs +6 -36
  41. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-switch.mjs +48 -105
  43. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-tabs.mjs +22 -14
  45. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-toast.mjs +56 -55
  47. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-tree.mjs +4 -13
  49. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  50. package/fesm2022/daffodil-design.mjs +250 -461
  51. package/fesm2022/daffodil-design.mjs.map +1 -1
  52. package/form/README.md +75 -0
  53. package/form/index.d.ts +27 -0
  54. package/form-field/README.md +49 -39
  55. package/form-field/index.d.ts +56 -36
  56. package/image/README.md +27 -19
  57. package/image/index.d.ts +6 -1
  58. package/index.d.ts +180 -259
  59. package/input/README.md +32 -12
  60. package/modal/README.md +106 -16
  61. package/modal/index.d.ts +50 -21
  62. package/native-select/README.md +52 -15
  63. package/notification/index.d.ts +7 -38
  64. package/package.json +1 -1
  65. package/paginator/index.d.ts +1 -7
  66. package/radio/index.d.ts +0 -16
  67. package/scss/layout/_breakpoint.scss +1 -1
  68. package/scss/theme.scss +2 -4
  69. package/scss/theming/_color-palettes.scss +21 -7
  70. package/scss/theming/_configure-theme.scss +11 -10
  71. package/scss/theming/_daff-theme.scss +5 -14
  72. package/scss/theming/_get-base-color.scss +2 -2
  73. package/scss/theming/_get-palette.scss +2 -2
  74. package/scss/theming/_get-theme-mode.scss +3 -3
  75. package/scss/theming/_index.scss +2 -1
  76. package/scss/theming/contrast/max-contrast/max-contrast.scss +3 -3
  77. package/scss/theming/contrast/text-contrast/text-contrast.scss +22 -16
  78. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +57 -0
  79. package/scss/theming/create-theme/_create-theme.scss +330 -0
  80. package/scss/theming/create-theme/_create-theme.spec.scss +122 -0
  81. package/scss/theming/create-theme/_index.scss +1 -0
  82. package/scss/theming/get-font-colors/_get-font-colors.scss +36 -0
  83. package/scss/theming/get-font-colors/_get-font-colors.spec.scss +72 -0
  84. package/scss/typography/mixins/_font-weight.scss +8 -14
  85. package/select/README.md +107 -4
  86. package/sidebar/README.md +0 -8
  87. package/sidebar/index.d.ts +3 -15
  88. package/switch/README.md +19 -27
  89. package/switch/index.d.ts +18 -48
  90. package/switch/src/switch-theme.scss +26 -18
  91. package/tabs/index.d.ts +7 -4
  92. package/tag/src/tag-theme.scss +11 -9
  93. package/textarea/README.md +35 -5
  94. package/tree/index.d.ts +0 -6
  95. package/tree/src/tree-theme.scss +0 -4
  96. package/accordion/examples/index.d.ts +0 -20
  97. package/article/examples/index.d.ts +0 -50
  98. package/breadcrumb/examples/index.d.ts +0 -10
  99. package/button/examples/index.d.ts +0 -67
  100. package/callout/examples/index.d.ts +0 -41
  101. package/card/examples/index.d.ts +0 -62
  102. package/card/src/card/raised/raised-theme.scss +0 -28
  103. package/checkbox/examples/index.d.ts +0 -32
  104. package/container/examples/index.d.ts +0 -16
  105. package/fesm2022/daffodil-design-accordion-examples.mjs +0 -50
  106. package/fesm2022/daffodil-design-accordion-examples.mjs.map +0 -1
  107. package/fesm2022/daffodil-design-article-examples.mjs +0 -134
  108. package/fesm2022/daffodil-design-article-examples.mjs.map +0 -1
  109. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +0 -46
  110. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +0 -1
  111. package/fesm2022/daffodil-design-button-examples.mjs +0 -178
  112. package/fesm2022/daffodil-design-button-examples.mjs.map +0 -1
  113. package/fesm2022/daffodil-design-callout-examples.mjs +0 -116
  114. package/fesm2022/daffodil-design-callout-examples.mjs.map +0 -1
  115. package/fesm2022/daffodil-design-card-examples.mjs +0 -168
  116. package/fesm2022/daffodil-design-card-examples.mjs.map +0 -1
  117. package/fesm2022/daffodil-design-checkbox-examples.mjs +0 -76
  118. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +0 -1
  119. package/fesm2022/daffodil-design-container-examples.mjs +0 -41
  120. package/fesm2022/daffodil-design-container-examples.mjs.map +0 -1
  121. package/fesm2022/daffodil-design-form-field-examples.mjs +0 -96
  122. package/fesm2022/daffodil-design-form-field-examples.mjs.map +0 -1
  123. package/fesm2022/daffodil-design-hero-examples.mjs +0 -121
  124. package/fesm2022/daffodil-design-hero-examples.mjs.map +0 -1
  125. package/fesm2022/daffodil-design-image-examples.mjs +0 -58
  126. package/fesm2022/daffodil-design-image-examples.mjs.map +0 -1
  127. package/fesm2022/daffodil-design-input-examples.mjs +0 -108
  128. package/fesm2022/daffodil-design-input-examples.mjs.map +0 -1
  129. package/fesm2022/daffodil-design-list-examples.mjs +0 -77
  130. package/fesm2022/daffodil-design-list-examples.mjs.map +0 -1
  131. package/fesm2022/daffodil-design-loading-icon-examples.mjs +0 -44
  132. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +0 -1
  133. package/fesm2022/daffodil-design-media-gallery-examples.mjs +0 -104
  134. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +0 -1
  135. package/fesm2022/daffodil-design-menu-examples.mjs +0 -50
  136. package/fesm2022/daffodil-design-menu-examples.mjs.map +0 -1
  137. package/fesm2022/daffodil-design-modal-examples.mjs +0 -51
  138. package/fesm2022/daffodil-design-modal-examples.mjs.map +0 -1
  139. package/fesm2022/daffodil-design-native-select-examples.mjs +0 -71
  140. package/fesm2022/daffodil-design-native-select-examples.mjs.map +0 -1
  141. package/fesm2022/daffodil-design-navbar-examples.mjs +0 -88
  142. package/fesm2022/daffodil-design-navbar-examples.mjs.map +0 -1
  143. package/fesm2022/daffodil-design-notification-examples.mjs +0 -102
  144. package/fesm2022/daffodil-design-notification-examples.mjs.map +0 -1
  145. package/fesm2022/daffodil-design-paginator-examples.mjs +0 -59
  146. package/fesm2022/daffodil-design-paginator-examples.mjs.map +0 -1
  147. package/fesm2022/daffodil-design-progress-bar-examples.mjs +0 -57
  148. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +0 -1
  149. package/fesm2022/daffodil-design-quantity-field-examples.mjs +0 -85
  150. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +0 -1
  151. package/fesm2022/daffodil-design-radio-examples.mjs +0 -34
  152. package/fesm2022/daffodil-design-radio-examples.mjs.map +0 -1
  153. package/fesm2022/daffodil-design-select-examples.mjs +0 -117
  154. package/fesm2022/daffodil-design-select-examples.mjs.map +0 -1
  155. package/fesm2022/daffodil-design-sidebar-examples.mjs +0 -109
  156. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +0 -1
  157. package/fesm2022/daffodil-design-sticky-examples.mjs +0 -25
  158. package/fesm2022/daffodil-design-sticky-examples.mjs.map +0 -1
  159. package/fesm2022/daffodil-design-switch-examples.mjs +0 -110
  160. package/fesm2022/daffodil-design-switch-examples.mjs.map +0 -1
  161. package/fesm2022/daffodil-design-tabs-examples.mjs +0 -115
  162. package/fesm2022/daffodil-design-tabs-examples.mjs.map +0 -1
  163. package/fesm2022/daffodil-design-tag-examples.mjs +0 -125
  164. package/fesm2022/daffodil-design-tag-examples.mjs.map +0 -1
  165. package/fesm2022/daffodil-design-text-snippet-examples.mjs +0 -25
  166. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +0 -1
  167. package/fesm2022/daffodil-design-textarea-examples.mjs +0 -66
  168. package/fesm2022/daffodil-design-textarea-examples.mjs.map +0 -1
  169. package/fesm2022/daffodil-design-toast-examples.mjs +0 -147
  170. package/fesm2022/daffodil-design-toast-examples.mjs.map +0 -1
  171. package/fesm2022/daffodil-design-tree-examples.mjs +0 -104
  172. package/fesm2022/daffodil-design-tree-examples.mjs.map +0 -1
  173. package/form-field/examples/index.d.ts +0 -18
  174. package/hero/examples/index.d.ts +0 -45
  175. package/image/examples/index.d.ts +0 -10
  176. package/input/examples/index.d.ts +0 -10
  177. package/list/examples/index.d.ts +0 -29
  178. package/loading-icon/examples/index.d.ts +0 -16
  179. package/media-gallery/examples/index.d.ts +0 -38
  180. package/menu/examples/index.d.ts +0 -20
  181. package/modal/examples/index.d.ts +0 -15
  182. package/native-select/examples/index.d.ts +0 -10
  183. package/navbar/examples/index.d.ts +0 -31
  184. package/notification/examples/index.d.ts +0 -12
  185. package/paginator/examples/index.d.ts +0 -26
  186. package/progress-bar/examples/index.d.ts +0 -10
  187. package/quantity-field/examples/index.d.ts +0 -30
  188. package/radio/examples/index.d.ts +0 -13
  189. package/select/examples/index.d.ts +0 -28
  190. package/sidebar/examples/index.d.ts +0 -10
  191. package/sticky/examples/index.d.ts +0 -10
  192. package/switch/examples/index.d.ts +0 -46
  193. package/tabs/examples/index.d.ts +0 -12
  194. package/tag/examples/index.d.ts +0 -50
  195. package/text-snippet/examples/index.d.ts +0 -10
  196. package/textarea/examples/index.d.ts +0 -10
  197. package/toast/examples/index.d.ts +0 -56
  198. package/tree/examples/index.d.ts +0 -18
  199. /package/{form-field → form}/src/error-message/error-message-theme.scss +0 -0
  200. /package/{form-field → form}/src/hint/hint-theme.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-paginator.mjs","sources":["../../../libs/design/paginator/src/utils/paginator-errors.ts","../../../libs/design/paginator/src/paginator/paginator.component.ts","../../../libs/design/paginator/src/paginator/paginator.component.html","../../../libs/design/paginator/src/paginator.module.ts","../../../libs/design/paginator/src/paginator.ts","../../../libs/design/paginator/src/daffodil-design-paginator.ts"],"sourcesContent":["export const DaffPaginatorNumberOfPagesErrorMessage = 'The numberOfPages in the daff-paginator must not be less than 1';\nexport const DaffPaginatorPageOutOfRangeErrorMessage = 'The numberOfPages in the daff-paginator should not be less than the currentPage';\n","/* eslint-disable quote-props */\nimport {\n NgFor,\n NgIf,\n} from '@angular/common';\nimport {\n Component,\n Input,\n Output,\n EventEmitter,\n ElementRef,\n OnChanges,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n Params,\n RouterModule,\n} from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faChevronRight,\n faChevronLeft,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffPaginatorNumberOfPagesErrorMessage,\n DaffPaginatorPageOutOfRangeErrorMessage,\n} from '../utils/paginator-errors';\n\nconst visiblePageRange = 2;\n\n@Component({\n selector: 'daff-paginator',\n styleUrls: ['./paginator.component.scss'],\n templateUrl: './paginator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-paginator',\n 'role': 'navigation',\n },\n imports: [\n FaIconComponent,\n RouterModule,\n NgIf,\n NgFor,\n ],\n})\nexport class DaffPaginatorComponent implements OnChanges {\n /**\n * @docs-private\n */\n faChevronRight = faChevronRight;\n /**\n * @docs-private\n */\n faChevronLeft = faChevronLeft;\n\n /**\n * @docs-private\n */\n _paginatorId: string;\n\n constructor(private elementRef: ElementRef) {\n const ariaLabel = elementRef.nativeElement.attributes['aria-label'];\n this._paginatorId = ariaLabel ? ariaLabel.nodeValue : null;\n }\n\n /**\n * The total number of pages the paginator tracks. This number can change dynamically, but the end user is responsible for keeping numberOfPages\n * and currentPage in sync. For example, if the numberOfPages is dynamically changed to a value less than the currentPage, the paginator will break.\n */\n @Input() numberOfPages: number;\n\n /**\n * The currently selected page.\n */\n @Input() currentPage: number;\n\n /**\n * Replace the paginator buttons with links. `url` is required if using this mode.\n */\n @Input() linkMode = false;\n\n /**\n * The url to which to navigate if the paginator is in link mode.\n * This paginator component will set the page query param.\n */\n @Input() url?: string;\n\n /**\n * The query param to which the paginator component will set the current page value in link mode.\n */\n @Input() queryParam = 'page';\n\n /**\n * @docs-private\n */\n _numberOfPagesArray: number[];\n\n /**\n * Emits when the current page changes with the new current page.\n */\n @Output() notifyPageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * Determines when ellipsis after the first page number should show.\n *\n * @docs-private\n */\n get _showFirstEllipsis(): boolean {\n return this.currentPage >= visiblePageRange+2;\n }\n\n /**\n * Determines when ellipsis before the final page number should show.\n *\n * @docs-private\n */\n get _showLastEllipsis(): boolean {\n return this.currentPage < (this.numberOfPages - visiblePageRange);\n }\n\n /**\n * Determines when the Previous button should be disabled.\n *\n * @docs-private\n */\n get _disablePrev(): boolean {\n return this.currentPage === 1;\n }\n\n /**\n * Determines when the Next button should be disabled.\n *\n * @docs-private\n */\n get _disableNext(): boolean {\n return this.currentPage === this.numberOfPages;\n }\n\n /**\n * @docs-private\n */\n ngOnChanges() {\n if(this.numberOfPages < 1) {\n throw new Error(DaffPaginatorNumberOfPagesErrorMessage);\n } else if(this.numberOfPages < this.currentPage) {\n throw new Error(DaffPaginatorPageOutOfRangeErrorMessage);\n }\n\n this._numberOfPagesArray = this.numberOfPages < 2 ? [] : Array(this.numberOfPages-2).fill(this.numberOfPages-2).map((x,i)=>i+2);\n }\n\n /**\n * Emits the previous page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPrevPageChange() {\n this.notifyPageChange.emit(this.currentPage - 1);\n }\n\n /**\n * Emits the next page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyNextPageChange() {\n this.notifyPageChange.emit(this.currentPage + 1);\n }\n\n /**\n * Emits a pageNumber to notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPageChange(pageNumber: number) {\n this.notifyPageChange.emit(pageNumber);\n }\n\n /**\n * A simple function that determines if the given page number is the current page number.\n *\n * @docs-private\n */\n _isSelected(page: number): boolean {\n return page === this.currentPage;\n }\n\n /**\n * Determines if the given page number should be shown. The two additional 'or' conditionals are needed\n * so the paginator retains the same total width at the extreme page numbers (1 and numberOfPages).\n *\n * @docs-private\n */\n _showNumber(pageNumber: number): boolean {\n return Math.abs(this.currentPage - pageNumber) < visiblePageRange\n || (this.currentPage <= visiblePageRange && pageNumber <= 2*visiblePageRange)\n || (this.currentPage > this.numberOfPages - visiblePageRange && pageNumber > this.numberOfPages - 2*visiblePageRange);\n }\n\n /**\n * @docs-private\n */\n _buildPageQueryParams(page: number): Params {\n return {\n [this.queryParam]: page,\n };\n }\n}\n","<button *ngIf=\"!linkMode\" type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon> Previous\n</button>\n<ng-container *ngIf=\"linkMode\">\n <a class=\"daff-paginator__previous\"\n *ngIf=\"!_disablePrev\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n [routerLink]=\"url\"\n queryParamsHandling=\"merge\"\n [queryParams]=\"_buildPageQueryParams(currentPage - 1)\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon><span>Previous</span>\n </a>\n <span class=\"daff-paginator__previous disabled\"\n *ngIf=\"_disablePrev\"\n attr.aria-label=\"Go to Previous Page of {{_paginatorId}} Paginator\"\n [attr.disabled]=\"true\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon><span>Previous</span>\n </span>\n</ng-container>\n\n<button *ngIf=\"!linkMode\" type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(1)\">\n <span>1</span>\n</button>\n<a *ngIf=\"linkMode\" class=\"daff-paginator__page-link\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(1)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(1)\"\n attr.aria-label=\"Go to Page 1 of {{_paginatorId}} Paginator\"\n><span>1</span></a>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showFirstEllipsis\">...</span>\n\n<ng-container *ngFor=\"let pageNumber of _numberOfPagesArray\">\n <ng-container *ngIf=\"_showNumber(pageNumber)\">\n <button *ngIf=\"!linkMode\" type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n [attr.data-page-number]=\"pageNumber\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n aria-current=\"_isSelected(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n <span>{{ pageNumber }}</span>\n </button>\n <a *ngIf=\"linkMode\" class=\"daff-paginator__page-link\"\n [attr.data-page-number]=\"pageNumber\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(pageNumber)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(pageNumber)\"\n attr.aria-label=\"Go to Page {{pageNumber}} of {{_paginatorId}} Paginator\"\n ><span>{{ pageNumber }}</span></a>\n </ng-container>\n</ng-container>\n\n<span class=\"daff-paginator__ellipsis\" *ngIf=\"_showLastEllipsis\">...</span>\n\n<ng-container *ngIf=\"!(numberOfPages < 2)\">\n <button *ngIf=\"!linkMode\" type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyPageChange(numberOfPages)\"\n >\n <span>{{ numberOfPages }}</span>\n </button>\n <a *ngIf=\"linkMode\" class=\"daff-paginator__page-link\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(numberOfPages)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n attr.aria-label=\"Go to Page {{numberOfPages}} of {{_paginatorId}} Paginator\"\n ><span>{{ numberOfPages }}</span></a>\n</ng-container>\n\n<button *ngIf=\"!linkMode\" class=\"daff-paginator__next\"\n [disabled]=\"_disableNext\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n</button>\n<ng-container *ngIf=\"linkMode\">\n <a class=\"daff-paginator__next\"\n *ngIf=\"!_disableNext\"\n [routerLink]=\"url\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n queryParamsHandling=\"merge\"\n [queryParams]=\"_buildPageQueryParams(currentPage + 1)\">\n <span>Next</span><fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n </a>\n <span class=\"daff-paginator__next disabled\"\n *ngIf=\"_disableNext\"\n attr.aria-label=\"Go to Next Page of {{_paginatorId}} Paginator\"\n [attr.disabled]=\"true\">\n <span>Next</span><fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n </span>\n</ng-container>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPaginatorComponent } from './paginator/paginator.component';\n\n/**\n * @deprecated in favor of {@link DAFF_PAGINATOR_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n DaffPaginatorComponent,\n ],\n exports: [\n DaffPaginatorComponent,\n ],\n})\nexport class DaffPaginatorModule {}\n","import { DaffPaginatorComponent } from './paginator/paginator.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_PAGINATOR_COMPONENTS = <const> [\n DaffPaginatorComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-paginator.mjs","sources":["../../../libs/design/paginator/src/utils/paginator-errors.ts","../../../libs/design/paginator/src/paginator/paginator.component.ts","../../../libs/design/paginator/src/paginator/paginator.component.html","../../../libs/design/paginator/src/paginator.module.ts","../../../libs/design/paginator/src/paginator.ts","../../../libs/design/paginator/src/daffodil-design-paginator.ts"],"sourcesContent":["export const DaffPaginatorNumberOfPagesErrorMessage = 'The numberOfPages in the daff-paginator must not be less than 1';\nexport const DaffPaginatorPageOutOfRangeErrorMessage = 'The numberOfPages in the daff-paginator should not be less than the currentPage';\n","/* eslint-disable quote-props */\nimport {\n Component,\n Input,\n Output,\n EventEmitter,\n OnChanges,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n Params,\n RouterModule,\n} from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faChevronRight,\n faChevronLeft,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffPaginatorNumberOfPagesErrorMessage,\n DaffPaginatorPageOutOfRangeErrorMessage,\n} from '../utils/paginator-errors';\n\nconst visiblePageRange = 2;\n\n@Component({\n selector: 'daff-paginator',\n styleUrls: ['./paginator.component.scss'],\n templateUrl: './paginator.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'daff-paginator',\n 'role': 'navigation',\n },\n imports: [\n FaIconComponent,\n RouterModule,\n ],\n})\nexport class DaffPaginatorComponent implements OnChanges {\n /**\n * @docs-private\n */\n faChevronRight = faChevronRight;\n /**\n * @docs-private\n */\n faChevronLeft = faChevronLeft;\n\n /**\n * The total number of pages the paginator tracks. This number can change dynamically, but the end user is responsible for keeping numberOfPages\n * and currentPage in sync. For example, if the numberOfPages is dynamically changed to a value less than the currentPage, the paginator will break.\n */\n @Input() numberOfPages: number;\n\n /**\n * The currently selected page.\n */\n @Input() currentPage: number;\n\n /**\n * Replace the paginator buttons with links. `url` is required if using this mode.\n */\n @Input() linkMode = false;\n\n /**\n * The url to which to navigate if the paginator is in link mode.\n * This paginator component will set the page query param.\n */\n @Input() url?: string;\n\n /**\n * The query param to which the paginator component will set the current page value in link mode.\n */\n @Input() queryParam = 'page';\n\n /**\n * @docs-private\n */\n _numberOfPagesArray: number[];\n\n /**\n * Emits when the current page changes with the new current page.\n */\n @Output() notifyPageChange: EventEmitter<any> = new EventEmitter();\n\n /**\n * Determines when ellipsis after the first page number should show.\n *\n * @docs-private\n */\n get _showFirstEllipsis(): boolean {\n return this.currentPage >= visiblePageRange+2;\n }\n\n /**\n * Determines when ellipsis before the final page number should show.\n *\n * @docs-private\n */\n get _showLastEllipsis(): boolean {\n return this.currentPage < (this.numberOfPages - visiblePageRange);\n }\n\n /**\n * Determines when the Previous button should be disabled.\n *\n * @docs-private\n */\n get _disablePrev(): boolean {\n return this.currentPage === 1;\n }\n\n /**\n * Determines when the Next button should be disabled.\n *\n * @docs-private\n */\n get _disableNext(): boolean {\n return this.currentPage === this.numberOfPages;\n }\n\n /**\n * @docs-private\n */\n ngOnChanges() {\n if(this.numberOfPages < 1) {\n throw new Error(DaffPaginatorNumberOfPagesErrorMessage);\n } else if(this.numberOfPages < this.currentPage) {\n throw new Error(DaffPaginatorPageOutOfRangeErrorMessage);\n }\n\n this._numberOfPagesArray = this.numberOfPages < 2 ? [] : Array(this.numberOfPages-2).fill(this.numberOfPages-2).map((x,i)=>i+2);\n }\n\n /**\n * Emits the previous page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPrevPageChange() {\n this.notifyPageChange.emit(this.currentPage - 1);\n }\n\n /**\n * Emits the next page number through notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyNextPageChange() {\n this.notifyPageChange.emit(this.currentPage + 1);\n }\n\n /**\n * Emits a pageNumber to notifyPageChange Output.\n *\n * @docs-private\n */\n _onNotifyPageChange(pageNumber: number) {\n this.notifyPageChange.emit(pageNumber);\n }\n\n /**\n * A simple function that determines if the given page number is the current page number.\n *\n * @docs-private\n */\n _isSelected(page: number): boolean {\n return page === this.currentPage;\n }\n\n /**\n * Determines if the given page number should be shown. The two additional 'or' conditionals are needed\n * so the paginator retains the same total width at the extreme page numbers (1 and numberOfPages).\n *\n * @docs-private\n */\n _showNumber(pageNumber: number): boolean {\n return Math.abs(this.currentPage - pageNumber) < visiblePageRange\n || (this.currentPage <= visiblePageRange && pageNumber <= 2*visiblePageRange)\n || (this.currentPage > this.numberOfPages - visiblePageRange && pageNumber > this.numberOfPages - 2*visiblePageRange);\n }\n\n /**\n * @docs-private\n */\n _buildPageQueryParams(page: number): Params {\n return {\n [this.queryParam]: page,\n };\n }\n}\n","@if (!linkMode) {\n <button type=\"button\" class=\"daff-paginator__previous\"\n [disabled]=\"_disablePrev\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Previous Page\"\n (click)=\"_onNotifyPrevPageChange()\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon> Previous\n </button>\n}\n@if (linkMode) {\n @if (!_disablePrev) {\n <a class=\"daff-paginator__previous\"\n attr.aria-label=\"Go to Previous Page\"\n [routerLink]=\"url\"\n queryParamsHandling=\"merge\"\n [queryParams]=\"_buildPageQueryParams(currentPage - 1)\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon><span>Previous</span>\n </a>\n }\n @if (_disablePrev) {\n <span class=\"daff-paginator__previous disabled\"\n attr.aria-label=\"Go to Previous Page\"\n [attr.disabled]=\"true\">\n <fa-icon [icon]=\"faChevronLeft\" size=\"sm\"></fa-icon><span>Previous</span>\n </span>\n }\n}\n\n@if (!linkMode) {\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(1)\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page 1\"\n (click)=\"_onNotifyPageChange(1)\">\n <span>1</span>\n </button>\n}\n\n@if (linkMode) {\n <a class=\"daff-paginator__page-link\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(1)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(1)\"\n attr.aria-label=\"Go to Page 1\">\n <span>1</span>\n </a>\n}\n\n@if (_showFirstEllipsis) {\n <span class=\"daff-paginator__ellipsis\">...</span>\n}\n\n@for (pageNumber of _numberOfPagesArray; track pageNumber) {\n @if (_showNumber(pageNumber)) {\n @if (!linkMode) {\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(pageNumber)\"\n [attr.data-page-number]=\"pageNumber\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Page {{pageNumber}}\"\n aria-current=\"_isSelected(pageNumber)\"\n (click)=\"_onNotifyPageChange(pageNumber)\">\n <span>{{ pageNumber }}</span>\n </button>\n }\n @if (linkMode) {\n <a class=\"daff-paginator__page-link\"\n [attr.data-page-number]=\"pageNumber\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(pageNumber)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(pageNumber)\"\n attr.aria-label=\"Go to Page {{pageNumber}}\">\n <span>{{ pageNumber }}</span>\n </a>\n }\n }\n}\n\n@if (_showLastEllipsis) {\n <span class=\"daff-paginator__ellipsis\">...</span>\n}\n\n@if (!(numberOfPages < 2)) {\n @if (!linkMode) {\n <button type=\"button\" class=\"daff-paginator__page-link\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n tabindex=\"0\"\n attr.aria-label=\"Go To Page {{numberOfPages}}\"\n (click)=\"_onNotifyPageChange(numberOfPages)\">\n <span>{{ numberOfPages }}</span>\n </button>\n }\n @if (linkMode) {\n <a class=\"daff-paginator__page-link\"\n [routerLink]=\"url\"\n [queryParams]=\"_buildPageQueryParams(numberOfPages)\"\n queryParamsHandling=\"merge\"\n [class.selected]=\"_isSelected(numberOfPages)\"\n attr.aria-label=\"Go to Page {{numberOfPages}}\">\n <span>{{ numberOfPages }}</span>\n </a>\n }\n}\n\n@if (!linkMode) {\n <button class=\"daff-paginator__next\"\n [disabled]=\"_disableNext\"\n tabindex=\"0\"\n attr.aria-label=\"Go to Next Page\"\n (click)=\"_onNotifyNextPageChange()\">\n Next <fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n </button>\n}\n@if (linkMode) {\n @if (!_disableNext) {\n <a class=\"daff-paginator__next\"\n [routerLink]=\"url\"\n attr.aria-label=\"Go to Next Page\"\n queryParamsHandling=\"merge\"\n [queryParams]=\"_buildPageQueryParams(currentPage + 1)\">\n <span>Next</span><fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n </a>\n }\n\n @if (_disableNext) {\n <span class=\"daff-paginator__next disabled\"\n attr.aria-label=\"Go to Next Page\"\n [attr.disabled]=\"true\">\n <span>Next</span><fa-icon [icon]=\"faChevronRight\" size=\"sm\"></fa-icon>\n </span>\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPaginatorComponent } from './paginator/paginator.component';\n\n/**\n * @deprecated in favor of {@link DAFF_PAGINATOR_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FontAwesomeModule,\n DaffPaginatorComponent,\n ],\n exports: [\n DaffPaginatorComponent,\n ],\n})\nexport class DaffPaginatorModule {}\n","import { DaffPaginatorComponent } from './paginator/paginator.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_PAGINATOR_COMPONENTS = <const> [\n DaffPaginatorComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NgFor, NgIf, CommonModule } from '@angular/common';
1
+ import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Input, ViewChild, ChangeDetectionStrategy, Component, Optional, Self, NgModule } from '@angular/core';
4
4
  import { coerceNumberProperty } from '@angular/cdk/coercion';
@@ -165,16 +165,14 @@ class DaffQuantitySelectComponent {
165
165
  return makeValueArray(this.min, this.max, this.increment);
166
166
  }
167
167
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffQuantitySelectComponent, deps: [{ token: i1.NgControl }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
168
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffQuantitySelectComponent, isStandalone: true, selector: "daff-quantity-select", inputs: { min: "min", max: "max", extendable: "extendable" }, viewQueries: [{ propertyName: "select", first: true, predicate: DaffNativeSelectComponent, descendants: true }], ngImport: i0, template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n", dependencies: [{ kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["disabled", "required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
168
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffQuantitySelectComponent, isStandalone: true, selector: "daff-quantity-select", inputs: { min: "min", max: "max", extendable: "extendable" }, viewQueries: [{ propertyName: "select", first: true, predicate: DaffNativeSelectComponent, descendants: true }], ngImport: i0, template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n", dependencies: [{ kind: "component", type: DaffNativeSelectComponent, selector: "select[daff-native-select]", inputs: ["disabled", "required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
169
169
  }
170
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffQuantitySelectComponent, decorators: [{
171
171
  type: Component,
172
172
  args: [{ selector: 'daff-quantity-select', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
173
173
  DaffNativeSelectComponent,
174
174
  ReactiveFormsModule,
175
- NgFor,
176
- NgIf,
177
- ], template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n" }]
175
+ ], template: "<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n" }]
178
176
  }], ctorParameters: () => [{ type: i1.NgControl }, { type: i0.ChangeDetectorRef }], propDecorators: { select: [{
179
177
  type: ViewChild,
180
178
  args: [DaffNativeSelectComponent]
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-quantity-field.mjs","sources":["../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.ts","../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.html","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.ts","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.html","../../../libs/design/quantity-field/src/quantity-field.component.ts","../../../libs/design/quantity-field/src/quantity-field.component.html","../../../libs/design/quantity-field/src/quantity-field.module.ts","../../../libs/design/quantity-field/src/daffodil-design-quantity-field.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffInputComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n NgFor,\n NgIf,\n} from '@angular/common';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '@daffodil/design/native-select';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffNativeSelectComponent,\n ReactiveFormsModule,\n NgFor,\n NgIf,\n ],\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n>\n <option *ngFor=\"let item of valueArray\" [value]=\"item\">{{ item }}</option>\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '@daffodil/design/form-field';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldComponent extends DaffFormFieldControl<number> implements ControlValueAccessor, DaffFormFieldControl<number> {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n /**\n * @docs-private\n *\n * TODO: Update functionality to match other control during refactor.\n */\n disabled = false;\n\n /**\n * @docs-private\n * TODO: Update functionality to match other control during refactor.\n */\n required = false;\n\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n super(ngControl);\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n\n get value() {\n if(this.select) {\n return this.select.value;\n }\n if(this.input) {\n return this.input.value;\n }\n }\n}\n","@if (showSelectField) {\n <daff-quantity-select\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n </daff-quantity-select>\n}\n@if (showInputField) {\n <daff-quantity-input\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n </daff-quantity-input>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\n\n/**\n * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffQuantityFieldComponent,\n ],\n exports: [\n DaffQuantityFieldComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-quantity-field.mjs","sources":["../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.ts","../../../libs/design/quantity-field/src/quantity-input/quantity-input.component.html","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.ts","../../../libs/design/quantity-field/src/quantity-select/quantity-select.component.html","../../../libs/design/quantity-field/src/quantity-field.component.ts","../../../libs/design/quantity-field/src/quantity-field.component.html","../../../libs/design/quantity-field/src/quantity-field.module.ts","../../../libs/design/quantity-field/src/daffodil-design-quantity-field.ts"],"sourcesContent":["import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ViewChild,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n OnInit,\n OnDestroy,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n selector: 'daff-quantity-input',\n templateUrl: './quantity-input.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffInputComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantityInputComponent implements OnInit, OnDestroy {\n @ViewChild(DaffInputComponent) input: DaffInputComponent;\n\n /**\n * @docs\n * The minimum number for the quantity input field\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number for the quantity input field\n */\n @Input() max = 10;\n\n /**\n * A new control for the nested native input.\n * We don't bind the native input directly to the inherited form control\n * to avoid triggering updates on the input event.\n * Instead, we listen for the change event and manually patch form control values.\n */\n _inputControl = new UntypedFormControl();\n\n get focused(): boolean {\n return this.input?.focused;\n }\n\n _destroyed = new Subject();\n\n get value() {\n return this.ngControl.control.value;\n }\n set value(value) {\n const val = Math.min(Math.round(coerceNumberProperty(value)), this.max);\n this.ngControl.control.patchValue(val);\n this._inputControl.patchValue(val);\n this.changeDetectorRef.markForCheck();\n }\n\n get disabled() {\n return this.ngControl.control.disabled;\n }\n\n constructor(\n public ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this._inputControl.patchValue(this.ngControl.control.value);\n this.setInputDisabled();\n this.ngControl.statusChanges.pipe(\n takeUntil(this._destroyed),\n ).subscribe(() => {\n this.setInputDisabled();\n });\n }\n\n ngOnDestroy() {\n this._destroyed.next(true);\n }\n\n focus() {\n this.input.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n onBlur() {\n if (this.value === null || this.value === undefined) {\n this.value = 1;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e: any) {\n this.value = e.target.value;\n }\n\n private setInputDisabled() {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n this.ngControl.disabled\n ? this._inputControl.disable()\n : this._inputControl.enable();\n }\n}\n","<input daff-input\n type=\"number\"\n [attr.max]=\"max\"\n [attr.min]=\"min\"\n [attr.step]=\"1\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n (change)=\"onValueChange($event)\"\n [formControl]=\"_inputControl\"\n>\n","import {\n Component,\n Input,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n ViewChild,\n} from '@angular/core';\nimport {\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DaffNativeSelectComponent } from '@daffodil/design/native-select';\n\n/**\n * Create an array of numbers from min to max, not including max.\n */\nexport const makeValueArray = (min: number, max: number, increment: number) =>\n Array(max - min).fill(0).map((x, i) => (i * increment) + min);\n\n@Component({\n selector: 'daff-quantity-select',\n templateUrl: './quantity-select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffNativeSelectComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DaffQuantitySelectComponent {\n\n @ViewChild(DaffNativeSelectComponent) select: DaffNativeSelectComponent;\n\n /**\n * @docs\n * The minimum number selectable.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum number selectable;\n */\n @Input() max = 10;\n\n /**\n * @docs\n * Property used to determine whether or not the DaffQuantitySelectComponent is\n * used in a situation whether the `max` isn't a true max.\n */\n @Input() extendable = true;\n\n /**\n * The amount to increment between \"min\" and \"max\".\n */\n private increment = 1;\n\n _value = 1;\n\n get value() {\n return this._value;\n }\n set value(value) {\n this._value = value;\n this.ngControl.control.patchValue(this._value);\n this.changeDetectorRef.markForCheck();\n }\n\n constructor(public ngControl: NgControl, private changeDetectorRef: ChangeDetectorRef) {}\n\n /**\n * Callback function fired when the value changes.\n * Used to pass the value back up to the ngControl.\n */\n onValueChange(e) {\n this.value = e.target.value;\n }\n\n get focused(): boolean {\n return this.select.focused;\n }\n\n focus() {\n this.select.focus();\n }\n\n onFocus() {\n this.ngControl.control.markAsTouched();\n }\n\n /**\n * A helper function for easily making options for the `select`.\n */\n get valueArray() {\n return makeValueArray(this.min, this.max, this.increment);\n }\n}\n","<select daff-native-select\n [formControl]=\"ngControl.control\"\n (focus)=\"onFocus()\"\n >\n @for (item of valueArray; track item) {\n <option [value]=\"item\">{{ item }}</option>\n }\n @if (extendable) {\n <option [value]=\"max\">{{ max }}+</option>\n } @else {\n <option [value]=\"max\">{{ max }}</option>\n }\n</select>\n","import { coerceNumberProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Self,\n ViewChild,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\n\nimport { DaffFormFieldControl } from '@daffodil/design/form-field';\n\nimport { DaffQuantityInputComponent } from './quantity-input/quantity-input.component';\nimport { DaffQuantitySelectComponent } from './quantity-select/quantity-select.component';\n\n@Component({\n selector: 'daff-quantity-field',\n templateUrl: './quantity-field.component.html',\n providers: [\n {\n provide: DaffFormFieldControl,\n\n useExisting: DaffQuantityFieldComponent,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffQuantityInputComponent,\n DaffQuantitySelectComponent,\n ],\n})\nexport class DaffQuantityFieldComponent extends DaffFormFieldControl<number> implements ControlValueAccessor, DaffFormFieldControl<number> {\n\n @ViewChild(DaffQuantityInputComponent) input: DaffQuantityInputComponent;\n @ViewChild(DaffQuantitySelectComponent) select: DaffQuantitySelectComponent;\n\n /**\n * @docs\n * The minimum valid value of the quantity field.\n * Must be greater than or equal to 1.\n */\n @Input() min = 1;\n\n /**\n * @docs\n * The maximum valid value of the quantity field.\n * Must be greater than min.\n */\n @Input() max = 500;\n\n /**\n * @docs\n * The range of numbers acceptable in a quantity dropdown\n * before it becomes an input element.\n */\n @Input() selectMax = 10;\n\n @Input() id = '';\n\n get focused(): boolean {\n return !!(this.input?.focused || this.select?.focused);\n }\n\n /**\n * @docs-private\n *\n * TODO: Update functionality to match other control during refactor.\n */\n disabled = false;\n\n /**\n * @docs-private\n * TODO: Update functionality to match other control during refactor.\n */\n required = false;\n\n private _quantity = 1;\n private _inputHasBeenShown = false;\n\n get quantity() {\n return this._quantity;\n }\n set quantity(value: number) {\n this._quantity = coerceNumberProperty(value, 1);\n }\n\n /**\n * Returns the lesser of max and selectMax.\n */\n get _maxFloor(): number {\n return Math.min(this.max, this.selectMax);\n }\n\n get controlType() {\n // TODO: use enum\n return this.showInputField\n ? 'native-input'\n : 'native-select';\n }\n\n get showInputField(): boolean {\n const ret = this._inputHasBeenShown || (this.ngControl\n ? this.ngControl.value >= this.selectMax\n : this.quantity >= this.selectMax);\n\n if (ret) {\n this._inputHasBeenShown = true;\n }\n\n return ret;\n }\n\n get showSelectField(): boolean {\n return !this.showInputField;\n }\n\n constructor(\n @Optional() @Self() public ngControl: NgControl,\n private cd: ChangeDetectorRef,\n ) {\n super(ngControl);\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n private onChange(quantity: number): void {};\n private onTouched(quantity: number): void {};\n\n writeValue(quantity: number): void {\n this.quantity = quantity;\n this.cd.markForCheck();\n }\n\n registerOnChange(fn: (quantity: number) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n focus() {\n if(this.select) {\n this.select.focus();\n }\n if(this.input) {\n this.input.focus();\n }\n }\n\n get value() {\n if(this.select) {\n return this.select.value;\n }\n if(this.input) {\n return this.input.value;\n }\n }\n}\n","@if (showSelectField) {\n <daff-quantity-select\n [min]=\"min\"\n [max]=\"_maxFloor\"\n [extendable]=\"max > selectMax\"\n [id]=\"id\">\n </daff-quantity-select>\n}\n@if (showInputField) {\n <daff-quantity-input\n [min]=\"min\"\n [max]=\"max\"\n [id]=\"id\">\n </daff-quantity-input>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffQuantityFieldComponent } from './quantity-field.component';\n\n/**\n * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffQuantityFieldComponent,\n ],\n exports: [\n DaffQuantityFieldComponent,\n ],\n})\nexport class DaffQuantityFieldModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,44 +1,24 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, Optional, Injectable, Self, Directive, NgModule } from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component, EventEmitter, Output, Optional, Injectable, Self, Directive, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
 
6
6
  class DaffRadioSetComponent {
7
- constructor() {
8
- /**
9
- * @docs-private
10
- */
11
- this.role = 'radiogroup';
12
- }
7
+ constructor() { }
13
8
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffRadioSetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffRadioSetComponent, isStandalone: true, selector: "daff-radio-set", inputs: { name: "name" }, host: { properties: { "attr.role": "this.role" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffRadioSetComponent, isStandalone: true, selector: "daff-radio-set", inputs: { name: "name" }, host: { attributes: { "role": "radiogroup" } }, ngImport: i0, template: "<ng-content></ng-content>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
10
  }
16
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffRadioSetComponent, decorators: [{
17
12
  type: Component,
18
- args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }]
13
+ args: [{ selector: 'daff-radio-set', changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
+ role: 'radiogroup',
15
+ }, template: "<ng-content></ng-content>" }]
19
16
  }], ctorParameters: () => [], propDecorators: { name: [{
20
17
  type: Input
21
- }], role: [{
22
- type: HostBinding,
23
- args: ['attr.role']
24
18
  }] } });
25
19
 
26
20
  let radioUniqueId = 0;
27
21
  class DaffRadioComponent {
28
- /**
29
- * @docs-private
30
- */
31
- get focusClass() {
32
- return this.focused === true;
33
- }
34
- ;
35
- /**
36
- * @docs-private
37
- */
38
- get disabledClass() {
39
- return this.disabled === true;
40
- }
41
- ;
42
22
  /**
43
23
  * The checked property of the radio
44
24
  */
@@ -53,10 +33,6 @@ class DaffRadioComponent {
53
33
  }
54
34
  constructor(radioset) {
55
35
  this.radioset = radioset;
56
- /**
57
- * @docs-private
58
- */
59
- this.role = 'radio';
60
36
  /**
61
37
  * @docs-private
62
38
  */
@@ -117,23 +93,18 @@ class DaffRadioComponent {
117
93
  }
118
94
  ;
119
95
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffRadioComponent, deps: [{ token: DaffRadioSetComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
120
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffRadioComponent, isStandalone: true, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { properties: { "attr.role": "this.role", "class.focused": "this.focusClass", "class.disabled": "this.disabledClass" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
96
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffRadioComponent, isStandalone: true, selector: "daff-radio", inputs: { checked: "checked", value: "value", id: "id", name: "name", label: ["aria-label", "label"], labelledby: ["aria-labelledby", "labelledby"] }, outputs: { selectionChange: "selectionChange" }, host: { attributes: { "role": "radio" }, properties: { "class.focused": "focused", "class.disabled": "disabled" } }, ngImport: i0, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
97
  }
122
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffRadioComponent, decorators: [{
123
99
  type: Component,
124
- args: [{ selector: 'daff-radio', changeDetection: ChangeDetectionStrategy.OnPush, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>" }]
100
+ args: [{ selector: 'daff-radio', changeDetection: ChangeDetectionStrategy.OnPush, host: {
101
+ role: 'radio',
102
+ '[class.focused]': 'focused',
103
+ '[class.disabled]': 'disabled',
104
+ }, template: "<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>" }]
125
105
  }], ctorParameters: () => [{ type: DaffRadioSetComponent, decorators: [{
126
106
  type: Optional
127
- }] }], propDecorators: { role: [{
128
- type: HostBinding,
129
- args: ['attr.role']
130
- }], focusClass: [{
131
- type: HostBinding,
132
- args: ['class.focused']
133
- }], disabledClass: [{
134
- type: HostBinding,
135
- args: ['class.disabled']
136
- }], selectionChange: [{
107
+ }] }], propDecorators: { selectionChange: [{
137
108
  type: Output
138
109
  }], checked: [{
139
110
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-radio.mjs","sources":["../../../libs/design/radio/src/radio-set/radio-set.component.ts","../../../libs/design/radio/src/radio-set/radio-set.component.html","../../../libs/design/radio/src/radio/radio.component.ts","../../../libs/design/radio/src/radio/radio.component.html","../../../libs/design/radio/src/registry/radio-registry.ts","../../../libs/design/radio/src/cva/radio-cva.directive.ts","../../../libs/design/radio/src/radio.module.ts","../../../libs/design/radio/src/radio.ts","../../../libs/design/radio/src/daffodil-design-radio.ts"],"sourcesContent":["import {\n Component,\n HostBinding,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radiogroup';\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n HostBinding,\n ChangeDetectionStrategy,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n\n@Component({\n selector: 'daff-radio',\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'radio';\n /**\n * @docs-private\n */\n @HostBinding('class.focused') get focusClass() {\n return this.focused === true;\n };\n /**\n * @docs-private\n */\n @HostBinding('class.disabled') get disabledClass() {\n return this.disabled === true;\n };\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this.selectionChange.emit(this.value);\n }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i].accessor === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c.accessor !== accessor) {\n c.accessor.fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair.control.control) {\n return false;\n }\n return controlPair.control.control.parent === accessor._control.control.parent\n && controlPair.accessor.name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio/radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n if (this._control) {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n }\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n exports: [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n})\nexport class DaffRadioModule { }\n","import { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n/**\n * @docs-private\n */\nexport const DAFF_RADIO_COMPONENTS = <const> [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-radio.mjs","sources":["../../../libs/design/radio/src/radio-set/radio-set.component.ts","../../../libs/design/radio/src/radio-set/radio-set.component.html","../../../libs/design/radio/src/radio/radio.component.ts","../../../libs/design/radio/src/radio/radio.component.html","../../../libs/design/radio/src/registry/radio-registry.ts","../../../libs/design/radio/src/cva/radio-cva.directive.ts","../../../libs/design/radio/src/radio.module.ts","../../../libs/design/radio/src/radio.ts","../../../libs/design/radio/src/daffodil-design-radio.ts"],"sourcesContent":["import {\n Component,\n Input,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-radio-set',\n templateUrl: './radio-set.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radiogroup',\n },\n})\n\nexport class DaffRadioSetComponent {\n\n @Input() name: string;\n\n constructor() { }\n\n}\n","<ng-content></ng-content>","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n Optional,\n Output,\n EventEmitter,\n} from '@angular/core';\n\nimport { DaffRadioSetComponent } from '../radio-set/radio-set.component';\n\nlet radioUniqueId = 0;\n\n@Component({\n selector: 'daff-radio',\n templateUrl: './radio.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'radio',\n '[class.focused]': 'focused',\n '[class.disabled]': 'disabled',\n },\n})\n\nexport class DaffRadioComponent implements OnInit {\n\n /**\n * @docs-private\n */\n _checked = false;\n /**\n * Output event of selection being changed\n */\n @Output() selectionChange: EventEmitter<boolean> = new EventEmitter();\n\n\n /**\n * The checked property of the radio\n */\n @Input()\n get checked() {\n return this._checked;\n }\n set checked(value: boolean) {\n if (this._checked !== value) {\n this._checked = value;\n this.selectionChange.emit(this.value);\n }\n }\n /**\n * The value of the radio\n */\n @Input() value: any;\n /**\n * The id of the radio. It is uniquely generated but can be overwritten by the user. Must be unique.\n */\n @Input() id: string = 'daff-radio-' + radioUniqueId;\n\n /**\n * Name of the Radio\n */\n @Input() name = '';\n\n /**\n * Used for aria-label. Default to name if user does not input a label.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-label') label: string = this.name;\n\n /**\n * Used for aria-labelledby.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('aria-labelledby') labelledby: string;\n\n\n disabled = false;\n focused = false;\n\n constructor(@Optional() private radioset: DaffRadioSetComponent) {\n radioUniqueId++;\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.name = this.radioset ? this.radioset.name : this.name;\n }\n\n /**\n * updates Focus styling\n */\n onFocus() {\n this.focused = true;\n }\n /**\n * updates Blur styling\n */\n onBlur() {\n this.focused = false;\n }\n /**\n * toggles checked attribute on\n */\n select(): void {\n this.checked = true;\n }\n /**\n * toggles checked attribute off\n */\n deselect(): void {\n this.checked = false;\n }\n onChange() {\n this.select();\n };\n}\n","<input type=\"radio\" \n[attr.checked]=\"checked ? '' : null\" \n[attr.id]=\"id\" \n[attr.name]=\"name\" \n[attr.aria-label]=\"label\"\n[attr.aria-labelledby]=\"labelledby\"\n[attr.value]=\"value\"\n[attr.disabled] = \"disabled ? '' : null\" \n(change)=\"onChange()\"\n(blur)=\"onBlur()\"\n(focus)=\"onFocus()\"/>\n<label [attr.for]=\"id\">\n <ng-content></ng-content>\n</label>","import { Injectable } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\nimport { DaffRadioControlValueAccessorDirective } from '../cva/radio-cva.directive';\n\nexport interface ControlAccessorPair {\n control: NgControl;\n accessor: DaffRadioControlValueAccessorDirective;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DaffRadioRegistry {\n private _accessors: ControlAccessorPair[] = [];\n\n /**\n * @description\n * Adds a control to the internal registry.\n */\n add(control: NgControl, accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.push({\n control,\n accessor,\n });\n }\n\n /**\n * @description\n * Removes a control from the internal registry.\n */\n remove(accessor: DaffRadioControlValueAccessorDirective) {\n for (let i = this._accessors.length - 1; i >= 0; --i) {\n if (this._accessors[i].accessor === accessor) {\n this._accessors.splice(i, 1);\n return;\n }\n }\n }\n\n /**\n * @description\n * Selects a radio button.\n */\n select(accessor: DaffRadioControlValueAccessorDirective) {\n this._accessors.forEach((c) => {\n if (this._isSameGroup(c, accessor) && c.accessor !== accessor) {\n c.accessor.fireDeselect();\n }\n });\n }\n\n private _isSameGroup(\n controlPair: ControlAccessorPair,\n accessor: DaffRadioControlValueAccessorDirective): boolean {\n if (!controlPair.control.control) {\n return false;\n }\n return controlPair.control.control.parent === accessor._control.control.parent\n && controlPair.accessor.name === accessor.name;\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n Self,\n Optional,\n} from '@angular/core';\nimport {\n NgControl,\n ControlValueAccessor,\n} from '@angular/forms';\n\nimport { DaffRadioComponent } from '../radio/radio.component';\nimport { DaffRadioRegistry } from '../registry/radio-registry';\n\n/**\n * ControlValueAccessor functionality for the DaffRadio\n */\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'daff-radio[ngModel], daff-radio[formControl], daff-radio[formControlName]',\n})\nexport class DaffRadioControlValueAccessorDirective implements OnInit, ControlValueAccessor {\n _onChange: () => void;\n _onTouched: () => void;\n\n /**\n * The value of the ControlValueAccessor\n */\n @Input() value: any;\n\n /**\n * The name of the ControlValueAccessor\n */\n @Input() name: string;\n\n constructor(\n @Optional() @Self() public _control: NgControl,\n private _registry: DaffRadioRegistry,\n private _radio: DaffRadioComponent,\n ) {\n if (this._control != null) {\n this._control.valueAccessor = this;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n if (this._control) {\n this.writeValue(this._control.value);\n this._registry.add(this._control, this);\n }\n\n this._radio.selectionChange.subscribe(\n value => value ? this._onChange() : null,\n );\n }\n /**\n *\n * writeValue function from the CVA interface\n */\n writeValue(value: any): void {\n // the this._onChange null check here is necessary because of an ongoing bug in angular forms\n // where writeValue can be called before the component initializes: https://github.com/angular/angular/issues/29218\n if (this.value === value && this._onChange) {\n this._onChange();\n this.fireSelect();\n }\n }\n\n /**\n * registerOnChange implemented from the CVA interface\n */\n registerOnChange(fn: any): void {\n this._onChange = () => {\n fn(this.value);\n this._registry.select(this);\n };\n }\n\n /**\n * registerOnTouch implemented from the CVA interface\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * sets the disabled state.\n */\n setDisabledState?(isDisabled: boolean): void {\n this._radio.disabled = isDisabled;\n }\n\n /**\n calls select function for the radio\n */\n fireSelect() {\n this._radio.select();\n }\n\n /**\n calls deselect function for the radio\n */\n fireDeselect() {\n this._radio.deselect();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n\n@NgModule({\n imports: [\n CommonModule,\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n exports: [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n ],\n})\nexport class DaffRadioModule { }\n","import { DaffRadioControlValueAccessorDirective } from './cva/radio-cva.directive';\nimport { DaffRadioComponent } from './radio/radio.component';\nimport { DaffRadioSetComponent } from './radio-set/radio-set.component';\n/**\n * @docs-private\n */\nexport const DAFF_RADIO_COMPONENTS = <const> [\n DaffRadioComponent,\n DaffRadioSetComponent,\n DaffRadioControlValueAccessorDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffRadioSetComponent","i2.DaffRadioRegistry","i3.DaffRadioComponent"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i1 from '@angular/cdk/a11y';
2
2
  import { A11yModule } from '@angular/cdk/a11y';
3
- import { NgIf, CommonModule } from '@angular/common';
3
+ import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
5
  import { EventEmitter, DOCUMENT, HostListener, Input, Output, HostBinding, Inject, ChangeDetectionStrategy, Component, Directive, ViewEncapsulation, inject, ElementRef, ContentChildren, SkipSelf, Optional, NgModule, signal } from '@angular/core';
6
6
  import { fromEvent, BehaviorSubject } from 'rxjs';
@@ -298,30 +298,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
298
298
  }, styles: [":host{display:block;width:100%;flex-grow:0}\n"] }]
299
299
  }] });
300
300
 
301
- /**
302
- * @deprecated in favor of the `dismissible` property on `DaffSidebarHeaderComponent`. Deprecated in version 0.88.0. Will be removed in version 0.91.0.
303
- */
304
- class DaffSidebarHeaderActionDirective {
305
- constructor() {
306
- /**
307
- * @docs-private
308
- */
309
- this.class = true;
310
- }
311
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSidebarHeaderActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
312
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffSidebarHeaderActionDirective, isStandalone: true, selector: "[daffSidebarHeaderAction]", host: { properties: { "class.daff-sidebar-header__action": "this.class" } }, ngImport: i0 }); }
313
- }
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSidebarHeaderActionDirective, decorators: [{
315
- type: Directive,
316
- args: [{
317
- selector: '[daffSidebarHeaderAction]',
318
- standalone: true,
319
- }]
320
- }], propDecorators: { class: [{
321
- type: HostBinding,
322
- args: ['class.daff-sidebar-header__action']
323
- }] } });
324
-
325
301
  /**
326
302
  * Sidebar header title is a child directive of `DaffSidebarHeaderComponent`
327
303
  * that can be used to provide a title for the sidebar.
@@ -380,7 +356,7 @@ class DaffSidebarHeaderComponent {
380
356
  this.closeSidebar.emit();
381
357
  }
382
358
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSidebarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
383
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffSidebarHeaderComponent, isStandalone: true, selector: "daff-sidebar-header", inputs: { dismissible: "dismissible" }, outputs: { closeSidebar: "closeSidebar" }, host: { properties: { "class.dismissible": "dismissible" }, classAttribute: "daff-sidebar-header" }, ngImport: i0, template: "<button class=\"daff-sidebar-header__close-icon\" aria-label=\"Close Sidebar\" *ngIf=\"dismissible\" (click)=\"onCloseSidebar($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\" size=\"lg\"></fa-icon>\n</button>\n<div class=\"daff-sidebar-header__content\">\n <ng-content></ng-content>\n</div>", styles: [".daff-sidebar-header{display:flex;align-items:center;position:relative;padding:0 1rem;min-height:3rem;max-height:3rem;width:100%}.daff-sidebar-header__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;appearance:none;background:none;border:none;color:currentColor;height:3rem;margin:0;min-height:3rem;min-width:3rem;padding:0;width:3rem;left:initial;right:0;top:0}.daff-sidebar-header__title,.daff-sidebar-header__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1rem;font-weight:500}.daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 1.75rem 0 0}.daff-sidebar.right .daff-sidebar-header__close-icon{left:0;right:initial}.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__title,.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 0 0 1.75rem}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
359
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffSidebarHeaderComponent, isStandalone: true, selector: "daff-sidebar-header", inputs: { dismissible: "dismissible" }, outputs: { closeSidebar: "closeSidebar" }, host: { properties: { "class.dismissible": "dismissible" }, classAttribute: "daff-sidebar-header" }, ngImport: i0, template: "@if (dismissible) {\n <button class=\"daff-sidebar-header__close-icon\" aria-label=\"Close Sidebar\" (click)=\"onCloseSidebar($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\" size=\"lg\"></fa-icon>\n </button>\n}\n<div class=\"daff-sidebar-header__content\">\n <ng-content></ng-content>\n</div>", styles: [".daff-sidebar-header{display:flex;align-items:center;position:relative;padding:0 1rem;min-height:3rem;max-height:3rem;width:100%}.daff-sidebar-header__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;appearance:none;background:none;border:none;color:currentColor;height:3rem;margin:0;min-height:3rem;min-width:3rem;padding:0;width:3rem;left:initial;right:0;top:0}.daff-sidebar-header__title,.daff-sidebar-header__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1rem;font-weight:500}.daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 1.75rem 0 0}.daff-sidebar.right .daff-sidebar-header__close-icon{left:0;right:initial}.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__title,.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 0 0 1.75rem}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
384
360
  }
385
361
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSidebarHeaderComponent, decorators: [{
386
362
  type: Component,
@@ -389,8 +365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
389
365
  '[class.dismissible]': 'dismissible',
390
366
  }, imports: [
391
367
  FaIconComponent,
392
- NgIf,
393
- ], template: "<button class=\"daff-sidebar-header__close-icon\" aria-label=\"Close Sidebar\" *ngIf=\"dismissible\" (click)=\"onCloseSidebar($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\" size=\"lg\"></fa-icon>\n</button>\n<div class=\"daff-sidebar-header__content\">\n <ng-content></ng-content>\n</div>", styles: [".daff-sidebar-header{display:flex;align-items:center;position:relative;padding:0 1rem;min-height:3rem;max-height:3rem;width:100%}.daff-sidebar-header__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;appearance:none;background:none;border:none;color:currentColor;height:3rem;margin:0;min-height:3rem;min-width:3rem;padding:0;width:3rem;left:initial;right:0;top:0}.daff-sidebar-header__title,.daff-sidebar-header__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1rem;font-weight:500}.daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 1.75rem 0 0}.daff-sidebar.right .daff-sidebar-header__close-icon{left:0;right:initial}.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__title,.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 0 0 1.75rem}\n"] }]
368
+ ], template: "@if (dismissible) {\n <button class=\"daff-sidebar-header__close-icon\" aria-label=\"Close Sidebar\" (click)=\"onCloseSidebar($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\" size=\"lg\"></fa-icon>\n </button>\n}\n<div class=\"daff-sidebar-header__content\">\n <ng-content></ng-content>\n</div>", styles: [".daff-sidebar-header{display:flex;align-items:center;position:relative;padding:0 1rem;min-height:3rem;max-height:3rem;width:100%}.daff-sidebar-header__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:absolute;appearance:none;background:none;border:none;color:currentColor;height:3rem;margin:0;min-height:3rem;min-width:3rem;padding:0;width:3rem;left:initial;right:0;top:0}.daff-sidebar-header__title,.daff-sidebar-header__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;line-height:1rem;font-weight:500}.daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 1.75rem 0 0}.daff-sidebar.right .daff-sidebar-header__close-icon{left:0;right:initial}.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__title,.daff-sidebar.right .daff-sidebar-header__close-icon+.daff-sidebar-header__content{margin:0 0 0 1.75rem}\n"] }]
394
369
  }], propDecorators: { dismissible: [{
395
370
  type: Input
396
371
  }], closeSidebar: [{
@@ -830,13 +805,11 @@ class DaffSidebarModule {
830
805
  DaffSidebarViewportComponent,
831
806
  DaffSidebarHeaderComponent,
832
807
  DaffSidebarFooterComponent,
833
- DaffSidebarHeaderTitleDirective,
834
- DaffSidebarHeaderActionDirective], exports: [DaffSidebarComponent,
808
+ DaffSidebarHeaderTitleDirective], exports: [DaffSidebarComponent,
835
809
  DaffSidebarViewportComponent,
836
810
  DaffSidebarHeaderComponent,
837
811
  DaffSidebarFooterComponent,
838
- DaffSidebarHeaderTitleDirective,
839
- DaffSidebarHeaderActionDirective] }); }
812
+ DaffSidebarHeaderTitleDirective] }); }
840
813
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSidebarModule, imports: [CommonModule,
841
814
  A11yModule,
842
815
  DaffSidebarHeaderComponent] }); }
@@ -852,7 +825,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
852
825
  DaffSidebarHeaderComponent,
853
826
  DaffSidebarFooterComponent,
854
827
  DaffSidebarHeaderTitleDirective,
855
- DaffSidebarHeaderActionDirective,
856
828
  ],
857
829
  exports: [
858
830
  DaffSidebarComponent,
@@ -860,7 +832,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
860
832
  DaffSidebarHeaderComponent,
861
833
  DaffSidebarFooterComponent,
862
834
  DaffSidebarHeaderTitleDirective,
863
- DaffSidebarHeaderActionDirective,
864
835
  ],
865
836
  }]
866
837
  }] });
@@ -926,12 +897,11 @@ const DAFF_SIDEBAR_COMPONENTS = [
926
897
  DaffSidebarHeaderComponent,
927
898
  DaffSidebarFooterComponent,
928
899
  DaffSidebarHeaderTitleDirective,
929
- DaffSidebarHeaderActionDirective,
930
900
  ];
931
901
 
932
902
  /**
933
903
  * Generated bundle index. Do not edit.
934
904
  */
935
905
 
936
- export { DAFF_SIDEBAR_COMPONENTS, DaffSidebarComponent, DaffSidebarFooterComponent, DaffSidebarHeaderActionDirective, DaffSidebarHeaderComponent, DaffSidebarHeaderTitleDirective, DaffSidebarModule, DaffSidebarService, DaffSidebarViewportComponent, daffSidebarIsDockedMode, daffSidebarIsFloatingMode };
906
+ export { DAFF_SIDEBAR_COMPONENTS, DaffSidebarComponent, DaffSidebarFooterComponent, DaffSidebarHeaderComponent, DaffSidebarHeaderTitleDirective, DaffSidebarModule, DaffSidebarService, DaffSidebarViewportComponent, daffSidebarIsDockedMode, daffSidebarIsFloatingMode };
937
907
  //# sourceMappingURL=daffodil-design-sidebar.mjs.map