@adyen/bento-vue2 1.66.0 → 1.68.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/@types/index.d.ts +2117 -2277
  2. package/dist/action-bar.js +1 -1
  3. package/dist/assets/accordion-item.css +1 -1
  4. package/dist/assets/action-bar.css +1 -1
  5. package/dist/assets/base-modal.css +1 -1
  6. package/dist/assets/button-actions.css +1 -1
  7. package/dist/assets/card.css +1 -1
  8. package/dist/assets/checkbox.css +1 -1
  9. package/dist/assets/data-grid.css +1 -1
  10. package/dist/assets/date-range-picker.css +1 -1
  11. package/dist/assets/dialog-page.css +1 -1
  12. package/dist/assets/dropdown-default-textbox.css +1 -1
  13. package/dist/assets/dropdown.css +1 -1
  14. package/dist/assets/file-uploader.css +1 -1
  15. package/dist/assets/filter-bar.css +1 -1
  16. package/dist/assets/footer-actions.css +1 -1
  17. package/dist/assets/header-meta.css +1 -0
  18. package/dist/assets/header-with-views.css +1 -1
  19. package/dist/assets/header.css +1 -1
  20. package/dist/assets/input-field-password.css +1 -1
  21. package/dist/assets/input-field-phone-number.css +1 -1
  22. package/dist/assets/input-field.css +1 -1
  23. package/dist/assets/inspector.css +1 -1
  24. package/dist/assets/menu.css +1 -1
  25. package/dist/assets/modal-fullscreen.css +1 -1
  26. package/dist/assets/popover.css +1 -1
  27. package/dist/assets/sidepanel.css +1 -1
  28. package/dist/assets/summary-grid.css +1 -1
  29. package/dist/assets/textarea.css +1 -1
  30. package/dist/assets/use-cached-selected-values.css +1 -1
  31. package/dist/button.js +1 -1
  32. package/dist/card.js +1 -1
  33. package/dist/checkbox.js +2 -2
  34. package/dist/chunks/{action-bar.C8zeHAJG.js → action-bar.Dy6tfK8c.js} +4 -4
  35. package/dist/chunks/{action-bar.C8zeHAJG.js.map → action-bar.Dy6tfK8c.js.map} +1 -1
  36. package/dist/chunks/{base-modal.3OptY7u_.js → base-modal.CkkfT6r6.js} +55 -118
  37. package/dist/chunks/base-modal.CkkfT6r6.js.map +1 -0
  38. package/dist/chunks/{button-actions-with-menu.BVU1NS0m.js → button-actions-with-menu.CcxUTbsI.js} +3 -3
  39. package/dist/chunks/{button-actions-with-menu.BVU1NS0m.js.map → button-actions-with-menu.CcxUTbsI.js.map} +1 -1
  40. package/dist/chunks/{button-actions._OIvTdKt.js → button-actions.Ju27CRNG.js} +2 -2
  41. package/dist/chunks/{button-actions._OIvTdKt.js.map → button-actions.Ju27CRNG.js.map} +1 -1
  42. package/dist/chunks/{card.CypgT0Ji.js → card.CASAAsuJ.js} +2 -2
  43. package/dist/chunks/{card.CypgT0Ji.js.map → card.CASAAsuJ.js.map} +1 -1
  44. package/dist/chunks/{checkbox-group.BVMGnokj.js → checkbox-group.QdX-NrSG.js} +2 -2
  45. package/dist/chunks/{checkbox-group.BVMGnokj.js.map → checkbox-group.QdX-NrSG.js.map} +1 -1
  46. package/dist/chunks/{checkbox.Bg5FM5Oa.js → checkbox.DCD6SSXC.js} +38 -37
  47. package/dist/chunks/checkbox.DCD6SSXC.js.map +1 -0
  48. package/dist/chunks/{code-snippet.BcoVTIs2.js → code-snippet.dIKi0D7d.js} +3 -3
  49. package/dist/chunks/{code-snippet.BcoVTIs2.js.map → code-snippet.dIKi0D7d.js.map} +1 -1
  50. package/dist/chunks/{country.Df7erZov.js → country.melpzEsY.js} +2 -2
  51. package/dist/chunks/{country.Df7erZov.js.map → country.melpzEsY.js.map} +1 -1
  52. package/dist/chunks/{dashboard-section.CcEIwDqX.js → dashboard-section.DBT99mLj.js} +2 -2
  53. package/dist/chunks/{dashboard-section.CcEIwDqX.js.map → dashboard-section.DBT99mLj.js.map} +1 -1
  54. package/dist/chunks/{dashed-underline.CEaAmjDa.js → dashed-underline.BbH6Lnd2.js} +2 -2
  55. package/dist/chunks/{dashed-underline.CEaAmjDa.js.map → dashed-underline.BbH6Lnd2.js.map} +1 -1
  56. package/dist/chunks/{data-grid-template.DJQcVuPs.js → data-grid-template.B2lDfM2o.js} +2 -2
  57. package/dist/chunks/{data-grid-template.DJQcVuPs.js.map → data-grid-template.B2lDfM2o.js.map} +1 -1
  58. package/dist/chunks/{data-grid.t4fCoE2Y.js → data-grid.B7Z9_WDY.js} +1224 -1167
  59. package/dist/chunks/data-grid.B7Z9_WDY.js.map +1 -0
  60. package/dist/chunks/{date-picker.DOAWsba5.js → date-picker.DGIS6Pp-.js} +3 -3
  61. package/dist/chunks/{date-picker.DOAWsba5.js.map → date-picker.DGIS6Pp-.js.map} +1 -1
  62. package/dist/chunks/{date-range-picker.DYxZygbL.js → date-range-picker.CIaKRXIQ.js} +409 -392
  63. package/dist/chunks/date-range-picker.CIaKRXIQ.js.map +1 -0
  64. package/dist/chunks/{dropdown-default-textbox.BNuuA4ES.js → dropdown-default-textbox.94q6opSD.js} +3 -3
  65. package/dist/chunks/dropdown-default-textbox.94q6opSD.js.map +1 -0
  66. package/dist/chunks/dropdown-tag.BaosvGGZ.js +240 -0
  67. package/dist/chunks/dropdown-tag.BaosvGGZ.js.map +1 -0
  68. package/dist/chunks/{dropdown.BWsU98dn.js → dropdown.DazYAy4B.js} +220 -363
  69. package/dist/chunks/dropdown.DazYAy4B.js.map +1 -0
  70. package/dist/chunks/es6.n1ewaW31.js.map +1 -1
  71. package/dist/chunks/{filter-bar.Bx3wivl8.js → filter-bar.DL19SXF1.js} +674 -669
  72. package/dist/chunks/filter-bar.DL19SXF1.js.map +1 -0
  73. package/dist/chunks/{footer-actions.DyuSTjC5.js → footer-actions.BE_zzX-e.js} +2 -2
  74. package/dist/chunks/{footer-actions.DyuSTjC5.js.map → footer-actions.BE_zzX-e.js.map} +1 -1
  75. package/dist/chunks/header-meta.CfloYa86.js +183 -0
  76. package/dist/chunks/header-meta.CfloYa86.js.map +1 -0
  77. package/dist/chunks/{header-with-views.B6mwBJjk.js → header-with-views.Bxvu8mq_.js} +689 -669
  78. package/dist/chunks/header-with-views.Bxvu8mq_.js.map +1 -0
  79. package/dist/chunks/header.DvHS-PnC.js +103 -0
  80. package/dist/chunks/header.DvHS-PnC.js.map +1 -0
  81. package/dist/chunks/{input-field-password.B8qWGzaB.js → input-field-password.C1zTapiN.js} +89 -88
  82. package/dist/chunks/input-field-password.C1zTapiN.js.map +1 -0
  83. package/dist/chunks/{input-field-phone-number.Bi4TJhbX.js → input-field-phone-number.K8BYjWfa.js} +623 -607
  84. package/dist/chunks/{input-field-phone-number.Bi4TJhbX.js.map → input-field-phone-number.K8BYjWfa.js.map} +1 -1
  85. package/dist/chunks/input-field.5S-pUNxA.js +157 -0
  86. package/dist/chunks/input-field.5S-pUNxA.js.map +1 -0
  87. package/dist/chunks/{menu.BCD4FW54.js → menu.dX3_vU05.js} +154 -153
  88. package/dist/chunks/{menu.BCD4FW54.js.map → menu.dX3_vU05.js.map} +1 -1
  89. package/dist/chunks/{modal-fullscreen.1OdCgyca.js → modal-fullscreen.DHotw1RI.js} +76 -63
  90. package/dist/chunks/modal-fullscreen.DHotw1RI.js.map +1 -0
  91. package/dist/chunks/{modal.xY5aFhAO.js → modal.eoNQ6E3U.js} +4 -4
  92. package/dist/chunks/{modal.xY5aFhAO.js.map → modal.eoNQ6E3U.js.map} +1 -1
  93. package/dist/chunks/{pagination.CW_1yX5C.js → pagination.4J7ZMyf5.js} +2 -2
  94. package/dist/chunks/{pagination.CW_1yX5C.js.map → pagination.4J7ZMyf5.js.map} +1 -1
  95. package/dist/chunks/popover.Bo4Bkudr.js +145 -0
  96. package/dist/chunks/popover.Bo4Bkudr.js.map +1 -0
  97. package/dist/chunks/popover.types.CBqyA4ly.js +6 -0
  98. package/dist/chunks/popover.types.CBqyA4ly.js.map +1 -0
  99. package/dist/chunks/promo-banner.Bbc2U3S3.js.map +1 -1
  100. package/dist/chunks/{rich-text-editor.BpaFd2-y.js → rich-text-editor.BUKLdRkN.js} +4 -6
  101. package/dist/chunks/{rich-text-editor.BpaFd2-y.js.map → rich-text-editor.BUKLdRkN.js.map} +1 -1
  102. package/dist/chunks/{search-bar.5JHI6li0.js → search-bar.CuBj5FAE.js} +3 -3
  103. package/dist/chunks/{search-bar.5JHI6li0.js.map → search-bar.CuBj5FAE.js.map} +1 -1
  104. package/dist/chunks/{secondary-nav.D4hrWvf7.js → secondary-nav.C6usurfD.js} +2 -2
  105. package/dist/chunks/{secondary-nav.D4hrWvf7.js.map → secondary-nav.C6usurfD.js.map} +1 -1
  106. package/dist/chunks/{sidepanel.CI8fu1Q3.js → sidepanel.DyThBUgV.js} +2 -2
  107. package/dist/chunks/{sidepanel.CI8fu1Q3.js.map → sidepanel.DyThBUgV.js.map} +1 -1
  108. package/dist/chunks/{summary-grid.types.Cwri2Y3T.js → summary-grid.types.D_FU3sUq.js} +4 -4
  109. package/dist/chunks/summary-grid.types.D_FU3sUq.js.map +1 -0
  110. package/dist/chunks/{textarea.RAU710Uw.js → textarea.UPM6N9V1.js} +7 -7
  111. package/dist/chunks/textarea.UPM6N9V1.js.map +1 -0
  112. package/dist/chunks/{timeline-item.DK2d00rt.js → timeline-item.DqLhj0Lb.js} +3 -3
  113. package/dist/chunks/{timeline-item.DK2d00rt.js.map → timeline-item.DqLhj0Lb.js.map} +1 -1
  114. package/dist/chunks/{tutorial.DJ_Cwp9i.js → tutorial.DRRfp81j.js} +7 -6
  115. package/dist/chunks/{tutorial.DJ_Cwp9i.js.map → tutorial.DRRfp81j.js.map} +1 -1
  116. package/dist/chunks/{use-cached-selected-values.CusB5KBl.js → use-cached-selected-values.0EeyFfyF.js} +365 -362
  117. package/dist/chunks/use-cached-selected-values.0EeyFfyF.js.map +1 -0
  118. package/dist/chunks/{use-country-items.HFnjuDsG.js → use-country-items.BllTb5MK.js} +2 -2
  119. package/dist/chunks/{use-country-items.HFnjuDsG.js.map → use-country-items.BllTb5MK.js.map} +1 -1
  120. package/dist/chunks/{use-country-phon-code.DVgE19zT.js → use-country-phon-code.BOaJ9PDl.js} +507 -498
  121. package/dist/chunks/{use-country-phon-code.DVgE19zT.js.map → use-country-phon-code.BOaJ9PDl.js.map} +1 -1
  122. package/dist/code-snippet.js +1 -1
  123. package/dist/country.js +2 -2
  124. package/dist/dashboard-template.js +1 -1
  125. package/dist/dashed-underline.js +1 -1
  126. package/dist/data-grid-template.js +1 -1
  127. package/dist/data-grid.js +1 -1
  128. package/dist/date-picker.js +1 -1
  129. package/dist/date-range-picker.js +1 -1
  130. package/dist/dropdown.js +4 -4
  131. package/dist/filter-bar.js +1 -1
  132. package/dist/header-with-views.js +1 -1
  133. package/dist/header.js +1 -1
  134. package/dist/index.js +156 -155
  135. package/dist/index.js.map +1 -1
  136. package/dist/input-field-password.js +1 -1
  137. package/dist/input-field-phone-number.js +1 -1
  138. package/dist/input-field.js +1 -1
  139. package/dist/internal.js +15 -14
  140. package/dist/menu.js +1 -1
  141. package/dist/modal-fullscreen.js +1 -1
  142. package/dist/modal.js +11 -11
  143. package/dist/pagination.js +1 -1
  144. package/dist/popover.js +3 -2
  145. package/dist/popover.js.map +1 -1
  146. package/dist/rich-text-editor.js +1 -1
  147. package/dist/search-bar.js +2 -2
  148. package/dist/secondary-nav.js +1 -1
  149. package/dist/sidepanel.js +1 -1
  150. package/dist/styles/bento-dark.css +10 -2
  151. package/dist/styles/bento-light.css +10 -2
  152. package/dist/styles/bento.css +10 -2
  153. package/dist/styles/legacy.css +10 -2
  154. package/dist/styles/styleguide.css +10 -2
  155. package/dist/summary-grid.js +1 -1
  156. package/dist/textarea.js +1 -1
  157. package/dist/timeline.js +1 -1
  158. package/dist/tutorial.js +1 -1
  159. package/dist/web-types.json +329 -53
  160. package/package.json +6 -6
  161. package/dist/assets/info-icon-with-popover.css +0 -1
  162. package/dist/chunks/base-modal.3OptY7u_.js.map +0 -1
  163. package/dist/chunks/checkbox.Bg5FM5Oa.js.map +0 -1
  164. package/dist/chunks/data-grid.t4fCoE2Y.js.map +0 -1
  165. package/dist/chunks/date-range-picker.DYxZygbL.js.map +0 -1
  166. package/dist/chunks/dropdown-default-textbox.BNuuA4ES.js.map +0 -1
  167. package/dist/chunks/dropdown-tag.DYg5l6HT.js +0 -215
  168. package/dist/chunks/dropdown-tag.DYg5l6HT.js.map +0 -1
  169. package/dist/chunks/dropdown.BWsU98dn.js.map +0 -1
  170. package/dist/chunks/filter-bar.Bx3wivl8.js.map +0 -1
  171. package/dist/chunks/header-with-views.B6mwBJjk.js.map +0 -1
  172. package/dist/chunks/header.hTMmMN8n.js +0 -188
  173. package/dist/chunks/header.hTMmMN8n.js.map +0 -1
  174. package/dist/chunks/info-icon-with-popover.COq40yTq.js +0 -71
  175. package/dist/chunks/info-icon-with-popover.COq40yTq.js.map +0 -1
  176. package/dist/chunks/input-field-password.B8qWGzaB.js.map +0 -1
  177. package/dist/chunks/input-field.L5bWjTpB.js +0 -152
  178. package/dist/chunks/input-field.L5bWjTpB.js.map +0 -1
  179. package/dist/chunks/modal-fullscreen.1OdCgyca.js.map +0 -1
  180. package/dist/chunks/popover.B05xkQ4e.js +0 -295
  181. package/dist/chunks/popover.B05xkQ4e.js.map +0 -1
  182. package/dist/chunks/summary-grid.types.Cwri2Y3T.js.map +0 -1
  183. package/dist/chunks/textarea.RAU710Uw.js.map +0 -1
  184. package/dist/chunks/use-cached-selected-values.CusB5KBl.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.DvHS-PnC.js","sources":["../../src/components/header/header.types.ts","../../src/components/header/header.vue"],"sourcesContent":["import { BentoLoadingButtonState } from '@/core/components/loading-button/loading-button.types';\n\n/**\n * @deprecated for usage with properties since version 2.0. Use the string literal instead.\n */\nexport enum BentoHeaderVariant {\n PAGE = 'page',\n COMPONENT = 'component',\n}\n\nexport interface BentoHeaderReloadButton {\n title: string;\n event?: (event: Event) => void;\n state?: `${BentoLoadingButtonState}`;\n}\n","<template>\n <header class=\"b-header\" :class=\"conditionalClasses\">\n <div class=\"b-header__wrapper\">\n <div class=\"b-header__title\">\n <div>\n <bento-typography v-bind=\"typography\" class=\"b-header__text\">{{ title }}</bento-typography>\n <info-icon-with-popover\n v-if=\"infoIconTooltipText || hasSlot('infoIconTooltipContent')\"\n class=\"b-header__tooltip\"\n :popover-text=\"infoIconTooltipText\"\n >\n <template v-if=\"hasSlot('infoIconTooltipContent')\" #default\n ><slot name=\"infoIconTooltipContent\"\n /></template>\n </info-icon-with-popover>\n </div>\n </div>\n <header-meta\n v-if=\"description || hasSlot('description') || lastUpdated\"\n class=\"b-header__meta-container\"\n :description=\"description\"\n :last-updated=\"lastUpdated\"\n :reload-button=\"reloadButton\"\n >\n <template v-if=\"hasSlot('description')\" #description><slot name=\"description\" /></template>\n </header-meta>\n <button-actions-with-menu\n v-if=\"actions\"\n :actions=\"actions\"\n :displayed-actions=\"2\"\n class=\"b-header__actions\"\n />\n </div>\n </header>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, PropType } from 'vue';\n import { InfoIconWithPopover } from '@/internal';\n import { BentoButtonActionsList } from '@/components/button';\n import { useHasSlot } from '@/composables';\n import { BentoHeaderReloadButton, BentoHeaderVariant } from './header.types';\n import { BentoTypography, BentoTypographyElement, BentoTypographyVariant } from '@/components/typography';\n import { HeaderMeta } from '@/internal/header-meta';\n import ButtonActionsWithMenu from '../internal/button-actions-with-menu/button-actions-with-menu.vue';\n\n export default defineComponent({\n name: 'bento-header',\n components: {\n BentoTypography,\n ButtonActionsWithMenu,\n InfoIconWithPopover,\n HeaderMeta,\n },\n props: {\n /**\n * Array of BentoButtonActionsList to show to the right of the title\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: null,\n },\n\n /**\n * Text showed under the title\n */\n description: { type: String, default: null },\n\n /**\n * Text showed in the info-icon tooltip on hover\n */\n infoIconTooltipText: { type: InfoIconWithPopover.props.popoverText.type, default: null },\n\n /**\n * Popover position of the info icon text.\n */\n infoIconPopoverPosition: {\n type: InfoIconWithPopover.props.popoverPosition.type,\n default: InfoIconWithPopover.props.popoverPosition.default,\n validator: InfoIconWithPopover.props.popoverPosition.validator,\n },\n\n /**\n * JavaScript \"Date\" object for when the content was last updated\n */\n lastUpdated: { type: [Date, Number], default: null },\n\n /**\n * Variant represents type of Header\n * @values page, component\n */\n variant: {\n type: String as PropType<BentoHeaderVariant | `${BentoHeaderVariant}`>,\n default: BentoHeaderVariant.PAGE,\n validator: (value: BentoHeaderVariant) => Object.values(BentoHeaderVariant).includes(value),\n },\n\n /**\n * Text used as a title\n */\n title: { type: String, required: true },\n\n /**\n * Reload button which shows next to the header's timestamp\n * {@see BentoHeaderReloadButton}\n */\n reloadButton: {\n type: Object as PropType<BentoHeaderReloadButton>,\n default: null,\n },\n },\n emits: ['reload'],\n setup(props, { slots }) {\n const conditionalClasses = computed(() => ({\n 'b-header--component': props.variant === BentoHeaderVariant.COMPONENT,\n }));\n\n const typography = computed(() => ({\n el: props.variant === BentoHeaderVariant.PAGE ? BentoTypographyElement.H1 : BentoTypographyElement.H2,\n variant: BentoTypographyVariant.TITLE,\n medium: props.variant === BentoHeaderVariant.COMPONENT,\n large: props.variant === BentoHeaderVariant.PAGE,\n }));\n return {\n hasSlot: useHasSlot(slots),\n conditionalClasses,\n typography,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./header.scss\" />\n"],"names":["BentoHeaderVariant","BentoHeaderVariant2","_sfc_main","defineComponent","BentoTypography","ButtonActionsWithMenu","InfoIconWithPopover","HeaderMeta","value","props","slots","conditionalClasses","computed","typography","BentoTypographyElement","BentoTypographyVariant","useHasSlot"],"mappings":";;;;;;;AAKY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,YAAA,aAFQA,IAAAD,KAAA,CAAA,CAAA;ACyCZ,MAAAE,IAAAC,EAAA;AAAA,EAAA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,iBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,YAAAC;AAAA,EACA;AAAA,EACA,OAAA;AAAA;AAAA;AAAA;AAAA,IACA,SAAA;AAAA,MAIA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,aAAA,EAAA,MAAA,QAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,qBAAA,EAAA,MAAAD,EAAA,MAAA,YAAA,MAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA,IAKA,yBAAA;AAAA,MAKA,MAAAA,EAAA,MAAA,gBAAA;AAAA,MACA,SAAAA,EAAA,MAAA,gBAAA;AAAA,MACA,WAAAA,EAAA,MAAA,gBAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,aAAA,EAAA,MAAA,CAAA,MAAA,MAAA,GAAA,SAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,SAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAAN,EAAA;AAAA,MACA,WAAA,CAAAQ,MAAA,OAAA,OAAAR,CAAA,EAAA,SAAAQ,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IACA,OAAA,EAAA,MAAA,QAAA,UAAA,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MAMA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,OAAA,CAAA,QAAA;AAAA,EACA,MAAAC,GAAA,EAAA,OAAAC,EAAA,GAAA;AAEA,UAAAC,IAAAC,EAAA,OAAA;AAAA,MAAA,uBAAAH,EAAA,YAAAT,EAAA;AAAA,IACA,EAAA,GAGAa,IAAAD,EAAA,OAAA;AAAA,MAAA,IAAAH,EAAA,YAAAT,EAAA,OAAAc,EAAA,KAAAA,EAAA;AAAA,MACA,SAAAC,EAAA;AAAA,MACA,QAAAN,EAAA,YAAAT,EAAA;AAAA,MACA,OAAAS,EAAA,YAAAT,EAAA;AAAA,IACA,EAAA;AAEA,WAAA;AAAA,MAAA,SAAAgB,EAAAN,CAAA;AAAA,MACA,oBAAAC;AAAA,MACA,YAAAE;AAAA,IACA;AAAA,EACA;AAEA,CAAA;;;;;;;;;;;;;;;;;"}
