@daffodil/design 0.91.0 → 0.92.3-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/accordion/README.md +26 -38
  2. package/accordion/index.d.ts +2 -2
  3. package/article/README.md +66 -46
  4. package/article/index.d.ts +22 -1
  5. package/article/src/article-theme.scss +12 -0
  6. package/breadcrumb/README.md +6 -1
  7. package/breadcrumb/index.d.ts +65 -11
  8. package/breadcrumb/src/breadcrumb-theme.scss +1 -1
  9. package/button/README.md +36 -33
  10. package/button/index.d.ts +26 -5
  11. package/button/src/button/basic/button-theme.scss +4 -2
  12. package/button/src/button/button-base.scss +26 -3
  13. package/button/src/button/icon/icon-theme.scss +10 -6
  14. package/button/src/button/raised/raised-theme.scss +4 -2
  15. package/callout/README.md +15 -27
  16. package/card/README.md +36 -61
  17. package/container/README.md +18 -23
  18. package/fesm2022/daffodil-design-accordion.mjs +13 -13
  19. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  20. package/fesm2022/daffodil-design-article.mjs +168 -26
  21. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  22. package/fesm2022/daffodil-design-breadcrumb.mjs +180 -28
  23. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/daffodil-design-button.mjs +83 -42
  25. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  26. package/fesm2022/daffodil-design-callout.mjs +23 -23
  27. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  28. package/fesm2022/daffodil-design-card.mjs +33 -33
  29. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  30. package/fesm2022/daffodil-design-checkbox.mjs +13 -13
  31. package/fesm2022/daffodil-design-checkbox.mjs.map +1 -1
  32. package/fesm2022/daffodil-design-container.mjs +8 -8
  33. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  34. package/fesm2022/daffodil-design-form-field.mjs +26 -26
  35. package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-form.mjs +9 -9
  37. package/fesm2022/daffodil-design-form.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-hero.mjs +23 -23
  39. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-image.mjs +8 -8
  41. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-input.mjs +18 -14
  43. package/fesm2022/daffodil-design-input.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-link-set.mjs +25 -17
  45. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-list.mjs +16 -16
  47. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  49. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  50. package/fesm2022/daffodil-design-media-gallery.mjs +13 -13
  51. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-menu.mjs +223 -60
  53. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-modal.mjs +33 -29
  55. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-native-select.mjs +47 -41
  57. package/fesm2022/daffodil-design-native-select.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-navbar.mjs +25 -21
  59. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-notification.mjs +16 -16
  61. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-paginator.mjs +7 -7
  63. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-progress-bar.mjs +10 -10
  65. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-quantity-field.mjs +17 -14
  67. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-radio.mjs +16 -16
  69. package/fesm2022/daffodil-design-radio.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-select.mjs +6 -6
  71. package/fesm2022/daffodil-design-select.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-sidebar.mjs +25 -25
  73. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-spinner.mjs +99 -0
  75. package/fesm2022/daffodil-design-spinner.mjs.map +1 -0
  76. package/fesm2022/daffodil-design-switch.mjs +3 -3
  77. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-tabs.mjs +15 -15
  79. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-tag.mjs +7 -7
  81. package/fesm2022/daffodil-design-tag.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-text-snippet.mjs +6 -8
  83. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-textarea.mjs +6 -3
  85. package/fesm2022/daffodil-design-textarea.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-toast.mjs +23 -25
  87. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-tree.mjs +152 -103
  89. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-youtube-player.mjs +6 -6
  91. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  92. package/fesm2022/daffodil-design.mjs +385 -326
  93. package/fesm2022/daffodil-design.mjs.map +1 -1
  94. package/form-field/README.md +50 -85
  95. package/form-field/index.d.ts +11 -9
  96. package/hero/README.md +5 -5
  97. package/image/README.md +2 -2
  98. package/index.d.ts +184 -270
  99. package/input/README.md +4 -4
  100. package/input/index.d.ts +4 -3
  101. package/link-set/index.d.ts +9 -1
  102. package/list/README.md +2 -2
  103. package/loading-icon/README.md +1 -1
  104. package/loading-icon/index.d.ts +1 -1
  105. package/media-gallery/README.md +3 -3
  106. package/menu/README.md +107 -10
  107. package/menu/index.d.ts +143 -11
  108. package/modal/README.md +1 -1
  109. package/modal/index.d.ts +23 -15
  110. package/native-select/README.md +4 -4
  111. package/native-select/index.d.ts +8 -7
  112. package/navbar/README.md +23 -17
  113. package/navbar/index.d.ts +12 -2
  114. package/navbar/src/navbar-theme.scss +4 -46
  115. package/notification/README.md +4 -4
  116. package/package.json +1 -1
  117. package/paginator/README.md +42 -6
  118. package/paginator/index.d.ts +4 -2
  119. package/progress-bar/README.md +3 -3
  120. package/quantity-field/README.md +4 -4
  121. package/quantity-field/index.d.ts +4 -1
  122. package/radio/README.md +1 -1
  123. package/scss/theme.scss +7 -1
  124. package/scss/theming/_color-palettes.scss +0 -6
  125. package/select/README.md +4 -4
  126. package/sidebar/README.md +6 -6
  127. package/spinner/README.md +57 -0
  128. package/spinner/index.d.ts +53 -0
  129. package/spinner/src/spinner-theme.scss +62 -0
  130. package/switch/README.md +4 -4
  131. package/switch/index.d.ts +2 -2
  132. package/tabs/README.md +1 -1
  133. package/tabs/index.d.ts +2 -2
  134. package/tag/README.md +24 -30
  135. package/tag/index.d.ts +1 -1
  136. package/text-snippet/README.md +1 -1
  137. package/text-snippet/src/text-snippet-theme.scss +12 -0
  138. package/textarea/README.md +4 -4
  139. package/textarea/index.d.ts +4 -4
  140. package/toast/README.md +4 -4
  141. package/tree/README.md +39 -22
  142. package/tree/index.d.ts +57 -90
