@ukic/canary-web-components 3.0.0-canary.13 → 3.0.0-canary.14

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 (222) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-0e4c4fdd.js → helpers-32016c21.js} +21 -3
  3. package/dist/cjs/helpers-32016c21.js.map +1 -0
  4. package/dist/cjs/ic-button_3.cjs.entry.js +59 -1
  5. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-data-table.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-date-input.cjs.entry.js +52 -19
  11. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-date-picker.cjs.entry.js +15 -10
  13. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-empty-state_2.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -3
  18. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-navigation-menu.cjs.entry.js +36 -22
  20. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-pagination_4.cjs.entry.js +13 -10
  22. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -4
  24. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -4
  26. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-skip-link.cjs.entry.js +10 -9
  28. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-step.cjs.entry.js +13 -12
  32. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  34. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-tree-item.cjs.entry.js +29 -8
  36. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-tree-view.cjs.entry.js +113 -12
  38. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  39. package/dist/cjs/loader.cjs.js +1 -1
  40. package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
  41. package/dist/collection/components/ic-date-input/ic-date-input.js +83 -24
  42. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  43. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +18 -0
  44. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  45. package/dist/collection/components/ic-date-picker/ic-date-picker.js +34 -9
  46. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  47. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +9 -1
  48. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  49. package/dist/collection/components/ic-date-picker/story-data.js +16 -1
  50. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  51. package/dist/collection/components/ic-tree-item/ic-tree-item.js +50 -7
  52. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  53. package/dist/collection/components/ic-tree-view/ic-tree-view.js +146 -16
  54. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  55. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +384 -12
  56. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  57. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js +2 -0
  58. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js.map +1 -0
  59. package/dist/collection/utils/helpers.js.map +1 -1
  60. package/dist/components/helpers.js +1 -1
  61. package/dist/components/helpers2.js +19 -3
  62. package/dist/components/helpers2.js.map +1 -1
  63. package/dist/components/ic-button2.js +59 -1
  64. package/dist/components/ic-button2.js.map +1 -1
  65. package/dist/components/ic-data-table.js +1 -1
  66. package/dist/components/ic-data-table.js.map +1 -1
  67. package/dist/components/ic-date-input2.js +58 -21
  68. package/dist/components/ic-date-input2.js.map +1 -1
  69. package/dist/components/ic-date-picker.js +15 -9
  70. package/dist/components/ic-date-picker.js.map +1 -1
  71. package/dist/components/ic-menu-item2.js +1 -1
  72. package/dist/components/ic-menu-item2.js.map +1 -1
  73. package/dist/components/ic-navigation-group.js +6 -3
  74. package/dist/components/ic-navigation-group.js.map +1 -1
  75. package/dist/components/ic-navigation-menu2.js +37 -23
  76. package/dist/components/ic-navigation-menu2.js.map +1 -1
  77. package/dist/components/ic-popover-menu.js +5 -4
  78. package/dist/components/ic-popover-menu.js.map +1 -1
  79. package/dist/components/ic-select2.js +13 -10
  80. package/dist/components/ic-select2.js.map +1 -1
  81. package/dist/components/ic-side-navigation.js +7 -4
  82. package/dist/components/ic-side-navigation.js.map +1 -1
  83. package/dist/components/ic-skip-link.js +10 -9
  84. package/dist/components/ic-skip-link.js.map +1 -1
  85. package/dist/components/ic-status-tag.js +1 -1
  86. package/dist/components/ic-status-tag.js.map +1 -1
  87. package/dist/components/ic-step.js +13 -12
  88. package/dist/components/ic-step.js.map +1 -1
  89. package/dist/components/ic-toast.js +4 -4
  90. package/dist/components/ic-toast.js.map +1 -1
  91. package/dist/components/ic-top-navigation.js +1 -1
  92. package/dist/components/ic-tree-item.js +29 -7
  93. package/dist/components/ic-tree-item.js.map +1 -1
  94. package/dist/components/ic-tree-view.js +119 -14
  95. package/dist/components/ic-tree-view.js.map +1 -1
  96. package/dist/core/core.css +35 -29
  97. package/dist/core/core.esm.js +1 -1
  98. package/dist/core/core.esm.js.map +1 -1
  99. package/dist/core/p-0ad472d0.entry.js +2 -0
  100. package/dist/core/p-0ad472d0.entry.js.map +1 -0
  101. package/dist/core/{p-fde3bbb2.entry.js → p-0c97a53d.entry.js} +2 -2
  102. package/dist/core/p-250bf568.entry.js +2 -0
  103. package/dist/core/p-250bf568.entry.js.map +1 -0
  104. package/dist/core/{p-c6f1e205.entry.js → p-48163a2a.entry.js} +2 -2
  105. package/dist/core/p-48163a2a.entry.js.map +1 -0
  106. package/dist/core/{p-95f2c59a.entry.js → p-4f00aa91.entry.js} +2 -2
  107. package/dist/core/{p-95f2c59a.entry.js.map → p-4f00aa91.entry.js.map} +1 -1
  108. package/dist/core/p-54e01fad.entry.js +2 -0
  109. package/dist/core/p-54e01fad.entry.js.map +1 -0
  110. package/dist/core/p-5d85bd73.entry.js +2 -0
  111. package/dist/core/p-5d85bd73.entry.js.map +1 -0
  112. package/dist/core/p-6040a025.entry.js +2 -0
  113. package/dist/core/p-6040a025.entry.js.map +1 -0
  114. package/dist/core/p-62f7f2bd.entry.js +2 -0
  115. package/dist/core/p-62f7f2bd.entry.js.map +1 -0
  116. package/dist/core/p-72310da8.js +2 -0
  117. package/dist/core/p-72310da8.js.map +1 -0
  118. package/dist/core/p-762a4d7c.entry.js +2 -0
  119. package/dist/core/p-762a4d7c.entry.js.map +1 -0
  120. package/dist/core/p-836d302a.entry.js +2 -0
  121. package/dist/core/p-836d302a.entry.js.map +1 -0
  122. package/dist/core/p-881bb783.entry.js +2 -0
  123. package/dist/core/p-881bb783.entry.js.map +1 -0
  124. package/dist/core/{p-3dc4e128.entry.js → p-895a3eb1.entry.js} +2 -2
  125. package/dist/core/p-9a46b1e5.entry.js +2 -0
  126. package/dist/core/p-9a46b1e5.entry.js.map +1 -0
  127. package/dist/core/{p-67f3bf1a.entry.js → p-a13dc5ba.entry.js} +2 -2
  128. package/dist/core/{p-e86c1c95.entry.js → p-c0687222.entry.js} +2 -2
  129. package/dist/core/p-c0687222.entry.js.map +1 -0
  130. package/dist/core/p-c4f7e479.entry.js +2 -0
  131. package/dist/core/p-c4f7e479.entry.js.map +1 -0
  132. package/dist/core/{p-f6013934.entry.js → p-ef25bb6d.entry.js} +2 -2
  133. package/dist/core/p-ef25bb6d.entry.js.map +1 -0
  134. package/dist/core/p-fb11ce9b.entry.js +2 -0
  135. package/dist/core/p-fb11ce9b.entry.js.map +1 -0
  136. package/dist/esm/core.js +1 -1
  137. package/dist/esm/{helpers-4e38ba2b.js → helpers-5479985d.js} +20 -4
  138. package/dist/esm/helpers-5479985d.js.map +1 -0
  139. package/dist/esm/ic-button_3.entry.js +59 -1
  140. package/dist/esm/ic-button_3.entry.js.map +1 -1
  141. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  142. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  143. package/dist/esm/ic-data-table.entry.js +2 -2
  144. package/dist/esm/ic-data-table.entry.js.map +1 -1
  145. package/dist/esm/ic-date-input.entry.js +52 -19
  146. package/dist/esm/ic-date-input.entry.js.map +1 -1
  147. package/dist/esm/ic-date-picker.entry.js +15 -10
  148. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  149. package/dist/esm/ic-empty-state_2.entry.js +1 -1
  150. package/dist/esm/ic-menu-item.entry.js +1 -1
  151. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  152. package/dist/esm/ic-navigation-group.entry.js +6 -3
  153. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  154. package/dist/esm/ic-navigation-menu.entry.js +37 -23
  155. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  156. package/dist/esm/ic-pagination_4.entry.js +13 -10
  157. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  158. package/dist/esm/ic-popover-menu.entry.js +5 -4
  159. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  160. package/dist/esm/ic-side-navigation.entry.js +7 -4
  161. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  162. package/dist/esm/ic-skip-link.entry.js +10 -9
  163. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  164. package/dist/esm/ic-status-tag.entry.js +1 -1
  165. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  166. package/dist/esm/ic-step.entry.js +13 -12
  167. package/dist/esm/ic-step.entry.js.map +1 -1
  168. package/dist/esm/ic-toast.entry.js +3 -3
  169. package/dist/esm/ic-toast.entry.js.map +1 -1
  170. package/dist/esm/ic-tree-item.entry.js +29 -8
  171. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  172. package/dist/esm/ic-tree-view.entry.js +113 -12
  173. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  174. package/dist/esm/loader.js +1 -1
  175. package/dist/types/components/ic-date-input/ic-date-input.d.ts +15 -4
  176. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +6 -0
  177. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  178. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +8 -0
  179. package/dist/types/components/ic-date-picker/story-data.d.ts +1 -0
  180. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +6 -0
  181. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +17 -0
  182. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +91 -13
  183. package/dist/types/components/ic-tree-view/ic-tree-view.types.d.ts +12 -0
  184. package/dist/types/components.d.ts +39 -6
  185. package/dist/types/utils/helpers.d.ts +2 -2
  186. package/hydrate/index.js +449 -184
  187. package/hydrate/index.mjs +449 -184
  188. package/package.json +3 -3
  189. package/dist/cjs/helpers-0e4c4fdd.js.map +0 -1
  190. package/dist/core/p-44ffa951.entry.js +0 -2
  191. package/dist/core/p-44ffa951.entry.js.map +0 -1
  192. package/dist/core/p-47962514.entry.js +0 -2
  193. package/dist/core/p-47962514.entry.js.map +0 -1
  194. package/dist/core/p-5329e478.entry.js +0 -2
  195. package/dist/core/p-5329e478.entry.js.map +0 -1
  196. package/dist/core/p-5b2a7c1a.entry.js +0 -2
  197. package/dist/core/p-5b2a7c1a.entry.js.map +0 -1
  198. package/dist/core/p-8c4f212a.entry.js +0 -2
  199. package/dist/core/p-8c4f212a.entry.js.map +0 -1
  200. package/dist/core/p-9265efef.entry.js +0 -2
  201. package/dist/core/p-9265efef.entry.js.map +0 -1
  202. package/dist/core/p-a35cdfc3.entry.js +0 -2
  203. package/dist/core/p-a35cdfc3.entry.js.map +0 -1
  204. package/dist/core/p-ac74cdac.entry.js +0 -2
  205. package/dist/core/p-ac74cdac.entry.js.map +0 -1
  206. package/dist/core/p-ad3e543e.entry.js +0 -2
  207. package/dist/core/p-ad3e543e.entry.js.map +0 -1
  208. package/dist/core/p-ae2bae87.entry.js +0 -2
  209. package/dist/core/p-ae2bae87.entry.js.map +0 -1
  210. package/dist/core/p-afde50b8.js +0 -2
  211. package/dist/core/p-afde50b8.js.map +0 -1
  212. package/dist/core/p-b84213d1.entry.js +0 -2
  213. package/dist/core/p-b84213d1.entry.js.map +0 -1
  214. package/dist/core/p-c6f1e205.entry.js.map +0 -1
  215. package/dist/core/p-cd59dc16.entry.js +0 -2
  216. package/dist/core/p-cd59dc16.entry.js.map +0 -1
  217. package/dist/core/p-e86c1c95.entry.js.map +0 -1
  218. package/dist/core/p-f6013934.entry.js.map +0 -1
  219. package/dist/esm/helpers-4e38ba2b.js.map +0 -1
  220. /package/dist/core/{p-fde3bbb2.entry.js.map → p-0c97a53d.entry.js.map} +0 -0
  221. /package/dist/core/{p-3dc4e128.entry.js.map → p-895a3eb1.entry.js.map} +0 -0
  222. /package/dist/core/{p-67f3bf1a.entry.js.map → p-a13dc5ba.entry.js.map} +0 -0