@@ -1,38 +1,38 @@
1
- import { defineComponent as de, useAttrs as ce, ref as l, provide as ue, computed as c, watch as V } from "vue";
1
+ import { defineComponent as de, useAttrs as ue, ref as l, provide as ce, computed as u, watch as O } from "vue";
2
2
  import { B as pe } from "./button.hF-nD1Og.js";
3
3
  import { B as ve } from "./image.C2D2hKat.js";
4
- import { B as fe } from "./input-field.L5bWjTpB.js";
5
- import { B as me } from "./popover.B05xkQ4e.js";
4
+ import { B as fe } from "./input-field.5S-pUNxA.js";
5
+ import { B as me } from "./popover.Bo4Bkudr.js";
6
6
  import { B as _e } from "./typography.J1v_SPG3.js";
7
7
  import { C as be } from "./checkmark-circle-fill.BttTCjrM.js";
8
8
  import { D as he } from "./dot.BW9SneIk.js";
9
9
  import { S as Ce, H as ge } from "./show.B_mKPF6I.js";
10
10
  import { e as ke, w as we } from "./index.BdrLbvtJ.js";
11
11
  import { u as Le } from "./i18n.BQkEbtPM.js";
12
- import { g as z } from "./generate-uid.NJ8tVoha.js";
13
- import { b as Re } from "./dropdown.BWsU98dn.js";
12
+ import { g as W } from "./generate-uid.NJ8tVoha.js";
13
+ import { b as Re } from "./dropdown.DazYAy4B.js";
14
14
  import { T as Ee } from "./tooltip.wQsyAwkC.js";
