@coreui/angular-pro 4.7.3 → 5.0.0-alpha.1

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 (103) hide show
  1. package/esm2022/lib/avatar/avatar.component.mjs +8 -5
  2. package/esm2022/lib/badge/badge.component.mjs +8 -4
  3. package/esm2022/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.mjs +6 -6
  4. package/esm2022/lib/button/button-close.directive.mjs +9 -3
  5. package/esm2022/lib/calendar/calendar/calendar.component.mjs +148 -69
  6. package/esm2022/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +2 -1
  7. package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +2 -2
  8. package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +26 -0
  9. package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +101 -58
  10. package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +253 -90
  11. package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +117 -0
  12. package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +26 -22
  13. package/esm2022/lib/calendar/calendar.module.mjs +7 -4
  14. package/esm2022/lib/calendar/calendar.service.mjs +5 -2
  15. package/esm2022/lib/calendar/calendar.utils.mjs +100 -17
  16. package/esm2022/lib/card/card.component.mjs +10 -6
  17. package/esm2022/lib/carousel/carousel/carousel.component.mjs +35 -34
  18. package/esm2022/lib/coreui.types.mjs +1 -1
  19. package/esm2022/lib/date-picker/date-picker.component.mjs +5 -9
  20. package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +166 -161
  21. package/esm2022/lib/dropdown/dropdown/dropdown.component.mjs +5 -18
  22. package/esm2022/lib/dropdown/dropdown-item/dropdown-item.directive.mjs +10 -2
  23. package/esm2022/lib/dropdown/dropdown-menu/dropdown-menu.directive.mjs +76 -40
  24. package/esm2022/lib/dropdown/dropdown.service.mjs +2 -2
  25. package/esm2022/lib/modal/modal/modal.component.mjs +1 -1
  26. package/esm2022/lib/multi-select/multi-select/multi-select.component.mjs +9 -6
  27. package/esm2022/lib/multi-select/multi-select-tag/multi-select-tag.component.mjs +3 -3
  28. package/esm2022/lib/nav/nav.component.mjs +3 -3
  29. package/esm2022/lib/navbar/navbar.component.mjs +7 -11
  30. package/esm2022/lib/offcanvas/offcanvas/offcanvas.component.mjs +8 -4
  31. package/esm2022/lib/popover/popover.directive.mjs +2 -2
  32. package/esm2022/lib/shared/public_api.mjs +2 -1
  33. package/esm2022/lib/shared/shared.module.mjs +5 -12
  34. package/esm2022/lib/shared/theme.directive.mjs +44 -0
  35. package/esm2022/lib/sidebar/sidebar/sidebar.component.mjs +3 -2
  36. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav-link.component.mjs +3 -3
  37. package/esm2022/lib/sidebar/sidebar-nav/sidebar-nav.component.mjs +19 -15
  38. package/esm2022/lib/sidebar/sidebar-toggler/sidebar-toggler.component.mjs +11 -2
  39. package/esm2022/lib/smart-table/smart-table/smart-table.component.mjs +88 -123
  40. package/esm2022/lib/smart-table/smart-table-head/smart-table-column-label.pipe.mjs +3 -11
  41. package/esm2022/lib/smart-table/smart-table-head/smart-table-head.component.mjs +46 -35
  42. package/esm2022/lib/smart-table/smart-table.type.mjs +1 -1
  43. package/esm2022/lib/smart-table/smart-table.utils.mjs +181 -0
  44. package/esm2022/lib/table/table.type.mjs +1 -1
  45. package/esm2022/lib/tabs/tab-pane/tab-pane.component.mjs +3 -5
  46. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.mjs +11 -5
  47. package/esm2022/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.mjs +17 -10
  48. package/esm2022/lib/time-picker/time-picker.component.mjs +87 -113
  49. package/esm2022/lib/tooltip/tooltip.directive.mjs +2 -2
  50. package/esm2022/lib/widget/widget-stat-a/widget-stat-a.component.mjs +2 -2
  51. package/esm2022/lib/widget/widget-stat-b/widget-stat-b.component.mjs +4 -4
  52. package/esm2022/lib/widget/widget-stat-c/widget-stat-c.component.mjs +14 -16
  53. package/esm2022/lib/widget/widget-stat-d/widget-stat-d.component.mjs +3 -3
  54. package/esm2022/lib/widget/widget-stat-e/widget-stat-e.component.mjs +2 -2
  55. package/esm2022/lib/widget/widget-stat-f/widget-stat-f.component.mjs +2 -2
  56. package/fesm2022/coreui-angular-pro.mjs +2185 -1472
  57. package/fesm2022/coreui-angular-pro.mjs.map +1 -1
  58. package/lib/avatar/avatar.component.d.ts +4 -3
  59. package/lib/badge/badge.component.d.ts +5 -3
  60. package/lib/breadcrumb/breadcrumb-router/breadcrumb-router.service.d.ts +1 -1
  61. package/lib/button/button-close.directive.d.ts +3 -1
  62. package/lib/calendar/calendar/calendar.component.d.ts +46 -19
  63. package/lib/calendar/calendar-month/calendar-class-row.pipe.d.ts +23 -0
  64. package/lib/calendar/calendar-month/calendar-day.directive.d.ts +16 -26
  65. package/lib/calendar/calendar-month/calendar-month.component.d.ts +45 -27
  66. package/lib/calendar/calendar-month/calendar-row.directive.d.ts +44 -0
  67. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +7 -6
  68. package/lib/calendar/calendar.module.d.ts +2 -1
  69. package/lib/calendar/calendar.service.d.ts +5 -1
  70. package/lib/calendar/calendar.utils.d.ts +25 -6
  71. package/lib/card/card.component.d.ts +3 -1
  72. package/lib/carousel/carousel/carousel.component.d.ts +10 -14
  73. package/lib/coreui.types.d.ts +4 -1
  74. package/lib/date-picker/date-picker.component.d.ts +2 -2
  75. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +75 -41
  76. package/lib/dropdown/dropdown/dropdown.component.d.ts +2 -9
  77. package/lib/dropdown/dropdown-item/dropdown-item.directive.d.ts +5 -1
  78. package/lib/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +13 -16
  79. package/lib/dropdown/dropdown.service.d.ts +0 -1
  80. package/lib/multi-select/multi-select/multi-select.component.d.ts +1 -2
  81. package/lib/nav/nav.component.d.ts +2 -2
  82. package/lib/navbar/navbar.component.d.ts +2 -5
  83. package/lib/offcanvas/offcanvas/offcanvas.component.d.ts +2 -1
  84. package/lib/shared/public_api.d.ts +1 -0
  85. package/lib/shared/shared.module.d.ts +2 -1
  86. package/lib/shared/theme.directive.d.ts +19 -0
  87. package/lib/sidebar/sidebar-nav/sidebar-nav.component.d.ts +5 -2
  88. package/lib/sidebar/sidebar-toggler/sidebar-toggler.component.d.ts +1 -0
  89. package/lib/smart-table/smart-table/smart-table.component.d.ts +36 -51
  90. package/lib/smart-table/smart-table-head/smart-table-column-label.pipe.d.ts +0 -1
  91. package/lib/smart-table/smart-table-head/smart-table-head.component.d.ts +21 -11
  92. package/lib/smart-table/smart-table.type.d.ts +49 -34
  93. package/lib/smart-table/smart-table.utils.d.ts +29 -0
  94. package/lib/table/table.type.d.ts +5 -6
  95. package/lib/time-picker/time-picker-roll-col/time-picker-roll-am-pm.component.d.ts +2 -1
  96. package/lib/time-picker/time-picker-roll-col/time-picker-roll-col.component.d.ts +3 -2
  97. package/lib/time-picker/time-picker.component.d.ts +17 -28
  98. package/lib/widget/widget-stat-a/widget-stat-a.component.d.ts +1 -1
  99. package/lib/widget/widget-stat-b/widget-stat-b.component.d.ts +3 -3
  100. package/lib/widget/widget-stat-c/widget-stat-c.component.d.ts +15 -13
  101. package/lib/widget/widget-stat-e/widget-stat-e.component.d.ts +1 -1
  102. package/lib/widget/widget-stat-f/widget-stat-f.component.d.ts +1 -1
  103. package/package.json +3 -2
