@wavemaker/app-ng-runtime 11.11.4-rc.6172 → 11.11.5-rc.214

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 (61) hide show
  1. package/components/base/bundles/index.umd.js +1 -1
  2. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +2 -2
  3. package/components/base/fesm2022/index.mjs +1 -1
  4. package/components/base/fesm2022/index.mjs.map +1 -1
  5. package/components/data/form/bundles/index.umd.js +20 -1
  6. package/components/data/form/esm2022/form-action/form-action.directive.mjs +5 -2
  7. package/components/data/form/esm2022/form-field/form-field.directive.mjs +2 -1
  8. package/components/data/form/esm2022/form.component.mjs +15 -1
  9. package/components/data/form/esm2022/form.props.mjs +2 -1
  10. package/components/data/form/fesm2022/index.mjs +20 -1
  11. package/components/data/form/fesm2022/index.mjs.map +1 -1
  12. package/components/data/form/form.component.d.ts +1 -0
  13. package/components/data/list/bundles/index.umd.js +53 -10
  14. package/components/data/list/esm2022/list.component.mjs +51 -10
  15. package/components/data/list/esm2022/list.props.mjs +4 -2
  16. package/components/data/list/fesm2022/index.mjs +53 -10
  17. package/components/data/list/fesm2022/index.mjs.map +1 -1
  18. package/components/data/list/list.component.d.ts +7 -0
  19. package/components/data/pagination/bundles/index.umd.js +502 -106
  20. package/components/data/pagination/esm2022/pagination.component.mjs +500 -105
  21. package/components/data/pagination/esm2022/pagination.props.mjs +4 -1
  22. package/components/data/pagination/fesm2022/index.mjs +502 -104
  23. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  24. package/components/data/pagination/pagination.component.d.ts +21 -1
  25. package/components/data/table/bundles/index.umd.js +89 -11
  26. package/components/data/table/esm2022/table-column/table-column.directive.mjs +3 -2
  27. package/components/data/table/esm2022/table-column/table-column.props.mjs +2 -1
  28. package/components/data/table/esm2022/table.component.mjs +82 -12
  29. package/components/data/table/esm2022/table.props.mjs +7 -1
  30. package/components/data/table/fesm2022/index.mjs +90 -12
  31. package/components/data/table/fesm2022/index.mjs.map +1 -1
  32. package/components/data/table/table-column/table-column.directive.d.ts +1 -0
  33. package/components/data/table/table.component.d.ts +17 -0
  34. package/components/input/epoch/base-date-time.component.d.ts +3 -1
  35. package/components/input/epoch/bundles/index.umd.js +123 -65
  36. package/components/input/epoch/esm2022/base-date-time.component.mjs +31 -20
  37. package/components/input/epoch/esm2022/date/date.component.mjs +5 -6
  38. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +45 -22
  39. package/components/input/epoch/esm2022/date-time/date-time.props.mjs +3 -2
  40. package/components/input/epoch/esm2022/time/time.component.mjs +40 -14
  41. package/components/input/epoch/esm2022/time/time.props.mjs +3 -2
  42. package/components/input/epoch/fesm2022/index.mjs +118 -60
  43. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  44. package/components/input/slider/bundles/index.umd.js +107 -38
  45. package/components/input/slider/esm2022/slider.component.mjs +86 -18
  46. package/components/input/slider/esm2022/slider.props.mjs +5 -3
  47. package/components/input/slider/fesm2022/index.mjs +88 -19
  48. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  49. package/components/input/slider/slider.component.d.ts +5 -0
  50. package/npm-shrinkwrap.json +2 -2
  51. package/oAuth/esm2022/oAuth.service.mjs +1 -1
  52. package/oAuth/fesm2022/index.mjs.map +1 -1
  53. package/package-lock.json +2 -2
  54. package/package.json +1 -1
  55. package/runtime/base/bundles/index.umd.js +84 -34
  56. package/runtime/base/components/app-component/app.component.d.ts +10 -3
  57. package/runtime/base/esm2022/components/app-component/app.component.mjs +85 -34
  58. package/runtime/base/esm2022/util/wm-route-reuse-strategy.mjs +2 -2
  59. package/runtime/base/fesm2022/index.mjs +85 -35
  60. package/runtime/base/fesm2022/index.mjs.map +1 -1
  61. package/scripts/datatable/datatable.js +56 -10
