@ukic/canary-web-components 3.0.0-canary.33 → 3.0.0-canary.34

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 (200) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/helpers-f81fed28.js.map +1 -1
  3. package/dist/cjs/ic-alert.cjs.entry.js +6 -2
  4. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-button_3.cjs.entry.js +28 -16
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -2
  8. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +3 -4
  12. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-menu.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-skeleton.cjs.entry.js +20 -5
  16. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-step.cjs.entry.js +16 -14
  18. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-stepper.cjs.entry.js +24 -4
  20. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  22. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-time-input.cjs.entry.js +7 -7
  32. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-time-selector.cjs.entry.js +50 -170
  34. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  38. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-toggle-button_2.cjs.entry.js +4 -4
  40. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -1
  41. package/dist/cjs/loader.cjs.js +1 -1
  42. package/dist/collection/components/ic-time-input/ic-time-input.js +8 -8
  43. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  44. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +4 -4
  45. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  46. package/dist/collection/components/ic-time-selector/ic-time-selector.js +53 -200
  47. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -1
  48. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +50 -24
  49. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -1
  50. package/dist/collection/utils/types.js.map +1 -1
  51. package/dist/components/helpers2.js.map +1 -1
  52. package/dist/components/ic-alert.js +7 -2
  53. package/dist/components/ic-alert.js.map +1 -1
  54. package/dist/components/ic-button2.js +4 -4
  55. package/dist/components/ic-button2.js.map +1 -1
  56. package/dist/components/ic-checkbox-group.js +24 -2
  57. package/dist/components/ic-checkbox-group.js.map +1 -1
  58. package/dist/components/ic-data-row.js +1 -1
  59. package/dist/components/ic-data-row.js.map +1 -1
  60. package/dist/components/ic-input-validation2.js +4 -5
  61. package/dist/components/ic-input-validation2.js.map +1 -1
  62. package/dist/components/ic-loading-indicator2.js +27 -13
  63. package/dist/components/ic-loading-indicator2.js.map +1 -1
  64. package/dist/components/ic-menu2.js +1 -1
  65. package/dist/components/ic-menu2.js.map +1 -1
  66. package/dist/components/ic-skeleton.js +23 -6
  67. package/dist/components/ic-skeleton.js.map +1 -1
  68. package/dist/components/ic-step.js +17 -15
  69. package/dist/components/ic-step.js.map +1 -1
  70. package/dist/components/ic-stepper.js +24 -4
  71. package/dist/components/ic-stepper.js.map +1 -1
  72. package/dist/components/ic-switch.js +4 -4
  73. package/dist/components/ic-switch.js.map +1 -1
  74. package/dist/components/ic-tab-context.js +1 -1
  75. package/dist/components/ic-tab-context.js.map +1 -1
  76. package/dist/components/ic-tab-group.js +2 -2
  77. package/dist/components/ic-tab-group.js.map +1 -1
  78. package/dist/components/ic-tab-panel.js +2 -2
  79. package/dist/components/ic-tab-panel.js.map +1 -1
  80. package/dist/components/ic-theme.js +1 -1
  81. package/dist/components/ic-theme.js.map +1 -1
  82. package/dist/components/ic-time-input.js +7 -7
  83. package/dist/components/ic-time-input.js.map +1 -1
  84. package/dist/components/ic-time-selector.js +50 -172
  85. package/dist/components/ic-time-selector.js.map +1 -1
  86. package/dist/components/ic-toast-region.js +1 -1
  87. package/dist/components/ic-toast-region.js.map +1 -1
  88. package/dist/components/ic-toast.js +5 -5
  89. package/dist/components/ic-toast.js.map +1 -1
  90. package/dist/components/ic-toggle-button-group2.js +2 -2
  91. package/dist/components/ic-toggle-button-group2.js.map +1 -1
  92. package/dist/components/ic-toggle-button2.js +2 -2
  93. package/dist/components/ic-toggle-button2.js.map +1 -1
  94. package/dist/core/core.esm.js +1 -1
  95. package/dist/core/core.esm.js.map +1 -1
  96. package/dist/core/{p-802a4bd3.entry.js → p-0bca234b.entry.js} +2 -2
  97. package/dist/core/{p-802a4bd3.entry.js.map → p-0bca234b.entry.js.map} +1 -1
  98. package/dist/core/{p-5254a078.entry.js → p-1be17f22.entry.js} +2 -2
  99. package/dist/core/{p-5254a078.entry.js.map → p-1be17f22.entry.js.map} +1 -1
  100. package/dist/core/{p-d528d856.entry.js → p-1dbefb37.entry.js} +2 -2
  101. package/dist/core/p-1dbefb37.entry.js.map +1 -0
  102. package/dist/core/{p-c9525aac.entry.js → p-409d03b2.entry.js} +2 -2
  103. package/dist/core/{p-c9525aac.entry.js.map → p-409d03b2.entry.js.map} +1 -1
  104. package/dist/core/p-492991ad.entry.js +2 -0
  105. package/dist/core/p-492991ad.entry.js.map +1 -0
  106. package/dist/core/p-53dad961.entry.js +2 -0
  107. package/dist/core/p-53dad961.entry.js.map +1 -0
  108. package/dist/core/{p-ad551a0c.entry.js → p-7c4d6b13.entry.js} +2 -2
  109. package/dist/core/p-7c4d6b13.entry.js.map +1 -0
  110. package/dist/core/{p-a88e61b2.entry.js → p-7d878ad7.entry.js} +2 -2
  111. package/dist/core/{p-a88e61b2.entry.js.map → p-7d878ad7.entry.js.map} +1 -1
  112. package/dist/core/p-829b34f9.js.map +1 -1
  113. package/dist/core/p-8d42a6e5.entry.js +2 -0
  114. package/dist/core/{p-a94a7b71.entry.js.map → p-8d42a6e5.entry.js.map} +1 -1
  115. package/dist/core/{p-e2e556ec.entry.js → p-a58cf6fd.entry.js} +2 -2
  116. package/dist/core/p-a58cf6fd.entry.js.map +1 -0
  117. package/dist/core/{p-53740194.entry.js → p-a8310dfd.entry.js} +2 -2
  118. package/dist/core/p-a8310dfd.entry.js.map +1 -0
  119. package/dist/core/{p-c32f043e.entry.js → p-b76fdade.entry.js} +2 -2
  120. package/dist/core/{p-c32f043e.entry.js.map → p-b76fdade.entry.js.map} +1 -1
  121. package/dist/core/{p-04cb17d7.entry.js → p-b9459ba2.entry.js} +2 -2
  122. package/dist/core/{p-04cb17d7.entry.js.map → p-b9459ba2.entry.js.map} +1 -1
  123. package/dist/core/p-bb3db366.entry.js +2 -0
  124. package/dist/core/p-bb3db366.entry.js.map +1 -0
  125. package/dist/core/p-bc6e5d64.entry.js +2 -0
  126. package/dist/core/p-bc6e5d64.entry.js.map +1 -0
  127. package/dist/core/{p-adde6c66.entry.js → p-d376858f.entry.js} +2 -2
  128. package/dist/core/{p-adde6c66.entry.js.map → p-d376858f.entry.js.map} +1 -1
  129. package/dist/core/{p-6323da7a.entry.js → p-dbd9a403.entry.js} +2 -2
  130. package/dist/core/{p-6323da7a.entry.js.map → p-dbd9a403.entry.js.map} +1 -1
  131. package/dist/core/p-df064c8b.entry.js +2 -0
  132. package/dist/core/p-df064c8b.entry.js.map +1 -0
  133. package/dist/core/p-eac60693.entry.js +2 -0
  134. package/dist/core/p-eac60693.entry.js.map +1 -0
  135. package/dist/esm/core.js +1 -1
  136. package/dist/esm/helpers-a08b3f32.js.map +1 -1
  137. package/dist/esm/ic-alert.entry.js +6 -2
  138. package/dist/esm/ic-alert.entry.js.map +1 -1
  139. package/dist/esm/ic-button_3.entry.js +28 -16
  140. package/dist/esm/ic-button_3.entry.js.map +1 -1
  141. package/dist/esm/ic-checkbox-group.entry.js +23 -2
  142. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  143. package/dist/esm/ic-data-row.entry.js +1 -1
  144. package/dist/esm/ic-data-row.entry.js.map +1 -1
  145. package/dist/esm/ic-input-component-container_4.entry.js +3 -4
  146. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  147. package/dist/esm/ic-menu.entry.js +1 -1
  148. package/dist/esm/ic-menu.entry.js.map +1 -1
  149. package/dist/esm/ic-skeleton.entry.js +20 -5
  150. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  151. package/dist/esm/ic-step.entry.js +17 -15
  152. package/dist/esm/ic-step.entry.js.map +1 -1
  153. package/dist/esm/ic-stepper.entry.js +24 -4
  154. package/dist/esm/ic-stepper.entry.js.map +1 -1
  155. package/dist/esm/ic-switch.entry.js +4 -4
  156. package/dist/esm/ic-switch.entry.js.map +1 -1
  157. package/dist/esm/ic-tab-context.entry.js +1 -1
  158. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  159. package/dist/esm/ic-tab-group.entry.js +2 -2
  160. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  161. package/dist/esm/ic-tab-panel.entry.js +2 -2
  162. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  163. package/dist/esm/ic-theme.entry.js +1 -1
  164. package/dist/esm/ic-theme.entry.js.map +1 -1
  165. package/dist/esm/ic-time-input.entry.js +7 -7
  166. package/dist/esm/ic-time-input.entry.js.map +1 -1
  167. package/dist/esm/ic-time-selector.entry.js +50 -170
  168. package/dist/esm/ic-time-selector.entry.js.map +1 -1
  169. package/dist/esm/ic-toast-region.entry.js +1 -1
  170. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  171. package/dist/esm/ic-toast.entry.js +5 -5
  172. package/dist/esm/ic-toast.entry.js.map +1 -1
  173. package/dist/esm/ic-toggle-button_2.entry.js +4 -4
  174. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -1
  175. package/dist/esm/loader.js +1 -1
  176. package/dist/types/components/ic-time-input/ic-time-input.d.ts +1 -1
  177. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +2 -10
  178. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +48 -13
  179. package/dist/types/components.d.ts +6 -16
  180. package/dist/types/utils/types.d.ts +1 -2
  181. package/hydrate/index.js +208 -250
  182. package/hydrate/index.mjs +208 -250
  183. package/package.json +3 -3
  184. package/dist/core/p-53740194.entry.js.map +0 -1
  185. package/dist/core/p-71cc5909.entry.js +0 -2
  186. package/dist/core/p-71cc5909.entry.js.map +0 -1
  187. package/dist/core/p-8830011c.entry.js +0 -2
  188. package/dist/core/p-8830011c.entry.js.map +0 -1
  189. package/dist/core/p-939b168a.entry.js +0 -2
  190. package/dist/core/p-939b168a.entry.js.map +0 -1
  191. package/dist/core/p-a94a7b71.entry.js +0 -2
  192. package/dist/core/p-ad551a0c.entry.js.map +0 -1
  193. package/dist/core/p-b434bd7c.entry.js +0 -2
  194. package/dist/core/p-b434bd7c.entry.js.map +0 -1
  195. package/dist/core/p-d528d856.entry.js.map +0 -1
  196. package/dist/core/p-da1c2883.entry.js +0 -2
  197. package/dist/core/p-da1c2883.entry.js.map +0 -1
  198. package/dist/core/p-e2e556ec.entry.js.map +0 -1
  199. package/dist/core/p-eaeb473e.entry.js +0 -2
  200. package/dist/core/p-eaeb473e.entry.js.map +0 -1
