@wavemaker/app-ng-runtime 11.11.4-rc.6173 → 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 +12 -7
  2. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +13 -8
  3. package/components/base/fesm2022/index.mjs +12 -7
  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
@@ -61,6 +61,7 @@ export declare class TableColumnDirective extends BaseComponent implements OnIni
61
61
  filterdisplayfield: any;
62
62
  filterdisplaylabel: any;
63
63
  filtersearchkey: any;
64
+ sortby: any;
64
65
  filterplaceholder: any;
65
66
  datafield: any;
66
67
  displayfield: any;
@@ -62,6 +62,7 @@ export declare class TableComponent extends StylableComponent implements AfterCo
62
62
  gridfirstrowselect: any;
63
63
  iconclass: any;
64
64
  ondemandmessage: any;
65
+ allowpagesizechange: any;
65
66
  viewlessmessage: any;
66
67
  showviewlessbutton: boolean;
67
68
  _triggeredByUser: any;
@@ -75,6 +76,8 @@ export declare class TableComponent extends StylableComponent implements AfterCo
75
76
  navigationalign: any;
76
77
  nodatamessage: any;
77
78
  pagesize: any;
79
+ updatedPageSize: any;
80
+ actualPageSize: any;
78
81
  currentpage: any;
79
82
  prevData: any;
80
83
  primaryKey: any[];
@@ -127,6 +130,11 @@ export declare class TableComponent extends StylableComponent implements AfterCo
127
130
  fieldDefs: any[];
128
131
  rowDef: any;
129
132
  rowInstance: any;
133
+ pagesizeoptions: any;
134
+ multiselecttitle: any;
135
+ multiselectarialabel: any;
136
+ radioselecttitle: any;
137
+ radioselectarialabel: any;
130
138
  private fullFieldDefs;
131
139
  private __fullData;
132
140
  private dataNavigatorWatched;
@@ -221,9 +229,15 @@ export declare class TableComponent extends StylableComponent implements AfterCo
221
229
  isDataUpdatedByUser: boolean;
222
230
  showviewlessbutton: boolean;
223
231
  ondemandmessage: string;
232
+ allowpagesizechange: boolean;
233
+ pagesizeoptions: string;
224
234
  viewlessmessage: string;
225
235
  loadingdatamsg: string;
226
236
  isNextPageData: any;
