@sebgroup/green-angular 3.6.3 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/esm2020/lib/context-menu/context-menu.component.mjs +4 -4
  2. package/esm2020/lib/context-menu/context-menu.module.mjs +2 -2
  3. package/esm2020/lib/datepicker/datepicker.component.mjs +4 -4
  4. package/esm2020/lib/datepicker/datepicker.module.mjs +5 -6
  5. package/esm2020/lib/dropdown/dropdown.component.mjs +4 -4
  6. package/esm2020/lib/dropdown/dropdown.module.mjs +2 -2
  7. package/esm2020/lib/shared/index.mjs +2 -1
  8. package/esm2020/src/lib/accordion/accordion-list-item.component.mjs +47 -0
  9. package/esm2020/src/lib/accordion/accordion.component.mjs +72 -0
  10. package/esm2020/src/lib/accordion/accordion.module.mjs +19 -0
  11. package/esm2020/src/lib/accordion/index.mjs +4 -0
  12. package/esm2020/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
  13. package/esm2020/src/lib/badge/badge.component.mjs +80 -0
  14. package/esm2020/src/lib/badge/badge.module.mjs +18 -0
  15. package/esm2020/src/lib/badge/index.mjs +3 -0
  16. package/esm2020/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
  17. package/esm2020/src/lib/button/button.component.mjs +28 -0
  18. package/esm2020/src/lib/button/button.module.mjs +18 -0
  19. package/esm2020/src/lib/button/index.mjs +3 -0
  20. package/esm2020/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
  21. package/esm2020/src/lib/cell-table/cell-table-item.component.mjs +91 -0
  22. package/esm2020/src/lib/cell-table/cell-table.component.mjs +97 -0
  23. package/esm2020/src/lib/cell-table/cell-table.module.mjs +26 -0
  24. package/esm2020/src/lib/cell-table/cell-table.types.mjs +7 -0
  25. package/esm2020/src/lib/cell-table/cell-underline.directive.mjs +55 -0
  26. package/esm2020/src/lib/cell-table/index.mjs +4 -0
  27. package/esm2020/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
  28. package/esm2020/src/lib/context-menu/context-menu.component.mjs +80 -0
  29. package/esm2020/src/lib/context-menu/context-menu.module.mjs +20 -0
  30. package/esm2020/src/lib/context-menu/index.mjs +3 -0
  31. package/esm2020/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
  32. package/esm2020/src/lib/datepicker/datepicker.component.mjs +138 -0
  33. package/esm2020/src/lib/datepicker/datepicker.module.mjs +20 -0
  34. package/esm2020/src/lib/datepicker/index.mjs +3 -0
  35. package/esm2020/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
  36. package/esm2020/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
  37. package/esm2020/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
  38. package/esm2020/src/lib/dropdown/dropdown.component.mjs +212 -0
  39. package/esm2020/src/lib/dropdown/dropdown.module.mjs +34 -0
  40. package/esm2020/src/lib/dropdown/index.mjs +5 -0
  41. package/esm2020/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
  42. package/esm2020/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +50 -0
  43. package/esm2020/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  44. package/esm2020/src/lib/in-page-wizard/index.mjs +3 -0
  45. package/esm2020/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
  46. package/esm2020/src/lib/modal/index.mjs +5 -0
  47. package/esm2020/src/lib/modal/modal-footer.directive.mjs +16 -0
  48. package/esm2020/src/lib/modal/modal-header.directive.mjs +16 -0
  49. package/esm2020/src/lib/modal/modal.component.mjs +251 -0
  50. package/esm2020/src/lib/modal/modal.module.mjs +41 -0
  51. package/esm2020/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
  52. package/esm2020/src/lib/pagination/index.mjs +3 -0
  53. package/esm2020/src/lib/pagination/pagination.component.mjs +175 -0
  54. package/esm2020/src/lib/pagination/pagination.module.mjs +18 -0
  55. package/esm2020/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
  56. package/esm2020/src/lib/progress-circle/index.mjs +3 -0
  57. package/esm2020/src/lib/progress-circle/progress-circle.component.mjs +41 -0
  58. package/esm2020/src/lib/progress-circle/progress-circle.module.mjs +18 -0
  59. package/esm2020/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
  60. package/esm2020/src/lib/segmented-control/index.mjs +3 -0
  61. package/esm2020/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
  62. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +35 -0
  63. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +19 -0
  64. package/esm2020/src/lib/shared/core-element/core-element.directive.mjs +33 -0
  65. package/esm2020/src/lib/shared/core-element/core-element.module.mjs +18 -0
  66. package/esm2020/src/lib/shared/core-element/index.mjs +3 -0
  67. package/esm2020/src/lib/shared/index.mjs +4 -0
  68. package/esm2020/src/lib/shared/on-scroll.directive.mjs +47 -0
  69. package/esm2020/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
  70. package/esm2020/src/lib/shared/shared.module.mjs +18 -0
  71. package/esm2020/src/lib/slider/index.mjs +3 -0
  72. package/esm2020/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
  73. package/esm2020/src/lib/slider/slider.component.mjs +113 -0
  74. package/esm2020/src/lib/slider/slider.module.mjs +19 -0
  75. package/esm2020/src/lib/sortable-list/index.mjs +3 -0
  76. package/esm2020/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
  77. package/esm2020/src/lib/sortable-list/sortable-list.component.mjs +181 -0
  78. package/esm2020/src/lib/sortable-list/sortable-list.module.mjs +20 -0
  79. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +140 -0
  80. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  81. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  82. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  83. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +50 -0
  84. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  85. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +272 -0
  86. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  87. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  88. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  89. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +166 -0
  90. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  91. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +266 -0
  92. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  93. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  94. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  95. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +321 -0
  96. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  97. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  98. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  99. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  100. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  101. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  102. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  103. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +114 -0
  104. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  105. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +136 -0
  106. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  107. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  108. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  109. package/fesm2015/sebgroup-green-angular.mjs +81 -77
  110. package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
  111. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs +138 -0
  112. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  113. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  114. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  115. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs +50 -0
  116. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  117. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
  118. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  119. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  120. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  121. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
  122. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  123. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs +274 -0
  124. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  125. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  126. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  127. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs +319 -0
  128. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  129. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  130. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  131. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  132. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  133. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  134. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  135. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs +113 -0
  136. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  137. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs +135 -0
  138. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  139. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  140. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  141. package/fesm2020/sebgroup-green-angular.mjs +81 -77
  142. package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
  143. package/lib/context-menu/context-menu.component.d.ts +1 -1
  144. package/lib/context-menu/context-menu.module.d.ts +1 -1
  145. package/lib/datepicker/datepicker.module.d.ts +2 -3
  146. package/lib/dropdown/dropdown.module.d.ts +1 -1
  147. package/lib/shared/index.d.ts +1 -0
  148. package/package.json +122 -2
  149. package/src/lib/accordion/accordion-list-item.component.d.ts +15 -0
  150. package/src/lib/accordion/accordion.component.d.ts +16 -0
  151. package/src/lib/accordion/accordion.module.d.ts +9 -0
  152. package/src/lib/accordion/index.d.ts +3 -0
  153. package/src/lib/badge/badge.component.d.ts +25 -0
  154. package/src/lib/badge/badge.module.d.ts +8 -0
  155. package/src/lib/badge/index.d.ts +2 -0
  156. package/src/lib/button/button.component.d.ts +9 -0
  157. package/src/lib/button/button.module.d.ts +8 -0
  158. package/src/lib/button/index.d.ts +2 -0
  159. package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
  160. package/src/lib/cell-table/cell-table.component.d.ts +44 -0
  161. package/src/lib/cell-table/cell-table.module.d.ts +10 -0
  162. package/src/lib/cell-table/cell-table.types.d.ts +34 -0
  163. package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
  164. package/src/lib/cell-table/index.d.ts +3 -0
  165. package/src/lib/context-menu/context-menu.component.d.ts +49 -0
  166. package/src/lib/context-menu/context-menu.module.d.ts +9 -0
  167. package/src/lib/context-menu/index.d.ts +2 -0
  168. package/src/lib/datepicker/datepicker.component.d.ts +66 -0
  169. package/src/lib/datepicker/datepicker.module.d.ts +9 -0
  170. package/src/lib/datepicker/index.d.ts +2 -0
  171. package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  172. package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  173. package/src/lib/dropdown/dropdown.component.d.ts +79 -0
  174. package/src/lib/dropdown/dropdown.module.d.ts +11 -0
  175. package/src/lib/dropdown/index.d.ts +4 -0
  176. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +17 -0
  177. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  178. package/src/lib/in-page-wizard/index.d.ts +2 -0
  179. package/src/lib/modal/index.d.ts +4 -0
  180. package/src/lib/modal/modal-footer.directive.d.ts +8 -0
  181. package/src/lib/modal/modal-header.directive.d.ts +8 -0
  182. package/src/lib/modal/modal.component.d.ts +65 -0
  183. package/src/lib/modal/modal.module.d.ts +11 -0
  184. package/src/lib/pagination/index.d.ts +2 -0
  185. package/src/lib/pagination/pagination.component.d.ts +42 -0
  186. package/src/lib/pagination/pagination.module.d.ts +8 -0
  187. package/src/lib/progress-circle/index.d.ts +2 -0
  188. package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
  189. package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
  190. package/src/lib/segmented-control/index.d.ts +2 -0
  191. package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
  192. package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
  193. package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
  194. package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
  195. package/src/lib/shared/core-element/index.d.ts +2 -0
  196. package/src/lib/shared/index.d.ts +3 -0
  197. package/src/lib/shared/on-scroll.directive.d.ts +14 -0
  198. package/src/lib/shared/shared.module.d.ts +8 -0
  199. package/src/lib/slider/index.d.ts +2 -0
  200. package/src/lib/slider/slider.component.d.ts +38 -0
  201. package/src/lib/slider/slider.module.d.ts +9 -0
  202. package/src/lib/sortable-list/index.d.ts +2 -0
  203. package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
  204. package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
