@ptcwebops/ptcw-design 2.5.2 → 2.5.4

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 (640) hide show
  1. package/LICENSE +21 -21
  2. package/dist/cjs/author-listing-example.cjs.entry.js +232 -232
  3. package/dist/cjs/bundle-example.cjs.entry.js +31 -31
  4. package/dist/cjs/bundle-jumbotron-example.cjs.entry.js +40 -40
  5. package/dist/cjs/{core-1951cc85.js → core-332e5461.js} +29 -91
  6. package/dist/cjs/dropdown-item.cjs.entry.js +11 -11
  7. package/dist/cjs/dynamic-box-bundle.cjs.entry.js +26 -26
  8. package/dist/cjs/featured-list.cjs.entry.js +84 -84
  9. package/dist/cjs/fl-tab-content_3.cjs.entry.js +41 -41
  10. package/dist/cjs/icon-asset.cjs.entry.js +43 -43
  11. package/dist/cjs/{index-dddc2aea.js → index-1662de74.js} +1 -72
  12. package/dist/cjs/innovator-toggle-container.cjs.entry.js +22 -22
  13. package/dist/cjs/{interfaces-0ecd8027.js → interfaces-574e6df7.js} +9 -9
  14. package/dist/cjs/list-item.cjs.entry.js +23 -23
  15. package/dist/cjs/loader.cjs.js +3 -3
  16. package/dist/cjs/max-width-container.cjs.entry.js +44 -44
  17. package/dist/cjs/my-component.cjs.entry.js +16 -16
  18. package/dist/cjs/{pagination-d20b7968.js → pagination-8d9d474d.js} +6 -24
  19. package/dist/cjs/ptc-accordion-item.cjs.entry.js +85 -85
  20. package/dist/cjs/ptc-accordion.cjs.entry.js +40 -40
  21. package/dist/cjs/ptc-announcement.cjs.entry.js +53 -53
  22. package/dist/cjs/ptc-back-to-top.cjs.entry.js +36 -36
  23. package/dist/cjs/ptc-background-video.cjs.entry.js +58 -58
  24. package/dist/cjs/ptc-bio-card.cjs.entry.js +25 -25
  25. package/dist/cjs/ptc-breadcrumb_2.cjs.entry.js +121 -121
  26. package/dist/cjs/ptc-button.cjs.entry.js +40 -40
  27. package/dist/cjs/ptc-card-bottom_3.cjs.entry.js +124 -124
  28. package/dist/cjs/ptc-card-content.cjs.entry.js +58 -58
  29. package/dist/cjs/ptc-card.cjs.entry.js +79 -74
  30. package/dist/cjs/ptc-case-studies-slider.cjs.entry.js +83 -92
  31. package/dist/cjs/ptc-checkbox.cjs.entry.js +51 -51
  32. package/dist/cjs/ptc-collapse-list.cjs.entry.js +398 -398
  33. package/dist/cjs/ptc-container.cjs.entry.js +34 -34
  34. package/dist/cjs/ptc-date.cjs.entry.js +51 -51
  35. package/dist/cjs/ptc-dropdown.cjs.entry.js +65 -65
  36. package/dist/cjs/ptc-dynamic-card.cjs.entry.js +48 -48
  37. package/dist/cjs/ptc-ellipsis-dropdown.cjs.entry.js +47 -47
  38. package/dist/cjs/ptc-featured-list.cjs.entry.js +83 -83
  39. package/dist/cjs/ptc-filter-tag.cjs.entry.js +58 -58
  40. package/dist/cjs/ptc-hero-footer-cta.cjs.entry.js +12 -12
  41. package/dist/cjs/ptc-hero.cjs.entry.js +19 -19
  42. package/dist/cjs/ptc-icon-component.cjs.entry.js +63 -63
  43. package/dist/cjs/ptc-icon-list.cjs.entry.js +22 -22
  44. package/dist/cjs/ptc-icon-minimize.cjs.entry.js +44 -44
  45. package/dist/cjs/ptc-image-download-strip.cjs.entry.js +19 -19
  46. package/dist/cjs/ptc-img.cjs.entry.js +123 -123
  47. package/dist/cjs/ptc-link.cjs.entry.js +34 -34
  48. package/dist/cjs/ptc-list.cjs.entry.js +50 -50
  49. package/dist/cjs/ptc-media-card.cjs.entry.js +59 -59
  50. package/dist/cjs/ptc-minimized-nav.cjs.entry.js +13 -13
  51. package/dist/cjs/ptc-mobile-select.cjs.entry.js +148 -166
  52. package/dist/cjs/ptc-modal.cjs.entry.js +151 -151
  53. package/dist/cjs/ptc-nav-card.cjs.entry.js +37 -37
  54. package/dist/cjs/ptc-nav-link.cjs.entry.js +38 -38
  55. package/dist/cjs/ptc-nav-pills.cjs.entry.js +9 -9
  56. package/dist/cjs/ptc-nav-slider.cjs.entry.js +91 -91
  57. package/dist/cjs/ptc-nav-submenu.cjs.entry.js +39 -39
  58. package/dist/cjs/ptc-news.cjs.entry.js +25 -25
  59. package/dist/cjs/ptc-overlay.cjs.entry.js +24 -24
  60. package/dist/cjs/ptc-pagenation.cjs.entry.js +307 -307
  61. package/dist/cjs/ptc-para.cjs.entry.js +52 -52
  62. package/dist/cjs/ptc-picture.cjs.entry.js +153 -153
  63. package/dist/cjs/ptc-podcast-card.cjs.entry.js +12 -12
  64. package/dist/cjs/ptc-previous-url.cjs.entry.js +12 -12
  65. package/dist/cjs/ptc-pricing-add-on-card.cjs.entry.js +17 -17
  66. package/dist/cjs/ptc-pricing-add-on-section.cjs.entry.js +40 -40
  67. package/dist/cjs/ptc-pricing-block.cjs.entry.js +21 -21
  68. package/dist/cjs/ptc-pricing-table.cjs.entry.js +510 -510
  69. package/dist/cjs/ptc-pricing-tabs.cjs.entry.js +125 -125
  70. package/dist/cjs/ptc-product-card.cjs.entry.js +23 -23
  71. package/dist/cjs/ptc-product-category.cjs.entry.js +11 -11
  72. package/dist/cjs/ptc-product-dropdown.cjs.entry.js +70 -70
  73. package/dist/cjs/ptc-product-highlight-card.cjs.entry.js +13 -13
  74. package/dist/cjs/ptc-product-list.cjs.entry.js +141 -141
  75. package/dist/cjs/ptc-product-sidebar.cjs.entry.js +129 -129
  76. package/dist/cjs/ptc-progress-bar.cjs.entry.js +17 -17
  77. package/dist/cjs/ptc-quiz.cjs.entry.js +73 -73
  78. package/dist/cjs/ptc-quote.cjs.entry.js +24 -24
  79. package/dist/cjs/ptc-readmore-char.cjs.entry.js +25 -25
  80. package/dist/cjs/ptc-readmore.cjs.entry.js +78 -78
  81. package/dist/cjs/ptc-related-card-rail.cjs.entry.js +150 -150
  82. package/dist/cjs/ptc-responsive-wrapper.cjs.entry.js +55 -55
  83. package/dist/cjs/ptc-search-field.cjs.entry.js +72 -72
  84. package/dist/cjs/ptc-shopping-cart.cjs.entry.js +51 -51
  85. package/dist/cjs/ptc-slit-card.cjs.entry.js +26 -26
  86. package/dist/cjs/ptc-social-share.cjs.entry.js +70 -70
  87. package/dist/cjs/ptc-spacer.cjs.entry.js +28 -28
  88. package/dist/cjs/ptc-span.cjs.entry.js +21 -21
  89. package/dist/cjs/ptc-square-card.cjs.entry.js +11 -11
  90. package/dist/cjs/ptc-sticky-icons.cjs.entry.js +33 -33
  91. package/dist/cjs/ptc-sticky-section.cjs.entry.js +31 -31
  92. package/dist/cjs/ptc-sticky-title.cjs.entry.js +24 -24
  93. package/dist/cjs/ptc-subnav-card.cjs.entry.js +16 -16
  94. package/dist/cjs/ptc-subnav.cjs.entry.js +24 -24
  95. package/dist/cjs/ptc-svg-btn.cjs.entry.js +96 -96
  96. package/dist/cjs/ptc-tab-list.cjs.entry.js +142 -142
  97. package/dist/cjs/ptc-tab.cjs.entry.js +21 -21
  98. package/dist/cjs/ptc-tabs.cjs.entry.js +48 -48
  99. package/dist/cjs/ptc-text-copy-with-background.cjs.entry.js +44 -44
  100. package/dist/cjs/ptc-title.cjs.entry.js +68 -68
  101. package/dist/cjs/ptc-tooltip.cjs.entry.js +96 -96
  102. package/dist/cjs/ptc-two-column-media.cjs.entry.js +16 -16
  103. package/dist/cjs/ptc-value-prop-card.cjs.entry.js +14 -14
  104. package/dist/cjs/ptcw-design.cjs.js +3 -3
  105. package/dist/cjs/sequential-bundle-example.cjs.entry.js +110 -110
  106. package/dist/cjs/sequential-bundle.cjs.entry.js +90 -90
  107. package/dist/cjs/tab-content.cjs.entry.js +28 -28
  108. package/dist/cjs/tab-header.cjs.entry.js +65 -65
  109. package/dist/cjs/{utils-416c94fe.js → utils-9eb22041.js} +90 -90
  110. package/dist/collection/collection-manifest.json +1 -1
  111. package/dist/collection/components/dropdown-item/dropdown-item.js +61 -61
  112. package/dist/collection/components/dynamic-box-bundle/dynamic-box-bundle.js +114 -114
  113. package/dist/collection/components/icon-asset/icon-asset.css +4 -4
  114. package/dist/collection/components/icon-asset/icon-asset.js +199 -199
  115. package/dist/collection/components/icon-asset/media/brands.svg +1381 -1381
  116. package/dist/collection/components/icon-asset/media/designer.svg +489 -489
  117. package/dist/collection/components/icon-asset/media/regular.svg +463 -463
  118. package/dist/collection/components/icon-asset/media/solid.svg +3016 -3016
  119. package/dist/collection/components/icon-asset/media/svg-with-js.min.css +4 -4
  120. package/dist/collection/components/innovator-toggle-container/innovator-toggle-container.js +89 -89
  121. package/dist/collection/components/list-item/list-item.js +144 -144
  122. package/dist/collection/components/max-width-container/max-width-container.css +11 -11
  123. package/dist/collection/components/max-width-container/max-width-container.js +146 -146
  124. package/dist/collection/components/my-component/my-component.css +3 -3
  125. package/dist/collection/components/my-component/my-component.js +82 -82
  126. package/dist/collection/components/organism-bundles/author-listing-example/author-listing-example.css +69 -69
  127. package/dist/collection/components/organism-bundles/author-listing-example/author-listing-example.js +281 -281
  128. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.css +25 -25
  129. package/dist/collection/components/organism-bundles/bundle-example/bundle-example.js +58 -58
  130. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.css +218 -218
  131. package/dist/collection/components/organism-bundles/bundle-featured-list/featured-list.js +115 -115
  132. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.css +3 -3
  133. package/dist/collection/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.js +91 -91
  134. package/dist/collection/components/organism-bundles/sequential-bundle/sequential-bundle.js +116 -116
  135. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.css +92 -92
  136. package/dist/collection/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.js +160 -160
  137. package/dist/collection/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.js +306 -306
  138. package/dist/collection/components/ptc-accordion/ptc-accordion.js +100 -100
  139. package/dist/collection/components/ptc-announcement/ptc-announcement.js +274 -274
  140. package/dist/collection/components/ptc-back-to-top/ptc-back-to-top.js +61 -61
  141. package/dist/collection/components/ptc-background-video/ptc-background-video.js +200 -200
  142. package/dist/collection/components/ptc-bio-card/ptc-bio-card.js +130 -130
  143. package/dist/collection/components/ptc-breadcrumb/ptc-breadcrumb.js +105 -105
  144. package/dist/collection/components/ptc-button/ptc-button.js +304 -304
  145. package/dist/collection/components/ptc-card/ptc-card.css +5 -0
  146. package/dist/collection/components/ptc-card/ptc-card.js +442 -419
  147. package/dist/collection/components/ptc-card-bottom/ptc-card-bottom.js +116 -116
  148. package/dist/collection/components/ptc-card-content/ptc-card-content.js +212 -212
  149. package/dist/collection/components/ptc-card-wrapper/ptc-card-wrapper.js +232 -232
  150. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.css +2 -2
  151. package/dist/collection/components/ptc-case-studies-slider/ptc-case-studies-slider.js +91 -91
  152. package/dist/collection/components/ptc-checkbox/ptc-checkbox.js +152 -152
  153. package/dist/collection/components/ptc-collapse-list/ptc-collapse-list.js +639 -639
  154. package/dist/collection/components/ptc-container/ptc-container.js +138 -138
  155. package/dist/collection/components/ptc-date/ptc-date.js +224 -224
  156. package/dist/collection/components/ptc-dropdown/ptc-dropdown.js +162 -162
  157. package/dist/collection/components/ptc-dynamic-card/media/nav-active-dotslick.svg +15 -15
  158. package/dist/collection/components/ptc-dynamic-card/ptc-dynamic-card.js +174 -174
  159. package/dist/collection/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.js +137 -137
  160. package/dist/collection/components/ptc-featured-list/fl-tab-content/fl-tab-content.js +61 -61
  161. package/dist/collection/components/ptc-featured-list/fl-tab-header/fl-tab-header.js +105 -105
  162. package/dist/collection/components/ptc-featured-list/fl-tab-image/fl-tab-image.js +61 -61
  163. package/dist/collection/components/ptc-featured-list/ptc-featured-list.js +115 -115
  164. package/dist/collection/components/ptc-filter-tag/ptc-filter-tag.js +113 -113
  165. package/dist/collection/components/ptc-hero/ptc-hero.js +86 -86
  166. package/dist/collection/components/ptc-hero-footer-cta/ptc-hero-footer-cta.js +78 -78
  167. package/dist/collection/components/ptc-icon-component/ptc-icon-component.css +2 -2
  168. package/dist/collection/components/ptc-icon-component/ptc-icon-component.js +87 -87
  169. package/dist/collection/components/ptc-icon-list/ptc-icon-list.js +127 -127
  170. package/dist/collection/components/ptc-icon-minimize/ptc-icon-minimize.js +119 -119
  171. package/dist/collection/components/ptc-image-download-strip/ptc-image-download-strip.js +51 -51
  172. package/dist/collection/components/ptc-img/ptc-img.js +311 -311
  173. package/dist/collection/components/ptc-jumbotron/ptc-jumbotron.js +326 -326
  174. package/dist/collection/components/ptc-link/ptc-link.js +207 -207
  175. package/dist/collection/components/ptc-list/ptc-list.js +99 -99
  176. package/dist/collection/components/ptc-media-card/ptc-media-card.js +240 -240
  177. package/dist/collection/components/ptc-minimized-nav/ptc-minimized-nav.js +100 -100
  178. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.css +2 -7
  179. package/dist/collection/components/ptc-mobile-select/ptc-mobile-select.js +199 -199
  180. package/dist/collection/components/ptc-modal/ptc-modal.js +407 -407
  181. package/dist/collection/components/ptc-nav-card/ptc-nav-card.js +224 -224
  182. package/dist/collection/components/ptc-nav-pills/ptc-nav-pills.js +18 -18
  183. package/dist/collection/components/ptc-news/ptc-news.js +176 -176
  184. package/dist/collection/components/ptc-overlay/ptc-overlay.js +131 -131
  185. package/dist/collection/components/ptc-pagenation/ptc-pagenation.js +573 -573
  186. package/dist/collection/components/ptc-para/ptc-para.js +242 -242
  187. package/dist/collection/components/ptc-picture/ptc-picture.js +500 -500
  188. package/dist/collection/components/ptc-podcast-card/ptc-podcast-card.js +78 -78
  189. package/dist/collection/components/ptc-previous-url/ptc-previous-url.js +78 -78
  190. package/dist/collection/components/ptc-pricing-add-on-card/ptc-pricing-add-on-card.js +120 -120
  191. package/dist/collection/components/ptc-pricing-add-on-section/ptc-pricing-add-on-section.js +76 -76
  192. package/dist/collection/components/ptc-pricing-block/ptc-pricing-block.js +70 -70
  193. package/dist/collection/components/ptc-pricing-table/ptc-pricing-table.js +664 -664
  194. package/dist/collection/components/ptc-pricing-tabs/ptc-pricing-tabs.js +272 -272
  195. package/dist/collection/components/ptc-product-card/ptc-product-card.js +162 -162
  196. package/dist/collection/components/ptc-product-category/ptc-product-category.js +60 -60
  197. package/dist/collection/components/ptc-product-dropdown/ptc-product-dropdown.js +185 -185
  198. package/dist/collection/components/ptc-product-highlight-card/ptc-product-highlight-card.js +96 -96
  199. package/dist/collection/components/ptc-product-list/ptc-product-list.js +194 -194
  200. package/dist/collection/components/ptc-product-sidebar/ptc-product-sidebar.js +252 -252
  201. package/dist/collection/components/ptc-progress-bar/ptc-progress-bar.js +42 -42
  202. package/dist/collection/components/ptc-quiz/ptc-quiz.js +92 -92
  203. package/dist/collection/components/ptc-quote/ptc-quote.js +144 -144
  204. package/dist/collection/components/ptc-readmore/ptc-readmore.js +302 -302
  205. package/dist/collection/components/ptc-readmore-char/ptc-readmore-char.js +133 -133
  206. package/dist/collection/components/ptc-related-card-rail/ptc-related-card-rail.js +190 -190
  207. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.css +3 -3
  208. package/dist/collection/components/ptc-responsive-wrapper/ptc-responsive-wrapper.js +65 -65
  209. package/dist/collection/components/ptc-search-field/ptc-search-field.js +247 -247
  210. package/dist/collection/components/ptc-shopping-cart/ptc-shopping-cart.js +97 -97
  211. package/dist/collection/components/ptc-skeleton/ptc-skeleton.js +139 -139
  212. package/dist/collection/components/ptc-slit-card/ptc-slit-card.js +181 -181
  213. package/dist/collection/components/ptc-social-share/ptc-social-share.js +267 -267
  214. package/dist/collection/components/ptc-spacer/ptc-spacer.css +332 -332
  215. package/dist/collection/components/ptc-spacer/ptc-spacer.js +97 -97
  216. package/dist/collection/components/ptc-span/ptc-span.js +107 -107
  217. package/dist/collection/components/ptc-square-card/ptc-square-card.js +60 -60
  218. package/dist/collection/components/ptc-sticky-icons/ptc-sticky-icons.js +51 -51
  219. package/dist/collection/components/ptc-sticky-section/ptc-sticky-section.js +49 -49
  220. package/dist/collection/components/ptc-sticky-title/ptc-sticky-title.js +89 -89
  221. package/dist/collection/components/ptc-svg-btn/ptc-svg-btn.js +109 -109
  222. package/dist/collection/components/ptc-tab-list/ptc-tab-list.js +195 -195
  223. package/dist/collection/components/ptc-tabs/ptc-tab.js +121 -121
  224. package/dist/collection/components/ptc-tabs/ptc-tabs.js +104 -104
  225. package/dist/collection/components/ptc-text-copy-with-background/ptc-text-copy-with-background.js +199 -199
  226. package/dist/collection/components/ptc-title/ptc-title.js +310 -310
  227. package/dist/collection/components/ptc-tooltip/ptc-tooltip.js +342 -342
  228. package/dist/collection/components/ptc-two-column-media/ptc-two-column-media.js +48 -48
  229. package/dist/collection/components/ptc-value-prop-card/ptc-value-prop-card.js +117 -117
  230. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.css +4 -19
  231. package/dist/collection/components/subnav/ptc-nav-link/ptc-nav-link.js +114 -114
  232. package/dist/collection/components/subnav/ptc-nav-slider/ptc-nav-slider.js +133 -133
  233. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.css +50 -25
  234. package/dist/collection/components/subnav/ptc-nav-submenu/ptc-nav-submenu.js +121 -121
  235. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.css +28 -12
  236. package/dist/collection/components/subnav/ptc-subnav/ptc-subnav.js +70 -70
  237. package/dist/collection/components/subnav/ptc-subnav-card/ptc-subnav-card.js +133 -133
  238. package/dist/collection/components/tab-content/tab-content.js +84 -84
  239. package/dist/collection/components/tab-header/tab-header.js +182 -182
  240. package/dist/collection/index.js +1 -1
  241. package/dist/collection/media/svg-imgs/Back-arrow.svg +11 -11
  242. package/dist/collection/media/svg-imgs/close.svg +10 -10
  243. package/dist/collection/media/svg-imgs/nav-active-dotslick.svg +16 -16
  244. package/dist/collection/media/svg-imgs/play-button-dark.svg +20 -20
  245. package/dist/collection/media/svg-imgs/ptc-shopping-cart-black.svg +3 -3
  246. package/dist/collection/media/svg-imgs/ptc-shopping-cart-white.svg +3 -3
  247. package/dist/collection/media/svg-imgs/slider-arrow-left.svg +18 -18
  248. package/dist/collection/media/svg-imgs/slider-arrow-right.svg +18 -18
  249. package/dist/collection/media/svg-imgs/union.svg +3 -3
  250. package/dist/collection/stories/Accordian.stories.js +205 -205
  251. package/dist/collection/stories/Announcement.stories.js +64 -64
  252. package/dist/collection/stories/BackgroundImage.stories.js +81 -81
  253. package/dist/collection/stories/Breadcrumb.stories.js +50 -50
  254. package/dist/collection/stories/Button.stories.js +119 -119
  255. package/dist/collection/stories/Card.stories.js +234 -234
  256. package/dist/collection/stories/CardWrapper.stories.js +270 -270
  257. package/dist/collection/stories/Checkbox.stories.js +52 -52
  258. package/dist/collection/stories/Date.stories.js +81 -81
  259. package/dist/collection/stories/Dropdown.stories.js +48 -48
  260. package/dist/collection/stories/DynamicCard.stories.js +68 -68
  261. package/dist/collection/stories/FilterTag.stories.js +73 -73
  262. package/dist/collection/stories/Hero.stories.js +119 -119
  263. package/dist/collection/stories/Icon.stories.js +71 -71
  264. package/dist/collection/stories/IconList.stories.js +114 -114
  265. package/dist/collection/stories/IconMinimize.stories.js +40 -40
  266. package/dist/collection/stories/Link.stories.js +101 -101
  267. package/dist/collection/stories/ListItem.stories.js +59 -59
  268. package/dist/collection/stories/MaxWidthContainer.stories.js +32 -32
  269. package/dist/collection/stories/MinimizedHeader.stories.js +37 -37
  270. package/dist/collection/stories/MobileSelect.stories.js +79 -79
  271. package/dist/collection/stories/Modal.stories.js +105 -105
  272. package/dist/collection/stories/Overlay.stories.js +48 -48
  273. package/dist/collection/stories/Pagination.stories.js +101 -101
  274. package/dist/collection/stories/Paragraph.stories.js +95 -95
  275. package/dist/collection/stories/Picture.stories.js +139 -139
  276. package/dist/collection/stories/Quote.stories.js +107 -107
  277. package/dist/collection/stories/ReadMore.stories.js +100 -100
  278. package/dist/collection/stories/SocialShare.stories.js +66 -66
  279. package/dist/collection/stories/Spacer.stories.js +48 -48
  280. package/dist/collection/stories/Span.stories.js +57 -57
  281. package/dist/collection/stories/SvgButton.stories.js +34 -34
  282. package/dist/collection/stories/Tabs.stories.js +213 -213
  283. package/dist/collection/stories/TextCopyWithBackground.stories.js +237 -237
  284. package/dist/collection/stories/Title.stories.js +115 -115
  285. package/dist/collection/stories/Tooltip.stories.js +112 -112
  286. package/dist/collection/utils/component.js +3 -3
  287. package/dist/collection/utils/interfaces.js +11 -11
  288. package/dist/collection/utils/utils.js +92 -92
  289. package/dist/custom-elements/index.js +6828 -6930
  290. package/dist/esm/author-listing-example.entry.js +232 -232
  291. package/dist/esm/bundle-example.entry.js +31 -31
  292. package/dist/esm/bundle-jumbotron-example.entry.js +40 -40
  293. package/dist/esm/{core-209a2c67.js → core-73ab4867.js} +29 -91
  294. package/dist/esm/dropdown-item.entry.js +11 -11
  295. package/dist/esm/dynamic-box-bundle.entry.js +26 -26
  296. package/dist/esm/featured-list.entry.js +84 -84
  297. package/dist/esm/fl-tab-content_3.entry.js +41 -41
  298. package/dist/esm/icon-asset.entry.js +43 -43
  299. package/dist/esm/{index-8db28d54.js → index-22a84644.js} +1 -72
  300. package/dist/esm/innovator-toggle-container.entry.js +22 -22
  301. package/dist/esm/{interfaces-3cb94654.js → interfaces-4caedd26.js} +9 -9
  302. package/dist/esm/list-item.entry.js +23 -23
  303. package/dist/esm/loader.js +4 -4
  304. package/dist/esm/max-width-container.entry.js +44 -44
  305. package/dist/esm/my-component.entry.js +16 -16
  306. package/dist/esm/{pagination-3ddf3057.js → pagination-902de0b2.js} +6 -24
  307. package/dist/esm/polyfills/core-js.js +0 -0
  308. package/dist/esm/polyfills/dom.js +0 -0
  309. package/dist/esm/polyfills/es5-html-element.js +0 -0
  310. package/dist/esm/polyfills/index.js +0 -0
  311. package/dist/esm/polyfills/system.js +0 -0
  312. package/dist/esm/ptc-accordion-item.entry.js +85 -85
  313. package/dist/esm/ptc-accordion.entry.js +40 -40
  314. package/dist/esm/ptc-announcement.entry.js +53 -53
  315. package/dist/esm/ptc-back-to-top.entry.js +36 -36
  316. package/dist/esm/ptc-background-video.entry.js +58 -58
  317. package/dist/esm/ptc-bio-card.entry.js +25 -25
  318. package/dist/esm/ptc-breadcrumb_2.entry.js +121 -121
  319. package/dist/esm/ptc-button.entry.js +40 -40
  320. package/dist/esm/ptc-card-bottom_3.entry.js +124 -124
  321. package/dist/esm/ptc-card-content.entry.js +58 -58
  322. package/dist/esm/ptc-card.entry.js +79 -74
  323. package/dist/esm/ptc-case-studies-slider.entry.js +83 -92
  324. package/dist/esm/ptc-checkbox.entry.js +51 -51
  325. package/dist/esm/ptc-collapse-list.entry.js +398 -398
  326. package/dist/esm/ptc-container.entry.js +34 -34
  327. package/dist/esm/ptc-date.entry.js +51 -51
  328. package/dist/esm/ptc-dropdown.entry.js +65 -65
  329. package/dist/esm/ptc-dynamic-card.entry.js +48 -48
  330. package/dist/esm/ptc-ellipsis-dropdown.entry.js +47 -47
  331. package/dist/esm/ptc-featured-list.entry.js +83 -83
  332. package/dist/esm/ptc-filter-tag.entry.js +58 -58
  333. package/dist/esm/ptc-hero-footer-cta.entry.js +12 -12
  334. package/dist/esm/ptc-hero.entry.js +19 -19
  335. package/dist/esm/ptc-icon-component.entry.js +63 -63
  336. package/dist/esm/ptc-icon-list.entry.js +22 -22
  337. package/dist/esm/ptc-icon-minimize.entry.js +44 -44
  338. package/dist/esm/ptc-image-download-strip.entry.js +19 -19
  339. package/dist/esm/ptc-img.entry.js +123 -123
  340. package/dist/esm/ptc-link.entry.js +34 -34
  341. package/dist/esm/ptc-list.entry.js +50 -50
  342. package/dist/esm/ptc-media-card.entry.js +59 -59
  343. package/dist/esm/ptc-minimized-nav.entry.js +13 -13
  344. package/dist/esm/ptc-mobile-select.entry.js +148 -166
  345. package/dist/esm/ptc-modal.entry.js +151 -151
  346. package/dist/esm/ptc-nav-card.entry.js +37 -37
  347. package/dist/esm/ptc-nav-link.entry.js +38 -38
  348. package/dist/esm/ptc-nav-pills.entry.js +9 -9
  349. package/dist/esm/ptc-nav-slider.entry.js +91 -91
  350. package/dist/esm/ptc-nav-submenu.entry.js +39 -39
  351. package/dist/esm/ptc-news.entry.js +25 -25
  352. package/dist/esm/ptc-overlay.entry.js +24 -24
  353. package/dist/esm/ptc-pagenation.entry.js +307 -307
  354. package/dist/esm/ptc-para.entry.js +52 -52
  355. package/dist/esm/ptc-picture.entry.js +153 -153
  356. package/dist/esm/ptc-podcast-card.entry.js +12 -12
  357. package/dist/esm/ptc-previous-url.entry.js +12 -12
  358. package/dist/esm/ptc-pricing-add-on-card.entry.js +17 -17
  359. package/dist/esm/ptc-pricing-add-on-section.entry.js +40 -40
  360. package/dist/esm/ptc-pricing-block.entry.js +21 -21
  361. package/dist/esm/ptc-pricing-table.entry.js +510 -510
  362. package/dist/esm/ptc-pricing-tabs.entry.js +125 -125
  363. package/dist/esm/ptc-product-card.entry.js +23 -23
  364. package/dist/esm/ptc-product-category.entry.js +11 -11
  365. package/dist/esm/ptc-product-dropdown.entry.js +70 -70
  366. package/dist/esm/ptc-product-highlight-card.entry.js +13 -13
  367. package/dist/esm/ptc-product-list.entry.js +141 -141
  368. package/dist/esm/ptc-product-sidebar.entry.js +129 -129
  369. package/dist/esm/ptc-progress-bar.entry.js +17 -17
  370. package/dist/esm/ptc-quiz.entry.js +73 -73
  371. package/dist/esm/ptc-quote.entry.js +24 -24
  372. package/dist/esm/ptc-readmore-char.entry.js +25 -25
  373. package/dist/esm/ptc-readmore.entry.js +78 -78
  374. package/dist/esm/ptc-related-card-rail.entry.js +150 -150
  375. package/dist/esm/ptc-responsive-wrapper.entry.js +55 -55
  376. package/dist/esm/ptc-search-field.entry.js +72 -72
  377. package/dist/esm/ptc-shopping-cart.entry.js +51 -51
  378. package/dist/esm/ptc-slit-card.entry.js +26 -26
  379. package/dist/esm/ptc-social-share.entry.js +70 -70
  380. package/dist/esm/ptc-spacer.entry.js +28 -28
  381. package/dist/esm/ptc-span.entry.js +21 -21
  382. package/dist/esm/ptc-square-card.entry.js +11 -11
  383. package/dist/esm/ptc-sticky-icons.entry.js +33 -33
  384. package/dist/esm/ptc-sticky-section.entry.js +31 -31
  385. package/dist/esm/ptc-sticky-title.entry.js +24 -24
  386. package/dist/esm/ptc-subnav-card.entry.js +16 -16
  387. package/dist/esm/ptc-subnav.entry.js +24 -24
  388. package/dist/esm/ptc-svg-btn.entry.js +96 -96
  389. package/dist/esm/ptc-tab-list.entry.js +142 -142
  390. package/dist/esm/ptc-tab.entry.js +21 -21
  391. package/dist/esm/ptc-tabs.entry.js +48 -48
  392. package/dist/esm/ptc-text-copy-with-background.entry.js +44 -44
  393. package/dist/esm/ptc-title.entry.js +68 -68
  394. package/dist/esm/ptc-tooltip.entry.js +96 -96
  395. package/dist/esm/ptc-two-column-media.entry.js +16 -16
  396. package/dist/esm/ptc-value-prop-card.entry.js +14 -14
  397. package/dist/esm/ptcw-design.js +4 -4
  398. package/dist/esm/sequential-bundle-example.entry.js +110 -110
  399. package/dist/esm/sequential-bundle.entry.js +90 -90
  400. package/dist/esm/tab-content.entry.js +28 -28
  401. package/dist/esm/tab-header.entry.js +65 -65
  402. package/dist/esm/{utils-f937097d.js → utils-38decc43.js} +90 -90
  403. package/dist/ptcw-design/media/brands.svg +1381 -1381
  404. package/dist/ptcw-design/media/designer.svg +489 -489
  405. package/dist/ptcw-design/media/nav-active-dotslick.svg +15 -15
  406. package/dist/ptcw-design/media/regular.svg +463 -463
  407. package/dist/ptcw-design/media/solid.svg +3016 -3016
  408. package/dist/ptcw-design/media/svg-with-js.min.css +4 -4
  409. package/dist/ptcw-design/{p-75b447c8.entry.js → p-0074d97c.entry.js} +1 -1
  410. package/dist/ptcw-design/{p-813a2a19.entry.js → p-01387eb8.entry.js} +1 -1
  411. package/dist/ptcw-design/{p-5ad17a7a.entry.js → p-029f9072.entry.js} +1 -1
  412. package/dist/ptcw-design/{p-298fd719.entry.js → p-0532c37c.entry.js} +1 -1
  413. package/dist/ptcw-design/{p-af7e6116.entry.js → p-056b652a.entry.js} +1 -1
  414. package/dist/ptcw-design/{p-22e77c7c.entry.js → p-06f99e11.entry.js} +1 -1
  415. package/dist/ptcw-design/{p-bd3b4619.entry.js → p-0f3f83d3.entry.js} +1 -1
  416. package/dist/ptcw-design/{p-f5d52d72.entry.js → p-10254985.entry.js} +1 -1
  417. package/dist/ptcw-design/{p-c9dc2627.entry.js → p-102ee83c.entry.js} +1 -1
  418. package/dist/ptcw-design/{p-445c9b3d.entry.js → p-12acb46f.entry.js} +1 -1
  419. package/dist/ptcw-design/{p-019ee040.entry.js → p-15e08cba.entry.js} +1 -1
  420. package/dist/ptcw-design/{p-066dc775.entry.js → p-17fd5641.entry.js} +1 -1
  421. package/dist/ptcw-design/{p-9789d2c9.entry.js → p-189c7c5a.entry.js} +1 -1
  422. package/dist/ptcw-design/{p-06b9d7b1.entry.js → p-1b972064.entry.js} +1 -1
  423. package/dist/ptcw-design/{p-34764ee6.entry.js → p-1c631848.entry.js} +1 -1
  424. package/dist/ptcw-design/{p-2dcdfa2e.entry.js → p-1fc3d43a.entry.js} +1 -1
  425. package/dist/ptcw-design/{p-d260581f.entry.js → p-2254e000.entry.js} +1 -1
  426. package/dist/ptcw-design/{p-bb3cc915.entry.js → p-26f31be6.entry.js} +1 -1
  427. package/dist/ptcw-design/{p-4feef7ca.entry.js → p-27807bb0.entry.js} +1 -1
  428. package/dist/ptcw-design/{p-38bee38d.entry.js → p-2893f405.entry.js} +1 -1
  429. package/dist/ptcw-design/{p-e54969bf.entry.js → p-2ba6bbbe.entry.js} +1 -1
  430. package/dist/ptcw-design/{p-f1b1f381.entry.js → p-2fed7a6f.entry.js} +1 -1
  431. package/dist/ptcw-design/{p-a9c8a262.entry.js → p-30feb059.entry.js} +1 -1
  432. package/dist/ptcw-design/{p-d67d6edd.entry.js → p-31c33a18.entry.js} +1 -1
  433. package/dist/ptcw-design/{p-447ad4f8.entry.js → p-362ec391.entry.js} +1 -1
  434. package/dist/ptcw-design/p-36ba23c7.entry.js +1 -0
  435. package/dist/ptcw-design/{p-fad09b46.entry.js → p-3b8731e6.entry.js} +1 -1
  436. package/dist/ptcw-design/{p-3fb0f45c.entry.js → p-3ed0384d.entry.js} +1 -1
  437. package/dist/ptcw-design/{p-a454efc5.entry.js → p-3f368d6d.entry.js} +1 -1
  438. package/dist/ptcw-design/{p-288cb98d.entry.js → p-4097a036.entry.js} +1 -1
  439. package/dist/ptcw-design/p-47910a67.entry.js +1 -0
  440. package/dist/ptcw-design/{p-fac62124.entry.js → p-507ab0b3.entry.js} +1 -1
  441. package/dist/ptcw-design/{p-968bbb76.entry.js → p-515f4332.entry.js} +1 -1
  442. package/dist/ptcw-design/p-553d840a.js +1 -0
  443. package/dist/ptcw-design/p-56b919f8.entry.js +1 -0
  444. package/dist/ptcw-design/{p-635dbbec.entry.js → p-56da9ecd.entry.js} +1 -1
  445. package/dist/ptcw-design/{p-62d3f225.entry.js → p-58291e3a.entry.js} +1 -1
  446. package/dist/ptcw-design/{p-f13fc300.entry.js → p-58edb316.entry.js} +1 -1
  447. package/dist/ptcw-design/{p-39bf1649.entry.js → p-59ac682d.entry.js} +1 -1
  448. package/dist/ptcw-design/{p-b9b30024.entry.js → p-5c47361e.entry.js} +1 -1
  449. package/dist/ptcw-design/{p-5c2c4b3e.entry.js → p-5f69e216.entry.js} +1 -1
  450. package/dist/ptcw-design/{p-c20bea66.entry.js → p-63f811ec.entry.js} +1 -1
  451. package/dist/ptcw-design/{p-60618056.entry.js → p-6449418a.entry.js} +1 -1
  452. package/dist/ptcw-design/p-66fcd7b2.entry.js +1 -0
  453. package/dist/ptcw-design/{p-10371e08.entry.js → p-689f0741.entry.js} +1 -1
  454. package/dist/ptcw-design/{p-f4b66bf5.entry.js → p-6a4bb3e8.entry.js} +1 -1
  455. package/dist/ptcw-design/{p-b4602b1d.entry.js → p-6a5bc275.entry.js} +1 -1
  456. package/dist/ptcw-design/{p-808544d7.entry.js → p-6aba5f8f.entry.js} +1 -1
  457. package/dist/ptcw-design/{p-dbb7b2a3.entry.js → p-6b1d18b1.entry.js} +1 -1
  458. package/dist/ptcw-design/{p-57085c86.entry.js → p-6e11536e.entry.js} +1 -1
  459. package/dist/ptcw-design/p-704456f9.entry.js +1 -0
  460. package/dist/ptcw-design/{p-4eeafd49.entry.js → p-75b17a66.entry.js} +1 -1
  461. package/dist/ptcw-design/{p-dda9d065.entry.js → p-777fb495.entry.js} +1 -1
  462. package/dist/ptcw-design/{p-8a1a1bfb.entry.js → p-77f5cf02.entry.js} +1 -1
  463. package/dist/ptcw-design/{p-55292c78.entry.js → p-7aa8af29.entry.js} +1 -1
  464. package/dist/ptcw-design/{p-0ae005de.entry.js → p-7b34bb69.entry.js} +1 -1
  465. package/dist/ptcw-design/{p-bdfc9555.entry.js → p-7ea29d34.entry.js} +1 -1
  466. package/dist/ptcw-design/{p-75247100.entry.js → p-84d3f4fa.entry.js} +1 -1
  467. package/dist/ptcw-design/{p-7e9e0d37.entry.js → p-85145672.entry.js} +1 -1
  468. package/dist/ptcw-design/{p-058a518e.entry.js → p-8bf3dad0.entry.js} +1 -1
  469. package/dist/ptcw-design/{p-674aef18.entry.js → p-95198d5f.entry.js} +1 -1
  470. package/dist/ptcw-design/{p-82b05238.entry.js → p-9817c40a.entry.js} +1 -1
  471. package/dist/ptcw-design/{p-6c09bbbc.entry.js → p-98b6cb94.entry.js} +1 -1
  472. package/dist/ptcw-design/{p-ec0873bd.entry.js → p-99457ebb.entry.js} +1 -1
  473. package/dist/ptcw-design/{p-868a420c.entry.js → p-9a71ca13.entry.js} +1 -1
  474. package/dist/ptcw-design/{p-6f8455b5.entry.js → p-9d681abc.entry.js} +1 -1
  475. package/dist/ptcw-design/{p-97384e6a.entry.js → p-9e3b390e.entry.js} +1 -1
  476. package/dist/ptcw-design/{p-a42f8bf2.entry.js → p-9efd9a5b.entry.js} +1 -1
  477. package/dist/ptcw-design/{p-7192afeb.entry.js → p-a417df03.entry.js} +1 -1
  478. package/dist/ptcw-design/{p-af95ae7e.entry.js → p-aa1cd855.entry.js} +1 -1
  479. package/dist/ptcw-design/{p-9ca64d6f.entry.js → p-ac63caae.entry.js} +1 -1
  480. package/dist/ptcw-design/{p-c1025cf9.entry.js → p-ad234f99.entry.js} +1 -1
  481. package/dist/ptcw-design/{p-97bf50a0.entry.js → p-ad401696.entry.js} +1 -1
  482. package/dist/ptcw-design/{p-2c7d84dd.entry.js → p-b036ef99.entry.js} +1 -1
  483. package/dist/ptcw-design/{p-1e4bc8b4.entry.js → p-bb5c0997.entry.js} +1 -1
  484. package/dist/ptcw-design/{p-079b6721.entry.js → p-bd470a7a.entry.js} +1 -1
  485. package/dist/ptcw-design/p-be8db2b7.entry.js +1 -0
  486. package/dist/ptcw-design/{p-3d14bf07.entry.js → p-bf47669c.entry.js} +1 -1
  487. package/dist/ptcw-design/{p-4f82a06c.entry.js → p-bf808180.entry.js} +1 -1
  488. package/dist/ptcw-design/{p-e1b02d51.entry.js → p-c249785a.entry.js} +1 -1
  489. package/dist/ptcw-design/{p-d9c6c833.entry.js → p-c4e1b619.entry.js} +1 -1
  490. package/dist/ptcw-design/{p-06c13601.entry.js → p-c5df36ad.entry.js} +1 -1
  491. package/dist/ptcw-design/p-c7ae0a57.entry.js +1 -0
  492. package/dist/ptcw-design/{p-8a9d1f65.entry.js → p-cda3854b.entry.js} +1 -1
  493. package/dist/ptcw-design/{p-ce9fbcda.entry.js → p-cef9cf82.entry.js} +1 -1
  494. package/dist/ptcw-design/{p-3e5fb8c3.entry.js → p-cf1005f9.entry.js} +1 -1
  495. package/dist/ptcw-design/{p-f31d817a.entry.js → p-cf7dc448.entry.js} +1 -1
  496. package/dist/ptcw-design/p-d100f115.js +1 -0
  497. package/dist/ptcw-design/{p-736529b8.entry.js → p-dc10f54e.entry.js} +1 -1
  498. package/dist/ptcw-design/{p-25195807.entry.js → p-dc5e5116.entry.js} +1 -1
  499. package/dist/ptcw-design/{p-a6c1acb8.entry.js → p-dc748f00.entry.js} +1 -1
  500. package/dist/ptcw-design/{p-7ff45a5c.entry.js → p-df0aa310.entry.js} +1 -1
  501. package/dist/ptcw-design/{p-f8b1f507.entry.js → p-e1dd94a9.entry.js} +1 -1
  502. package/dist/ptcw-design/{p-e9635f81.entry.js → p-e312626a.entry.js} +1 -1
  503. package/dist/ptcw-design/{p-b4f034ff.entry.js → p-e8ba44ba.entry.js} +1 -1
  504. package/dist/ptcw-design/{p-38fb1625.entry.js → p-e8cd5994.entry.js} +1 -1
  505. package/dist/ptcw-design/{p-c07609da.entry.js → p-e8d9a19f.entry.js} +1 -1
  506. package/dist/ptcw-design/{p-9d477cbd.entry.js → p-eb65dacf.entry.js} +1 -1
  507. package/dist/ptcw-design/{p-bbc6cb14.entry.js → p-ee20170a.entry.js} +1 -1
  508. package/dist/ptcw-design/{p-5f4b2077.entry.js → p-f6cf3eea.entry.js} +1 -1
  509. package/dist/ptcw-design/{p-e24f0892.entry.js → p-f6dfc55e.entry.js} +1 -1
  510. package/dist/ptcw-design/{p-bae3e7df.entry.js → p-f97fc3fd.entry.js} +1 -1
  511. package/dist/ptcw-design/{p-9f014fd3.entry.js → p-fe85ac05.entry.js} +1 -1
  512. package/dist/ptcw-design/ptcw-design.css +1 -1
  513. package/dist/ptcw-design/ptcw-design.esm.js +1 -1
  514. package/dist/types/components/dropdown-item/dropdown-item.d.ts +5 -5
  515. package/dist/types/components/dynamic-box-bundle/dynamic-box-bundle.d.ts +10 -10
  516. package/dist/types/components/icon-asset/icon-asset.d.ts +40 -40
  517. package/dist/types/components/innovator-toggle-container/innovator-toggle-container.d.ts +17 -17
  518. package/dist/types/components/list-item/list-item.d.ts +16 -16
  519. package/dist/types/components/max-width-container/max-width-container.d.ts +16 -16
  520. package/dist/types/components/my-component/my-component.d.ts +16 -16
  521. package/dist/types/components/organism-bundles/author-listing-example/author-listing-example.d.ts +12 -12
  522. package/dist/types/components/organism-bundles/bundle-example/bundle-example.d.ts +10 -10
  523. package/dist/types/components/organism-bundles/bundle-featured-list/featured-list.d.ts +12 -12
  524. package/dist/types/components/organism-bundles/bundle-jumbotron-example/bundle-jumbotron-example.d.ts +5 -5
  525. package/dist/types/components/organism-bundles/sequential-bundle/sequential-bundle.d.ts +12 -12
  526. package/dist/types/components/organism-bundles/sequential-bundle-example/sequential-bundle-example.d.ts +16 -16
  527. package/dist/types/components/ptc-accordion/ptc-accordion-item/ptc-accordion-item.d.ts +63 -63
  528. package/dist/types/components/ptc-accordion/ptc-accordion.d.ts +17 -17
  529. package/dist/types/components/ptc-announcement/ptc-announcement.d.ts +59 -59
  530. package/dist/types/components/ptc-back-to-top/ptc-back-to-top.d.ts +9 -9
  531. package/dist/types/components/ptc-background-video/ptc-background-video.d.ts +45 -45
  532. package/dist/types/components/ptc-bio-card/ptc-bio-card.d.ts +27 -27
  533. package/dist/types/components/ptc-breadcrumb/ptc-breadcrumb.d.ts +20 -20
  534. package/dist/types/components/ptc-button/ptc-button.d.ts +64 -64
  535. package/dist/types/components/ptc-card/ptc-card.d.ts +84 -83
  536. package/dist/types/components/ptc-card-bottom/ptc-card-bottom.d.ts +15 -15
  537. package/dist/types/components/ptc-card-content/ptc-card-content.d.ts +19 -19
  538. package/dist/types/components/ptc-card-wrapper/ptc-card-wrapper.d.ts +28 -28
  539. package/dist/types/components/ptc-case-studies-slider/ptc-case-studies-slider.d.ts +14 -14
  540. package/dist/types/components/ptc-checkbox/ptc-checkbox.d.ts +14 -14
  541. package/dist/types/components/ptc-collapse-list/ptc-collapse-list.d.ts +60 -60
  542. package/dist/types/components/ptc-container/ptc-container.d.ts +13 -13
  543. package/dist/types/components/ptc-date/ptc-date.d.ts +46 -46
  544. package/dist/types/components/ptc-dropdown/ptc-dropdown.d.ts +19 -19
  545. package/dist/types/components/ptc-dynamic-card/ptc-dynamic-card.d.ts +23 -23
  546. package/dist/types/components/ptc-ellipsis-dropdown/ptc-ellipsis-dropdown.d.ts +15 -15
  547. package/dist/types/components/ptc-featured-list/fl-tab-content/fl-tab-content.d.ts +5 -5
  548. package/dist/types/components/ptc-featured-list/fl-tab-header/fl-tab-header.d.ts +10 -10
  549. package/dist/types/components/ptc-featured-list/fl-tab-image/fl-tab-image.d.ts +5 -5
  550. package/dist/types/components/ptc-featured-list/ptc-featured-list.d.ts +12 -12
  551. package/dist/types/components/ptc-filter-tag/ptc-filter-tag.d.ts +17 -17
  552. package/dist/types/components/ptc-hero/ptc-hero.d.ts +16 -16
  553. package/dist/types/components/ptc-hero-footer-cta/ptc-hero-footer-cta.d.ts +6 -6
  554. package/dist/types/components/ptc-icon-component/ptc-icon-component.d.ts +17 -17
  555. package/dist/types/components/ptc-icon-list/ptc-icon-list.d.ts +21 -21
  556. package/dist/types/components/ptc-icon-minimize/ptc-icon-minimize.d.ts +12 -12
  557. package/dist/types/components/ptc-image-download-strip/ptc-image-download-strip.d.ts +9 -9
  558. package/dist/types/components/ptc-img/ptc-img.d.ts +55 -55
  559. package/dist/types/components/ptc-jumbotron/ptc-jumbotron.d.ts +24 -24
  560. package/dist/types/components/ptc-link/ptc-link.d.ts +40 -40
  561. package/dist/types/components/ptc-list/ptc-list.d.ts +8 -8
  562. package/dist/types/components/ptc-media-card/ptc-media-card.d.ts +52 -52
  563. package/dist/types/components/ptc-minimized-nav/ptc-minimized-nav.d.ts +7 -7
  564. package/dist/types/components/ptc-mobile-select/ptc-mobile-select.d.ts +36 -36
  565. package/dist/types/components/ptc-modal/ptc-modal.d.ts +71 -71
  566. package/dist/types/components/ptc-nav-card/ptc-nav-card.d.ts +46 -46
  567. package/dist/types/components/ptc-nav-pills/ptc-nav-pills.d.ts +3 -3
  568. package/dist/types/components/ptc-news/ptc-news.d.ts +36 -36
  569. package/dist/types/components/ptc-overlay/ptc-overlay.d.ts +21 -21
  570. package/dist/types/components/ptc-pagenation/ptc-pagenation.d.ts +40 -40
  571. package/dist/types/components/ptc-para/ptc-para.d.ts +47 -47
  572. package/dist/types/components/ptc-picture/ptc-picture.d.ts +102 -102
  573. package/dist/types/components/ptc-podcast-card/ptc-podcast-card.d.ts +15 -15
  574. package/dist/types/components/ptc-previous-url/ptc-previous-url.d.ts +9 -9
  575. package/dist/types/components/ptc-pricing-add-on-card/ptc-pricing-add-on-card.d.ts +27 -27
  576. package/dist/types/components/ptc-pricing-add-on-section/ptc-pricing-add-on-section.d.ts +21 -21
  577. package/dist/types/components/ptc-pricing-block/ptc-pricing-block.d.ts +7 -7
  578. package/dist/types/components/ptc-pricing-table/ptc-pricing-table.d.ts +109 -109
  579. package/dist/types/components/ptc-pricing-tabs/ptc-pricing-tabs.d.ts +52 -52
  580. package/dist/types/components/ptc-product-card/ptc-product-card.d.ts +37 -37
  581. package/dist/types/components/ptc-product-category/ptc-product-category.d.ts +5 -5
  582. package/dist/types/components/ptc-product-dropdown/ptc-product-dropdown.d.ts +18 -18
  583. package/dist/types/components/ptc-product-highlight-card/ptc-product-highlight-card.d.ts +23 -23
  584. package/dist/types/components/ptc-product-list/ptc-product-list.d.ts +18 -18
  585. package/dist/types/components/ptc-product-sidebar/ptc-product-sidebar.d.ts +31 -31
  586. package/dist/types/components/ptc-progress-bar/ptc-progress-bar.d.ts +5 -5
  587. package/dist/types/components/ptc-quiz/ptc-quiz.d.ts +21 -21
  588. package/dist/types/components/ptc-quote/ptc-quote.d.ts +29 -29
  589. package/dist/types/components/ptc-readmore/ptc-readmore.d.ts +57 -57
  590. package/dist/types/components/ptc-readmore-char/ptc-readmore-char.d.ts +30 -30
  591. package/dist/types/components/ptc-related-card-rail/ptc-related-card-rail.d.ts +30 -30
  592. package/dist/types/components/ptc-responsive-wrapper/ptc-responsive-wrapper.d.ts +8 -8
  593. package/dist/types/components/ptc-search-field/ptc-search-field.d.ts +23 -23
  594. package/dist/types/components/ptc-shopping-cart/ptc-shopping-cart.d.ts +6 -6
  595. package/dist/types/components/ptc-skeleton/ptc-skeleton.d.ts +10 -10
  596. package/dist/types/components/ptc-slit-card/ptc-slit-card.d.ts +36 -36
  597. package/dist/types/components/ptc-social-share/ptc-social-share.d.ts +37 -37
  598. package/dist/types/components/ptc-spacer/ptc-spacer.d.ts +16 -16
  599. package/dist/types/components/ptc-span/ptc-span.d.ts +20 -20
  600. package/dist/types/components/ptc-square-card/ptc-square-card.d.ts +11 -11
  601. package/dist/types/components/ptc-sticky-icons/ptc-sticky-icons.d.ts +7 -7
  602. package/dist/types/components/ptc-sticky-section/ptc-sticky-section.d.ts +9 -9
  603. package/dist/types/components/ptc-sticky-title/ptc-sticky-title.d.ts +8 -8
  604. package/dist/types/components/ptc-svg-btn/ptc-svg-btn.d.ts +20 -20
  605. package/dist/types/components/ptc-tab-list/ptc-tab-list.d.ts +21 -21
  606. package/dist/types/components/ptc-tabs/ptc-tab.d.ts +9 -9
  607. package/dist/types/components/ptc-tabs/ptc-tabs.d.ts +10 -10
  608. package/dist/types/components/ptc-text-copy-with-background/ptc-text-copy-with-background.d.ts +38 -38
  609. package/dist/types/components/ptc-title/ptc-title.d.ts +54 -54
  610. package/dist/types/components/ptc-tooltip/ptc-tooltip.d.ts +59 -59
  611. package/dist/types/components/ptc-two-column-media/ptc-two-column-media.d.ts +9 -9
  612. package/dist/types/components/ptc-value-prop-card/ptc-value-prop-card.d.ts +23 -23
  613. package/dist/types/components/subnav/ptc-nav-link/ptc-nav-link.d.ts +21 -21
  614. package/dist/types/components/subnav/ptc-nav-slider/ptc-nav-slider.d.ts +11 -11
  615. package/dist/types/components/subnav/ptc-nav-submenu/ptc-nav-submenu.d.ts +23 -23
  616. package/dist/types/components/subnav/ptc-subnav/ptc-subnav.d.ts +8 -8
  617. package/dist/types/components/subnav/ptc-subnav-card/ptc-subnav-card.d.ts +27 -27
  618. package/dist/types/components/tab-content/tab-content.d.ts +12 -12
  619. package/dist/types/components/tab-header/tab-header.d.ts +22 -22
  620. package/dist/types/components.d.ts +136 -134
  621. package/dist/types/global.d.ts +1072 -1072
  622. package/dist/types/index.d.ts +1 -1
  623. package/dist/types/stencil-public-runtime.d.ts +0 -11
  624. package/dist/types/utils/component.d.ts +1 -1
  625. package/dist/types/utils/interfaces.d.ts +31 -31
  626. package/dist/types/utils/utils.d.ts +5 -5
  627. package/package.json +82 -82
  628. package/readme.md +19 -19
  629. package/dist/ptcw-design/p-0f42ec51.entry.js +0 -1
  630. package/dist/ptcw-design/p-0fc282f5.js +0 -1
  631. package/dist/ptcw-design/p-213cbb37.entry.js +0 -1
  632. package/dist/ptcw-design/p-3571d2f7.entry.js +0 -1
  633. package/dist/ptcw-design/p-6f8d2b0b.entry.js +0 -1
  634. package/dist/ptcw-design/p-8ae8454b.entry.js +0 -1
  635. package/dist/ptcw-design/p-8d3eca73.entry.js +0 -1
  636. package/dist/ptcw-design/p-e428e6d9.js +0 -1
  637. package/dist/ptcw-design/p-f309c995.entry.js +0 -1
  638. /package/dist/ptcw-design/{p-ea875d9e.js → p-36665caa.js} +0 -0
  639. /package/dist/ptcw-design/{p-240733ce.js → p-711bcdad.js} +0 -0
  640. /package/dist/ptcw-design/{p-dc4da4a5.js → p-ce0e4c5c.js} +0 -0