237
+ multiselecttitle: string;
238
+ multiselectarialabel: string;
239
+ radioselecttitle: string;
240
+ radioselectarialabel: string;
227
241
  ACTIONS: {
228
242
  DELETE: string;
229
243
  EDIT: string;
@@ -239,6 +253,7 @@ export declare class TableComponent extends StylableComponent implements AfterCo
239
253
  setCurrentPage: (pageNum: any) => void;
240
254
  getDataSource: () => any;
241
255
  getPageSize: () => any;
256
+ getUpdatedPageSize: () => any;
242
257
  getPageCount: () => any;
243
258
  enableNavigation: () => void;
244
259
  setDeletedRowIndex: (id: any) => void;
@@ -331,6 +346,7 @@ export declare class TableComponent extends StylableComponent implements AfterCo
331
346
  setLastActionToFilterCriteria(): void;
332
347
  setLastActionToDatasetUpdate(): void;
333
348
  checkIfVarFiltersApplied(): void;
349
+ getActualPageSize(): any;
334
350
  watchVariableDataSet(newVal: any): void;
335
351
  ngOnDestroy(): void;
336
352
  addRowIndex(row: any): any;
@@ -358,6 +374,7 @@ export declare class TableComponent extends StylableComponent implements AfterCo
358
374
  createGridColumns(data: any): void;
359
375
  getSortExpr(): any;
360
376
  onPropertyChange(key: string, nv: any, ov?: any): void;
377
+ setDefaultPageSize(nv: any): void;
361
378
  onDataSourceChange(): void;
362
379
  private clearActionRowVars;
363
380
  onStyleChange(key: any, nv: any, ov: any): void;
@@ -44,6 +44,7 @@ export declare abstract class BaseDateTimeComponent extends BaseFormCustomCompon
44
44
  next: any;
45
45
  prev: any;
46
46
  clicked: boolean;
47
+ showampmbuttons: boolean;
47
48
  protected dateNotInRange: boolean;
48
49
  protected timeNotInRange: boolean;
49
50
  protected invalidDateTimeFormat: boolean;
@@ -227,7 +228,8 @@ export declare abstract class BaseDateTimeComponent extends BaseFormCustomCompon
227
228
  */
228
229
  private addDatepickerMouseEvents;
229
230
  blurDateInput(isPickerOpen: any): void;
230
- protected adjustDateTimePickerInModel(element: any, elementDirective: any): void;
231
+ getPeriod(): 'AM' | 'PM';
232
+ setPeriod(period: 'AM' | 'PM'): void;
231
233
  onPropertyChange(key: any, nv: any, ov?: any): void;
232
234
  ngAfterViewInit(): void;
233
235
  ngOnDestroy(): void;
@@ -2,7 +2,7 @@
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@wm/components/base'), require('angular-imask'), require('@angular/core'), require('@angular/forms'), require('ngx-bootstrap/datepicker'), require('@wm/core'), require('@angular/common'), require('ngx-bootstrap/dropdown'), require('ngx-bootstrap/timepicker'), require('@wm/components/input'), require('ngx-bootstrap/modal'), require('lodash-es'), require('moment'), require('imask')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', '@wm/components/base', 'angular-imask', '@angular/core', '@angular/forms', 'ngx-bootstrap/datepicker', '@wm/core', '@angular/common', 'ngx-bootstrap/dropdown', 'ngx-bootstrap/timepicker', '@wm/components/input', 'ngx-bootstrap/modal', 'lodash-es', 'moment', 'imask'], factory) :
4
4
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.wm = global.wm || {}, global.wm.components = global.wm.components || {}, global.wm.components.input = global.wm.components.input || {}, global.wm.components.input.epoch = {}), global.wm.components.base, global.angularIMask, global.ng.core, global.ng.forms, global.datepicker, global.wm.core, global.ng.common, global.dropdown, global.timepicker, global.wm.components.input, global.modal, global._, global.momentLib, global.IMask));
5
- })(this, (function (exports, base, i2$1, i0, i2$2, i2, i1$1, common, i3, i5, input, i1, lodashEs, momentLib, IMask) { 'use strict';
5
+ })(this, (function (exports, base, i2$1, i0, i2$2, i2, i1$1, i6, i3, i5, input, i1, lodashEs, momentLib, IMask) { 'use strict';
6
6
 
7
7
  function _interopNamespaceDefault(e) {
8
8
  var n = Object.create(null);
@@ -26,6 +26,7 @@
26
26
  var i2$2__namespace = /*#__PURE__*/_interopNamespaceDefault(i2$2);
27
27
  var i2__namespace = /*#__PURE__*/_interopNamespaceDefault(i2);
28
28
  var i1$1__namespace = /*#__PURE__*/_interopNamespaceDefault(i1$1);
29
+ var i6__namespace = /*#__PURE__*/_interopNamespaceDefault(i6);
29
30
  var i3__namespace = /*#__PURE__*/_interopNamespaceDefault(i3);
30
31
  var i5__namespace = /*#__PURE__*/_interopNamespaceDefault(i5);
31
32
  var i1__namespace = /*#__PURE__*/_interopNamespaceDefault(i1);
@@ -458,13 +459,13 @@
458
459
  i0__namespace.ɵɵqueryRefresh(_t = i0__namespace.ɵɵloadQuery()) && (ctx.datetimepickerTemplate = _t.first);
459
460
  } }, inputs: { mode: "mode", placement: "placement", _bsDatepickerConfig: [0, "config", "_bsDatepickerConfig"], minTime: "minTime", maxTime: "maxTime", _displayFormat: "_displayFormat", excludedDatesToDisable: "excludedDatesToDisable", value: "value", bsDatepickerConfig: [0, "config", "bsDatepickerConfig"], excludedDaysToDisable: "excludedDaysToDisable", displayFormat: "displayFormat" }, outputs: { change: "change" }, standalone: true, features: [i0__namespace.ɵɵStandaloneFeature], decls: 2, vars: 0, consts: [["datetimepickerTemplate", ""], [1, "app-datetime-picker"], [1, "modal-body"], [1, "mobile-datetime-picker-options"], ["bsDatepicker", "", 3, "bsConfig", "datesDisabled", "bsValue"], [3, "value", "min", "max"], [1, "text-primary", "date-picker-value"], [1, "modal-footer"], [1, "btn", "btn-secondary", "today-btn"], [1, "btn", "btn-primary", "pull-right", "ok-btn"], [1, "btn", "btn-secondary", "pull-right", "clear-btn", 3, "click"], ["bsDatepicker", "", 3, "bsValueChange", "bsConfig", "datesDisabled", "bsValue"], [3, "change", "value", "min", "max"], [1, "btn", "btn-secondary", "today-btn", 3, "click"], [1, "btn", "btn-primary", "pull-right", "ok-btn", 3, "click"]], template: function DateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
460
461
  i0__namespace.ɵɵtemplate(0, DateTimePickerComponent_ng_template_0_Template, 12, 6, "ng-template", null, 0, i0__namespace.ɵɵtemplateRefExtractor);
461
- } }, dependencies: [common.CommonModule, base.WmComponentsModule, i2.BsDatepickerModule, i2__namespace.BsDatepickerDirective, i2__namespace.BsDatepickerInlineDirective, i3.BsDropdownModule], encapsulation: 2 }); }
462
+ } }, dependencies: [i6.CommonModule, base.WmComponentsModule, i2.BsDatepickerModule, i2__namespace.BsDatepickerDirective, i2__namespace.BsDatepickerInlineDirective, i3.BsDropdownModule], encapsulation: 2 }); }
462
463
  }
