@gov-design-system-ce/components 4.0.8-rc11 → 4.0.8-rc13

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 (385) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/gov-accordion-item.cjs.entry.js +1 -1
  3. package/dist/cjs/gov-accordion.cjs.entry.js +1 -1
  4. package/dist/cjs/gov-attachments_3.cjs.entry.js +1 -1
  5. package/dist/cjs/gov-backdrop.cjs.entry.js +1 -1
  6. package/dist/cjs/gov-breadcrumbs.cjs.entry.js +1 -1
  7. package/dist/cjs/gov-button.cjs.entry.js +1 -1
  8. package/dist/cjs/gov-card.cjs.entry.js +1 -1
  9. package/dist/cjs/gov-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/gov-container.cjs.entry.js +1 -1
  11. package/dist/cjs/gov-control-group.cjs.entry.js +1 -1
  12. package/dist/cjs/gov-cookiebar.cjs.entry.js +1 -1
  13. package/dist/cjs/gov-dropdown.cjs.entry.js +1 -1
  14. package/dist/cjs/gov-empty.cjs.entry.js +1 -1
  15. package/dist/cjs/gov-error-code.cjs.entry.js +1 -1
  16. package/dist/cjs/gov-form-autocomplete.cjs.entry.js +1 -1
  17. package/dist/cjs/gov-form-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/gov-form-checkbox.cjs.entry.js +1 -1
  19. package/dist/cjs/gov-form-control.cjs.entry.js +1 -1
  20. package/dist/cjs/gov-form-file.cjs.entry.js +1 -1
  21. package/dist/cjs/gov-form-group.cjs.entry.js +1 -1
  22. package/dist/cjs/gov-form-input.cjs.entry.js +5 -4
  23. package/dist/cjs/gov-form-input.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gov-form-label.cjs.entry.js +1 -1
  25. package/dist/cjs/gov-form-multi-select.cjs.entry.js +1 -1
  26. package/dist/cjs/gov-form-password-power.cjs.entry.js +1 -1
  27. package/dist/cjs/gov-form-radio-group.cjs.entry.js +1 -1
  28. package/dist/cjs/gov-form-radio.cjs.entry.js +1 -1
  29. package/dist/cjs/gov-form-search.cjs.entry.js +1 -1
  30. package/dist/cjs/gov-form-select.cjs.entry.js +1 -1
  31. package/dist/cjs/gov-form-switch.cjs.entry.js +1 -1
  32. package/dist/cjs/gov-grid-item.cjs.entry.js +1 -1
  33. package/dist/cjs/gov-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/gov-icon.cjs.entry.js +2 -2
  35. package/dist/cjs/gov-infobar.cjs.entry.js +1 -1
  36. package/dist/cjs/gov-layout-column.cjs.entry.js +1 -1
  37. package/dist/cjs/gov-layout.cjs.entry.js +1 -1
  38. package/dist/cjs/gov-loading.cjs.entry.js +1 -1
  39. package/dist/cjs/gov-message.cjs.entry.js +1 -1
  40. package/dist/cjs/gov-modal.cjs.entry.js +1 -1
  41. package/dist/cjs/gov-nav-item.cjs.entry.js +1 -1
  42. package/dist/cjs/gov-nav.cjs.entry.js +1 -1
  43. package/dist/cjs/gov-pagination.cjs.entry.js +4 -2
  44. package/dist/cjs/gov-pagination.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gov-prompt.cjs.entry.js +1 -1
  46. package/dist/cjs/gov-side-nav-item.cjs.entry.js +1 -1
  47. package/dist/cjs/gov-side-nav.cjs.entry.js +1 -1
  48. package/dist/cjs/gov-skeleton.cjs.entry.js +1 -1
  49. package/dist/cjs/gov-spacer.cjs.entry.js +1 -1
  50. package/dist/cjs/gov-statsbar-item.cjs.entry.js +1 -1
  51. package/dist/cjs/gov-statsbar.cjs.entry.js +1 -1
  52. package/dist/cjs/gov-stepper-item.cjs.entry.js +1 -1
  53. package/dist/cjs/gov-stepper.cjs.entry.js +1 -1
  54. package/dist/cjs/gov-tabs-item.cjs.entry.js +13 -2
  55. package/dist/cjs/gov-tabs-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gov-tabs.cjs.entry.js +34 -42
  57. package/dist/cjs/gov-tabs.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gov-tag.cjs.entry.js +1 -1
  59. package/dist/cjs/gov-tile.cjs.entry.js +1 -1
  60. package/dist/cjs/gov-tiles.cjs.entry.js +1 -1
  61. package/dist/cjs/gov-toast.cjs.entry.js +1 -1
  62. package/dist/cjs/gov-tooltip-content.cjs.entry.js +1 -1
  63. package/dist/cjs/gov-tooltip.cjs.entry.js +68 -59
  64. package/dist/cjs/gov-tooltip.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gov-wizard-item.cjs.entry.js +1 -1
  66. package/dist/cjs/gov-wizard.cjs.entry.js +1 -1
  67. package/dist/cjs/{index-d7a6145d.js → index-cfb57f19.js} +5 -2
  68. package/dist/cjs/index-cfb57f19.js.map +1 -0
  69. package/dist/cjs/loader.cjs.js +2 -2
  70. package/dist/collection/components/gov-form/input/gov-form-input.js +22 -4
  71. package/dist/collection/components/gov-form/input/gov-form-input.js.map +1 -1
  72. package/dist/collection/components/gov-pagination/gov-pagination.js +20 -1
  73. package/dist/collection/components/gov-pagination/gov-pagination.js.map +1 -1
  74. package/dist/collection/components/gov-tabs/gov-tabs-item.js +20 -2
  75. package/dist/collection/components/gov-tabs/gov-tabs-item.js.map +1 -1
  76. package/dist/collection/components/gov-tabs/gov-tabs.js +52 -43
  77. package/dist/collection/components/gov-tabs/gov-tabs.js.map +1 -1
  78. package/dist/collection/components/gov-tooltip/gov-tooltip.js +66 -56
  79. package/dist/collection/components/gov-tooltip/gov-tooltip.js.map +1 -1
  80. package/dist/components/gov-accordion-item.js +1 -1
  81. package/dist/components/gov-accordion.js +1 -1
  82. package/dist/components/gov-attachments-item.js +1 -1
  83. package/dist/components/gov-attachments.js +1 -1
  84. package/dist/components/gov-backdrop.js +1 -1
  85. package/dist/components/gov-breadcrumbs.js +1 -1
  86. package/dist/components/gov-button.js +1 -1
  87. package/dist/components/gov-card.js +1 -1
  88. package/dist/components/gov-chip.js +1 -1
  89. package/dist/components/gov-container.js +1 -1
  90. package/dist/components/gov-control-group.js +1 -1
  91. package/dist/components/gov-cookiebar.js +1 -1
  92. package/dist/components/gov-dropdown.js +1 -1
  93. package/dist/components/gov-empty.js +1 -1
  94. package/dist/components/gov-error-code.js +1 -1
  95. package/dist/components/gov-form-autocomplete.js +1 -1
  96. package/dist/components/gov-form-checkbox-group.js +1 -1
  97. package/dist/components/gov-form-checkbox.js +1 -1
  98. package/dist/components/gov-form-control.js +1 -1
  99. package/dist/components/gov-form-file.js +1 -1
  100. package/dist/components/gov-form-group.js +1 -1
  101. package/dist/components/gov-form-input.js +1 -1
  102. package/dist/components/gov-form-label.js +1 -1
  103. package/dist/components/gov-form-message.js +1 -1
  104. package/dist/components/gov-form-multi-select.js +1 -1
  105. package/dist/components/gov-form-password-power.js +1 -1
  106. package/dist/components/gov-form-radio-group.js +1 -1
  107. package/dist/components/gov-form-radio.js +1 -1
  108. package/dist/components/gov-form-search.js +1 -1
  109. package/dist/components/gov-form-select.js +1 -1
  110. package/dist/components/gov-form-switch.js +1 -1
  111. package/dist/components/gov-grid-item.js +1 -1
  112. package/dist/components/gov-grid.js +1 -1
  113. package/dist/components/gov-icon.js +1 -1
  114. package/dist/components/gov-infobar.js +1 -1
  115. package/dist/components/gov-layout-column.js +1 -1
  116. package/dist/components/gov-layout.js +1 -1
  117. package/dist/components/gov-loading.js +1 -1
  118. package/dist/components/gov-message.js +1 -1
  119. package/dist/components/gov-modal.js +1 -1
  120. package/dist/components/gov-modal.js.map +1 -1
  121. package/dist/components/gov-nav-item.js +1 -1
  122. package/dist/components/gov-nav.js +1 -1
  123. package/dist/components/gov-pagination.js +1 -1
  124. package/dist/components/gov-pagination.js.map +1 -1
  125. package/dist/components/gov-prompt.js +1 -1
  126. package/dist/components/gov-side-nav-item.js +1 -1
  127. package/dist/components/gov-side-nav.js +1 -1
  128. package/dist/components/gov-skeleton.js +1 -1
  129. package/dist/components/gov-spacer.js +1 -1
  130. package/dist/components/gov-statsbar-item.js +1 -1
  131. package/dist/components/gov-statsbar.js +1 -1
  132. package/dist/components/gov-stepper-item.js +1 -1
  133. package/dist/components/gov-stepper.js +1 -1
  134. package/dist/components/gov-tabs-item.js +1 -1
  135. package/dist/components/gov-tabs-item.js.map +1 -1
  136. package/dist/components/gov-tabs.js +1 -1
  137. package/dist/components/gov-tabs.js.map +1 -1
  138. package/dist/components/gov-tag.js +1 -1
  139. package/dist/components/gov-tile.js +1 -1
  140. package/dist/components/gov-tiles.js +1 -1
  141. package/dist/components/gov-toast.js +1 -1
  142. package/dist/components/gov-tooltip-content.js +1 -1
  143. package/dist/components/gov-tooltip.js +1 -1
  144. package/dist/components/gov-tooltip.js.map +1 -1
  145. package/dist/components/gov-wizard-item.js +1 -1
  146. package/dist/components/gov-wizard.js +1 -1
  147. package/dist/components/index.js +1 -1
  148. package/dist/components/{p-0ef9ca38.js → p-137f86d1.js} +2 -2
  149. package/dist/components/{p-38129200.js → p-3605bf8d.js} +2 -2
  150. package/dist/components/{p-67f93e2f.js → p-4489a1da.js} +2 -2
  151. package/dist/components/{p-8f752a63.js → p-479edf55.js} +2 -2
  152. package/dist/components/p-479edf55.js.map +1 -0
  153. package/dist/components/{p-e6b44c13.js → p-84d0a332.js} +2 -2
  154. package/dist/components/{p-850f41a3.js → p-8df7c635.js} +2 -2
  155. package/dist/components/{p-5a881c4f.js → p-92c6c6aa.js} +2 -2
  156. package/dist/components/{p-f0e6e095.js → p-9c9fc4ae.js} +2 -2
  157. package/dist/components/{p-cff54227.js → p-d6759ac3.js} +3 -3
  158. package/dist/components/p-d6759ac3.js.map +1 -0
  159. package/dist/components/{p-cc51369e.js → p-d9dda24d.js} +2 -2
  160. package/dist/components/{p-3d3231ab.js → p-e01962d9.js} +2 -2
  161. package/dist/core/core.esm.js +1 -1
  162. package/dist/core/core.esm.js.map +1 -1
  163. package/dist/core/{p-7eeb23c5.entry.js → p-02745628.entry.js} +2 -2
  164. package/dist/core/{p-5cf78f1c.entry.js → p-04e48d5d.entry.js} +2 -2
  165. package/dist/core/{p-b25da41e.entry.js → p-0790a27c.entry.js} +2 -2
  166. package/dist/core/p-0a5b0f7d.js +3 -0
  167. package/dist/core/p-0a5b0f7d.js.map +1 -0
  168. package/dist/core/{p-aaad919f.entry.js → p-0d99a3d8.entry.js} +2 -2
  169. package/dist/core/p-0d99a3d8.entry.js.map +1 -0
  170. package/dist/core/{p-893bc0ef.entry.js → p-10dbd2e1.entry.js} +2 -2
  171. package/dist/core/{p-d51fa875.entry.js → p-13a80dc5.entry.js} +2 -2
  172. package/dist/core/{p-35a77e2d.entry.js → p-14e5fd00.entry.js} +2 -2
  173. package/dist/core/{p-6378b5af.entry.js → p-185a46b9.entry.js} +2 -2
  174. package/dist/core/{p-e7845795.entry.js → p-1b212799.entry.js} +2 -2
  175. package/dist/core/{p-a82a8d9c.entry.js → p-1d67220c.entry.js} +2 -2
  176. package/dist/core/{p-9f08ac81.entry.js → p-212e297e.entry.js} +2 -2
  177. package/dist/core/{p-92bef3b8.entry.js → p-290773da.entry.js} +2 -2
  178. package/dist/core/{p-2cc5dda1.entry.js → p-2e647c00.entry.js} +2 -2
  179. package/dist/core/{p-f6416cb8.entry.js → p-2fb0e1cf.entry.js} +2 -2
  180. package/dist/core/{p-51f069f2.entry.js → p-332a43c7.entry.js} +2 -2
  181. package/dist/core/{p-071857ce.entry.js → p-33b1f5d8.entry.js} +2 -2
  182. package/dist/core/{p-314df6e2.entry.js → p-3483a6e8.entry.js} +2 -2
  183. package/dist/core/{p-854e705c.entry.js → p-34cf509a.entry.js} +2 -2
  184. package/dist/core/{p-dd45944f.entry.js → p-36312bef.entry.js} +2 -2
  185. package/dist/core/{p-a0b01f1b.entry.js → p-389edb54.entry.js} +2 -2
  186. package/dist/core/{p-ecbb9731.entry.js → p-3e3a1607.entry.js} +2 -2
  187. package/dist/core/{p-c9bd2a6e.entry.js → p-3f62cf30.entry.js} +2 -2
  188. package/dist/core/{p-28d8b65c.entry.js → p-4978aa0a.entry.js} +2 -2
  189. package/dist/core/{p-b5ceb3ba.entry.js → p-4b048e19.entry.js} +2 -2
  190. package/dist/core/{p-680c0fee.entry.js → p-4c83f443.entry.js} +2 -2
  191. package/dist/core/{p-37f5729b.entry.js → p-4dbaff99.entry.js} +2 -2
  192. package/dist/core/p-56d42f3e.entry.js +2 -0
  193. package/dist/core/p-56d42f3e.entry.js.map +1 -0
  194. package/dist/core/{p-5fa30ebf.entry.js → p-58c875bb.entry.js} +2 -2
  195. package/dist/core/{p-a14aa161.entry.js → p-5d33cb6e.entry.js} +2 -2
  196. package/dist/core/{p-ee1637ef.entry.js → p-5e7e7cb1.entry.js} +2 -2
  197. package/dist/core/{p-4c68eb90.entry.js → p-5facceb9.entry.js} +2 -2
  198. package/dist/core/{p-c1911b6a.entry.js → p-6092fd22.entry.js} +2 -2
  199. package/dist/core/p-618df4db.entry.js +2 -0
  200. package/dist/core/p-618df4db.entry.js.map +1 -0
  201. package/dist/core/{p-8c80d1aa.entry.js → p-650ac6c6.entry.js} +2 -2
  202. package/dist/core/{p-671041de.entry.js → p-6977b168.entry.js} +2 -2
  203. package/dist/core/{p-b4b79f0a.entry.js → p-6c745c3e.entry.js} +2 -2
  204. package/dist/core/{p-a01a9f16.entry.js → p-718d0198.entry.js} +2 -2
  205. package/dist/core/{p-c366f797.entry.js → p-761c33c7.entry.js} +2 -2
  206. package/dist/core/{p-16ed4995.entry.js → p-7695610a.entry.js} +2 -2
  207. package/dist/core/p-7a0b3094.entry.js +2 -0
  208. package/dist/core/p-7a0b3094.entry.js.map +1 -0
  209. package/dist/core/{p-b7e96a9d.entry.js → p-7b598f56.entry.js} +2 -2
  210. package/dist/core/{p-37a58991.entry.js → p-7d1dd58a.entry.js} +2 -2
  211. package/dist/core/{p-8fc87295.entry.js → p-8ab827a1.entry.js} +2 -2
  212. package/dist/core/{p-443894aa.entry.js → p-a87d8f17.entry.js} +2 -2
  213. package/dist/core/{p-de924143.entry.js → p-aa9b5731.entry.js} +2 -2
  214. package/dist/core/p-aa9b5731.entry.js.map +1 -0
  215. package/dist/core/{p-49f584a3.entry.js → p-ab9d9655.entry.js} +2 -2
  216. package/dist/core/{p-5d1f350b.entry.js → p-aba11ab4.entry.js} +2 -2
  217. package/dist/core/{p-47efa303.entry.js → p-b58ed9ce.entry.js} +2 -2
  218. package/dist/core/{p-e1a5a373.entry.js → p-bc2ec133.entry.js} +2 -2
  219. package/dist/core/{p-fccbecd3.entry.js → p-c7e8faec.entry.js} +2 -2
  220. package/dist/core/{p-94bc809d.entry.js → p-cc3c6319.entry.js} +2 -2
  221. package/dist/core/{p-307906c9.entry.js → p-cce125de.entry.js} +2 -2
  222. package/dist/core/{p-3e4a8fa7.entry.js → p-d2fc217d.entry.js} +2 -2
  223. package/dist/core/{p-f10ad856.entry.js → p-dbad9256.entry.js} +2 -2
  224. package/dist/core/{p-815d86ed.entry.js → p-dbb67e76.entry.js} +2 -2
  225. package/dist/core/{p-0c78bb6a.entry.js → p-dbde347f.entry.js} +2 -2
  226. package/dist/core/{p-fbbd1e5d.entry.js → p-eb403270.entry.js} +2 -2
  227. package/dist/core/{p-372910de.entry.js → p-f11f707f.entry.js} +2 -2
  228. package/dist/core/{p-a45a55eb.entry.js → p-f54fe20e.entry.js} +2 -2
  229. package/dist/core/{p-45411344.entry.js → p-f9fee460.entry.js} +2 -2
  230. package/dist/esm/core.js +3 -3
  231. package/dist/esm/gov-accordion-item.entry.js +1 -1
  232. package/dist/esm/gov-accordion.entry.js +1 -1
  233. package/dist/esm/gov-attachments_3.entry.js +1 -1
  234. package/dist/esm/gov-backdrop.entry.js +1 -1
  235. package/dist/esm/gov-breadcrumbs.entry.js +1 -1
  236. package/dist/esm/gov-button.entry.js +1 -1
  237. package/dist/esm/gov-card.entry.js +1 -1
  238. package/dist/esm/gov-chip.entry.js +1 -1
  239. package/dist/esm/gov-container.entry.js +1 -1
  240. package/dist/esm/gov-control-group.entry.js +1 -1
  241. package/dist/esm/gov-cookiebar.entry.js +1 -1
  242. package/dist/esm/gov-dropdown.entry.js +1 -1
  243. package/dist/esm/gov-empty.entry.js +1 -1
  244. package/dist/esm/gov-error-code.entry.js +1 -1
  245. package/dist/esm/gov-form-autocomplete.entry.js +1 -1
  246. package/dist/esm/gov-form-checkbox-group.entry.js +1 -1
  247. package/dist/esm/gov-form-checkbox.entry.js +1 -1
  248. package/dist/esm/gov-form-control.entry.js +1 -1
  249. package/dist/esm/gov-form-file.entry.js +1 -1
  250. package/dist/esm/gov-form-group.entry.js +1 -1
  251. package/dist/esm/gov-form-input.entry.js +5 -4
  252. package/dist/esm/gov-form-input.entry.js.map +1 -1
  253. package/dist/esm/gov-form-label.entry.js +1 -1
  254. package/dist/esm/gov-form-multi-select.entry.js +1 -1
  255. package/dist/esm/gov-form-password-power.entry.js +1 -1
  256. package/dist/esm/gov-form-radio-group.entry.js +1 -1
  257. package/dist/esm/gov-form-radio.entry.js +1 -1
  258. package/dist/esm/gov-form-search.entry.js +1 -1
  259. package/dist/esm/gov-form-select.entry.js +1 -1
  260. package/dist/esm/gov-form-switch.entry.js +1 -1
  261. package/dist/esm/gov-grid-item.entry.js +1 -1
  262. package/dist/esm/gov-grid.entry.js +1 -1
  263. package/dist/esm/gov-icon.entry.js +2 -2
  264. package/dist/esm/gov-infobar.entry.js +1 -1
  265. package/dist/esm/gov-layout-column.entry.js +1 -1
  266. package/dist/esm/gov-layout.entry.js +1 -1
  267. package/dist/esm/gov-loading.entry.js +1 -1
  268. package/dist/esm/gov-message.entry.js +1 -1
  269. package/dist/esm/gov-modal.entry.js +1 -1
  270. package/dist/esm/gov-nav-item.entry.js +1 -1
  271. package/dist/esm/gov-nav.entry.js +1 -1
  272. package/dist/esm/gov-pagination.entry.js +4 -2
  273. package/dist/esm/gov-pagination.entry.js.map +1 -1
  274. package/dist/esm/gov-prompt.entry.js +1 -1
  275. package/dist/esm/gov-side-nav-item.entry.js +1 -1
  276. package/dist/esm/gov-side-nav.entry.js +1 -1
  277. package/dist/esm/gov-skeleton.entry.js +1 -1
  278. package/dist/esm/gov-spacer.entry.js +1 -1
  279. package/dist/esm/gov-statsbar-item.entry.js +1 -1
  280. package/dist/esm/gov-statsbar.entry.js +1 -1
  281. package/dist/esm/gov-stepper-item.entry.js +1 -1
  282. package/dist/esm/gov-stepper.entry.js +1 -1
  283. package/dist/esm/gov-tabs-item.entry.js +14 -3
  284. package/dist/esm/gov-tabs-item.entry.js.map +1 -1
  285. package/dist/esm/gov-tabs.entry.js +35 -43
  286. package/dist/esm/gov-tabs.entry.js.map +1 -1
  287. package/dist/esm/gov-tag.entry.js +1 -1
  288. package/dist/esm/gov-tile.entry.js +1 -1
  289. package/dist/esm/gov-tiles.entry.js +1 -1
  290. package/dist/esm/gov-toast.entry.js +1 -1
  291. package/dist/esm/gov-tooltip-content.entry.js +1 -1
  292. package/dist/esm/gov-tooltip.entry.js +68 -59
  293. package/dist/esm/gov-tooltip.entry.js.map +1 -1
  294. package/dist/esm/gov-wizard-item.entry.js +1 -1
  295. package/dist/esm/gov-wizard.entry.js +1 -1
  296. package/dist/esm/{index-84a63a3e.js → index-b44c6c92.js} +5 -2
  297. package/dist/esm/index-b44c6c92.js.map +1 -0
  298. package/dist/esm/loader.js +3 -3
  299. package/dist/hydrate/index.js +124 -104
  300. package/dist/hydrate/index.mjs +124 -104
  301. package/dist/types/components/gov-form/input/gov-form-input.d.ts +5 -1
  302. package/dist/types/components/gov-pagination/gov-pagination.d.ts +5 -0
  303. package/dist/types/components/gov-tabs/gov-tabs-item.d.ts +1 -0
  304. package/dist/types/components/gov-tabs/gov-tabs.d.ts +6 -4
  305. package/dist/types/components/gov-tooltip/gov-tooltip.d.ts +3 -1
  306. package/dist/types/components.d.ts +22 -2
  307. package/package.json +1 -1
  308. package/dist/cjs/index-d7a6145d.js.map +0 -1
  309. package/dist/components/p-8f752a63.js.map +0 -1
  310. package/dist/components/p-cff54227.js.map +0 -1
  311. package/dist/core/p-4382ee13.entry.js +0 -2
  312. package/dist/core/p-4382ee13.entry.js.map +0 -1
  313. package/dist/core/p-46ddd055.entry.js +0 -2
  314. package/dist/core/p-46ddd055.entry.js.map +0 -1
  315. package/dist/core/p-9de457bf.entry.js +0 -2
  316. package/dist/core/p-9de457bf.entry.js.map +0 -1
  317. package/dist/core/p-a6221940.js +0 -3
  318. package/dist/core/p-a6221940.js.map +0 -1
  319. package/dist/core/p-aaad919f.entry.js.map +0 -1
  320. package/dist/core/p-de924143.entry.js.map +0 -1
  321. package/dist/esm/index-84a63a3e.js.map +0 -1
  322. /package/dist/components/{p-0ef9ca38.js.map → p-137f86d1.js.map} +0 -0
  323. /package/dist/components/{p-38129200.js.map → p-3605bf8d.js.map} +0 -0
  324. /package/dist/components/{p-67f93e2f.js.map → p-4489a1da.js.map} +0 -0
  325. /package/dist/components/{p-e6b44c13.js.map → p-84d0a332.js.map} +0 -0
  326. /package/dist/components/{p-850f41a3.js.map → p-8df7c635.js.map} +0 -0
  327. /package/dist/components/{p-5a881c4f.js.map → p-92c6c6aa.js.map} +0 -0
  328. /package/dist/components/{p-f0e6e095.js.map → p-9c9fc4ae.js.map} +0 -0
  329. /package/dist/components/{p-cc51369e.js.map → p-d9dda24d.js.map} +0 -0
  330. /package/dist/components/{p-3d3231ab.js.map → p-e01962d9.js.map} +0 -0
  331. /package/dist/core/{p-7eeb23c5.entry.js.map → p-02745628.entry.js.map} +0 -0
  332. /package/dist/core/{p-5cf78f1c.entry.js.map → p-04e48d5d.entry.js.map} +0 -0
  333. /package/dist/core/{p-b25da41e.entry.js.map → p-0790a27c.entry.js.map} +0 -0
  334. /package/dist/core/{p-893bc0ef.entry.js.map → p-10dbd2e1.entry.js.map} +0 -0
  335. /package/dist/core/{p-d51fa875.entry.js.map → p-13a80dc5.entry.js.map} +0 -0
  336. /package/dist/core/{p-35a77e2d.entry.js.map → p-14e5fd00.entry.js.map} +0 -0
  337. /package/dist/core/{p-6378b5af.entry.js.map → p-185a46b9.entry.js.map} +0 -0
  338. /package/dist/core/{p-e7845795.entry.js.map → p-1b212799.entry.js.map} +0 -0
  339. /package/dist/core/{p-a82a8d9c.entry.js.map → p-1d67220c.entry.js.map} +0 -0
  340. /package/dist/core/{p-9f08ac81.entry.js.map → p-212e297e.entry.js.map} +0 -0
  341. /package/dist/core/{p-92bef3b8.entry.js.map → p-290773da.entry.js.map} +0 -0
  342. /package/dist/core/{p-2cc5dda1.entry.js.map → p-2e647c00.entry.js.map} +0 -0
  343. /package/dist/core/{p-f6416cb8.entry.js.map → p-2fb0e1cf.entry.js.map} +0 -0
  344. /package/dist/core/{p-51f069f2.entry.js.map → p-332a43c7.entry.js.map} +0 -0
  345. /package/dist/core/{p-071857ce.entry.js.map → p-33b1f5d8.entry.js.map} +0 -0
  346. /package/dist/core/{p-314df6e2.entry.js.map → p-3483a6e8.entry.js.map} +0 -0
  347. /package/dist/core/{p-854e705c.entry.js.map → p-34cf509a.entry.js.map} +0 -0
  348. /package/dist/core/{p-dd45944f.entry.js.map → p-36312bef.entry.js.map} +0 -0
  349. /package/dist/core/{p-a0b01f1b.entry.js.map → p-389edb54.entry.js.map} +0 -0
  350. /package/dist/core/{p-ecbb9731.entry.js.map → p-3e3a1607.entry.js.map} +0 -0
  351. /package/dist/core/{p-c9bd2a6e.entry.js.map → p-3f62cf30.entry.js.map} +0 -0
  352. /package/dist/core/{p-28d8b65c.entry.js.map → p-4978aa0a.entry.js.map} +0 -0
  353. /package/dist/core/{p-b5ceb3ba.entry.js.map → p-4b048e19.entry.js.map} +0 -0
  354. /package/dist/core/{p-680c0fee.entry.js.map → p-4c83f443.entry.js.map} +0 -0
  355. /package/dist/core/{p-37f5729b.entry.js.map → p-4dbaff99.entry.js.map} +0 -0
  356. /package/dist/core/{p-5fa30ebf.entry.js.map → p-58c875bb.entry.js.map} +0 -0
  357. /package/dist/core/{p-a14aa161.entry.js.map → p-5d33cb6e.entry.js.map} +0 -0
  358. /package/dist/core/{p-ee1637ef.entry.js.map → p-5e7e7cb1.entry.js.map} +0 -0
  359. /package/dist/core/{p-4c68eb90.entry.js.map → p-5facceb9.entry.js.map} +0 -0
  360. /package/dist/core/{p-c1911b6a.entry.js.map → p-6092fd22.entry.js.map} +0 -0
  361. /package/dist/core/{p-8c80d1aa.entry.js.map → p-650ac6c6.entry.js.map} +0 -0
  362. /package/dist/core/{p-671041de.entry.js.map → p-6977b168.entry.js.map} +0 -0
  363. /package/dist/core/{p-b4b79f0a.entry.js.map → p-6c745c3e.entry.js.map} +0 -0
  364. /package/dist/core/{p-a01a9f16.entry.js.map → p-718d0198.entry.js.map} +0 -0
  365. /package/dist/core/{p-c366f797.entry.js.map → p-761c33c7.entry.js.map} +0 -0
  366. /package/dist/core/{p-16ed4995.entry.js.map → p-7695610a.entry.js.map} +0 -0
  367. /package/dist/core/{p-b7e96a9d.entry.js.map → p-7b598f56.entry.js.map} +0 -0
  368. /package/dist/core/{p-37a58991.entry.js.map → p-7d1dd58a.entry.js.map} +0 -0
  369. /package/dist/core/{p-8fc87295.entry.js.map → p-8ab827a1.entry.js.map} +0 -0
  370. /package/dist/core/{p-443894aa.entry.js.map → p-a87d8f17.entry.js.map} +0 -0
  371. /package/dist/core/{p-49f584a3.entry.js.map → p-ab9d9655.entry.js.map} +0 -0
  372. /package/dist/core/{p-5d1f350b.entry.js.map → p-aba11ab4.entry.js.map} +0 -0
  373. /package/dist/core/{p-47efa303.entry.js.map → p-b58ed9ce.entry.js.map} +0 -0
  374. /package/dist/core/{p-e1a5a373.entry.js.map → p-bc2ec133.entry.js.map} +0 -0
  375. /package/dist/core/{p-fccbecd3.entry.js.map → p-c7e8faec.entry.js.map} +0 -0
  376. /package/dist/core/{p-94bc809d.entry.js.map → p-cc3c6319.entry.js.map} +0 -0
  377. /package/dist/core/{p-307906c9.entry.js.map → p-cce125de.entry.js.map} +0 -0
  378. /package/dist/core/{p-3e4a8fa7.entry.js.map → p-d2fc217d.entry.js.map} +0 -0
  379. /package/dist/core/{p-f10ad856.entry.js.map → p-dbad9256.entry.js.map} +0 -0
  380. /package/dist/core/{p-815d86ed.entry.js.map → p-dbb67e76.entry.js.map} +0 -0
  381. /package/dist/core/{p-0c78bb6a.entry.js.map → p-dbde347f.entry.js.map} +0 -0
  382. /package/dist/core/{p-fbbd1e5d.entry.js.map → p-eb403270.entry.js.map} +0 -0
  383. /package/dist/core/{p-372910de.entry.js.map → p-f11f707f.entry.js.map} +0 -0
  384. /package/dist/core/{p-a45a55eb.entry.js.map → p-f54fe20e.entry.js.map} +0 -0
  385. /package/dist/core/{p-45411344.entry.js.map → p-f9fee460.entry.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const win = require('./win-03714165.js');
8
8
  const Fragment = require('./Fragment-52846f79.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const constants = require('./constants-a33f6e99.js');
7
7
  const template = require('./template-431f0737.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const constants = require('./constants-a33f6e99.js');
7
7
  const template = require('./template-431f0737.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
 
8
8
  const LoadingClass = {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const props = require('./props-edd0d46f.js');
7
7
  const variants = require('./variants-85b514ea.js');
8
8
  const utils = require('./utils-d263c5c6.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const win = require('./win-03714165.js');
8
8
  const gov_log = require('./gov.log-8887c6bc.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const gov_log = require('./gov.log-8887c6bc.js');
7
7
  const constants = require('./constants-fdc5268a.js');
8
8
  require('./win-03714165.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const constants = require('./constants-fdc5268a.js');
7
7
  const wcag = require('./wcag-53ebeed1.js');
8
8
  const win = require('./win-03714165.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const Fragment = require('./Fragment-52846f79.js');
7
7
  const props = require('./props-edd0d46f.js');
8
8
  const sizes = require('./sizes-89f8d3b2.js');
@@ -99,6 +99,7 @@ const GovPagination = class {
99
99
  this.current = 1;
100
100
  this.total = 0;
101
101
  this.inverse = undefined;
102
+ this.selectIdentifier = undefined;
102
103
  this.size = "m";
103
104
  this.variant = "primary";
104
105
  this.pageSize = 10;
@@ -115,6 +116,7 @@ const GovPagination = class {
115
116
  this.pagination = undefined;
116
117
  this.h = template.govHost(this.host);
117
118
  this.pageSelectId = string_utils.createID("GovPageSelect");
119
+ this.selectId = string_utils.createID("GovSelect");
118
120
  }
119
121
  validateType(newValue) {
120
122
  props.validateProp(PaginationTypes, newValue, PaginationClass.root);
@@ -170,7 +172,7 @@ const GovPagination = class {
170
172
  const ariaCurrent = template.toBoolAttrIfDefined(this.pagination.currentPage === page ? true : undefined);
171
173
  return (index.h("gov-button", { href: this.prepareLinkUrl(page), variant: this.variant, size: this.size, type: "base", disabled: isDisabled, "on-gov-click": (e) => this.onClickHandler(e, page), "wcag-label": description ? description : page > -1 ? this.wcagPageLabel + " " + page : undefined, "wcag-current": ariaCurrent, class: PaginationClass.inner }, content));
172
174
  };
173
- return (index.h(index.Host, { class: this.h.classes(PaginationClass.root), type: this.type, variant: this.variant, size: this.size }, index.h("nav", { "aria-label": this.wcagLabel, "aria-labelledby": this.wcagLabelledBy }, index.h("ul", { class: PaginationClass.list }, index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.currentPage > 1 ? 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-double-left" }), this.labelStart)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.startPage < this.pagination.currentPage ? this.pagination.currentPage - 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-left" }), this.labelPrev)), this.type == "select" ? (index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemSelect]) }, index.h("span", { class: PaginationClass.inner }, index.h("span", { id: this.pageSelectId, hidden: true }, this.wcagSelectLabel), index.h("gov-form-select", { size: this.size, variant: this.variant, "wcag-labelled-by": this.pageSelectId, "on-gov-change": this.onSelectHandler.bind(this) }, array_utils.createArrayRange(1, this.pagination.totalPages).map(page => (index.h("option", { value: page, selected: this.pagination.currentPage === page }, page))))))) : (index.h(Fragment.Fragment, null, this.pagination.pages.map(page => (index.h("li", { class: this.isActivePageClass(PaginationClass.item, page) }, pageResolver(page, page, '')))), this.pagination.totalPages ? (index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemMore]) }, index.h("span", { class: PaginationClass.inner }, index.h("span", { id: this.pageSelectId, hidden: true }, this.wcagSelectLabel), index.h("gov-form-select", { size: this.size, variant: this.variant, "wcag-labelled-by": this.pageSelectId, ref: el => (this.spreadSelectRef = el), "on-gov-change": this.onSelectHandler.bind(this) }, index.h("option", { selected: true, hidden: true }, "..."), array_utils.createArrayRange(1, this.pagination.totalPages).map(page => (index.h("option", { value: page, selected: false }, page))))))) : null)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.totalPages > this.pagination.currentPage ? this.pagination.currentPage + 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-right" }), this.labelNext)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.totalPages > this.pagination.currentPage ? this.pagination.totalPages : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-double-right" }), this.labelEnd))))));
175
+ return (index.h(index.Host, { class: this.h.classes(PaginationClass.root), type: this.type, variant: this.variant, size: this.size }, index.h("nav", { "aria-label": this.wcagLabel, "aria-labelledby": this.wcagLabelledBy }, index.h("ul", { class: PaginationClass.list }, index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.currentPage > 1 ? 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-double-left" }), this.labelStart)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.startPage < this.pagination.currentPage ? this.pagination.currentPage - 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-left" }), this.labelPrev)), this.type == "select" ? (index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemSelect]) }, index.h("span", { class: PaginationClass.inner }, index.h("span", { id: this.pageSelectId, hidden: true }, this.wcagSelectLabel), index.h("gov-form-select", { size: this.size, variant: this.variant, identifier: this.selectIdentifier || this.selectId, "wcag-labelled-by": this.pageSelectId, "on-gov-change": this.onSelectHandler.bind(this) }, array_utils.createArrayRange(1, this.pagination.totalPages).map(page => (index.h("option", { value: page, selected: this.pagination.currentPage === page }, page))))))) : (index.h(Fragment.Fragment, null, this.pagination.pages.map(page => (index.h("li", { class: this.isActivePageClass(PaginationClass.item, page) }, pageResolver(page, page, '')))), this.pagination.totalPages ? (index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemMore]) }, index.h("span", { class: PaginationClass.inner }, index.h("span", { id: this.pageSelectId, hidden: true }, this.wcagSelectLabel), index.h("gov-form-select", { size: this.size, variant: this.variant, identifier: this.selectIdentifier || this.selectId, "wcag-labelled-by": this.pageSelectId, ref: el => (this.spreadSelectRef = el), "on-gov-change": this.onSelectHandler.bind(this) }, index.h("option", { selected: true, hidden: true }, "..."), array_utils.createArrayRange(1, this.pagination.totalPages).map(page => (index.h("option", { value: page, selected: false }, page))))))) : null)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.totalPages > this.pagination.currentPage ? this.pagination.currentPage + 1 : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-right" }), this.labelNext)), index.h("li", { class: template.prepareClasses([PaginationClass.item, PaginationClass.itemArrow]) }, pageResolver(this.pagination.totalPages > this.pagination.currentPage ? this.pagination.totalPages : -1, index.h("gov-icon", { class: PaginationClass.arrow, name: "chevron-double-right" }), this.labelEnd))))));
174
176
  }