@@ -0,0 +1,181 @@
1
+ export const getClickedColumnName = (target, columnNames, selectable) => {
2
+ const closest = target.closest('tr');
3
+ const children = closest ? Array.from(closest.children) : [];
4
+ const clickedCell = children.filter((child) => child.contains(target))[0];
5
+ return columnNames[children.indexOf(clickedCell) - (selectable ? 1 : 0)];
6
+ };
7
+ export const getColumnKey = (column) => typeof column === 'object' ? column.key : column;
8
+ export const getColumnLabel = (column) => typeof column === 'object' && column.label !== undefined ? column.label : prettifyName(getColumnKey(column));
9
+ export const getColumnName = getColumnKey;
10
+ export const getColumnNames = (columns, items) => {
11
+ if (columns?.length) {
12
+ const _columns = [];
13
+ for (const column of columns) {
14
+ if (typeof column === 'object' && column.children) {
15
+ _columns.push(...getColumnNames(column.children, []));
16
+ continue;
17
+ }
18
+ typeof column === 'object' ? _columns.push(column.key) : _columns.push(column);
19
+ }
20
+ return _columns;
21
+ }
22
+ return getColumnNamesFromItems(items);
23
+ };
24
+ export const getColumns = (_columns) => {
25
+ const columns = [];
26
+ for (const column of _columns) {
27
+ if (typeof column === 'object' && column.group && column.children) {
28
+ columns.push(...getColumns(column.children));
29
+ continue;
30
+ }
31
+ if (typeof column === 'object' && column.children) {
32
+ columns.push(...getColumns(column.children));
33
+ }
34
+ columns.push(column);
35
+ }
36
+ return columns;
37
+ };
38
+ export const countColumns = (columns, counter = 0) => {
39
+ let _counter = counter;
40
+ for (const column of columns) {
41
+ if (!column.children) {
42
+ _counter++;
43
+ }
44
+ if (column.children) {
45
+ _counter = countColumns(column.children, _counter);
46
+ }
47
+ }
48
+ return _counter;
49
+ };
50
+ export const getColumnGroups = (columns) => {
51
+ const groups = [];
52
+ const traverseColumns = (column, deep = 0, colSpan = 0) => {
53
+ const groups = [];
54
+ if (column.children) {
55
+ for (const _column of column.children) {
56
+ if (!_column.group) {
57
+ colSpan++;
58
+ }
59
+ groups.push(...traverseColumns(_column, deep + 1, colSpan));
60
+ }
61
+ }
62
+ if (typeof column === 'object' && column.group) {
63
+ const { children, group, ...rest } = column;
64
+ groups.push({
65
+ deep: deep, label: group, ...(children && { colspan: countColumns(children) }), ...rest
66
+ });
67
+ }
68
+ return groups;
69
+ };
70
+ if (columns) {
71
+ for (const column of columns) {
72
+ if (typeof column === 'object' && column.group) {
73
+ const objects = traverseColumns(column);
74
+ if (objects) {
75
+ for (const object of objects) {
76
+ const { deep, ...rest } = object;
77
+ if (deep === undefined) {
78
+ continue;
79
+ }
80
+ for (let i = 0; i < deep; i++) {
81
+ if (groups[i]) {
82
+ continue;
83
+ }
84
+ groups.push([]);
85
+ }
86
+ if (groups[deep]) {
87
+ groups[deep].push(rest);
88
+ }
89
+ else {
90
+ groups.push([rest]);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ return groups;
98
+ };
99
+ export const getColumnNamesFromItems = (items) => Object.keys(items[0] || {}).filter((el) => el.charAt(0) !== '_');
100
+ export const getColumnValues = (items, key) => {
101
+ return items.map((item) => item[key]);
102
+ };
103
+ export const convertNgClassToObj = (value) => {
104
+ const WS_REGEXP = /\s+/;
105
+ const rawClass = typeof value === 'string' ? value.trim().split(WS_REGEXP) : value;
106
+ const objClass = {};
107
+ if (Array.isArray(rawClass) || rawClass instanceof Set) {
108
+ for (const klass of rawClass) {
109
+ objClass[klass] = true;
110
+ }
111
+ return objClass;
112
+ }
113
+ return rawClass ?? {};
114
+ };
115
+ export const getTableDataCellClass = (column, item) => {
116
+ const colClass = convertNgClassToObj(column?._colClass ?? {});
117
+ const rowClass = convertNgClassToObj(item._class ?? {});
118
+ const allClass = convertNgClassToObj(item._cellClass?._all ?? {});
119
+ const cellClass = convertNgClassToObj(item._cellClass?.[column.key] ?? {});
120
+ return { ...colClass, ...rowClass, ...allClass, ...cellClass };
121
+ };
122
+ export const getTableDataCellProps = (column, item) => {
123
+ const props = {};
124
+ if (typeof column === 'object' && column._colProps) {
125
+ Object.assign(props, column._colProps);
126
+ }
127
+ if (item._cellProps?._all) {
128
+ Object.assign(props, item._cellProps._all);
129
+ }
130
+ if (item._cellProps?.[column.key]) {
131
+ Object.assign(props, item._cellProps[column.key]);
132
+ }
133
+ return props;
134
+ };
135
+ export const getTableDataCellStyles = (column, item) => {
136
+ const styles = {};
137
+ if (typeof column === 'object' && column._colStyle) {
138
+ Object.assign(styles, column._colStyle);
139
+ }
140
+ if (item._cellStyle?._all) {
141
+ Object.assign(styles, item._cellStyle._all);
142
+ }
143
+ // @ts-ignore
144
+ if (item._cellStyle?.[column.key]) {
145
+ // @ts-ignore
146
+ Object.assign(styles, item._cellStyle[column.key]);
147
+ }
148
+ return { ...styles };
149
+ };
150
+ export const getTableHeaderCellProps = (column) => {
151
+ if (typeof column === 'object' && column._props) {
152
+ const { color, ...props } = { ...column._props };
153
+ return props;
154
+ }
155
+ return {};
156
+ };
157
+ export const getTableHeaderCellClass = (column) => {
158
+ const headerClass = convertNgClassToObj(column?._classes ?? {});
159
+ return { ...headerClass };
160
+ };
161
+ export const getTableHeaderCellStyles = (column, columnSorter) => {
162
+ const style = {
163
+ verticalAlign: 'middle',
164
+ overflow: 'hidden',
165
+ cursor: columnSorter ? 'pointer' : ''
166
+ };
167
+ if (typeof column === 'object' && column._style) {
168
+ return { ...style, ...column._style };
169
+ }
170
+ return { ...style };
171
+ };
172
+ export const prettifyName = (name) => {
173
+ return name
174
+ .replace(/[-_.]/g, ' ')
175
+ .replace(/ +/g, ' ')
176
+ .replace(/([a-z0-9])([A-Z])/g, '$1 $2')
177
+ .split(' ')
178
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
179
+ .join(' ');
180
+ };
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdGFibGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3NtYXJ0LXRhYmxlL3NtYXJ0LXRhYmxlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsTUFBMkIsRUFBRSxXQUFxQixFQUFFLFVBQW1CLEVBQVUsRUFBRTtJQUN0SCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUUsT0FBTyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE1BQXdCLEVBQUUsRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBRTNHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE1BQXdCLEVBQUUsRUFBRSxDQUN6RCxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLEtBQUss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QztTQUNuQixPQUFPLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxDQUFDO1NBQ3RDLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29sdW1uLCBJR3JvdXAsIElJdGVtLCBJU29ydGVyIH0gZnJvbSAnLi9zbWFydC10YWJsZS50eXBlJztcblxuZXhwb3J0IGNvbnN0IGdldENsaWNrZWRDb2x1bW5OYW1lID0gKHRhcmdldDogSFRNTFRleHRBcmVhRWxlbWVudCwgY29sdW1uTmFtZXM6IHN0cmluZ1tdLCBzZWxlY3RhYmxlOiBib29sZWFuKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY2xvc2VzdCA9IHRhcmdldC5jbG9zZXN0KCd0cicpO1xuICBjb25zdCBjaGlsZHJlbiA9IGNsb3Nlc3QgPyBBcnJheS5mcm9tKGNsb3Nlc3QuY2hpbGRyZW4pIDogW107XG4gIGNvbnN0IGNsaWNrZWRDZWxsID0gY2hpbGRyZW4uZmlsdGVyKChjaGlsZCkgPT4gY2hpbGQuY29udGFpbnModGFyZ2V0KSlbMF07XG4gIHJldHVybiBjb2x1bW5OYW1lc1tjaGlsZHJlbi5pbmRleE9mKGNsaWNrZWRDZWxsKSAtIChzZWxlY3RhYmxlID8gMSA6IDApXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5LZXkgPSAoY29sdW1uOiBJQ29sdW1uIHwgc3RyaW5nKSA9PiB0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyA/IGNvbHVtbi5rZXkgOiBjb2x1bW47XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5MYWJlbCA9IChjb2x1bW46IElDb2x1bW4gfCBzdHJpbmcpID0+XG4gIHR5cGVvZiBjb2x1bW4gPT09ICdvYmplY3QnICYmIGNvbHVtbi5sYWJlbCAhPT0gdW5kZWZpbmVkID8gY29sdW1uLmxhYmVsIDogcHJldHRpZnlOYW1lKGdldENvbHVtbktleShjb2x1bW4pKTtcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtbk5hbWUgPSBnZXRDb2x1bW5LZXk7XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5OYW1lcyA9IChjb2x1bW5zOiAoc3RyaW5nIHwgSUNvbHVtbilbXSB8IHVuZGVmaW5lZCwgaXRlbXM6IElJdGVtW10pOiBzdHJpbmdbXSA9PiB7XG4gIGlmIChjb2x1bW5zPy5sZW5ndGgpIHtcbiAgICBjb25zdCBfY29sdW1uczogc3RyaW5nW10gPSBbXTtcblxuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uY2hpbGRyZW4pIHtcbiAgICAgICAgX2NvbHVtbnMucHVzaCguLi5nZXRDb2x1bW5OYW1lcyhjb2x1bW4uY2hpbGRyZW4sIFtdKSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyA/IF9jb2x1bW5zLnB1c2goY29sdW1uLmtleSkgOiBfY29sdW1ucy5wdXNoKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9jb2x1bW5zO1xuICB9XG5cbiAgcmV0dXJuIGdldENvbHVtbk5hbWVzRnJvbUl0ZW1zKGl0ZW1zKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5zID0gKF9jb2x1bW5zOiAoSUNvbHVtbiB8IElHcm91cClbXSk6IChJQ29sdW1uKVtdID0+IHtcbiAgY29uc3QgY29sdW1uczogSUNvbHVtbltdID0gW107XG5cbiAgZm9yIChjb25zdCBjb2x1bW4gb2YgX2NvbHVtbnMpIHtcbiAgICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ29iamVjdCcgJiYgY29sdW1uLmdyb3VwICYmIGNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgY29sdW1ucy5wdXNoKC4uLmdldENvbHVtbnMoY29sdW1uLmNoaWxkcmVuKSk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ29iamVjdCcgJiYgY29sdW1uLmNoaWxkcmVuKSB7XG4gICAgICBjb2x1bW5zLnB1c2goLi4uZ2V0Q29sdW1ucyhjb2x1bW4uY2hpbGRyZW4pKTtcbiAgICB9XG5cbiAgICBjb2x1bW5zLnB1c2goY29sdW1uKTtcbiAgfVxuXG4gIHJldHVybiBjb2x1bW5zO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvdW50Q29sdW1ucyA9IChjb2x1bW5zOiBJQ29sdW1uW10sIGNvdW50ZXIgPSAwKSA9PiB7XG4gIGxldCBfY291bnRlciA9IGNvdW50ZXI7XG4gIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICBpZiAoIWNvbHVtbi5jaGlsZHJlbikge1xuICAgICAgX2NvdW50ZXIrKztcbiAgICB9XG5cbiAgICBpZiAoY29sdW1uLmNoaWxkcmVuKSB7XG4gICAgICBfY291bnRlciA9IGNvdW50Q29sdW1ucyhjb2x1bW4uY2hpbGRyZW4sIF9jb3VudGVyKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX2NvdW50ZXI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sdW1uR3JvdXBzID0gKGNvbHVtbnM6IChzdHJpbmcgfCBJQ29sdW1uKVtdIHwgdW5kZWZpbmVkKSA9PiB7XG4gIGNvbnN0IGdyb3VwcyA9IFtdO1xuXG4gIGNvbnN0IHRyYXZlcnNlQ29sdW1ucyA9IChjb2x1bW46IElDb2x1bW4sIGRlZXAgPSAwLCBjb2xTcGFuID0gMCk6IElHcm91cFtdID0+IHtcbiAgICBjb25zdCBncm91cHMgPSBbXTtcblxuICAgIGlmIChjb2x1bW4uY2hpbGRyZW4pIHtcbiAgICAgIGZvciAoY29uc3QgX2NvbHVtbiBvZiBjb2x1bW4uY2hpbGRyZW4pIHtcbiAgICAgICAgaWYgKCFfY29sdW1uLmdyb3VwKSB7XG4gICAgICAgICAgY29sU3BhbisrO1xuICAgICAgICB9XG4gICAgICAgIGdyb3Vwcy5wdXNoKC4uLnRyYXZlcnNlQ29sdW1ucyhfY29sdW1uLCBkZWVwICsgMSwgY29sU3BhbikpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uZ3JvdXApIHtcbiAgICAgIGNvbnN0IHsgY2hpbGRyZW4sIGdyb3VwLCAuLi5yZXN0IH0gPSBjb2x1bW47XG4gICAgICBncm91cHMucHVzaCh7XG4gICAgICAgIGRlZXA6IGRlZXAsIGxhYmVsOiBncm91cCwgLi4uKGNoaWxkcmVuICYmIHsgY29sc3BhbjogY291bnRDb2x1bW5zKGNoaWxkcmVuKSB9KSwgLi4ucmVzdFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwcztcbiAgfTtcblxuICBpZiAoY29sdW1ucykge1xuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIGNvbHVtbnMpIHtcbiAgICAgIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uZ3JvdXApIHtcbiAgICAgICAgY29uc3Qgb2JqZWN0cyA9IHRyYXZlcnNlQ29sdW1ucyhjb2x1bW4pO1xuXG4gICAgICAgIGlmIChvYmplY3RzKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBvYmplY3Qgb2Ygb2JqZWN0cykge1xuICAgICAgICAgICAgY29uc3QgeyBkZWVwLCAuLi5yZXN0IH0gPSBvYmplY3Q7XG5cbiAgICAgICAgICAgIGlmIChkZWVwID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGVlcDsgaSsrKSB7XG4gICAgICAgICAgICAgIGlmIChncm91cHNbaV0pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGdyb3Vwcy5wdXNoKFtdKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGdyb3Vwc1tkZWVwXSkge1xuICAgICAgICAgICAgICBncm91cHNbZGVlcF0ucHVzaChyZXN0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGdyb3Vwcy5wdXNoKFtyZXN0XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBncm91cHMgYXMgSUdyb3VwW11bXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5OYW1lc0Zyb21JdGVtcyA9IChpdGVtczogSUl0ZW1bXSkgPT4gT2JqZWN0LmtleXMoaXRlbXNbMF0gfHwge30pLmZpbHRlcigoZWwpID0+IGVsLmNoYXJBdCgwKSAhPT0gJ18nKTtcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtblZhbHVlcyA9IChpdGVtczogSUl0ZW1bXSwga2V5OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIGl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbVtrZXldKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb252ZXJ0TmdDbGFzc1RvT2JqID0gKHZhbHVlOiBzdHJpbmcgfCBzdHJpbmdbXSB8IFNldDxzdHJpbmc+IHwgeyBba2xhc3M6IHN0cmluZ106IGFueTsgfSB8IG51bGwgfCB1bmRlZmluZWQpOiB7IFtrbGFzczogc3RyaW5nXTogYm9vbGVhbjsgfSA9PiB7XG5cbiAgY29uc3QgV1NfUkVHRVhQID0gL1xccysvO1xuICBjb25zdCByYXdDbGFzcyA9IHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgPyB2YWx1ZS50cmltKCkuc3BsaXQoV1NfUkVHRVhQKSA6IHZhbHVlO1xuICBjb25zdCBvYmpDbGFzczogeyBba2xhc3M6IHN0cmluZ106IGJvb2xlYW47IH0gPSB7fTtcblxuICBpZiAoQXJyYXkuaXNBcnJheShyYXdDbGFzcykgfHwgcmF3Q2xhc3MgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICBmb3IgKGNvbnN0IGtsYXNzIG9mIHJhd0NsYXNzKSB7XG4gICAgICBvYmpDbGFzc1trbGFzc10gPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gb2JqQ2xhc3M7XG4gIH1cbiAgcmV0dXJuIHJhd0NsYXNzID8/IHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlRGF0YUNlbGxDbGFzcyA9IChjb2x1bW46IElDb2x1bW4sIGl0ZW06IElJdGVtKSA9PiB7XG5cbiAgY29uc3QgY29sQ2xhc3MgPSBjb252ZXJ0TmdDbGFzc1RvT2JqKGNvbHVtbj8uX2NvbENsYXNzID8/IHt9KTtcbiAgY29uc3Qgcm93Q2xhc3MgPSBjb252ZXJ0TmdDbGFzc1RvT2JqKGl0ZW0uX2NsYXNzID8/IHt9KTtcbiAgY29uc3QgYWxsQ2xhc3MgPSBjb252ZXJ0TmdDbGFzc1RvT2JqKGl0ZW0uX2NlbGxDbGFzcz8uX2FsbCA/PyB7fSk7XG4gIGNvbnN0IGNlbGxDbGFzcyA9IGNvbnZlcnROZ0NsYXNzVG9PYmooaXRlbS5fY2VsbENsYXNzPy5bY29sdW1uLmtleV0gPz8ge30pO1xuICByZXR1cm4geyAuLi5jb2xDbGFzcywgLi4ucm93Q2xhc3MsIC4uLmFsbENsYXNzLCAuLi5jZWxsQ2xhc3MgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUYWJsZURhdGFDZWxsUHJvcHMgPSAoY29sdW1uOiBJQ29sdW1uLCBpdGVtOiBJSXRlbSkgPT4ge1xuICBjb25zdCBwcm9wcyA9IHt9O1xuXG4gIGlmICh0eXBlb2YgY29sdW1uID09PSAnb2JqZWN0JyAmJiBjb2x1bW4uX2NvbFByb3BzKSB7XG4gICAgT2JqZWN0LmFzc2lnbihwcm9wcywgY29sdW1uLl9jb2xQcm9wcyk7XG4gIH1cblxuICBpZiAoaXRlbS5fY2VsbFByb3BzPy5fYWxsKSB7XG4gICAgT2JqZWN0LmFzc2lnbihwcm9wcywgaXRlbS5fY2VsbFByb3BzLl9hbGwpO1xuICB9XG5cbiAgaWYgKGl0ZW0uX2NlbGxQcm9wcz8uW2NvbHVtbi5rZXldKSB7XG4gICAgT2JqZWN0LmFzc2lnbihwcm9wcywgaXRlbS5fY2VsbFByb3BzW2NvbHVtbi5rZXldKTtcbiAgfVxuXG4gIHJldHVybiBwcm9wcztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUYWJsZURhdGFDZWxsU3R5bGVzID0gKGNvbHVtbjogSUNvbHVtbiwgaXRlbTogSUl0ZW0pOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+ID0+IHtcbiAgY29uc3Qgc3R5bGVzOiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+ID0ge307XG5cbiAgaWYgKHR5cGVvZiBjb2x1bW4gPT09ICdvYmplY3QnICYmIGNvbHVtbi5fY29sU3R5bGUpIHtcbiAgICBPYmplY3QuYXNzaWduKHN0eWxlcywgY29sdW1uLl9jb2xTdHlsZSk7XG4gIH1cblxuICBpZiAoaXRlbS5fY2VsbFN0eWxlPy5fYWxsKSB7XG4gICAgT2JqZWN0LmFzc2lnbihzdHlsZXMsIGl0ZW0uX2NlbGxTdHlsZS5fYWxsKTtcbiAgfVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgaWYgKGl0ZW0uX2NlbGxTdHlsZT8uW2NvbHVtbi5rZXldKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIE9iamVjdC5hc3NpZ24oc3R5bGVzLCBpdGVtLl9jZWxsU3R5bGVbY29sdW1uLmtleV0pO1xuICB9XG4gIHJldHVybiB7IC4uLnN0eWxlcyB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRhYmxlSGVhZGVyQ2VsbFByb3BzID0gKGNvbHVtbjogSUNvbHVtbiB8IHN0cmluZykgPT4ge1xuICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ29iamVjdCcgJiYgY29sdW1uLl9wcm9wcykge1xuICAgIGNvbnN0IHsgY29sb3IsIC4uLnByb3BzIH0gPSB7IC4uLmNvbHVtbi5fcHJvcHMgfTtcbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGFibGVIZWFkZXJDZWxsQ2xhc3MgPSAoY29sdW1uOiBJQ29sdW1uKSA9PiB7XG4gIGNvbnN0IGhlYWRlckNsYXNzID0gY29udmVydE5nQ2xhc3NUb09iaihjb2x1bW4/Ll9jbGFzc2VzID8/IHt9KTtcbiAgcmV0dXJuIHsgLi4uaGVhZGVyQ2xhc3MgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUYWJsZUhlYWRlckNlbGxTdHlsZXMgPSAoXG4gIGNvbHVtbjogSUNvbHVtbixcbiAgY29sdW1uU29ydGVyOiBib29sZWFuIHwgSVNvcnRlciB8IHVuZGVmaW5lZFxuKTogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPiA9PiB7XG5cbiAgY29uc3Qgc3R5bGU6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gPSB7XG4gICAgdmVydGljYWxBbGlnbjogJ21pZGRsZScsXG4gICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgIGN1cnNvcjogY29sdW1uU29ydGVyID8gJ3BvaW50ZXInIDogJydcbiAgfTtcblxuICBpZiAodHlwZW9mIGNvbHVtbiA9PT0gJ29iamVjdCcgJiYgY29sdW1uLl9zdHlsZSkge1xuICAgIHJldHVybiB7IC4uLnN0eWxlLCAuLi5jb2x1bW4uX3N0eWxlIH07XG4gIH1cbiAgcmV0dXJuIHsgLi4uc3R5bGUgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcmV0dGlmeU5hbWUgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBuYW1lXG4gICAgLnJlcGxhY2UoL1stXy5dL2csICcgJylcbiAgICAucmVwbGFjZSgvICsvZywgJyAnKVxuICAgIC5yZXBsYWNlKC8oW2EtejAtOV0pKFtBLVpdKS9nLCAnJDEgJDInKVxuICAgIC5zcGxpdCgnICcpXG4gICAgLm1hcCgod29yZCkgPT4gd29yZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHdvcmQuc2xpY2UoMSkpXG4gICAgLmpvaW4oJyAnKTtcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFibGUvdGFibGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludHMsIENvbG9ycyB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlIHtcbiAgLyoqXG4gICAqIFNldCB0aGUgdmVydGljYWwgYWxpZ25tZW50LlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQHZhbHVlcyAnYm90dG9tJyB8ICdtaWRkbGUnIHwgJ3RvcCdcbiAgICovXG4gIGFsaWduPzogJ2JvdHRvbScgfCAnbWlkZGxlJyB8ICd0b3AnO1xuICAvKipcbiAgICogU2V0cyB0aGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgQ29sb3JzXG4gICAqL1xuICBib3JkZXJDb2xvcj86IENvbG9ycztcbiAgLyoqXG4gICAqIEFkZCBib3JkZXJzIG9uIGFsbCBzaWRlcyBvZiB0aGUgdGFibGUgYW5kIGNlbGxzLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBib3JkZXJlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVycyBvbiBhbGwgc2lkZXMgb2YgdGhlIHRhYmxlIGFuZCBjZWxscy5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgYm9yZGVybGVzcz86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBQdXQgdGhlIGA8Y2FwdGlvbj5gIG9uIHRoZSB0b3Agb2YgdGhlIHRhYmxlLlxuICAgKiBAdmFsdWVzICd0b3AnXG4gICAqL1xuICBjYXB0aW9uPzogJ3RvcCc7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgQ29sb3JzXG4gICAqL1xuICBjb2xvcj86IENvbG9ycztcbiAgLyoqXG4gICAqIEVuYWJsZSBhIGhvdmVyIHN0YXRlIG9uIHRhYmxlIHJvd3Mgd2l0aGluIHRhYmxlIGJvZHkuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIGhvdmVyPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIE1ha2UgdGFibGUgcmVzcG9uc2l2ZSBhY3Jvc3MgYWxsIHZpZXdwb3J0cyBvciBwaWNrIGEgbWF4aW11bSBicmVha3BvaW50IHdpdGggd2hpY2ggdG8gaGF2ZSBhIHJlc3BvbnNpdmUgdGFibGUgdXAgdG8uXG4gICAqIEB0eXBlOiB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cbiAgICovXG4gIHJlc3BvbnNpdmU/OiBib29sZWFuIHwgT21pdDxCcmVha3BvaW50cywgJ3hzJz47XG4gIC8qKlxuICAgKiBNYWtlIHRhYmxlIG1vcmUgY29tcGFjdCBieSBjdXR0aW5nIGFsbCBjZWxsIGBwYWRkaW5nYCBpbiBoYWxmLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzbWFsbD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgemVicmEtc3RyaXBpbmcgdG8gYW55IHRhYmxlIHJvdyB3aXRoaW4gdGhlIHRhYmxlIGJvZHlgLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzdHJpcGVkPzogYm9vbGVhbiB8IHN0cmluZztcbiAgYXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlRWxlbWVudFByb3BzIHtcbiAgLyoqXG4gICAqIFNldCB0aGUgdmVydGljYWwgYWxpZ25tZW50LlxuICAgQHR5cGUgJ2JvdHRvbScgfCAnbWlkZGxlJyB8ICd0b3AnXG4gICAqL1xuICBhbGlnbj86ICgnYm90dG9tJyB8ICdtaWRkbGUnIHwgJ3RvcCcpO1xuICAvKipcbiAgICogU2V0cyB0aGUgY29sb3IgY29udGV4dCBvZiB0aGUgY29tcG9uZW50IHRvIG9uZSBvZiBDb3JlVUnigJlzIHRoZW1lZCBjb2xvcnMuXG4gICAqIEB0eXBlIENvbG9yc1xuICAgKi9cbiAgY29sb3I/OiBDb2xvcnM7XG4gIF9hdHRyaWJ1dGVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVSb3dDZWxsUHJvcHMgZXh0ZW5kcyBJVGFibGVFbGVtZW50UHJvcHMge1xuICAvKipcbiAgICogSGlnaGxpZ2h0IGEgdGFibGUgcm93IG9yIGNlbGxcbiAgIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIGFjdGl2ZT86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvdGFibGUvdGFibGUudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJlYWtwb2ludHMsIENvbG9ycyB9IGZyb20gJy4uL2NvcmV1aS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRhYmxlIHtcbiAgLyoqXG4gICAqIFNldCB0aGUgdmVydGljYWwgYWxpZ25tZW50LlxuICAgKiBAdHlwZSBzdHJpbmdcbiAgICogQHZhbHVlcyAnYm90dG9tJyB8ICdtaWRkbGUnIHwgJ3RvcCdcbiAgICovXG4gIGFsaWduPzogJ2JvdHRvbScgfCAnbWlkZGxlJyB8ICd0b3AnO1xuICAvKipcbiAgICogU2V0cyB0aGUgYm9yZGVyIGNvbG9yIG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgQ29sb3JzXG4gICAqL1xuICBib3JkZXJDb2xvcj86IENvbG9ycztcbiAgLyoqXG4gICAqIEFkZCBib3JkZXJzIG9uIGFsbCBzaWRlcyBvZiB0aGUgdGFibGUgYW5kIGNlbGxzLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBib3JkZXJlZD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVycyBvbiBhbGwgc2lkZXMgb2YgdGhlIHRhYmxlIGFuZCBjZWxscy5cbiAgICogQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgYm9yZGVybGVzcz86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBQdXQgdGhlIGA8Y2FwdGlvbj5gIG9uIHRoZSB0b3Agb2YgdGhlIHRhYmxlLlxuICAgKiBAdmFsdWVzICd0b3AnXG4gICAqL1xuICBjYXB0aW9uPzogJ3RvcCc7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgQ29sb3JzXG4gICAqL1xuICBjb2xvcj86IENvbG9ycztcbiAgLyoqXG4gICAqIEVuYWJsZSBhIGhvdmVyIHN0YXRlIG9uIHRhYmxlIHJvd3Mgd2l0aGluIHRhYmxlIGJvZHkuXG4gICAqIEB0eXBlIGJvb2xlYW5cbiAgICovXG4gIGhvdmVyPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIE1ha2UgdGFibGUgcmVzcG9uc2l2ZSBhY3Jvc3MgYWxsIHZpZXdwb3J0cyBvciBwaWNrIGEgbWF4aW11bSBicmVha3BvaW50IHdpdGggd2hpY2ggdG8gaGF2ZSBhIHJlc3BvbnNpdmUgdGFibGUgdXAgdG8uXG4gICAqIEB0eXBlOiB7Ym9vbGVhbiB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCcgfCAneHhsJ31cbiAgICovXG4gIHJlc3BvbnNpdmU/OiBib29sZWFuIHwgT21pdDxCcmVha3BvaW50cywgJ3hzJz47XG4gIC8qKlxuICAgKiBNYWtlIHRhYmxlIG1vcmUgY29tcGFjdCBieSBjdXR0aW5nIGFsbCBjZWxsIGBwYWRkaW5nYCBpbiBoYWxmLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzbWFsbD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBBZGQgemVicmEtc3RyaXBpbmcgdG8gYW55IHRhYmxlIHJvdyB3aXRoaW4gdGhlIHRhYmxlIGJvZHlgLlxuICAgKiBAdHlwZSBib29sZWFuXG4gICAqL1xuICBzdHJpcGVkPzogYm9vbGVhbiB8IHN0cmluZztcblxuICBhdHRyaWJ1dGVzPzogUGFydGlhbDxIVE1MVGFibGVFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJVGFibGVFbGVtZW50UHJvcHMge1xuICAvKipcbiAgICogU2V0IHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG4gICBAdHlwZSAnYm90dG9tJyB8ICdtaWRkbGUnIHwgJ3RvcCdcbiAgICovXG4gIGFsaWduPzogKCdib3R0b20nIHwgJ21pZGRsZScgfCAndG9wJyk7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBjb2xvciBjb250ZXh0IG9mIHRoZSBjb21wb25lbnQgdG8gb25lIG9mIENvcmVVSeKAmXMgdGhlbWVkIGNvbG9ycy5cbiAgICogQHR5cGUgQ29sb3JzXG4gICAqL1xuICBjb2xvcj86IENvbG9ycztcblxuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgX2F0dHJpYnV0ZXM/OiBQYXJ0aWFsPEhUTUxUYWJsZUVsZW1lbnQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElUYWJsZVJvd0NlbGxQcm9wcyBleHRlbmRzIElUYWJsZUVsZW1lbnRQcm9wcyB7XG4gIC8qKlxuICAgKiBIaWdobGlnaHQgYSB0YWJsZSByb3cgb3IgY2VsbFxuICAgQHR5cGUgYm9vbGVhblxuICAgKi9cbiAgYWN0aXZlPzogYm9vbGVhbjtcblxuICAvKiogQGRlcHJlY2F0ZWQgKi9cbiAgX2F0dHJpYnV0ZXM/OiBQYXJ0aWFsPEhUTUxUYWJsZUNlbGxFbGVtZW50PiB8IFBhcnRpYWw8SFRNTFRhYmxlUm93RWxlbWVudD47XG59XG4iXX0=
@@ -43,15 +43,13 @@ export class TabPaneComponent {
43
43
  }
44
44
  }
45
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TabPaneComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TabService }], target: i0.ɵɵFactoryTarget.Component }); }
46
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TabPaneComponent, isStandalone: true, selector: "c-tab-pane", host: { properties: { "class": "this.hostClasses" } }, exportAs: ["cTabPane"], ngImport: i0, template: `
47
- <ng-content></ng-content>`, isInline: true, styles: [":host{display:block}\n"] }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TabPaneComponent, isStandalone: true, selector: "c-tab-pane", host: { properties: { "class": "this.hostClasses" } }, exportAs: ["cTabPane"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block}\n"] }); }
48
47
  }
