@daffodil/design 0.84.0 → 0.86.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 (210) hide show
  1. package/accordion/src/accordion-theme.scss +11 -13
  2. package/article/src/article-theme.scss +36 -38
  3. package/atoms/form/error-message/error-message.component.d.ts +6 -0
  4. package/atoms/form/form-field/form-field/form-field.component.d.ts +104 -13
  5. package/atoms/form/form-field/form-field-control.d.ts +3 -0
  6. package/atoms/form/form-field/form-field.d.ts +2 -1
  7. package/atoms/form/form-field/label/label.directive.d.ts +5 -0
  8. package/atoms/form/form-field/public_api.d.ts +1 -0
  9. package/atoms/form/form-label/form-label.directive.d.ts +3 -0
  10. package/atoms/form/hint/hint.component.d.ts +5 -1
  11. package/breadcrumb/src/breadcrumb-theme.scss +9 -11
  12. package/button/README.md +3 -3
  13. package/button/button/button-base.directive.d.ts +1 -2
  14. package/button/button/raised/raised.component.d.ts +1 -1
  15. package/button/src/button/basic/button-theme.scss +80 -82
  16. package/button/src/button/button-base.scss +0 -18
  17. package/button/src/button/flat/flat-theme.scss +28 -30
  18. package/button/src/button/icon/icon-theme.scss +74 -76
  19. package/button/src/button/raised/raised-theme.scss +28 -30
  20. package/button/src/button/stroked/stroked-theme.scss +31 -33
  21. package/button/src/button/underline/underline-theme.scss +30 -32
  22. package/callout/src/callout-theme.scss +21 -23
  23. package/card/src/card/raised/raised-theme.scss +9 -11
  24. package/card/src/card/stroked/stroked-theme.scss +32 -34
  25. package/card/src/card-base-theme.scss +42 -44
  26. package/core/colorable/colorable.d.ts +2 -2
  27. package/core/compactable/compactable.directive.d.ts +3 -0
  28. package/core/openable/openable.directive.d.ts +1 -1
  29. package/core/selectable/selectable.directive.d.ts +3 -1
  30. package/core/sizable/sizable.directive.d.ts +2 -2
  31. package/core/skeletonable/public_api.d.ts +0 -1
  32. package/core/skeletonable/skeletonable.directive.d.ts +3 -0
  33. package/core/text-alignable/text-alignable.directive.d.ts +9 -5
  34. package/fesm2022/daffodil-design-accordion-examples.mjs +10 -10
  35. package/fesm2022/daffodil-design-accordion-examples.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-accordion.mjs +15 -15
  37. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-article-examples.mjs +31 -31
  39. package/fesm2022/daffodil-design-article-examples.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-article.mjs +12 -12
  41. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-breadcrumb-examples.mjs +7 -7
  43. package/fesm2022/daffodil-design-breadcrumb-examples.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-breadcrumb.mjs +12 -12
  45. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-button-examples.mjs +34 -34
  47. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-button.mjs +37 -61
  49. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  50. package/fesm2022/daffodil-design-callout-examples.mjs +13 -13
  51. package/fesm2022/daffodil-design-callout-examples.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-callout.mjs +23 -23
  53. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-card-examples.mjs +19 -19
  55. package/fesm2022/daffodil-design-card-examples.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-card.mjs +35 -35
  57. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-checkbox-examples.mjs +7 -7
  59. package/fesm2022/daffodil-design-checkbox-examples.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-container-examples.mjs +4 -4
  61. package/fesm2022/daffodil-design-container-examples.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-container.mjs +8 -8
  63. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-hero-examples.mjs +13 -13
  65. package/fesm2022/daffodil-design-hero-examples.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-hero.mjs +23 -23
  67. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-image-examples.mjs +10 -10
  69. package/fesm2022/daffodil-design-image-examples.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-image.mjs +9 -9
  71. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-input-examples.mjs +42 -21
  73. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-input.mjs +139 -0
  75. package/fesm2022/daffodil-design-input.mjs.map +1 -0
  76. package/fesm2022/daffodil-design-link-set.mjs +17 -17
  77. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-list-examples.mjs +13 -13
  79. package/fesm2022/daffodil-design-list-examples.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-list.mjs +12 -12
  81. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-loading-icon-examples.mjs +4 -4
  83. package/fesm2022/daffodil-design-loading-icon-examples.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  85. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-media-gallery-examples.mjs +16 -16
  87. package/fesm2022/daffodil-design-media-gallery-examples.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-media-gallery.mjs +14 -21
  89. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-menu-examples.mjs +7 -7
  91. package/fesm2022/daffodil-design-menu-examples.mjs.map +1 -1
  92. package/fesm2022/daffodil-design-menu.mjs +17 -17
  93. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  94. package/fesm2022/daffodil-design-modal-examples.mjs +7 -7
  95. package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
  96. package/fesm2022/daffodil-design-modal.mjs +28 -28
  97. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  98. package/fesm2022/daffodil-design-navbar-examples.mjs +13 -13
  99. package/fesm2022/daffodil-design-navbar-examples.mjs.map +1 -1
  100. package/fesm2022/daffodil-design-navbar.mjs +8 -8
  101. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  102. package/fesm2022/daffodil-design-notification-examples.mjs +16 -16
  103. package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
  104. package/fesm2022/daffodil-design-notification.mjs +20 -20
  105. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  106. package/fesm2022/daffodil-design-paginator-examples.mjs +7 -7
  107. package/fesm2022/daffodil-design-paginator-examples.mjs.map +1 -1
  108. package/fesm2022/daffodil-design-paginator.mjs +8 -8
  109. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  110. package/fesm2022/daffodil-design-progress-bar-examples.mjs +10 -10
  111. package/fesm2022/daffodil-design-progress-bar-examples.mjs.map +1 -1
  112. package/fesm2022/daffodil-design-progress-bar.mjs +12 -12
  113. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  114. package/fesm2022/daffodil-design-quantity-field-examples.mjs +19 -18
  115. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  116. package/fesm2022/daffodil-design-quantity-field.mjs +355 -0
  117. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -0
  118. package/fesm2022/daffodil-design-radio-examples.mjs +4 -4
  119. package/fesm2022/daffodil-design-radio-examples.mjs.map +1 -1
  120. package/fesm2022/daffodil-design-sidebar-examples.mjs +13 -13
  121. package/fesm2022/daffodil-design-sidebar-examples.mjs.map +1 -1
  122. package/fesm2022/daffodil-design-sidebar.mjs +27 -27
  123. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  124. package/fesm2022/daffodil-design-switch-examples.mjs +16 -16
  125. package/fesm2022/daffodil-design-switch-examples.mjs.map +1 -1
  126. package/fesm2022/daffodil-design-switch.mjs +4 -4
  127. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  128. package/fesm2022/daffodil-design-tabs-examples.mjs +16 -16
  129. package/fesm2022/daffodil-design-tabs-examples.mjs.map +1 -1
  130. package/fesm2022/daffodil-design-tabs.mjs +16 -16
  131. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  132. package/fesm2022/daffodil-design-text-snippet-examples.mjs +4 -4
  133. package/fesm2022/daffodil-design-text-snippet-examples.mjs.map +1 -1
  134. package/fesm2022/daffodil-design-text-snippet.mjs +4 -4
  135. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  136. package/fesm2022/daffodil-design-toast-examples.mjs +13 -72
  137. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  138. package/fesm2022/daffodil-design-toast.mjs +73 -61
  139. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  140. package/fesm2022/daffodil-design-tree-examples.mjs +7 -7
  141. package/fesm2022/daffodil-design-tree-examples.mjs.map +1 -1
  142. package/fesm2022/daffodil-design-tree.mjs +11 -11
  143. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  144. package/fesm2022/daffodil-design-youtube-player.mjs +7 -7
  145. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  146. package/fesm2022/daffodil-design.mjs +477 -711
  147. package/fesm2022/daffodil-design.mjs.map +1 -1
  148. package/hero/src/hero-theme.scss +21 -23
  149. package/input/README.md +66 -0
  150. package/input/examples/input-hint-and-error/input-hint-and-error.component.d.ts +9 -0
  151. package/input/index.d.ts +1 -0
  152. package/{atoms/form/input → input}/input.component.d.ts +21 -5
  153. package/list/src/list-theme.scss +9 -11
  154. package/loading-icon/src/loading-icon-theme.scss +20 -22
  155. package/media-gallery/media-gallery/media-gallery.component.d.ts +0 -4
  156. package/media-gallery/src/media-gallery-theme.scss +10 -12
  157. package/menu/helpers/create-overlay.d.ts +1 -1
  158. package/menu/src/menu-theme.scss +10 -11
  159. package/modal/src/modal-theme.scss +2 -2
  160. package/navbar/src/navbar-theme.scss +18 -20
  161. package/notification/src/notification-theme.scss +44 -46
  162. package/package.json +1 -1
  163. package/paginator/src/paginator-theme.scss +9 -11
  164. package/progress-bar/src/progress-bar-theme.scss +18 -20
  165. package/public_api.d.ts +0 -2
  166. package/quantity-field/README.md +63 -0
  167. package/quantity-field/index.d.ts +1 -0
  168. package/quantity-field/public_api.d.ts +2 -0
  169. package/{atoms/form/quantity-field → quantity-field}/quantity-field.component.d.ts +3 -3
  170. package/quantity-field/quantity-field.module.d.ts +11 -0
  171. package/{atoms/form/quantity-field → quantity-field}/quantity-input/quantity-input.component.d.ts +2 -2
  172. package/{atoms/form/quantity-field → quantity-field}/quantity-select/quantity-select.component.d.ts +2 -2
  173. package/scss/state/skeleton/_mixins.scss +12 -10
  174. package/scss/theme.scss +0 -2
  175. package/scss/theming/_configure-theme.scss +16 -16
  176. package/scss/theming/_get-base-color.scss +19 -0
  177. package/scss/theming/_get-palette.scss +27 -0
  178. package/scss/theming/_get-theme-mode.scss +9 -0
  179. package/scss/theming/_index.scss +3 -0
  180. package/scss/theming/_light-dark.scss +4 -4
  181. package/scss/theming/_theme-css-variables.scss +20 -20
  182. package/scss/theming/contrast/luminance/luminance.scss +3 -3
  183. package/sidebar/src/sidebar-theme.scss +4 -5
  184. package/src/atoms/form/error-message/error-message-theme.scss +3 -4
  185. package/src/atoms/form/form-field/form-field/form-field-theme.scss +47 -31
  186. package/src/atoms/form/hint/hint-theme.scss +13 -8
  187. package/src/atoms/form/native-select/native-select-theme.scss +5 -7
  188. package/switch/src/switch-theme.scss +13 -15
  189. package/tabs/src/tabs-theme.scss +13 -15
  190. package/toast/README.md +21 -1
  191. package/toast/examples/public_api.d.ts +1 -2
  192. package/toast/helpers/toast-position.d.ts +8 -0
  193. package/toast/interfaces/toast-options.d.ts +19 -0
  194. package/toast/interfaces/toast.d.ts +1 -1
  195. package/toast/public_api.d.ts +2 -2
  196. package/toast/service/position-strategy.d.ts +1 -1
  197. package/toast/service/position.service.d.ts +1 -1
  198. package/toast/service/toast.service.d.ts +1 -1
  199. package/toast/src/toast-theme.scss +36 -38
  200. package/toast/toast/toast-provider.d.ts +16 -4
  201. package/toast/toast/toast-template.component.d.ts +1 -1
  202. package/tree/src/tree-theme.scss +20 -22
  203. package/atoms/form/quantity-field/public_api.d.ts +0 -4
  204. package/atoms/form/quantity-field/quantity-field.module.d.ts +0 -13
  205. package/core/skeletonable/skeletonable.d.ts +0 -6
  206. package/src/atoms/form/input/input-theme.scss +0 -12
  207. package/toast/examples/toast-positions/toast-positions.component.d.ts +0 -20
  208. package/toast/options/daff-toast-options.d.ts +0 -14
  209. /package/{atoms/form/input → input}/input.module.d.ts +0 -0
  210. /package/{atoms/form/input → input}/public_api.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, Component, ChangeDetectionStrategy, Input, ViewChild, ContentChild, HostBinding, ViewEncapsulation, EventEmitter, Output, ContentChildren, ViewChildren } from '@angular/core';
