@gov-design-system-ce/components 0.0.18 → 0.0.20

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 (239) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/gov-accordion-item.cjs.entry.js +12 -4
  3. package/dist/cjs/gov-accordion-item.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gov-accordion.cjs.entry.js +0 -2
  5. package/dist/cjs/gov-accordion.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gov-alert.cjs.entry.js +39 -7
  7. package/dist/cjs/gov-alert.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gov-app.cjs.entry.js +8 -1
  9. package/dist/cjs/gov-app.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gov-button.cjs.entry.js +1 -1
  11. package/dist/cjs/gov-button.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gov-form-checkbox.cjs.entry.js +1 -1
  13. package/dist/cjs/gov-form-checkbox.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gov-form-control.cjs.entry.js +1 -1
  15. package/dist/cjs/gov-form-control.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gov-form-input.cjs.entry.js +1 -1
  17. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gov-form-label.cjs.entry.js +1 -1
  19. package/dist/cjs/gov-form-label.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gov-form-multi-select.cjs.entry.js +1 -1
  21. package/dist/cjs/gov-form-multi-select.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gov-form-radio.cjs.entry.js +1 -1
  23. package/dist/cjs/gov-form-radio.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gov-form-select.cjs.entry.js +1 -1
  25. package/dist/cjs/gov-form-select.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gov-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/gov-layout-column.cjs.entry.js +1 -1
  28. package/dist/cjs/gov-layout-column.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gov-modal.cjs.entry.js +9 -11
  30. package/dist/cjs/gov-modal.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gov-prompt.cjs.entry.js +9 -11
  32. package/dist/cjs/gov-prompt.cjs.entry.js.map +1 -1
  33. package/dist/cjs/loader.cjs.js +1 -1
  34. package/dist/collection/components/gov-accordion/gov-accordion-item.js +15 -7
  35. package/dist/collection/components/gov-accordion/gov-accordion-item.js.map +1 -1
  36. package/dist/collection/components/gov-accordion/gov-accordion.js +0 -2
  37. package/dist/collection/components/gov-accordion/gov-accordion.js.map +1 -1
  38. package/dist/collection/components/gov-alert/constants.js +1 -0
  39. package/dist/collection/components/gov-alert/constants.js.map +1 -1
  40. package/dist/collection/components/gov-alert/gov-alert.css +13 -0
  41. package/dist/collection/components/gov-alert/gov-alert.js +107 -16
  42. package/dist/collection/components/gov-alert/gov-alert.js.map +1 -1
  43. package/dist/collection/components/gov-alert/gov-alert.types.js +2 -0
  44. package/dist/collection/components/gov-alert/gov-alert.types.js.map +1 -0
  45. package/dist/collection/components/gov-button/gov-button.css +14 -11
  46. package/dist/collection/components/gov-form/checkbox/gov-form-checkbox.css +1 -0
  47. package/dist/collection/components/gov-form/control/gov-form-control.css +2 -2
  48. package/dist/collection/components/gov-form/input/gov-form-input.css +1 -0
  49. package/dist/collection/components/gov-form/label/gov-form-label.css +0 -35
  50. package/dist/collection/components/gov-form/multiselect/gov-form-multi-select.css +1 -0
  51. package/dist/collection/components/gov-form/radio/gov-form-radio.css +1 -0
  52. package/dist/collection/components/gov-form/select/gov-form-select.css +1 -0
  53. package/dist/collection/components/gov-icon/list.js +3 -0
  54. package/dist/collection/components/gov-icon/list.js.map +1 -1
  55. package/dist/collection/components/gov-layout/gov-layout-column.css +1 -0
  56. package/dist/collection/components/gov-modal/gov-modal.js +13 -20
  57. package/dist/collection/components/gov-modal/gov-modal.js.map +1 -1
  58. package/dist/collection/components/gov-promp/gov-prompt.js +13 -20
  59. package/dist/collection/components/gov-promp/gov-prompt.js.map +1 -1
  60. package/dist/collection/pages/Alert.js +8 -1
  61. package/dist/collection/pages/Alert.js.map +1 -1
  62. package/dist/components/gov-accordion-item.js +15 -7
  63. package/dist/components/gov-accordion-item.js.map +1 -1
  64. package/dist/components/gov-accordion.js +0 -2
  65. package/dist/components/gov-accordion.js.map +1 -1
  66. package/dist/components/gov-alert.js +45 -10
  67. package/dist/components/gov-alert.js.map +1 -1
  68. package/dist/components/gov-app.js +8 -1
  69. package/dist/components/gov-app.js.map +1 -1
  70. package/dist/components/gov-attachments2.js +1 -1
  71. package/dist/components/gov-button2.js +2 -2
  72. package/dist/components/gov-button2.js.map +1 -1
  73. package/dist/components/gov-form-checkbox.js +2 -2
  74. package/dist/components/gov-form-checkbox.js.map +1 -1
  75. package/dist/components/gov-form-control.js +1 -1
  76. package/dist/components/gov-form-control.js.map +1 -1
  77. package/dist/components/gov-form-file.js +1 -1
  78. package/dist/components/gov-form-input2.js +2 -2
  79. package/dist/components/gov-form-input2.js.map +1 -1
  80. package/dist/components/gov-form-label.js +1 -1
  81. package/dist/components/gov-form-label.js.map +1 -1
  82. package/dist/components/gov-form-multi-select.js +2 -2
  83. package/dist/components/gov-form-multi-select.js.map +1 -1
  84. package/dist/components/gov-form-radio.js +2 -2
  85. package/dist/components/gov-form-radio.js.map +1 -1
  86. package/dist/components/gov-form-select2.js +2 -2
  87. package/dist/components/gov-form-select2.js.map +1 -1
  88. package/dist/components/gov-form-switch.js +1 -1
  89. package/dist/components/gov-icon2.js +1 -1
  90. package/dist/components/gov-layout-column.js +1 -1
  91. package/dist/components/gov-layout-column.js.map +1 -1
  92. package/dist/components/gov-modal.js +12 -15
  93. package/dist/components/gov-modal.js.map +1 -1
  94. package/dist/components/gov-pagination.js +1 -1
  95. package/dist/components/gov-prompt.js +12 -15
  96. package/dist/components/gov-prompt.js.map +1 -1
  97. package/dist/components/gov-tabs.js +1 -1
  98. package/dist/components/wcag.js +1 -1
  99. package/dist/core/core.esm.js +1 -1
  100. package/dist/core/core.esm.js.map +1 -1
  101. package/dist/core/{p-26260897.entry.js → p-034c40ab.entry.js} +2 -2
  102. package/dist/core/p-0800095f.entry.js +2 -0
  103. package/dist/core/p-0800095f.entry.js.map +1 -0
  104. package/dist/core/{p-f0a4439e.entry.js → p-207ba616.entry.js} +2 -2
  105. package/dist/core/{p-429850b9.entry.js → p-3699c1b3.entry.js} +2 -2
  106. package/dist/core/{p-d79d0f7a.entry.js → p-3cd5b6cb.entry.js} +2 -2
  107. package/dist/core/p-3da88ddb.entry.js +2 -0
  108. package/dist/core/p-3da88ddb.entry.js.map +1 -0
  109. package/dist/core/{p-aba39622.entry.js → p-3e1a1bd4.entry.js} +2 -2
  110. package/dist/core/{p-5a1c8d48.entry.js → p-42db4603.entry.js} +2 -2
  111. package/dist/core/p-4ce15026.entry.js +2 -0
  112. package/dist/core/{p-8b2a6f87.entry.js.map → p-4ce15026.entry.js.map} +1 -1
  113. package/dist/core/{p-7bfa06b1.entry.js → p-50e94566.entry.js} +2 -2
  114. package/dist/core/p-50e94566.entry.js.map +1 -0
  115. package/dist/core/p-5176fad8.entry.js +2 -0
  116. package/dist/core/p-5176fad8.entry.js.map +1 -0
  117. package/dist/core/{p-540e79c4.entry.js → p-54b17f4d.entry.js} +2 -2
  118. package/dist/core/{p-ef393836.entry.js → p-5e865538.entry.js} +2 -2
  119. package/dist/core/{p-364b4792.js → p-670b4f93.js} +2 -2
  120. package/dist/core/{p-f73d482b.entry.js → p-742e37e4.entry.js} +2 -2
  121. package/dist/core/p-742e37e4.entry.js.map +1 -0
  122. package/dist/core/p-75a4c838.entry.js +2 -0
  123. package/dist/core/p-75a4c838.entry.js.map +1 -0
  124. package/dist/core/p-7b890c55.entry.js +2 -0
  125. package/dist/core/{p-3a50ac4c.entry.js.map → p-7b890c55.entry.js.map} +1 -1
  126. package/dist/core/p-7c55677b.entry.js +2 -0
  127. package/dist/core/{p-c970a479.entry.js.map → p-7c55677b.entry.js.map} +1 -1
  128. package/dist/core/{p-e51baf04.entry.js → p-8925ef42.entry.js} +2 -2
  129. package/dist/core/p-8925ef42.entry.js.map +1 -0
  130. package/dist/core/p-96a59983.entry.js +2 -0
  131. package/dist/core/p-96a59983.entry.js.map +1 -0
  132. package/dist/core/p-99f198b9.entry.js +2 -0
  133. package/dist/core/{p-8feb8960.entry.js.map → p-99f198b9.entry.js.map} +1 -1
  134. package/dist/core/p-a8b628ed.entry.js +2 -0
  135. package/dist/core/{p-b9b80796.entry.js.map → p-a8b628ed.entry.js.map} +1 -1
  136. package/dist/core/{p-724921e7.entry.js → p-a8ef7292.entry.js} +2 -2
  137. package/dist/core/{p-24877419.entry.js → p-a9c57f72.entry.js} +2 -2
  138. package/dist/core/{p-52f2f67c.entry.js → p-acfd00a2.entry.js} +2 -2
  139. package/dist/core/{p-a37ef1b2.entry.js → p-ccb44728.entry.js} +2 -2
  140. package/dist/core/p-d83b4bdc.entry.js +2 -0
  141. package/dist/core/p-d83b4bdc.entry.js.map +1 -0
  142. package/dist/core/{p-5e5e925d.entry.js → p-f555fce1.entry.js} +2 -2
  143. package/dist/core/p-f555fce1.entry.js.map +1 -0
  144. package/dist/core/{p-f6e2f2f0.entry.js → p-f7275b59.entry.js} +2 -2
  145. package/dist/custom-elements/index.js +1 -1
  146. package/dist/custom-elements/index.js.map +1 -1
  147. package/dist/esm/core.js +1 -1
  148. package/dist/esm/gov-accordion-item.entry.js +13 -5
  149. package/dist/esm/gov-accordion-item.entry.js.map +1 -1
  150. package/dist/esm/gov-accordion.entry.js +1 -3
  151. package/dist/esm/gov-accordion.entry.js.map +1 -1
  152. package/dist/esm/gov-alert.entry.js +41 -9
  153. package/dist/esm/gov-alert.entry.js.map +1 -1
  154. package/dist/esm/gov-app.entry.js +8 -1
  155. package/dist/esm/gov-app.entry.js.map +1 -1
  156. package/dist/esm/gov-attachments_3.entry.js +1 -1
  157. package/dist/esm/gov-backdrop.entry.js +1 -1
  158. package/dist/esm/gov-breadcrumbs.entry.js +1 -1
  159. package/dist/esm/gov-button.entry.js +2 -2
  160. package/dist/esm/gov-button.entry.js.map +1 -1
  161. package/dist/esm/gov-card.entry.js +1 -1
  162. package/dist/esm/gov-form-checkbox.entry.js +2 -2
  163. package/dist/esm/gov-form-checkbox.entry.js.map +1 -1
  164. package/dist/esm/gov-form-control.entry.js +1 -1
  165. package/dist/esm/gov-form-control.entry.js.map +1 -1
  166. package/dist/esm/gov-form-file.entry.js +1 -1
  167. package/dist/esm/gov-form-input.entry.js +2 -2
  168. package/dist/esm/gov-form-input.entry.js.map +1 -1
  169. package/dist/esm/gov-form-label.entry.js +1 -1
  170. package/dist/esm/gov-form-label.entry.js.map +1 -1
  171. package/dist/esm/gov-form-multi-select.entry.js +2 -2
  172. package/dist/esm/gov-form-multi-select.entry.js.map +1 -1
  173. package/dist/esm/gov-form-radio.entry.js +2 -2
  174. package/dist/esm/gov-form-radio.entry.js.map +1 -1
  175. package/dist/esm/gov-form-select.entry.js +2 -2
  176. package/dist/esm/gov-form-select.entry.js.map +1 -1
  177. package/dist/esm/gov-form-switch.entry.js +1 -1
  178. package/dist/esm/gov-icon.entry.js +1 -1
  179. package/dist/esm/gov-layout-column.entry.js +1 -1
  180. package/dist/esm/gov-layout-column.entry.js.map +1 -1
  181. package/dist/esm/gov-modal.entry.js +10 -12
  182. package/dist/esm/gov-modal.entry.js.map +1 -1
  183. package/dist/esm/gov-nav.entry.js +1 -1
  184. package/dist/esm/gov-pagination.entry.js +1 -1
  185. package/dist/esm/gov-prompt.entry.js +10 -12
  186. package/dist/esm/gov-prompt.entry.js.map +1 -1
  187. package/dist/esm/gov-side-nav.entry.js +1 -1
  188. package/dist/esm/gov-skeleton.entry.js +1 -1
  189. package/dist/esm/gov-tabs.entry.js +1 -1
  190. package/dist/esm/gov-wizzard.entry.js +1 -1
  191. package/dist/esm/loader.js +1 -1
  192. package/dist/esm/{wcag-3792d4bb.js → wcag-d588d144.js} +2 -2
  193. package/dist/esm/{wcag-3792d4bb.js.map → wcag-d588d144.js.map} +1 -1
  194. package/dist/hydrate/index.js +95 -56
  195. package/dist/stencil.config.js +0 -9
  196. package/dist/stencil.config.js.map +1 -1
  197. package/dist/types/components/gov-accordion/gov-accordion-item.d.ts +3 -2
  198. package/dist/types/components/gov-alert/constants.d.ts +1 -0
  199. package/dist/types/components/gov-alert/gov-alert.d.ts +21 -4
  200. package/dist/types/components/gov-alert/gov-alert.types.d.ts +4 -0
  201. package/dist/types/components/gov-modal/gov-modal.d.ts +3 -4
  202. package/dist/types/components/gov-promp/gov-prompt.d.ts +3 -4
  203. package/dist/types/components.d.ts +34 -13
  204. package/package.json +1 -1
  205. package/dist/core/p-3a50ac4c.entry.js +0 -2
  206. package/dist/core/p-3f92f3bf.entry.js +0 -2
  207. package/dist/core/p-3f92f3bf.entry.js.map +0 -1
  208. package/dist/core/p-5e5e925d.entry.js.map +0 -1
  209. package/dist/core/p-61103476.entry.js +0 -2
  210. package/dist/core/p-61103476.entry.js.map +0 -1
  211. package/dist/core/p-7bfa06b1.entry.js.map +0 -1
  212. package/dist/core/p-8b2a6f87.entry.js +0 -2
  213. package/dist/core/p-8feb8960.entry.js +0 -2
  214. package/dist/core/p-b2d1dd2a.entry.js +0 -2
  215. package/dist/core/p-b2d1dd2a.entry.js.map +0 -1
  216. package/dist/core/p-b9b80796.entry.js +0 -2
  217. package/dist/core/p-be799dfa.entry.js +0 -2
  218. package/dist/core/p-be799dfa.entry.js.map +0 -1
  219. package/dist/core/p-c970a479.entry.js +0 -2
  220. package/dist/core/p-cba27477.entry.js +0 -2
  221. package/dist/core/p-cba27477.entry.js.map +0 -1
  222. package/dist/core/p-d5c2db32.entry.js +0 -2
  223. package/dist/core/p-d5c2db32.entry.js.map +0 -1
  224. package/dist/core/p-e51baf04.entry.js.map +0 -1
  225. package/dist/core/p-f73d482b.entry.js.map +0 -1
  226. /package/dist/core/{p-26260897.entry.js.map → p-034c40ab.entry.js.map} +0 -0
  227. /package/dist/core/{p-f0a4439e.entry.js.map → p-207ba616.entry.js.map} +0 -0
  228. /package/dist/core/{p-429850b9.entry.js.map → p-3699c1b3.entry.js.map} +0 -0
  229. /package/dist/core/{p-d79d0f7a.entry.js.map → p-3cd5b6cb.entry.js.map} +0 -0
  230. /package/dist/core/{p-aba39622.entry.js.map → p-3e1a1bd4.entry.js.map} +0 -0
  231. /package/dist/core/{p-5a1c8d48.entry.js.map → p-42db4603.entry.js.map} +0 -0
  232. /package/dist/core/{p-540e79c4.entry.js.map → p-54b17f4d.entry.js.map} +0 -0
  233. /package/dist/core/{p-ef393836.entry.js.map → p-5e865538.entry.js.map} +0 -0
  234. /package/dist/core/{p-364b4792.js.map → p-670b4f93.js.map} +0 -0
  235. /package/dist/core/{p-724921e7.entry.js.map → p-a8ef7292.entry.js.map} +0 -0
  236. /package/dist/core/{p-24877419.entry.js.map → p-a9c57f72.entry.js.map} +0 -0
  237. /package/dist/core/{p-52f2f67c.entry.js.map → p-acfd00a2.entry.js.map} +0 -0
  238. /package/dist/core/{p-a37ef1b2.entry.js.map → p-ccb44728.entry.js.map} +0 -0
  239. /package/dist/core/{p-f6e2f2f0.entry.js.map → p-f7275b59.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../packages/core/src/components/gov-modal/gov-modal.scss?tag=gov-modal","../../../packages/core/src/components/gov-modal/gov-modal.tsx"],"names":["govModalCss","GovModal","[object Object]","hostRef","this","h","govHost","host","labelId","createID","contentId","newValue","validTags","includes","govErrorLog","ModalClass","root","open","document","body","classList","add","bodyFix","remove","showModal","hideModal","canValidateWcagOnRender","delay","validateWcag","LabelTag","labelTag","Host","class","classes","dialog","hidden","tabindex","aria-modal","aria-hidden","toBoolAttr","aria-labelledby","wcagLabelledBy","aria-describedby","wcagDescribedBy","role","inner","header","hasSlot","icon","name","label","title","id","close","variant","wcagLabel","wcagCloseLabel","wcagCloseLabelledBy","type","on-gov-click","onCloseHandler","bind","content","wcag-label","wcag-labelled-by","e","stopPropagation","govClose","emit","validateWcagRef"],"mappings":"mUAAA,MAAMA,EAAc,s1FCePC,EAAQ,MAKpBC,YAAAC,2DAW8B,qCAQM,uBAI0B,mIAtB7DC,KAAKC,EAAIC,EAAQF,KAAKG,MACtBH,KAAKI,QAAUC,EAAS,iBACxBL,KAAKM,UAAYD,EAAS,mBA2C3BP,iBAAiBS,GAChB,MAAMC,EAAY,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,MACjD,GAAID,EAAU,CACb,IAAKC,EAAUC,SAASF,GAAW,CAClCG,EAAY,IAAIC,EAAWC,cAAcL,uBAM5CT,UAAUS,GACTP,KAAKa,KAAON,EAGLT,YACPE,KAAKa,KAAO,KACZC,SAASC,KAAKC,UAAUC,IAAIN,EAAWO,SAGhCpB,YACPE,KAAKa,KAAO,MACZC,SAASC,KAAKC,UAAUG,OAAOR,EAAWO,SAG3CpB,4BACC,GAAIE,KAAKa,KAAM,CACdb,KAAKoB,gBACC,CACNpB,KAAKqB,aAIPvB,2BACC,GAAIwB,IAA2B,OACxBC,EAAM,WACNvB,KAAKwB,gBAIb1B,SACC,MAAM2B,EAAWzB,KAAK0B,SACtB,OACCzB,EAAC0B,EAAI,CAACC,MAAO5B,KAAKC,EAAE4B,QAAQlB,EAAWC,MAAOC,KAAMb,KAAKa,MACxDZ,EAAA,SAAA,CACC2B,MAAOjB,EAAWmB,OAClBC,QAAS/B,KAAKa,KACdmB,SAAS,KACTnB,KAAMb,KAAKa,KAAIoB,aACJ,OAAMC,cACJC,GAAYnC,KAAKa,MAAKuB,kBAClBpC,KAAKqC,gBAAkBrC,KAAKI,QAAOkC,mBAClCtC,KAAKuC,iBAAmBvC,KAAKM,UAC/CkC,KAAMxC,KAAKwC,MAEXvC,EAAA,MAAA,CAAK2B,MAAOjB,EAAW8B,OACtBxC,EAAA,MAAA,CAAK2B,MAAOjB,EAAW+B,QACrB1C,KAAKC,EAAE0C,QAAQ,SACf1C,EAAA,MAAA,CAAK2B,MAAOjB,EAAWiC,MACtB3C,EAAA,OAAA,CAAM4C,KAAK,UAGZ7C,KAAK8C,OACL7C,EAACwB,EAAQ,CAACG,MAAOjB,EAAWoC,MAAOC,GAAIhD,KAAKI,SAC1CJ,KAAK8C,OAGR7C,EAAA,aAAA,CACC2B,MAAOjB,EAAWsC,MAClBC,QAAQ,UACRC,UAAWnD,KAAKoD,eAChBf,eAAgBrC,KAAKqD,oBACrBC,KAAK,OAAMC,eACGvD,KAAKwD,eAAeC,KAAKzD,OAEvCC,EAAA,WAAA,CAAU4C,KAAK,WAGjB5C,EAAA,MAAA,CAAK2B,MAAOjB,EAAW+C,QAASV,GAAIhD,KAAKM,WACxCL,EAAA,OAAA,SAKFD,KAAKa,KACLZ,EAAA,eAAA,CAAA0D,aACa3D,KAAKoD,eAAcQ,mBACb5D,KAAKqD,oBAAmBE,eAC5BvD,KAAKwD,eAAeC,KAAKzD,QAErC,MAKCF,eAAe+D,GACtBA,EAAEC,kBACF9D,KAAKqB,YACLrB,KAAK+D,SAASC,KAAKH,GAOpB/D,aACCE,KAAKoB,YAONtB,aACCE,KAAKqB,YAONvB,qBACCmE,EAAgBjE,KAAKqC,eAAgB,mBAAoB1B,EAAWC,MACpEqD,EAAgBjE,KAAKuC,gBAAiB,oBAAqB5B,EAAWC","sourcesContent":["/*\n * Modal\n */\n\n$class: \".gov-modal\";\n\n#{$class} {\n\tdisplay: none;\n\t&__dialog {\n\t\t@include z-index(\"modal\", 1);\n\t\tposition: fixed;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tmax-width: $modal-max-width;\n\t\theight: 100%;\n\t\tpadding: rem-calc(8);\n\t\tborder: none;\n\t\tbackground: transparent;\n\t\ttransform: translate(-50%, -50%);\n\t\tpointer-events: none;\n\t}\n\t&__inner {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t\tmax-height: 100%;\n\t\tborder-radius: $border-radius;\n\t\tbackground: $modal-bg;\n\t\toverflow: hidden;\n\t\tpointer-events: auto;\n\t\tbox-shadow: get($shadow-l, $shadows);\n\t}\n\t&__header {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(16);\n\t\talign-items: flex-start;\n\t\tpadding: rem-calc(24 16);\n\t\tborder-bottom: $modal-border;\n\t}\n\t&__icon {\n\t\tflex: 0 0 auto;\n\t\tpadding-top: calc(((var(--gov-text-#{$font-size-3xl}-font-size) * 1.5) - rem-calc(24)) / 2);\n\t\t& > * {\n\t\t\twidth: rem-calc(24);\n\t\t\theight: rem-calc(24);\n\t\t}\n\t}\n\t&__title {\n\t\t@include typography($font-size-3xl);\n\t\tmargin: 0;\n\t}\n\t&__close {\n\t\tflex: 0 0 auto;\n\t\tmargin-left: auto;\n\t\tpadding-top: calc(((var(--gov-text-#{$font-size-3xl}-font-size) * 1.5) - rem-calc(32)) / 2);\n\t}\n\t&__content {\n\t\t@include reset-last-margin();\n\t\theight: 100%;\n\t\tpadding: rem-calc(24 16);\n\t\tcolor: $modal-text-color;\n\t\toverflow: auto;\n\t}\n\t&__actions {\n\t\tdisplay: flex;\n\t\tgap: rem-calc(8 16);\n\t\tflex-wrap: wrap;\n\t\tjustify-content: flex-end;\n\t\tpadding: rem-calc(24 16);\n\t\tborder-top: $modal-border;\n\t}\n\n\t// STATES\n\t&__dialog:focus &__inner {\n\t\toutline: $outline;\n\t}\n\t@include parameter(\"open\") {\n\t\tdisplay: block;\n\t}\n\n\t// MQ\n\t@include mq($from: sm) {\n\t\t&__dialog {\n\t\t\tmax-width: calc($modal-max-width + 2 * rem-calc(24));\n\t\t\tpadding: rem-calc(24);\n\t\t\t&:focus {\n\t\t\t\toutline-offset: rem-calc(-24);\n\t\t\t}\n\t\t}\n\t\t&__inner {\n\t\t\tbox-shadow: get($shadow-xl, $shadows);\n\t\t}\n\n\t\t// VARIANTS\n\t\t&--prompt &__dialog {\n\t\t\tmax-width: calc($modal-prompt-max-width + 2 * rem-calc(24));\n\t\t}\n\t}\n\t@include mq($from: md) {\n\t\t&__header {\n\t\t\tgap: rem-calc(20);\n\t\t\tpadding: rem-calc(32 40 32 48);\n\t\t}\n\t\t&__close {\n\t\t\tpadding-top: calc(((var(--gov-text-#{$font-size-3xl}-font-size) * 1.5) - rem-calc(40)) / 2);\n\t\t}\n\t\t&__content {\n\t\t\tpadding: rem-calc(32 48);\n\t\t}\n\n\t\t// VARIANTS\n\t\t&--prompt {\n\t\t\t#{$class} {\n\t\t\t\t&__header,\n\t\t\t\t&__content,\n\t\t\t\t&__actions {\n\t\t\t\t\tpadding: rem-calc(24);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import { Component, Event, Element, EventEmitter, h, Host, Method, Prop, Watch } from \"@stencil/core\"\nimport { createID } from \"../../utils/string.utils\"\nimport { validateWcagRef } from \"../../helpers/Validate/wcag\"\nimport { ModalClass } from \"./constants\"\nimport { canValidateWcagOnRender } from \"../../helpers/Dom/win\"\nimport { delay } from \"../../utils/utils\"\nimport { toBoolAttr } from \"../../helpers/Dom/template\"\nimport { govHost } from \"../../helpers/Dom/template\"\nimport { GovHost } from \"../../helpers/Dom/template.types\"\nimport { govErrorLog } from \"../../helpers/Log/gov.log\"\n\n@Component({\n\ttag: \"gov-modal\",\n\tstyleUrl: \"gov-modal.scss\",\n})\nexport class GovModal {\n\tprivate h: GovHost\n\tprivate readonly labelId: string\n\tprivate readonly contentId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.labelId = createID(\"GovModalLabel\")\n\t\tthis.contentId = createID(\"GovModalContent\")\n\t}\n\n\t@Element() host: HTMLGovModalElement\n\n\t/**\n\t * Attribute for modal window display\n\t */\n\t@Prop({mutable: true}) open = false\n\t/**\n\t * Title of modal window\n\t */\n\t@Prop() label: string\n\t/**\n\t * Role of modal\n\t */\n\t@Prop({ attribute: \"role\" }) role = \"dialog\"\n\t/**\n\t * Used to change the HTML tag in the modal label for correct semantic structure\n\t */\n\t@Prop({ attribute: \"label-tag\" }) readonly labelTag: string = \"h2\"\n\t/**\n\t * String of id's that indicate alternative labels elements\n\t */\n\t@Prop({ attribute: \"wcag-labelled-by\" }) wcagLabelledBy: string\n\t/**\n\t * Indicates the id of a component that describes the modal.\n\t */\n\t@Prop({ attribute: \"wcag-described-by\" }) wcagDescribedBy: string\n\t/**\n\t * Adds accessible label for the modal close button that is only shown for screen readers.\n\t */\n\t@Prop({ attribute: \"wcag-close-label\" }) wcagCloseLabel: string\n\t/**\n\t * A string of identifiers that indicate alternative label elements for closing the modal window\n\t */\n\t@Prop({ attribute: \"wcag-close-labelled-by\" }) wcagCloseLabelledBy: string\n\t/**\n\t * Emitted when modal window closes.\n\t */\n\t@Event({ eventName: \"gov-close\" }) govClose: EventEmitter<PointerEvent>\n\n\t@Watch(\"labelTag\")\n\tvalidateLabelTag(newValue: string): void {\n\t\tconst validTags = [\"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\"]\n\t\tif (newValue) {\n\t\t\tif (!validTags.includes(newValue)) {\n\t\t\t\tgovErrorLog(`[${ModalClass.root}]: Tag ${newValue} is not allowed.`)\n\t\t\t}\n\t\t}\n\t}\n\n\t@Watch(\"open\")\n\twatchOpen(newValue: boolean): void {\n\t\tthis.open = newValue\n\t}\n\n\tprivate showModal() {\n\t\tthis.open = true\n\t\tdocument.body.classList.add(ModalClass.bodyFix)\n\t}\n\n\tprivate hideModal() {\n\t\tthis.open = false\n\t\tdocument.body.classList.remove(ModalClass.bodyFix)\n\t}\n\n\tasync componentWillRender() {\n\t\tif (this.open) {\n\t\t\tthis.showModal()\n\t\t} else {\n\t\t\tthis.hideModal()\n\t\t}\n\t}\n\n\tasync componentDidRender() {\n\t\tif (canValidateWcagOnRender()) {\n\t\t\tawait delay(500)\n\t\t\tawait this.validateWcag()\n\t\t}\n\t}\n\n\trender() {\n\t\tconst LabelTag = this.labelTag\n\t\treturn (\n\t\t\t<Host class={this.h.classes(ModalClass.root)} open={this.open}>\n\t\t\t\t<dialog\n\t\t\t\t\tclass={ModalClass.dialog}\n\t\t\t\t\thidden={!this.open}\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\topen={this.open}\n\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\taria-hidden={toBoolAttr(!this.open)}\n\t\t\t\t\taria-labelledby={this.wcagLabelledBy || this.labelId}\n\t\t\t\t\taria-describedby={this.wcagDescribedBy || this.contentId}\n\t\t\t\t\trole={this.role}\n\t\t\t\t>\n\t\t\t\t\t<div class={ModalClass.inner}>\n\t\t\t\t\t\t<div class={ModalClass.header}>\n\t\t\t\t\t\t\t{this.h.hasSlot(\"icon\") && (\n\t\t\t\t\t\t\t\t<div class={ModalClass.icon}>\n\t\t\t\t\t\t\t\t\t<slot name=\"icon\" />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{this.label && (\n\t\t\t\t\t\t\t\t<LabelTag class={ModalClass.title} id={this.labelId}>\n\t\t\t\t\t\t\t\t\t{this.label}\n\t\t\t\t\t\t\t\t</LabelTag>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<gov-button\n\t\t\t\t\t\t\t\tclass={ModalClass.close}\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\twcagLabel={this.wcagCloseLabel}\n\t\t\t\t\t\t\t\twcagLabelledBy={this.wcagCloseLabelledBy}\n\t\t\t\t\t\t\t\ttype=\"base\"\n\t\t\t\t\t\t\t\ton-gov-click={this.onCloseHandler.bind(this)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<gov-icon name=\"x-lg\" />\n\t\t\t\t\t\t\t</gov-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class={ModalClass.content} id={this.contentId}>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</dialog>\n\n\t\t\t\t{this.open ? (\n\t\t\t\t\t<gov-backdrop\n\t\t\t\t\t\twcag-label={this.wcagCloseLabel}\n\t\t\t\t\t\twcag-labelled-by={this.wcagCloseLabelledBy}\n\t\t\t\t\t\ton-gov-click={this.onCloseHandler.bind(this)}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onCloseHandler(e: PointerEvent) {\n\t\te.stopPropagation()\n\t\tthis.hideModal()\n\t\tthis.govClose.emit(e)\n\t}\n\n\t/**\n\t * Showing the modal\n\t */\n\t@Method()\n\tasync show(): Promise<void> {\n\t\tthis.showModal()\n\t}\n\n\t/**\n\t * Hiding the modal\n\t */\n\t@Method()\n\tasync hide(): Promise<void> {\n\t\tthis.hideModal()\n\t}\n\n\t/**\n\t * Validate the WCAG attributes of the component\n\t */\n\t@Method()\n\tasync validateWcag(): Promise<void> {\n\t\tvalidateWcagRef(this.wcagLabelledBy, \"wcag-labelled-by\", ModalClass.root)\n\t\tvalidateWcagRef(this.wcagDescribedBy, \"wcag-described-by\", ModalClass.root)\n\t}\n}\n"]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as o,h as r,H as a,g as e}from"./p-4af5e4f4.js";import{v as s}from"./p-26acf964.js";import{T as i,a as n,b as c,c as v}from"./p-80e30702.js";import{g as l,a as g}from"./p-3f37ddb6.js";import{c as b,v as d}from"./p-364b4792.js";import{c as h}from"./p-c20102ff.js";import{d as m,t as p}from"./p-03990da5.js";import{c as f}from"./p-24636c53.js";import"./p-561fa17b.js";import"./p-ff7365ae.js";const y=".gov-tabs__list{margin:0;padding:0}.gov-tabs__list>.gov-tabs__item{margin:0;padding:0;background:none}.gov-tabs__list>.gov-tabs__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-tabs{position:relative;display:block;width:100%}.gov-tabs__list{display:flex;flex-wrap:wrap;margin:0rem 0rem 1.25rem}.gov-tabs__list>.gov-tabs__item{display:flex;margin:0}.gov-tabs__btn{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;border:0;background-color:transparent;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0.75rem 0rem 0.625rem;border-bottom:0.125rem solid transparent;font-weight:700;text-align:center;text-transform:uppercase;transition:150ms linear color, 150ms linear border-color}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-tabs[type=text] .gov-tabs__list{gap:0.5rem 2rem;border-bottom:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[type=badge] .gov-tabs__list{gap:0.5rem 1rem}.gov-tabs[variant=primary][type=text] .gov-tabs__btn{color:var(--gov-tabs-primary-color, var(--gov-color-primary))}@media not all and (pointer: coarse){.gov-tabs[variant=primary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-primary-color-hover, var(--gov-color-primary-800))}}.gov-tabs[variant=primary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800));color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800))}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn{color:var(--gov-tabs-secondary-color, var(--gov-color-secondary-700))}@media not all and (pointer: coarse){.gov-tabs[variant=secondary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-secondary-color-hover, var(--gov-color-secondary-900))}}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900));color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900))}.gov-tabs[variant=success][type=text] .gov-tabs__btn{color:var(--gov-tabs-success-color, var(--gov-color-success-500))}@media not all and (pointer: coarse){.gov-tabs[variant=success][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-success-color-hover, var(--gov-color-success-700))}}.gov-tabs[variant=success][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-success-color-active, var(--gov-color-success-700));color:cmake-var(tabs-success-color-active, var(--gov-color-success-700))}.gov-tabs[variant=warning][type=text] .gov-tabs__btn{color:var(--gov-tabs-warning-color, var(--gov-color-warning-500))}@media not all and (pointer: coarse){.gov-tabs[variant=warning][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-warning-color-hover, var(--gov-color-warning-700))}}.gov-tabs[variant=warning][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700));color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700))}.gov-tabs[variant=error][type=text] .gov-tabs__btn{color:var(--gov-tabs-error-color, var(--gov-color-error-400))}@media not all and (pointer: coarse){.gov-tabs[variant=error][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-error-color-hover, var(--gov-color-error-600))}}.gov-tabs[variant=error][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-error-color-active, var(--gov-color-error-600));color:cmake-var(tabs-error-color-active, var(--gov-color-error-600))}.gov-tabs[orientation=vertical] .gov-tabs__btn{text-align:left}@media (min-width: 75em){.gov-tabs[orientation=vertical]{display:flex;flex-direction:row}.gov-tabs[orientation=vertical] .gov-tabs__list{flex-wrap:nowrap;flex-direction:column;width:-moz-max-content;width:max-content;max-width:30vw;margin-right:1.25rem;padding:0rem 0.5rem;border-bottom:none;border-right:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[orientation=vertical] .gov-tabs__item{justify-content:flex-end}.gov-tabs[orientation=vertical] .gov-tabs__btn{padding:0.5rem 0.75rem;text-align:right}}";const u=class{constructor(r){t(this,r);this.govChange=o(this,"gov-change",7);this.triggerRefs={};this.controller=[];this.focusIndex=0;this.compactControls=false;this.type="text";this.variant="primary";this.orientation="horizontal";this.wcagLabel=undefined;this.wcagSelectLabel=undefined;this.wcagLabelledBy=undefined;this.h=l(this.host);this.formSelectId=f("GovForSelect")}validateType(t){s(c,t,n.root)}validateVariant(t){s(v,t,n.root)}componentWillLoad(){this.prepareDataSource()}async componentDidRender(){if(h()){await m(500);await this.validateWcag()}this.resizeObserver()}prepareDataSource(){this.controller=[];const t=[];this.host.querySelectorAll(i.root).forEach((o=>{const r=Promise.all([o.getIdentifier(),o.getTriggerIdentifier()]).then((([t,r])=>{const a=typeof o.getAttribute("default")==="string";return{label:o.getAttribute("label"),contentIdentifier:t,triggerIdentifier:r,element:o,active:false,default:a}}));t.push(r)}));Promise.all(t).then((t=>{let o=t.findIndex((t=>t.default));if(o===-1)o=0;this.focusIndex=o;t[o].active=true;this.controller=[...t];this.reRender()}))}setActiveByIdentifier(t){const o=[];this.controller.map((r=>{r.active=t===r.triggerIdentifier||t===r.contentIdentifier;o.push(r)}));this.controller=[...o]}reRender(){this.controller.map((t=>{t.element.setActiveStatus(t.active)}))}resizeObserver(){const t=new ResizeObserver(p((()=>{}),200));t.observe(this.tabsRef)}render(){return r(a,{class:this.h.classes(n.root),variant:this.variant,type:this.type,role:"tablist",ref:t=>this.tabsRef=t,"aria-label":this.wcagLabel,"aria-labelledby":this.wcagLabelledBy,onKeyDown:this.onKeydownHandler.bind(this)},r("div",{class:n.tabs,"aria-hidden":g(this.compactControls)},r("ul",{class:n.list},this.controller.map(((t,o)=>r("li",{class:n.item},this.type=="text"?r("button",{class:n.btn,id:t.triggerIdentifier,role:"tab",onClick:()=>this.onSelectHandler(t,o),"aria-selected":g(t.active),"aria-controls":t.contentIdentifier,tabindex:t.active?-1:0,ref:o=>this.triggerRefs[t.triggerIdentifier]=o},t.label):r("gov-badge",{variant:this.variant,type:g(t.active)=="true"?"solid":"outlined","on-gov-click":()=>this.onSelectHandler(t,o)},t.label)))))),r("span",{id:this.formSelectId,hidden:true},this.wcagSelectLabel),this.compactControls?r("gov-form-select",{"wcag-labelled-by":this.formSelectId,"onGov-change":this.onChangeHandler.bind(this)},this.controller.map((t=>r("option",{value:t.triggerIdentifier,selected:t.active},t.label)))):null,r("slot",null))}getCurrentTab(){return this.controller.find((t=>t.active))||null}onSelectHandler(t,o){this.focusIndex=o;this.setActiveByIdentifier(t.triggerIdentifier);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onChangeHandler(t){const o=t.target.value;t.stopPropagation();this.setActiveByIdentifier(o);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onKeydownHandler(t){const o=t.keyCode;t.stopPropagation();if(o===39||o===37){if(false===(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1)){return}this.controller[this.focusIndex].active=false;if(o===39){this.focusIndex++;if(this.focusIndex>=this.controller.length){this.focusIndex=0}}else if(o===37){this.focusIndex--;if(this.focusIndex<0){this.focusIndex=this.controller.length-1}}if(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1){const t=this.controller[this.focusIndex];t.active=true;this.triggerRefs[t.triggerIdentifier].focus();this.controller=[...this.controller];this.reRender();this.govChange.emit(this.getCurrentTab().element)}}}async refresh(){this.prepareDataSource()}async currentTab(){return this.getCurrentTab().element||null}async setActiveTab(t){this.setActiveByIdentifier(t);this.reRender()}async validateWcag(){b(this.wcagSelectLabel,"wcag-select-label",n.root);d(this.wcagLabel,this.wcagLabelledBy,n.root)}get host(){return e(this)}static get watchers(){return{type:["validateType"],variant:["validateVariant"]}}};u.style=y;export{u as gov_tabs};
2
- //# sourceMappingURL=p-f6e2f2f0.entry.js.map
1
+ import{r as t,c as o,h as r,H as a,g as e}from"./p-4af5e4f4.js";import{v as s}from"./p-26acf964.js";import{T as i,a as n,b as c,c as v}from"./p-80e30702.js";import{g as l,a as g}from"./p-3f37ddb6.js";import{a as b,v as d}from"./p-670b4f93.js";import{c as h}from"./p-c20102ff.js";import{d as m,t as p}from"./p-03990da5.js";import{c as f}from"./p-24636c53.js";import"./p-561fa17b.js";import"./p-ff7365ae.js";const y=".gov-tabs__list{margin:0;padding:0}.gov-tabs__list>.gov-tabs__item{margin:0;padding:0;background:none}.gov-tabs__list>.gov-tabs__item::before{display:none}.gov-spin-animation,.gov-pseudo-spin-animation::before{animation:spin 4s linear infinite}@keyframes spin{100%{transform:rotate(360deg)}}@keyframes countdown{to{transform:scaleX(0)}}@keyframes progress{0%{background-position:-200px 0}100%{background-position:calc(200px + 100%) 0}}@keyframes pulse{0%{opacity:1}50%{opacity:0.4}100%{opacity:1}}.gov-tabs{position:relative;display:block;width:100%}.gov-tabs__list{display:flex;flex-wrap:wrap;margin:0rem 0rem 1.25rem}.gov-tabs__list>.gov-tabs__item{display:flex;margin:0}.gov-tabs__btn{font-weight:var(--gov-text-s-font-weight);font-size:var(--gov-text-s-font-size);line-height:var(--gov-text-s-line-height);letter-spacing:var(--gov-text-s-letter-spacing);display:inline-flex;vertical-align:middle;justify-content:center;align-items:center;border:0;background-color:transparent;text-align:center;text-decoration:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0.75rem 0rem 0.625rem;border-bottom:0.125rem solid transparent;font-weight:700;text-align:center;text-transform:uppercase;transition:150ms linear color, 150ms linear border-color}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus{outline:none}.gov-tabs__btn:focus-visible{border-radius:var(--gov-border-radius, 0.1875rem);outline:var(--gov-outline-width, 0.125rem) solid var(--gov-color-focus-base);outline-offset:0}.gov-tabs[type=text] .gov-tabs__list{gap:0.5rem 2rem;border-bottom:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[type=badge] .gov-tabs__list{gap:0.5rem 1rem}.gov-tabs[variant=primary][type=text] .gov-tabs__btn{color:var(--gov-tabs-primary-color, var(--gov-color-primary))}@media not all and (pointer: coarse){.gov-tabs[variant=primary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-primary-color-hover, var(--gov-color-primary-800))}}.gov-tabs[variant=primary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800));color:cmake-var(tabs-primary-color-active, var(--gov-color-primary-800))}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn{color:var(--gov-tabs-secondary-color, var(--gov-color-secondary-700))}@media not all and (pointer: coarse){.gov-tabs[variant=secondary][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-secondary-color-hover, var(--gov-color-secondary-900))}}.gov-tabs[variant=secondary][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900));color:cmake-var(tabs-secondary-color-active, var(--gov-color-secondary-900))}.gov-tabs[variant=success][type=text] .gov-tabs__btn{color:var(--gov-tabs-success-color, var(--gov-color-success-500))}@media not all and (pointer: coarse){.gov-tabs[variant=success][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-success-color-hover, var(--gov-color-success-700))}}.gov-tabs[variant=success][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-success-color-active, var(--gov-color-success-700));color:cmake-var(tabs-success-color-active, var(--gov-color-success-700))}.gov-tabs[variant=warning][type=text] .gov-tabs__btn{color:var(--gov-tabs-warning-color, var(--gov-color-warning-500))}@media not all and (pointer: coarse){.gov-tabs[variant=warning][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-warning-color-hover, var(--gov-color-warning-700))}}.gov-tabs[variant=warning][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700));color:cmake-var(tabs-warning-color-active, var(--gov-color-warning-700))}.gov-tabs[variant=error][type=text] .gov-tabs__btn{color:var(--gov-tabs-error-color, var(--gov-color-error-400))}@media not all and (pointer: coarse){.gov-tabs[variant=error][type=text] .gov-tabs__btn:hover{color:var(--gov-tabs-error-color-hover, var(--gov-color-error-600))}}.gov-tabs[variant=error][type=text] .gov-tabs__btn[aria-selected=true]{border-bottom-color:cmake-var(tabs-error-color-active, var(--gov-color-error-600));color:cmake-var(tabs-error-color-active, var(--gov-color-error-600))}.gov-tabs[orientation=vertical] .gov-tabs__btn{text-align:left}@media (min-width: 75em){.gov-tabs[orientation=vertical]{display:flex;flex-direction:row}.gov-tabs[orientation=vertical] .gov-tabs__list{flex-wrap:nowrap;flex-direction:column;width:-moz-max-content;width:max-content;max-width:30vw;margin-right:1.25rem;padding:0rem 0.5rem;border-bottom:none;border-right:var(--gov-tabs-list-border-width, 0.0625rem solid var(--gov-color-secondary-500))}.gov-tabs[orientation=vertical] .gov-tabs__item{justify-content:flex-end}.gov-tabs[orientation=vertical] .gov-tabs__btn{padding:0.5rem 0.75rem;text-align:right}}";const u=class{constructor(r){t(this,r);this.govChange=o(this,"gov-change",7);this.triggerRefs={};this.controller=[];this.focusIndex=0;this.compactControls=false;this.type="text";this.variant="primary";this.orientation="horizontal";this.wcagLabel=undefined;this.wcagSelectLabel=undefined;this.wcagLabelledBy=undefined;this.h=l(this.host);this.formSelectId=f("GovForSelect")}validateType(t){s(c,t,n.root)}validateVariant(t){s(v,t,n.root)}componentWillLoad(){this.prepareDataSource()}async componentDidRender(){if(h()){await m(500);await this.validateWcag()}this.resizeObserver()}prepareDataSource(){this.controller=[];const t=[];this.host.querySelectorAll(i.root).forEach((o=>{const r=Promise.all([o.getIdentifier(),o.getTriggerIdentifier()]).then((([t,r])=>{const a=typeof o.getAttribute("default")==="string";return{label:o.getAttribute("label"),contentIdentifier:t,triggerIdentifier:r,element:o,active:false,default:a}}));t.push(r)}));Promise.all(t).then((t=>{let o=t.findIndex((t=>t.default));if(o===-1)o=0;this.focusIndex=o;t[o].active=true;this.controller=[...t];this.reRender()}))}setActiveByIdentifier(t){const o=[];this.controller.map((r=>{r.active=t===r.triggerIdentifier||t===r.contentIdentifier;o.push(r)}));this.controller=[...o]}reRender(){this.controller.map((t=>{t.element.setActiveStatus(t.active)}))}resizeObserver(){const t=new ResizeObserver(p((()=>{}),200));t.observe(this.tabsRef)}render(){return r(a,{class:this.h.classes(n.root),variant:this.variant,type:this.type,role:"tablist",ref:t=>this.tabsRef=t,"aria-label":this.wcagLabel,"aria-labelledby":this.wcagLabelledBy,onKeyDown:this.onKeydownHandler.bind(this)},r("div",{class:n.tabs,"aria-hidden":g(this.compactControls)},r("ul",{class:n.list},this.controller.map(((t,o)=>r("li",{class:n.item},this.type=="text"?r("button",{class:n.btn,id:t.triggerIdentifier,role:"tab",onClick:()=>this.onSelectHandler(t,o),"aria-selected":g(t.active),"aria-controls":t.contentIdentifier,tabindex:t.active?-1:0,ref:o=>this.triggerRefs[t.triggerIdentifier]=o},t.label):r("gov-badge",{variant:this.variant,type:g(t.active)=="true"?"solid":"outlined","on-gov-click":()=>this.onSelectHandler(t,o)},t.label)))))),r("span",{id:this.formSelectId,hidden:true},this.wcagSelectLabel),this.compactControls?r("gov-form-select",{"wcag-labelled-by":this.formSelectId,"onGov-change":this.onChangeHandler.bind(this)},this.controller.map((t=>r("option",{value:t.triggerIdentifier,selected:t.active},t.label)))):null,r("slot",null))}getCurrentTab(){return this.controller.find((t=>t.active))||null}onSelectHandler(t,o){this.focusIndex=o;this.setActiveByIdentifier(t.triggerIdentifier);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onChangeHandler(t){const o=t.target.value;t.stopPropagation();this.setActiveByIdentifier(o);this.reRender();this.govChange.emit(this.getCurrentTab().element)}onKeydownHandler(t){const o=t.keyCode;t.stopPropagation();if(o===39||o===37){if(false===(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1)){return}this.controller[this.focusIndex].active=false;if(o===39){this.focusIndex++;if(this.focusIndex>=this.controller.length){this.focusIndex=0}}else if(o===37){this.focusIndex--;if(this.focusIndex<0){this.focusIndex=this.controller.length-1}}if(this.focusIndex>=0&&this.focusIndex<=this.controller.length-1){const t=this.controller[this.focusIndex];t.active=true;this.triggerRefs[t.triggerIdentifier].focus();this.controller=[...this.controller];this.reRender();this.govChange.emit(this.getCurrentTab().element)}}}async refresh(){this.prepareDataSource()}async currentTab(){return this.getCurrentTab().element||null}async setActiveTab(t){this.setActiveByIdentifier(t);this.reRender()}async validateWcag(){b(this.wcagSelectLabel,"wcag-select-label",n.root);d(this.wcagLabel,this.wcagLabelledBy,n.root)}get host(){return e(this)}static get watchers(){return{type:["validateType"],variant:["validateVariant"]}}};u.style=y;export{u as gov_tabs};
2
+ //# sourceMappingURL=p-f7275b59.entry.js.map