@globalpayments/vega 2.39.0 → 2.41.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 (491) hide show
  1. package/dist/cjs/{app-globals-dd3e7925.js → app-globals-7fecd3ff.js} +21 -10
  2. package/dist/cjs/check-box-required-rule-1ee54b9a.js +70 -0
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-af2addec.js → child-nodes-event-prevent-slimmer-4beb1fde.js} +2 -2
  4. package/dist/cjs/{child-nodes-notify-observer-slimmer-4e60a929.js → child-nodes-notify-observer-slimmer-be92f366.js} +2 -2
  5. package/dist/cjs/{content-state-c5b47ca1.js → content-state-582d8961.js} +2 -3
  6. package/dist/cjs/date-required-rule-4e1f84fd.js +92 -0
  7. package/dist/cjs/{design-token-36eb5def.js → design-token-4d94a23c.js} +1 -1
  8. package/dist/cjs/{dom-node-subject-factory-ce1777a9.js → dom-node-subject-factory-3ec114b8.js} +30 -0
  9. package/dist/cjs/{dom-node-subject-observer-factory-80b3ac6c.js → dom-node-subject-observer-factory-5f0eae19.js} +2 -3
  10. package/dist/cjs/{element-appender-slimmer-c6e0f4ca.js → element-appender-slimmer-88edb0d1.js} +19 -14
  11. package/dist/cjs/{event-emit-slimmer-208a19e4.js → event-emit-slimmer-9c223f73.js} +3 -3
  12. package/dist/cjs/{feature-flag-controller-7b22e598.js → feature-flag-controller-3c6666df.js} +6 -0
  13. package/dist/cjs/file-uploader-required-rule-313ec9e3.js +21 -0
  14. package/dist/cjs/{form-field-controller-slimmer-48c0ad0b.js → form-field-controller-slimmer-9f4d1fc3.js} +36 -10
  15. package/dist/cjs/{image-annotation-action-75b9c0d3.js → image-annotation-action-3247409b.js} +3 -3
  16. package/dist/cjs/index-453b89b9.js +42 -0
  17. package/dist/cjs/index.cjs.js +37 -18
  18. package/dist/cjs/input-phone-number-required-rule-2668fdf1.js +65 -0
  19. package/dist/cjs/input-range-required-rule-5b9c2a95.js +63 -0
  20. package/dist/cjs/internal-form-field-validation-rule.abstract-07cdff46.js +15 -0
  21. package/dist/cjs/{internal-vega-event-manager-981dfd1c.js → internal-vega-event-manager-e5e4bcf4.js} +1 -1
  22. package/dist/cjs/loader.cjs.js +12 -14
  23. package/dist/cjs/{min-number-rule-115c5a3b.js → min-number-rule-5bcccc8f.js} +7 -4
  24. package/dist/cjs/{min-string-length-rule-75f24a48.js → min-string-length-rule-af215976.js} +8 -4
  25. package/dist/cjs/{page-resize-observer-slimmer-bb1eaebe.js → page-resize-observer-slimmer-bceeaabf.js} +53 -2
  26. package/dist/cjs/public-rules-ec626913.js +41 -0
  27. package/dist/cjs/{remote-invocation-registry-32aaf6c2.js → remote-invocation-registry-ff9af278.js} +3 -3
  28. package/dist/cjs/{required-field-rule-7f9945fa.js → required-field-rule-d73c1d8c.js} +6 -3
  29. package/dist/cjs/{responsive-format-facade-a1983026.js → responsive-format-facade-ad8ca2ab.js} +212 -9
  30. package/dist/cjs/rich-text-editor-required-rule-15d9dea1.js +64 -0
  31. package/dist/cjs/{string-input-formatter-slimmer-f45931fd.js → string-input-formatter-slimmer-83aa7e61.js} +2 -2
  32. package/dist/cjs/{style-formatter-d446562b.js → style-formatter-c1c9c121.js} +1 -1
  33. package/dist/cjs/{sub-state-notify-slimmer-b1f1e61a.js → sub-state-notify-slimmer-1a52271c.js} +2 -3
  34. package/dist/cjs/{sub-state-observer-slimmer-02634647.js → sub-state-observer-slimmer-91b89d4d.js} +2 -3
  35. package/dist/cjs/time-required-rule-ccf178e7.js +141 -0
  36. package/dist/cjs/toggle-switch-required-rule-88a51b36.js +66 -0
  37. package/dist/cjs/{valid-credit-card-number-rule-4a9ae5d9.js → valid-credit-card-number-rule-4a1b00b8.js} +3 -2
  38. package/dist/cjs/vega-accordion.cjs.entry.js +21 -12
  39. package/dist/cjs/vega-app-header-button.cjs.entry.js +19 -14
  40. package/dist/cjs/vega-banner.cjs.entry.js +5 -6
  41. package/dist/cjs/vega-box.cjs.entry.js +135 -18
  42. package/dist/cjs/vega-breadcrumb.cjs.entry.js +6 -7
  43. package/dist/cjs/vega-button-circle.cjs.entry.js +19 -12
  44. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -9
  45. package/dist/cjs/vega-button-link.cjs.entry.js +6 -7
  46. package/dist/cjs/vega-button.cjs.entry.js +18 -12
  47. package/dist/cjs/vega-calendar_3.cjs.entry.js +9 -11
  48. package/dist/cjs/vega-card.cjs.entry.js +20 -3
  49. package/dist/cjs/vega-carousel.cjs.entry.js +20 -9
  50. package/dist/cjs/vega-checkbox_2.cjs.entry.js +21 -91
  51. package/dist/cjs/vega-chip.cjs.entry.js +22 -15
  52. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -9
  53. package/dist/cjs/vega-combo-box.cjs.entry.js +10 -11
  54. package/dist/cjs/vega-date-picker_2.cjs.entry.js +26 -111
  55. package/dist/cjs/vega-dialog_2.cjs.entry.js +62 -29
  56. package/dist/cjs/vega-divider.cjs.entry.js +22 -5
  57. package/dist/cjs/vega-dropdown_5.cjs.entry.js +28 -24
  58. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  59. package/dist/cjs/vega-field-label.cjs.entry.js +4 -5
  60. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -26
  61. package/dist/cjs/vega-flex.cjs.entry.js +19 -6
  62. package/dist/cjs/vega-font.cjs.entry.js +21 -5
  63. package/dist/cjs/vega-form.cjs.entry.js +14 -15
  64. package/dist/cjs/vega-grid.cjs.entry.js +20 -3
  65. package/dist/cjs/vega-icon.cjs.entry.js +18 -4
  66. package/dist/cjs/vega-image-uploader.cjs.entry.js +22 -20
  67. package/dist/cjs/vega-input-credit-card.cjs.entry.js +11 -12
  68. package/dist/cjs/vega-input-numeric.cjs.entry.js +11 -12
  69. package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -73
  70. package/dist/cjs/vega-input-range.cjs.entry.js +13 -70
  71. package/dist/cjs/vega-input-select.cjs.entry.js +19 -17
  72. package/dist/cjs/vega-input.cjs.entry.js +16 -16
  73. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -5
  74. package/dist/cjs/vega-left-nav_5.cjs.entry.js +25 -22
  75. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +22 -7
  76. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -3
  77. package/dist/cjs/vega-pagination.cjs.entry.js +6 -7
  78. package/dist/cjs/vega-popover_2.cjs.entry.js +20 -12
  79. package/dist/cjs/vega-progress-tracker.cjs.entry.js +4 -5
  80. package/dist/cjs/vega-radio_2.cjs.entry.js +13 -14
  81. package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
  82. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +22 -81
  83. package/dist/cjs/vega-segment-control.cjs.entry.js +5 -7
  84. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +22 -19
  85. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +14 -15
  86. package/dist/cjs/vega-sidenav_3.cjs.entry.js +24 -19
  87. package/dist/cjs/vega-signature-capture.cjs.entry.js +21 -15
  88. package/dist/cjs/{vega-skeleton-loader-controller-00dbdf29.js → vega-skeleton-loader-controller-381e90fe.js} +262 -11
  89. package/dist/cjs/vega-stepper.cjs.entry.js +10 -11
  90. package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -10
  91. package/dist/cjs/vega-table_8.cjs.entry.js +40 -40
  92. package/dist/cjs/vega-text.cjs.entry.js +1 -2
  93. package/dist/cjs/vega-textarea.cjs.entry.js +11 -12
  94. package/dist/cjs/vega-time-picker_2.cjs.entry.js +27 -155
  95. package/dist/cjs/vega-toggle-switch.cjs.entry.js +9 -70
  96. package/dist/cjs/vega-tooltip_2.cjs.entry.js +70 -18
  97. package/dist/cjs/vega.cjs.js +12 -14
  98. package/dist/cjs/{index-0546e2ea.js → wait-for-vega-handler-46280dcf.js} +1 -39
  99. package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +89 -0
  100. package/dist/collection/components/vega-box/vega-box.css +55 -7196
  101. package/dist/collection/components/vega-box/vega-box.js +23 -0
  102. package/dist/collection/components/vega-checkbox/vega-checkbox.css +82 -33
  103. package/dist/collection/components/vega-checkbox/vega-checkbox.js +8 -13
  104. package/dist/collection/components/vega-dialog/vega-dialog.js +4 -4
  105. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +2 -2
  106. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.js +9 -0
  107. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-scroll-controller.js +16 -0
  108. package/dist/collection/components/vega-modal/vega-modal.js +6 -0
  109. package/dist/collection/components/vega-time-picker/vega-time-picker-dropdown/vega-time-picker-dropdown.css +1 -1
  110. package/dist/collection/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.js +45 -11
  111. package/dist/collection/components/vega-tooltip/vega-tooltip.js +12 -0
  112. package/dist/collection/components/vega-virtual-scroll/slimmers/controllers/vega-virtual-scroll-scrollable-controller.js +8 -5
  113. package/dist/collection/global/scripts/before-vega-load.js +11 -0
  114. package/dist/collection/helpers/dialog/test/vega-dialog-controller.test.js +19 -1
  115. package/dist/collection/helpers/dialog/vega-dialog-controller.js +2 -2
  116. package/dist/collection/helpers/feature-control/feature-flags-map.js +6 -0
  117. package/dist/collection/helpers/formatter/responsive-map-formatter/responsiv-border-radius-formatter.js +1 -0
  118. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-border-radius-style-formatter.js +63 -0
  119. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-css-text-formatter.js +45 -0
  120. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-format-facade.js +9 -0
  121. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-margin-formatter.js +1 -0
  122. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-margin-style-formatter.js +44 -0
  123. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-padding-formatter.js +1 -0
  124. package/dist/collection/helpers/formatter/responsive-map-formatter/responsive-padding-style-formatter.js +44 -0
  125. package/dist/collection/helpers/formatter/test/responsive-map-formatter/responsive-border-radius-style-formatter.test.js +32 -0
  126. package/dist/collection/helpers/formatter/test/responsive-map-formatter/responsive-margin-style-formatter.test.js +28 -0
  127. package/dist/collection/helpers/formatter/test/responsive-map-formatter/responsive-padding-style-formatter.test.js +28 -0
  128. package/dist/collection/helpers/slimmers/element-appender-slimmer.js +9 -6
  129. package/dist/collection/helpers/slimmers/test/element-appender-slimmer.test.js +2 -0
  130. package/dist/collection/helpers/ui/element-appender.js +2 -0
  131. package/dist/collection/helpers/ui/test/element-appender.test.js +13 -12
  132. package/dist/collection/helpers/validator/form-field-controller.js +28 -1
  133. package/dist/collection/helpers/validator/public-rules.js +10 -0
  134. package/dist/collection/helpers/validator/rules/check-box-required-rule.js +4 -3
  135. package/dist/collection/helpers/validator/rules/date-range-rule.js +2 -1
  136. package/dist/collection/helpers/validator/rules/date-required-rule.js +5 -3
  137. package/dist/collection/helpers/validator/rules/email-field-rule.js +3 -2
  138. package/dist/collection/helpers/validator/rules/{object-array-required-rule.js → file-uploader-required-rule.js} +1 -1
  139. package/dist/collection/helpers/validator/rules/input-phone-number-required-rule.js +5 -3
  140. package/dist/collection/helpers/validator/rules/input-range-min-and-max-rule.js +3 -1
  141. package/dist/collection/helpers/validator/rules/input-range-required-rule.js +5 -4
  142. package/dist/collection/helpers/validator/rules/internal-form-field-validation-rule.abstract.js +11 -0
  143. package/dist/collection/helpers/validator/rules/max-number-rule.js +4 -2
  144. package/dist/collection/helpers/validator/rules/max-string-length-rule.js +4 -2
  145. package/dist/collection/helpers/validator/rules/min-and-max-date-rule.js +3 -1
  146. package/dist/collection/helpers/validator/rules/min-number-rule.js +4 -2
  147. package/dist/collection/helpers/validator/rules/min-string-length-rule.js +4 -2
  148. package/dist/collection/helpers/validator/rules/required-field-rule.js +5 -3
  149. package/dist/collection/helpers/validator/rules/rich-text-editor-required-rule.js +4 -3
  150. package/dist/collection/helpers/validator/rules/time-range-required-rule.js +5 -3
  151. package/dist/collection/helpers/validator/rules/time-range-rule.js +3 -1
  152. package/dist/collection/helpers/validator/rules/time-required-rule.js +5 -3
  153. package/dist/collection/helpers/validator/rules/toggle-switch-required-rule.js +4 -3
  154. package/dist/collection/helpers/validator/rules/valid-credit-card-number-rule.js +3 -2
  155. package/dist/collection/helpers/validator/rules/valid-phone-number-rule.js +4 -2
  156. package/dist/collection/helpers/validator/test/rules/file-uploader-required-rule.test.js +7 -0
  157. package/dist/collection/helpers/validator/test/rules/public-rules.test.js +80 -0
  158. package/dist/collection/index.js +1 -0
  159. package/dist/esm/{app-globals-c954167a.js → app-globals-9ad844bb.js} +18 -7
  160. package/dist/esm/check-box-required-rule-cb0aa339.js +68 -0
  161. package/dist/esm/{child-nodes-event-prevent-slimmer-3220fa5b.js → child-nodes-event-prevent-slimmer-851ad927.js} +2 -2
  162. package/dist/esm/{child-nodes-notify-observer-slimmer-36024b11.js → child-nodes-notify-observer-slimmer-289caacc.js} +1 -1
  163. package/dist/esm/{content-state-2edba4ec.js → content-state-5646be9f.js} +1 -2
  164. package/dist/esm/{date-732bc749.js → date-c55b97f0.js} +1 -1
  165. package/dist/esm/date-required-rule-8944f3bf.js +90 -0
  166. package/dist/esm/{design-token-e14b622b.js → design-token-a1bb9a99.js} +1 -1
  167. package/dist/esm/{dom-node-subject-factory-97deb349.js → dom-node-subject-factory-5831cdd4.js} +30 -1
  168. package/dist/esm/{dom-node-subject-observer-factory-857c65fa.js → dom-node-subject-observer-factory-dc486a8b.js} +1 -2
  169. package/dist/esm/{element-appender-slimmer-f5e703f3.js → element-appender-slimmer-dbe9f79e.js} +15 -10
  170. package/dist/esm/{event-emit-slimmer-36cf4e39.js → event-emit-slimmer-f285e3ac.js} +3 -3
  171. package/dist/esm/{feature-flag-controller-4b3fe6f8.js → feature-flag-controller-91e7eaa1.js} +6 -0
  172. package/dist/esm/file-uploader-required-rule-ad886d01.js +19 -0
  173. package/dist/esm/{form-field-controller-slimmer-7a9f2b2e.js → form-field-controller-slimmer-0da8c510.js} +31 -5
  174. package/dist/esm/{image-annotation-action-b6668f48.js → image-annotation-action-af91eb87.js} +3 -3
  175. package/dist/esm/index-88cfdf1a.js +39 -0
  176. package/dist/esm/index.js +23 -14
  177. package/dist/esm/input-phone-number-required-rule-be6a5572.js +63 -0
  178. package/dist/esm/input-range-required-rule-3ad74776.js +61 -0
  179. package/dist/esm/internal-form-field-validation-rule.abstract-f5b6bdbf.js +13 -0
  180. package/dist/esm/{internal-vega-event-manager-0a01ba12.js → internal-vega-event-manager-07e1b3d9.js} +1 -1
  181. package/dist/esm/loader.js +12 -14
  182. package/dist/esm/{min-number-rule-31d48b22.js → min-number-rule-a6082418.js} +7 -4
  183. package/dist/esm/{min-string-length-rule-c6a69eeb.js → min-string-length-rule-c31c89f4.js} +8 -4
  184. package/dist/esm/{page-resize-observer-slimmer-beb7b0bd.js → page-resize-observer-slimmer-bf715d05.js} +51 -2
  185. package/dist/esm/public-rules-4a519276.js +26 -0
  186. package/dist/esm/{remote-invocation-registry-1682b34e.js → remote-invocation-registry-d97fa3bc.js} +1 -1
  187. package/dist/esm/{required-field-rule-368b31fa.js → required-field-rule-ab4bdc47.js} +6 -3
  188. package/dist/esm/{responsive-format-facade-661193d7.js → responsive-format-facade-b3bc4db6.js} +204 -1
  189. package/dist/esm/rich-text-editor-required-rule-7a402a9c.js +62 -0
  190. package/dist/esm/{string-input-formatter-slimmer-418b54f0.js → string-input-formatter-slimmer-1f74c6f3.js} +2 -2
  191. package/dist/esm/{style-formatter-4b857992.js → style-formatter-bdafdf22.js} +1 -1
  192. package/dist/esm/{sub-state-notify-slimmer-b36fd081.js → sub-state-notify-slimmer-e9489326.js} +1 -2
  193. package/dist/esm/{sub-state-observer-slimmer-09452523.js → sub-state-observer-slimmer-7e99a677.js} +1 -2
  194. package/dist/esm/time-required-rule-a01163b5.js +138 -0
  195. package/dist/esm/toggle-switch-required-rule-b3cf4302.js +64 -0
  196. package/dist/esm/{valid-credit-card-number-rule-2aef3ad5.js → valid-credit-card-number-rule-cc497bec.js} +3 -2
  197. package/dist/esm/vega-accordion.entry.js +20 -11
  198. package/dist/esm/vega-app-header-button.entry.js +18 -13
  199. package/dist/esm/vega-banner.entry.js +5 -6
  200. package/dist/esm/vega-box.entry.js +135 -18
  201. package/dist/esm/vega-breadcrumb.entry.js +6 -7
  202. package/dist/esm/vega-button-circle.entry.js +19 -12
  203. package/dist/esm/vega-button-group_2.entry.js +8 -9
  204. package/dist/esm/vega-button-link.entry.js +6 -7
  205. package/dist/esm/vega-button.entry.js +17 -11
  206. package/dist/esm/vega-calendar_3.entry.js +10 -12
  207. package/dist/esm/vega-card.entry.js +20 -3
  208. package/dist/esm/vega-carousel.entry.js +20 -9
  209. package/dist/esm/vega-checkbox_2.entry.js +19 -89
  210. package/dist/esm/vega-chip.entry.js +21 -14
  211. package/dist/esm/vega-color-picker.entry.js +8 -9
  212. package/dist/esm/vega-combo-box.entry.js +10 -11
  213. package/dist/esm/vega-date-picker_2.entry.js +22 -107
  214. package/dist/esm/vega-dialog_2.entry.js +54 -21
  215. package/dist/esm/vega-divider.entry.js +21 -4
  216. package/dist/esm/vega-dropdown_5.entry.js +28 -24
  217. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  218. package/dist/esm/vega-field-label.entry.js +4 -5
  219. package/dist/esm/vega-file-uploader.entry.js +10 -26
  220. package/dist/esm/vega-flex.entry.js +19 -6
  221. package/dist/esm/vega-font.entry.js +20 -4
  222. package/dist/esm/vega-form.entry.js +10 -11
  223. package/dist/esm/vega-grid.entry.js +20 -3
  224. package/dist/esm/vega-icon.entry.js +18 -4
  225. package/dist/esm/vega-image-uploader.entry.js +21 -19
  226. package/dist/esm/vega-input-credit-card.entry.js +11 -12
  227. package/dist/esm/vega-input-numeric.entry.js +11 -12
  228. package/dist/esm/vega-input-phone-number.entry.js +14 -72
  229. package/dist/esm/vega-input-range.entry.js +12 -69
  230. package/dist/esm/vega-input-select.entry.js +18 -16
  231. package/dist/esm/vega-input.entry.js +16 -16
  232. package/dist/esm/vega-item-toggle.entry.js +4 -5
  233. package/dist/esm/vega-left-nav_5.entry.js +18 -15
  234. package/dist/esm/vega-loader-wrapper_2.entry.js +19 -4
  235. package/dist/esm/vega-page-notification_2.entry.js +2 -3
  236. package/dist/esm/vega-pagination.entry.js +6 -7
  237. package/dist/esm/vega-popover_2.entry.js +20 -12
  238. package/dist/esm/vega-progress-tracker.entry.js +4 -5
  239. package/dist/esm/vega-radio_2.entry.js +11 -12
  240. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  241. package/dist/esm/vega-rich-text-editor_4.entry.js +17 -76
  242. package/dist/esm/vega-segment-control.entry.js +5 -7
  243. package/dist/esm/vega-selection-chip_2.entry.js +20 -17
  244. package/dist/esm/vega-selection-tile_2.entry.js +13 -14
  245. package/dist/esm/vega-sidenav_3.entry.js +16 -11
  246. package/dist/esm/vega-signature-capture.entry.js +20 -14
  247. package/dist/esm/{vega-skeleton-loader-controller-5aea7aeb.js → vega-skeleton-loader-controller-964db62f.js} +261 -12
  248. package/dist/esm/vega-stepper.entry.js +10 -11
  249. package/dist/esm/vega-tab-group_2.entry.js +7 -9
  250. package/dist/esm/vega-table_8.entry.js +17 -17
  251. package/dist/esm/vega-text.entry.js +1 -2
  252. package/dist/esm/vega-textarea.entry.js +11 -12
  253. package/dist/esm/vega-time-picker_2.entry.js +23 -151
  254. package/dist/esm/vega-toggle-switch.entry.js +8 -69
  255. package/dist/esm/vega-tooltip_2.entry.js +70 -18
  256. package/dist/esm/vega.js +12 -14
  257. package/dist/esm/{index-d172bafa.js → wait-for-vega-handler-03a25866.js} +1 -38
  258. package/dist/types/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.d.ts +38 -0
  259. package/dist/types/components/vega-box/vega-box.d.ts +5 -0
  260. package/dist/types/components/vega-dialog/types.d.ts +1 -1
  261. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-layout-controller.d.ts +4 -0
  262. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-scroll-controller.d.ts +5 -0
  263. package/dist/types/components/vega-modal/vega-modal.d.ts +1 -0
  264. package/dist/types/components/vega-tooltip/slimmers/controllers/vega-tooltip-element-appender-controller.d.ts +18 -0
  265. package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +4 -0
  266. package/dist/types/components/vega-virtual-scroll/slimmers/controllers/vega-virtual-scroll-scrollable-controller.d.ts +1 -1
  267. package/dist/types/helpers/dialog/vega-dialog-controller.d.ts +1 -1
  268. package/dist/types/helpers/feature-control/feature-flag.d.ts +6 -1
  269. package/dist/types/helpers/formatter/responsive-map-formatter/responsiv-border-radius-formatter.d.ts +1 -0
  270. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-border-radius-style-formatter.d.ts +26 -0
  271. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-css-text-formatter.d.ts +25 -0
  272. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-margin-formatter.d.ts +1 -0
  273. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-margin-style-formatter.d.ts +16 -0
  274. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-padding-formatter.d.ts +1 -0
  275. package/dist/types/helpers/formatter/responsive-map-formatter/responsive-padding-style-formatter.d.ts +16 -0
  276. package/dist/types/helpers/formatter/test/responsive-map-formatter/responsive-margin-style-formatter.test.d.ts +1 -0
  277. package/dist/types/helpers/formatter/test/responsive-map-formatter/responsive-padding-style-formatter.test.d.ts +1 -0
  278. package/dist/types/helpers/slimmers/element-appender-slimmer.d.ts +1 -0
  279. package/dist/types/helpers/slimmers/form-field-controller-slimmer.d.ts +2 -1
  280. package/dist/types/helpers/validator/form-field-controller.d.ts +10 -0
  281. package/dist/types/helpers/validator/public-rules.d.ts +10 -0
  282. package/dist/types/helpers/validator/rules/check-box-required-rule.d.ts +7 -6
  283. package/dist/types/helpers/validator/rules/date-range-rule.d.ts +3 -2
  284. package/dist/types/helpers/validator/rules/date-required-rule.d.ts +7 -6
  285. package/dist/types/helpers/validator/rules/email-field-rule.d.ts +4 -3
  286. package/dist/types/helpers/validator/rules/{object-array-required-rule.d.ts → file-uploader-required-rule.d.ts} +1 -1
  287. package/dist/types/helpers/validator/rules/input-phone-number-required-rule.d.ts +7 -6
  288. package/dist/types/helpers/validator/rules/input-range-min-and-max-rule.d.ts +3 -2
  289. package/dist/types/helpers/validator/rules/input-range-required-rule.d.ts +8 -7
  290. package/dist/types/helpers/validator/rules/internal-form-field-validation-rule.abstract.d.ts +19 -0
  291. package/dist/types/helpers/validator/rules/max-number-rule.d.ts +4 -3
  292. package/dist/types/helpers/validator/rules/max-string-length-rule.d.ts +4 -3
  293. package/dist/types/helpers/validator/rules/min-and-max-date-rule.d.ts +3 -2
  294. package/dist/types/helpers/validator/rules/min-number-rule.d.ts +4 -3
  295. package/dist/types/helpers/validator/rules/min-string-length-rule.d.ts +4 -3
  296. package/dist/types/helpers/validator/rules/required-field-rule.d.ts +7 -6
  297. package/dist/types/helpers/validator/rules/rich-text-editor-required-rule.d.ts +7 -6
  298. package/dist/types/helpers/validator/rules/time-range-required-rule.d.ts +7 -6
  299. package/dist/types/helpers/validator/rules/time-range-rule.d.ts +3 -2
  300. package/dist/types/helpers/validator/rules/time-required-rule.d.ts +7 -6
  301. package/dist/types/helpers/validator/rules/toggle-switch-required-rule.d.ts +5 -4
  302. package/dist/types/helpers/validator/rules/valid-credit-card-number-rule.d.ts +4 -3
  303. package/dist/types/helpers/validator/rules/valid-phone-number-rule.d.ts +4 -3
  304. package/dist/types/helpers/validator/test/rules/file-uploader-required-rule.test.d.ts +1 -0
  305. package/dist/types/helpers/validator/test/rules/public-rules.test.d.ts +1 -0
  306. package/dist/types/index.d.ts +1 -0
  307. package/dist/types/types/public-api.d.ts +1 -1
  308. package/dist/types/types/ui.type.d.ts +6 -0
  309. package/dist/vega/index.esm.js +1 -1
  310. package/dist/vega/p-04ca73d5.entry.js +1 -0
  311. package/dist/vega/p-07c2725a.js +1 -0
  312. package/dist/vega/p-07d5ebac.entry.js +1 -0
  313. package/dist/vega/{p-b5990090.js → p-08835909.js} +1 -1
  314. package/dist/vega/p-09c5de7f.entry.js +1 -0
  315. package/dist/vega/{p-1b860f90.js → p-0af4bda9.js} +1 -1
  316. package/dist/vega/p-0bb860cc.js +1 -0
  317. package/dist/vega/p-0ceb92d7.entry.js +1 -0
  318. package/dist/vega/p-14f85e30.entry.js +1 -0
  319. package/dist/vega/p-1727b651.entry.js +1 -0
  320. package/dist/vega/p-1d01b5ab.entry.js +1 -0
  321. package/dist/vega/p-1d62d89d.js +1 -0
  322. package/dist/vega/p-1db0a7a1.entry.js +1 -0
  323. package/dist/vega/{p-bd0116f9.js → p-1f9a66e6.js} +1 -1
  324. package/dist/vega/p-24da2ffd.entry.js +1 -0
  325. package/dist/vega/p-25228e15.entry.js +1 -0
  326. package/dist/vega/p-280cbcdb.js +1 -0
  327. package/dist/vega/p-29b09aad.js +1 -0
  328. package/dist/vega/p-2b8e9c64.entry.js +1 -0
  329. package/dist/vega/p-2f6890e8.entry.js +1 -0
  330. package/dist/vega/p-2f9f5995.entry.js +1 -0
  331. package/dist/vega/p-2fb4faf8.entry.js +1 -0
  332. package/dist/vega/p-30881e6c.entry.js +1 -0
  333. package/dist/vega/{p-9ee23f34.entry.js → p-349480f8.entry.js} +2 -2
  334. package/dist/vega/p-36cb03ec.js +1 -0
  335. package/dist/vega/{p-ac608edc.js → p-39dfa61b.js} +1 -1
  336. package/dist/vega/p-45dd4698.entry.js +1 -0
  337. package/dist/vega/{p-4ab0d645.js → p-45fccc2e.js} +1 -1
  338. package/dist/vega/p-499d9811.entry.js +1 -0
  339. package/dist/vega/{p-a190c86a.js → p-4b500240.js} +1 -1
  340. package/dist/vega/{p-666cd80f.js → p-53328c50.js} +1 -1
  341. package/dist/vega/p-54cb3c47.entry.js +1 -0
  342. package/dist/vega/p-5616294e.entry.js +1 -0
  343. package/dist/vega/p-590fd123.js +1 -0
  344. package/dist/vega/p-5986c439.entry.js +1 -0
  345. package/dist/vega/p-5d7ea126.entry.js +1 -0
  346. package/dist/vega/p-5f377954.js +1 -1
  347. package/dist/vega/p-5f5af9e8.entry.js +1 -0
  348. package/dist/vega/{p-6e5db02b.js → p-601fbb96.js} +1 -1
  349. package/dist/vega/p-611eba55.entry.js +1 -0
  350. package/dist/vega/p-61d8636c.js +1 -0
  351. package/dist/vega/p-62cae5ef.entry.js +1 -0
  352. package/dist/vega/p-66d871d6.js +1 -0
  353. package/dist/vega/p-6868a09d.entry.js +1 -0
  354. package/dist/vega/p-6a3989dd.js +1 -0
  355. package/dist/vega/p-6e921ac2.js +1 -0
  356. package/dist/vega/p-6f90d444.js +1 -0
  357. package/dist/vega/p-71791731.entry.js +1 -0
  358. package/dist/vega/{p-60fb1db7.js → p-72eee5e2.js} +1 -1
  359. package/dist/vega/p-74b6ce44.entry.js +1 -0
  360. package/dist/vega/p-7c0b4c36.js +1 -0
  361. package/dist/vega/p-831fbe52.entry.js +1 -0
  362. package/dist/vega/{p-0b697841.entry.js → p-83a06a40.entry.js} +1 -1
  363. package/dist/vega/p-87ee1dab.entry.js +1 -0
  364. package/dist/vega/p-88b5fcc3.entry.js +1 -0
  365. package/dist/vega/p-8bc7e1a7.entry.js +1 -0
  366. package/dist/vega/p-8be34d8e.entry.js +1 -0
  367. package/dist/vega/p-8ce6e672.entry.js +1 -0
  368. package/dist/vega/p-8fae8f9e.js +1 -0
  369. package/dist/vega/{p-ff4bafa3.js → p-922bb790.js} +1 -1
  370. package/dist/vega/p-924b4e24.js +1 -0
  371. package/dist/vega/p-92f9b9b5.entry.js +1 -0
  372. package/dist/vega/p-93421a1a.entry.js +1 -0
  373. package/dist/vega/p-99b7257b.entry.js +1 -0
  374. package/dist/vega/p-a57fc4df.entry.js +1 -0
  375. package/dist/vega/p-a7fea3c8.entry.js +1 -0
  376. package/dist/vega/p-aa1a5f2d.entry.js +1 -0
  377. package/dist/vega/p-ab0c8cf7.entry.js +1 -0
  378. package/dist/vega/p-abd7aeaa.js +1 -0
  379. package/dist/vega/p-aca02a0b.js +1 -0
  380. package/dist/vega/p-ad2e8e08.entry.js +1 -0
  381. package/dist/vega/p-b0926d1c.entry.js +1 -0
  382. package/dist/vega/p-b1eb225c.entry.js +1 -0
  383. package/dist/vega/p-b5944e86.entry.js +1 -0
  384. package/dist/vega/p-b6d62c44.js +1 -0
  385. package/dist/vega/p-b9051ad2.js +1 -0
  386. package/dist/vega/p-bbc4b90a.entry.js +1 -0
  387. package/dist/vega/p-c1a3e7f7.js +1 -0
  388. package/dist/vega/p-ca1fd7b2.js +1 -0
  389. package/dist/vega/p-cb8f8458.entry.js +1 -0
  390. package/dist/vega/p-cd1b4bd4.entry.js +1 -0
  391. package/dist/vega/p-cdbbdcc2.js +1 -0
  392. package/dist/vega/p-cf1001e6.js +1 -0
  393. package/dist/vega/p-d8e95692.js +1 -0
  394. package/dist/vega/p-da82e78c.entry.js +1 -0
  395. package/dist/vega/p-dd7ade28.js +1 -0
  396. package/dist/vega/{p-6408d3dc.entry.js → p-e43c18d4.entry.js} +1 -1
  397. package/dist/vega/{p-57669fd6.js → p-e8f540d8.js} +1 -1
  398. package/dist/vega/p-ebc73140.entry.js +1 -0
  399. package/dist/vega/p-ec2d3456.entry.js +1 -0
  400. package/dist/vega/p-edfedd8e.entry.js +1 -0
  401. package/dist/vega/p-f396c69a.js +1 -0
  402. package/dist/vega/p-f4a62fa7.entry.js +1 -0
  403. package/dist/vega/p-f50bd1d3.entry.js +1 -0
  404. package/dist/vega/p-f7d9c7d1.js +1 -0
  405. package/dist/vega/p-fdf812b0.entry.js +1 -0
  406. package/dist/vega/vega.esm.js +1 -1
  407. package/package.json +4 -3
  408. package/dist/cjs/breakpoints-17d6c4c7.js +0 -55
  409. package/dist/cjs/internal-vega-z-index-manager-f03ddb37.js +0 -180
  410. package/dist/cjs/observer-f49483e8.js +0 -32
  411. package/dist/cjs/vega-dialog-controller-fe610705.js +0 -81
  412. package/dist/collection/helpers/validator/test/rules/object-array-required-rule.test.js +0 -7
  413. package/dist/esm/breakpoints-91116111.js +0 -52
  414. package/dist/esm/internal-vega-z-index-manager-7d2b54c3.js +0 -178
  415. package/dist/esm/observer-3959f9dd.js +0 -30
  416. package/dist/esm/vega-dialog-controller-34eb8967.js +0 -79
  417. package/dist/vega/p-05f5e22b.entry.js +0 -1
  418. package/dist/vega/p-073beb31.entry.js +0 -1
  419. package/dist/vega/p-08bbc8e6.entry.js +0 -1
  420. package/dist/vega/p-0cc1ad76.js +0 -1
  421. package/dist/vega/p-149d2801.js +0 -1
  422. package/dist/vega/p-1d53d434.entry.js +0 -1
  423. package/dist/vega/p-1d5fbccc.entry.js +0 -1
  424. package/dist/vega/p-239bae84.js +0 -1
  425. package/dist/vega/p-24ac5151.entry.js +0 -1
  426. package/dist/vega/p-257b1bc2.entry.js +0 -1
  427. package/dist/vega/p-2f39ea18.entry.js +0 -1
  428. package/dist/vega/p-3152031c.js +0 -1
  429. package/dist/vega/p-331a62d5.js +0 -1
  430. package/dist/vega/p-3c85a11b.entry.js +0 -1
  431. package/dist/vega/p-4019a3ec.entry.js +0 -1
  432. package/dist/vega/p-46359293.entry.js +0 -1
  433. package/dist/vega/p-49bf2b3a.js +0 -1
  434. package/dist/vega/p-4a8db510.entry.js +0 -1
  435. package/dist/vega/p-4b19706c.entry.js +0 -1
  436. package/dist/vega/p-4bcd6612.js +0 -1
  437. package/dist/vega/p-4e436842.entry.js +0 -1
  438. package/dist/vega/p-59834ea4.entry.js +0 -1
  439. package/dist/vega/p-59b0f3c5.entry.js +0 -1
  440. package/dist/vega/p-59cfed37.entry.js +0 -1
  441. package/dist/vega/p-5f589974.js +0 -1
  442. package/dist/vega/p-60e1ebe1.entry.js +0 -1
  443. package/dist/vega/p-629bd266.entry.js +0 -1
  444. package/dist/vega/p-644d7300.entry.js +0 -1
  445. package/dist/vega/p-64e0c944.entry.js +0 -1
  446. package/dist/vega/p-64e49394.entry.js +0 -1
  447. package/dist/vega/p-66b9e86d.entry.js +0 -1
  448. package/dist/vega/p-74958b1a.js +0 -1
  449. package/dist/vega/p-74ff73d6.entry.js +0 -1
  450. package/dist/vega/p-76a8ccbb.js +0 -1
  451. package/dist/vega/p-781fd6e0.js +0 -1
  452. package/dist/vega/p-7c37e5bb.js +0 -1
  453. package/dist/vega/p-7f2441d6.js +0 -1
  454. package/dist/vega/p-8120e7a1.entry.js +0 -1
  455. package/dist/vega/p-894c067a.entry.js +0 -1
  456. package/dist/vega/p-989b36a2.entry.js +0 -1
  457. package/dist/vega/p-9b7f9c27.entry.js +0 -1
  458. package/dist/vega/p-9cfae00d.entry.js +0 -1
  459. package/dist/vega/p-9d19c126.entry.js +0 -1
  460. package/dist/vega/p-a247e23c.entry.js +0 -1
  461. package/dist/vega/p-a8a809e1.entry.js +0 -1
  462. package/dist/vega/p-a9e1123a.js +0 -1
  463. package/dist/vega/p-af7e6dfb.entry.js +0 -1
  464. package/dist/vega/p-b071be5c.entry.js +0 -1
  465. package/dist/vega/p-b6bffdf3.entry.js +0 -1
  466. package/dist/vega/p-b7e52da9.entry.js +0 -1
  467. package/dist/vega/p-b7ebb9fa.entry.js +0 -1
  468. package/dist/vega/p-bf6d3c00.entry.js +0 -1
  469. package/dist/vega/p-c00fde35.entry.js +0 -1
  470. package/dist/vega/p-c1f7f37c.entry.js +0 -1
  471. package/dist/vega/p-c2e96537.entry.js +0 -1
  472. package/dist/vega/p-cc8ec82c.entry.js +0 -1
  473. package/dist/vega/p-ce94a9c5.entry.js +0 -1
  474. package/dist/vega/p-d03945cb.entry.js +0 -1
  475. package/dist/vega/p-d2e6090a.js +0 -1
  476. package/dist/vega/p-d638f007.entry.js +0 -1
  477. package/dist/vega/p-d7219734.js +0 -1
  478. package/dist/vega/p-ddac683a.entry.js +0 -1
  479. package/dist/vega/p-e0d3ca2d.js +0 -1
  480. package/dist/vega/p-e4ca75a7.entry.js +0 -1
  481. package/dist/vega/p-e4ce559d.entry.js +0 -1
  482. package/dist/vega/p-e6fdc69f.entry.js +0 -1
  483. package/dist/vega/p-e95668f3.entry.js +0 -1
  484. package/dist/vega/p-ea78ddfa.entry.js +0 -1
  485. package/dist/vega/p-ebc062f6.entry.js +0 -1
  486. package/dist/vega/p-ec4de3ec.js +0 -1
  487. package/dist/vega/p-f1ebe86b.entry.js +0 -1
  488. package/dist/vega/p-f41102cd.js +0 -1
  489. package/dist/vega/p-f5b0ce61.js +0 -1
  490. package/dist/vega/p-fc49a98e.entry.js +0 -1
  491. /package/dist/types/helpers/{validator/test/rules/object-array-required-rule.test.d.ts → formatter/test/responsive-map-formatter/responsive-border-radius-style-formatter.test.d.ts} +0 -0