49
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TabPaneComponent, decorators: [{
50
49
  type: Component,
51
- args: [{ selector: 'c-tab-pane', template: `
52
- <ng-content></ng-content>`, exportAs: 'cTabPane', standalone: true, styles: [":host{display:block}\n"] }]
50
+ args: [{ selector: 'c-tab-pane', template: '<ng-content></ng-content>', exportAs: 'cTabPane', standalone: true, styles: [":host{display:block}\n"] }]
53
51
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.TabService }], propDecorators: { hostClasses: [{
54
52
  type: HostBinding,
55
53
  args: ['class']
56
54
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJzL3RhYi1wYW5lL3RhYi1wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQWM5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRHRCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXFCeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQW5CL0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQU1ELElBQUksTUFBTSxDQUFDLEtBQWM7UUFDdkIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFJRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUk7WUFDaEIsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsWUFBcUIsSUFBSTtRQUMzQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWlDLEVBQUUsRUFBRTtnQkFDOUcsSUFBSSxlQUFlLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDL0Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDOzhHQW5EVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxSkFOakI7OEJBQ2tCOzsyRkFLakIsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLFlBQVksWUFDWjs4QkFDa0IsWUFFbEIsVUFBVSxjQUNSLElBQUk7K0dBOEJaLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUYWJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWNvbnRlbnQvdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElUYWJDb250ZW50U3RhdGUsIFRhYlNlcnZpY2UgfSBmcm9tICcuLi90YWIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtdGFiLXBhbmUnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5gLFxuICBzdHlsZVVybHM6IFsnLi90YWItcGFuZS5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NUYWJQYW5lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJQYW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVUYWJTZXJ2aWNlKCk7XG4gIH1cblxuICBwdWJsaWMgdGFiUGFuZUlkeCE6IG51bWJlcjtcbiAgcHVibGljIHRhYkNvbnRlbnQhOiBUYWJDb250ZW50Q29tcG9uZW50O1xuICBwcml2YXRlIHRhYlNlcnZpY2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5fYWN0aXZlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICd0YWItcGFuZSc6IHRydWUsXG4gICAgICBmYWRlOiB0cnVlLFxuICAgICAgc2hvdzogdGhpcy5hY3RpdmUsXG4gICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlVGFiU2VydmljZShmYWxzZSk7XG4gIH1cblxuICBzdWJzY3JpYmVUYWJTZXJ2aWNlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLnRhYlNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLnRhYlNlcnZpY2UuYWN0aXZlVGFiUGFuZUlkeCQuc3Vic2NyaWJlKCh0YWJDb250ZW50U3RhdGU6IElUYWJDb250ZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRhYkNvbnRlbnRTdGF0ZS50YWJDb250ZW50ID09PSB0aGlzLnRhYkNvbnRlbnQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICh0YWJDb250ZW50U3RhdGUuYWN0aXZlSWR4ID09PSB0aGlzLnRhYlBhbmVJZHgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJTZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLXBhbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90YWJzL3RhYi1wYW5lL3RhYi1wYW5lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQWE5RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQ1UsaUJBQW9DLEVBQ3BDLFVBQXNCO1FBRHRCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQXFCeEIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQW5CL0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQU1ELElBQUksTUFBTSxDQUFDLEtBQWM7UUFDdkIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFJRCxJQUNJLFdBQVc7UUFDYixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUk7WUFDaEIsSUFBSSxFQUFFLElBQUk7WUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsWUFBcUIsSUFBSTtRQUMzQyxJQUFJLFNBQVMsRUFBRTtZQUNiLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWlDLEVBQUUsRUFBRTtnQkFDOUcsSUFBSSxlQUFlLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2xELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDL0Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLENBQUM7U0FDNUM7SUFDSCxDQUFDOzhHQW5EVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixxSkFMakIsMkJBQTJCOzsyRkFLMUIsZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNFLFlBQVksWUFDWiwyQkFBMkIsWUFFM0IsVUFBVSxjQUNSLElBQUk7K0dBOEJaLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUYWJDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi4vdGFiLWNvbnRlbnQvdGFiLWNvbnRlbnQuY29tcG9uZW50JztcbmltcG9ydCB7IElUYWJDb250ZW50U3RhdGUsIFRhYlNlcnZpY2UgfSBmcm9tICcuLi90YWIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtdGFiLXBhbmUnLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBzdHlsZVVybHM6IFsnLi90YWItcGFuZS5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NUYWJQYW5lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUYWJQYW5lQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVUYWJTZXJ2aWNlKCk7XG4gIH1cblxuICBwdWJsaWMgdGFiUGFuZUlkeCE6IG51bWJlcjtcbiAgcHVibGljIHRhYkNvbnRlbnQhOiBUYWJDb250ZW50Q29tcG9uZW50O1xuICBwcml2YXRlIHRhYlNlcnZpY2VTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG5cbiAgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAodGhpcy5fYWN0aXZlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5fYWN0aXZlID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfVxuXG4gIHByaXZhdGUgX2FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICd0YWItcGFuZSc6IHRydWUsXG4gICAgICBmYWRlOiB0cnVlLFxuICAgICAgc2hvdzogdGhpcy5hY3RpdmUsXG4gICAgICBhY3RpdmU6IHRoaXMuYWN0aXZlXG4gICAgfTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaWJlVGFiU2VydmljZShmYWxzZSk7XG4gIH1cblxuICBzdWJzY3JpYmVUYWJTZXJ2aWNlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpIHtcbiAgICBpZiAoc3Vic2NyaWJlKSB7XG4gICAgICB0aGlzLnRhYlNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLnRhYlNlcnZpY2UuYWN0aXZlVGFiUGFuZUlkeCQuc3Vic2NyaWJlKCh0YWJDb250ZW50U3RhdGU6IElUYWJDb250ZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRhYkNvbnRlbnRTdGF0ZS50YWJDb250ZW50ID09PSB0aGlzLnRhYkNvbnRlbnQpIHtcbiAgICAgICAgICB0aGlzLmFjdGl2ZSA9ICh0YWJDb250ZW50U3RhdGUuYWN0aXZlSWR4ID09PSB0aGlzLnRhYlBhbmVJZHgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJTZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -65,6 +65,9 @@ export class TimePickerRollAmPmComponent {
65
65
  }
66
66
  });
67
67
  }
