@globalpayments/vega 2.24.2 → 2.26.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 (451) hide show
  1. package/dist/cjs/{app-globals-7e893726.js → app-globals-2bae50fb.js} +2 -2
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-176d59ee.js → child-nodes-event-prevent-slimmer-cc557cb3.js} +2 -2
  3. package/dist/cjs/{child-nodes-notify-observer-slimmer-ce6eb329.js → child-nodes-notify-observer-slimmer-c144a963.js} +1 -1
  4. package/dist/cjs/{design-token-0d26a52f.js → design-token-2c2cdd7d.js} +1 -1
  5. package/dist/cjs/{dom-node-subject-observer-factory-92271bc0.js → dom-node-subject-observer-factory-d2698876.js} +19 -1
  6. package/dist/cjs/{element-appender-slimmer-78fea430.js → element-appender-slimmer-5fa9ff52.js} +1 -1
  7. package/dist/cjs/{event-emit-slimmer-4fb793e5.js → event-emit-slimmer-54616105.js} +2 -2
  8. package/dist/cjs/{feature-flag-controller-0e5235e1.js → feature-flag-controller-e031c341.js} +5 -0
  9. package/dist/cjs/{form-field-controller-slimmer-60346732.js → form-field-controller-slimmer-8b314ba2.js} +3 -3
  10. package/dist/cjs/index.cjs.js +6 -6
  11. package/dist/cjs/{internal-vega-event-manager-b80fede0.js → internal-vega-event-manager-627b1328.js} +3 -3
  12. package/dist/cjs/loader.cjs.js +6 -6
  13. package/dist/cjs/{static-remote-invocation-call-registry-0ac4915d.js → remote-invocation-registry-162044d5.js} +11 -11
  14. package/dist/cjs/{responsive-format-facade-f7e69718.js → responsive-format-facade-aa849dc7.js} +11 -0
  15. package/dist/cjs/{static-subject-title-41c88385.js → static-subject-title-35e2a92c.js} +0 -4
  16. package/dist/cjs/style-formatter-dc0682a4.js +34 -0
  17. package/dist/cjs/{sub-state-observer-slimmer-60be5379.js → sub-state-observer-slimmer-58217668.js} +2 -2
  18. package/dist/cjs/synchronize-task-queue-8977cf10.js +41 -0
  19. package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
  20. package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
  21. package/dist/cjs/vega-banner.cjs.entry.js +5 -5
  22. package/dist/cjs/vega-box.cjs.entry.js +4 -19
  23. package/dist/cjs/vega-breadcrumb.cjs.entry.js +6 -6
  24. package/dist/cjs/vega-button-circle.cjs.entry.js +10 -9
  25. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  26. package/dist/cjs/vega-button-link.cjs.entry.js +7 -6
  27. package/dist/cjs/vega-button.cjs.entry.js +9 -8
  28. package/dist/cjs/vega-calendar_3.cjs.entry.js +9 -9
  29. package/dist/cjs/vega-card.cjs.entry.js +2 -2
  30. package/dist/cjs/vega-carousel.cjs.entry.js +8 -41
  31. package/dist/cjs/vega-checkbox_2.cjs.entry.js +10 -10
  32. package/dist/cjs/vega-chip.cjs.entry.js +8 -8
  33. package/dist/cjs/vega-color-picker.cjs.entry.js +7 -7
  34. package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
  35. package/dist/cjs/vega-date-picker_2.cjs.entry.js +13 -15
  36. package/dist/cjs/vega-dialog_2.cjs.entry.js +12 -10
  37. package/dist/cjs/vega-divider.cjs.entry.js +2 -2
  38. package/dist/cjs/vega-dropdown_5.cjs.entry.js +237 -153
  39. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  40. package/dist/cjs/{vega-event-id-8aa22611.js → vega-event-id-e40ac8f0.js} +2 -0
  41. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  42. package/dist/cjs/vega-field-label.cjs.entry.js +74 -13
  43. package/dist/cjs/vega-file-uploader.cjs.entry.js +120 -41
  44. package/dist/cjs/vega-flex.cjs.entry.js +12 -5
  45. package/dist/cjs/vega-font.cjs.entry.js +2 -2
  46. package/dist/cjs/vega-form.cjs.entry.js +10 -10
  47. package/dist/cjs/vega-grid.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-icon.cjs.entry.js +2 -2
  49. package/dist/cjs/vega-image-uploader.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
  51. package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -37
  52. package/dist/cjs/vega-input-range.cjs.entry.js +9 -9
  53. package/dist/cjs/vega-input-select.cjs.entry.js +10 -10
  54. package/dist/cjs/vega-input.cjs.entry.js +28 -8
  55. package/dist/cjs/{vega-internal-event-id-ac20ea74.js → vega-internal-event-id-c98e9a7d.js} +4 -0
  56. package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -4
  57. package/dist/cjs/vega-left-nav_5.cjs.entry.js +25 -11
  58. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +1 -1
  59. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  60. package/dist/cjs/vega-pagination.cjs.entry.js +6 -6
  61. package/dist/cjs/vega-popover_2.cjs.entry.js +6 -6
  62. package/dist/cjs/vega-progress-tracker.cjs.entry.js +6 -5
  63. package/dist/cjs/vega-radio_2.cjs.entry.js +10 -10
  64. package/dist/cjs/vega-segment-control.cjs.entry.js +5 -4
  65. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +11 -11
  66. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +11 -11
  67. package/dist/cjs/vega-signature-capture.cjs.entry.js +10 -10
  68. package/dist/cjs/{vega-skeleton-loader-controller-4918bf55.js → vega-skeleton-loader-controller-cb631f0e.js} +1 -1
  69. package/dist/cjs/vega-stepper.cjs.entry.js +9 -9
  70. package/dist/cjs/vega-tab-group_2.cjs.entry.js +33 -12
  71. package/dist/cjs/vega-table_8.cjs.entry.js +21 -21
  72. package/dist/cjs/vega-text.cjs.entry.js +29 -5
  73. package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
  74. package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
  75. package/dist/cjs/vega-toggle-switch.cjs.entry.js +150 -10
  76. package/dist/cjs/vega-tooltip_2.cjs.entry.js +2 -2
  77. package/dist/cjs/vega.cjs.js +6 -6
  78. package/dist/collection/components/vega-box/vega-box.js +2 -17
  79. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +1 -1
  80. package/dist/collection/components/vega-checkbox/vega-checkbox.js +4 -1
  81. package/dist/collection/components/vega-date-picker/vega-date-picker.js +8 -4
  82. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-remote-invocation-controller.js +54 -0
  83. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +8 -5
  84. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-item-level-renderer.js +5 -5
  85. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.js +16 -2
  86. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +6 -1
  87. package/dist/collection/components/vega-dropdown/vega-dropdown.js +37 -0
  88. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +50 -0
  89. package/dist/collection/components/vega-field-label/vega-field-label.css +6 -0
  90. package/dist/collection/components/vega-field-label/vega-field-label.js +83 -6
  91. package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-drop-file-filter-controller.js +51 -0
  92. package/dist/collection/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-value-controller.js +2 -2
  93. package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.js +9 -3
  94. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +106 -17
  95. package/dist/collection/components/vega-flex/vega-flex.css +672 -0
  96. package/dist/collection/components/vega-flex/vega-flex.js +129 -3
  97. package/dist/collection/components/vega-grid/vega-grid.css +672 -0
  98. package/dist/collection/components/vega-grid/vega-grid.js +1 -1
  99. package/dist/collection/components/vega-input/vega-input.js +84 -2
  100. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/country-select-controller.js +28 -16
  101. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +15 -11
  102. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +7 -3
  103. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +6 -2
  104. package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
  105. package/dist/collection/components/vega-modal/vega-modal.js +8 -3
  106. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +14 -1
  107. package/dist/collection/components/vega-nav/vega-left-nav/vega-left-nav.css +4 -0
  108. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.css +5 -0
  109. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +1 -1
  110. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-page-index-controller.js +6 -1
  111. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-slider-state-controller.js +20 -4
  112. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.js +3 -3
  113. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-row-selection-controller.js +5 -5
  114. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +2 -2
  115. package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-click-controller.js +2 -2
  116. package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-expand-controller.js +2 -2
  117. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +2 -2
  118. package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +29 -5
  119. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.css +42 -0
  120. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +189 -6
  121. package/dist/collection/constants/ui.js +1 -0
  122. package/dist/collection/helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory.js +19 -1
  123. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +0 -2
  124. package/dist/collection/helpers/change-manager/test/dom-node-subject-factory.test.js +12 -0
  125. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -3
  126. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  127. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +2 -0
  128. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +7 -2
  129. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +2 -1
  130. package/dist/collection/helpers/feature-control/feature-flags-map.js +5 -0
  131. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-gap-formatter.js +12 -1
  132. package/dist/collection/helpers/formatter/style-formatter.js +29 -0
  133. package/dist/collection/helpers/formatter/test/responsive-map-formatter/responsive-gap-formatter.ts.test.js +10 -0
  134. package/dist/collection/helpers/formatter/test/style-formatter.test.js +16 -0
  135. package/dist/collection/helpers/queue/synchronize-task-queue.js +10 -7
  136. package/dist/collection/helpers/queue/test/synchronize-task-queue.test.js +25 -0
  137. package/dist/collection/helpers/{change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry.js → remote-invocation/remote-invocation-registry.js} +11 -11
  138. package/dist/collection/helpers/remote-invocation/remote-invocation-registry.test.js +17 -0
  139. package/dist/collection/helpers/validator/rules/file-uploader-required-rule.js +1 -1
  140. package/dist/collection/helpers/validator/rules/toggle-switch-required-rule.js +60 -0
  141. package/dist/collection/helpers/validator/test/rules/toggle-switch-required-rule.test.js +72 -0
  142. package/dist/collection/value-model-adapters/angular-ng-model-accessor-adapter.js +1 -0
  143. package/dist/collection/value-model-adapters/vue-component-v-model-adaptor.js +1 -0
  144. package/dist/esm/{app-globals-1d66ee80.js → app-globals-b5bc861f.js} +2 -2
  145. package/dist/esm/{child-nodes-event-prevent-slimmer-d2435342.js → child-nodes-event-prevent-slimmer-d3883004.js} +2 -2
  146. package/dist/esm/{child-nodes-notify-observer-slimmer-c7b9d3b2.js → child-nodes-notify-observer-slimmer-50cd94b9.js} +2 -2
  147. package/dist/esm/{design-token-abcaac42.js → design-token-44525832.js} +3 -3
  148. package/dist/esm/{dom-node-subject-observer-factory-926991a9.js → dom-node-subject-observer-factory-0d4b85b8.js} +19 -1
  149. package/dist/esm/{element-appender-slimmer-f740e51a.js → element-appender-slimmer-1aa00c06.js} +3 -3
  150. package/dist/esm/{event-emit-slimmer-79be1c60.js → event-emit-slimmer-0315fa00.js} +2 -2
  151. package/dist/esm/{feature-flag-controller-9be58397.js → feature-flag-controller-a5fe5022.js} +5 -0
  152. package/dist/esm/{form-field-controller-slimmer-374541fd.js → form-field-controller-slimmer-bf7441bd.js} +4 -4
  153. package/dist/esm/index.js +9 -9
  154. package/dist/esm/{inject-keyboard-manager-d2a96e14.js → inject-keyboard-manager-8a82e8c9.js} +1 -1
  155. package/dist/esm/{internal-vega-event-manager-c17ae641.js → internal-vega-event-manager-722461c1.js} +3 -3
  156. package/dist/esm/{keyboard-manager-477122e6.js → keyboard-manager-d1f9ddc1.js} +1 -1
  157. package/dist/esm/{keyboard-manager-slimmer-b6072957.js → keyboard-manager-slimmer-8723f20f.js} +1 -1
  158. package/dist/esm/loader.js +7 -7
  159. package/dist/esm/polyfills/core-js.js +0 -0
  160. package/dist/esm/polyfills/dom.js +0 -0
  161. package/dist/esm/polyfills/es5-html-element.js +0 -0
  162. package/dist/esm/polyfills/index.js +0 -0
  163. package/dist/esm/polyfills/system.js +0 -0
  164. package/dist/esm/{static-remote-invocation-call-registry-651b0701.js → remote-invocation-registry-cf9c81bb.js} +11 -11
  165. package/dist/esm/{responsive-format-facade-2fcb7c02.js → responsive-format-facade-4488d609.js} +12 -1
  166. package/dist/esm/{state-background-color-formatter-0f86292d.js → state-background-color-formatter-de7e6522.js} +1 -1
  167. package/dist/esm/{static-subject-title-2e153754.js → static-subject-title-2a4d6602.js} +1 -3
  168. package/dist/esm/{string-input-formatter-slimmer-7170d6b3.js → string-input-formatter-slimmer-633271ed.js} +1 -1
  169. package/dist/esm/style-formatter-391b4f97.js +32 -0
  170. package/dist/esm/{sub-state-observer-slimmer-106273ec.js → sub-state-observer-slimmer-46abe492.js} +3 -3
  171. package/dist/esm/synchronize-task-queue-8f5fbbd9.js +39 -0
  172. package/dist/esm/{type-guard-4bc3fbf5.js → type-guard-467c9e3e.js} +1 -1
  173. package/dist/esm/{ui-153f4ae7.js → ui-0132dbb5.js} +1 -1
  174. package/dist/esm/vega-accordion.entry.js +10 -10
  175. package/dist/esm/vega-app-header-button.entry.js +11 -11
  176. package/dist/esm/vega-backdrop.entry.js +1 -1
  177. package/dist/esm/vega-banner.entry.js +6 -6
  178. package/dist/esm/vega-box.entry.js +7 -22
  179. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  180. package/dist/esm/vega-button-circle.entry.js +12 -11
  181. package/dist/esm/vega-button-group_2.entry.js +9 -9
  182. package/dist/esm/vega-button-link.entry.js +7 -6
  183. package/dist/esm/vega-button.entry.js +10 -9
  184. package/dist/esm/vega-calendar_3.entry.js +11 -11
  185. package/dist/esm/vega-card.entry.js +5 -5
  186. package/dist/esm/vega-carousel.entry.js +8 -41
  187. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  188. package/dist/esm/vega-chip.entry.js +11 -11
  189. package/dist/esm/vega-color-picker.entry.js +8 -8
  190. package/dist/esm/vega-combo-box.entry.js +13 -13
  191. package/dist/esm/vega-date-picker_2.entry.js +18 -20
  192. package/dist/esm/vega-dialog_2.entry.js +15 -13
  193. package/dist/esm/vega-divider.entry.js +4 -4
  194. package/dist/esm/vega-dropdown_5.entry.js +241 -157
  195. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  196. package/dist/esm/{vega-event-id-728eb2ac.js → vega-event-id-7465a011.js} +2 -1
  197. package/dist/esm/vega-field-error.entry.js +1 -1
  198. package/dist/esm/vega-field-label.entry.js +76 -15
  199. package/dist/esm/vega-file-uploader.entry.js +120 -41
  200. package/dist/esm/vega-flex.entry.js +15 -8
  201. package/dist/esm/vega-font.entry.js +5 -5
  202. package/dist/esm/vega-form.entry.js +11 -11
  203. package/dist/esm/vega-grid.entry.js +6 -6
  204. package/dist/esm/vega-icon.entry.js +5 -5
  205. package/dist/esm/vega-image-uploader.entry.js +12 -12
  206. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  207. package/dist/esm/vega-input-phone-number.entry.js +56 -37
  208. package/dist/esm/vega-input-range.entry.js +10 -10
  209. package/dist/esm/vega-input-select.entry.js +12 -12
  210. package/dist/esm/vega-input.entry.js +31 -11
  211. package/dist/esm/{vega-internal-event-id-809b4ec8.js → vega-internal-event-id-7e05cf4a.js} +3 -1
  212. package/dist/esm/vega-item-toggle.entry.js +5 -4
  213. package/dist/esm/vega-left-nav_5.entry.js +28 -14
  214. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  215. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  216. package/dist/esm/vega-pagination.entry.js +7 -7
  217. package/dist/esm/vega-popover_2.entry.js +10 -10
  218. package/dist/esm/vega-progress-tracker.entry.js +6 -5
  219. package/dist/esm/vega-radio_2.entry.js +13 -13
  220. package/dist/esm/vega-segment-control.entry.js +5 -4
  221. package/dist/esm/vega-selection-chip_2.entry.js +13 -13
  222. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  223. package/dist/esm/vega-signature-capture.entry.js +12 -12
  224. package/dist/esm/{vega-skeleton-loader-controller-987192a1.js → vega-skeleton-loader-controller-74e3d189.js} +2 -2
  225. package/dist/esm/vega-stepper.entry.js +10 -10
  226. package/dist/esm/vega-tab-group_2.entry.js +34 -13
  227. package/dist/esm/vega-table_8.entry.js +23 -23
  228. package/dist/esm/vega-text.entry.js +30 -6
  229. package/dist/esm/vega-textarea.entry.js +10 -10
  230. package/dist/esm/vega-time-picker_2.entry.js +15 -15
  231. package/dist/esm/vega-toggle-switch.entry.js +150 -10
  232. package/dist/esm/vega-tooltip_2.entry.js +6 -6
  233. package/dist/esm/vega.js +7 -7
  234. package/dist/types/components/vega-app-footer/types.d.ts +7 -0
  235. package/dist/types/components/vega-app-header-button/types.d.ts +27 -0
  236. package/dist/types/components/vega-banner/types.d.ts +11 -0
  237. package/dist/types/components/vega-breadcrumb/types.d.ts +11 -0
  238. package/dist/types/components/vega-button/types.d.ts +4 -0
  239. package/dist/types/components/vega-button-circle/types.d.ts +9 -0
  240. package/dist/types/components/vega-button-group/types.d.ts +21 -0
  241. package/dist/types/components/vega-calendar/types.d.ts +80 -0
  242. package/dist/types/components/vega-chart/vega-bar-chart/types.d.ts +4 -0
  243. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +2 -0
  244. package/dist/types/components/vega-chip/types.d.ts +4 -0
  245. package/dist/types/components/vega-combo-box/types.d.ts +9 -0
  246. package/dist/types/components/vega-date-picker/types.d.ts +10 -0
  247. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +2 -0
  248. package/dist/types/components/vega-dialog/types.d.ts +14 -0
  249. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-remote-invocation-controller.d.ts +28 -0
  250. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.d.ts +2 -0
  251. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-item-level-renderer.d.ts +1 -0
  252. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-search-renderer.d.ts +1 -0
  253. package/dist/types/components/vega-dropdown/types.d.ts +23 -0
  254. package/dist/types/components/vega-dropdown/vega-dropdown-item/types.d.ts +1 -0
  255. package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +2 -0
  256. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +9 -1
  257. package/dist/types/components/vega-field-error/types.d.ts +4 -0
  258. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +27 -0
  259. package/dist/types/components/vega-field-label/types.d.ts +5 -0
  260. package/dist/types/components/vega-field-label/vega-field-label.d.ts +26 -3
  261. package/dist/types/components/vega-file-uploader/slimmers/controllers/vega-file-uploader-drop-file-filter-controller.d.ts +22 -0
  262. package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-container-renderer.d.ts +2 -1
  263. package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-file-status-renderer.d.ts +2 -1
  264. package/dist/types/components/vega-file-uploader/types.d.ts +15 -0
  265. package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +43 -2
  266. package/dist/types/components/vega-flex/vega-flex.d.ts +29 -0
  267. package/dist/types/components/vega-font/types.d.ts +18 -0
  268. package/dist/types/components/vega-form/types.d.ts +9 -0
  269. package/dist/types/components/vega-image-uploader/types.d.ts +21 -0
  270. package/dist/types/components/vega-input/types.d.ts +12 -0
  271. package/dist/types/components/vega-input/vega-input.d.ts +25 -0
  272. package/dist/types/components/vega-input-phone-number/slimmers/controllers/country-select-controller.d.ts +14 -9
  273. package/dist/types/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.d.ts +7 -5
  274. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +1 -0
  275. package/dist/types/components/vega-input-phone-number/types.d.ts +13 -0
  276. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +2 -1
  277. package/dist/types/components/vega-input-range/types.d.ts +5 -0
  278. package/dist/types/components/vega-input-select/types.d.ts +36 -0
  279. package/dist/types/components/vega-item-toggle/types.d.ts +8 -0
  280. package/dist/types/components/vega-loading-indicator/types.d.ts +1 -0
  281. package/dist/types/components/vega-modal/types.d.ts +2 -0
  282. package/dist/types/components/vega-modal/vega-modal.d.ts +2 -0
  283. package/dist/types/components/vega-page-notification/types.d.ts +10 -0
  284. package/dist/types/components/vega-pagination/types.d.ts +1 -0
  285. package/dist/types/components/vega-segment-control/types.d.ts +8 -0
  286. package/dist/types/components/vega-signature-capture/types.d.ts +5 -0
  287. package/dist/types/components/vega-skeleton/interface.d.ts +5 -0
  288. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/controllers/vega-tab-group-slider-state-controller.d.ts +8 -3
  289. package/dist/types/components/vega-tab-group/types.d.ts +12 -0
  290. package/dist/types/components/vega-table/vega-table-expand-row/types.d.ts +3 -0
  291. package/dist/types/components/vega-table/vega-table-head/types.d.ts +4 -0
  292. package/dist/types/components/vega-table/vega-table-head-row/types.d.ts +5 -0
  293. package/dist/types/components/vega-table/vega-table-row/types.d.ts +7 -0
  294. package/dist/types/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.d.ts +7 -0
  295. package/dist/types/components/vega-text/types.d.ts +3 -0
  296. package/dist/types/components/vega-time-picker/types.d.ts +21 -0
  297. package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +42 -1
  298. package/dist/types/components/vega-virtual-scroll/types.d.ts +14 -0
  299. package/dist/types/components.d.ts +190 -7
  300. package/dist/types/constants/ui.d.ts +1 -1
  301. package/dist/types/helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory.d.ts +9 -0
  302. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +0 -2
  303. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  304. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +2 -0
  305. package/dist/types/helpers/feature-control/feature-flag.d.ts +53 -0
  306. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-formatter.d.ts +5 -0
  307. package/dist/types/helpers/formatter/state-formatter/state-formatter.d.ts +3 -0
  308. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.d.ts +12 -0
  309. package/dist/types/helpers/formatter/style-formatter.d.ts +14 -0
  310. package/dist/types/helpers/icon/interface.d.ts +10 -0
  311. package/dist/types/helpers/immutable/immutable.d.ts +3 -0
  312. package/dist/types/helpers/loading-indicator/vega-loader.d.ts +17 -0
  313. package/dist/types/helpers/notify/vega-notify.d.ts +13 -0
  314. package/dist/types/helpers/queue/queue.d.ts +4 -0
  315. package/dist/types/helpers/queue/synchronize-task-queue.d.ts +4 -3
  316. package/dist/types/helpers/remote-invocation/remote-invocation-registry.d.ts +39 -0
  317. package/dist/types/helpers/remote-invocation/remote-invocation-registry.test.d.ts +1 -0
  318. package/dist/types/helpers/skeleton-loader/interface.d.ts +16 -0
  319. package/dist/types/helpers/slimmers/field-error-ui-controller-strategies/field-error-ui-controller-strategy.d.ts +6 -0
  320. package/dist/types/helpers/slimmers/types.d.ts +5 -0
  321. package/dist/types/helpers/theme/theme.d.ts +18 -0
  322. package/dist/types/helpers/validator/form-validator.d.ts +8 -0
  323. package/dist/types/helpers/validator/rules/form-field-validation-rule.d.ts +28 -0
  324. package/dist/types/helpers/validator/rules/toggle-switch-required-rule.d.ts +38 -0
  325. package/dist/types/helpers/validator/rules/validation-rule.d.ts +9 -0
  326. package/dist/types/helpers/validator/test/rules/toggle-switch-required-rule.test.d.ts +1 -0
  327. package/dist/types/helpers/validator/validator.d.ts +8 -0
  328. package/dist/types/types/components.type.d.ts +192 -0
  329. package/dist/types/types/general.d.ts +7 -0
  330. package/dist/types/types/test-polyfill.d.ts +8 -0
  331. package/dist/types/types/ui.type.d.ts +1 -1
  332. package/dist/types/types/vega-chart.d.ts +149 -0
  333. package/dist/vega/index.esm.js +1 -1
  334. package/dist/vega/p-0134e8c5.js +1 -0
  335. package/dist/vega/{p-11cbdade.js → p-016045b0.js} +1 -1
  336. package/dist/vega/{p-09862473.entry.js → p-020baf8d.entry.js} +1 -1
  337. package/dist/vega/p-0702921a.entry.js +1 -0
  338. package/dist/vega/{p-8c9a009c.entry.js → p-0f71ffab.entry.js} +1 -1
  339. package/dist/vega/p-13f2c41c.entry.js +1 -0
  340. package/dist/vega/{p-dccbe7ee.entry.js → p-16c85ca9.entry.js} +1 -1
  341. package/dist/vega/p-1878a270.entry.js +1 -0
  342. package/dist/vega/{p-025ccc18.js → p-191c5c26.js} +1 -1
  343. package/dist/vega/{p-00cc05ea.js → p-1c1805aa.js} +1 -1
  344. package/dist/vega/p-1cb8f21a.entry.js +1 -0
  345. package/dist/vega/{p-9895c8b9.entry.js → p-241bd30d.entry.js} +1 -1
  346. package/dist/vega/{p-a36db525.entry.js → p-25310239.entry.js} +1 -1
  347. package/dist/vega/p-2675fb06.entry.js +1 -0
  348. package/dist/vega/{p-805f70d5.entry.js → p-28b1a294.entry.js} +1 -1
  349. package/dist/vega/p-29ac203a.js +1 -0
  350. package/dist/vega/{p-12d5ed36.js → p-2df25c7f.js} +1 -1
  351. package/dist/vega/{p-7b2e4c94.entry.js → p-396c3e32.entry.js} +1 -1
  352. package/dist/vega/{p-a163bbf2.entry.js → p-3e1b21ec.entry.js} +1 -1
  353. package/dist/vega/{p-18e84cc3.entry.js → p-3e6e7fe0.entry.js} +1 -1
  354. package/dist/vega/p-3f5e44c1.js +1 -0
  355. package/dist/vega/{p-ad4bd166.js → p-4163c2c2.js} +1 -1
  356. package/dist/vega/{p-2757e8c3.entry.js → p-41f61205.entry.js} +1 -1
  357. package/dist/vega/{p-26a7a6ff.entry.js → p-4302b57d.entry.js} +1 -1
  358. package/dist/vega/p-462a6417.entry.js +1 -0
  359. package/dist/vega/p-47d106e7.js +1 -0
  360. package/dist/vega/{p-684579b7.entry.js → p-47ee3c26.entry.js} +1 -1
  361. package/dist/vega/p-4925ec08.entry.js +1 -0
  362. package/dist/vega/{p-d417d6a6.entry.js → p-4b29a9c2.entry.js} +1 -1
  363. package/dist/vega/{p-48b318c4.entry.js → p-4f8ce53e.entry.js} +1 -1
  364. package/dist/vega/p-5041624e.entry.js +1 -0
  365. package/dist/vega/p-527fec9b.entry.js +1 -0
  366. package/dist/vega/p-530f2b72.entry.js +1 -0
  367. package/dist/vega/{p-3a33d860.js → p-5453f591.js} +1 -1
  368. package/dist/vega/{p-a45323b9.entry.js → p-54f87b68.entry.js} +1 -1
  369. package/dist/vega/p-55ccc669.entry.js +1 -0
  370. package/dist/vega/{p-8d21ddb7.js → p-59a75a4e.js} +1 -1
  371. package/dist/vega/p-5f377954.js +1 -1
  372. package/dist/vega/{p-b52802b5.entry.js → p-5f456ea0.entry.js} +1 -1
  373. package/dist/vega/p-6168c1e7.js +1 -0
  374. package/dist/vega/{p-9ddae0f5.entry.js → p-68e87fb4.entry.js} +1 -1
  375. package/dist/vega/{p-5f2b7ccb.entry.js → p-75c401fe.entry.js} +1 -1
  376. package/dist/vega/{p-dc24a556.entry.js → p-764be3f6.entry.js} +1 -1
  377. package/dist/vega/{p-0197e7ec.js → p-770c736e.js} +1 -1
  378. package/dist/vega/{p-c3ef9d64.js → p-7c316199.js} +1 -1
  379. package/dist/vega/p-7cbd8367.entry.js +1 -0
  380. package/dist/vega/{p-bd770a17.entry.js → p-7ff750c0.entry.js} +1 -1
  381. package/dist/vega/{p-f2314882.entry.js → p-8172bde8.entry.js} +1 -1
  382. package/dist/vega/{p-3a5145cc.js → p-84fa8466.js} +1 -1
  383. package/dist/vega/p-8ca2b2a6.js +1 -0
  384. package/dist/vega/{p-be48508c.js → p-9909e768.js} +1 -1
  385. package/dist/vega/{p-4826059c.js → p-9f9535d4.js} +1 -1
  386. package/dist/vega/{p-494bd912.js → p-a1f7484f.js} +1 -1
  387. package/dist/vega/{p-7a97295d.entry.js → p-a537eaa9.entry.js} +1 -1
  388. package/dist/vega/p-a73c06f0.js +1 -0
  389. package/dist/vega/p-a7fdb16a.js +1 -0
  390. package/dist/vega/{p-2b0642dc.entry.js → p-b34a7f6c.entry.js} +1 -1
  391. package/dist/vega/p-b441fd2d.entry.js +1 -0
  392. package/dist/vega/{p-65c55bd3.entry.js → p-b4e92130.entry.js} +1 -1
  393. package/dist/vega/{p-816c0ad9.entry.js → p-b6ef48be.entry.js} +1 -1
  394. package/dist/vega/p-b9cb9098.entry.js +1 -0
  395. package/dist/vega/p-bb491bed.js +1 -0
  396. package/dist/vega/p-bc5ce560.entry.js +1 -0
  397. package/dist/vega/{p-cf236fb0.entry.js → p-be893ca7.entry.js} +1 -1
  398. package/dist/vega/{p-e3bfd4a1.js → p-c093f5d2.js} +1 -1
  399. package/dist/vega/{p-d50b16d1.js → p-c1dfdc13.js} +1 -1
  400. package/dist/vega/{p-ae89862d.entry.js → p-c4ebfb95.entry.js} +1 -1
  401. package/dist/vega/{p-96f5f322.entry.js → p-c6e0ca01.entry.js} +1 -1
  402. package/dist/vega/p-c946ff64.entry.js +1 -0
  403. package/dist/vega/{p-0e12b007.entry.js → p-ca656348.entry.js} +1 -1
  404. package/dist/vega/{p-b01349b0.entry.js → p-d26f7423.entry.js} +1 -1
  405. package/dist/vega/{p-b2bea27b.entry.js → p-d6893dba.entry.js} +1 -1
  406. package/dist/vega/p-d9cd543f.entry.js +1 -0
  407. package/dist/vega/{p-d81f7db0.entry.js → p-d9fc1fff.entry.js} +1 -1
  408. package/dist/vega/p-e011e457.entry.js +1 -0
  409. package/dist/vega/p-e4085f89.entry.js +1 -0
  410. package/dist/vega/p-ea1f50c9.entry.js +1 -0
  411. package/dist/vega/p-ead1a647.js +1 -0
  412. package/dist/vega/p-eae4a1c1.js +1 -0
  413. package/dist/vega/{p-f491581d.entry.js → p-f1a59ae3.entry.js} +1 -1
  414. package/dist/vega/p-f6fa60f9.entry.js +1 -0
  415. package/dist/vega/{p-b765896d.entry.js → p-f71aa49e.entry.js} +1 -1
  416. package/dist/vega/vega.esm.js +1 -1
  417. package/package.json +2 -2
  418. package/dist/collection/helpers/change-manager/test/static-remote-invocation-subject.test.js +0 -14
  419. package/dist/types/helpers/change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry.d.ts +0 -39
  420. package/dist/vega/p-133cbd05.entry.js +0 -1
  421. package/dist/vega/p-17aa1539.entry.js +0 -1
  422. package/dist/vega/p-1b3a64f7.js +0 -1
  423. package/dist/vega/p-25fa235b.entry.js +0 -1
  424. package/dist/vega/p-5ceda06c.entry.js +0 -1
  425. package/dist/vega/p-604acab8.entry.js +0 -1
  426. package/dist/vega/p-62ad9511.entry.js +0 -1
  427. package/dist/vega/p-73acb4f7.entry.js +0 -1
  428. package/dist/vega/p-76f6f704.entry.js +0 -1
  429. package/dist/vega/p-781dfe17.entry.js +0 -1
  430. package/dist/vega/p-8200752c.entry.js +0 -1
  431. package/dist/vega/p-83a78d32.entry.js +0 -1
  432. package/dist/vega/p-8b25d84d.js +0 -1
  433. package/dist/vega/p-8fc66414.entry.js +0 -1
  434. package/dist/vega/p-981339b3.entry.js +0 -1
  435. package/dist/vega/p-aa39873f.entry.js +0 -1
  436. package/dist/vega/p-ad6aafb6.js +0 -1
  437. package/dist/vega/p-ae3f8fe2.js +0 -1
  438. package/dist/vega/p-b36887f9.js +0 -1
  439. package/dist/vega/p-b554d6d9.entry.js +0 -1
  440. package/dist/vega/p-b8a63b73.js +0 -1
  441. package/dist/vega/p-b9f4d417.entry.js +0 -1
  442. package/dist/vega/p-bef39231.entry.js +0 -1
  443. package/dist/vega/p-c31462a3.entry.js +0 -1
  444. package/dist/vega/p-d1093d69.entry.js +0 -1
  445. package/dist/vega/p-d97770c0.js +0 -1
  446. package/dist/vega/p-da8c63dd.entry.js +0 -1
  447. package/dist/vega/p-dbc32bd3.js +0 -1
  448. package/dist/vega/p-eecfad57.js +0 -1
  449. package/dist/vega/p-fb0c4f80.entry.js +0 -1
  450. package/style/vega_min.css +0 -1
  451. /package/dist/types/helpers/{change-manager/test/static-remote-invocation-subject.test.d.ts → formatter/test/style-formatter.test.d.ts} +0 -0