@@ -0,0 +1,63 @@
1
+ import { isBorderRadiusTokenType, isDirectionalBorderRadiusType } from '../../../types/type-guard';
2
+ import { LogUtility } from '../../../utils/log';
3
+ import { BorderRadius } from '../../../constants/public-api';
4
+ import { ResponsiveCSSTextFormatter } from './responsive-css-text-formatter';
5
+ import { sortAsExistArray } from '../../../utils/array';
6
+ import { FeatureFlag } from '../../public-api';
7
+ const BORDER_RADIUS_DIRECTION_STYLE_MAP = {
8
+ 'top': ['border-top-left-radius', 'border-top-right-radius'],
9
+ 'right': ['border-top-right-radius', 'border-bottom-right-radius'],
10
+ 'bottom': ['border-bottom-left-radius', 'border-bottom-right-radius'],
11
+ 'left': ['border-top-left-radius', 'border-bottom-left-radius'],
12
+ 'top-left': ['border-top-left-radius'],
13
+ 'top-right': ['border-top-right-radius'],
14
+ 'bottom-left': ['border-bottom-left-radius'],
15
+ 'bottom-right': ['border-bottom-right-radius'],
16
+ };
17
+ /**
18
+ * A class for format BorderRadiusType with BreakpointsForPrefixType to CSS text string
19
+ *
20
+ * @augments ResponsiveClassStringFormatter
21
+ */
22
+ class ResponsiveBorderRadiusStyleFormatter extends ResponsiveCSSTextFormatter {
23
+ /**
24
+ * Given a border-radius type, return a string of CSS classes that can be used to apply the border-radius to an element
25
+ *
26
+ * @param {CornersType} input - CornersType
27
+ * @returns {string} - A string of CSS text.
28
+ */
29
+ formatToken(input) {
30
+ if (isBorderRadiusTokenType(input)) {
31
+ return `border-radius:${BorderRadius[input]}px`;
32
+ }
33
+ else if (isDirectionalBorderRadiusType(input)) {
34
+ return this.getDirectionKeys(input)
35
+ .map((direction) => {
36
+ return BORDER_RADIUS_DIRECTION_STYLE_MAP[direction]
37
+ .map((item) => {
38
+ return `${item}:${BorderRadius[input[direction]]}px`;
39
+ })
40
+ .join(';');
41
+ })
42
+ .join(';');
43
+ }
44
+ else {
45
+ LogUtility.warn(`The border radius value ${input} is invalid, it must be a value of: `, BorderRadius);
46
+ return '';
47
+ }
48
+ }
49
+ /**
50
+ * Get the corners object keys. Order the keys as exist array if the feature flag enabled.
51
+ * The order affects the weight of the styles.
52
+ *
53
+ * @param {DirectionalBorderRadiusType} map - The corners input object.
54
+ * @returns {string[]} - The input object keys.
55
+ */
56
+ getDirectionKeys(map) {
57
+ const directionKeys = Object.keys(map);
58
+ return FeatureFlag.isEnabled('VEGA_COMPONENT.CORNERS_USE_OLD_BEHAVIOR')
59
+ ? sortAsExistArray(directionKeys, (direction) => map[direction], undefined, Object.keys(BorderRadius))
60
+ : directionKeys;
61
+ }
62
+ }
63
+ export default new ResponsiveBorderRadiusStyleFormatter();
@@ -0,0 +1,45 @@
1
+ import { isResponsiveType } from '../../../types/type-guard';
2
+ import { Breakpoints } from '../../../constants/public-api';
3
+ /**
4
+ * Get the style text from the responsive property.
5
+ */
6
+ export class ResponsiveCSSTextFormatter {
7
+ /**
8
+ * > It takes a `ResponsiveType<ManagedResponsiveScopeInput[Flag]>` and returns a string
9
+ *
10
+ * @typedef Flag key of ManagedResponsiveScopeInput
11
+ * @param {ResponsiveType<ManagedResponsiveScopeInput[Flag]>} input - ManagedResponsiveScopeInput[Flag]
12
+ * @returns {string} - CSS text string.
13
+ */
14
+ format(input) {
15
+ if (isResponsiveType(input)) {
16
+ return Object.keys(input)
17
+ .map((breakpoint) => {
18
+ const breakpointValue = input[breakpoint];
19
+ const breakPointFormatted = breakpoint !== 'default' ? breakpoint : undefined;
20
+ return this.generateCssText(this.formatToken(breakpointValue, breakPointFormatted), breakpoint);
21
+ })
22
+ .join(' ');
23
+ }
24
+ else {
25
+ return this.generateCssText(this.formatToken(input));
26
+ }
27
+ }
28
+ /**
29
+ * Create the complete style text with media query selector.
30
+ *
31
+ * @param {string} cssText - The style snippet.
32
+ * @param {BreakpointsTokenType} breakpoint - The screen breakpoint.
33
+ * @returns {string} - Style content with css selector.
34
+ */
35
+ generateCssText(cssText, breakpoint) {
36
+ let result = '';
37
+ if (cssText) {
38
+ result =
39
+ breakpoint && breakpoint !== 'default'
40
+ ? `@media (min-width:${Breakpoints[breakpoint]}px){:host{${cssText}}}`
41
+ : `:host{${cssText}}`;
42
+ }
43
+ return result;
44
+ }
45
+ }
@@ -15,6 +15,9 @@ import ResponsiveBoxDisplayFormatter from './responsive-box-display-formatter';
15
15
  import ResponsiveWidthAndHeightFormatter from './responsive-width-and-height-formatter';