68
+ trackByElement(index, element) {
69
+ return element.value;
70
+ }
68
71
  handleElementClick($event, element) {
69
72
  if (element.disabled) {
70
73
  return;
@@ -74,15 +77,18 @@ export class TimePickerRollAmPmComponent {
74
77
  this.onClick && this.onClick(element.value);
75
78
  this.selectedChange.emit(element.value);
76
79
  }
77
- trackByElement(index, element) {
78
- return element.value;
80
+ handleElementKeyDown($event, element) {
81
+ if ($event.code === 'Space' || $event.code === 'Enter') {
82
+ $event.preventDefault();
83
+ this.handleElementClick($event, element);
84
+ }
79
85
  }
80
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollAmPmComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TimePickerRollAmPmComponent, isStandalone: true, selector: "c-time-picker-roll-am-pm", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "dayPeriodElements", predicate: DayPeriodElementDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\">\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: DayPeriodElementDirective, selector: "[cDayPeriodElement]", inputs: ["cDayPeriodElement"], exportAs: ["cDayPeriodElement"] }] }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TimePickerRollAmPmComponent, isStandalone: true, selector: "c-time-picker-roll-am-pm", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "dayPeriodElements", predicate: DayPeriodElementDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: DayPeriodElementDirective, selector: "[cDayPeriodElement]", inputs: ["cDayPeriodElement"], exportAs: ["cDayPeriodElement"] }] }); }
82
88
  }
83
89
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollAmPmComponent, decorators: [{
84
90
  type: Component,
85
- args: [{ selector: 'c-time-picker-roll-am-pm', standalone: true, imports: [CommonModule, DayPeriodElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\">\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
91
+ args: [{ selector: 'c-time-picker-roll-am-pm', standalone: true, imports: [CommonModule, DayPeriodElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cDayPeriodElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
86
92
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
87
93
  type: Input
88
94
  }], elements: [{
@@ -102,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
102
108
  type: ViewChildren,
103
109
  args: [DayPeriodElementDirective]
104
110
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1hbS1wbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtYW0tcG0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWFtLXBtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFnQi9DLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDUyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzNCLENBQUM7OEdBSk0seUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLGlCQUFpQjtzQkFBekIsS0FBSzs7QUFVUixNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLFlBQ1MsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUd2QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUszQixtQkFBYyxHQUFzQixJ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QUM7OEdBekVVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHNWQXdCeEIseUJBQXlCLHFFQ3RFekMsc2JBU0EsbUhEbUNZLFlBQVksK1VBZFgseUJBQXlCOzsyRkFnQnpCLDJCQUEyQjtrQkFQdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FHeEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLHlCQUF5QixDQUFDOytFQVV6QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBUXFCLGlCQUFpQjtzQkFBekQsWUFBWTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IERheVBlcmlvZCB9IGZyb20gJy4uL3RpbWUudXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXlQZXJpb2Qge1xuICB2YWx1ZTogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBkYXlQZXJpb2Q/OiBEYXlQZXJpb2Q7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NEYXlQZXJpb2RFbGVtZW50XScsXG4gIGV4cG9ydEFzOiAnY0RheVBlcmlvZEVsZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERheVBlcmlvZEVsZW1lbnREaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgQElucHV0KCkgY0RheVBlcmlvZEVsZW1lbnQhOiBJRGF5UGVyaW9kO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXRpbWUtcGlja2VyLXJvbGwtYW0tcG0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXItcm9sbC1hbS1wbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLXJvbGwtYW0tcG0uY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRGF5UGVyaW9kRWxlbWVudERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlclJvbGxBbVBtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIHByaXZhdGUgaW5pdCA9IHRydWU7XG5cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZWxlbWVudHM6IElEYXlQZXJpb2RbXSA9IFtdO1xuICBASW5wdXQoKSBvbkNsaWNrPzogKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpID0+IHZvaWQ7XG4gIEBJbnB1dCgpIHNlbGVjdGVkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbDtcbiAgQElucHV0KCkgcmVmcmVzaD86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICd0aW1lLXBpY2tlci1yb2xsLWNvbCc6IHRydWUsXG4gICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZFxuICAgIH07XG4gIH1cblxuICBAVmlld0NoaWxkcmVuKERheVBlcmlvZEVsZW1lbnREaXJlY3RpdmUpIGRheVBlcmlvZEVsZW1lbnRzITogUXVlcnlMaXN0PERheVBlcmlvZEVsZW1lbnREaXJlY3RpdmU+O1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRheVBlcmlvZEVsZW1lbnRzPy5jaGFuZ2VzLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmRheVBlcmlvZEVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jRGF5UGVyaW9kRWxlbWVudD8udmFsdWUgPT09IDxzdHJpbmc+dGhpcy5zZWxlY3RlZDtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoc2VsZWN0ZWRFbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpO1xuICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKChjaGFuZ2VzWydyZWZyZXNoJ10gJiYgY2hhbmdlc1sncmVmcmVzaCddLmN1cnJlbnRWYWx1ZSkgfHwgKGNoYW5nZXNbJ3NlbGVjdGVkJ10gJiYgIWNoYW5nZXNbJ3NlbGVjdGVkJ10uZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmRheVBlcmlvZEVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jRGF5UGVyaW9kRWxlbWVudD8udmFsdWUgPT09IDxzdHJpbmc+dGhpcy5zZWxlY3RlZDtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5pbml0ID0gIXNlbGVjdGVkRWxlbWVudDtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudDogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50U2VsZWN0ZWQgPSBlbGVtZW50IHx8IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpO1xuICAgICAgaWYgKGVsZW1lbnRTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgdG9wOiBlbGVtZW50U2VsZWN0ZWQ/Lm9mZnNldFRvcCxcbiAgICAgICAgICBiZWhhdmlvcjogdGhpcy5pbml0ID8gJ2F1dG8nIDogJ3Ntb290aCdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW5pdCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlRWxlbWVudENsaWNrKCRldmVudDogTW91c2VFdmVudCwgZWxlbWVudDogYW55KSB7XG4gICAgaWYgKGVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZCA9IGVsZW1lbnQudmFsdWU7XG4gICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoJGV2ZW50LnRhcmdldCk7XG4gICAgdGhpcy5vbkNsaWNrICYmIHRoaXMub25DbGljayhlbGVtZW50LnZhbHVlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoZWxlbWVudC52YWx1ZSk7XG4gIH1cblxuICB0cmFja0J5RWxlbWVudChpbmRleDogbnVtYmVyLCBlbGVtZW50OiBJRGF5UGVyaW9kKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQudmFsdWU7XG4gIH1cblxufVxuIiwiPGRpdiAoY2xpY2spPVwiaGFuZGxlRWxlbWVudENsaWNrKCRldmVudCwgZWxlbWVudClcIlxuICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50czsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUVsZW1lbnRcIlxuICAgICBbYXR0ci5kaXNhYmxlZF09XCJlbGVtZW50LmRpc2FibGVkIHx8IG51bGxcIlxuICAgICBbY0RheVBlcmlvZEVsZW1lbnRdPVwiZWxlbWVudFwiXG4gICAgIFtuZ0NsYXNzXT1cInsndGltZS1waWNrZXItcm9sbC1jZWxsJzogdHJ1ZSwgc2VsZWN0ZWQ6IGVsZW1lbnQudmFsdWUgPT09IHNlbGVjdGVkLCBkaXNhYmxlZDogZWxlbWVudC5kaXNhYmxlZH1cIlxuICAgICBbbmdTdHlsZV09XCJ7J3dpZHRoJzogJ2ZpdC1jb250ZW50J31cIlxuICAgICByb2xlPVwiYnV0dG9uXCI+XG4gIHt7ZWxlbWVudC5sYWJlbH19XG48L2Rpdj5cbiJdfQ==
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1hbS1wbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtYW0tcG0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWFtLXBtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFnQi9DLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDUyxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQzNCLENBQUM7OEdBSk0seUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLGlCQUFpQjtzQkFBekIsS0FBSzs7QUFVUixNQUFNLE9BQU8sMkJBQTJCO0lBRXRDLFlBQ1MsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUd2QixTQUFJLEdBQUcsSUFBSSxDQUFDO1FBRVgsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQWlCLEVBQUUsQ0FBQztRQUszQixtQkFBYyxHQUFzQixJ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QUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFxQixFQUFFLE9BQW1CO1FBQzdELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDdEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBc0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQzs4R0FoRlUsMkJBQTJCO2tHQUEzQiwyQkFBMkIsc1ZBd0J4Qix5QkFBeUIscUVDdEV6QyxvZkFXQSxtSERpQ1ksWUFBWSwwUEFkWCx5QkFBeUI7OzJGQWdCekIsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLDBCQUEwQixjQUd4QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUM7K0VBVXpDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksY0FBYztzQkFBdkIsTUFBTTtnQkFHSCxXQUFXO3NCQURkLFdBQVc7dUJBQUMsT0FBTztnQkFRcUIsaUJBQWlCO3NCQUF6RCxZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgRGF5UGVyaW9kIH0gZnJvbSAnLi4vdGltZS51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURheVBlcmlvZCB7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRheVBlcmlvZD86IERheVBlcmlvZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY0RheVBlcmlvZEVsZW1lbnRdJyxcbiAgZXhwb3J0QXM6ICdjRGF5UGVyaW9kRWxlbWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGF5UGVyaW9kRWxlbWVudERpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBASW5wdXQoKSBjRGF5UGVyaW9kRWxlbWVudCE6IElEYXlQZXJpb2Q7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtdGltZS1waWNrZXItcm9sbC1hbS1wbScsXG4gIHRlbXBsYXRlVXJsOiAnLi90aW1lLXBpY2tlci1yb2xsLWFtLXBtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXItcm9sbC1hbS1wbS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEYXlQZXJpb2RFbGVtZW50RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyUm9sbEFtUG1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkgeyB9XG5cbiAgcHJpdmF0ZSBpbml0ID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlbGVtZW50czogSURheVBlcmlvZFtdID0gW107XG4gIEBJbnB1dCgpIG9uQ2xpY2s/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSByZWZyZXNoPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RpbWUtcGlja2VyLXJvbGwtY29sJzogdHJ1ZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oRGF5UGVyaW9kRWxlbWVudERpcmVjdGl2ZSkgZGF5UGVyaW9kRWxlbWVudHMhOiBRdWVyeUxpc3Q8RGF5UGVyaW9kRWxlbWVudERpcmVjdGl2ZT47XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGF5UGVyaW9kRWxlbWVudHM/LmNoYW5nZXMuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZGF5UGVyaW9kRWxlbWVudHM/LmZpbmQoZWxlbWVudCA9PiB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmNEYXlQZXJpb2RFbGVtZW50Py52YWx1ZSA9PT0gPHN0cmluZz50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChzZWxlY3RlZEVsZW1lbnQ/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNlbGVjdGVkJyk7XG4gICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoc2VsZWN0ZWRFbGVtZW50KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ3JlZnJlc2gnXSAmJiBjaGFuZ2VzWydyZWZyZXNoJ10uY3VycmVudFZhbHVlKSB8fCAoY2hhbmdlc1snc2VsZWN0ZWQnXSAmJiAhY2hhbmdlc1snc2VsZWN0ZWQnXS5maXJzdENoYW5nZSkpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZGF5UGVyaW9kRWxlbWVudHM/LmZpbmQoZWxlbWVudCA9PiB7XG4gICAgICAgIHJldHVybiBlbGVtZW50LmNEYXlQZXJpb2RFbGVtZW50Py52YWx1ZSA9PT0gPHN0cmluZz50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmluaXQgPSAhc2VsZWN0ZWRFbGVtZW50O1xuICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoc2VsZWN0ZWRFbGVtZW50Py5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHNjcm9sbFRvRWxlbWVudChlbGVtZW50OiBhbnkpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnRTZWxlY3RlZCA9IGVsZW1lbnQgfHwgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnNlbGVjdGVkJyk7XG4gICAgICBpZiAoZWxlbWVudFNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbFRvKHtcbiAgICAgICAgICB0b3A6IGVsZW1lbnRTZWxlY3RlZD8ub2Zmc2V0VG9wLFxuICAgICAgICAgIGJlaGF2aW9yOiB0aGlzLmluaXQgPyAnYXV0bycgOiAnc21vb3RoJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pbml0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5RWxlbWVudChpbmRleDogbnVtYmVyLCBlbGVtZW50OiBJRGF5UGVyaW9kKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBoYW5kbGVFbGVtZW50Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBhbnkpIHtcbiAgICBpZiAoZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkID0gZWxlbWVudC52YWx1ZTtcbiAgICB0aGlzLnNjcm9sbFRvRWxlbWVudCgkZXZlbnQudGFyZ2V0KTtcbiAgICB0aGlzLm9uQ2xpY2sgJiYgdGhpcy5vbkNsaWNrKGVsZW1lbnQudmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChlbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUVsZW1lbnRLZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZWxlbWVudDogSURheVBlcmlvZCkge1xuICAgIGlmICgkZXZlbnQuY29kZSA9PT0gJ1NwYWNlJyB8fCAkZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmhhbmRsZUVsZW1lbnRDbGljayg8TW91c2VFdmVudD48dW5rbm93bj4kZXZlbnQsIGVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAoY2xpY2spPVwiaGFuZGxlRWxlbWVudENsaWNrKCRldmVudCwgZWxlbWVudClcIlxuICAgICAoa2V5ZG93bik9XCJoYW5kbGVFbGVtZW50S2V5RG93bigkZXZlbnQsIGVsZW1lbnQpXCJcbiAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZWxlbWVudHM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlFbGVtZW50XCJcbiAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZWxlbWVudC5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgW2NEYXlQZXJpb2RFbGVtZW50XT1cImVsZW1lbnRcIlxuICAgICBbbmdDbGFzc109XCJ7J3RpbWUtcGlja2VyLXJvbGwtY2VsbCc6IHRydWUsIHNlbGVjdGVkOiBlbGVtZW50LnZhbHVlID09PSBzZWxlY3RlZCwgZGlzYWJsZWQ6IGVsZW1lbnQuZGlzYWJsZWR9XCJcbiAgICAgW3RhYmluZGV4XT1cImVsZW1lbnQuZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICByb2xlPVwiYnV0dG9uXCJcbj5cbiAge3tlbGVtZW50LmxhYmVsfX1cbjwvZGl2PlxuIl19
@@ -22,11 +22,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
22
22
  export class TimePickerRollColComponent {
23
23
  constructor(elementRef) {
24
24
  this.elementRef = elementRef;
25
- this.init = true;
25
+ this.#init = true;
26
26
  this.disabled = false;
27
27
  this.elements = [];
28
28
  this.selectedChange = new EventEmitter();
29
29
  }
30
+ #init;
30
31
  get hostClasses() {
31
32
  return {
32
33
  'time-picker-roll-col': true,
@@ -50,22 +51,25 @@ export class TimePickerRollColComponent {
50
51
  const selectedElement = this.timeElements?.find(element => {
51
52
  return element.cTimeElement?.value === this.selected;
52
53
  });
53
- this.init = !selectedElement;
54
+ this.#init = !selectedElement;
54
55
  this.scrollToElement(selectedElement?.elementRef.nativeElement);
55
56
  }
56
57
  }
57
58
  scrollToElement(element) {
58
59
  setTimeout(() => {
59
- const elementSelected = element || this.elementRef.nativeElement.querySelector('.selected');
60
+ const elementSelected = element ?? this.elementRef.nativeElement.querySelector('.selected') ?? this.elementRef.nativeElement.firstElementChild;
60
61
  if (elementSelected) {
61
62
  this.elementRef.nativeElement.scrollTo({
62
63
  top: elementSelected?.offsetTop,
63
- behavior: this.init ? 'auto' : 'smooth'
64
+ behavior: this.#init ? 'auto' : 'smooth'
64
65
  });
65
- this.init = false;
66
+ this.#init = false;
66
67
  }
67
68
  });
68
69
  }
70
+ trackByElement(index, element) {
71
+ return element.value;
72
+ }
69
73
  handleElementClick($event, element) {
70
74
  if (element.disabled) {
71
75
  return;
@@ -75,15 +79,18 @@ export class TimePickerRollColComponent {
75
79
  this.onClick && this.onClick(element.value);
76
80
  this.selectedChange.emit(element.value);
77
81
  }
78
- trackByElement(index, element) {
79
- return element.value;
82
+ handleElementKeyDown($event, element) {
83
+ if ($event.code === 'Space' || $event.code === 'Enter') {
84
+ $event.preventDefault();
85
+ this.handleElementClick($event, element);
86
+ }
80
87
  }
81
88
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollColComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }] }); }
89
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.6", type: TimePickerRollColComponent, isStandalone: true, selector: "c-time-picker-roll-col", inputs: { disabled: "disabled", elements: "elements", onClick: "onClick", selected: "selected", refresh: "refresh" }, outputs: { selectedChange: "selectedChange" }, host: { properties: { "class": "this.hostClasses" } }, viewQueries: [{ propertyName: "timeElements", predicate: TimeElementDirective, descendants: true }], exportAs: ["cTimePickerRollCol"], usesOnChanges: true, ngImport: i0, template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TimeElementDirective, selector: "[cTimeElement]", inputs: ["cTimeElement"], exportAs: ["cTimeElement"] }] }); }
83
90
  }
84
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImport: i0, type: TimePickerRollColComponent, decorators: [{
85
92
  type: Component,
86
- args: [{ selector: 'c-time-picker-roll-col', exportAs: 'cTimePickerRollCol', standalone: true, imports: [CommonModule, TimeElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [ngStyle]=\"{'width': 'fit-content'}\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
93
+ args: [{ selector: 'c-time-picker-roll-col', exportAs: 'cTimePickerRollCol', standalone: true, imports: [CommonModule, TimeElementDirective], template: "<div (click)=\"handleElementClick($event, element)\"\n (keydown)=\"handleElementKeyDown($event, element)\"\n *ngFor=\"let element of elements; index as i; trackBy: trackByElement\"\n [attr.disabled]=\"element.disabled || null\"\n [cTimeElement]=\"element\"\n [ngClass]=\"{'time-picker-roll-cell': true, selected: element.value === selected, disabled: element.disabled}\"\n [tabindex]=\"element.disabled ? -1 : 0\"\n role=\"button\"\n>\n {{element.label}}\n</div>\n", styles: [":host{display:block}:host .disabled{pointer-events:none}\n"] }]
87
94
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { disabled: [{
88
95
  type: Input
89
96
  }], elements: [{
@@ -103,4 +110,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.6", ngImpor
103
110
  type: ViewChildren,
104
111
  args: [TimeElementDirective]
105
112
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDM0IsQ0FBQzs4R0FKTSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLFlBQVk7c0JBQXBCLEtBQUs7O0FBV1IsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHdkIsU0FBSSxHQUFHLElBQUksQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFLM0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVB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LENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7OEdBMUVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtVQXdCdkIsb0JBQW9CLHVHQ3RFcEMsbWJBVUEsbUhEa0NZLFlBQVksK1VBZlgsb0JBQW9COzsyRkFpQnBCLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDRSx3QkFBd0IsWUFHeEIsb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQzsrRUFVcEMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxjQUFjO3NCQUF2QixNQUFNO2dCQUdILFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPO2dCQVFnQixZQUFZO3NCQUEvQyxZQUFZO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkcmVuXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSVRpbWVWYWx1ZSB9IGZyb20gJy4uL3RpbWUudXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lUGlja2VyUm9sbENvbCB7XG4gIGVsZW1lbnRzOiBJVGltZVZhbHVlW107XG4gIG9uQ2xpY2s/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgc2VsZWN0ZWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY1RpbWVFbGVtZW50XScsXG4gIGV4cG9ydEFzOiAnY1RpbWVFbGVtZW50JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lRWxlbWVudERpcmVjdGl2ZSB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBASW5wdXQoKSBjVGltZUVsZW1lbnQhOiBJVGltZVZhbHVlO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjLXRpbWUtcGlja2VyLXJvbGwtY29sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdjVGltZVBpY2tlclJvbGxDb2wnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUaW1lRWxlbWVudERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlclJvbGxDb2xDb21wb25lbnQgaW1wbGVtZW50cyBJVGltZVBpY2tlclJvbGxDb2wsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgKSB7IH1cblxuICBwcml2YXRlIGluaXQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVsZW1lbnRzOiBJVGltZVZhbHVlW10gPSBbXTtcbiAgQElucHV0KCkgb25DbGljaz86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkO1xuICBASW5wdXQoKSBzZWxlY3RlZD86IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG4gIEBJbnB1dCgpIHJlZnJlc2g/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgZ2V0IGhvc3RDbGFzc2VzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAndGltZS1waWNrZXItcm9sbC1jb2wnOiB0cnVlLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWRcbiAgICB9O1xuICB9XG5cbiAgQFZpZXdDaGlsZHJlbihUaW1lRWxlbWVudERpcmVjdGl2ZSkgdGltZUVsZW1lbnRzITogUXVlcnlMaXN0PFRpbWVFbGVtZW50RGlyZWN0aXZlPjtcblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aW1lRWxlbWVudHM/LmNoYW5nZXMuc3Vic2NyaWJlKHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMudGltZUVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jVGltZUVsZW1lbnQ/LnZhbHVlID09PSA8bnVtYmVyPnRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpO1xuICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoc2VsZWN0ZWRFbGVtZW50KTtcbiAgICB9LCAxMDAwKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoKGNoYW5nZXNbJ3JlZnJlc2gnXSAmJiBjaGFuZ2VzWydyZWZyZXNoJ10uY3VycmVudFZhbHVlKSB8fCAoY2hhbmdlc1snc2VsZWN0ZWQnXSAmJiAhY2hhbmdlc1snc2VsZWN0ZWQnXS5maXJzdENoYW5nZSkpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudCA9IHRoaXMudGltZUVsZW1lbnRzPy5maW5kKGVsZW1lbnQgPT4ge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jVGltZUVsZW1lbnQ/LnZhbHVlID09PSA8bnVtYmVyPnRoaXMuc2VsZWN0ZWQ7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuaW5pdCA9ICFzZWxlY3RlZEVsZW1lbnQ7XG4gICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChzZWxlY3RlZEVsZW1lbnQ/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgc2Nyb2xsVG9FbGVtZW50KGVsZW1lbnQ6IGFueSkge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZWxlbWVudFNlbGVjdGVkID0gZWxlbWVudCB8fCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0ZWQnKTtcbiAgICAgIGlmIChlbGVtZW50U2VsZWN0ZWQpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG8oe1xuICAgICAgICAgIHRvcDogZWxlbWVudFNlbGVjdGVkPy5vZmZzZXRUb3AsXG4gICAgICAgICAgYmVoYXZpb3I6IHRoaXMuaW5pdCA/ICdhdXRvJyA6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGhhbmRsZUVsZW1lbnRDbGljaygkZXZlbnQ6IE1vdXNlRXZlbnQsIGVsZW1lbnQ6IGFueSkge1xuICAgIGlmIChlbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWQgPSBlbGVtZW50LnZhbHVlO1xuICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KCRldmVudC50YXJnZXQpO1xuICAgIHRoaXMub25DbGljayAmJiB0aGlzLm9uQ2xpY2soZWxlbWVudC52YWx1ZSk7XG4gICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KGVsZW1lbnQudmFsdWUpO1xuICB9XG5cbiAgdHJhY2tCeUVsZW1lbnQoaW5kZXg6IG51bWJlciwgZWxlbWVudDogSVRpbWVWYWx1ZSkge1xuICAgIHJldHVybiBlbGVtZW50LnZhbHVlO1xuICB9XG5cbn1cbiIsIjxkaXYgKGNsaWNrKT1cImhhbmRsZUVsZW1lbnRDbGljaygkZXZlbnQsIGVsZW1lbnQpXCJcbiAgICAgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgZWxlbWVudHM7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlFbGVtZW50XCJcbiAgICAgW2F0dHIuZGlzYWJsZWRdPVwiZWxlbWVudC5kaXNhYmxlZCB8fCBudWxsXCJcbiAgICAgW2NUaW1lRWxlbWVudF09XCJlbGVtZW50XCJcbiAgICAgW25nQ2xhc3NdPVwieyd0aW1lLXBpY2tlci1yb2xsLWNlbGwnOiB0cnVlLCBzZWxlY3RlZDogZWxlbWVudC52YWx1ZSA9PT0gc2VsZWN0ZWQsIGRpc2FibGVkOiBlbGVtZW50LmRpc2FibGVkfVwiXG4gICAgIFtuZ1N0eWxlXT1cInsnd2lkdGgnOiAnZml0LWNvbnRlbnQnfVwiXG4gICAgIHJvbGU9XCJidXR0b25cIlxuPlxuICB7e2VsZW1lbnQubGFiZWx9fVxuPC9kaXY+XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi90aW1lLXBpY2tlci90aW1lLXBpY2tlci1yb2xsLWNvbC90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLXJvbGwtY29sL3RpbWUtcGlja2VyLXJvbGwtY29sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFHTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFlL0MsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFDM0IsQ0FBQzs4R0FKTSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFMaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQU9VLFlBQVk7c0JBQXBCLEtBQUs7O0FBV1IsTUFBTSxPQUFPLDBCQUEwQjtJQUVyQyxZQUNTLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHL0IsVUFBSyxHQUFHLElBQUksQ0FBQztRQUVKLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFpQixFQUFFLENBQUM7UUFLM0IsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVB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SyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFxQixFQUFFLE9BQW1CO1FBQzdELElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDdEQsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBc0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQzs4R0FqRlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsK1VBd0J2QixvQkFBb0IsdUdDdEVwQywrZUFXQSxtSERpQ1ksWUFBWSwwUEFmWCxvQkFBb0I7OzJGQWlCcEIsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNFLHdCQUF3QixZQUd4QixvQkFBb0IsY0FDbEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG9CQUFvQixDQUFDOytFQVVwQyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVJLGNBQWM7c0JBQXZCLE1BQU07Z0JBR0gsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBUWdCLFlBQVk7c0JBQS9DLFlBQVk7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBJVGltZVZhbHVlIH0gZnJvbSAnLi4vdGltZS51dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRpbWVQaWNrZXJSb2xsQ29sIHtcbiAgZWxlbWVudHM6IElUaW1lVmFsdWVbXTtcbiAgb25DbGljaz86ICh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSA9PiB2b2lkO1xuICBzZWxlY3RlZD86IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjVGltZUVsZW1lbnRdJyxcbiAgZXhwb3J0QXM6ICdjVGltZUVsZW1lbnQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVFbGVtZW50RGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gIEBJbnB1dCgpIGNUaW1lRWxlbWVudCE6IElUaW1lVmFsdWU7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2MtdGltZS1waWNrZXItcm9sbC1jb2wnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXItcm9sbC1jb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aW1lLXBpY2tlci1yb2xsLWNvbC5jb21wb25lbnQuc2NzcyddLFxuICBleHBvcnRBczogJ2NUaW1lUGlja2VyUm9sbENvbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRpbWVFbGVtZW50RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyUm9sbENvbENvbXBvbmVudCBpbXBsZW1lbnRzIElUaW1lUGlja2VyUm9sbENvbCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxuICApIHsgfVxuXG4gICNpbml0ID0gdHJ1ZTtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBASW5wdXQoKSBlbGVtZW50czogSVRpbWVWYWx1ZVtdID0gW107XG4gIEBJbnB1dCgpIG9uQ2xpY2s/OiAodmFsdWU6IG51bWJlciB8IHN0cmluZykgPT4gdm9pZDtcbiAgQElucHV0KCkgc2VsZWN0ZWQ/OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuICBASW5wdXQoKSByZWZyZXNoPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIGdldCBob3N0Q2xhc3NlcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RpbWUtcGlja2VyLXJvbGwtY29sJzogdHJ1ZSxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkXG4gICAgfTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGRyZW4oVGltZUVsZW1lbnREaXJlY3RpdmUpIHRpbWVFbGVtZW50cyE6IFF1ZXJ5TGlzdDxUaW1lRWxlbWVudERpcmVjdGl2ZT47XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudGltZUVsZW1lbnRzPy5jaGFuZ2VzLnN1YnNjcmliZShzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLnRpbWVFbGVtZW50cz8uZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuY1RpbWVFbGVtZW50Py52YWx1ZSA9PT0gPG51bWJlcj50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNjcm9sbFRvRWxlbWVudChzZWxlY3RlZEVsZW1lbnQ/LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2VsZWN0ZWQnKTtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKChjaGFuZ2VzWydyZWZyZXNoJ10gJiYgY2hhbmdlc1sncmVmcmVzaCddLmN1cnJlbnRWYWx1ZSkgfHwgKGNoYW5nZXNbJ3NlbGVjdGVkJ10gJiYgIWNoYW5nZXNbJ3NlbGVjdGVkJ10uZmlyc3RDaGFuZ2UpKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnQgPSB0aGlzLnRpbWVFbGVtZW50cz8uZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQuY1RpbWVFbGVtZW50Py52YWx1ZSA9PT0gPG51bWJlcj50aGlzLnNlbGVjdGVkO1xuICAgICAgfSk7XG4gICAgICB0aGlzLiNpbml0ID0gIXNlbGVjdGVkRWxlbWVudDtcbiAgICAgIHRoaXMuc2Nyb2xsVG9FbGVtZW50KHNlbGVjdGVkRWxlbWVudD8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBzY3JvbGxUb0VsZW1lbnQoZWxlbWVudDogYW55KSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50U2VsZWN0ZWQgPSBlbGVtZW50ID8/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zZWxlY3RlZCcpID8/IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0RWxlbWVudENoaWxkO1xuICAgICAgaWYgKGVsZW1lbnRTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zY3JvbGxUbyh7XG4gICAgICAgICAgdG9wOiBlbGVtZW50U2VsZWN0ZWQ/Lm9mZnNldFRvcCxcbiAgICAgICAgICBiZWhhdmlvcjogdGhpcy4jaW5pdCA/ICdhdXRvJyA6ICdzbW9vdGgnXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNpbml0ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB0cmFja0J5RWxlbWVudChpbmRleDogbnVtYmVyLCBlbGVtZW50OiBJVGltZVZhbHVlKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBoYW5kbGVFbGVtZW50Q2xpY2soJGV2ZW50OiBNb3VzZUV2ZW50LCBlbGVtZW50OiBhbnkpIHtcbiAgICBpZiAoZWxlbWVudC5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkID0gZWxlbWVudC52YWx1ZTtcbiAgICB0aGlzLnNjcm9sbFRvRWxlbWVudCgkZXZlbnQudGFyZ2V0KTtcbiAgICB0aGlzLm9uQ2xpY2sgJiYgdGhpcy5vbkNsaWNrKGVsZW1lbnQudmFsdWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChlbGVtZW50LnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZUVsZW1lbnRLZXlEb3duKCRldmVudDogS2V5Ym9hcmRFdmVudCwgZWxlbWVudDogSVRpbWVWYWx1ZSkge1xuICAgIGlmICgkZXZlbnQuY29kZSA9PT0gJ1NwYWNlJyB8fCAkZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB0aGlzLmhhbmRsZUVsZW1lbnRDbGljayg8TW91c2VFdmVudD48dW5rbm93bj4kZXZlbnQsIGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG59XG4iLCI8ZGl2IChjbGljayk9XCJoYW5kbGVFbGVtZW50Q2xpY2soJGV2ZW50LCBlbGVtZW50KVwiXG4gICAgIChrZXlkb3duKT1cImhhbmRsZUVsZW1lbnRLZXlEb3duKCRldmVudCwgZWxlbWVudClcIlxuICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50czsgaW5kZXggYXMgaTsgdHJhY2tCeTogdHJhY2tCeUVsZW1lbnRcIlxuICAgICBbYXR0ci5kaXNhYmxlZF09XCJlbGVtZW50LmRpc2FibGVkIHx8IG51bGxcIlxuICAgICBbY1RpbWVFbGVtZW50XT1cImVsZW1lbnRcIlxuICAgICBbbmdDbGFzc109XCJ7J3RpbWUtcGlja2VyLXJvbGwtY2VsbCc6IHRydWUsIHNlbGVjdGVkOiBlbGVtZW50LnZhbHVlID09PSBzZWxlY3RlZCwgZGlzYWJsZWQ6IGVsZW1lbnQuZGlzYWJsZWR9XCJcbiAgICAgW3RhYmluZGV4XT1cImVsZW1lbnQuZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICByb2xlPVwiYnV0dG9uXCJcbj5cbiAge3tlbGVtZW50LmxhYmVsfX1cbjwvZGl2PlxuIl19