@globalpayments/vega 2.51.0 → 2.52.0

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 (242) hide show
  1. package/dist/cjs/{element-appender-slimmer-5b1d8ffb.js → element-appender-slimmer-1946ff07.js} +2 -2
  2. package/dist/cjs/{event-emit-slimmer-36036ef7.js → event-emit-slimmer-6154c759.js} +2 -11
  3. package/dist/cjs/{form-field-controller-slimmer-01c01946.js → form-field-controller-slimmer-e721359b.js} +3 -3
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{mutation-observer-slimmer-895b3d3e.js → mutation-observer-slimmer-749d5020.js} +5 -2
  6. package/dist/cjs/try-get-document-c0ebd39a.js +13 -0
  7. package/dist/cjs/vega-accordion.cjs.entry.js +2 -1
  8. package/dist/cjs/vega-app-header-button.cjs.entry.js +2 -1
  9. package/dist/cjs/vega-banner.cjs.entry.js +2 -1
  10. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -1
  11. package/dist/cjs/vega-button-circle.cjs.entry.js +2 -1
  12. package/dist/cjs/vega-button-group_2.cjs.entry.js +2 -1
  13. package/dist/cjs/vega-button-link.cjs.entry.js +2 -1
  14. package/dist/cjs/vega-button.cjs.entry.js +2 -1
  15. package/dist/cjs/vega-calendar_3.cjs.entry.js +2 -1
  16. package/dist/cjs/vega-carousel.cjs.entry.js +2 -1
  17. package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -3
  18. package/dist/cjs/vega-chip.cjs.entry.js +2 -1
  19. package/dist/cjs/vega-code-block.cjs.entry.js +2 -1
  20. package/dist/cjs/vega-color-picker.cjs.entry.js +4 -3
  21. package/dist/cjs/vega-combo-box.cjs.entry.js +4 -3
  22. package/dist/cjs/vega-date-picker_2.cjs.entry.js +5 -4
  23. package/dist/cjs/vega-dialog_2.cjs.entry.js +3 -2
  24. package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -3
  25. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  26. package/dist/cjs/vega-field-label.cjs.entry.js +2 -1
  27. package/dist/cjs/vega-file-uploader.cjs.entry.js +4 -3
  28. package/dist/cjs/vega-form.cjs.entry.js +4 -3
  29. package/dist/cjs/vega-icon.cjs.entry.js +22 -22
  30. package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -3
  31. package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -3
  32. package/dist/cjs/vega-input-numeric.cjs.entry.js +14 -4
  33. package/dist/cjs/vega-input-phone-number.cjs.entry.js +4 -3
  34. package/dist/cjs/vega-input-range.cjs.entry.js +4 -3
  35. package/dist/cjs/vega-input-select.cjs.entry.js +4 -3
  36. package/dist/cjs/vega-input.cjs.entry.js +4 -3
  37. package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -1
  38. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -3
  39. package/dist/cjs/vega-pagination.cjs.entry.js +2 -1
  40. package/dist/cjs/vega-popover_2.cjs.entry.js +3 -2
  41. package/dist/cjs/vega-progress-tracker.cjs.entry.js +2 -1
  42. package/dist/cjs/vega-radio_2.cjs.entry.js +4 -3
  43. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +4 -3
  44. package/dist/cjs/vega-segment-control.cjs.entry.js +2 -1
  45. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -3
  46. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +4 -3
  47. package/dist/cjs/vega-sidenav_3.cjs.entry.js +2 -1
  48. package/dist/cjs/vega-signature-capture.cjs.entry.js +4 -3
  49. package/dist/cjs/vega-stepper.cjs.entry.js +4 -3
  50. package/dist/cjs/vega-tab-group_2.cjs.entry.js +2 -1
  51. package/dist/cjs/vega-table_8.cjs.entry.js +3 -2
  52. package/dist/cjs/vega-textarea.cjs.entry.js +4 -3
  53. package/dist/cjs/vega-time-picker_2.cjs.entry.js +6 -5
  54. package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -3
  55. package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
  56. package/dist/cjs/vega.cjs.js +1 -1
  57. package/dist/collection/components/vega-dialog/vega-dialog.css +1 -0
  58. package/dist/collection/components/vega-icon/vega-icon.js +22 -22
  59. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +4 -1
  60. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +27 -0
  61. package/dist/collection/components/vega-nav/slimmers/renderers/vega-nav-list-renderer.js +1 -1
  62. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +4 -1
  63. package/dist/collection/components/vega-nav/vega-left-nav-link/vega-left-nav-link.js +28 -0
  64. package/dist/collection/components/vega-time-picker/vega-time-picker-dropdown/vega-time-picker-dropdown.css +4 -0
  65. package/dist/collection/helpers/event-manager/slimmers/event-emit-slimmer.js +2 -2
  66. package/dist/collection/helpers/event-manager/test/event-emit-slimmer.test.js +2 -2
  67. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +2 -2
  68. package/dist/collection/helpers/slimmers/mutation-observer/mutation-observer-slimmer.js +5 -2
  69. package/dist/collection/helpers/slimmers/mutation-observer/test/mutation-observer-slimmer.test.js +14 -0
  70. package/dist/collection/helpers/validator/form-field-controller.js +2 -2
  71. package/dist/collection/helpers/validator/test/validator/form-field-controller.test.js +12 -0
  72. package/dist/collection/utils/test/safe-document.test.js +4 -4
  73. package/dist/collection/utils/{safe-document.js → try-get-document.js} +1 -1
  74. package/dist/esm/{element-appender-slimmer-64a77b7f.js → element-appender-slimmer-dbdad1df.js} +2 -2
  75. package/dist/esm/{event-emit-slimmer-7428cc01.js → event-emit-slimmer-b5cb9b81.js} +2 -11
  76. package/dist/esm/{form-field-controller-slimmer-87d80e46.js → form-field-controller-slimmer-846cda92.js} +3 -3
  77. package/dist/esm/loader.js +1 -1
  78. package/dist/esm/{mutation-observer-slimmer-6cef9549.js → mutation-observer-slimmer-58ebc13c.js} +5 -2
  79. package/dist/esm/try-get-document-bef0f526.js +11 -0
  80. package/dist/esm/vega-accordion.entry.js +2 -1
  81. package/dist/esm/vega-app-header-button.entry.js +2 -1
  82. package/dist/esm/vega-banner.entry.js +2 -1
  83. package/dist/esm/vega-breadcrumb.entry.js +2 -1
  84. package/dist/esm/vega-button-circle.entry.js +2 -1
  85. package/dist/esm/vega-button-group_2.entry.js +2 -1
  86. package/dist/esm/vega-button-link.entry.js +2 -1
  87. package/dist/esm/vega-button.entry.js +2 -1
  88. package/dist/esm/vega-calendar_3.entry.js +2 -1
  89. package/dist/esm/vega-carousel.entry.js +2 -1
  90. package/dist/esm/vega-checkbox_2.entry.js +4 -3
  91. package/dist/esm/vega-chip.entry.js +2 -1
  92. package/dist/esm/vega-code-block.entry.js +2 -1
  93. package/dist/esm/vega-color-picker.entry.js +4 -3
  94. package/dist/esm/vega-combo-box.entry.js +4 -3
  95. package/dist/esm/vega-date-picker_2.entry.js +5 -4
  96. package/dist/esm/vega-dialog_2.entry.js +3 -2
  97. package/dist/esm/vega-dropdown_5.entry.js +4 -3
  98. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  99. package/dist/esm/vega-field-label.entry.js +2 -1
  100. package/dist/esm/vega-file-uploader.entry.js +4 -3
  101. package/dist/esm/vega-form.entry.js +4 -3
  102. package/dist/esm/vega-icon.entry.js +22 -22
  103. package/dist/esm/vega-image-uploader.entry.js +4 -3
  104. package/dist/esm/vega-input-credit-card.entry.js +4 -3
  105. package/dist/esm/vega-input-numeric.entry.js +14 -4
  106. package/dist/esm/vega-input-phone-number.entry.js +4 -3
  107. package/dist/esm/vega-input-range.entry.js +4 -3
  108. package/dist/esm/vega-input-select.entry.js +4 -3
  109. package/dist/esm/vega-input.entry.js +4 -3
  110. package/dist/esm/vega-item-toggle.entry.js +2 -1
  111. package/dist/esm/vega-left-nav_5.entry.js +14 -3
  112. package/dist/esm/vega-pagination.entry.js +2 -1
  113. package/dist/esm/vega-popover_2.entry.js +3 -2
  114. package/dist/esm/vega-progress-tracker.entry.js +2 -1
  115. package/dist/esm/vega-radio_2.entry.js +4 -3
  116. package/dist/esm/vega-rich-text-editor_4.entry.js +4 -3
  117. package/dist/esm/vega-segment-control.entry.js +2 -1
  118. package/dist/esm/vega-selection-chip_2.entry.js +4 -3
  119. package/dist/esm/vega-selection-tile_2.entry.js +4 -3
  120. package/dist/esm/vega-sidenav_3.entry.js +2 -1
  121. package/dist/esm/vega-signature-capture.entry.js +4 -3
  122. package/dist/esm/vega-stepper.entry.js +4 -3
  123. package/dist/esm/vega-tab-group_2.entry.js +2 -1
  124. package/dist/esm/vega-table_8.entry.js +3 -2
  125. package/dist/esm/vega-textarea.entry.js +4 -3
  126. package/dist/esm/vega-time-picker_2.entry.js +6 -5
  127. package/dist/esm/vega-toggle-switch.entry.js +4 -3
  128. package/dist/esm/vega-tooltip_2.entry.js +1 -1
  129. package/dist/esm/vega.js +1 -1
  130. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +1 -0
  131. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +6 -0
  132. package/dist/types/components/vega-nav/interface.d.ts +1 -0
  133. package/dist/types/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.d.ts +1 -0
  134. package/dist/types/components/vega-nav/vega-left-nav-link/vega-left-nav-link.d.ts +7 -0
  135. package/dist/types/components.d.ts +20 -0
  136. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +1 -1
  137. package/dist/types/helpers/validator/form-field-controller.d.ts +1 -1
  138. package/dist/types/utils/{safe-document.d.ts → try-get-document.d.ts} +1 -1
  139. package/dist/vega/p-012cbd8f.js +1 -0
  140. package/dist/vega/p-029300db.entry.js +1 -0
  141. package/dist/vega/p-05383290.entry.js +1 -0
  142. package/dist/vega/p-05588c85.entry.js +1 -0
  143. package/dist/vega/p-06db5a2e.entry.js +1 -0
  144. package/dist/vega/p-092c87b5.entry.js +1 -0
  145. package/dist/vega/p-0f034db5.entry.js +1 -0
  146. package/dist/vega/{p-30c363d8.entry.js → p-0fb26be0.entry.js} +1 -1
  147. package/dist/vega/p-10edaab7.entry.js +1 -0
  148. package/dist/vega/p-2490a391.entry.js +1 -0
  149. package/dist/vega/p-2a4c313e.entry.js +1 -0
  150. package/dist/vega/p-310f0791.entry.js +1 -0
  151. package/dist/vega/p-35c9cd1d.entry.js +1 -0
  152. package/dist/vega/p-3a6b4208.entry.js +1 -0
  153. package/dist/vega/p-3e8a8aa5.entry.js +1 -0
  154. package/dist/vega/{p-8bdc9e75.js → p-40577e8e.js} +1 -1
  155. package/dist/vega/p-44dee180.entry.js +1 -0
  156. package/dist/vega/p-517615af.entry.js +1 -0
  157. package/dist/vega/p-5f377954.js +1 -1
  158. package/dist/vega/p-5f594deb.entry.js +1 -0
  159. package/dist/vega/p-62734ef7.entry.js +1 -0
  160. package/dist/vega/p-6419abd9.entry.js +1 -0
  161. package/dist/vega/p-685939dc.entry.js +1 -0
  162. package/dist/vega/p-6ec0e3ce.entry.js +1 -0
  163. package/dist/vega/p-72e64237.js +1 -0
  164. package/dist/vega/p-72eb8998.entry.js +1 -0
  165. package/dist/vega/p-75855aaf.entry.js +1 -0
  166. package/dist/vega/p-78a57a17.js +1 -0
  167. package/dist/vega/p-7a8b6f2f.entry.js +1 -0
  168. package/dist/vega/p-7f0def5a.entry.js +1 -0
  169. package/dist/vega/p-7f2c98df.entry.js +1 -0
  170. package/dist/vega/p-812b9d6d.entry.js +1 -0
  171. package/dist/vega/p-888e3f52.entry.js +1 -0
  172. package/dist/vega/p-8d3764d3.entry.js +1 -0
  173. package/dist/vega/p-9a9766cc.entry.js +1 -0
  174. package/dist/vega/p-a2d47741.entry.js +1 -0
  175. package/dist/vega/p-ab2a6d14.entry.js +1 -0
  176. package/dist/vega/p-abac6b00.entry.js +1 -0
  177. package/dist/vega/p-ac3a2d9c.entry.js +1 -0
  178. package/dist/vega/p-adadb1a1.entry.js +1 -0
  179. package/dist/vega/p-afc49b98.entry.js +1 -0
  180. package/dist/vega/p-b13fff4d.entry.js +1 -0
  181. package/dist/vega/p-b4a1a8e1.entry.js +1 -0
  182. package/dist/vega/p-b75ee3ba.js +1 -0
  183. package/dist/vega/p-bba5b112.entry.js +1 -0
  184. package/dist/vega/p-c22c628b.entry.js +1 -0
  185. package/dist/vega/p-ca0294c9.entry.js +1 -0
  186. package/dist/vega/{p-b264d92e.entry.js → p-cb643d8d.entry.js} +1 -1
  187. package/dist/vega/p-d8eec0bb.entry.js +1 -0
  188. package/dist/vega/p-e00da6d4.entry.js +1 -0
  189. package/dist/vega/p-e1ba6325.entry.js +1 -0
  190. package/dist/vega/p-eeab4167.entry.js +1 -0
  191. package/dist/vega/{p-29fe94b6.entry.js → p-efb06a25.entry.js} +1 -1
  192. package/dist/vega/p-f3ec4ae6.entry.js +1 -0
  193. package/dist/vega/vega.esm.js +1 -1
  194. package/package.json +1 -1
  195. package/dist/vega/p-07cdaf74.entry.js +0 -1
  196. package/dist/vega/p-07e40eea.entry.js +0 -1
  197. package/dist/vega/p-1071f790.entry.js +0 -1
  198. package/dist/vega/p-12929d20.entry.js +0 -1
  199. package/dist/vega/p-1b81fc7a.entry.js +0 -1
  200. package/dist/vega/p-21d4f12e.entry.js +0 -1
  201. package/dist/vega/p-21d5656d.entry.js +0 -1
  202. package/dist/vega/p-21e180f2.js +0 -1
  203. package/dist/vega/p-2329cb73.entry.js +0 -1
  204. package/dist/vega/p-388abe56.entry.js +0 -1
  205. package/dist/vega/p-447a2b18.entry.js +0 -1
  206. package/dist/vega/p-4bca12ee.entry.js +0 -1
  207. package/dist/vega/p-52bdeea0.entry.js +0 -1
  208. package/dist/vega/p-53803447.entry.js +0 -1
  209. package/dist/vega/p-53815555.entry.js +0 -1
  210. package/dist/vega/p-597732e9.entry.js +0 -1
  211. package/dist/vega/p-60164904.entry.js +0 -1
  212. package/dist/vega/p-61b72038.entry.js +0 -1
  213. package/dist/vega/p-647734d1.entry.js +0 -1
  214. package/dist/vega/p-66145767.entry.js +0 -1
  215. package/dist/vega/p-6ceb2d26.entry.js +0 -1
  216. package/dist/vega/p-6f3dd430.entry.js +0 -1
  217. package/dist/vega/p-71d897e5.entry.js +0 -1
  218. package/dist/vega/p-7add21f8.entry.js +0 -1
  219. package/dist/vega/p-7df1ad72.entry.js +0 -1
  220. package/dist/vega/p-86713a15.entry.js +0 -1
  221. package/dist/vega/p-901b20d6.entry.js +0 -1
  222. package/dist/vega/p-987fbbd0.js +0 -1
  223. package/dist/vega/p-9d3292b7.entry.js +0 -1
  224. package/dist/vega/p-9eab97ee.entry.js +0 -1
  225. package/dist/vega/p-a0bd5bd7.entry.js +0 -1
  226. package/dist/vega/p-a1fbf49b.entry.js +0 -1
  227. package/dist/vega/p-b51fa6ac.entry.js +0 -1
  228. package/dist/vega/p-c192c2d2.entry.js +0 -1
  229. package/dist/vega/p-c4447540.entry.js +0 -1
  230. package/dist/vega/p-c8023434.entry.js +0 -1
  231. package/dist/vega/p-cada532e.entry.js +0 -1
  232. package/dist/vega/p-d0f0a908.entry.js +0 -1
  233. package/dist/vega/p-d53b262c.entry.js +0 -1
  234. package/dist/vega/p-d9cb6ec4.entry.js +0 -1
  235. package/dist/vega/p-e37ac14f.entry.js +0 -1
  236. package/dist/vega/p-e81b672b.entry.js +0 -1
  237. package/dist/vega/p-ea723616.entry.js +0 -1
  238. package/dist/vega/p-ec7d98f0.entry.js +0 -1
  239. package/dist/vega/p-eea36d3c.js +0 -1
  240. package/dist/vega/p-f0f787a2.entry.js +0 -1
  241. package/dist/vega/p-f9a9fca6.entry.js +0 -1
  242. package/dist/vega/p-fd0b2509.entry.js +0 -1