@@ -183,20 +183,25 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
183
183
  this.KEYBOARD_EVENT_OBJECT_STRING = "[object KeyboardEvent]";
184
184
  this.MAX_DAY = 31;
185
185
  this.MAX_MONTH = 12;
186
- this.previousEmittedDate = undefined;
187
186
  this.previousSelectedDate = null;
188
187
  this.selectedDate = null;
189
- this.day = "";
190
- this.month = "";
191
- this.year = "";
188
+ this.externalSetDate = false;
189
+ this.clearInput = false;
192
190
  this.calendarFocused = false;
193
191
  this.clearButtonFocused = false;
194
192
  this.removeLabelledBy = false;
193
+ this.day = "";
194
+ this.month = "";
195
+ this.year = "";
195
196
  /**
196
197
  * The format in which the date will be displayed.
197
198
  */
198
199
  // eslint-disable-next-line sonarjs/no-duplicate-string
199
200
  this.dateFormat = "DD/MM/YYYY";
201
+ /**
202
+ * If `true`, every individual input field completed will emit an icChange event.
203
+ */
204
+ this.emitDatePartChange = false;
200
205
  /**
201
206
  * If `true`, the disabled state will be set.
202
207
  */
@@ -583,9 +588,12 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
583
588
  };
584
589
  this.setDate = (date) => {
585
590
  if (date === null || date === "" || date === undefined) {
586
- this.day = null;
587
- this.month = null;
588
- this.year = null;
591
+ if (this.day)
592
+ this.day = null;
593
+ if (this.month)
594
+ this.month = null;
595
+ if (this.year)
596
+ this.year = null;
589
597
  this.inputsInOrder.forEach((input) => {
590
598
  input.classList.remove(this.FIT_TO_VALUE);
591
599
  this.setPreventInput(input, false);
@@ -608,9 +616,11 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
608
616
  }
609
617
  else if (typeof date === "string") {
610
618
  const defaultDateArray = splitStringDate(date, this.dateFormat);
619
+ this.selectedDate = new Date(Number(defaultDateArray[0]), Number(defaultDateArray[1]) - 1, Number(defaultDateArray[2]));
611
620
  this.year = defaultDateArray[0];
612
621
  this.month = defaultDateArray[1];
613
622
  this.day = defaultDateArray[2];
623
+ this.setValueAndEmitChange(this.selectedDate);
614
624
  }
615
625
  }
616
626
  this.setValidationMessage();
@@ -1005,11 +1015,13 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1005
1015
  }
1006
1016
  };
