@daffodil/design 0.89.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 (209) hide show
  1. package/README.md +1 -0
  2. package/accordion/index.d.ts +8 -5
  3. package/article/README.md +1 -1
  4. package/article/index.d.ts +20 -0
  5. package/article/src/article-theme.scss +10 -0
  6. package/button/index.d.ts +4 -4
  7. package/button/src/button/button-base.scss +3 -3
  8. package/button/src/button/raised/raised-theme.scss +6 -16
  9. package/card/README.md +0 -8
  10. package/card/index.d.ts +7 -41
  11. package/card/src/card-base-theme.scss +2 -5
  12. package/card/src/card-base.scss +2 -2
  13. package/checkbox/README.md +0 -0
  14. package/checkbox/index.d.ts +177 -0
  15. package/fesm2022/daffodil-design-accordion.mjs +23 -14
  16. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  17. package/fesm2022/daffodil-design-article.mjs +129 -5
  18. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  19. package/fesm2022/daffodil-design-button.mjs +24 -20
  20. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  21. package/fesm2022/daffodil-design-card.mjs +16 -63
  22. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  23. package/fesm2022/daffodil-design-checkbox.mjs +317 -0
  24. package/fesm2022/daffodil-design-checkbox.mjs.map +1 -0
  25. package/fesm2022/daffodil-design-form-field.mjs +55 -162
  26. package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
  27. package/fesm2022/daffodil-design-form.mjs +62 -0
  28. package/fesm2022/daffodil-design-form.mjs.map +1 -0
  29. package/fesm2022/daffodil-design-image.mjs +12 -4
  30. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  31. package/fesm2022/daffodil-design-modal.mjs +55 -56
  32. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  33. package/fesm2022/daffodil-design-notification.mjs +14 -50
  34. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  35. package/fesm2022/daffodil-design-paginator.mjs +6 -11
  36. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  37. package/fesm2022/daffodil-design-quantity-field.mjs +3 -5
  38. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
  39. package/fesm2022/daffodil-design-radio.mjs +304 -0
  40. package/fesm2022/daffodil-design-radio.mjs.map +1 -0
  41. package/fesm2022/daffodil-design-select.mjs +2 -2
  42. package/fesm2022/daffodil-design-select.mjs.map +1 -1
  43. package/fesm2022/daffodil-design-sidebar.mjs +6 -36
  44. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  45. package/fesm2022/daffodil-design-switch.mjs +48 -105
  46. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  47. package/fesm2022/daffodil-design-tabs.mjs +22 -14
  48. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  49. package/fesm2022/daffodil-design-tag.mjs +131 -0
  50. package/fesm2022/daffodil-design-tag.mjs.map +1 -0
  51. package/fesm2022/daffodil-design-toast.mjs +56 -55
  52. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  53. package/fesm2022/daffodil-design-tree.mjs +4 -13
  54. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  55. package/fesm2022/daffodil-design.mjs +250 -774
  56. package/fesm2022/daffodil-design.mjs.map +1 -1
  57. package/form/README.md +75 -0
  58. package/form/index.d.ts +27 -0
  59. package/form-field/README.md +49 -39
  60. package/form-field/index.d.ts +58 -76
  61. package/image/README.md +27 -19
  62. package/image/index.d.ts +6 -1
  63. package/index.d.ts +180 -424
  64. package/input/README.md +32 -12
  65. package/modal/README.md +106 -16
  66. package/modal/index.d.ts +50 -21
  67. package/native-select/README.md +52 -15
  68. package/notification/index.d.ts +7 -38
  69. package/package.json +1 -1
  70. package/paginator/index.d.ts +1 -7
  71. package/radio/README.md +52 -0
  72. package/radio/index.d.ts +160 -0
  73. package/scss/core/error/error-to-string.scss +6 -6
  74. package/scss/core/map/map-get/map-get.scss +3 -3
  75. package/scss/layout/_breakpoint.scss +1 -1
  76. package/scss/theme.scss +4 -4
  77. package/scss/theming/_color-palettes.scss +21 -7
  78. package/scss/theming/_configure-theme.scss +11 -10
  79. package/scss/theming/_daff-theme.scss +5 -14
  80. package/scss/theming/_get-base-color.scss +2 -2
  81. package/scss/theming/_get-palette.scss +2 -2
  82. package/scss/theming/_get-theme-mode.scss +3 -3
  83. package/scss/theming/_index.scss +2 -1
  84. package/scss/theming/contrast/_index.scss +1 -0
  85. package/scss/theming/contrast/max-contrast/max-contrast.scss +47 -0
  86. package/scss/theming/contrast/max-contrast/max-contrast.spec.scss +57 -0
  87. package/scss/theming/contrast/text-contrast/text-contrast.scss +22 -16
  88. package/scss/theming/contrast/text-contrast/text-contrast.spec.scss +57 -0
  89. package/scss/theming/create-theme/_create-theme.scss +330 -0
  90. package/scss/theming/create-theme/_create-theme.spec.scss +122 -0
  91. package/scss/theming/create-theme/_index.scss +1 -0
  92. package/scss/theming/get-font-colors/_get-font-colors.scss +36 -0
  93. package/scss/theming/get-font-colors/_get-font-colors.spec.scss +72 -0
  94. package/scss/typography/mixins/_font-weight.scss +8 -14
  95. package/select/README.md +107 -4
  96. package/sidebar/README.md +0 -8
  97. package/sidebar/index.d.ts +3 -15
  98. package/switch/README.md +19 -27
  99. package/switch/index.d.ts +18 -48
  100. package/switch/src/switch-theme.scss +26 -18
  101. package/tabs/index.d.ts +7 -4
  102. package/tag/README.md +87 -0
  103. package/tag/index.d.ts +71 -0
  104. package/tag/src/tag-theme.scss +137 -0
  105. package/textarea/README.md +35 -5
  106. package/tree/index.d.ts +0 -6
  107. package/tree/src/tree-theme.scss +0 -4
  108. package/accordion/examples/index.d.ts +0 -20
  109. package/article/examples/index.d.ts +0 -50
  110. package/breadcrumb/examples/index.d.ts +0 -10
  111. package/button/examples/index.d.ts +0 -67
  112. package/callout/examples/index.d.ts +0 -41
  113. package/card/examples/index.d.ts +0 -62
  114. package/card/src/card/raised/raised-theme.scss +0 -28
  115. package/checkbox/examples/index.d.ts +0 -32
  116. package/container/examples/index.d.ts +0 -16
  117. package/fesm2022/daffodil-design-accordion-examples.mjs +0 -50
  118. package/fesm2022/daffodil-design-accordion-examples.mjs.map +0 -1
  119. package/fesm2022/daffodil-design-article-examples.mjs +0 -134
  120. package/fesm2022/daffodil-design-article-examples.mjs.map +0 -1
  121. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +0 -46
  122. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +0 -1
  123. package/fesm2022/daffodil-design-button-examples.mjs +0 -178
  124. package/fesm2022/daffodil-design-button-examples.mjs.map +0 -1
  125. package/fesm2022/daffodil-design-callout-examples.mjs +0 -116
  126. package/fesm2022/daffodil-design-callout-examples.mjs.map +0 -1
  127. package/fesm2022/daffodil-design-card-examples.mjs +0 -168
  128. package/fesm2022/daffodil-design-card-examples.mjs.map +0 -1
  129. package/fesm2022/daffodil-design-checkbox-examples.mjs +0 -76
  130. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +0 -1
  131. package/fesm2022/daffodil-design-container-examples.mjs +0 -41
  132. package/fesm2022/daffodil-design-container-examples.mjs.map +0 -1
  133. package/fesm2022/daffodil-design-form-field-examples.mjs +0 -96
  134. package/fesm2022/daffodil-design-form-field-examples.mjs.map +0 -1
  135. package/fesm2022/daffodil-design-hero-examples.mjs +0 -121
  136. package/fesm2022/daffodil-design-hero-examples.mjs.map +0 -1
  137. package/fesm2022/daffodil-design-image-examples.mjs +0 -58
  138. package/fesm2022/daffodil-design-image-examples.mjs.map +0 -1
  139. package/fesm2022/daffodil-design-input-examples.mjs +0 -108
  140. package/fesm2022/daffodil-design-input-examples.mjs.map +0 -1
  141. package/fesm2022/daffodil-design-list-examples.mjs +0 -77
  142. package/fesm2022/daffodil-design-list-examples.mjs.map +0 -1
  143. package/fesm2022/daffodil-design-loading-icon-examples.mjs +0 -44
  144. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +0 -1
  145. package/fesm2022/daffodil-design-media-gallery-examples.mjs +0 -104
  146. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +0 -1
  147. package/fesm2022/daffodil-design-menu-examples.mjs +0 -50
  148. package/fesm2022/daffodil-design-menu-examples.mjs.map +0 -1
  149. package/fesm2022/daffodil-design-modal-examples.mjs +0 -51
  150. package/fesm2022/daffodil-design-modal-examples.mjs.map +0 -1
  151. package/fesm2022/daffodil-design-native-select-examples.mjs +0 -71
  152. package/fesm2022/daffodil-design-native-select-examples.mjs.map +0 -1
  153. package/fesm2022/daffodil-design-navbar-examples.mjs +0 -88
  154. package/fesm2022/daffodil-design-navbar-examples.mjs.map +0 -1
  155. package/fesm2022/daffodil-design-notification-examples.mjs +0 -102
  156. package/fesm2022/daffodil-design-notification-examples.mjs.map +0 -1
  157. package/fesm2022/daffodil-design-paginator-examples.mjs +0 -59
  158. package/fesm2022/daffodil-design-paginator-examples.mjs.map +0 -1
  159. package/fesm2022/daffodil-design-progress-bar-examples.mjs +0 -57
  160. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +0 -1
  161. package/fesm2022/daffodil-design-quantity-field-examples.mjs +0 -85
  162. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +0 -1
  163. package/fesm2022/daffodil-design-radio-examples.mjs +0 -31
  164. package/fesm2022/daffodil-design-radio-examples.mjs.map +0 -1
  165. package/fesm2022/daffodil-design-select-examples.mjs +0 -117
  166. package/fesm2022/daffodil-design-select-examples.mjs.map +0 -1
  167. package/fesm2022/daffodil-design-sidebar-examples.mjs +0 -109
  168. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +0 -1
  169. package/fesm2022/daffodil-design-sticky-examples.mjs +0 -25
  170. package/fesm2022/daffodil-design-sticky-examples.mjs.map +0 -1
  171. package/fesm2022/daffodil-design-switch-examples.mjs +0 -110
  172. package/fesm2022/daffodil-design-switch-examples.mjs.map +0 -1
  173. package/fesm2022/daffodil-design-tabs-examples.mjs +0 -115
  174. package/fesm2022/daffodil-design-tabs-examples.mjs.map +0 -1
  175. package/fesm2022/daffodil-design-text-snippet-examples.mjs +0 -25
  176. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +0 -1
  177. package/fesm2022/daffodil-design-textarea-examples.mjs +0 -66
  178. package/fesm2022/daffodil-design-textarea-examples.mjs.map +0 -1
  179. package/fesm2022/daffodil-design-toast-examples.mjs +0 -147
  180. package/fesm2022/daffodil-design-toast-examples.mjs.map +0 -1
  181. package/fesm2022/daffodil-design-tree-examples.mjs +0 -104
  182. package/fesm2022/daffodil-design-tree-examples.mjs.map +0 -1
  183. package/form-field/examples/index.d.ts +0 -18
  184. package/hero/examples/index.d.ts +0 -45
  185. package/image/examples/index.d.ts +0 -10
  186. package/input/examples/index.d.ts +0 -10
  187. package/list/examples/index.d.ts +0 -29
  188. package/loading-icon/examples/index.d.ts +0 -16
  189. package/media-gallery/examples/index.d.ts +0 -38
  190. package/menu/examples/index.d.ts +0 -20
  191. package/modal/examples/index.d.ts +0 -15
  192. package/native-select/examples/index.d.ts +0 -10
  193. package/navbar/examples/index.d.ts +0 -31
  194. package/notification/examples/index.d.ts +0 -12
  195. package/paginator/examples/index.d.ts +0 -26
  196. package/progress-bar/examples/index.d.ts +0 -10
  197. package/quantity-field/examples/index.d.ts +0 -30
  198. package/radio/examples/index.d.ts +0 -13
  199. package/select/examples/index.d.ts +0 -28
  200. package/sidebar/examples/index.d.ts +0 -10
  201. package/sticky/examples/index.d.ts +0 -10
  202. package/switch/examples/index.d.ts +0 -46
  203. package/tabs/examples/index.d.ts +0 -12
  204. package/text-snippet/examples/index.d.ts +0 -10
  205. package/textarea/examples/index.d.ts +0 -10
  206. package/toast/examples/index.d.ts +0 -56
  207. package/tree/examples/index.d.ts +0 -18
  208. /package/{form-field → form}/src/error-message/error-message-theme.scss +0 -0
  209. /package/{form-field → form}/src/hint/hint-theme.scss +0 -0