175
177
  onClickHandler(e, page) {
176
178
  e.stopPropagation();
@@ -1 +1 @@
1
- {"file":"gov-pagination.entry.cjs.js","mappings":"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","names":["pick","Sizes","Variants","govHost","createID","validateProp","canValidateWcagOnRender","delay","toBoolAttrIfDefined","h","Host","prepareClasses","createArrayRange","Fragment","validateWcagProp","validateWcagLabel"],"sources":["../../../packages/core/src/components/gov-pagination/constants.ts","../../../packages/core/src/components/gov-pagination/pagination.ts","../../../packages/core/src/components/gov-pagination/gov-pagination.scss?tag=gov-pagination","../../../packages/core/src/components/gov-pagination/gov-pagination.tsx"],"sourcesContent":["import { Sizes } from '../../core/constants/sizes'\nimport { Variants } from '../../core/constants/variants'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const PaginationSizes = pick(Sizes, ['_S', '_M'])\nexport type PaginationSizeType = `${ValueOf<typeof PaginationSizes>}`\n\nexport const PaginationVariants = pick(Variants, ['PRIMARY', 'SECONDARY'])\nexport type PaginationVariantType = `${ValueOf<typeof PaginationVariants>}`\n\nexport enum PaginationTypes {\n\tBUTTON = 'button',\n\tSELECT = 'select',\n}\nexport type PaginationType = `${ValueOf<typeof PaginationTypes>}`\n\nexport const PaginationClass = {\n\troot: 'gov-pagination',\n\tlist: 'gov-pagination__list',\n\titem: 'gov-pagination__item',\n\titemArrow: 'gov-pagination__item--arrow',\n\titemMore: 'gov-pagination__item--more',\n\titemSelect: 'gov-pagination__item--select',\n\tinner: 'gov-pagination__inner',\n\tarrow: 'gov-pagination__arrow',\n}\n","export interface Pagination {\n\ttotalItems: number\n\tcurrentPage: number\n\tpageSize: number\n\ttotalPages: number\n\tstartPage: number\n\tendPage: number\n\tstartIndex: number\n\tendIndex: number\n\tpages: number[]\n}\n\nexport function paginate(totalItems: number, currentPage = 1, pageSize = 10, maxPages = 10): Pagination {\n\t// calculate total pages\n\tconst totalPages = Math.ceil(totalItems / pageSize)\n\n\t// ensure current page isn't out of range\n\tif (currentPage < 1) {\n\t\tcurrentPage = 1\n\t} else if (currentPage > totalPages) {\n\t\tcurrentPage = totalPages\n\t}\n\n\tlet startPage: number, endPage: number\n\tif (totalPages <= maxPages) {\n\t\t// total pages less than max so show all pages\n\t\tstartPage = 1\n\t\tendPage = totalPages\n\t} else {\n\t\t// total pages more than max so calculate start and end pages\n\t\tconst maxPagesBeforeCurrentPage = Math.floor(maxPages / 2)\n\t\tconst maxPagesAfterCurrentPage = Math.ceil(maxPages / 2) - 1\n\t\tif (currentPage <= maxPagesBeforeCurrentPage) {\n\t\t\t// current page near the start\n\t\t\tstartPage = 1\n\t\t\tendPage = maxPages\n\t\t} else if (currentPage + maxPagesAfterCurrentPage >= totalPages) {\n\t\t\t// current page near the end\n\t\t\tstartPage = totalPages - maxPages + 1\n\t\t\tendPage = totalPages\n\t\t} else {\n\t\t\t// current page somewhere in the middle\n\t\t\tstartPage = currentPage - maxPagesBeforeCurrentPage\n\t\t\tendPage = currentPage + maxPagesAfterCurrentPage\n\t\t}\n\t}\n\n\t// calculate start and end item indexes\n\tconst startIndex = (currentPage - 1) * pageSize\n\tconst endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1)\n\n\t// create an array of pages to ng-repeat in the pager control\n\tconst pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i)\n\n\t// return object with all pager properties required by the view\n\treturn {\n\t\ttotalItems: totalItems,\n\t\tcurrentPage: currentPage,\n\t\tpageSize: pageSize,\n\t\ttotalPages: totalPages,\n\t\tstartPage: startPage,\n\t\tendPage: endPage,\n\t\tstartIndex: startIndex,\n\t\tendIndex: endIndex,\n\t\tpages: pages,\n\t}\n}\n","/*\n * Pagination\n */\n\n$class: \".gov-pagination\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@extend %reset-ul;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\tfont-weight: bold;\n\t\ttext-align: center;\n\t}\n\t&__list &__item {\n\t\t@extend %reset-ul-li;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tmargin: 0;\n\t\tpadding: rem-calc(2);\n\t\tborder-radius: $border-radius;\n\t\toverflow: hidden;\n\t\t&--arrow {\n\t\t\tdisplay: flex;\n\t\t}\n\t\t&--select {\n\t\t\tz-index: 1;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\tpadding: rem-calc(0 16);\n\t\t}\n\t}\n\t&__arrow {\n\t\tmargin: 0;\n\t}\n\t&__item--more {\n\t\t.gov-form-select {\n\t\t\tselect {\n\t\t\t\tborder: none !important;\n\t\t\t\tpadding-right: rem-calc(12) !important;\n\t\t\t}\n\t\t\t.gov-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\t&__inner {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\talign-self: stretch;\n\t\twidth: 100%;\n\t\ttext-decoration: none;\n\t\t// Use hover styles from gov-button to active page button\n\t\t&[wcag-current=\"true\"] {\n\t\t\t@each $variant, $types in $button-variants {\n\t\t\t\t@each $type, $definitions in $types {\n\t\t\t\t\t&[type=\"#{$type}\"][variant=\"#{$variant}\"] {\n\t\t\t\t\t\t.element {\n\t\t\t\t\t\t\tbackground-color: deep-map-get($button-variants, $variant, $type, \"hover-bg\");\n\t\t\t\t\t\t\tcolor: deep-map-get($button-variants, $variant, $type, \"hover-color\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@each $size, $definitions in $pagination-sizes {\n\t\t&[size=\"#{$size}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__inner {\n\t\t\t\t\t@include typography(get(\"font\", $definitions));\n\t\t\t\t\tfont-weight: inherit;\n\t\t\t\t\t.element {\n\t\t\t\t\t\tmin-width: get(\"button-size\", $definitions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import Fragment from \"../../helpers/Fragment\"\nimport {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tPaginationClass,\n\tPaginationSizes,\n\tPaginationSizeType,\n\tPaginationType,\n\tPaginationTypes,\n\tPaginationVariants,\n\tPaginationVariantType,\n} from \"./constants\"\nimport {govHost, prepareClasses, toBoolAttrIfDefined} from \"../../helpers/Dom/template\"\nimport {paginate, Pagination} from \"./pagination\"\nimport {validateWcagLabel, validateWcagProp} from \"../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../helpers/Dom/win\"\nimport {delay} from \"../../utils/utils\"\nimport {createID} from \"../../utils/string.utils\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {createArrayRange} from \"../../utils/array.utils\"\nimport {FormSelectEvent} from \"../gov-form/select/gov-form-select.types\"\nimport {PaginationEvent} from \"./gov-pagination.types\"\n\n@Component({\n\ttag: \"gov-pagination\",\n\tstyleUrl: \"gov-pagination.scss\",\n})\nexport class GovPagination {\n\tprivate h: GovHost\n\tprivate readonly pageSelectId: string\n\n\tprivate spreadSelectRef?: HTMLGovFormSelectElement\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.pageSelectId = createID(\"GovPageSelect\")\n\t}\n\n\t@Element() readonly host: HTMLGovPaginationElement\n\t/**\n\t * Pagination type\n\t */\n\t@Prop() readonly type: PaginationType = \"button\"\n\t/**\n\t * Currently displayed page\n\t */\n\t@Prop() readonly current: number = 1\n\t/**\n\t * Total count of entries\n\t */\n\t@Prop() readonly total: number = 0\n\t/**\n\t * Set on active page\n\t */\n\t@Prop() readonly inverse: boolean\n\t/**\n\t * Pagination's size\n\t */\n\t@Prop() readonly size?: PaginationSizeType = \"m\"\n\t/**\n\t * Style variation of the pagination.\n\t */\n\t@Prop() readonly variant?: PaginationVariantType = \"primary\"\n\t/**\n\t * Maximum number of entries per page\n\t */\n\t@Prop({attribute: \"page-size\"}) readonly pageSize: number = 10\n\t/**\n\t * Maximum pages displayed for selection\n\t */\n\t@Prop({attribute: \"max-pages\"}) readonly maxPages: number = 5\n\t/**\n\t * Setting a link to redirect to a given page.\n\t * The {PAGE} wildcard can be used in the link to replace the page number.\n\t * Note that in the case of paging through a link, it is always necessary to send to the component the current page where the user is.\n\t */\n\t@Prop() readonly link: string\n\t/**\n\t * Adds accessible label for the pagination that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"wcag-label\"}) readonly wcagLabel: string\n\t/**\n\t * Indicates the id of a component that labels the pagination.\n\t */\n\t@Prop({attribute: \"wcag-labelled-by\"}) readonly wcagLabelledBy: string\n\t/**\n\t * Adds accessible label for the page select\n\t */\n\t@Prop({attribute: \"wcag-select-label\"}) readonly wcagSelectLabel: string = \"Vybrat stranu\"\n\t/**\n\t * Adds accessible label for the page item\n\t */\n\t@Prop({attribute: \"wcag-page-label\"}) readonly wcagPageLabel: string = \"Strana\"\n\t/**\n\t * Description of the possibility to go back one page\n\t */\n\t@Prop({attribute: \"label-prev\"}) readonly labelPrev = 'Přejít o stranu zpět'\n\t/**\n\t * Description of the option to go to the top of paging\n\t */\n\t@Prop({attribute: \"label-start\"}) readonly labelStart = 'Přejít na začátek'\n\t/**\n\t * Description of the option to go to the end of paging\n\t */\n\t@Prop({attribute: \"label-next\"}) readonly labelNext = 'Přejít na další stranu'\n\t/**\n\t * Description of the option to move one page forward\n\t */\n\t@Prop({attribute: \"label-end\"}) readonly labelEnd = 'Přejít na konec'\n\t/**\n\t * Event called when changing the page with the current setting of the whole paging\n\t */\n\t@Event({eventName: \"gov-page\"}) govPage: EventEmitter<PaginationEvent>\n\n\t@State() pagination: Pagination\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(PaginationTypes, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(PaginationSizes, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"variant\")\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(PaginationVariants, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"current\")\n\t@Watch(\"total\")\n\t@Watch(\"pageSize\")\n\t@Watch(\"maxPages\")\n\trecalculate(): void {\n\t\tthis.recalculatePagination(this.current)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.recalculatePagination(this.current)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateVariant(this.variant)\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\tprivate recalculatePagination(currentPage: number) {\n\t\tthis.pagination = paginate(this.total, currentPage, this.pageSize, this.maxPages)\n\t}\n\n\tprivate isActivePageClass(originalClass: string, page: number) {\n\t\tif (this.pagination.currentPage === page) {\n\t\t\treturn originalClass + \" is-active\"\n\t\t} else {\n\t\t\treturn originalClass\n\t\t}\n\t}\n\n\tprivate prepareLinkUrl(page: number) {\n\t\tif (this.link) {\n\t\t\treturn String(this.link).replace(\"{PAGE}\", String(page))\n\t\t}\n\t\treturn undefined\n\t}\n\n\tprivate resetSelectValue() {\n\t\tif (this.spreadSelectRef) {\n\t\t\tthis.spreadSelectRef.getRef()\n\t\t\t\t.then((el: HTMLSelectElement) => {\n\t\t\t\t\tel.value = '...'\n\t\t\t\t})\n\t\t}\n\t}\n\n\trender() {\n\t\tconst pageResolver = (page: number, content: any, description: string) => {\n\t\t\tconst isDisabled = page === -1\n\t\t\tconst ariaCurrent = toBoolAttrIfDefined(this.pagination.currentPage === page ? true : undefined)\n\t\t\treturn (\n\t\t\t\t<gov-button\n\t\t\t\t\thref={this.prepareLinkUrl(page)}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\ttype=\"base\"\n\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\ton-gov-click={(e) => this.onClickHandler(e, page)}\n\t\t\t\t\twcag-label={description ? description : page > -1 ? this.wcagPageLabel + \" \" + page : undefined}\n\t\t\t\t\twcag-current={ariaCurrent}\n\t\t\t\t\tclass={PaginationClass.inner}>\n\t\t\t\t\t{content}\n\t\t\t\t</gov-button>\n\t\t\t)\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(PaginationClass.root)} type={this.type} variant={this.variant} size={this.size}>\n\t\t\t\t<nav aria-label={this.wcagLabel} aria-labelledby={this.wcagLabelledBy}>\n\t\t\t\t\t<ul class={PaginationClass.list}>\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.currentPage > 1 ? 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-double-left\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelStart\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.startPage < this.pagination.currentPage ? this.pagination.currentPage - 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-left\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelPrev\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t{this.type == \"select\" ? (\n\t\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemSelect])}>\n\t\t\t\t\t\t\t\t<span class={PaginationClass.inner}>\n\t\t\t\t\t\t\t\t\t<span id={this.pageSelectId} hidden>\n\t\t\t\t\t\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<gov-form-select\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\twcag-labelled-by={this.pageSelectId}\n\t\t\t\t\t\t\t\t\t\ton-gov-change={this.onSelectHandler.bind(this)}>\n\t\t\t\t\t\t\t\t\t\t{createArrayRange(1, this.pagination.totalPages).map(page => (\n\t\t\t\t\t\t\t\t\t\t\t<option value={page} selected={this.pagination.currentPage === page}>\n\t\t\t\t\t\t\t\t\t\t\t\t{page}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</gov-form-select>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{this.pagination.pages.map(page => (\n\t\t\t\t\t\t\t\t\t<li class={this.isActivePageClass(PaginationClass.item, page)}>{pageResolver(page, page, '')}</li>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{this.pagination.totalPages ? (\n\t\t\t\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemMore])}>\n\t\t\t\t\t\t\t\t\t<span class={PaginationClass.inner}>\n\t\t\t\t\t\t\t\t\t\t<span id={this.pageSelectId} hidden>\n\t\t\t\t\t\t\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<gov-form-select\n\t\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\t\twcag-labelled-by={this.pageSelectId}\n\t\t\t\t\t\t\t\t\t\t\tref={el => (this.spreadSelectRef = el as HTMLGovFormSelectElement)}\n\t\t\t\t\t\t\t\t\t\t\ton-gov-change={this.onSelectHandler.bind(this)}>\n\t\t\t\t\t\t\t\t\t\t\t<option selected hidden>...</option>\n\t\t\t\t\t\t\t\t\t\t\t{createArrayRange(1, this.pagination.totalPages).map(page => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option value={page} selected={false}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{page}\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-select>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.totalPages > this.pagination.currentPage ? this.pagination.currentPage + 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-right\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelNext\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.totalPages > this.pagination.currentPage ? this.pagination.totalPages : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-double-right\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelEnd\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: CustomEvent, page: number): void {\n\t\te.stopPropagation()\n\t\tthis.recalculatePagination(page)\n\t\tthis.govPage.emit({\n\t\t\tcomponent: PaginationClass.root,\n\t\t\tpagination: this.pagination\n\t\t})\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormSelectEvent>): void {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.value\n\t\tconst page = parseInt(value)\n\t\tthis.resetSelectValue()\n\t\tif (isNaN(page) === false) {\n\t\t\tthis.recalculatePagination(page)\n\t\t\tif (this.link) {\n\t\t\t\twindow.location.href = this.prepareLinkUrl(page)\n\t\t\t} else {\n\t\t\t\tthis.govPage.emit({\n\t\t\t\t\tcomponent: PaginationClass.root,\n\t\t\t\t\tpagination: this.pagination\n\t\t\t\t})\n\t\t\t}\n\t\t}\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\tvalidateWcagProp(this.wcagPageLabel, \"wcag-page-label\", PaginationClass.root)\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, PaginationClass.root)\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-pagination.entry.cjs.js","mappings":"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","names":["pick","Sizes","Variants","govHost","createID","validateProp","canValidateWcagOnRender","delay","toBoolAttrIfDefined","h","Host","prepareClasses","createArrayRange","Fragment","validateWcagProp","validateWcagLabel"],"sources":["../../../packages/core/src/components/gov-pagination/constants.ts","../../../packages/core/src/components/gov-pagination/pagination.ts","../../../packages/core/src/components/gov-pagination/gov-pagination.scss?tag=gov-pagination","../../../packages/core/src/components/gov-pagination/gov-pagination.tsx"],"sourcesContent":["import { Sizes } from '../../core/constants/sizes'\nimport { Variants } from '../../core/constants/variants'\nimport { pick } from '../../utils/utils'\nimport { ValueOf } from '../../types/interfaces'\n\nexport const PaginationSizes = pick(Sizes, ['_S', '_M'])\nexport type PaginationSizeType = `${ValueOf<typeof PaginationSizes>}`\n\nexport const PaginationVariants = pick(Variants, ['PRIMARY', 'SECONDARY'])\nexport type PaginationVariantType = `${ValueOf<typeof PaginationVariants>}`\n\nexport enum PaginationTypes {\n\tBUTTON = 'button',\n\tSELECT = 'select',\n}\nexport type PaginationType = `${ValueOf<typeof PaginationTypes>}`\n\nexport const PaginationClass = {\n\troot: 'gov-pagination',\n\tlist: 'gov-pagination__list',\n\titem: 'gov-pagination__item',\n\titemArrow: 'gov-pagination__item--arrow',\n\titemMore: 'gov-pagination__item--more',\n\titemSelect: 'gov-pagination__item--select',\n\tinner: 'gov-pagination__inner',\n\tarrow: 'gov-pagination__arrow',\n}\n","export interface Pagination {\n\ttotalItems: number\n\tcurrentPage: number\n\tpageSize: number\n\ttotalPages: number\n\tstartPage: number\n\tendPage: number\n\tstartIndex: number\n\tendIndex: number\n\tpages: number[]\n}\n\nexport function paginate(totalItems: number, currentPage = 1, pageSize = 10, maxPages = 10): Pagination {\n\t// calculate total pages\n\tconst totalPages = Math.ceil(totalItems / pageSize)\n\n\t// ensure current page isn't out of range\n\tif (currentPage < 1) {\n\t\tcurrentPage = 1\n\t} else if (currentPage > totalPages) {\n\t\tcurrentPage = totalPages\n\t}\n\n\tlet startPage: number, endPage: number\n\tif (totalPages <= maxPages) {\n\t\t// total pages less than max so show all pages\n\t\tstartPage = 1\n\t\tendPage = totalPages\n\t} else {\n\t\t// total pages more than max so calculate start and end pages\n\t\tconst maxPagesBeforeCurrentPage = Math.floor(maxPages / 2)\n\t\tconst maxPagesAfterCurrentPage = Math.ceil(maxPages / 2) - 1\n\t\tif (currentPage <= maxPagesBeforeCurrentPage) {\n\t\t\t// current page near the start\n\t\t\tstartPage = 1\n\t\t\tendPage = maxPages\n\t\t} else if (currentPage + maxPagesAfterCurrentPage >= totalPages) {\n\t\t\t// current page near the end\n\t\t\tstartPage = totalPages - maxPages + 1\n\t\t\tendPage = totalPages\n\t\t} else {\n\t\t\t// current page somewhere in the middle\n\t\t\tstartPage = currentPage - maxPagesBeforeCurrentPage\n\t\t\tendPage = currentPage + maxPagesAfterCurrentPage\n\t\t}\n\t}\n\n\t// calculate start and end item indexes\n\tconst startIndex = (currentPage - 1) * pageSize\n\tconst endIndex = Math.min(startIndex + pageSize - 1, totalItems - 1)\n\n\t// create an array of pages to ng-repeat in the pager control\n\tconst pages = Array.from(Array(endPage + 1 - startPage).keys()).map(i => startPage + i)\n\n\t// return object with all pager properties required by the view\n\treturn {\n\t\ttotalItems: totalItems,\n\t\tcurrentPage: currentPage,\n\t\tpageSize: pageSize,\n\t\ttotalPages: totalPages,\n\t\tstartPage: startPage,\n\t\tendPage: endPage,\n\t\tstartIndex: startIndex,\n\t\tendIndex: endIndex,\n\t\tpages: pages,\n\t}\n}\n","/*\n * Pagination\n */\n\n$class: \".gov-pagination\";\n\n#{$class} {\n\t@include base();\n\t&__list {\n\t\t@extend %reset-ul;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\tfont-weight: bold;\n\t\ttext-align: center;\n\t}\n\t&__list &__item {\n\t\t@extend %reset-ul-li;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tmargin: 0;\n\t\tpadding: rem-calc(2);\n\t\tborder-radius: $border-radius;\n\t\toverflow: hidden;\n\t\t&--arrow {\n\t\t\tdisplay: flex;\n\t\t}\n\t\t&--select {\n\t\t\tz-index: 1;\n\t\t\tdisplay: flex;\n\t\t\toverflow: visible;\n\t\t\tpadding: rem-calc(0 16);\n\t\t}\n\t}\n\t&__arrow {\n\t\tmargin: 0;\n\t}\n\t&__item--more {\n\t\t.gov-form-select {\n\t\t\tselect {\n\t\t\t\tborder: none !important;\n\t\t\t\tpadding-right: rem-calc(12) !important;\n\t\t\t}\n\t\t\t.gov-icon {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t}\n\t}\n\t&__inner {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\talign-self: stretch;\n\t\twidth: 100%;\n\t\ttext-decoration: none;\n\t\t// Use hover styles from gov-button to active page button\n\t\t&[wcag-current=\"true\"] {\n\t\t\t@each $variant, $types in $button-variants {\n\t\t\t\t@each $type, $definitions in $types {\n\t\t\t\t\t&[type=\"#{$type}\"][variant=\"#{$variant}\"] {\n\t\t\t\t\t\t.element {\n\t\t\t\t\t\t\tbackground-color: deep-map-get($button-variants, $variant, $type, \"hover-bg\");\n\t\t\t\t\t\t\tcolor: deep-map-get($button-variants, $variant, $type, \"hover-color\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// VARIANTS\n\t@each $size, $definitions in $pagination-sizes {\n\t\t&[size=\"#{$size}\"] {\n\t\t\t#{$class} {\n\t\t\t\t&__inner {\n\t\t\t\t\t@include typography(get(\"font\", $definitions));\n\t\t\t\t\tfont-weight: inherit;\n\t\t\t\t\t.element {\n\t\t\t\t\t\tmin-width: get(\"button-size\", $definitions);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import Fragment from \"../../helpers/Fragment\"\nimport {Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\nimport {validateProp} from \"../../helpers/Validate/props\"\nimport {\n\tPaginationClass,\n\tPaginationSizes,\n\tPaginationSizeType,\n\tPaginationType,\n\tPaginationTypes,\n\tPaginationVariants,\n\tPaginationVariantType,\n} from \"./constants\"\nimport {govHost, prepareClasses, toBoolAttrIfDefined} from \"../../helpers/Dom/template\"\nimport {paginate, Pagination} from \"./pagination\"\nimport {validateWcagLabel, validateWcagProp} from \"../../helpers/Validate/wcag\"\nimport {canValidateWcagOnRender} from \"../../helpers/Dom/win\"\nimport {delay} from \"../../utils/utils\"\nimport {createID} from \"../../utils/string.utils\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {createArrayRange} from \"../../utils/array.utils\"\nimport {FormSelectEvent} from \"../gov-form/select/gov-form-select.types\"\nimport {PaginationEvent} from \"./gov-pagination.types\"\n\n@Component({\n\ttag: \"gov-pagination\",\n\tstyleUrl: \"gov-pagination.scss\",\n})\nexport class GovPagination {\n\tprivate h: GovHost\n\tprivate readonly pageSelectId: string\n\tprivate readonly selectId: string\n\n\tprivate spreadSelectRef?: HTMLGovFormSelectElement\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.pageSelectId = createID(\"GovPageSelect\")\n\t\tthis.selectId = createID(\"GovSelect\")\n\t}\n\n\t@Element() readonly host: HTMLGovPaginationElement\n\t/**\n\t * Pagination type\n\t */\n\t@Prop() readonly type: PaginationType = \"button\"\n\t/**\n\t * Currently displayed page\n\t */\n\t@Prop() readonly current: number = 1\n\t/**\n\t * Total count of entries\n\t */\n\t@Prop() readonly total: number = 0\n\t/**\n\t * Set on active page\n\t */\n\t@Prop() readonly inverse: boolean\n\t/**\n\t * Custom select identifier.\n\t */\n\t@Prop({attribute: 'select-identifier'}) readonly selectIdentifier: string\n\t/**\n\t * Pagination's size\n\t */\n\t@Prop() readonly size?: PaginationSizeType = \"m\"\n\t/**\n\t * Style variation of the pagination.\n\t */\n\t@Prop() readonly variant?: PaginationVariantType = \"primary\"\n\t/**\n\t * Maximum number of entries per page\n\t */\n\t@Prop({attribute: \"page-size\"}) readonly pageSize: number = 10\n\t/**\n\t * Maximum pages displayed for selection\n\t */\n\t@Prop({attribute: \"max-pages\"}) readonly maxPages: number = 5\n\t/**\n\t * Setting a link to redirect to a given page.\n\t * The {PAGE} wildcard can be used in the link to replace the page number.\n\t * Note that in the case of paging through a link, it is always necessary to send to the component the current page where the user is.\n\t */\n\t@Prop() readonly link: string\n\t/**\n\t * Adds accessible label for the pagination that is only shown for screen readers.\n\t */\n\t@Prop({attribute: \"wcag-label\"}) readonly wcagLabel: string\n\t/**\n\t * Indicates the id of a component that labels the pagination.\n\t */\n\t@Prop({attribute: \"wcag-labelled-by\"}) readonly wcagLabelledBy: string\n\t/**\n\t * Adds accessible label for the page select\n\t */\n\t@Prop({attribute: \"wcag-select-label\"}) readonly wcagSelectLabel: string = \"Vybrat stranu\"\n\t/**\n\t * Adds accessible label for the page item\n\t */\n\t@Prop({attribute: \"wcag-page-label\"}) readonly wcagPageLabel: string = \"Strana\"\n\t/**\n\t * Description of the possibility to go back one page\n\t */\n\t@Prop({attribute: \"label-prev\"}) readonly labelPrev = 'Přejít o stranu zpět'\n\t/**\n\t * Description of the option to go to the top of paging\n\t */\n\t@Prop({attribute: \"label-start\"}) readonly labelStart = 'Přejít na začátek'\n\t/**\n\t * Description of the option to go to the end of paging\n\t */\n\t@Prop({attribute: \"label-next\"}) readonly labelNext = 'Přejít na další stranu'\n\t/**\n\t * Description of the option to move one page forward\n\t */\n\t@Prop({attribute: \"label-end\"}) readonly labelEnd = 'Přejít na konec'\n\t/**\n\t * Event called when changing the page with the current setting of the whole paging\n\t */\n\t@Event({eventName: \"gov-page\"}) govPage: EventEmitter<PaginationEvent>\n\n\t@State() pagination: Pagination\n\n\t@Watch(\"type\")\n\tvalidateType(newValue: string): void {\n\t\tvalidateProp(PaginationTypes, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"size\")\n\tvalidateSize(newValue: string): void {\n\t\tvalidateProp(PaginationSizes, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"variant\")\n\tvalidateVariant(newValue: string): void {\n\t\tvalidateProp(PaginationVariants, newValue, PaginationClass.root)\n\t}\n\n\t@Watch(\"current\")\n\t@Watch(\"total\")\n\t@Watch(\"pageSize\")\n\t@Watch(\"maxPages\")\n\trecalculate(): void {\n\t\tthis.recalculatePagination(this.current)\n\t}\n\n\tcomponentWillLoad() {\n\t\tthis.recalculatePagination(this.current)\n\t\tthis.validateSize(this.size)\n\t\tthis.validateVariant(this.variant)\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\tprivate recalculatePagination(currentPage: number) {\n\t\tthis.pagination = paginate(this.total, currentPage, this.pageSize, this.maxPages)\n\t}\n\n\tprivate isActivePageClass(originalClass: string, page: number) {\n\t\tif (this.pagination.currentPage === page) {\n\t\t\treturn originalClass + \" is-active\"\n\t\t} else {\n\t\t\treturn originalClass\n\t\t}\n\t}\n\n\tprivate prepareLinkUrl(page: number) {\n\t\tif (this.link) {\n\t\t\treturn String(this.link).replace(\"{PAGE}\", String(page))\n\t\t}\n\t\treturn undefined\n\t}\n\n\tprivate resetSelectValue() {\n\t\tif (this.spreadSelectRef) {\n\t\t\tthis.spreadSelectRef.getRef()\n\t\t\t\t.then((el: HTMLSelectElement) => {\n\t\t\t\t\tel.value = '...'\n\t\t\t\t})\n\t\t}\n\t}\n\n\trender() {\n\t\tconst pageResolver = (page: number, content: any, description: string) => {\n\t\t\tconst isDisabled = page === -1\n\t\t\tconst ariaCurrent = toBoolAttrIfDefined(this.pagination.currentPage === page ? true : undefined)\n\t\t\treturn (\n\t\t\t\t<gov-button\n\t\t\t\t\thref={this.prepareLinkUrl(page)}\n\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\tsize={this.size}\n\t\t\t\t\ttype=\"base\"\n\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\ton-gov-click={(e) => this.onClickHandler(e, page)}\n\t\t\t\t\twcag-label={description ? description : page > -1 ? this.wcagPageLabel + \" \" + page : undefined}\n\t\t\t\t\twcag-current={ariaCurrent}\n\t\t\t\t\tclass={PaginationClass.inner}>\n\t\t\t\t\t{content}\n\t\t\t\t</gov-button>\n\t\t\t)\n\t\t}\n\t\treturn (\n\t\t\t<Host class={this.h.classes(PaginationClass.root)} type={this.type} variant={this.variant} size={this.size}>\n\t\t\t\t<nav aria-label={this.wcagLabel} aria-labelledby={this.wcagLabelledBy}>\n\t\t\t\t\t<ul class={PaginationClass.list}>\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.currentPage > 1 ? 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-double-left\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelStart\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.startPage < this.pagination.currentPage ? this.pagination.currentPage - 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-left\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelPrev\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t{this.type == \"select\" ? (\n\t\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemSelect])}>\n\t\t\t\t\t\t\t\t<span class={PaginationClass.inner}>\n\t\t\t\t\t\t\t\t\t<span id={this.pageSelectId} hidden>\n\t\t\t\t\t\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<gov-form-select\n\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\tidentifier={this.selectIdentifier || this.selectId}\n\t\t\t\t\t\t\t\t\t\twcag-labelled-by={this.pageSelectId}\n\t\t\t\t\t\t\t\t\t\ton-gov-change={this.onSelectHandler.bind(this)}>\n\t\t\t\t\t\t\t\t\t\t{createArrayRange(1, this.pagination.totalPages).map(page => (\n\t\t\t\t\t\t\t\t\t\t\t<option value={page} selected={this.pagination.currentPage === page}>\n\t\t\t\t\t\t\t\t\t\t\t\t{page}\n\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</gov-form-select>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t{this.pagination.pages.map(page => (\n\t\t\t\t\t\t\t\t\t<li class={this.isActivePageClass(PaginationClass.item, page)}>{pageResolver(page, page, '')}</li>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t{this.pagination.totalPages ? (\n\t\t\t\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemMore])}>\n\t\t\t\t\t\t\t\t\t<span class={PaginationClass.inner}>\n\t\t\t\t\t\t\t\t\t\t<span id={this.pageSelectId} hidden>\n\t\t\t\t\t\t\t\t\t\t\t{this.wcagSelectLabel}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<gov-form-select\n\t\t\t\t\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\t\t\t\t\tvariant={this.variant}\n\t\t\t\t\t\t\t\t\t\t\tidentifier={this.selectIdentifier || this.selectId}\n\t\t\t\t\t\t\t\t\t\t\twcag-labelled-by={this.pageSelectId}\n\t\t\t\t\t\t\t\t\t\t\tref={el => (this.spreadSelectRef = el as HTMLGovFormSelectElement)}\n\t\t\t\t\t\t\t\t\t\t\ton-gov-change={this.onSelectHandler.bind(this)}>\n\t\t\t\t\t\t\t\t\t\t\t<option selected hidden>...</option>\n\t\t\t\t\t\t\t\t\t\t\t{createArrayRange(1, this.pagination.totalPages).map(page => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option value={page} selected={false}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{page}\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</gov-form-select>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.totalPages > this.pagination.currentPage ? this.pagination.currentPage + 1 : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-right\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelNext\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\n\t\t\t\t\t\t<li class={prepareClasses([PaginationClass.item, PaginationClass.itemArrow])}>\n\t\t\t\t\t\t\t{pageResolver(\n\t\t\t\t\t\t\t\tthis.pagination.totalPages > this.pagination.currentPage ? this.pagination.totalPages : -1,\n\t\t\t\t\t\t\t\t<gov-icon class={PaginationClass.arrow} name=\"chevron-double-right\"></gov-icon>,\n\t\t\t\t\t\t\t\tthis.labelEnd\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\tprivate onClickHandler(e: CustomEvent, page: number): void {\n\t\te.stopPropagation()\n\t\tthis.recalculatePagination(page)\n\t\tthis.govPage.emit({\n\t\t\tcomponent: PaginationClass.root,\n\t\t\tpagination: this.pagination\n\t\t})\n\t}\n\n\tprivate onSelectHandler(e: CustomEvent<FormSelectEvent>): void {\n\t\te.stopPropagation()\n\t\tconst value = e.detail.value\n\t\tconst page = parseInt(value)\n\t\tthis.resetSelectValue()\n\t\tif (isNaN(page) === false) {\n\t\t\tthis.recalculatePagination(page)\n\t\t\tif (this.link) {\n\t\t\t\twindow.location.href = this.prepareLinkUrl(page)\n\t\t\t} else {\n\t\t\t\tthis.govPage.emit({\n\t\t\t\t\tcomponent: PaginationClass.root,\n\t\t\t\t\tpagination: this.pagination\n\t\t\t\t})\n\t\t\t}\n\t\t}\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\tvalidateWcagProp(this.wcagPageLabel, \"wcag-page-label\", PaginationClass.root)\n\t\tvalidateWcagLabel(this.wcagLabel, this.wcagLabelledBy, PaginationClass.root)\n\t}\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const win = require('./win-03714165.js');
8
8
  const gov_log = require('./gov.log-8887c6bc.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const gov_log = require('./gov.log-8887c6bc.js');
7
7
  const constants = require('./constants-b8a9f758.js');
8
8
  const template = require('./template-431f0737.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const constants = require('./constants-b8a9f758.js');
7
7
  const wcag = require('./wcag-53ebeed1.js');
8
8
  const win = require('./win-03714165.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const utils = require('./utils-d263c5c6.js');
7
7
  const variants = require('./variants-85b514ea.js');
8
8
  const template = require('./template-431f0737.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const props = require('./props-edd0d46f.js');
7
7
  const sizes = require('./sizes-89f8d3b2.js');
8
8
  const utils = require('./utils-d263c5c6.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const props = require('./props-edd0d46f.js');
8
8
  const constants = require('./constants-7a5540d0.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const props = require('./props-edd0d46f.js');
7
7
  const constants = require('./constants-7a5540d0.js');
8
8
  const template = require('./template-431f0737.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const gov_log = require('./gov.log-8887c6bc.js');
7
7
  const props = require('./props-edd0d46f.js');
8
8
  const constants = require('./constants-8f194b53.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const props = require('./props-edd0d46f.js');
7
7
  const constants = require('./constants-8f194b53.js');
8
8
  const template = require('./template-431f0737.js');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const string_utils = require('./string.utils-2335838f.js');
8
8
  const constants = require('./constants-29b9825f.js');
@@ -25,8 +25,14 @@ const GovTabsItem = class {
25
25
  this.contentId = string_utils.createID('GovTabContent');
26
26
  this.triggerId = string_utils.createID('GovTabTrigger');
27
27
  }
28
+ rerenderParent() {
29
+ const element = this.h.getParent(constants.TabsClass.root);
30
+ if (element) {
31
+ element.rerender().catch();
32
+ }
33
+ }
28
34
  render() {
29
- return (index.h(index.Host, { key: '76d5b1152d766c4ec9f810e011cbb54fbb614b83', class: this.h.classes(constants.TabsItemClass.root), default: this.default }, index.h("div", { key: 'beffe50be2fe641def7fe2d1464dad4c00739072', class: constants.TabsItemClass.inner, role: "tabpanel", id: this.identifier || this.contentId, hidden: !this.isActive, "aria-labelledby": this.triggerIdentifier || this.triggerId, "aria-hidden": template.toBoolAttrIfDefined(!this.isActive) }, index.h("slot", { key: 'd788632dcc88e04112068e3dcf17c52737770255' }))));
35
+ return (index.h(index.Host, { key: 'b316d961cabc1aed647deaa504ddca1184860f70', class: this.h.classes(constants.TabsItemClass.root), default: this.default }, index.h("div", { key: 'd73aa35cc5131b81eaceff6afab13250b2587aec', class: constants.TabsItemClass.inner, role: "tabpanel", id: this.identifier || this.contentId, hidden: !this.isActive, "aria-labelledby": this.triggerIdentifier || this.triggerId, "aria-hidden": template.toBoolAttrIfDefined(!this.isActive) }, index.h("slot", { key: '4bdf7cd566204ab3ac1883a5194abce6526fc0f0' }))));
30
36
  }
31
37
  /**
32
38
  * Returns a unique tab content identifier
@@ -53,6 +59,11 @@ const GovTabsItem = class {
53
59
  this.isActive = status;
54
60
  }
55
61
  get host() { return index.getElement(this); }
62
+ static get watchers() { return {
63
+ "label": ["rerenderParent"],
64
+ "disabled": ["rerenderParent"],
65
+ "default": ["rerenderParent"]
66
+ }; }
56
67
  };
57
68
  GovTabsItem.style = GovTabsItemStyle0;
58
69
 
@@ -1 +1 @@
1
- {"file":"gov-tabs-item.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,cAAc,GAAG,2dAA2d,CAAC;AACnf,0BAAe,cAAc;;MCUhB,WAAW;IAKvB;;;;;wBAsBoD,KAAK;uBAIrB,KAAK;wBACrB,KAAK;QA1BxB,IAAI,CAAC,CAAC,GAAGA,gBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAGC,qBAAQ,CAAC,eAAe,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAGA,qBAAQ,CAAC,eAAe,CAAC,CAAA;KAC1C;IAyBD,MAAM;QACL,QACCC,QAACC,UAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAACC,uBAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IACrEF,kEACC,KAAK,EAAEE,uBAAa,CAAC,KAAK,EAC1B,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EACrC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,qBACL,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,iBAC5CC,4BAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAEhDH,oEAAa,CACR,CACA,EACP;KACD;;;;IAMD,MAAM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAA;KACxC;;;;IAMD,MAAM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAA;KAC/C;;;;IAMD,MAAM,eAAe;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAA;KACpB;;;;IAMD,MAAM,eAAe,CAAC,MAAe;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;KACtB;;;;;;;","names":["govHost","createID","h","Host","TabsItemClass","toBoolAttrIfDefined"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs-item.scss?tag=gov-tabs-item","../../../packages/core/src/components/gov-tabs/gov-tabs-item.tsx"],"sourcesContent":["/*\n * Tabs - Item\n */\n\n$class: \".gov-tabs-item\";\n\n#{$class} {\n\tcolor: $tabs-text-color;\n\t&__inner {\n\t\t@include reset-last-margin();\n\t}\n}\n","import { Component, Element, h, Host, Method, Prop, State } from \"@stencil/core\"\n\nimport { govHost, toBoolAttrIfDefined } from \"../../helpers/Dom/template\"\nimport { GovHost } from \"../../helpers/Dom/template.types\"\nimport { createID } from \"../../utils/string.utils\"\nimport { TabsItemClass } from \"./constants\"\n\n@Component({\n\ttag: 'gov-tabs-item',\n\tstyleUrl: 'gov-tabs-item.scss',\n})\nexport class GovTabsItem {\n\tprivate h: GovHost\n\tprivate readonly contentId: string\n\tprivate readonly triggerId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.contentId = createID('GovTabContent')\n\t\tthis.triggerId = createID('GovTabTrigger')\n\t}\n\n\t@Element() host: HTMLGovTabsItemElement\n\t/**\n\t * Custom tab item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Custom tab trigger item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly triggerIdentifier: string\n\t/**\n\t * Item name of the tab\n\t */\n\t@Prop({reflect: true}) readonly label: string\n\t/**\n\t * Item disable state\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Default selected tab\n\t */\n\t@Prop() readonly default: boolean = false\n\t@State() isActive = false\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TabsItemClass.root)} default={this.default}>\n\t\t\t\t<div\n\t\t\t\t\tclass={TabsItemClass.inner}\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tid={this.identifier || this.contentId}\n\t\t\t\t\thidden={!this.isActive}\n\t\t\t\t\taria-labelledby={this.triggerIdentifier || this.triggerId}\n\t\t\t\t\taria-hidden={toBoolAttrIfDefined(!this.isActive)}\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns a unique tab content identifier\n\t */\n\t@Method()\n\tasync getIdentifier(): Promise<string> {\n\t\treturn this.identifier || this.contentId\n\t}\n\n\t/**\n\t * Returns a unique tab trigger identifier\n\t */\n\t@Method()\n\tasync getTriggerIdentifier(): Promise<string> {\n\t\treturn this.triggerIdentifier || this.triggerId\n\t}\n\n\t/**\n\t * Returns a unique tab trigger identifier\n\t */\n\t@Method()\n\tasync getDisableState(): Promise<boolean> {\n\t\treturn this.disabled\n\t}\n\n\t/**\n\t * Set status of tab-item\n\t */\n\t@Method()\n\tasync setActiveStatus(status: boolean): Promise<void> {\n\t\tthis.isActive = status\n\t}\n}\n"],"version":3}
1
+ {"file":"gov-tabs-item.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,cAAc,GAAG,2dAA2d,CAAC;AACnf,0BAAe,cAAc;;MCUhB,WAAW;IAKvB;;;;;wBAsBoD,KAAK;uBAIrB,KAAK;wBACrB,KAAK;QA1BxB,IAAI,CAAC,CAAC,GAAGA,gBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAGC,qBAAQ,CAAC,eAAe,CAAC,CAAA;QAC1C,IAAI,CAAC,SAAS,GAAGA,qBAAQ,CAAC,eAAe,CAAC,CAAA;KAC1C;IA4BD,cAAc;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS,CAACC,mBAAS,CAAC,IAAI,CAAuB,CAAC;QACvE,IAAI,OAAO,EAAE;YACZ,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAA;SAC1B;KACD;IAED,MAAM;QACL,QACCC,QAACC,UAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAACC,uBAAa,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IACrEF,kEACC,KAAK,EAAEE,uBAAa,CAAC,KAAK,EAC1B,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,EACrC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,qBACL,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,iBAC5CC,4BAAmB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAEhDH,oEAAa,CACR,CACA,EACP;KACD;;;;IAMD,MAAM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,SAAS,CAAA;KACxC;;;;IAMD,MAAM,oBAAoB;QACzB,OAAO,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAA;KAC/C;;;;IAMD,MAAM,eAAe;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAA;KACpB;;;;IAMD,MAAM,eAAe,CAAC,MAAe;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAA;KACtB;;;;;;;;;;;;","names":["govHost","createID","TabsClass","h","Host","TabsItemClass","toBoolAttrIfDefined"],"sources":["../../../packages/core/src/components/gov-tabs/gov-tabs-item.scss?tag=gov-tabs-item","../../../packages/core/src/components/gov-tabs/gov-tabs-item.tsx"],"sourcesContent":["/*\n * Tabs - Item\n */\n\n$class: \".gov-tabs-item\";\n\n#{$class} {\n\tcolor: $tabs-text-color;\n\t&__inner {\n\t\t@include reset-last-margin();\n\t}\n}\n","import {Component, Element, h, Host, Method, Prop, State, Watch} from \"@stencil/core\"\n\nimport {govHost, toBoolAttrIfDefined} from \"../../helpers/Dom/template\"\nimport {GovHost} from \"../../helpers/Dom/template.types\"\nimport {createID} from \"../../utils/string.utils\"\nimport {TabsClass, TabsItemClass} from \"./constants\"\n\n@Component({\n\ttag: 'gov-tabs-item',\n\tstyleUrl: 'gov-tabs-item.scss',\n})\nexport class GovTabsItem {\n\tprivate h: GovHost\n\tprivate readonly contentId: string\n\tprivate readonly triggerId: string\n\n\tconstructor() {\n\t\tthis.h = govHost(this.host)\n\t\tthis.contentId = createID('GovTabContent')\n\t\tthis.triggerId = createID('GovTabTrigger')\n\t}\n\n\t@Element() host: HTMLGovTabsItemElement\n\t/**\n\t * Custom tab item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly identifier: string\n\t/**\n\t * Custom tab trigger item identifier. Otherwise, it will be generated\n\t */\n\t@Prop() readonly triggerIdentifier: string\n\t/**\n\t * Item name of the tab\n\t */\n\t@Prop({reflect: true}) readonly label: string\n\t/**\n\t * Item disable state\n\t */\n\t@Prop({reflect: true}) readonly disabled: boolean = false\n\t/**\n\t * Default selected tab\n\t */\n\t@Prop() readonly default: boolean = false\n\t@State() isActive = false\n\n\t@Watch('label')\n\t@Watch('disabled')\n\t@Watch('default')\n\trerenderParent() {\n\t\tconst element = this.h.getParent(TabsClass.root) as HTMLGovTabsElement;\n\t\tif (element) {\n\t\t\telement.rerender().catch()\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class={this.h.classes(TabsItemClass.root)} default={this.default}>\n\t\t\t\t<div\n\t\t\t\t\tclass={TabsItemClass.inner}\n\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\tid={this.identifier || this.contentId}\n\t\t\t\t\thidden={!this.isActive}\n\t\t\t\t\taria-labelledby={this.triggerIdentifier || this.triggerId}\n\t\t\t\t\taria-hidden={toBoolAttrIfDefined(!this.isActive)}\n\t\t\t\t>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n\n\t/**\n\t * Returns a unique tab content identifier\n\t */\n\t@Method()\n\tasync getIdentifier(): Promise<string> {\n\t\treturn this.identifier || this.contentId\n\t}\n\n\t/**\n\t * Returns a unique tab trigger identifier\n\t */\n\t@Method()\n\tasync getTriggerIdentifier(): Promise<string> {\n\t\treturn this.triggerIdentifier || this.triggerId\n\t}\n\n\t/**\n\t * Returns a unique tab trigger identifier\n\t */\n\t@Method()\n\tasync getDisableState(): Promise<boolean> {\n\t\treturn this.disabled\n\t}\n\n\t/**\n\t * Set status of tab-item\n\t */\n\t@Method()\n\tasync setActiveStatus(status: boolean): Promise<void> {\n\t\tthis.isActive = status\n\t}\n}\n"],"version":3}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-d7a6145d.js');
5
+ const index = require('./index-cfb57f19.js');
6
6
  const template = require('./template-431f0737.js');
7
7
  const win = require('./win-03714165.js');
8
8
  const props = require('./props-edd0d46f.js');
@@ -21,7 +21,7 @@ const GovTabs = class {
21
21
  index.registerInstance(this, hostRef);
22
22
  this.govChange = index.createEvent(this, "gov-change", 7);
23
23
  this.triggerRefs = {};
24
- this.controller = [];
24
+ this.controllers = [];
25
25
  this.focusIndex = 0;
26
26
  this.compactControls = false;
27
27
  this.type = "text";
@@ -40,17 +40,16 @@ const GovTabs = class {
40
40
  props.validateProp(constants.TabVariants, newValue, constants.TabsClass.root);
41
41
  }
42
42
  componentWillLoad() {
43
- this.prepareDataSource();
43
+ this.prepareControllers();
44
44
  }
45
45
  async componentDidRender() {
46
46
  if (win.canValidateWcagOnRender()) {
47
47
  await utils.delay(500);
48
48
  await this.validateWcag();
49
49
  }
50
- this.resizeObserver();
51
50
  }
52
- prepareDataSource() {
53
- this.controller = [];
51
+ prepareControllers() {
52
+ this.controllers = [];
54
53
  const promises = [];
55
54
  this.host.querySelectorAll(constants.TabsItemClass.root).forEach((tab) => {
56
55
  const controlItem = Promise.all([
@@ -72,49 +71,36 @@ const GovTabs = class {
72
71
  promises.push(controlItem);
73
72
  });
74
73
  Promise.all(promises).then(controllers => {
75
- let defaultTab = controllers.findIndex(controller => controller.default);
76
- if (defaultTab === -1)
77
- defaultTab = 0;
78
- this.focusIndex = defaultTab;
79
- controllers[defaultTab].active = true;
80
- this.controller = [...controllers];
74
+ let defaultTabIndex = controllers.findIndex(controller => controller.default);
75
+ if (defaultTabIndex === -1)
76
+ defaultTabIndex = 0;
77
+ this.focusIndex = defaultTabIndex;
78
+ controllers[defaultTabIndex].active = true;
79
+ this.controllers = [...controllers];
81
80
  this.reRender();
82
81
  });
83
82
  }
84
83
  setActiveByIdentifier(identifier) {
85
84
  const temp = [];
86
- this.controller.map(item => {
85
+ this.controllers.map(item => {
87
86
  item.active = identifier === item.triggerIdentifier || identifier === item.contentIdentifier;
88
87
  temp.push(item);
89
88
  });
90
- this.controller = [...temp];
89
+ this.controllers = [...temp];
91
90
  }
92
91
  reRender() {
93
- this.controller.map(control => {
94
- control.element.setActiveStatus(control.active);
92
+ this.controllers.map(control => {
93
+ control.element.setActiveStatus(control.active).catch();
95
94
  });
96
95
  }
97
- /*
98
- private evaluateControls() {
99
- this.compactControls = false
100
- let sumOfWidth = this.tabsRef.querySelector("ul").offsetWidth
101
- this.compactControls = this.tabsRef.offsetWidth < sumOfWidth
102
- }
103
- */
104
- resizeObserver() {
105
- const resizeObserver = new ResizeObserver(utils.throttle(() => {
106
- // this.evaluateControls()
107
- }, 200));
108
- resizeObserver.observe(this.tabsRef);
109
- }
110
96
  render() {
111
- return (index.h(index.Host, { key: '561251fc7844ec9d11f72ff6e03ac6656b298ac9', class: this.h.classes(constants.TabsClass.root), variant: this.variant, type: this.type, role: "tablist", ref: el => (this.tabsRef = el), "aria-label": this.wcagLabel, "aria-labelledby": this.wcagLabelledBy, onKeyDown: this.onKeydownHandler.bind(this) }, index.h("div", { key: 'c5ecb113f0c39857a3d4eea506b08321b577f2b1', class: constants.TabsClass.tabs, "aria-hidden": template.toBoolAttr(this.compactControls) }, index.h("ul", { key: 'd1d1d166a43ddc69d35ec6c359dbab589e3c92fd', class: constants.TabsClass.list }, this.controller.map(control => (index.h("li", { class: constants.TabsClass.item }, this.type == "text" ? (index.h("button", { class: constants.TabsClass.btn, id: control.triggerIdentifier, role: "tab", onClick: () => this.onSelectHandler(control), disabled: control.disabled, "aria-disabled": template.toBoolAttr(control.disabled), "aria-selected": template.toBoolAttr(control.active), "aria-controls": control.contentIdentifier, tabindex: control.active && !control.disabled ? 0 : -1, ref: el => (this.triggerRefs[control.triggerIdentifier] = el) }, control.label)) : (index.h("gov-chip", { role: "tab", tag: 'button', identifier: control.triggerIdentifier, "wcag-selected": control.active, "wcag-controls": control.contentIdentifier, focusable: control.active, disabled: control.disabled, variant: this.variant, inverse: !control.active, ref: el => (this.triggerRefs[control.triggerIdentifier] = el), "on-gov-click": () => this.onSelectHandler(control) }, control.label))))))), index.h("span", { key: '713c0bcfb6ff3377c77bff908b7e30ecd084d64f', id: this.formSelectId, hidden: true }, this.wcagSelectLabel), this.compactControls ? (index.h("gov-form-select", { "wcag-labelled-by": this.formSelectId, "onGov-change": this.onChangeHandler.bind(this) }, this.controller.map(control => (index.h("option", { value: control.triggerIdentifier, selected: control.active }, control.label))))) : null, index.h("slot", { key: '176d4c69a319e1d0630db64ad853bd3358db865c' })));
97
+ return (index.h(index.Host, { key: 'fa6bb0777c56edcb61f5acfa4cac75fae2f8bb78', class: this.h.classes(constants.TabsClass.root), variant: this.variant, type: this.type, role: "tablist", "aria-label": this.wcagLabel, "aria-labelledby": this.wcagLabelledBy, onKeyDown: this.onKeydownHandler.bind(this) }, index.h("div", { key: '3e764b20b9a1e3221232d7567e45acae8701a963', class: constants.TabsClass.tabs, "aria-hidden": template.toBoolAttr(this.compactControls) }, index.h("ul", { key: 'adedeb20cd2d5608502410f1b843ba6293000e7c', class: constants.TabsClass.list }, this.controllers.map(control => (index.h("li", { class: constants.TabsClass.item }, this.type == "text" ? (index.h("button", { class: constants.TabsClass.btn, id: control.triggerIdentifier, role: "tab", onClick: () => this.onSelectHandler(control), disabled: control.disabled, "aria-disabled": template.toBoolAttr(control.disabled), "aria-selected": template.toBoolAttr(control.active), "aria-controls": control.contentIdentifier, tabindex: control.active && !control.disabled ? 0 : -1, ref: el => (this.triggerRefs[control.triggerIdentifier] = el) }, control.label)) : (index.h("gov-chip", { role: "tab", tag: 'button', identifier: control.triggerIdentifier, "wcag-selected": control.active, "wcag-controls": control.contentIdentifier, focusable: control.active, disabled: control.disabled, variant: this.variant, inverse: !control.active, ref: el => (this.triggerRefs[control.triggerIdentifier] = el), "on-gov-click": () => this.onSelectHandler(control) }, control.label))))))), index.h("span", { key: '6d855cd5195673b6a13aaf4b357b74bdcfd0ef4d', id: this.formSelectId, hidden: true }, this.wcagSelectLabel), this.compactControls ? (index.h("gov-form-select", { "wcag-labelled-by": this.formSelectId, "onGov-change": this.onChangeHandler.bind(this) }, this.controllers.map(control => (index.h("option", { value: control.triggerIdentifier, selected: control.active }, control.label))))) : null, index.h("slot", { key: 'd7ea30baebad93b05c1f978fcca0c19989be7227' })));
112
98
  }
113
99
  getCurrentTab() {
114
- return this.controller.find(control => control.active) || null;
100
+ return this.controllers.find(control => control.active) || null;
115
101
  }
116
102
  onSelectHandler(control) {
117
- const index = this.controller.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);
103
+ const index = this.controllers.findIndex(t => t.triggerIdentifier === control.triggerIdentifier);
118
104
  this.focusIndex = index;
119
105
  this.setActiveByIdentifier(control.triggerIdentifier);
120
106
  this.reRender();
@@ -134,30 +120,30 @@ const GovTabs = class {
134
120
  }
135
121
  goToPrevNext(keyCode) {
136
122
  if ([37, 38, 39, 40].includes(keyCode)) {
137
- if (false === (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1)) {
123
+ if (false === (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1)) {
138
124
  return;
139
125
  }
140
- this.controller[this.focusIndex].active = false;
126
+ this.controllers[this.focusIndex].active = false;
141
127
  if (keyCode === 39 || keyCode === 40) {
142
128
  this.focusIndex++;
143
- if (this.focusIndex >= this.controller.length) {
129
+ if (this.focusIndex >= this.controllers.length) {
144
130
  this.focusIndex = 0;
145
131
  }
146
- if (this.controller[this.focusIndex].disabled) {
132
+ if (this.controllers[this.focusIndex].disabled) {
147
133
  this.goToPrevNext(40);
148
134
  }
149
135
  }
150
136
  else if (keyCode === 37 || keyCode === 38) {
151
137
  this.focusIndex--;
152
138
  if (this.focusIndex < 0) {
153
- this.focusIndex = this.controller.length - 1;
139
+ this.focusIndex = this.controllers.length - 1;
154
140
  }
155
- if (this.controller[this.focusIndex].disabled) {
141
+ if (this.controllers[this.focusIndex].disabled) {
156
142
  this.goToPrevNext(38);
157
143
  }
158
144
  }
159
- if (this.focusIndex >= 0 && this.focusIndex <= this.controller.length - 1) {
160
- const current = this.controller[this.focusIndex];
145
+ if (this.focusIndex >= 0 && this.focusIndex <= this.controllers.length - 1) {
146
+ const current = this.controllers[this.focusIndex];
161
147
  current.active = true;
162
148
  const trigger = this.triggerRefs[current.triggerIdentifier];
163
149
  if (trigger.nodeName.toLowerCase() === 'gov-chip') {
@@ -166,7 +152,7 @@ const GovTabs = class {
166
152
  else {
167
153
  this.triggerRefs[current.triggerIdentifier].focus();
168
154
  }
169
- this.controller = [...this.controller];
155
+ this.controllers = [...this.controllers];
170
156
  this.reRender();
171
157
  this.govChange.emit(this.getCurrentTab().element);
172
158
  }
@@ -176,7 +162,7 @@ const GovTabs = class {
176
162
  * Regenerate tabs controllers
177
163
  */
178
164
  async refresh() {
179
- this.prepareDataSource();
165
+ this.prepareControllers();
180
166
  }
181
167
  /**
182
168
  * Returns the currently selected tabs-item
@@ -191,6 +177,12 @@ const GovTabs = class {
191
177
  this.setActiveByIdentifier(identifier);
192
178
  this.reRender();
193
179
  }
180
+ /**
181
+ * Regenerate tabs controllers
182
+ */
183
+ async rerender() {
184
+ this.prepareControllers();
185
+ }
194
186
  /**
195
187
  * Validate the WCAG attributes of the component
196
188
  */