463
464
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(DateTimePickerComponent, [{
464
465
  type: i0.Component,
465
466
  args: [{
466
467
  standalone: true,
467
- imports: [common.CommonModule, base.WmComponentsModule, i2.BsDatepickerModule, i3.BsDropdownModule],
468
+ imports: [i6.CommonModule, base.WmComponentsModule, i2.BsDatepickerModule, i3.BsDropdownModule],
468
469
  selector: 'wm-datetimepicker',
469
470
  template: `
470
471
  <ng-template #datetimepickerTemplate>
@@ -684,7 +685,7 @@
684
685
  // Providing meridians to the timepicker baesd on selected locale
685
686
  function getTimepickerConfig(i18nService) {
686
687
  return Object.assign(new i5.TimepickerConfig(), {
687
- meridians: common.getLocaleDayPeriods(i18nService.getSelectedLocale(), common.FormStyle.Format, common.TranslationWidth.Abbreviated)
688
+ meridians: i6.getLocaleDayPeriods(i18nService.getSelectedLocale(), i6.FormStyle.Format, i6.TranslationWidth.Abbreviated)
688
689
  });
689
690
  }
690
691
  class BaseDateTimeComponent extends input.BaseFormCustomComponent {
@@ -693,6 +694,7 @@
693
694
  super(inj, WIDGET_CONFIG, explicitContext);
694
695
  this.isReadOnly = false;
695
696
  this.clicked = false;
697
+ this.showampmbuttons = true;
696
698
  this.formatsByLocale = { 'timezone': '' };
697
699
  /**
698
700
  * This is an internal property used to map the containerClass, showWeekNumbers etc., to the bsDatepicker
@@ -704,7 +706,7 @@
704
706
  this.selectedLocale = this.i18nService.getSelectedLocale();
705
707
  this._dateOptions.todayPosition = 'left';
706
708
  this._dateOptions.clearPosition = 'right';
707
- this.meridians = common.getLocaleDayPeriods(this.selectedLocale, common.FormStyle.Format, common.TranslationWidth.Abbreviated);
709
+ this.meridians = i6.getLocaleDayPeriods(this.selectedLocale, i6.FormStyle.Format, i6.TranslationWidth.Abbreviated);
708
710
  this.loadNativeDateInput = i1$1.isMobile() && !this.showcustompicker;
709
711
  this.cancelLocaleChangeSubscription = this.getAppInstance().subscribe("locale-changed", (locale) => {
710
712
  this.datePipe.datePipe.locale = locale.angular;
@@ -1547,30 +1549,40 @@
1547
1549
  setTimeout(() => displayInputElem.blur());
1548
1550
  }
1549
1551
  }
1550
- adjustDateTimePickerInModel(element, elementDirective) {
1551
- if (this.containerTarget === '.modal-container' && element) {
1552
- setTimeout(() => {
1553
- elementDirective._datepicker._posService.disable();
1554
- const inputRect = this.nativeElement.getBoundingClientRect();
1555
- const elementHeight = $('timepicker')[0]?.offsetHeight || element.offsetHeight;
1556
- let top;
1557
- if (inputRect.bottom + elementHeight > window.innerHeight) {
1558
- top = inputRect.top - elementHeight + window.scrollY;
1559
- }
1560
- else {
1561
- top = inputRect.bottom + window.scrollY;
1562
- }
1563
- const left = inputRect.left + window.scrollX;
1564
- element.style.top = `${top}px`;
1565
- element.style.left = `${left}px`;
1566
- element.style.transform = 'none';
1567
- });
1552
+ getPeriod() {
1553
+ if (!this.elementScope.bsTimeValue)
1554
+ return 'AM';
1555
+ const hours = this.elementScope.bsTimeValue.getHours();
1556
+ return hours >= 12 ? 'PM' : 'AM';
1557
+ }
1558
+ setPeriod(period) {
1559
+ const current = this.elementScope.bsTimeValue;
1560
+ if (!current || !(current instanceof Date))
1561
+ return;
1562
+ const updatedDate = new Date(current);
1563
+ const hours = updatedDate.getHours();
1564
+ if (period === 'AM' && hours >= 12) {
1565
+ updatedDate.setHours(hours - 12);
1566
+ }
1567
+ else if (period === 'PM' && hours < 12) {
1568
+ updatedDate.setHours(hours + 12);
1569
+ }
1570
+ if (this.elementScope.widgetType === 'wm-time') {
1571
+ const isInvalid = this.elementScope.minTime && this.elementScope.maxTime && (updatedDate < this.elementScope.minTime || updatedDate > this.elementScope.maxTime);
1572
+ if (!isInvalid)
1573
+ this.elementScope.onTimeChange(updatedDate);
1574
+ }
1575
+ else {
1576
+ this.elementScope.onModelUpdate(updatedDate);
1568
1577
  }
1569
1578
  }
1570
1579
  onPropertyChange(key, nv, ov) {
1571
1580
  if (key === 'tabindex') {
1572
1581
  return;
1573
1582
  }
1583
+ if (key === 'showampmbuttons') {
1584
+ this.showampmbuttons = nv;
1585
+ }
1574
1586
  if (key === 'required') {
1575
1587
  this._onChange(this.datavalue);
1576
1588
  return;
@@ -1635,7 +1647,7 @@
1635
1647
  }
1636
1648
  ngAfterViewInit() {
1637
1649
  super.ngAfterViewInit();
1638
- this.containerTarget = this.nativeElement.closest('modal-container') ? '.modal-container' : base.getContainerTargetClass(this.nativeElement);
1650
+ this.containerTarget = base.getContainerTargetClass(this.nativeElement);
1639
1651
  this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
1640
1652
  // this mobileinput width varies in ios hence setting width here.
1641
1653
  const mobileInput = this.getMobileInput();
@@ -2004,16 +2016,15 @@
2004
2016
  // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.
2005
2017
  // To fix the container top position set the width 1px;
2006
2018
  this.$element.find('.model-holder').width('1px');
2007
- const datePickerContainerEl = $('bs-datepicker-container');
2008
- datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2019
+ const dpContainerEl = $('bs-datepicker-container');
2020
+ dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2009
2021
  $('.bs-calendar-container').removeAttr('role');
2010
2022
  const datePickerContainer = $('.bs-datepicker-container')[0];
2011
2023
  this.focusTrap = base.setFocusTrap(datePickerContainer, true);
2012
2024
  this.focusTrap.activate();
2013
2025
  this.addDatepickerKeyboardEvents(this, false);
2014
- i1$1.adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2015
- i1$1.adjustContainerRightEdges(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2016
- this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
2026
+ i1$1.adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2027
+ i1$1.adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2017
2028
  if (this.timeZone) {
2018
2029
  const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`);
2019
2030
  const setTodayTZHandler = (event) => {
@@ -2253,7 +2264,8 @@
2253
2264
  ['clearbutton', { value: true, ...base.PROP_BOOLEAN }],
2254
2265
  ['adaptiveposition', { value: true, ...base.PROP_BOOLEAN }],
2255
2266
  ['todaybuttonlabel', { value: 'LABEL_TODAY_DATE', ...base.PROP_STRING }],
2256
- ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...base.PROP_STRING }]
2267
+ ['clearbuttonlabel', { value: 'LABEL_CLEAR_DATE', ...base.PROP_STRING }],
2268
+ ['showampmbuttons', { value: false, ...base.PROP_BOOLEAN }]
2257
2269
  ]);
2258
2270
  const registerProps$1 = () => {
2259
2271
  base.register('wm-datetime', dateTimeProps);
@@ -2263,6 +2275,26 @@
2263
2275
 
2264
2276
  const _c0$1 = ["wmDateTime", ""];
2265
2277
  const _c1$1 = () => ({ standalone: true });
2278
+ const _c2$1 = a0 => ({ "showbuttons": a0 });
2279
+ const _c3$1 = a0 => ({ "active btn-secondary": a0 });
2280
+ function DatetimeComponent_div_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2281
+ const _r4 = i0__namespace.ɵɵgetCurrentView();
2282
+ i0__namespace.ɵɵelementStart(0, "div", 13)(1, "button", 14);
2283
+ i0__namespace.ɵɵlistener("click", function DatetimeComponent_div_10_Conditional_2_Template_button_click_1_listener() { i0__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.setPeriod("AM")); });
2284
+ i0__namespace.ɵɵtext(2, "AM");
2285
+ i0__namespace.ɵɵelementEnd();
2286
+ i0__namespace.ɵɵelement(3, "br");
2287
+ i0__namespace.ɵɵelementStart(4, "button", 15);
2288
+ i0__namespace.ɵɵlistener("click", function DatetimeComponent_div_10_Conditional_2_Template_button_click_4_listener() { i0__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r2.setPeriod("PM")); });
2289
+ i0__namespace.ɵɵtext(5, "PM");
2290
+ i0__namespace.ɵɵelementEnd()();
2291
+ } if (rf & 2) {
2292
+ const ctx_r2 = i0__namespace.ɵɵnextContext(2);
2293
+ i0__namespace.ɵɵadvance();
2294
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(2, _c3$1, ctx_r2.getPeriod() === "AM"));
2295
+ i0__namespace.ɵɵadvance(3);
2296
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(4, _c3$1, ctx_r2.getPeriod() === "PM"));
2297
+ } }
2266
2298
  function DatetimeComponent_div_10_Template(rf, ctx) { if (rf & 1) {
2267
2299
  const _r2 = i0__namespace.ɵɵgetCurrentView();
2268
2300
  i0__namespace.ɵɵelementStart(0, "div", 11);
@@ -2270,21 +2302,25 @@
2270
2302
  i0__namespace.ɵɵelementStart(1, "timepicker", 12);
2271
2303
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function DatetimeComponent_div_10_Template_timepicker_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r2); const ctx_r2 = i0__namespace.ɵɵnextContext(); i0__namespace.ɵɵtwoWayBindingSet(ctx_r2.bsTimeValue, $event) || (ctx_r2.bsTimeValue = $event); return i0__namespace.ɵɵresetView($event); });
2272
2304
  i0__namespace.ɵɵlistener("isValid", function DatetimeComponent_div_10_Template_timepicker_isValid_1_listener($event) { i0__namespace.ɵɵrestoreView(_r2); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r2.isValid($event)); })("ngModelChange", function DatetimeComponent_div_10_Template_timepicker_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r2); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r2.onModelUpdate($event, "time")); });