@@ -3,19 +3,9 @@ import * as i0 from '@angular/core';
3
3
  import { Directive, EventEmitter, Output, Input, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
4
4
  import { FaIconComponent, FontAwesomeModule } from '@fortawesome/angular-fontawesome';
5
5
  import * as i1 from '@daffodil/design';
6
- import { DaffStatusEnum, DaffPrefixDirective, DaffArticleEncapsulatedDirective, DaffStatusableDirective, DaffPrefixSuffixModule } from '@daffodil/design';
6
+ import { DaffStatusEnum, DaffPrefixDirective, DaffArticleEncapsulatedDirective, DaffStatusableDirective, DaffOrientableDirective, DaffPrefixSuffixModule } from '@daffodil/design';
7
7
  import { faTimes } from '@fortawesome/free-solid-svg-icons';
8
8
 
9
- /**
10
- * Enum for representing the available notification orientations.
11
- * See {@link DaffNotificationOrientation} for descriptions of each orientation.
12
- */
13
- var DaffNotificationOrientationEnum;
14
- (function (DaffNotificationOrientationEnum) {
15
- DaffNotificationOrientationEnum["Horizontal"] = "horizontal";
16
- DaffNotificationOrientationEnum["Vertical"] = "vertical";
17
- })(DaffNotificationOrientationEnum || (DaffNotificationOrientationEnum = {}));
18
-
19
9
  /* eslint-disable quote-props */
20
10
  /**
21
11
  * Actions is used to include actionable buttons related to the notification (e.g., dismiss, navigate).
@@ -72,8 +62,9 @@ class DaffNotificationComponent {
72
62
  return this.statusDirective.status === DaffStatusEnum.Warn || this.statusDirective.status === DaffStatusEnum.Critical ? 'alert' : 'status';
73
63
  }
74
64
  ;
75
- constructor(statusDirective) {
65
+ constructor(statusDirective, orientation) {
76
66
  this.statusDirective = statusDirective;
67
+ this.orientation = orientation;
77
68
  /**
78
69
  * @docs-private
79
70
  */
@@ -82,14 +73,11 @@ class DaffNotificationComponent {
82
73
  * Displays a close icon if `true`.
83
74
  */
84
75
  this.dismissible = false;
85
- /**
86
- * The orientation of a notification.
87
- */
88
- this.orientation = 'vertical';
89
76
  /**
90
77
  * Emits when the notification is closed.
91
78
  */
92
79
  this.closeNotification = new EventEmitter();
80
+ this.orientation.defaultOrientation = 'vertical';
93
81
  }
94
82
  /**
95
83
  * @docs-private
@@ -99,8 +87,8 @@ class DaffNotificationComponent {
99
87
  onCloseNotification(event) {
100
88
  this.closeNotification.emit();
101
89
  }
102
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationComponent, deps: [{ token: i1.DaffStatusableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
103
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffNotificationComponent, isStandalone: true, selector: "daff-notification", inputs: { dismissible: "dismissible", orientation: ["orientation", "orientation", (value) => value || DaffNotificationOrientationEnum.Vertical] }, outputs: { closeNotification: "closeNotification" }, host: { attributes: { "tabindex": "0" }, properties: { "class.vertical": "orientation === \"vertical\"", "class.horizontal": "orientation === \"horizontal\"", "class.dismissible": "dismissible", "attr.role": "role" }, classAttribute: "daff-notification" }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_actions", first: true, predicate: DaffNotificationActionsDirective, descendants: true }], hostDirectives: [{ directive: i1.DaffArticleEncapsulatedDirective }, { directive: i1.DaffStatusableDirective, inputs: ["status", "status"] }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}", styles: [".daff-notification{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative}.daff-notification .daff-prefix{padding:1rem 0 1rem 1rem}.daff-notification__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-notification__body{display:flex;font-size:1rem;line-height:1.5rem;padding:1rem;width:100%}.daff-notification__content{display:flex;flex-direction:column;gap:.25rem}.daff-notification__title{font-size:1rem;font-weight:600;line-height:1.5rem}.daff-notification__message{font-size:1rem;font-weight:400;line-height:1.25rem}.daff-notification__actions{display:flex;gap:.5rem}.daff-notification.dismissible.horizontal .daff-notification__actions{padding:.5rem 0}.daff-notification.vertical .daff-notification__body{flex-direction:column;gap:1rem}.daff-notification.horizontal .daff-prefix{padding:.75rem 0 .75rem 1rem}.daff-notification.horizontal .daff-notification__message{align-self:center}.daff-notification.horizontal .daff-notification__body{flex-direction:row;gap:0;padding:0}.daff-notification.horizontal .daff-notification__content{flex-direction:row;flex-wrap:wrap;flex-grow:1;padding:.75rem 1rem .75rem .75rem}.daff-notification.horizontal .daff-notification__actions{min-height:3rem;padding:.5rem 1rem .5rem 0;margin:0}\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 }); }
90
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationComponent, deps: [{ token: i1.DaffStatusableDirective }, { token: i1.DaffOrientableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffNotificationComponent, isStandalone: true, selector: "daff-notification", inputs: { dismissible: "dismissible" }, outputs: { closeNotification: "closeNotification" }, host: { attributes: { "tabindex": "0" }, properties: { "class.dismissible": "dismissible", "attr.role": "role" }, classAttribute: "daff-notification" }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_actions", first: true, predicate: DaffNotificationActionsDirective, descendants: true }], hostDirectives: [{ directive: i1.DaffArticleEncapsulatedDirective }, { directive: i1.DaffStatusableDirective, inputs: ["status", "status"] }, { directive: i1.DaffOrientableDirective, inputs: ["orientation", "orientation"] }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}", styles: [".daff-notification{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative}.daff-notification .daff-prefix{padding:1rem 0 1rem 1rem}.daff-notification__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-notification__body{display:flex;font-size:1rem;line-height:1.5rem;padding:1rem;width:100%}.daff-notification__content{display:flex;flex-direction:column;gap:.25rem}.daff-notification__title{font-size:1rem;font-weight:600;line-height:1.5rem}.daff-notification__message{font-size:1rem;font-weight:400;line-height:1.25rem}.daff-notification__actions{display:flex;gap:.5rem}.daff-notification.dismissible.daff-horizontal .daff-notification__actions{padding:.5rem 0}.daff-notification.daff-vertical .daff-notification__body{flex-direction:column;gap:1rem}.daff-notification.daff-horizontal .daff-prefix{padding:.75rem 0 .75rem 1rem}.daff-notification.daff-horizontal .daff-notification__message{align-self:center}.daff-notification.daff-horizontal .daff-notification__body{flex-direction:row;gap:0;padding:0}.daff-notification.daff-horizontal .daff-notification__content{flex-direction:row;flex-wrap:wrap;flex-grow:1;padding:.75rem 1rem .75rem .75rem}.daff-notification.daff-horizontal .daff-notification__actions{min-height:3rem;padding:.5rem 1rem .5rem 0;margin:0}\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 }); }
104
92
  }
105
93
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationComponent, decorators: [{
106
94
  type: Component,
@@ -110,18 +98,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
110
98
  directive: DaffStatusableDirective,
111
99
  inputs: ['status'],
112
100
  },
101
+ {
102
+ directive: DaffOrientableDirective,
103
+ inputs: ['orientation'],
104
+ },
113
105
  ], host: {
114
106
  'class': 'daff-notification',
115
- '[class.vertical]': 'orientation === "vertical"',
116
- '[class.horizontal]': 'orientation === "horizontal"',
117
107
  '[class.dismissible]': 'dismissible',
118
108
  'tabindex': '0',
119
109
  '[attr.role]': 'role',
120
110
  }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
121
111
  FaIconComponent,
122
112
  DaffPrefixDirective,
123
- ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}", styles: [".daff-notification{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative}.daff-notification .daff-prefix{padding:1rem 0 1rem 1rem}.daff-notification__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-notification__body{display:flex;font-size:1rem;line-height:1.5rem;padding:1rem;width:100%}.daff-notification__content{display:flex;flex-direction:column;gap:.25rem}.daff-notification__title{font-size:1rem;font-weight:600;line-height:1.5rem}.daff-notification__message{font-size:1rem;font-weight:400;line-height:1.25rem}.daff-notification__actions{display:flex;gap:.5rem}.daff-notification.dismissible.horizontal .daff-notification__actions{padding:.5rem 0}.daff-notification.vertical .daff-notification__body{flex-direction:column;gap:1rem}.daff-notification.horizontal .daff-prefix{padding:.75rem 0 .75rem 1rem}.daff-notification.horizontal .daff-notification__message{align-self:center}.daff-notification.horizontal .daff-notification__body{flex-direction:row;gap:0;padding:0}.daff-notification.horizontal .daff-notification__content{flex-direction:row;flex-wrap:wrap;flex-grow:1;padding:.75rem 1rem .75rem .75rem}.daff-notification.horizontal .daff-notification__actions{min-height:3rem;padding:.5rem 1rem .5rem 0;margin:0}\n"] }]
124
- }], ctorParameters: () => [{ type: i1.DaffStatusableDirective }], propDecorators: { _prefix: [{
113
+ ], template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}", styles: [".daff-notification{display:flex;border-radius:.25rem;font-size:1rem;line-height:1.5rem;position:relative}.daff-notification .daff-prefix{padding:1rem 0 1rem 1rem}.daff-notification__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border:none;color:currentColor;margin:0;min-height:3rem;height:3rem;min-width:3rem;width:3rem}.daff-notification__body{display:flex;font-size:1rem;line-height:1.5rem;padding:1rem;width:100%}.daff-notification__content{display:flex;flex-direction:column;gap:.25rem}.daff-notification__title{font-size:1rem;font-weight:600;line-height:1.5rem}.daff-notification__message{font-size:1rem;font-weight:400;line-height:1.25rem}.daff-notification__actions{display:flex;gap:.5rem}.daff-notification.dismissible.daff-horizontal .daff-notification__actions{padding:.5rem 0}.daff-notification.daff-vertical .daff-notification__body{flex-direction:column;gap:1rem}.daff-notification.daff-horizontal .daff-prefix{padding:.75rem 0 .75rem 1rem}.daff-notification.daff-horizontal .daff-notification__message{align-self:center}.daff-notification.daff-horizontal .daff-notification__body{flex-direction:row;gap:0;padding:0}.daff-notification.daff-horizontal .daff-notification__content{flex-direction:row;flex-wrap:wrap;flex-grow:1;padding:.75rem 1rem .75rem .75rem}.daff-notification.daff-horizontal .daff-notification__actions{min-height:3rem;padding:.5rem 1rem .5rem 0;margin:0}\n"] }]
114
+ }], ctorParameters: () => [{ type: i1.DaffStatusableDirective }, { type: i1.DaffOrientableDirective }], propDecorators: { _prefix: [{
125
115
  type: ContentChild,
126
116
  args: [DaffPrefixDirective]
127
117
  }], _actions: [{
@@ -129,9 +119,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
129
119
  args: [DaffNotificationActionsDirective]
130
120
  }], dismissible: [{
131
121
  type: Input
132
- }], orientation: [{
133
- type: Input,
134
- args: [{ transform: (value) => value || DaffNotificationOrientationEnum.Vertical }]
135
122
  }], closeNotification: [{
136
123
  type: Output
137
124
  }] } });
@@ -160,24 +147,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
160
147
  }]
161
148
  }] });
162
149
 
163
- /* eslint-disable quote-props */
164
- /**
165
- * @deprecated in favor of DaffNotificationMessageDirective. Deprecated in version 0.88.0. Will be removed in version 0.91.0.
166
- */
167
- class DaffNotificationSubtitleDirective {
168
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationSubtitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
169
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffNotificationSubtitleDirective, isStandalone: true, selector: "[daffNotificationSubtitle]", host: { classAttribute: "daff-notification__subtitle" }, ngImport: i0 }); }
170
- }
171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationSubtitleDirective, decorators: [{
172
- type: Directive,
173
- args: [{
174
- selector: '[daffNotificationSubtitle]',
175
- host: {
176
- 'class': 'daff-notification__subtitle',
177
- },
178
- }]
179
- }] });
180
-
181
150
  /* eslint-disable quote-props */