1007
1017
  this.handleClear = () => {
1018
+ this.clearInput = true;
1008
1019
  this.inputsInOrder.forEach((input) => {
1009
1020
  input.classList.remove(this.FIT_TO_VALUE);
1010
1021
  this.setInputValue(input, true);
1011
1022
  this.setPreventInput(input, false);
1012
1023
  });
1024
+ this.clearInput = false;
1013
1025
  this.isDateSetFromKeyboardEvent = false;
1014
1026
  this.setValidationMessage();
1015
1027
  this.handleDateChange(true);
@@ -1049,13 +1061,31 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1049
1061
  this.removeLabelledBy = true;
1050
1062
  };
1051
1063
  this.emitIcChange = (d) => {
1052
- if (!(d === null && this.previousEmittedDate === null) &&
1053
- !dateMatches(d, this.previousEmittedDate)) {
1054
- this.previousEmittedDate = d;
1055
- this.icChange.emit({ value: d });
1064
+ this.selectedDate = d;
1065
+ if (!dateMatches(this.selectedDate, d) ||
1066
+ this.day !== null ||
1067
+ this.month !== null ||
1068
+ this.year !== null) {
1069
+ this.icChange.emit({
1070
+ value: d,
1071
+ dateObject: {
1072
+ day: this.day === "" ? null : this.day,
1073
+ month: this.month === "" ? null : this.month,
1074
+ year: this.year === "" ? null : this.year,
1075
+ },
1076
+ });
1056
1077
  }
1057
1078
  };
1058
1079
  }