@@ -10,7 +10,7 @@ import { TABLE_EXPAND_ROW } from '../../../../../helpers/change-manager/subject/
10
10
  import { Observer } from '../../../../../helpers/change-manager/observer/observer';
11
11
  import { isAcceptableTableObserver } from '../../../type-guard';
12
12
  import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
13
- import staticRemoteInvocationCallRegistry from '../../../../../helpers/change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry';
13
+ import remoteInvocationRegistry from '../../../../../helpers/remote-invocation/remote-invocation-registry';
14
14
  import { VegaInternalTableRowExpand } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
15
15
  /**
16
16
  * The row expand controller for expandable table row.
@@ -32,7 +32,7 @@ export class VegaTableRowExpandController extends VegaSlimmer {
32
32
  * The handler for expand icon click event.
33
33
  */
34
34
  handleExpandIconClick() {
35
- const rowExpandEvent = staticRemoteInvocationCallRegistry.call(domNodeSubjectFactory.getSubject(this.vegaTableRowRenderer.getParentTableRef(), VegaInternalTableRowExpand), {
35
+ const rowExpandEvent = remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.vegaTableRowRenderer.getParentTableRef(), VegaInternalTableRowExpand), {
36
36
  host: this.host,
37
37
  rowKey: this.rowKey,
38
38
  expanded: !this.expanded,
@@ -10,7 +10,7 @@ import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-man
10
10
  import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
11
11
  import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-icon-manager';
12
12
  import chevronDown from '../../../../../global/icons/chevron-down';
13
- import staticRemoteInvocationCallRegistry from '../../../../../helpers/change-manager/subject/static-remote-invocation-subject/static-remote-invocation-call-registry';
13
+ import remoteInvocationRegistry from '../../../../../helpers/remote-invocation/remote-invocation-registry';
14
14
  import domNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
15
15
  import { VegaInternalTableRowSelect } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
16
16
  import { findParent } from '../../../../../utils/ui';
@@ -45,7 +45,7 @@ export class VegaTableRowRenderer extends VegaSlimmer {
45
45
  };
46
46
  this.handleClick = (e) => {
47
47
  e.stopPropagation();
48
- const rowSelectEvent = staticRemoteInvocationCallRegistry.call(domNodeSubjectFactory.getSubject(this.parentTableRef, VegaInternalTableRowSelect), {
48
+ const rowSelectEvent = remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.parentTableRef, VegaInternalTableRowSelect), {
49
49
  host: this.host,
50
50
  rowKey: this.rowKey,
51
51
  checked: !this.checked,
@@ -45,6 +45,7 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
45
45
  this.tooltipRef.remove();
46
46
  this.tooltipRef = null;
47
47
  }
48
+ this.host.style.minWidth = 'auto';
48
49
  }
49
50
  };
50
51
  /**
@@ -73,18 +74,24 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
73
74
  * @see{module:vega-text-with-long-text}
74
75
  * @see{module:vega-text-with-long-text-change-screen-size}
75
76
  * @see{module:vega-text-with-long-text-minimize-screen-size}
77
+ * @see{module:vega-text-with-long-text-minimize-screen-safari}
76
78
  */
77
79
  /* istanbul ignore next */
78
80
  this.updateTooltipDisplayText = async () => {
79
81
  let fontSize = parseFloat(getElementComputedStyle(this.host, 'font-size'));
80
82
  fontSize = isNaN(fontSize) ? VegaTextTooltipRenderer.DEFAULT_FONT_SIZE : fontSize;
81
- let textLength = Math.floor(this.host.getBoundingClientRect().width / Math.floor(fontSize / 2));
83
+ const textLength = Math.floor(this.host.getBoundingClientRect().width / Math.floor(fontSize / 2));
82
84
  if (isTextWrapped(this.tooltipRef)) {
83
- while (isTextWrapped(this.tooltipRef)) {
84
- if (textLength > 1) {
85
- textLength = textLength - 1;
85
+ for (let i = textLength; i >= 1; i--) {
86
+ this.tooltipRef.textContent = this.truncateStringWithEllipsis(i);
87
+ if (!isTextWrapped(this.tooltipRef)) {
88
+ break;
89
+ }
90
+ if (i <= 1) {
91
+ // Set min-width to fix the safari wrap issue when the default width is already wrapped.
92
+ this.insertMinWidthStyle();
93
+ break;
86
94
  }
87
- this.tooltipRef.textContent = this.truncateStringWithEllipsis(textLength);
88
95
  }
89
96
  }
90
97
  };
@@ -120,6 +127,23 @@ export class VegaTextTooltipRenderer extends PageResizeObserverSlimmer {
120
127
  this.tooltipRef.placement = (_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.placement;
121
128
  }
122
129
  }
130
+ /**
131
+ * Dynamically calculates and sets the minimum width of an element based on the content inside a hidden placeholder element.
132
+ * The below method is e2e-test covered in
133
+ * @see{module:vega-text-with-long-text-minimize-screen-safari}
134
+ */
135
+ /* istanbul ignore next */
136
+ insertMinWidthStyle() {
137
+ let placeholder = this.host.shadowRoot.querySelector('#min-width-placeholder');
138
+ if (!placeholder) {
139
+ placeholder = document.createElement('span');
140
+ placeholder.id = 'min-width-placeholder';
141
+ placeholder.style.cssText = 'position:absolute; visibility:hidden; word-break:keep-all;';
142
+ this.host.shadowRoot.appendChild(placeholder);
143
+ }
144
+ placeholder.textContent = this.truncateStringWithEllipsis(1);
145
+ this.host.style.minWidth = placeholder.getBoundingClientRect().width + 'px';
146
+ }
123
147
  }
124
148
  VegaTextTooltipRenderer.DEFAULT_FONT_SIZE = 16;
125
149
  __decorate([
@@ -6,6 +6,48 @@
6
6
  :host {
7
7
  display: inline-block;
8
8
  }
9
+ :host .vega-error {
10
+ display: inline-block;
11
+ padding-left: 8px;
12
+ padding-right: 8px;
13
+ padding-top: 12px;
14
+ font-family: "Inter", sans-serif;
15
+ font-size: 14px;
16
+ font-weight: 400;
17
+ line-height: 18px;
18
+ letter-spacing: 0px;
19
+ color: rgba(var(--v-text-error, 189, 41, 71, 1));
20
+ }
21
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
22
+ :host .vega-error {
23
+ font-family: "Inter", sans-serif;
24
+ font-size: 14px;
25
+ font-weight: 400;
26
+ line-height: 18px;
27
+ letter-spacing: 0px;
28
+ }
29
+ }
30
+ @media screen and (min-width: 1024px) and (max-width: 1439px) {
31
+ :host .vega-error {
32
+ font-family: "Inter", sans-serif;
33
+ font-size: 14px;
34
+ font-weight: 400;
35
+ line-height: 18px;
36
+ letter-spacing: 0px;
37
+ }
38
+ }
39
+ @media screen and (min-width: 1440px) and (max-width: 9999px) {
40
+ :host .vega-error {
41
+ font-family: "Inter", sans-serif;
42
+ font-size: 14px;
43
+ font-weight: 400;
44
+ line-height: 18px;
45
+ letter-spacing: 0px;
46
+ }
47
+ }
48
+ :host .vega-hidden {
49
+ display: none;
50
+ }
9
51
 
10
52
  div.vega-container {
11
53
  display: flex;
@@ -9,8 +9,12 @@ import { VegaChange } from '../../helpers/event-manager/event-id/vega-event-id';
9
9
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
10
10
  import { createEnterKeyHandlerToTriggerClick } from '../../utils/accessibility';
11
11
  import { sanitizeVegaComponent } from '../../utils/component';
12
- import { InjectVegaGlobalSlimmer, InjectVegaSlimmer } from 'vega-slimmer/core';
12
+ import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from 'vega-slimmer/core';
13
13
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
14
+ import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
15
+ import { ToggleSwitchRequiredRule } from '../../helpers/validator/rules/toggle-switch-required-rule';
16
+ import { FORM_ELEMENT_VALUE_CHANGE } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
17
+ import ChangeManager from '../../helpers/change-manager/change-manager';
14
18
  /**
15
19
  * @version 1.3.0
16
20
  */
@@ -18,24 +22,72 @@ export class VegaToggleSwitch {
18
22
  constructor() {
19
23
  this.globalSlimmers = {};
20
24
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
25
+ this.formFieldController = new FormFieldControllerSlimmer({
26
+ propertyRules: [
27
+ {
28
+ propertyName: 'required',
29
+ ruleFactory: (isRequired) => isRequired ? new ToggleSwitchRequiredRule() : null,
30
+ },
31
+ ],
32
+ validationRulesName: 'validationRules',
33
+ defaultValue: false,
34
+ attributeGetter: (propertyName) => this[propertyName],
35
+ inputContainerGetter: () => this.toggleSwitchContainer,
36
+ touchableAreaGetter: () => [this.toggleSwitchContainer],
37
+ });
21
38
  this.changeEventEmitter = createEventEmitSlimmer(VegaToggleSwitch, VegaChange);
22
- /** Specifies whether the toggle switch is in the checked state. *
39
+ /**
40
+ * Specifies whether the toggle switch is in the checked state.
41
+ *
23
42
  * @version 1.3.0
24
43
  */
25
44
  /* eslint-disable-next-line @stencil/strict-mutable */
26
45
  this.checked = false;
46
+ /**
47
+ * The `value` property returns `true` when the toggle switch is checked, and `false` when it is unchecked.
48
+ *
49
+ * @version 2.25.0
50
+ */
51
+ this.value = false;
27
52
  /**
28
53
  * Specifies the size of the toggle switch.
29
54
  *
30
55
  * @version 1.3.0
31
56
  */
32
57
  this.size = 'default';
58
+ /**
59
+ * Specifies whether the toggle switch must be checked
60
+ * to pass form validation.
61
+ *
62
+ * @version 2.25.0
63
+ */
64
+ this.required = false;
33
65
  /**
34
66
  * Specifies whether the toggle switch is disabled.
35
67
  *
36
68
  * @version 1.3.0
37
69
  */
38
70
  this.disabled = false;
71
+ /**
72
+ * Defines custom validation rules for the toggle switch.
73
+ *
74
+ * @version 2.25.0
75
+ */
76
+ this.validationRules = [];
77
+ /**
78
+ * Determines whether automatic validation should be
79
+ * implemented for the toggle switch.
80
+ *
81
+ * @version 2.25.0
82
+ */
83
+ this.autoValidation = true;
84
+ /**
85
+ * Specifies the validation status of the toggle switch.
86
+ *
87
+ * @version 2.25.0
88
+ */
89
+ /* eslint-disable-next-line @stencil/strict-mutable */
90
+ this.isValid = null;
39
91
  /**
40
92
  * The below method is e2e-test covered in
41
93
  * @see{module:vega-toggle-switch-click-on-label-e2e}
@@ -59,7 +111,21 @@ export class VegaToggleSwitch {
59
111
  };
60
112
  }
61
113
  watchCheckedChange() {
114
+ this.value = this.checked;
62
115
  this.changeEventEmitter.emit(this.checked);
116
+ ChangeManager.notify(FORM_ELEMENT_VALUE_CHANGE, {
117
+ host: this.host,
118
+ detail: this.value,
119
+ });
120
+ }
121
+ watchValue(newValue) {
122
+ this.checked = newValue === true;
123
+ }
124
+ watchValidationRules() {
125
+ methodPlaceholder();
126
+ }
127
+ componentWillLoad() {
128
+ this.value = this.checked;
63
129
  }
64
130
  render() {
65
131
  let divContainerCss = this.checked
@@ -68,7 +134,7 @@ export class VegaToggleSwitch {
68
134
  divContainerCss += this.disabled ? ' vega-container-disabled' : '';
69
135
  divContainerCss += this.size === 'small' ? ' vega-container-small-size' : '';
70
136
  return sanitizeVegaComponent(h(Host, null,
71
- h("vega-flex", { gap: "size-8" },
137
+ h("vega-flex", { gap: "size-8", ref: (node) => (this.toggleSwitchContainer = node) },
72
138
  h("div", { class: `${divContainerCss} vega-flex-shrink-0 v-min-w-min` },
73
139
  h("input", { type: "checkbox", name: "switch", disabled: this.disabled, checked: this.checked, onChange: this.updateValue, "aria-label": this.label || 'No label defined', role: 'button', tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick() }),
74
140
  h("span", { class: this.disabled ? 'v-bg-tertiary' : 'v-bg-primary' })),
@@ -76,7 +142,7 @@ export class VegaToggleSwitch {
76
142
  }
77
143
  renderLabelDom() {
78
144
  return this.label ? (h("div", { class: "vega-flex-basis-0 vega-flex-grow" },
79
- h("vega-field-label", { onClick: this.toggleSwitch, disabled: this.disabled, label: this.label }))) : null;
145
+ h("vega-field-label", { onClick: this.toggleSwitch, disabled: this.disabled, label: this.label, isFieldRequired: this.required }))) : null;
80
146
  }
81
147
  static get is() { return "vega-toggle-switch"; }
82
148
  static get encapsulation() { return "shadow"; }
@@ -102,12 +168,33 @@ export class VegaToggleSwitch {
102
168
  "name": "version",
103
169
  "text": "1.3.0"
104
170
  }],
105
- "text": "Specifies whether the toggle switch is in the checked state. *"
171
+ "text": "Specifies whether the toggle switch is in the checked state."
106
172
  },
107
173
  "attribute": "checked",
108
174
  "reflect": true,
109
175
  "defaultValue": "false"
110
176
  },
177
+ "value": {
178
+ "type": "boolean",
179
+ "mutable": true,
180
+ "complexType": {
181
+ "original": "boolean",
182
+ "resolved": "boolean",
183
+ "references": {}
184
+ },
185
+ "required": false,
186
+ "optional": false,
187
+ "docs": {
188
+ "tags": [{
189
+ "name": "version",
190
+ "text": "2.25.0"
191
+ }],
192
+ "text": "The `value` property returns `true` when the toggle switch is checked, and `false` when it is unchecked."
193
+ },
194
+ "attribute": "value",
195
+ "reflect": true,
196
+ "defaultValue": "false"
197
+ },
111
198
  "size": {
112
199
  "type": "string",
113
200
  "mutable": false,
@@ -149,6 +236,27 @@ export class VegaToggleSwitch {
149
236
  "attribute": "label",
150
237
  "reflect": false
151
238
  },
239
+ "required": {
240
+ "type": "boolean",
241
+ "mutable": false,
242
+ "complexType": {
243
+ "original": "boolean",
244
+ "resolved": "boolean",
245
+ "references": {}
246
+ },
247
+ "required": false,
248
+ "optional": false,
249
+ "docs": {
250
+ "tags": [{
251
+ "name": "version",
252
+ "text": "2.25.0"
253
+ }],
254
+ "text": "Specifies whether the toggle switch must be checked\n to pass form validation."
255
+ },
256
+ "attribute": "required",
257
+ "reflect": true,
258
+ "defaultValue": "false"
259
+ },
152
260
  "disabled": {
153
261
  "type": "boolean",
154
262
  "mutable": false,
@@ -167,8 +275,74 @@ export class VegaToggleSwitch {
167
275
  "text": "Specifies whether the toggle switch is disabled."
168
276
  },
169
277
  "attribute": "disabled",
170
- "reflect": false,
278
+ "reflect": true,
171
279
  "defaultValue": "false"
280
+ },
281
+ "validationRules": {
282
+ "type": "unknown",
283
+ "mutable": false,
284
+ "complexType": {
285
+ "original": "FormFieldValidationRule<unknown>[]",
286
+ "resolved": "FormFieldValidationRule<unknown>[]",
287
+ "references": {
288
+ "FormFieldValidationRule": {
289
+ "location": "import",
290
+ "path": "../../helpers/validator/rules/form-field-validation-rule"
291
+ }
292
+ }
293
+ },
294
+ "required": false,
295
+ "optional": false,
296
+ "docs": {
297
+ "tags": [{
298
+ "name": "version",
299
+ "text": "2.25.0"
300
+ }],
301
+ "text": "Defines custom validation rules for the toggle switch."
302
+ },
303
+ "defaultValue": "[]"
304
+ },
305
+ "autoValidation": {
306
+ "type": "boolean",
307
+ "mutable": false,
308
+ "complexType": {
309
+ "original": "boolean",
310
+ "resolved": "boolean",
311
+ "references": {}
312
+ },
313
+ "required": false,
314
+ "optional": false,
315
+ "docs": {
316
+ "tags": [{
317
+ "name": "version",
318
+ "text": "2.25.0"
319
+ }],
320
+ "text": "Determines whether automatic validation should be\n implemented for the toggle switch."
321
+ },
322
+ "attribute": "auto-validation",
323
+ "reflect": true,
324
+ "defaultValue": "true"
325
+ },
326
+ "isValid": {
327
+ "type": "boolean",
328
+ "mutable": true,
329
+ "complexType": {
330
+ "original": "boolean",
331
+ "resolved": "boolean",
332
+ "references": {}
333
+ },
334
+ "required": false,
335
+ "optional": false,
336
+ "docs": {
337
+ "tags": [{
338
+ "name": "version",
339
+ "text": "2.25.0"
340
+ }],
341
+ "text": "Specifies the validation status of the toggle switch."
342
+ },
343
+ "attribute": "is-valid",
344
+ "reflect": true,
345
+ "defaultValue": "null"
172
346
  }
173
347
  }; }
174
348
  static get events() { return [{
@@ -215,6 +389,12 @@ export class VegaToggleSwitch {
215
389
  static get watchers() { return [{
216
390
  "propName": "checked",
217
391
  "methodName": "watchCheckedChange"
392
+ }, {
393
+ "propName": "value",
394
+ "methodName": "watchValue"
395
+ }, {
396
+ "propName": "validationRules",
397
+ "methodName": "watchValidationRules"
218
398
  }]; }
219
399
  }
220
400
  __decorate([
@@ -223,6 +403,9 @@ __decorate([
223
403
  __decorate([
224
404
  InjectVegaSlimmer()
225
405
  ], VegaToggleSwitch.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
406
+ __decorate([
407
+ InjectVegaSlimmer()
408
+ ], VegaToggleSwitch.prototype, "formFieldController", void 0);
226
409
  __decorate([
227
410
  InjectVegaSlimmer()
228
411
  ], VegaToggleSwitch.prototype, "changeEventEmitter", void 0);
@@ -79,6 +79,7 @@ export const VegaNativeEventName = [
79
79
  'retry',
80
80
  'selectedFileChange',
81
81
  'preview',
82
+ 'labelButtonClick',
82
83
  ];
83
84
  // eslint-disable-next-line @typescript-eslint/typedef
84
85
  export const CssStates = ['default', 'hover', 'active', 'focus-visible'];
@@ -1,8 +1,9 @@
1
1
  import { DomNodeSubject } from './dom-node-subject';
2
+ import { isParent } from '../../../../utils/ui';
2
3
  /** The `DomNodesSubjectFactory` class is responsible for managing and caching `DomNodeSubject` objects associated with HTML elements. */
3
4
  class DomNodeSubjectFactory {
4
5
  constructor() {
5
- this.cache = new WeakMap();
6
+ this.cache = new Map();
6
7
  }
7
8
  /**
8
9
  * The function `getSubject` returns the subject associated with a given node and event ID, either from the cache or by setting it if it doesn't exist.
@@ -34,6 +35,23 @@ class DomNodeSubjectFactory {
34
35
  }
35
36
  return false;
36
37
  }
38
+ /**
39
+ * The function find if the parent of a given node exists in the cache and if it has a specific event ID.
40
+ *
41
+ * @param {HTMLElement} childNode - Child node.
42
+ * @param {VegaEventIDInterface} eventId - eventId.
43
+ * @returns {DomNodeSubject} - Parent node subject.
44
+ */
45
+ getSubjectFromParentNodeByEventId(childNode, eventId) {
46
+ let subject;
47
+ for (const entry of this.cache) {
48
+ if (isParent(childNode, entry[0]) && entry[1].has(eventId)) {
49
+ subject = entry[1].get(eventId);
50
+ break;
51
+ }
52
+ }
53
+ return subject;
54
+ }
37
55
  /**
38
56
  * The function `setSubject` creates a new `DomNodeSubject` and associates it with a given `node` and `eventId`, and then returns the created subject.
39
57
  *
@@ -23,5 +23,3 @@ export const FORM_ELEMENT_VALIDATE = new StaticSubject('FORM_EMEMENT_VALIDATE');
23
23
  export const FIELD_ERROR_STATE_CHANGE = new StaticSubject('FIELD_ERROR_STATE_CHANGE');
24
24
  export const VEGA_VIRTUAL_SCROLL_TO_BOTTOM = new StaticSubject('VEGA_VIRTUAL_SCROLL_TO_BOTTOM');
25
25
  export const SELECTION_TILE_VALUE_CHANGE = new StaticSubject('SELECTION_TILE_VALUE_CHANGE');
26
- export const DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN = new StaticSubject('DROPDOWN_RENDER_ITEM_INTERNAL_OVERRIDEN');
27
- export const DROPDOWN_SEARCH_INTERNAL_OVERRIDEN = new StaticSubject('DROPDOWN_SEARCH_INTERNAL_OVERRIDEN');
@@ -12,6 +12,18 @@ test('domNodesSubjectFactory', () => {
12
12
  expect(divSubject.getDescription()).toEqual(`, this is a dom nodes subject of ${div.tagName}:${VegaClick.getVegaName()}.(class name:test, id:)`);
13
13
  expect(domNodesSubjectFactory['isExist'].call(null, null)).toBeFalsy();
14
14
  });
15
+ test('domNodesSubjectFactory getSubjectFromParentNodeByEventId', () => {
16
+ const parent = document.createElement('div');
17
+ parent.className = 'parent';
18
+ const child = document.createElement('div');
19
+ child.className = 'child';
20
+ parent.append(child);
21
+ const parentSubject = domNodesSubjectFactory.getSubject(parent, VegaClick);
22
+ expect(parentSubject).not.toBeNull();
23
+ expect(domNodesSubjectFactory.getSubjectFromParentNodeByEventId(child, VegaClick)).toEqual(parentSubject);
24
+ const element = document.createElement('div');
25
+ expect(domNodesSubjectFactory.getSubjectFromParentNodeByEventId(element, VegaClick)).toEqual(undefined);
26
+ });
15
27
  test('addUniqueObserverToNode', () => {
16
28
  const div = document.createElement('div');
17
29
  const length = changeManager['pubSubMap'].size;
@@ -1,4 +1,4 @@
1
- import { VegaExpand, VegaClick, VegaDropdownClick, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaPageUpdate, VegaCreate, VegaSearch, VegaDropdownShow, VegaDropdownHide, VegaDropdownSearch, VegaSelectFileChange, VegaRemove, VegaRetry, VegaPreview, VegaFormSubmit, VegaFormReset, VegaValidate, VegaCancel, VegaFocus, VegaBlur, VegaCountryChange, VegaToggleStatus, VegaOpen, VegaStateUpdate, VegaGroupClick, VegaMenuClick, VegaActionClick, VegaPageSizeChange, VegaPopoverShow, VegaPopoverHide, VegaCurrentStepUpdate, VegaSelectChange, VegaSelectAllChange, VegaRowClick, VegaRowExpand, VegaRowSelect, VegaRowSelectAll, } from './vega-event-id';
1
+ import { VegaExpand, VegaClick, VegaDropdownClick, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaPageUpdate, VegaCreate, VegaSearch, VegaDropdownShow, VegaDropdownHide, VegaDropdownSearch, VegaLabelButtonClick, VegaSelectFileChange, VegaRemove, VegaRetry, VegaPreview, VegaFormSubmit, VegaFormReset, VegaValidate, VegaCancel, VegaFocus, VegaBlur, VegaCountryChange, VegaToggleStatus, VegaOpen, VegaStateUpdate, VegaGroupClick, VegaMenuClick, VegaActionClick, VegaPageSizeChange, VegaPopoverShow, VegaPopoverHide, VegaCurrentStepUpdate, VegaSelectChange, VegaSelectAllChange, VegaRowClick, VegaRowExpand, VegaRowSelect, VegaRowSelectAll, } from './vega-event-id';
2
2
  const entries = [
3
3
  ['vega-accordion', [VegaExpand]],
4
4
  ['vega-app-header-button', [VegaClick, VegaDropdownClick]],
@@ -21,11 +21,11 @@ const entries = [
21
21
  [VegaDropdownShow, VegaDropdownHide, VegaDropdownClick, VegaCreate, VegaDropdownSearch],
22
22
  ],
23
23
  ['vega-dropdown-item', [VegaClick]],
24
- ['vega-field-label', [VegaClick]],
24
+ ['vega-field-label', [VegaClick, VegaLabelButtonClick]],
25
25
  ['vega-file-uploader', [VegaChange, VegaSelectFileChange, VegaRemove, VegaRetry, VegaPreview]],
26
26
  ['vega-form', [VegaFormSubmit, VegaFormReset, VegaValidate]],
27
27
  ['vega-image-uploader', [VegaChange, VegaRemove, VegaCancel]],
28
- ['vega-input', [VegaChange, VegaFocus, VegaBlur]],
28
+ ['vega-input', [VegaChange, VegaFocus, VegaBlur, VegaLabelButtonClick]],
29
29
  ['vega-input-credit-card', [VegaChange, VegaBlur, VegaFocus]],
30
30
  ['vega-input-phone-number', [VegaChange, VegaCountryChange]],
31
31
  ['vega-input-range', [VegaChange]],
@@ -96,4 +96,5 @@ export const VegaMoreActionClick = new VegaEventID('vegaMoreActionClick', 'moreA
96
96
  export const VegaSelectFileChange = new VegaEventID('vegaSelectedFileChange', 'selectedFileChange');
97
97
  export const VegaRetry = new VegaEventID('vegaRetry', 'retry');
98
98
  export const VegaPreview = new VegaEventID('vegaPreview', 'preview');
99
+ export const VegaLabelButtonClick = new VegaEventID('vegaLabelButtonClick', 'labelButtonClick');
99
100
  export const HTMLNativeEventIds = [VegaChange, VegaClick, VegaFocus, VegaBlur];
@@ -29,3 +29,5 @@ export const VegaInternalDropdownTemplateItemsChange = new VegaInternalEventID('
29
29
  export const VegaInternalTableRowSelect = new VegaInternalEventID('tableRowSelect');
30
30
  export const VegaInternalTableRowSelectAll = new VegaInternalEventID('tableRowSelectAll');
31
31
  export const VegaInternalTableRowExpand = new VegaInternalEventID('tableRowExpand');
32
+ export const VegaDropdownRenderItemInternalOverridden = new VegaInternalEventID('dropdownRenderItemInternalOverridden');
33
+ export const VegaDropdownSearchInternalOverridden = new VegaInternalEventID('VegaDropdownSearchInternalOverridden');
@@ -1,8 +1,13 @@
1
1
  import { VEGA_COMPONENT_EVENT_MAP } from '../event-id/component-event-id-map';
2
- import { VegaBlur, VegaChange, VegaFocus } from '../event-id/vega-event-id';
2
+ import { VegaBlur, VegaChange, VegaFocus, VegaLabelButtonClick } from '../event-id/vega-event-id';
3
3
  test('VEGA_COMPONENT_EVENT_MAP size', () => {
4
4
  expect(VEGA_COMPONENT_EVENT_MAP.size).not.toEqual(0);
5
5
  });
6
6
  test('VEGA_COMPONENT_EVENT_MAP vega-input', () => {
7
- expect(VEGA_COMPONENT_EVENT_MAP.get('vega-input')).toEqual([VegaChange, VegaFocus, VegaBlur]);
7
+ expect(VEGA_COMPONENT_EVENT_MAP.get('vega-input')).toEqual([
8
+ VegaChange,
9
+ VegaFocus,
10
+ VegaBlur,
11
+ VegaLabelButtonClick,
12
+ ]);
8
13
  });
@@ -1,5 +1,5 @@
1
1
  import { VegaEventManager } from '../../public-api';
2
- import { VegaBlur, VegaChange, VegaCreate, VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, VegaFocus, } from '../event-id/vega-event-id';
2
+ import { VegaBlur, VegaChange, VegaCreate, VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, VegaFocus, VegaLabelButtonClick, } from '../event-id/vega-event-id';
3
3
  import VegaTelemetryRuntimeMetricsManager from '@globalpayments/vega-telemetry-runtime-metrics/runtime-metrics/src/index';
4
4
  import { sleep } from '../../../utils/test-utils';
5
5
  describe('VegaEventManager', () => {
@@ -22,6 +22,7 @@ describe('VegaEventManager', () => {
22
22
  VegaChange,
23
23
  VegaFocus,
24
24
  VegaBlur,
25
+ VegaLabelButtonClick,
25
26
  ]);
26
27
  expect(VegaEventManager.getEnabledEventIdsByComponent('vega-dropdown')).toEqual([
27
28
  VegaDropdownShow,
@@ -175,5 +175,10 @@ const FeatureFlagsMap = {
175
175
  createdTimestamp: 1727232497961,
176
176
  createdAtVersion: '2.21.0',
177
177
  },
178
+ 'VEGA_LEFT_NAV.DISABLE_ANIMATION_ON_LOAD': {
179
+ description: `Feature flag that disables the transition animation of the left nav.`,
180
+ createdTimestamp: 1730361348399,
181
+ createdAtVersion: '2.26.0',
182
+ },
178
183
  };
179
184
  export default Object.freeze(FeatureFlagsMap);
@@ -1,7 +1,11 @@
1
- import { isSpacingTokenType, isBreakpointsForPrefixType } from '../../../types/type-guard';
1
+ import { isSpacingTokenType, isBreakpointsForPrefixType, isDirectionalSpacingType, } from '../../../types/type-guard';
2
2
  import { LogUtility } from '../../../utils/log';
3
3
  import { Spacing } from '../../../constants/tokens/spacing';
4
4
  import { ResponsiveClassStringFormatter } from './responsive-class-string-formatter';
5
+ const GAP_DIRECTION_CLASS_PARTIAL_MAP = {
6
+ x: 'gap-col',
7
+ y: 'gap-row',
8
+ };
5
9
  /**
6
10
  * A class for format GapType with BreakpointsForPrefixType to CSS class string
7
11
  *
@@ -20,6 +24,13 @@ class ResponsiveGapFormatter extends ResponsiveClassStringFormatter {
20
24
  if (isSpacingTokenType(input)) {
21
25
  return `${prefix}v-gap-${input}`;
22
26
  }
27
+ else if (isDirectionalSpacingType(input)) {
28
+ return Object.keys(input)
29
+ .map((direction) => {
30
+ return `${prefix}v-${GAP_DIRECTION_CLASS_PARTIAL_MAP[direction]}-${input[direction]}`;
31
+ })
32
+ .join(' ');
33
+ }
23
34
  else {
24
35
  LogUtility.warn(`The gap value ${input} is invalid, it must be a value of: `, Spacing);
25
36
  return '';
@@ -0,0 +1,29 @@
1
+ import { isNonNullable } from '../../types/type-guard';
2
+ import responsiveFormatFacade from './responsive-map-formatter/responsive-format-facade';
3
+ /**
4
+ * Fomatter flex styles.
5
+ *
6
+ * @param {Nullable<ResponsiveType<FlexType>>} flex - flex
7
+ * @param {Nullable<ResponsiveType<FlexGrowType>>} flexGrow - flex-grow
8
+ * @param {Nullable<ResponsiveType<FlexShrinkType>>} flexShrink - flex-shrink
9
+ * @param {Nullable<ResponsiveType<FlexBasisType>>} flexBasis - flex-basis
10
+ * @returns {object} - formatted styles
11
+ */
12
+ export function formatFlexStyles(flex, flexGrow, flexShrink, flexBasis) {
13
+ if (isNonNullable(flex)) {
14
+ return { flex: `${responsiveFormatFacade.formatCustom(flex)}` };
15
+ }
16
+ else {
17
+ return {
18
+ flexGrow: isNonNullable(flexGrow)
19
+ ? `${responsiveFormatFacade.formatCustom(flexGrow)}`
20
+ : undefined,
21
+ flexShrink: isNonNullable(flexShrink)
22
+ ? `${responsiveFormatFacade.formatCustom(flexShrink)}`
23
+ : undefined,
24
+ flexBasis: isNonNullable(flexBasis)
25
+ ? `${responsiveFormatFacade.formatCustom(flexBasis)}`
26
+ : undefined,
27
+ };
28
+ }
29
+ }
@@ -17,3 +17,13 @@ test('should return format when input in scope and with prefix not in scope', ()
17
17
  const result = ResponsiveGapFormatter.formatToken('size-4', 'test');
18
18
  expect(result).toEqual('v-gap-size-4');
19
19
  });
20
+ test('should return format when input in scope and the input is object', () => {
21
+ let result = ResponsiveGapFormatter.formatToken({ x: 'size-12' });
22
+ expect(result).toEqual('v-gap-col-size-12');
23
+ result = ResponsiveGapFormatter.formatToken({ y: 'size-12' });
24
+ expect(result).toEqual('v-gap-row-size-12');
25
+ result = ResponsiveGapFormatter.formatToken({ y: 'size-12', x: 'size-24' });
26
+ expect(result).toEqual('v-gap-row-size-12 v-gap-col-size-24');
27
+ result = ResponsiveGapFormatter.formatToken({ y: 'size-12', x: 'size-24' }, 'L');
28
+ expect(result).toEqual('L:v-gap-row-size-12 L:v-gap-col-size-24');
29
+ });