2
+ import { TemplateRef, Input, ViewChild, ChangeDetectionStrategy, Component, ContentChild, HostBinding, ViewEncapsulation, EventEmitter, ViewChildren, ContentChildren, Output } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { NgIf, NgTemplateOutlet } from '@angular/common';
5
5
  import * as i1 from '@daffodil/design';
@@ -54,8 +54,8 @@ class DaffTabComponent {
54
54
  this.panelId = 'daff-tab-panel-' + tabId;
55
55
  tabId++;
56
56
  }
57
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { disabled: "disabled", id: "id" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, read: TemplateRef, static: true }, { propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
57
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { disabled: "disabled", id: "id" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, read: TemplateRef, static: true }, { propertyName: "labelRef", first: true, predicate: ["label"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
59
59
  <ng-template #label>
60
60
  <ng-content select="daff-tab-label"></ng-content>
61
61
  </ng-template>
@@ -64,7 +64,7 @@ class DaffTabComponent {
64
64
  </ng-template>
65
65
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{
70
70
  selector: 'daff-tab',
@@ -103,10 +103,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
103
103
  * ```
104
104
  */
105
105
  class DaffTabLabelComponent {
106
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: DaffTabLabelComponent, isStandalone: true, selector: "daff-tab-label", queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;gap:.5rem}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
106
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: DaffTabLabelComponent, isStandalone: true, selector: "daff-tab-label", queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true }, { propertyName: "_suffix", first: true, predicate: DaffSuffixDirective, descendants: true }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}", styles: [":host{display:flex;justify-content:center;align-items:center;gap:.5rem}.daff-tab-label__content{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
108
108
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
110
110
  type: Component,
111
111
  args: [{ selector: 'daff-tab-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
112
112
  NgIf,
@@ -171,10 +171,10 @@ class DaffTabPanelComponent {
171
171
  this.ariaLabelledBy = this.tab.id;
172
172
  this._id = this.tab.panelId;
173
173
  }
174
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
175
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { properties: { "class.daff-tab-panel": "this.class", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.tabindex": "this.tabIndex", "attr.id": "this.tabPanelId" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem 0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
174
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
175
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { properties: { "class.daff-tab-panel": "this.class", "attr.role": "this.role", "attr.aria-labelledby": "this.ariaLabelledBy", "attr.tabindex": "this.tabIndex", "attr.id": "this.tabPanelId" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem 0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
176
176
  }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'daff-tab-panel', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host(.daff-tab-panel){display:block;padding:1rem 0}\n"] }]
180
180
  }], ctorParameters: () => [{ type: DaffTabComponent }], propDecorators: { class: [{
@@ -252,10 +252,10 @@ class DaffTabActivatorComponent {
252
252
  focus() {
253
253
  this.el.nativeElement.focus();
254
254
  }
255
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DaffSelectableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
256
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { properties: { "class.daff-tab-activator": "this.class", "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.tabindex": "this.tabIndex", "attr.aria-controls": "this.ariaControls", "attr.id": "this.tabActivatorId" } }, hostDirectives: [{ directive: i1.DaffSelectableDirective, inputs: ["selected", "selected"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;font-size:1rem;line-height:1.5rem;font-weight:500;height:3rem;margin:0;min-width:8rem;padding:.5rem 1.5rem;text-decoration:none;z-index:2}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
255
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DaffSelectableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
256
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { properties: { "class.daff-tab-activator": "this.class", "attr.role": "this.role", "attr.aria-selected": "this.ariaSelected", "attr.tabindex": "this.tabIndex", "attr.aria-controls": "this.ariaControls", "attr.id": "this.tabActivatorId" } }, hostDirectives: [{ directive: i1.DaffSelectableDirective, inputs: ["selected", "selected"] }], ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [".daff-tab-activator{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;appearance:none;background:none;border:none;font-size:1rem;line-height:1.5rem;font-weight:500;height:3rem;margin:0;min-width:8rem;padding:.5rem 1.5rem;text-decoration:none;z-index:2}.daff-tab-activator[disabled]{cursor:not-allowed;opacity:.6}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
257
257
  }
258
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
259
259
  type: Component,
260
260
  args: [{ selector: '' +
261
261
  'button[daff-tab-activator]' + ',' +
@@ -460,10 +460,10 @@ class DaffTabsComponent {
460
460
  const array = this._tabs.toArray();
461
461
  this.select(array[array.length - 1].id);
462
462
  }
463
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
464
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.5", type: DaffTabsComponent, isStandalone: true, selector: "daff-tabs", inputs: { initiallySelected: "initiallySelected", ariaLabel: ["aria-label", "ariaLabel"], linkMode: "linkMode", url: "url", queryParam: "queryParam" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.daff-tabs": "this.class", "attr.aria-label": "this.externalAriaLabel" } }, queries: [{ propertyName: "_labels", predicate: DaffTabLabelComponent, descendants: true }, { propertyName: "_tabs", predicate: DaffTabComponent }], viewQueries: [{ propertyName: "_tabActivators", predicate: DaffTabActivatorComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:auto;scrollbar-width:thin;position:relative}.daff-tabs .daff-tabs__tab-list:after{content:\"\";position:absolute;height:.125rem;width:100%;bottom:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: DaffTabActivatorComponent, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: ["tabActivatorId", "panelId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
463
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
464
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: DaffTabsComponent, isStandalone: true, selector: "daff-tabs", inputs: { initiallySelected: "initiallySelected", ariaLabel: ["aria-label", "ariaLabel"], linkMode: "linkMode", url: "url", queryParam: "queryParam" }, outputs: { tabChange: "tabChange" }, host: { properties: { "class.daff-tabs": "this.class", "attr.aria-label": "this.externalAriaLabel" } }, queries: [{ propertyName: "_labels", predicate: DaffTabLabelComponent, descendants: true }, { propertyName: "_tabs", predicate: DaffTabComponent }], viewQueries: [{ propertyName: "_tabActivators", predicate: DaffTabActivatorComponent, descendants: true }], ngImport: i0, template: "<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}", styles: [":host(.daff-tabs){max-width:100%}.daff-tabs{display:block}.daff-tabs .daff-tabs__tab-list{display:flex;overflow-x:auto;scrollbar-width:thin;position:relative}.daff-tabs .daff-tabs__tab-list:after{content:\"\";position:absolute;height:.125rem;width:100%;bottom:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: DaffTabActivatorComponent, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: ["tabActivatorId", "panelId"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
465
465
  }
466
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTabsComponent, decorators: [{
466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTabsComponent, decorators: [{
467
467
  type: Component,
468
468
  args: [{ selector: 'daff-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
469
469
  NgTemplateOutlet,
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tabs.mjs","sources":["../../../libs/design/tabs/src/tabs/tab/tab.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.html","../../../libs/design/tabs/src/tabs/tab-panel/tab-panel.component.ts","../../../libs/design/tabs/src/tabs/tab-activator/tab-activator.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.html","../../../libs/design/tabs/src/tabs.ts","../../../libs/design/tabs/src/daffodil-design-tabs.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n ViewChild,\n Input,\n} from '@angular/core';\n\nlet tabId = 1;\n\n/**\n * `DaffTabComponet` is an element in the tab list that is used as a content container to group the label of a tab panel and the tab panel together.\n *\n * A `<daff-tab>` should include the DaffTabLabelComponent and DaffTabPanelComponent components in order to properly structure the UI.\n *\n * @example Basic structure of tab\n * ```html\n * <daff-tab>\n * \t<daff-tab-label>\n * \t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\tTab 1\n * \t</daff-tab-label>\n * \t<daff-tab-panel>\n * \t\tTab 1 Panel\n * \t</daff-tab-panel>\n * </daff-tab>\n * ```\n */\n@Component({\n selector: 'daff-tab',\n template: `\n <ng-template #label>\n <ng-content select=\"daff-tab-label\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"daff-tab-panel\"></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabComponent {\n /**\n * Whether the tab is disabled.\n *\n * @example Using the `disabled` property\n * ```html\n * <daff-tab [disabled]=\"true\">\n * </daff-tab>\n * ```\n */\n @Input() disabled = false;\n\n /**\n * @docs-private\n */\n @ViewChild('content', { read: TemplateRef, static: true }) contentRef: TemplateRef<any>;\n\n /**\n * @docs-private\n */\n @ViewChild('label', { read: TemplateRef, static: true }) labelRef: TemplateRef<any>;\n\n /**\n * A unique id for the tab component.\n *\n * The `id` is automatically generated by linking the prefix 'daff-tab-' with an incrementing `tabId`. This value can be customized by passing a different `id` value via the component's `id` input.\n *\n * @example Using the `id` property\n * ```html\n * <daff-tab [id]=\"'custom-id'\"></daff-tab>\n * ```\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor() {\n tabId++;\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '@daffodil/design';\n\n/**\n * DaffTabLabelComponent is used to display the label of a tab panel. Labels may optionally contain a `daffPrefix` or `daffSuffix` to add icons or badges.\n *\n * @example Basic structure of tab label\n * ```html\n * <daff-tab-label>\n * <div daffPrefix></div>\n * Label\n * <div daffSuffix></div\n * </daff-tab-Label>\n * ```\n */\n@Component({\n selector: 'daff-tab-label',\n templateUrl: './tab-label.component.html',\n styleUrl: './tab-label.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffTabLabelComponent {\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * DaffTabPanelComponent is used to display the content panel of a tab.\n *\n * @example Basic structure of tab panel\n * ```html\n * <daff-tab-panel>\n * <!-- Tab panel content goes here -->\n * </daff-tab-panel>\n * ```\n */\n@Component({\n selector: 'daff-tab-panel',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabPanelComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-panel') private class = true;\n\n /**\n * @docs-private\n *\n * Sets the `role` to tabpanel.\n */\n @HostBinding('attr.role') role = 'tabpanel';\n\n /**\n * @docs-private\n *\n * `aria-labelledby` for the tab.\n */\n @HostBinding('attr.aria-labelledby') ariaLabelledBy = '';\n\n /**\n * @docs-private\n *\n * Sets the `tabindex` to 0.\n */\n @HostBinding('attr.tabindex') tabIndex = '0';\n\n private _id = '';\n\n /**\n * @docs-private\n *\n * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId.\n */\n @HostBinding('attr.id') get tabPanelId() {\n return this._id;\n }\n\n constructor(private tab: DaffTabComponent) {\n /**\n * Sets the value of `ariaLabelledBy` to the id of the tab component.\n */\n this.ariaLabelledBy = this.tab.id;\n\n this._id = this.tab.panelId;\n }\n}\n","import {\n HostBinding,\n Input,\n OnInit,\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\n\nimport { DaffSelectableDirective } from '@daffodil/design';\n\n@Component({\n selector: '' +\n 'button[daff-tab-activator]' + ',' +\n 'a[daff-tab-activator]',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-activator.component.scss',\n hostDirectives: [\n {\n directive: DaffSelectableDirective,\n inputs: ['selected'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent implements OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-activator') class = true;\n\n /**\n * Sets the `role` to tab.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'tab';\n\n /**\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-selected') get ariaSelected() {\n return this.selectableDirective.selected ? true : false;\n }\n\n /**\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.tabindex') get tabIndex() {\n return this.selectableDirective.selected ? '0' : '-1';\n }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-controls') ariaControls = '';\n\n constructor(\n private el: ElementRef,\n private selectableDirective: DaffSelectableDirective,\n ) {\n }\n\n /**\n * The html id of the tab activator component\n */\n @Input() @HostBinding('attr.id') tabActivatorId = '';\n\n @Input() panelId = '';\n\n /**\n * @docs-private\n */\n ngOnInit() {\n /**\n * Sets the value of `panelId` to the `ariaControls` property\n */\n this.ariaControls = this.panelId;\n }\n\n /**\n * Sets focus to the native element of the component\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","import {\n Location,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Input,\n Output,\n EventEmitter,\n ViewChildren,\n ChangeDetectorRef,\n OnInit,\n} from '@angular/core';\nimport {\n Params,\n RouterLink,\n RouterLinkActive,\n} from '@angular/router';\n\nimport { DaffTabComponent } from './tab/tab.component';\nimport { DaffTabActivatorComponent } from './tab-activator/tab-activator.component';\nimport { DaffTabLabelComponent } from './tab-label/tab-label.component';\n\n/**\n * Tabs provide a way to navigate between panels that display related content.\n *\n * @example Basic use of the tabs component\n * ```html\n * <daff-tabs aria-label=\"List of tabs\">\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\t\tTab 1\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 1 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\tTab 2\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffSuffix></fa-icon>\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 2 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * </daff-tabs>\n * ```\n */\n@Component({\n selector: 'daff-tabs',\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n RouterLink,\n RouterLinkActive,\n DaffTabActivatorComponent,\n ],\n})\n\nexport class DaffTabsComponent implements AfterContentInit, OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tabs') private class = true;\n\n /**\n * @docs-private\n *\n * The currently selected tab. This property is dynamically updated when a user selects a tab.\n */\n selectedTab: string;\n\n /**\n * The tab that is selected on initial load. If it's not used, the first tab in the tablist will be selected by default.\n */\n @Input() initiallySelected: string = null;\n\n /**\n * aria-label for the tab.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * @docs-private\n *\n */\n @Input('aria-label') ariaLabel = '';\n\n /**\n * Replace the tab buttons as links.\n */\n @Input() linkMode = false;\n\n /**\n * The URL to navigate to when the component is in link mode.\n * This component will set the specified query param.\n */\n @Input() url?: string;\n\n /**\n * The query parameter that the tabs component will use to set the tab value in link mode.\n */\n @Input() queryParam = 'tab';\n\n /**\n * Event emitted when tab selection changes.\n */\n @Output() tabChange = new EventEmitter<string>();\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabLabelComponent, { descendants: true }) _labels: QueryList<DaffTabLabelComponent>;\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabComponent) _tabs: QueryList<DaffTabComponent>;\n\n /**\n * @docs-private\n */\n @ViewChildren(DaffTabActivatorComponent) _tabActivators: QueryList<DaffTabActivatorComponent>;\n\n /**\n * @docs-private\n */\n get currentPath(): string {\n return this.location.path();\n }\n\n constructor(\n private cdRef: ChangeDetectorRef,\n private location: Location,\n ) {}\n\n private reset() {\n if(this.initiallySelected) {\n this.selectedTab = this.initiallySelected;\n }\n\n if (!this.selectedTab) {\n this.selectedTab = this._tabs.first.id;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.location.onUrlChange(() => {\n // if the app is navigated away from the current page, reset the state\n if (this.linkMode && !this.location.isCurrentPathEqualTo(this.url, `${this.queryParam}=${this.selectedTab}`)) {\n this.selectedTab = null;\n this.reset();\n this.tabChange.emit(this.selectedTab);\n }\n });\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this.reset();\n }\n\n /**\n * @docs-private\n *\n * Selects a tab and sets focus on the selected tab.\n */\n select(tabId: string) {\n const tabActivator = this._tabActivators.find(el => el.tabActivatorId === tabId);\n\n if (!tabActivator) {\n console.warn(`The tab '${tabId}' was not able to be selected because it does not exist. Check the id on your <daff-tab>s.`);\n return;\n }\n\n this.tabChange.emit(tabId);\n this.selectedTab = tabId;\n this.cdRef.markForCheck();\n\n tabActivator.focus();\n }\n\n /**\n * Navigates through the tabs based on the given offset.\n * Moves forward or backward in the tab array, wrapping around when necessary.\n */\n private navigateTabs(offset: number) {\n const array = this._tabs.toArray();\n let selectedIndex = array.findIndex(el => el.id === this.selectedTab);\n const startingIndex = selectedIndex;\n let newIndex;\n\n do {\n newIndex = (selectedIndex + offset + array.length) % array.length;\n selectedIndex = newIndex;\n } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs\n\n this.select(array[newIndex].id);\n }\n\n /**\n * @docs-private\n */\n _buildQueryParams(tab: string): Params {\n return {\n [this.queryParam]: tab,\n };\n }\n\n /**\n * @docs-private\n *\n * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.\n */\n previous() {\n this.navigateTabs(-1);\n }\n\n /**\n * @docs-private\n *\n * Selects the next tab and wraps around to the first tab if the last tab is currently selected.\n */\n next() {\n this.navigateTabs(1);\n }\n\n /**\n * @docs-private\n *\n * Selects the first tab.\n */\n selectFirst(event: KeyboardEvent | null) {\n event.preventDefault();\n this.select(this._tabs.toArray()[0].id);\n }\n\n /**\n * @docs-private\n *\n * Selects the last tab.\n */\n selectLast(event: KeyboardEvent | null) {\n event.preventDefault();\n const array = this._tabs.toArray();\n this.select(array[array.length - 1].id);\n }\n}\n","<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}","import { DaffTabComponent } from './tabs/tab/tab.component';\nimport { DaffTabLabelComponent } from './tabs/tab-label/tab-label.component';\nimport { DaffTabPanelComponent } from './tabs/tab-panel/tab-panel.component';\nimport { DaffTabsComponent } from './tabs/tabs.component';\n\n/**\n * @docs-private\n *\n * ```ts\n * import { DAFF_TABS_COMPONENTS } from '@daffodil/design/tabs';\n * ```\n */\nexport const DAFF_TABS_COMPONENTS = <const> [\n DaffTabsComponent,\n DaffTabLabelComponent,\n DaffTabPanelComponent,\n DaffTabComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTabComponent","i1"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-tabs.mjs","sources":["../../../libs/design/tabs/src/tabs/tab/tab.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.ts","../../../libs/design/tabs/src/tabs/tab-label/tab-label.component.html","../../../libs/design/tabs/src/tabs/tab-panel/tab-panel.component.ts","../../../libs/design/tabs/src/tabs/tab-activator/tab-activator.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.ts","../../../libs/design/tabs/src/tabs/tabs.component.html","../../../libs/design/tabs/src/tabs.ts","../../../libs/design/tabs/src/daffodil-design-tabs.ts"],"sourcesContent":["import {\n Component,\n ChangeDetectionStrategy,\n TemplateRef,\n ViewChild,\n Input,\n} from '@angular/core';\n\nlet tabId = 1;\n\n/**\n * `DaffTabComponet` is an element in the tab list that is used as a content container to group the label of a tab panel and the tab panel together.\n *\n * A `<daff-tab>` should include the DaffTabLabelComponent and DaffTabPanelComponent components in order to properly structure the UI.\n *\n * @example Basic structure of tab\n * ```html\n * <daff-tab>\n * \t<daff-tab-label>\n * \t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\tTab 1\n * \t</daff-tab-label>\n * \t<daff-tab-panel>\n * \t\tTab 1 Panel\n * \t</daff-tab-panel>\n * </daff-tab>\n * ```\n */\n@Component({\n selector: 'daff-tab',\n template: `\n <ng-template #label>\n <ng-content select=\"daff-tab-label\"></ng-content>\n </ng-template>\n <ng-template #content>\n <ng-content select=\"daff-tab-panel\"></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabComponent {\n /**\n * Whether the tab is disabled.\n *\n * @example Using the `disabled` property\n * ```html\n * <daff-tab [disabled]=\"true\">\n * </daff-tab>\n * ```\n */\n @Input() disabled = false;\n\n /**\n * @docs-private\n */\n @ViewChild('content', { read: TemplateRef, static: true }) contentRef: TemplateRef<any>;\n\n /**\n * @docs-private\n */\n @ViewChild('label', { read: TemplateRef, static: true }) labelRef: TemplateRef<any>;\n\n /**\n * A unique id for the tab component.\n *\n * The `id` is automatically generated by linking the prefix 'daff-tab-' with an incrementing `tabId`. This value can be customized by passing a different `id` value via the component's `id` input.\n *\n * @example Using the `id` property\n * ```html\n * <daff-tab [id]=\"'custom-id'\"></daff-tab>\n * ```\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor() {\n tabId++;\n }\n}\n","import { NgIf } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '@daffodil/design';\n\n/**\n * DaffTabLabelComponent is used to display the label of a tab panel. Labels may optionally contain a `daffPrefix` or `daffSuffix` to add icons or badges.\n *\n * @example Basic structure of tab label\n * ```html\n * <daff-tab-label>\n * <div daffPrefix></div>\n * Label\n * <div daffSuffix></div\n * </daff-tab-Label>\n * ```\n */\n@Component({\n selector: 'daff-tab-label',\n templateUrl: './tab-label.component.html',\n styleUrl: './tab-label.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffTabLabelComponent {\n @ContentChild(DaffPrefixDirective) _prefix: DaffPrefixDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffSuffixDirective) _suffix: DaffSuffixDirective;\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tab-label__content\">\n <ng-content></ng-content>\n</div>\n@if (_suffix) {\n <ng-content select=\"[daffSuffix]\"></ng-content>\n}","import {\n Component,\n HostBinding,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * DaffTabPanelComponent is used to display the content panel of a tab.\n *\n * @example Basic structure of tab panel\n * ```html\n * <daff-tab-panel>\n * <!-- Tab panel content goes here -->\n * </daff-tab-panel>\n * ```\n */\n@Component({\n selector: 'daff-tab-panel',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffTabPanelComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-panel') private class = true;\n\n /**\n * @docs-private\n *\n * Sets the `role` to tabpanel.\n */\n @HostBinding('attr.role') role = 'tabpanel';\n\n /**\n * @docs-private\n *\n * `aria-labelledby` for the tab.\n */\n @HostBinding('attr.aria-labelledby') ariaLabelledBy = '';\n\n /**\n * @docs-private\n *\n * Sets the `tabindex` to 0.\n */\n @HostBinding('attr.tabindex') tabIndex = '0';\n\n private _id = '';\n\n /**\n * @docs-private\n *\n * Dynamically binds the tab panel's id to a unique value generated from the associated tab's panelId.\n */\n @HostBinding('attr.id') get tabPanelId() {\n return this._id;\n }\n\n constructor(private tab: DaffTabComponent) {\n /**\n * Sets the value of `ariaLabelledBy` to the id of the tab component.\n */\n this.ariaLabelledBy = this.tab.id;\n\n this._id = this.tab.panelId;\n }\n}\n","import {\n HostBinding,\n Input,\n OnInit,\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ElementRef,\n} from '@angular/core';\n\nimport { DaffSelectableDirective } from '@daffodil/design';\n\n@Component({\n selector: '' +\n 'button[daff-tab-activator]' + ',' +\n 'a[daff-tab-activator]',\n template: `<ng-content></ng-content>`,\n styleUrl: './tab-activator.component.scss',\n hostDirectives: [\n {\n directive: DaffSelectableDirective,\n inputs: ['selected'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent implements OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tab-activator') class = true;\n\n /**\n * Sets the `role` to tab.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'tab';\n\n /**\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-selected') get ariaSelected() {\n return this.selectableDirective.selected ? true : false;\n }\n\n /**\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.tabindex') get tabIndex() {\n return this.selectableDirective.selected ? '0' : '-1';\n }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-controls') ariaControls = '';\n\n constructor(\n private el: ElementRef,\n private selectableDirective: DaffSelectableDirective,\n ) {\n }\n\n /**\n * The html id of the tab activator component\n */\n @Input() @HostBinding('attr.id') tabActivatorId = '';\n\n @Input() panelId = '';\n\n /**\n * @docs-private\n */\n ngOnInit() {\n /**\n * Sets the value of `panelId` to the `ariaControls` property\n */\n this.ariaControls = this.panelId;\n }\n\n /**\n * Sets focus to the native element of the component\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","import {\n Location,\n NgTemplateOutlet,\n} from '@angular/common';\nimport {\n Component,\n HostBinding,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ContentChildren,\n QueryList,\n AfterContentInit,\n Input,\n Output,\n EventEmitter,\n ViewChildren,\n ChangeDetectorRef,\n OnInit,\n} from '@angular/core';\nimport {\n Params,\n RouterLink,\n RouterLinkActive,\n} from '@angular/router';\n\nimport { DaffTabComponent } from './tab/tab.component';\nimport { DaffTabActivatorComponent } from './tab-activator/tab-activator.component';\nimport { DaffTabLabelComponent } from './tab-label/tab-label.component';\n\n/**\n * Tabs provide a way to navigate between panels that display related content.\n *\n * @example Basic use of the tabs component\n * ```html\n * <daff-tabs aria-label=\"List of tabs\">\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffPrefix></fa-icon>\n * \t\t\tTab 1\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 1 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * \t<daff-tab>\n * \t\t<daff-tab-label>\n * \t\t\tTab 2\n * \t\t\t<fa-icon [icon]=\"faInfoCircle\" daffSuffix></fa-icon>\n * \t\t</daff-tab-label>\n * \t\t<daff-tab-panel>\n * \t\t\tTab 2 Panel\n * \t\t</daff-tab-panel>\n * \t</daff-tab>\n * </daff-tabs>\n * ```\n */\n@Component({\n selector: 'daff-tabs',\n templateUrl: './tabs.component.html',\n styleUrl: './tabs.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n RouterLink,\n RouterLinkActive,\n DaffTabActivatorComponent,\n ],\n})\n\nexport class DaffTabsComponent implements AfterContentInit, OnInit {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-tabs') private class = true;\n\n /**\n * @docs-private\n *\n * The currently selected tab. This property is dynamically updated when a user selects a tab.\n */\n selectedTab: string;\n\n /**\n * The tab that is selected on initial load. If it's not used, the first tab in the tablist will be selected by default.\n */\n @Input() initiallySelected: string = null;\n\n /**\n * aria-label for the tab.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * @docs-private\n *\n */\n @Input('aria-label') ariaLabel = '';\n\n /**\n * Replace the tab buttons as links.\n */\n @Input() linkMode = false;\n\n /**\n * The URL to navigate to when the component is in link mode.\n * This component will set the specified query param.\n */\n @Input() url?: string;\n\n /**\n * The query parameter that the tabs component will use to set the tab value in link mode.\n */\n @Input() queryParam = 'tab';\n\n /**\n * Event emitted when tab selection changes.\n */\n @Output() tabChange = new EventEmitter<string>();\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabLabelComponent, { descendants: true }) _labels: QueryList<DaffTabLabelComponent>;\n\n /**\n * @docs-private\n */\n @ContentChildren(DaffTabComponent) _tabs: QueryList<DaffTabComponent>;\n\n /**\n * @docs-private\n */\n @ViewChildren(DaffTabActivatorComponent) _tabActivators: QueryList<DaffTabActivatorComponent>;\n\n /**\n * @docs-private\n */\n get currentPath(): string {\n return this.location.path();\n }\n\n constructor(\n private cdRef: ChangeDetectorRef,\n private location: Location,\n ) {}\n\n private reset() {\n if(this.initiallySelected) {\n this.selectedTab = this.initiallySelected;\n }\n\n if (!this.selectedTab) {\n this.selectedTab = this._tabs.first.id;\n }\n }\n\n /**\n * @docs-private\n */\n ngOnInit(): void {\n this.location.onUrlChange(() => {\n // if the app is navigated away from the current page, reset the state\n if (this.linkMode && !this.location.isCurrentPathEqualTo(this.url, `${this.queryParam}=${this.selectedTab}`)) {\n this.selectedTab = null;\n this.reset();\n this.tabChange.emit(this.selectedTab);\n }\n });\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this.reset();\n }\n\n /**\n * @docs-private\n *\n * Selects a tab and sets focus on the selected tab.\n */\n select(tabId: string) {\n const tabActivator = this._tabActivators.find(el => el.tabActivatorId === tabId);\n\n if (!tabActivator) {\n console.warn(`The tab '${tabId}' was not able to be selected because it does not exist. Check the id on your <daff-tab>s.`);\n return;\n }\n\n this.tabChange.emit(tabId);\n this.selectedTab = tabId;\n this.cdRef.markForCheck();\n\n tabActivator.focus();\n }\n\n /**\n * Navigates through the tabs based on the given offset.\n * Moves forward or backward in the tab array, wrapping around when necessary.\n */\n private navigateTabs(offset: number) {\n const array = this._tabs.toArray();\n let selectedIndex = array.findIndex(el => el.id === this.selectedTab);\n const startingIndex = selectedIndex;\n let newIndex;\n\n do {\n newIndex = (selectedIndex + offset + array.length) % array.length;\n selectedIndex = newIndex;\n } while (array[newIndex].disabled && selectedIndex !== startingIndex); // Skip disabled tabs\n\n this.select(array[newIndex].id);\n }\n\n /**\n * @docs-private\n */\n _buildQueryParams(tab: string): Params {\n return {\n [this.queryParam]: tab,\n };\n }\n\n /**\n * @docs-private\n *\n * Selects the previous tab and wraps around to the last tab if the first tab is currently selected.\n */\n previous() {\n this.navigateTabs(-1);\n }\n\n /**\n * @docs-private\n *\n * Selects the next tab and wraps around to the first tab if the last tab is currently selected.\n */\n next() {\n this.navigateTabs(1);\n }\n\n /**\n * @docs-private\n *\n * Selects the first tab.\n */\n selectFirst(event: KeyboardEvent | null) {\n event.preventDefault();\n this.select(this._tabs.toArray()[0].id);\n }\n\n /**\n * @docs-private\n *\n * Selects the last tab.\n */\n selectLast(event: KeyboardEvent | null) {\n event.preventDefault();\n const array = this._tabs.toArray();\n this.select(array[array.length - 1].id);\n }\n}\n","<div class=\"daff-tabs__tab-list\"\n\trole=\"tablist\"\n\t[attr.aria-label]=\"ariaLabel\"\n\t(keydown.home)=\"selectFirst($event)\"\n\t(keydown.end)=\"selectLast($event)\">\n\t@for (tab of _tabs; track tab) {\n\t\t@if (linkMode && tab.disabled) {\n\t\t\t<button daff-tab-activator routerLinkActive\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t} @else if (linkMode) {\n\t\t\t<a daff-tab-activator routerLinkActive\n\t\t\t\tclass=\"daff-ae daff_tabs__link\"\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t[routerLink]=\"url || currentPath\"\n\t\t\t\tqueryParamsHandling=\"merge\"\n\t\t\t\t[queryParams]=\"_buildQueryParams(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\"\n\t\t\t\t(isActiveChange)=\"$event && select(tab.id)\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</a>\n\t\t} @else {\n\t\t\t<button daff-tab-activator\n\t\t\t\t[selected]=\"tab.id === selectedTab\"\n\t\t\t\t(click)=\"select(tab.id)\"\n\t\t\t\t[panelId]=\"tab.panelId\"\n\t\t\t\t[disabled]=\"tab.disabled\"\n\t\t\t\t[tabActivatorId]=\"tab.id\"\n\t\t\t\t(keydown.arrowright)=\"next()\"\n\t\t\t\t(keydown.arrowleft)=\"previous()\">\n\t\t\t\t\t<ng-container *ngTemplateOutlet=\"tab.labelRef\"></ng-container>\n\t\t\t</button>\n\t\t}\n\t}\n</div>\n\n@for (tab of _tabs; track tab) {\n\t@if(tab.id === selectedTab ) {\n\t\t<ng-container *ngTemplateOutlet=\"tab.contentRef\"></ng-container>\n\t}\n}","import { DaffTabComponent } from './tabs/tab/tab.component';\nimport { DaffTabLabelComponent } from './tabs/tab-label/tab-label.component';\nimport { DaffTabPanelComponent } from './tabs/tab-panel/tab-panel.component';\nimport { DaffTabsComponent } from './tabs/tabs.component';\n\n/**\n * @docs-private\n *\n * ```ts\n * import { DAFF_TABS_COMPONENTS } from '@daffodil/design/tabs';\n * ```\n */\nexport const DAFF_TABS_COMPONENTS = <const> [\n DaffTabsComponent,\n DaffTabLabelComponent,\n DaffTabPanelComponent,\n DaffTabComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTabComponent","i1"],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';
4
4
 
5
5
  class BasicTextSnippetComponent {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: BasicTextSnippetComponent, isStandalone: true, selector: "basic-text-snippet", ngImport: i0, template: "<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>", dependencies: [{ kind: "component", type: DaffTextSnippetComponent, selector: "daff-text-snippet", inputs: ["condensed", "html"], outputs: ["toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BasicTextSnippetComponent, isStandalone: true, selector: "basic-text-snippet", ngImport: i0, template: "<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>", dependencies: [{ kind: "component", type: DaffTextSnippetComponent, selector: "daff-text-snippet", inputs: ["condensed", "html"], outputs: ["toggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: BasicTextSnippetComponent, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicTextSnippetComponent, decorators: [{
10
10
  type: Component,
11
11
  args: [{ selector: 'basic-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12
12
  DaffTextSnippetComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-text-snippet-examples.mjs","sources":["../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.ts","../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.html","../../../libs/design/text-snippet/examples/src/public_api.ts","../../../libs/design/text-snippet/examples/src/daffodil-design-text-snippet-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-text-snippet',\n templateUrl: './basic-text-snippet.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffTextSnippetComponent,\n ],\n})\nexport class BasicTextSnippetComponent {}\n","<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>","import { BasicTextSnippetComponent } from './basic-text-snippet/basic-text-snippet.component';\n\nexport const TEXT_SNIPPET_EXAMPLES = [\n BasicTextSnippetComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAgBa,yBAAyB,CAAA;iIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBtC,4eAEoB,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWhB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAEb,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,4eAAA,EAAA;;;AEZU,MAAA,qBAAqB,GAAG;IACnC,yBAAyB;;;ACH3B;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-text-snippet-examples.mjs","sources":["../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.ts","../../../libs/design/text-snippet/examples/src/basic-text-snippet/basic-text-snippet.component.html","../../../libs/design/text-snippet/examples/src/public_api.ts","../../../libs/design/text-snippet/examples/src/daffodil-design-text-snippet-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffTextSnippetComponent } from '@daffodil/design/text-snippet';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-text-snippet',\n templateUrl: './basic-text-snippet.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffTextSnippetComponent,\n ],\n})\nexport class BasicTextSnippetComponent {}\n","<daff-text-snippet>\n\tLorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n</daff-text-snippet>","import { BasicTextSnippetComponent } from './basic-text-snippet/basic-text-snippet.component';\n\nexport const TEXT_SNIPPET_EXAMPLES = [\n BasicTextSnippetComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAgBa,yBAAyB,CAAA;kIAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBtC,4eAEoB,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDWhB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBATrC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAEb,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,wBAAwB;AACzB,qBAAA,EAAA,QAAA,EAAA,4eAAA,EAAA;;;AEZU,MAAA,qBAAqB,GAAG;IACnC,yBAAyB;;;ACH3B;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, ElementRef, Component, ChangeDetectionStrategy, Input, ViewChild, Output } from '@angular/core';
3
+ import { EventEmitter, ElementRef, Output, ViewChild, Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
4
  import * as i1 from '@daffodil/design/button';
5
5
  import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
6
6
 
@@ -22,10 +22,10 @@ class DaffTextSnippetComponent {
22
22
  this.condensed = !this.condensed;
23
23
  this.toggle.emit(this.condensed);
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DaffTextSnippetComponent, isStandalone: true, selector: "daff-text-snippet", inputs: { condensed: "condensed", html: "html" }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentEl"], descendants: true, read: ElementRef }, { propertyName: "htmlRef", first: true, predicate: ["htmlEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n", styles: [":host{display:block;position:relative}:host ::ng-deep .daff-text-snippet__content>*:first-child{margin-top:0}:host ::ng-deep .daff-text-snippet__content>*:last-child{margin-bottom:0}:host ::ng-deep h2:first-of-type{margin-top:0}.daff-text-snippet__content{display:block}.daff-text-snippet__content.condensed{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DaffUnderlineButtonComponent, selector: "button[daff-underline-button],a[daff-underline-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffTextSnippetComponent, isStandalone: true, selector: "daff-text-snippet", inputs: { condensed: "condensed", html: "html" }, outputs: { toggle: "toggle" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentEl"], descendants: true, read: ElementRef }, { propertyName: "htmlRef", first: true, predicate: ["htmlEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n", styles: [":host{display:block;position:relative}:host ::ng-deep .daff-text-snippet__content>*:first-child{margin-top:0}:host ::ng-deep .daff-text-snippet__content>*:last-child{margin-bottom:0}:host ::ng-deep h2:first-of-type{margin-top:0}.daff-text-snippet__content{display:block}.daff-text-snippet__content.condensed{display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;width:100%}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.DaffUnderlineButtonComponent, selector: "button[daff-underline-button],a[daff-underline-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
31
31
  NgIf,
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-text-snippet.mjs","sources":["../../../libs/design/text-snippet/src/text-snippet.component.ts","../../../libs/design/text-snippet/src/text-snippet.component.html","../../../libs/design/text-snippet/src/daffodil-design-text-snippet.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\n@Component({\n selector: 'daff-text-snippet',\n templateUrl: './text-snippet.component.html',\n styleUrls: ['./text-snippet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DAFF_BUTTON_COMPONENTS,\n ],\n})\nexport class DaffTextSnippetComponent {\n\n /**\n * A property to track whether or not the component\n * should render a condensed version of the content.\n */\n @Input() condensed = true;\n\n @Input() html = '';\n\n @ViewChild('contentEl', { read: ElementRef }) contentRef: ElementRef;\n @ViewChild('htmlEl', { read: ElementRef }) htmlRef: ElementRef;\n\n /**\n * An output event that can be used to track the state of the component externally.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n toggleSnippet() {\n this.condensed = !this.condensed;\n this.toggle.emit(this.condensed);\n }\n}\n","<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAuBa,wBAAwB,CAAA;AAVrC,IAAA,WAAA,GAAA;AAYE;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI;QAEhB,IAAI,CAAA,IAAA,GAAG,EAAE;AAKlB;;AAEG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAA0B,IAAI,YAAY,EAAE;AAM7D;IAJC,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;iIArBvB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,kPAUH,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACb,UAAU,EClCzC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ilBAQA,6dDWI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAIK,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,IAAI;wBACJ,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,ilBAAA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA;8BAQQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,IAAI,EAAA,CAAA;sBAAZ;gBAE6C,UAAU,EAAA,CAAA;sBAAvD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACD,OAAO,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAM/B,MAAM,EAAA,CAAA;sBAAf;;;AExCH;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-text-snippet.mjs","sources":["../../../libs/design/text-snippet/src/text-snippet.component.ts","../../../libs/design/text-snippet/src/text-snippet.component.html","../../../libs/design/text-snippet/src/daffodil-design-text-snippet.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport {\n Component,\n Input,\n ChangeDetectionStrategy,\n EventEmitter,\n Output,\n ElementRef,\n ViewChild,\n} from '@angular/core';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\n@Component({\n selector: 'daff-text-snippet',\n templateUrl: './text-snippet.component.html',\n styleUrls: ['./text-snippet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DAFF_BUTTON_COMPONENTS,\n ],\n})\nexport class DaffTextSnippetComponent {\n\n /**\n * A property to track whether or not the component\n * should render a condensed version of the content.\n */\n @Input() condensed = true;\n\n @Input() html = '';\n\n @ViewChild('contentEl', { read: ElementRef }) contentRef: ElementRef;\n @ViewChild('htmlEl', { read: ElementRef }) htmlRef: ElementRef;\n\n /**\n * An output event that can be used to track the state of the component externally.\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() toggle: EventEmitter<boolean> = new EventEmitter();\n\n toggleSnippet() {\n this.condensed = !this.condensed;\n this.toggle.emit(this.condensed);\n }\n}\n","<div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\" *ngIf=\"html\"></div>\n<div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\" *ngIf=\"!html\">\n <ng-content></ng-content>\n</div>\n<button daff-underline-button color=\"theme-contrast\" [attr.aria-expanded]=\"!condensed ? true : false\" (click)=\"toggleSnippet()\">\n <ng-container *ngIf=\"condensed\">Show More</ng-container>\n <ng-container *ngIf=\"!condensed\">Show Less</ng-container>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAuBa,wBAAwB,CAAA;AAVrC,IAAA,WAAA,GAAA;AAYE;;;AAGG;QACM,IAAS,CAAA,SAAA,GAAG,IAAI;QAEhB,IAAI,CAAA,IAAA,GAAG,EAAE;AAKlB;;AAEG;;AAEO,QAAA,IAAA,CAAA,MAAM,GAA0B,IAAI,YAAY,EAAE;AAM7D;IAJC,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;;kIArBvB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,kPAUH,UAAU,EAAA,EAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACb,UAAU,EClCzC,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ilBAQA,6dDWI,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,wDAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIK,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAVpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,IAAI;wBACJ,sBAAsB;AACvB,qBAAA,EAAA,QAAA,EAAA,ilBAAA,EAAA,MAAA,EAAA,CAAA,qaAAA,CAAA,EAAA;8BAQQ,SAAS,EAAA,CAAA;sBAAjB;gBAEQ,IAAI,EAAA,CAAA;sBAAZ;gBAE6C,UAAU,EAAA,CAAA;sBAAvD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBACD,OAAO,EAAA,CAAA;sBAAjD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAM/B,MAAM,EAAA,CAAA;sBAAf;;;AExCH;;AAEG;;;;"}
@@ -1,11 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ChangeDetectionStrategy } from '@angular/core';
2
+ import { EventEmitter, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { DaffButtonComponent } from '@daffodil/design/button';
4
4
  import * as i1 from '@daffodil/design/toast';
5
- import { provideDaffToastOptions } from '@daffodil/design/toast';
6
5
  import * as i2 from '@angular/forms';
7
6
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
8
- import { combineLatest } from 'rxjs';
9
7
  import { faInfoCircle, faCheck, faExclamation } from '@fortawesome/free-solid-svg-icons';
10
8
 
11
9
  class DefaultToastComponent {
@@ -36,10 +34,10 @@ class DefaultToastComponent {
36
34
  this.toastService.close(this.toast);
37
35
  });
38
36
  }
39
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DefaultToastComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
40
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DefaultToastComponent, isStandalone: true, selector: "default-toast", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DefaultToastComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
38
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DefaultToastComponent, isStandalone: true, selector: "default-toast", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
41
39
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DefaultToastComponent, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DefaultToastComponent, decorators: [{
43
41
  type: Component,
44
42
  args: [{ selector: 'default-toast', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
45
43
  DaffButtonComponent,
@@ -58,72 +56,16 @@ class DismissibleToastComponent {
58
56
  dismissible: true,
59
57
  });
60
58
  }
61
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DismissibleToastComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
62
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: DismissibleToastComponent, isStandalone: true, selector: "dismissible-toast", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DismissibleToastComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
60
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DismissibleToastComponent, isStandalone: true, selector: "dismissible-toast", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
61
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DismissibleToastComponent, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DismissibleToastComponent, decorators: [{
65
63
  type: Component,
66
64
  args: [{ selector: 'dismissible-toast', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
67
65
  DaffButtonComponent,
68
66
  ], template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>" }]
69
67
  }], ctorParameters: () => [{ type: i1.DaffToastService }] });
70
68
 
71
- class ToastPositionsComponent {
72
- constructor(toastService, toastPositionService) {
73
- this.toastService = toastService;
74
- this.toastPositionService = toastPositionService;
75
- this.count = 0;
76
- this.horizontalControl = new FormControl('right');
77
- this.verticalControl = new FormControl('top');
78
- }
79
- open() {
80
- this.toast = this.toastService.open({
81
- title: 'Update complete' + ' ' + this.count++,
82
- message: 'This page is now up-to-date.',
83
- dismissible: true,
84
- });
85
- }
86
- /**
87
- * @docs-private
88
- */
89
- ngOnInit() {
90
- combineLatest([
91
- this.horizontalControl.valueChanges,
92
- this.verticalControl.valueChanges,
93
- ]).subscribe(([horizontal, vertical,]) => {
94
- this.toastPositionService.setPosition({
95
- horizontal,
96
- vertical,
97
- });
98
- });
99
- }
100
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastPositionsComponent, deps: [{ token: i1.DaffToastService }, { token: i1.DaffToastPositionService }], target: i0.ɵɵFactoryTarget.Component }); }
101
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: ToastPositionsComponent, isStandalone: true, selector: "toast-positions", providers: [
102
- provideDaffToastOptions({
103
- position: {
104
- vertical: 'top',
105
- horizontal: 'right',
106
- },
107
- useParent: false,
108
- }),
109
- ], ngImport: i0, template: "<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n", styles: [".toast-positions__options{display:flex;gap:8px;margin:0 0 16px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastPositionsComponent, decorators: [{
112
- type: Component,
113
- args: [{ selector: 'toast-positions', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
114
- ReactiveFormsModule,
115
- DaffButtonComponent,
116
- ], providers: [
117
- provideDaffToastOptions({
118
- position: {
119
- vertical: 'top',
120
- horizontal: 'right',
121
- },
122
- useParent: false,
123
- }),
124
- ], template: "<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n", styles: [".toast-positions__options{display:flex;gap:8px;margin:0 0 16px}\n"] }]
125
- }], ctorParameters: () => [{ type: i1.DaffToastService }, { type: i1.DaffToastPositionService }] });
126
-
127
69
  const status = {
128
70
  critical: {
129
71
  title: 'Server error',
@@ -156,10 +98,10 @@ class ToastStatusComponent {
156
98
  ],
157
99
  });
158
100
  }
159
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastStatusComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
160
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: ToastStatusComponent, isStandalone: true, selector: "toast-status", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;gap:16px}\n"], dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastStatusComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
102
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ToastStatusComponent, isStandalone: true, selector: "toast-status", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>", styles: [":host{display:flex;flex-direction:column;align-items:flex-start;gap:16px}\n"], dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
161
103
  }
162
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastStatusComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastStatusComponent, decorators: [{
163
105
  type: Component,
164
106
  args: [{ selector: 'toast-status', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
165
107
  DaffButtonComponent,
@@ -180,10 +122,10 @@ class ToastWithCustomDurationComponent {
180
122
  duration: 7000,
181
123
  });
182
124
  }
183
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastWithCustomDurationComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
184
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.5", type: ToastWithCustomDurationComponent, isStandalone: true, selector: "toast-with-custom-duration", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
125
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastWithCustomDurationComponent, deps: [{ token: i1.DaffToastService }], target: i0.ɵɵFactoryTarget.Component }); }
126
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ToastWithCustomDurationComponent, isStandalone: true, selector: "toast-with-custom-duration", ngImport: i0, template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>", dependencies: [{ kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
127
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: ToastWithCustomDurationComponent, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastWithCustomDurationComponent, decorators: [{
187
129
  type: Component,
188
130
  args: [{ selector: 'toast-with-custom-duration', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
189
131
  DaffButtonComponent,
@@ -192,7 +134,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImpor
192
134
 
193
135
  const TOAST_EXAMPLES = [
194
136
  DefaultToastComponent,
195
- ToastPositionsComponent,
196
137
  ToastStatusComponent,
197
138
  ToastWithCustomDurationComponent,
198
139
  DismissibleToastComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-toast-examples.mjs","sources":["../../../libs/design/toast/examples/src/default-toast/default-toast.component.ts","../../../libs/design/toast/examples/src/default-toast/default-toast.component.html","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.ts","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.html","../../../libs/design/toast/examples/src/toast-positions/toast-positions.component.ts","../../../libs/design/toast/examples/src/toast-positions/toast-positions.component.html","../../../libs/design/toast/examples/src/toast-status/toast-status.component.ts","../../../libs/design/toast/examples/src/toast-status/toast-status.component.html","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.ts","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.html","../../../libs/design/toast/examples/src/public_api.ts","../../../libs/design/toast/examples/src/daffodil-design-toast-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastAction,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'default-toast',\n templateUrl: './default-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DefaultToastComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n update = new EventEmitter<DaffToastAction>();\n\n closeToast = new EventEmitter<DaffToastAction>();\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm', eventEmitter: this.update },\n { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n ],\n });\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.update.subscribe(() => {\n console.log('test');\n });\n\n this.closeToast.subscribe(() => {\n this.toastService.close(this.toast);\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dismissible-toast',\n templateUrl: './dismissible-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DismissibleToastComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n dismissible: true,\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { combineLatest } from 'rxjs';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n DaffToastPositionService,\n provideDaffToastOptions,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-positions',\n templateUrl: './toast-positions.component.html',\n styleUrls: ['./toast-positions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n DaffButtonComponent,\n ],\n providers: [\n provideDaffToastOptions({\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: false,\n }),\n ],\n})\nexport class ToastPositionsComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(\n private toastService: DaffToastService,\n private toastPositionService: DaffToastPositionService,\n ) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update complete' + ' ' + this.count++,\n message: 'This page is now up-to-date.',\n dismissible: true,\n });\n }\n\n private count = 0;\n\n horizontalControl: FormControl = new FormControl('right');\n verticalControl: FormControl = new FormControl('top');\n\n /**\n * @docs-private\n */\n ngOnInit() {\n combineLatest([\n this.horizontalControl.valueChanges,\n this.verticalControl.valueChanges,\n ]).subscribe(([\n horizontal, vertical,\n ]) => {\n this.toastPositionService.setPosition({\n horizontal,\n vertical,\n });\n });\n }\n}\n","<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n faCheck,\n faExclamation,\n faInfoCircle,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToastData,\n DaffToastService,\n} from '@daffodil/design/toast';\n\nconst status: Record<string, DaffToastData> = {\n critical: {\n title: 'Server error',\n message: 'There is a server error.',\n },\n success: {\n title: 'Update complete',\n message: 'The app is now up-to-date with the newest version.',\n },\n warn: {\n title: 'The app is outdated',\n message: 'Update the app now. The version you are using may have security vulnerabilities.',\n },\n};\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-status',\n templateUrl: './toast-status.component.html',\n styleUrls: ['./toast-status.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ReactiveFormsModule,\n ],\n})\nexport class ToastStatusComponent {\n faInfoCircle = faInfoCircle;\n faCheck = faCheck;\n faExclamation = faExclamation;\n\n statusControl: FormControl = new FormControl('success');\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toastService.open({\n status: this.statusControl.value,\n ...status[this.statusControl.value],\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm' },\n { content: 'Remind me later', type: 'flat', size: 'sm' },\n ],\n },\n );\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-with-custom-duration',\n templateUrl: './toast-with-custom-duration.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class ToastWithCustomDurationComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Complete',\n message: 'This page has been updated to the newest version.',\n status: 'success',\n },\n {\n duration: 7000,\n });\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import { DefaultToastComponent } from './default-toast/default-toast.component';\nimport { DismissibleToastComponent } from './dismissible-toast/dismissible-toast.component';\nimport { ToastPositionsComponent } from './toast-positions/toast-positions.component';\nimport { ToastStatusComponent } from './toast-status/toast-status.component';\nimport { ToastWithCustomDurationComponent } from './toast-with-custom-duration/toast-with-custom-duration.component';\n\nexport const TOAST_EXAMPLES = [\n DefaultToastComponent,\n ToastPositionsComponent,\n ToastStatusComponent,\n ToastWithCustomDurationComponent,\n DismissibleToastComponent,\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-toast-examples.mjs","sources":["../../../libs/design/toast/examples/src/default-toast/default-toast.component.ts","../../../libs/design/toast/examples/src/default-toast/default-toast.component.html","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.ts","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.html","../../../libs/design/toast/examples/src/toast-status/toast-status.component.ts","../../../libs/design/toast/examples/src/toast-status/toast-status.component.html","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.ts","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.html","../../../libs/design/toast/examples/src/public_api.ts","../../../libs/design/toast/examples/src/daffodil-design-toast-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastAction,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'default-toast',\n templateUrl: './default-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DefaultToastComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n update = new EventEmitter<DaffToastAction>();\n\n closeToast = new EventEmitter<DaffToastAction>();\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm', eventEmitter: this.update },\n { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n ],\n });\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.update.subscribe(() => {\n console.log('test');\n });\n\n this.closeToast.subscribe(() => {\n this.toastService.close(this.toast);\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dismissible-toast',\n templateUrl: './dismissible-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DismissibleToastComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n dismissible: true,\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n faCheck,\n faExclamation,\n faInfoCircle,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToastData,\n DaffToastService,\n} from '@daffodil/design/toast';\n\nconst status: Record<string, DaffToastData> = {\n critical: {\n title: 'Server error',\n message: 'There is a server error.',\n },\n success: {\n title: 'Update complete',\n message: 'The app is now up-to-date with the newest version.',\n },\n warn: {\n title: 'The app is outdated',\n message: 'Update the app now. The version you are using may have security vulnerabilities.',\n },\n};\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-status',\n templateUrl: './toast-status.component.html',\n styleUrls: ['./toast-status.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ReactiveFormsModule,\n ],\n})\nexport class ToastStatusComponent {\n faInfoCircle = faInfoCircle;\n faCheck = faCheck;\n faExclamation = faExclamation;\n\n statusControl: FormControl = new FormControl('success');\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toastService.open({\n status: this.statusControl.value,\n ...status[this.statusControl.value],\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm' },\n { content: 'Remind me later', type: 'flat', size: 'sm' },\n ],\n },\n );\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-with-custom-duration',\n templateUrl: './toast-with-custom-duration.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class ToastWithCustomDurationComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Complete',\n message: 'This page has been updated to the newest version.',\n status: 'success',\n },\n {\n duration: 7000,\n });\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import { DefaultToastComponent } from './default-toast/default-toast.component';\nimport { DismissibleToastComponent } from './dismissible-toast/dismissible-toast.component';\nimport { ToastStatusComponent } from './toast-status/toast-status.component';\nimport { ToastWithCustomDurationComponent } from './toast-with-custom-duration/toast-with-custom-duration.component';\n\nexport const TOAST_EXAMPLES = [\n DefaultToastComponent,\n ToastStatusComponent,\n ToastWithCustomDurationComponent,\n DismissibleToastComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}