1080
+ watchInputHandler() {
1081
+ if (this.emitDatePartChange &&
1082
+ !this.externalSetDate &&
1083
+ !this.clearInput &&
1084
+ !(this.day && this.month && this.year) &&
1085
+ this.selectedDate === null) {
1086
+ this.emitIcChange(this.selectedDate);
1087
+ }
1088
+ }
1059
1089
  watchDisabledHandler() {
1060
1090
  removeDisabledFalse(this.disabled, this.el);
1061
1091
  }
@@ -1109,11 +1139,8 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1109
1139
  this.watchMinHandler();
1110
1140
  this.watchMaxHandler();
1111
1141
  if (this.value) {
1142
+ this.externalSetDate = true;
1112
1143
  this.setDate(this.value);
1113
- this.previousEmittedDate = this.selectedDate;
1114
- }
1115
- else {
1116
- this.previousEmittedDate = null;
1117
1144
  }
1118
1145
  this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;
1119
1146
  this.assistiveHintId = `${this.inputId}-assistive-hint`;
@@ -1182,7 +1209,10 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1182
1209
  * @internal Used to enable other components to invoke an IcChange event from the input.
1183
1210
  */
1184
1211
  async triggerIcChange(d) {
1212
+ this.externalSetDate = true;
1213
+ this.setDate(d);
1185
1214
  this.emitIcChange(d);
1215
+ this.externalSetDate = false;
1186
1216
  }
