@internetarchive/elements 1.1.2 → 1.1.3-l10n-demo.1

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 (523) hide show
  1. package/README.md +34 -1
  2. package/dist/src/elements/ia-button/ia-button.d.ts.map +1 -1
  3. package/dist/src/elements/ia-button/ia-button.js +2 -2
  4. package/dist/src/elements/ia-button/ia-button.js.map +1 -1
  5. package/dist/src/elements/ia-combo-box/ia-combo-box.d.ts.map +1 -1
  6. package/dist/src/elements/ia-combo-box/ia-combo-box.js +3 -2
  7. package/dist/src/elements/ia-combo-box/ia-combo-box.js.map +1 -1
  8. package/dist/src/elements/ia-donation-form/analytics.d.ts +12 -0
  9. package/dist/src/elements/ia-donation-form/analytics.d.ts.map +1 -0
  10. package/dist/src/elements/ia-donation-form/analytics.js +2 -0
  11. package/dist/src/elements/ia-donation-form/analytics.js.map +1 -0
  12. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts +79 -0
  13. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.d.ts.map +1 -0
  14. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js +2 -0
  15. package/dist/src/elements/ia-donation-form/braintree/braintree-manager-interface.js.map +1 -0
  16. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts +73 -0
  17. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.d.ts.map +1 -0
  18. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js +126 -0
  19. package/dist/src/elements/ia-donation-form/braintree/braintree-manager.js.map +1 -0
  20. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts +10 -0
  21. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.d.ts.map +1 -0
  22. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js +9 -0
  23. package/dist/src/elements/ia-donation-form/braintree/hosting-environment.js.map +1 -0
  24. package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts +47 -0
  25. package/dist/src/elements/ia-donation-form/braintree/payment-clients.d.ts.map +1 -0
  26. package/dist/src/elements/ia-donation-form/braintree/payment-clients.js +104 -0
  27. package/dist/src/elements/ia-donation-form/braintree/payment-clients.js.map +1 -0
  28. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts +11 -0
  29. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.d.ts.map +1 -0
  30. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js +2 -0
  31. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-interface.js.map +1 -0
  32. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts +20 -0
  33. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.d.ts.map +1 -0
  34. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js +2 -0
  35. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource-interface.js.map +1 -0
  36. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts +21 -0
  37. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.d.ts.map +1 -0
  38. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js +83 -0
  39. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-datasource.js.map +1 -0
  40. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts +11 -0
  41. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.d.ts.map +1 -0
  42. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js +13 -0
  43. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay-session-manager.js.map +1 -0
  44. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts +27 -0
  45. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.d.ts.map +1 -0
  46. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js +67 -0
  47. package/dist/src/elements/ia-donation-form/braintree/payment-providers/apple-pay/apple-pay.js.map +1 -0
  48. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts +18 -0
  49. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.d.ts.map +1 -0
  50. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js +2 -0
  51. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card-interface.js.map +1 -0
  52. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts +41 -0
  53. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.d.ts.map +1 -0
  54. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js +95 -0
  55. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/credit-card.js.map +1 -0
  56. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts +14 -0
  57. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.d.ts.map +1 -0
  58. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js +9 -0
  59. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-configuration.js.map +1 -0
  60. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts +40 -0
  61. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.d.ts.map +1 -0
  62. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js +58 -0
  63. package/dist/src/elements/ia-donation-form/braintree/payment-providers/credit-card/hosted-field-container.js.map +1 -0
  64. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts +8 -0
  65. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.d.ts.map +1 -0
  66. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js +2 -0
  67. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay-interface.js.map +1 -0
  68. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts +19 -0
  69. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.d.ts.map +1 -0
  70. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js +45 -0
  71. package/dist/src/elements/ia-donation-form/braintree/payment-providers/google-pay/google-pay.js.map +1 -0
  72. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts +57 -0
  73. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.d.ts.map +1 -0
  74. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js +44 -0
  75. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-button-datasource.js.map +1 -0
  76. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts +14 -0
  77. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.d.ts.map +1 -0
  78. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js +2 -0
  79. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal-interface.js.map +1 -0
  80. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts +27 -0
  81. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.d.ts.map +1 -0
  82. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js +44 -0
  83. package/dist/src/elements/ia-donation-form/braintree/payment-providers/paypal/paypal.js.map +1 -0
  84. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts +8 -0
  85. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.d.ts.map +1 -0
  86. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js +2 -0
  87. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-interface.js.map +1 -0
  88. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts +40 -0
  89. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.d.ts.map +1 -0
  90. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js +65 -0
  91. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo-restoration-state-handler.js.map +1 -0
  92. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts +25 -0
  93. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.d.ts.map +1 -0
  94. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js +42 -0
  95. package/dist/src/elements/ia-donation-form/braintree/payment-providers/venmo/venmo.js.map +1 -0
  96. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts +18 -0
  97. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.d.ts.map +1 -0
  98. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js +2 -0
  99. package/dist/src/elements/ia-donation-form/braintree/payment-providers-interface.js.map +1 -0
  100. package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts +42 -0
  101. package/dist/src/elements/ia-donation-form/braintree/payment-providers.d.ts.map +1 -0
  102. package/dist/src/elements/ia-donation-form/braintree/payment-providers.js +99 -0
  103. package/dist/src/elements/ia-donation-form/braintree/payment-providers.js.map +1 -0
  104. package/dist/src/elements/ia-donation-form/currency-validator.d.ts +16 -0
  105. package/dist/src/elements/ia-donation-form/currency-validator.d.ts.map +1 -0
  106. package/dist/src/elements/ia-donation-form/currency-validator.js +37 -0
  107. package/dist/src/elements/ia-donation-form/currency-validator.js.map +1 -0
  108. package/dist/src/elements/ia-donation-form/donation-form-error.d.ts +5 -0
  109. package/dist/src/elements/ia-donation-form/donation-form-error.d.ts.map +1 -0
  110. package/dist/src/elements/ia-donation-form/donation-form-error.js +8 -0
  111. package/dist/src/elements/ia-donation-form/donation-form-error.js.map +1 -0
  112. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts +118 -0
  113. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.d.ts.map +1 -0
  114. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js +194 -0
  115. package/dist/src/elements/ia-donation-form/flow-handlers/donation-flow-modal-manager.js.map +1 -0
  116. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts +24 -0
  117. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.d.ts.map +1 -0
  118. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js +70 -0
  119. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/apple-pay-flow-handler.js.map +1 -0
  120. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts +44 -0
  121. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.d.ts.map +1 -0
  122. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js +110 -0
  123. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/credit-card-flow-handler.js.map +1 -0
  124. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts +24 -0
  125. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.d.ts.map +1 -0
  126. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js +74 -0
  127. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/google-pay-flow-handler.js.map +1 -0
  128. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts +47 -0
  129. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.d.ts.map +1 -0
  130. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js +204 -0
  131. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/paypal-flow-handler.js.map +1 -0
  132. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts +30 -0
  133. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.d.ts.map +1 -0
  134. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js +77 -0
  135. package/dist/src/elements/ia-donation-form/flow-handlers/handlers/venmo-flow-handler.js.map +1 -0
  136. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts +80 -0
  137. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.d.ts.map +1 -0
  138. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js +72 -0
  139. package/dist/src/elements/ia-donation-form/flow-handlers/payment-flow-handlers.js.map +1 -0
  140. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts +2 -0
  141. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.d.ts.map +1 -0
  142. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js +2 -0
  143. package/dist/src/elements/ia-donation-form/form-elements/contact-form/autocomplete-field-options.js.map +1 -0
  144. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts +3 -0
  145. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.d.ts.map +1 -0
  146. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js +254 -0
  147. package/dist/src/elements/ia-donation-form/form-elements/contact-form/countries.js.map +1 -0
  148. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts +70 -0
  149. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.d.ts.map +1 -0
  150. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js +497 -0
  151. package/dist/src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.js.map +1 -0
  152. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts +26 -0
  153. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.d.ts.map +1 -0
  154. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js +163 -0
  155. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-badged-input.js.map +1 -0
  156. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts +118 -0
  157. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.d.ts.map +1 -0
  158. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js +772 -0
  159. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-edit-donation.js.map +1 -0
  160. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts +31 -0
  161. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.d.ts.map +1 -0
  162. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js +93 -0
  163. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-header.js.map +1 -0
  164. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts +33 -0
  165. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.d.ts.map +1 -0
  166. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js +378 -0
  167. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-payment-selector.js.map +1 -0
  168. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts +21 -0
  169. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.d.ts.map +1 -0
  170. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js +182 -0
  171. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-section.js.map +1 -0
  172. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts +11 -0
  173. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.d.ts.map +1 -0
  174. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js +60 -0
  175. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-summary.js.map +1 -0
  176. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts +10 -0
  177. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.d.ts.map +1 -0
  178. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js +76 -0
  179. package/dist/src/elements/ia-donation-form/form-elements/ia-donation-total-amount.js.map +1 -0
  180. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts +114 -0
  181. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.d.ts.map +1 -0
  182. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js +586 -0
  183. package/dist/src/elements/ia-donation-form/ia-donation-form-controller.js.map +1 -0
  184. package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts +94 -0
  185. package/dist/src/elements/ia-donation-form/ia-donation-form.d.ts.map +1 -0
  186. package/dist/src/elements/ia-donation-form/ia-donation-form.js +516 -0
  187. package/dist/src/elements/ia-donation-form/ia-donation-form.js.map +1 -0
  188. package/dist/src/elements/ia-donation-form/icons/apple-pay.svg +22 -0
  189. package/dist/src/elements/ia-donation-form/icons/calendar.svg +15 -0
  190. package/dist/src/elements/ia-donation-form/icons/credit-card.svg +15 -0
  191. package/dist/src/elements/ia-donation-form/icons/email.svg +3 -0
  192. package/dist/src/elements/ia-donation-form/icons/google-pay.svg +38 -0
  193. package/dist/src/elements/ia-donation-form/icons/locale-pin.svg +7 -0
  194. package/dist/src/elements/ia-donation-form/icons/lock.svg +6 -0
  195. package/dist/src/elements/ia-donation-form/icons/paypal.svg +39 -0
  196. package/dist/src/elements/ia-donation-form/icons/user.svg +6 -0
  197. package/dist/src/elements/ia-donation-form/icons/venmo.svg +9 -0
  198. package/dist/src/elements/ia-donation-form/icons.d.ts +12 -0
  199. package/dist/src/elements/ia-donation-form/icons.d.ts.map +1 -0
  200. package/dist/src/elements/ia-donation-form/icons.js +33 -0
  201. package/dist/src/elements/ia-donation-form/icons.js.map +1 -0
  202. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts +27 -0
  203. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.d.ts.map +1 -0
  204. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js +196 -0
  205. package/dist/src/elements/ia-donation-form/modals/ia-donation-confirm-modal.js.map +1 -0
  206. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts +7 -0
  207. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.d.ts.map +1 -0
  208. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js +64 -0
  209. package/dist/src/elements/ia-donation-form/modals/ia-donation-error-modal-content.js.map +1 -0
  210. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts +28 -0
  211. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.d.ts.map +1 -0
  212. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js +314 -0
  213. package/dist/src/elements/ia-donation-form/modals/ia-donation-upsell-modal-content.js.map +1 -0
  214. package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts +34 -0
  215. package/dist/src/elements/ia-donation-form/models/donation-payment-info.d.ts.map +1 -0
  216. package/dist/src/elements/ia-donation-form/models/donation-payment-info.js +54 -0
  217. package/dist/src/elements/ia-donation-form/models/donation-payment-info.js.map +1 -0
  218. package/dist/src/elements/ia-donation-form/models/donation-request.d.ts +62 -0
  219. package/dist/src/elements/ia-donation-form/models/donation-request.d.ts.map +1 -0
  220. package/dist/src/elements/ia-donation-form/models/donation-request.js +35 -0
  221. package/dist/src/elements/ia-donation-form/models/donation-request.js.map +1 -0
  222. package/dist/src/elements/ia-donation-form/models/donation-response.d.ts +67 -0
  223. package/dist/src/elements/ia-donation-form/models/donation-response.d.ts.map +1 -0
  224. package/dist/src/elements/ia-donation-form/models/donation-response.js +57 -0
  225. package/dist/src/elements/ia-donation-form/models/donation-response.js.map +1 -0
  226. package/dist/src/elements/ia-donation-form/models/donation-type.d.ts +8 -0
  227. package/dist/src/elements/ia-donation-form/models/donation-type.d.ts.map +1 -0
  228. package/dist/src/elements/ia-donation-form/models/donation-type.js +7 -0
  229. package/dist/src/elements/ia-donation-form/models/donation-type.js.map +1 -0
  230. package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts +38 -0
  231. package/dist/src/elements/ia-donation-form/models/donor-contact-info.d.ts.map +1 -0
  232. package/dist/src/elements/ia-donation-form/models/donor-contact-info.js +27 -0
  233. package/dist/src/elements/ia-donation-form/models/donor-contact-info.js.map +1 -0
  234. package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts +10 -0
  235. package/dist/src/elements/ia-donation-form/models/payment-provider.d.ts.map +1 -0
  236. package/dist/src/elements/ia-donation-form/models/payment-provider.js +9 -0
  237. package/dist/src/elements/ia-donation-form/models/payment-provider.js.map +1 -0
  238. package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts +36 -0
  239. package/dist/src/elements/ia-donation-form/recaptcha-manager.d.ts.map +1 -0
  240. package/dist/src/elements/ia-donation-form/recaptcha-manager.js +76 -0
  241. package/dist/src/elements/ia-donation-form/recaptcha-manager.js.map +1 -0
  242. package/dist/src/elements/ia-dropdown/assets/caret-down.svg +4 -0
  243. package/dist/src/elements/ia-dropdown/assets/caret-up.svg +4 -0
  244. package/dist/src/elements/ia-dropdown/ia-dropdown.d.ts +185 -0
  245. package/dist/src/elements/ia-dropdown/ia-dropdown.d.ts.map +1 -0
  246. package/dist/src/elements/ia-dropdown/ia-dropdown.js +762 -0
  247. package/dist/src/elements/ia-dropdown/ia-dropdown.js.map +1 -0
  248. package/dist/src/elements/ia-dropdown/ia-icon-label.d.ts +10 -0
  249. package/dist/src/elements/ia-dropdown/ia-icon-label.d.ts.map +1 -0
  250. package/dist/src/elements/ia-dropdown/ia-icon-label.js +103 -0
  251. package/dist/src/elements/ia-dropdown/ia-icon-label.js.map +1 -0
  252. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts +3 -3
  253. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.d.ts.map +1 -1
  254. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js +5 -6
  255. package/dist/src/elements/ia-dropdown-search-bar/ia-dropdown-search-bar.js.map +1 -1
  256. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts +4 -4
  257. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.d.ts.map +1 -1
  258. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js +5 -8
  259. package/dist/src/elements/ia-expandable-search-bar/ia-expandable-search-bar.js.map +1 -1
  260. package/dist/src/elements/ia-image-viewer/ia-image-viewer.d.ts.map +1 -1
  261. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js +3 -2
  262. package/dist/src/elements/ia-image-viewer/ia-image-viewer.js.map +1 -1
  263. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.d.ts.map +1 -1
  264. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js +3 -2
  265. package/dist/src/elements/ia-image-viewer/ia-imgview-controls.js.map +1 -1
  266. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.d.ts.map +1 -1
  267. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js +3 -2
  268. package/dist/src/elements/ia-image-viewer/ia-imgview-slide.js.map +1 -1
  269. package/dist/src/elements/ia-otp-form/ia-otp-form.d.ts.map +1 -1
  270. package/dist/src/elements/ia-otp-form/ia-otp-form.js +3 -2
  271. package/dist/src/elements/ia-otp-form/ia-otp-form.js.map +1 -1
  272. package/dist/src/elements/ia-playback-controls/ia-playback-controls.d.ts.map +1 -1
  273. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js +3 -2
  274. package/dist/src/elements/ia-playback-controls/ia-playback-controls.js.map +1 -1
  275. package/dist/src/elements/ia-radio-player/ia-radio-player.d.ts.map +1 -1
  276. package/dist/src/elements/ia-radio-player/ia-radio-player.js +3 -2
  277. package/dist/src/elements/ia-radio-player/ia-radio-player.js.map +1 -1
  278. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.d.ts.map +1 -1
  279. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js +3 -2
  280. package/dist/src/elements/ia-radio-player/ia-search-results-switcher.js.map +1 -1
  281. package/dist/src/elements/ia-reviews/assets/delete-icon.svg +8 -0
  282. package/dist/src/elements/ia-reviews/assets/star-basic.svg +6 -0
  283. package/dist/src/elements/ia-reviews/assets/star-selected.svg +8 -0
  284. package/dist/src/elements/ia-reviews/assets/star-unselected.svg +8 -0
  285. package/dist/src/elements/ia-reviews/ia-review-form.d.ts +103 -0
  286. package/dist/src/elements/ia-reviews/ia-review-form.d.ts.map +1 -0
  287. package/dist/src/elements/ia-reviews/ia-review-form.js +685 -0
  288. package/dist/src/elements/ia-reviews/ia-review-form.js.map +1 -0
  289. package/dist/src/elements/ia-reviews/ia-review.d.ts +51 -0
  290. package/dist/src/elements/ia-reviews/ia-review.d.ts.map +1 -0
  291. package/dist/src/elements/ia-reviews/ia-review.js +344 -0
  292. package/dist/src/elements/ia-reviews/ia-review.js.map +1 -0
  293. package/dist/src/elements/ia-reviews/ia-reviews.d.ts +68 -0
  294. package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +1 -0
  295. package/dist/src/elements/ia-reviews/ia-reviews.js +354 -0
  296. package/dist/src/elements/ia-reviews/ia-reviews.js.map +1 -0
  297. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts +23 -0
  298. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts.map +1 -0
  299. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js +37 -0
  300. package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +1 -0
  301. package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts +12 -0
  302. package/dist/src/elements/ia-reviews/mocks/mock-review-service.d.ts.map +1 -0
  303. package/dist/src/elements/ia-reviews/mocks/mock-review-service.js +19 -0
  304. package/dist/src/elements/ia-reviews/mocks/mock-review-service.js.map +1 -0
  305. package/dist/src/elements/ia-reviews/models.d.ts +38 -0
  306. package/dist/src/elements/ia-reviews/models.d.ts.map +1 -0
  307. package/dist/src/elements/ia-reviews/models.js +2 -0
  308. package/dist/src/elements/ia-reviews/models.js.map +1 -0
  309. package/dist/src/elements/ia-reviews/review-service.d.ts +53 -0
  310. package/dist/src/elements/ia-reviews/review-service.d.ts.map +1 -0
  311. package/dist/src/elements/ia-reviews/review-service.js +97 -0
  312. package/dist/src/elements/ia-reviews/review-service.js.map +1 -0
  313. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts +13 -0
  314. package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts.map +1 -0
  315. package/dist/src/elements/ia-reviews/utils/collapse-space.js +19 -0
  316. package/dist/src/elements/ia-reviews/utils/collapse-space.js.map +1 -0
  317. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts +14 -0
  318. package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts.map +1 -0
  319. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js +65 -0
  320. package/dist/src/elements/ia-reviews/utils/friendly-truncate.js.map +1 -0
  321. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts +9 -0
  322. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts.map +1 -0
  323. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js +40 -0
  324. package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js.map +1 -0
  325. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts +9 -0
  326. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts.map +1 -0
  327. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js +29 -0
  328. package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js.map +1 -0
  329. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts +13 -0
  330. package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts.map +1 -0
  331. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js +19 -0
  332. package/dist/src/elements/ia-reviews/utils/truncate-screenname.js.map +1 -0
  333. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts +2 -2
  334. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.d.ts.map +1 -1
  335. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js +4 -5
  336. package/dist/src/elements/ia-scrubber-bar/ia-scrubber-bar.js.map +1 -1
  337. package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts +3 -3
  338. package/dist/src/elements/ia-status-indicator/ia-status-indicator.d.ts.map +1 -1
  339. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js +7 -12
  340. package/dist/src/elements/ia-status-indicator/ia-status-indicator.js.map +1 -1
  341. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts +3 -0
  342. package/dist/src/elements/ia-topnav/assets/img/icon-audio.d.ts.map +1 -0
  343. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js +28 -0
  344. package/dist/src/elements/ia-topnav/assets/img/icon-audio.js.map +1 -0
  345. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts +3 -0
  346. package/dist/src/elements/ia-topnav/assets/img/icon-close.d.ts.map +1 -0
  347. package/dist/src/elements/ia-topnav/assets/img/icon-close.js +20 -0
  348. package/dist/src/elements/ia-topnav/assets/img/icon-close.js.map +1 -0
  349. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts +3 -0
  350. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.d.ts.map +1 -0
  351. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js +19 -0
  352. package/dist/src/elements/ia-topnav/assets/img/icon-donate-unpadded.js.map +1 -0
  353. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts +3 -0
  354. package/dist/src/elements/ia-topnav/assets/img/icon-donate.d.ts.map +1 -0
  355. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js +18 -0
  356. package/dist/src/elements/ia-topnav/assets/img/icon-donate.js.map +1 -0
  357. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts +3 -0
  358. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.d.ts.map +1 -0
  359. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js +19 -0
  360. package/dist/src/elements/ia-topnav/assets/img/icon-ellipses.js.map +1 -0
  361. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts +3 -0
  362. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.d.ts.map +1 -0
  363. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js +30 -0
  364. package/dist/src/elements/ia-topnav/assets/img/icon-ia-logo.js.map +1 -0
  365. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts +3 -0
  366. package/dist/src/elements/ia-topnav/assets/img/icon-images.d.ts.map +1 -0
  367. package/dist/src/elements/ia-topnav/assets/img/icon-images.js +19 -0
  368. package/dist/src/elements/ia-topnav/assets/img/icon-images.js.map +1 -0
  369. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts +3 -0
  370. package/dist/src/elements/ia-topnav/assets/img/icon-search.d.ts.map +1 -0
  371. package/dist/src/elements/ia-topnav/assets/img/icon-search.js +19 -0
  372. package/dist/src/elements/ia-topnav/assets/img/icon-search.js.map +1 -0
  373. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts +3 -0
  374. package/dist/src/elements/ia-topnav/assets/img/icon-software.d.ts.map +1 -0
  375. package/dist/src/elements/ia-topnav/assets/img/icon-software.js +18 -0
  376. package/dist/src/elements/ia-topnav/assets/img/icon-software.js.map +1 -0
  377. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts +3 -0
  378. package/dist/src/elements/ia-topnav/assets/img/icon-texts.d.ts.map +1 -0
  379. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js +18 -0
  380. package/dist/src/elements/ia-topnav/assets/img/icon-texts.js.map +1 -0
  381. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts +3 -0
  382. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.d.ts.map +1 -0
  383. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js +18 -0
  384. package/dist/src/elements/ia-topnav/assets/img/icon-upload-unpadded.js.map +1 -0
  385. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts +3 -0
  386. package/dist/src/elements/ia-topnav/assets/img/icon-upload.d.ts.map +1 -0
  387. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js +21 -0
  388. package/dist/src/elements/ia-topnav/assets/img/icon-upload.js.map +1 -0
  389. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts +3 -0
  390. package/dist/src/elements/ia-topnav/assets/img/icon-user.d.ts.map +1 -0
  391. package/dist/src/elements/ia-topnav/assets/img/icon-user.js +19 -0
  392. package/dist/src/elements/ia-topnav/assets/img/icon-user.js.map +1 -0
  393. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts +3 -0
  394. package/dist/src/elements/ia-topnav/assets/img/icon-video.d.ts.map +1 -0
  395. package/dist/src/elements/ia-topnav/assets/img/icon-video.js +19 -0
  396. package/dist/src/elements/ia-topnav/assets/img/icon-video.js.map +1 -0
  397. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts +3 -0
  398. package/dist/src/elements/ia-topnav/assets/img/icon-web.d.ts.map +1 -0
  399. package/dist/src/elements/ia-topnav/assets/img/icon-web.js +19 -0
  400. package/dist/src/elements/ia-topnav/assets/img/icon-web.js.map +1 -0
  401. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts +6 -0
  402. package/dist/src/elements/ia-topnav/assets/img/icon.d.ts.map +1 -0
  403. package/dist/src/elements/ia-topnav/assets/img/icon.js +17 -0
  404. package/dist/src/elements/ia-topnav/assets/img/icon.js.map +1 -0
  405. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts +19 -0
  406. package/dist/src/elements/ia-topnav/assets/img/icons.d.ts.map +1 -0
  407. package/dist/src/elements/ia-topnav/assets/img/icons.js +33 -0
  408. package/dist/src/elements/ia-topnav/assets/img/icons.js.map +1 -0
  409. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts +3 -0
  410. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.d.ts.map +1 -0
  411. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js +21 -0
  412. package/dist/src/elements/ia-topnav/assets/img/wayback-logo.js.map +1 -0
  413. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts +3 -0
  414. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.d.ts.map +1 -0
  415. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js +13 -0
  416. package/dist/src/elements/ia-topnav/assets/img/wordmark-stacked.js.map +1 -0
  417. package/dist/src/elements/ia-topnav/data/menus.d.ts +17 -0
  418. package/dist/src/elements/ia-topnav/data/menus.d.ts.map +1 -0
  419. package/dist/src/elements/ia-topnav/data/menus.js +754 -0
  420. package/dist/src/elements/ia-topnav/data/menus.js.map +1 -0
  421. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts +21 -0
  422. package/dist/src/elements/ia-topnav/dropdown-menu.d.ts.map +1 -0
  423. package/dist/src/elements/ia-topnav/dropdown-menu.js +315 -0
  424. package/dist/src/elements/ia-topnav/dropdown-menu.js.map +1 -0
  425. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts +11 -0
  426. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.d.ts.map +1 -0
  427. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js +89 -0
  428. package/dist/src/elements/ia-topnav/ia-topnav-desktop-subnav.js.map +1 -0
  429. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts +6 -0
  430. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.d.ts.map +1 -0
  431. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js +47 -0
  432. package/dist/src/elements/ia-topnav/ia-topnav-icon-hamburger.js.map +1 -0
  433. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts +20 -0
  434. package/dist/src/elements/ia-topnav/ia-topnav-login-button.d.ts.map +1 -0
  435. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js +183 -0
  436. package/dist/src/elements/ia-topnav/ia-topnav-login-button.js.map +1 -0
  437. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts +31 -0
  438. package/dist/src/elements/ia-topnav/ia-topnav-media-button.d.ts.map +1 -0
  439. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js +287 -0
  440. package/dist/src/elements/ia-topnav/ia-topnav-media-button.js.map +1 -0
  441. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts +21 -0
  442. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.d.ts.map +1 -0
  443. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js +222 -0
  444. package/dist/src/elements/ia-topnav/ia-topnav-media-menu.js.map +1 -0
  445. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts +16 -0
  446. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.d.ts.map +1 -0
  447. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js +221 -0
  448. package/dist/src/elements/ia-topnav/ia-topnav-media-slider.js.map +1 -0
  449. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts +20 -0
  450. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.d.ts.map +1 -0
  451. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js +285 -0
  452. package/dist/src/elements/ia-topnav/ia-topnav-media-subnav.js.map +1 -0
  453. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts +12 -0
  454. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.d.ts.map +1 -0
  455. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js +65 -0
  456. package/dist/src/elements/ia-topnav/ia-topnav-more-slider.js.map +1 -0
  457. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts +53 -0
  458. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.d.ts.map +1 -0
  459. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js +653 -0
  460. package/dist/src/elements/ia-topnav/ia-topnav-primary-nav.js.map +1 -0
  461. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts +12 -0
  462. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.d.ts.map +1 -0
  463. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js +128 -0
  464. package/dist/src/elements/ia-topnav/ia-topnav-save-page-form.js.map +1 -0
  465. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts +4 -0
  466. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.d.ts.map +1 -0
  467. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js +10 -0
  468. package/dist/src/elements/ia-topnav/ia-topnav-signed-out-dropdown.js.map +1 -0
  469. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts +7 -0
  470. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.d.ts.map +1 -0
  471. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js +39 -0
  472. package/dist/src/elements/ia-topnav/ia-topnav-user-menu.js.map +1 -0
  473. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts +10 -0
  474. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.d.ts.map +1 -0
  475. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js +64 -0
  476. package/dist/src/elements/ia-topnav/ia-topnav-wayback-search.js.map +1 -0
  477. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts +20 -0
  478. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.d.ts.map +1 -0
  479. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js +131 -0
  480. package/dist/src/elements/ia-topnav/ia-topnav-wayback-slider.js.map +1 -0
  481. package/dist/src/elements/ia-topnav/ia-topnav.d.ts +88 -0
  482. package/dist/src/elements/ia-topnav/ia-topnav.d.ts.map +1 -0
  483. package/dist/src/elements/ia-topnav/ia-topnav.js +443 -0
  484. package/dist/src/elements/ia-topnav/ia-topnav.js.map +1 -0
  485. package/dist/src/elements/ia-topnav/lib/helpers.d.ts +13 -0
  486. package/dist/src/elements/ia-topnav/lib/helpers.d.ts.map +1 -0
  487. package/dist/src/elements/ia-topnav/lib/helpers.js +24 -0
  488. package/dist/src/elements/ia-topnav/lib/helpers.js.map +1 -0
  489. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts +46 -0
  490. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.d.ts.map +1 -0
  491. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js +136 -0
  492. package/dist/src/elements/ia-topnav/lib/keyboard-navigation.js.map +1 -0
  493. package/dist/src/elements/ia-topnav/models.d.ts +65 -0
  494. package/dist/src/elements/ia-topnav/models.d.ts.map +1 -0
  495. package/dist/src/elements/ia-topnav/models.js +10 -0
  496. package/dist/src/elements/ia-topnav/models.js.map +1 -0
  497. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts +2 -0
  498. package/dist/src/elements/ia-topnav/subnav-list-styles.d.ts.map +1 -0
  499. package/dist/src/elements/ia-topnav/subnav-list-styles.js +49 -0
  500. package/dist/src/elements/ia-topnav/subnav-list-styles.js.map +1 -0
  501. package/dist/src/elements/ia-topnav/tracked-element.d.ts +6 -0
  502. package/dist/src/elements/ia-topnav/tracked-element.d.ts.map +1 -0
  503. package/dist/src/elements/ia-topnav/tracked-element.js +29 -0
  504. package/dist/src/elements/ia-topnav/tracked-element.js.map +1 -0
  505. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.d.ts.map +1 -1
  506. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js +4 -0
  507. package/dist/src/elements/ia-transcript-view/ia-transcript-entry.js.map +1 -1
  508. package/dist/src/elements/ia-transcript-view/ia-transcript-view.d.ts.map +1 -1
  509. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js +3 -2
  510. package/dist/src/elements/ia-transcript-view/ia-transcript-view.js.map +1 -1
  511. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts +24 -0
  512. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.d.ts.map +1 -0
  513. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js +240 -0
  514. package/dist/src/elements/ia-wayback-search-form/ia-wayback-search-form.js.map +1 -0
  515. package/dist/src/elements/index.d.ts +63 -0
  516. package/dist/src/elements/index.d.ts.map +1 -1
  517. package/dist/src/elements/index.js +63 -0
  518. package/dist/src/elements/index.js.map +1 -1
  519. package/dist/src/locales/es.d.ts +254 -0
  520. package/dist/src/locales/es.d.ts.map +1 -0
  521. package/dist/src/locales/es.js +304 -0
  522. package/dist/src/locales/es.js.map +1 -0
  523. package/package.json +43 -6
