@gov-design-system-ce/components 4.6.3 → 4.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +1 -1
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/gov-banner.cjs.entry.js +3 -3
  4. package/dist/cjs/gov-banner.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gov-banner.entry.cjs.js.map +1 -1
  6. package/dist/cjs/gov-flex_3.cjs.entry.js +1 -1
  7. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +67 -23
  8. package/dist/cjs/gov-form-autocomplete.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gov-form-autocomplete.entry.cjs.js.map +1 -1
  10. package/dist/cjs/gov-form-file.cjs.entry.js +32 -3
  11. package/dist/cjs/gov-form-file.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-form-file.entry.cjs.js.map +1 -1
  13. package/dist/cjs/gov-form-search.cjs.entry.js +1 -1
  14. package/dist/cjs/gov-form-search.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gov-form-search.entry.cjs.js.map +1 -1
  16. package/dist/cjs/gov-form-select.cjs.entry.js +8 -15
  17. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gov-form-select.entry.cjs.js.map +1 -1
  19. package/dist/cjs/gov-tooltip.gov-tooltip-content.entry.cjs.js.map +1 -1
  20. package/dist/cjs/gov-tooltip_2.cjs.entry.js +34 -9
  21. package/dist/cjs/gov-tooltip_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-wizard-item.cjs.entry.js +2 -2
  23. package/dist/cjs/gov-wizard.cjs.entry.js +1 -1
  24. package/dist/cjs/index-BEF5cZxd.js +4 -4
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/collection/components/gov-banner/gov-banner.js +4 -4
  27. package/dist/collection/components/gov-banner/gov-banner.js.map +1 -1
  28. package/dist/collection/components/gov-form/autocomplete/autocomplete.utils.js +14 -0
  29. package/dist/collection/components/gov-form/autocomplete/autocomplete.utils.js.map +1 -0
  30. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js +76 -22
  31. package/dist/collection/components/gov-form/autocomplete/gov-form-autocomplete.js.map +1 -1
  32. package/dist/collection/components/gov-form/file/gov-form-file.js +34 -3
  33. package/dist/collection/components/gov-form/file/gov-form-file.js.map +1 -1
  34. package/dist/collection/components/gov-form/search/gov-form-search.js +2 -2
  35. package/dist/collection/components/gov-form/search/gov-form-search.js.map +1 -1
  36. package/dist/collection/components/gov-form/select/gov-form-select.js +8 -15
  37. package/dist/collection/components/gov-form/select/gov-form-select.js.map +1 -1
  38. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js +22 -1
  39. package/dist/collection/components/gov-tooltip/gov-tooltip-content.js.map +1 -1
  40. package/dist/collection/components/gov-tooltip/gov-tooltip.js +31 -8
  41. package/dist/collection/components/gov-tooltip/gov-tooltip.js.map +1 -1
  42. package/dist/collection/components/gov-wizard/gov-wizard-item.js +2 -2
  43. package/dist/collection/components/gov-wizard/gov-wizard.js +1 -1
  44. package/dist/components/gov-accordion-item.js +1 -1
  45. package/dist/components/gov-accordion.js +1 -1
  46. package/dist/components/gov-attachments-item.js +1 -1
  47. package/dist/components/gov-attachments.js +1 -1
  48. package/dist/components/gov-backdrop.js +1 -1
  49. package/dist/components/gov-banner.js +1 -1
  50. package/dist/components/gov-banner.js.map +1 -1
  51. package/dist/components/gov-blockquote.js +1 -1
  52. package/dist/components/gov-breadcrumbs.js +1 -1
  53. package/dist/components/gov-breadcrumbs.js.map +1 -1
  54. package/dist/components/gov-button.js +1 -1
  55. package/dist/components/gov-card.js +1 -1
  56. package/dist/components/gov-chip.js +1 -1
  57. package/dist/components/gov-collapsible.js +1 -1
  58. package/dist/components/gov-collapsible.js.map +1 -1
  59. package/dist/components/gov-container.js +1 -1
  60. package/dist/components/gov-control-group.js +1 -1
  61. package/dist/components/gov-cookiebar.js +1 -1
  62. package/dist/components/gov-dialog.js +1 -1
  63. package/dist/components/gov-dropdown.js +1 -1
  64. package/dist/components/gov-empty.js +1 -1
  65. package/dist/components/gov-error-code.js +1 -1
  66. package/dist/components/gov-flex.js +1 -1
  67. package/dist/components/gov-form-autocomplete.js +1 -1
  68. package/dist/components/gov-form-checkbox-group.js +1 -1
  69. package/dist/components/gov-form-checkbox.js +1 -1
  70. package/dist/components/gov-form-control.js +1 -1
  71. package/dist/components/gov-form-file.js +1 -1
  72. package/dist/components/gov-form-file.js.map +1 -1
  73. package/dist/components/gov-form-group.js +1 -1
  74. package/dist/components/gov-form-input.js +1 -1
  75. package/dist/components/gov-form-message.js +1 -1
  76. package/dist/components/gov-form-multi-select.js +1 -1
  77. package/dist/components/gov-form-multi-select.js.map +1 -1
  78. package/dist/components/gov-form-radio-group.js +1 -1
  79. package/dist/components/gov-form-radio.js +1 -1
  80. package/dist/components/gov-form-range.js +1 -1
  81. package/dist/components/gov-form-range.js.map +1 -1
  82. package/dist/components/gov-form-search.js +1 -1
  83. package/dist/components/gov-form-search.js.map +1 -1
  84. package/dist/components/gov-form-select.js +1 -1
  85. package/dist/components/gov-form-switch.js +1 -1
  86. package/dist/components/gov-grid-item.js +1 -1
  87. package/dist/components/gov-grid.js +1 -1
  88. package/dist/components/gov-icon.js +1 -1
  89. package/dist/components/gov-infobar.js +1 -1
  90. package/dist/components/gov-layout-column.js +1 -1
  91. package/dist/components/gov-layout.js +1 -1
  92. package/dist/components/gov-link.js +1 -1
  93. package/dist/components/gov-loading.js +1 -1
  94. package/dist/components/gov-message.js +1 -1
  95. package/dist/components/gov-pagination.js +1 -1
  96. package/dist/components/gov-skeleton.js +1 -1
  97. package/dist/components/gov-spacer.js +1 -1
  98. package/dist/components/gov-stepper-item.js +1 -1
  99. package/dist/components/gov-stepper.js +1 -1
  100. package/dist/components/gov-tabs-item.js +1 -1
  101. package/dist/components/gov-tabs.js +1 -1
  102. package/dist/components/gov-tag.js +1 -1
  103. package/dist/components/gov-theme-switch.js +1 -1
  104. package/dist/components/gov-tile.js +1 -1
  105. package/dist/components/gov-toast.js +1 -1
  106. package/dist/components/gov-tooltip-content.js +1 -1
  107. package/dist/components/gov-tooltip.js +1 -1
  108. package/dist/components/gov-wizard-item.js +1 -1
  109. package/dist/components/gov-wizard.js +1 -1
  110. package/dist/components/{p-DKo9A5gq.js → p-BHRF-5cf.js} +2 -2
  111. package/dist/components/{p-9imLQpxb.js → p-BSr8e18S.js} +2 -2
  112. package/dist/components/{p-BNnuBQvo.js → p-BxS4InzB.js} +2 -2
  113. package/dist/components/{p-CfaJM4SA.js → p-CMmyR4-k.js} +2 -2
  114. package/dist/components/{p-B0KFtEn3.js → p-CU0plGZP.js} +2 -2
  115. package/dist/components/{p-BrdXh0mI.js → p-CXPP9vec.js} +2 -2
  116. package/dist/components/{p-djqfSbq-.js → p-C_URF9Su.js} +2 -2
  117. package/dist/components/{p-yqJEurSE.js → p-CnKqUwf9.js} +2 -2
  118. package/dist/components/p-DEthsMuE.js +2 -0
  119. package/dist/components/p-DEthsMuE.js.map +1 -0
  120. package/dist/components/{p-Bv5L0j6n.js → p-DN5pb9xA.js} +2 -2
  121. package/dist/components/{p-DesycS6d.js → p-iTwUkISB.js} +2 -2
  122. package/dist/components/{p-BZTY3MxF.js → p-ibUK7mfI.js} +2 -2
  123. package/dist/components/p-keC6luw7.js +2 -0
  124. package/dist/components/p-keC6luw7.js.map +1 -0
  125. package/dist/components/p-pJ_vPAO0.js +2 -0
  126. package/dist/components/p-pJ_vPAO0.js.map +1 -0
  127. package/dist/components/p-yIpIIG5A.js +2 -0
  128. package/dist/components/p-yIpIIG5A.js.map +1 -0
  129. package/dist/core/core.css +47 -47
  130. package/dist/core/core.esm.js +1 -1
  131. package/dist/core/gov-banner.entry.esm.js.map +1 -1
  132. package/dist/core/gov-form-autocomplete.entry.esm.js.map +1 -1
  133. package/dist/core/gov-form-file.entry.esm.js.map +1 -1
  134. package/dist/core/gov-form-search.entry.esm.js.map +1 -1
  135. package/dist/core/gov-form-select.entry.esm.js.map +1 -1
  136. package/dist/core/gov-tooltip.gov-tooltip-content.entry.esm.js.map +1 -1
  137. package/dist/core/{p-4da8ac1d.entry.js → p-10991f00.entry.js} +2 -2
  138. package/dist/core/p-19300834.entry.js +2 -0
  139. package/dist/core/{p-bd389bfd.entry.js.map → p-19300834.entry.js.map} +1 -1
  140. package/dist/core/p-4e2faea7.entry.js +2 -0
  141. package/dist/core/p-4e2faea7.entry.js.map +1 -0
  142. package/dist/core/p-7f513718.entry.js +2 -0
  143. package/dist/core/p-7f513718.entry.js.map +1 -0
  144. package/dist/core/p-8d47e346.entry.js +2 -0
  145. package/dist/core/p-8d47e346.entry.js.map +1 -0
  146. package/dist/core/p-DQuL1Twl.js.map +1 -1
  147. package/dist/core/p-afe254cb.entry.js +2 -0
  148. package/dist/core/p-afe254cb.entry.js.map +1 -0
  149. package/dist/core/{p-469f14db.entry.js → p-bec959c4.entry.js} +2 -2
  150. package/dist/core/p-d9d29f50.entry.js +2 -0
  151. package/dist/core/p-d9d29f50.entry.js.map +1 -0
  152. package/dist/core/{p-4d365881.entry.js → p-f75ad657.entry.js} +2 -2
  153. package/dist/esm/app-globals-DQuL1Twl.js.map +1 -1
  154. package/dist/esm/core.js +1 -1
  155. package/dist/esm/gov-banner.entry.js +3 -3
  156. package/dist/esm/gov-banner.entry.js.map +1 -1
  157. package/dist/esm/gov-flex_3.entry.js +1 -1
  158. package/dist/esm/gov-form-autocomplete.entry.js +68 -24
  159. package/dist/esm/gov-form-autocomplete.entry.js.map +1 -1
  160. package/dist/esm/gov-form-file.entry.js +32 -3
  161. package/dist/esm/gov-form-file.entry.js.map +1 -1
  162. package/dist/esm/gov-form-search.entry.js +1 -1
  163. package/dist/esm/gov-form-search.entry.js.map +1 -1
  164. package/dist/esm/gov-form-select.entry.js +8 -15
  165. package/dist/esm/gov-form-select.entry.js.map +1 -1
  166. package/dist/esm/gov-tooltip.gov-tooltip-content.entry.js.map +1 -1
  167. package/dist/esm/gov-tooltip_2.entry.js +34 -9
  168. package/dist/esm/gov-tooltip_2.entry.js.map +1 -1
  169. package/dist/esm/gov-wizard-item.entry.js +2 -2
  170. package/dist/esm/gov-wizard.entry.js +1 -1
  171. package/dist/esm/index-ClISz4NF.js +4 -4
  172. package/dist/esm/loader.js +1 -1
  173. package/dist/hydrate/index.js +154 -60
  174. package/dist/hydrate/index.mjs +154 -60
  175. package/dist/types/Users/jf/dev/designSystem/gov-design-system/packages/core/.stencil/packages/core/stencil.config.d.ts +2 -0
  176. package/dist/types/components/gov-form/autocomplete/autocomplete.utils.d.ts +2 -0
  177. package/dist/types/components/gov-form/autocomplete/gov-form-autocomplete.d.ts +9 -0
  178. package/dist/types/components/gov-form/file/gov-form-file.d.ts +1 -0
  179. package/dist/types/components/gov-form/select/gov-form-select.d.ts +1 -1
  180. package/dist/types/components/gov-tooltip/gov-tooltip-content.d.ts +4 -0
  181. package/dist/types/components/gov-tooltip/gov-tooltip.d.ts +3 -0
  182. package/dist/types/components.d.ts +20 -2
  183. package/package.json +2 -2
  184. package/readme.md +9 -0
  185. package/dist/components/p-DFu5UVoP.js +0 -2
  186. package/dist/components/p-DFu5UVoP.js.map +0 -1
  187. package/dist/components/p-DMVQRz4f.js +0 -2
  188. package/dist/components/p-DMVQRz4f.js.map +0 -1
  189. package/dist/components/p-UDT3DloZ.js +0 -2
  190. package/dist/components/p-UDT3DloZ.js.map +0 -1
  191. package/dist/components/p-x3w8Mun_.js +0 -2
  192. package/dist/components/p-x3w8Mun_.js.map +0 -1
  193. package/dist/core/p-11fc3899.entry.js +0 -2
  194. package/dist/core/p-11fc3899.entry.js.map +0 -1
  195. package/dist/core/p-33b462c9.entry.js +0 -2
  196. package/dist/core/p-33b462c9.entry.js.map +0 -1
  197. package/dist/core/p-3e5ae012.entry.js +0 -2
  198. package/dist/core/p-3e5ae012.entry.js.map +0 -1
  199. package/dist/core/p-bd389bfd.entry.js +0 -2
  200. package/dist/core/p-c21bc8f9.entry.js +0 -2
  201. package/dist/core/p-c21bc8f9.entry.js.map +0 -1
  202. package/dist/core/p-def34832.entry.js +0 -2
  203. package/dist/core/p-def34832.entry.js.map +0 -1
  204. package/dist/types/work/packages/core/.stencil/packages/core/stencil.config.d.ts +0 -2
  205. /package/dist/components/{p-DKo9A5gq.js.map → p-BHRF-5cf.js.map} +0 -0
  206. /package/dist/components/{p-9imLQpxb.js.map → p-BSr8e18S.js.map} +0 -0
  207. /package/dist/components/{p-BNnuBQvo.js.map → p-BxS4InzB.js.map} +0 -0
  208. /package/dist/components/{p-CfaJM4SA.js.map → p-CMmyR4-k.js.map} +0 -0
  209. /package/dist/components/{p-B0KFtEn3.js.map → p-CU0plGZP.js.map} +0 -0
  210. /package/dist/components/{p-BrdXh0mI.js.map → p-CXPP9vec.js.map} +0 -0
  211. /package/dist/components/{p-djqfSbq-.js.map → p-C_URF9Su.js.map} +0 -0
  212. /package/dist/components/{p-yqJEurSE.js.map → p-CnKqUwf9.js.map} +0 -0
  213. /package/dist/components/{p-Bv5L0j6n.js.map → p-DN5pb9xA.js.map} +0 -0
  214. /package/dist/components/{p-DesycS6d.js.map → p-iTwUkISB.js.map} +0 -0
  215. /package/dist/components/{p-BZTY3MxF.js.map → p-ibUK7mfI.js.map} +0 -0
  216. /package/dist/core/{p-4da8ac1d.entry.js.map → p-10991f00.entry.js.map} +0 -0
  217. /package/dist/core/{p-469f14db.entry.js.map → p-bec959c4.entry.js.map} +0 -0
  218. /package/dist/core/{p-4d365881.entry.js.map → p-f75ad657.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gov-form-select.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;MAkBa,aAAa,GAAA,MAAA;AAQzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;AAmBA;;AAEG;AACc,QAAA,IAAI,CAAA,IAAA,GAAyB,GAAG;AAKjD;;;AAGG;AACc,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAK1C;;;AAGG;AAC6B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAkBhD,QAAA,IAAY,CAAA,YAAA,GAAuB,EAAE;AAyBrC,QAAA,IAAmB,CAAA,mBAAA,GAAe,EAAE;QAlF5C,IAAI,CAAC,CAAC,GAAGA,gBAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,CAAC,GAAGC,YAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACxB,QAAA,IAAI,CAAC,QAAQ,GAAGC,qBAAQ,CAAC,WAAW,CAAC;AACrC;AAyDD,IAAA,YAAY,CAAC,QAAgB,EAAA;QAC5BC,kBAAY,CAACC,oBAAe,EAAE,QAAQ,EAAEC,oBAAe,CAAC,IAAI,CAAC;;AAI9D,IAAA,YAAY,CAAC,QAAqC,EAAA;AACjD,QAAA,IAAI,CAAC,YAAY,GAAGC,6BAAiB,CAAC,QAAQ,CAAC;;IAOhD,iBAAiB,GAAA;QAChB,IAAI,CAAC,gBAAgB,EAAE;;IAIxB,UAAU,GAAA;QACT,IAAI,CAAC,iBAAiB,EAAE;;IAKjB,gBAAgB,GAAA;QACvB,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;AAC3C,QAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAEC,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAEA,mBAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAEA,mBAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC;;IAG3C,gBAAgB,GAAA;AACf,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAIC,2BAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,EAAE,QAAQ,KAAI;AACrF,YAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,QAAQ,CAAC;AACpD,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAACC,wBAAc,CAAC;;IAGtD,oBAAoB,GAAA;;QACnB,CAAA,EAAA,GAAA,IAAI,CAAC,iBAAiB,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,EAAE;;IAGxC,iBAAiB,GAAA;AAChB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,iBAAiB,EAAE;QAExB,IAAI,CAAC,YAAY,GAAGH,6BAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAGI,mCAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG5D,IAAA,MAAM,kBAAkB,GAAA;QACvB,IAAI,CAAC,gBAAgB,EAAE;AACvB,QAAA,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzDC,kBAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;;IAGrC,qBAAqB,CAAC,aAAqB,EAAE,QAAgB,EAAA;AAC5D,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;QACxC,IAAI,CAAC,mBAAmB,GAAO,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,mBAAmB,CAAE,EAAA,EAAA,CAAC,aAAa,GAAG,QAAQ,GAAC;;IAG5E,iBAAiB,GAAA;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,MAAyB,KAAI;YAC1E,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE;AAChC,gBAAA,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;;iBACrC;AACN,gBAAA,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC;;AAEpC,SAAC,CAAC;;IAGH,MAAM,GAAA;QACL,QACCC,OAAA,CAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAER,oBAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,EAChD,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAIO,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAQ,CAAA,EACxDA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACpBA,OACC,CAAA,QAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,EACpC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EACzC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,SAAS,GAAG,EAAuB,CAAC,IACjD,IAAI,CAAC,mBAAmB,EACb,EAAA,eAAA,EAAAE,4BAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAClC,eAAA,EAAAA,4BAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAA,cAAA,EACnCA,4BAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA,CAAA,EAE/CF,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACP,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;;AACrE,YAAA,QAAQA,OAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EACtE,QAAQ,EAAE,MAAM,aAAN,MAAM,KAAA,MAAA,GAAA,MAAA,GAAN,MAAM,CAAE,QAAQ,EAAG,EAAA,CAAA,EAAA,GAAA,MAAM,CAAC,KAAK,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,MAAM,CAAC,KAAK,CAAU;SACvE,CAAC,CACM,EACR,IAAI,CAAC,OAAO,IAAIA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,UAAU,EAAC,IAAI,EAAC,YAAY,EAAY,CAAA,EAC/F,IAAI,CAAC,OAAO,IAAIA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,KAAK,EAAC,iBAAiB,EAAC,IAAI,EAAC,gBAAgB,EAAC,IAAI,EAAC,YAAY,EAAY,CAAA,EACtGA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,KAAK,EAAC,YAAY,EAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAC,YAAY,EAAA,CAAY,CACxE,EACN,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAIA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAQ,CAAA,CAChD;;AAID,IAAA,cAAc,CAAC,CAAa,EAAA;AACnC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,SAAS,EAAEP,oBAAe,CAAC,IAAI;AAC/B,YAAA,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,SAAA,CAAC;;AAGK,IAAA,aAAa,CAAC,CAAa,EAAA;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YACjB,SAAS,EAAEA,oBAAe,CAAC,IAAI;AAC/B,YAAA,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,SAAA,CAAC;;AAGK,IAAA,eAAe,CAAC,CAAQ,EAAA;QAC/B,IAAI,CAAC,KAAK,GAAI,CAAC,CAAC,MAA4B,CAAC,KAAK;QAClD,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YACnB,SAAS,EAAEA,oBAAe,CAAC,IAAI;AAC/B,YAAA,aAAa,EAAE,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,SAAA,CAAC;;AAGH;;AAEG;IAEH,MAAM,QAAQ,CAAC,OAAsB,EAAA;QACpC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;;AAGrC;;AAEG;AAEH,IAAA,MAAM,MAAM,GAAA;QACX,OAAO,IAAI,CAAC,SAAS;;;;;;;;;;;;;;;","names":["govHost","govForm","createID","validateProp","FormSelectSizes","FormSelectClass","propsValueToArray","toBoolAttr","AttributeObserver","ariaAttributes","inheritAriaAttributes","tick","h","Host","toBoolAttrIfDefined"],"sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate markSelectedValue() {\n\t\tthis.host.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute('selected', 'selected')\n\t\t\t} else {\n\t\t\t\toption.removeAttribute('selected')\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-form-select.entry.cjs.js","mappings":"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","names":["govHost","govForm","createID","validateProp","FormSelectSizes","FormSelectClass","propsValueToArray","toBoolAttr","AttributeObserver","ariaAttributes","inheritAriaAttributes","h","Host","toBoolAttrIfDefined"],"sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.syncSelectValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\n\t\tthis.syncSelectValue()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate syncSelectValue() {\n\t\tif (this.selectRef && this.value !== undefined && this.selectRef.value !== this.value) {\n\t\t\tthis.selectRef.value = this.value\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"gov-form-select.entry.cjs.js","sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {tick} from \"../../../utils/stencil.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.markSelectedValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\n\t\tthis.markSelectedValue()\n\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t\ttick(() => this.markSelectedValue())\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate markSelectedValue() {\n\t\tthis.host.querySelectorAll('option').forEach((option: HTMLOptionElement) => {\n\t\t\tif (option.value === this.value) {\n\t\t\t\toption.setAttribute('selected', 'selected')\n\t\t\t} else {\n\t\t\t\toption.removeAttribute('selected')\n\t\t\t}\n\t\t})\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"names":["govHost","govForm","createID","validateProp","FormSelectSizes","FormSelectClass","propsValueToArray","toBoolAttr","AttributeObserver","ariaAttributes","inheritAriaAttributes","tick","h","Host","toBoolAttrIfDefined"],"mappings":"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"}
1
+ {"version":3,"file":"gov-form-select.entry.cjs.js","sources":["../../../packages/core/src/components/gov-form/select/gov-form-select.tsx"],"sourcesContent":["import {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from '@stencil/core'\nimport {govForm} from '../../../helpers/Dom/form'\nimport {GovForm} from '../../../helpers/Dom/form.types'\nimport {govHost, toBoolAttr, toBoolAttrIfDefined} from '../../../helpers/Dom/template'\nimport {GovHost} from '../../../helpers/Dom/template.types'\nimport {validateProp} from '../../../helpers/Validate/props'\nimport {createID} from '../../../utils/string.utils'\nimport {FormSelectClass, FormSelectSizes, FormSelectSizesType,} from './constants'\nimport {FormSelectEvent, FormSelectOption} from './gov-form-select.types'\nimport {propsValueToArray} from \"../../../utils/array.utils\";\nimport {AttributeObserver, Attributes} from \"../../../helpers/Dom/attribute\";\nimport {ariaAttributes} from \"../../../helpers/Accessibility/attributes\";\nimport {inheritAriaAttributes} from \"../../../helpers/Accessibility/accessibility\";\n\n@Component({\n\ttag: 'gov-form-select',\n})\nexport class GovFormSelect {\n\tprivate f: GovForm\n\tprivate readonly h: GovHost\n\tprivate selectRef?: HTMLSelectElement\n\tprivate attributeObserver: AttributeObserver\n\n\tprivate readonly selectId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.f = govForm(this.h)\n\t\tthis.selectId = createID('GovSelect')\n\t}\n\n\t@Element() host: HTMLGovFormSelectElement\n\t/**\n\t * Value of select\n\t */\n\t@Prop({reflect: true, mutable: true}) value: string\n\t/**\n\t * Options of select\n\t */\n\t@Prop({reflect: true, mutable: true}) options?: string | FormSelectOption[]\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'identifier'}) readonly identifier: string\n\t/**\n\t * Select’s size.\n\t */\n\t@Prop() readonly size?: FormSelectSizesType = 'm'\n\t/**\n\t * Name of the select.\n\t */\n\t@Prop() readonly name: string\n\t/**\n\t * Set whether the input is required or not. Please note that this is necessary for accessible inputs when the user is required to fill them.\n\t * When using this property you need to also set “novalidate” attribute to your form element to prevent browser from displaying its own validation errors.\n\t */\n\t@Prop() readonly required: boolean = false\n\t/**\n\t * Indicates the entered value of child form element does conform to the format expected by the application.\n\t */\n\t@Prop({reflect: true}) readonly success: boolean\n\t/**\n\t * Makes the select component disabled.\n\t * This prevents users from being able to interact with the select, and conveys its inactive state to assistive technologies.\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Indicates the entered value does not conform to the format expected by the application.\n\t */\n\t@Prop() readonly invalid: boolean\n\t/**\n\t * Emitted when the select has focus.\n\t */\n\t@Event({eventName: 'gov-focus'}) govFocus: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select loses focus.\n\t */\n\t@Event({eventName: 'gov-blur'}) govBlur: EventEmitter<FormSelectEvent>\n\t/**\n\t * Emitted when the select change value.\n\t */\n\t@Event({eventName: 'gov-change'}) govChange: EventEmitter<FormSelectEvent>\n\t@State() focused: boolean\n\t@State() optionsState: FormSelectOption[] = []\n\n\t@Watch('size')\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(FormSelectSizes, newValue, FormSelectClass.root)\n\t}\n\n\t@Watch('options')\n\twatchOptions(newValue: string | FormSelectOption[]): void {\n\t\tthis.optionsState = propsValueToArray(newValue)\n\t}\n\n\t@Watch('disabled')\n\t@Watch('invalid')\n\t@Watch('success')\n\t@Watch('size')\n\twatchControlAttrs(): void {\n\t\tthis.passControlAttrs()\n\t}\n\n\t@Watch('value')\n\twatchValue(): void {\n\t\tthis.syncSelectValue()\n\t}\n\n\t@State() inheritedAttributes: Attributes = {}\n\n\tprivate passControlAttrs() {\n\t\tthis.f.passAttrToControl('size', this.size)\n\t\tthis.f.passAttrToControl('invalid', toBoolAttr(this.invalid))\n\t\tthis.f.passAttrToControl('success', toBoolAttr(this.success))\n\t\tthis.f.passAttrToControl('disabled', toBoolAttr(this.disabled))\n\t\tthis.f.passAttrToControl('type', 'select')\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis.attributeObserver = new AttributeObserver(this.host, (attributeName, newValue) => {\n\t\t\tthis.onAriaAttributeChange(attributeName, newValue);\n\t\t});\n\n\t\tthis.attributeObserver.startObserving(ariaAttributes);\n\n\t\tthis.syncSelectValue()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.attributeObserver?.stopObserving();\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.validateSize(this.size)\n\t\tthis.optionsState = propsValueToArray(this.options)\n\t\tthis.inheritedAttributes = inheritAriaAttributes(this.host);\n\t}\n\n\tasync componentDidRender() {\n\t\tthis.passControlAttrs()\n\t\tthis.f.passAttrToLabel('required', String(this.required))\n\t}\n\n\tonAriaAttributeChange(attributeName: string, newValue: string) {\n\t\tthis.host.removeAttribute(attributeName)\n\t\tthis.inheritedAttributes = {...this.inheritedAttributes, [attributeName]: newValue};\n\t}\n\n\tprivate syncSelectValue() {\n\t\tif (this.selectRef && this.value !== undefined && this.selectRef.value !== this.value) {\n\t\t\tthis.selectRef.value = this.value\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={FormSelectClass.root} size={this.size}>\n\t\t\t\t{this.h.hasSlot('prefix') && <slot name=\"prefix\"></slot>}\n\t\t\t\t<span class=\"element\">\n\t\t\t\t\t<select\n\t\t\t\t\t\tid={this.identifier || this.selectId}\n\t\t\t\t\t\tonFocus={this.onFocusHandler.bind(this)}\n\t\t\t\t\t\tonChange={this.onChangeHandler.bind(this)}\n\t\t\t\t\t\tonBlur={this.onBlurHandler.bind(this)}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\tname={this.name}\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\tref={el => (this.selectRef = el as HTMLSelectElement)}\n\t\t\t\t\t\t{...this.inheritedAttributes}\n\t\t\t\t\t\taria-disabled={toBoolAttrIfDefined(this.disabled)}\n\t\t\t\t\t\taria-required={toBoolAttrIfDefined(this.required)}\n\t\t\t\t\t\taria-invalid={toBoolAttrIfDefined(this.invalid)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t{Array.isArray(this.optionsState) && this.optionsState.map((option) => {\n\t\t\t\t\t\t\treturn (<option value={option.value} selected={option.value === this.value}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={option?.disabled}>{option.label ?? option.value}</option>)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</select>\n\t\t\t\t\t{this.success && <gov-icon class=\"validation-icon\" name=\"check-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t{this.invalid && <gov-icon class=\"validation-icon\" name=\"exclamation-lg\" type=\"components\"></gov-icon>}\n\t\t\t\t\t<gov-icon class=\"arrow-icon\" name=\"chevron-down\" type=\"components\"></gov-icon>\n\t\t\t\t</span>\n\t\t\t\t{this.h.hasSlot('sufix') && <slot name=\"sufix\"></slot>}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onFocusHandler(e: FocusEvent) {\n\t\tthis.focused = true\n\t\tthis.govFocus.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onBlurHandler(e: FocusEvent) {\n\t\tthis.focused = false\n\t\tthis.govBlur.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\tprivate onChangeHandler(e: Event) {\n\t\tthis.value = (e.target as HTMLSelectElement).value\n\t\te.stopPropagation()\n\t\tthis.govChange.emit({\n\t\t\tcomponent: FormSelectClass.root,\n\t\t\toriginalEvent: e,\n\t\t\tvalue: this.value,\n\t\t})\n\t}\n\n\t/**\n\t * Returns the current state of the component\n\t */\n\t@Method()\n\tasync setFocus(options?: FocusOptions): Promise<void> {\n\t\treturn this.selectRef.focus(options)\n\t}\n\n\t/**\n\t * Returns an instance of the native html select element\n\t */\n\t@Method()\n\tasync getRef(): Promise<HTMLSelectElement> {\n\t\treturn this.selectRef\n\t}\n}\n"],"names":["govHost","govForm","createID","validateProp","FormSelectSizes","FormSelectClass","propsValueToArray","toBoolAttr","AttributeObserver","ariaAttributes","inheritAriaAttributes","h","Host","toBoolAttrIfDefined"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gov-tooltip.gov-tooltip-content.entry.cjs.js","sources":["../../../packages/core/src/components/gov-tooltip/constants.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip-content.tsx"],"sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { Sizes } from '../../core/constants/sizes'\nimport { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils'\n\nexport const TooltipColors = pick(Colors, ['PRIMARY', 'NEUTRAL'])\nexport type TooltipColorType = `${ValueOf<typeof TooltipColors>}`\n\nexport const TooltipSize = pick(Sizes, ['_S', '_M', '_L'])\nexport type TooltipSizeType = `${ValueOf<typeof TooltipSize>}`\n\nexport enum TooltipPosition {\n\tTOP = 'top',\n\tRIGHT = 'right',\n\tBOTTOM = 'bottom',\n\tLEFT = 'left',\n}\nexport type TooltipPositionType = `${ValueOf<typeof TooltipPosition>}`\n\nexport const TooltipClass = {\n\troot: 'gov-tooltip',\n}\n\nexport const TooltipContentClass = {\n\troot: 'gov-tooltip-content',\n}\n","import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.message\n\t\t\t} else if (this.insideContent) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.insideContent.innerHTML\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tcontent.innerHTML = this.message\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n","import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\"\nimport { TooltipContentClass, TooltipSize, TooltipSizeType, TooltipColors, TooltipColorType } from \"./constants\"\nimport { toBoolAttr } from \"../../helpers/Dom/template\"\n\n@Component({\n\ttag: \"gov-tooltip-content\",\n})\nexport class GovTooltipContent {\n\tprivate timeout\n\n\t@Element() host: HTMLGovTooltipContentElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip is still visible.\n\t */\n\t@Prop() persist?: boolean = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"is-visible\", mutable: true }) isVisible = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"parent-id\" }) parentId: string = null\n\n\t@Watch(\"isVisible\")\n\tvisibleContent(newValue: boolean): void {\n\t\tclearTimeout(this.timeout)\n\t\tif (newValue === false) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.style.visibility = \"hidden\"\n\t\t\t}, 250)\n\t\t} else {\n\t\t\tthis.host.style.visibility = \"visible\"\n\t\t}\n\t}\n\n\thideContent() {\n\t\tthis.isVisible = false\n\t\tthis.persist = false\n\t\tconst parentEl = document.getElementById(this.parentId) as HTMLGovTooltipElement\n\t\tif (parentEl) {\n\t\t\tparentEl.hide().catch()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={TooltipContentClass.root}\n\t\t\t\trole={\"tooltip\"}\n\t\t\t\thidden={!this.isVisible}\n\t\t\t\taria-hidden={!toBoolAttr(this.isVisible)}\n\t\t\t\tis-visible={this.isVisible}>\n\t\t\t\t<slot></slot>\n\t\t\t\t{this.persist ? (\n\t\t\t\t\t<gov-button\n\t\t\t\t\t\ton-gov-click={this.hideContent.bind(this)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={\"base\"}>\n\t\t\t\t\t\t<gov-icon slot={\"icon-start\"} name={\"x-lg\"} type={\"components\"}></gov-icon>\n\t\t\t\t\t</gov-button>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"names":["pick","Colors","Sizes","govHost","createID","validateProp","documentNode","tick","h","Host","toBoolAttr"],"mappings":"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"}
1
+ {"version":3,"file":"gov-tooltip.gov-tooltip-content.entry.cjs.js","sources":["../../../packages/core/src/components/gov-tooltip/constants.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip-content.tsx"],"sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { Sizes } from '../../core/constants/sizes'\nimport { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils'\n\nexport const TooltipColors = pick(Colors, ['PRIMARY', 'NEUTRAL'])\nexport type TooltipColorType = `${ValueOf<typeof TooltipColors>}`\n\nexport const TooltipSize = pick(Sizes, ['_S', '_M', '_L'])\nexport type TooltipSizeType = `${ValueOf<typeof TooltipSize>}`\n\nexport enum TooltipPosition {\n\tTOP = 'top',\n\tRIGHT = 'right',\n\tBOTTOM = 'bottom',\n\tLEFT = 'left',\n}\nexport type TooltipPositionType = `${ValueOf<typeof TooltipPosition>}`\n\nexport const TooltipClass = {\n\troot: 'gov-tooltip',\n}\n\nexport const TooltipContentClass = {\n\troot: 'gov-tooltip-content',\n}\n","import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.resizeObserver?.disconnect()\n\t\tthis.resizeObserver = undefined\n\t\twindow.removeEventListener(\"resize\", this.reposition)\n\t\tthis.repositionListenersAttached = false\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message != null) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"message\", this.message)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tif (this.message != null) {\n\t\t\t\tcontent.setAttribute(\"message\", this.message)\n\t\t\t}\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate resizeObserver?: ResizeObserver\n\tprivate repositionListenersAttached = false\n\tprivate readonly reposition = () => {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.verifyPositionSpace()\n\t\t}\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t\tif (!this.repositionListenersAttached) {\n\t\t\t\tthis.repositionListenersAttached = true\n\t\t\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\t\t\tthis.resizeObserver = new ResizeObserver(this.reposition)\n\t\t\t\t\tthis.resizeObserver.observe(this.tooltipContent)\n\t\t\t\t}\n\t\t\t\twindow.addEventListener(\"resize\", this.reposition)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t\tthis.resizeObserver?.disconnect()\n\t\tthis.resizeObserver = undefined\n\t\twindow.removeEventListener(\"resize\", this.reposition)\n\t\tthis.repositionListenersAttached = false\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n","import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\"\nimport { TooltipContentClass, TooltipSize, TooltipSizeType, TooltipColors, TooltipColorType } from \"./constants\"\nimport { toBoolAttr } from \"../../helpers/Dom/template\"\n\n@Component({\n\ttag: \"gov-tooltip-content\",\n})\nexport class GovTooltipContent {\n\tprivate timeout\n\n\t@Element() host: HTMLGovTooltipContentElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip is still visible.\n\t */\n\t@Prop() persist?: boolean = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"is-visible\", mutable: true }) isVisible = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"parent-id\" }) parentId: string = null\n\t/**\n\t * Tooltip text. When set, renders the HTML message; otherwise the default `<slot/>` is used.\n\t */\n\t@Prop({ attribute: \"message\", mutable: true }) message?: string\n\n\t@Watch(\"isVisible\")\n\tvisibleContent(newValue: boolean): void {\n\t\tclearTimeout(this.timeout)\n\t\tif (newValue === false) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.style.visibility = \"hidden\"\n\t\t\t}, 250)\n\t\t} else {\n\t\t\tthis.host.style.visibility = \"visible\"\n\t\t}\n\t}\n\n\thideContent() {\n\t\tthis.isVisible = false\n\t\tthis.persist = false\n\t\tconst parentEl = document.getElementById(this.parentId) as HTMLGovTooltipElement\n\t\tif (parentEl) {\n\t\t\tparentEl.hide().catch()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={TooltipContentClass.root}\n\t\t\t\trole={\"tooltip\"}\n\t\t\t\thidden={!this.isVisible}\n\t\t\t\taria-hidden={!toBoolAttr(this.isVisible)}\n\t\t\t\tis-visible={this.isVisible}>\n\t\t\t\t{this.message\n\t\t\t\t\t? <span class=\"gov-tooltip-content__message\" innerHTML={this.message}></span>\n\t\t\t\t\t: <slot></slot>}\n\t\t\t\t{this.persist ? (\n\t\t\t\t\t<gov-button\n\t\t\t\t\t\ton-gov-click={this.hideContent.bind(this)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={\"base\"}>\n\t\t\t\t\t\t<gov-icon slot={\"icon-start\"} name={\"x-lg\"} type={\"components\"}></gov-icon>\n\t\t\t\t\t</gov-button>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"names":["pick","Colors","Sizes","govHost","createID","validateProp","documentNode","tick","h","Host","toBoolAttr"],"mappings":"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"}
@@ -52,6 +52,12 @@ const GovTooltip = class {
52
52
  */
53
53
  this.icon = undefined;
54
54
  this.persist = false;
55
+ this.repositionListenersAttached = false;
56
+ this.reposition = () => {
57
+ if (this.tooltipContent) {
58
+ this.verifyPositionSpace();
59
+ }
60
+ };
55
61
  this.h = template.govHost(this.host);
56
62
  this.tooltipId = string_utils.createID("GovTooltip");
57
63
  this.tooltipContentId = string_utils.createID("GovContentTooltip");
@@ -81,16 +87,18 @@ const GovTooltip = class {
81
87
  this.createContentWrapper();
82
88
  }
83
89
  disconnectedCallback() {
90
+ var _a;
91
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
92
+ this.resizeObserver = undefined;
93
+ window.removeEventListener("resize", this.reposition);
94
+ this.repositionListenersAttached = false;
84
95
  this.removeContent();
85
96
  }
86
97
  createContentWrapper() {
87
98
  var _a;
88
99
  if (this.tooltipContent) {
89
- if (this.message) {
90
- this.tooltipContent.innerHTML = this.message;
91
- }
92
- else if (this.insideContent) {
93
- this.tooltipContent.innerHTML = this.insideContent.innerHTML;
100
+ if (this.message != null) {
101
+ this.tooltipContent.setAttribute("message", this.message);
94
102
  }
95
103
  return;
96
104
  }
@@ -100,7 +108,9 @@ const GovTooltip = class {
100
108
  }
101
109
  else {
102
110
  content = gov_log.documentNode().createElement(TooltipContentClass.root);
103
- content.innerHTML = this.message;
111
+ if (this.message != null) {
112
+ content.setAttribute("message", this.message);
113
+ }
104
114
  }
105
115
  content.setAttribute("id", (_a = this.identifier) !== null && _a !== void 0 ? _a : this.tooltipContentId);
106
116
  content.setAttribute("parent-id", this.tooltipId);
@@ -215,14 +225,27 @@ const GovTooltip = class {
215
225
  stencil_utils.tick(() => {
216
226
  this.verifyPositionSpace();
217
227
  });
228
+ if (!this.repositionListenersAttached) {
229
+ this.repositionListenersAttached = true;
230
+ if (typeof ResizeObserver !== "undefined") {
231
+ this.resizeObserver = new ResizeObserver(this.reposition);
232
+ this.resizeObserver.observe(this.tooltipContent);
233
+ }
234
+ window.addEventListener("resize", this.reposition);
235
+ }
218
236
  }
219
237
  }
220
238
  hideTooltip() {
239
+ var _a;
221
240
  if (this.tooltipContent) {
222
241
  this.tooltipContent.setAttribute("is-visible", "false");
223
242
  this.tooltipContent.setAttribute("persist", "false");
224
243
  this.tooltipContent.removeAttribute('style');
225
244
  }
245
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
246
+ this.resizeObserver = undefined;
247
+ window.removeEventListener("resize", this.reposition);
248
+ this.repositionListenersAttached = false;
226
249
  }
227
250
  removeContent() {
228
251
  const contentEl = document.getElementById(this.tooltipContentId);
@@ -232,11 +255,11 @@ const GovTooltip = class {
232
255
  }
233
256
  render() {
234
257
  var _a;
235
- return (index.h(index.Host, { key: 'dd78d93d3b5ba4bc3a128435f58467c9bd6def43', id: this.tooltipId, class: this.h.classes(TooltipClass.root), position: this.position }, index.h("span", { key: '2ede8642a4cf998367da3756c795847195c0f694', role: 'button', tabindex: 0, onKeyPress: () => this.showTooltip(), onBlur: () => {
258
+ return (index.h(index.Host, { key: '20ebe5eea59967e8681fd0e35fc7aff53b5915dd', id: this.tooltipId, class: this.h.classes(TooltipClass.root), position: this.position }, index.h("span", { key: '847b78886907d683425013227eb78bbf9261b709', role: 'button', tabindex: 0, onKeyPress: () => this.showTooltip(), onBlur: () => {
236
259
  if (this.persist === false) {
237
260
  this.hideTooltip();
238
261
  }
239
- }, "aria-describedby": (_a = this.identifier) !== null && _a !== void 0 ? _a : this.tooltipContentId }, index.h("slot", { key: '9607b4c9b24766f70b53c6372e6e7219e7a3a6fd' }))));
262
+ }, "aria-describedby": (_a = this.identifier) !== null && _a !== void 0 ? _a : this.tooltipContentId }, index.h("slot", { key: '84c4c02ee11e05166fca208b82ef54298dcaa6ee' }))));
240
263
  }
241
264
  /**
242
265
  * Showing the modal
@@ -304,7 +327,9 @@ const GovTooltipContent = class {
304
327
  }
305
328
  }
306
329
  render() {
307
- return (index.h(index.Host, { key: '71d259cc8d7247030767f8ac36a6875f9c16ffea', class: TooltipContentClass.root, role: "tooltip", hidden: !this.isVisible, "aria-hidden": !template.toBoolAttr(this.isVisible), "is-visible": this.isVisible }, index.h("slot", { key: '06d883340271717da9d0b8de6c35339cd5c9dfb9' }), this.persist ? (index.h("gov-button", { "on-gov-click": this.hideContent.bind(this), color: this.color, size: this.size, type: "base" }, index.h("gov-icon", { slot: "icon-start", name: "x-lg", type: "components" }))) : null));
330
+ return (index.h(index.Host, { key: '121b5cd3878956618a7a917511e6d8d76edf6672', class: TooltipContentClass.root, role: "tooltip", hidden: !this.isVisible, "aria-hidden": !template.toBoolAttr(this.isVisible), "is-visible": this.isVisible }, this.message
331
+ ? index.h("span", { class: "gov-tooltip-content__message", innerHTML: this.message })
332
+ : index.h("slot", null), this.persist ? (index.h("gov-button", { "on-gov-click": this.hideContent.bind(this), color: this.color, size: this.size, type: "base" }, index.h("gov-icon", { slot: "icon-start", name: "x-lg", type: "components" }))) : null));
308
333
  }
309
334
  get host() { return index.getElement(this); }
310
335
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"gov-tooltip.gov-tooltip-content.entry.cjs.js","mappings":"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","names":["pick","Colors","Sizes","govHost","createID","validateProp","documentNode","tick","h","Host","toBoolAttr"],"sources":["../../../packages/core/src/components/gov-tooltip/constants.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip-content.tsx"],"sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { Sizes } from '../../core/constants/sizes'\nimport { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils'\n\nexport const TooltipColors = pick(Colors, ['PRIMARY', 'NEUTRAL'])\nexport type TooltipColorType = `${ValueOf<typeof TooltipColors>}`\n\nexport const TooltipSize = pick(Sizes, ['_S', '_M', '_L'])\nexport type TooltipSizeType = `${ValueOf<typeof TooltipSize>}`\n\nexport enum TooltipPosition {\n\tTOP = 'top',\n\tRIGHT = 'right',\n\tBOTTOM = 'bottom',\n\tLEFT = 'left',\n}\nexport type TooltipPositionType = `${ValueOf<typeof TooltipPosition>}`\n\nexport const TooltipClass = {\n\troot: 'gov-tooltip',\n}\n\nexport const TooltipContentClass = {\n\troot: 'gov-tooltip-content',\n}\n","import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.message\n\t\t\t} else if (this.insideContent) {\n\t\t\t\tthis.tooltipContent.innerHTML = this.insideContent.innerHTML\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tcontent.innerHTML = this.message\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n","import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\"\nimport { TooltipContentClass, TooltipSize, TooltipSizeType, TooltipColors, TooltipColorType } from \"./constants\"\nimport { toBoolAttr } from \"../../helpers/Dom/template\"\n\n@Component({\n\ttag: \"gov-tooltip-content\",\n})\nexport class GovTooltipContent {\n\tprivate timeout\n\n\t@Element() host: HTMLGovTooltipContentElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip is still visible.\n\t */\n\t@Prop() persist?: boolean = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"is-visible\", mutable: true }) isVisible = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"parent-id\" }) parentId: string = null\n\n\t@Watch(\"isVisible\")\n\tvisibleContent(newValue: boolean): void {\n\t\tclearTimeout(this.timeout)\n\t\tif (newValue === false) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.style.visibility = \"hidden\"\n\t\t\t}, 250)\n\t\t} else {\n\t\t\tthis.host.style.visibility = \"visible\"\n\t\t}\n\t}\n\n\thideContent() {\n\t\tthis.isVisible = false\n\t\tthis.persist = false\n\t\tconst parentEl = document.getElementById(this.parentId) as HTMLGovTooltipElement\n\t\tif (parentEl) {\n\t\t\tparentEl.hide().catch()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={TooltipContentClass.root}\n\t\t\t\trole={\"tooltip\"}\n\t\t\t\thidden={!this.isVisible}\n\t\t\t\taria-hidden={!toBoolAttr(this.isVisible)}\n\t\t\t\tis-visible={this.isVisible}>\n\t\t\t\t<slot></slot>\n\t\t\t\t{this.persist ? (\n\t\t\t\t\t<gov-button\n\t\t\t\t\t\ton-gov-click={this.hideContent.bind(this)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={\"base\"}>\n\t\t\t\t\t\t<gov-icon slot={\"icon-start\"} name={\"x-lg\"} type={\"components\"}></gov-icon>\n\t\t\t\t\t</gov-button>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-tooltip.gov-tooltip-content.entry.cjs.js","mappings":"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","names":["pick","Colors","Sizes","govHost","createID","validateProp","documentNode","tick","h","Host","toBoolAttr"],"sources":["../../../packages/core/src/components/gov-tooltip/constants.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip.tsx","../../../packages/core/src/components/gov-tooltip/gov-tooltip-content.tsx"],"sourcesContent":["import { Colors } from '../../core/constants/colors'\nimport { Sizes } from '../../core/constants/sizes'\nimport { ValueOf } from '../../types/interfaces'\nimport { pick } from '../../utils/utils'\n\nexport const TooltipColors = pick(Colors, ['PRIMARY', 'NEUTRAL'])\nexport type TooltipColorType = `${ValueOf<typeof TooltipColors>}`\n\nexport const TooltipSize = pick(Sizes, ['_S', '_M', '_L'])\nexport type TooltipSizeType = `${ValueOf<typeof TooltipSize>}`\n\nexport enum TooltipPosition {\n\tTOP = 'top',\n\tRIGHT = 'right',\n\tBOTTOM = 'bottom',\n\tLEFT = 'left',\n}\nexport type TooltipPositionType = `${ValueOf<typeof TooltipPosition>}`\n\nexport const TooltipClass = {\n\troot: 'gov-tooltip',\n}\n\nexport const TooltipContentClass = {\n\troot: 'gov-tooltip-content',\n}\n","import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tTooltipClass,\n\tTooltipContentClass,\n\tTooltipPosition,\n\tTooltipPositionType,\n\tTooltipSize,\n\tTooltipSizeType,\n\tTooltipColors,\n\tTooltipColorType,\n} from \"./constants\"\nimport {createID} from \"../../utils/string.utils\"\nimport {govHost} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {documentNode} from \"../../helpers/Dom/win\";\nimport {Nullable} from \"../../utils/helpers.types\";\nimport {tick} from \"../../utils/stencil.utils\";\n\n@Component({\n\ttag: \"gov-tooltip\",\n})\nexport class GovTooltip {\n\tprivate h: GovHost\n\tprivate readonly tooltipContentId = undefined\n\tprivate readonly tooltipId = undefined\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.tooltipId = createID(\"GovTooltip\")\n\t\tthis.tooltipContentId = createID(\"GovContentTooltip\")\n\t}\n\n\t@Element() host: HTMLGovTooltipElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip display position\n\t */\n\t@Prop({mutable: true}) position: TooltipPositionType = \"right\"\n\t/**\n\t * Information contained in the tooltip\n\t */\n\t@Prop() readonly message: string = undefined\n\t/**\n\t * Custom tooltip identifier.\n\t */\n\t@Prop({attribute: \"identifier\"}) readonly identifier: string\n\t/**\n\t * Trigger is just an icon\n\t */\n\t@Prop({reflect: true}) readonly icon: boolean = undefined\n\n\t@State() persist = false\n\n\t@Watch(\"color\")\n\tvalidateColor(newValue: string): void {\n\t\tvalidateProp(TooltipColors, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(TooltipSize, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"position\")\n\tvalidatePosition(newValue: string): void {\n\t\tvalidateProp(TooltipPosition, newValue, TooltipClass.root)\n\t}\n\n\t@Watch(\"message\")\n\trerenderMessage(): void {\n\t\tthis.createContentWrapper();\n\t}\n\n\tconnectedCallback() {\n\t\tthis.createContentWrapper()\n\t\tthis.registerListeners()\n\t}\n\n\tcomponentWillLoad(): void {\n\t\tthis.validateColor(this.color)\n\t\tthis.validateSize(this.size)\n\t\tthis.validatePosition(this.position)\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.createContentWrapper()\n\t}\n\n\tdisconnectedCallback() {\n\t\tthis.resizeObserver?.disconnect()\n\t\tthis.resizeObserver = undefined\n\t\twindow.removeEventListener(\"resize\", this.reposition)\n\t\tthis.repositionListenersAttached = false\n\t\tthis.removeContent()\n\t}\n\n\tprivate createContentWrapper() {\n\t\tif (this.tooltipContent) {\n\t\t\tif (this.message != null) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"message\", this.message)\n\t\t\t}\n\t\t\treturn\n\t\t}\n\n\t\tlet content: HTMLGovTooltipContentElement;\n\t\tif (this.insideContent) {\n\t\t\tcontent = this.insideContent\n\t\t} else {\n\t\t\tcontent = documentNode().createElement(TooltipContentClass.root) as HTMLGovTooltipContentElement\n\t\t\tif (this.message != null) {\n\t\t\t\tcontent.setAttribute(\"message\", this.message)\n\t\t\t}\n\t\t}\n\n\t\tcontent.setAttribute(\"id\", this.identifier ?? this.tooltipContentId)\n\t\tcontent.setAttribute(\"parent-id\", this.tooltipId)\n\t\tcontent.setAttribute(\"color\", this.color)\n\t\tcontent.setAttribute(\"size\", this.size)\n\t\tdocumentNode().body.appendChild(content)\n\t}\n\n\tprivate get tooltipContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn documentNode().body.querySelector(`#${this.identifier ?? this.tooltipContentId}`);\n\t}\n\n\tprivate get insideContent(): Nullable<HTMLGovTooltipContentElement> {\n\t\treturn this.host.querySelector(TooltipContentClass.root)\n\t}\n\n\tprivate registerListeners() {\n\t\tthis.host.addEventListener(\"click\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.persist = true\n\t\t\tif (this.tooltipContent) {\n\t\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"true\")\n\t\t\t}\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseenter\", e => {\n\t\t\te.preventDefault()\n\t\t\tthis.showTooltip()\n\t\t})\n\t\tthis.host.addEventListener(\"mouseleave\", e => {\n\t\t\te.preventDefault()\n\t\t\tif (this.persist === false) {\n\t\t\t\tthis.hideTooltip()\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate verifyPositionSpace() {\n\t\tconst offset = 12\n\t\tconst windowWidth = window.innerWidth - (window.innerWidth - document.documentElement.clientWidth);\n\t\tconst trigger = this.host.getBoundingClientRect()\n\t\tconst trgWidth = this.host.offsetWidth\n\t\tconst trgHeight = this.host.offsetHeight\n\t\tconst contentWidth = this.tooltipContent.offsetWidth\n\t\tconst contentHeight = this.tooltipContent.offsetHeight\n\t\tconst triggerPos = {\n\t\t\tleft: trigger.left + document.documentElement.scrollLeft,\n\t\t\ttop: trigger.top + document.documentElement.scrollTop,\n\t\t}\n\n\t\tconst isRightSpace = ((triggerPos.left + offset + trigger.width) + contentWidth) <= windowWidth;\n\t\tconst isLeftSpace = triggerPos.left > contentWidth;\n\n\t\t// LEFT/RIGHT\n\t\tif (this.position === TooltipPosition.LEFT || this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - ((contentHeight - trgHeight) / 2)) + \"px\";\n\t\t\tif (isRightSpace === false && isLeftSpace === false) {\n\t\t\t\tthis.position = TooltipPosition.TOP\n\t\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\t}\n\t\t\tif (isLeftSpace && isRightSpace === false && this.position === TooltipPosition.RIGHT) {\n\t\t\t\tthis.position = TooltipPosition.LEFT\n\t\t\t}\n\t\t\tif (isRightSpace && isLeftSpace === false && this.position === TooltipPosition.LEFT) {\n\t\t\t\tthis.position = TooltipPosition.RIGHT\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.RIGHT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.RIGHT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left + offset + trigger.width) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.LEFT) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.LEFT)\n\t\t\tthis.tooltipContent.style.left = (triggerPos.left - (contentWidth + offset)) + \"px\"\n\t\t}\n\n\t\t// LEFT/RIGHT FOR TOP/BOTTOM\n\t\tif (this.position === TooltipPosition.TOP || this.position === TooltipPosition.BOTTOM) {\n\t\t\tif (contentWidth > trgWidth) {\n\t\t\t\tlet leftPosition = (triggerPos.left - ((contentWidth - trgWidth) / 2));\n\t\t\t\tconst isNotLeftSpace = leftPosition < 0;\n\t\t\t\tconst isNotRightSpace = (leftPosition + contentWidth) > windowWidth;\n\t\t\t\tif (isNotLeftSpace && isNotRightSpace) {\n\t\t\t\t\tthis.tooltipContent.style.width = \"auto\";\n\t\t\t\t\tthis.tooltipContent.style.left = offset + \"px\";\n\t\t\t\t\tthis.tooltipContent.style.right = offset + \"px\";\n\t\t\t\t} else {\n\t\t\t\t\tif (isNotLeftSpace) {\n\t\t\t\t\t\tleftPosition = offset\n\t\t\t\t\t}\n\t\t\t\t\tif (isNotRightSpace) {\n\t\t\t\t\t\tleftPosition = leftPosition - ((windowWidth - (leftPosition + contentWidth + offset)) * -1)\n\t\t\t\t\t}\n\t\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst leftPosition = (triggerPos.left + ((trgWidth - contentWidth) / 2))\n\n\t\t\t\tthis.tooltipContent.style.left = leftPosition + \"px\"\n\t\t\t}\n\t\t}\n\t\tif (this.position === TooltipPosition.TOP) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.TOP)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top - (contentHeight + offset)) + \"px\"\n\t\t}\n\t\tif (this.position === TooltipPosition.BOTTOM) {\n\t\t\tthis.tooltipContent.setAttribute(\"position\", TooltipPosition.BOTTOM)\n\t\t\tthis.tooltipContent.style.top = (triggerPos.top + (trgHeight + offset)) + \"px\"\n\t\t}\n\n\t\tthis.tooltipContent.style.opacity = '1'\n\n\t}\n\n\tprivate resizeObserver?: ResizeObserver\n\tprivate repositionListenersAttached = false\n\tprivate readonly reposition = () => {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.verifyPositionSpace()\n\t\t}\n\t}\n\n\tprivate showTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.style.opacity = '0'\n\t\t\tthis.tooltipContent.hidden = false\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"true\")\n\t\t\ttick(() => {\n\t\t\t\tthis.verifyPositionSpace()\n\t\t\t})\n\t\t\tif (!this.repositionListenersAttached) {\n\t\t\t\tthis.repositionListenersAttached = true\n\t\t\t\tif (typeof ResizeObserver !== \"undefined\") {\n\t\t\t\t\tthis.resizeObserver = new ResizeObserver(this.reposition)\n\t\t\t\t\tthis.resizeObserver.observe(this.tooltipContent)\n\t\t\t\t}\n\t\t\t\twindow.addEventListener(\"resize\", this.reposition)\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate hideTooltip() {\n\t\tif (this.tooltipContent) {\n\t\t\tthis.tooltipContent.setAttribute(\"is-visible\", \"false\")\n\t\t\tthis.tooltipContent.setAttribute(\"persist\", \"false\")\n\t\t\tthis.tooltipContent.removeAttribute('style')\n\t\t}\n\t\tthis.resizeObserver?.disconnect()\n\t\tthis.resizeObserver = undefined\n\t\twindow.removeEventListener(\"resize\", this.reposition)\n\t\tthis.repositionListenersAttached = false\n\t}\n\n\tprivate removeContent() {\n\t\tconst contentEl = document.getElementById(this.tooltipContentId)\n\t\tif (contentEl) {\n\t\t\tcontentEl.remove()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tid={this.tooltipId}\n\t\t\t\tclass={this.h.classes(TooltipClass.root)}\n\t\t\t\tposition={this.position}>\n\t\t\t\t<span role={'button'}\n\t\t\t\t\t\t\ttabindex={0}\n\t\t\t\t\t\t\tonKeyPress={() => this.showTooltip()}\n\t\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\t\tif (this.persist === false) {\n\t\t\t\t\t\t\t\t\tthis.hideTooltip()\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-describedby={this.identifier ?? this.tooltipContentId}><slot/></span>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showTooltip()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.persist = false\n\t\tthis.hideTooltip()\n\t}\n}\n","import { Component, Element, h, Host, Prop, Watch } from \"@stencil/core\"\nimport { TooltipContentClass, TooltipSize, TooltipSizeType, TooltipColors, TooltipColorType } from \"./constants\"\nimport { toBoolAttr } from \"../../helpers/Dom/template\"\n\n@Component({\n\ttag: \"gov-tooltip-content\",\n})\nexport class GovTooltipContent {\n\tprivate timeout\n\n\t@Element() host: HTMLGovTooltipContentElement\n\t/**\n\t * Style variation of the tooltip\n\t */\n\t@Prop() readonly color?: TooltipColorType = TooltipColors.PRIMARY\n\t/**\n\t * Tooltip’s size.\n\t */\n\t@Prop() readonly size?: TooltipSizeType = TooltipSize._M\n\t/**\n\t * Tooltip is still visible.\n\t */\n\t@Prop() persist?: boolean = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"is-visible\", mutable: true }) isVisible = false\n\t/**\n\t * Indicates display of tooltip content\n\t */\n\t@Prop({ attribute: \"parent-id\" }) parentId: string = null\n\t/**\n\t * Tooltip text. When set, renders the HTML message; otherwise the default `<slot/>` is used.\n\t */\n\t@Prop({ attribute: \"message\", mutable: true }) message?: string\n\n\t@Watch(\"isVisible\")\n\tvisibleContent(newValue: boolean): void {\n\t\tclearTimeout(this.timeout)\n\t\tif (newValue === false) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.host.style.visibility = \"hidden\"\n\t\t\t}, 250)\n\t\t} else {\n\t\t\tthis.host.style.visibility = \"visible\"\n\t\t}\n\t}\n\n\thideContent() {\n\t\tthis.isVisible = false\n\t\tthis.persist = false\n\t\tconst parentEl = document.getElementById(this.parentId) as HTMLGovTooltipElement\n\t\tif (parentEl) {\n\t\t\tparentEl.hide().catch()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={TooltipContentClass.root}\n\t\t\t\trole={\"tooltip\"}\n\t\t\t\thidden={!this.isVisible}\n\t\t\t\taria-hidden={!toBoolAttr(this.isVisible)}\n\t\t\t\tis-visible={this.isVisible}>\n\t\t\t\t{this.message\n\t\t\t\t\t? <span class=\"gov-tooltip-content__message\" innerHTML={this.message}></span>\n\t\t\t\t\t: <slot></slot>}\n\t\t\t\t{this.persist ? (\n\t\t\t\t\t<gov-button\n\t\t\t\t\t\ton-gov-click={this.hideContent.bind(this)}\n\t\t\t\t\t\tcolor={this.color}\n\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\ttype={\"base\"}>\n\t\t\t\t\t\t<gov-icon slot={\"icon-start\"} name={\"x-lg\"} type={\"components\"}></gov-icon>\n\t\t\t\t\t</gov-button>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
@@ -59,8 +59,8 @@ const GovWizardItem = class {
59
59
  render() {
60
60
  const triggerId = this.identifier || this.triggerId;
61
61
  const Tag = this.collapsible ? Tags.BUTTON : Tags.DIV;
62
- const prefixSlot = this.h.hasSlot("prefix") && (index.h("span", { key: '10144e93de98bf60873fa6c244c4129b040b8bae', class: constants.WizardItemClass.prefix }, index.h("slot", { key: 'a946028d94e0c159cf4c91fa1773467c8203a5f2', name: "prefix" })));
63
- return (index.h(index.Host, { key: 'f33ced4d5d8f57bec50cc8ebce6f12cf2145833d', class: this.h.classes(constants.WizardItemClass.root), "is-expanded": this.isExpanded, color: this.color, size: this.size, role: "listitem", collapsible: this.collapsible, hydrated: this.hydrated }, index.h("div", { key: '872e3e164b4cca4955c2ba4cf0a2d88563f50fc5', class: constants.WizardItemClass.header }, prefixSlot, this.collapsible ? (index.h(Tag, { id: triggerId, class: this.h.classes(constants.WizardItemClass.label), "aria-expanded": template.booleanString(this.isExpanded), "aria-controls": this.contentId, disabled: this.disabled, "aria-disabled": template.toBoolAttrIfDefined(this.disabled), onClick: (e) => {
62
+ const prefixSlot = this.h.hasSlot("prefix") && (index.h("span", { key: '3f00516020337fc142713c6edb468d0007eba3c5', class: constants.WizardItemClass.prefix }, index.h("slot", { key: '05aa42bc8241f53bb3664dc3d06798cb0344f92f', name: "prefix" })));
63
+ return (index.h(index.Host, { key: '863700f5087e86d1f8d4e22b40108dfbc0cb96f5', class: this.h.classes(constants.WizardItemClass.root), "is-expanded": this.isExpanded, color: this.color, size: this.size, role: "listitem", collapsible: this.collapsible, hydrated: this.hydrated }, index.h("div", { key: '6d93a5bb12dbe2fc2e308059ffd5d63ed915f16d', class: constants.WizardItemClass.header }, prefixSlot, this.collapsible ? (index.h(Tag, { id: triggerId, class: this.h.classes(constants.WizardItemClass.label), "aria-expanded": template.booleanString(this.isExpanded), "aria-controls": this.contentId, disabled: this.disabled, "aria-disabled": template.toBoolAttrIfDefined(this.disabled), onClick: (e) => {
64
64
  e.preventDefault();
65
65
  e.stopPropagation();
66
66
  this.toggle();
@@ -50,7 +50,7 @@ const GovWizard = class {
50
50
  this.hydrated = true;
51
51
  }
52
52
  render() {
53
- return (index.h(index.Host, { key: '5d1d08b27c5a8b266d209841d4cfda654081124c', class: this.h.classes(constants.WizardClass.root), role: "list", size: this.size, hydrated: this.hydrated }, index.h("slot", { key: 'c17071c8a7bed0dee95deec69c0ce1c668160209' })));
53
+ return (index.h(index.Host, { key: 'd1957fc0c0058c107769e3cc5390ef986fc9b921', class: this.h.classes(constants.WizardClass.root), role: "list", size: this.size, hydrated: this.hydrated }, index.h("slot", { key: 'a34323c408d790c5945ca0d80db62de2433db438' })));
54
54
  }
55
55
  /**
56
56
  * Validate the WCAG attributes of the component
@@ -187,10 +187,6 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
187
187
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
188
188
  /* webpackMode: "lazy" */
189
189
  './gov-wizard-item.cjs.entry.js')); }).then(processMod, consoleError);
190
- case 'gov-form-autocomplete.cjs':
191
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
192
- /* webpackMode: "lazy" */
193
- './gov-form-autocomplete.cjs.entry.js')); }).then(processMod, consoleError);
194
190
  case 'gov-form-select.cjs':
195
191
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
196
192
  /* webpackMode: "lazy" */
@@ -291,6 +287,10 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
291
287
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
292
288
  /* webpackMode: "lazy" */
293
289
  './gov-chip.cjs.entry.js')); }).then(processMod, consoleError);
290
+ case 'gov-form-autocomplete.cjs':
291
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
292
+ /* webpackMode: "lazy" */
293
+ './gov-form-autocomplete.cjs.entry.js')); }).then(processMod, consoleError);
294
294
  case 'gov-backdrop.cjs':
295
295
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
296
296
  /* webpackMode: "lazy" */