@@ -2,20 +2,18 @@ import { h, Host, } from "@stencil/core";
2
2
  import { parseTimeHelper } from "../../utils/helpers";
3
3
  import Check from "../../assets/check-icon.svg";
4
4
  import Clear from "../../assets/close-icon.svg";
5
- const COLUMN_TYPES = ["hour", "minute", "second", "period"];
5
+ const COLUMN_TYPES = ["hour", "minute", "period"];
6
6
  const COLUMN_CLASS = ".ic-time-selector-column";
7
7
  const ITEM_CLASS = ".ic-time-selector-item";
8
8
  export class TimeSelector {
9
9
  constructor() {
10
- this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
11
10
  this.minutes = Array.from({ length: 60 }, (_, i) => i);
12
- this.seconds = Array.from({ length: 60 }, (_, i) => i);
13
11
  this.periods = ["AM", "PM"];
14
12
  this.minTime = null;
15
13
  this.maxTime = null;
16
14
  this.ariaLiveMessage = "";
17
15
  /**
18
- * An array of times that will be disabled in the time selector. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.
16
+ * An array of objects with start and end values that will be disabled in the time selector. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.
19
17
  */
20
18
  this.disableTimes = [];
21
19
  /**
@@ -34,10 +32,6 @@ export class TimeSelector {
34
32
  * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
35
33
  */
36
34
  this.theme = "inherit";
37
- /**
38
- * The format in which the time will be displayed.
39
- */
40
- this.timeFormat = this.DEFAULT_TIME_FORMAT;
41
35
  /**
42
36
  * The time period format: "12" for 12-hour, "24" for 24-hour. Defaults to "24".
43
37
  */
@@ -46,7 +40,7 @@ export class TimeSelector {
46
40
  * The value of the time selector. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.
47
41
  */
48
42
  this.value = "";
49
- this.setTimeParts = (hour, minute, second) => {
43
+ this.setTimeParts = (hour, minute) => {
50
44
  let period = "AM";
51
45
  if (this.timePeriod === "12") {
52
46
  if (hour === 0) {
@@ -70,7 +64,6 @@ export class TimeSelector {
70
64
  this.selectedHour = hour;
71
65
  }
72
66
  this.selectedMinute = minute;
73
- this.selectedSecond = second;
74
67
  };
75
68
  this.checkIfScrollIsFinished = (column, scrollTop) => {
76
69
  const isScrollFinished = setInterval(() => {
@@ -90,9 +83,6 @@ export class TimeSelector {
90
83
  case "minute":
91
84
  this.selectedMinute = Number(value);
92
85
  break;
93
- case "second":
94
- this.selectedSecond = Number(value);
95
- break;
96
86
  case "period":
97
87
  this.selectedPeriod = value;
98
88
  break;
@@ -113,25 +103,16 @@ export class TimeSelector {
113
103
  this.lastAnnouncedValue = this.getSelectedValue(type);
114
104
  }
115
105
  };
116
- this.isTimeDisabled = (hour, minute, second, type) => {
117
- var _a, _b, _c, _d;
106
+ this.isTimeDisabled = (hour, minute, type) => {
107
+ var _a, _b;
118
108
  for (const t of this.disableTimes) {
119
- if (typeof t === "string" || t instanceof Date) {
120
- const parts = parseTimeHelper(t).parts;
121
- if (parts &&
122
- parts.hour === hour &&
123
- parts.minute === minute &&
124
- parts.second === second) {
125
- return true;
126
- }
127
- }
128
- else if (t && typeof t === "object" && "start" in t && "end" in t) {
109
+ if (t && typeof t === "object" && "start" in t && "end" in t) {
129
110
  const startParts = parseTimeHelper(t.start).parts;
130
111
  const endParts = parseTimeHelper(t.end).parts;
131
112
  if (startParts && endParts) {
132
- const timeVal = hour * 3600 + minute * 60 + second;
133
- const startVal = startParts.hour * 3600 + startParts.minute * 60 + startParts.second;
134
- const endVal = endParts.hour * 3600 + endParts.minute * 60 + endParts.second;
113
+ const timeVal = hour * 3600 + minute * 60;
114
+ const startVal = startParts.hour * 3600 + startParts.minute * 60;
115
+ const endVal = endParts.hour * 3600 + endParts.minute * 60;
135
116
  if (timeVal >= startVal && timeVal <= endVal) {
136
117
  return true;
137
118
  }
@@ -143,15 +124,11 @@ export class TimeSelector {
143
124
  if (this.minTime) {
144
125
  const minHour = this.minTime.getHours();
145
126
  const minMinute = this.minTime.getMinutes();
146
- const minSecond = this.minTime.getSeconds();
147
127
  if (type === "hour") {
148
128
  const highlightedMinute = (_a = this.selectedMinute) !== null && _a !== void 0 ? _a : minMinute;
149
- const highlightedSecond = (_b = this.selectedSecond) !== null && _b !== void 0 ? _b : minSecond;
150
129
  if (hour < minHour ||
151
130
  (hour === minHour && highlightedMinute < minMinute) ||
152
- (hour === minHour &&
153
- highlightedMinute === minMinute &&
154
- highlightedSecond < minSecond)) {
131
+ (hour === minHour && highlightedMinute === minMinute)) {
155
132
  return true;
156
133
  }
157
134
  }
@@ -160,15 +137,10 @@ export class TimeSelector {
160
137
  return true;
161
138
  }
162
139
  }
163
- else if (type === "second") {
164
- if (hour === minHour && minute === minMinute && second < minSecond) {
165
- return true;
166
- }
167
- }
168
140
  else {
169
141
  if (hour < minHour ||
170
142
  (hour === minHour && minute < minMinute) ||
171
- (hour === minHour && minute === minMinute && second < minSecond)) {
143
+ (hour === minHour && minute === minMinute)) {
172
144
  return true;
173
145
  }
174
146
  }
@@ -179,15 +151,11 @@ export class TimeSelector {
179
151
  if (this.maxTime) {
180
152
  const maxHour = this.maxTime.getHours();
181
153
  const maxMinute = this.maxTime.getMinutes();
182
- const maxSecond = this.maxTime.getSeconds();
183
154
  if (type === "hour") {
184
- const selectedMinute = (_c = this.selectedMinute) !== null && _c !== void 0 ? _c : 59;
185
- const selectedSecond = (_d = this.selectedSecond) !== null && _d !== void 0 ? _d : 59;
155
+ const selectedMinute = (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 59;
186
156
  if (hour > maxHour ||
187
157
  (hour === maxHour && selectedMinute > maxMinute) ||
188
- (hour === maxHour &&
189
- selectedMinute === maxMinute &&
190
- selectedSecond > maxSecond)) {
158
+ (hour === maxHour && selectedMinute === maxMinute)) {
191
159
  return true;
192
160
  }
193
161
  }
@@ -196,15 +164,10 @@ export class TimeSelector {
196
164
  return true;
197
165
  }
198
166
  }
199
- else if (type === "second") {
200
- if (hour === maxHour && minute === maxMinute && second > maxSecond) {
201
- return true;
202
- }
203
- }
204
167
  else {
205
168
  if (hour > maxHour ||
206
169
  (hour === maxHour && minute > maxMinute) ||
207
- (hour === maxHour && minute === maxMinute && second > maxSecond)) {
170
+ (hour === maxHour && minute === maxMinute)) {
208
171
  return true;
209
172
  }
210
173
  }
@@ -286,18 +249,15 @@ export class TimeSelector {
286
249
  } while (newIdx >= 0 &&
287
250
  newIdx <= maxIdx &&
288
251
  (() => {
289
- var _a, _b, _c;
290
- if (type === "hour" || type === "minute" || type === "second") {
252
+ var _a, _b;
253
+ if (type === "hour" || type === "minute") {
291
254
  const hour = type === "hour"
292
255
  ? values[newIdx]
293
256
  : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
294
257
  const minute = type === "minute"
295
258
  ? values[newIdx]
296
259
  : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
297
- const second = type === "second"
298
- ? values[newIdx]
299
- : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
300
- return this.isTimeDisabled(hour, minute, second);
260
+ return this.isTimeDisabled(hour, minute);
301
261
  }
302
262
  return false;
303
263
  })());
@@ -312,7 +272,7 @@ export class TimeSelector {
312
272
  }
313
273
  };
314
274
  this.renderColumn = (type, values, selected) => {
315
- const isTimeColumn = type === "hour" || type === "minute" || type === "second";
275
+ const isTimeColumn = type === "hour" || type === "minute";
316
276
  const isPeriodColumn = type === "period";
317
277
  const headerLabel = this.getHeaderLabel(type);
318
278
  const topSpacerCount = 2;
@@ -327,17 +287,14 @@ export class TimeSelector {
327
287
  "ic-time-selector-column": true,
328
288
  "ic-time-selector-column-period": isPeriodColumn,
329
289
  }, tabIndex: 0, onKeyDown: (e) => this.handleColumnKeyDown(type, e) }, h("ul", { class: "ic-time-selector-list", role: "listbox", "aria-label": type }, this.renderScrollRows(topSpacerCount, `${type}-top-spacer`), values.map((val) => {
330
- var _a, _b, _c;
290
+ var _a, _b;
331
291
  let disabled = false;
332
292
  if (isTimeColumn) {
333
293
  const hour = type === "hour" ? val : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
334
294
  const minute = type === "minute"
335
295
  ? val
336
296
  : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
337
- const second = type === "second"
338
- ? val
339
- : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
340
- disabled = this.isTimeDisabled(hour, minute, second, type);
297
+ disabled = this.isTimeDisabled(hour, minute, type);
341
298
  }
342
299
  return (h("li", { class: {
343
300
  "ic-time-selector-item": true,
@@ -354,8 +311,6 @@ export class TimeSelector {
354
311
  this.scrollSelectedItem("hour", true);
355
312
  this.selectedMinute = undefined;
356
313
  this.scrollSelectedItem("minute", true);
357
- this.selectedSecond = undefined;
358
- this.scrollSelectedItem("second", true);
359
314
  this.selectedPeriod = undefined;
360
315
  this.scrollSelectedItem("period", true);
361
316
  this.lastAnnouncedType = undefined;
@@ -366,7 +321,6 @@ export class TimeSelector {
366
321
  timeObject: {
367
322
  hour: null,
368
323
  minute: null,
369
- second: null,
370
324
  period: undefined,
371
325
  },
372
326
  });
@@ -374,18 +328,11 @@ export class TimeSelector {
374
328
  this.handleConfirmClick = () => {
375
329
  const hour = this.selectedHour != null ? this.selectedHour : null;
376
330
  const minute = this.selectedMinute != null ? this.selectedMinute : null;
377
- const second = this.selectedSecond != null ? this.selectedSecond : null;
378
331
  const period = this.selectedPeriod;
379
332
  const hourStr = hour != null ? hour.toString().padStart(2, "0") : null;
380
333
  const minuteStr = minute != null ? minute.toString().padStart(2, "0") : null;
381
- const secondStr = second != null ? second.toString().padStart(2, "0") : null;
382
334
  let allSelected = false;
383
- if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
384
- allSelected = hour !== null && minute !== null && second !== null;
385
- }
386
- else {
387
- allSelected = hour !== null && minute !== null;
388
- }
335
+ allSelected = hour !== null && minute !== null;
389
336
  let value = null;
390
337
  let timeString = null;
391
338
  if (allSelected) {
@@ -399,26 +346,13 @@ export class TimeSelector {
399
346
  value = new Date();
400
347
  value.setHours(date24hours !== null && date24hours !== void 0 ? date24hours : 0);
401
348
  value.setMinutes(minute !== null && minute !== void 0 ? minute : 0);
402
- value.setSeconds(second !== null && second !== void 0 ? second : 0);
403
- value.setMilliseconds(0);
404
- if (this.timeFormat === "HH:MM") {
405
- timeString = hourStr + ":" + minuteStr + (period ? " " + period : "");
406
- }
407
- else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
408
- timeString =
409
- hourStr +
410
- ":" +
411
- minuteStr +
412
- ":" +
413
- secondStr +
414
- (period ? " " + period : "");
415
- }
349
+ timeString = hourStr + ":" + minuteStr + (period ? " " + period : "");
416
350
  this.value = value;
417
351
  }
418
352
  this.icChange.emit({
419
353
  value: allSelected ? value : null,
420
354
  timeString: allSelected ? timeString : null,
421
- timeObject: Object.assign({ hour: hourStr, minute: minuteStr, second: secondStr }, (period ? { period } : {})),
355
+ timeObject: Object.assign({ hour: hourStr, minute: minuteStr }, (period ? { period } : {})),
422
356
  });
423
357
  };
424
358
  }
@@ -433,9 +367,6 @@ export class TimeSelector {
433
367
  setTimeout(() => {
434
368
  this.scrollSelectedItem("hour");
435
369
  this.scrollSelectedItem("minute");
436
- if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
437
- this.scrollSelectedItem("second");
438
- }
439
370
  if (this.timePeriod === "12") {
440
371
  this.scrollSelectedItem("period");
441
372
  }
@@ -458,14 +389,6 @@ export class TimeSelector {
458
389
  else if (this.min) {
459
390
  this.scrollMinTime("minute");
460
391
  }
461
- if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
462
- if (this.selectedSecond !== undefined && this.selectedSecond !== null) {
463
- this.scrollSelectedItem("second");
464
- }
465
- else if (this.min) {
466
- this.scrollMinTime("second");
467
- }
468
- }
469
392
  if (this.timePeriod === "12") {
470
393
  if (this.selectedPeriod !== undefined && this.selectedPeriod !== null) {
471
394
  this.scrollSelectedItem("period");
@@ -483,8 +406,6 @@ export class TimeSelector {
483
406
  return "HH";
484
407
  case "minute":
485
408
  return "MM";
486
- case "second":
487
- return "SS";
488
409
  default:
489
410
  return "";
490
411
  }
@@ -497,17 +418,17 @@ export class TimeSelector {
497
418
  if (typeof time === "string") {
498
419
  const zuluMatch = time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.[0-9]{1,3})?Z?$/);
499
420
  if (zuluMatch) {
500
- this.setTimeParts(Number(zuluMatch[1]), Number(zuluMatch[2]), Number(zuluMatch[3]));
421
+ this.setTimeParts(Number(zuluMatch[1]), Number(zuluMatch[2]));
501
422
  }
502
423
  else {
503
424
  const parts = time.split(":");
504
- this.setTimeParts(Number(parts[0]) || 0, Number(parts[1]) || 0, Number(parts[2]) || 0);
425
+ this.setTimeParts(Number(parts[0]) || 0, Number(parts[1]) || 0);
505
426
  }
506
427
  }
507
428
  else {
508
429
  const { parts } = parseTimeHelper(time);
509
430
  if (parts) {
510
- this.setTimeParts(parts.hour, parts.minute, parts.second);
431
+ this.setTimeParts(parts.hour, parts.minute);
511
432
  }
512
433
  }
513
434
  }
@@ -570,18 +491,16 @@ export class TimeSelector {
570
491
  if (!col)
571
492
  return;
572
493
  const items = col.querySelectorAll(ITEM_CLASS);
573
- let minHour = 0, minMinute = 0, minSecond = 0;
494
+ let minHour = 0, minMinute = 0;
574
495
  if (this.minTime) {
575
496
  minHour = this.minTime.getHours() + 2;
576
497
  minMinute = this.minTime.getMinutes() + 2;
577
- minSecond = this.minTime.getSeconds();
578
498
  }
579
499
  else if (this.min) {
580
500
  const minDate = parseTimeHelper(this.min).date;
581
501
  if (minDate) {
582
502
  minHour = minDate.getHours();
583
503
  minMinute = minDate.getMinutes();
584
- minSecond = minDate.getSeconds();
585
504
  }
586
505
  }
587
506
  let targetIdx = -1;
@@ -592,9 +511,6 @@ export class TimeSelector {
592
511
  else if (colClass === "minute") {
593
512
  targetIdx = values.findIndex((v) => v === minMinute);
594
513
  }
595
- else if (colClass === "second") {
596
- targetIdx = values.findIndex((v) => v === minSecond);
597
- }
598
514
  else if (colClass === "period") {
599
515
  let period = "AM";
600
516
  if (this.timePeriod === "12") {
@@ -648,22 +564,18 @@ export class TimeSelector {
648
564
  : Array.from({ length: 24 }, (_, i) => i);
649
565
  if (type === "minute")
650
566
  return this.minutes;
651
- if (type === "second")
652
- return this.seconds;
653
567
  if (type === "period")
654
568
  return this.periods;
655
569
  return [];
656
570
  }
657
571
  getSelectedValue(type) {
658
- var _a, _b, _c, _d;
572
+ var _a, _b, _c;
659
573
  if (type === "hour")
660
574
  return (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null;
661
575
  if (type === "minute")
662
576
  return (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null;
663
- if (type === "second")
664
- return (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null;
665
577
  if (type === "period")
666
- return (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null;
578
+ return (_c = this.selectedPeriod) !== null && _c !== void 0 ? _c : null;
667
579
  return null;
668
580
  }
669
581
  getHighlightedValue(type, col) {
@@ -687,7 +599,7 @@ export class TimeSelector {
687
599
  const key = item.getAttribute("key");
688
600
  if (key) {
689
601
  const valStr = key.replace(`${type}-val-`, "");
690
- if (type === "hour" || type === "minute" || type === "second") {
602
+ if (type === "hour" || type === "minute") {
691
603
  return Number(valStr);
692
604
  }
693
605
  else {
@@ -695,7 +607,7 @@ export class TimeSelector {
695
607
  }
696
608
  }
697
609
  const text = (_c = item.textContent) === null || _c === void 0 ? void 0 : _c.trim();
698
- if (type === "hour" || type === "minute" || type === "second") {
610
+ if (type === "hour" || type === "minute") {
699
611
  return text ? Number(text) : null;
700
612
  }
701
613
  else {
@@ -712,87 +624,56 @@ export class TimeSelector {
712
624
  const minuteStr = this.selectedMinute != null
713
625
  ? this.selectedMinute.toString().padStart(2, "0")
714
626
  : null;
715
- const secondStr = this.selectedSecond != null
716
- ? this.selectedSecond.toString().padStart(2, "0")
717
- : null;
718
627
  let timeString = "";
719
628
  let allSelected = false;
720
- if (this.timeFormat === "HH:MM") {
721
- allSelected = hourStr !== null && minuteStr !== null;
722
- if (allSelected) {
723
- timeString =
724
- hourStr +
725
- ":" +
726
- minuteStr +
727
- (this.selectedPeriod ? " " + this.selectedPeriod : "");
728
- }
729
- }
730
- else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
731
- allSelected =
732
- hourStr !== null && minuteStr !== null && secondStr !== null;
733
- if (allSelected) {
734
- timeString =
735
- hourStr +
736
- ":" +
737
- minuteStr +
738
- ":" +
739
- secondStr +
740
- (this.selectedPeriod ? " " + this.selectedPeriod : "");
741
- }
629
+ allSelected = hourStr !== null && minuteStr !== null;
630
+ if (allSelected) {
631
+ timeString =
632
+ hourStr +
633
+ ":" +
634
+ minuteStr +
635
+ (this.selectedPeriod ? " " + this.selectedPeriod : "");
742
636
  }
743
637
  this.ariaLiveMessage =
744
638
  allSelected && timeString ? `Selected time: ${timeString}` : "";
745
639
  }
746
640
  render() {
747
- var _a, _b, _c, _d;
641
+ var _a, _b, _c;
748
642
  const hours = this.timePeriod === "12"
749
643
  ? Array.from({ length: 12 }, (_, i) => i + 1)
750
644
  : Array.from({ length: 24 }, (_, i) => i);
751
- const timeFormat = this.timeFormat || this.DEFAULT_TIME_FORMAT;
752
645
  const columns = [
753
646
  this.renderColumn("hour", hours, (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null),
754
647
  this.renderColumn("minute", this.minutes, (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null),
755
648
  ];
756
- if (timeFormat === this.DEFAULT_TIME_FORMAT) {
757
- columns.push(this.renderColumn("second", this.seconds, (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null));
758
- }
759
649
  let colonSelectedStates = [];
760
- if (timeFormat === this.DEFAULT_TIME_FORMAT) {
761
- colonSelectedStates = [
762
- this.selectedHour !== undefined && this.selectedMinute !== undefined,
763
- this.selectedMinute !== undefined && this.selectedSecond !== undefined,
764
- ];
765
- }
766
- else {
767
- colonSelectedStates = [
768
- this.selectedHour !== undefined && this.selectedMinute !== undefined,
769
- ];
770
- }
650
+ colonSelectedStates = [
651
+ this.selectedHour !== undefined && this.selectedMinute !== undefined,
652
+ ];
771
653
  const isInPicker = this.el.closest("ic-time-picker") !== null;
772
654
  const { size, theme, timePeriod } = this;
773
- return (h(Host, { key: '0a25adbaeba34a4dcd3ef15edd5076d8ed4ad0a5', class: {
655
+ return (h(Host, { key: 'af65b8999b8c677a6ef2e33fe167fb5b333f0571', class: {
774
656
  [`ic-theme-${theme}`]: theme !== "inherit",
775
657
  [`ic-time-selector-${size}`]: true,
776
- } }, h("div", { key: 'e65b452fb22c989b634fd1d8839ecf3bcb5c8a96', role: isInPicker ? "dialog" : undefined, "aria-modal": isInPicker ? true : undefined, "aria-label": "Select time. Use arrow keys to navigate and select the options and then tab to move onto the next selection.", class: {
658
+ } }, h("div", { key: 'c345308cda9bc9b1a6e20ad7b1969c8e1b173efa', role: isInPicker ? "dialog" : undefined, "aria-modal": isInPicker ? true : undefined, "aria-label": "Select time. Use arrow keys to navigate and select the options and then tab to move onto the next selection.", class: {
777
659
  "ic-time-selector-dialog-container": true,
778
- } }, h("div", { key: '178213ede67d838f70b8bd164aac6481a97b03eb', class: "ic-time-selector-highlight-lines" }, h("div", { key: 'c10de931f6cba5496de152f1fdfc87a118413e08', class: "ic-time-selector-header-border" }), h("div", { key: '440b09028d77256e9b0bb18cc2f24550eac5f30d', class: {
660
+ } }, h("div", { key: '85f4f862ec0a9263e491e45dc4cacac69854d5d6', class: "ic-time-selector-highlight-lines" }, h("div", { key: 'd5175185db4049b2660ec4b81971ac13b9b307cb', class: "ic-time-selector-header-border" }), h("div", { key: 'b1be244ff1cdd68b33dad814f501c4e5c8486318', class: {
779
661
  "ic-time-selector-highlight": true,
780
662
  "ic-time-selector-highlight-top": true,
781
- } }), h("div", { key: 'eed615b5bbd35c5b0d0a5b3625710b00675856ab', class: "ic-time-selector-columns" }, columns.map((col, idx) => [
663
+ } }), h("div", { key: 'ec20a6536aa67a4dbc96f29ef42d424a0342ebe8', class: "ic-time-selector-columns" }, columns.map((col, idx) => [
782
664
  col,
783
665
  idx < columns.length - 1 ? (h("ic-typography", { class: {
784
666
  "ic-time-selector-colon": true,
785
667
  "ic-time-selector-colon-selected": colonSelectedStates[idx],
786
668
  }, variant: "subtitle-small", "aria-hidden": "true", key: `colon-${idx}` }, ":")) : null,
787
669
  ]), timePeriod !== "24" &&
788
- this.renderColumn("period", this.periods, (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null)), h("div", { key: '8b2b12a4e907c615b7e79d9801d5840d522e775d', class: {
670
+ this.renderColumn("period", this.periods, (_c = this.selectedPeriod) !== null && _c !== void 0 ? _c : null)), h("div", { key: '72b1abb5e7f19bf853b208dca7365c57b397d9f6', class: {
789
671
  "ic-time-selector-highlight": true,
790
672
  "ic-time-selector-highlight-bottom": true,
791
- } })), h("div", { key: '0d3a320315b1cf0557b8d281b6e468ef517b7ff4', class: "ic-time-selector-actions" }, h("ic-button", { key: '70d842672493c3a63ced6571d7e1ab6afba2abdf', variant: "icon-tertiary", "aria-label": "Clear time", class: {
673
+ } })), h("div", { key: '2b8125333fd8e8d119d3496cb690a9c3d3711cb7', class: "ic-time-selector-actions" }, h("ic-button", { key: '5cd3db3be7006940e8e8ed8c2e823c384e6a677c', variant: "icon-tertiary", "aria-label": "Clear time", class: {
792
674
  "ic-time-selector-clear-btn": true,
793
675
  }, onClick: this.handleClear, disabled: this.selectedHour === undefined &&
794
676
  this.selectedMinute === undefined &&
795
- this.selectedSecond === undefined &&
796
677
  this.selectedPeriod === undefined, size: size, tabIndex: 0, onKeyDown: (e) => {
797
678
  var _a;
798
679
  if (e.key === "Tab" && e.shiftKey) {
@@ -803,10 +684,9 @@ export class TimeSelector {
803
684
  lastCol === null || lastCol === void 0 ? void 0 : lastCol.focus();
804
685
  }
805
686
  }
806
- } }, h("span", { key: '45c66f9552c10be9e3b466342c6e7d22fd7df90b', "aria-hidden": "true", innerHTML: Clear })), h("ic-button", { key: 'eae553c514bc635a71220b969044df8d32e457bb', variant: "icon-tertiary", "aria-label": "Select time", class: "ic-time-selector-check-btn", onClick: this.handleConfirmClick, disabled: this.selectedHour === undefined &&
687
+ } }, h("span", { key: '4c6383f537d199e7d282d0dc5f4d8eac30c86e47', "aria-hidden": "true", innerHTML: Clear })), h("ic-button", { key: '021b111b463ddb83d4449fb2c77cf27c972c04b7', variant: "icon-tertiary", "aria-label": "Select time", class: "ic-time-selector-check-btn", onClick: this.handleConfirmClick, disabled: this.selectedHour === undefined &&
807
688
  this.selectedMinute === undefined &&
808
- this.selectedSecond === undefined &&
809
- this.selectedPeriod === undefined, size: size, tabIndex: 0 }, h("span", { key: 'f586f8d1b2659d3cf2f0f8e7365ebcd9828ebf23', "aria-hidden": "true", innerHTML: Check })))), h("div", { key: '27dd2db88615040635a0b61b9e785d50a488d90a', class: "sr-only", "aria-live": "polite" }, this.ariaLiveMessage)));
689
+ this.selectedPeriod === undefined, size: size, tabIndex: 0 }, h("span", { key: '95ba008a5b36459cba5d972dee1356f8c0194297', "aria-hidden": "true", innerHTML: Check })))), h("div", { key: '266f4b6084ff8530d3832eee59546af9419eb7a3', class: "sr-only", "aria-live": "polite" }, this.ariaLiveMessage)));
810
690
  }
811
691
  static get is() { return "ic-time-selector"; }
812
692
  static get encapsulation() { return "shadow"; }
@@ -840,7 +720,7 @@ export class TimeSelector {
840
720
  "optional": false,
841
721
  "docs": {
842
722
  "tags": [],
843
- "text": "An array of times that will be disabled in the time selector. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object."
723
+ "text": "An array of objects with start and end values that will be disabled in the time selector. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object."
844
724
  },
845
725
  "getter": false,
846
726
  "setter": false,
@@ -948,32 +828,6 @@ export class TimeSelector {
948
828
  "reflect": false,
949
829
  "defaultValue": "\"inherit\""
950
830
  },
951
- "timeFormat": {
952
- "type": "string",
953
- "mutable": false,
954
- "complexType": {
955
- "original": "IcTimeFormatSelector",
956
- "resolved": "\"HH:MM\" | \"HH:MM:SS\"",
957
- "references": {
958
- "IcTimeFormatSelector": {
959
- "location": "import",
960
- "path": "../../utils/types",
961
- "id": "src/utils/types.ts::IcTimeFormatSelector"
962
- }
963
- }
964
- },
965
- "required": false,
966
- "optional": false,
967
- "docs": {
968
- "tags": [],
969
- "text": "The format in which the time will be displayed."
970
- },
971
- "getter": false,
972
- "setter": false,
973
- "attribute": "time-format",
974
- "reflect": false,
975
- "defaultValue": "this.DEFAULT_TIME_FORMAT"
976
- },
977
831
  "timePeriod": {
978
832
  "type": "string",
979
833
  "mutable": false,
@@ -1025,7 +879,6 @@ export class TimeSelector {
1025
879
  return {
1026
880
  "selectedHour": {},
1027
881
  "selectedMinute": {},
1028
- "selectedSecond": {},
1029
882
  "selectedPeriod": {},
1030
883
  "ariaLiveMessage": {}
1031
884
  };
@@ -1042,8 +895,8 @@ export class TimeSelector {
1042
895
  "text": "Emitted when the value has changed."
1043
896
  },
1044
897
  "complexType": {
1045
- "original": "{\n value: Date | null;\n timeString: string | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n period?: IcTimePeriods;\n };\n }",
1046
- "resolved": "{ value: Date | null; timeString: string | null; timeObject: { hour: string | null; minute: string | null; second: string | null; period?: IcTimePeriods | undefined; }; }",
898
+ "original": "{\n value: Date | null;\n timeString: string | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n period?: IcTimePeriods;\n };\n }",
899
+ "resolved": "{ value: Date | null; timeString: string | null; timeObject: { hour: string | null; minute: string | null; period?: IcTimePeriods | undefined; }; }",
1047
900
  "references": {
1048
901
  "Date": {
1049
902
  "location": "global",