@sebgroup/green-angular 3.6.3 → 3.8.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 (206) 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/modal/modal.component.mjs +16 -9
  8. package/esm2020/lib/shared/index.mjs +2 -1
  9. package/esm2020/src/lib/accordion/accordion-list-item.component.mjs +47 -0
  10. package/esm2020/src/lib/accordion/accordion.component.mjs +72 -0
  11. package/esm2020/src/lib/accordion/accordion.module.mjs +19 -0
  12. package/esm2020/src/lib/accordion/index.mjs +4 -0
  13. package/esm2020/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
  14. package/esm2020/src/lib/badge/badge.component.mjs +80 -0
  15. package/esm2020/src/lib/badge/badge.module.mjs +18 -0
  16. package/esm2020/src/lib/badge/index.mjs +3 -0
  17. package/esm2020/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
  18. package/esm2020/src/lib/button/button.component.mjs +28 -0
  19. package/esm2020/src/lib/button/button.module.mjs +18 -0
  20. package/esm2020/src/lib/button/index.mjs +3 -0
  21. package/esm2020/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
  22. package/esm2020/src/lib/cell-table/cell-table-item.component.mjs +91 -0
  23. package/esm2020/src/lib/cell-table/cell-table.component.mjs +97 -0
  24. package/esm2020/src/lib/cell-table/cell-table.module.mjs +26 -0
  25. package/esm2020/src/lib/cell-table/cell-table.types.mjs +7 -0
  26. package/esm2020/src/lib/cell-table/cell-underline.directive.mjs +55 -0
  27. package/esm2020/src/lib/cell-table/index.mjs +4 -0
  28. package/esm2020/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
  29. package/esm2020/src/lib/context-menu/context-menu.component.mjs +80 -0
  30. package/esm2020/src/lib/context-menu/context-menu.module.mjs +20 -0
  31. package/esm2020/src/lib/context-menu/index.mjs +3 -0
  32. package/esm2020/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
  33. package/esm2020/src/lib/datepicker/datepicker.component.mjs +138 -0
  34. package/esm2020/src/lib/datepicker/datepicker.module.mjs +20 -0
  35. package/esm2020/src/lib/datepicker/index.mjs +3 -0
  36. package/esm2020/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
  37. package/esm2020/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
  38. package/esm2020/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
  39. package/esm2020/src/lib/dropdown/dropdown.component.mjs +212 -0
  40. package/esm2020/src/lib/dropdown/dropdown.module.mjs +34 -0
  41. package/esm2020/src/lib/dropdown/index.mjs +5 -0
  42. package/esm2020/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
  43. package/esm2020/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +50 -0
  44. package/esm2020/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  45. package/esm2020/src/lib/in-page-wizard/index.mjs +3 -0
  46. package/esm2020/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
  47. package/esm2020/src/lib/modal/index.mjs +5 -0
  48. package/esm2020/src/lib/modal/modal-footer.directive.mjs +16 -0
  49. package/esm2020/src/lib/modal/modal-header.directive.mjs +16 -0
  50. package/esm2020/src/lib/modal/modal.component.mjs +258 -0
  51. package/esm2020/src/lib/modal/modal.module.mjs +41 -0
  52. package/esm2020/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
  53. package/esm2020/src/lib/pagination/index.mjs +3 -0
  54. package/esm2020/src/lib/pagination/pagination.component.mjs +175 -0
  55. package/esm2020/src/lib/pagination/pagination.module.mjs +18 -0
  56. package/esm2020/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
  57. package/esm2020/src/lib/progress-circle/index.mjs +3 -0
  58. package/esm2020/src/lib/progress-circle/progress-circle.component.mjs +41 -0
  59. package/esm2020/src/lib/progress-circle/progress-circle.module.mjs +18 -0
  60. package/esm2020/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
  61. package/esm2020/src/lib/segmented-control/index.mjs +3 -0
  62. package/esm2020/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
  63. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +35 -0
  64. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +19 -0
  65. package/esm2020/src/lib/shared/core-element/core-element.directive.mjs +33 -0
  66. package/esm2020/src/lib/shared/core-element/core-element.module.mjs +18 -0
  67. package/esm2020/src/lib/shared/core-element/index.mjs +3 -0
  68. package/esm2020/src/lib/shared/index.mjs +4 -0
  69. package/esm2020/src/lib/shared/on-scroll.directive.mjs +47 -0
  70. package/esm2020/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
  71. package/esm2020/src/lib/shared/shared.module.mjs +18 -0
  72. package/esm2020/src/lib/slider/index.mjs +3 -0
  73. package/esm2020/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
  74. package/esm2020/src/lib/slider/slider.component.mjs +113 -0
  75. package/esm2020/src/lib/slider/slider.module.mjs +19 -0
  76. package/esm2020/src/lib/sortable-list/index.mjs +3 -0
  77. package/esm2020/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
  78. package/esm2020/src/lib/sortable-list/sortable-list.component.mjs +181 -0
  79. package/esm2020/src/lib/sortable-list/sortable-list.module.mjs +20 -0
  80. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +140 -0
  81. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  82. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  83. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  84. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +50 -0
  85. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  86. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +272 -0
  87. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  88. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  89. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  90. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +166 -0
  91. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  92. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +266 -0
  93. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  94. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  95. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  96. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +328 -0
  97. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  98. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  99. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  100. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  101. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  102. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  103. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  104. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +114 -0
  105. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  106. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +136 -0
  107. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  108. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  109. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  110. package/fesm2015/sebgroup-green-angular.mjs +96 -85
  111. package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
  112. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs +138 -0
  113. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  114. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  115. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  116. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs +50 -0
  117. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  118. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
  119. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  120. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  121. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  122. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
  123. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  124. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs +274 -0
  125. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  126. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  127. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  128. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs +326 -0
  129. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  130. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  131. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  132. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  133. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  134. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  135. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  136. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs +113 -0
  137. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  138. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs +135 -0
  139. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  140. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  141. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  142. package/fesm2020/sebgroup-green-angular.mjs +96 -85
  143. package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
  144. package/lib/context-menu/context-menu.component.d.ts +1 -1
  145. package/lib/context-menu/context-menu.module.d.ts +1 -1
  146. package/lib/datepicker/datepicker.module.d.ts +2 -3
  147. package/lib/dropdown/dropdown.module.d.ts +1 -1
  148. package/lib/modal/modal.component.d.ts +2 -1
  149. package/lib/shared/index.d.ts +1 -0
  150. package/package.json +125 -4
  151. package/src/lib/accordion/accordion-list-item.component.d.ts +15 -0
  152. package/src/lib/accordion/accordion.component.d.ts +16 -0
  153. package/src/lib/accordion/accordion.module.d.ts +9 -0
  154. package/src/lib/accordion/index.d.ts +3 -0
  155. package/src/lib/badge/badge.component.d.ts +25 -0
  156. package/src/lib/badge/badge.module.d.ts +8 -0
  157. package/src/lib/badge/index.d.ts +2 -0
  158. package/src/lib/button/button.component.d.ts +9 -0
  159. package/src/lib/button/button.module.d.ts +8 -0
  160. package/src/lib/button/index.d.ts +2 -0
  161. package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
  162. package/src/lib/cell-table/cell-table.component.d.ts +44 -0
  163. package/src/lib/cell-table/cell-table.module.d.ts +10 -0
  164. package/src/lib/cell-table/cell-table.types.d.ts +34 -0
  165. package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
  166. package/src/lib/cell-table/index.d.ts +3 -0
  167. package/src/lib/context-menu/context-menu.component.d.ts +49 -0
  168. package/src/lib/context-menu/context-menu.module.d.ts +9 -0
  169. package/src/lib/context-menu/index.d.ts +2 -0
  170. package/src/lib/datepicker/datepicker.component.d.ts +66 -0
  171. package/src/lib/datepicker/datepicker.module.d.ts +9 -0
  172. package/src/lib/datepicker/index.d.ts +2 -0
  173. package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  174. package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  175. package/src/lib/dropdown/dropdown.component.d.ts +79 -0
  176. package/src/lib/dropdown/dropdown.module.d.ts +11 -0
  177. package/src/lib/dropdown/index.d.ts +4 -0
  178. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +17 -0
  179. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  180. package/src/lib/in-page-wizard/index.d.ts +2 -0
  181. package/src/lib/modal/index.d.ts +4 -0
  182. package/src/lib/modal/modal-footer.directive.d.ts +8 -0
  183. package/src/lib/modal/modal-header.directive.d.ts +8 -0
  184. package/src/lib/modal/modal.component.d.ts +66 -0
  185. package/src/lib/modal/modal.module.d.ts +11 -0
  186. package/src/lib/pagination/index.d.ts +2 -0
  187. package/src/lib/pagination/pagination.component.d.ts +42 -0
  188. package/src/lib/pagination/pagination.module.d.ts +8 -0
  189. package/src/lib/progress-circle/index.d.ts +2 -0
  190. package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
  191. package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
  192. package/src/lib/segmented-control/index.d.ts +2 -0
  193. package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
  194. package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
  195. package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
  196. package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
  197. package/src/lib/shared/core-element/index.d.ts +2 -0
  198. package/src/lib/shared/index.d.ts +3 -0
  199. package/src/lib/shared/on-scroll.directive.d.ts +14 -0
  200. package/src/lib/shared/shared.module.d.ts +8 -0
  201. package/src/lib/slider/index.d.ts +2 -0
  202. package/src/lib/slider/slider.component.d.ts +38 -0
  203. package/src/lib/slider/slider.module.d.ts +9 -0
  204. package/src/lib/sortable-list/index.d.ts +2 -0
  205. package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
  206. package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-cell-table.mjs","sources":["../../../../libs/angular/src/lib/cell-table/cell-underline.directive.ts","../../../../libs/angular/src/lib/cell-table/cell-table-item.component.ts","../../../../libs/angular/src/lib/cell-table/cell-table.component.ts","../../../../libs/angular/src/lib/cell-table/cell-table.component.html","../../../../libs/angular/src/lib/cell-table/cell-table.module.ts","../../../../libs/angular/src/lib/cell-table/cell-table.types.ts","../../../../libs/angular/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Input,\n SimpleChanges,\n OnChanges,\n OnInit,\n} from '@angular/core'\n\n@Directive({\n selector: '[nggSlidingUnderline]',\n})\nexport class SlidingUnderlineDirective implements OnInit, OnChanges {\n constructor(private element: ElementRef<HTMLElement>) {}\n\n @Input() public nggSlidingUnderline: any\n @Input() public key?: any\n @Input() public disabled?: boolean\n\n ngOnInit(): void {\n if (this.element?.nativeElement) {\n this.element.nativeElement.classList.add('slider')\n\n this.element.nativeElement.addEventListener('animationend', () => {\n this.element.nativeElement.classList.remove(\n 'left',\n 'slider-positive',\n 'slider-negative',\n )\n })\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.disabled) {\n if (\n changes.slidingUnderline &&\n changes.key &&\n !changes.slidingUnderline.isFirstChange() &&\n !changes?.key?.isFirstChange()\n ) {\n if (changes.key.currentValue === changes.key.previousValue) {\n this.addAnimation(\n changes.slidingUnderline.currentValue,\n changes.slidingUnderline.previousValue,\n )\n }\n } else {\n if (\n changes.slidingUnderline &&\n !changes.slidingUnderline.isFirstChange()\n ) {\n this.addAnimation(\n changes.slidingUnderline.currentValue,\n changes.slidingUnderline.previousValue,\n )\n }\n }\n }\n }\n\n addAnimation(current: any, previous: any) {\n if (current > previous)\n this.element.nativeElement.classList.add('slider-positive')\n else this.element.nativeElement.classList.add('slider-negative')\n this.element.nativeElement.classList.add('left')\n }\n}\n","import { Component, Input } from '@angular/core'\nimport { TableHeaderListValueType } from './cell-table.types'\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser'\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[nggCellTableItem]',\n template: `\n <ng-container [ngSwitch]=\"valueType\">\n <span *ngSwitchCase=\"'string'\">{{ row || '–' }}</span>\n <span *ngSwitchCase=\"'number'\">{{ (row | number) || '–' }}</span>\n <span *ngSwitchCase=\"'datetime'\">{{\n (row | date: 'HH:mm:ss') || '–'\n }}</span>\n <span *ngSwitchCase=\"'date'\">{{\n (row | date: 'YYYY-MM-dd') || '–'\n }}</span>\n <span\n *ngSwitchCase=\"'custom-html'\"\n [innerHtml]=\"transformHTML(row) || '–'\"\n ></span>\n <span *ngSwitchCase=\"'sign'\" [ngClass]=\"getSignColor(row)\">{{\n row || '–'\n }}</span>\n <span *ngSwitchCase=\"'pct'\">{{ row || '–' }}</span>\n <span *ngSwitchCase=\"'streamSign'\" [nggSlidingUnderline]=\"row\">{{\n row || '–'\n }}</span>\n <span *ngSwitchDefault>–</span>\n </ng-container>\n `,\n})\nexport class CellTableItemComponent {\n @Input() row: any\n @Input() valueType: TableHeaderListValueType = 'string'\n @Input() id = ''\n\n constructor(private sanitizer: DomSanitizer) {}\n\n getSignColor = (value: string | number) => {\n if (/[−-]/.test(String(value))) return 'text-danger'\n else if (/[1-9]/.test(String(value))) return 'text-success'\n return ''\n }\n\n transformHTML(value: string): SafeHtml {\n if (value && value.length) {\n return this.sanitizer.bypassSecurityTrustHtml(value)\n } else {\n return ''\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core'\nimport {\n TableHeaderListItem,\n TableHeaderListValueType,\n TableRow,\n} from './cell-table.types'\n\n@Component({\n selector: 'ngg-cell-table',\n templateUrl: './cell-table.component.html',\n styleUrls: ['./cell-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggCellTableComponent {\n @ViewChildren('items') items: QueryList<ElementRef> =\n new QueryList<ElementRef>()\n\n /** Cell min-width to force same width on small screens */\n @Input() minWidth?: number\n\n /** Make the most left element wrap */\n @Input() overflowReverse = false\n\n /** Element class name */\n @Input() className?: string\n\n /** List of table headers */\n @Input() headerList: TableHeaderListItem[] = []\n\n /** List of data */\n @Input() rows: TableRow[] = []\n\n /** Make rows clickable and add arrow to the right */\n @Input() clickableRows = false\n\n /** Label for the chevron of clickable rows */\n @Input() clickLabel = 'View details'\n\n /** Callback when a row is clicked */\n @Output() rowClicked: EventEmitter<TableRow> = new EventEmitter()\n\n // ------------- EVENTS ------------------\n /**\n * handles the logic for when a row is clicked\n * @param {TableRowClickedEvent} value the TableRowClickedEvent\n */\n handleClickRow = (value: TableRow): void => {\n if (this.clickableRows) this.rowClicked.emit(value)\n }\n\n getValueTypeFromMain = (): TableHeaderListValueType => {\n const getMain = this.headerList.find((x) => x.main)\n if (getMain) return getMain.valueType || ''\n return ''\n }\n\n getTableHeaderListValueFromNonMain = (\n header: TableHeaderListItem,\n ): TableHeaderListValueType => {\n if (header.valueType) return header.valueType || ''\n return ''\n }\n\n mainHeader = (row: TableRow) => {\n const getMain = this.headerList.find((x) => x.main)\n if (row && getMain) {\n return {\n value: row[getMain.tableKeySelector],\n valueType: getMain.valueType || 'string',\n tableKeySelector: getMain.tableKeySelector,\n }\n }\n return {\n value: '-',\n valueType: 'string',\n tableKeySelector: '-',\n }\n }\n\n headerNoneMain = (headers: TableHeaderListItem[]) => {\n if (this.overflowReverse) return headers.filter((x) => !x.main).reverse()\n return headers.filter((x) => !x.main)\n }\n\n getTableKeySelector = (row: TableRow) => {\n return this.mainHeader(row).tableKeySelector + row.rowId\n }\n\n // ------- TRACKBY FOR STREAM ------------\n trackByrowId(_: any, b: TableRow) {\n return b.rowId\n }\n KeySelector(_: any, b: TableHeaderListItem) {\n return b.tableKeySelector\n }\n}\n","<div #targetElement role=\"table\" [ngClass]=\"className\">\n <div class=\"cell-table-table d-flex flex-column\">\n <div\n *ngFor=\"let row of rows; trackBy: trackByrowId\"\n (click)=\"handleClickRow(row)\"\n class=\"cell-table--row-wrapper\"\n role=\"rowgroup\"\n [class.is-clickable]=\"clickableRows\"\n >\n <div>\n <div #items [class.overflow-reverse]=\"overflowReverse\">\n <!-- Main header -->\n <div role=\"row\">\n <div\n nggCellTableItem\n [row]=\"mainHeader(row).value\"\n [valueType]=\"getValueTypeFromMain()\"\n [attr.valueType]=\"getValueTypeFromMain()\"\n [attr.id]=\"getTableKeySelector(row)\"\n role=\"rowheader\"\n aria-rowspan=\"3\"\n aria-colspan=\"3\"\n ></div>\n </div>\n <div role=\"row\">\n <div class=\"d-flex\">\n <!-- Sub Header -->\n <div\n nggCellTableItem\n class=\"sub-header py-0 fw-bold\"\n [row]=\"header.label\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n role=\"columnheader\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n\n <div role=\"row\">\n <!-- Sub Values -->\n <div class=\"d-flex\">\n <div\n nggCellTableItem\n class=\"sub-value py-0\"\n [row]=\"row[header.tableKeySelector]\"\n [valueType]=\"getTableHeaderListValueFromNonMain(header)\"\n [attr.valueType]=\"header.valueType\"\n role=\"cell\"\n *ngFor=\"\n let header of headerNoneMain(headerList);\n trackBy: KeySelector\n \"\n ></div>\n </div>\n </div>\n </div>\n </div>\n <div\n *ngIf=\"clickableRows\"\n role=\"row\"\n class=\"d-grid align-items-center ms-4 me-4 cell-table--arrow-container\"\n >\n <div role=\"cell\">\n <div\n role=\"button\"\n [attr.aria-label]=\"clickLabel\"\n tabindex=\"0\"\n [attr.aria-describedby]=\"getTableKeySelector(row)\"\n (keydown.enter)=\"handleClickRow(row)\"\n >\n <svg\n data-prefix=\"far\"\n data-icon=\"chevron-right\"\n class=\"svg-inline--fa fa-chevron-right fa-w-10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M113.3 47.41l183.1 191.1c4.469 4.625 6.688 10.62 6.688 16.59s-2.219 11.97-6.688 16.59l-183.1 191.1c-9.152 9.594-24.34 9.906-33.9 .7187c-9.625-9.125-9.938-24.38-.7187-33.91l168-175.4L78.71 80.6c-9.219-9.5-8.906-24.78 .7187-33.91C88.99 37.5 104.2 37.82 113.3 47.41z\"\n ></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\n\nimport { NggCellTableComponent } from './cell-table.component'\nimport { CellTableItemComponent } from './cell-table-item.component'\nimport { SlidingUnderlineDirective } from './cell-underline.directive'\n\n@NgModule({\n imports: [CommonModule],\n exports: [NggCellTableComponent],\n declarations: [\n NggCellTableComponent,\n CellTableItemComponent,\n SlidingUnderlineDirective,\n ],\n})\nexport class NggCellTableModule {}\n","export default class Table {\n constructor(table: { data: TableRow[]; header: TableHeaderListItem[] }) {\n this.data = table.data\n this.header = table.header\n }\n data: TableRow[]\n header: TableHeaderListItem[]\n}\n\n/** The type of a data the values in a column represent */\nexport type TableHeaderListValueType =\n | 'number'\n | 'string'\n | 'date'\n | 'datetime'\n | 'bool'\n | 'custom-html'\n | 'sign'\n | 'streamSign'\n | ''\n\n/** Table Header List Item Interface */\nexport interface TableHeaderListItem<\n T extends Record<string, unknown> = Record<string, unknown>,\n> {\n /** The label displayed */\n label: string\n /** the key selector corresponding to to the TableList Item which this column is targeting */\n // tableKeySelector: keyof T;\n tableKeySelector: string\n /** the type of value: string, date or number */\n valueType?: TableHeaderListValueType\n\n /** the main field for stacked table */\n main?: boolean\n}\n\nexport interface TableRow {\n [prop: string]: any\n rowId: string | number\n}\n\n/** The information on the currently selected sort: column name, type and asc/desc */\nexport interface SortInfo<\n T extends Record<string, unknown> = { [k: string]: any },\n> {\n /** column name */\n column: keyof T\n /** is ascending (false for descending) */\n isAscending: boolean\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.SlidingUnderlineDirective","i1","i2.CellTableItemComponent"],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, ViewChild, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import '@sebgroup/green-core/components/context-menu/index.js';
4
+ import * as ContextMenuTransStyles from '@sebgroup/green-core/components/context-menu/context-menu.trans.styles.js';
5
+ import * as i1 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import * as i2 from '@sebgroup/green-angular/src/lib/shared';
8
+ import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
9
+
10
+ class NggContextMenuComponent {
11
+ constructor(elementRef) {
12
+ this.elementRef = elementRef;
13
+ /**
14
+ * Placement of the popover relative to the anchor element.
15
+ */
16
+ this.direction = 'ltr';
17
+ /**
18
+ * List of items to be displayed in the context menu.
19
+ */
20
+ this.menuItems = [];
21
+ /**
22
+ * Custom menu item template.
23
+ */
24
+ this.menuItemTemplate = null;
25
+ /**
26
+ * Custom menu trigger template.
27
+ */
28
+ this.menuAnchorTemplate = null;
29
+ /**
30
+ * @deprecated
31
+ * This property no longer has any effect and will be removed in a future version.
32
+ */
33
+ this.closeOnScroll = false;
34
+ /**
35
+ * Emits when a menu item is clicked.
36
+ */
37
+ this.contextMenuItemClicked = new EventEmitter();
38
+ this.isActive = false;
39
+ ContextMenuTransStyles.register();
40
+ }
41
+ get placement() {
42
+ return this.direction === 'ltr' ? 'bottom-start' : 'bottom-end';
43
+ }
44
+ open() {
45
+ if (this.isActive) {
46
+ this.close();
47
+ return;
48
+ }
49
+ this.isActive = true;
50
+ }
51
+ close() {
52
+ this.isActive = false;
53
+ }
54
+ onItemClick(item) {
55
+ this.contextMenuItemClicked.emit(item);
56
+ this.close();
57
+ }
58
+ }
59
+ NggContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
60
+ NggContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggContextMenuComponent, selector: "ngg-context-menu", inputs: { direction: "direction", menuItems: "menuItems", menuItemTemplate: "menuItemTemplate", menuAnchorTemplate: "menuAnchorTemplate", closeOnScroll: "closeOnScroll" }, outputs: { contextMenuItemClicked: "contextMenuItemClicked" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["contextMenuPopover"], descendants: true }, { propertyName: "anchor", first: true, predicate: ["contextMenuAnchor"], descendants: true }], ngImport: i0, template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }] });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'ngg-context-menu', template: "<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n" }]
64
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { direction: [{
65
+ type: Input
66
+ }], menuItems: [{
67
+ type: Input
68
+ }], menuItemTemplate: [{
69
+ type: Input
70
+ }], menuAnchorTemplate: [{
71
+ type: Input
72
+ }], closeOnScroll: [{
73
+ type: Input
74
+ }], contextMenuItemClicked: [{
75
+ type: Output
76
+ }], popover: [{
77
+ type: ViewChild,
78
+ args: ['contextMenuPopover']
79
+ }], anchor: [{
80
+ type: ViewChild,
81
+ args: ['contextMenuAnchor']
82
+ }] } });
83
+
84
+ class NggContextMenuModule {
85
+ }
86
+ NggContextMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
87
+ NggContextMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, declarations: [NggContextMenuComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggContextMenuComponent] });
88
+ NggContextMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, imports: [CommonModule, NggCoreWrapperModule] });
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggContextMenuModule, decorators: [{
90
+ type: NgModule,
91
+ args: [{
92
+ declarations: [NggContextMenuComponent],
93
+ imports: [CommonModule, NggCoreWrapperModule],
94
+ exports: [NggContextMenuComponent],
95
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
96
+ }]
97
+ }] });
98
+
99
+ /**
100
+ * Generated bundle index. Do not edit.
101
+ */
102
+
103
+ export { NggContextMenuComponent, NggContextMenuModule };
104
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-context-menu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-context-menu.mjs","sources":["../../../../libs/angular/src/lib/context-menu/context-menu.component.ts","../../../../libs/angular/src/lib/context-menu/context-menu.component.html","../../../../libs/angular/src/lib/context-menu/context-menu.module.ts","../../../../libs/angular/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.ts"],"sourcesContent":["import {\n Input,\n Output,\n Component,\n ViewChild,\n ElementRef,\n EventEmitter,\n TemplateRef,\n} from '@angular/core'\nimport { DropdownOption } from '@sebgroup/green-angular/src/lib/dropdown'\n\n/**\n * MenuItems extends DropDown option and adds the posibility to pass a custom template for just one item.\n */\ninterface MenuItems extends DropdownOption {\n template?: TemplateRef<unknown>\n}\n\nimport '@sebgroup/green-core/components/context-menu/index.js'\nimport * as ContextMenuTransStyles from '@sebgroup/green-core/components/context-menu/context-menu.trans.styles.js'\n\n@Component({\n selector: 'ngg-context-menu',\n templateUrl: './context-menu.component.html',\n})\nexport class NggContextMenuComponent {\n /**\n * Placement of the popover relative to the anchor element.\n */\n @Input() direction: 'ltr' | 'rtl' = 'ltr'\n\n /**\n * List of items to be displayed in the context menu.\n */\n @Input() menuItems: MenuItems[] = []\n\n /**\n * Custom menu item template.\n */\n @Input() menuItemTemplate: TemplateRef<unknown> | null = null\n\n /**\n * Custom menu trigger template.\n */\n @Input() menuAnchorTemplate: TemplateRef<unknown> | null = null\n\n /**\n * @deprecated\n * This property no longer has any effect and will be removed in a future version.\n */\n @Input() closeOnScroll = false\n\n /**\n * Emits when a menu item is clicked.\n */\n @Output() contextMenuItemClicked: EventEmitter<DropdownOption> =\n new EventEmitter<DropdownOption>()\n\n @ViewChild('contextMenuPopover') popover!: ElementRef<HTMLElement>\n @ViewChild('contextMenuAnchor') anchor!: ElementRef<HTMLElement>\n\n isActive = false\n\n constructor(private elementRef: ElementRef<HTMLElement>) {\n ContextMenuTransStyles.register()\n }\n\n get placement(): string {\n return this.direction === 'ltr' ? 'bottom-start' : 'bottom-end'\n }\n\n open(): void {\n if (this.isActive) {\n this.close()\n return\n }\n\n this.isActive = true\n }\n\n close(): void {\n this.isActive = false\n }\n\n onItemClick(item: DropdownOption): void {\n this.contextMenuItemClicked.emit(item)\n this.close()\n }\n}\n","<gds-context-menu\n *nggCoreElement\n data-testid=\"context-menu\"\n [placement]=\"placement\"\n [open]=\"isActive\"\n>\n <div style=\"display: contents\" slot=\"trigger\">\n <ng-container\n [ngTemplateOutlet]=\"menuAnchorTemplate ?? defaultButtonTemplate\"\n >\n </ng-container>\n </div>\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <gds-menu-item *nggCoreElement (click)=\"onItemClick(menuItem)\">\n <ng-container\n [ngTemplateOutlet]=\"menuItemTemplate ?? defaultMenuItemTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: menuItem }\"\n >\n </ng-container>\n </gds-menu-item>\n </ng-container>\n</gds-context-menu>\n\n<ng-template #defaultMenuItemTemplate let-menuItem>\n <span>{{ menuItem.label }}</span>\n</ng-template>\n\n<ng-template #defaultButtonTemplate>\n <i class=\"sg-icon sg-icon-ellipsis\">Open context menu</i>\n</ng-template>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\nimport { NggContextMenuComponent } from './context-menu.component'\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\n\n@NgModule({\n declarations: [NggContextMenuComponent],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [NggContextMenuComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,162 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Component, ChangeDetectionStrategy, Input, Output, NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+ import { randomId } from '@sebgroup/extract';
5
+ import { startOfDay, endOfDay } from 'date-fns';
6
+ import '@sebgroup/green-core/components/datepicker/index.js';
7
+ import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js';
8
+ import * as i1 from '@sebgroup/green-angular/src/lib/shared';
9
+ import { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared';
10
+ import { CommonModule } from '@angular/common';
11
+
12
+ class NggDatepickerComponent {
13
+ constructor(_cdr) {
14
+ this._cdr = _cdr;
15
+ this.id = randomId();
16
+ this.isValid = null;
17
+ this.valueChange = new EventEmitter();
18
+ DatepickerTransStyles.register();
19
+ }
20
+ get options() {
21
+ return this._options;
22
+ }
23
+ set options(value) {
24
+ this._options = value;
25
+ }
26
+ get showWeekNumbers() {
27
+ return this.options?.showWeeks ?? false;
28
+ }
29
+ get dateFormat() {
30
+ return this.options?.dateFormat ?? 'y-m-d';
31
+ }
32
+ get value() {
33
+ return this._value;
34
+ }
35
+ set value(newValue) {
36
+ if (typeof newValue === 'string') {
37
+ newValue = new Date(newValue);
38
+ }
39
+ if (newValue !== this._value) {
40
+ this._value = newValue || undefined;
41
+ }
42
+ }
43
+ get min() {
44
+ const minDate = this.options?.minDate;
45
+ return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1);
46
+ }
47
+ get max() {
48
+ const maxDate = this.options?.maxDate;
49
+ return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1);
50
+ }
51
+ writeValue(value) {
52
+ this.value = value;
53
+ this._cdr.detectChanges();
54
+ }
55
+ registerOnChange(fn) {
56
+ this.onChangeFn = fn;
57
+ }
58
+ registerOnTouched(fn) {
59
+ this.onTouchedFn = fn;
60
+ }
61
+ onDateChange(evt) {
62
+ const e = evt;
63
+ this.value = e.detail.value;
64
+ this.valueChange.emit(e.detail.value);
65
+ this.onChangeFn && this.onChangeFn(e.detail.value);
66
+ }
67
+ ngAfterViewInit() {
68
+ this._cdr.detectChanges();
69
+ }
70
+ }
71
+ NggDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
72
+ NggDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggDatepickerComponent, selector: "ngg-datepicker", inputs: { size: "size", hideLabel: "hideLabel", disabledWeekends: "disabledWeekends", disabledDates: "disabledDates", options: "options", value: "value", id: "id", label: "label", isValid: "isValid" }, outputs: { valueChange: "valueChange" }, providers: [
73
+ {
74
+ provide: NG_VALUE_ACCESSOR,
75
+ useExisting: NggDatepickerComponent,
76
+ multi: true,
77
+ },
78
+ ], ngImport: i0, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerComponent, decorators: [{
80
+ type: Component,
81
+ args: [{ selector: 'ngg-datepicker', providers: [
82
+ {
83
+ provide: NG_VALUE_ACCESSOR,
84
+ useExisting: NggDatepickerComponent,
85
+ multi: true,
86
+ },
87
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n" }]
88
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
89
+ type: Input
90
+ }], hideLabel: [{
91
+ type: Input
92
+ }], disabledWeekends: [{
93
+ type: Input
94
+ }], disabledDates: [{
95
+ type: Input
96
+ }], options: [{
97
+ type: Input
98
+ }], value: [{
99
+ type: Input
100
+ }], id: [{
101
+ type: Input
102
+ }], label: [{
103
+ type: Input
104
+ }], isValid: [{
105
+ type: Input
106
+ }], valueChange: [{
107
+ type: Output
108
+ }] } });
109
+ function dateValidator(dates) {
110
+ return (control) => {
111
+ const value = control.value;
112
+ if (!value) {
113
+ return null;
114
+ }
115
+ const newDate = new Date(value);
116
+ const isValidDate = !isNaN(newDate.getTime());
117
+ if (!isValidDate) {
118
+ return { validDate: true };
119
+ }
120
+ const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true;
121
+ const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true;
122
+ if (!validMinDate && dates?.min) {
123
+ return {
124
+ validDate: {
125
+ minDate: startOfDay(dates.min),
126
+ actualDate: newDate,
127
+ },
128
+ };
129
+ }
130
+ if (!validMaxDate && dates?.max) {
131
+ return {
132
+ validDate: {
133
+ maxDate: endOfDay(dates.max),
134
+ actualDate: newDate,
135
+ },
136
+ };
137
+ }
138
+ return null;
139
+ };
140
+ }
141
+
142
+ class NggDatepickerModule {
143
+ }
144
+ NggDatepickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
145
+ NggDatepickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, declarations: [NggDatepickerComponent], imports: [CommonModule, NggCoreWrapperModule], exports: [NggDatepickerComponent] });
146
+ NggDatepickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, imports: [CommonModule, NggCoreWrapperModule] });
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerModule, decorators: [{
148
+ type: NgModule,
149
+ args: [{
150
+ declarations: [NggDatepickerComponent],
151
+ imports: [CommonModule, NggCoreWrapperModule],
152
+ exports: [NggDatepickerComponent],
153
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
154
+ }]
155
+ }] });
156
+
157
+ /**
158
+ * Generated bundle index. Do not edit.
159
+ */
160
+
161
+ export { NggDatepickerComponent, NggDatepickerModule, dateValidator };
162
+ //# sourceMappingURL=sebgroup-green-angular-src-lib-datepicker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sebgroup-green-angular-src-lib-datepicker.mjs","sources":["../../../../libs/angular/src/lib/datepicker/datepicker.component.ts","../../../../libs/angular/src/lib/datepicker/datepicker.component.html","../../../../libs/angular/src/lib/datepicker/datepicker.module.ts","../../../../libs/angular/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n} from '@angular/core'\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n ValidatorFn,\n} from '@angular/forms'\nimport { randomId } from '@sebgroup/extract'\nimport { endOfDay, startOfDay } from 'date-fns'\n\nimport '@sebgroup/green-core/components/datepicker/index.js'\nimport * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js'\n\nexport interface Attributes {\n id?: string\n role?: string\n style?: CSSStyleDeclaration\n tabIndex?: number\n}\n\nexport interface ElementProps {\n attributes: Attributes\n classes: string[]\n}\n\nexport interface DatepickerOptions {\n label?: string\n locale?: string\n currentDate?: Date | string\n selectedDate?: Date | string\n closeOnSelect?: boolean\n useCurrentTime?: boolean\n weekName?: { abbr: string; displayText: string }\n showWeeks?: boolean\n minDate?: Date\n maxDate?: Date\n dateFormat?: string\n onChange?: (selectedDate: Date) => void\n}\n\n@Component({\n selector: 'ngg-datepicker',\n templateUrl: 'datepicker.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: NggDatepickerComponent,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NggDatepickerComponent\n implements ControlValueAccessor, AfterViewInit\n{\n @Input() size?: 'small' | 'medium'\n @Input() hideLabel?: boolean\n @Input() disabledWeekends?: boolean\n @Input() disabledDates?: Date[]\n\n @Input()\n get options(): DatepickerOptions {\n return <DatepickerOptions>this._options\n }\n set options(value: DatepickerOptions) {\n this._options = value\n }\n\n get showWeekNumbers(): boolean {\n return this.options?.showWeeks ?? false\n }\n\n get dateFormat(): string {\n return this.options?.dateFormat ?? 'y-m-d'\n }\n\n @Input()\n get value(): string | Date | undefined {\n return this._value\n }\n set value(newValue: string | Date | undefined) {\n if (typeof newValue === 'string') {\n newValue = new Date(newValue)\n }\n if (newValue !== this._value) {\n this._value = newValue || undefined\n }\n }\n\n @Input() id?: string = randomId()\n @Input() label?: string\n @Input() isValid: boolean | null = null\n @Output() readonly valueChange: EventEmitter<any> = new EventEmitter<any>()\n\n onChangeFn?: (value: any) => void\n onTouchedFn?: any\n\n _value: Date | undefined\n private _options?: DatepickerOptions\n\n get min(): Date | undefined {\n const minDate = this.options?.minDate\n return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1)\n }\n\n get max(): Date | undefined {\n const maxDate = this.options?.maxDate\n return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1)\n }\n\n constructor(private _cdr: ChangeDetectorRef) {\n DatepickerTransStyles.register()\n }\n\n writeValue(value: any): void {\n this.value = value\n this._cdr.detectChanges()\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 onDateChange(evt: Event) {\n const e = evt as CustomEvent\n\n this.value = e.detail.value\n\n this.valueChange.emit(e.detail.value)\n this.onChangeFn && this.onChangeFn(e.detail.value)\n }\n\n ngAfterViewInit(): void {\n this._cdr.detectChanges()\n }\n}\n\nexport function dateValidator(dates?: { min?: Date; max?: Date }): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const value = control.value\n if (!value) {\n return null\n }\n const newDate = new Date(value)\n const isValidDate = !isNaN(newDate.getTime())\n if (!isValidDate) {\n return { validDate: true }\n }\n\n const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true\n const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true\n\n if (!validMinDate && dates?.min) {\n return {\n validDate: {\n minDate: startOfDay(dates.min),\n actualDate: newDate,\n },\n }\n }\n if (!validMaxDate && dates?.max) {\n return {\n validDate: {\n maxDate: endOfDay(dates.max),\n actualDate: newDate,\n },\n }\n }\n\n return null\n }\n}\n","<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\nimport { CommonModule } from '@angular/common'\nimport { NggDatepickerComponent } from './datepicker.component'\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\n\n@NgModule({\n declarations: [NggDatepickerComponent],\n imports: [CommonModule, NggCoreWrapperModule],\n exports: [NggDatepickerComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggDatepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}