@@ -14,6 +14,7 @@ import { VegaIconManager } from '../../helpers/icon/icon-manager';
14
14
  import { InjectVegaGlobalSlimmer, InjectVegaSlimmer } from 'vega-slimmer/core';
15
15
  import { LogUtility } from '../../utils/log';
16
16
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
17
+ import { tryGetDocument } from '../../utils/try-get-document';
17
18
  /**
18
19
  * @vegaVersion 1.0.4
19
20
  */
@@ -139,16 +140,13 @@ export class VegaIcon {
139
140
  /* istanbul ignore next */
140
141
  appendStyles(iconStyles) {
141
142
  var _a;
142
- if (iconStyles) {
143
- const styleElement =
144
- // eslint-disable-next-line no-restricted-globals
145
- (_a = this.host.shadowRoot.querySelector('#fa-icon-styles')) !== null && _a !== void 0 ? _a : document.createElement('style');
143
+ if (iconStyles && tryGetDocument()) {
144
+ const styleElement = (_a = this.host.shadowRoot.querySelector('#fa-icon-styles')) !== null && _a !== void 0 ? _a : tryGetDocument().createElement('style');
146
145
  styleElement.id = 'fa-icon-styles';
147
146
  styleElement.innerHTML = iconStyles;
148
147
  this.host.shadowRoot.appendChild(styleElement);
149
148
  }
150
149
  }
151
- /* eslint-disable no-restricted-globals */
152
150
  /**
153
151
  * The below method is e2e-test covered in
154
152
  * @see {module:append-fa-icon-styles-to-shadow-dom}
@@ -160,16 +158,17 @@ export class VegaIcon {
160
158
  return VegaIcon.iconStyleCache.get(this.icon);
161
159
  }
162
160
  else {
163
- const iconElement = document.createElement('i');
164
- iconElement.className = this.icon;
165
- iconElement.style.display = 'none';
166
- document.body.appendChild(iconElement);
167
- const computedStyle = getComputedStyle(iconElement);
168
- // `fontFamily` is null in spec test. Skip it by using '?'
169
- if ((_a = computedStyle.fontFamily) === null || _a === void 0 ? void 0 : _a.includes('Font Awesome')) {
170
- const pseudoBeforeElementStyle = getComputedStyle(iconElement, '::before');
171
- const pseudoAfterElementStyle = getComputedStyle(iconElement, '::after');
172
- const styleHTML = `
161
+ if (tryGetDocument()) {
162
+ const iconElement = tryGetDocument().createElement('i');
163
+ iconElement.className = this.icon;
164
+ iconElement.style.display = 'none';
165
+ tryGetDocument().body.appendChild(iconElement);
166
+ const computedStyle = getComputedStyle(iconElement);
167
+ // `fontFamily` is null in spec test. Skip it by using '?'
168
+ if ((_a = computedStyle.fontFamily) === null || _a === void 0 ? void 0 : _a.includes('Font Awesome')) {
169
+ const pseudoBeforeElementStyle = getComputedStyle(iconElement, '::before');
170
+ const pseudoAfterElementStyle = getComputedStyle(iconElement, '::after');
171
+ const styleHTML = `
173
172
  i {
174
173
  font-weight: ${computedStyle.fontWeight};
175
174
  font-family: ${computedStyle.fontFamily};
@@ -188,13 +187,14 @@ export class VegaIcon {
188
187
  opacity: ${pseudoAfterElementStyle.opacity};
189
188
  }
190
189
  `.replace(/[\n\t]/gi, '');
191
- VegaIcon.iconStyleCache.set(this.icon, styleHTML);
192
- document.body.removeChild(iconElement);
193
- return styleHTML;
194
- }
195
- else {
196
- document.body.removeChild(iconElement);
197
- return null;
190
+ VegaIcon.iconStyleCache.set(this.icon, styleHTML);
191
+ tryGetDocument().body.removeChild(iconElement);
192
+ return styleHTML;
193
+ }
194
+ else {
195
+ tryGetDocument().body.removeChild(iconElement);
196
+ return null;
197
+ }
198
198
  }
199
199
  }
200
200
  }
@@ -28,7 +28,7 @@ export class VegaInputNumericRenderer extends VegaSlimmer {
28
28
  if (this.integerOnly) {
29
29
  maskOptions.precision = 0;
30
30
  }
31
- return (h("vega-input", { value: this.value || '', showClearIcon: true, disabled: this.disabled, label: this.label, hint: this.hint, required: this.required, type: "number", placeholder: this.placeholder, size: this.size === 'small' ? 'small' : 'default', prefixIcon: this.prefixIcon, ref: (ref) => {
31
+ return (h("vega-input", { value: this.value || '', showClearIcon: this.showClearIcon, disabled: this.disabled, label: this.label, hint: this.hint, required: this.required, type: "number", placeholder: this.placeholder, size: this.size === 'small' ? 'small' : 'default', prefixIcon: this.prefixIcon, ref: (ref) => {
32
32
  this.vegaInputRef = ref;
33
33
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (payload) => this.onInputChange(payload));
34
34
  }, maskConfig: {
@@ -40,6 +40,9 @@ export class VegaInputNumericRenderer extends VegaSlimmer {
40
40
  __decorate([
41
41
  MapToComponentField()
42
42
  ], VegaInputNumericRenderer.prototype, "prefixIcon", void 0);
43
+ __decorate([
44
+ MapToComponentField()
45
+ ], VegaInputNumericRenderer.prototype, "showClearIcon", void 0);
43
46
  __decorate([
44
47
  MapToComponentField()
45
48
  ], VegaInputNumericRenderer.prototype, "value", void 0);
@@ -132,6 +132,12 @@ export class VegaInputNumeric {
132
132
  * @vegaVersion 2.29.0
133
133
  */
134
134
  this.autoValidation = true;
135
+ /**
136
+ * Determines whether the clear icon should be displayed or hidden.
137
+ *
138
+ * @vegaVersion 2.52.0
139
+ */
140
+ this.showClearIcon = true;
135
141
  }
136
142
  watchPrefixText() {
137
143
  methodPlaceholder();
@@ -511,6 +517,27 @@ export class VegaInputNumeric {
511
517
  "attribute": "auto-validation",
512
518
  "reflect": true,
513
519
  "defaultValue": "true"
520
+ },
521
+ "showClearIcon": {
522
+ "type": "boolean",
523
+ "mutable": false,
524
+ "complexType": {
525
+ "original": "boolean",
526
+ "resolved": "boolean",
527
+ "references": {}
528
+ },
529
+ "required": false,
530
+ "optional": false,
531
+ "docs": {
532
+ "tags": [{
533
+ "name": "vegaVersion",
534
+ "text": "2.52.0"
535
+ }],
536
+ "text": "Determines whether the clear icon should be displayed or hidden."
537
+ },
538
+ "attribute": "show-clear-icon",
539
+ "reflect": false,
540
+ "defaultValue": "true"
514
541
  }
515
542
  }; }
