@ngbase/adk 0.1.1 → 0.1.2

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 (152) hide show
  1. package/accordion/accordion-item.d.ts +4 -0
  2. package/accordion/public-api.d.ts +1 -1
  3. package/autocomplete/autocomplete.d.ts +2 -2
  4. package/avatar/avatar.d.ts +1 -1
  5. package/breadcrumb/breadcrumb.d.ts +2 -3
  6. package/breadcrumb/public-api.d.ts +1 -1
  7. package/carousel/carousel.d.ts +1 -1
  8. package/chip/chip.d.ts +2 -2
  9. package/datepicker/calendar.d.ts +3 -3
  10. package/datepicker/datepicker.d.ts +2 -2
  11. package/datepicker/time.d.ts +2 -2
  12. package/dialog/dialog.d.ts +1 -1
  13. package/fesm2022/ngbase-adk-accordion.mjs +4 -1
  14. package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
  15. package/fesm2022/ngbase-adk-autocomplete.mjs +7 -36
  16. package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
  17. package/fesm2022/ngbase-adk-avatar.mjs +2 -2
  18. package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
  19. package/fesm2022/ngbase-adk-breadcrumb.mjs +2 -2
  20. package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
  21. package/fesm2022/ngbase-adk-carousel.mjs +2 -2
  22. package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
  23. package/fesm2022/ngbase-adk-chip.mjs +4 -2
  24. package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
  25. package/fesm2022/ngbase-adk-datepicker.mjs +114 -328
  26. package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
  27. package/fesm2022/ngbase-adk-dialog.mjs +12 -13
  28. package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
  29. package/fesm2022/ngbase-adk-form-field.mjs +2 -156
  30. package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
  31. package/fesm2022/ngbase-adk-menu.mjs +15 -30
  32. package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
  33. package/fesm2022/ngbase-adk-otp.mjs +164 -0
  34. package/fesm2022/ngbase-adk-otp.mjs.map +1 -0
  35. package/fesm2022/ngbase-adk-pagination.mjs +8 -65
  36. package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
  37. package/fesm2022/ngbase-adk-popover.mjs +423 -548
  38. package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
  39. package/fesm2022/ngbase-adk-portal.mjs +0 -1
  40. package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
  41. package/fesm2022/ngbase-adk-radio.mjs +2 -16
  42. package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
  43. package/fesm2022/ngbase-adk-resizable.mjs +10 -43
  44. package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
  45. package/fesm2022/ngbase-adk-select.mjs +67 -173
  46. package/fesm2022/ngbase-adk-select.mjs.map +1 -1
  47. package/fesm2022/ngbase-adk-sheet.mjs +95 -0
  48. package/fesm2022/ngbase-adk-sheet.mjs.map +1 -0
  49. package/fesm2022/ngbase-adk-sidenav.mjs +2 -2
  50. package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
  51. package/fesm2022/ngbase-adk-slider.mjs +9 -23
  52. package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
  53. package/fesm2022/ngbase-adk-sonner.mjs +13 -63
  54. package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
  55. package/fesm2022/ngbase-adk-stepper.mjs +16 -114
  56. package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
  57. package/fesm2022/ngbase-adk-switch.mjs +2 -2
  58. package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
  59. package/fesm2022/ngbase-adk-table.mjs +10 -30
  60. package/fesm2022/ngbase-adk-table.mjs.map +1 -1
  61. package/fesm2022/ngbase-adk-tabs.mjs +14 -94
  62. package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
  63. package/fesm2022/ngbase-adk-tooltip.mjs +49 -39
  64. package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
  65. package/fesm2022/ngbase-adk-tour.mjs +1 -1
  66. package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
  67. package/fesm2022/ngbase-adk-tree.mjs +11 -43
  68. package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
  69. package/form-field/public-api.d.ts +0 -1
  70. package/menu/menu-trigger.d.ts +2 -2
  71. package/menu/menu.d.ts +6 -6
  72. package/otp/index.d.ts +5 -0
  73. package/{form-field → otp}/otp.d.ts +1 -1
  74. package/otp/public-api.d.ts +1 -0
  75. package/package.json +25 -17
  76. package/pagination/pagination.d.ts +5 -1
  77. package/popover/popover-arrow.ng.d.ts +34 -0
  78. package/popover/popover.d.ts +12 -3
  79. package/popover/popover.service.d.ts +5 -4
  80. package/popover/public-api.d.ts +1 -0
  81. package/popover/utils.d.ts +32 -48
  82. package/portal/dialog-ref.d.ts +0 -1
  83. package/resizable/resizable-group.d.ts +2 -2
  84. package/resizable/resizable.d.ts +2 -2
  85. package/schematics/components/files/accordion/accordion.ts.template +6 -8
  86. package/schematics/components/files/autocomplete/autocomplete.ts.template +2 -6
  87. package/schematics/components/files/avatar/avatar.ts.template +2 -2
  88. package/schematics/components/files/breadcrumb/breadcrumb.ts.template +5 -5
  89. package/schematics/components/files/carousel/carousel.ts.template +2 -2
  90. package/schematics/components/files/chip/chip.ts.template +2 -2
  91. package/schematics/components/files/datepicker/calendar.ts.template +6 -6
  92. package/schematics/components/files/datepicker/datepicker.ts.template +33 -3
  93. package/schematics/components/files/datepicker/index.ts.template +0 -1
  94. package/schematics/components/files/datepicker/time.ts.template +12 -4
  95. package/schematics/components/files/dialog/dialog.ts.template +8 -8
  96. package/schematics/components/files/form-field/{input.ts.template → form-field.ts.template} +13 -2
  97. package/schematics/components/files/form-field/index.ts.template +1 -2
  98. package/schematics/components/files/form-field/input-style.directive.ts.template +1 -1
  99. package/schematics/components/files/menu/menu.ts.template +3 -3
  100. package/schematics/components/files/otp/index.ts.template +5 -0
  101. package/schematics/components/files/{form-field → otp}/otp.ts.template +3 -3
  102. package/schematics/components/files/pagination/pagination.ts.template +2 -2
  103. package/schematics/components/files/popover/popover.ts.template +7 -30
  104. package/schematics/components/files/radio/radio.ts.template +3 -8
  105. package/schematics/components/files/resizable/resizable.ts.template +7 -7
  106. package/schematics/components/files/select/option.ts.template +1 -0
  107. package/schematics/components/files/select/select.ts.template +8 -8
  108. package/schematics/components/files/sheet/sheet.ts.template +11 -76
  109. package/schematics/components/files/sidenav/sidenav.ts.template +3 -3
  110. package/schematics/components/files/slider/slider.ts.template +3 -10
  111. package/schematics/components/files/sonner/sonner.ts.template +3 -2
  112. package/schematics/components/files/stepper/stepper.ts.template +4 -4
  113. package/schematics/components/files/switch/switch.ts.template +1 -1
  114. package/schematics/components/files/tabs/tab.ts.template +11 -8
  115. package/schematics/components/files/theme/theme.service.ts.template +0 -11
  116. package/schematics/components/files/tooltip/tooltip.ts.template +8 -3
  117. package/schematics/components/files/tour/index.ts.template +0 -2
  118. package/schematics/components/files/tour/tour.ts.template +13 -2
  119. package/schematics/components/files/tree/tree.ts.template +3 -3
  120. package/schematics/components/schema.json +8 -0
  121. package/select/option-group.d.ts +3 -3
  122. package/select/select.d.ts +2 -2
  123. package/sheet/index.d.ts +5 -0
  124. package/sheet/public-api.d.ts +2 -0
  125. package/sheet/sheet.d.ts +26 -0
  126. package/sheet/sheet.service.d.ts +13 -0
  127. package/sidenav/public-api.d.ts +1 -1
  128. package/sidenav/sidenav.d.ts +1 -1
  129. package/slider/public-api.d.ts +1 -1
  130. package/slider/slider.d.ts +5 -5
  131. package/sonner/sonner.d.ts +2 -1
  132. package/stepper/animation.d.ts +1 -1
  133. package/stepper/step.d.ts +1 -1
  134. package/stepper/stepper.d.ts +2 -2
  135. package/switch/switch.d.ts +1 -1
  136. package/table/body-row.d.ts +3 -3
  137. package/table/head-row.d.ts +3 -3
  138. package/table/table.d.ts +1 -1
  139. package/tabs/tab-group.d.ts +4 -4
  140. package/tabs/tab.d.ts +2 -2
  141. package/tooltip/public-api.d.ts +1 -1
  142. package/tooltip/tooltip.d.ts +5 -1
  143. package/tooltip/tooltip.directive.d.ts +1 -1
  144. package/tooltip/tooltip.service.d.ts +4 -2
  145. package/tour/tour.service.d.ts +3 -4
  146. package/tree/public-api.d.ts +2 -2
  147. package/tree/tree-node.d.ts +2 -2
  148. package/tree/tree.d.ts +2 -2
  149. package/schematics/components/files/datepicker/datepicker-trigger.ts.template +0 -27
  150. package/schematics/components/files/theme/theme.component.ts.template +0 -165
  151. package/schematics/components/files/tour/tour-step.ts.template +0 -8
  152. package/schematics/components/files/tour/tour.service.ts.template +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"ngbase-adk-datepicker.mjs","sources":["../../../projects/adk/datepicker/native-date-adapter.ts","../../../projects/adk/datepicker/datepicker-trigger.ts","../../../projects/adk/datepicker/datepicker.ts","../../../projects/adk/datepicker/time.ts","../../../projects/adk/datepicker/calendar.ts","../../../projects/adk/datepicker/ngbase-adk-datepicker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nexport type NgbDateUnits = 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond';\n\nexport interface NgbAdpterInterface<D> {\n now(): D;\n compare(first: D, second: D): number;\n getTime(date: D): number;\n getYear(date: D): number;\n getMonth(date: D): number;\n getDate(date: D): number;\n getDay(date: D): number;\n create(year: number, month?: number, date?: number): D;\n format(date: D, displayFormat: any): string;\n parse(value: D | string, parseFormat?: string): D;\n set(date: D, value: number, unit: NgbDateUnits): D;\n longMonthNames(date: D): string;\n}\n\nexport const NgbDateAdapter = new InjectionToken<NgbAdpterInterface<unknown>>('mat-date-formats');\n\nexport function injectNgbDateAdapter<D>() {\n const adapter = inject(NgbDateAdapter, { optional: true }) as NgbAdpterInterface<D>;\n return adapter || (new NgbNativeDateAdapter() as unknown as NgbAdpterInterface<D>);\n}\n\nexport class NgbNativeDateAdapter implements NgbAdpterInterface<Date> {\n now(): Date {\n return new Date();\n }\n\n create(year: number, month = 0, date = 1): Date {\n return new Date(year, month, date);\n }\n\n compare(first: Date, second: Date): number {\n return first.getTime() - second.getTime();\n }\n\n getTime(date: Date): number {\n return date.getTime();\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDay(date: Date): number {\n return date.getDay();\n }\n\n format(date: Date, format: string): string {\n if (!date) return '';\n const d = new Date(date);\n if (isNaN(d.getTime())) return '';\n\n const formatters: { [key: string]: () => string } = {\n YYYY: () => d.getFullYear().toString(),\n yyyy: () => d.getFullYear().toString(),\n yy: () => d.getFullYear().toString().slice(-2),\n MMM: () => d.toLocaleString('default', { month: 'short' }),\n MM: () => this.pad(d.getMonth() + 1),\n M: () => (d.getMonth() + 1).toString(),\n DD: () => this.pad(d.getDate()),\n dd: () => this.pad(d.getDate()),\n d: () => d.getDate().toString(),\n HH: () => this.pad(d.getHours()),\n H: () => d.getHours().toString(),\n hh: () => this.pad(d.getHours() % 12 || 12),\n h: () => (d.getHours() % 12 || 12).toString(),\n mm: () => this.pad(d.getMinutes()),\n ss: () => this.pad(d.getSeconds()),\n SSS: () => this.pad(d.getMilliseconds(), 3),\n ISO: () => d.toISOString(),\n a: () => (d.getHours() < 12 ? 'AM' : 'PM'),\n };\n\n const regex = /\\b(?:yyyy|YYYY|yy|MMM|MM|M|DD|dd|d|HH|H|hh|h|mm|ss|SSS|a|ISO)\\b/g;\n return format.replace(regex, match => formatters[match]?.() ?? match);\n }\n\n private pad(value: number, length = 2): string {\n return value.toString().padStart(length, '0');\n }\n\n // We have to parse the date string like '2024-10-01T00:00:00.000Z'\n\n parse(value: Date | string, _?: string): Date {\n if (value instanceof Date) return new Date(value.setHours(0, 0, 0, 0));\n if (typeof value !== 'string') return new Date(NaN);\n if (value.includes('T')) {\n return new Date(value);\n }\n\n const parts = value.split(/\\D+/).map(Number);\n if (parts.length !== 3) return new Date(NaN);\n\n const [a, b, c] = parts;\n return a > 31 ? new Date(a, b - 1, c) : new Date(c, b - 1, a);\n }\n\n set(date: Date, value: number, unit: NgbDateUnits): Date {\n const newDate = new Date(date);\n if (unit === 'year') newDate.setFullYear(value);\n else if (unit === 'month') newDate.setMonth(value);\n else if (unit === 'date') newDate.setDate(value);\n else if (unit === 'hour') newDate.setHours(value);\n else if (unit === 'minute') newDate.setMinutes(value);\n else if (unit === 'second') newDate.setSeconds(value);\n else if (unit === 'millisecond') newDate.setMilliseconds(value);\n return newDate;\n }\n\n longMonthNames(date: Date): string {\n return date.toLocaleString('default', { month: 'long' });\n }\n}\n","import {\n Directive,\n ElementRef,\n InjectionToken,\n Injector,\n TemplateRef,\n afterNextRender,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { InputBase } from '@ngbase/adk/form-field';\nimport { ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { NgbDatePicker } from './datepicker';\nimport { injectNgbDateAdapter } from './native-date-adapter';\n\nconst DEFAULT_FIELD_FORMAT = 'ISO';\nconst DEFAULT_FORMAT = 'M/d/yyyy';\nconst DEFAULT_TIME_FORMAT = 'M/d/yyyy, HH:mm a';\n\nconst DatePicker = new InjectionToken<typeof NgbDatePicker>('DatePicker');\n\n@Directive({\n selector: '[ngbDatepickerTrigger]',\n exportAs: 'ngbDatepickerTrigger',\n hostDirectives: [InputBase],\n host: {\n class: 'cursor-pointer hover:bg-muted-background',\n '(click)': 'open()',\n readonly: 'true',\n },\n})\nexport class NgbDatepickerTrigger<D> {\n readonly el = inject(ElementRef);\n readonly inputS = inject(InputBase);\n private readonly injector = inject(Injector);\n readonly adapter = injectNgbDateAdapter<D>();\n readonly popover = ngbPopoverPortal();\n private datepicker =\n inject<typeof NgbDatePicker<D>>(DatePicker, { optional: true }) ?? NgbDatePicker<D>;\n\n // readonly datepicker = input<NgbDatePicker<D>>();\n readonly noOfCalendars = input(1, { transform: (v: number) => Math.max(1, v) });\n readonly range = input(false, { transform: booleanAttribute });\n readonly time = input(false, { transform: booleanAttribute });\n readonly format = input<string>('');\n readonly fieldFormat = input<string>(DEFAULT_FIELD_FORMAT);\n private displayFormat = computed(() => {\n return this.format() || (this.time() ? DEFAULT_TIME_FORMAT : DEFAULT_FORMAT);\n });\n readonly dateFilter = input<(date: D) => boolean>(() => true);\n readonly pickerType = input<'date' | 'month' | 'year'>('date');\n readonly pickerTemplate = input<TemplateRef<any> | null>(null);\n close?: VoidFunction;\n\n constructor() {\n effect(() => {\n const value = this.getInputValue();\n this.updateField(value);\n });\n }\n\n private getInputValue() {\n const v = this.inputS.value() as never;\n let value: string[] = [];\n if (v) {\n value = this.range() ? v : [v];\n }\n return value.map(x => this.adapter.parse(x));\n }\n\n open() {\n const data: DatePickerOptions<D> = {\n value: this.getInputValue(),\n pickerType: this.pickerType(),\n noOfCalendars: this.noOfCalendars(),\n range: this.range(),\n format: this.displayFormat(),\n fieldFormat: this.fieldFormat(),\n target: this.el.nativeElement,\n template: this.pickerTemplate(),\n dateFilter: this.dateFilter(),\n time: this.time(),\n };\n const { diaRef } = this.popover.open(this.datepicker, {\n target: this.el.nativeElement,\n position: 'bl',\n data,\n width: 'none',\n });\n this.close = diaRef.close;\n }\n\n updateInput(dates: (D | null)[]) {\n const filtered = dates.filter(x => x) as D[];\n const formatDate = dates.map(x => (x ? this.adapter.format(x, this.fieldFormat()) : x));\n if (this.range()) {\n if (filtered.length === 1) {\n return;\n }\n this.inputS?.setValue(formatDate);\n } else if (filtered.length) {\n this.inputS?.setValue(formatDate[0]);\n }\n this.updateField(filtered);\n }\n\n updateField(filtered: D[]) {\n // console.log(this.fieldFormat());\n const d = filtered\n .map(x => this.adapter.format(x, this.displayFormat()))\n .filter(x => x)\n .join(' - ');\n afterNextRender(() => (this.el.nativeElement.value = d), { injector: this.injector });\n }\n}\n\nexport interface DatePickerOptions<D> {\n value: D[];\n pickerType: 'date' | 'month' | 'year';\n noOfCalendars: number;\n range: boolean;\n format: string;\n fieldFormat: string;\n target: any;\n template: TemplateRef<any> | null;\n dateFilter: (date: D) => boolean;\n time: boolean;\n}\n\nexport function registerDatePicker<D>(datePicker: typeof NgbDatePicker<D>) {\n return {\n provide: DatePicker,\n useValue: datePicker,\n };\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n input,\n model,\n signal,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { RangePipe, uniqueId } from '@ngbase/adk/utils';\nimport { NgbCalendar } from './calendar';\nimport { DatePickerOptions, NgbDatepickerTrigger } from './datepicker-trigger';\nimport { injectNgbDateAdapter } from './native-date-adapter';\n\n@Directive({\n selector: '[ngbDatepickerGroup]',\n exportAs: 'ngbDatepickerGroup',\n hostDirectives: [AccessibleGroup],\n})\nexport class DatepickerGroup<D> {\n readonly picker = inject(NgbDatePicker<D>);\n readonly allyGroup = inject(AccessibleGroup);\n\n constructor() {\n this.allyGroup._ayId.set(this.picker.ayId);\n this.allyGroup._columns.set(7);\n this.allyGroup._initialFocus.set(false);\n }\n}\n\n@Component({\n selector: '[ngbDatepicker]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgbCalendar, RangePipe, NgTemplateOutlet, AccessibleGroup, DatepickerGroup],\n template: `\n <div class=\"flex\" ngbDatepickerGroup>\n @for (no of noOfCalendar() | range; track no) {\n <ngb-calendar [first]=\"$first\" [last]=\"$last\" [index]=\"$index\" />\n }\n </div>\n @if (template()) {\n <div class=\"px-2 pb-2\">\n <ng-container *ngTemplateOutlet=\"template()\" />\n </div>\n }\n `,\n host: {\n class: 'inline-block',\n },\n})\nexport class NgbDatePicker<D> {\n private datepickerTrigger: NgbDatepickerTrigger<D> | null = inject(NgbDatepickerTrigger, {\n optional: true,\n });\n private dialogRef = inject<DialogRef<DatePickerOptions<D>>>(DialogRef, { optional: true });\n readonly adapter = injectNgbDateAdapter<D>();\n readonly dateFilter = input(this.data?.dateFilter || (() => true));\n readonly pickerType = input<'date' | 'month' | 'year'>(this.data?.pickerType || 'date');\n readonly allyGroup = viewChild(AccessibleGroup);\n\n readonly noOfCalendar = model(this.data?.noOfCalendars || 1);\n readonly range = model<boolean>(this.data?.range || false);\n readonly time = signal<boolean>(this.data?.time || false);\n readonly format = signal<string>(\n this.data?.format || `MM-dd-yyyy${this.data?.time ? ' HH:mm a' : ''}`,\n );\n readonly template = signal<TemplateRef<any> | null>(this.data?.template || null);\n\n readonly showType = signal<'date' | 'month' | 'year'>(this.pickerType());\n readonly selectedDates = signal<[D | null, D | null]>([null, null]);\n readonly times = signal<[string | null, string | null]>([null, null]);\n readonly startDate = computed<D>(() => {\n const dates = this.selectedDates();\n return Array.isArray(dates) && dates[0] ? dates[0] : this.adapter.now();\n });\n readonly startMonth = signal(this.adapter.getMonth(this.startDate()));\n readonly startYear = signal(this.adapter.getYear(this.startDate()));\n\n readonly hoveredDate = signal<D | null>(null);\n readonly hoveredCount = computed(() => {\n const date = this.hoveredDate();\n return date ? this.adapter.getTime(date) : 0;\n });\n\n readonly startDateCount = computed(() => {\n const date = this.selectedDates()[0];\n return date ? this.adapter.getTime(date) : 0;\n });\n\n readonly dates = computed(() => {\n const dates = this.selectedDates();\n\n const v = { year: [] as number[], month: [] as string[], day: [] as string[] };\n for (const x of dates) {\n if (x) {\n const year = this.adapter.getYear(x);\n const month = this.adapter.getMonth(x);\n const day = this.adapter.getDate(x);\n v.year.push(year);\n v.month.push(`${month}-${year}`);\n v.day.push(`${day}-${month}-${year}`);\n }\n }\n return v;\n });\n\n readonly ayId = uniqueId();\n\n constructor() {\n this.init();\n // this.allyGroup.focusChanged.subscribe(item => this.focusChanged(item));\n }\n\n private init() {\n const v = this.data?.value?.filter(x => x).map(x => this.adapter.parse(x));\n if (Array.isArray(v) && v.length) {\n let date: D;\n let dates: [D, D | null];\n if (v.length === 2) {\n dates = v as [D, D];\n this.hoveredDate.set(v[1]);\n } else {\n dates = [v[0], null];\n }\n date = dates[0];\n this.selectedDates.set(dates);\n this.startYear.set(this.adapter.getYear(date));\n this.startMonth.set(this.adapter.getMonth(date));\n }\n }\n\n get data() {\n return this.dialogRef?.data;\n }\n\n // focusChanged(_: { current: AccessibleItem; previous?: AccessibleItem }) {\n // const cData = item.current.data();\n // const pData = item.previous?.data();\n // console.log('focusChanged', cData, pData);\n // console.log(data);\n // if (cData.day) {\n // let add = 0;\n // if (pData) {\n // const v = (cData.day - pData.day) / 7;\n // console.log(Math.abs(1));\n // if (1 === Math.abs(v)) {\n // add = 0;\n // } else if (v > 0) {\n // add = -1;\n // } else {\n // add = 1;\n // }\n // }\n // console.log(add);\n // this.startMonth.set(cData.mon + add);\n // }\n // }\n\n updateHoveredDate(date: D) {\n if (this.range()) {\n const single = this.selectedDates().filter(x => x).length === 1;\n this.hoveredDate.set(single ? date : null);\n }\n }\n\n selectDate(date: D, index?: number) {\n let dates = this.selectedDates();\n if (index != undefined) {\n dates[index] = date;\n } else if (this.range()) {\n if ((dates[0] && dates[1]) || !dates[0] || this.adapter.compare(dates[0], date) > 0) {\n dates = [date, null];\n this.hoveredDate.set(null);\n } else if (dates[0]) {\n dates[1] = date;\n this.hoveredDate.set(date);\n }\n } else {\n dates = [date, null];\n }\n this.selectedDates.set([...dates]);\n this.datepickerTrigger?.updateInput(dates as D[]);\n }\n\n selectYear(year: number) {\n this.startYear.set(year);\n if (this.pickerType() !== 'year') {\n this.showType.set('month');\n } else {\n this.selectDate(this.adapter.create(year, this.startMonth()));\n }\n }\n\n selectMonth(month: number, year: number) {\n this.startMonth.set(month);\n this.startYear.set(year);\n if (this.pickerType() === 'date') {\n this.showType.set('date');\n } else {\n this.selectDate(this.adapter.create(year, month));\n }\n }\n\n toggleView() {\n let type = this.showType();\n if (type === 'date') {\n type = 'month';\n } else if (type === 'month' || this.pickerType() === 'year') {\n type = 'year';\n } else if (this.pickerType() === 'date') {\n type = 'date';\n } else {\n type = 'month';\n }\n this.showType.set(type);\n }\n}\n\nexport function provideDatePicker<D>(picker: typeof NgbDatePicker<D>) {\n return {\n provide: NgbDatePicker,\n useExisting: picker,\n };\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { NumberOnly, padString, provideValueAccessor } from '@ngbase/adk/utils';\n\n@Directive({\n selector: '[ngbTimeInput]',\n hostDirectives: [{ directive: NumberOnly, inputs: ['value'], outputs: ['valueChange'] }],\n host: {\n type: 'tel',\n },\n})\nexport class NgbTimeInput {\n readonly numberOnly = inject(NumberOnly);\n readonly timePicker = inject(NgbTimePicker);\n\n readonly ngbTimeInput = input.required<'hours' | 'minutes' | 'seconds'>();\n\n constructor() {\n this.numberOnly._min.set(0);\n this.numberOnly._len.set(2);\n effect(() => {\n const type = this.ngbTimeInput();\n if (type === 'hours') {\n this.numberOnly._max.set(this.timePicker.is24() ? 23 : 11);\n } else {\n this.numberOnly._max.set(59);\n }\n });\n }\n}\n\n@Component({\n selector: '[ngbTime]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [_provide(NgbTimePicker)],\n imports: [NumberOnly, NgbTimeInput],\n template: `\n <input ngbTimeInput=\"hours\" [(value)]=\"hours\" (valueChange)=\"updateValue()\" />\n <span>:</span>\n <input ngbTimeInput=\"minutes\" [(value)]=\"minutes\" (valueChange)=\"updateValue()\" />\n <span>:</span>\n <input ngbTimeInput=\"seconds\" [(value)]=\"seconds\" (valueChange)=\"updateValue()\" />\n @if (!is24()) {\n <div class=\"ml-1 flex gap-2\">\n <button type=\"button\" class=\"small\" (click)=\"changeAm(true)\">AM</button>\n <button type=\"button\" class=\"small\" (click)=\"changeAm(false)\">PM</button>\n </div>\n }\n `,\n host: {\n class: 'inline-flex gap-1 items-center justify-center',\n },\n})\nexport class NgbTimePicker implements ControlValueAccessor {\n readonly is24 = input(false);\n readonly value = input<string | null | undefined>();\n readonly valueChange = output<string | null | undefined>();\n private time = computed(() => {\n return (\n `${padString(this.hours())}:${padString(this.minutes())}:${padString(this.seconds())}` +\n (!this.is24() ? ` ${this.am() ? 'AM' : 'PM'}` : '')\n );\n });\n readonly hours = signal('00');\n readonly minutes = signal('00');\n readonly seconds = signal('00');\n readonly am = signal(true);\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n constructor() {\n effect(() => {\n const value = this.value();\n untracked(() => {\n this.parseValue(value);\n });\n });\n }\n\n private parseValue(value: string | null | undefined) {\n if (value) {\n const [time, period] = value.split(' ');\n const [hours, minutes, seconds] = time.split(':');\n const am = period === 'AM';\n\n this.hours.set(padString(hours));\n this.minutes.set(padString(minutes));\n this.seconds.set(padString(seconds));\n this.am.set(am);\n }\n }\n\n changeAm(active: boolean) {\n this.am.set(active);\n this.updateValue();\n }\n\n updateValue() {\n this.notify(this.time());\n }\n\n private notify(time: string) {\n this.valueChange.emit(time);\n this.onChange(time);\n this.onTouched();\n }\n\n writeValue(value: string) {\n if (value) {\n this.parseValue(value);\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n\nfunction _provide(picker: typeof NgbTimePicker) {\n return [provideValueAccessor(picker)];\n}\n\nexport function provideTimePicker(picker: typeof NgbTimePicker) {\n return [_provide(picker), { provide: NgbTimePicker, useExisting: picker }];\n}\n","import { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChildren,\n} from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { NgbDatePicker } from './datepicker';\nimport { NgbTimePicker } from './time';\n\n@Directive({\n selector: '[ngbCalendarBtn]',\n host: {\n type: 'button',\n '[class]': '!visible() ? \"invisible\" : \"\"',\n '(click)': 'cal.navigate(ngbCalendarBtn() === \"left\" ? -1 : 1)',\n '[disabled]': 'disabled()',\n '[tabIndex]': 'disabled() ? -1 : 0',\n },\n})\nexport class CalendarBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n\n readonly ngbCalendarBtn = input.required<'left' | 'right'>();\n\n readonly disabled = computed(() => {\n return this.ngbCalendarBtn() === 'left' ? this.cal.leftBtn() : this.cal.rightBtn();\n });\n readonly visible = computed(() => {\n return this.ngbCalendarBtn() === 'left' ? this.cal.first() : this.cal.last();\n });\n}\n\n@Directive({\n selector: '[ngbCalendarTitle]',\n host: {\n type: 'button',\n '(click)': 'cal.toggleView()',\n '[tabIndex]': '0',\n },\n})\nexport class CalendarTitle<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n}\n\n@Directive({\n selector: '[ngbCalYearBtn]',\n exportAs: 'ngbCalYearBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalYearBtn().disabled && cal.selectYear(ngbCalYearBtn().year)',\n },\n})\nexport class CalendarYearBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalYearBtn = input.required<{ year: number; disabled: boolean }>();\n\n readonly active = computed(() => this.ngbCalYearBtn().year === this.cal.cStartYear());\n readonly selected = computed(() => this.cal.todayDay() && this.active());\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalYearBtn());\n });\n }\n}\n\n@Directive({\n selector: '[ngbCalMonthBtn]',\n exportAs: 'ngbCalMonthBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalMonthBtn().disabled && cal.selectMonth(ngbCalMonthBtn())',\n },\n})\nexport class CalendarMonthBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalMonthBtn = input.required<{ name: string; value: number; disabled: boolean }>();\n\n readonly active = computed(() =>\n this.cal.datePicker\n .dates()\n .month.includes(this.ngbCalMonthBtn().value + '-' + this.cal.cStartYear()),\n );\n readonly selected = computed(\n () => this.cal.todayDay() && this.cal.cStartMonth() === this.ngbCalMonthBtn().value,\n );\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalMonthBtn());\n });\n }\n}\n\n@Directive({\n selector: '[ngbCalDayBtn]',\n exportAs: 'ngbCalDayBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalDayBtn().disabled && cal.selectDate(ngbCalDayBtn().day, ngbCalDayBtn().mon)',\n },\n})\nexport class CalendarDayBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalDayBtn = input.required<{\n day: number;\n mon: number;\n disabled: boolean;\n current: boolean;\n count: number;\n }>();\n\n readonly active = computed(() =>\n this.cal.datePicker\n .dates()\n .day.includes(\n this.ngbCalDayBtn().day + '-' + this.ngbCalDayBtn().mon + '-' + this.cal.cStartYear(),\n ),\n );\n readonly dummy = computed(() => !this.ngbCalDayBtn().current || this.ngbCalDayBtn().disabled);\n readonly selected = computed(() => {\n const day = this.ngbCalDayBtn();\n return (\n (day.day === this.cal.todayDay() && day.current) ||\n (day.count <= this.cal.datePicker.hoveredCount() &&\n this.cal.datePicker.startDateCount() &&\n day.count >= this.cal.datePicker.startDateCount())\n );\n });\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalDayBtn());\n this.ally._id.set(this.ngbCalDayBtn().day + '-' + this.ngbCalDayBtn().mon);\n this.ally._skip.set(this.ngbCalDayBtn().disabled);\n });\n }\n}\n\n@Component({\n selector: 'ngb-calendar',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n NgbTimePicker,\n CalendarBtn,\n CalendarTitle,\n CalendarYearBtn,\n CalendarMonthBtn,\n CalendarDayBtn,\n ],\n template: `\n <div class=\"mb-2 flex items-center justify-between\">\n <button ngbCalendarBtn=\"left\">{{ dir.isRtl() ? '>' : '<' }}</button>\n <button ngbCalendarTitle>{{ title() }}</button>\n <button ngbCalendarBtn=\"right\">{{ dir.isRtl() ? '<' : '>' }}</button>\n </div>\n\n @if (datePicker.showType() === 'year') {\n <div class=\"grid grid-cols-3\">\n @for (year of years(); track year.year) {\n <button\n [ngbCalYearBtn]=\"year\"\n #yearBtn=\"ngbCalYearBtn\"\n class=\"items-center justify-center rounded-md py-2 h-9 w-[84px] {{\n year.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'\n }}\"\n [ngClass]=\"{\n 'border bg-muted-background': yearBtn.selected(),\n '!bg-primary text-foreground': yearBtn.active(),\n }\"\n >\n {{ year.year }}\n </button>\n }\n </div>\n } @else if (datePicker.showType() === 'month') {\n <div class=\"grid grid-cols-3\">\n @for (month of months(); track month.value) {\n <button\n [ngbCalMonthBtn]=\"month\"\n #monthBtn=\"ngbCalMonthBtn\"\n class=\"items-center justify-center rounded-md py-2 h-9 w-[84px] {{\n month.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'\n }}\"\n [ngClass]=\"{\n 'border bg-muted-background': monthBtn.selected(),\n '!bg-primary text-foreground': monthBtn.active(),\n }\"\n >\n {{ month.name }}\n </button>\n }\n </div>\n } @else {\n <div class=\"day-names grid grid-cols-7\">\n @for (dayName of dayNames; track dayName) {\n <div class=\"p-1 text-center text-muted\">{{ dayName }}</div>\n }\n </div>\n <div class=\"grid grid-cols-7 gap-y-2\">\n @for (day of getDaysArray(); track day.day + '-' + day.mon) {\n <button\n #days=\"ngbCalDayBtn\"\n [ngbCalDayBtn]=\"day\"\n class=\"mx-auto flex h-9 w-9 items-center justify-center text-center {{\n day.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'\n }}\"\n [ngClass]=\"{\n 'bg-muted-background': days.selected(),\n 'opacity-40': days.dummy(),\n '!bg-primary text-foreground': days.active(),\n }\"\n >\n {{ day.day }}\n </button>\n }\n </div>\n @if (datePicker.time() && datePicker.range()) {\n <div ngbTime [(value)]=\"time1\" (valueChange)=\"timeChanged(0, time1()!)\"></div>\n <div ngbTime [(value)]=\"time2\" (valueChange)=\"timeChanged(1, time2()!)\"></div>\n }\n }\n `,\n})\nexport class NgbCalendar<D> implements OnDestroy {\n readonly dir = inject(Directionality);\n readonly datePicker = inject<NgbDatePicker<D>>(NgbDatePicker);\n readonly days = viewChildren<CalendarDayBtn<D>, ElementRef<HTMLElement>>(CalendarDayBtn, {\n read: ElementRef,\n });\n readonly first = input(false);\n readonly last = input(false);\n readonly index = input(0);\n readonly time1 = signal<string | null>(null);\n readonly time2 = signal<string | null>(null);\n\n readonly cStartMonth = computed(() => {\n const month = this.datePicker.startMonth() + this.index();\n return month > 11 ? 12 - month : month;\n });\n\n readonly cStartYear = computed(() => {\n const year = this.datePicker.startYear();\n const month = this.datePicker.startMonth();\n const showType = this.datePicker.showType();\n const index = this.index();\n if (showType === 'date') {\n return year + Math.floor((month + index) / 12);\n } else if (showType === 'month') {\n return year + index;\n } else {\n return year + index * 24;\n }\n });\n\n readonly selectedMonthName = computed(() => {\n const date = this.adapter.create(this.cStartYear(), this.cStartMonth());\n return this.adapter.longMonthNames(date);\n });\n\n readonly currentYear = signal(this.cStartYear());\n readonly years = computed(() => {\n const year = this.currentYear();\n const filter = this.datePicker.dateFilter();\n return Array.from({ length: 18 }, (_, i) => {\n const y = year - (18 - 6) + i;\n return { year: y, disabled: !filter?.(this.adapter.create(y, 0)) };\n });\n });\n readonly months = computed(() => {\n const filter = this.datePicker.dateFilter();\n return Array.from({ length: 12 }, (_, i) => {\n const date = this.adapter.create(this.cStartYear(), i);\n const isDisabled = !filter?.(date);\n const name = this.adapter.longMonthNames(date);\n return { name: name.substring(0, 3), value: i, disabled: isDisabled };\n });\n });\n\n // computed the title based on the type\n readonly title = computed(() => {\n const type = this.datePicker.showType();\n const month = this.selectedMonthName();\n const year = this.cStartYear();\n const years = this.years();\n const r =\n type === 'year'\n ? `${years[0].year} - ${years[years.length - 1].year} `\n : type === 'month'\n ? year\n : month + ' ' + year;\n return r;\n });\n\n readonly dayNames = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n // get the days array based on the month and year\n getDaysArray = computed(() => {\n const month = this.cStartMonth();\n const year = this.cStartYear();\n const dateFilter = this.datePicker.dateFilter();\n const numDays = this.adapter.getDate(this.adapter.create(year, month + 1, 0));\n const daysArray = Array.from({ length: numDays }, (_, i) => {\n const date = this.adapter.create(year, month, i + 1);\n return {\n mon: month,\n day: i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: true,\n count: this.adapter.getTime(date),\n };\n });\n const startDay = this.adapter.getDay(this.adapter.create(year, month));\n // get the additional days from the previous month\n const prevMonth = this.adapter.getDate(this.adapter.create(year, month, 0));\n const daysArrayPrev = Array.from({ length: startDay }, (_, i) => {\n const date = this.adapter.create(year, month - 1, prevMonth - startDay + i + 1);\n return {\n mon: this.adapter.getMonth(date),\n day: prevMonth - startDay + i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: false,\n count: this.adapter.getTime(date),\n };\n });\n const t = daysArrayPrev.concat(daysArray); // Padding for start day alignment\n // get the additional days from the next month to fill the last row\n // we need to check whether it is divisible by 7 and we have to fill only the remaining days\n const remaining = t.length % 7 === 0 ? 0 : 7 - (t.length % 7);\n const daysArrayNext = Array.from({ length: remaining }, (_, i) => {\n const date = this.adapter.create(year, month + 1, i + 1);\n return {\n mon: this.adapter.getMonth(date),\n day: i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: false,\n count: this.adapter.getTime(date),\n };\n });\n t.push(...daysArrayNext);\n return t;\n });\n\n // whether the left button is disabled based on the type\n // and disabled state\n leftBtn = computed(() => {\n const type = this.datePicker.showType();\n const year = this.cStartYear();\n const filter = this.datePicker.dateFilter();\n if (type === 'year') {\n return !filter?.(this.adapter.create(this.years()[0].year - 1, 11, 31));\n } else if (type === 'month') {\n return !filter?.(this.adapter.create(year - 1, 0));\n } else {\n return !filter?.(this.adapter.create(year, this.cStartMonth() - 1));\n }\n });\n\n // whether the right button is disabled based on the type\n // and disabled state\n rightBtn = computed(() => {\n const type = this.datePicker.showType();\n const year = this.cStartYear();\n const filter = this.datePicker.dateFilter();\n if (type === 'year') {\n return !filter?.(this.adapter.create(this.years()[this.years().length - 1].year + 1, 0));\n } else if (type === 'month') {\n return !filter?.(this.adapter.create(year + 1, 0));\n } else {\n return !filter?.(this.adapter.create(year, this.cStartMonth() + 1));\n }\n });\n\n todayDay = computed(() => {\n const today = this.adapter.now();\n return this.getSelectedDayOfMonth(today);\n });\n\n eventListeners: { element: HTMLElement; listener: () => void }[] = [];\n\n constructor() {\n if (this.datePicker.time() && this.datePicker.range()) {\n const [first, second] = this.datePicker.selectedDates();\n this.time1.set(first ? this.adapter.format(first, 'hh:mm a') : '');\n this.time2.set(second ? this.adapter.format(second, 'hh:mm a') : '');\n }\n effect(() => {\n const days = this.days();\n const range = this.datePicker.range();\n const dates = this.datePicker.selectedDates();\n this.clearListeners();\n\n if (days.length && range && dates[0] && !dates[1]) {\n const arr = this.getDaysArray();\n\n days.forEach((day, i) => {\n const listener = () => {\n this.hoverDate(arr[i].day, arr[i].mon);\n };\n\n day.nativeElement.addEventListener('mouseover', listener);\n this.eventListeners.push({ element: day.nativeElement, listener });\n });\n }\n });\n }\n\n get adapter() {\n return this.datePicker.adapter;\n }\n\n private getSelectedDayOfMonth(date: D) {\n const r =\n this.cStartMonth() === this.adapter.getMonth(date) &&\n this.cStartYear() === this.adapter.getYear(date)\n ? this.adapter.getDate(date)\n : 0;\n return r;\n }\n\n clearListeners() {\n this.eventListeners.forEach(({ element, listener }) => {\n element.removeEventListener('mouseover', listener);\n });\n }\n\n hoverDate(day: number, month: number) {\n this.datePicker.updateHoveredDate(this.adapter.create(this.cStartYear(), month, day));\n }\n\n timeChanged(index: number, timing: string) {\n const [time, period] = timing.split(' ');\n const [hours, min] = time.split(':').map(Number);\n const dates = this.datePicker.selectedDates();\n let date = dates[index]! as D;\n date = this.adapter.set(date, period === 'PM' ? hours + 12 : hours, 'hour');\n date = this.adapter.set(date, min, 'minute');\n\n this.datePicker.selectDate(date, index);\n }\n\n selectDate(day: number, month: number) {\n const date = this.adapter.create(this.cStartYear(), month, day);\n this.datePicker.selectDate(date);\n }\n\n navigate(direction: number) {\n let selectedYear = this.datePicker.startYear();\n let selectedMonth = this.datePicker.startMonth();\n const count = this.datePicker.noOfCalendar();\n direction = direction * count;\n const type = this.datePicker.showType();\n if (type === 'year') {\n selectedYear += direction * 24;\n this.currentYear.set(selectedYear);\n } else if (type === 'month') {\n selectedYear += direction;\n } else {\n selectedMonth += direction;\n if (selectedMonth < 0) {\n selectedMonth = 12 + selectedMonth;\n selectedYear--;\n } else if (selectedMonth > 11) {\n selectedMonth = selectedMonth - 12;\n selectedYear++;\n }\n }\n\n this.datePicker.startYear.set(selectedYear);\n this.datePicker.startMonth.set(selectedMonth);\n }\n\n selectYear(year: number) {\n this.datePicker.selectYear(year);\n }\n\n selectMonth(month: any) {\n this.datePicker.selectMonth(month.value, this.cStartYear());\n }\n\n toggleView() {\n this.datePicker.toggleView();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n }\n}\n\nexport function provideCalendar<D>(cal: typeof NgbCalendar) {\n return {\n provide: NgbCalendar,\n useExisting: cal,\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"ngbase-adk-datepicker.mjs","sources":["../../../projects/adk/datepicker/native-date-adapter.ts","../../../projects/adk/datepicker/datepicker-trigger.ts","../../../projects/adk/datepicker/datepicker.ts","../../../projects/adk/datepicker/calendar.ts","../../../projects/adk/datepicker/time.ts","../../../projects/adk/datepicker/ngbase-adk-datepicker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nexport type NgbDateUnits = 'year' | 'month' | 'date' | 'hour' | 'minute' | 'second' | 'millisecond';\n\nexport interface NgbAdpterInterface<D> {\n now(): D;\n compare(first: D, second: D): number;\n getTime(date: D): number;\n getYear(date: D): number;\n getMonth(date: D): number;\n getDate(date: D): number;\n getDay(date: D): number;\n create(year: number, month?: number, date?: number): D;\n format(date: D, displayFormat: any): string;\n parse(value: D | string, parseFormat?: string): D;\n set(date: D, value: number, unit: NgbDateUnits): D;\n longMonthNames(date: D): string;\n}\n\nexport const NgbDateAdapter = new InjectionToken<NgbAdpterInterface<unknown>>('mat-date-formats');\n\nexport function injectNgbDateAdapter<D>() {\n const adapter = inject(NgbDateAdapter, { optional: true }) as NgbAdpterInterface<D>;\n return adapter || (new NgbNativeDateAdapter() as unknown as NgbAdpterInterface<D>);\n}\n\nexport class NgbNativeDateAdapter implements NgbAdpterInterface<Date> {\n now(): Date {\n return new Date();\n }\n\n create(year: number, month = 0, date = 1): Date {\n return new Date(year, month, date);\n }\n\n compare(first: Date, second: Date): number {\n return first.getTime() - second.getTime();\n }\n\n getTime(date: Date): number {\n return date.getTime();\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDay(date: Date): number {\n return date.getDay();\n }\n\n format(date: Date, format: string): string {\n if (!date) return '';\n const d = new Date(date);\n if (isNaN(d.getTime())) return '';\n\n const formatters: { [key: string]: () => string } = {\n YYYY: () => d.getFullYear().toString(),\n yyyy: () => d.getFullYear().toString(),\n yy: () => d.getFullYear().toString().slice(-2),\n MMM: () => d.toLocaleString('default', { month: 'short' }),\n MM: () => this.pad(d.getMonth() + 1),\n M: () => (d.getMonth() + 1).toString(),\n DD: () => this.pad(d.getDate()),\n dd: () => this.pad(d.getDate()),\n d: () => d.getDate().toString(),\n HH: () => this.pad(d.getHours()),\n H: () => d.getHours().toString(),\n hh: () => this.pad(d.getHours() % 12 || 12),\n h: () => (d.getHours() % 12 || 12).toString(),\n mm: () => this.pad(d.getMinutes()),\n ss: () => this.pad(d.getSeconds()),\n SSS: () => this.pad(d.getMilliseconds(), 3),\n ISO: () => d.toISOString(),\n a: () => (d.getHours() < 12 ? 'AM' : 'PM'),\n };\n\n const regex = /\\b(?:yyyy|YYYY|yy|MMM|MM|M|DD|dd|d|HH|H|hh|h|mm|ss|SSS|a|ISO)\\b/g;\n return format.replace(regex, match => formatters[match]?.() ?? match);\n }\n\n private pad(value: number, length = 2): string {\n return value.toString().padStart(length, '0');\n }\n\n // We have to parse the date string like '2024-10-01T00:00:00.000Z'\n\n parse(value: Date | string, _?: string): Date {\n if (value instanceof Date) return new Date(value.setHours(0, 0, 0, 0));\n if (typeof value !== 'string') return new Date(NaN);\n if (value.includes('T')) {\n return new Date(value);\n }\n\n const parts = value.split(/\\D+/).map(Number);\n if (parts.length !== 3) return new Date(NaN);\n\n const [a, b, c] = parts;\n return a > 31 ? new Date(a, b - 1, c) : new Date(c, b - 1, a);\n }\n\n set(date: Date, value: number, unit: NgbDateUnits): Date {\n const newDate = new Date(date);\n if (unit === 'year') newDate.setFullYear(value);\n else if (unit === 'month') newDate.setMonth(value);\n else if (unit === 'date') newDate.setDate(value);\n else if (unit === 'hour') newDate.setHours(value);\n else if (unit === 'minute') newDate.setMinutes(value);\n else if (unit === 'second') newDate.setSeconds(value);\n else if (unit === 'millisecond') newDate.setMilliseconds(value);\n return newDate;\n }\n\n longMonthNames(date: Date): string {\n return date.toLocaleString('default', { month: 'long' });\n }\n}\n","import {\n Directive,\n ElementRef,\n InjectionToken,\n Injector,\n TemplateRef,\n afterNextRender,\n booleanAttribute,\n computed,\n effect,\n inject,\n input,\n} from '@angular/core';\nimport { InputBase } from '@ngbase/adk/form-field';\nimport { ngbPopoverPortal } from '@ngbase/adk/popover';\nimport { NgbDatePicker } from './datepicker';\nimport { injectNgbDateAdapter } from './native-date-adapter';\n\nconst DEFAULT_FIELD_FORMAT = 'ISO';\nconst DEFAULT_FORMAT = 'M/d/yyyy';\nconst DEFAULT_TIME_FORMAT = 'M/d/yyyy, HH:mm a';\n\nconst DatePicker = new InjectionToken<typeof NgbDatePicker>('DatePicker');\n\n@Directive({\n selector: '[ngbDatepickerTrigger]',\n exportAs: 'ngbDatepickerTrigger',\n hostDirectives: [InputBase],\n host: {\n class: 'cursor-pointer hover:bg-muted-background',\n '(click)': 'open()',\n readonly: 'true',\n },\n})\nexport class NgbDatepickerTrigger<D> {\n readonly el = inject(ElementRef);\n readonly inputS = inject(InputBase);\n private readonly injector = inject(Injector);\n readonly adapter = injectNgbDateAdapter<D>();\n readonly popover = ngbPopoverPortal();\n private datepicker =\n inject<typeof NgbDatePicker<D>>(DatePicker, { optional: true }) ?? NgbDatePicker<D>;\n\n // readonly datepicker = input<NgbDatePicker<D>>();\n readonly noOfCalendars = input(1, { transform: (v: number) => Math.max(1, v) });\n readonly range = input(false, { transform: booleanAttribute });\n readonly time = input(false, { transform: booleanAttribute });\n readonly format = input<string>('');\n readonly fieldFormat = input<string>(DEFAULT_FIELD_FORMAT);\n private displayFormat = computed(() => {\n return this.format() || (this.time() ? DEFAULT_TIME_FORMAT : DEFAULT_FORMAT);\n });\n readonly dateFilter = input<(date: D) => boolean>(() => true);\n readonly pickerType = input<'date' | 'month' | 'year'>('date');\n readonly pickerTemplate = input<TemplateRef<any> | null>(null);\n close?: VoidFunction;\n\n constructor() {\n effect(() => {\n const value = this.getInputValue();\n this.updateField(value);\n });\n }\n\n private getInputValue() {\n const v = this.inputS.value() as never;\n let value: string[] = [];\n if (v) {\n value = this.range() ? v : [v];\n }\n return value.map(x => this.adapter.parse(x));\n }\n\n open() {\n const data: DatePickerOptions<D> = {\n value: this.getInputValue(),\n pickerType: this.pickerType(),\n noOfCalendars: this.noOfCalendars(),\n range: this.range(),\n format: this.displayFormat(),\n fieldFormat: this.fieldFormat(),\n target: this.el.nativeElement,\n template: this.pickerTemplate(),\n dateFilter: this.dateFilter(),\n time: this.time(),\n };\n const { diaRef } = this.popover.open(this.datepicker, {\n target: this.el.nativeElement,\n position: 'bl',\n data,\n width: 'none',\n });\n this.close = diaRef.close;\n }\n\n updateInput(dates: (D | null)[]) {\n const filtered = dates.filter(x => x) as D[];\n const formatDate = dates.map(x => (x ? this.adapter.format(x, this.fieldFormat()) : x));\n if (this.range()) {\n if (filtered.length === 1) {\n return;\n }\n this.inputS?.setValue(formatDate);\n } else if (filtered.length) {\n this.inputS?.setValue(formatDate[0]);\n }\n this.updateField(filtered);\n }\n\n updateField(filtered: D[]) {\n // console.log(this.fieldFormat());\n const d = filtered\n .map(x => this.adapter.format(x, this.displayFormat()))\n .filter(x => x)\n .join(' - ');\n afterNextRender(() => (this.el.nativeElement.value = d), { injector: this.injector });\n }\n}\n\nexport interface DatePickerOptions<D> {\n value: D[];\n pickerType: 'date' | 'month' | 'year';\n noOfCalendars: number;\n range: boolean;\n format: string;\n fieldFormat: string;\n target: any;\n template: TemplateRef<any> | null;\n dateFilter: (date: D) => boolean;\n time: boolean;\n}\n\nexport function registerDatePicker<D>(datePicker: typeof NgbDatePicker<D>) {\n return {\n provide: DatePicker,\n useValue: datePicker,\n };\n}\n","import {\n computed,\n Directive,\n inject,\n input,\n model,\n signal,\n TemplateRef,\n viewChild,\n} from '@angular/core';\nimport { AccessibleGroup } from '@ngbase/adk/a11y';\nimport { DialogRef } from '@ngbase/adk/portal';\nimport { uniqueId } from '@ngbase/adk/utils';\nimport { DatePickerOptions, NgbDatepickerTrigger } from './datepicker-trigger';\nimport { injectNgbDateAdapter } from './native-date-adapter';\n\n@Directive({\n selector: '[ngbDatepickerGroup]',\n exportAs: 'ngbDatepickerGroup',\n hostDirectives: [AccessibleGroup],\n})\nexport class DatepickerGroup<D> {\n readonly picker = inject(NgbDatePicker<D>);\n readonly allyGroup = inject(AccessibleGroup);\n\n constructor() {\n this.allyGroup._ayId.set(this.picker.ayId);\n this.allyGroup._columns.set(7);\n this.allyGroup._initialFocus.set(false);\n }\n}\n\n@Directive({\n selector: '[ngbDatepicker]',\n})\nexport class NgbDatePicker<D> {\n private datepickerTrigger: NgbDatepickerTrigger<D> | null = inject(NgbDatepickerTrigger, {\n optional: true,\n });\n private dialogRef = inject<DialogRef<DatePickerOptions<D>>>(DialogRef, { optional: true });\n readonly adapter = injectNgbDateAdapter<D>();\n readonly dateFilter = input(this.data?.dateFilter || (() => true));\n readonly pickerType = input<'date' | 'month' | 'year'>(this.data?.pickerType || 'date');\n readonly allyGroup = viewChild(AccessibleGroup);\n\n readonly noOfCalendar = model(this.data?.noOfCalendars || 1);\n readonly range = model<boolean>(this.data?.range || false);\n readonly time = signal<boolean>(this.data?.time || false);\n readonly format = signal<string>(\n this.data?.format || `MM-dd-yyyy${this.data?.time ? ' HH:mm a' : ''}`,\n );\n readonly template = signal<TemplateRef<any> | null>(this.data?.template || null);\n\n readonly showType = signal<'date' | 'month' | 'year'>(this.pickerType());\n readonly selectedDates = signal<[D | null, D | null]>([null, null]);\n readonly times = signal<[string | null, string | null]>([null, null]);\n readonly startDate = computed<D>(() => {\n const dates = this.selectedDates();\n return Array.isArray(dates) && dates[0] ? dates[0] : this.adapter.now();\n });\n readonly startMonth = signal(this.adapter.getMonth(this.startDate()));\n readonly startYear = signal(this.adapter.getYear(this.startDate()));\n\n readonly hoveredDate = signal<D | null>(null);\n readonly hoveredCount = computed(() => {\n const date = this.hoveredDate();\n return date ? this.adapter.getTime(date) : 0;\n });\n\n readonly startDateCount = computed(() => {\n const date = this.selectedDates()[0];\n return date ? this.adapter.getTime(date) : 0;\n });\n\n readonly dates = computed(() => {\n const dates = this.selectedDates();\n\n const v = { year: [] as number[], month: [] as string[], day: [] as string[] };\n for (const x of dates) {\n if (x) {\n const year = this.adapter.getYear(x);\n const month = this.adapter.getMonth(x);\n const day = this.adapter.getDate(x);\n v.year.push(year);\n v.month.push(`${month}-${year}`);\n v.day.push(`${day}-${month}-${year}`);\n }\n }\n return v;\n });\n\n readonly ayId = uniqueId();\n\n constructor() {\n this.init();\n // this.allyGroup.focusChanged.subscribe(item => this.focusChanged(item));\n }\n\n private init() {\n const v = this.data?.value?.filter(x => x).map(x => this.adapter.parse(x));\n if (Array.isArray(v) && v.length) {\n let date: D;\n let dates: [D, D | null];\n if (v.length === 2) {\n dates = v as [D, D];\n this.hoveredDate.set(v[1]);\n } else {\n dates = [v[0], null];\n }\n date = dates[0];\n this.selectedDates.set(dates);\n this.startYear.set(this.adapter.getYear(date));\n this.startMonth.set(this.adapter.getMonth(date));\n }\n }\n\n get data() {\n return this.dialogRef?.data;\n }\n\n // focusChanged(_: { current: AccessibleItem; previous?: AccessibleItem }) {\n // const cData = item.current.data();\n // const pData = item.previous?.data();\n // console.log('focusChanged', cData, pData);\n // console.log(data);\n // if (cData.day) {\n // let add = 0;\n // if (pData) {\n // const v = (cData.day - pData.day) / 7;\n // console.log(Math.abs(1));\n // if (1 === Math.abs(v)) {\n // add = 0;\n // } else if (v > 0) {\n // add = -1;\n // } else {\n // add = 1;\n // }\n // }\n // console.log(add);\n // this.startMonth.set(cData.mon + add);\n // }\n // }\n\n updateHoveredDate(date: D) {\n if (this.range()) {\n const single = this.selectedDates().filter(x => x).length === 1;\n this.hoveredDate.set(single ? date : null);\n }\n }\n\n selectDate(date: D, index?: number) {\n let dates = this.selectedDates();\n if (index != undefined) {\n dates[index] = date;\n } else if (this.range()) {\n if ((dates[0] && dates[1]) || !dates[0] || this.adapter.compare(dates[0], date) > 0) {\n dates = [date, null];\n this.hoveredDate.set(null);\n } else if (dates[0]) {\n dates[1] = date;\n this.hoveredDate.set(date);\n }\n } else {\n dates = [date, null];\n }\n this.selectedDates.set([...dates]);\n this.datepickerTrigger?.updateInput(dates as D[]);\n }\n\n selectYear(year: number) {\n this.startYear.set(year);\n if (this.pickerType() !== 'year') {\n this.showType.set('month');\n } else {\n this.selectDate(this.adapter.create(year, this.startMonth()));\n }\n }\n\n selectMonth(month: number, year: number) {\n this.startMonth.set(month);\n this.startYear.set(year);\n if (this.pickerType() === 'date') {\n this.showType.set('date');\n } else {\n this.selectDate(this.adapter.create(year, month));\n }\n }\n\n toggleView() {\n let type = this.showType();\n if (type === 'date') {\n type = 'month';\n } else if (type === 'month' || this.pickerType() === 'year') {\n type = 'year';\n } else if (this.pickerType() === 'date') {\n type = 'date';\n } else {\n type = 'month';\n }\n this.showType.set(type);\n }\n}\n\nexport function aliasDatePicker<D>(picker: typeof NgbDatePicker<D>) {\n return {\n provide: NgbDatePicker,\n useExisting: picker,\n };\n}\n","import {\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChildren,\n} from '@angular/core';\nimport { AccessibleItem } from '@ngbase/adk/a11y';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { NgbDatePicker } from './datepicker';\n\n@Directive({\n selector: '[ngbCalendarBtn]',\n host: {\n type: 'button',\n '[class]': '!visible() ? \"invisible\" : \"\"',\n '(click)': 'cal.navigate(ngbCalendarBtn() === \"left\" ? -1 : 1)',\n '[disabled]': 'disabled()',\n '[tabIndex]': 'disabled() ? -1 : 0',\n },\n})\nexport class CalendarBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n\n readonly ngbCalendarBtn = input.required<'left' | 'right'>();\n\n readonly disabled = computed(() => {\n return this.ngbCalendarBtn() === 'left' ? this.cal.leftBtn() : this.cal.rightBtn();\n });\n readonly visible = computed(() => {\n return this.ngbCalendarBtn() === 'left' ? this.cal.first() : this.cal.last();\n });\n}\n\n@Directive({\n selector: '[ngbCalendarTitle]',\n host: {\n type: 'button',\n '(click)': 'cal.toggleView()',\n '[tabIndex]': '0',\n },\n})\nexport class CalendarTitle<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n}\n\n@Directive({\n selector: '[ngbCalYearBtn]',\n exportAs: 'ngbCalYearBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalYearBtn().disabled && cal.selectYear(ngbCalYearBtn().year)',\n },\n})\nexport class CalendarYearBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalYearBtn = input.required<{ year: number; disabled: boolean }>();\n\n readonly active = computed(() => this.ngbCalYearBtn().year === this.cal.cStartYear());\n readonly selected = computed(() => this.cal.todayDay() && this.active());\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalYearBtn());\n });\n }\n}\n\n@Directive({\n selector: '[ngbCalMonthBtn]',\n exportAs: 'ngbCalMonthBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalMonthBtn().disabled && cal.selectMonth(ngbCalMonthBtn())',\n },\n})\nexport class CalendarMonthBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalMonthBtn = input.required<{ name: string; value: number; disabled: boolean }>();\n\n readonly active = computed(() =>\n this.cal.datePicker\n .dates()\n .month.includes(this.ngbCalMonthBtn().value + '-' + this.cal.cStartYear()),\n );\n readonly selected = computed(\n () => this.cal.todayDay() && this.cal.cStartMonth() === this.ngbCalMonthBtn().value,\n );\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalMonthBtn());\n });\n }\n}\n\n@Directive({\n selector: '[ngbCalDayBtn]',\n exportAs: 'ngbCalDayBtn',\n hostDirectives: [AccessibleItem],\n host: {\n type: 'button',\n '(click)': '!ngbCalDayBtn().disabled && cal.selectDate(ngbCalDayBtn().day, ngbCalDayBtn().mon)',\n },\n})\nexport class CalendarDayBtn<D> {\n readonly cal = inject<NgbCalendar<D>>(NgbCalendar);\n readonly ally = inject(AccessibleItem);\n readonly ngbCalDayBtn = input.required<{\n day: number;\n mon: number;\n disabled: boolean;\n current: boolean;\n count: number;\n }>();\n\n readonly active = computed(() =>\n this.cal.datePicker\n .dates()\n .day.includes(\n this.ngbCalDayBtn().day + '-' + this.ngbCalDayBtn().mon + '-' + this.cal.cStartYear(),\n ),\n );\n readonly dummy = computed(() => !this.ngbCalDayBtn().current || this.ngbCalDayBtn().disabled);\n readonly selected = computed(() => {\n const day = this.ngbCalDayBtn();\n return (\n (day.day === this.cal.todayDay() && day.current) ||\n (day.count <= this.cal.datePicker.hoveredCount() &&\n this.cal.datePicker.startDateCount() &&\n day.count >= this.cal.datePicker.startDateCount())\n );\n });\n\n constructor() {\n this.ally._ayId.set(this.cal.datePicker.ayId);\n effect(() => {\n this.ally._data.set(this.ngbCalDayBtn());\n this.ally._id.set(this.ngbCalDayBtn().day + '-' + this.ngbCalDayBtn().mon);\n this.ally._skip.set(this.ngbCalDayBtn().disabled);\n });\n }\n}\n\n@Directive({\n selector: 'ngb-calendar',\n})\nexport class NgbCalendar<D> implements OnDestroy {\n readonly dir = inject(Directionality);\n readonly datePicker = inject<NgbDatePicker<D>>(NgbDatePicker);\n readonly days = viewChildren<CalendarDayBtn<D>, ElementRef<HTMLElement>>(CalendarDayBtn, {\n read: ElementRef,\n });\n readonly first = input(false);\n readonly last = input(false);\n readonly index = input(0);\n readonly time1 = signal<string | null>(null);\n readonly time2 = signal<string | null>(null);\n\n readonly cStartMonth = computed(() => {\n const month = this.datePicker.startMonth() + this.index();\n return month > 11 ? 12 - month : month;\n });\n\n readonly cStartYear = computed(() => {\n const year = this.datePicker.startYear();\n const month = this.datePicker.startMonth();\n const showType = this.datePicker.showType();\n const index = this.index();\n if (showType === 'date') {\n return year + Math.floor((month + index) / 12);\n } else if (showType === 'month') {\n return year + index;\n } else {\n return year + index * 24;\n }\n });\n\n readonly selectedMonthName = computed(() => {\n const date = this.adapter.create(this.cStartYear(), this.cStartMonth());\n return this.adapter.longMonthNames(date);\n });\n\n readonly currentYear = signal(this.cStartYear());\n readonly years = computed(() => {\n const year = this.currentYear();\n const filter = this.datePicker.dateFilter();\n return Array.from({ length: 18 }, (_, i) => {\n const y = year - (18 - 6) + i;\n return { year: y, disabled: !filter?.(this.adapter.create(y, 0)) };\n });\n });\n readonly months = computed(() => {\n const filter = this.datePicker.dateFilter();\n return Array.from({ length: 12 }, (_, i) => {\n const date = this.adapter.create(this.cStartYear(), i);\n const isDisabled = !filter?.(date);\n const name = this.adapter.longMonthNames(date);\n return { name: name.substring(0, 3), value: i, disabled: isDisabled };\n });\n });\n\n // computed the title based on the type\n readonly title = computed(() => {\n const type = this.datePicker.showType();\n const month = this.selectedMonthName();\n const year = this.cStartYear();\n const years = this.years();\n const r =\n type === 'year'\n ? `${years[0].year} - ${years[years.length - 1].year} `\n : type === 'month'\n ? year\n : month + ' ' + year;\n return r;\n });\n\n readonly dayNames = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n // get the days array based on the month and year\n getDaysArray = computed(() => {\n const month = this.cStartMonth();\n const year = this.cStartYear();\n const dateFilter = this.datePicker.dateFilter();\n const numDays = this.adapter.getDate(this.adapter.create(year, month + 1, 0));\n const daysArray = Array.from({ length: numDays }, (_, i) => {\n const date = this.adapter.create(year, month, i + 1);\n return {\n mon: month,\n day: i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: true,\n count: this.adapter.getTime(date),\n };\n });\n const startDay = this.adapter.getDay(this.adapter.create(year, month));\n // get the additional days from the previous month\n const prevMonth = this.adapter.getDate(this.adapter.create(year, month, 0));\n const daysArrayPrev = Array.from({ length: startDay }, (_, i) => {\n const date = this.adapter.create(year, month - 1, prevMonth - startDay + i + 1);\n return {\n mon: this.adapter.getMonth(date),\n day: prevMonth - startDay + i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: false,\n count: this.adapter.getTime(date),\n };\n });\n const t = daysArrayPrev.concat(daysArray); // Padding for start day alignment\n // get the additional days from the next month to fill the last row\n // we need to check whether it is divisible by 7 and we have to fill only the remaining days\n const remaining = t.length % 7 === 0 ? 0 : 7 - (t.length % 7);\n const daysArrayNext = Array.from({ length: remaining }, (_, i) => {\n const date = this.adapter.create(year, month + 1, i + 1);\n return {\n mon: this.adapter.getMonth(date),\n day: i + 1,\n year: this.adapter.getYear(date),\n disabled: !dateFilter?.(date) || false,\n current: false,\n count: this.adapter.getTime(date),\n };\n });\n t.push(...daysArrayNext);\n return t;\n });\n\n // whether the left button is disabled based on the type\n // and disabled state\n leftBtn = computed(() => {\n const type = this.datePicker.showType();\n const year = this.cStartYear();\n const filter = this.datePicker.dateFilter();\n if (type === 'year') {\n return !filter?.(this.adapter.create(this.years()[0].year - 1, 11, 31));\n } else if (type === 'month') {\n return !filter?.(this.adapter.create(year - 1, 0));\n } else {\n return !filter?.(this.adapter.create(year, this.cStartMonth() - 1));\n }\n });\n\n // whether the right button is disabled based on the type\n // and disabled state\n rightBtn = computed(() => {\n const type = this.datePicker.showType();\n const year = this.cStartYear();\n const filter = this.datePicker.dateFilter();\n if (type === 'year') {\n return !filter?.(this.adapter.create(this.years()[this.years().length - 1].year + 1, 0));\n } else if (type === 'month') {\n return !filter?.(this.adapter.create(year + 1, 0));\n } else {\n return !filter?.(this.adapter.create(year, this.cStartMonth() + 1));\n }\n });\n\n todayDay = computed(() => {\n const today = this.adapter.now();\n return this.getSelectedDayOfMonth(today);\n });\n\n eventListeners: { element: HTMLElement; listener: () => void }[] = [];\n\n constructor() {\n if (this.datePicker.time() && this.datePicker.range()) {\n const [first, second] = this.datePicker.selectedDates();\n this.time1.set(first ? this.adapter.format(first, 'hh:mm a') : '');\n this.time2.set(second ? this.adapter.format(second, 'hh:mm a') : '');\n }\n effect(() => {\n const days = this.days();\n const range = this.datePicker.range();\n const dates = this.datePicker.selectedDates();\n this.clearListeners();\n\n if (days.length && range && dates[0] && !dates[1]) {\n const arr = this.getDaysArray();\n\n days.forEach((day, i) => {\n const listener = () => {\n this.hoverDate(arr[i].day, arr[i].mon);\n };\n\n day.nativeElement.addEventListener('mouseover', listener);\n this.eventListeners.push({ element: day.nativeElement, listener });\n });\n }\n });\n }\n\n get adapter() {\n return this.datePicker.adapter;\n }\n\n private getSelectedDayOfMonth(date: D) {\n const r =\n this.cStartMonth() === this.adapter.getMonth(date) &&\n this.cStartYear() === this.adapter.getYear(date)\n ? this.adapter.getDate(date)\n : 0;\n return r;\n }\n\n clearListeners() {\n this.eventListeners.forEach(({ element, listener }) => {\n element.removeEventListener('mouseover', listener);\n });\n }\n\n hoverDate(day: number, month: number) {\n this.datePicker.updateHoveredDate(this.adapter.create(this.cStartYear(), month, day));\n }\n\n timeChanged(index: number, timing: string) {\n const [time, period] = timing.split(' ');\n const [hours, min] = time.split(':').map(Number);\n const dates = this.datePicker.selectedDates();\n let date = dates[index]! as D;\n date = this.adapter.set(date, period === 'PM' ? hours + 12 : hours, 'hour');\n date = this.adapter.set(date, min, 'minute');\n\n this.datePicker.selectDate(date, index);\n }\n\n selectDate(day: number, month: number) {\n const date = this.adapter.create(this.cStartYear(), month, day);\n this.datePicker.selectDate(date);\n }\n\n navigate(direction: number) {\n let selectedYear = this.datePicker.startYear();\n let selectedMonth = this.datePicker.startMonth();\n const count = this.datePicker.noOfCalendar();\n direction = direction * count;\n const type = this.datePicker.showType();\n if (type === 'year') {\n selectedYear += direction * 24;\n this.currentYear.set(selectedYear);\n } else if (type === 'month') {\n selectedYear += direction;\n } else {\n selectedMonth += direction;\n if (selectedMonth < 0) {\n selectedMonth = 12 + selectedMonth;\n selectedYear--;\n } else if (selectedMonth > 11) {\n selectedMonth = selectedMonth - 12;\n selectedYear++;\n }\n }\n\n this.datePicker.startYear.set(selectedYear);\n this.datePicker.startMonth.set(selectedMonth);\n }\n\n selectYear(year: number) {\n this.datePicker.selectYear(year);\n }\n\n selectMonth(month: any) {\n this.datePicker.selectMonth(month.value, this.cStartYear());\n }\n\n toggleView() {\n this.datePicker.toggleView();\n }\n\n ngOnDestroy(): void {\n this.clearListeners();\n }\n}\n\nexport function aliasCalendar<D>(cal: typeof NgbCalendar<D>) {\n return {\n provide: NgbCalendar,\n useExisting: cal,\n };\n}\n","import {\n computed,\n Directive,\n effect,\n inject,\n input,\n output,\n signal,\n untracked,\n} from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\nimport { NumberOnly, padString, provideValueAccessor } from '@ngbase/adk/utils';\n\n@Directive({\n selector: '[ngbTimeInput]',\n hostDirectives: [{ directive: NumberOnly, inputs: ['value'], outputs: ['valueChange'] }],\n host: {\n type: 'tel',\n },\n})\nexport class NgbTimeInput {\n readonly numberOnly = inject(NumberOnly);\n readonly timePicker = inject(NgbTimePicker);\n\n readonly ngbTimeInput = input.required<'hours' | 'minutes' | 'seconds'>();\n\n constructor() {\n this.numberOnly._min.set(0);\n this.numberOnly._len.set(2);\n effect(() => {\n const type = this.ngbTimeInput();\n if (type === 'hours') {\n this.numberOnly._max.set(this.timePicker.is24() ? 23 : 11);\n } else {\n this.numberOnly._max.set(59);\n }\n });\n }\n}\n\n@Directive({\n selector: '[ngbTime]',\n providers: [_provide(NgbTimePicker)],\n})\nexport class NgbTimePicker implements ControlValueAccessor {\n readonly is24 = input(false);\n readonly value = input<string | null | undefined>();\n readonly valueChange = output<string | null | undefined>();\n private time = computed(() => {\n return (\n `${padString(this.hours())}:${padString(this.minutes())}:${padString(this.seconds())}` +\n (!this.is24() ? ` ${this.am() ? 'AM' : 'PM'}` : '')\n );\n });\n readonly hours = signal('00');\n readonly minutes = signal('00');\n readonly seconds = signal('00');\n readonly am = signal(true);\n\n private onChange = (_: any) => {};\n private onTouched = () => {};\n\n constructor() {\n effect(() => {\n const value = this.value();\n untracked(() => {\n this.parseValue(value);\n });\n });\n }\n\n private parseValue(value: string | null | undefined) {\n if (value) {\n const [time, period] = value.split(' ');\n const [hours, minutes, seconds] = time.split(':');\n const am = period === 'AM';\n\n this.hours.set(padString(hours));\n this.minutes.set(padString(minutes));\n this.seconds.set(padString(seconds));\n this.am.set(am);\n }\n }\n\n changeAm(active: boolean) {\n this.am.set(active);\n this.updateValue();\n }\n\n updateValue() {\n this.notify(this.time());\n }\n\n private notify(time: string) {\n this.valueChange.emit(time);\n this.onChange(time);\n this.onTouched();\n }\n\n writeValue(value: string) {\n if (value) {\n this.parseValue(value);\n }\n }\n\n registerOnChange(fn: any) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n}\n\nfunction _provide(picker: typeof NgbTimePicker) {\n return [provideValueAccessor(picker)];\n}\n\nexport function aliasTimePicker(picker: typeof NgbTimePicker) {\n return [_provide(picker), { provide: NgbTimePicker, useExisting: picker }];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
@@ -24,10 +24,13 @@ function ngbDialogPortal(component) {
24
24
  }
25
25
 
26
26
  const sideAnimation = trigger('sideAnimation', [
27
- state('left', style({ transform: 'translate3d(-100%, 0, 0)' })),
28
- state('right', style({ transform: 'translate3d(100%, 0, 0)' })),
29
- state('center', style({ transform: 'none' })),
30
- transition('void => *', animate('0ms')),
27
+ state('1', style({ transform: 'none' })),
28
+ state('void', style({ transform: '{{outTransform}}' }), {
29
+ params: { outTransform: 'translate3d(100%, 0, 0)' },
30
+ }),
31
+ state('0', style({ transform: '{{outTransform}}' }), {
32
+ params: { outTransform: 'translate3d(100%, 0, 0)' },
33
+ }),
31
34
  transition('* => *', animate('300ms cubic-bezier(0.55, 0.31, 0.15, 0.93)')),
32
35
  ]);
33
36
  const viewAnimation = trigger('viewAnimation', [
@@ -105,11 +108,11 @@ class NgbDialogContainer extends BaseDialog {
105
108
  }
106
109
  setOptions(options) {
107
110
  this.options.set(options);
108
- this.isHideHeader = options.header || false;
111
+ this.isHideHeader = !options.header || false;
109
112
  this.backdropColor = options.backdropColor || true;
110
113
  }
111
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbDialogContainer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: NgbDialogContainer, isStandalone: true, selector: "[ngbDialog]", host: { listeners: { "@parentAnimation.done": "animationDone()" }, properties: { "style": "{ \"z-index\": options.overrideLowerDialog ? \"982\" : \"980\" }", "@parentAnimation": "" } }, viewQueries: [{ propertyName: "myDialog", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.FocusTrap }], ngImport: i0, template: `
115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: NgbDialogContainer, isStandalone: true, selector: "[ngbDialog]", host: { listeners: { "@parentAnimation.done": "animationDone()" }, properties: { "@parentAnimation": "" } }, viewQueries: [{ propertyName: "myDialog", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.FocusTrap }], ngImport: i0, template: `
113
116
  <div class="pointer-events-none flex h-full items-center justify-center">
114
117
  <div
115
118
  [@viewAnimation]
@@ -182,7 +185,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
182
185
  </div>
183
186
  `,
184
187
  host: {
185
- '[style]': '{ "z-index": options.overrideLowerDialog ? "982" : "980" }',
186
188
  '[@parentAnimation]': '',
187
189
  '(@parentAnimation.done)': 'animationDone()',
188
190
  },
@@ -204,11 +206,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
204
206
  hostDirectives: [{ directive: NgbPortalClose, inputs: ['ngbPortalClose: ngbDialogClose'] }],
205
207
  }]
206
208
  }] });
207
- function provideDialog(dialog) {
208
- return {
209
- provide: NgbDialogContainer,
210
- useExisting: dialog,
211
- };
209
+ function aliasDialog(dialog) {
210
+ return { provide: NgbDialogContainer, useExisting: dialog };
212
211
  }
213
212
 
214
213
  /*
@@ -219,5 +218,5 @@ function provideDialog(dialog) {
219
218
  * Generated bundle index. Do not edit.
220
219
  */
221
220
 
222
- export { NgbDialogBackdrop, NgbDialogClose, NgbDialogContainer, NgbDialogMain, ngbDialogPortal, provideDialog, sideAnimation, viewAnimation };
221
+ export { NgbDialogBackdrop, NgbDialogClose, NgbDialogContainer, NgbDialogMain, aliasDialog, ngbDialogPortal, sideAnimation, viewAnimation };
223
222
  //# sourceMappingURL=ngbase-adk-dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngbase-adk-dialog.mjs","sources":["../../../projects/adk/dialog/dialog.service.ts","../../../projects/adk/dialog/dialog.animation.ts","../../../projects/adk/dialog/dialog.ts","../../../projects/adk/dialog/public-api.ts","../../../projects/adk/dialog/ngbase-adk-dialog.ts"],"sourcesContent":["import { basePortal, DialogInput, DialogOptions } from '@ngbase/adk/portal';\nimport { NgbDialogContainer } from './dialog';\n\nexport function ngbDialogPortal(component: typeof NgbDialogContainer) {\n const NAME = 'dialog';\n const base = basePortal(NAME, component);\n\n function open<T>(component: DialogInput, opt?: DialogOptions) {\n const { diaRef } = base.open(\n component,\n (comp, options) => {\n comp.instance.setOptions(options);\n },\n opt,\n );\n\n return diaRef;\n }\n\n function closeAll() {\n base.closeAll();\n }\n return { open, closeAll };\n}\n\nexport type NgbDialog = ReturnType<typeof ngbDialogPortal>;\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const sideAnimation: AnimationTriggerMetadata = trigger('sideAnimation', [\n state('left', style({ transform: 'translate3d(-100%, 0, 0)' })),\n state('right', style({ transform: 'translate3d(100%, 0, 0)' })),\n state('center', style({ transform: 'none' })),\n transition('void => *', animate('0ms')),\n transition('* => *', animate('300ms cubic-bezier(0.55, 0.31, 0.15, 0.93)')),\n]);\n\nexport const viewAnimation: AnimationTriggerMetadata = trigger('viewAnimation', [\n state('1', style({ transform: 'none', opacity: 1 })),\n state('void', style({ transform: 'translate3d(0, 10px, 0) scale(0.99)', opacity: 0 })),\n state('0', style({ transform: 'translate3d(0, 10px, 0)', opacity: 0 })),\n transition('* => *', animate('200ms ease')),\n]);\n// cubic-bezier(0.25, 0.8, 0.25, 1)\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n signal,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FocusTrap } from '@ngbase/adk/a11y';\nimport { BaseDialog, DialogOptions, NgbPortalClose } from '@ngbase/adk/portal';\nimport { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';\nimport { Subject } from 'rxjs';\nimport { viewAnimation } from './dialog.animation';\n\n@Directive({\n selector: '[ngbDialogMain]',\n host: {\n '[class]': `classNames()`,\n '[style]': `style()`,\n },\n})\nexport class NgbDialogMain {\n readonly dialog = inject(NgbDialogContainer);\n readonly options = this.dialog.options;\n readonly classNames = computed(() => this.options().classNames?.join(' ') || '');\n readonly style = computed(() => {\n return {\n width: this.options().fullWindow ? '100vw' : this.options().width,\n height: this.options().fullWindow ? '100vh' : this.options().height,\n maxWidth: this.options().fullWindow ? '100vw' : this.options().maxWidth,\n maxHeight: this.options().fullWindow ? '100vh' : this.options().maxHeight || '96vh',\n minHeight: this.options().minHeight,\n minWidth: this.options().minWidth,\n };\n });\n}\n\n@Directive({\n selector: '[ngbDialogBackdrop]',\n host: {\n '(click)': `close()`,\n },\n})\nexport class NgbDialogBackdrop {\n readonly dialog = inject(NgbDialogContainer);\n readonly options = this.dialog.options;\n\n close() {\n if (!this.options().disableClose) {\n this.dialog.close();\n }\n }\n}\n\n@Component({\n selector: '[ngbDialog]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [FocusTrap],\n imports: [NgbDialogMain, NgbDialogBackdrop],\n template: `\n <div class=\"pointer-events-none flex h-full items-center justify-center\">\n <div\n [@viewAnimation]\n ngbDialogMain\n class=\"{{\n 'pointer-events-auto relative flex max-w-[100vw] flex-col overflow-hidden border bg-foreground shadow-lg' +\n (options().fullWindow\n ? ' h-screen w-screen border-none'\n : ' max-w-[calc(100vw-30px)] rounded-lg')\n }}\"\n >\n @if (!isHideHeader) {\n <div class=\"flex items-center justify-between border-b px-4 py-2\">\n <h2>{{ options().title }}</h2>\n </div>\n }\n <div class=\"h-full overflow-auto p-4\">\n <ng-container #contentContainer />\n </div>\n </div>\n @if (showBackdrop()) {\n <div\n class=\"pointer-events-auto absolute top-0 -z-10 h-full w-full bg-black bg-opacity-30\"\n ngbDialogBackdrop\n [@fadeAnimation]\n ></div>\n }\n </div>\n `,\n host: {\n '[style]': '{ \"z-index\": options.overrideLowerDialog ? \"982\" : \"980\" }',\n '[@parentAnimation]': '',\n '(@parentAnimation.done)': 'animationDone()',\n },\n animations: [\n createHostAnimation(['@viewAnimation', '@fadeAnimation']),\n fadeAnimation('200ms'),\n viewAnimation,\n ],\n})\nexport class NgbDialogContainer extends BaseDialog {\n readonly myDialog = viewChild('contentContainer', { read: ViewContainerRef });\n\n backdropColor = true;\n isSidePopup = true;\n\n readonly onDone = new Subject<any>();\n readonly options = signal<DialogOptions>(new DialogOptions());\n readonly showBackdrop = computed(() => !this.options().fullWindow && this.options().backdrop);\n isHideHeader = false;\n\n constructor() {\n super();\n afterNextRender(() => {\n this._afterViewSource.next(this.myDialog()!);\n });\n }\n\n override setOptions(options: DialogOptions) {\n this.options.set(options);\n this.isHideHeader = options.header || false;\n this.backdropColor = options.backdropColor || true;\n }\n}\n\n@Directive({\n selector: '[ngbDialogClose]',\n hostDirectives: [{ directive: NgbPortalClose, inputs: ['ngbPortalClose: ngbDialogClose'] }],\n})\nexport class NgbDialogClose {}\n\nexport function provideDialog(dialog: typeof NgbDialogContainer) {\n return {\n provide: NgbDialogContainer,\n useExisting: dialog,\n };\n}\n","/*\n * Public API Surface of dialog\n */\n\nexport * from './dialog.service';\nexport * from './dialog';\nexport * from './dialog.animation';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngbase-adk-dialog.mjs","sources":["../../../projects/adk/dialog/dialog.service.ts","../../../projects/adk/dialog/dialog.animation.ts","../../../projects/adk/dialog/dialog.ts","../../../projects/adk/dialog/public-api.ts","../../../projects/adk/dialog/ngbase-adk-dialog.ts"],"sourcesContent":["import { basePortal, DialogInput, DialogOptions } from '@ngbase/adk/portal';\nimport { NgbDialogContainer } from './dialog';\n\nexport function ngbDialogPortal(component: typeof NgbDialogContainer) {\n const NAME = 'dialog';\n const base = basePortal(NAME, component);\n\n function open<T>(component: DialogInput, opt?: DialogOptions) {\n const { diaRef } = base.open(\n component,\n (comp, options) => {\n comp.instance.setOptions(options);\n },\n opt,\n );\n\n return diaRef;\n }\n\n function closeAll() {\n base.closeAll();\n }\n return { open, closeAll };\n}\n\nexport type NgbDialog = ReturnType<typeof ngbDialogPortal>;\n","import {\n animate,\n AnimationTriggerMetadata,\n state,\n style,\n transition,\n trigger,\n} from '@angular/animations';\n\nexport const sideAnimation: AnimationTriggerMetadata = trigger('sideAnimation', [\n state('1', style({ transform: 'none' })),\n state('void', style({ transform: '{{outTransform}}' }), {\n params: { outTransform: 'translate3d(100%, 0, 0)' },\n }),\n state('0', style({ transform: '{{outTransform}}' }), {\n params: { outTransform: 'translate3d(100%, 0, 0)' },\n }),\n transition('* => *', animate('300ms cubic-bezier(0.55, 0.31, 0.15, 0.93)')),\n]);\n\nexport const viewAnimation: AnimationTriggerMetadata = trigger('viewAnimation', [\n state('1', style({ transform: 'none', opacity: 1 })),\n state('void', style({ transform: 'translate3d(0, 10px, 0) scale(0.99)', opacity: 0 })),\n state('0', style({ transform: 'translate3d(0, 10px, 0)', opacity: 0 })),\n transition('* => *', animate('200ms ease')),\n]);\n// cubic-bezier(0.25, 0.8, 0.25, 1)\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n Directive,\n inject,\n signal,\n viewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { FocusTrap } from '@ngbase/adk/a11y';\nimport { BaseDialog, DialogOptions, NgbPortalClose } from '@ngbase/adk/portal';\nimport { createHostAnimation, fadeAnimation } from '@ngbase/adk/utils';\nimport { Subject } from 'rxjs';\nimport { viewAnimation } from './dialog.animation';\n\n@Directive({\n selector: '[ngbDialogMain]',\n host: {\n '[class]': `classNames()`,\n '[style]': `style()`,\n },\n})\nexport class NgbDialogMain {\n readonly dialog = inject(NgbDialogContainer);\n readonly options = this.dialog.options;\n readonly classNames = computed(() => this.options().classNames?.join(' ') || '');\n readonly style = computed(() => {\n return {\n width: this.options().fullWindow ? '100vw' : this.options().width,\n height: this.options().fullWindow ? '100vh' : this.options().height,\n maxWidth: this.options().fullWindow ? '100vw' : this.options().maxWidth,\n maxHeight: this.options().fullWindow ? '100vh' : this.options().maxHeight || '96vh',\n minHeight: this.options().minHeight,\n minWidth: this.options().minWidth,\n };\n });\n}\n\n@Directive({\n selector: '[ngbDialogBackdrop]',\n host: {\n '(click)': `close()`,\n },\n})\nexport class NgbDialogBackdrop {\n readonly dialog = inject(NgbDialogContainer);\n readonly options = this.dialog.options;\n\n close() {\n if (!this.options().disableClose) {\n this.dialog.close();\n }\n }\n}\n\n@Component({\n selector: '[ngbDialog]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [FocusTrap],\n imports: [NgbDialogMain, NgbDialogBackdrop],\n template: `\n <div class=\"pointer-events-none flex h-full items-center justify-center\">\n <div\n [@viewAnimation]\n ngbDialogMain\n class=\"{{\n 'pointer-events-auto relative flex max-w-[100vw] flex-col overflow-hidden border bg-foreground shadow-lg' +\n (options().fullWindow\n ? ' h-screen w-screen border-none'\n : ' max-w-[calc(100vw-30px)] rounded-lg')\n }}\"\n >\n @if (!isHideHeader) {\n <div class=\"flex items-center justify-between border-b px-4 py-2\">\n <h2>{{ options().title }}</h2>\n </div>\n }\n <div class=\"h-full overflow-auto p-4\">\n <ng-container #contentContainer />\n </div>\n </div>\n @if (showBackdrop()) {\n <div\n class=\"pointer-events-auto absolute top-0 -z-10 h-full w-full bg-black bg-opacity-30\"\n ngbDialogBackdrop\n [@fadeAnimation]\n ></div>\n }\n </div>\n `,\n host: {\n '[@parentAnimation]': '',\n '(@parentAnimation.done)': 'animationDone()',\n },\n animations: [\n createHostAnimation(['@viewAnimation', '@fadeAnimation']),\n fadeAnimation('200ms'),\n viewAnimation,\n ],\n})\nexport class NgbDialogContainer extends BaseDialog {\n readonly myDialog = viewChild('contentContainer', { read: ViewContainerRef });\n\n backdropColor = true;\n isSidePopup = true;\n\n readonly onDone = new Subject<any>();\n readonly options = signal<DialogOptions>(new DialogOptions());\n readonly showBackdrop = computed(() => !this.options().fullWindow && this.options().backdrop);\n isHideHeader = false;\n\n constructor() {\n super();\n afterNextRender(() => {\n this._afterViewSource.next(this.myDialog()!);\n });\n }\n\n override setOptions(options: DialogOptions) {\n this.options.set(options);\n this.isHideHeader = !options.header || false;\n this.backdropColor = options.backdropColor || true;\n }\n}\n\n@Directive({\n selector: '[ngbDialogClose]',\n hostDirectives: [{ directive: NgbPortalClose, inputs: ['ngbPortalClose: ngbDialogClose'] }],\n})\nexport class NgbDialogClose {}\n\nexport function aliasDialog(dialog: typeof NgbDialogContainer) {\n return { provide: NgbDialogContainer, useExisting: dialog };\n}\n","/*\n * Public API Surface of dialog\n */\n\nexport * from './dialog.service';\nexport * from './dialog';\nexport * from './dialog.animation';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}