@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,12 +1,11 @@
1
- import { NgTemplateOutlet, NgClass } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, ElementRef, Injector, input, booleanAttribute, computed, effect, afterNextRender, Directive, viewChild, model, signal, Component, ChangeDetectionStrategy, output, untracked, viewChildren } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, Injector, input, booleanAttribute, computed, effect, afterNextRender, Directive, viewChild, model, signal, viewChildren, output, untracked } from '@angular/core';
4
3
  import * as i1$1 from '@ngbase/adk/a11y';
5
4
  import { AccessibleGroup, AccessibleItem } from '@ngbase/adk/a11y';
6
5
  import { Directionality } from '@ngbase/adk/bidi';
7
6
  import { DialogRef } from '@ngbase/adk/portal';
8
7
  import * as i1$2 from '@ngbase/adk/utils';
9
- import { uniqueId, RangePipe, NumberOnly, padString, provideValueAccessor } from '@ngbase/adk/utils';
8
+ import { uniqueId, NumberOnly, padString, provideValueAccessor } from '@ngbase/adk/utils';
10
9
  import * as i1 from '@ngbase/adk/form-field';
11
10
  import { InputBase } from '@ngbase/adk/form-field';
12
11
  import { ngbPopoverPortal } from '@ngbase/adk/popover';
@@ -390,183 +389,22 @@ class NgbDatePicker {
390
389
  }
391
390
  this.showType.set(type);
392
391
  }