@@ -0,0 +1,99 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, input, ContentChild, ChangeDetectionStrategy, Component } from '@angular/core';
3
+ import * as i1 from '@daffodil/design';
4
+ import { DaffColorableDirective, DaffSizableDirective } from '@daffodil/design';
5
+
6
+ /**
7
+ * Labels are used to describe the loading state and provide context for users.
8
+ * They are optional.
9
+ *
10
+ * @usage
11
+ * ```html
12
+ * <daff-spinner-label>Loading</daff-spinner-label>
13
+ * ```
14
+ */
15
+ class DaffSpinnerLabelDirective {
16
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSpinnerLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.18", type: DaffSpinnerLabelDirective, isStandalone: true, selector: "daff-spinner-label", ngImport: i0 }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSpinnerLabelDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ /* eslint-disable-next-line @angular-eslint/directive-selector */
23
+ selector: 'daff-spinner-label',
24
+ }]
25
+ }] });
26
+
27
+ /**
28
+ * DaffSpinnerComponent is an animated indicator that lets users know content or action is being loaded.
29
+ */
30
+ class DaffSpinnerComponent {
31
+ static { this.SIZE_MAP = {
32
+ xs: 12,
33
+ sm: 16,
34
+ md: 32,
35
+ lg: 40,
36
+ xl: 48,
37
+ }; }
38
+ /**
39
+ * @docs-private
40
+ */
41
+ get _ariaLabel() {
42
+ if (!this._label) {
43
+ return this.ariaLabel();
44
+ }
45
+ }
46
+ /**
47
+ * @docs-private
48
+ *
49
+ * The dimension (width/height) based on the size.
50
+ */
51
+ get dimension() {
52
+ return DaffSpinnerComponent.SIZE_MAP[this.sizable.size];
53
+ }
54
+ constructor(sizable) {
55
+ this.sizable = sizable;
56
+ /**
57
+ * The `aria-label` for the spinner. Defaults to "loading".
58
+ */
59
+ this.ariaLabel = input('loading', ...(ngDevMode ? [{ debugName: "ariaLabel", alias: 'aria-label' }] : [{ alias: 'aria-label' }]));
60
+ this.sizable.defaultSize = 'md';
61
+ }
62
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSpinnerComponent, deps: [{ token: i1.DaffSizableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: DaffSpinnerComponent, isStandalone: true, selector: "daff-spinner", inputs: { ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "status" }, properties: { "attr.aria-label": "_ariaLabel" }, classAttribute: "daff-spinner" }, queries: [{ propertyName: "_label", first: true, predicate: DaffSpinnerLabelDirective, descendants: true }], hostDirectives: [{ directive: i1.DaffColorableDirective, inputs: ["color", "color"] }, { directive: i1.DaffSizableDirective, inputs: ["size", "size"] }], ngImport: i0, template: "<svg\n [attr.height]=\"dimension\"\n [attr.width]=\"dimension\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n class=\"daff-spinner__svg\">\n <circle class=\"daff-spinner__track\" cx=\"8\" cy=\"8\" r=\"7\" vector-effect=\"non-scaling-stroke\"></circle>\n <path class=\"daff-spinner__path\" d=\"M15 8a7.002 7.002 0 00-7-7\" vector-effect=\"non-scaling-stroke\"></path>\n</svg>\n@if (_label) {\n <div class=\"daff-spinner__label\">\n <ng-content select=\"daff-spinner-label\"></ng-content>\n </div>\n}", styles: [":host{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}:host.daff-xs .daff-spinner__track,:host.daff-xs .daff-spinner__path{stroke-width:1.5}:host.daff-xl .daff-spinner__track,:host.daff-xl .daff-spinner__path{stroke-width:2.5}.daff-spinner__svg{display:block}.daff-spinner__track{stroke:currentColor;stroke-opacity:.25;stroke-width:2}.daff-spinner__path{stroke:currentColor;stroke-width:2;stroke-linecap:round;animation:spinner-rotation 1s cubic-bezier(0,0,1,1) infinite;transform-origin:center}@keyframes spinner-rotation{to{transform:rotate(1turn)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
+ }
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSpinnerComponent, decorators: [{
66
+ type: Component,
67
+ args: [{ selector: 'daff-spinner', host: {
68
+ class: 'daff-spinner',
69
+ role: 'status',
70
+ '[attr.aria-label]': '_ariaLabel',
71
+ }, hostDirectives: [
72
+ {
73
+ directive: DaffColorableDirective,
74
+ inputs: ['color'],
75
+ },
76
+ {
77
+ directive: DaffSizableDirective,
78
+ inputs: ['size'],
79
+ },
80
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<svg\n [attr.height]=\"dimension\"\n [attr.width]=\"dimension\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n class=\"daff-spinner__svg\">\n <circle class=\"daff-spinner__track\" cx=\"8\" cy=\"8\" r=\"7\" vector-effect=\"non-scaling-stroke\"></circle>\n <path class=\"daff-spinner__path\" d=\"M15 8a7.002 7.002 0 00-7-7\" vector-effect=\"non-scaling-stroke\"></path>\n</svg>\n@if (_label) {\n <div class=\"daff-spinner__label\">\n <ng-content select=\"daff-spinner-label\"></ng-content>\n </div>\n}", styles: [":host{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem}:host.daff-xs .daff-spinner__track,:host.daff-xs .daff-spinner__path{stroke-width:1.5}:host.daff-xl .daff-spinner__track,:host.daff-xl .daff-spinner__path{stroke-width:2.5}.daff-spinner__svg{display:block}.daff-spinner__track{stroke:currentColor;stroke-opacity:.25;stroke-width:2}.daff-spinner__path{stroke:currentColor;stroke-width:2;stroke-linecap:round;animation:spinner-rotation 1s cubic-bezier(0,0,1,1) infinite;transform-origin:center}@keyframes spinner-rotation{to{transform:rotate(1turn)}}\n"] }]
81
+ }], ctorParameters: () => [{ type: i1.DaffSizableDirective }], propDecorators: { _label: [{
82
+ type: ContentChild,
83
+ args: [DaffSpinnerLabelDirective]
84
+ }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }] } });
85
+
86
+ /**
87
+ * @docs-private
88
+ */
89
+ const DAFF_SPINNER_COMPONENTS = [
90
+ DaffSpinnerComponent,
91
+ DaffSpinnerLabelDirective,
92
+ ];
93
+
94
+ /**
95
+ * Generated bundle index. Do not edit.
96
+ */
97
+
98
+ export { DAFF_SPINNER_COMPONENTS, DaffSpinnerComponent, DaffSpinnerLabelDirective };
99
+ //# sourceMappingURL=daffodil-design-spinner.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daffodil-design-spinner.mjs","sources":["../../../libs/design/spinner/src/spinner-label/spinner-label.directive.ts","../../../libs/design/spinner/src/spinner.component.ts","../../../libs/design/spinner/src/spinner.component.html","../../../libs/design/spinner/src/spinner.ts","../../../libs/design/spinner/src/daffodil-design-spinner.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n/**\n * Labels are used to describe the loading state and provide context for users.\n * They are optional.\n *\n * @usage\n * ```html\n * <daff-spinner-label>Loading</daff-spinner-label>\n * ```\n */\n@Directive({\n /* eslint-disable-next-line @angular-eslint/directive-selector */\n selector: 'daff-spinner-label',\n})\nexport class DaffSpinnerLabelDirective {}\n","import {\n Component,\n ChangeDetectionStrategy,\n input,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffColorableDirective,\n DaffSizableDirective,\n DaffSizeAllType,\n} from '@daffodil/design';\n\nimport { DaffSpinnerLabelDirective } from './spinner-label/spinner-label.directive';\n\n/**\n * DaffSpinnerComponent is an animated indicator that lets users know content or action is being loaded.\n */\n@Component({\n selector: 'daff-spinner',\n templateUrl: './spinner.component.html',\n styleUrl: './spinner.component.scss',\n host: {\n class: 'daff-spinner',\n role: 'status',\n '[attr.aria-label]': '_ariaLabel',\n },\n hostDirectives: [\n {\n directive: DaffColorableDirective,\n inputs: ['color'],\n },\n {\n directive: DaffSizableDirective,\n inputs: ['size'],\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DaffSpinnerComponent {\n /**\n * @docs-private\n */\n @ContentChild(DaffSpinnerLabelDirective) _label: DaffSpinnerLabelDirective;\n\n private static readonly SIZE_MAP: Record<DaffSizeAllType, number> = {\n xs: 12,\n sm: 16,\n md: 32,\n lg: 40,\n xl: 48,\n };\n\n /**\n * The `aria-label` for the spinner. Defaults to \"loading\".\n */\n ariaLabel = input('loading', { alias: 'aria-label' });\n\n /**\n * @docs-private\n */\n get _ariaLabel() {\n if (!this._label) {\n return this.ariaLabel();\n }\n }\n\n /**\n * @docs-private\n *\n * The dimension (width/height) based on the size.\n */\n get dimension() {\n return DaffSpinnerComponent.SIZE_MAP[this.sizable.size];\n }\n\n constructor(\n private sizable: DaffSizableDirective<DaffSizeAllType>,\n ) {\n this.sizable.defaultSize = 'md';\n }\n}\n","<svg\n [attr.height]=\"dimension\"\n [attr.width]=\"dimension\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n class=\"daff-spinner__svg\">\n <circle class=\"daff-spinner__track\" cx=\"8\" cy=\"8\" r=\"7\" vector-effect=\"non-scaling-stroke\"></circle>\n <path class=\"daff-spinner__path\" d=\"M15 8a7.002 7.002 0 00-7-7\" vector-effect=\"non-scaling-stroke\"></path>\n</svg>\n@if (_label) {\n <div class=\"daff-spinner__label\">\n <ng-content select=\"daff-spinner-label\"></ng-content>\n </div>\n}","import { DaffSpinnerLabelDirective } from './spinner-label/spinner-label.directive';\nimport { DaffSpinnerComponent } from './spinner.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_SPINNER_COMPONENTS = <const> [\n DaffSpinnerComponent,\n DaffSpinnerLabelDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAEA;;;;;;;;AAQG;MAKU,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,CAAA,CAAA;;4FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,oBAAoB;AAC/B,iBAAA;;;ACCD;;AAEG;MAsBU,oBAAoB,CAAA;AAMP,IAAA,SAAA,IAAA,CAAA,QAAQ,GAAoC;AAClE,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,EAAE,EAAE,EAAE;AACN,QAAA,EAAE,EAAE,EAAE;AACP,KAN+B,CAM9B;AAOF;;AAEG;AACH,IAAA,IAAI,UAAU,GAAA;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC,SAAS,EAAE;QACzB;IACF;AAEA;;;;AAIG;AACH,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACzD;AAEA,IAAA,WAAA,CACU,OAA8C,EAAA;QAA9C,IAAA,CAAA,OAAO,GAAP,OAAO;AAxBjB;;AAEG;AACH,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,SAAS,6CAAI,KAAK,EAAE,YAAY,EAAA,CAAA,GAAA,CAArB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAC;AAuBnD,QAAA,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI;IACjC;kIAzCW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIjB,yBAAyB,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3CzC,ohBAcC,EAAA,MAAA,EAAA,CAAA,mkBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FDyBY,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBArBhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAAA,IAAA,EAGlB;AACJ,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,mBAAmB,EAAE,YAAY;qBAClC,EAAA,cAAA,EACe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,sBAAsB;4BACjC,MAAM,EAAE,CAAC,OAAO,CAAC;AAClB,yBAAA;AACD,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,CAAC,MAAM,CAAC;AACjB,yBAAA;qBACF,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ohBAAA,EAAA,MAAA,EAAA,CAAA,mkBAAA,CAAA,EAAA;;sBAM9C,YAAY;uBAAC,yBAAyB;;;AExCzC;;AAEG;AACI,MAAM,uBAAuB,GAAW;IAC7C,oBAAoB;IACpB,yBAAyB;;;ACR3B;;AAEG;;;;"}
@@ -70,10 +70,10 @@ class DaffSwitchComponent extends DaffSizableDirective {
70
70
  this.toggled.emit(this.checked);
71
71
  }