@@ -1,1072 +1,1072 @@
1
- /**
2
- * FormValidation (https://formvalidation.io)
3
- * The best validation library for JavaScript
4
- * (c) 2013 - 2021 Nguyen Huu Phuoc <me@phuoc.ng>
5
- */
6
-
7
- // This should be used with FormValidation UMD package
8
- declare namespace FormValidation {
9
- // Core
10
- // ----
11
-
12
- namespace core {
13
- interface ValidatorOptions {
14
- enabled?: boolean;
15
- message?: string;
16
- [option: string]: unknown;
17
- }
18
- interface FieldOptions {
19
- selector?: string;
20
- validators: {
21
- [validatorName: string]: ValidatorOptions,
22
- };
23
- }
24
- interface FieldsOptions {
25
- [field: string]: FieldOptions;
26
- }
27
- interface Localization {
28
- [validator: string]: {
29
- default?: string,
30
- };
31
- }
32
- interface LocalizationMessage {
33
- [locale: string]: string;
34
- }
35
- type LocalizationMessageType = LocalizationMessage | string;
36
- interface ValidateOptions {
37
- message?: string;
38
- }
39
- interface ValidateInput<T extends ValidateOptions, L extends Localization> {
40
- element?: HTMLElement;
41
- elements?: HTMLElement[];
42
- field?: string;
43
- options?: T;
44
- l10n?: L;
45
- value: string;
46
- }
47
- interface ValidateResult {
48
- message?: LocalizationMessageType;
49
- meta?: unknown;
50
- valid: boolean;
51
- }
52
-
53
- interface ValidateFunctionInterface<K extends ValidateOptions, T> {
54
- validate(input: ValidateInput<K, Localization>): T;
55
- }
56
- type ValidateFunction<K extends ValidateOptions> = ValidateFunctionInterface<K, ValidateResult | Promise<ValidateResult>>;
57
-
58
- class Core {
59
- constructor(form: HTMLElement, fields?: FieldsOptions);
60
-
61
- on(event: string, func: (...arg: unknown[]) => unknown): Core;
62
- off(event: string, func: (...arg: unknown[]) => unknown): Core;
63
- emit(event: string, ...args: unknown[]): Core;
64
-
65
- registerPlugin(name: string, plugin: Plugin<unknown>): Core;
66
- deregisterPlugin(name: string): Core;
67
-
68
- registerValidator(name: string, func: () => ValidateFunction<ValidateOptions>): Core;
69
- registerValidator<K extends ValidateOptions>(name: string, func: () => ValidateFunction<K>): Core;
70
- registerFilter(name: string, func: (...arg: unknown[]) => unknown): Core;
71
- deregisterFilter(name: string, func: (...arg: unknown[]) => unknown): Core;
72
- executeFilter<T>(name: string, defaultValue: T, args: unknown[]): T;
73
-
74
- addField(field: string, options?: FieldOptions): Core;
75
- removeField(field: string): Core;
76
-
77
- revalidateField(field: string): Promise<string>;
78
- validate(): Promise<string>;
79
- validateField(field: string): Promise<string>;
80
- validateElement(field: string, ele: HTMLElement): Promise<string>;
81
- executeValidator(field: string, ele: HTMLElement, v: string, opts: ValidatorOptions): Promise<string>;
82
-
83
- getElementValue(field: string, ele: HTMLElement, validator?: string): string;
84
- getElements(field: string): HTMLElement[];
85
- getFields(): FieldsOptions;
86
- getFormElement(): HTMLElement;
87
- getLocale(): string;
88
- getPlugin(name: string): Plugin<unknown>;
89
-
90
- updateFieldStatus(field: string, status: string, validator?: string): Core;
91
- updateElementStatus(field: string, ele: HTMLElement, status: string, validator?: string): Core;
92
-
93
- resetForm(reset?: boolean): Core;
94
- resetField(field: string, reset?: boolean): Core;
95
-
96
- disableValidator(field: string, validator?: string): Core;
97
- enableValidator(field: string, validator?: string): Core;
98
- updateValidatorOption(field: string, validator: string, name: string, value: unknown): Core;
99
- setFieldOptions(field: string, options: FieldOptions): Core;
100
-
101
- destroy(): Core;
102
-
103
- setLocale(locale: string, localization: Localization): Core;
104
- }
105
-
106
- class Plugin<T> {
107
- constructor(opts?: T);
108
- setCore(core: core.Core): Plugin<T>;
109
- install(): void;
110
- uninstall(): void;
111
- }
112
- }
113
-
114
- type Plugin<T> = core.Plugin<T>;
115
-
116
- // Algorithms
117
- // ----------
118
-
119
- namespace algorithms {
120
- function luhn(value: string): boolean;
121
- function mod11And10(value: string): boolean;
122
- function mod37And36(value: string, alphabet?: string): boolean;
123
- function verhoeff(value: number[]): boolean;
124
- }
125
-
126
- // formValidation
127
- // --------------
128
-
129
- interface Options {
130
- fields?: core.FieldsOptions;
131
- locale?: string;
132
- localization?: core.Localization;
133
- plugins?: {
134
- [name: string]: core.Plugin<unknown>,
135
- };
136
- init?(core: core.Core): void;
137
- }
138
- function formValidation(form: HTMLElement, options?: Options): core.Core;
139
-
140
- // Locales
141
- // -------
142
-
143
- let locales: {};
144
-
145
- // Plugins
146
- // -------
147
- namespace plugins {
148
- interface AliasOptions {
149
- // Map the alias with defined validator name
150
- [alias: string]: string;
151
- }
152
- class Alias extends core.Plugin<AliasOptions> {
153
- constructor(opts?: AliasOptions);
154
- }
155
-
156
- class Aria extends core.Plugin<{}> {
157
- constructor();
158
- }
159
-
160
- interface AutoFocusOptions {
161
- onPrefocus: (AutoFocusPrefocusEvent) => void;
162
- }
163
- interface AutoFocusPrefocusEvent {
164
- field: string;
165
- firstElement: HTMLElement;
166
- }
167
- class AutoFocus extends core.Plugin<AutoFocusOptions> {
168
- constructor(opts?: AutoFocusOptions);
169
- }
170
-
171
- interface DeclarativeOptions {
172
- // Set it to `true` to enable the validators automatically based on the input type or particular HTML 5 attributes:
173
- // -----------------+---------------------
174
- // HTML 5 attribute | Equivalent validator
175
- // -----------------+---------------------
176
- // max="..." | lessThan
177
- // min="..." | greaterThan
178
- // maxlength="..." | stringLength
179
- // minlength="..." | stringLength
180
- // pattern="..." | regexp
181
- // required | notEmpty
182
- // type="color" | color
183
- // type="email" | emailAddress
184
- // type="range" | between
185
- // type="url" | uri
186
- // -----------------+---------------------
187
- // It's not enabled by default
188
- html5Input?: boolean;
189
- // The prefix of plugin declaration attributes. By default, it is set to `data-fvp-`
190
- pluginPrefix?: string;
191
- // The prefix of attributes. By default, it is set to `data-fv-`
192
- prefix?: string;
193
- }
194
- class Declarative extends core.Plugin<DeclarativeOptions> {
195
- constructor(opts?: DeclarativeOptions);
196
- }
197
-
198
- class DefaultSubmit extends core.Plugin<{}> {
199
- constructor();
200
- }
201
-
202
- interface DependencyOptions {
203
- [field: string]: string;
204
- }
205
- class Dependency extends core.Plugin<DependencyOptions> {
206
- constructor(opts: DependencyOptions);
207
- }
208
-
209
- type ExcludedCallback = (field: string, element: HTMLElement, elements: HTMLElement[]) => boolean;
210
- interface ExcludedOptions {
211
- excluded: ExcludedCallback;
212
- }
213
- class Excluded extends core.Plugin<ExcludedOptions> {
214
- constructor(opts?: ExcludedOptions);
215
- }
216
-
217
- interface FieldStatusOptions {
218
- onStatusChanged?: (areFieldsValid: boolean) => void;
219
- }
220
- class FieldStatus extends core.Plugin<FieldStatusOptions> {
221
- constructor(opts?: FieldStatusOptions);
222
- }
223
-
224
- interface IconOptions {
225
- invalid?: string;
226
- valid?: string;
227
- validating?: string;
228
- onPlaced?: (IconPlacedEvent) => void;
229
- onSet?: (IconSetEvent) => void;
230
- }
231
- interface IconPlacedEvent {
232
- element: HTMLElement;
233
- field: string;
234
- iconElement: HTMLElement;
235
- classes: IconOptions;
236
- }
237
- interface IconSetEvent {
238
- element: HTMLElement;
239
- field: string;
240
- status: string;
241
- iconElement: HTMLElement;
242
- }
243
- class Icon extends core.Plugin<IconOptions> {
244
- constructor(opts?: IconOptions);
245
- }
246
-
247
- interface InternationalTelephoneInputOptions {
248
- autoPlaceholder?: string;
249
- field: string | string[];
250
- message: string;
251
- utilsScript?: string;
252
- }
253
- class InternationalTelephoneInput extends core.Plugin<InternationalTelephoneInputOptions> {
254
- constructor(opts?: InternationalTelephoneInputOptions);
255
- static INT_TEL_VALIDATOR: string;
256
- }
257
-
258
- interface LiteralMessage {
259
- [locale: string]: string;
260
- }
261
- type CallbackMessage = (field: string, validator: string) => LiteralMessage;
262
- interface L10nOptions {
263
- [field: string]: {
264
- [validator: string]: LiteralMessage | CallbackMessage,
265
- };
266
- }
267
- class L10n extends core.Plugin<L10nOptions> {
268
- constructor(opts?: L10nOptions);
269
- }
270
-
271
- interface MailgunOptions {
272
- // The API key provided by Mailgun
273
- apiKey: string;
274
- // The field name that will be validated
275
- field: string;
276
- // Error message indicates the input is not valid
277
- message: string;
278
- // Show suggestion if the email is not valid
279
- suggestion?: boolean;
280
- }
281
- class Mailgun extends core.Plugin<MailgunOptions> {
282
- constructor(opts?: MailgunOptions);
283
- }
284
-
285
- interface MandatoryIconOptions {
286
- icon: string;
287
- }
288
- class MandatoryIcon extends core.Plugin<MandatoryIconOptions> {
289
- constructor(opts?: MandatoryIconOptions);
290
- }
291
-
292
- interface PasswordStrengthOptions {
293
- field: string;
294
- message: string;
295
- minimalScore: number;
296
- onValidated?: (valid: boolean, message: string, score: number) => void;
297
- }
298
- class PasswordStrength extends core.Plugin<PasswordStrengthOptions> {
299
- constructor(opts?: PasswordStrengthOptions);
300
- static PASSWORD_STRENGTH_VALIDATOR: string;
301
- }
302
-
303
- type ContainerCallback = (field: string, element: HTMLElement) => HTMLElement;
304
- interface MessageOptions {
305
- clazz?: string;
306
- container?: string | ContainerCallback;
307
- }
308
- class Message extends core.Plugin<MessageOptions> {
309
- constructor(opts?: MessageOptions);
310
- static getClosestContainer(element: HTMLElement, upper: HTMLElement, pattern: RegExp): HTMLElement;
311
- }
312
-
313
- interface RecaptchaOptions {
314
- // The ID of element showing the captcha
315
- element: string;
316
- // The language code defined by reCAPTCHA
317
- // See https://developers.google.com/recaptcha/docs/language
318
- language?: string;
319
- // The invalid message that will be shown in case the captcha is not valid
320
- // You don't need to define it if the back-end URL above returns the message
321
- message: string;
322
- // The site key provided by Google
323
- siteKey: string;
324
- backendVerificationUrl?: string;
325
-
326
- // The size of widget. It can be 'compact', 'normal' (default), or 'invisible'
327
- size?: string;
328
-
329
- // reCAPTCHA widget option (size can be 'compact' or 'normal')
330
- // See https://developers.google.com/recaptcha/docs/display
331
-
332
- // The theme name provided by Google. It can be light (default), dark
333
- theme?: string;
334
-
335
- // Invisible reCAPTCHA
336
- // See https://developers.google.com/recaptcha/docs/invisible
337
- // The position of reCAPTCHA. Can be 'bottomright' (default), 'bottomleft', 'inline'
338
- badge?: string;
339
- }
340
- class Recaptcha extends core.Plugin<RecaptchaOptions> {
341
- constructor(opts?: RecaptchaOptions);
342
- static CAPTCHA_FIELD: string;
343
- }
344
-
345
- interface Recaptcha3Options {
346
- // The ID of element showing the captcha error
347
- element: string;
348
- // The language code defined by reCAPTCHA
349
- // See https://developers.google.com/recaptcha/docs/language
350
- language?: string;
351
- // Minimum score, between 0 and 1
352
- minimumScore?: number;
353
- // The invalid message that will be shown in case the captcha is not valid
354
- // You don't need to define it if the back-end URL above returns the message
355
- message: string;
356
- // The site key provided by Google
357
- siteKey: string;
358
- backendVerificationUrl: string;
359
- action: string;
360
- }
361
- class Recaptcha3 extends core.Plugin<Recaptcha3Options> {
362
- constructor(opts?: Recaptcha3Options);
363
- static CAPTCHA_FIELD: string;
364
- }
365
-
366
- interface Recaptcha3TokenOptions {
367
- action: string;
368
- hiddenTokenName: string;
369
- language?: string;
370
- siteKey: string;
371
- }
372
- class Recaptcha3Token extends core.Plugin<Recaptcha3TokenOptions> {
373
- constructor(opts?: Recaptcha3TokenOptions);
374
- }
375
-
376
- interface SequenceOptions {
377
- enabled: boolean | { [field: string]: boolean };
378
- }
379
- class Sequence extends core.Plugin<SequenceOptions> {
380
- constructor(opts?: SequenceOptions);
381
- }
382
-
383
- interface StartEndDateOptions {
384
- format: string;
385
- startDate: {
386
- field: string;
387
- message: string;
388
- };
389
- endDate: {
390
- field: string;
391
- message: string;
392
- };
393
- }
394
- class StartEndDate extends core.Plugin<StartEndDateOptions> {
395
- constructor(opts?: StartEndDateOptions);
396
- }
397
-
398
- interface SubmitButtonOptions {
399
- aspNetButton?: boolean;
400
- // Allow to query the submit button(s)
401
- // It's useful in case the submit button is outside of form
402
- buttons?: (form: HTMLFormElement) => Element[];
403
- }
404
- class SubmitButton extends core.Plugin<SubmitButtonOptions> {
405
- constructor(opts?: SubmitButtonOptions);
406
- }
407
-
408
- interface TooltipOptions {
409
- placement: string;
410
- trigger: string;
411
- }
412
- class Tooltip extends core.Plugin<TooltipOptions> {
413
- constructor(opts?: TooltipOptions);
414
- }
415
-
416
- interface TransformerOptions {
417
- [field: string]: {
418
- [validator: string]: (field: string, element: HTMLElement, validator: string) => string,
419
- };
420
- }
421
- class Transformer extends core.Plugin<TransformerOptions> {
422
- constructor(opts?: TransformerOptions);
423
- }
424
-
425
- interface TriggerOptions {
426
- delay?: number | {
427
- [field: string]: number,
428
- };
429
- event: string | {
430
- [field: string]: boolean | string,
431
- };
432
- // Only perform the validation if the field value exceed this number of characters
433
- threshold?: number | {
434
- [field: string]: number,
435
- };
436
- }
437
- class Trigger extends core.Plugin<TriggerOptions> {
438
- constructor(opts?: TriggerOptions);
439
- }
440
-
441
- interface WizardOptions {
442
- stepSelector: string;
443
- prevButton: string;
444
- nextButton: string;
445
- onStepActive?: (WizardStepEvent) => void;
446
- onStepInvalid?: (WizardStepEvent) => void;
447
- onStepValid?: (WizardStepEvent) => void;
448
- onValid?: (WizardValidEvent) => void;
449
- activeStepClass?: string;
450
- isFieldExcluded?: (field: string, element: HTMLElement, elements: HTMLElement[]) => boolean;
451
- isStepSkipped?:(WizardIsStepSkipped) => boolean;
452
- stepClass?: string;
453
- }
454
- interface WizardStepEvent {
455
- step: number;
456
- numSteps: number;
457
- }
458
- interface WizardValidEvent {
459
- numSteps: number;
460
- }
461
- interface WizardIsStepSkipped {
462
- currentStep: number;
463
- numSteps: number;
464
- targetStep: number;
465
- }
466
- class Wizard extends core.Plugin<WizardOptions> {
467
- constructor(opts?: WizardOptions);
468
- static EXCLUDED_PLUGIN: string;
469
- }
470
-
471
- // Plugins that supports popular CSS frameworks
472
-
473
- type RowSelector = (field: string, element: HTMLElement) => string;
474
- interface FrameworkOptions {
475
- defaultMessageContainer?: boolean;
476
- formClass: string;
477
- messageClass?: string;
478
- rowInvalidClass: string;
479
- // A list of CSS classes (separated by a space) that will be added to the row
480
- rowClasses?: string;
481
- rowPattern: RegExp;
482
- rowSelector: string | RowSelector;
483
- rowValidatingClass?: string;
484
- rowValidClass: string;
485
- // A CSS class added to valid element
486
- eleValidClass?: string;
487
- // A CSS class added to invalid element
488
- eleInvalidClass?: string;
489
- }
490
- class Framework extends core.Plugin<FrameworkOptions> {
491
- constructor(opts?: FrameworkOptions);
492
- }
493
-
494
- class Bootstrap extends plugins.Framework {
495
- constructor(opts?: plugins.FrameworkOptions);
496
- }
497
- class Bootstrap3 extends plugins.Framework {
498
- constructor(opts?: plugins.FrameworkOptions);
499
- }
500
- class Bootstrap5 extends plugins.Framework {
501
- constructor(opts?: plugins.FrameworkOptions);
502
- }
503
- class Bulma extends plugins.Framework {
504
- constructor(opts?: plugins.FrameworkOptions);
505
- }
506
- class Foundation extends plugins.Framework {
507
- constructor(opts?: plugins.FrameworkOptions);
508
- }
509
- class Materialize extends plugins.Framework {
510
- constructor(opts?: plugins.FrameworkOptions);
511
- }
512
- class Milligram extends plugins.Framework {
513
- constructor(opts?: plugins.FrameworkOptions);
514
- }
515
- class Mini extends plugins.Framework {
516
- constructor(opts?: plugins.FrameworkOptions);
517
- }
518
- class Mui extends plugins.Framework {
519
- constructor(opts?: plugins.FrameworkOptions);
520
- }
521
- class Pure extends plugins.Framework {
522
- constructor(opts?: plugins.FrameworkOptions);
523
- }
524
- class Semantic extends plugins.Framework {
525
- constructor(opts?: plugins.FrameworkOptions);
526
- }
527
- class Shoelace extends plugins.Framework {
528
- constructor(opts?: plugins.FrameworkOptions);
529
- }
530
- class Spectre extends plugins.Framework {
531
- constructor(opts?: plugins.FrameworkOptions);
532
- }
533
- class Tachyons extends plugins.Framework {
534
- constructor(opts?: plugins.FrameworkOptions);
535
- }
536
- class Turret extends plugins.Framework {
537
- constructor(opts?: plugins.FrameworkOptions);
538
- }
539
- class Uikit extends plugins.Framework {
540
- constructor(opts?: plugins.FrameworkOptions);
541
- }
542
- }
543
-
544
- // Utils
545
- // -----
546
- namespace utils {
547
- function call(functionName: ((...arg: unknown[]) => unknown) | string, args: unknown[]): unknown;
548
- function classSet(element: HTMLElement, classes: { [clazz: string]: boolean }): void;
549
- function closest(element: HTMLElement, selector: string): HTMLElement;
550
-
551
- interface FetchOptions {
552
- // Does it request to other domain? Default value is `false`
553
- crossDomain?: boolean;
554
- // Additional headers
555
- headers?: {
556
- [name: string]: string,
557
- };
558
- // The request method. For example, `GET` (default), `POST`
559
- method?: string;
560
- params: {
561
- [name: string]: unknown,
562
- };
563
- }
564
- function fetch(url: string, options: FetchOptions): Promise<unknown>;
565
-
566
- function format(message: string, parameters: string | string[]): string;
567
- function hasClass(element: HTMLElement, clazz: string): boolean;
568
- function isValidDate(year: number, month: number, day: number, notInFuture?: boolean): boolean;
569
- }
570
-
571
- // Validators
572
- // ----------
573
- namespace validators {
574
- function base64(): {
575
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
576
- };
577
-
578
- interface BetweenOptions extends core.ValidateOptions {
579
- // Default is true
580
- inclusive: boolean;
581
- max?: number;
582
- min?: number;
583
- }
584
- interface BetweenLocalization extends core.Localization {
585
- between: {
586
- default: string,
587
- notInclusive: string,
588
- };
589
- }
590
- function between(): {
591
- validate(input: core.ValidateInput<BetweenOptions, BetweenLocalization>): core.ValidateResult,
592
- };
593
-
594
- function bic(): {
595
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
596
- };
597
- function blank(): {
598
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
599
- };
600
-
601
- interface CallbackOptions extends core.ValidateOptions {
602
- callback: ((...arg: unknown[]) => unknown) | string;
603
- }
604
- function callback(): {
605
- validate(input: core.ValidateInput<CallbackOptions, core.Localization>): core.ValidateResult,
606
- };
607
-
608
- interface ChoiceOptions extends core.ValidateOptions {
609
- max?: number;
610
- min?: number;
611
- }
612
- interface ChoiceLocalization extends core.Localization {
613
- choice: {
614
- between: string,
615
- default: string,
616
- less: string,
617
- more: string,
618
- };
619
- }
620
- function choice(): {
621
- validate(input: core.ValidateInput<ChoiceOptions, ChoiceLocalization>): core.ValidateResult,
622
- };
623
-
624
- interface ColorOptions extends core.ValidateOptions {
625
- // The array of valid color types
626
- // For example: 'hex', 'hex rgb', ['hex', 'rgb']
627
- type: string | string[];
628
- }
629
- function color(): {
630
- validate(input: core.ValidateInput<ColorOptions, core.Localization>): core.ValidateResult,
631
- };
632
-
633
- function creditCard(): {
634
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
635
- };
636
- function cusip(): {
637
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
638
- };
639
-
640
- type CompareDateCallback = () => (string | Date);
641
- interface DateOptions extends core.ValidateOptions {
642
- // The date format. Default is MM/DD/YYYY
643
- // The format can be:
644
- // - date: Consist of DD, MM, YYYY parts which are separated by the separator option
645
- // - date and time: The time can consist of h, m, s parts which are separated by :
646
- // - date, time and A (indicating AM or PM)
647
- format: string;
648
- // The maximum date
649
- max?: string | Date | CompareDateCallback;
650
- // The minimum date
651
- min?: string | Date | CompareDateCallback;
652
- // Use to separate the date, month, and year. By default, it is /
653
- separator?: string;
654
- }
655
- interface DateLocalization extends core.Localization {
656
- date: {
657
- default: string,
658
- max: string,
659
- min: string,
660
- range: string,
661
- };
662
- }
663
- function date(): {
664
- validate(input: core.ValidateInput<DateOptions, DateLocalization>): core.ValidateResult,
665
- };
666
-
667
- type CompareDifferentCallback = () => string;
668
- interface DifferentOptions extends core.ValidateOptions {
669
- compare: string | CompareDifferentCallback;
670
- }
671
- function different(): {
672
- validate(input: core.ValidateInput<DifferentOptions, core.Localization>): core.ValidateResult,
673
- };
674
-
675
- function digits(): {
676
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
677
- };
678
- function ean(): {
679
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
680
- };
681
- function ein(): {
682
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
683
- };
684
-
685
- interface EmailAddressOptions extends core.ValidateOptions {
686
- // Allow multiple email addresses, separated by a comma or semicolon; default is false.
687
- multiple?: boolean | string;
688
- // Regex for character or characters expected as separator between addresses
689
- // default is comma /[,;]/, i.e. comma or semicolon.
690
- separator?: string | RegExp;
691
- }
692
- function emailAddress(): {
693
- validate(input: core.ValidateInput<EmailAddressOptions, core.Localization>): core.ValidateResult,
694
- };
695
-
696
- interface FileOptions extends core.ValidateOptions {
697
- // The allowed extensions, separated by a comma
698
- extension: string;
699
- // The maximum number of files
700
- maxFiles: number;
701
- // The maximum size in bytes
702
- maxSize: number;
703
- // The maximum size in bytes for all files
704
- maxTotalSize: number;
705
- // The minimum number of files
706
- minFiles: number;
707
- // The minimum size in bytes
708
- minSize: number;
709
- // The minimum size in bytes for all files
710
- minTotalSize: number;
711
- // The allowed MIME type, separated by a comma
712
- type: string;
713
- }
714
- function file(): {
715
- validate(input: core.ValidateInput<FileOptions, core.Localization>): core.ValidateResult,
716
- };
717
-
718
- interface GreaterThanOptions extends core.ValidateOptions {
719
- // Default is true
720
- inclusive: boolean;
721
- message: string;
722
- min?: number;
723
- }
724
- interface GreaterThanLocalization extends core.Localization {
725
- greaterThan: {
726
- default: string,
727
- notInclusive: string,
728
- };
729
- }
730
- function greaterThan(): {
731
- validate(input: core.ValidateInput<GreaterThanOptions, GreaterThanLocalization>): core.ValidateResult,
732
- };
733
-
734
- function grid(): {
735
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
736
- };
737
- function hex(): {
738
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
739
- };
740
-
741
- interface IbanOptions extends core.ValidateOptions {
742
- // The ISO 3166-1 country code. It can be
743
- // - A country code
744
- // - Name of field which its value defines the country code
745
- // - Name of callback function that returns the country code
746
- // - A callback function that returns the country code
747
- country?: string;
748
- // Set it to true (false) to indicate that the IBAN number must be (not be) from SEPA countries
749
- sepa?: boolean | string;
750
- }
751
- interface IbanLocalization extends core.Localization {
752
- iban: {
753
- countries: {
754
- [countryCode: string]: string,
755
- },
756
- country: string,
757
- default: string,
758
- };
759
- }
760
- function iban(): {
761
- validate(input: core.ValidateInput<IbanOptions, IbanLocalization>): core.ValidateResult,
762
- };
763
-
764
- interface IdOptions extends core.ValidateOptions {
765
- // The ISO 3166-1 country code. It can be
766
- // - A country code
767
- // - A callback function that returns the country code
768
- country: string | (() => string);
769
- }
770
- interface IdLocalization extends core.Localization {
771
- id: {
772
- countries: {
773
- [countryCode: string]: string,
774
- },
775
- country: string,
776
- default: string,
777
- };
778
- }
779
- function id(): {
780
- validate(input: core.ValidateInput<IdOptions, IdLocalization>): core.ValidateResult,
781
- };
782
-
783
- type CompareIdenticalCallback = () => string;
784
- interface IdenticalOptions extends core.ValidateOptions {
785
- compare: string | CompareIdenticalCallback;
786
- }
787
- function identical(): {
788
- validate(input: core.ValidateInput<IdenticalOptions, core.Localization>): core.ValidateResult,
789
- };
790
-
791
- function imei(): {
792
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
793
- };
794
- function imo(): {
795
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
796
- };
797
-
798
- interface IntegerOptions extends core.ValidateOptions {
799
- // The decimal separator. It's '.' by default
800
- decimalSeparator: string;
801
- // The thousands separator. It's empty by default
802
- thousandsSeparator: string;
803
- }
804
- function integer(): {
805
- validate(input: core.ValidateInput<IntegerOptions, core.Localization>): core.ValidateResult,
806
- };
807
-
808
- interface IpOptions extends core.ValidateOptions {
809
- // Enable IPv4 validator, default to true
810
- ipv4?: boolean;
811
- // Enable IPv6 validator, default to true
812
- ipv6?: boolean;
813
- }
814
- interface IpLocalization extends core.Localization {
815
- ip: {
816
- default: string,
817
- ipv4: string,
818
- ipv6: string,
819
- };
820
- }
821
- function ip(): {
822
- validate(input: core.ValidateInput<IpOptions, IpLocalization>): core.ValidateResult,
823
- };
824
-
825
- function isbn(): {
826
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
827
- };
828
- function isin(): {
829
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
830
- };
831
- function ismn(): {
832
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
833
- };
834
- function issn(): {
835
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
836
- };
837
-
838
- interface LessThanOptions extends core.ValidateOptions {
839
- // Default is true
840
- inclusive: boolean;
841
- max?: number;
842
- }
843
- interface LessThanLocalization extends core.Localization {
844
- lessThan: {
845
- default: string,
846
- notInclusive: string,
847
- };
848
- }
849
- function lessThan(): {
850
- validate(input: core.ValidateInput<LessThanOptions, LessThanLocalization>): core.ValidateResult,
851
- };
852
-
853
- function mac(): {
854
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
855
- };
856
- function meid(): {
857
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
858
- };
859
-
860
- interface NotEmptyOptions extends core.ValidateOptions {
861
- trim?: boolean;
862
- }
863
- function notEmpty(): {
864
- validate(input: core.ValidateInput<NotEmptyOptions, core.Localization>): core.ValidateResult,
865
- };
866
-
867
- interface NumericOptions extends core.ValidateOptions {
868
- // The decimal separator. It's '.' by default
869
- decimalSeparator: string;
870
- // The thousands separator. It's empty by default
871
- thousandsSeparator: string;
872
- }
873
- function numeric(): {
874
- validate(input: core.ValidateInput<NumericOptions, core.Localization>): core.ValidateResult,
875
- };
876
-
877
- interface PhoneOptions extends core.ValidateOptions {
878
- // The ISO 3166-1 country code. It can be
879
- // - A country code
880
- // - A callback function that returns the country code
881
- country: string | (() => string);
882
- }
883
- interface PhoneLocalization extends core.Localization {
884
- phone: {
885
- countries: {
886
- [countryCode: string]: string,
887
- },
888
- country: string,
889
- default: string,
890
- };
891
- }
892
- function phone(): {
893
- validate(input: core.ValidateInput<PhoneOptions, PhoneLocalization>): core.ValidateResult,
894
- };
895
-
896
- interface PromiseOptions extends core.ValidateOptions {
897
- promise: (...arg: unknown[]) => unknown | string;
898
- }
899
- function promise(): {
900
- validate(input: core.ValidateInput<PromiseOptions, core.Localization>): core.ValidateResult,
901
- };
902
-
903
- interface RegexpOptions extends core.ValidateOptions {
904
- // If specified, flags can have any combination of JavaScript regular expression flags such as:
905
- // g: global match
906
- // i: ignore case
907
- // m: multiple line
908
- flags?: string;
909
- // The regular expression you need to check
910
- regexp: string | RegExp;
911
- }
912
- function regexp(): {
913
- validate(input: core.ValidateInput<RegexpOptions, core.Localization>): core.ValidateResult,
914
- };
915
-
916
- interface RemoteOptions extends core.ValidateOptions {
917
- url: string;
918
- // Does it request to other domain? Default value is `false`
919
- crossDomain?: boolean;
920
- // By default, it will take the value `{ <fieldName>: <fieldValue> }`
921
- data?: Record<string, unknown> | ((...arg: unknown[]) => unknown);
922
- // Additional headers
923
- headers?: {
924
- [name: string]: string,
925
- };
926
- // Override the field name for the request
927
- name?: string;
928
- // Can be GET or POST (default)
929
- method?: string;
930
- // The valid key. It's `valid` by default
931
- // This is useful when connecting to external remote server or APIs provided by 3rd parties
932
- validKey?: string;
933
- }
934
- function remote(): {
935
- validate(input: core.ValidateInput<RemoteOptions, core.Localization>): core.ValidateResult,
936
- };
937
-
938
- function rtn(): {
939
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
940
- };
941
- function sedol(): {
942
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
943
- };
944
- function siren(): {
945
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
946
- };
947
- function siret(): {
948
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
949
- };
950
-
951
- interface StepOptions extends core.ValidateOptions {
952
- baseValue: number;
953
- step: number;
954
- }
955
- interface StepLocalization extends core.Localization {
956
- step: {
957
- default: string,
958
- };
959
- }
960
- function step(): {
961
- validate(input: core.ValidateInput<StepOptions, StepLocalization>): core.ValidateResult,
962
- };
963
-
964
- interface StringCaseOptions extends core.ValidateOptions {
965
- // Can be 'lower' (default) or 'upper'
966
- case: string;
967
- }
968
- interface StringCaseLocalization extends core.Localization {
969
- stringCase: {
970
- default: string,
971
- upper: string,
972
- };
973
- }
974
- function stringCase(): {
975
- validate(input: core.ValidateInput<StringCaseOptions, StringCaseLocalization>): core.ValidateResult,
976
- };
977
-
978
- interface StringLengthOptions extends core.ValidateOptions {
979
- // At least one of two options is required
980
- // The min, max keys define the number which the field value compares to. min, max can be
981
- // - A number
982
- // - Name of field which its value defines the number
983
- // - Name of callback function that returns the number
984
- // - A callback function that returns the number
985
- max?: number | string;
986
- min?: number | string;
987
- // Indicate the length will be calculated after trimming the value or not. It is false, by default
988
- trim?: boolean | string;
989
- // Evaluate string length in UTF-8 bytes, default to false
990
- utf8Bytes?: boolean | string;
991
- }
992
- interface StringLengthLocalization extends core.Localization {
993
- stringLength: {
994
- between: string,
995
- default: string,
996
- less: string,
997
- more: string,
998
- };
999
- }
1000
- function stringLength(): {
1001
- validate(input: core.ValidateInput<StringLengthOptions, StringLengthLocalization>): core.ValidateResult,
1002
- };
1003
-
1004
- interface UriOptions extends core.ValidateOptions {
1005
- // Allow the URI without protocol. Default to false
1006
- allowEmptyProtocol?: boolean | string;
1007
- // Allow the private and local network IP. Default to false
1008
- allowLocal?: boolean | string;
1009
- // The protocols, separated by a comma. Default to "http, https, ftp"
1010
- protocol?: string;
1011
- }
1012
- function uri(): {
1013
- validate(input: core.ValidateInput<UriOptions, core.Localization>): core.ValidateResult,
1014
- };
1015
-
1016
- interface UuidOptions extends core.ValidateOptions {
1017
- // Can be 3, 4, 5, null
1018
- version?: string;
1019
- }
1020
- interface UuidLocalization extends core.Localization {
1021
- uuid: {
1022
- default: string,
1023
- version: string,
1024
- };
1025
- }
1026
- function uuid(): {
1027
- validate(input: core.ValidateInput<UuidOptions, UuidLocalization>): core.ValidateResult,
1028
- };
1029
-
1030
- interface VatOptions extends core.ValidateOptions {
1031
- // The ISO 3166-1 country code. It can be
1032
- // - A country code
1033
- // - A callback function that returns the country code
1034
- country: string | (() => string);
1035
- }
1036
- interface VatLocalization extends core.Localization {
1037
- vat: {
1038
- countries: {
1039
- [countryCode: string]: string,
1040
- },
1041
- country: string,
1042
- default: string,
1043
- };
1044
- }
1045
- function vat(): {
1046
- validate(input: core.ValidateInput<VatOptions, VatLocalization>): core.ValidateResult,
1047
- };
1048
-
1049
- function vin(): {
1050
- validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
1051
- };
1052
-
1053
- interface ZipCodeOptions extends core.ValidateOptions {
1054
- // The ISO 3166-1 country code. It can be
1055
- // - A country code
1056
- // - A callback function that returns the country code
1057
- country: string | (() => string);
1058
- }
1059
- interface ZipCodeLocalization extends core.Localization {
1060
- zipCode: {
1061
- countries: {
1062
- [countryCode: string]: string,
1063
- },
1064
- country: string,
1065
- default: string,
1066
- };
1067
- }
1068
- function zipCode(): {
1069
- validate(input: core.ValidateInput<ZipCodeOptions, ZipCodeLocalization>): core.ValidateResult,
1070
- };
1071
- }
1072
- }
1
+ /**
2
+ * FormValidation (https://formvalidation.io)
3
+ * The best validation library for JavaScript
4
+ * (c) 2013 - 2021 Nguyen Huu Phuoc <me@phuoc.ng>
5
+ */
6
+
7
+ // This should be used with FormValidation UMD package
8
+ declare namespace FormValidation {
9
+ // Core
10
+ // ----
11
+
12
+ namespace core {
13
+ interface ValidatorOptions {
14
+ enabled?: boolean;
15
+ message?: string;
16
+ [option: string]: unknown;
17
+ }
18
+ interface FieldOptions {
19
+ selector?: string;
20
+ validators: {
21
+ [validatorName: string]: ValidatorOptions,
22
+ };
23
+ }
24
+ interface FieldsOptions {
25
+ [field: string]: FieldOptions;
26
+ }
27
+ interface Localization {
28
+ [validator: string]: {
29
+ default?: string,
30
+ };
31
+ }
32
+ interface LocalizationMessage {
33
+ [locale: string]: string;
34
+ }
35
+ type LocalizationMessageType = LocalizationMessage | string;
36
+ interface ValidateOptions {
37
+ message?: string;
38
+ }
39
+ interface ValidateInput<T extends ValidateOptions, L extends Localization> {
40
+ element?: HTMLElement;
41
+ elements?: HTMLElement[];
42
+ field?: string;
43
+ options?: T;
44
+ l10n?: L;
45
+ value: string;
46
+ }
47
+ interface ValidateResult {
48
+ message?: LocalizationMessageType;
49
+ meta?: unknown;
50
+ valid: boolean;
51
+ }
52
+
53
+ interface ValidateFunctionInterface<K extends ValidateOptions, T> {
54
+ validate(input: ValidateInput<K, Localization>): T;
55
+ }
56
+ type ValidateFunction<K extends ValidateOptions> = ValidateFunctionInterface<K, ValidateResult | Promise<ValidateResult>>;
57
+
58
+ class Core {
59
+ constructor(form: HTMLElement, fields?: FieldsOptions);
60
+
61
+ on(event: string, func: (...arg: unknown[]) => unknown): Core;
62
+ off(event: string, func: (...arg: unknown[]) => unknown): Core;
63
+ emit(event: string, ...args: unknown[]): Core;
64
+
65
+ registerPlugin(name: string, plugin: Plugin<unknown>): Core;
66
+ deregisterPlugin(name: string): Core;
67
+
68
+ registerValidator(name: string, func: () => ValidateFunction<ValidateOptions>): Core;
69
+ registerValidator<K extends ValidateOptions>(name: string, func: () => ValidateFunction<K>): Core;
70
+ registerFilter(name: string, func: (...arg: unknown[]) => unknown): Core;
71
+ deregisterFilter(name: string, func: (...arg: unknown[]) => unknown): Core;
72
+ executeFilter<T>(name: string, defaultValue: T, args: unknown[]): T;
73
+
74
+ addField(field: string, options?: FieldOptions): Core;
75
+ removeField(field: string): Core;
76
+
77
+ revalidateField(field: string): Promise<string>;
78
+ validate(): Promise<string>;
79
+ validateField(field: string): Promise<string>;
80
+ validateElement(field: string, ele: HTMLElement): Promise<string>;
81
+ executeValidator(field: string, ele: HTMLElement, v: string, opts: ValidatorOptions): Promise<string>;
82
+
83
+ getElementValue(field: string, ele: HTMLElement, validator?: string): string;
84
+ getElements(field: string): HTMLElement[];
85
+ getFields(): FieldsOptions;
86
+ getFormElement(): HTMLElement;
87
+ getLocale(): string;
88
+ getPlugin(name: string): Plugin<unknown>;
89
+
90
+ updateFieldStatus(field: string, status: string, validator?: string): Core;
91
+ updateElementStatus(field: string, ele: HTMLElement, status: string, validator?: string): Core;
92
+
93
+ resetForm(reset?: boolean): Core;
94
+ resetField(field: string, reset?: boolean): Core;
95
+
96
+ disableValidator(field: string, validator?: string): Core;
97
+ enableValidator(field: string, validator?: string): Core;
98
+ updateValidatorOption(field: string, validator: string, name: string, value: unknown): Core;
99
+ setFieldOptions(field: string, options: FieldOptions): Core;
100
+
101
+ destroy(): Core;
102
+
103
+ setLocale(locale: string, localization: Localization): Core;
104
+ }
105
+
106
+ class Plugin<T> {
107
+ constructor(opts?: T);
108
+ setCore(core: core.Core): Plugin<T>;
109
+ install(): void;
110
+ uninstall(): void;
111
+ }
112
+ }
113
+
114
+ type Plugin<T> = core.Plugin<T>;
115
+
116
+ // Algorithms
117
+ // ----------
118
+
119
+ namespace algorithms {
120
+ function luhn(value: string): boolean;
121
+ function mod11And10(value: string): boolean;
122
+ function mod37And36(value: string, alphabet?: string): boolean;
123
+ function verhoeff(value: number[]): boolean;
124
+ }
125
+
126
+ // formValidation
127
+ // --------------
128
+
129
+ interface Options {
130
+ fields?: core.FieldsOptions;
131
+ locale?: string;
132
+ localization?: core.Localization;
133
+ plugins?: {
134
+ [name: string]: core.Plugin<unknown>,
135
+ };
136
+ init?(core: core.Core): void;
137
+ }
138
+ function formValidation(form: HTMLElement, options?: Options): core.Core;
139
+
140
+ // Locales
141
+ // -------
142
+
143
+ let locales: {};
144
+
145
+ // Plugins
146
+ // -------
147
+ namespace plugins {
148
+ interface AliasOptions {
149
+ // Map the alias with defined validator name
150
+ [alias: string]: string;
151
+ }
152
+ class Alias extends core.Plugin<AliasOptions> {
153
+ constructor(opts?: AliasOptions);
154
+ }
155
+
156
+ class Aria extends core.Plugin<{}> {
157
+ constructor();
158
+ }
159
+
160
+ interface AutoFocusOptions {
161
+ onPrefocus: (AutoFocusPrefocusEvent) => void;
162
+ }
163
+ interface AutoFocusPrefocusEvent {
164
+ field: string;
165
+ firstElement: HTMLElement;
166
+ }
167
+ class AutoFocus extends core.Plugin<AutoFocusOptions> {
168
+ constructor(opts?: AutoFocusOptions);
169
+ }
170
+
171
+ interface DeclarativeOptions {
172
+ // Set it to `true` to enable the validators automatically based on the input type or particular HTML 5 attributes:
173
+ // -----------------+---------------------
174
+ // HTML 5 attribute | Equivalent validator
175
+ // -----------------+---------------------
176
+ // max="..." | lessThan
177
+ // min="..." | greaterThan
178
+ // maxlength="..." | stringLength
179
+ // minlength="..." | stringLength
180
+ // pattern="..." | regexp
181
+ // required | notEmpty
182
+ // type="color" | color
183
+ // type="email" | emailAddress
184
+ // type="range" | between
185
+ // type="url" | uri
186
+ // -----------------+---------------------
187
+ // It's not enabled by default
188
+ html5Input?: boolean;
189
+ // The prefix of plugin declaration attributes. By default, it is set to `data-fvp-`
190
+ pluginPrefix?: string;
191
+ // The prefix of attributes. By default, it is set to `data-fv-`
192
+ prefix?: string;
193
+ }
194
+ class Declarative extends core.Plugin<DeclarativeOptions> {
195
+ constructor(opts?: DeclarativeOptions);
196
+ }
197
+
198
+ class DefaultSubmit extends core.Plugin<{}> {
199
+ constructor();
200
+ }
201
+
202
+ interface DependencyOptions {
203
+ [field: string]: string;
204
+ }
205
+ class Dependency extends core.Plugin<DependencyOptions> {
206
+ constructor(opts: DependencyOptions);
207
+ }
208
+
209
+ type ExcludedCallback = (field: string, element: HTMLElement, elements: HTMLElement[]) => boolean;
210
+ interface ExcludedOptions {
211
+ excluded: ExcludedCallback;
212
+ }
213
+ class Excluded extends core.Plugin<ExcludedOptions> {
214
+ constructor(opts?: ExcludedOptions);
215
+ }
216
+
217
+ interface FieldStatusOptions {
218
+ onStatusChanged?: (areFieldsValid: boolean) => void;
219
+ }
220
+ class FieldStatus extends core.Plugin<FieldStatusOptions> {
221
+ constructor(opts?: FieldStatusOptions);
222
+ }
223
+
224
+ interface IconOptions {
225
+ invalid?: string;
226
+ valid?: string;
227
+ validating?: string;
228
+ onPlaced?: (IconPlacedEvent) => void;
229
+ onSet?: (IconSetEvent) => void;
230
+ }
231
+ interface IconPlacedEvent {
232
+ element: HTMLElement;
233
+ field: string;
234
+ iconElement: HTMLElement;
235
+ classes: IconOptions;
236
+ }
237
+ interface IconSetEvent {
238
+ element: HTMLElement;
239
+ field: string;
240
+ status: string;
241
+ iconElement: HTMLElement;
242
+ }
243
+ class Icon extends core.Plugin<IconOptions> {
244
+ constructor(opts?: IconOptions);
245
+ }
246
+
247
+ interface InternationalTelephoneInputOptions {
248
+ autoPlaceholder?: string;
249
+ field: string | string[];
250
+ message: string;
251
+ utilsScript?: string;
252
+ }
253
+ class InternationalTelephoneInput extends core.Plugin<InternationalTelephoneInputOptions> {
254
+ constructor(opts?: InternationalTelephoneInputOptions);
255
+ static INT_TEL_VALIDATOR: string;
256
+ }
257
+
258
+ interface LiteralMessage {
259
+ [locale: string]: string;
260
+ }
261
+ type CallbackMessage = (field: string, validator: string) => LiteralMessage;
262
+ interface L10nOptions {
263
+ [field: string]: {
264
+ [validator: string]: LiteralMessage | CallbackMessage,
265
+ };
266
+ }
267
+ class L10n extends core.Plugin<L10nOptions> {
268
+ constructor(opts?: L10nOptions);
269
+ }
270
+
271
+ interface MailgunOptions {
272
+ // The API key provided by Mailgun
273
+ apiKey: string;
274
+ // The field name that will be validated
275
+ field: string;
276
+ // Error message indicates the input is not valid
277
+ message: string;
278
+ // Show suggestion if the email is not valid
279
+ suggestion?: boolean;
280
+ }
281
+ class Mailgun extends core.Plugin<MailgunOptions> {
282
+ constructor(opts?: MailgunOptions);
283
+ }
284
+
285
+ interface MandatoryIconOptions {
286
+ icon: string;
287
+ }
288
+ class MandatoryIcon extends core.Plugin<MandatoryIconOptions> {
289
+ constructor(opts?: MandatoryIconOptions);
290
+ }
291
+
292
+ interface PasswordStrengthOptions {
293
+ field: string;
294
+ message: string;
295
+ minimalScore: number;
296
+ onValidated?: (valid: boolean, message: string, score: number) => void;
297
+ }
298
+ class PasswordStrength extends core.Plugin<PasswordStrengthOptions> {
299
+ constructor(opts?: PasswordStrengthOptions);
300
+ static PASSWORD_STRENGTH_VALIDATOR: string;
301
+ }
302
+
303
+ type ContainerCallback = (field: string, element: HTMLElement) => HTMLElement;
304
+ interface MessageOptions {
305
+ clazz?: string;
306
+ container?: string | ContainerCallback;
307
+ }
308
+ class Message extends core.Plugin<MessageOptions> {
309
+ constructor(opts?: MessageOptions);
310
+ static getClosestContainer(element: HTMLElement, upper: HTMLElement, pattern: RegExp): HTMLElement;
311
+ }
312
+
313
+ interface RecaptchaOptions {
314
+ // The ID of element showing the captcha
315
+ element: string;
316
+ // The language code defined by reCAPTCHA
317
+ // See https://developers.google.com/recaptcha/docs/language
318
+ language?: string;
319
+ // The invalid message that will be shown in case the captcha is not valid
320
+ // You don't need to define it if the back-end URL above returns the message
321
+ message: string;
322
+ // The site key provided by Google
323
+ siteKey: string;
324
+ backendVerificationUrl?: string;
325
+
326
+ // The size of widget. It can be 'compact', 'normal' (default), or 'invisible'
327
+ size?: string;
328
+
329
+ // reCAPTCHA widget option (size can be 'compact' or 'normal')
330
+ // See https://developers.google.com/recaptcha/docs/display
331
+
332
+ // The theme name provided by Google. It can be light (default), dark
333
+ theme?: string;
334
+
335
+ // Invisible reCAPTCHA
336
+ // See https://developers.google.com/recaptcha/docs/invisible
337
+ // The position of reCAPTCHA. Can be 'bottomright' (default), 'bottomleft', 'inline'
338
+ badge?: string;
339
+ }
340
+ class Recaptcha extends core.Plugin<RecaptchaOptions> {
341
+ constructor(opts?: RecaptchaOptions);
342
+ static CAPTCHA_FIELD: string;
343
+ }
344
+
345
+ interface Recaptcha3Options {
346
+ // The ID of element showing the captcha error
347
+ element: string;
348
+ // The language code defined by reCAPTCHA
349
+ // See https://developers.google.com/recaptcha/docs/language
350
+ language?: string;
351
+ // Minimum score, between 0 and 1
352
+ minimumScore?: number;
353
+ // The invalid message that will be shown in case the captcha is not valid
354
+ // You don't need to define it if the back-end URL above returns the message
355
+ message: string;
356
+ // The site key provided by Google
357
+ siteKey: string;
358
+ backendVerificationUrl: string;
359
+ action: string;
360
+ }
361
+ class Recaptcha3 extends core.Plugin<Recaptcha3Options> {
362
+ constructor(opts?: Recaptcha3Options);
363
+ static CAPTCHA_FIELD: string;
364
+ }
365
+
366
+ interface Recaptcha3TokenOptions {
367
+ action: string;
368
+ hiddenTokenName: string;
369
+ language?: string;
370
+ siteKey: string;
371
+ }
372
+ class Recaptcha3Token extends core.Plugin<Recaptcha3TokenOptions> {
373
+ constructor(opts?: Recaptcha3TokenOptions);
374
+ }
375
+
376
+ interface SequenceOptions {
377
+ enabled: boolean | { [field: string]: boolean };
378
+ }
379
+ class Sequence extends core.Plugin<SequenceOptions> {
380
+ constructor(opts?: SequenceOptions);
381
+ }
382
+
383
+ interface StartEndDateOptions {
384
+ format: string;
385
+ startDate: {
386
+ field: string;
387
+ message: string;
388
+ };
389
+ endDate: {
390
+ field: string;
391
+ message: string;
392
+ };
393
+ }
394
+ class StartEndDate extends core.Plugin<StartEndDateOptions> {
395
+ constructor(opts?: StartEndDateOptions);
396
+ }
397
+
398
+ interface SubmitButtonOptions {
399
+ aspNetButton?: boolean;
400
+ // Allow to query the submit button(s)
401
+ // It's useful in case the submit button is outside of form
402
+ buttons?: (form: HTMLFormElement) => Element[];
403
+ }
404
+ class SubmitButton extends core.Plugin<SubmitButtonOptions> {
405
+ constructor(opts?: SubmitButtonOptions);
406
+ }
407
+
408
+ interface TooltipOptions {
409
+ placement: string;
410
+ trigger: string;
411
+ }
412
+ class Tooltip extends core.Plugin<TooltipOptions> {
413
+ constructor(opts?: TooltipOptions);
414
+ }
415
+
416
+ interface TransformerOptions {
417
+ [field: string]: {
418
+ [validator: string]: (field: string, element: HTMLElement, validator: string) => string,
419
+ };
420
+ }
421
+ class Transformer extends core.Plugin<TransformerOptions> {
422
+ constructor(opts?: TransformerOptions);
423
+ }
424
+
425
+ interface TriggerOptions {
426
+ delay?: number | {
427
+ [field: string]: number,
428
+ };
429
+ event: string | {
430
+ [field: string]: boolean | string,
431
+ };
432
+ // Only perform the validation if the field value exceed this number of characters
433
+ threshold?: number | {
434
+ [field: string]: number,
435
+ };
436
+ }
437
+ class Trigger extends core.Plugin<TriggerOptions> {
438
+ constructor(opts?: TriggerOptions);
439
+ }
440
+
441
+ interface WizardOptions {
442
+ stepSelector: string;
443
+ prevButton: string;
444
+ nextButton: string;
445
+ onStepActive?: (WizardStepEvent) => void;
446
+ onStepInvalid?: (WizardStepEvent) => void;
447
+ onStepValid?: (WizardStepEvent) => void;
448
+ onValid?: (WizardValidEvent) => void;
449
+ activeStepClass?: string;
450
+ isFieldExcluded?: (field: string, element: HTMLElement, elements: HTMLElement[]) => boolean;
451
+ isStepSkipped?:(WizardIsStepSkipped) => boolean;
452
+ stepClass?: string;
453
+ }
454
+ interface WizardStepEvent {
455
+ step: number;
456
+ numSteps: number;
457
+ }
458
+ interface WizardValidEvent {
459
+ numSteps: number;
460
+ }
461
+ interface WizardIsStepSkipped {
462
+ currentStep: number;
463
+ numSteps: number;
464
+ targetStep: number;
465
+ }
466
+ class Wizard extends core.Plugin<WizardOptions> {
467
+ constructor(opts?: WizardOptions);
468
+ static EXCLUDED_PLUGIN: string;
469
+ }
470
+
471
+ // Plugins that supports popular CSS frameworks
472
+
473
+ type RowSelector = (field: string, element: HTMLElement) => string;
474
+ interface FrameworkOptions {
475
+ defaultMessageContainer?: boolean;
476
+ formClass: string;
477
+ messageClass?: string;
478
+ rowInvalidClass: string;
479
+ // A list of CSS classes (separated by a space) that will be added to the row
480
+ rowClasses?: string;
481
+ rowPattern: RegExp;
482
+ rowSelector: string | RowSelector;
483
+ rowValidatingClass?: string;
484
+ rowValidClass: string;
485
+ // A CSS class added to valid element
486
+ eleValidClass?: string;
487
+ // A CSS class added to invalid element
488
+ eleInvalidClass?: string;
489
+ }
490
+ class Framework extends core.Plugin<FrameworkOptions> {
491
+ constructor(opts?: FrameworkOptions);
492
+ }
493
+
494
+ class Bootstrap extends plugins.Framework {
495
+ constructor(opts?: plugins.FrameworkOptions);
496
+ }
497
+ class Bootstrap3 extends plugins.Framework {
498
+ constructor(opts?: plugins.FrameworkOptions);
499
+ }
500
+ class Bootstrap5 extends plugins.Framework {
501
+ constructor(opts?: plugins.FrameworkOptions);
502
+ }
503
+ class Bulma extends plugins.Framework {
504
+ constructor(opts?: plugins.FrameworkOptions);
505
+ }
506
+ class Foundation extends plugins.Framework {
507
+ constructor(opts?: plugins.FrameworkOptions);
508
+ }
509
+ class Materialize extends plugins.Framework {
510
+ constructor(opts?: plugins.FrameworkOptions);
511
+ }
512
+ class Milligram extends plugins.Framework {
513
+ constructor(opts?: plugins.FrameworkOptions);
514
+ }
515
+ class Mini extends plugins.Framework {
516
+ constructor(opts?: plugins.FrameworkOptions);
517
+ }
518
+ class Mui extends plugins.Framework {
519
+ constructor(opts?: plugins.FrameworkOptions);
520
+ }
521
+ class Pure extends plugins.Framework {
522
+ constructor(opts?: plugins.FrameworkOptions);
523
+ }
524
+ class Semantic extends plugins.Framework {
525
+ constructor(opts?: plugins.FrameworkOptions);
526
+ }
527
+ class Shoelace extends plugins.Framework {
528
+ constructor(opts?: plugins.FrameworkOptions);
529
+ }
530
+ class Spectre extends plugins.Framework {
531
+ constructor(opts?: plugins.FrameworkOptions);
532
+ }
533
+ class Tachyons extends plugins.Framework {
534
+ constructor(opts?: plugins.FrameworkOptions);
535
+ }
536
+ class Turret extends plugins.Framework {
537
+ constructor(opts?: plugins.FrameworkOptions);
538
+ }
539
+ class Uikit extends plugins.Framework {
540
+ constructor(opts?: plugins.FrameworkOptions);
541
+ }
542
+ }
543
+
544
+ // Utils
545
+ // -----
546
+ namespace utils {
547
+ function call(functionName: ((...arg: unknown[]) => unknown) | string, args: unknown[]): unknown;
548
+ function classSet(element: HTMLElement, classes: { [clazz: string]: boolean }): void;
549
+ function closest(element: HTMLElement, selector: string): HTMLElement;
550
+
551
+ interface FetchOptions {
552
+ // Does it request to other domain? Default value is `false`
553
+ crossDomain?: boolean;
554
+ // Additional headers
555
+ headers?: {
556
+ [name: string]: string,
557
+ };
558
+ // The request method. For example, `GET` (default), `POST`
559
+ method?: string;
560
+ params: {
561
+ [name: string]: unknown,
562
+ };
563
+ }
564
+ function fetch(url: string, options: FetchOptions): Promise<unknown>;
565
+
566
+ function format(message: string, parameters: string | string[]): string;
567
+ function hasClass(element: HTMLElement, clazz: string): boolean;
568
+ function isValidDate(year: number, month: number, day: number, notInFuture?: boolean): boolean;
569
+ }
570
+
571
+ // Validators
572
+ // ----------
573
+ namespace validators {
574
+ function base64(): {
575
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
576
+ };
577
+
578
+ interface BetweenOptions extends core.ValidateOptions {
579
+ // Default is true
580
+ inclusive: boolean;
581
+ max?: number;
582
+ min?: number;
583
+ }
584
+ interface BetweenLocalization extends core.Localization {
585
+ between: {
586
+ default: string,
587
+ notInclusive: string,
588
+ };
589
+ }
590
+ function between(): {
591
+ validate(input: core.ValidateInput<BetweenOptions, BetweenLocalization>): core.ValidateResult,
592
+ };
593
+
594
+ function bic(): {
595
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
596
+ };
597
+ function blank(): {
598
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
599
+ };
600
+
601
+ interface CallbackOptions extends core.ValidateOptions {
602
+ callback: ((...arg: unknown[]) => unknown) | string;
603
+ }
604
+ function callback(): {
605
+ validate(input: core.ValidateInput<CallbackOptions, core.Localization>): core.ValidateResult,
606
+ };
607
+
608
+ interface ChoiceOptions extends core.ValidateOptions {
609
+ max?: number;
610
+ min?: number;
611
+ }
612
+ interface ChoiceLocalization extends core.Localization {
613
+ choice: {
614
+ between: string,
615
+ default: string,
616
+ less: string,
617
+ more: string,
618
+ };
619
+ }
620
+ function choice(): {
621
+ validate(input: core.ValidateInput<ChoiceOptions, ChoiceLocalization>): core.ValidateResult,
622
+ };
623
+
624
+ interface ColorOptions extends core.ValidateOptions {
625
+ // The array of valid color types
626
+ // For example: 'hex', 'hex rgb', ['hex', 'rgb']
627
+ type: string | string[];
628
+ }
629
+ function color(): {
630
+ validate(input: core.ValidateInput<ColorOptions, core.Localization>): core.ValidateResult,
631
+ };
632
+
633
+ function creditCard(): {
634
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
635
+ };
636
+ function cusip(): {
637
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
638
+ };
639
+
640
+ type CompareDateCallback = () => (string | Date);
641
+ interface DateOptions extends core.ValidateOptions {
642
+ // The date format. Default is MM/DD/YYYY
643
+ // The format can be:
644
+ // - date: Consist of DD, MM, YYYY parts which are separated by the separator option
645
+ // - date and time: The time can consist of h, m, s parts which are separated by :
646
+ // - date, time and A (indicating AM or PM)
647
+ format: string;
648
+ // The maximum date
649
+ max?: string | Date | CompareDateCallback;
650
+ // The minimum date
651
+ min?: string | Date | CompareDateCallback;
652
+ // Use to separate the date, month, and year. By default, it is /
653
+ separator?: string;
654
+ }
655
+ interface DateLocalization extends core.Localization {
656
+ date: {
657
+ default: string,
658
+ max: string,
659
+ min: string,
660
+ range: string,
661
+ };
662
+ }
663
+ function date(): {
664
+ validate(input: core.ValidateInput<DateOptions, DateLocalization>): core.ValidateResult,
665
+ };
666
+
667
+ type CompareDifferentCallback = () => string;
668
+ interface DifferentOptions extends core.ValidateOptions {
669
+ compare: string | CompareDifferentCallback;
670
+ }
671
+ function different(): {
672
+ validate(input: core.ValidateInput<DifferentOptions, core.Localization>): core.ValidateResult,
673
+ };
674
+
675
+ function digits(): {
676
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
677
+ };
678
+ function ean(): {
679
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
680
+ };
681
+ function ein(): {
682
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
683
+ };
684
+
685
+ interface EmailAddressOptions extends core.ValidateOptions {
686
+ // Allow multiple email addresses, separated by a comma or semicolon; default is false.
687
+ multiple?: boolean | string;
688
+ // Regex for character or characters expected as separator between addresses
689
+ // default is comma /[,;]/, i.e. comma or semicolon.
690
+ separator?: string | RegExp;
691
+ }
692
+ function emailAddress(): {
693
+ validate(input: core.ValidateInput<EmailAddressOptions, core.Localization>): core.ValidateResult,
694
+ };
695
+
696
+ interface FileOptions extends core.ValidateOptions {
697
+ // The allowed extensions, separated by a comma
698
+ extension: string;
699
+ // The maximum number of files
700
+ maxFiles: number;
701
+ // The maximum size in bytes
702
+ maxSize: number;
703
+ // The maximum size in bytes for all files
704
+ maxTotalSize: number;
705
+ // The minimum number of files
706
+ minFiles: number;
707
+ // The minimum size in bytes
708
+ minSize: number;
709
+ // The minimum size in bytes for all files
710
+ minTotalSize: number;
711
+ // The allowed MIME type, separated by a comma
712
+ type: string;
713
+ }
714
+ function file(): {
715
+ validate(input: core.ValidateInput<FileOptions, core.Localization>): core.ValidateResult,
716
+ };
717
+
718
+ interface GreaterThanOptions extends core.ValidateOptions {
719
+ // Default is true
720
+ inclusive: boolean;
721
+ message: string;
722
+ min?: number;
723
+ }
724
+ interface GreaterThanLocalization extends core.Localization {
725
+ greaterThan: {
726
+ default: string,
727
+ notInclusive: string,
728
+ };
729
+ }
730
+ function greaterThan(): {
731
+ validate(input: core.ValidateInput<GreaterThanOptions, GreaterThanLocalization>): core.ValidateResult,
732
+ };
733
+
734
+ function grid(): {
735
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
736
+ };
737
+ function hex(): {
738
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
739
+ };
740
+
741
+ interface IbanOptions extends core.ValidateOptions {
742
+ // The ISO 3166-1 country code. It can be
743
+ // - A country code
744
+ // - Name of field which its value defines the country code
745
+ // - Name of callback function that returns the country code
746
+ // - A callback function that returns the country code
747
+ country?: string;
748
+ // Set it to true (false) to indicate that the IBAN number must be (not be) from SEPA countries
749
+ sepa?: boolean | string;
750
+ }
751
+ interface IbanLocalization extends core.Localization {
752
+ iban: {
753
+ countries: {
754
+ [countryCode: string]: string,
755
+ },
756
+ country: string,
757
+ default: string,
758
+ };
759
+ }
760
+ function iban(): {
761
+ validate(input: core.ValidateInput<IbanOptions, IbanLocalization>): core.ValidateResult,
762
+ };
763
+
764
+ interface IdOptions extends core.ValidateOptions {
765
+ // The ISO 3166-1 country code. It can be
766
+ // - A country code
767
+ // - A callback function that returns the country code
768
+ country: string | (() => string);
769
+ }
770
+ interface IdLocalization extends core.Localization {
771
+ id: {
772
+ countries: {
773
+ [countryCode: string]: string,
774
+ },
775
+ country: string,
776
+ default: string,
777
+ };
778
+ }
779
+ function id(): {
780
+ validate(input: core.ValidateInput<IdOptions, IdLocalization>): core.ValidateResult,
781
+ };
782
+
783
+ type CompareIdenticalCallback = () => string;
784
+ interface IdenticalOptions extends core.ValidateOptions {
785
+ compare: string | CompareIdenticalCallback;
786
+ }
787
+ function identical(): {
788
+ validate(input: core.ValidateInput<IdenticalOptions, core.Localization>): core.ValidateResult,
789
+ };
790
+
791
+ function imei(): {
792
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
793
+ };
794
+ function imo(): {
795
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
796
+ };
797
+
798
+ interface IntegerOptions extends core.ValidateOptions {
799
+ // The decimal separator. It's '.' by default
800
+ decimalSeparator: string;
801
+ // The thousands separator. It's empty by default
802
+ thousandsSeparator: string;
803
+ }
804
+ function integer(): {
805
+ validate(input: core.ValidateInput<IntegerOptions, core.Localization>): core.ValidateResult,
806
+ };
807
+
808
+ interface IpOptions extends core.ValidateOptions {
809
+ // Enable IPv4 validator, default to true
810
+ ipv4?: boolean;
811
+ // Enable IPv6 validator, default to true
812
+ ipv6?: boolean;
813
+ }
814
+ interface IpLocalization extends core.Localization {
815
+ ip: {
816
+ default: string,
817
+ ipv4: string,
818
+ ipv6: string,
819
+ };
820
+ }
821
+ function ip(): {
822
+ validate(input: core.ValidateInput<IpOptions, IpLocalization>): core.ValidateResult,
823
+ };
824
+
825
+ function isbn(): {
826
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
827
+ };
828
+ function isin(): {
829
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
830
+ };
831
+ function ismn(): {
832
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
833
+ };
834
+ function issn(): {
835
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
836
+ };
837
+
838
+ interface LessThanOptions extends core.ValidateOptions {
839
+ // Default is true
840
+ inclusive: boolean;
841
+ max?: number;
842
+ }
843
+ interface LessThanLocalization extends core.Localization {
844
+ lessThan: {
845
+ default: string,
846
+ notInclusive: string,
847
+ };
848
+ }
849
+ function lessThan(): {
850
+ validate(input: core.ValidateInput<LessThanOptions, LessThanLocalization>): core.ValidateResult,
851
+ };
852
+
853
+ function mac(): {
854
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
855
+ };
856
+ function meid(): {
857
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
858
+ };
859
+
860
+ interface NotEmptyOptions extends core.ValidateOptions {
861
+ trim?: boolean;
862
+ }
863
+ function notEmpty(): {
864
+ validate(input: core.ValidateInput<NotEmptyOptions, core.Localization>): core.ValidateResult,
865
+ };
866
+
867
+ interface NumericOptions extends core.ValidateOptions {
868
+ // The decimal separator. It's '.' by default
869
+ decimalSeparator: string;
870
+ // The thousands separator. It's empty by default
871
+ thousandsSeparator: string;
872
+ }
873
+ function numeric(): {
874
+ validate(input: core.ValidateInput<NumericOptions, core.Localization>): core.ValidateResult,
875
+ };
876
+
877
+ interface PhoneOptions extends core.ValidateOptions {
878
+ // The ISO 3166-1 country code. It can be
879
+ // - A country code
880
+ // - A callback function that returns the country code
881
+ country: string | (() => string);
882
+ }
883
+ interface PhoneLocalization extends core.Localization {
884
+ phone: {
885
+ countries: {
886
+ [countryCode: string]: string,
887
+ },
888
+ country: string,
889
+ default: string,
890
+ };
891
+ }
892
+ function phone(): {
893
+ validate(input: core.ValidateInput<PhoneOptions, PhoneLocalization>): core.ValidateResult,
894
+ };
895
+
896
+ interface PromiseOptions extends core.ValidateOptions {
897
+ promise: (...arg: unknown[]) => unknown | string;
898
+ }
899
+ function promise(): {
900
+ validate(input: core.ValidateInput<PromiseOptions, core.Localization>): core.ValidateResult,
901
+ };
902
+
903
+ interface RegexpOptions extends core.ValidateOptions {
904
+ // If specified, flags can have any combination of JavaScript regular expression flags such as:
905
+ // g: global match
906
+ // i: ignore case
907
+ // m: multiple line
908
+ flags?: string;
909
+ // The regular expression you need to check
910
+ regexp: string | RegExp;
911
+ }
912
+ function regexp(): {
913
+ validate(input: core.ValidateInput<RegexpOptions, core.Localization>): core.ValidateResult,
914
+ };
915
+
916
+ interface RemoteOptions extends core.ValidateOptions {
917
+ url: string;
918
+ // Does it request to other domain? Default value is `false`
919
+ crossDomain?: boolean;
920
+ // By default, it will take the value `{ <fieldName>: <fieldValue> }`
921
+ data?: Record<string, unknown> | ((...arg: unknown[]) => unknown);
922
+ // Additional headers
923
+ headers?: {
924
+ [name: string]: string,
925
+ };
926
+ // Override the field name for the request
927
+ name?: string;
928
+ // Can be GET or POST (default)
929
+ method?: string;
930
+ // The valid key. It's `valid` by default
931
+ // This is useful when connecting to external remote server or APIs provided by 3rd parties
932
+ validKey?: string;
933
+ }
934
+ function remote(): {
935
+ validate(input: core.ValidateInput<RemoteOptions, core.Localization>): core.ValidateResult,
936
+ };
937
+
938
+ function rtn(): {
939
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
940
+ };
941
+ function sedol(): {
942
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
943
+ };
944
+ function siren(): {
945
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
946
+ };
947
+ function siret(): {
948
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
949
+ };
950
+
951
+ interface StepOptions extends core.ValidateOptions {
952
+ baseValue: number;
953
+ step: number;
954
+ }
955
+ interface StepLocalization extends core.Localization {
956
+ step: {
957
+ default: string,
958
+ };
959
+ }
960
+ function step(): {
961
+ validate(input: core.ValidateInput<StepOptions, StepLocalization>): core.ValidateResult,
962
+ };
963
+
964
+ interface StringCaseOptions extends core.ValidateOptions {
965
+ // Can be 'lower' (default) or 'upper'
966
+ case: string;
967
+ }
968
+ interface StringCaseLocalization extends core.Localization {
969
+ stringCase: {
970
+ default: string,
971
+ upper: string,
972
+ };
973
+ }
974
+ function stringCase(): {
975
+ validate(input: core.ValidateInput<StringCaseOptions, StringCaseLocalization>): core.ValidateResult,
976
+ };
977
+
978
+ interface StringLengthOptions extends core.ValidateOptions {
979
+ // At least one of two options is required
980
+ // The min, max keys define the number which the field value compares to. min, max can be
981
+ // - A number
982
+ // - Name of field which its value defines the number
983
+ // - Name of callback function that returns the number
984
+ // - A callback function that returns the number
985
+ max?: number | string;
986
+ min?: number | string;
987
+ // Indicate the length will be calculated after trimming the value or not. It is false, by default
988
+ trim?: boolean | string;
989
+ // Evaluate string length in UTF-8 bytes, default to false
990
+ utf8Bytes?: boolean | string;
991
+ }
992
+ interface StringLengthLocalization extends core.Localization {
993
+ stringLength: {
994
+ between: string,
995
+ default: string,
996
+ less: string,
997
+ more: string,
998
+ };
999
+ }
1000
+ function stringLength(): {
1001
+ validate(input: core.ValidateInput<StringLengthOptions, StringLengthLocalization>): core.ValidateResult,
1002
+ };
1003
+
1004
+ interface UriOptions extends core.ValidateOptions {
1005
+ // Allow the URI without protocol. Default to false
1006
+ allowEmptyProtocol?: boolean | string;
1007
+ // Allow the private and local network IP. Default to false
1008
+ allowLocal?: boolean | string;
1009
+ // The protocols, separated by a comma. Default to "http, https, ftp"
1010
+ protocol?: string;
1011
+ }
1012
+ function uri(): {
1013
+ validate(input: core.ValidateInput<UriOptions, core.Localization>): core.ValidateResult,
1014
+ };
1015
+
1016
+ interface UuidOptions extends core.ValidateOptions {
1017
+ // Can be 3, 4, 5, null
1018
+ version?: string;
1019
+ }
1020
+ interface UuidLocalization extends core.Localization {
1021
+ uuid: {
1022
+ default: string,
1023
+ version: string,
1024
+ };
1025
+ }
1026
+ function uuid(): {
1027
+ validate(input: core.ValidateInput<UuidOptions, UuidLocalization>): core.ValidateResult,
1028
+ };
1029
+
1030
+ interface VatOptions extends core.ValidateOptions {
1031
+ // The ISO 3166-1 country code. It can be
1032
+ // - A country code
1033
+ // - A callback function that returns the country code
1034
+ country: string | (() => string);
1035
+ }
1036
+ interface VatLocalization extends core.Localization {
1037
+ vat: {
1038
+ countries: {
1039
+ [countryCode: string]: string,
1040
+ },
1041
+ country: string,
1042
+ default: string,
1043
+ };
1044
+ }
1045
+ function vat(): {
1046
+ validate(input: core.ValidateInput<VatOptions, VatLocalization>): core.ValidateResult,
1047
+ };
1048
+
1049
+ function vin(): {
1050
+ validate(input: core.ValidateInput<core.ValidateOptions, core.Localization>): core.ValidateResult,
1051
+ };
1052
+
1053
+ interface ZipCodeOptions extends core.ValidateOptions {
1054
+ // The ISO 3166-1 country code. It can be
1055
+ // - A country code
1056
+ // - A callback function that returns the country code
1057
+ country: string | (() => string);
1058
+ }
1059
+ interface ZipCodeLocalization extends core.Localization {
1060
+ zipCode: {
1061
+ countries: {
1062
+ [countryCode: string]: string,
1063
+ },
1064
+ country: string,
1065
+ default: string,
1066
+ };
1067
+ }
1068
+ function zipCode(): {
1069
+ validate(input: core.ValidateInput<ZipCodeOptions, ZipCodeLocalization>): core.ValidateResult,
1070
+ };
1071
+ }
1072
+ }