1187
1217
  removeAriaLabelledBy() {
1188
1218
  this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);
@@ -1299,19 +1329,22 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1299
1329
  : "";
1300
1330
  const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;
1301
1331
  renderHiddenInput(true, this.el, this.name, this.convertToDate(this.year, this.month, this.day), this.disabled);
1302
- return (h(Host, { key: '08b8f65934b55fd86e9abe2fad8f232af68b3754', class: {
1332
+ return (h(Host, { key: 'a37b652ab1896d583a970f2fe3f23480fe923406', class: {
1303
1333
  [`ic-theme-${theme}`]: theme !== "inherit",
1304
1334
  [`ic-date-input-disabled`]: disabled,
1305
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '285bb0e746630a08c3e4e29bc8a24f5d97b4b4e5', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: 'f1facdecd84445133a67c87a2d6e5ba4dfbfbceb', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), h("span", { key: '25ae3fae1dc4f2862ec14e348138adfadf0dc3c7', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: 'd3c34084b3b846795063f799720b7d918f10f5a9', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '37ecdc3ee7ced98dac405591cb106e1a03add976', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: 'cfcfae24a49a49e0f2a878a7c024818e1cce125a', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '4d090542f2fb72fae8cda326af45278552707cd6', class: "input-container" }, h("div", { key: '4eef737c2a8d25353a41ea31b2e8bc21ec55ff9a', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), h("div", { key: 'bc1cb74a96f75b4018f2e39f8712a870f5f4bf6e', class: "action-buttons" }, showClearButton && (h("ic-button", { key: 'e58854f9e3b74a7f46a253a8421c8c9775047069', id: "clear-button", "aria-label": "Clear input", class: {
1335
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '41c1cd439879613d8920593309e19c050e5d451e', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: 'a598faa23eda4cf283cd5e542008aad20150736e', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), h("span", { key: '71265eb5808610652efe874a2ad9828c970a9176', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: '67121b1b28fa69acd5c143d8dacb9c634db15f05', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '2af3f97d24ed25ba868b08d13b4467075b350a36', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: 'c7c455f3f16458f6a56e604e8f8499834f277933', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: 'ccf2a9ca8154cdc108fdbbe4a8b1cf2fd6fb5070', class: "input-container" }, h("div", { key: 'c044b44ee99dcf32722bdbfa481c8464a9a4d7bb', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), h("div", { key: '30818ad45a24cdca204f8b629f064840420afb44', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '99a6a5b62893e56cf5d3a4f6645ce2aa1b77e538', id: "clear-button", "aria-label": "Clear input", class: {
1306
1336
  ["clear-button"]: true,
1307
1337
  ["hidden"]: isEmptyString(this.day) &&
1308
1338
  isEmptyString(this.month) &&
1309
1339
  isEmptyString(this.year),
1310
- }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (h("div", { key: 'd7e3f4e87e69d949a1c9e56230ae78b22dfd23f8', class: "show-calendar-button-wrapper" }, h("div", { key: '21bcae037bcb6d81bd89ba1eb51f279f048fa2df', class: { divider: true, [size]: true } }), h("ic-button", { key: '3bad8c476367e3aac94092078fe9d8aa52f396ff', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), h("span", { key: 'c11a9f0fc1eae4efc3a3a29ebdd1eb65a6de7630', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: '2930c304db0ad50b6991454d9375fdc2e1a4547a', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidDateText)) && (h("ic-input-validation", { key: '5fc1473b568a1f82c3c1ee9f73e20a19f7c28d85', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1340
+ }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (h("div", { key: '77a0ba0e9dfa3b99a97252178e42f49261619503', class: "show-calendar-button-wrapper" }, h("div", { key: '70408bceb4963e3ba54fe5630ba95905d15be0a6', class: { divider: true, [size]: true } }), h("ic-button", { key: 'f38c632d59fe23bfda2f20a8a9646028ac40f99b', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), h("span", { key: '614cc74c88f8d83e04ec9bde0d984567c536d65c', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: 'f1dea32613b9f162808ffef69baa6231c86998d3', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidDateText)) && (h("ic-input-validation", { key: '802cdf9f7bc52c9164137059b46f5c1dfcbcdb80', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1311
1341
  }
1312
1342
  static get delegatesFocus() { return true; }
1313
1343
  get el() { return this; }
1314
1344
  static get watchers() { return {
1345
+ "day": ["watchInputHandler"],
1346
+ "month": ["watchInputHandler"],
1347
+ "year": ["watchInputHandler"],
1315
1348
  "disabled": ["watchDisabledHandler"],
1316
1349
  "disableFuture": ["watchDisableFutureHandler"],
1317
1350
  "disablePast": ["watchDisablePastHandler"],
@@ -1322,6 +1355,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1322
1355
  static get style() { return IcDateInputStyle0; }
1323
1356
  }, [17, "ic-date-input", {
1324
1357
  "dateFormat": [1, "date-format"],
1358
+ "emitDatePartChange": [4, "emit-date-part-change"],
1325
1359
  "disabled": [4],
1326
1360
  "disableDays": [1040],
1327
1361
  "disableDaysMessage": [1, "disable-days-message"],
@@ -1346,20 +1380,23 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1346
1380
  "value": [1025],
1347
1381
  "validationStatus": [1025, "validation-status"],
1348
1382
  "validationText": [1, "validation-text"],
1349
- "day": [32],
1350
1383
  "invalidDateText": [32],
1351
1384
  "maxDate": [32],
1352
1385
  "minDate": [32],
1353
- "month": [32],
1354
- "year": [32],
1355
1386
  "calendarFocused": [32],
1356
1387
  "clearButtonFocused": [32],
1357
1388
  "removeLabelledBy": [32],
1389
+ "day": [32],
1390
+ "month": [32],
1391
+ "year": [32],
1358
1392
  "getDate": [64],
1359
1393
  "setCalendarFocus": [64],
1360
1394
  "setDisableDays": [64],
1361
1395
  "triggerIcChange": [64]
1362
1396
  }, undefined, {
1397
+ "day": ["watchInputHandler"],
1398
+ "month": ["watchInputHandler"],
1399
+ "year": ["watchInputHandler"],
1363
1400
  "disabled": ["watchDisabledHandler"],
1364
1401
  "disableFuture": ["watchDisableFutureHandler"],
1365
1402
  "disablePast": ["watchDisablePastHandler"],