16
16
  import ResponsiveBorderRadiusFormatter from './responsiv-border-radius-formatter';
17
17
  import ResponsiveTextAlignFormatter from './responsive-text-align-formatter';
18
+ import responsivePaddingStyleFormatter from './responsive-padding-style-formatter';
19
+ import responsiveMarginStyleFormatter from './responsive-margin-style-formatter';
20
+ import responsiveBorderRadiusStyleFormatter from './responsive-border-radius-style-formatter';
18
21
  /**
19
22
  * A facade class for delegating format input with different responsive formatters given the flag:
20
23
  *
@@ -67,6 +70,12 @@ class ResponsiveFormatFacade {
67
70
  return ResponsiveBorderRadiusFormatter.format(input);
68
71
  case 'textAlign':
69
72
  return ResponsiveTextAlignFormatter.format(input);
73
+ case 'paddingStyle':
74
+ return responsivePaddingStyleFormatter.format(input);
75
+ case 'marginStyle':
76
+ return responsiveMarginStyleFormatter.format(input);
77
+ case 'cornersStyle':
78
+ return responsiveBorderRadiusStyleFormatter.format(input);
70
79
  default:
71
80
  throw new Error(`Invalid flag ${flag} passed into ResponsiveFormatFacade`);
72
81
  }
@@ -13,6 +13,7 @@ const MARGIN_DIRECTION_CLASS_PARTIAL_MAP = {
13
13
  /**
14
14
  * A class for format MarginType with BreakpointsForPrefixType to CSS class string
15
15
  *
16
+ * @deprecated Please use the `ResponsiveMarginStyleFormatter` instead.
16
17
  * @augments ResponsiveClassStringFormatter
17
18
  */