15
15
  import { n as ye } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
16
16
  import "../assets/input-field-password.css";
17
- var k = /* @__PURE__ */ ((s) => (s.TEXT = "text", s.PASSWORD = "password", s))(k || {}), b = /* @__PURE__ */ ((s) => (s.MIN_LENGTH = "minLength", s.REQUIRE_LOWERCASE = "requireLowercase", s.REQUIRE_NUMERIC = "requireNumeric", s.REQUIRE_SPECIAL_CHARACTER = "requireSpecialCharacter", s.REQUIRE_UPPERCASE = "requireUppercase", s))(b || {});
17
+ var g = /* @__PURE__ */ ((o) => (o.TEXT = "text", o.PASSWORD = "password", o))(g || {}), _ = /* @__PURE__ */ ((o) => (o.MIN_LENGTH = "minLength", o.REQUIRE_LOWERCASE = "requireLowercase", o.REQUIRE_NUMERIC = "requireNumeric", o.REQUIRE_SPECIAL_CHARACTER = "requireSpecialCharacter", o.REQUIRE_UPPERCASE = "requireUppercase", o))(_ || {});
18
18
  const Ie = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='capslock'%3e%3cg%20id='Union'%3e%3cpath%20d='M13.75%205.63952L8%201.03952L2.25%205.63952V7.74999H4.75V11.75H11.25V7.74999H13.75V5.63952ZM6.25%206.24999H3.88809L8%202.96046L12.1119%206.24999H9.75V10.25H6.25V6.24999Z'%20fill='%2300112C'/%3e%3cpath%20d='M11.25%2014.75V13.25H4.75V14.75H11.25Z'%20fill='%2300112C'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