393
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbDatePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
394
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: NgbDatePicker, isStandalone: true, selector: "[ngbDatepicker]", inputs: { dateFilter: { classPropertyName: "dateFilter", publicName: "dateFilter", isSignal: true, isRequired: false, transformFunction: null }, pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, noOfCalendar: { classPropertyName: "noOfCalendar", publicName: "noOfCalendar", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { noOfCalendar: "noOfCalendarChange", range: "rangeChange" }, host: { classAttribute: "inline-block" }, viewQueries: [{ propertyName: "allyGroup", first: true, predicate: AccessibleGroup, descendants: true, isSignal: true }], ngImport: i0, template: `
395
- <div class="flex" ngbDatepickerGroup>
396
- @for (no of noOfCalendar() | range; track no) {
397
- <ngb-calendar [first]="$first" [last]="$last" [index]="$index" />
398
- }
399
- </div>
400
- @if (template()) {
401
- <div class="px-2 pb-2">
402
- <ng-container *ngTemplateOutlet="template()" />
403
- </div>
404
- }
405
- `, isInline: true, dependencies: [{ kind: "component", type: NgbCalendar, selector: "ngb-calendar", inputs: ["first", "last", "index"] }, { kind: "pipe", type: RangePipe, name: "range" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: DatepickerGroup, selector: "[ngbDatepickerGroup]", exportAs: ["ngbDatepickerGroup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
392
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbDatePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
393
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.0", type: NgbDatePicker, isStandalone: true, selector: "[ngbDatepicker]", inputs: { dateFilter: { classPropertyName: "dateFilter", publicName: "dateFilter", isSignal: true, isRequired: false, transformFunction: null }, pickerType: { classPropertyName: "pickerType", publicName: "pickerType", isSignal: true, isRequired: false, transformFunction: null }, noOfCalendar: { classPropertyName: "noOfCalendar", publicName: "noOfCalendar", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { noOfCalendar: "noOfCalendarChange", range: "rangeChange" }, viewQueries: [{ propertyName: "allyGroup", first: true, predicate: AccessibleGroup, descendants: true, isSignal: true }], ngImport: i0 }); }
406
394
  }
407
395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbDatePicker, decorators: [{
408
- type: Component,
396
+ type: Directive,
409
397
  args: [{
410
398
  selector: '[ngbDatepicker]',
411
- changeDetection: ChangeDetectionStrategy.OnPush,
412
- imports: [NgbCalendar, RangePipe, NgTemplateOutlet, AccessibleGroup, DatepickerGroup],
413
- template: `
414
- <div class="flex" ngbDatepickerGroup>
415
- @for (no of noOfCalendar() | range; track no) {
416
- <ngb-calendar [first]="$first" [last]="$last" [index]="$index" />
417
- }
418
- </div>
419
- @if (template()) {
420
- <div class="px-2 pb-2">
421
- <ng-container *ngTemplateOutlet="template()" />
422
- </div>
423
- }
424
- `,
425
- host: {
426
- class: 'inline-block',
427
- },
428
399
  }]
429
400
  }], ctorParameters: () => [] });
430
- function provideDatePicker(picker) {
401
+ function aliasDatePicker(picker) {
431
402
  return {
432
403
  provide: NgbDatePicker,
433
404
  useExisting: picker,
434
405
  };
435
406
  }
436
407
 
437
- class NgbTimeInput {
438
- constructor() {
439
- this.numberOnly = inject(NumberOnly);
440
- this.timePicker = inject(NgbTimePicker);
441
- this.ngbTimeInput = input.required();
442
- this.numberOnly._min.set(0);
443
- this.numberOnly._len.set(2);
444
- effect(() => {
445
- const type = this.ngbTimeInput();
446
- if (type === 'hours') {
447
- this.numberOnly._max.set(this.timePicker.is24() ? 23 : 11);
448
- }
449
- else {
450
- this.numberOnly._max.set(59);
451
- }
452
- });
453
- }
454
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
455
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.0", type: NgbTimeInput, isStandalone: true, selector: "[ngbTimeInput]", inputs: { ngbTimeInput: { classPropertyName: "ngbTimeInput", publicName: "ngbTimeInput", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "type": "tel" } }, hostDirectives: [{ directive: i1$2.NumberOnly, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
456
- }
457
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimeInput, decorators: [{
458
- type: Directive,
459
- args: [{
460
- selector: '[ngbTimeInput]',
461
- hostDirectives: [{ directive: NumberOnly, inputs: ['value'], outputs: ['valueChange'] }],
462
- host: {
463
- type: 'tel',
464
- },
465
- }]
466
- }], ctorParameters: () => [] });
467
- class NgbTimePicker {
468
- constructor() {
469
- this.is24 = input(false);
470
- this.value = input();
471
- this.valueChange = output();
472
- this.time = computed(() => {
473
- return (`${padString(this.hours())}:${padString(this.minutes())}:${padString(this.seconds())}` +
474
- (!this.is24() ? ` ${this.am() ? 'AM' : 'PM'}` : ''));
475
- });
476
- this.hours = signal('00');
477
- this.minutes = signal('00');
478
- this.seconds = signal('00');
479
- this.am = signal(true);
480
- this.onChange = (_) => { };
481
- this.onTouched = () => { };
482
- effect(() => {
483
- const value = this.value();
484
- untracked(() => {
485
- this.parseValue(value);
486
- });
487
- });
488
- }
489
- parseValue(value) {
490
- if (value) {
491
- const [time, period] = value.split(' ');
492
- const [hours, minutes, seconds] = time.split(':');
493
- const am = period === 'AM';
494
- this.hours.set(padString(hours));
495
- this.minutes.set(padString(minutes));
496
- this.seconds.set(padString(seconds));
497
- this.am.set(am);
498
- }
499
- }
500
- changeAm(active) {
501
- this.am.set(active);
502
- this.updateValue();
503
- }
504
- updateValue() {
505
- this.notify(this.time());
506
- }
507
- notify(time) {
508
- this.valueChange.emit(time);
509
- this.onChange(time);
510
- this.onTouched();
511
- }
512
- writeValue(value) {
513
- if (value) {
514
- this.parseValue(value);
515
- }
516
- }
517
- registerOnChange(fn) {
518
- this.onChange = fn;
519
- }
520
- registerOnTouched(fn) {
521
- this.onTouched = fn;
522
- }
523
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
524
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: NgbTimePicker, isStandalone: true, selector: "[ngbTime]", inputs: { is24: { classPropertyName: "is24", publicName: "is24", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "inline-flex gap-1 items-center justify-center" }, providers: [_provide(NgbTimePicker)], ngImport: i0, template: `
525
- <input ngbTimeInput="hours" [(value)]="hours" (valueChange)="updateValue()" />
526
- <span>:</span>
527
- <input ngbTimeInput="minutes" [(value)]="minutes" (valueChange)="updateValue()" />
528
- <span>:</span>
529
- <input ngbTimeInput="seconds" [(value)]="seconds" (valueChange)="updateValue()" />
530
- @if (!is24()) {
531
- <div class="ml-1 flex gap-2">
532
- <button type="button" class="small" (click)="changeAm(true)">AM</button>
533
- <button type="button" class="small" (click)="changeAm(false)">PM</button>
534
- </div>
535
- }
536
- `, isInline: true, dependencies: [{ kind: "directive", type: NgbTimeInput, selector: "[ngbTimeInput]", inputs: ["ngbTimeInput"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
537
- }
538
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimePicker, decorators: [{
539
- type: Component,
540
- args: [{
541
- selector: '[ngbTime]',
542
- changeDetection: ChangeDetectionStrategy.OnPush,
543
- providers: [_provide(NgbTimePicker)],
544
- imports: [NumberOnly, NgbTimeInput],
545
- template: `
546
- <input ngbTimeInput="hours" [(value)]="hours" (valueChange)="updateValue()" />
547
- <span>:</span>
548
- <input ngbTimeInput="minutes" [(value)]="minutes" (valueChange)="updateValue()" />
549
- <span>:</span>
550
- <input ngbTimeInput="seconds" [(value)]="seconds" (valueChange)="updateValue()" />
551
- @if (!is24()) {
552
- <div class="ml-1 flex gap-2">
553
- <button type="button" class="small" (click)="changeAm(true)">AM</button>
554
- <button type="button" class="small" (click)="changeAm(false)">PM</button>
555
- </div>
556
- }
557
- `,
558
- host: {
559
- class: 'inline-flex gap-1 items-center justify-center',
560
- },
561
- }]
562
- }], ctorParameters: () => [] });
563
- function _provide(picker) {
564
- return [provideValueAccessor(picker)];
565
- }
566
- function provideTimePicker(picker) {
567
- return [_provide(picker), { provide: NgbTimePicker, useExisting: picker }];
568
- }
569
-
570
408
  class CalendarBtn {
571
409
  constructor() {
572
410
  this.cal = inject(NgbCalendar);
@@ -951,180 +789,128 @@ class NgbCalendar {
951
789
  ngOnDestroy() {
952
790
  this.clearListeners();
953
791
  }
954
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
955
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.0", type: NgbCalendar, isStandalone: true, selector: "ngb-calendar", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "days", predicate: CalendarDayBtn, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
956
- <div class="mb-2 flex items-center justify-between">
957
- <button ngbCalendarBtn="left">{{ dir.isRtl() ? '>' : '<' }}</button>
958
- <button ngbCalendarTitle>{{ title() }}</button>
959
- <button ngbCalendarBtn="right">{{ dir.isRtl() ? '<' : '>' }}</button>
960
- </div>
961
-
962
- @if (datePicker.showType() === 'year') {
963
- <div class="grid grid-cols-3">
964
- @for (year of years(); track year.year) {
965
- <button
966
- [ngbCalYearBtn]="year"
967
- #yearBtn="ngbCalYearBtn"
968
- class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
969
- year.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
970
- }}"
971
- [ngClass]="{
972
- 'border bg-muted-background': yearBtn.selected(),
973
- '!bg-primary text-foreground': yearBtn.active(),
974
- }"
975
- >
976
- {{ year.year }}
977
- </button>
978
- }
979
- </div>
980
- } @else if (datePicker.showType() === 'month') {
981
- <div class="grid grid-cols-3">
982
- @for (month of months(); track month.value) {
983
- <button
984
- [ngbCalMonthBtn]="month"
985
- #monthBtn="ngbCalMonthBtn"
986
- class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
987
- month.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
988
- }}"
989
- [ngClass]="{
990
- 'border bg-muted-background': monthBtn.selected(),
991
- '!bg-primary text-foreground': monthBtn.active(),
992
- }"
993
- >
994
- {{ month.name }}
995
- </button>
996
- }
997
- </div>
998
- } @else {
999
- <div class="day-names grid grid-cols-7">
1000
- @for (dayName of dayNames; track dayName) {
1001
- <div class="p-1 text-center text-muted">{{ dayName }}</div>
1002
- }
1003
- </div>
1004
- <div class="grid grid-cols-7 gap-y-2">
1005
- @for (day of getDaysArray(); track day.day + '-' + day.mon) {
1006
- <button
1007
- #days="ngbCalDayBtn"
1008
- [ngbCalDayBtn]="day"
1009
- class="mx-auto flex h-9 w-9 items-center justify-center text-center {{
1010
- day.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
1011
- }}"
1012
- [ngClass]="{
1013
- 'bg-muted-background': days.selected(),
1014
- 'opacity-40': days.dummy(),
1015
- '!bg-primary text-foreground': days.active(),
1016
- }"
1017
- >
1018
- {{ day.day }}
1019
- </button>
1020
- }
1021
- </div>
1022
- @if (datePicker.time() && datePicker.range()) {
1023
- <div ngbTime [(value)]="time1" (valueChange)="timeChanged(0, time1()!)"></div>
1024
- <div ngbTime [(value)]="time2" (valueChange)="timeChanged(1, time2()!)"></div>
1025
- }
1026
- }
1027
- `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgbTimePicker, selector: "[ngbTime]", inputs: ["is24", "value"], outputs: ["valueChange"] }, { kind: "directive", type: CalendarBtn, selector: "[ngbCalendarBtn]", inputs: ["ngbCalendarBtn"] }, { kind: "directive", type: CalendarTitle, selector: "[ngbCalendarTitle]" }, { kind: "directive", type: CalendarYearBtn, selector: "[ngbCalYearBtn]", inputs: ["ngbCalYearBtn"], exportAs: ["ngbCalYearBtn"] }, { kind: "directive", type: CalendarMonthBtn, selector: "[ngbCalMonthBtn]", inputs: ["ngbCalMonthBtn"], exportAs: ["ngbCalMonthBtn"] }, { kind: "directive", type: CalendarDayBtn, selector: "[ngbCalDayBtn]", inputs: ["ngbCalDayBtn"], exportAs: ["ngbCalDayBtn"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbCalendar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
793
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.0", type: NgbCalendar, isStandalone: true, selector: "ngb-calendar", inputs: { first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, last: { classPropertyName: "last", publicName: "last", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "days", predicate: CalendarDayBtn, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0 }); }
1028
794
  }
1029
795
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbCalendar, decorators: [{
1030
- type: Component,
796
+ type: Directive,
1031
797
  args: [{
1032
798
  selector: 'ngb-calendar',
1033
- changeDetection: ChangeDetectionStrategy.OnPush,
1034
- imports: [
1035
- NgClass,
1036
- NgbTimePicker,
1037
- CalendarBtn,
1038
- CalendarTitle,
1039
- CalendarYearBtn,
1040
- CalendarMonthBtn,
1041
- CalendarDayBtn,
1042
- ],
1043
- template: `
1044
- <div class="mb-2 flex items-center justify-between">
1045
- <button ngbCalendarBtn="left">{{ dir.isRtl() ? '>' : '<' }}</button>
1046
- <button ngbCalendarTitle>{{ title() }}</button>
1047
- <button ngbCalendarBtn="right">{{ dir.isRtl() ? '<' : '>' }}</button>
1048
- </div>
1049
-
1050
- @if (datePicker.showType() === 'year') {
1051
- <div class="grid grid-cols-3">
1052
- @for (year of years(); track year.year) {
1053
- <button
1054
- [ngbCalYearBtn]="year"
1055
- #yearBtn="ngbCalYearBtn"
1056
- class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
1057
- year.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
1058
- }}"
1059
- [ngClass]="{
1060
- 'border bg-muted-background': yearBtn.selected(),
1061
- '!bg-primary text-foreground': yearBtn.active(),
1062
- }"
1063
- >
1064
- {{ year.year }}
1065
- </button>
1066
- }
1067
- </div>
1068
- } @else if (datePicker.showType() === 'month') {
1069
- <div class="grid grid-cols-3">
1070
- @for (month of months(); track month.value) {
1071
- <button
1072
- [ngbCalMonthBtn]="month"
1073
- #monthBtn="ngbCalMonthBtn"
1074
- class="items-center justify-center rounded-md py-2 h-9 w-[84px] {{
1075
- month.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
1076
- }}"
1077
- [ngClass]="{
1078
- 'border bg-muted-background': monthBtn.selected(),
1079
- '!bg-primary text-foreground': monthBtn.active(),
1080
- }"
1081
- >
1082
- {{ month.name }}
1083
- </button>
1084
- }
1085
- </div>
1086
- } @else {
1087
- <div class="day-names grid grid-cols-7">
1088
- @for (dayName of dayNames; track dayName) {
1089
- <div class="p-1 text-center text-muted">{{ dayName }}</div>
1090
- }
1091
- </div>
1092
- <div class="grid grid-cols-7 gap-y-2">
1093
- @for (day of getDaysArray(); track day.day + '-' + day.mon) {
1094
- <button
1095
- #days="ngbCalDayBtn"
1096
- [ngbCalDayBtn]="day"
1097
- class="mx-auto flex h-9 w-9 items-center justify-center text-center {{
1098
- day.disabled ? 'cursor-default opacity-50' : 'hover:bg-muted-background'
1099
- }}"
1100
- [ngClass]="{
1101
- 'bg-muted-background': days.selected(),
1102
- 'opacity-40': days.dummy(),
1103
- '!bg-primary text-foreground': days.active(),
1104
- }"
1105
- >
1106
- {{ day.day }}
1107
- </button>
1108
- }
1109
- </div>
1110
- @if (datePicker.time() && datePicker.range()) {
1111
- <div ngbTime [(value)]="time1" (valueChange)="timeChanged(0, time1()!)"></div>
1112
- <div ngbTime [(value)]="time2" (valueChange)="timeChanged(1, time2()!)"></div>
1113
- }
1114
- }
1115
- `,
1116
799
  }]
1117
800
  }], ctorParameters: () => [] });
1118
- function provideCalendar(cal) {
801
+ function aliasCalendar(cal) {
1119
802
  return {
1120
803
  provide: NgbCalendar,
1121
804
  useExisting: cal,
1122
805
  };
1123
806
  }
1124
807
 
808
+ class NgbTimeInput {
809
+ constructor() {
810
+ this.numberOnly = inject(NumberOnly);
811
+ this.timePicker = inject(NgbTimePicker);
812
+ this.ngbTimeInput = input.required();
813
+ this.numberOnly._min.set(0);
814
+ this.numberOnly._len.set(2);
815
+ effect(() => {
816
+ const type = this.ngbTimeInput();
817
+ if (type === 'hours') {
818
+ this.numberOnly._max.set(this.timePicker.is24() ? 23 : 11);
819
+ }
820
+ else {
821
+ this.numberOnly._max.set(59);
822
+ }
823
+ });
824
+ }
825
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimeInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
826
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.0", type: NgbTimeInput, isStandalone: true, selector: "[ngbTimeInput]", inputs: { ngbTimeInput: { classPropertyName: "ngbTimeInput", publicName: "ngbTimeInput", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "type": "tel" } }, hostDirectives: [{ directive: i1$2.NumberOnly, inputs: ["value", "value"], outputs: ["valueChange", "valueChange"] }], ngImport: i0 }); }
827
+ }
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimeInput, decorators: [{
829
+ type: Directive,
830
+ args: [{
831
+ selector: '[ngbTimeInput]',
832
+ hostDirectives: [{ directive: NumberOnly, inputs: ['value'], outputs: ['valueChange'] }],
833
+ host: {
834
+ type: 'tel',
835
+ },
836
+ }]
837
+ }], ctorParameters: () => [] });
838
+ class NgbTimePicker {
839
+ constructor() {
840
+ this.is24 = input(false);
841
+ this.value = input();
842
+ this.valueChange = output();
843
+ this.time = computed(() => {
844
+ return (`${padString(this.hours())}:${padString(this.minutes())}:${padString(this.seconds())}` +
845
+ (!this.is24() ? ` ${this.am() ? 'AM' : 'PM'}` : ''));
846
+ });
847
+ this.hours = signal('00');
848
+ this.minutes = signal('00');
849
+ this.seconds = signal('00');
850
+ this.am = signal(true);
851
+ this.onChange = (_) => { };
852
+ this.onTouched = () => { };
853
+ effect(() => {
854
+ const value = this.value();
855
+ untracked(() => {
856
+ this.parseValue(value);
857
+ });
858
+ });
859
+ }
860
+ parseValue(value) {
861
+ if (value) {
862
+ const [time, period] = value.split(' ');
863
+ const [hours, minutes, seconds] = time.split(':');
864
+ const am = period === 'AM';
865
+ this.hours.set(padString(hours));
866
+ this.minutes.set(padString(minutes));
867
+ this.seconds.set(padString(seconds));
868
+ this.am.set(am);
869
+ }
870
+ }
871
+ changeAm(active) {
872
+ this.am.set(active);
873
+ this.updateValue();
874
+ }
875
+ updateValue() {
876
+ this.notify(this.time());
877
+ }
878
+ notify(time) {
879
+ this.valueChange.emit(time);
880
+ this.onChange(time);
881
+ this.onTouched();
882
+ }
883
+ writeValue(value) {
884
+ if (value) {
885
+ this.parseValue(value);
886
+ }
887
+ }
888
+ registerOnChange(fn) {
889
+ this.onChange = fn;
890
+ }
891
+ registerOnTouched(fn) {
892
+ this.onTouched = fn;
893
+ }
894
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimePicker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
895
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.0", type: NgbTimePicker, isStandalone: true, selector: "[ngbTime]", inputs: { is24: { classPropertyName: "is24", publicName: "is24", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, providers: [_provide(NgbTimePicker)], ngImport: i0 }); }
896
+ }
897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NgbTimePicker, decorators: [{
898
+ type: Directive,
899
+ args: [{
900
+ selector: '[ngbTime]',
901
+ providers: [_provide(NgbTimePicker)],
902
+ }]
903
+ }], ctorParameters: () => [] });
904
+ function _provide(picker) {
905
+ return [provideValueAccessor(picker)];
906
+ }
907
+ function aliasTimePicker(picker) {
908
+ return [_provide(picker), { provide: NgbTimePicker, useExisting: picker }];
909
+ }
910
+
1125
911
  /**
1126
912
  * Generated bundle index. Do not edit.
1127
913
  */
1128
914
 
1129
- export { CalendarBtn, CalendarDayBtn, CalendarMonthBtn, CalendarTitle, CalendarYearBtn, DatepickerGroup, NgbCalendar, NgbDateAdapter, NgbDatePicker, NgbDatepickerTrigger, NgbNativeDateAdapter, NgbTimeInput, NgbTimePicker, injectNgbDateAdapter, provideCalendar, provideDatePicker, provideTimePicker, registerDatePicker };
915
+ export { CalendarBtn, CalendarDayBtn, CalendarMonthBtn, CalendarTitle, CalendarYearBtn, DatepickerGroup, NgbCalendar, NgbDateAdapter, NgbDatePicker, NgbDatepickerTrigger, NgbNativeDateAdapter, NgbTimeInput, NgbTimePicker, aliasCalendar, aliasDatePicker, aliasTimePicker, injectNgbDateAdapter, registerDatePicker };
1130
916
  //# sourceMappingURL=ngbase-adk-datepicker.mjs.map