516
543
  static get states() { return {
@@ -36,7 +36,7 @@ export class VegaNavListRenderer extends VegaSlimmer {
36
36
  return (h("vega-left-nav-group", { itemKey: item.key, key: item.key || item.name, icon: item.icon, label: item.name, "open-by-default": item.openByDefault }, (_a = item.children) === null || _a === void 0 ? void 0 : _a.map((child) => child.type == 'group' ? this.renderGroup(child) : this.renderLink(child))));
37
37
  }
38
38
  renderLink(item) {
39
- return (h("vega-left-nav-link", { itemKey: item.key, key: item.key || item.name, icon: item.icon, url: item.url, selected: item.selected, counterBadge: item.counterBadge }, item.name));
39
+ return (h("vega-left-nav-link", { itemKey: item.key, key: item.key || item.name, icon: item.icon, url: item.url, target: item.target, selected: item.selected, counterBadge: item.counterBadge }, item.name));
40
40
  }
41
41
  }
42
42
  __decorate([
@@ -32,7 +32,7 @@ export class VegaLeftNavLinkRenderer extends VegaSlimmer {
32
32
  const url = this.url || 'javascript:void(0);';
33
33
  const classList = this.selected === true ? 'selected' : '';
34
34
  return (h(Host, { class: classList, "data-key": this.itemKey },
35
- h("a", { href: url, onClick: this.handleClick },
35
+ h("a", { href: url, target: this.target, onClick: this.handleClick },
36
36
  this.icon && (h("div", { class: "vega-links-icon" },
37
37
  h("div", { class: "prefix-icon" },
38
38
  h("vega-icon", { icon: this.icon, size: "size-16" })))),
@@ -88,6 +88,9 @@ __decorate([
88
88
  __decorate([
89
89
  MapToComponentField()
90
90
  ], VegaLeftNavLinkRenderer.prototype, "itemKey", void 0);
91
+ __decorate([
92
+ MapToComponentField()
93
+ ], VegaLeftNavLinkRenderer.prototype, "target", void 0);
91
94
  __decorate([
92
95
  MapToComponentField()
93
96
  ], VegaLeftNavLinkRenderer.prototype, "vegaLeftNavHierarchyController", void 0);
@@ -40,6 +40,13 @@ export class VegaLeftNavLink {
40
40
  * @vegaVersion 2.37.0
41
41
  */
42
42
  this.customSelectionEnabled = false;
43
+ /**
44
+ * Specifies where to open the URL linked in the left navigation item.
45
+ * Common values include _self (default) to open in the same tab, or _blank to open in a new tab.
46
+ *
47
+ * @vegaVersion 2.52.0
48
+ */
49
+ this.target = '_self';
43
50
  }
44
51
  render() {
45
52
  slotPlaceholder(h("slot", null));
@@ -184,6 +191,27 @@ export class VegaLeftNavLink {
184
191
  },
185
192
  "attribute": "item-key",
186
193
  "reflect": false
194
+ },
195
+ "target": {
196
+ "type": "string",
197
+ "mutable": false,
198
+ "complexType": {
199
+ "original": "'_blank' | '_self'",
200
+ "resolved": "\"_blank\" | \"_self\"",
201
+ "references": {}
202
+ },
203
+ "required": false,
204
+ "optional": false,
205
+ "docs": {
206
+ "tags": [{
207
+ "name": "vegaVersion",
208
+ "text": "2.52.0"
209
+ }],
210
+ "text": "Specifies where to open the URL linked in the left navigation item.\n Common values include _self (default) to open in the same tab, or _blank to open in a new tab."
211
+ },
212
+ "attribute": "target",
213
+ "reflect": false,
214
+ "defaultValue": "'_self'"
187
215
  }
188
216
  }; }
189
217
  static get events() { return [{
@@ -129,6 +129,10 @@
129
129
  content: "";
130
130
  }
131
131
 
132
+ :host(.mobile) .vega-time-picker-panel-column::after {
133
+ height: 0;
134
+ }
135
+
132
136
  .vega-time-picker-dropdown-footer {
133
137
  display: flex;
134
138
  padding-left: 16px;
@@ -12,7 +12,7 @@ import InternalVegaEventManager from '../internal-vega-event-manager';
12
12
  import { VegaEventEmitHandlerSlimmer } from './event-emit-handlers/vega-event-emit-handler';
13
13
  import { NativeEventEmitHandlerSlimmer } from './event-emit-handlers/native-event-emit-handler';
14
14
  import { JqueryDelegatedEventEmitHandlerSlimmer } from './event-emit-handlers/jquery-delegated-event-emit-handler';
15
- import { safeDocument } from '../../../utils/safe-document';
15
+ import { tryGetDocument } from '../../../utils/try-get-document';
16
16
  /** The EventEmitSlimmerBase class is a TypeScript class that extends VegaSlimmer and provides methods for emitting events with or without notifications. */
17
17
  export class EventEmitSlimmerBase extends VegaSlimmer {
18
18
  /**
@@ -83,7 +83,7 @@ export class EventEmitSlimmerBase extends VegaSlimmer {
83
83
  var _a;
84
84
  // elementAppender#show will call the HTMLElement#append method, and the append method will call the component disconnectedCallback, but the component not remove from the page.
85
85
  // see the issue in test case vega-popover.e2e.ts->should behavior normal while click app header button and time picker nested in popover
86
- if (node && !((_a = safeDocument()) === null || _a === void 0 ? void 0 : _a.body.contains(node)) && !node.parentNode) {
86
+ if (node && !((_a = tryGetDocument()) === null || _a === void 0 ? void 0 : _a.body.contains(node)) && !node.parentNode) {
87
87
  return true;
88
88
  }
89
89
  return false;
@@ -9,7 +9,7 @@ import { InjectVegaSlimmer, methodPlaceholder } from 'vega-slimmer/core';
9
9
  import { VegaClick } from '../event-id/vega-event-id';
10
10
  import InternalVegaEventManager from '../internal-vega-event-manager';
11
11
  import { DomNodeSubjectObserverFactory } from '../../change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
12
- import { safeDocument } from '../../../utils/safe-document';
12
+ import { tryGetDocument } from '../../../utils/try-get-document';
13
13
  describe('EventEmitSlimmer ', () => {
14
14
  class MockedComponent {
15
15
  constructor() {
@@ -136,7 +136,7 @@ describe('EventEmitSlimmer ', () => {
136
136
  const divElement = document.createElement('div');
137
137
  const originalDocument = globalThis.document;
138
138
  delete globalThis.document;
139
- expect(safeDocument()).toBeUndefined();
139
+ expect(tryGetDocument()).toBeUndefined();
140
140
  const eventEmitSlimmerBase = new EventEmitSlimmerBase({ eventID: VegaClick });
141
141
  eventEmitSlimmerBase['isNodeRemovedFromDocument'](divElement);
142
142
  globalThis.document = originalDocument;
@@ -58,10 +58,10 @@ export class ElementAppenderSlimmer extends VegaSlimmer {
58
58
  }
59
59
  };
60
60
  /* istanbul ignore next */
61
- /* While focused element is in appendable element, like search input, we should not hide dropdown */
61
+ /* While focused element is in appendable element, like search input or vega-dropdown-item, we should not hide dropdown */
62
62
  this.targetFocusoutHandler = (e) => {
63
63
  var _a;
64
- if (e.relatedTarget !== ((_a = this.showConfig) === null || _a === void 0 ? void 0 : _a.appendableElement)) {
64
+ if (!isParent(e.relatedTarget, (_a = this.showConfig) === null || _a === void 0 ? void 0 : _a.appendableElement)) {
65
65
  this.targetMouseLeaveHandler();
66
66
  }
67
67
  };
@@ -20,6 +20,7 @@ export class MutationObserverSlimmer extends VegaSlimmer {
20
20
  */
21
21
  constructor(observerEntry) {
22
22
  super();
23
+ this.mutationObserver = null;
23
24
  this.observerEntry = observerEntry;
24
25
  }
25
26
  /**
@@ -34,7 +35,9 @@ export class MutationObserverSlimmer extends VegaSlimmer {
34
35
  * Component lifecycle - [disconnectedCallback]
35
36
  */
36
37
  disconnectedCallback() {
37
- this.mutationObserver.disconnect();
38
+ if (this.mutationObserver) {
39
+ this.mutationObserver.disconnect();
40
+ }
38
41
  }
39
42
  /**
40
43
  * Component lifecycle - [componentDidLoad]
@@ -61,7 +64,7 @@ export class MutationObserverSlimmer extends VegaSlimmer {
61
64
  */
62
65
  observeMutationObserver() {
63
66
  const target = this.observerEntry.target ? this.observerEntry.target() : this.host;
64
- if (target) {
67
+ if (target && this.mutationObserver) {
65
68
  this.mutationObserver.observe(target, this.observerEntry.options);
66
69
  }
67
70
  }
@@ -165,4 +165,18 @@ describe('mutationObserverSlimmer', () => {
165
165
  ]);
166
166
  expect(mockedMutationCallback).toBeCalledTimes(1);
167
167
  });
168
+ it('should not throw error when remove component before component did load', () => {
169
+ const mockedComponent = new MockedComponent();
170
+ mockedComponent.setMutationObserverSlimmer(new MutationObserverSlimmer({
171
+ target: () => mockedComponent.host,
172
+ options: { attributes: true },
173
+ callback: () => {
174
+ mockedMutationCallback();
175
+ },
176
+ }));
177
+ function removeComponent() {
178
+ mockedComponent.disconnectedCallback();
179
+ }
180
+ expect(removeComponent).not.toThrow();
181
+ });
168
182
  });
@@ -108,7 +108,7 @@ export class FormFieldController {
108
108
  */
109
109
  this.setupTouchedListener = () => {
110
110
  this.getTouchableAreaElements()
111
- .filter((item) => this.hostChildAddedBlurEventMap.get(item) !== true)
111
+ .filter((item) => item && this.hostChildAddedBlurEventMap.get(item) !== true)
112
112
  .forEach((item) => {
113
113
  item.addEventListener('blur', () => {
114
114
  this.updateIsTouched(true);
@@ -320,7 +320,7 @@ export class FormFieldController {
320
320
  /**
321
321
  * Get an array of HTMLElements that represent the touchable area elements based on the host's tag name.
322
322
  *
323
- * @returns {HTMLElement[]} an array of HTMLElements.
323
+ * @returns {Nullable<HTMLElement>[]} an array of HTMLElements.
324
324
  */
325
325
  getTouchableAreaElements() {
326
326
  return this.options && this.options.touchableAreaGetter ? this.options.touchableAreaGetter() : [];
@@ -191,3 +191,15 @@ test('monitorTouchedListener should work correct', async () => {
191
191
  ]);
192
192
  expect(controller['hostChildAddedBlurEventMap'].has(container.querySelector('.input2'))).toBeTruthy();
193
193
  });
194
+ test('setupTouchedListener should work correct', async () => {
195
+ const container = document.createElement('div');
196
+ container.innerHTML = `<div class='vega-input-container'><input class='input1' type='text'></div>`;
197
+ const controller = new FormFieldController(null, container, '', {
198
+ inputContainerGetter: () => container.querySelector('.vega-input-container'),
199
+ touchableAreaGetter: () => Array.from(container.querySelectorAll('input')).concat(null),
200
+ });
201
+ function addBlurEventListener() {
202
+ controller['setupTouchedListener']();
203
+ }
204
+ expect(addBlurEventListener).not.toThrow();
205
+ });
@@ -1,13 +1,13 @@
1
- import { safeDocument } from '../safe-document';
2
- describe('safeDocument', () => {
1
+ import { tryGetDocument } from '../try-get-document';
2
+ describe('tryGetDocument', () => {
3
3
  it('should be defined if document is available', () => {
4
4
  expect(typeof document).toBe('object');
5
- expect(safeDocument()).toBe(document);
5
+ expect(tryGetDocument()).toBe(document);
6
6
  });
7
7
  it('should be undefined if document is not available', () => {
8
8
  const originalDocument = globalThis.document;
9
9
  delete globalThis.document;
10
- expect(safeDocument()).toBeUndefined();
10
+ expect(tryGetDocument()).toBeUndefined();
11
11
  globalThis.document = originalDocument;
12
12
  });
13
13
  });
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @returns {Nullable<Document>} Document object or `undefined`.
5
5
  */
6
- export function safeDocument() {
6
+ export function tryGetDocument() {
7
7
  // eslint-disable-next-line no-restricted-globals
8
8
  return typeof document !== 'undefined' ? document : undefined;
9
9
  }
@@ -1274,10 +1274,10 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1274
1274
  }
1275
1275
  };
1276
1276
  /* istanbul ignore next */
1277
- /* While focused element is in appendable element, like search input, we should not hide dropdown */
1277
+ /* While focused element is in appendable element, like search input or vega-dropdown-item, we should not hide dropdown */
1278
1278
  this.targetFocusoutHandler = (e) => {
1279
1279
  var _a;
1280
- if (e.relatedTarget !== ((_a = this.showConfig) === null || _a === void 0 ? void 0 : _a.appendableElement)) {
1280
+ if (!isParent(e.relatedTarget, (_a = this.showConfig) === null || _a === void 0 ? void 0 : _a.appendableElement)) {
1281
1281
  this.targetMouseLeaveHandler();
1282
1282
  }
1283
1283
  };
@@ -4,6 +4,7 @@ import { C as ChangeManager } from './change-manager-6a7eb88c.js';
4
4
  import { d as domNodeSubjectFactory } from './dom-node-subject-factory-6374611f.js';
5
5
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-c345ca2e.js';
6
6
  import { j as jqueryDelegatedStrategyController, i as internalVegaEventManager } from './internal-vega-event-manager-d80c53c5.js';
7
+ import { t as tryGetDocument } from './try-get-document-bef0f526.js';
7
8
 
8
9
  var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
10
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -137,16 +138,6 @@ __decorate$1([
137
138
  MapToComponentField()
138
139
  ], JqueryDelegatedEventEmitHandlerSlimmer.prototype, "host", void 0);
139
140
 
140
- /**
141
- * Returns the global `document` object if it exists, otherwise returns `undefined`.
142
- *
143
- * @returns {Nullable<Document>} Document object or `undefined`.
144
- */
145
- function safeDocument() {
146
- // eslint-disable-next-line no-restricted-globals
147
- return typeof document !== 'undefined' ? document : undefined;
148
- }
149
-
150
141
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
151
142
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
152
143
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -223,7 +214,7 @@ class EventEmitSlimmerBase extends VegaSlimmer {
223
214
  var _a;
224
215
  // elementAppender#show will call the HTMLElement#append method, and the append method will call the component disconnectedCallback, but the component not remove from the page.
225
216
  // see the issue in test case vega-popover.e2e.ts->should behavior normal while click app header button and time picker nested in popover
226
- if (node && !((_a = safeDocument()) === null || _a === void 0 ? void 0 : _a.body.contains(node)) && !node.parentNode) {
217
+ if (node && !((_a = tryGetDocument()) === null || _a === void 0 ? void 0 : _a.body.contains(node)) && !node.parentNode) {
227
218
  return true;
228
219
  }
229
220
  return false;
@@ -12,7 +12,7 @@ import { V as VegaInternalTranslation } from './translation-71e0711d.js';
12
12
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-c51f1912.js';
13
13
  import { I as InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
14
14
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-c345ca2e.js';
15
- import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-6cef9549.js';
15
+ import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-58ebc13c.js';
16
16
  import { A as AttributeOldValueMutationFilter } from './mutation-observer-filters-1a054fb0.js';
17
17
  import { i as isArrayEqual } from './array-7888f339.js';
18
18
  import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-93eeb87d.js';
@@ -493,7 +493,7 @@ class FormFieldController {
493
493
  */
494
494
  this.setupTouchedListener = () => {
495
495
  this.getTouchableAreaElements()
496
- .filter((item) => this.hostChildAddedBlurEventMap.get(item) !== true)
496
+ .filter((item) => item && this.hostChildAddedBlurEventMap.get(item) !== true)
497
497
  .forEach((item) => {
498
498
  item.addEventListener('blur', () => {
499
499
  this.updateIsTouched(true);
@@ -704,7 +704,7 @@ class FormFieldController {
704
704
  /**
705
705
  * Get an array of HTMLElements that represent the touchable area elements based on the host's tag name.
706
706
  *
707
- * @returns {HTMLElement[]} an array of HTMLElements.
707
+ * @returns {Nullable<HTMLElement>[]} an array of HTMLElements.
708
708
  */
709
709
  getTouchableAreaElements() {
710
710
  return this.options && this.options.touchableAreaGetter ? this.options.touchableAreaGetter() : [];