19
- function w(s) {
20
- return (s == null ? void 0 : s.toString()) ?? "";
19
+ function k(o) {
20
+ return (o == null ? void 0 : o.toString()) ?? "";
21
21
  }
22
- function Te(s, t = 12) {
23
- return w(s).length >= t;
22
+ function Te(o, t = 12) {
23
+ return k(o).length >= t;
24
24
  }
25
- function Pe(s) {
26
- return /[a-z]/.test(w(s));
25
+ function Pe(o) {
26
+ return /[a-z]/.test(k(o));
27
27
  }
28
- function Oe(s) {
29
- return /[A-Z]/.test(w(s));
28
+ function Oe(o) {
29
+ return /[A-Z]/.test(k(o));
30
30
  }
31
- function Se(s) {
32
- return /\d/.test(w(s));
31
+ function Se(o) {
32
+ return /\d/.test(k(o));
33
33
  }
34
- function Ve(s) {
35
- return /[^a-zA-Z0-9]/.test(w(s));
34
+ function Ve(o) {
35
+ return /[^a-zA-Z0-9]/.test(k(o));
36
36
  }
37
37
  const Ae = {
38
38
  "en-US": {
@@ -74,13 +74,14 @@ const Ae = {
74
74
  validationSuggestion: "Evite símbolos de moeda ou letras acentuadas.",
75
75
  validationTitle: "A senha deve conter pelo menos:"
76
76
  }
77
- }, X = 12, Ue = {
77
+ }, Q = 12, Z = 500, z = 2e3, X = 2e3, Ue = {
78
78
  i18n: { messages: Ae },
79
79
  name: "bento-input-field-password"
80
80
  }, qe = /* @__PURE__ */ de({
81
81
  ...Ue,
82
82
  props: {
83
83
  condensed: { default: !1 },
84
+ debounceTime: { default: Z },
84
85
  disabled: { default: !1 },
85
86
  disableValidation: { type: Boolean, default: !1 },
86
87
  errorMessage: { default: null },
@@ -92,131 +93,131 @@ const Ae = {
92
93
  withHint: { type: Boolean, default: !0 }
93
94
  },
94
95
  emits: ["blur", "focus", "input:valid", "input:error", "input"],
95
- setup(s, { emit: t }) {
96
- const a = s, e = 500, L = 2e3, v = 2e3, { t: d, n: f } = Le(), A = ce(), h = l(k.PASSWORD), u = l(a.value), U = l(!1), q = l(!1), R = l([]), y = l({}), p = l(null), m = l(!1), M = l(null), B = l(null), G = l(null), I = l(!1);
97
- ue(Re, "bento-input-field-password");
98
- const { focused: N } = ke(M), J = z("validationListId"), H = z("validationPopoverId"), F = c(() => h.value === k.TEXT), K = c(
99
- () => R.value.map(
96
+ setup(o, { emit: t }) {
97
+ const a = o, { t: e, n: d } = Le(), v = ue(), b = l(g.PASSWORD), c = l(a.value), S = l(!1), V = l(!1), w = l([]), R = l({}), p = l(null), f = l(!1), A = l(null), U = l(null), G = l(null), E = l(!1);
98
+ ce(Re, "bento-input-field-password");
99
+ const { focused: q } = ke(A), J = W("validationListId"), M = W("validationPopoverId"), B = u(() => b.value === g.TEXT), K = u(
100
+ () => w.value.map(
100
101
  (i) => i ? "b-input-field-password__validation-list--valid" : "b-input-field-password__validation-list--invalid"
101
102
  )
102
- ), Y = c(
103
+ ), Y = u(
103
104
  () => p.value ? "b-input-field-password__input-tooltip--timed" : ""
104
- ), $ = c(() => ({
105
+ ), $ = u(() => ({
105
106
  ariaHidden: !1,
106
107
  condensed: a.condensed,
107
108
  disabled: a.disabled,
108
109
  errorMessage: a.errorMessage,
109
110
  placeholder: a.placeholder,
110
111
  readonly: a.readonly,
111
- type: h.value,
112
- value: u.value,
113
- "aria-haspopup": P.value ? "dialog" : !1,
114
- "aria-describedby": P.value ? H : "",
115
- ...A
116
- })), T = c(() => {
117
- var _, C, n, g, E, W;
112
+ type: b.value,
113
+ value: c.value,
114
+ "aria-haspopup": I.value ? "dialog" : !1,
115
+ "aria-describedby": I.value ? M : "",
116
+ ...v
117
+ })), y = u(() => {
118
+ var m, h, n, C, L, F;
118
119
  if (a.validation && !a.validation.extendDefaultValidation)
119
120
  return a.validation;
120
121
  const i = [
121
122
  {
122
- label: d("validationMinLength", { numberOfCharacters: f(X) }),
123
- key: b.MIN_LENGTH,
123
+ label: e("validationMinLength", { numberOfCharacters: d(Q) }),
124
+ key: _.MIN_LENGTH,
124
125
  validate: Te
125
126
  },
126
127
  {
127
- label: d("validationRequireLowercase", { numberOne: f(1) }),
128
- key: b.REQUIRE_LOWERCASE,
128
+ label: e("validationRequireLowercase", { numberOne: d(1) }),
129
+ key: _.REQUIRE_LOWERCASE,
129
130
  validate: Pe
130
131
  },
131
132
  {
132
- label: d("validationRequireUppercase", { numberOne: f(1) }),
133
- key: b.REQUIRE_UPPERCASE,
133
+ label: e("validationRequireUppercase", { numberOne: d(1) }),
134
+ key: _.REQUIRE_UPPERCASE,
134
135
  validate: Oe
135
136
  },
136
137
  {
137
- label: d("validationRequireNumeric", { numberOne: f(1) }),
138
- key: b.REQUIRE_NUMERIC,
138
+ label: e("validationRequireNumeric", { numberOne: d(1) }),
139
+ key: _.REQUIRE_NUMERIC,
139
140
  validate: Se
140
141
  },
141
142
  {
142
- label: d("validationRequireSpecialCharacter", { numberOne: f(1) }),
143
- key: b.REQUIRE_SPECIAL_CHARACTER,
143
+ label: e("validationRequireSpecialCharacter", { numberOne: d(1) }),
144
+ key: _.REQUIRE_SPECIAL_CHARACTER,
144
145
  validate: Ve
145
146
  }
146
147
  ];
147
- let o = i;
148
+ let s = i;
148
149
  if (a.validation) {
149
- const ne = i.map((r) => r.key), S = (C = (_ = a.validation) == null ? void 0 : _.list) == null ? void 0 : C.map((r) => r.key), le = ((g = (n = a.validation) == null ? void 0 : n.list) == null ? void 0 : g.filter((r) => !ne.includes(r.key))) ?? [];
150
- o = [...i.map((r) => {
151
- var Q, Z;
152
- return S != null && S.includes(r.key) ? (Z = (Q = a.validation) == null ? void 0 : Q.list) == null ? void 0 : Z.find((re) => re.key === r.key) : r;
150
+ const ne = i.map((r) => r.key), P = (h = (m = a.validation) == null ? void 0 : m.list) == null ? void 0 : h.map((r) => r.key), le = ((C = (n = a.validation) == null ? void 0 : n.list) == null ? void 0 : C.filter((r) => !ne.includes(r.key))) ?? [];
151
+ s = [...i.map((r) => {
152
+ var x, D;
153
+ return P != null && P.includes(r.key) ? (D = (x = a.validation) == null ? void 0 : x.list) == null ? void 0 : D.find((re) => re.key === r.key) : r;
153
154
  }), ...le];
154
155
  }
155
156
  return {
156
- title: ((E = a.validation) == null ? void 0 : E.title) ?? d("validationTitle"),
157
- suggestion: ((W = a.validation) == null ? void 0 : W.suggestion) ?? d("validationSuggestion"),
158
- list: o
157
+ title: ((L = a.validation) == null ? void 0 : L.title) ?? e("validationTitle"),
158
+ suggestion: ((F = a.validation) == null ? void 0 : F.suggestion) ?? e("validationSuggestion"),
159
+ list: s
159
160
  };
160
- }), x = c(() => {
161
- var i, o;
162
- return (o = (i = T.value) == null ? void 0 : i.list) == null ? void 0 : o.filter((_) => !_.disabled);
163
- }), D = c(() => {
161
+ }), N = u(() => {
162
+ var i, s;
163
+ return (s = (i = y.value) == null ? void 0 : i.list) == null ? void 0 : s.filter((m) => !m.disabled);
164
+ }), H = u(() => {
164
165
  var i;
165
- return (i = R.value) == null ? void 0 : i.some((o) => !o);
166
- }), P = c(
166
+ return (i = w.value) == null ? void 0 : i.some((s) => !s);
167
+ }), I = u(
167
168
  () => {
168
- var i, o;
169
- return B.value && ((o = (i = T.value) == null ? void 0 : i.list) == null ? void 0 : o.length) > 0;
169
+ var i, s;
170
+ return U.value && ((s = (i = y.value) == null ? void 0 : i.list) == null ? void 0 : s.length) > 0;
170
171
  }
171
172
  ), j = (i) => {
172
- typeof i.getModifierState == "function" && (I.value = i.getModifierState("CapsLock"));
173
+ typeof i.getModifierState == "function" && (E.value = i.getModifierState("CapsLock"));
173
174
  }, ee = () => {
174
- F.value ? h.value = k.PASSWORD : h.value = k.TEXT;
175
+ B.value ? b.value = g.PASSWORD : b.value = g.TEXT;
175
176
  }, ae = (i) => {
176
- a.disabled || (u.value = i, t("input", u.value));
177
+ a.disabled || (c.value = i, t("input", c.value));
177
178
  }, te = () => {
178
179
  t("focus");
179
180
  }, ie = () => {
180
181
  t("blur");
181
- }, O = (i) => {
182
- var C;
183
- const o = (C = x.value) == null ? void 0 : C.map((n) => ({
182
+ }, T = (i) => {
183
+ var h;
184
+ const s = (h = N.value) == null ? void 0 : h.map((n) => ({
184
185
  key: n.key,
185
186
  label: n.label,
186
187
  isValid: n.validate(i, ...n.additionalArgs ?? [])
187
188
  }));
188
- let _ = 1;
189
- R.value = o == null ? void 0 : o.map((n) => n.isValid), y.value = o == null ? void 0 : o.filter((n) => !n.isValid).reduce((n, g) => {
190
- const E = g.key ?? `custom-rule-${_++}`;
189
+ let m = 1;
190
+ w.value = s == null ? void 0 : s.map((n) => n.isValid), R.value = s == null ? void 0 : s.filter((n) => !n.isValid).reduce((n, C) => {
191
+ const L = C.key ?? `custom-rule-${m++}`;
191
192
  return {
192
193
  ...n,
193
- [E]: g.label
194
+ [L]: C.label
194
195
  };
195
196
  }, {});
196
- }, se = () => {
197
- m.value = !1, p.value = null;
198
197
  }, oe = () => {
199
- m.value = !0;
198
+ f.value = !1, p.value = null;
199
+ }, se = () => {
200
+ f.value = !0;
200
201
  };
201
- return V(
202
+ return O(
202
203
  () => a.value,
203
204
  (i) => {
204
- u.value = i;
205
+ c.value = i;
205
206
  }
206
- ), V(N, (i) => {
207
- i || (q.value = !0), a.disableValidation || (a.withHint && (U.value = i), O(u.value));
208
- }), V(I, (i) => {
209
- i ? (m.value = !0, p.value = setTimeout(() => {
210
- p.value = null, m.value = !1;
211
- }, v)) : (clearTimeout(p.value), p.value = null, m.value = !1);
207
+ ), O(q, (i) => {
208
+ i || (V.value = !0), a.disableValidation || (a.withHint && (S.value = i), T(c.value));
209
+ }), O(E, (i) => {
210
+ i ? (f.value = !0, p.value = setTimeout(() => {
211
+ p.value = null, f.value = !1;
212
+ }, X)) : (clearTimeout(p.value), p.value = null, f.value = !1);
212
213
  }), we(
213
- u,
214
+ c,
214
215
  (i) => {
215
- O(i), D.value ? t("input:error", y.value) : t("input:valid");
216
+ T(i), H.value ? t("input:error", R.value) : t("input:valid");
216
217
  },
217
218
  // wait for 0.5s before checking validity OR 2s of continuous typing
218
- { debounce: e, maxWait: L }
219
- ), { __sfc: !0, MIN_PASSWORD_LENGTH: X, DEBOUNCE_DURATION: e, DEBOUNCE_MAX_WAIT: L, TOOLTIP_TIMEOUT: v, t: d, n: f, props: a, emit: t, attrs: A, inputType: h, inputValue: u, isHintDisplayed: U, isTouched: q, passwordValidity: R, errorsList: y, capsLockTooltipTimeoutID: p, isTooltipDisplayed: m, inputFieldPasswordRef: M, inputFieldPasswordInputRef: B, inputFieldPasswordCapsLockIconRef: G, isCapsLockOn: I, focused: N, validationListId: J, validationPopoverId: H, isPasswordReadable: F, passwordValidityConditionalClass: K, tooltipConditionalClass: Y, inputFieldArgs: $, computedValidations: T, computedValidationList: x, hasErrors: D, hasValidations: P, checkCapsLock: j, toggleInputType: ee, onInput: ae, onFocus: te, onBlur: ie, checkValidity: O, handleCapsLockMouseLeave: se, handleCapsLockMouseEnter: oe, BentoButton: pe, BentoImage: ve, BentoInputField: fe, BentoPopover: me, BentoTypography: _e, Tooltip: Ee, CheckmarkCircleFillIcon: be, DotIcon: he, HideIcon: ge, ShowIcon: Ce, CapsLockIcon: Ie };
219
+ { debounce: a.debounceTime, maxWait: z }
220
+ ), { __sfc: !0, MIN_PASSWORD_LENGTH: Q, DEBOUNCE_DURATION: Z, DEBOUNCE_MAX_WAIT: z, TOOLTIP_TIMEOUT: X, t: e, n: d, props: a, emit: t, attrs: v, inputType: b, inputValue: c, isHintDisplayed: S, isTouched: V, passwordValidity: w, errorsList: R, capsLockTooltipTimeoutID: p, isTooltipDisplayed: f, inputFieldPasswordRef: A, inputFieldPasswordInputRef: U, inputFieldPasswordCapsLockIconRef: G, isCapsLockOn: E, focused: q, validationListId: J, validationPopoverId: M, isPasswordReadable: B, passwordValidityConditionalClass: K, tooltipConditionalClass: Y, inputFieldArgs: $, computedValidations: y, computedValidationList: N, hasErrors: H, hasValidations: I, checkCapsLock: j, toggleInputType: ee, onInput: ae, onFocus: te, onBlur: ie, checkValidity: T, handleCapsLockMouseLeave: oe, handleCapsLockMouseEnter: se, BentoButton: pe, BentoImage: ve, BentoInputField: fe, BentoPopover: me, BentoTypography: _e, Tooltip: Ee, CheckmarkCircleFillIcon: be, DotIcon: he, HideIcon: ge, ShowIcon: Ce, CapsLockIcon: Ie };
220
221
  }
221
222
  });
222
223
  var Me = function() {
@@ -229,8 +230,8 @@ var Me = function() {
229
230
  return [a(e.BentoButton, { attrs: { variant: "tertiary" }, on: { click: e.toggleInputType }, scopedSlots: t._u([{ key: "iconLeft", fn: function() {
230
231
  return [e.isPasswordReadable ? t._e() : a(e.ShowIcon, { attrs: { "svg-title": e.t("showPassword") } }), e.isPasswordReadable ? a(e.HideIcon, { attrs: { "svg-title": e.t("hidePassword") } }) : t._e()];
231
232
  }, proxy: !0 }], null, !1, 956294632) })];
232
- }, proxy: !0 }], null, !0) }, "bento-input-field", e.inputFieldArgs, !1)), e.hasValidations ? a(e.BentoPopover, { attrs: { open: e.isHintDisplayed, "target-element": e.inputFieldPasswordInputRef, "disable-focus-trap": !0, "aria-label": e.computedValidations.title, "aria-describedby": e.validationListId, position: "right-start" } }, [a("div", { attrs: { id: e.validationPopoverId } }, [e.computedValidations.title ? a(e.BentoTypography, { staticClass: "b-input-field-password__validation-title" }, [t._v(" " + t._s(e.computedValidations.title) + " ")]) : t._e(), e.hasErrors ? t._e() : a("p", { staticClass: "b-input-field-password__validation-status--valid", attrs: { role: "alert" } }, [t._v(" " + t._s(e.t("validationValid")) + " ")]), a("ul", { staticClass: "b-input-field-password__validation-list", attrs: { id: e.validationListId } }, t._l(e.computedValidationList, function(L, v) {
233
- return a("li", { key: v, class: e.passwordValidityConditionalClass[v], attrs: { "aria-live": "polite", "aria-atomic": "true" } }, [a("span", { staticClass: "b-input-field-password__validation-list-icon" }, [e.passwordValidity[v] ? a(e.CheckmarkCircleFillIcon, { attrs: { "svg-title": e.t("validationChecked") } }) : a(e.DotIcon, { attrs: { "svg-title": e.t("validationUnchecked") } })], 1), a(e.BentoTypography, { staticClass: "b-input-field-password__validation-list-text", attrs: { el: "span" } }, [t._v(" " + t._s(L.label) + " ")])], 1);
233
+ }, proxy: !0 }], null, !0) }, "bento-input-field", e.inputFieldArgs, !1)), e.hasValidations ? a(e.BentoPopover, { attrs: { open: e.isHintDisplayed, "target-element": e.inputFieldPasswordInputRef, "disable-focus-trap": !0, "aria-label": e.computedValidations.title, "aria-describedby": e.validationListId, position: "right-start" } }, [a("div", { attrs: { id: e.validationPopoverId } }, [e.computedValidations.title ? a(e.BentoTypography, { staticClass: "b-input-field-password__validation-title" }, [t._v(" " + t._s(e.computedValidations.title) + " ")]) : t._e(), e.hasErrors ? t._e() : a("p", { staticClass: "b-input-field-password__validation-status--valid", attrs: { role: "alert" } }, [t._v(" " + t._s(e.t("validationValid")) + " ")]), a("ul", { staticClass: "b-input-field-password__validation-list", attrs: { id: e.validationListId } }, t._l(e.computedValidationList, function(d, v) {
234
+ return a("li", { key: v, class: e.passwordValidityConditionalClass[v], attrs: { "aria-live": "polite", "aria-atomic": "true" } }, [a("span", { staticClass: "b-input-field-password__validation-list-icon" }, [e.passwordValidity[v] ? a(e.CheckmarkCircleFillIcon, { attrs: { "svg-title": e.t("validationChecked") } }) : a(e.DotIcon, { attrs: { "svg-title": e.t("validationUnchecked") } })], 1), a(e.BentoTypography, { staticClass: "b-input-field-password__validation-list-text", attrs: { el: "span" } }, [t._v(" " + t._s(d.label) + " ")])], 1);
234
235
  }), 0), e.computedValidations.suggestion ? a(e.BentoTypography, { staticClass: "b-input-field-password__validation-suggestion" }, [t._v(" " + t._s(e.computedValidations.suggestion) + " ")]) : t._e()], 1)]) : t._e()], 1);
235
236
  }, Be = [], Ne = /* @__PURE__ */ ye(
236
237
  qe,
@@ -238,7 +239,7 @@ var Me = function() {
238
239
  Be,
239
240
  !1,
240
241
  null,
241
- "4e728df9"
242
+ "00d67a51"
242
243
  );
243
244
  const ta = Ne.exports;
244
245
  export {
@@ -249,4 +250,4 @@ export {
249
250
  Te as m,
250
251
  Pe as r
251
252
  };
252
- //# sourceMappingURL=input-field-password.B8qWGzaB.js.map
253
+ //# sourceMappingURL=input-field-password.C1zTapiN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-field-password.C1zTapiN.js","sources":["../../src/components/input-field-password/input-field-password.types.ts","../../src/components/input-field-password/assets/capslock.svg","../../src/components/input-field-password/utilities/input-field-password.validation.ts","../../src/components/input-field-password/input-field-password.vue"],"sourcesContent":["import type { BentoInputFieldProps, BentoInputFieldValue } from '@/components/input-field/input-field.types';\n\n/**\n * Public\n */\n\nexport interface BentoInputFieldPasswordValidationListItem {\n label?: string;\n key?: BentoInputFieldPasswordDefaultRuleKeys | string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validate?: (value: BentoInputFieldValue, ...args: any[]) => boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n additionalArgs?: any[];\n disabled?: boolean;\n}\n\nexport type BentoInputFieldPasswordDefaultRuleKeys =\n | 'minLength'\n | 'requireLowercase'\n | 'requireNumeric'\n | 'requireSpecialCharacter'\n | 'requireUppercase';\n\nexport type BentoInputFieldPasswordErrorsList = Record<BentoInputFieldPasswordDefaultRuleKeys | string, string>;\n\nexport interface BentoInputFieldPasswordValidation {\n title?: string;\n suggestion?: string;\n extendDefaultValidation?: boolean;\n list: BentoInputFieldPasswordValidationListItem[];\n}\n\nexport interface BentoInputFieldPasswordProps {\n /**\n * Reduces height of the input\n */\n condensed?: BentoInputFieldProps['condensed'];\n\n /**\n * The debounce time in milliseconds for running validation and emitting the `input` event after the user has stopped typing.\n * This helps to avoid excessive validation checks on every keystroke. Defaults to `500`.\n */\n debounceTime?: number;\n\n /**\n * Disables the possibility of changing value in the input-field\n */\n disabled?: BentoInputFieldProps['disabled'];\n\n /**\n * Performs real-time validations over the input value. Default: `false`.\n * Disabling the option (set to `true`) will not run pre-defined validations or custom validations defined in the `validation` field.\n */\n disableValidation?: boolean;\n\n /**\n * Renders input-field with an error state and the error message beneath the input box\n */\n errorMessage?: BentoInputFieldProps['errorMessage'];\n\n /**\n * Text displayed as the placeholder of the input-field\n */\n placeholder?: BentoInputFieldProps['placeholder'];\n\n /**\n * Setting this property to true will set the input field to read only state.\n */\n readonly?: BentoInputFieldProps['readonly'];\n\n /**\n * Text displayed as the value of the input-field\n */\n value?: BentoInputFieldProps['value'];\n\n /**\n * Label to be shown with the input field\n */\n label?: string;\n\n /**\n * Configuration object for password field validation.\n *\n * This object defines the validation criteria and associated messages for a password field.\n * It includes the following properties:\n *\n * - `title`: The title displayed at the top of the validation hint.\n * - `suggestion`: The message displayed at the bottom of the validation hint, providing additional guidance.\n * - `extendDefaultValidation`: Set to true if you want to add your custom rules to the default validation instead of overriding the list.\n * - `list`: An array of callback functions to be executed on the value after each user input, validating the password against the specified rules.\n *\n * By default, the validation checks that:\n *\n * - The value has a minimum length of 12 characters.\n * - The value contains at least one lowercase letter.\n * - The value contains at least one uppercase letter.\n * - The value contains at least one numeric digit.\n * - The value contains at least one special character.\n *\n *\n */\n validation?: BentoInputFieldPasswordValidation;\n\n /**\n * Whether the password validation hint is displayed when the input field is activated via focus or input\n */\n withHint?: boolean;\n}\n\n/**\n * Private\n */\n\nexport enum BentoInputFieldPasswordType {\n TEXT = 'text',\n PASSWORD = 'password',\n}\n\nexport enum BentoInputFieldPasswordDefaultRule {\n MIN_LENGTH = 'minLength',\n REQUIRE_LOWERCASE = 'requireLowercase',\n REQUIRE_NUMERIC = 'requireNumeric',\n REQUIRE_SPECIAL_CHARACTER = 'requireSpecialCharacter',\n REQUIRE_UPPERCASE = 'requireUppercase',\n}\n","export default \"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='capslock'%3e%3cg%20id='Union'%3e%3cpath%20d='M13.75%205.63952L8%201.03952L2.25%205.63952V7.74999H4.75V11.75H11.25V7.74999H13.75V5.63952ZM6.25%206.24999H3.88809L8%202.96046L12.1119%206.24999H9.75V10.25H6.25V6.24999Z'%20fill='%2300112C'/%3e%3cpath%20d='M11.25%2014.75V13.25H4.75V14.75H11.25Z'%20fill='%2300112C'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e\"","import { BentoInputFieldValue } from '@/components/input-field';\n\nfunction stringifyValue(value: BentoInputFieldValue): string {\n return value?.toString() ?? '';\n}\n\n/**\n * Validates if the length of the provided value is greater than or equal to the specified length.\n *\n * @param value - The input value to check.\n * @param length - The minimum required length of the value. Defaults to 12.\n * @returns `true` if the length of the value is greater than or equal to the specified length, `false` otherwise.\n */\nexport function minLength(value: BentoInputFieldValue, length = 12): boolean {\n return stringifyValue(value).length >= length;\n}\n\n/**\n * Validates if the provided value contains at least one lowercase letter.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one lowercase letter, `false` otherwise.\n */\nexport function requireLowercase(value: BentoInputFieldValue): boolean {\n return /[a-z]/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one uppercase letter.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one uppercase letter, `false` otherwise.\n */\nexport function requireUppercase(value: BentoInputFieldValue): boolean {\n return /[A-Z]/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one numerical digit.\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one numerical digit, `false` otherwise.\n */\nexport function requireNumeric(value: BentoInputFieldValue): boolean {\n return /\\d/.test(stringifyValue(value));\n}\n\n/**\n * Validates if the provided value contains at least one special character (non-alphanumeric).\n *\n * @param value - The input value to check.\n * @returns `true` if the value contains at least one special character, `false` otherwise.\n */\nexport function requireSpecialCharacter(value: BentoInputFieldValue): boolean {\n return /[^a-zA-Z0-9]/.test(stringifyValue(value));\n}\n","<template>\n <div ref=\"inputFieldPasswordRef\">\n <bento-input-field\n ref=\"inputFieldPasswordInputRef\"\n v-bind=\"inputFieldArgs\"\n class=\"b-input-field-password__input\"\n spellcheck=\"false\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n @keydown=\"checkCapsLock\"\n @keyup=\"checkCapsLock\"\n >\n <template #default>{{ label }}</template>\n\n <template v-if=\"isCapsLockOn\" #iconBefore>\n <div\n class=\"b-input-field-password__caps-lock-indicator\"\n @mouseenter=\"handleCapsLockMouseEnter\"\n @mouseleave=\"handleCapsLockMouseLeave\"\n >\n <bento-image\n ref=\"inputFieldPasswordCapsLockIconRef\"\n :src=\"CapsLockIcon\"\n :alt=\"t('capsLockEnabled')\"\n />\n </div>\n\n <tooltip\n v-if=\"inputFieldPasswordCapsLockIconRef\"\n :class=\"tooltipConditionalClass\"\n :content=\"t('capsLockEnabled')\"\n :disabled-focus-trap=\"true\"\n :fallback-position=\"['top', 'bottom']\"\n :is-shown=\"isTooltipDisplayed\"\n :target-element=\"inputFieldPasswordCapsLockIconRef\"\n />\n </template>\n\n <template v-if=\"!disabled\" #iconAfter>\n <bento-button variant=\"tertiary\" @click=\"toggleInputType\">\n <template #iconLeft>\n <show-icon v-if=\"!isPasswordReadable\" :svg-title=\"t('showPassword')\" />\n <hide-icon v-if=\"isPasswordReadable\" :svg-title=\"t('hidePassword')\" />\n </template>\n </bento-button>\n </template>\n </bento-input-field>\n\n <bento-popover\n v-if=\"hasValidations\"\n :open=\"isHintDisplayed\"\n :target-element=\"inputFieldPasswordInputRef\"\n :disable-focus-trap=\"true\"\n :aria-label=\"computedValidations.title\"\n :aria-describedby=\"validationListId\"\n position=\"right-start\"\n >\n <div :id=\"validationPopoverId\">\n <bento-typography v-if=\"computedValidations.title\" class=\"b-input-field-password__validation-title\">\n {{ computedValidations.title }}\n </bento-typography>\n\n <p v-if=\"!hasErrors\" class=\"b-input-field-password__validation-status--valid\" role=\"alert\">\n {{ t('validationValid') }}\n </p>\n\n <ul :id=\"validationListId\" class=\"b-input-field-password__validation-list\">\n <li\n v-for=\"(rule, index) in computedValidationList\"\n :key=\"index\"\n :class=\"passwordValidityConditionalClass[index]\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <span class=\"b-input-field-password__validation-list-icon\">\n <checkmark-circle-fill-icon\n v-if=\"passwordValidity[index]\"\n :svg-title=\"t('validationChecked')\"\n />\n\n <dot-icon v-else :svg-title=\"t('validationUnchecked')\" />\n </span>\n\n <bento-typography class=\"b-input-field-password__validation-list-text\" el=\"span\">\n {{ rule.label }}\n </bento-typography>\n </li>\n </ul>\n\n <bento-typography\n v-if=\"computedValidations.suggestion\"\n class=\"b-input-field-password__validation-suggestion\"\n >\n {{ computedValidations.suggestion }}\n </bento-typography>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { BentoButton } from '@/components/button';\n import { BentoImage } from '@/components/image';\n import { BentoInputField } from '@/components/input-field';\n import { BentoPopover } from '@/components/popover';\n import { BentoTypography } from '@/components/typography';\n import { Tooltip } from '@/internal';\n import type { BentoInputFieldProps } from '@/components/input-field/input-field.types';\n import {\n BentoInputFieldPasswordDefaultRule,\n BentoInputFieldPasswordErrorsList,\n type BentoInputFieldPasswordProps,\n BentoInputFieldPasswordType,\n BentoInputFieldPasswordValidation,\n BentoInputFieldPasswordValidationListItem,\n } from './input-field-password.types';\n import CheckmarkCircleFillIcon from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import DotIcon from '@adyen/ui-assets-icons-16/vue/dot';\n import HideIcon from '@adyen/ui-assets-icons-16/vue/hide';\n import ShowIcon from '@adyen/ui-assets-icons-16/vue/show';\n import CapsLockIcon from './assets/capslock.svg';\n\n import { useFocusWithin, watchDebounced } from '@vueuse/core';\n import { computed, provide, ref, SetupContext, useAttrs, watch } from 'vue';\n\n import { useI18n } from '@/utils/ts/i18n';\n\n import {\n minLength,\n requireLowercase,\n requireNumeric,\n requireSpecialCharacter,\n requireUppercase,\n } from '@/components/input-field-password/utilities/input-field-password.validation';\n import { generateUid } from '@/core/utils/ts';\n import messages from './messages.json';\n import { INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY } from '@/components/input-field/input-field.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t, n } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = defineProps({\n condensed: { default: false },\n debounceTime: { default: DEBOUNCE_DURATION },\n disabled: { default: false },\n disableValidation: { type: Boolean, default: false },\n errorMessage: { default: null },\n placeholder: { default: '' },\n readonly: { default: false },\n value: { default: undefined },\n label: { default: null },\n validation: { default: undefined },\n withHint: { type: Boolean, default: true }\n});\n\n const emit = defineEmits([\"blur\", \"focus\", \"input:valid\", \"input:error\", \"input\"]);\n\n const attrs = useAttrs();\n\n const inputType = ref(BentoInputFieldPasswordType.PASSWORD);\n const inputValue = ref(props.value);\n const isHintDisplayed = ref(false);\n const isTouched = ref(false);\n const passwordValidity = ref<boolean[]>([]);\n const errorsList = ref<BentoInputFieldPasswordErrorsList>({});\n const capsLockTooltipTimeoutID = ref<ReturnType<typeof setTimeout>>(null);\n const isTooltipDisplayed = ref(false);\n const inputFieldPasswordRef = ref(null);\n const inputFieldPasswordInputRef = ref(null);\n const inputFieldPasswordCapsLockIconRef = ref(null);\n const isCapsLockOn = ref(false);\n\n provide(INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY, 'bento-input-field-password');\n\n const { focused } = useFocusWithin(inputFieldPasswordRef);\n\n const validationListId = generateUid('validationListId');\n const validationPopoverId = generateUid('validationPopoverId');\n\n const isPasswordReadable = computed(() => inputType.value === BentoInputFieldPasswordType.TEXT);\n\n const passwordValidityConditionalClass = computed(() =>\n passwordValidity.value.map(validity =>\n validity\n ? 'b-input-field-password__validation-list--valid'\n : 'b-input-field-password__validation-list--invalid'\n )\n );\n\n const tooltipConditionalClass = computed(() =>\n capsLockTooltipTimeoutID.value ? 'b-input-field-password__input-tooltip--timed' : ''\n );\n\n const inputFieldArgs = computed<BentoInputFieldProps & SetupContext['attrs']>(() => ({\n ariaHidden: false,\n condensed: props.condensed,\n disabled: props.disabled,\n errorMessage: props.errorMessage,\n placeholder: props.placeholder,\n readonly: props.readonly,\n type: inputType.value,\n value: inputValue.value,\n\n 'aria-haspopup': hasValidations.value ? 'dialog' : false,\n 'aria-describedby': hasValidations.value ? validationPopoverId : '',\n\n ...attrs,\n }));\n\n const computedValidations = computed<BentoInputFieldPasswordValidation>(() => {\n if (props.validation && !props.validation.extendDefaultValidation) {\n return props.validation;\n }\n\n const defaultValidationList = [\n {\n label: t('validationMinLength', { numberOfCharacters: n(MIN_PASSWORD_LENGTH) }),\n key: BentoInputFieldPasswordDefaultRule.MIN_LENGTH,\n validate: minLength,\n },\n {\n label: t('validationRequireLowercase', { numberOne: n(1) }),\n key: BentoInputFieldPasswordDefaultRule.REQUIRE_LOWERCASE,\n validate: requireLowercase,\n },\n {\n label: t('validationRequireUppercase', { numberOne: n(1) }),\n key: BentoInputFieldPasswordDefaultRule.REQUIRE_UPPERCASE,\n validate: requireUppercase,\n },\n {\n label: t('validationRequireNumeric', { numberOne: n(1) }),\n key: BentoInputFieldPasswordDefaultRule.REQUIRE_NUMERIC,\n validate: requireNumeric,\n },\n {\n label: t('validationRequireSpecialCharacter', { numberOne: n(1) }),\n key: BentoInputFieldPasswordDefaultRule.REQUIRE_SPECIAL_CHARACTER,\n validate: requireSpecialCharacter,\n },\n ];\n\n let validationList: BentoInputFieldPasswordValidationListItem[] = defaultValidationList;\n\n if (props.validation) {\n const defaultValidationKeys: string[] = defaultValidationList.map(rule => rule.key);\n const customRuleKeys = props.validation?.list?.map(rule => rule.key);\n // remove from the custom list any rules with default keys (rules that are overriding existent rules)\n const customValidationList =\n props.validation?.list?.filter(rule => !defaultValidationKeys.includes(rule.key)) ?? [];\n\n // loop through the default list and replace default rule with the custom rule if it exists\n const validationListWithOverrides = defaultValidationList.map(rule => {\n if (customRuleKeys?.includes(rule.key)) {\n const customRule = props.validation?.list?.find(customRule => customRule.key === rule.key);\n return customRule;\n } else {\n return rule;\n }\n });\n validationList = [...validationListWithOverrides, ...customValidationList];\n }\n\n return {\n title: props.validation?.title ?? t('validationTitle'),\n suggestion: props.validation?.suggestion ?? t('validationSuggestion'),\n list: validationList,\n };\n });\n\n const computedValidationList = computed(() => computedValidations.value?.list?.filter(rule => !rule.disabled));\n\n const hasErrors = computed(() => passwordValidity.value?.some(validation => !validation));\n const hasValidations = computed(\n () => inputFieldPasswordInputRef.value && computedValidations.value?.list?.length > 0\n );\n\n const checkCapsLock = (e: KeyboardEvent) => {\n // Check if getModifierState exists and is a function in case the user's browser is autofilling\n if (typeof e.getModifierState === 'function') {\n isCapsLockOn.value = e.getModifierState('CapsLock');\n }\n };\n\n const toggleInputType = () => {\n if (isPasswordReadable.value) {\n inputType.value = BentoInputFieldPasswordType.PASSWORD;\n } else {\n inputType.value = BentoInputFieldPasswordType.TEXT;\n }\n };\n\n const onInput = (value: string) => {\n if (props.disabled) {\n return;\n }\n\n inputValue.value = value;\n\n emit('input', inputValue.value);\n };\n\n const onFocus = () => {\n emit('focus');\n };\n\n const onBlur = () => {\n emit('blur');\n };\n\n const checkValidity = (value: BentoInputFieldPasswordProps['value']) => {\n const rulesValidityObj = computedValidationList.value?.map(validationItem => ({\n key: validationItem.key,\n label: validationItem.label,\n isValid: validationItem.validate(value, ...(validationItem.additionalArgs ?? [])),\n }));\n let customRuleIndex = 1;\n\n passwordValidity.value = rulesValidityObj?.map(error => error.isValid);\n\n errorsList.value = rulesValidityObj\n ?.filter(rule => !rule.isValid)\n .reduce((errorsObject, error) => {\n const key = error.key ?? `custom-rule-${customRuleIndex++}`;\n return {\n ...errorsObject,\n [key]: error.label,\n };\n }, {});\n };\n\n const handleCapsLockMouseLeave = () => {\n isTooltipDisplayed.value = false;\n capsLockTooltipTimeoutID.value = null;\n };\n\n const handleCapsLockMouseEnter = () => {\n isTooltipDisplayed.value = true;\n };\n\n watch(\n () => props.value,\n newValue => {\n inputValue.value = newValue;\n }\n );\n\n watch(focused, focused => {\n // Always set dirty to true when blur occurs\n if (!focused) {\n isTouched.value = true;\n }\n\n // Disable validations & hint if \"disableValidation\" is \"true\"\n if (!props.disableValidation) {\n if (props.withHint) {\n isHintDisplayed.value = focused;\n }\n checkValidity(inputValue.value);\n }\n });\n\n watch(isCapsLockOn, isCapsLockOn => {\n if (!isCapsLockOn) {\n clearTimeout(capsLockTooltipTimeoutID.value);\n\n capsLockTooltipTimeoutID.value = null;\n isTooltipDisplayed.value = false;\n } else {\n isTooltipDisplayed.value = true;\n\n capsLockTooltipTimeoutID.value = setTimeout(() => {\n capsLockTooltipTimeoutID.value = null;\n isTooltipDisplayed.value = false;\n }, TOOLTIP_TIMEOUT);\n }\n });\n\n watchDebounced(\n inputValue,\n inputValue => {\n checkValidity(inputValue);\n\n if (!hasErrors.value) {\n emit('input:valid');\n } else {\n emit('input:error', errorsList.value);\n }\n },\n // wait for 0.5s before checking validity OR 2s of continuous typing\n { debounce: props.debounceTime, maxWait: DEBOUNCE_MAX_WAIT }\n );\n</script>\n\n<script lang=\"ts\">\n const MIN_PASSWORD_LENGTH = 12;\n const DEBOUNCE_DURATION = 500;\n const DEBOUNCE_MAX_WAIT = 2000;\n const TOOLTIP_TIMEOUT = 2000;\n\n /**\n * The input field password is a component designed to support users' preference for entering values securely.\n * This is an extension of the `bento-input-field` component.\n *\n * @example\n * import { BentoInputFieldPassword } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoInputFieldPassword },\n * template: `\n * <bento-input-field-password\n * label=\"Label\"\n * error-message=\"Error\"\n * :validation=\"{\n * extendDefaultValidation: true,\n * list: [\n * { label: '18 characters', key: 'minLength', validate: minLength, additionalArgs: [18] },\n * { label: 'Always true', key: 'alwaysTrue', validate: () => true },\n * { key: 'requireSpecialCharacter', disabled: true }\n * ],\n * }\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-input-field-password',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./input-field-password.scss\" />\n"],"names":["BentoInputFieldPasswordType","BentoInputFieldPasswordType2","BentoInputFieldPasswordDefaultRule","BentoInputFieldPasswordDefaultRule2","CapsLockIcon","stringifyValue","value","minLength","length","requireLowercase","requireUppercase","requireNumeric","requireSpecialCharacter","MIN_PASSWORD_LENGTH","DEBOUNCE_DURATION","DEBOUNCE_MAX_WAIT","TOOLTIP_TIMEOUT","__default__","messages","t","n","useI18n","attrs","useAttrs","inputType","ref","inputValue","props","isHintDisplayed","isTouched","passwordValidity","errorsList","capsLockTooltipTimeoutID","isTooltipDisplayed","inputFieldPasswordRef","inputFieldPasswordInputRef","inputFieldPasswordCapsLockIconRef","isCapsLockOn","provide","INPUT_FIELD_PARENT_COMPONENT_INJECTION_KEY","focused","useFocusWithin","validationListId","generateUid","validationPopoverId","isPasswordReadable","computed","passwordValidityConditionalClass","validity","tooltipConditionalClass","inputFieldArgs","hasValidations","computedValidations","defaultValidationList","validationList","defaultValidationKeys","rule","customRuleKeys","_b","_a","customValidationList","_d","_c","customRule2","_e","_f","computedValidationList","hasErrors","validation","checkCapsLock","e","toggleInputType","onInput","emit","onFocus","onBlur","checkValidity","rulesValidityObj","validationItem","customRuleIndex","error","errorsObject","key","handleCapsLockMouseLeave","handleCapsLockMouseEnter","watch","newValue","focused2","isCapsLockOn2","watchDebounced","inputValue2"],"mappings":";;;;;;;;;;;;;;;;AAiHY,IAAAA,IAAA,kBAAAC,OACRA,EAAA,OAAA,QACAA,EAAA,WAAA,YAFQA,IAAAD,KAAA,CAAA,CAAA,GAKAE,IAAA,kBAAAC,OACRA,EAAA,aAAA,aACAA,EAAA,oBAAA,oBACAA,EAAA,kBAAA,kBACAA,EAAA,4BAAA,2BACAA,EAAA,oBAAA,oBALQA,IAAAD,KAAA,CAAA,CAAA;ACtHZ,MAAAE,KAAA;ACEA,SAAAC,EAAAC,GAAA;AACI,UAAAA,KAAA,gBAAAA,EAAA,eAAA;AACJ;AASgB,SAAAC,GAAAD,GAAAE,IAAA,IAAA;AACZ,SAAAH,EAAAC,CAAA,EAAA,UAAAE;AACJ;AAQO,SAAAC,GAAAH,GAAA;AACH,SAAA,QAAA,KAAAD,EAAAC,CAAA,CAAA;AACJ;AAQO,SAAAI,GAAAJ,GAAA;AACH,SAAA,QAAA,KAAAD,EAAAC,CAAA,CAAA;AACJ;AAQO,SAAAK,GAAAL,GAAA;AACH,SAAA,KAAA,KAAAD,EAAAC,CAAA,CAAA;AACJ;AAQO,SAAAM,GAAAN,GAAA;AACH,SAAA,eAAA,KAAAD,EAAAC,CAAA,CAAA;AACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GCsVIO,IAAA,IACAC,IAAA,KACAC,IAAA,KACAC,IAAA,KA2BAC,KAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,GAAA;AAAA,EACM,MAAA;AAErB;;;;;;;;;;;;;;;;;iBAjSA,EAAA,GAAAC,GAAA,GAAAC,EAAA,IAAAC,GAAA,GAkBAC,IAAAC,GAAA,GAEAC,IAAAC,EAAAzB,EAAA,QAAA,GACA0B,IAAAD,EAAAE,EAAA,KAAA,GACAC,IAAAH,EAAA,EAAA,GACAI,IAAAJ,EAAA,EAAA,GACAK,IAAAL,EAAA,CAAA,CAAA,GACAM,IAAAN,EAAA,CAAA,CAAA,GACAO,IAAAP,EAAA,IAAA,GACAQ,IAAAR,EAAA,EAAA,GACAS,IAAAT,EAAA,IAAA,GACAU,IAAAV,EAAA,IAAA,GACAW,IAAAX,EAAA,IAAA,GACAY,IAAAZ,EAAA,EAAA;AAEA,IAAAa,GAAAC,IAAA,4BAAA;AAEA,UAAA,EAAA,SAAAC,EAAA,IAAAC,GAAAP,CAAA,GAEAQ,IAAAC,EAAA,kBAAA,GACAC,IAAAD,EAAA,qBAAA,GAEAE,IAAAC,EAAA,MAAAtB,EAAA,UAAAxB,EAAA,IAAA,GAEA+C,IAAAD;AAAA,MAAyC,MAAAhB,EAAA,MAAA;AAAA,QACd,CAAAkB,MAAAA,IAAA,mDAAA;AAAA,MAGb;AAAA,IACV,GAGJC,IAAAH;AAAA,MAAgC,MAAAd,EAAA,QAAA,iDAAA;AAAA,IACsD,GAGtFkB,IAAAJ,EAAA,OAAA;AAAA,MAAqF,YAAA;AAAA,MACrE,WAAAnB,EAAA;AAAA,MACK,UAAAA,EAAA;AAAA,MACD,cAAAA,EAAA;AAAA,MACI,aAAAA,EAAA;AAAA,MACD,UAAAA,EAAA;AAAA,MACH,MAAAH,EAAA;AAAA,MACA,OAAAE,EAAA;AAAA,MACE,iBAAAyB,EAAA,QAAA,WAAA;AAAA,MAEiC,oBAAAA,EAAA,QAAAP,IAAA;AAAA,MACc,GAAAtB;AAAA,IAE9D,EAAA,GAGP8B,IAAAN,EAAA,MAAA;;AACI,UAAAnB,EAAA,cAAA,CAAAA,EAAA,WAAA;AACI,eAAAA,EAAA;AAGJ,YAAA0B,IAAA;AAAA,QAA8B;AAAA,UAC1B,OAAAlC,EAAA,uBAAA,EAAA,oBAAAC,EAAAP,CAAA,EAAA,CAAA;AAAA,UACkF,KAAAX,EAAA;AAAA,UACtC,UAAAK;AAAA,QAC9B;AAAA,QACd;AAAA,UACA,OAAAY,EAAA,8BAAA,EAAA,WAAAC,EAAA,CAAA,EAAA,CAAA;AAAA,UAC8D,KAAAlB,EAAA;AAAA,UAClB,UAAAO;AAAA,QAC9B;AAAA,QACd;AAAA,UACA,OAAAU,EAAA,8BAAA,EAAA,WAAAC,EAAA,CAAA,EAAA,CAAA;AAAA,UAC8D,KAAAlB,EAAA;AAAA,UAClB,UAAAQ;AAAA,QAC9B;AAAA,QACd;AAAA,UACA,OAAAS,EAAA,4BAAA,EAAA,WAAAC,EAAA,CAAA,EAAA,CAAA;AAAA,UAC4D,KAAAlB,EAAA;AAAA,UAChB,UAAAS;AAAA,QAC9B;AAAA,QACd;AAAA,UACA,OAAAQ,EAAA,qCAAA,EAAA,WAAAC,EAAA,CAAA,EAAA,CAAA;AAAA,UACqE,KAAAlB,EAAA;AAAA,UACzB,UAAAU;AAAA,QAC9B;AAAA,MACd;AAGJ,UAAA0C,IAAAD;AAEA,UAAA1B,EAAA,YAAA;AACI,cAAA4B,KAAAF,EAAA,IAAA,CAAAG,MAAAA,EAAA,GAAA,GACAC,KAAAC,KAAAC,IAAAhC,EAAA,eAAA,gBAAAgC,EAAA,SAAA,gBAAAD,EAAA,IAAA,CAAAF,MAAAA,EAAA,MAEAI,OAAAC,KAAAC,IAAAnC,EAAA,eAAA,gBAAAmC,EAAA,SAAA,gBAAAD,EAAA,OAAA,CAAAL,MAAA,CAAAD,GAAA,SAAAC,EAAA,GAAA,OAAA,CAAA;AAYA,QAAAF,IAAA,CAAA,GARAD,EAAA,IAAA,CAAAG,MAAA;;AACI,iBAAAC,KAAA,QAAAA,EAAA,SAAAD,EAAA,QACIE,KAAAC,IAAAhC,EAAA,eAAA,gBAAAgC,EAAA,SAAA,gBAAAD,EAAA,KAAA,CAAAK,OAAAA,GAAA,QAAAP,EAAA,OAGAA;AAAA,QACJ,CAAA,GAEJ,GAAAI,EAAA;AAAA,MAAyE;AAG7E,aAAA;AAAA,QAAO,SAAAI,IAAArC,EAAA,eAAA,gBAAAqC,EAAA,UAAA7C,EAAA,iBAAA;AAAA,QACkD,cAAA8C,IAAAtC,EAAA,eAAA,gBAAAsC,EAAA,eAAA9C,EAAA,sBAAA;AAAA,QACe,MAAAmC;AAAA,MAC9D;AAAA,IACV,CAAA,GAGJY,IAAApB,EAAA,MAAA;;AAAA,cAAAY,KAAAC,IAAAP,EAAA,UAAA,gBAAAO,EAAA,SAAA,gBAAAD,EAAA,OAAA,CAAAF,MAAA,CAAAA,EAAA;AAAA,KAAA,GAEAW,IAAArB,EAAA,MAAA;;AAAA,cAAAa,IAAA7B,EAAA,UAAA,gBAAA6B,EAAA,KAAA,CAAAS,MAAA,CAAAA;AAAA,KAAA,GACAjB,IAAAL;AAAA,MAAuB,MAAA;;AAAA,eAAAX,EAAA,WAAAuB,KAAAC,IAAAP,EAAA,UAAA,gBAAAO,EAAA,SAAA,gBAAAD,EAAA,UAAA;AAAA;AAAA,IACiE,GAGxFW,IAAA,CAAAC,MAAA;AAEI,MAAA,OAAAA,EAAA,oBAAA,eACIjC,EAAA,QAAAiC,EAAA,iBAAA,UAAA;AAAA,IACJ,GAGJC,KAAA,MAAA;AACI,MAAA1B,EAAA,QACIrB,EAAA,QAAAxB,EAAA,WAEAwB,EAAA,QAAAxB,EAAA;AAAA,IACJ,GAGJwE,KAAA,CAAAlE,MAAA;AACI,MAAAqB,EAAA,aAIAD,EAAA,QAAApB,GAEAmE,EAAA,SAAA/C,EAAA,KAAA;AAAA,IAA8B,GAGlCgD,KAAA,MAAA;AACI,MAAAD,EAAA,OAAA;AAAA,IAAY,GAGhBE,KAAA,MAAA;AACI,MAAAF,EAAA,MAAA;AAAA,IAAW,GAGfG,IAAA,CAAAtE,MAAA;;AACI,YAAAuE,KAAAlB,IAAAO,EAAA,UAAA,gBAAAP,EAAA,IAAA,CAAAmB,OAAA;AAAA,QAA8E,KAAAA,EAAA;AAAA,QACtD,OAAAA,EAAA;AAAA,QACE,SAAAA,EAAA,SAAAxE,GAAA,GAAAwE,EAAA,kBAAA,CAAA,CAAA;AAAA,MAC0D;AAEpF,UAAAC,IAAA;AAEA,MAAAjD,EAAA,QAAA+C,KAAA,gBAAAA,EAAA,IAAA,CAAAG,MAAAA,EAAA,UAEAjD,EAAA,QAAA8C,KAAA,gBAAAA,EAAA,OAAA,CAAArB,MAAA,CAAAA,EAAA,SAAA,OAAA,CAAAyB,GAAAD,MAAA;AAGQ,cAAAE,IAAAF,EAAA,OAAA,eAAAD,GAAA;AACA,eAAA;AAAA,UAAO,GAAAE;AAAA,UACA,CAAAC,CAAA,GAAAF,EAAA;AAAA,QACU;AAAA,MACjB,GAAA,CAAA;AAAA,IACC,GAGbG,KAAA,MAAA;AACI,MAAAlD,EAAA,QAAA,IACAD,EAAA,QAAA;AAAA,IAAiC,GAGrCoD,KAAA,MAAA;AACI,MAAAnD,EAAA,QAAA;AAAA,IAA2B;AAG/B,WAAAoD;AAAA,MAAA,MAAA1D,EAAA;AAAA,MACgB,CAAA2D,MAAA;AAER,QAAA5D,EAAA,QAAA4D;AAAA,MAAmB;AAAA,IACvB,GAGJD,EAAA7C,GAAA,CAAA+C,MAAA;AAEI,MAAAA,MACI1D,EAAA,QAAA,KAIJF,EAAA,sBACIA,EAAA,aACIC,EAAA,QAAA2D,IAEJX,EAAAlD,EAAA,KAAA;AAAA,IACJ,CAAA,GAGJ2D,EAAAhD,GAAA,CAAAmD,MAAA;AACI,MAAAA,KAMIvD,EAAA,QAAA,IAEAD,EAAA,QAAA,WAAA,MAAA;AACI,QAAAA,EAAA,QAAA,MACAC,EAAA,QAAA;AAAA,MAA2B,GAAAjB,CAAA,MAT/B,aAAAgB,EAAA,KAAA,GAEAA,EAAA,QAAA,MACAC,EAAA,QAAA;AAAA,IAQJ,CAAA,GAGJwD;AAAA,MAAA/D;AAAA,MACI,CAAAgE,MAAA;AAEI,QAAAd,EAAAc,CAAA,GAEAvB,EAAA,QAGIM,EAAA,eAAA1C,EAAA,KAAA,IAFA0C,EAAA,aAAA;AAAA,MAGJ;AAAA;AAAA,MACJ,EAAA,UAAA9C,EAAA,cAAA,SAAAZ,EAAA;AAAA,IAE2D;;;;;;;;;;;;;;;;;;;;;;;;;"}