@@ -9,6 +9,7 @@ import * as i2 from 'ngx-bootstrap/datepicker';
9
9
  import { BsDatepickerModule, BsDatepickerConfig, BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
10
10
  import * as i1$1 from '@wm/core';
11
11
  import { App, AbstractI18nService, isMobile, getFormattedDate, getDateObj, setAttr, getNativeDateObject, FormWidgetType, getMomentLocaleObject, getDisplayDateTimeFormat, adjustContainerPosition, adjustContainerRightEdges, addEventListenerOnElement, addClass, $appDigest } from '@wm/core';
12
+ import * as i6 from '@angular/common';
12
13
  import { CommonModule, getLocaleDayPeriods, FormStyle, TranslationWidth } from '@angular/common';
13
14
  import * as i3 from 'ngx-bootstrap/dropdown';
14
15
  import { BsDropdownModule, BsDropdownDirective } from 'ngx-bootstrap/dropdown';
@@ -684,6 +685,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
684
685
  super(inj, WIDGET_CONFIG, explicitContext);
685
686
  this.isReadOnly = false;
686
687
  this.clicked = false;
688
+ this.showampmbuttons = true;
687
689
  this.formatsByLocale = { 'timezone': '' };
688
690
  /**
689
691
  * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker
@@ -1538,30 +1540,40 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
1538
1540
  setTimeout(() => displayInputElem.blur());
1539
1541
  }
1540
1542
  }
1541
- adjustDateTimePickerInModel(element, elementDirective) {
1542
- if (this.containerTarget === '.modal-container' && element) {
1543
- setTimeout(() => {
1544
- elementDirective._datepicker._posService.disable();
1545
- const inputRect = this.nativeElement.getBoundingClientRect();
1546
- const elementHeight = $('timepicker')[0]?.offsetHeight || element.offsetHeight;
1547
- let top;
1548
- if (inputRect.bottom + elementHeight > window.innerHeight) {
1549
- top = inputRect.top - elementHeight + window.scrollY;
1550
- }
1551
- else {
1552
- top = inputRect.bottom + window.scrollY;
1553
- }
1554
- const left = inputRect.left + window.scrollX;
1555
- element.style.top = `${top}px`;
1556
- element.style.left = `${left}px`;
1557
- element.style.transform = 'none';
1558
- });
1543
+ getPeriod() {
1544
+ if (!this.elementScope.bsTimeValue)
1545
+ return 'AM';
1546
+ const hours = this.elementScope.bsTimeValue.getHours();
1547
+ return hours >= 12 ? 'PM' : 'AM';
1548
+ }
1549
+ setPeriod(period) {
1550
+ const current = this.elementScope.bsTimeValue;
1551
+ if (!current || !(current instanceof Date))
1552
+ return;
1553
+ const updatedDate = new Date(current);
1554
+ const hours = updatedDate.getHours();
1555
+ if (period === 'AM' && hours >= 12) {
1556
+ updatedDate.setHours(hours - 12);
1557
+ }
1558
+ else if (period === 'PM' && hours < 12) {
1559
+ updatedDate.setHours(hours + 12);
1560
+ }
1561
+ if (this.elementScope.widgetType === 'wm-time') {
1562
+ const isInvalid = this.elementScope.minTime && this.elementScope.maxTime && (updatedDate < this.elementScope.minTime || updatedDate > this.elementScope.maxTime);
1563
+ if (!isInvalid)
1564
+ this.elementScope.onTimeChange(updatedDate);
1565
+ }
1566
+ else {
1567
+ this.elementScope.onModelUpdate(updatedDate);
1559
1568
  }
1560
1569
  }
1561
1570
  onPropertyChange(key, nv, ov) {
1562
1571
  if (key === 'tabindex') {
1563
1572
  return;
1564
1573
  }
1574
+ if (key === 'showampmbuttons') {
1575
+ this.showampmbuttons = nv;
1576
+ }
1565
1577
  if (key === 'required') {
1566
1578
  this._onChange(this.datavalue);
1567
1579
  return;
@@ -1626,7 +1638,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
1626
1638
  }
1627
1639
  ngAfterViewInit() {
1628
1640
  super.ngAfterViewInit();
1629
- this.containerTarget = this.nativeElement.closest('modal-container') ? '.modal-container' : getContainerTargetClass(this.nativeElement);
1641
+ this.containerTarget = getContainerTargetClass(this.nativeElement);
1630
1642
  this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
1631
1643
  // this mobileinput width varies in ios hence setting width here.
1632
1644
  const mobileInput = this.getMobileInput();
@@ -1995,16 +2007,15 @@ class DateComponent extends BaseDateTimeComponent {
1995
2007
  // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.
1996
2008
  // To fix the container top position set the width 1px;
1997
2009
  this.$element.find('.model-holder').width('1px');
1998
- const datePickerContainerEl = $('bs-datepicker-container');
1999
- datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2010
+ const dpContainerEl = $('bs-datepicker-container');
2011
+ dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2000
2012
  $('.bs-calendar-container').removeAttr('role');
2001
2013
  const datePickerContainer = $('.bs-datepicker-container')[0];
2002
2014
  this.focusTrap = setFocusTrap(datePickerContainer, true);
2003
2015
  this.focusTrap.activate();
2004
2016
  this.addDatepickerKeyboardEvents(this, false);
2005
- adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2006
- adjustContainerRightEdges(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2007
- this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
2017
+ adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2018
+ adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2008
2019
  if (this.timeZone) {
2009
2020
  const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`);
2010
2021
  const setTodayTZHandler = (event) => {
@@ -2244,7 +2255,8 @@ const dateTimeProps = new Map([
2244
2255
  ['clearbutton', { value: true, ...PROP_BOOLEAN }],
2245
2256
  ['adaptiveposition', { value: true, ...PROP_BOOLEAN }],
2246
2257
  ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...PROP_STRING }],
2247
- ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }]
2258
+ ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...PROP_STRING }],
2259
+ ['showampmbuttons', { value: false, ...PROP_BOOLEAN }]
2248
2260
  ]);
2249
2261
  const registerProps$1 = () => {
2250
2262
  register('wm-datetime', dateTimeProps);
@@ -2254,6 +2266,26 @@ const registerProps$1 = () => {
2254
2266
 
2255
2267
  const _c0$1 = ["wmDateTime", ""];
2256
2268
  const _c1$1 = () => ({ standalone: true });
2269
+ const _c2$1 = a0 => ({ "showbuttons": a0 });
2270
+ const _c3$1 = a0 => ({ "active btn-secondary": a0 });
2271
+ function DatetimeComponent_div_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2272
+ const _r4 = i0.ɵɵgetCurrentView();
2273
+ i0.ɵɵelementStart(0, "div", 13)(1, "button", 14);
2274
+ i0.ɵɵlistener("click", function DatetimeComponent_div_10_Conditional_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setPeriod("AM")); });
2275
+ i0.ɵɵtext(2, "AM");
2276
+ i0.ɵɵelementEnd();
2277
+ i0.ɵɵelement(3, "br");
2278
+ i0.ɵɵelementStart(4, "button", 15);
2279
+ i0.ɵɵlistener("click", function DatetimeComponent_div_10_Conditional_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setPeriod("PM")); });
2280
+ i0.ɵɵtext(5, "PM");
2281
+ i0.ɵɵelementEnd()();
2282
+ } if (rf & 2) {
2283
+ const ctx_r2 = i0.ɵɵnextContext(2);
2284
+ i0.ɵɵadvance();
2285
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c3$1, ctx_r2.getPeriod() === "AM"));
2286
+ i0.ɵɵadvance(3);
2287
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3$1, ctx_r2.getPeriod() === "PM"));
2288
+ } }
2257
2289
  function DatetimeComponent_div_10_Template(rf, ctx) { if (rf & 1) {
2258
2290
  const _r2 = i0.ɵɵgetCurrentView();
2259
2291
  i0.ɵɵelementStart(0, "div", 11);
@@ -2261,21 +2293,25 @@ function DatetimeComponent_div_10_Template(rf, ctx) { if (rf & 1) {
2261
2293
  i0.ɵɵelementStart(1, "timepicker", 12);
2262
2294
  i0.ɵɵtwoWayListener("ngModelChange", function DatetimeComponent_div_10_Template_timepicker_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r2.bsTimeValue, $event) || (ctx_r2.bsTimeValue = $event); return i0.ɵɵresetView($event); });
2263
2295
  i0.ɵɵlistener("isValid", function DatetimeComponent_div_10_Template_timepicker_isValid_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.isValid($event)); })("ngModelChange", function DatetimeComponent_div_10_Template_timepicker_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onModelUpdate($event, "time")); });
2264
- i0.ɵɵelementEnd()();
2296
+ i0.ɵɵelementEnd();
2297
+ i0.ɵɵtemplate(2, DatetimeComponent_div_10_Conditional_2_Template, 6, 6, "div", 13);
2298
+ i0.ɵɵelementEnd();
2265
2299
  } if (rf & 2) {
2266
2300
  const ctx_r2 = i0.ɵɵnextContext();
2267
2301
  i0.ɵɵadvance();
2268
2302
  i0.ɵɵproperty("showMeridian", ctx_r2.ismeridian)("readonlyInput", ctx_r2.disabled || ctx_r2.readonly || ctx_r2.isCurrentDate);
2269
2303
  i0.ɵɵtwoWayProperty("ngModel", ctx_r2.bsTimeValue);
2270
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(12, _c1$1))("min", ctx_r2.minTime)("max", ctx_r2.maxTime)("hourStep", ctx_r2.hourstep)("minuteStep", ctx_r2.minutestep)("secondsStep", ctx_r2.secondsstep)("mousewheel", true)("arrowkeys", true)("showSeconds", ctx_r2.showseconds);
2304
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(14, _c1$1))("min", ctx_r2.minTime)("max", ctx_r2.maxTime)("hourStep", ctx_r2.hourstep)("minuteStep", ctx_r2.minutestep)("secondsStep", ctx_r2.secondsstep)("mousewheel", true)("arrowkeys", true)("showSeconds", ctx_r2.showseconds)("ngClass", i0.ɵɵpureFunction1(15, _c2$1, ctx_r2.showampmbuttons));
2305
+ i0.ɵɵadvance();
2306
+ i0.ɵɵconditional(ctx_r2.ismeridian && ctx_r2.showampmbuttons ? 2 : -1);
2271
2307
  } }
2272
2308
  function DatetimeComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
2273
- const _r4 = i0.ɵɵgetCurrentView();
2274
- i0.ɵɵelementStart(0, "wm-datetimepicker", 13);
2275
- i0.ɵɵlistener("change", function DatetimeComponent_Conditional_11_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onModelUpdate($event, "date")); });
2309
+ const _r5 = i0.ɵɵgetCurrentView();
2310
+ i0.ɵɵelementStart(0, "wm-datetimepicker", 16);
2311
+ i0.ɵɵlistener("change", function DatetimeComponent_Conditional_11_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.onModelUpdate($event, "date")); });
2276
2312
  i0.ɵɵelementEnd();
2277
- i0.ɵɵelementStart(1, "div", 14);
2278
- i0.ɵɵlistener("click", function DatetimeComponent_Conditional_11_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r2.disabled || ctx_r2.readonly) && ctx_r2.showDatePickerModal(ctx_r2.bsDateValue)); })("focus", function DatetimeComponent_Conditional_11_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DatetimeComponent_Conditional_11_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
2313
+ i0.ɵɵelementStart(1, "div", 17);
2314
+ i0.ɵɵlistener("click", function DatetimeComponent_Conditional_11_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r2.disabled || ctx_r2.readonly) && ctx_r2.showDatePickerModal(ctx_r2.bsDateValue)); })("focus", function DatetimeComponent_Conditional_11_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DatetimeComponent_Conditional_11_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
2279
2315
  i0.ɵɵelementEnd();
2280
2316
  } if (rf & 2) {
2281
2317
  const ctx_r2 = i0.ɵɵnextContext();
@@ -2438,10 +2474,8 @@ class DatetimeComponent extends BaseDateTimeComponent {
2438
2474
  this.bsDatePickerDirective.hide();
2439
2475
  this.focusTimePickerPopover(this);
2440
2476
  this.bindTimePickerKeyboardEvents();
2441
- const dropdownContainerEl = $('bs-dropdown-container');
2442
- adjustContainerPosition(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2443
- adjustContainerRightEdges(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2444
- this.adjustDateTimePickerInModel(dropdownContainerEl[0], this.bsDatePickerDirective);
2477
+ adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2478
+ adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2445
2479
  }
2446
2480
  onDatePickerOpen() {
2447
2481
  this.isDateOpen = !this.isDateOpen;
@@ -2450,8 +2484,8 @@ class DatetimeComponent extends BaseDateTimeComponent {
2450
2484
  // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.
2451
2485
  // To fix the container top position set the width 1px;
2452
2486
  this.$element.find('.model-holder').width('1px');
2453
- const datePickerContainerEl = $('bs-datepicker-container');
2454
- datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2487
+ const dpContainerEl = $('bs-datepicker-container');
2488
+ dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2455
2489
  $('.bs-calendar-container').removeAttr('role');
2456
2490
  const datePickerContainer = $('.bs-datepicker-container')[0];
2457
2491
  this.focusTrap = setFocusTrap(datePickerContainer, true);
@@ -2461,8 +2495,7 @@ class DatetimeComponent extends BaseDateTimeComponent {
2461
2495
  this.hightlightToday(this.activeDate);
2462
2496
  }
2463
2497
  this.addDatepickerKeyboardEvents(this, true);
2464
- adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2465
- this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
2498
+ adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2466
2499
  }
2467
2500
  /**
2468
2501
  * This is an internal method to update the model
@@ -2707,7 +2740,7 @@ class DatetimeComponent extends BaseDateTimeComponent {
2707
2740
  provideAs(DatetimeComponent, NG_VALIDATORS, true),
2708
2741
  provideAsWidgetRef(DatetimeComponent),
2709
2742
  { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }
2710
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c0$1, decls: 12, vars: 31, consts: [["datepicker", "bsDatepicker"], ["dropdown", "", "autoClose", "false", 2, "display", "inherit", 3, "onShown", "isOpen", "container"], ["focus-target", "", "type", "text", 1, "form-control", "app-textbox", "display-input", 3, "click", "focus", "blur", "change", "keydown", "name", "tabindex", "value", "autofocus", "disabled", "required", "readOnly"], [1, "input-group-btn"], ["type", "button", "aria-haspopup", "true", 1, "btn", "btn-default", "btn-date", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-calendar"], ["type", "button", "aria-label", "Select time", "aria-haspopup", "true", "aria-expanded", "false", 1, "btn", "btn-default", "btn-time", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-time"], [2, "width", "0", "display", "inline-block"], ["aria-label", "datepicker dropdownmenu", "aria-controls", "date", "focus-target", "", "placement", "bottom right", "bsDatepicker", "", 1, "model-holder", 3, "onShown", "onHidden", "bsValueChange", "tabindex", "container", "bsConfig", "isOpen", "daysDisabled", "datesDisabled", "isDisabled", "bsValue"], ["class", "dropdown-menu", "aria-label", "timepicker dropdown", "aria-controls", "time", 3, "click", 4, "dropdownMenu"], ["aria-label", "timepicker dropdown", "aria-controls", "time", 1, "dropdown-menu", 3, "click"], [1, "model-holder", 3, "ngModelChange", "isValid", "showMeridian", "readonlyInput", "ngModel", "ngModelOptions", "min", "max", "hourStep", "minuteStep", "secondsStep", "mousewheel", "arrowkeys", "showSeconds"], ["dateTimePicker", "", 3, "change", "config", "placement", "excludedDaysToDisable", "excludedDatesToDisable", "displayFormat", "value"], ["role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur", "tabindex"]], template: function DatetimeComponent_Template(rf, ctx) { if (rf & 1) {
2743
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c0$1, decls: 12, vars: 31, consts: [["datepicker", "bsDatepicker"], ["dropdown", "", "autoClose", "false", 2, "display", "inherit", 3, "onShown", "isOpen", "container"], ["focus-target", "", "type", "text", 1, "form-control", "app-textbox", "display-input", 3, "click", "focus", "blur", "change", "keydown", "name", "tabindex", "value", "autofocus", "disabled", "required", "readOnly"], [1, "input-group-btn"], ["type", "button", "aria-haspopup", "true", 1, "btn", "btn-default", "btn-date", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-calendar"], ["type", "button", "aria-label", "Select time", "aria-haspopup", "true", "aria-expanded", "false", 1, "btn", "btn-default", "btn-time", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-time"], [2, "width", "0", "display", "inline-block"], ["aria-label", "datepicker dropdownmenu", "aria-controls", "date", "focus-target", "", "placement", "bottom right", "bsDatepicker", "", 1, "model-holder", 3, "onShown", "onHidden", "bsValueChange", "tabindex", "container", "bsConfig", "isOpen", "daysDisabled", "datesDisabled", "isDisabled", "bsValue"], ["class", "dropdown-menu", "aria-label", "timepicker dropdown", "aria-controls", "time", 3, "click", 4, "dropdownMenu"], ["aria-label", "timepicker dropdown", "aria-controls", "time", 1, "dropdown-menu", 3, "click"], [1, "model-holder", 3, "ngModelChange", "isValid", "showMeridian", "readonlyInput", "ngModel", "ngModelOptions", "min", "max", "hourStep", "minuteStep", "secondsStep", "mousewheel", "arrowkeys", "showSeconds", "ngClass"], [1, "ampm-toggle", "text-center"], [1, "meridian-btn", "mb-1", 3, "click", "ngClass"], [1, "meridian-btn", 3, "click", "ngClass"], ["dateTimePicker", "", 3, "change", "config", "placement", "excludedDaysToDisable", "excludedDatesToDisable", "displayFormat", "value"], ["role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur", "tabindex"]], template: function DatetimeComponent_Template(rf, ctx) { if (rf & 1) {
2711
2744
  const _r1 = i0.ɵɵgetCurrentView();
2712
2745
  i0.ɵɵelementStart(0, "div", 1);
2713
2746
  i0.ɵɵlistener("onShown", function DatetimeComponent_Template_div_onShown_0_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onTimepickerOpen()); });
@@ -2725,7 +2758,7 @@ class DatetimeComponent extends BaseDateTimeComponent {
2725
2758
  i0.ɵɵelementStart(7, "div", 8)(8, "input", 9, 0);
2726
2759
  i0.ɵɵlistener("onShown", function DatetimeComponent_Template_input_onShown_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDatePickerOpen()); })("onHidden", function DatetimeComponent_Template_input_onHidden_8_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.hideDatepickerDropdown()); })("bsValueChange", function DatetimeComponent_Template_input_bsValueChange_8_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onModelUpdate($event, "date")); });
2727
2760
  i0.ɵɵelementEnd()();
2728
- i0.ɵɵtemplate(10, DatetimeComponent_div_10_Template, 2, 13, "div", 10);
2761
+ i0.ɵɵtemplate(10, DatetimeComponent_div_10_Template, 3, 17, "div", 10);
2729
2762
  i0.ɵɵelementEnd();
2730
2763
  i0.ɵɵtemplate(11, DatetimeComponent_Conditional_11_Template, 2, 8);
2731
2764
  } if (rf & 2) {
@@ -2744,16 +2777,16 @@ class DatetimeComponent extends BaseDateTimeComponent {
2744
2777
  i0.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput);
2745
2778
  i0.ɵɵadvance(3);
2746
2779
  i0.ɵɵconditional(ctx.loadNativeDateInput ? 11 : -1);
2747
- } }, dependencies: [WmComponentsModule, FormsModule, i2$2.NgControlStatus, i2$2.NgModel, DateTimePickerComponent, BsDropdownModule, i3.BsDropdownMenuDirective, i3.BsDropdownDirective, BsDatepickerModule, i2.BsDatepickerDirective, i2.BsDatepickerInputDirective, TimepickerModule, i5.TimepickerComponent], encapsulation: 2 }); }
2780
+ } }, dependencies: [WmComponentsModule, FormsModule, i2$2.NgControlStatus, i2$2.NgModel, DateTimePickerComponent, BsDropdownModule, i3.BsDropdownMenuDirective, i3.BsDropdownDirective, BsDatepickerModule, i2.BsDatepickerDirective, i2.BsDatepickerInputDirective, TimepickerModule, i5.TimepickerComponent, CommonModule, i6.NgClass], encapsulation: 2 }); }
2748
2781
  }
2749
2782
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DatetimeComponent, [{
2750
2783
  type: Component,
2751
- args: [{ standalone: true, imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, BsDatepickerModule, TimepickerModule], selector: '[wmDateTime]', providers: [
2784
+ args: [{ standalone: true, imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, BsDatepickerModule, TimepickerModule, CommonModule], selector: '[wmDateTime]', providers: [
2752
2785
  provideAs(DatetimeComponent, NG_VALUE_ACCESSOR, true),
2753
2786
  provideAs(DatetimeComponent, NG_VALIDATORS, true),
2754
2787
  provideAsWidgetRef(DatetimeComponent),
2755
2788
  { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }
2756
- ], template: "<div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isDateOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"></timepicker>\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDateValue)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n" }]
2789
+ ], template: "<div dropdown\n [isOpen]=\"isTimeOpen\"\n autoClose=\"false\"\n [container]=\"'body'\"\n (onShown)=\"onTimepickerOpen()\"\n style=\"display: inherit;\">\n <input class=\"form-control app-textbox display-input\"\n [attr.aria-label]=\"arialabel\"\n focus-target\n [name]=\"name\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n type=\"text\"\n [value]=\"displayValue\"\n (click)=\"toggleDpDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDateChange($event)\"\n [autofocus]=\"autofocus\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n\n <span class=\"input-group-btn\">\n <button type=\"button\"\n class=\"btn btn-default btn-date\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : 'Choose date by pressing enter'\"\n aria-haspopup=\"true\"\n [attr.aria-expanded]=\"isDateOpen\"\n (click)=\"toggleDpDropdown($event, false)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-calendar\"></i>\n </button>\n <button type=\"button\"\n class=\"btn btn-default btn-time\"\n [tabindex]=\"loadNativeDateInput ? '-1' : tabindex\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [disabled]=\"disabled || readonly || isCurrentDate\"\n aria-label=\"Select time\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n (click)=\"toggleTimePicker(!isTimeOpen, $event)\">\n <i aria-hidden=\"true\"\n class=\"app-icon wm-sl-l sl-time\"></i>\n </button>\n </span>\n <div style=\"width: 0;display: inline-block;\">\n <input class=\"model-holder\"\n aria-label=\"datepicker dropdownmenu\"\n aria-controls=\"date\"\n focus-target\n [tabindex]=\"-1\"\n [attr.aria-hidden]=\"!!loadNativeDateInput\"\n [container]=\"containerTarget || '.wm-app'\"\n [bsConfig]=\"_dateOptions\"\n [isOpen]=\"isDateOpen\"\n placement=\"bottom right\"\n (onShown)=\"onDatePickerOpen()\"\n (onHidden)=\"hideDatepickerDropdown()\"\n [daysDisabled]=\"excludedDaysToDisable\"\n [datesDisabled]=\"excludedDatesToDisable\"\n #datepicker=bsDatepicker\n bsDatepicker\n [isDisabled]=\"disabled || readonly || isCurrentDate\"\n [bsValue]=\"bsDateValue\"\n (bsValueChange)=\"onModelUpdate($event, 'date')\">\n </div>\n <div *dropdownMenu\n class=\"dropdown-menu\"\n aria-label=\"timepicker dropdown\"\n aria-controls=\"time\"\n (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"disabled || readonly || isCurrentDate\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\"\n (ngModelChange)=\"onModelUpdate($event, 'time')\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">AM</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">PM</button>\n </div>\n }\n </div>\n </div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n [config]=\"_dateOptions\"\n [placement]=\"modal\"\n [excludedDaysToDisable]=\"excludedDaysToDisable\"\n [excludedDatesToDisable]=\"excludedDatesToDisable\"\n [displayFormat]=\"dateInputFormat\"\n [value]=\"bsDateValue\"\n (change)=\"onModelUpdate($event, 'date')\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n [tabindex]=\"tabindex || 0\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsDateValue)\"\n [attr.aria-label]=\"displayValue ? 'Change Date ' + displayValue : arialabel || 'Choose Date'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event)\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n" }]
2757
2790
  }], () => [{ type: i0.Injector }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i1$1.AppDefaults }, { type: i1$1.App }, { type: undefined, decorators: [{
2758
2791
  type: Inject,
2759
2792
  args: ['EXPLICIT_CONTEXT']
@@ -2763,7 +2796,7 @@ class DatetimeComponent extends BaseDateTimeComponent {
2763
2796
  type: ViewChild,
2764
2797
  args: [BsDatepickerDirective]
2765
2798
  }] }); })();
2766
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DatetimeComponent, { className: "DatetimeComponent", filePath: "date-time/date-time.component.ts", lineNumber: 63 }); })();
2799
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DatetimeComponent, { className: "DatetimeComponent", filePath: "date-time/date-time.component.ts", lineNumber: 64 }); })();
2767
2800
 
2768
2801
  const timeProps = new Map([
2769
2802
  ['autofocus', PROP_BOOLEAN],
@@ -2790,7 +2823,8 @@ const timeProps = new Map([
2790
2823
  ['secondsstep', { value: 1, ...PROP_NUMBER }],
2791
2824
  ['tabindex', { value: 0, ...PROP_NUMBER }],
2792
2825
  ['timepattern', PROP_STRING],
2793
- ['timestamp', PROP_STRING]
2826
+ ['timestamp', PROP_STRING],
2827
+ ['showampmbuttons', { value: false, ...PROP_BOOLEAN }]
2794
2828
  ]);
2795
2829
  const registerProps = () => {
2796
2830
  register('wm-time', timeProps);
@@ -2799,6 +2833,26 @@ const registerProps = () => {
2799
2833
 
2800
2834
  const _c0 = ["wmTime", ""];
2801
2835
  const _c1 = () => ({ standalone: true });
2836
+ const _c2 = a0 => ({ "showbuttons": a0 });
2837
+ const _c3 = a0 => ({ "active btn-secondary": a0 });
2838
+ function TimeComponent_div_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2839
+ const _r3 = i0.ɵɵgetCurrentView();
2840
+ i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
2841
+ i0.ɵɵlistener("click", function TimeComponent_div_5_Conditional_2_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setPeriod("AM")); });
2842
+ i0.ɵɵtext(2, "AM");
2843
+ i0.ɵɵelementEnd();
2844
+ i0.ɵɵelement(3, "br");
2845
+ i0.ɵɵelementStart(4, "button", 10);
2846
+ i0.ɵɵlistener("click", function TimeComponent_div_5_Conditional_2_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setPeriod("PM")); });
2847
+ i0.ɵɵtext(5, "PM");
2848
+ i0.ɵɵelementEnd()();
2849
+ } if (rf & 2) {
2850
+ const ctx_r1 = i0.ɵɵnextContext(2);
2851
+ i0.ɵɵadvance();
2852
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c3, ctx_r1.getPeriod() === "AM"));
2853
+ i0.ɵɵadvance(3);
2854
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c3, ctx_r1.getPeriod() === "PM"));
2855
+ } }
2802
2856
  function TimeComponent_div_5_Template(rf, ctx) { if (rf & 1) {
2803
2857
  const _r1 = i0.ɵɵgetCurrentView();
2804
2858
  i0.ɵɵelementStart(0, "div", 6);
@@ -2806,21 +2860,25 @@ function TimeComponent_div_5_Template(rf, ctx) { if (rf & 1) {
2806
2860
  i0.ɵɵelementStart(1, "timepicker", 7);
2807
2861
  i0.ɵɵtwoWayListener("ngModelChange", function TimeComponent_div_5_Template_timepicker_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.bsTimeValue, $event) || (ctx_r1.bsTimeValue = $event); return i0.ɵɵresetView($event); });
2808
2862
  i0.ɵɵlistener("isValid", function TimeComponent_div_5_Template_timepicker_isValid_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.isValid($event)); })("ngModelChange", function TimeComponent_div_5_Template_timepicker_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2809
- i0.ɵɵelementEnd()();
2863
+ i0.ɵɵelementEnd();
2864
+ i0.ɵɵtemplate(2, TimeComponent_div_5_Conditional_2_Template, 6, 6, "div", 8);
2865
+ i0.ɵɵelementEnd();
2810
2866
  } if (rf & 2) {
2811
2867
  const ctx_r1 = i0.ɵɵnextContext();
2812
2868
  i0.ɵɵadvance();
2813
2869
  i0.ɵɵproperty("showMeridian", ctx_r1.ismeridian)("readonlyInput", ctx_r1.isDisabled);
2814
2870
  i0.ɵɵtwoWayProperty("ngModel", ctx_r1.bsTimeValue);
2815
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(13, _c1))("disabled", ctx_r1.disabled || ctx_r1.readonly || ctx_r1.isCurrentTime)("min", ctx_r1.minTime)("max", ctx_r1.maxTime)("hourStep", ctx_r1.hourstep)("minuteStep", ctx_r1.minutestep)("secondsStep", ctx_r1.secondsstep)("mousewheel", true)("arrowkeys", true)("showSeconds", ctx_r1.showseconds);
2871
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(15, _c1))("disabled", ctx_r1.disabled || ctx_r1.readonly || ctx_r1.isCurrentTime)("min", ctx_r1.minTime)("max", ctx_r1.maxTime)("hourStep", ctx_r1.hourstep)("minuteStep", ctx_r1.minutestep)("secondsStep", ctx_r1.secondsstep)("mousewheel", true)("arrowkeys", true)("showSeconds", ctx_r1.showseconds)("ngClass", i0.ɵɵpureFunction1(16, _c2, ctx_r1.showampmbuttons));
2872
+ i0.ɵɵadvance();
2873
+ i0.ɵɵconditional(ctx_r1.ismeridian && ctx_r1.showampmbuttons ? 2 : -1);
2816
2874
  } }
2817
2875
  function TimeComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
2818
- const _r3 = i0.ɵɵgetCurrentView();
2819
- i0.ɵɵelementStart(0, "wm-datetimepicker", 8);
2820
- i0.ɵɵlistener("change", function TimeComponent_Conditional_6_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2876
+ const _r4 = i0.ɵɵgetCurrentView();
2877
+ i0.ɵɵelementStart(0, "wm-datetimepicker", 11);
2878
+ i0.ɵɵlistener("change", function TimeComponent_Conditional_6_Template_wm_datetimepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2821
2879
  i0.ɵɵelementEnd();
2822
- i0.ɵɵelementStart(1, "div", 9);
2823
- i0.ɵɵlistener("click", function TimeComponent_Conditional_6_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r1.disabled || ctx_r1.readonly) && ctx_r1.showDatePickerModal(ctx_r1.bsTimeValue)); })("focus", function TimeComponent_Conditional_6_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onDateTimeInputFocus(true); ctx_r1.invokeOnFocus($event); return i0.ɵɵresetView(ctx_r1.assignModel()); })("blur", function TimeComponent_Conditional_6_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r1.invokeOnTouched($event)); });
2880
+ i0.ɵɵelementStart(1, "div", 12);
2881
+ i0.ɵɵlistener("click", function TimeComponent_Conditional_6_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(!(ctx_r1.disabled || ctx_r1.readonly) && ctx_r1.showDatePickerModal(ctx_r1.bsTimeValue)); })("focus", function TimeComponent_Conditional_6_Template_div_focus_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onDateTimeInputFocus(true); ctx_r1.invokeOnFocus($event); return i0.ɵɵresetView(ctx_r1.assignModel()); })("blur", function TimeComponent_Conditional_6_Template_div_blur_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.onDateTimeInputBlur(); return i0.ɵɵresetView(ctx_r1.invokeOnTouched($event)); });
2824
2882
  i0.ɵɵelementEnd();
2825
2883
  } if (rf & 2) {
2826
2884
  const ctx_r1 = i0.ɵɵnextContext();
@@ -3140,7 +3198,7 @@ class TimeComponent extends BaseDateTimeComponent {
3140
3198
  provideAs(TimeComponent, NG_VALIDATORS, true),
3141
3199
  provideAsWidgetRef(TimeComponent),
3142
3200
  { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }
3143
- ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c0, decls: 7, vars: 16, consts: [["dropdown", "", 2, "display", "inherit", 3, "onShown", "onHidden", "isOpen", "container"], ["focus-target", "", "type", "text", "role", "timer", 1, "form-control", "app-textbox", "display-input", 3, "click", "focus", "blur", "change", "keydown", "tabindex", "name", "value", "disabled", "autofocus", "required", "readOnly"], [1, "input-group-btn", "dropdown-toggle"], ["type", "button", "aria-label", "Select time", "aria-haspopup", "true", "aria-expanded", "false", 1, "btn", "btn-default", "btn-date", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-time"], ["class", "dropdown-menu", 3, "click", 4, "dropdownMenu"], [1, "dropdown-menu", 3, "click"], [1, "model-holder", 3, "ngModelChange", "isValid", "showMeridian", "readonlyInput", "ngModel", "ngModelOptions", "disabled", "min", "max", "hourStep", "minuteStep", "secondsStep", "mousewheel", "arrowkeys", "showSeconds"], ["dateTimePicker", "", "mode", "TIME", 3, "change", "minTime", "maxTime", "placement", "displayFormat", "value"], ["tabindex", "1000000", "role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur"]], template: function TimeComponent_Template(rf, ctx) { if (rf & 1) {
3201
+ ]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], attrs: _c0, decls: 7, vars: 16, consts: [["dropdown", "", 2, "display", "inherit", 3, "onShown", "onHidden", "isOpen", "container"], ["focus-target", "", "type", "text", "role", "timer", 1, "form-control", "app-textbox", "display-input", 3, "click", "focus", "blur", "change", "keydown", "tabindex", "name", "value", "disabled", "autofocus", "required", "readOnly"], [1, "input-group-btn", "dropdown-toggle"], ["type", "button", "aria-label", "Select time", "aria-haspopup", "true", "aria-expanded", "false", 1, "btn", "btn-default", "btn-date", 3, "click", "tabindex", "disabled"], ["aria-hidden", "true", 1, "app-icon", "wm-sl-l", "sl-time"], ["class", "dropdown-menu", 3, "click", 4, "dropdownMenu"], [1, "dropdown-menu", 3, "click"], [1, "model-holder", 3, "ngModelChange", "isValid", "showMeridian", "readonlyInput", "ngModel", "ngModelOptions", "disabled", "min", "max", "hourStep", "minuteStep", "secondsStep", "mousewheel", "arrowkeys", "showSeconds", "ngClass"], [1, "ampm-toggle", "text-center"], [1, "meridian-btn", "mb-1", 3, "click", "ngClass"], [1, "meridian-btn", 3, "click", "ngClass"], ["dateTimePicker", "", "mode", "TIME", 3, "change", "minTime", "maxTime", "placement", "displayFormat", "value"], ["tabindex", "1000000", "role", "button", 1, "mobile-input", "mobile-datepicker-container", 3, "click", "focus", "blur"]], template: function TimeComponent_Template(rf, ctx) { if (rf & 1) {
3144
3202
  i0.ɵɵelementStart(0, "div", 0);
3145
3203
  i0.ɵɵlistener("onShown", function TimeComponent_Template_div_onShown_0_listener() { return ctx.onShown(); })("onHidden", function TimeComponent_Template_div_onHidden_0_listener() { return ctx.hideTimepickerDropdown(); });
3146
3204
  i0.ɵɵelementStart(1, "input", 1);
@@ -3150,7 +3208,7 @@ class TimeComponent extends BaseDateTimeComponent {
3150
3208
  i0.ɵɵlistener("click", function TimeComponent_Template_button_click_3_listener($event) { return ctx.toggleDropdown($event, false); });
3151
3209
  i0.ɵɵelement(4, "i", 4);
3152
3210
  i0.ɵɵelementEnd()();
3153
- i0.ɵɵtemplate(5, TimeComponent_div_5_Template, 2, 14, "div", 5);
3211
+ i0.ɵɵtemplate(5, TimeComponent_div_5_Template, 3, 18, "div", 5);
3154
3212
  i0.ɵɵelementEnd();
3155
3213
  i0.ɵɵtemplate(6, TimeComponent_Conditional_6_Template, 2, 6);
3156
3214
  } if (rf & 2) {
@@ -3162,23 +3220,23 @@ class TimeComponent extends BaseDateTimeComponent {
3162
3220
  i0.ɵɵproperty("tabindex", ctx.tabindex)("disabled", ctx.disabled || ctx.readonly || ctx.isCurrentTime);
3163
3221
  i0.ɵɵadvance(3);
3164
3222
  i0.ɵɵconditional(ctx.loadNativeDateInput ? 6 : -1);
3165
- } }, dependencies: [WmComponentsModule, FormsModule, i2$2.NgControlStatus, i2$2.NgModel, DateTimePickerComponent, BsDropdownModule, i3.BsDropdownMenuDirective, i3.BsDropdownDirective, TimepickerModule, i5.TimepickerComponent], encapsulation: 2 }); }
3223
+ } }, dependencies: [WmComponentsModule, FormsModule, i2$2.NgControlStatus, i2$2.NgModel, DateTimePickerComponent, BsDropdownModule, i3.BsDropdownMenuDirective, i3.BsDropdownDirective, TimepickerModule, i5.TimepickerComponent, CommonModule, i6.NgClass], encapsulation: 2 }); }
3166
3224
  }
3167
3225
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimeComponent, [{
3168
3226
  type: Component,
3169
- args: [{ standalone: true, imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule], selector: '[wmTime]', providers: [
3227
+ args: [{ standalone: true, imports: [WmComponentsModule, FormsModule, DateTimePickerComponent, BsDropdownModule, TimepickerModule, CommonModule], selector: '[wmTime]', providers: [
3170
3228
  provideAs(TimeComponent, NG_VALUE_ACCESSOR, true),
3171
3229
  provideAs(TimeComponent, NG_VALIDATORS, true),
3172
3230
  provideAsWidgetRef(TimeComponent),
3173
3231
  { provide: TimepickerConfig, deps: [AbstractI18nService], useFactory: getTimepickerConfig }
3174
- ], template: "<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"></timepicker>\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n" }]
3232
+ ], template: "<div dropdown [isOpen]=\"status.isopen\" (onShown)=\"onShown()\" (onHidden)=\"hideTimepickerDropdown()\" [container]=\"'body'\" style=\"display: inherit\">\n <input [attr.aria-label]=\"arialabel\" class=\"form-control app-textbox display-input\"\n focus-target\n [tabindex]=\"tabindex\"\n [name]=\"name\"\n type=\"text\"\n role=\"timer\"\n [value]=\"displayValue\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [autofocus]=\"autofocus\"\n [attr.placeholder]=\"placeholder\"\n [attr.accesskey]=\"shortcutkey\"\n [attr.aria-atomic]=\"isCurrentTime ? 'true' : 'false'\"\n [required]=\"required\"\n [readOnly]=\"isReadOnly\"\n (click)=\"toggleDropdown($event, true)\"\n (focus)=\"onDateTimeInputFocus(); invokeOnFocus($event);\"\n (blur)=\"onInputBlur($event)\"\n (change)=\"onDisplayTimeChange($event)\"\n (keydown)=\"this._triggeredByUser = true; onDisplayKeydown($event)\">\n <span class=\"input-group-btn dropdown-toggle\">\n <button type=\"button\" class=\"btn btn-default btn-date\" [tabindex]=\"tabindex\" [disabled]=\"disabled || readonly || isCurrentTime\" aria-label=\"Select time\" aria-haspopup=\"true\" aria-expanded=\"false\" (click)=\"toggleDropdown($event, false)\"><i aria-hidden=\"true\" class=\"app-icon wm-sl-l sl-time\"></i></button>\n </span>\n <div *dropdownMenu class=\"dropdown-menu\" (click)=\"preventTpClose($event)\">\n <timepicker class=\"model-holder\"\n [showMeridian]=\"ismeridian\"\n [readonlyInput]=\"isDisabled\"\n [(ngModel)]=\"bsTimeValue\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"disabled || readonly || isCurrentTime\"\n [min]=\"minTime\"\n [max]=\"maxTime\"\n [hourStep]=\"hourstep\"\n [minuteStep]=\"minutestep\"\n [secondsStep]=\"secondsstep\"\n [mousewheel]=\"true\"\n [arrowkeys]=\"true\"\n (isValid)=\"isValid($event)\"\n [showSeconds]=\"showseconds\" (ngModelChange)=\"onTimeChange($event)\"\n [ngClass]=\"{ 'showbuttons': showampmbuttons }\"></timepicker>\n @if (ismeridian && showampmbuttons) {\n <div class=\"ampm-toggle text-center\">\n <button class=\"meridian-btn mb-1\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'AM' }\" (click)=\"setPeriod('AM')\">AM</button><br>\n <button class=\"meridian-btn\" [ngClass]=\"{ 'active btn-secondary': getPeriod() === 'PM' }\" (click)=\"setPeriod('PM')\">PM</button>\n </div>\n }\n </div>\n</div>\n@if (loadNativeDateInput) {\n <wm-datetimepicker\n dateTimePicker\n mode=\"TIME\"\n [minTime]=\"minTime\"\n [maxTime]=\"maxTime\"\n [placement]=\"modal\"\n [displayFormat]=\"timepattern\"\n [value]=\"bsTimeValue\"\n (change)=\"onTimeChange($event)\">\n </wm-datetimepicker>\n <div class=\"mobile-input mobile-datepicker-container\"\n tabindex=\"1000000\"\n (click)=\"!(disabled || readonly) && showDatePickerModal(bsTimeValue)\"\n [attr.aria-label]=\"displayValue ? 'Change time ' + displayValue : arialabel || 'Select time'\"\n (focus)=\"onDateTimeInputFocus(true); invokeOnFocus($event); assignModel()\"\n (blur)=\"onDateTimeInputBlur(); invokeOnTouched($event)\"\n role=\"button\">\n </div>\n}\n" }]
3175
3233
  }], () => [{ type: i0.Injector }, { type: i0.NgZone }, { type: i1$1.AppDefaults }, { type: i1$1.App }, { type: undefined, decorators: [{
3176
3234
  type: Inject,
3177
3235
  args: ['EXPLICIT_CONTEXT']
3178
3236
  }, {
3179
3237
  type: Optional
3180
3238
  }] }], null); })();
3181
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimeComponent, { className: "TimeComponent", filePath: "time/time.component.ts", lineNumber: 49 }); })();
3239
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimeComponent, { className: "TimeComponent", filePath: "time/time.component.ts", lineNumber: 50 }); })();
3182
3240
 
3183
3241
  /**
3184
3242
  * Generated bundle index. Do not edit.