2273
- i0__namespace.ɵɵelementEnd()();
2305
+ i0__namespace.ɵɵelementEnd();
2306
+ i0__namespace.ɵɵtemplate(2, DatetimeComponent_div_10_Conditional_2_Template, 6, 6, "div", 13);
2307
+ i0__namespace.ɵɵelementEnd();
2274
2308
  } if (rf & 2) {
2275
2309
  const ctx_r2 = i0__namespace.ɵɵnextContext();
2276
2310
  i0__namespace.ɵɵadvance();
2277
2311
  i0__namespace.ɵɵproperty("showMeridian", ctx_r2.ismeridian)("readonlyInput", ctx_r2.disabled || ctx_r2.readonly || ctx_r2.isCurrentDate);
2278
2312
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx_r2.bsTimeValue);
2279
- i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵ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);
2313
+ i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵ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__namespace.ɵɵpureFunction1(15, _c2$1, ctx_r2.showampmbuttons));
2314
+ i0__namespace.ɵɵadvance();
2315
+ i0__namespace.ɵɵconditional(ctx_r2.ismeridian && ctx_r2.showampmbuttons ? 2 : -1);
2280
2316
  } }
2281
2317
  function DatetimeComponent_Conditional_11_Template(rf, ctx) { if (rf & 1) {
2282
- const _r4 = i0__namespace.ɵɵgetCurrentView();
2283
- i0__namespace.ɵɵelementStart(0, "wm-datetimepicker", 13);
2284
- i0__namespace.ɵɵlistener("change", function DatetimeComponent_Conditional_11_Template_wm_datetimepicker_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r2.onModelUpdate($event, "date")); });
2318
+ const _r5 = i0__namespace.ɵɵgetCurrentView();
2319
+ i0__namespace.ɵɵelementStart(0, "wm-datetimepicker", 16);
2320
+ i0__namespace.ɵɵlistener("change", function DatetimeComponent_Conditional_11_Template_wm_datetimepicker_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r5); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r2.onModelUpdate($event, "date")); });
2285
2321
  i0__namespace.ɵɵelementEnd();