182
151
  /**
183
152
  * Title is the primary text summarizing the notification.
@@ -212,12 +181,10 @@ class DaffNotificationModule {
212
181
  DaffNotificationComponent,
213
182
  DaffNotificationActionsDirective,
214
183
  DaffNotificationMessageDirective,
215
- DaffNotificationTitleDirective,
216
- DaffNotificationSubtitleDirective], exports: [DaffNotificationComponent,
184
+ DaffNotificationTitleDirective], exports: [DaffNotificationComponent,
217
185
  DaffNotificationActionsDirective,
218
186
  DaffNotificationMessageDirective,
219
187
  DaffNotificationTitleDirective,
220
- DaffNotificationSubtitleDirective,
221
188
  DaffPrefixSuffixModule] }); }
222
189
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffNotificationModule, imports: [CommonModule,
223
190
  DaffPrefixSuffixModule,
@@ -235,14 +202,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
235
202
  DaffNotificationActionsDirective,
236
203
  DaffNotificationMessageDirective,
237
204
  DaffNotificationTitleDirective,
238
- DaffNotificationSubtitleDirective,
239
205
  ],
240
206
  exports: [
241
207
  DaffNotificationComponent,
242
208
  DaffNotificationActionsDirective,
243
209
  DaffNotificationMessageDirective,
244
210
  DaffNotificationTitleDirective,
245
- DaffNotificationSubtitleDirective,
246
211
  DaffPrefixSuffixModule,
247
212
  ],
248
213
  }]
@@ -256,7 +221,6 @@ const DAFF_NOTIFICATION_COMPONENTS = [
256
221
  DaffNotificationActionsDirective,
257
222
  DaffNotificationMessageDirective,
258
223
  DaffNotificationTitleDirective,
259
- DaffNotificationSubtitleDirective,
260
224
  DaffPrefixDirective,
261
225
  ];
262
226
 
@@ -264,5 +228,5 @@ const DAFF_NOTIFICATION_COMPONENTS = [
264
228
  * Generated bundle index. Do not edit.
265
229
  */