@@ -0,0 +1,497 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html, LitElement, } from 'lit';
3
+ import { property, query } from 'lit/decorators.js';
4
+ import { customElement } from '../../../../util/custom-element.js';
5
+ import { ifDefined } from 'lit/directives/if-defined.js';
6
+ import { localized, msg } from '@lit/localize';
7
+ import { emailIcon, localePinIcon, userIcon } from '../../icons.js';
8
+ import { BillingInfo, CustomerInfo, DonorContactInfo, } from '../../models/donor-contact-info.js';
9
+ import { SpacerOption, } from '../ia-donation-badged-input.js';
10
+ import '../ia-donation-badged-input.js';
11
+ import { countries } from './countries.js';
12
+ /**
13
+ * The donor's name, email and billing address.
14
+ *
15
+ * This renders into the light DOM, not a shadow root: browser autofill
16
+ * doesn't reach into shadow DOM, and autofill matters a lot on a donation
17
+ * form. So its styles are a `<style>` block with every selector prefixed by
18
+ * the tag name, and its field ids are unique across the page.
19
+ */
20
+ let IADonationContactForm = class IADonationContactForm extends LitElement {
21
+ constructor() {
22
+ super(...arguments);
23
+ /** A key of `countries`. US addresses require a state and a zip code. */
24
+ this.selectedCountry = 'US';
25
+ /** Pre-fills the email field, for a logged-in donor */
26
+ this.donorEmail = '';
27
+ /** At least two non-whitespace characters */
28
+ this.minTwoCharPattern = '.*\\S{2,}.*';
29
+ /** At least two non-whitespace characters with at least two characters between them */
30
+ this.streetAddressPattern = '.*?\\S.{2,}\\S.*?';
31
+ /** 12345, 12345-6789 or 123456789 */
32
+ this.usZipCodePattern = '^\\d{5}(-?\\d{4})?$';
33
+ }
34
+ updated(changed) {
35
+ if (changed.has('donorEmail')) {
36
+ this.emailField.value = this.donorEmail ?? '';
37
+ }
38
+ }
39
+ /** Validates every field, marks the bad ones, and shows the browser's messages. */
40
+ reportValidity() {
41
+ this.validateFormFields();
42
+ return this.validateForm();
43
+ }
44
+ validateFormFields() {
45
+ const fields = [
46
+ { badgedInput: this.emailBadgedInput, inputField: this.emailField },
47
+ {
48
+ badgedInput: this.firstNameBadgedInput,
49
+ inputField: this.firstNameField,
50
+ },
51
+ { badgedInput: this.lastNameBadgedInput, inputField: this.lastNameField },
52
+ {
53
+ badgedInput: this.streetAddressBadgedInput,
54
+ inputField: this.streetAddressField,
55
+ },
56
+ {
57
+ badgedInput: this.extendedAddressBadgedInput,
58
+ inputField: this.extendedAddressField,
59
+ },
60
+ { badgedInput: this.localityBadgedInput, inputField: this.localityField },
61
+ { badgedInput: this.regionBadgedInput, inputField: this.regionField },
62
+ { badgedInput: this.postalBadgedInput, inputField: this.postalCodeField },
63
+ ];
64
+ fields.forEach(({ badgedInput, inputField }) => {
65
+ badgedInput.error = !inputField.checkValidity();
66
+ });
67
+ }
68
+ validateForm() {
69
+ const isValid = this.form.reportValidity();
70
+ this.errorMessage.textContent = isValid
71
+ ? ''
72
+ : msg('Please enter any missing or invalid contact information below');
73
+ return isValid;
74
+ }
75
+ focus() {
76
+ this.emailField.focus();
77
+ }
78
+ get minTwoCharValidationMessage() {
79
+ return msg('Enter at least two characters');
80
+ }
81
+ get streetAddressValidationMessage() {
82
+ return msg('Enter at least four characters');
83
+ }
84
+ get usZipCodeValidationMessage() {
85
+ return msg('Enter a valid 5 or 9 digit zip/postal code');
86
+ }
87
+ render() {
88
+ return html `
89
+ <div id="donation-contact-form-error-message"></div>
90
+ <form>
91
+ <fieldset>
92
+ <div class="row">
93
+ ${this.generateInput({
94
+ id: 'donation-contact-form-email',
95
+ placeholder: msg('Email'),
96
+ required: true,
97
+ fieldType: 'email',
98
+ name: 'email',
99
+ autocomplete: 'email',
100
+ minlength: 5,
101
+ maxlength: 255,
102
+ icon: emailIcon,
103
+ })}
104
+ </div>
105
+ </fieldset>
106
+
107
+ <fieldset>
108
+ <div class="row">
109
+ ${this.generateInput({
110
+ id: 'donation-contact-form-first-name',
111
+ placeholder: msg('First name'),
112
+ name: 'fname',
113
+ required: true,
114
+ validationPattern: this.minTwoCharPattern,
115
+ validationMessage: this.minTwoCharValidationMessage,
116
+ maxlength: 255,
117
+ autocomplete: 'given-name',
118
+ icon: userIcon,
119
+ })}
120
+ </div>
121
+ <div class="row">
122
+ ${this.generateInput({
123
+ id: 'donation-contact-form-last-name',
124
+ placeholder: msg('Last name'),
125
+ name: 'lname',
126
+ autocomplete: 'family-name',
127
+ required: true,
128
+ validationPattern: this.minTwoCharPattern,
129
+ validationMessage: this.minTwoCharValidationMessage,
130
+ maxlength: 255,
131
+ })}
132
+ </div>
133
+ </fieldset>
134
+ <fieldset>
135
+ <div class="row">
136
+ ${this.generateInput({
137
+ id: 'donation-contact-form-street-address',
138
+ placeholder: msg('Address Line 1'),
139
+ required: true,
140
+ autocomplete: 'address-line1',
141
+ icon: localePinIcon,
142
+ name: 'street-address',
143
+ validationPattern: this.streetAddressPattern,
144
+ validationMessage: this.streetAddressValidationMessage,
145
+ })}
146
+ </div>
147
+ <div class="row">
148
+ ${this.generateInput({
149
+ id: 'donation-contact-form-extended-address',
150
+ placeholder: msg('Address Line 2 (optional)'),
151
+ autocomplete: 'address-line2',
152
+ required: false,
153
+ name: 'extended-address',
154
+ })}
155
+ </div>
156
+ <div class="row">
157
+ ${this.generateInput({
158
+ id: 'donation-contact-form-locality',
159
+ placeholder: msg('City'),
160
+ autocomplete: 'address-level2',
161
+ required: true,
162
+ name: 'locality',
163
+ validationPattern: this.minTwoCharPattern,
164
+ validationMessage: this.minTwoCharValidationMessage,
165
+ })}
166
+ </div>
167
+ <div class="row">
168
+ ${this.generateInput({
169
+ id: 'donation-contact-form-region',
170
+ placeholder: msg('State / Province'),
171
+ autocomplete: 'address-level1',
172
+ required: this.regionAndPostalCodeRequired,
173
+ name: 'region',
174
+ validationPattern: this.regionAndPostalCodeRequired
175
+ ? this.minTwoCharPattern
176
+ : undefined,
177
+ validationMessage: this.regionAndPostalCodeRequired
178
+ ? this.minTwoCharValidationMessage
179
+ : undefined,
180
+ })}
181
+ ${this.generateInput({
182
+ id: 'donation-contact-form-postal-code',
183
+ placeholder: msg('Zip / Postal'),
184
+ autocomplete: 'postal-code',
185
+ required: this.regionAndPostalCodeRequired,
186
+ name: 'postal',
187
+ validationPattern: this.regionAndPostalCodeRequired
188
+ ? this.usZipCodePattern
189
+ : undefined,
190
+ validationMessage: this.regionAndPostalCodeRequired
191
+ ? this.usZipCodeValidationMessage
192
+ : undefined,
193
+ iconSpaceOption: SpacerOption.CompressSpace,
194
+ })}
195
+ </div>
196
+ <div class="row">${this.countrySelectorTemplate}</div>
197
+ </fieldset>
198
+ </form>
199
+ ${this.getStyles}
200
+ `;
201
+ }
202
+ get regionAndPostalCodeRequired() {
203
+ return this.selectedCountry === 'US';
204
+ }
205
+ get countrySelectorTemplate() {
206
+ return html `
207
+ <ia-donation-badged-input>
208
+ <label for="donation-contact-form-countryCodeAlpha2">
209
+ ${msg('Country')}
210
+ </label>
211
+ <select
212
+ id="donation-contact-form-countryCodeAlpha2"
213
+ name="country"
214
+ autocomplete="country"
215
+ @change=${(e) => {
216
+ const newValue = e.target.value;
217
+ if (countries[newValue])
218
+ this.selectedCountry = newValue;
219
+ }}
220
+ >
221
+ ${Object.keys(countries).map((key) => {
222
+ const name = countries[key];
223
+ return html `
224
+ <option value=${key} ?selected=${key === this.selectedCountry}>
225
+ ${name}
226
+ </option>
227
+ `;
228
+ })}
229
+ </select>
230
+ </ia-donation-badged-input>
231
+ `;
232
+ }
233
+ /** Light DOM, so browser autofill can reach the fields */
234
+ createRenderRoot() {
235
+ return this;
236
+ }
237
+ /** Clears the error state once the donor comes back to a field */
238
+ inputFocused(e) {
239
+ this.errorMessage.textContent = '';
240
+ const input = e.target;
241
+ const badgedInput = this.querySelector(`ia-donation-badged-input.${input.id}`);
242
+ if (badgedInput)
243
+ badgedInput.error = false;
244
+ }
245
+ generateInput(options) {
246
+ const required = options.required ?? true;
247
+ const fieldType = options.fieldType ?? 'text';
248
+ const iconOption = options.iconSpaceOption ?? SpacerOption.LeaveSpace;
249
+ return html `
250
+ <ia-donation-badged-input
251
+ class=${options.id}
252
+ .icon=${options.icon}
253
+ .iconSpaceOption=${iconOption}
254
+ ?required=${required}
255
+ >
256
+ <label for=${options.id}>${options.placeholder}</label>
257
+ <input
258
+ type=${fieldType}
259
+ id=${options.id}
260
+ class="donation-contact-form-input"
261
+ name=${options.name}
262
+ placeholder=${options.placeholder}
263
+ maxlength=${ifDefined(options.maxlength)}
264
+ minlength=${ifDefined(options.minlength)}
265
+ autocomplete=${options.autocomplete ?? 'on'}
266
+ pattern=${ifDefined(options.validationPattern)}
267
+ title=${ifDefined(options.validationMessage)}
268
+ @focus=${this.inputFocused}
269
+ ?required=${required}
270
+ />
271
+ </ia-donation-badged-input>
272
+ `;
273
+ }
274
+ get donorContactInfo() {
275
+ return new DonorContactInfo({
276
+ billing: this.billingInfo,
277
+ customer: this.contactInfo,
278
+ });
279
+ }
280
+ get billingInfo() {
281
+ return new BillingInfo({
282
+ streetAddress: this.streetAddressField.value,
283
+ extendedAddress: this.extendedAddressField.value,
284
+ locality: this.localityField.value,
285
+ region: this.regionField.value,
286
+ postalCode: this.postalCodeField.value,
287
+ countryCodeAlpha2: this.countryCodeAlpha2Field.value,
288
+ });
289
+ }
290
+ get contactInfo() {
291
+ return new CustomerInfo({
292
+ email: this.emailField.value,
293
+ firstName: this.firstNameField.value,
294
+ lastName: this.lastNameField.value,
295
+ });
296
+ }
297
+ /**
298
+ * The element renders into the light DOM, so instead of a `styles` block
299
+ * it writes its own `<style>` tag, with every selector prefixed by the tag
300
+ * name so nothing leaks onto the rest of the page.
301
+ */
302
+ get getStyles() {
303
+ const noIconSpacerWidth = css `var(--ia-donation-badged-input-no-icon-spacer-width, calc(var(--donation-contact-base-font-size--) * 3))`;
304
+ const iconSpacerWidth = css `var(--ia-donation-badged-input-icon-spacer-width, calc(var(--donation-contact-base-font-size--) * 5))`;
305
+ return html `
306
+ <style>
307
+ ia-donation-contact-form {
308
+ --donation-contact-base-font-size--: var(
309
+ --ia-donation-form-base-font-size,
310
+ 10px
311
+ );
312
+ --donation-contact-fieldset-spacing--: var(
313
+ --ia-donation-contact-fieldset-spacing,
314
+ var(--donation-contact-base-font-size--)
315
+ );
316
+ --donation-contact-field-font-family--: var(
317
+ --ia-theme-base-font-family,
318
+ 'Helvetica Neue',
319
+ Helvetica,
320
+ Arial,
321
+ sans-serif
322
+ );
323
+ --donation-contact-field-font-size--: var(
324
+ --ia-donation-contact-field-font-size,
325
+ calc(var(--donation-contact-base-font-size--) * 1.6)
326
+ );
327
+ --donation-contact-field-font-color--: var(
328
+ --ia-donation-form-input-font-color,
329
+ #333
330
+ );
331
+ --donation-contact-error-color--: var(
332
+ --ia-theme-color-danger,
333
+ #e51c23
334
+ );
335
+ --donation-contact-icon-field-width--: calc(
336
+ 100% - ${iconSpacerWidth}
337
+ );
338
+ --donation-contact-no-icon-field-width--: calc(
339
+ 100% - ${noIconSpacerWidth}
340
+ );
341
+ }
342
+
343
+ ia-donation-contact-form fieldset {
344
+ border: 0;
345
+ padding: 0;
346
+ margin: 0;
347
+ margin-bottom: var(--donation-contact-fieldset-spacing--);
348
+ background-color: white;
349
+ }
350
+
351
+ /* The negative margins fold the doubled borders where fields touch */
352
+ ia-donation-contact-form .row {
353
+ display: flex;
354
+ margin: -1px 0 0 0;
355
+ }
356
+
357
+ ia-donation-contact-form fieldset .row:first-child {
358
+ margin-top: 0;
359
+ }
360
+
361
+ ia-donation-contact-form
362
+ ia-donation-badged-input.donation-contact-form-region {
363
+ width: 60%;
364
+ }
365
+
366
+ ia-donation-contact-form
367
+ ia-donation-badged-input.donation-contact-form-postal-code {
368
+ width: 40%;
369
+ }
370
+
371
+ ia-donation-contact-form #donation-contact-form-region {
372
+ width: var(--donation-contact-icon-field-width--);
373
+ }
374
+
375
+ ia-donation-contact-form #donation-contact-form-postal-code {
376
+ width: var(--donation-contact-no-icon-field-width--);
377
+ }
378
+
379
+ ia-donation-contact-form #donation-contact-form-error-message {
380
+ color: var(--donation-contact-error-color--);
381
+ font-size: calc(var(--donation-contact-base-font-size--) * 1.4);
382
+ margin-bottom: calc(var(--donation-contact-base-font-size--) * 0.6);
383
+ }
384
+
385
+ ia-donation-contact-form #donation-contact-form-last-name {
386
+ width: var(--donation-contact-no-icon-field-width--);
387
+ }
388
+
389
+ /* The labels are for screen readers, the placeholders carry the visible text */
390
+ ia-donation-contact-form label {
391
+ position: absolute;
392
+ left: -10000px;
393
+ top: auto;
394
+ width: 1px;
395
+ height: 1px;
396
+ overflow: hidden;
397
+ }
398
+
399
+ ia-donation-contact-form .donation-contact-form-input {
400
+ width: var(--donation-contact-icon-field-width--);
401
+ border: 0;
402
+ outline: 0;
403
+ background: transparent;
404
+ font-weight: bold;
405
+ color: var(--donation-contact-field-font-color--);
406
+ font-size: var(--donation-contact-field-font-size--);
407
+ padding: 0;
408
+ font-family: var(--donation-contact-field-font-family--);
409
+ }
410
+
411
+ ia-donation-contact-form .donation-contact-form-input::placeholder {
412
+ color: revert;
413
+ }
414
+
415
+ ia-donation-contact-form #donation-contact-form-countryCodeAlpha2 {
416
+ width: 100%;
417
+ height: 100%;
418
+ box-sizing: border-box;
419
+ font-weight: bold;
420
+ font-size: var(--donation-contact-field-font-size--);
421
+ font-family: var(--donation-contact-field-font-family--);
422
+ border: 0;
423
+ background: #fff;
424
+ }
425
+ </style>
426
+ `;
427
+ }
428
+ };
429
+ __decorate([
430
+ query('ia-donation-badged-input.donation-contact-form-email')
431
+ ], IADonationContactForm.prototype, "emailBadgedInput", void 0);
432
+ __decorate([
433
+ query('#donation-contact-form-email')
434
+ ], IADonationContactForm.prototype, "emailField", void 0);
435
+ __decorate([
436
+ query('ia-donation-badged-input.donation-contact-form-first-name')
437
+ ], IADonationContactForm.prototype, "firstNameBadgedInput", void 0);
438
+ __decorate([
439
+ query('#donation-contact-form-first-name')
440
+ ], IADonationContactForm.prototype, "firstNameField", void 0);
441
+ __decorate([
442
+ query('ia-donation-badged-input.donation-contact-form-last-name')
443
+ ], IADonationContactForm.prototype, "lastNameBadgedInput", void 0);
444
+ __decorate([
445
+ query('#donation-contact-form-last-name')
446
+ ], IADonationContactForm.prototype, "lastNameField", void 0);
447
+ __decorate([
448
+ query('ia-donation-badged-input.donation-contact-form-postal-code')
449
+ ], IADonationContactForm.prototype, "postalBadgedInput", void 0);
450
+ __decorate([
451
+ query('#donation-contact-form-postal-code')
452
+ ], IADonationContactForm.prototype, "postalCodeField", void 0);
453
+ __decorate([
454
+ query('ia-donation-badged-input.donation-contact-form-street-address')
455
+ ], IADonationContactForm.prototype, "streetAddressBadgedInput", void 0);
456
+ __decorate([
457
+ query('#donation-contact-form-street-address')
458
+ ], IADonationContactForm.prototype, "streetAddressField", void 0);
459
+ __decorate([
460
+ query('ia-donation-badged-input.donation-contact-form-extended-address')
461
+ ], IADonationContactForm.prototype, "extendedAddressBadgedInput", void 0);
462
+ __decorate([
463
+ query('#donation-contact-form-extended-address')
464
+ ], IADonationContactForm.prototype, "extendedAddressField", void 0);
465
+ __decorate([
466
+ query('ia-donation-badged-input.donation-contact-form-locality')
467
+ ], IADonationContactForm.prototype, "localityBadgedInput", void 0);
468
+ __decorate([
469
+ query('#donation-contact-form-locality')
470
+ ], IADonationContactForm.prototype, "localityField", void 0);
471
+ __decorate([
472
+ query('ia-donation-badged-input.donation-contact-form-region')
473
+ ], IADonationContactForm.prototype, "regionBadgedInput", void 0);
474
+ __decorate([
475
+ query('#donation-contact-form-region')
476
+ ], IADonationContactForm.prototype, "regionField", void 0);
477
+ __decorate([
478
+ query('#donation-contact-form-countryCodeAlpha2')
479
+ ], IADonationContactForm.prototype, "countryCodeAlpha2Field", void 0);
480
+ __decorate([
481
+ query('#donation-contact-form-error-message')
482
+ ], IADonationContactForm.prototype, "errorMessage", void 0);
483
+ __decorate([
484
+ query('form')
485
+ ], IADonationContactForm.prototype, "form", void 0);
486
+ __decorate([
487
+ property({ type: String })
488
+ ], IADonationContactForm.prototype, "selectedCountry", void 0);
489
+ __decorate([
490
+ property({ type: String })
491
+ ], IADonationContactForm.prototype, "donorEmail", void 0);
492
+ IADonationContactForm = __decorate([
493
+ customElement('ia-donation-contact-form'),
494
+ localized()
495
+ ], IADonationContactForm);
496
+ export { IADonationContactForm };
497
+ //# sourceMappingURL=ia-donation-contact-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-donation-contact-form.js","sourceRoot":"","sources":["../../../../../../src/elements/ia-donation-form/form-elements/contact-form/ia-donation-contact-form.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,GAAG,EACH,IAAI,EACJ,UAAU,GAGX,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,YAAY,GAEb,MAAM,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AAErC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;GAOG;AAGI,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAU;IAA9C;;QA0CL,yEAAyE;QAC7C,oBAAe,GAAG,IAAI,CAAC;QAEnD,uDAAuD;QAC3B,eAAU,GAAG,EAAE,CAAC;QAwD5C,6CAA6C;QACrC,sBAAiB,GAAG,aAAa,CAAC;QAK1C,uFAAuF;QAC/E,yBAAoB,GAAG,mBAAmB,CAAC;QAKnD,qCAAqC;QAC7B,qBAAgB,GAAG,qBAAqB,CAAC;IAkXnD,CAAC;IArbC,OAAO,CAAC,OAAuB;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,cAAc;QACZ,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAC7B,CAAC;IAEO,kBAAkB;QACxB,MAAM,MAAM,GAGN;YACJ,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YACnE;gBACE,WAAW,EAAE,IAAI,CAAC,oBAAoB;gBACtC,UAAU,EAAE,IAAI,CAAC,cAAc;aAChC;YACD,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YACzE;gBACE,WAAW,EAAE,IAAI,CAAC,wBAAwB;gBAC1C,UAAU,EAAE,IAAI,CAAC,kBAAkB;aACpC;YACD;gBACE,WAAW,EAAE,IAAI,CAAC,0BAA0B;gBAC5C,UAAU,EAAE,IAAI,CAAC,oBAAoB;aACtC;YACD,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YACzE,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE;YACrE,EAAE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;SAC1E,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;YAC7C,WAAW,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,YAAY;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAE3C,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,OAAO;YACrC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;QAEzE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAID,IAAY,2BAA2B;QACrC,OAAO,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC9C,CAAC;IAID,IAAY,8BAA8B;QACxC,OAAO,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC/C,CAAC;IAID,IAAY,0BAA0B;QACpC,OAAO,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;;;cAKD,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,6BAA6B;YACjC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC;YACzB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,OAAO;YACrB,SAAS,EAAE,CAAC;YACZ,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,SAAS;SAChB,CAAC;;;;;;cAMA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,kCAAkC;YACtC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC;YAC9B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,YAAY;YAC1B,IAAI,EAAE,QAAQ;SACf,CAAC;;;cAGA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,iCAAiC;YACrC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,OAAO;YACb,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI;YACd,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;YACnD,SAAS,EAAE,GAAG;SACf,CAAC;;;;;cAKA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,sCAAsC;YAC1C,WAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC;YAClC,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,gBAAgB;YACtB,iBAAiB,EAAE,IAAI,CAAC,oBAAoB;YAC5C,iBAAiB,EAAE,IAAI,CAAC,8BAA8B;SACvD,CAAC;;;cAGA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,wCAAwC;YAC5C,WAAW,EAAE,GAAG,CAAC,2BAA2B,CAAC;YAC7C,YAAY,EAAE,eAAe;YAC7B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,kBAAkB;SACzB,CAAC;;;cAGA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,gCAAgC;YACpC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;YACxB,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;SACpD,CAAC;;;cAGA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,8BAA8B;YAClC,WAAW,EAAE,GAAG,CAAC,kBAAkB,CAAC;YACpC,YAAY,EAAE,gBAAgB;YAC9B,QAAQ,EAAE,IAAI,CAAC,2BAA2B;YAC1C,IAAI,EAAE,QAAQ;YACd,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;gBACjD,CAAC,CAAC,IAAI,CAAC,iBAAiB;gBACxB,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;gBACjD,CAAC,CAAC,IAAI,CAAC,2BAA2B;gBAClC,CAAC,CAAC,SAAS;SACd,CAAC;cACA,IAAI,CAAC,aAAa,CAAC;YACnB,EAAE,EAAE,mCAAmC;YACvC,WAAW,EAAE,GAAG,CAAC,cAAc,CAAC;YAChC,YAAY,EAAE,aAAa;YAC3B,QAAQ,EAAE,IAAI,CAAC,2BAA2B;YAC1C,IAAI,EAAE,QAAQ;YACd,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;gBACjD,CAAC,CAAC,IAAI,CAAC,gBAAgB;gBACvB,CAAC,CAAC,SAAS;YACb,iBAAiB,EAAE,IAAI,CAAC,2BAA2B;gBACjD,CAAC,CAAC,IAAI,CAAC,0BAA0B;gBACjC,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,YAAY,CAAC,aAAa;SAC5C,CAAC;;6BAEe,IAAI,CAAC,uBAAuB;;;QAGjD,IAAI,CAAC,SAAS;KACjB,CAAC;IACJ,CAAC;IAED,IAAY,2BAA2B;QACrC,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACvC,CAAC;IAED,IAAY,uBAAuB;QACjC,OAAO,IAAI,CAAA;;;YAGH,GAAG,CAAC,SAAS,CAAC;;;;;;oBAMN,CAAC,CAAQ,EAAE,EAAE;YACrB,MAAM,QAAQ,GAAI,CAAC,CAAC,MAA4B,CAAC,KAAK,CAAC;YACvD,IAAI,SAAS,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAC3D,CAAC;;YAEC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAA;8BACO,GAAG,cAAc,GAAG,KAAK,IAAI,CAAC,eAAe;kBACzD,IAAI;;aAET,CAAC;QACJ,CAAC,CAAC;;;KAGP,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,gBAAgB;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kEAAkE;IAC1D,YAAY,CAAC,CAAa;QAChC,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CACpC,4BAA4B,KAAK,CAAC,EAAE,EAAE,CACvC,CAAC;QACF,IAAI,WAAW;YAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7C,CAAC;IAEO,aAAa,CAAC,OAarB;QACC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC;QAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,IAAI,YAAY,CAAC,UAAU,CAAC;QAEtE,OAAO,IAAI,CAAA;;gBAEC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,IAAI;2BACD,UAAU;oBACjB,QAAQ;;qBAEP,OAAO,CAAC,EAAE,IAAI,OAAO,CAAC,WAAW;;iBAErC,SAAS;eACX,OAAO,CAAC,EAAE;;iBAER,OAAO,CAAC,IAAI;wBACL,OAAO,CAAC,WAAW;sBACrB,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;sBAC5B,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC;yBACzB,OAAO,CAAC,YAAY,IAAI,IAAI;oBACjC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;kBACtC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC;mBACnC,IAAI,CAAC,YAAY;sBACd,QAAQ;;;KAGzB,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,gBAAgB,CAAC;YAC1B,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,QAAQ,EAAE,IAAI,CAAC,WAAW;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,WAAW,CAAC;YACrB,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK;YAC5C,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,KAAK;YAChD,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;YAClC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;YAC9B,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK;YACtC,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,CAAC,KAAK;SACrD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,YAAY,CAAC;YACtB,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;YACpC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;SACnC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,IAAY,SAAS;QACnB,MAAM,iBAAiB,GAAG,GAAG,CAAA,0GAA0G,CAAC;QACxI,MAAM,eAAe,GAAG,GAAG,CAAA,uGAAuG,CAAC;QAEnI,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA+BM,eAAe;;;qBAGf,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuFjC,CAAC;IACJ,CAAC;CACF,CAAA;AAneC;IADC,KAAK,CAAC,sDAAsD,CAAC;+DACrB;AACF;IAAtC,KAAK,CAAC,8BAA8B,CAAC;yDAA+B;AAGrE;IADC,KAAK,CAAC,2DAA2D,CAAC;mEACtB;AACD;IAA3C,KAAK,CAAC,mCAAmC,CAAC;6DAAmC;AAG9E;IADC,KAAK,CAAC,0DAA0D,CAAC;kEACtB;AACD;IAA1C,KAAK,CAAC,kCAAkC,CAAC;4DAAkC;AAG5E;IADC,KAAK,CAAC,4DAA4D,CAAC;gEAC1B;AAE1C;IADC,KAAK,CAAC,oCAAoC,CAAC;8DACT;AAGnC;IADC,KAAK,CAAC,+DAA+D,CAAC;uEACtB;AAEjD;IADC,KAAK,CAAC,uCAAuC,CAAC;iEACT;AAGtC;IADC,KAAK,CAAC,iEAAiE,CAAC;yEACtB;AAEnD;IADC,KAAK,CAAC,yCAAyC,CAAC;mEACT;AAGxC;IADC,KAAK,CAAC,yDAAyD,CAAC;kEACrB;AACF;IAAzC,KAAK,CAAC,iCAAiC,CAAC;4DAAkC;AAG3E;IADC,KAAK,CAAC,uDAAuD,CAAC;gEACrB;AACF;IAAvC,KAAK,CAAC,+BAA+B,CAAC;0DAAgC;AAGvE;IADC,KAAK,CAAC,0CAA0C,CAAC;qEACP;AAEI;IAA9C,KAAK,CAAC,sCAAsC,CAAC;2DAA+B;AAC9D;IAAd,KAAK,CAAC,MAAM,CAAC;mDAAwB;AAGV;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8DAAwB;AAGvB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDAAiB;AA9CjC,qBAAqB;IAFjC,aAAa,CAAC,0BAA0B,CAAC;IACzC,SAAS,EAAE;GACC,qBAAqB,CAqejC","sourcesContent":["import {\n css,\n html,\n LitElement,\n type PropertyValues,\n type TemplateResult,\n} from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { customElement } from '@src/util/custom-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { localized, msg } from '@lit/localize';\n\nimport { emailIcon, localePinIcon, userIcon } from '../../icons';\nimport {\n BillingInfo,\n CustomerInfo,\n DonorContactInfo,\n} from '../../models/donor-contact-info';\nimport {\n SpacerOption,\n type IADonationBadgedInput,\n} from '../ia-donation-badged-input';\nimport '../ia-donation-badged-input';\nimport type { AutoCompleteFieldOptions } from './autocomplete-field-options';\nimport { countries } from './countries';\n\n/**\n * The donor's name, email and billing address.\n *\n * This renders into the light DOM, not a shadow root: browser autofill\n * doesn't reach into shadow DOM, and autofill matters a lot on a donation\n * form. So its styles are a `<style>` block with every selector prefixed by\n * the tag name, and its field ids are unique across the page.\n */\n@customElement('ia-donation-contact-form')\n@localized()\nexport class IADonationContactForm extends LitElement {\n @query('ia-donation-badged-input.donation-contact-form-email')\n emailBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-email') emailField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-first-name')\n firstNameBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-first-name') firstNameField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-last-name')\n lastNameBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-last-name') lastNameField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-postal-code')\n postalBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-postal-code')\n postalCodeField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-street-address')\n streetAddressBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-street-address')\n streetAddressField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-extended-address')\n extendedAddressBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-extended-address')\n extendedAddressField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-locality')\n localityBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-locality') localityField!: HTMLInputElement;\n\n @query('ia-donation-badged-input.donation-contact-form-region')\n regionBadgedInput!: IADonationBadgedInput;\n @query('#donation-contact-form-region') regionField!: HTMLInputElement;\n\n @query('#donation-contact-form-countryCodeAlpha2')\n countryCodeAlpha2Field!: HTMLSelectElement;\n\n @query('#donation-contact-form-error-message') errorMessage!: HTMLDivElement;\n @query('form') form!: HTMLFormElement;\n\n /** A key of `countries`. US addresses require a state and a zip code. */\n @property({ type: String }) selectedCountry = 'US';\n\n /** Pre-fills the email field, for a logged-in donor */\n @property({ type: String }) donorEmail = '';\n\n updated(changed: PropertyValues): void {\n if (changed.has('donorEmail')) {\n this.emailField.value = this.donorEmail ?? '';\n }\n }\n\n /** Validates every field, marks the bad ones, and shows the browser's messages. */\n reportValidity(): boolean {\n this.validateFormFields();\n return this.validateForm();\n }\n\n private validateFormFields(): void {\n const fields: {\n badgedInput: IADonationBadgedInput;\n inputField: HTMLInputElement;\n }[] = [\n { badgedInput: this.emailBadgedInput, inputField: this.emailField },\n {\n badgedInput: this.firstNameBadgedInput,\n inputField: this.firstNameField,\n },\n { badgedInput: this.lastNameBadgedInput, inputField: this.lastNameField },\n {\n badgedInput: this.streetAddressBadgedInput,\n inputField: this.streetAddressField,\n },\n {\n badgedInput: this.extendedAddressBadgedInput,\n inputField: this.extendedAddressField,\n },\n { badgedInput: this.localityBadgedInput, inputField: this.localityField },\n { badgedInput: this.regionBadgedInput, inputField: this.regionField },\n { badgedInput: this.postalBadgedInput, inputField: this.postalCodeField },\n ];\n fields.forEach(({ badgedInput, inputField }) => {\n badgedInput.error = !inputField.checkValidity();\n });\n }\n\n private validateForm(): boolean {\n const isValid = this.form.reportValidity();\n\n this.errorMessage.textContent = isValid\n ? ''\n : msg('Please enter any missing or invalid contact information below');\n\n return isValid;\n }\n\n focus(): void {\n this.emailField.focus();\n }\n\n /** At least two non-whitespace characters */\n private minTwoCharPattern = '.*\\\\S{2,}.*';\n private get minTwoCharValidationMessage(): string {\n return msg('Enter at least two characters');\n }\n\n /** At least two non-whitespace characters with at least two characters between them */\n private streetAddressPattern = '.*?\\\\S.{2,}\\\\S.*?';\n private get streetAddressValidationMessage(): string {\n return msg('Enter at least four characters');\n }\n\n /** 12345, 12345-6789 or 123456789 */\n private usZipCodePattern = '^\\\\d{5}(-?\\\\d{4})?$';\n private get usZipCodeValidationMessage(): string {\n return msg('Enter a valid 5 or 9 digit zip/postal code');\n }\n\n render(): TemplateResult {\n return html`\n <div id=\"donation-contact-form-error-message\"></div>\n <form>\n <fieldset>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-email',\n placeholder: msg('Email'),\n required: true,\n fieldType: 'email',\n name: 'email',\n autocomplete: 'email',\n minlength: 5,\n maxlength: 255,\n icon: emailIcon,\n })}\n </div>\n </fieldset>\n\n <fieldset>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-first-name',\n placeholder: msg('First name'),\n name: 'fname',\n required: true,\n validationPattern: this.minTwoCharPattern,\n validationMessage: this.minTwoCharValidationMessage,\n maxlength: 255,\n autocomplete: 'given-name',\n icon: userIcon,\n })}\n </div>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-last-name',\n placeholder: msg('Last name'),\n name: 'lname',\n autocomplete: 'family-name',\n required: true,\n validationPattern: this.minTwoCharPattern,\n validationMessage: this.minTwoCharValidationMessage,\n maxlength: 255,\n })}\n </div>\n </fieldset>\n <fieldset>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-street-address',\n placeholder: msg('Address Line 1'),\n required: true,\n autocomplete: 'address-line1',\n icon: localePinIcon,\n name: 'street-address',\n validationPattern: this.streetAddressPattern,\n validationMessage: this.streetAddressValidationMessage,\n })}\n </div>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-extended-address',\n placeholder: msg('Address Line 2 (optional)'),\n autocomplete: 'address-line2',\n required: false,\n name: 'extended-address',\n })}\n </div>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-locality',\n placeholder: msg('City'),\n autocomplete: 'address-level2',\n required: true,\n name: 'locality',\n validationPattern: this.minTwoCharPattern,\n validationMessage: this.minTwoCharValidationMessage,\n })}\n </div>\n <div class=\"row\">\n ${this.generateInput({\n id: 'donation-contact-form-region',\n placeholder: msg('State / Province'),\n autocomplete: 'address-level1',\n required: this.regionAndPostalCodeRequired,\n name: 'region',\n validationPattern: this.regionAndPostalCodeRequired\n ? this.minTwoCharPattern\n : undefined,\n validationMessage: this.regionAndPostalCodeRequired\n ? this.minTwoCharValidationMessage\n : undefined,\n })}\n ${this.generateInput({\n id: 'donation-contact-form-postal-code',\n placeholder: msg('Zip / Postal'),\n autocomplete: 'postal-code',\n required: this.regionAndPostalCodeRequired,\n name: 'postal',\n validationPattern: this.regionAndPostalCodeRequired\n ? this.usZipCodePattern\n : undefined,\n validationMessage: this.regionAndPostalCodeRequired\n ? this.usZipCodeValidationMessage\n : undefined,\n iconSpaceOption: SpacerOption.CompressSpace,\n })}\n </div>\n <div class=\"row\">${this.countrySelectorTemplate}</div>\n </fieldset>\n </form>\n ${this.getStyles}\n `;\n }\n\n private get regionAndPostalCodeRequired(): boolean {\n return this.selectedCountry === 'US';\n }\n\n private get countrySelectorTemplate(): TemplateResult {\n return html`\n <ia-donation-badged-input>\n <label for=\"donation-contact-form-countryCodeAlpha2\">\n ${msg('Country')}\n </label>\n <select\n id=\"donation-contact-form-countryCodeAlpha2\"\n name=\"country\"\n autocomplete=\"country\"\n @change=${(e: Event) => {\n const newValue = (e.target as HTMLSelectElement).value;\n if (countries[newValue]) this.selectedCountry = newValue;\n }}\n >\n ${Object.keys(countries).map((key) => {\n const name = countries[key];\n return html`\n <option value=${key} ?selected=${key === this.selectedCountry}>\n ${name}\n </option>\n `;\n })}\n </select>\n </ia-donation-badged-input>\n `;\n }\n\n /** Light DOM, so browser autofill can reach the fields */\n createRenderRoot(): this {\n return this;\n }\n\n /** Clears the error state once the donor comes back to a field */\n private inputFocused(e: FocusEvent): void {\n this.errorMessage.textContent = '';\n const input = e.target as HTMLInputElement;\n const badgedInput = this.querySelector<IADonationBadgedInput>(\n `ia-donation-badged-input.${input.id}`,\n );\n if (badgedInput) badgedInput.error = false;\n }\n\n private generateInput(options: {\n id: string;\n placeholder: string;\n required?: boolean;\n fieldType?: 'text' | 'email';\n autocomplete?: AutoCompleteFieldOptions;\n minlength?: number;\n maxlength?: number;\n name: string;\n icon?: TemplateResult;\n iconSpaceOption?: SpacerOption;\n validationPattern?: string;\n validationMessage?: string;\n }): TemplateResult {\n const required = options.required ?? true;\n const fieldType = options.fieldType ?? 'text';\n const iconOption = options.iconSpaceOption ?? SpacerOption.LeaveSpace;\n\n return html`\n <ia-donation-badged-input\n class=${options.id}\n .icon=${options.icon}\n .iconSpaceOption=${iconOption}\n ?required=${required}\n >\n <label for=${options.id}>${options.placeholder}</label>\n <input\n type=${fieldType}\n id=${options.id}\n class=\"donation-contact-form-input\"\n name=${options.name}\n placeholder=${options.placeholder}\n maxlength=${ifDefined(options.maxlength)}\n minlength=${ifDefined(options.minlength)}\n autocomplete=${options.autocomplete ?? 'on'}\n pattern=${ifDefined(options.validationPattern)}\n title=${ifDefined(options.validationMessage)}\n @focus=${this.inputFocused}\n ?required=${required}\n />\n </ia-donation-badged-input>\n `;\n }\n\n get donorContactInfo(): DonorContactInfo {\n return new DonorContactInfo({\n billing: this.billingInfo,\n customer: this.contactInfo,\n });\n }\n\n get billingInfo(): BillingInfo {\n return new BillingInfo({\n streetAddress: this.streetAddressField.value,\n extendedAddress: this.extendedAddressField.value,\n locality: this.localityField.value,\n region: this.regionField.value,\n postalCode: this.postalCodeField.value,\n countryCodeAlpha2: this.countryCodeAlpha2Field.value,\n });\n }\n\n get contactInfo(): CustomerInfo {\n return new CustomerInfo({\n email: this.emailField.value,\n firstName: this.firstNameField.value,\n lastName: this.lastNameField.value,\n });\n }\n\n /**\n * The element renders into the light DOM, so instead of a `styles` block\n * it writes its own `<style>` tag, with every selector prefixed by the tag\n * name so nothing leaks onto the rest of the page.\n */\n private get getStyles(): TemplateResult {\n const noIconSpacerWidth = css`var(--ia-donation-badged-input-no-icon-spacer-width, calc(var(--donation-contact-base-font-size--) * 3))`;\n const iconSpacerWidth = css`var(--ia-donation-badged-input-icon-spacer-width, calc(var(--donation-contact-base-font-size--) * 5))`;\n\n return html`\n <style>\n ia-donation-contact-form {\n --donation-contact-base-font-size--: var(\n --ia-donation-form-base-font-size,\n 10px\n );\n --donation-contact-fieldset-spacing--: var(\n --ia-donation-contact-fieldset-spacing,\n var(--donation-contact-base-font-size--)\n );\n --donation-contact-field-font-family--: var(\n --ia-theme-base-font-family,\n 'Helvetica Neue',\n Helvetica,\n Arial,\n sans-serif\n );\n --donation-contact-field-font-size--: var(\n --ia-donation-contact-field-font-size,\n calc(var(--donation-contact-base-font-size--) * 1.6)\n );\n --donation-contact-field-font-color--: var(\n --ia-donation-form-input-font-color,\n #333\n );\n --donation-contact-error-color--: var(\n --ia-theme-color-danger,\n #e51c23\n );\n --donation-contact-icon-field-width--: calc(\n 100% - ${iconSpacerWidth}\n );\n --donation-contact-no-icon-field-width--: calc(\n 100% - ${noIconSpacerWidth}\n );\n }\n\n ia-donation-contact-form fieldset {\n border: 0;\n padding: 0;\n margin: 0;\n margin-bottom: var(--donation-contact-fieldset-spacing--);\n background-color: white;\n }\n\n /* The negative margins fold the doubled borders where fields touch */\n ia-donation-contact-form .row {\n display: flex;\n margin: -1px 0 0 0;\n }\n\n ia-donation-contact-form fieldset .row:first-child {\n margin-top: 0;\n }\n\n ia-donation-contact-form\n ia-donation-badged-input.donation-contact-form-region {\n width: 60%;\n }\n\n ia-donation-contact-form\n ia-donation-badged-input.donation-contact-form-postal-code {\n width: 40%;\n }\n\n ia-donation-contact-form #donation-contact-form-region {\n width: var(--donation-contact-icon-field-width--);\n }\n\n ia-donation-contact-form #donation-contact-form-postal-code {\n width: var(--donation-contact-no-icon-field-width--);\n }\n\n ia-donation-contact-form #donation-contact-form-error-message {\n color: var(--donation-contact-error-color--);\n font-size: calc(var(--donation-contact-base-font-size--) * 1.4);\n margin-bottom: calc(var(--donation-contact-base-font-size--) * 0.6);\n }\n\n ia-donation-contact-form #donation-contact-form-last-name {\n width: var(--donation-contact-no-icon-field-width--);\n }\n\n /* The labels are for screen readers, the placeholders carry the visible text */\n ia-donation-contact-form label {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n }\n\n ia-donation-contact-form .donation-contact-form-input {\n width: var(--donation-contact-icon-field-width--);\n border: 0;\n outline: 0;\n background: transparent;\n font-weight: bold;\n color: var(--donation-contact-field-font-color--);\n font-size: var(--donation-contact-field-font-size--);\n padding: 0;\n font-family: var(--donation-contact-field-font-family--);\n }\n\n ia-donation-contact-form .donation-contact-form-input::placeholder {\n color: revert;\n }\n\n ia-donation-contact-form #donation-contact-form-countryCodeAlpha2 {\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n font-weight: bold;\n font-size: var(--donation-contact-field-font-size--);\n font-family: var(--donation-contact-field-font-family--);\n border: 0;\n background: #fff;\n }\n </style>\n `;\n }\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import { LitElement, type CSSResultGroup, type TemplateResult } from 'lit';
2
+ /** Whether a hidden icon or required marker keeps its space, so neighbouring fields still line up. */
3
+ export declare const SpacerOption: {
4
+ readonly LeaveSpace: "leave-space";
5
+ readonly CompressSpace: "compress-space";
6
+ };
7
+ export type SpacerOption = (typeof SpacerOption)[keyof typeof SpacerOption];
8
+ /**
9
+ * A bordered field wrapper with an icon on the left and a required marker,
10
+ * which turns red on error. The field itself is slotted in, so it works for
11
+ * plain inputs, selects and Braintree's hosted field containers alike.
12
+ */
13
+ export declare class IADonationBadgedInput extends LitElement {
14
+ error: boolean;
15
+ icon?: TemplateResult;
16
+ required: boolean;
17
+ /** When there's no icon, whether its column stays or collapses */
18
+ iconSpaceOption: SpacerOption;
19
+ /** When the field isn't required, whether the marker's space stays or collapses */
20
+ requiredIndicatorSpaceOption: SpacerOption;
21
+ render(): TemplateResult;
22
+ private get errorClass();
23
+ private get iconSpaceOptionClass();
24
+ static get styles(): CSSResultGroup;
25
+ }
26
+ //# sourceMappingURL=ia-donation-badged-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ia-donation-badged-input.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-donation-form/form-elements/ia-donation-badged-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAMb,sGAAsG;AACtG,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E;;;;GAIG;AACH,qBACa,qBAAsB,SAAQ,UAAU;IACtB,KAAK,UAAS;IAEf,IAAI,CAAC,EAAE,cAAc,CAAC;IAErB,QAAQ,UAAS;IAE9C,kEAAkE;IACtC,eAAe,EAAE,YAAY,CAC/B;IAE1B,mFAAmF;IACvD,4BAA4B,EAAE,YAAY,CAC5C;IAE1B,MAAM,IAAI,cAAc;IAexB,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,KAAK,oBAAoB,GAI/B;IAED,MAAM,KAAK,MAAM,IAAI,cAAc,CA8FlC;CACF"}