@@ -0,0 +1,63 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, HostBinding, Input, NgModule } from '@angular/core';
3
+ import { randomId, calculateDegrees } from '@sebgroup/extract';
4
+ import * as i1 from '@angular/common';
5
+ import { CommonModule } from '@angular/common';
6
+
7
+ class NggProgressCircleComponent {
8
+ constructor() {
9
+ this._startValue = '0deg';
10
+ this._endValue = '0deg';
11
+ /** id of the progress circle */
12
+ this.id = `${randomId()}-progress-circle`;
13
+ /** theme of the progress circle */
14
+ this.theme = 'warning';
15
+ }
16
+ /** progress circle value in percentage */
17
+ set value(val) {
18
+ const degrees = `${calculateDegrees(val)}deg`;
19
+ this._endValue = degrees;
20
+ if (this.theme === 'disabled') {
21
+ this._startValue = degrees;
22
+ }
23
+ }
24
+ }
25
+ NggProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ NggProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggProgressCircleComponent, selector: "ngg-progress-circle", inputs: { id: "id", theme: "theme", value: "value" }, host: { properties: { "style.--start-value": "this._startValue", "style.--end-value": "this._endValue" } }, ngImport: i0, template: "<div\n class=\"gds-progress-circle\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"id\"\n>\n <div class=\"ring full-ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"inner-circle\">\n <ng-content></ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'ngg-progress-circle', template: "<div\n class=\"gds-progress-circle\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"id\"\n>\n <div class=\"ring full-ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"inner-circle\">\n <ng-content></ng-content>\n </div>\n</div>\n" }]
30
+ }], propDecorators: { _startValue: [{
31
+ type: HostBinding,
32
+ args: ['style.--start-value']
33
+ }], _endValue: [{
34
+ type: HostBinding,
35
+ args: ['style.--end-value']
36
+ }], id: [{
37
+ type: Input
38
+ }], theme: [{
39
+ type: Input
40
+ }], value: [{
41
+ type: Input
42
+ }] } });
43
+
44
+ class NggProgressCircleModule {
45
+ }
46
+ NggProgressCircleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
47
+ NggProgressCircleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleModule, declarations: [NggProgressCircleComponent], imports: [CommonModule], exports: [NggProgressCircleComponent] });
48
+ NggProgressCircleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleModule, imports: [CommonModule] });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggProgressCircleModule, decorators: [{
50
+ type: NgModule,
51
+ args: [{
52
+ declarations: [NggProgressCircleComponent],
53
+ imports: [CommonModule],
54
+ exports: [NggProgressCircleComponent],
55
+ }]
56
+ }] });
57
+
58
+ /**
59
+ * Generated bundle index. Do not edit.
60
+ */
61
+
62
+ export { NggProgressCircleComponent, NggProgressCircleModule };
63
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-progress-circle.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-progress-circle.mjs","sources":["../../../../libs/angular/src/lib/progress-circle/progress-circle.component.ts","../../../../libs/angular/src/lib/progress-circle/progress-circle.component.html","../../../../libs/angular/src/lib/progress-circle/progress-circle.module.ts","../../../../libs/angular/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.ts"],"sourcesContent":["import { Component, HostBinding, Input } from '@angular/core'\nimport {\n calculateDegrees,\n ProgressCircleThemes,\n randomId,\n} from '@sebgroup/extract'\n\n@Component({\n selector: 'ngg-progress-circle',\n templateUrl: './progress-circle.component.html',\n})\nexport class NggProgressCircleComponent {\n @HostBinding('style.--start-value') private _startValue = '0deg'\n @HostBinding('style.--end-value') private _endValue = '0deg'\n\n /** id of the progress circle */\n @Input() id?: string = `${randomId()}-progress-circle`\n /** theme of the progress circle */\n @Input() theme: ProgressCircleThemes = 'warning'\n /** progress circle value in percentage */\n @Input() set value(val: number) {\n const degrees = `${calculateDegrees(val)}deg`\n this._endValue = degrees\n if (this.theme === 'disabled') {\n this._startValue = degrees\n }\n }\n}\n","<div\n class=\"gds-progress-circle\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"value\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-label]=\"id\"\n>\n <div class=\"ring full-ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"ring\">\n <div class=\"ring-progress\" [ngClass]=\"theme\"></div>\n </div>\n <div class=\"inner-circle\">\n <ng-content></ng-content>\n </div>\n</div>\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\n\nimport { NggProgressCircleComponent } from './progress-circle.component'\n\n@NgModule({\n declarations: [NggProgressCircleComponent],\n imports: [CommonModule],\n exports: [NggProgressCircleComponent],\n})\nexport class NggProgressCircleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAWa,0BAA0B,CAAA;AAJvC,IAAA,WAAA,GAAA;QAK8C,IAAW,CAAA,WAAA,GAAG,MAAM,CAAA;QACtB,IAAS,CAAA,SAAA,GAAG,MAAM,CAAA;;AAGnD,QAAA,IAAA,CAAA,EAAE,GAAY,CAAA,EAAG,QAAQ,EAAE,kBAAkB,CAAA;;QAE7C,IAAK,CAAA,KAAA,GAAyB,SAAS,CAAA;AASjD,KAAA;;IAPC,IAAa,KAAK,CAAC,GAAW,EAAA;QAC5B,MAAM,OAAO,GAAG,CAAG,EAAA,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAA;AAC7C,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;AACxB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;AAC3B,SAAA;KACF;;uHAfU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,6NCXvC,ydAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FDPa,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;+BACE,qBAAqB,EAAA,QAAA,EAAA,ydAAA,EAAA,CAAA;8BAIa,WAAW,EAAA,CAAA;sBAAtD,WAAW;uBAAC,qBAAqB,CAAA;gBACQ,SAAS,EAAA,CAAA;sBAAlD,WAAW;uBAAC,mBAAmB,CAAA;gBAGvB,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAEG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEO,KAAK,EAAA,CAAA;sBAAjB,KAAK;;;MEVK,uBAAuB,CAAA;;oHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAJnB,YAAA,EAAA,CAAA,0BAA0B,CAC/B,EAAA,OAAA,EAAA,CAAA,YAAY,aACZ,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAEzB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,YAHxB,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGX,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,0BAA0B,CAAC;oBAC1C,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,0BAA0B,CAAC;AACtC,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -0,0 +1,58 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Component, ChangeDetectionStrategy, Input, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/router';
4
+ import { RouterModule } from '@angular/router';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+
8
+ class NggSegmentedControlComponent {
9
+ }
10
+ NggSegmentedControlComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ NggSegmentedControlComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggSegmentedControlComponent, selector: "ngg-segmented-control", inputs: { $controls: "$controls" }, ngImport: i0, template: `
12
+ <div class="group">
13
+ <a
14
+ *ngFor="let control of $controls | async"
15
+ [routerLink]="control.url"
16
+ routerLinkActive="active"
17
+ class="button"
18
+ >{{ control.text }}</a
19
+ >
20
+ </div>
21
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'ngg-segmented-control', template: `
25
+ <div class="group">
26
+ <a
27
+ *ngFor="let control of $controls | async"
28
+ [routerLink]="control.url"
29
+ routerLinkActive="active"
30
+ class="button"
31
+ >{{ control.text }}</a
32
+ >
33
+ </div>
34
+ `, changeDetection: ChangeDetectionStrategy.OnPush }]
35
+ }], propDecorators: { $controls: [{
36
+ type: Input
37
+ }] } });
38
+
39
+ class NggSegmentedControlModule {
40
+ }
41
+ NggSegmentedControlModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
+ NggSegmentedControlModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlModule, declarations: [NggSegmentedControlComponent], imports: [RouterModule, CommonModule], exports: [NggSegmentedControlComponent] });
43
+ NggSegmentedControlModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlModule, imports: [RouterModule, CommonModule] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSegmentedControlModule, decorators: [{
45
+ type: NgModule,
46
+ args: [{
47
+ declarations: [NggSegmentedControlComponent],
48
+ imports: [RouterModule, CommonModule],
49
+ exports: [NggSegmentedControlComponent],
50
+ }]
51
+ }] });
52
+
53
+ /**
54
+ * Generated bundle index. Do not edit.
55
+ */
56
+
57
+ export { NggSegmentedControlComponent, NggSegmentedControlModule };
58
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-segmented-control.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-segmented-control.mjs","sources":["../../../../libs/angular/src/lib/segmented-control/segmented-control.component.ts","../../../../libs/angular/src/lib/segmented-control/segmented-control.module.ts","../../../../libs/angular/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Input } from '@angular/core'\nimport { Observable } from 'rxjs'\nexport interface SegmentedControl {\n url: string\n text: Observable<string> | string\n}\n@Component({\n selector: 'ngg-segmented-control',\n template: `\n <div class=\"group\">\n <a\n *ngFor=\"let control of $controls | async\"\n [routerLink]=\"control.url\"\n routerLinkActive=\"active\"\n class=\"button\"\n >{{ control.text }}</a\n >\n </div>\n `,\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggSegmentedControlComponent {\n @Input() $controls: Observable<Array<SegmentedControl>> | undefined\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { NggSegmentedControlComponent } from './segmented-control.component'\nimport { RouterModule } from '@angular/router'\n\n@NgModule({\n declarations: [NggSegmentedControlComponent],\n imports: [RouterModule, CommonModule],\n exports: [NggSegmentedControlComponent],\n})\nexport class NggSegmentedControlModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAsBa,4BAA4B,CAAA;;yHAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,4BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,EAd7B,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,uBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;2FAIU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhBxC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EACvB,QAAA,EAAA,CAAA;;;;;;;;;;GAUT,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,CAAA;8BAGtC,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;MCbK,yBAAyB,CAAA;;sHAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,yBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,iBAJrB,4BAA4B,CAAA,EAAA,OAAA,EAAA,CACjC,YAAY,EAAE,YAAY,aAC1B,4BAA4B,CAAA,EAAA,CAAA,CAAA;uHAE3B,yBAAyB,EAAA,OAAA,EAAA,CAH1B,YAAY,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;2FAGzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,4BAA4B,CAAC;AAC5C,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;oBACrC,OAAO,EAAE,CAAC,4BAA4B,CAAC;AACxC,iBAAA,CAAA;;;ACTD;;AAEG;;;;"}
@@ -0,0 +1,113 @@
1
+ import { CommonModule, DOCUMENT } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, Directive, NgModule, inject, Renderer2, ViewContainerRef, ChangeDetectorRef, TemplateRef } from '@angular/core';
4
+ import { Subject, fromEvent, interval } from 'rxjs';
5
+ import { takeUntil, throttle } from 'rxjs/operators';
6
+ import { getScopedTagName } from '@sebgroup/green-core/scoping';
7
+
8
+ const ON_SCROLL_TOKEN = new InjectionToken('ON_SCROLL_TOKEN');
9
+ class NggOnScrollDirective {
10
+ constructor(elementRef) {
11
+ this.elementRef = elementRef;
12
+ this.onScroll$ = new Subject();
13
+ this.destroy$ = new Subject();
14
+ }
15
+ ngAfterViewInit() {
16
+ if (this.elementRef) {
17
+ fromEvent(this.elementRef?.nativeElement, 'scroll')
18
+ .pipe(takeUntil(this.destroy$), throttle(() => interval(30)))
19
+ .subscribe(() => {
20
+ this.onScroll$.next();
21
+ });
22
+ }
23
+ }
24
+ ngOnDestroy() {
25
+ this.destroy$.next(null);
26
+ this.destroy$.complete();
27
+ }
28
+ }
29
+ NggOnScrollDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggOnScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
30
+ NggOnScrollDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggOnScrollDirective, selector: "[nggOnScroll]", providers: [
31
+ {
32
+ provide: ON_SCROLL_TOKEN,
33
+ useFactory: (component) => component?.onScroll$,
34
+ deps: [NggOnScrollDirective],
35
+ },
36
+ ], ngImport: i0 });
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggOnScrollDirective, decorators: [{
38
+ type: Directive,
39
+ args: [{
40
+ selector: '[nggOnScroll]',
41
+ providers: [
42
+ {
43
+ provide: ON_SCROLL_TOKEN,
44
+ useFactory: (component) => component?.onScroll$,
45
+ deps: [NggOnScrollDirective],
46
+ },
47
+ ],
48
+ }]
49
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
50
+
51
+ class NggSharedModule {
52
+ }
53
+ NggSharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
+ NggSharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggSharedModule, declarations: [NggOnScrollDirective], imports: [CommonModule], exports: [NggOnScrollDirective] });
55
+ NggSharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSharedModule, imports: [CommonModule] });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSharedModule, decorators: [{
57
+ type: NgModule,
58
+ args: [{
59
+ declarations: [NggOnScrollDirective],
60
+ imports: [CommonModule],
61
+ exports: [NggOnScrollDirective],
62
+ }]
63
+ }] });
64
+
65
+ class NggCoreElementDirective {
66
+ constructor() {
67
+ this.viewRef = null;
68
+ this.document = inject(DOCUMENT);
69
+ this.renderer = inject(Renderer2);
70
+ this.vcr = inject(ViewContainerRef);
71
+ this.cdr = inject(ChangeDetectorRef);
72
+ this.template = inject((TemplateRef));
73
+ }
74
+ ngOnInit() {
75
+ this.vcr.clear();
76
+ const originalCreateElement = this.renderer.createElement;
77
+ this.renderer.createElement = (name, _namespace) => {
78
+ return this.document.createElement(getScopedTagName(name));
79
+ };
80
+ this.viewRef = this.vcr.createEmbeddedView(this.template);
81
+ this.renderer.createElement = originalCreateElement;
82
+ this.cdr.markForCheck();
83
+ }
84
+ }
85
+ NggCoreElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggCoreElementDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
86
+ NggCoreElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NggCoreElementDirective, selector: "[nggCoreElement]", ngImport: i0 });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggCoreElementDirective, decorators: [{
88
+ type: Directive,
89
+ args: [{
90
+ selector: '[nggCoreElement]',
91
+ }]
92
+ }] });
93
+
94
+ class NggCoreWrapperModule {
95
+ }
96
+ NggCoreWrapperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggCoreWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
97
+ NggCoreWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggCoreWrapperModule, declarations: [NggCoreElementDirective], imports: [CommonModule], exports: [NggCoreElementDirective] });
98
+ NggCoreWrapperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggCoreWrapperModule, imports: [CommonModule] });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggCoreWrapperModule, decorators: [{
100
+ type: NgModule,
101
+ args: [{
102
+ declarations: [NggCoreElementDirective],
103
+ imports: [CommonModule],
104
+ exports: [NggCoreElementDirective],
105
+ }]
106
+ }] });
107
+
108
+ /**
109
+ * Generated bundle index. Do not edit.
110
+ */
111
+
112
+ export { NggCoreElementDirective, NggCoreWrapperModule, NggOnScrollDirective, NggSharedModule, ON_SCROLL_TOKEN };
113
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-shared.mjs","sources":["../../../../libs/angular/src/lib/shared/on-scroll.directive.ts","../../../../libs/angular/src/lib/shared/shared.module.ts","../../../../libs/angular/src/lib/shared/core-element/core-element.directive.ts","../../../../libs/angular/src/lib/shared/core-element/core-element.module.ts","../../../../libs/angular/src/lib/shared/sebgroup-green-angular-src-lib-shared.ts"],"sourcesContent":["import {\n AfterViewInit,\n Directive,\n ElementRef,\n InjectionToken,\n OnDestroy,\n} from '@angular/core'\nimport { Subject, fromEvent, interval } from 'rxjs'\nimport { takeUntil, throttle } from 'rxjs/operators'\n\nexport const ON_SCROLL_TOKEN = new InjectionToken<string>('ON_SCROLL_TOKEN')\n\n@Directive({\n selector: '[nggOnScroll]',\n providers: [\n {\n provide: ON_SCROLL_TOKEN,\n useFactory: (component: NggOnScrollDirective): Subject<unknown> =>\n component?.onScroll$,\n deps: [NggOnScrollDirective],\n },\n ],\n})\nexport class NggOnScrollDirective implements AfterViewInit, OnDestroy {\n onScroll$ = new Subject()\n destroy$ = new Subject()\n\n constructor(private elementRef: ElementRef) {}\n\n public ngAfterViewInit(): void {\n if (this.elementRef) {\n fromEvent(this.elementRef?.nativeElement, 'scroll')\n .pipe(\n takeUntil(this.destroy$),\n throttle(() => interval(30)),\n )\n .subscribe(() => {\n this.onScroll$.next()\n })\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy$.next(null)\n this.destroy$.complete()\n }\n}\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { NggOnScrollDirective } from './on-scroll.directive'\n\n@NgModule({\n declarations: [NggOnScrollDirective],\n imports: [CommonModule],\n exports: [NggOnScrollDirective],\n})\nexport class NggSharedModule {}\n","import { DOCUMENT } from '@angular/common'\nimport {\n ChangeDetectorRef,\n Directive,\n EmbeddedViewRef,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef,\n inject,\n} from '@angular/core'\n\nimport { getScopedTagName } from '@sebgroup/green-core/scoping'\n\n@Directive({\n selector: '[nggCoreElement]',\n})\nexport class NggCoreElementDirective implements OnInit {\n private viewRef: EmbeddedViewRef<any> | null = null\n private readonly document = inject(DOCUMENT)\n private readonly renderer = inject(Renderer2)\n private readonly vcr = inject(ViewContainerRef)\n private readonly cdr = inject(ChangeDetectorRef)\n private readonly template = inject(TemplateRef<any>)\n\n ngOnInit() {\n this.vcr.clear()\n const originalCreateElement = this.renderer.createElement\n\n this.renderer.createElement = (name: string, _namespace: string) => {\n return this.document.createElement(getScopedTagName(name))\n }\n\n this.viewRef = this.vcr.createEmbeddedView(this.template)\n this.renderer.createElement = originalCreateElement\n this.cdr.markForCheck()\n }\n}\n","import { NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\n\nimport { NggCoreElementDirective } from './core-element.directive'\n\n@NgModule({\n declarations: [NggCoreElementDirective],\n imports: [CommonModule],\n exports: [NggCoreElementDirective],\n})\nexport class NggCoreWrapperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,135 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModule } from '@angular/core';
3
+ import * as i2 from '@angular/forms';
4
+ import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
+ import { randomId, sliderColors, getSliderTrackBackground } from '@sebgroup/extract';
6
+ import * as i1 from '@angular/common';
7
+ import { CommonModule } from '@angular/common';
8
+
9
+ class NggSliderComponent {
10
+ constructor() {
11
+ this.name = `${randomId()}-slider`;
12
+ this.min = 0;
13
+ this.max = 100;
14
+ this.step = 1;
15
+ this.label = '';
16
+ this.instruction = '';
17
+ this.placeholder = '';
18
+ this.errorMessage = '';
19
+ this.hasTextbox = false;
20
+ this.unitLabel = 'kr';
21
+ this.disabled = false;
22
+ this.value = 0;
23
+ this.sliderChange = new EventEmitter();
24
+ this.sliderTouch = new EventEmitter();
25
+ this.style = {};
26
+ }
27
+ ngOnInit() {
28
+ this.setTrackBackground();
29
+ }
30
+ ngOnChanges(changes) {
31
+ if (['min', 'max', 'value'].some((x) => Object.prototype.hasOwnProperty.call(changes, x))) {
32
+ this.setTrackBackground();
33
+ }
34
+ }
35
+ onBlur() {
36
+ this.sliderTouch.emit(true);
37
+ this.onTouchedFn && this.onTouchedFn();
38
+ }
39
+ handleChange() {
40
+ this.value = this.value ?? 0;
41
+ this.setTrackBackground();
42
+ this.sliderChange.emit(this.value);
43
+ this.onChangeFn && this.onChangeFn(this.value);
44
+ }
45
+ setTrackBackground() {
46
+ if (this.disabled) {
47
+ this.style.background = sliderColors.disabled;
48
+ return;
49
+ }
50
+ const percent = ((this.value - this.min) / (this.max - this.min)) * 100;
51
+ this.style.background = getSliderTrackBackground(percent);
52
+ }
53
+ /** control value accessor functions */
54
+ writeValue(val) {
55
+ if (this.value !== val) {
56
+ this.value = val ?? 0;
57
+ this.handleChange();
58
+ }
59
+ }
60
+ registerOnChange(fn) {
61
+ this.onChangeFn = fn;
62
+ }
63
+ registerOnTouched(fn) {
64
+ this.onTouchedFn = fn;
65
+ }
66
+ }
67
+ NggSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ NggSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggSliderComponent, selector: "ngg-slider", inputs: { name: "name", min: "min", max: "max", step: "step", label: "label", instruction: "instruction", placeholder: "placeholder", errorMessage: "errorMessage", hasTextbox: "hasTextbox", unitLabel: "unitLabel", disabled: "disabled", value: "value", enterkeyhint: "enterkeyhint" }, outputs: { sliderChange: "sliderChange", sliderTouch: "sliderTouch" }, providers: [
69
+ {
70
+ provide: NG_VALUE_ACCESSOR,
71
+ useExisting: NggSliderComponent,
72
+ multi: true,
73
+ },
74
+ ], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!label\" class=\"gds-slider-label-container\">\n <div>\n <label [attr.for]=\"name\" [attr.id]=\"name + '-label'\">{{ label }}</label>\n <p *ngIf=\"!!instruction\">{{ instruction }}</p>\n </div>\n <ng-container *ngIf=\"hasTextbox\">\n <ng-container *ngIf=\"!!unitLabel\">\n <div class=\"group group-border group-focus\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n <span class=\"form-text\">{{ unitLabel }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!unitLabel\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<input\n type=\"range\"\n [attr.id]=\"name\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"style\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n/>\n\n<p *ngIf=\"!!errorMessage\" class=\"gds-slider-error-info\">\n {{ errorMessage }}\n</p>\n\n<ng-template #inputField>\n <input\n type=\"text\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"value\"\n [class.is-invalid]=\"!!errorMessage\"\n [attr.name]=\"name\"\n [attr.id]=\"name + '-textbox'\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-labelledby]=\"name + '-label'\"\n [attr.enterkeyhint]=\"enterkeyhint\"\n [disabled]=\"disabled\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n />\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSliderComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'ngg-slider', providers: [
78
+ {
79
+ provide: NG_VALUE_ACCESSOR,
80
+ useExisting: NggSliderComponent,
81
+ multi: true,
82
+ },
83
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!!label\" class=\"gds-slider-label-container\">\n <div>\n <label [attr.for]=\"name\" [attr.id]=\"name + '-label'\">{{ label }}</label>\n <p *ngIf=\"!!instruction\">{{ instruction }}</p>\n </div>\n <ng-container *ngIf=\"hasTextbox\">\n <ng-container *ngIf=\"!!unitLabel\">\n <div class=\"group group-border group-focus\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n <span class=\"form-text\">{{ unitLabel }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!unitLabel\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<input\n type=\"range\"\n [attr.id]=\"name\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"style\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n/>\n\n<p *ngIf=\"!!errorMessage\" class=\"gds-slider-error-info\">\n {{ errorMessage }}\n</p>\n\n<ng-template #inputField>\n <input\n type=\"text\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"value\"\n [class.is-invalid]=\"!!errorMessage\"\n [attr.name]=\"name\"\n [attr.id]=\"name + '-textbox'\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-labelledby]=\"name + '-label'\"\n [attr.enterkeyhint]=\"enterkeyhint\"\n [disabled]=\"disabled\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n />\n</ng-template>\n" }]
84
+ }], propDecorators: { name: [{
85
+ type: Input
86
+ }], min: [{
87
+ type: Input
88
+ }], max: [{
89
+ type: Input
90
+ }], step: [{
91
+ type: Input
92
+ }], label: [{
93
+ type: Input
94
+ }], instruction: [{
95
+ type: Input
96
+ }], placeholder: [{
97
+ type: Input
98
+ }], errorMessage: [{
99
+ type: Input
100
+ }], hasTextbox: [{
101
+ type: Input
102
+ }], unitLabel: [{
103
+ type: Input
104
+ }], disabled: [{
105
+ type: Input
106
+ }], value: [{
107
+ type: Input
108
+ }], enterkeyhint: [{
109
+ type: Input
110
+ }], sliderChange: [{
111
+ type: Output
112
+ }], sliderTouch: [{
113
+ type: Output
114
+ }] } });
115
+
116
+ class NggSliderModule {
117
+ }
118
+ NggSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
119
+ NggSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggSliderModule, declarations: [NggSliderComponent], imports: [CommonModule, FormsModule], exports: [NggSliderComponent] });
120
+ NggSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSliderModule, imports: [CommonModule, FormsModule] });
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggSliderModule, decorators: [{
122
+ type: NgModule,
123
+ args: [{
124
+ imports: [CommonModule, FormsModule],
125
+ exports: [NggSliderComponent],
126
+ declarations: [NggSliderComponent],
127
+ }]
128
+ }] });
129
+
130
+ /**
131
+ * Generated bundle index. Do not edit.
132
+ */
133
+
134
+ export { NggSliderComponent, NggSliderModule };
135
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-slider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-slider.mjs","sources":["../../../../libs/angular/src/lib/slider/slider.component.ts","../../../../libs/angular/src/lib/slider/slider.component.html","../../../../libs/angular/src/lib/slider/slider.module.ts","../../../../libs/angular/src/lib/slider/sebgroup-green-angular-src-lib-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core'\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms'\nimport {\n getSliderTrackBackground,\n randomId,\n sliderColors,\n} from '@sebgroup/extract'\n\ninterface SliderStyle {\n background?: string\n}\n\n@Component({\n selector: 'ngg-slider',\n templateUrl: './slider.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggSliderComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggSliderComponent\n implements ControlValueAccessor, OnInit, OnChanges\n{\n @Input() name = `${randomId()}-slider`\n @Input() min = 0\n @Input() max = 100\n @Input() step = 1\n @Input() label = ''\n @Input() instruction = ''\n @Input() placeholder = ''\n @Input() errorMessage = ''\n @Input() hasTextbox = false\n @Input() unitLabel = 'kr'\n @Input() disabled = false\n @Input() value = 0\n @Input() enterkeyhint?:\n | 'enter'\n | 'done'\n | 'go'\n | 'next'\n | 'previous'\n | 'search'\n | 'send'\n\n @Output() sliderChange = new EventEmitter<number>()\n @Output() sliderTouch = new EventEmitter<boolean>()\n\n onChangeFn?: (val: number) => void\n onTouchedFn?: VoidFunction\n style: SliderStyle = {}\n\n ngOnInit(): void {\n this.setTrackBackground()\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n ['min', 'max', 'value'].some((x: string) =>\n Object.prototype.hasOwnProperty.call(changes, x),\n )\n ) {\n this.setTrackBackground()\n }\n }\n\n onBlur(): void {\n this.sliderTouch.emit(true)\n this.onTouchedFn && this.onTouchedFn()\n }\n\n handleChange(): void {\n this.value = this.value ?? 0\n this.setTrackBackground()\n this.sliderChange.emit(this.value)\n this.onChangeFn && this.onChangeFn(this.value)\n }\n\n setTrackBackground(): void {\n if (this.disabled) {\n this.style.background = sliderColors.disabled\n return\n }\n\n const percent = ((this.value - this.min) / (this.max - this.min)) * 100\n this.style.background = getSliderTrackBackground(percent)\n }\n\n /** control value accessor functions */\n writeValue(val: number): void {\n if (this.value !== val) {\n this.value = val ?? 0\n this.handleChange()\n }\n }\n\n registerOnChange(fn: any): void {\n this.onChangeFn = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouchedFn = fn\n }\n}\n","<div *ngIf=\"!!label\" class=\"gds-slider-label-container\">\n <div>\n <label [attr.for]=\"name\" [attr.id]=\"name + '-label'\">{{ label }}</label>\n <p *ngIf=\"!!instruction\">{{ instruction }}</p>\n </div>\n <ng-container *ngIf=\"hasTextbox\">\n <ng-container *ngIf=\"!!unitLabel\">\n <div class=\"group group-border group-focus\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n <span class=\"form-text\">{{ unitLabel }}</span>\n </div>\n </ng-container>\n <ng-container *ngIf=\"!unitLabel\">\n <ng-container *ngTemplateOutlet=\"inputField\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n\n<input\n type=\"range\"\n [attr.id]=\"name\"\n [attr.name]=\"name\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n [attr.step]=\"step\"\n [disabled]=\"disabled\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"style\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n/>\n\n<p *ngIf=\"!!errorMessage\" class=\"gds-slider-error-info\">\n {{ errorMessage }}\n</p>\n\n<ng-template #inputField>\n <input\n type=\"text\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n [(ngModel)]=\"value\"\n [class.is-invalid]=\"!!errorMessage\"\n [attr.name]=\"name\"\n [attr.id]=\"name + '-textbox'\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-labelledby]=\"name + '-label'\"\n [attr.enterkeyhint]=\"enterkeyhint\"\n [disabled]=\"disabled\"\n (blur)=\"onBlur()\"\n (input)=\"handleChange()\"\n />\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\n\nimport { NggSliderComponent } from './slider.component'\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n exports: [NggSliderComponent],\n declarations: [NggSliderComponent],\n})\nexport class NggSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}