266
230
 
267
- export { DAFF_NOTIFICATION_COMPONENTS, DaffNotificationActionsDirective, DaffNotificationComponent, DaffNotificationMessageDirective, DaffNotificationModule, DaffNotificationOrientationEnum, DaffNotificationSubtitleDirective, DaffNotificationTitleDirective };
231
+ export { DAFF_NOTIFICATION_COMPONENTS, DaffNotificationActionsDirective, DaffNotificationComponent, DaffNotificationMessageDirective, DaffNotificationModule, DaffNotificationTitleDirective };
268
232
  //# sourceMappingURL=daffodil-design-notification.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-notification.mjs","sources":["../../../libs/design/notification/src/helpers/notification-orientation.ts","../../../libs/design/notification/src/notification-actions/notification-actions.directive.ts","../../../libs/design/notification/src/notification/notification.component.ts","../../../libs/design/notification/src/notification/notification.component.html","../../../libs/design/notification/src/notification-message/notification-message.directive.ts","../../../libs/design/notification/src/notification-subtitle/notification-subtitle.directive.ts","../../../libs/design/notification/src/notification-title/notification-title.directive.ts","../../../libs/design/notification/src/notification.module.ts","../../../libs/design/notification/src/notification.ts","../../../libs/design/notification/src/daffodil-design-notification.ts"],"sourcesContent":["/**\n * The available orientations for a notification.\n *\n * | Orientation | Description |\n * | -- | -- |\n * | `vertical` | Stacks notification content from top to bottom. This is the default orientation. |\n * | `horizontal` | Places notification content side-by-side. |\n */\nexport type DaffNotificationOrientation = 'horizontal' | 'vertical';\n\n/**\n * Enum for representing the available notification orientations.\n * See {@link DaffNotificationOrientation} for descriptions of each orientation.\n */\nexport enum DaffNotificationOrientationEnum {\n Horizontal = 'horizontal',\n Vertical = 'vertical',\n}\n","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Actions is used to include actionable buttons related to the notification (e.g., dismiss, navigate).\n *\n * @example\n * ```html\n * <div daffNotificationActions>\n * <button daff-button>Update payment</button>\n * <button daff-button>Contact support</button>\n * </div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationActions]',\n host: {\n 'class': 'daff-notification__actions',\n },\n})\n\nexport class DaffNotificationActionsDirective {}\n","/* eslint-disable quote-props */\nimport {\n Component,\n Input,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffPrefixDirective,\n DaffStatusableDirective,\n DaffStatusEnum,\n} from '@daffodil/design';\n\nimport {\n DaffNotificationOrientation,\n DaffNotificationOrientationEnum,\n} from '../helpers/notification-orientation';\nimport { DaffNotificationActionsDirective } from '../notification-actions/notification-actions.directive';\n\n/**\n * Notifications provide contextual feedback or information related to user actions within a page's content.\n *\n * Use [Toast](/libs/design/toast/README.md) for app-level alerts.\n *\n * @example\n * ```html\n * <daff-notification>\n * <fa-icon daffPrefix [icon]=\"faExclamation\"></fa-icon>\n * <div daffNotificationTitle>Payment Failed</div>\n * <div daffNotificationMessage>We were unable to process your payment for order #12345. Please update your payment details and try again.</div>\n * <div daffNotificationActions>\n * <button daff-button>Update payment</button>\n * <button daff-button>Contact support</button>\n * </div>\n * </daff-notification>\n * ```\n */\n@Component({\n selector: 'daff-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n host: {\n 'class': 'daff-notification',\n '[class.vertical]': 'orientation === \"vertical\"',\n '[class.horizontal]': 'orientation === \"horizontal\"',\n '[class.dismissible]': 'dismissible',\n 'tabindex': '0',\n '[attr.role]': 'role',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FaIconComponent,\n DaffPrefixDirective,\n ],\n})\nexport class DaffNotificationComponent {\n /**\n * @docs-private\n */\n faTimes = faTimes;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffNotificationActionsDirective) _actions: DaffNotificationActionsDirective;\n\n /**\n * @docs-private\n *\n * Sets role to alert when `status=\"warn\"` or `status=\"critical\"`.\n * Sets role to status on all other instances.\n */\n get role() {\n return this.statusDirective.status === DaffStatusEnum.Warn || this.statusDirective.status === DaffStatusEnum.Critical ? 'alert' : 'status';\n };\n\n /** Whether the notification can be dismissed by the user.\n * Displays a close icon if `true`.\n */\n @Input() dismissible = false;\n\n constructor(private statusDirective: DaffStatusableDirective) {}\n\n /**\n * The orientation of a notification.\n */\n @Input({ transform: (value: DaffNotificationOrientation | null | undefined) => value || DaffNotificationOrientationEnum.Vertical })\n orientation: DaffNotificationOrientation = 'vertical';\n\n /**\n * Emits when the notification is closed.\n */\n @Output() closeNotification: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n *\n * Internal handler for the close icon click.\n */\n onCloseNotification(event: Event) {\n this.closeNotification.emit();\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Message provides additional details or supporting context that supplements\n * the notification title. Keep this brief—ideally one to two short sentences.\n *\n * @example\n * ```html\n * <div daffNotificationMessage>We were unable to process your payment for order #12345. Please update your payment details and try again.</div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationMessage]',\n host: {\n 'class': 'daff-notification__message',\n },\n})\n\nexport class DaffNotificationMessageDirective {}\n","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * @deprecated in favor of DaffNotificationMessageDirective. Deprecated in version 0.88.0. Will be removed in version 0.91.0.\n */\n@Directive({\n selector: '[daffNotificationSubtitle]',\n host: {\n 'class': 'daff-notification__subtitle',\n },\n})\n\nexport class DaffNotificationSubtitleDirective {}\n","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Title is the primary text summarizing the notification.\n *\n * @example\n * ```html\n * <div daffNotificationTitle>Payment Failed</div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationTitle]',\n host: {\n 'class': 'daff-notification__title',\n },\n})\n\nexport class DaffNotificationTitleDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPrefixSuffixModule } from '@daffodil/design';\n\nimport { DaffNotificationComponent } from './notification/notification.component';\nimport { DaffNotificationActionsDirective } from './notification-actions/notification-actions.directive';\nimport { DaffNotificationMessageDirective } from './notification-message/notification-message.directive';\nimport { DaffNotificationSubtitleDirective } from './notification-subtitle/notification-subtitle.directive';\nimport { DaffNotificationTitleDirective } from './notification-title/notification-title.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_NOTIFICATION_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n FontAwesomeModule,\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n DaffNotificationSubtitleDirective,\n ],\n exports: [\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n DaffNotificationSubtitleDirective,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffNotificationModule { }\n","import { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffNotificationComponent } from './notification/notification.component';\nimport { DaffNotificationActionsDirective } from './notification-actions/notification-actions.directive';\nimport { DaffNotificationMessageDirective } from './notification-message/notification-message.directive';\nimport { DaffNotificationSubtitleDirective } from './notification-subtitle/notification-subtitle.directive';\nimport { DaffNotificationTitleDirective } from './notification-title/notification-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_NOTIFICATION_COMPONENTS = <const> [\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n DaffNotificationSubtitleDirective,\n DaffPrefixDirective,\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-notification.mjs","sources":["../../../libs/design/notification/src/notification-actions/notification-actions.directive.ts","../../../libs/design/notification/src/notification/notification.component.ts","../../../libs/design/notification/src/notification/notification.component.html","../../../libs/design/notification/src/notification-message/notification-message.directive.ts","../../../libs/design/notification/src/notification-title/notification-title.directive.ts","../../../libs/design/notification/src/notification.module.ts","../../../libs/design/notification/src/notification.ts","../../../libs/design/notification/src/daffodil-design-notification.ts"],"sourcesContent":["/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Actions is used to include actionable buttons related to the notification (e.g., dismiss, navigate).\n *\n * @example\n * ```html\n * <div daffNotificationActions>\n * <button daff-button>Update payment</button>\n * <button daff-button>Contact support</button>\n * </div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationActions]',\n host: {\n 'class': 'daff-notification__actions',\n },\n})\n\nexport class DaffNotificationActionsDirective {}\n","/* eslint-disable quote-props */\nimport {\n Component,\n Input,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffOrientableDirective,\n DaffPrefixDirective,\n DaffStatusableDirective,\n DaffStatusEnum,\n} from '@daffodil/design';\n\nimport { DaffNotificationActionsDirective } from '../notification-actions/notification-actions.directive';\n\n/**\n * Notifications provide contextual feedback or information related to user actions within a page's content.\n *\n * Use [Toast](/libs/design/toast/README.md) for app-level alerts.\n *\n * @example\n * ```html\n * <daff-notification>\n * <fa-icon daffPrefix [icon]=\"faExclamation\"></fa-icon>\n * <div daffNotificationTitle>Payment Failed</div>\n * <div daffNotificationMessage>We were unable to process your payment for order #12345. Please update your payment details and try again.</div>\n * <div daffNotificationActions>\n * <button daff-button>Update payment</button>\n * <button daff-button>Contact support</button>\n * </div>\n * </daff-notification>\n * ```\n */\n@Component({\n selector: 'daff-notification',\n templateUrl: './notification.component.html',\n styleUrls: ['./notification.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n {\n directive: DaffOrientableDirective,\n inputs: ['orientation'],\n },\n ],\n host: {\n 'class': 'daff-notification',\n '[class.dismissible]': 'dismissible',\n 'tabindex': '0',\n '[attr.role]': 'role',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FaIconComponent,\n DaffPrefixDirective,\n ],\n})\nexport class DaffNotificationComponent {\n /**\n * @docs-private\n */\n faTimes = faTimes;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffNotificationActionsDirective) _actions: DaffNotificationActionsDirective;\n\n /**\n * @docs-private\n *\n * Sets role to alert when `status=\"warn\"` or `status=\"critical\"`.\n * Sets role to status on all other instances.\n */\n get role() {\n return this.statusDirective.status === DaffStatusEnum.Warn || this.statusDirective.status === DaffStatusEnum.Critical ? 'alert' : 'status';\n };\n\n /** Whether the notification can be dismissed by the user.\n * Displays a close icon if `true`.\n */\n @Input() dismissible = false;\n\n constructor(\n private statusDirective: DaffStatusableDirective,\n private orientation: DaffOrientableDirective,\n ) {\n this.orientation.defaultOrientation = 'vertical';\n }\n\n /**\n * Emits when the notification is closed.\n */\n @Output() closeNotification: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n *\n * Internal handler for the close icon click.\n */\n onCloseNotification(event: Event) {\n this.closeNotification.emit();\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-notification__body\">\n <div class=\"daff-notification__content\">\n <ng-content select=\"[daffNotificationTitle]\"></ng-content>\n <ng-content select=\"[daffNotificationMessage]\"></ng-content>\n </div>\n @if (_actions) {\n <ng-content select=\"[daffNotificationActions]\"></ng-content>\n }\n</div>\n@if (dismissible) {\n <button class=\"daff-notification__close-icon\" (click)=\"onCloseNotification($event)\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n}","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Message provides additional details or supporting context that supplements\n * the notification title. Keep this brief—ideally one to two short sentences.\n *\n * @example\n * ```html\n * <div daffNotificationMessage>We were unable to process your payment for order #12345. Please update your payment details and try again.</div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationMessage]',\n host: {\n 'class': 'daff-notification__message',\n },\n})\n\nexport class DaffNotificationMessageDirective {}\n","/* eslint-disable quote-props */\nimport { Directive } from '@angular/core';\n\n/**\n * Title is the primary text summarizing the notification.\n *\n * @example\n * ```html\n * <div daffNotificationTitle>Payment Failed</div>\n * ```\n */\n@Directive({\n selector: '[daffNotificationTitle]',\n host: {\n 'class': 'daff-notification__title',\n },\n})\n\nexport class DaffNotificationTitleDirective {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffPrefixSuffixModule } from '@daffodil/design';\n\nimport { DaffNotificationComponent } from './notification/notification.component';\nimport { DaffNotificationActionsDirective } from './notification-actions/notification-actions.directive';\nimport { DaffNotificationMessageDirective } from './notification-message/notification-message.directive';\nimport { DaffNotificationTitleDirective } from './notification-title/notification-title.directive';\n\n/**\n * @deprecated in favor of {@link DAFF_NOTIFICATION_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n DaffPrefixSuffixModule,\n FontAwesomeModule,\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n ],\n exports: [\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n DaffPrefixSuffixModule,\n ],\n})\nexport class DaffNotificationModule { }\n","import { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffNotificationComponent } from './notification/notification.component';\nimport { DaffNotificationActionsDirective } from './notification-actions/notification-actions.directive';\nimport { DaffNotificationMessageDirective } from './notification-message/notification-message.directive';\nimport { DaffNotificationTitleDirective } from './notification-title/notification-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_NOTIFICATION_COMPONENTS = <const> [\n DaffNotificationComponent,\n DaffNotificationActionsDirective,\n DaffNotificationMessageDirective,\n DaffNotificationTitleDirective,\n DaffPrefixDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAAA;AAGA;;;;;;;;;;AAUG;MAQU,gCAAgC,CAAA;iIAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACtC,qBAAA;AACF,iBAAA;;;ACnBD;AAuBA;;;;;;;;;;;;;;;;;AAiBG;MA6BU,yBAAyB,CAAA;AAgBpC;;;;;AAKG;AACH,IAAA,IAAI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,cAAc,CAAC,IAAI,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,cAAc,CAAC,QAAQ,GAAG,OAAO,GAAG,QAAQ;IAC5I;;IAOA,WAAA,CACU,eAAwC,EACxC,WAAoC,EAAA;QADpC,IAAA,CAAA,eAAe,GAAf,eAAe;QACf,IAAA,CAAA,WAAW,GAAX,WAAW;AAhCrB;;AAEG;QACH,IAAA,CAAA,OAAO,GAAG,OAAO;AAsBjB;;AAEG;QACM,IAAA,CAAA,WAAW,GAAG,KAAK;AAS5B;;AAEG;AACO,QAAA,IAAA,CAAA,iBAAiB,GAAuB,IAAI,YAAY,EAAE;AANlE,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,UAAU;IAClD;AAOA;;;;AAIG;AACH,IAAA,mBAAmB,CAAC,KAAY,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE;IAC/B;iIAlDW,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,wWAStB,mBAAmB,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAKnB,gCAAgC,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECnFhD,wlBAgBC,0gDDiDG,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,aAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,eAAA,EAAA,cAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAIN,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA5BrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAAA,cAAA,EAGb;wBACd,EAAE,SAAS,EAAE,gCAAgC,EAAE;AAC/C,wBAAA;AACE,4BAAA,SAAS,EAAE,uBAAuB;4BAClC,MAAM,EAAE,CAAC,QAAQ,CAAC;AACnB,yBAAA;AACD,wBAAA;AACE,4BAAA,SAAS,EAAE,uBAAuB;4BAClC,MAAM,EAAE,CAAC,aAAa,CAAC;AACxB,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC5B,wBAAA,qBAAqB,EAAE,aAAa;AACpC,wBAAA,UAAU,EAAE,GAAG;AACf,wBAAA,aAAa,EAAE,MAAM;AACtB,qBAAA,EAAA,aAAA,EACc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,eAAe;wBACf,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,wlBAAA,EAAA,MAAA,EAAA,CAAA,k9CAAA,CAAA,EAAA;kIAWkC,OAAO,EAAA,CAAA;sBAAzC,YAAY;uBAAC,mBAAmB;gBAKe,QAAQ,EAAA,CAAA;sBAAvD,YAAY;uBAAC,gCAAgC;gBAerC,WAAW,EAAA,CAAA;sBAAnB;gBAYS,iBAAiB,EAAA,CAAA;sBAA1B;;;AE9GH;AAGA;;;;;;;;AAQG;MAQU,gCAAgC,CAAA;iIAAhC,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,4BAA4B;AACtC,qBAAA;AACF,iBAAA;;;ACjBD;AAGA;;;;;;;AAOG;MAQU,8BAA8B,CAAA;iIAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAA9B,8BAA8B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,0BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA9B,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAP1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,0BAA0B;AACpC,qBAAA;AACF,iBAAA;;;ACLD;;AAEG;MAmBU,sBAAsB,CAAA;iIAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAtB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAhB/B,YAAY;YACZ,sBAAsB;YACtB,iBAAiB;YACjB,yBAAyB;YACzB,gCAAgC;YAChC,gCAAgC;AAChC,YAAA,8BAA8B,aAG9B,yBAAyB;YACzB,gCAAgC;YAChC,gCAAgC;YAChC,8BAA8B;YAC9B,sBAAsB,CAAA,EAAA,CAAA,CAAA;AAGb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,YAhB/B,YAAY;YACZ,sBAAsB;YACtB,iBAAiB;AACjB,YAAA,yBAAyB,EAUzB,sBAAsB,CAAA,EAAA,CAAA,CAAA;;2FAGb,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAlBlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,sBAAsB;wBACtB,iBAAiB;wBACjB,yBAAyB;wBACzB,gCAAgC;wBAChC,gCAAgC;wBAChC,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,yBAAyB;wBACzB,gCAAgC;wBAChC,gCAAgC;wBAChC,8BAA8B;wBAC9B,sBAAsB;AACvB,qBAAA;AACF,iBAAA;;;ACxBD;;AAEG;AACI,MAAM,4BAA4B,GAAW;IAClD,yBAAyB;IACzB,gCAAgC;IAChC,gCAAgC;IAChC,8BAA8B;IAC9B,mBAAmB;;;ACfrB;;AAEG;;;;"}