18
19
  class ResponsiveMarginFormatter extends ResponsiveClassStringFormatter {
@@ -0,0 +1,44 @@
1
+ import { isSpacingTokenType, isDirectionalSpacingType } from '../../../types/type-guard';
2
+ import { LogUtility } from '../../../utils/log';
3
+ import { Spacing } from '../../../constants/tokens/spacing';
4
+ import { ResponsiveCSSTextFormatter } from './responsive-css-text-formatter';
5
+ const MARGIN_DIRECTION_STYLE_MAP = {
6
+ top: ['margin-top'],
7
+ bottom: ['margin-bottom'],
8
+ left: ['margin-left'],
9
+ right: ['margin-right'],
10
+ x: ['margin-left', 'margin-right'],
11
+ y: ['margin-top', 'margin-bottom'],
12
+ };
13
+ /**
14
+ * Get the padding style content.
15
+ */
16
+ class ResponsiveMarginStyleFormatter extends ResponsiveCSSTextFormatter {
17
+ /**
18
+ * Given a margin type, return a string of style content that can be used to apply the margin to an element
19
+ *
20
+ * @param {MarginType} input - MarginType
21
+ * @returns {string} - A string of style content.
22
+ */
23
+ formatToken(input) {
24
+ if (isSpacingTokenType(input)) {
25
+ return `margin:${Spacing[input]}px`;
26
+ }
27
+ else if (isDirectionalSpacingType(input)) {
28
+ return Object.keys(input)
29
+ .map((direction) => {
30
+ return MARGIN_DIRECTION_STYLE_MAP[direction]
31
+ .map((item) => {
32
+ return `${item}:${Spacing[input[direction]]}px`;
33
+ })
34
+ .join(';');
35
+ })
36
+ .join(';');
37
+ }
38
+ else {
39
+ LogUtility.warn(`The margin value ${input} is invalid, it must be a value of: `, Spacing);
40
+ return '';
41
+ }
42
+ }
43
+ }
44
+ export default new ResponsiveMarginStyleFormatter();
@@ -13,6 +13,7 @@ const PADDING_DIRECTION_CLASS_PARTIAL_MAP = {
13
13
  /**
14
14
  * A class for format PaddingType with BreakpointsForPrefixType to CSS class string
15
15
  *
16
+ * @deprecated Please use the `ResponsivePaddingStyleFormatter` instead.
16
17
  * @augments ResponsiveClassStringFormatter
17
18
  */
18
19
  class ResponsivePaddingFormatter extends ResponsiveClassStringFormatter {
@@ -0,0 +1,44 @@
1
+ import { isSpacingTokenType, isDirectionalSpacingType } from '../../../types/type-guard';
2
+ import { LogUtility } from '../../../utils/log';
3
+ import { Spacing } from '../../../constants/tokens/spacing';
4
+ import { ResponsiveCSSTextFormatter } from './responsive-css-text-formatter';
5
+ const PADDING_DIRECTION_STYLE_MAP = {
6
+ top: ['padding-top'],
7
+ bottom: ['padding-bottom'],
8
+ left: ['padding-left'],
9
+ right: ['padding-right'],
10
+ x: ['padding-left', 'padding-right'],
11
+ y: ['padding-top', 'padding-bottom'],
12
+ };
13
+ /**
14
+ * Get the padding style content.
15
+ */
16
+ class ResponsivePaddingStyleFormatter extends ResponsiveCSSTextFormatter {
17
+ /**
18
+ * Given a padding type, return the corresponding string of CSS text.
19
+ *
20
+ * @param {PaddingType} input - PaddingType
21
+ * @returns {string} - CSS text.
22
+ */
23
+ formatToken(input) {
24
+ if (isSpacingTokenType(input)) {
25
+ return `padding:${Spacing[input]}px`;
26
+ }
27
+ else if (isDirectionalSpacingType(input)) {
28
+ return Object.keys(input)
29
+ .map((direction) => {
30
+ return PADDING_DIRECTION_STYLE_MAP[direction]
31
+ .map((item) => {
32
+ return `${item}:${Spacing[input[direction]]}px`;
33
+ })
34
+ .join(';');
35
+ })
36
+ .join(';');
37
+ }
38
+ else {
39
+ LogUtility.warn(`The padding value ${input} is invalid, it must be a value of: `, Spacing);
40
+ return '';
41
+ }
42
+ }
43
+ }
44
+ export default new ResponsivePaddingStyleFormatter();
@@ -0,0 +1,32 @@
1
+ import { LogUtility } from '../../../../utils/log';
2
+ import { FeatureFlag } from '../../../public-api';
3
+ import ResponsiveCornersStyleFormatter from '../../responsive-map-formatter/responsive-border-radius-style-formatter';
4
+ test('should console warn when input not in scope', () => {
5
+ spyOn(LogUtility, 'warn');
6
+ ResponsiveCornersStyleFormatter.formatToken('24');
7
+ expect(LogUtility.warn).toHaveBeenCalled();
8
+ });
9
+ test('should return format when input in spacing scope', () => {
10
+ const result = ResponsiveCornersStyleFormatter.formatToken('rounded-24');
11
+ expect(result).toEqual('border-radius:24px');
12
+ });
13
+ test('should return format when input in directional type', () => {
14
+ const result = ResponsiveCornersStyleFormatter.formatToken({
15
+ top: 'rounded-12',
16
+ bottom: 'rounded-16',
17
+ left: 'rounded-full',
18
+ right: 'rounded-none',
19
+ });
20
+ expect(result).toEqual('border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-right-radius:0px;border-bottom-right-radius:0px');
21
+ });
22
+ test('should return format when input in directional type and enable feature flag', () => {
23
+ FeatureFlag.enable('VEGA_COMPONENT.CORNERS_USE_OLD_BEHAVIOR');
24
+ const result = ResponsiveCornersStyleFormatter.formatToken({
25
+ top: 'rounded-12',
26
+ bottom: 'rounded-16',
27
+ left: 'rounded-full',
28
+ right: 'rounded-none',
29
+ });
30
+ expect(result).toEqual('border-top-right-radius:0px;border-bottom-right-radius:0px;border-top-left-radius:9999px;border-bottom-left-radius:9999px;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom-left-radius:16px;border-bottom-right-radius:16px');
31
+ FeatureFlag.disable('VEGA_COMPONENT.CORNERS_USE_OLD_BEHAVIOR');
32
+ });
@@ -0,0 +1,28 @@
1
+ import { LogUtility } from '../../../../utils/log';
2
+ import ResponsiveMarginStyleFormatter from '../../responsive-map-formatter/responsive-margin-style-formatter';
3
+ test('should console warn when input not in scope', () => {
4
+ spyOn(LogUtility, 'warn');
5
+ ResponsiveMarginStyleFormatter.formatToken('24');
6
+ expect(LogUtility.warn).toHaveBeenCalled();
7
+ });
8
+ test('should return format when input in spacing scope', () => {
9
+ const result = ResponsiveMarginStyleFormatter.formatToken('size-24');
10
+ expect(result).toEqual('margin:24px');
11
+ });
12
+ test('should return format when input is directional type', () => {
13
+ const result = ResponsiveMarginStyleFormatter.formatToken({
14
+ top: 'size-12',
15
+ x: 'size-24',
16
+ bottom: 'size-8',
17
+ });
18
+ expect(result).toEqual('margin-top:12px;margin-left:24px;margin-right:24px;margin-bottom:8px');
19
+ });
20
+ test('should return format when input is responsive type', () => {
21
+ expect(ResponsiveMarginStyleFormatter.format('0')).toEqual(':host{margin:0px}');
22
+ const result = ResponsiveMarginStyleFormatter.format({
23
+ default: 'size-8',
24
+ S: 'size-12',
25
+ M: { top: 'size-12', x: 'size-24', bottom: 'size-8' },
26
+ });
27
+ expect(result).toEqual(':host{margin:8px} @media (min-width:320px){:host{margin:12px}} @media (min-width:768px){:host{margin-top:12px;margin-left:24px;margin-right:24px;margin-bottom:8px}}');
28
+ });
@@ -0,0 +1,28 @@
1
+ import { LogUtility } from '../../../../utils/log';
2
+ import ResponsivePaddingStyleFormatter from '../../responsive-map-formatter/responsive-padding-style-formatter';
3
+ test('should console warn when input not in scope', () => {
4
+ spyOn(LogUtility, 'warn');
5
+ ResponsivePaddingStyleFormatter.formatToken('24');
6
+ expect(LogUtility.warn).toHaveBeenCalled();
7
+ });
8
+ test('should return format when input in spacing scope', () => {
9
+ const result = ResponsivePaddingStyleFormatter.formatToken('size-24');
10
+ expect(result).toEqual('padding:24px');
11
+ });
12
+ test('should return format when input is directional type', () => {
13
+ const result = ResponsivePaddingStyleFormatter.formatToken({
14
+ top: 'size-12',
15
+ x: 'size-24',
16
+ bottom: 'size-8',
17
+ });
18
+ expect(result).toEqual('padding-top:12px;padding-left:24px;padding-right:24px;padding-bottom:8px');
19
+ });
20
+ test('should return format when input is responsive type', () => {
21
+ expect(ResponsivePaddingStyleFormatter.format('0')).toEqual(':host{padding:0px}');
22
+ const result = ResponsivePaddingStyleFormatter.format({
23
+ default: 'size-8',
24
+ S: 'size-12',
25
+ M: { top: 'size-12', x: 'size-24', bottom: 'size-8' },
26
+ });
27
+ expect(result).toEqual(':host{padding:8px} @media (min-width:320px){:host{padding:12px}} @media (min-width:768px){:host{padding-top:12px;padding-left:24px;padding-right:24px;padding-bottom:8px}}');
28
+ });
@@ -85,7 +85,7 @@ export class ElementAppenderSlimmer extends VegaSlimmer {
85
85
  if (this.shouldListenerWork('custom') &&
86
86
  this.isShowing() &&
87
87
  this.showConfig &&
88
- !isParent(currentTarget, this.showConfig.appendableElement) &&
88
+ !findParent(currentTarget, '.vega-element-appender-appendable') &&
89
89
  !isParent(currentTarget, this.showConfig.target) &&
90
90
  findParent(currentTarget, 'vega-modal') === findParent(this.showConfig.target, 'vega-modal')) {
91
91
  this.hide();
@@ -137,10 +137,7 @@ export class ElementAppenderSlimmer extends VegaSlimmer {
137
137
  }
138
138
  disconnectedCallback() {
139
139
  this.unRegisterElementAppenderListener();
140
- if (this.elementAppender) {
141
- this.elementAppender.destroy();
142
- this.elementAppender = null;
143
- }
140
+ this.destroyElementAppender();
144
141
  }
145
142
  componentDidLoad() {
146
143
  this.initElementAppender();
@@ -157,13 +154,19 @@ export class ElementAppenderSlimmer extends VegaSlimmer {
157
154
  this[this.isDropdownShowName] = false;
158
155
  }
159
156
  destroy() {
160
- this.elementAppender = null;
157
+ this.destroyElementAppender();
161
158
  this[this.isDropdownShowName] = false;
162
159
  }
163
160
  updateShowConfigFactory(showConfigFactory) {
164
161
  this.showConfigFactory = showConfigFactory;
165
162
  this.initElementAppender();
166
163
  }
164
+ destroyElementAppender() {
165
+ if (this.elementAppender) {
166
+ this.elementAppender.destroy();
167
+ this.elementAppender = null;
168
+ }
169
+ }
167
170
  initElementAppender() {
168
171
  this.setShowConfig();
169
172
  this.setElementAppender();
@@ -107,9 +107,11 @@ describe('ElementAppender slimmer test suite', () => {
107
107
  expect(mockedComponent.isDropdownShow).toBeFalsy();
108
108
  expect(mockedComponent.getElementAppender()['undefinedAttribute']).toEqual(undefined);
109
109
  expect(mockedComponent.appendableElement).toHaveClass('vega-force-hidden');
110
+ spyOn(element, 'remove').and.callThrough();
110
111
  mockedComponent.destroy();
111
112
  expect(mockedComponent.getElementAppender()).toBeNull();
112
113
  expect(mockedComponent.isDropdownShow).toBeFalsy();
114
+ expect(element.remove).toBeCalledTimes(1);
113
115
  });
114
116
  test('should listen event proper while trigger is click', () => {
115
117
  const mockedComponent = new MockedComponent();
@@ -118,6 +118,7 @@ export class ElementAppender {
118
118
  if (!this.showConfig)
119
119
  return;
120
120
  this.removeVisibleAppendElement(this.showConfig.appendableElement);
121
+ this.resetContainerPosition();
121
122
  InternalVegaZIndexManager.removeZIndex(this.showConfig.appendableElement, 'base');
122
123
  this.showConfig.appendableElement.remove();
123
124
  this.disconnectResizeObserver();
@@ -211,6 +212,7 @@ export class ElementAppender {
211
212
  if (!this.showConfig.isScreenPosition) {
212
213
  this.initVisibleAppendElement();
213
214
  }
215
+ this.showConfig.appendableElement.classList.add('vega-element-appender-appendable');
214
216
  this.showConfig.appendableElement.style.boxSizing = 'border-box';
215
217
  this.positionCalculationController.setCalculationStrategy();
216
218
  }
@@ -23,7 +23,7 @@ test('return result as expect when call show', () => {
23
23
  drop1.show();
24
24
  expect(document.body).toEqualHtml(`
25
25
  <div class="test-parent-host"><div class="test-host"></div></div>
26
- <div class="dropdown vega-placement-bottom vega-alignment-start" style="box-sizing: border-box; left: 0px; top: 0px; z-index: 10001;"></div>
26
+ <div class="dropdown vega-element-appender-appendable vega-placement-bottom vega-alignment-start" style="box-sizing: border-box; left: 0px; top: 0px; z-index: 10001;"></div>
27
27
  `);
28
28
  drop1.hide();
29
29
  spyOn(target, 'getBoundingClientRect').and.returnValue({
@@ -42,7 +42,7 @@ test('return result as expect when call show', () => {
42
42
  drop2.show();
43
43
  expect(document.body).toEqualHtml(`
44
44
  <div class="test-parent-host"><div class="test-host"></div></div>
45
- <div class="dropdown vega-placement-top vega-alignment-start" style=" box-sizing: border-box; left: 20px; top: 100px; width: 200px; z-index: 10001;"></div>
45
+ <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style=" box-sizing: border-box; left: 20px; top: 100px; width: 200px; z-index: 10001;"></div>
46
46
  `);
47
47
  drop2.hide();
48
48
  const drop3 = new ElementAppender({
@@ -105,7 +105,7 @@ test('return result as expect when call hide', () => {
105
105
  drop.hide();
106
106
  expect(document.body).toEqualHtml(`
107
107
  <div class="test-parent-host"><div class="test-host"></div></div>
108
- <div class="dropdown vega-placement-bottom vega-alignment-start vega-force-hidden" style="box-sizing: border-box; left: 0px; top: 0px;"></div>
108
+ <div class="dropdown vega-element-appender-appendable vega-placement-bottom vega-alignment-start vega-force-hidden" style="box-sizing: border-box; left: 0px; top: 0px;"></div>
109
109
  `);
110
110
  });
111
111
  test('should not change css position in body when is not static', () => {
@@ -151,6 +151,7 @@ test('return result as expect when call destroy', () => {
151
151
  expect(document.body).toEqualHtml(`
152
152
  <div class="test-parent-host"><div class="test-host"></div></div>
153
153
  `);
154
+ expect(document.body.style.position).toEqual('static');
154
155
  });
155
156
  test('content should append to body while not in modal', () => {
156
157
  const target = document.createElement('vega-input-select');
@@ -164,7 +165,7 @@ test('content should append to body while not in modal', () => {
164
165
  drop.show();
165
166
  expect(document.body).toEqualHtml(`
166
167
  <vega-input-select></vega-input-select>
167
- <div class="dropdown vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: 0px; top: 0px; z-index: 10001;"></div
168
+ <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: 0px; top: 0px; z-index: 10001;"></div
168
169
  `);
169
170
  drop.hide();
170
171
  });
@@ -190,7 +191,7 @@ test('content should append to modal while in modal', () => {
190
191
  <div class="modal-dialog"></div>
191
192
  </mock:shadow-root>
192
193
  <vega-input-select slot="content"></vega-input-select>
193
- <div class="dropdown vega-alignment-start vega-placement-top" slot="content" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
194
+ <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" slot="content" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
194
195
  </vega-modal>`);
195
196
  drop.hide();
196
197
  });
@@ -211,7 +212,7 @@ test('content append proper while positionRelativeTo set', () => {
211
212
  expect(document.body).toEqualHtml(`
212
213
  <div id="container">
213
214
  <vega-input-select></vega-input-select>
214
- <div class="dropdown vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
215
+ <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
215
216
  </div>
216
217
  `);
217
218
  drop.hide();
@@ -242,7 +243,7 @@ test('content should append to modal content while in scroll modal content', ()
242
243
  </div>
243
244
  </mock:shadow-root>
244
245
  <vega-input-select></vega-input-select>
245
- <div class="dropdown vega-alignment-start vega-placement-top" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
246
+ <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
246
247
  </vega-modal>`);
247
248
  drop.hide();
248
249
  });
@@ -265,7 +266,7 @@ test('content should append to popover content while in scroll modal content', (
265
266
  <vega-modal>
266
267
  <vega-popover class="vega-popover">
267
268
  <vega-input-select></vega-input-select>
268
- <div class="dropdown vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
269
+ <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
269
270
  </vega-popover>
270
271
  </vega-modal>
271
272
  `);
@@ -354,7 +355,7 @@ test('return result as expect when max/min width set', () => {
354
355
  element.style.removeProperty('z-index');
355
356
  expect(document.body).toEqualHtml(`
356
357
  <div class="test-parent-host"><div class="test-host"></div></div>
357
- <div class="dropdown vega-placement-top vega-alignment-start" style="box-sizing: border-box; min-width: 100px; max-width: 300px; left: 0px; top: 0px;"></div>
358
+ <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; min-width: 100px; max-width: 300px; left: 0px; top: 0px;"></div>
358
359
  `);
359
360
  drop.hide();
360
361
  });
@@ -448,7 +449,7 @@ describe('screen position', () => {
448
449
  });
449
450
  drop1.show();
450
451
  expect(element).toEqualHtml(`
451
- <div class="dropdown vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: 50px; z-index: 10001;"></div>
452
+ <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: 50px; z-index: 10001;"></div>
452
453
  `);
453
454
  drop1['previousTargetRect'] = {
454
455
  left: 10,
@@ -456,7 +457,7 @@ describe('screen position', () => {
456
457
  };
457
458
  drop1.onScroll();
458
459
  expect(element).toEqualHtml(`
459
- <div class="dropdown vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: 50px; z-index: 10001;"></div>
460
+ <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: 50px; z-index: 10001;"></div>
460
461
  `);
461
462
  drop1['previousTargetRect'] = {
462
463
  left: 100,
@@ -472,7 +473,7 @@ describe('screen position', () => {
472
473
  drop1['previousTargetRect'] = undefined;
473
474
  drop1.onScroll();
474
475
  expect(element).toEqualHtml(`
475
- <div class="dropdown vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: -10px; z-index: 10001;"></div>
476
+ <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" style="box-sizing: border-box; position: fixed; left: 100px; top: -10px; z-index: 10001;"></div>
476
477
  `);
477
478
  });
478
479
  });
@@ -13,6 +13,7 @@ import { InjectVegaSlimmer, createDynamicSlimmer, methodPlaceholder } from 'vega
13
13
  import { FieldErrorUIControllerSlimmer } from '../slimmers/field-error-ui-controller-slimmer';
14
14
  import { PageResizeObserverSlimmer } from '../slimmers/page-resize-observer-slimmer';
15
15
  import { FormFieldMessageTranslatorSlimmer } from '../slimmers/form-field-message-translator';
16
+ import { InternalFormFieldValidationRule } from './rules/internal-form-field-validation-rule.abstract';
16
17
  /**
17
18
  * The FormFieldController class is a class that validates the value of an input elements
18
19
  *
@@ -152,7 +153,11 @@ export class FormFieldController {
152
153
  * @returns {FormFieldValidationRule<number | string | boolean>[]} An array of FormFieldValidationRule<T>
153
154
  */
154
155
  getRules() {
155
- return [...this.defaultRules, ...this.additionalRules];
156
+ const additionalRules = [...this.additionalRules];
157
+ const overriddenDefaultRules = this.defaultRules.map((rule) => {
158
+ return this.overrideDefaultRuleByAdditionalRule(rule, additionalRules);
159
+ });
160
+ return [...overriddenDefaultRules, ...additionalRules];
156
161
  }
157
162
  /**
158
163
  * Set the default rules for the form field.
@@ -441,6 +446,28 @@ export class FormFieldController {
441
446
  return isEnterKey;
442
447
  }
443
448
  }
449
+ /**
450
+ * It overrides the default rule by checking if the additional rules contain a custom rule that overrides.
451
+ * If it does, it returns that additional rule, and the rule will be removed from the additional rules array.
452
+ * otherwise, it returns the default rule.
453
+ *
454
+ * @param {InternalFormFieldValidationRule} defaultRule - The rule to be overridden.
455
+ * @param {FormFieldValidationRule[]} additionalRules - The additional rules to be applied.
456
+ * @returns {FormFieldValidationRule} The overridden rule.
457
+ */
458
+ overrideDefaultRuleByAdditionalRule(defaultRule, additionalRules) {
459
+ if (defaultRule && additionalRules) {
460
+ const customRuleIndex = additionalRules.findIndex((customRule) => {
461
+ return (customRule instanceof InternalFormFieldValidationRule &&
462
+ customRule instanceof defaultRule.constructor &&
463
+ customRule.overrideDefault);
464
+ });
465
+ if (customRuleIndex > -1) {
466
+ return additionalRules.splice(customRuleIndex, 1)[0];
467
+ }
468
+ }
469
+ return defaultRule;
470
+ }
444
471
  }
445
472
  __decorate([
446
473
  InjectVegaSlimmer()
@@ -0,0 +1,10 @@
1
+ export { CheckBoxRequiredRule } from './rules/check-box-required-rule';
2
+ export { DateRequiredRule } from './rules/date-required-rule';
3
+ export { InputPhoneNumberRequiredRule } from './rules/input-phone-number-required-rule';
4
+ export { InputRangeRequiredRule } from './rules/input-range-required-rule';
5
+ export { RequiredFieldRule } from './rules/required-field-rule';
6
+ export { RichTextEditorRequiredRule } from './rules/rich-text-editor-required-rule';
7
+ export { TimeRangeRequiredRule } from './rules/time-range-required-rule';
8
+ export { TimeRequiredRule } from './rules/time-required-rule';
9
+ export { ToggleSwitchRequiredRule } from './rules/toggle-switch-required-rule';
10
+ export { FileUploaderRequiredRule } from './rules/file-uploader-required-rule';
@@ -1,15 +1,16 @@
1
+ import { InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract';
1
2
  /**
2
3
  * A rule that checks if a string is empty or not
3
4
  *
4
- * @implements {FormFieldValidationRule<string>}
5
+ * @augments {InternalFormFieldValidationRule<string>}
5
6
  */
6
- export class CheckBoxRequiredRule {
7
+ export class CheckBoxRequiredRule extends InternalFormFieldValidationRule {
7
8
  /**
8
9
  * If the input is a boolean, return a boolean. If the input is a string, return a boolean. If the
9
10
  * input is anything else, return false
10
11
  *
11
12
  * @param {string | boolean} input - The input to be evaluated.
12
- * @returns {EvaluateResultTranslation} - An object with two properties: isValid and message.
13
+ * @returns {EvaluateResult} - An object with two properties: isValid and message.
13
14
  */
14
15
  evaluate(input) {
15
16
  if (typeof input === 'boolean') {
@@ -1,8 +1,9 @@
1
1
  import { isDateStr, compareIsSameOrBefore } from '../../../utils/date';
2
+ import { InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract';
2
3
  /**
3
4
  * A rule that checks if start date is before than end date
4
5
  */
5
- export class DateRangeRule {
6
+ export class DateRangeRule extends InternalFormFieldValidationRule {
6
7
  /**
7
8
  * If the input is accepted and the status is not disabled and visible, then return true
8
9
  *
@@ -1,10 +1,11 @@
1
1
  import { isDateStr } from '../../../utils/date';
2
+ import { InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract';
2
3
  /**
3
4
  * A rule that checks if date is empty or not
4
5
  *
5
- * @implements {FormFieldValidationRule<string | string[]>}
6
+ * @augments {InternalFormFieldValidationRule<string | string[]>}
6
7
  */
7
- export class DateRequiredRule {
8
+ export class DateRequiredRule extends InternalFormFieldValidationRule {
8
9
  /**
9
10
  * It creates a new instance of the class with the given config.
10
11
  *
@@ -12,6 +13,7 @@ export class DateRequiredRule {
12
13
  * @param {'single' | 'range'} config.mode - The mode for date value
13
14
  */
14
15
  constructor(config) {
16
+ super();
15
17
  this.config = config;
16
18
  }
17
19
  /**
@@ -19,7 +21,7 @@ export class DateRequiredRule {
19
21
  * Otherwise, return an object with a boolean indicating whether the input is valid and a message to display to the user
20
22
  *
21
23
  * @param {string | string[]} input - The value of the input field.
22
- * @returns {EvaluateResultTranslation} An object with two properties: isValid and message.
24
+ * @returns {EvaluateResult} An object with two properties: isValid and message.
23
25
  */
24
26
  evaluate(input) {
25
27
  if (!this.isAcceptedInputType(input)) {