2286
- i0__namespace.ɵɵelementStart(1, "div", 14);
2287
- i0__namespace.ɵɵlistener("click", function DatetimeComponent_Conditional_11_Template_div_click_1_listener() { i0__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵ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__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0__namespace.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DatetimeComponent_Conditional_11_Template_div_blur_1_listener($event) { i0__namespace.ɵɵrestoreView(_r4); const ctx_r2 = i0__namespace.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0__namespace.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
2322
+ i0__namespace.ɵɵelementStart(1, "div", 17);
2323
+ i0__namespace.ɵɵlistener("click", function DatetimeComponent_Conditional_11_Template_div_click_1_listener() { i0__namespace.ɵɵrestoreView(_r5); const ctx_r2 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵ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__namespace.ɵɵrestoreView(_r5); const ctx_r2 = i0__namespace.ɵɵnextContext(); ctx_r2.onDateTimeInputFocus(true); return i0__namespace.ɵɵresetView(ctx_r2.invokeOnFocus($event)); })("blur", function DatetimeComponent_Conditional_11_Template_div_blur_1_listener($event) { i0__namespace.ɵɵrestoreView(_r5); const ctx_r2 = i0__namespace.ɵɵnextContext(); ctx_r2.onDateTimeInputBlur(); return i0__namespace.ɵɵresetView(ctx_r2.invokeOnTouched($event)); });
2288
2324
  i0__namespace.ɵɵelementEnd();
2289
2325
  } if (rf & 2) {
2290
2326
  const ctx_r2 = i0__namespace.ɵɵnextContext();
@@ -2447,10 +2483,8 @@
2447
2483
  this.bsDatePickerDirective.hide();
2448
2484
  this.focusTimePickerPopover(this);
2449
2485
  this.bindTimePickerKeyboardEvents();
2450
- const dropdownContainerEl = $('bs-dropdown-container');
2451
- i1$1.adjustContainerPosition(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2452
- i1$1.adjustContainerRightEdges(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2453
- this.adjustDateTimePickerInModel(dropdownContainerEl[0], this.bsDatePickerDirective);
2486
+ i1$1.adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2487
+ i1$1.adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2454
2488
  }
2455
2489
  onDatePickerOpen() {
2456
2490
  this.isDateOpen = !this.isDateOpen;
@@ -2459,8 +2493,8 @@
2459
2493
  // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.
2460
2494
  // To fix the container top position set the width 1px;
2461
2495
  this.$element.find('.model-holder').width('1px');
2462
- const datePickerContainerEl = $('bs-datepicker-container');
2463
- datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2496
+ const dpContainerEl = $('bs-datepicker-container');
2497
+ dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2464
2498
  $('.bs-calendar-container').removeAttr('role');
2465
2499
  const datePickerContainer = $('.bs-datepicker-container')[0];
2466
2500
  this.focusTrap = base.setFocusTrap(datePickerContainer, true);
@@ -2470,8 +2504,7 @@
2470
2504
  this.hightlightToday(this.activeDate);
2471
2505
  }
2472
2506
  this.addDatepickerKeyboardEvents(this, true);
2473
- i1$1.adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2474
- this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
2507
+ i1$1.adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2475
2508
  }
2476
2509
  /**
2477
2510
  * This is an internal method to update the model
@@ -2716,7 +2749,7 @@
2716
2749
  base.provideAs(DatetimeComponent, i2$2.NG_VALIDATORS, true),
2717
2750
  base.provideAsWidgetRef(DatetimeComponent),
2718
2751
  { provide: i5.TimepickerConfig, deps: [i1$1.AbstractI18nService], useFactory: getTimepickerConfig }
2719
- ]), i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵ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) {
2752
+ ]), i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵ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) {
2720
2753
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2721
2754
  i0__namespace.ɵɵelementStart(0, "div", 1);
2722
2755
  i0__namespace.ɵɵlistener("onShown", function DatetimeComponent_Template_div_onShown_0_listener() { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onTimepickerOpen()); });
@@ -2734,7 +2767,7 @@
2734
2767
  i0__namespace.ɵɵelementStart(7, "div", 8)(8, "input", 9, 0);
2735
2768
  i0__namespace.ɵɵlistener("onShown", function DatetimeComponent_Template_input_onShown_8_listener() { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onDatePickerOpen()); })("onHidden", function DatetimeComponent_Template_input_onHidden_8_listener() { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.hideDatepickerDropdown()); })("bsValueChange", function DatetimeComponent_Template_input_bsValueChange_8_listener($event) { i0__namespace.ɵɵrestoreView(_r1); return i0__namespace.ɵɵresetView(ctx.onModelUpdate($event, "date")); });
2736
2769
  i0__namespace.ɵɵelementEnd()();
2737
- i0__namespace.ɵɵtemplate(10, DatetimeComponent_div_10_Template, 2, 13, "div", 10);
2770
+ i0__namespace.ɵɵtemplate(10, DatetimeComponent_div_10_Template, 3, 17, "div", 10);
2738
2771
  i0__namespace.ɵɵelementEnd();
2739
2772
  i0__namespace.ɵɵtemplate(11, DatetimeComponent_Conditional_11_Template, 2, 8);
2740
2773
  } if (rf & 2) {
@@ -2753,16 +2786,16 @@
2753
2786
  i0__namespace.ɵɵattribute("aria-hidden", !!ctx.loadNativeDateInput);
2754
2787
  i0__namespace.ɵɵadvance(3);
2755
2788
  i0__namespace.ɵɵconditional(ctx.loadNativeDateInput ? 11 : -1);
2756
- } }, dependencies: [base.WmComponentsModule, i2$2.FormsModule, i2$2__namespace.NgControlStatus, i2$2__namespace.NgModel, DateTimePickerComponent, i3.BsDropdownModule, i3__namespace.BsDropdownMenuDirective, i3__namespace.BsDropdownDirective, i2.BsDatepickerModule, i2__namespace.BsDatepickerDirective, i2__namespace.BsDatepickerInputDirective, i5.TimepickerModule, i5__namespace.TimepickerComponent], encapsulation: 2 }); }
2789
+ } }, dependencies: [base.WmComponentsModule, i2$2.FormsModule, i2$2__namespace.NgControlStatus, i2$2__namespace.NgModel, DateTimePickerComponent, i3.BsDropdownModule, i3__namespace.BsDropdownMenuDirective, i3__namespace.BsDropdownDirective, i2.BsDatepickerModule, i2__namespace.BsDatepickerDirective, i2__namespace.BsDatepickerInputDirective, i5.TimepickerModule, i5__namespace.TimepickerComponent, i6.CommonModule, i6__namespace.NgClass], encapsulation: 2 }); }
2757
2790
  }
2758
2791
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(DatetimeComponent, [{
2759
2792
  type: i0.Component,
2760
- args: [{ standalone: true, imports: [base.WmComponentsModule, i2$2.FormsModule, DateTimePickerComponent, i3.BsDropdownModule, i2.BsDatepickerModule, i5.TimepickerModule], selector: '[wmDateTime]', providers: [
2793
+ args: [{ standalone: true, imports: [base.WmComponentsModule, i2$2.FormsModule, DateTimePickerComponent, i3.BsDropdownModule, i2.BsDatepickerModule, i5.TimepickerModule, i6.CommonModule], selector: '[wmDateTime]', providers: [
2761
2794
  base.provideAs(DatetimeComponent, i2$2.NG_VALUE_ACCESSOR, true),
2762
2795
  base.provideAs(DatetimeComponent, i2$2.NG_VALIDATORS, true),
2763
2796
  base.provideAsWidgetRef(DatetimeComponent),
2764
2797
  { provide: i5.TimepickerConfig, deps: [i1$1.AbstractI18nService], useFactory: getTimepickerConfig }
2765
- ], 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" }]
2798
+ ], 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" }]
2766
2799
  }], () => [{ type: i0__namespace.Injector }, { type: i0__namespace.NgZone }, { type: i0__namespace.ChangeDetectorRef }, { type: i1$1__namespace.AppDefaults }, { type: i1$1__namespace.App }, { type: undefined, decorators: [{
2767
2800
  type: i0.Inject,
2768
2801
  args: ['EXPLICIT_CONTEXT']
@@ -2772,7 +2805,7 @@
2772
2805
  type: i0.ViewChild,
2773
2806
  args: [i2.BsDatepickerDirective]
2774
2807
  }] }); })();
2775
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(DatetimeComponent, { className: "DatetimeComponent", filePath: "date-time/date-time.component.ts", lineNumber: 63 }); })();
2808
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(DatetimeComponent, { className: "DatetimeComponent", filePath: "date-time/date-time.component.ts", lineNumber: 64 }); })();
2776
2809
 
2777
2810
  const timeProps = new Map([
2778
2811
  ['autofocus', base.PROP_BOOLEAN],
@@ -2799,7 +2832,8 @@
2799
2832
  ['secondsstep', { value: 1, ...base.PROP_NUMBER }],
2800
2833
  ['tabindex', { value: 0, ...base.PROP_NUMBER }],
2801
2834
  ['timepattern', base.PROP_STRING],
2802
- ['timestamp', base.PROP_STRING]
2835
+ ['timestamp', base.PROP_STRING],
2836
+ ['showampmbuttons', { value: false, ...base.PROP_BOOLEAN }]
2803
2837
  ]);
2804
2838
  const registerProps = () => {
2805
2839
  base.register('wm-time', timeProps);
@@ -2808,6 +2842,26 @@
2808
2842
 
2809
2843
  const _c0 = ["wmTime", ""];
2810
2844
  const _c1 = () => ({ standalone: true });
2845
+ const _c2 = a0 => ({ "showbuttons": a0 });
2846
+ const _c3 = a0 => ({ "active btn-secondary": a0 });
2847
+ function TimeComponent_div_5_Conditional_2_Template(rf, ctx) { if (rf & 1) {
2848
+ const _r3 = i0__namespace.ɵɵgetCurrentView();
2849
+ i0__namespace.ɵɵelementStart(0, "div", 8)(1, "button", 9);
2850
+ i0__namespace.ɵɵlistener("click", function TimeComponent_div_5_Conditional_2_Template_button_click_1_listener() { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.setPeriod("AM")); });
2851
+ i0__namespace.ɵɵtext(2, "AM");
2852
+ i0__namespace.ɵɵelementEnd();
2853
+ i0__namespace.ɵɵelement(3, "br");
2854
+ i0__namespace.ɵɵelementStart(4, "button", 10);
2855
+ i0__namespace.ɵɵlistener("click", function TimeComponent_div_5_Conditional_2_Template_button_click_4_listener() { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(2); return i0__namespace.ɵɵresetView(ctx_r1.setPeriod("PM")); });
2856
+ i0__namespace.ɵɵtext(5, "PM");
2857
+ i0__namespace.ɵɵelementEnd()();
2858
+ } if (rf & 2) {
2859
+ const ctx_r1 = i0__namespace.ɵɵnextContext(2);
2860
+ i0__namespace.ɵɵadvance();
2861
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(2, _c3, ctx_r1.getPeriod() === "AM"));
2862
+ i0__namespace.ɵɵadvance(3);
2863
+ i0__namespace.ɵɵproperty("ngClass", i0__namespace.ɵɵpureFunction1(4, _c3, ctx_r1.getPeriod() === "PM"));
2864
+ } }
2811
2865
  function TimeComponent_div_5_Template(rf, ctx) { if (rf & 1) {
2812
2866
  const _r1 = i0__namespace.ɵɵgetCurrentView();
2813
2867
  i0__namespace.ɵɵelementStart(0, "div", 6);
@@ -2815,21 +2869,25 @@
2815
2869
  i0__namespace.ɵɵelementStart(1, "timepicker", 7);
2816
2870
  i0__namespace.ɵɵtwoWayListener("ngModelChange", function TimeComponent_div_5_Template_timepicker_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r1); const ctx_r1 = i0__namespace.ɵɵnextContext(); i0__namespace.ɵɵtwoWayBindingSet(ctx_r1.bsTimeValue, $event) || (ctx_r1.bsTimeValue = $event); return i0__namespace.ɵɵresetView($event); });
2817
2871
  i0__namespace.ɵɵlistener("isValid", function TimeComponent_div_5_Template_timepicker_isValid_1_listener($event) { i0__namespace.ɵɵrestoreView(_r1); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.isValid($event)); })("ngModelChange", function TimeComponent_div_5_Template_timepicker_ngModelChange_1_listener($event) { i0__namespace.ɵɵrestoreView(_r1); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2818
- i0__namespace.ɵɵelementEnd()();
2872
+ i0__namespace.ɵɵelementEnd();
2873
+ i0__namespace.ɵɵtemplate(2, TimeComponent_div_5_Conditional_2_Template, 6, 6, "div", 8);
2874
+ i0__namespace.ɵɵelementEnd();
2819
2875
  } if (rf & 2) {
2820
2876
  const ctx_r1 = i0__namespace.ɵɵnextContext();
2821
2877
  i0__namespace.ɵɵadvance();
2822
2878
  i0__namespace.ɵɵproperty("showMeridian", ctx_r1.ismeridian)("readonlyInput", ctx_r1.isDisabled);
2823
2879
  i0__namespace.ɵɵtwoWayProperty("ngModel", ctx_r1.bsTimeValue);
2824
- i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵ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);
2880
+ i0__namespace.ɵɵproperty("ngModelOptions", i0__namespace.ɵɵ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__namespace.ɵɵpureFunction1(16, _c2, ctx_r1.showampmbuttons));
2881
+ i0__namespace.ɵɵadvance();
2882
+ i0__namespace.ɵɵconditional(ctx_r1.ismeridian && ctx_r1.showampmbuttons ? 2 : -1);
2825
2883
  } }
2826
2884
  function TimeComponent_Conditional_6_Template(rf, ctx) { if (rf & 1) {
2827
- const _r3 = i0__namespace.ɵɵgetCurrentView();
2828
- i0__namespace.ɵɵelementStart(0, "wm-datetimepicker", 8);
2829
- i0__namespace.ɵɵlistener("change", function TimeComponent_Conditional_6_Template_wm_datetimepicker_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2885
+ const _r4 = i0__namespace.ɵɵgetCurrentView();
2886
+ i0__namespace.ɵɵelementStart(0, "wm-datetimepicker", 11);
2887
+ i0__namespace.ɵɵlistener("change", function TimeComponent_Conditional_6_Template_wm_datetimepicker_change_0_listener($event) { i0__namespace.ɵɵrestoreView(_r4); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵresetView(ctx_r1.onTimeChange($event)); });
2830
2888
  i0__namespace.ɵɵelementEnd();
2831
- i0__namespace.ɵɵelementStart(1, "div", 9);
2832
- i0__namespace.ɵɵlistener("click", function TimeComponent_Conditional_6_Template_div_click_1_listener() { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵ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__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.onDateTimeInputFocus(true); ctx_r1.invokeOnFocus($event); return i0__namespace.ɵɵresetView(ctx_r1.assignModel()); })("blur", function TimeComponent_Conditional_6_Template_div_blur_1_listener($event) { i0__namespace.ɵɵrestoreView(_r3); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.onDateTimeInputBlur(); return i0__namespace.ɵɵresetView(ctx_r1.invokeOnTouched($event)); });
2889
+ i0__namespace.ɵɵelementStart(1, "div", 12);
2890
+ i0__namespace.ɵɵlistener("click", function TimeComponent_Conditional_6_Template_div_click_1_listener() { i0__namespace.ɵɵrestoreView(_r4); const ctx_r1 = i0__namespace.ɵɵnextContext(); return i0__namespace.ɵɵ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__namespace.ɵɵrestoreView(_r4); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.onDateTimeInputFocus(true); ctx_r1.invokeOnFocus($event); return i0__namespace.ɵɵresetView(ctx_r1.assignModel()); })("blur", function TimeComponent_Conditional_6_Template_div_blur_1_listener($event) { i0__namespace.ɵɵrestoreView(_r4); const ctx_r1 = i0__namespace.ɵɵnextContext(); ctx_r1.onDateTimeInputBlur(); return i0__namespace.ɵɵresetView(ctx_r1.invokeOnTouched($event)); });
2833
2891
  i0__namespace.ɵɵelementEnd();
2834
2892
  } if (rf & 2) {
2835
2893
  const ctx_r1 = i0__namespace.ɵɵnextContext();
@@ -3149,7 +3207,7 @@
3149
3207
  base.provideAs(TimeComponent, i2$2.NG_VALIDATORS, true),
3150
3208
  base.provideAsWidgetRef(TimeComponent),
3151
3209
  { provide: i5.TimepickerConfig, deps: [i1$1.AbstractI18nService], useFactory: getTimepickerConfig }
3152
- ]), i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵ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) {
3210
+ ]), i0__namespace.ɵɵInheritDefinitionFeature, i0__namespace.ɵɵ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) {
3153
3211
  i0__namespace.ɵɵelementStart(0, "div", 0);
3154
3212
  i0__namespace.ɵɵlistener("onShown", function TimeComponent_Template_div_onShown_0_listener() { return ctx.onShown(); })("onHidden", function TimeComponent_Template_div_onHidden_0_listener() { return ctx.hideTimepickerDropdown(); });
3155
3213
  i0__namespace.ɵɵelementStart(1, "input", 1);
@@ -3159,7 +3217,7 @@
3159
3217
  i0__namespace.ɵɵlistener("click", function TimeComponent_Template_button_click_3_listener($event) { return ctx.toggleDropdown($event, false); });
3160
3218
  i0__namespace.ɵɵelement(4, "i", 4);
3161
3219
  i0__namespace.ɵɵelementEnd()();
3162
- i0__namespace.ɵɵtemplate(5, TimeComponent_div_5_Template, 2, 14, "div", 5);
3220
+ i0__namespace.ɵɵtemplate(5, TimeComponent_div_5_Template, 3, 18, "div", 5);
3163
3221
  i0__namespace.ɵɵelementEnd();
3164
3222
  i0__namespace.ɵɵtemplate(6, TimeComponent_Conditional_6_Template, 2, 6);
3165
3223
  } if (rf & 2) {
@@ -3171,23 +3229,23 @@
3171
3229
  i0__namespace.ɵɵproperty("tabindex", ctx.tabindex)("disabled", ctx.disabled || ctx.readonly || ctx.isCurrentTime);
3172
3230
  i0__namespace.ɵɵadvance(3);
3173
3231
  i0__namespace.ɵɵconditional(ctx.loadNativeDateInput ? 6 : -1);
3174
- } }, dependencies: [base.WmComponentsModule, i2$2.FormsModule, i2$2__namespace.NgControlStatus, i2$2__namespace.NgModel, DateTimePickerComponent, i3.BsDropdownModule, i3__namespace.BsDropdownMenuDirective, i3__namespace.BsDropdownDirective, i5.TimepickerModule, i5__namespace.TimepickerComponent], encapsulation: 2 }); }
3232
+ } }, dependencies: [base.WmComponentsModule, i2$2.FormsModule, i2$2__namespace.NgControlStatus, i2$2__namespace.NgModel, DateTimePickerComponent, i3.BsDropdownModule, i3__namespace.BsDropdownMenuDirective, i3__namespace.BsDropdownDirective, i5.TimepickerModule, i5__namespace.TimepickerComponent, i6.CommonModule, i6__namespace.NgClass], encapsulation: 2 }); }
3175
3233
  }
3176
3234
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassMetadata(TimeComponent, [{
3177
3235
  type: i0.Component,
3178
- args: [{ standalone: true, imports: [base.WmComponentsModule, i2$2.FormsModule, DateTimePickerComponent, i3.BsDropdownModule, i5.TimepickerModule], selector: '[wmTime]', providers: [
3236
+ args: [{ standalone: true, imports: [base.WmComponentsModule, i2$2.FormsModule, DateTimePickerComponent, i3.BsDropdownModule, i5.TimepickerModule, i6.CommonModule], selector: '[wmTime]', providers: [
3179
3237
  base.provideAs(TimeComponent, i2$2.NG_VALUE_ACCESSOR, true),
3180
3238
  base.provideAs(TimeComponent, i2$2.NG_VALIDATORS, true),
3181
3239
  base.provideAsWidgetRef(TimeComponent),
3182
3240
  { provide: i5.TimepickerConfig, deps: [i1$1.AbstractI18nService], useFactory: getTimepickerConfig }
3183
- ], 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" }]
3241
+ ], 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" }]
3184
3242
  }], () => [{ type: i0__namespace.Injector }, { type: i0__namespace.NgZone }, { type: i1$1__namespace.AppDefaults }, { type: i1$1__namespace.App }, { type: undefined, decorators: [{
3185
3243
  type: i0.Inject,
3186
3244
  args: ['EXPLICIT_CONTEXT']
3187
3245
  }, {
3188
3246
  type: i0.Optional
3189
3247
  }] }], null); })();
3190
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TimeComponent, { className: "TimeComponent", filePath: "time/time.component.ts", lineNumber: 49 }); })();
3248
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0__namespace.ɵsetClassDebugInfo(TimeComponent, { className: "TimeComponent", filePath: "time/time.component.ts", lineNumber: 50 }); })();
3191
3249
 
3192
3250
  exports.DateComponent = DateComponent;
3193
3251
  exports.DateTimePickerComponent = DateTimePickerComponent;