@@ -1,4 +1,4 @@
1
- import { NgIf, NgFor, CommonModule } from '@angular/common';
1
+ import { CommonModule } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { EventEmitter, Output, Input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/router';
@@ -12,8 +12,7 @@ const DaffPaginatorPageOutOfRangeErrorMessage = 'The numberOfPages in the daff-p
12
12
  /* eslint-disable quote-props */
13
13
  const visiblePageRange = 2;
14
14
  class DaffPaginatorComponent {
15
- constructor(elementRef) {
16
- this.elementRef = elementRef;
15
+ constructor() {
17
16
  /**
18
17
  * @docs-private
19
18
  */
@@ -34,8 +33,6 @@ class DaffPaginatorComponent {
34
33
  * Emits when the current page changes with the new current page.
35
34
  */
36
35
  this.notifyPageChange = new EventEmitter();
37
- const ariaLabel = elementRef.nativeElement.attributes['aria-label'];
38
- this._paginatorId = ariaLabel ? ariaLabel.nodeValue : null;
39
36
  }
40
37
  /**
41
38
  * Determines when ellipsis after the first page number should show.
@@ -132,8 +129,8 @@ class DaffPaginatorComponent {
132
129
  [this.queryParam]: page,
133
130
  };
134
131
  }
135
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffPaginatorComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
136
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffPaginatorComponent, isStandalone: true, selector: "daff-paginator", inputs: { numberOfPages: "numberOfPages", currentPage: "currentPage", linkMode: "linkMode", url: "url", queryParam: "queryParam" }, outputs: { notifyPageChange: "notifyPageChange" }, host: { attributes: { "role": "navigation" }, classAttribute: "daff-paginator" }, usesOnChanges: true, ngImport: i0, template: "<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", styles: [":host{display:flex;gap:.25rem}.daff-paginator__page-link,.daff-paginator__previous,.daff-paginator__next{text-decoration:none}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;gap:.5rem;height:2rem;padding:0 .5rem}.daff-paginator__previous[disabled],.daff-paginator__next[disabled]{cursor:not-allowed;opacity:.5}.daff-paginator__ellipsis{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;min-width:2rem;height:2rem;padding:0 .25rem;position:relative}.daff-paginator__page-link span{z-index:2}.daff-paginator__page-link:after{content:\"\";border-radius:.25rem;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-paginator__page-link:hover:after,.daff-paginator__page-link:active:after,.daff-paginator__page-link.selected:after{opacity:1}\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: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
132
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
133
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffPaginatorComponent, isStandalone: true, selector: "daff-paginator", inputs: { numberOfPages: "numberOfPages", currentPage: "currentPage", linkMode: "linkMode", url: "url", queryParam: "queryParam" }, outputs: { notifyPageChange: "notifyPageChange" }, host: { attributes: { "role": "navigation" }, classAttribute: "daff-paginator" }, usesOnChanges: true, ngImport: i0, template: "@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", styles: [":host{display:flex;gap:.25rem}.daff-paginator__page-link,.daff-paginator__previous,.daff-paginator__next{text-decoration:none}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;gap:.5rem;height:2rem;padding:0 .5rem}.daff-paginator__previous[disabled],.daff-paginator__next[disabled]{cursor:not-allowed;opacity:.5}.daff-paginator__ellipsis{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;min-width:2rem;height:2rem;padding:0 .25rem;position:relative}.daff-paginator__page-link span{z-index:2}.daff-paginator__page-link:after{content:\"\";border-radius:.25rem;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-paginator__page-link:hover:after,.daff-paginator__page-link:active:after,.daff-paginator__page-link.selected:after{opacity:1}\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: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
137
134
  }
138
135
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffPaginatorComponent, decorators: [{
139
136
  type: Component,
@@ -143,10 +140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
143
140
  }, imports: [
144
141
  FaIconComponent,
145
142
  RouterModule,
146
- NgIf,
147
- NgFor,
148
- ], template: "<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", styles: [":host{display:flex;gap:.25rem}.daff-paginator__page-link,.daff-paginator__previous,.daff-paginator__next{text-decoration:none}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;gap:.5rem;height:2rem;padding:0 .5rem}.daff-paginator__previous[disabled],.daff-paginator__next[disabled]{cursor:not-allowed;opacity:.5}.daff-paginator__ellipsis{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;min-width:2rem;height:2rem;padding:0 .25rem;position:relative}.daff-paginator__page-link span{z-index:2}.daff-paginator__page-link:after{content:\"\";border-radius:.25rem;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-paginator__page-link:hover:after,.daff-paginator__page-link:active:after,.daff-paginator__page-link.selected:after{opacity:1}\n"] }]
149
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { numberOfPages: [{
143
+ ], template: "@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", styles: [":host{display:flex;gap:.25rem}.daff-paginator__page-link,.daff-paginator__previous,.daff-paginator__next{text-decoration:none}.daff-paginator__previous,.daff-paginator__next{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;gap:.5rem;height:2rem;padding:0 .5rem}.daff-paginator__previous[disabled],.daff-paginator__next[disabled]{cursor:not-allowed;opacity:.5}.daff-paginator__ellipsis{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center}.daff-paginator__page-link{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;appearance:none;background:none;border:0;border-radius:.25rem;min-width:2rem;height:2rem;padding:0 .25rem;position:relative}.daff-paginator__page-link span{z-index:2}.daff-paginator__page-link:after{content:\"\";border-radius:.25rem;position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .3s}.daff-paginator__page-link:hover:after,.daff-paginator__page-link:active:after,.daff-paginator__page-link.selected:after{opacity:1}\n"] }]
144
+ }], propDecorators: { numberOfPages: [{
150
145
  type: Input
151
146
  }], currentPage: [{
152
147
  type: Input
@@ -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]