72
72
  }
73
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSwitchComponent, deps: [{ token: i1.DaffDisableableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
74
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffSwitchComponent, isStandalone: true, selector: "daff-switch", inputs: { labelPosition: "labelPosition", disabled: "disabled", checked: "checked", id: "id" }, outputs: { toggled: "toggled" }, host: { properties: { "class.checked": "checked", "class.left": "labelPosition === \"left\"", "class.right": "labelPosition === \"right\"", "class.top": "labelPosition === \"top\"", "class.bottom": "labelPosition === \"bottom\"" }, classAttribute: "daff-switch" }, usesInheritance: true, hostDirectives: [{ directive: i1.DaffSizableDirective, inputs: ["size", "size"] }, { directive: i1.DaffDisableableDirective, inputs: ["disabled", "disabled"] }], ngImport: i0, template: "<label class=\"daff-switch__label\" [id]=\"labelId\" [for]=\"id\">\n <ng-content></ng-content>\n</label>\n\n<button class=\"daff-switch__toggle\"\n type=\"button\"\n role=\"switch\"\n (click)=\"onToggle()\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-checked]=\"checked ? true : false\"\n [attr.aria-labelledby]=\"labelId\"\n [attr.id]=\"id\">\n</button>", styles: [":host{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host.left{flex-direction:row}:host.right{flex-direction:row-reverse}:host.top{flex-direction:column}:host.bottom{flex-direction:column-reverse}:host.left,:host.right{justify-content:space-between;width:fit-content}:host.top,:host.bottom{align-items:flex-start}:host.daff-disabled{opacity:.5;cursor:not-allowed}:host.daff-disabled .daff-switch__label{cursor:not-allowed}:host.daff-disabled .daff-switch__toggle{cursor:not-allowed}:host.checked .daff-switch__toggle:before{transform:translate(1.5rem)}:host.daff-sm .daff-switch__toggle{height:1.5rem;width:2.75rem}:host.daff-sm .daff-switch__toggle:before{height:1.125rem;width:1.125rem;inset-inline-start:.15rem}:host.daff-sm.checked .daff-switch__toggle:before{transform:translate(1.25rem)}.daff-switch__label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:1rem;line-height:1rem}.daff-switch__toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;display:flex;align-items:center;border:none;border-radius:1rem;height:2rem;width:3.5rem;margin:0;outline:none;padding:0;position:relative}.daff-switch__toggle:before{content:\"\";position:absolute;border-radius:1.5rem;height:1.625rem;width:1.625rem;inset-inline-start:.175rem;transition:transform .3s}.daff-switch__toggle:after{content:\"\";display:flex;border-radius:1rem;width:100%;outline-offset:1px;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
73
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSwitchComponent, deps: [{ token: i1.DaffDisableableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
74
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DaffSwitchComponent, isStandalone: true, selector: "daff-switch", inputs: { labelPosition: "labelPosition", disabled: "disabled", checked: "checked", id: "id" }, outputs: { toggled: "toggled" }, host: { properties: { "class.checked": "checked", "class.left": "labelPosition === \"left\"", "class.right": "labelPosition === \"right\"", "class.top": "labelPosition === \"top\"", "class.bottom": "labelPosition === \"bottom\"" }, classAttribute: "daff-switch" }, usesInheritance: true, hostDirectives: [{ directive: i1.DaffSizableDirective, inputs: ["size", "size"] }, { directive: i1.DaffDisableableDirective, inputs: ["disabled", "disabled"] }], ngImport: i0, template: "<label class=\"daff-switch__label\" [id]=\"labelId\" [for]=\"id\">\n <ng-content></ng-content>\n</label>\n\n<button class=\"daff-switch__toggle\"\n type=\"button\"\n role=\"switch\"\n (click)=\"onToggle()\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-checked]=\"checked ? true : false\"\n [attr.aria-labelledby]=\"labelId\"\n [attr.id]=\"id\">\n</button>", styles: [":host{display:flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host.left{flex-direction:row}:host.right{flex-direction:row-reverse}:host.top{flex-direction:column}:host.bottom{flex-direction:column-reverse}:host.left,:host.right{justify-content:space-between;width:fit-content}:host.top,:host.bottom{align-items:flex-start}:host.daff-disabled{opacity:.5;cursor:not-allowed}:host.daff-disabled .daff-switch__label{cursor:not-allowed}:host.daff-disabled .daff-switch__toggle{cursor:not-allowed}:host.checked .daff-switch__toggle:before{transform:translate(1.5rem)}:host.daff-sm .daff-switch__toggle{height:1.5rem;width:2.75rem}:host.daff-sm .daff-switch__toggle:before{height:1.125rem;width:1.125rem;inset-inline-start:.15rem}:host.daff-sm.checked .daff-switch__toggle:before{transform:translate(1.25rem)}.daff-switch__label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:1rem;line-height:1rem}.daff-switch__toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;display:flex;align-items:center;border:none;border-radius:1rem;height:2rem;width:3.5rem;margin:0;outline:none;padding:0;position:relative}.daff-switch__toggle:before{content:\"\";position:absolute;border-radius:1.5rem;height:1.625rem;width:1.625rem;inset-inline-start:.175rem;transition:transform .3s}.daff-switch__toggle:after{content:\"\";display:flex;border-radius:1rem;width:100%;outline-offset:1px;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffSwitchComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffSwitchComponent, decorators: [{
77
77
  type: Component,
78
78
  args: [{ selector: 'daff-switch', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [
79
79
  {
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-switch.mjs","sources":["../../../libs/design/switch/src/switch/label-position.ts","../../../libs/design/switch/src/switch/switch.component.ts","../../../libs/design/switch/src/switch/switch.component.html","../../../libs/design/switch/src/switch.ts","../../../libs/design/switch/src/daffodil-design-switch.ts"],"sourcesContent":["export type DaffSwitchLabelPosition = 'left' | 'right' | 'top' | 'bottom';\n\n/**\n * The position of the label relative to the switch.\n */\nexport enum DaffSwitchLabelPositionEnum {\n LEFT = 'left',\n RIGHT = 'right',\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n","/* eslint-disable quote-props */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport {\n DaffDisableableDirective,\n DaffSizableDirective,\n DaffSizeSmallType,\n} from '@daffodil/design';\n\nimport {\n DaffSwitchLabelPosition,\n DaffSwitchLabelPositionEnum,\n} from './label-position';\n\nlet switchIncrementalId = 0;\n\nexport type DaffSwitchSize = DaffSizeSmallType;\n\n/**\n * The switch component provides a way to toggle between two settings.\n *\n * ```html\n * <daff-switch>Label</daff-switch>\n * ```\n */\n@Component({\n selector: 'daff-switch',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n hostDirectives: [\n {\n directive: DaffSizableDirective,\n inputs: ['size'],\n },\n {\n directive: DaffDisableableDirective,\n inputs: ['disabled'],\n },\n ],\n host: {\n 'class': 'daff-switch',\n '[class.checked]': 'checked',\n '[class.left]': 'labelPosition === \"left\"',\n '[class.right]': 'labelPosition === \"right\"',\n '[class.top]': 'labelPosition === \"top\"',\n '[class.bottom]': 'labelPosition === \"bottom\"',\n },\n})\nexport class DaffSwitchComponent extends DaffSizableDirective<DaffSwitchSize> {\n /**\n * The position of the label relative to the switch.\n */\n @Input() labelPosition: DaffSwitchLabelPosition = DaffSwitchLabelPositionEnum.LEFT;\n\n constructor(private disabledDirective: DaffDisableableDirective) {\n super();\n }\n\n /**\n * Whether the switch is disabled.\n */\n @Input() get disabled() {\n return this.disabledDirective.disabled;\n }\n set disabled(value: any) {\n this.disabledDirective.disabled = coerceBooleanProperty(value);\n }\n\n /**\n * Current state of switch (on/off).\n */\n @Input() checked = false;\n\n /**\n * @docs-private\n */\n labelId: string = 'daff-switch-' + switchIncrementalId++ + '-label';\n\n /**\n * The unique id of the switch. Defaults to an autogenerated value. When using this,\n * it's your responsibility to ensure that the id for each switch is unique.\n *\n * It gets assigned to the `for` attribute on the `<label>` inside of the switch.\n */\n @Input() id = 'daff-switch-' + switchIncrementalId++;\n\n /**\n * Output event triggered when the switch has been toggled.\n */\n @Output() toggled = new EventEmitter<boolean>();\n\n /**\n * @docs-private\n */\n onToggle() {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.toggled.emit(this.checked);\n }\n }\n}\n","<label class=\"daff-switch__label\" [id]=\"labelId\" [for]=\"id\">\n <ng-content></ng-content>\n</label>\n\n<button class=\"daff-switch__toggle\"\n type=\"button\"\n role=\"switch\"\n (click)=\"onToggle()\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-checked]=\"checked ? true : false\"\n [attr.aria-labelledby]=\"labelId\"\n [attr.id]=\"id\">\n</button>","import { DaffSwitchComponent } from './switch/switch.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_SWITCH_COMPONENTS = <const> [\n DaffSwitchComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAEA;;AAEG;AACH,IAAY,2BAKX;AALD,CAAA,UAAY,2BAA2B,EAAA;AACrC,IAAA,2BAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,2BAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,2BAAA,CAAA,KAAA,CAAA,GAAA,KAAW;AACX,IAAA,2BAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACnB,CAAC,EALW,2BAA2B,KAA3B,2BAA2B,GAAA,EAAA,CAAA,CAAA;;ACLvC;AAqBA,IAAI,mBAAmB,GAAG,CAAC;AAI3B;;;;;;AAMG;AAyBG,MAAO,mBAAoB,SAAQ,oBAAoC,CAAA;AAM3E,IAAA,WAAA,CAAoB,iBAA2C,EAAA;AAC7D,QAAA,KAAK,EAAE;QADW,IAAA,CAAA,iBAAiB,GAAjB,iBAAiB;AALrC;;AAEG;AACM,QAAA,IAAA,CAAA,aAAa,GAA4B,2BAA2B,CAAC,IAAI;AAgBlF;;AAEG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK;AAExB;;AAEG;AACH,QAAA,IAAA,CAAA,OAAO,GAAW,cAAc,GAAG,mBAAmB,EAAE,GAAG,QAAQ;AAEnE;;;;;AAKG;AACM,QAAA,IAAA,CAAA,EAAE,GAAG,cAAc,GAAG,mBAAmB,EAAE;AAEpD;;AAEG;AACO,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAW;IAjC/C;AAEA;;AAEG;AACH,IAAA,IAAa,QAAQ,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ;IACxC;IACA,IAAI,QAAQ,CAAC,KAAU,EAAA;QACrB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC;IAChE;AAyBA;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;YAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC;IACF;iIAnDW,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,0oBCxDhC,wXAYS,EAAA,MAAA,EAAA,CAAA,6jDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FD4CI,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAxB/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,eAAA,EACN,uBAAuB,CAAC,MAAM,EAAA,cAAA,EAG/B;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,oBAAoB;4BAC/B,MAAM,EAAE,CAAC,MAAM,CAAC;AACjB,yBAAA;AACD,wBAAA;AACE,4BAAA,SAAS,EAAE,wBAAwB;4BACnC,MAAM,EAAE,CAAC,UAAU,CAAC;AACrB,yBAAA;qBACF,EAAA,IAAA,EACK;AACJ,wBAAA,OAAO,EAAE,aAAa;AACtB,wBAAA,iBAAiB,EAAE,SAAS;AAC5B,wBAAA,cAAc,EAAE,0BAA0B;AAC1C,wBAAA,eAAe,EAAE,2BAA2B;AAC5C,wBAAA,aAAa,EAAE,yBAAyB;AACxC,wBAAA,gBAAgB,EAAE,4BAA4B;AAC/C,qBAAA,EAAA,QAAA,EAAA,wXAAA,EAAA,MAAA,EAAA,CAAA,6jDAAA,CAAA,EAAA;6FAMQ,aAAa,EAAA,CAAA;sBAArB;gBASY,QAAQ,EAAA,CAAA;sBAApB;gBAUQ,OAAO,EAAA,CAAA;sBAAf;gBAaQ,EAAE,EAAA,CAAA;sBAAV;gBAKS,OAAO,EAAA,CAAA;sBAAhB;;;AE/FH;;AAEG;AACI,MAAM,sBAAsB,GAAW;IAC5C,mBAAmB;;;ACNrB;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-design-switch.mjs","sources":["../../../libs/design/switch/src/switch/label-position.ts","../../../libs/design/switch/src/switch/switch.component.ts","../../../libs/design/switch/src/switch/switch.component.html","../../../libs/design/switch/src/switch.ts","../../../libs/design/switch/src/daffodil-design-switch.ts"],"sourcesContent":["export type DaffSwitchLabelPosition = 'left' | 'right' | 'top' | 'bottom';\n\n/**\n * The position of the label relative to the switch.\n */\nexport enum DaffSwitchLabelPositionEnum {\n LEFT = 'left',\n RIGHT = 'right',\n TOP = 'top',\n BOTTOM = 'bottom',\n}\n","/* eslint-disable quote-props */\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport {\n DaffDisableable,\n DaffDisableableDirective,\n DaffSizableDirective,\n DaffSizeSmallType,\n} from '@daffodil/design';\n\nimport {\n DaffSwitchLabelPosition,\n DaffSwitchLabelPositionEnum,\n} from './label-position';\n\nlet switchIncrementalId = 0;\n\nexport type DaffSwitchSize = DaffSizeSmallType;\n\n/**\n * The switch component provides a way to toggle between two settings.\n *\n * ```html\n * <daff-switch>Label</daff-switch>\n * ```\n */\n@Component({\n selector: 'daff-switch',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n hostDirectives: [\n {\n directive: DaffSizableDirective,\n inputs: ['size'],\n },\n {\n directive: DaffDisableableDirective,\n inputs: ['disabled'],\n },\n ],\n host: {\n 'class': 'daff-switch',\n '[class.checked]': 'checked',\n '[class.left]': 'labelPosition === \"left\"',\n '[class.right]': 'labelPosition === \"right\"',\n '[class.top]': 'labelPosition === \"top\"',\n '[class.bottom]': 'labelPosition === \"bottom\"',\n },\n})\nexport class DaffSwitchComponent extends DaffSizableDirective<DaffSwitchSize> implements DaffDisableable {\n /**\n * The position of the label relative to the switch.\n */\n @Input() labelPosition: DaffSwitchLabelPosition = DaffSwitchLabelPositionEnum.LEFT;\n\n constructor(private disabledDirective: DaffDisableableDirective) {\n super();\n }\n\n /**\n * Whether the switch is disabled.\n */\n @Input() get disabled() {\n return this.disabledDirective.disabled;\n }\n set disabled(value: any) {\n this.disabledDirective.disabled = coerceBooleanProperty(value);\n }\n\n /**\n * Current state of switch (on/off).\n */\n @Input() checked = false;\n\n /**\n * @docs-private\n */\n labelId: string = 'daff-switch-' + switchIncrementalId++ + '-label';\n\n /**\n * The unique id of the switch. Defaults to an autogenerated value. When using this,\n * it's your responsibility to ensure that the id for each switch is unique.\n *\n * It gets assigned to the `for` attribute on the `<label>` inside of the switch.\n */\n @Input() id = 'daff-switch-' + switchIncrementalId++;\n\n /**\n * Output event triggered when the switch has been toggled.\n */\n @Output() toggled = new EventEmitter<boolean>();\n\n /**\n * @docs-private\n */\n onToggle() {\n if (!this.disabled) {\n this.checked = !this.checked;\n this.toggled.emit(this.checked);\n }\n }\n}\n","<label class=\"daff-switch__label\" [id]=\"labelId\" [for]=\"id\">\n <ng-content></ng-content>\n</label>\n\n<button class=\"daff-switch__toggle\"\n type=\"button\"\n role=\"switch\"\n (click)=\"onToggle()\"\n [attr.disabled]=\"disabled ? '' : null\"\n [attr.aria-checked]=\"checked ? true : false\"\n [attr.aria-labelledby]=\"labelId\"\n [attr.id]=\"id\">\n</button>","import { DaffSwitchComponent } from './switch/switch.component';\n\n/**\n * @docs-private\n */\nexport const DAFF_SWITCH_COMPONENTS = <const> [\n DaffSwitchComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -47,8 +47,8 @@ class DaffTabComponent {
47
47
  this.panelId = 'daff-tab-panel-' + tabId;
48
48
  tabId++;
49
49
  }
50
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabComponent, deps: [{ token: i1.DaffDisableableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
51
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { 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 }], hostDirectives: [{ directive: i1.DaffDisableableDirective, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabComponent, deps: [{ token: i1.DaffDisableableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
51
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DaffTabComponent, isStandalone: true, selector: "daff-tab", inputs: { 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 }], hostDirectives: [{ directive: i1.DaffDisableableDirective, inputs: ["disabled", "disabled"] }], ngImport: i0, template: `
52
52
  <ng-template #label>
53
53
  <ng-content select="daff-tab-label"></ng-content>
54
54
  </ng-template>
@@ -57,7 +57,7 @@ class DaffTabComponent {
57
57
  </ng-template>
58
58
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{
63
63
  selector: 'daff-tab',
@@ -100,10 +100,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
100
100
  * ```
101
101
  */
102
102
  class DaffTabLabelComponent {
103
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", 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 }); }
103
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
104
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", 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 }); }
105
105
  }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabLabelComponent, decorators: [{
107
107
  type: Component,
108
108
  args: [{ selector: 'daff-tab-label', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
109
109
  DaffPrefixDirective,
@@ -153,10 +153,10 @@ class DaffTabPanelComponent {
153
153
  this._ariaLabelledBy = this.tab.id;
154
154
  this._id = this.tab.panelId;
155
155
  }
156
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
157
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "attr.id": "tabPanelId", "attr.aria-labelledby": "ariaLabelledBy" }, classAttribute: "daff-tab-panel" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem 0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
156
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabPanelComponent, deps: [{ token: DaffTabComponent }], target: i0.ɵɵFactoryTarget.Component }); }
157
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DaffTabPanelComponent, isStandalone: true, selector: "daff-tab-panel", host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "attr.id": "tabPanelId", "attr.aria-labelledby": "ariaLabelledBy" }, classAttribute: "daff-tab-panel" }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host(.daff-tab-panel){display:block;padding:1rem 0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
158
  }
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabPanelComponent, decorators: [{
160
160
  type: Component,
161
161
  args: [{ selector: 'daff-tab-panel', template: `<ng-content></ng-content>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
162
162
  'class': 'daff-tab-panel',
@@ -200,10 +200,10 @@ class DaffTabActivatorComponent {
200
200
  focus() {
201
201
  this.el.nativeElement.focus();
202
202
  }
203
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DaffSelectableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
204
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.1", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { attributes: { "role": "tab" }, properties: { "attr.aria-selected": "ariaSelected", "attr.tabindex": "tabIndex", "attr.id": "tabActivatorId", "attr.aria-controls": "panelId" }, classAttribute: "daff-tab-activator" }, 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 }); }
203
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabActivatorComponent, deps: [{ token: i0.ElementRef }, { token: i1.DaffSelectableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
204
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.18", type: DaffTabActivatorComponent, isStandalone: true, selector: "button[daff-tab-activator],a[daff-tab-activator]", inputs: { tabActivatorId: "tabActivatorId", panelId: "panelId" }, host: { attributes: { "role": "tab" }, properties: { "attr.aria-selected": "ariaSelected", "attr.tabindex": "tabIndex", "attr.id": "tabActivatorId", "attr.aria-controls": "panelId" }, classAttribute: "daff-tab-activator" }, 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 }); }
205
205
  }
206
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabActivatorComponent, decorators: [{
207
207
  type: Component,
208
208
  args: [{ selector: '' +
209
209
  'button[daff-tab-activator]' + ',' +
@@ -392,10 +392,10 @@ class DaffTabsComponent {
392
392
  const array = this._tabs.toArray();
393
393
  this.select(array[array.length - 1].id);
394
394
  }
395
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
396
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", 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: { "attr.aria-label": "this.externalAriaLabel" }, classAttribute: "daff-tabs" }, 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 }); }
395
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
396
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", 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: { "attr.aria-label": "this.externalAriaLabel" }, classAttribute: "daff-tabs" }, 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 }); }
397
397
  }
398
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTabsComponent, decorators: [{
398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTabsComponent, decorators: [{
399
399
  type: Component,
400
400
  args: [{ selector: 'daff-tabs', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
401
401
  'class': 'daff-tabs',
@@ -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\nimport { DaffDisableableDirective } from '@daffodil/design';\n\nlet tabId = 1;\n\n/**\n * Tab is a single tab in the tablist that is used 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\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 hostDirectives: [\n {\n directive: DaffDisableableDirective,\n inputs: ['disabled'],\n },\n ],\n})\nexport class DaffTabComponent {\n\n /**\n * @docs-private\n *\n * Whether the tab is disabled.\n */\n get disabled() {\n return this.disabledDirective.disabled;\n }\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. Defaults to an autogenerated value. When using this,\n * it's your responsibility to ensure that the id for each tab is unique.\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor(private disabledDirective: DaffDisableableDirective) {\n tabId++;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '@daffodil/design';\n\n/**\n * Tab label is the clicakble label that activates its corresponding tab panel. Labels can contain text, icons, or both.\n *\n * @example\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 DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffTabLabelComponent {\n /**\n * @docs-private\n */\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}","/* eslint-disable quote-props */\nimport {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * Tab panel is the content area displayed when a tab is active.\n *\n * @example\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 host: {\n 'class': 'daff-tab-panel',\n 'role': 'tabpanel',\n 'tabindex': '0',\n '[attr.id]': 'tabPanelId',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n})\nexport class DaffTabPanelComponent {\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 get tabPanelId() {\n return this._id;\n }\n\n private _ariaLabelledBy = '';\n\n /**\n * @docs-private\n */\n get ariaLabelledBy() {\n return this._ariaLabelledBy;\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","/* eslint-disable quote-props */\nimport {\n Input,\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 host: {\n 'class': 'daff-tab-activator',\n 'role': 'tab',\n '[attr.aria-selected]': 'ariaSelected',\n '[attr.tabindex]': 'tabIndex',\n '[attr.id]': 'tabActivatorId',\n '[attr.aria-controls]': 'panelId',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent {\n /**\n * @docs-private\n *\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n get ariaSelected() {\n return this.selectableDirective.selected ? true : false;\n }\n\n /**\n * @docs-private\n *\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n get tabIndex() {\n return this.selectableDirective.selected ? '0' : '-1';\n }\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() tabActivatorId = '';\n\n @Input() panelId = '';\n\n /**\n * Sets focus to the native element of the component.\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","/* eslint-disable quote-props */\nimport {\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 without leaving the page.\n *\n * @example\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 host: {\n 'class': 'daff-tabs',\n },\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 * 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 * @docs-private\n *\n * aria-label for the tab.\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * `aria-label` to label the tablist.\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\nimport {\n DaffDisableable,\n DaffDisableableDirective,\n} from '@daffodil/design';\n\nlet tabId = 1;\n\n/**\n * Tab is a single tab in the tablist that is used 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\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 hostDirectives: [\n {\n directive: DaffDisableableDirective,\n inputs: ['disabled'],\n },\n ],\n})\nexport class DaffTabComponent implements DaffDisableable {\n\n /**\n * @docs-private\n *\n * Whether the tab is disabled.\n */\n get disabled() {\n return this.disabledDirective.disabled;\n }\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. Defaults to an autogenerated value. When using this,\n * it's your responsibility to ensure that the id for each tab is unique.\n */\n @Input() id = 'daff-tab-' + tabId;\n\n /**\n * @docs-private\n */\n panelId = 'daff-tab-panel-' + tabId;\n\n constructor(private disabledDirective: DaffDisableableDirective) {\n tabId++;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\n\nimport {\n DaffPrefixDirective,\n DaffSuffixDirective,\n} from '@daffodil/design';\n\n/**\n * Tab label is the clicakble label that activates its corresponding tab panel. Labels can contain text, icons, or both.\n *\n * @example\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 DaffPrefixDirective,\n DaffSuffixDirective,\n ],\n})\nexport class DaffTabLabelComponent {\n /**\n * @docs-private\n */\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}","/* eslint-disable quote-props */\nimport {\n Component,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { DaffTabComponent } from '../tab/tab.component';\n\n/**\n * Tab panel is the content area displayed when a tab is active.\n *\n * @example\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 host: {\n 'class': 'daff-tab-panel',\n 'role': 'tabpanel',\n 'tabindex': '0',\n '[attr.id]': 'tabPanelId',\n '[attr.aria-labelledby]': 'ariaLabelledBy',\n },\n})\nexport class DaffTabPanelComponent {\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 get tabPanelId() {\n return this._id;\n }\n\n private _ariaLabelledBy = '';\n\n /**\n * @docs-private\n */\n get ariaLabelledBy() {\n return this._ariaLabelledBy;\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","/* eslint-disable quote-props */\nimport {\n Input,\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 host: {\n 'class': 'daff-tab-activator',\n 'role': 'tab',\n '[attr.aria-selected]': 'ariaSelected',\n '[attr.tabindex]': 'tabIndex',\n '[attr.id]': 'tabActivatorId',\n '[attr.aria-controls]': 'panelId',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DaffTabActivatorComponent {\n /**\n * @docs-private\n *\n * Sets `aria-selected` to true if the component is selected and false if it's not selected.\n */\n get ariaSelected() {\n return this.selectableDirective.selected ? true : false;\n }\n\n /**\n * @docs-private\n *\n * Sets `tabindex` to `0` if the component is selected and `-1` if it's not selected.\n */\n get tabIndex() {\n return this.selectableDirective.selected ? '0' : '-1';\n }\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() tabActivatorId = '';\n\n @Input() panelId = '';\n\n /**\n * Sets focus to the native element of the component.\n */\n focus() {\n this.el.nativeElement.focus();\n }\n}\n","/* eslint-disable quote-props */\nimport {\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 without leaving the page.\n *\n * @example\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 host: {\n 'class': 'daff-tabs',\n },\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 * 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 * @docs-private\n *\n * aria-label for the tab.\n */\n @HostBinding('attr.aria-label') private externalAriaLabel = null;\n\n /**\n * `aria-label` to label the tablist.\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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"}
@@ -7,10 +7,10 @@ import * as i2 from '@daffodil/design';
7
7
  import { DaffSizableDirective, DaffPrefixDirective, DaffArticleEncapsulatedDirective, DaffColorableDirective, DaffStatusableDirective } from '@daffodil/design';
8
8
 
9
9
  class DaffTagSizableDirective extends DaffSizableDirective {
10
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTagSizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
11
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.1", type: DaffTagSizableDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
10
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTagSizableDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
11
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.18", type: DaffTagSizableDirective, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTagSizableDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTagSizableDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{}]
16
16
  }] });
@@ -20,7 +20,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImpor
20
20
  *
21
21
  * @example
22
22
  * ```html
23
- * <daff-tag dismissible (closeTag)="onCloseTag()">
23
+ * <daff-tag [dismissible]="true" (closeTag)="onCloseTag()">
24
24
  * <fa-icon daffPrefix [icon]="faCircleCheck"></fa-icon>
25
25
  * <div>Label</div>
26
26
  * </daff-tag>
@@ -73,10 +73,10 @@ class DaffTagComponent {
73
73
  */
74
74
  this.size.defaultSize = 'md';
75
75
  }
76
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTagComponent, deps: [{ token: DaffTagSizableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
77
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", type: DaffTagComponent, isStandalone: true, selector: "daff-tag", inputs: { disabled: "disabled", dismissible: "dismissible" }, outputs: { closeTag: "closeTag" }, host: { properties: { "attr.aria-disabled": "disabled ? true : null", "disabled": "disabled", "class.dismissible": "dismissible" }, classAttribute: "daff-tag" }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true, static: true }], hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: DaffTagSizableDirective, inputs: ["size", "size"] }, { directive: i2.DaffColorableDirective, inputs: ["color", "color"] }, { directive: i2.DaffStatusableDirective, inputs: ["status", "status"] }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tag__label\">\n <ng-content></ng-content>\n</div>\n@if (dismissible) {\n <button class=\"daff-tag__close-icon\" (click)=\"onCloseTag($event)\" aria-label=\"Dismiss\" [attr.tabindex]=\"disabled ? -1 : null\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n}\n", styles: [".daff-tag{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;border-radius:.25rem;position:relative}.daff-tag.daff-sm{font-size:.875rem;line-height:1rem;gap:.375rem;padding:.5rem}.daff-tag.daff-sm .daff-tag__close-icon{font-size:.875rem;line-height:1rem}.daff-tag.daff-md{font-size:1rem;line-height:1.25rem;gap:.5rem;padding:.5rem}.daff-tag.daff-md .daff-tag__close-icon{font-size:1rem;line-height:1.25rem}.daff-tag.daff-lg{font-size:1.25rem;line-height:1.5rem;gap:.75rem;padding:.75rem}.daff-tag.daff-lg .daff-tag__close-icon{font-size:1.25rem;line-height:1.5rem}.daff-tag[disabled],.daff-tag.disabled{cursor:not-allowed;opacity:.5}.daff-tag[disabled] .daff-tag__close-icon,.daff-tag.disabled .daff-tag__close-icon{cursor:not-allowed}.daff-tag__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;background:none;appearance:none;padding:0;position:relative;color:currentColor;margin:0}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
76
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTagComponent, deps: [{ token: DaffTagSizableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
77
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: DaffTagComponent, isStandalone: true, selector: "daff-tag", inputs: { disabled: "disabled", dismissible: "dismissible" }, outputs: { closeTag: "closeTag" }, host: { properties: { "attr.aria-disabled": "disabled ? true : null", "disabled": "disabled", "class.dismissible": "dismissible" }, classAttribute: "daff-tag" }, queries: [{ propertyName: "_prefix", first: true, predicate: DaffPrefixDirective, descendants: true, static: true }], hostDirectives: [{ directive: i2.DaffArticleEncapsulatedDirective }, { directive: DaffTagSizableDirective, inputs: ["size", "size"] }, { directive: i2.DaffColorableDirective, inputs: ["color", "color"] }, { directive: i2.DaffStatusableDirective, inputs: ["status", "status"] }], ngImport: i0, template: "@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tag__label\">\n <ng-content></ng-content>\n</div>\n@if (dismissible) {\n <button class=\"daff-tag__close-icon\" (click)=\"onCloseTag($event)\" aria-label=\"Dismiss\" [attr.tabindex]=\"disabled ? -1 : null\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n}\n", styles: [".daff-tag{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;border-radius:.25rem;position:relative}.daff-tag.daff-sm{font-size:.875rem;line-height:1rem;gap:.375rem;padding:.5rem}.daff-tag.daff-sm .daff-tag__close-icon{font-size:.875rem;line-height:1rem}.daff-tag.daff-md{font-size:1rem;line-height:1.25rem;gap:.5rem;padding:.5rem}.daff-tag.daff-md .daff-tag__close-icon{font-size:1rem;line-height:1.25rem}.daff-tag.daff-lg{font-size:1.25rem;line-height:1.5rem;gap:.75rem;padding:.75rem}.daff-tag.daff-lg .daff-tag__close-icon{font-size:1.25rem;line-height:1.5rem}.daff-tag[disabled],.daff-tag.disabled{cursor:not-allowed;opacity:.5}.daff-tag[disabled] .daff-tag__close-icon,.daff-tag.disabled .daff-tag__close-icon{cursor:not-allowed}.daff-tag__close-icon{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:none;background:none;appearance:none;padding:0;position:relative;color:currentColor;margin:0}\n"], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"], outputs: ["iconChange", "titleChange", "animationChange", "maskChange", "flipChange", "sizeChange", "pullChange", "borderChange", "inverseChange", "symbolChange", "rotateChange", "fixedWidthChange", "transformChange", "a11yRoleChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTagComponent, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTagComponent, decorators: [{
80
80
  type: Component,
81
81
  args: [{ selector: 'daff-tag', hostDirectives: [
82
82
  { directive: DaffArticleEncapsulatedDirective },
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-tag.mjs","sources":["../../../libs/design/tag/src/tag/tag-sizable.directive.ts","../../../libs/design/tag/src/tag/tag.component.ts","../../../libs/design/tag/src/tag/tag.component.html","../../../libs/design/tag/src/tag.ts","../../../libs/design/tag/src/daffodil-design-tag.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\nimport {\n DaffSizableDirective,\n DaffSizeLargeType,\n DaffSizeMediumType,\n DaffSizeSmallType,\n} from '@daffodil/design';\n\n/**\n * The size types that the DaffTagComponent can implement.\n */\nexport type DaffTagSize = DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType;\n\n@Directive({})\n\nexport class DaffTagSizableDirective extends DaffSizableDirective<DaffTagSize> {}\n\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffColorableDirective,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffTagSizableDirective } from './tag-sizable.directive';\n\n/**\n * Contains the tag content: checkmark icon, label, and delete button.\n *\n * @example\n * ```html\n * <daff-tag dismissible (closeTag)=\"onCloseTag()\">\n * <fa-icon daffPrefix [icon]=\"faCircleCheck\"></fa-icon>\n * <div>Label</div>\n * </daff-tag>\n * ```\n */\n\n@Component({\n selector: 'daff-tag',\n templateUrl: './tag.component.html',\n styleUrl: './tag.component.scss',\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffTagSizableDirective,\n inputs: ['size'],\n },\n {\n directive: DaffColorableDirective,\n inputs: ['color'],\n },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'daff-tag',\n '[attr.aria-disabled]': 'disabled ? true : null',\n '[disabled]': 'disabled',\n '[class.dismissible]': 'dismissible',\n },\n imports: [\n FaIconComponent,\n DaffPrefixDirective,\n ],\n})\nexport class DaffTagComponent {\n /**\n * @docs-private\n */\n faTimes = faTimes;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n private _disabled = false;\n\n /**\n * The disabled state of the tag.\n */\n @Input() get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _dismissible = false;\n\n /** Whether the tag can be dismissed by the user.\n * Displays a close icon if `true`.\n */\n @Input() get dismissible() {\n return this._dismissible;\n }\n set dismissible(value: any) {\n this._dismissible = coerceBooleanProperty(value);\n }\n\n /**\n * Emits when the tag is closed.\n */\n @Output() closeTag: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n *\n * Internal handler for the close icon click.\n */\n onCloseTag(event: Event) {\n if (this._disabled) {\n return;\n }\n this.closeTag.emit();\n }\n\n constructor(\n private size: DaffTagSizableDirective,\n ) {\n /**\n * Sets the default size of a tag to medium.\n */\n this.size.defaultSize = 'md';\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tag__label\">\n <ng-content></ng-content>\n</div>\n@if (dismissible) {\n <button class=\"daff-tag__close-icon\" (click)=\"onCloseTag($event)\" aria-label=\"Dismiss\" [attr.tabindex]=\"disabled ? -1 : null\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n}\n","import { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffTagSizableDirective } from './tag/tag-sizable.directive';\nimport { DaffTagComponent } from './tag/tag.component';\n\n/**\n * @docs-private\n *\n * `DAFF_TAG_COMPONENTS` imports all the available components and directives.\n */\nexport const DAFF_TAG_COMPONENTS = <const> [\n DaffTagComponent,\n DaffTagSizableDirective,\n DaffPrefixDirective,\n];\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTagSizableDirective"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-tag.mjs","sources":["../../../libs/design/tag/src/tag/tag-sizable.directive.ts","../../../libs/design/tag/src/tag/tag.component.ts","../../../libs/design/tag/src/tag/tag.component.html","../../../libs/design/tag/src/tag.ts","../../../libs/design/tag/src/daffodil-design-tag.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\nimport {\n DaffSizableDirective,\n DaffSizeLargeType,\n DaffSizeMediumType,\n DaffSizeSmallType,\n} from '@daffodil/design';\n\n/**\n * The size types that the DaffTagComponent can implement.\n */\nexport type DaffTagSize = DaffSizeSmallType | DaffSizeMediumType | DaffSizeLargeType;\n\n@Directive({})\n\nexport class DaffTagSizableDirective extends DaffSizableDirective<DaffTagSize> {}\n\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffColorableDirective,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffTagSizableDirective } from './tag-sizable.directive';\n\n/**\n * Contains the tag content: checkmark icon, label, and delete button.\n *\n * @example\n * ```html\n * <daff-tag [dismissible]=\"true\" (closeTag)=\"onCloseTag()\">\n * <fa-icon daffPrefix [icon]=\"faCircleCheck\"></fa-icon>\n * <div>Label</div>\n * </daff-tag>\n * ```\n */\n\n@Component({\n selector: 'daff-tag',\n templateUrl: './tag.component.html',\n styleUrl: './tag.component.scss',\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffTagSizableDirective,\n inputs: ['size'],\n },\n {\n directive: DaffColorableDirective,\n inputs: ['color'],\n },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'daff-tag',\n '[attr.aria-disabled]': 'disabled ? true : null',\n '[disabled]': 'disabled',\n '[class.dismissible]': 'dismissible',\n },\n imports: [\n FaIconComponent,\n DaffPrefixDirective,\n ],\n})\nexport class DaffTagComponent {\n /**\n * @docs-private\n */\n faTimes = faTimes;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective, { static: true }) _prefix: DaffPrefixDirective;\n\n private _disabled = false;\n\n /**\n * The disabled state of the tag.\n */\n @Input() get disabled() {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n private _dismissible = false;\n\n /** Whether the tag can be dismissed by the user.\n * Displays a close icon if `true`.\n */\n @Input() get dismissible() {\n return this._dismissible;\n }\n set dismissible(value: any) {\n this._dismissible = coerceBooleanProperty(value);\n }\n\n /**\n * Emits when the tag is closed.\n */\n @Output() closeTag: EventEmitter<void> = new EventEmitter();\n\n /**\n * @docs-private\n *\n * Internal handler for the close icon click.\n */\n onCloseTag(event: Event) {\n if (this._disabled) {\n return;\n }\n this.closeTag.emit();\n }\n\n constructor(\n private size: DaffTagSizableDirective,\n ) {\n /**\n * Sets the default size of a tag to medium.\n */\n this.size.defaultSize = 'md';\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-tag__label\">\n <ng-content></ng-content>\n</div>\n@if (dismissible) {\n <button class=\"daff-tag__close-icon\" (click)=\"onCloseTag($event)\" aria-label=\"Dismiss\" [attr.tabindex]=\"disabled ? -1 : null\">\n <fa-icon [icon]=\"faTimes\"></fa-icon>\n </button>\n}\n","import { DaffPrefixDirective } from '@daffodil/design';\n\nimport { DaffTagSizableDirective } from './tag/tag-sizable.directive';\nimport { DaffTagComponent } from './tag/tag.component';\n\n/**\n * @docs-private\n *\n * `DAFF_TAG_COMPONENTS` imports all the available components and directives.\n */\nexport const DAFF_TAG_COMPONENTS = <const> [\n DaffTagComponent,\n DaffTagSizableDirective,\n DaffPrefixDirective,\n];\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffTagSizableDirective"],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, ElementRef, Output, ViewChild, Input, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import * as i1 from '@daffodil/design/button';
4
- import { DAFF_UNDERLINE_BUTTON_COMPONENTS } from '@daffodil/design/button';
5
3
 
6
4
  class DaffTextSnippetComponent {
7
5
  constructor() {
@@ -32,14 +30,14 @@ class DaffTextSnippetComponent {
32
30
  this.condensed = !this.condensed;
33
31
  this.toggle.emit(this.condensed);
34
32
  }
35
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
36
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.1", 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: "@if (html) {\n <div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\"></div>\n} @else {\n <div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\">\n <ng-content></ng-content>\n </div>\n}\n<button daff-underline-button color=\"theme-contrast\"\n class=\"daff-text-snippet__toggle\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n (click)=\"toggleSnippet()\">\n @if (condensed) {\n Show More\n } @else {\n Show Less\n }\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: "component", type: i1.DaffUnderlineButtonComponent, selector: "button[daff-underline-button],a[daff-underline-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTextSnippetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.18", type: DaffTextSnippetComponent, isStandalone: true, selector: "daff-text-snippet", inputs: { condensed: "condensed", html: "html" }, outputs: { toggle: "toggle" }, host: { classAttribute: "daff-text-snippet" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["contentEl"], descendants: true, read: ElementRef }, { propertyName: "htmlRef", first: true, predicate: ["htmlEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (html) {\n <div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\"></div>\n} @else {\n <div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\">\n <ng-content></ng-content>\n </div>\n}\n<button\n class=\"daff-text-snippet__toggle\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n (click)=\"toggleSnippet()\">\n @if (condensed) {\n Show more\n } @else {\n Show less\n }\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%}.daff-text-snippet__toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border-left-style:none;border-right-style:none;border-top-style:none;margin:0;padding:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
35
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.1", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.18", ngImport: i0, type: DaffTextSnippetComponent, decorators: [{
39
37
  type: Component,
40
- args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
41
- DAFF_UNDERLINE_BUTTON_COMPONENTS,
42
- ], template: "@if (html) {\n <div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\"></div>\n} @else {\n <div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\">\n <ng-content></ng-content>\n </div>\n}\n<button daff-underline-button color=\"theme-contrast\"\n class=\"daff-text-snippet__toggle\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n (click)=\"toggleSnippet()\">\n @if (condensed) {\n Show More\n } @else {\n Show Less\n }\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"] }]
38
+ args: [{ selector: 'daff-text-snippet', changeDetection: ChangeDetectionStrategy.OnPush, host: {
39
+ class: 'daff-text-snippet',
40
+ }, template: "@if (html) {\n <div class=\"daff-text-snippet__content daff-text-snippet__html\" #htmlEl [class.condensed]=\"condensed\" [innerHtml]=\"html\"></div>\n} @else {\n <div class=\"daff-text-snippet__content daff-text-snippet__ngcontent\" #contentEl [class.condensed]=\"condensed\">\n <ng-content></ng-content>\n </div>\n}\n<button\n class=\"daff-text-snippet__toggle\"\n [attr.aria-expanded]=\"ariaExpanded()\"\n (click)=\"toggleSnippet()\">\n @if (condensed) {\n Show more\n } @else {\n Show less\n }\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%}.daff-text-snippet__toggle{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;appearance:none;background:none;border-left-style:none;border-right-style:none;border-top-style:none;margin:0;padding:0}\n"] }]
43
41
  }], propDecorators: { condensed: [{
44
42
  type: Input
45
43
  }], html: [{