@public-ui/components 1.7.19-rc.0 → 1.7.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. package/custom-elements.json +3 -3
  2. package/dist/cjs/{a11y.tipps-923d31bb.js → a11y.tipps-20e2697a.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-923d31bb.js.map → a11y.tipps-20e2697a.js.map} +1 -1
  4. package/dist/cjs/align-a0c0b6c2.js +4 -0
  5. package/dist/cjs/{align-455645f7.js.map → align-a0c0b6c2.js.map} +1 -1
  6. package/dist/cjs/{alignment-73648fda.js → alignment-1a33a7b8.js} +1 -1
  7. package/dist/cjs/{alignment-73648fda.js.map → alignment-1a33a7b8.js.map} +1 -1
  8. package/dist/cjs/{app-globals-59b0d899.js → app-globals-e6df1ca2.js} +1 -1
  9. package/dist/cjs/{app-globals-59b0d899.js.map → app-globals-e6df1ca2.js.map} +1 -1
  10. package/dist/cjs/aria-current-df4d0f40.js +4 -0
  11. package/dist/cjs/{aria-current-eaebb238.js.map → aria-current-df4d0f40.js.map} +1 -1
  12. package/dist/cjs/{associated.controller-958cf496.js → associated.controller-96ea9e87.js} +1 -1
  13. package/dist/cjs/{associated.controller-958cf496.js.map → associated.controller-96ea9e87.js.map} +1 -1
  14. package/dist/cjs/{color-e7355317.js → color-76ca6407.js} +1 -1
  15. package/dist/cjs/{color-e7355317.js.map → color-76ca6407.js.map} +1 -1
  16. package/dist/cjs/controller-0b2e2d06.js +4 -0
  17. package/dist/cjs/controller-0b2e2d06.js.map +1 -0
  18. package/dist/cjs/{controller-eb6518ab.js → controller-358a1a26.js} +1 -1
  19. package/dist/cjs/{controller-eb6518ab.js.map → controller-358a1a26.js.map} +1 -1
  20. package/dist/cjs/{controller-e7f6cec4.js → controller-77a7ddb1.js} +1 -1
  21. package/dist/cjs/{controller-e7f6cec4.js.map → controller-77a7ddb1.js.map} +1 -1
  22. package/dist/cjs/{controller-a824ce0b.js → controller-85a60241.js} +1 -1
  23. package/dist/cjs/{controller-a824ce0b.js.map → controller-85a60241.js.map} +1 -1
  24. package/dist/cjs/{controller-ea1cc474.js → controller-b037968d.js} +1 -1
  25. package/dist/cjs/{controller-ea1cc474.js.map → controller-b037968d.js.map} +1 -1
  26. package/dist/cjs/{controller-icon-eddce3d4.js → controller-icon-4a6f1f13.js} +1 -1
  27. package/dist/cjs/{controller-icon-eddce3d4.js.map → controller-icon-4a6f1f13.js.map} +1 -1
  28. package/dist/cjs/{custom-class-44774ebf.js → custom-class-c186d14f.js} +1 -1
  29. package/dist/cjs/{custom-class-44774ebf.js.map → custom-class-c186d14f.js.map} +1 -1
  30. package/dist/cjs/{dev.utils-904ddd52.js → dev.utils-d9eec21e.js} +1 -1
  31. package/dist/cjs/{dev.utils-904ddd52.js.map → dev.utils-d9eec21e.js.map} +1 -1
  32. package/dist/cjs/{devtools-0f659a1b.js → devtools-93b85e2b.js} +1 -1
  33. package/dist/cjs/{devtools-0f659a1b.js.map → devtools-93b85e2b.js.map} +1 -1
  34. package/dist/cjs/{form-field-msg-8043a6f2.js → form-field-msg-7fc04b0d.js} +1 -1
  35. package/dist/cjs/{form-field-msg-8043a6f2.js.map → form-field-msg-7fc04b0d.js.map} +1 -1
  36. package/dist/cjs/has-closer-7e3a6c5d.js +4 -0
  37. package/dist/cjs/{has-closer-183304eb.js.map → has-closer-7e3a6c5d.js.map} +1 -1
  38. package/dist/cjs/hide-label-a3bbd1bc.js +4 -0
  39. package/dist/cjs/{hide-label-b4ee052d.js.map → hide-label-a3bbd1bc.js.map} +1 -1
  40. package/dist/cjs/i18n-c3fa5bd7.js.map +1 -1
  41. package/dist/cjs/{icons-052fa1cf.js → icons-485a7a37.js} +1 -1
  42. package/dist/cjs/{icons-052fa1cf.js.map → icons-485a7a37.js.map} +1 -1
  43. package/dist/cjs/image-source-9c1a7288.js +4 -0
  44. package/dist/cjs/{image-source-16235305.js.map → image-source-9c1a7288.js.map} +1 -1
  45. package/dist/cjs/index-68c15fc9.js +4 -0
  46. package/dist/cjs/index-68c15fc9.js.map +1 -0
  47. package/dist/cjs/index.cjs.js +1 -1
  48. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-alert-wc.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-alert-wc.cjs.entry.js.map +1 -1
  52. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-avatar.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-button-wc.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-heading-wc.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  99. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-popover-wc.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
  115. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  116. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  120. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  121. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  122. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  124. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  125. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  126. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  127. package/dist/cjs/kol-tooltip-wc.cjs.entry.js +1 -1
  128. package/dist/cjs/kol-tooltip-wc.cjs.entry.js.map +1 -1
  129. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  130. package/dist/cjs/kolibri.cjs.js +1 -1
  131. package/dist/cjs/kolibri.cjs.js.map +1 -1
  132. package/dist/cjs/{label-4694ab25.js → label-4f1fa2d9.js} +1 -1
  133. package/dist/cjs/{label-4694ab25.js.map → label-4f1fa2d9.js.map} +1 -1
  134. package/dist/cjs/loader.cjs.js +1 -1
  135. package/dist/cjs/open-57306280.js +4 -0
  136. package/dist/cjs/{open-63b2c752.js.map → open-57306280.js.map} +1 -1
  137. package/dist/cjs/{prop.validators-b93ad1da.js → prop.validators-09b0c9d7.js} +1 -1
  138. package/dist/cjs/{prop.validators-b93ad1da.js.map → prop.validators-09b0c9d7.js.map} +1 -1
  139. package/dist/cjs/rows-d1faf399.js +4 -0
  140. package/dist/cjs/{rows-fe13f699.js.map → rows-d1faf399.js.map} +1 -1
  141. package/dist/cjs/show-79c47b94.js +4 -0
  142. package/dist/cjs/{show-bc1eea0f.js.map → show-79c47b94.js.map} +1 -1
  143. package/dist/cjs/{suggestions-aa723dbf.js → suggestions-eef15e0e.js} +1 -1
  144. package/dist/cjs/{suggestions-aa723dbf.js.map → suggestions-eef15e0e.js.map} +1 -1
  145. package/dist/cjs/{tab-index-1f3155e9.js → tab-index-94224eee.js} +1 -1
  146. package/dist/cjs/{tab-index-1f3155e9.js.map → tab-index-94224eee.js.map} +1 -1
  147. package/dist/cjs/{tooltip-align-df629de0.js → tooltip-align-441d97ed.js} +1 -1
  148. package/dist/cjs/{tooltip-align-df629de0.js.map → tooltip-align-441d97ed.js.map} +1 -1
  149. package/dist/cjs/{validation-5d167991.js → validation-6e3c598f.js} +1 -1
  150. package/dist/cjs/{validation-5d167991.js.map → validation-6e3c598f.js.map} +1 -1
  151. package/dist/cjs/validation-eee22f9f.js +4 -0
  152. package/dist/cjs/{validation-383f76c7.js.map → validation-eee22f9f.js.map} +1 -1
  153. package/dist/components/controller.js +1 -1
  154. package/dist/components/controller.js.map +1 -1
  155. package/dist/components/dev.utils.js +1 -1
  156. package/dist/components/dev.utils.js.map +1 -1
  157. package/dist/components/i18n.js.map +1 -1
  158. package/dist/components/kol-abbr.js +1 -1
  159. package/dist/components/kol-accordion.js +1 -1
  160. package/dist/components/kol-alert-wc.js +1 -1
  161. package/dist/components/kol-alert-wc.js.map +1 -1
  162. package/dist/components/kol-alert.js +1 -1
  163. package/dist/components/kol-avatar-wc.js +1 -1
  164. package/dist/components/kol-avatar.js +1 -1
  165. package/dist/components/kol-badge.js +1 -1
  166. package/dist/components/kol-breadcrumb.js +1 -1
  167. package/dist/components/kol-breadcrumb.js.map +1 -1
  168. package/dist/components/kol-button-group-wc.js +1 -1
  169. package/dist/components/kol-button-group.js +1 -1
  170. package/dist/components/kol-button-link-text-switch.js +1 -1
  171. package/dist/components/kol-button-link.js +1 -1
  172. package/dist/components/kol-button-wc.js +1 -1
  173. package/dist/components/kol-button.js +1 -1
  174. package/dist/components/kol-card.js +1 -1
  175. package/dist/components/kol-card.js.map +1 -1
  176. package/dist/components/kol-details.js +1 -1
  177. package/dist/components/kol-form.js +1 -1
  178. package/dist/components/kol-form.js.map +1 -1
  179. package/dist/components/kol-heading-wc.js +1 -1
  180. package/dist/components/kol-heading.js +1 -1
  181. package/dist/components/kol-icon-font-awesome.js +1 -1
  182. package/dist/components/kol-icon-icofont.js +1 -1
  183. package/dist/components/kol-icon.js +1 -1
  184. package/dist/components/kol-image.js +1 -1
  185. package/dist/components/kol-indented-text.js +1 -1
  186. package/dist/components/kol-input-adapter-leanup.js +1 -1
  187. package/dist/components/kol-input-checkbox.js +1 -1
  188. package/dist/components/kol-input-color.js +1 -1
  189. package/dist/components/kol-input-date.js +1 -1
  190. package/dist/components/kol-input-email.js +1 -1
  191. package/dist/components/kol-input-file.js +1 -1
  192. package/dist/components/kol-input-number.js +1 -1
  193. package/dist/components/kol-input-password.js +1 -1
  194. package/dist/components/kol-input-radio-group.js +1 -1
  195. package/dist/components/kol-input-radio.js +1 -1
  196. package/dist/components/kol-input-radio.js.map +1 -1
  197. package/dist/components/kol-input-range.js +1 -1
  198. package/dist/components/kol-input-range.js.map +1 -1
  199. package/dist/components/kol-input-text.js +1 -1
  200. package/dist/components/kol-input.js +1 -1
  201. package/dist/components/kol-input.js.map +1 -1
  202. package/dist/components/kol-kolibri.js +1 -1
  203. package/dist/components/kol-kolibri.js.map +1 -1
  204. package/dist/components/kol-link-button.js +1 -1
  205. package/dist/components/kol-link-group.js +1 -1
  206. package/dist/components/kol-link-group.js.map +1 -1
  207. package/dist/components/kol-link-wc.js +1 -1
  208. package/dist/components/kol-link-wc.js.map +1 -1
  209. package/dist/components/kol-link.js +1 -1
  210. package/dist/components/kol-logo.js +1 -1
  211. package/dist/components/kol-modal.js +1 -1
  212. package/dist/components/kol-modal.js.map +1 -1
  213. package/dist/components/kol-nav.js +1 -1
  214. package/dist/components/kol-nav.js.map +1 -1
  215. package/dist/components/kol-pagination.js +1 -1
  216. package/dist/components/kol-pagination.js.map +1 -1
  217. package/dist/components/kol-popover-wc.js +1 -1
  218. package/dist/components/kol-progress.js +1 -1
  219. package/dist/components/kol-quote.js +1 -1
  220. package/dist/components/kol-quote.js.map +1 -1
  221. package/dist/components/kol-select.js +1 -1
  222. package/dist/components/kol-skip-nav.js +1 -1
  223. package/dist/components/kol-span-wc.js +1 -1
  224. package/dist/components/kol-span-wc.js.map +1 -1
  225. package/dist/components/kol-span.js +1 -1
  226. package/dist/components/kol-spin.js +1 -1
  227. package/dist/components/kol-split-button.js +1 -1
  228. package/dist/components/kol-symbol.js +1 -1
  229. package/dist/components/kol-table.js +1 -1
  230. package/dist/components/kol-table.js.map +1 -1
  231. package/dist/components/kol-tabs.js +1 -1
  232. package/dist/components/kol-textarea.js +1 -1
  233. package/dist/components/kol-toast-container.js +1 -1
  234. package/dist/components/kol-toast-container.js.map +1 -1
  235. package/dist/components/kol-toast.js +1 -1
  236. package/dist/components/kol-toast.js.map +1 -1
  237. package/dist/components/kol-tooltip-wc.js +1 -1
  238. package/dist/components/kol-tooltip-wc.js.map +1 -1
  239. package/dist/components/kol-version.js +1 -1
  240. package/dist/esm/{a11y.tipps-03056ec4.js → a11y.tipps-2fa5953b.js} +1 -1
  241. package/dist/esm/{a11y.tipps-03056ec4.js.map → a11y.tipps-2fa5953b.js.map} +1 -1
  242. package/dist/esm/{align-39e9357e.js → align-d68fcc60.js} +1 -1
  243. package/dist/esm/{align-39e9357e.js.map → align-d68fcc60.js.map} +1 -1
  244. package/dist/esm/{alignment-af5fffad.js → alignment-ae1fa968.js} +1 -1
  245. package/dist/esm/{alignment-af5fffad.js.map → alignment-ae1fa968.js.map} +1 -1
  246. package/dist/esm/app-globals-0ada6761.js +4 -0
  247. package/dist/esm/{app-globals-ab5d0bac.js.map → app-globals-0ada6761.js.map} +1 -1
  248. package/dist/esm/{aria-current-6935a994.js → aria-current-2533cca9.js} +1 -1
  249. package/dist/esm/{aria-current-6935a994.js.map → aria-current-2533cca9.js.map} +1 -1
  250. package/dist/esm/{associated.controller-2c0780bb.js → associated.controller-a9205263.js} +1 -1
  251. package/dist/esm/{associated.controller-2c0780bb.js.map → associated.controller-a9205263.js.map} +1 -1
  252. package/dist/esm/{color-ddc8c149.js → color-45ba7bb3.js} +1 -1
  253. package/dist/esm/{color-ddc8c149.js.map → color-45ba7bb3.js.map} +1 -1
  254. package/dist/esm/{controller-2e354f09.js → controller-6ba49adb.js} +1 -1
  255. package/dist/esm/{controller-2e354f09.js.map → controller-6ba49adb.js.map} +1 -1
  256. package/dist/esm/{controller-f00c6399.js → controller-9180c6ea.js} +1 -1
  257. package/dist/esm/{controller-f00c6399.js.map → controller-9180c6ea.js.map} +1 -1
  258. package/dist/esm/{controller-2963c849.js → controller-be9041f0.js} +1 -1
  259. package/dist/esm/{controller-2963c849.js.map → controller-be9041f0.js.map} +1 -1
  260. package/dist/esm/{controller-ae81e1ff.js → controller-c37cc04c.js} +1 -1
  261. package/dist/esm/{controller-ae81e1ff.js.map → controller-c37cc04c.js.map} +1 -1
  262. package/dist/esm/controller-fa605ac3.js +4 -0
  263. package/dist/esm/controller-fa605ac3.js.map +1 -0
  264. package/dist/esm/{controller-icon-e440e7af.js → controller-icon-0429172d.js} +1 -1
  265. package/dist/esm/{controller-icon-e440e7af.js.map → controller-icon-0429172d.js.map} +1 -1
  266. package/dist/esm/{custom-class-10fd2196.js → custom-class-ca4a362d.js} +1 -1
  267. package/dist/esm/{custom-class-10fd2196.js.map → custom-class-ca4a362d.js.map} +1 -1
  268. package/dist/esm/{dev.utils-649c28f6.js → dev.utils-d7aa3c72.js} +1 -1
  269. package/dist/esm/{dev.utils-649c28f6.js.map → dev.utils-d7aa3c72.js.map} +1 -1
  270. package/dist/esm/{devtools-8e8f1c33.js → devtools-493a8172.js} +1 -1
  271. package/dist/esm/{devtools-8e8f1c33.js.map → devtools-493a8172.js.map} +1 -1
  272. package/dist/esm/form-field-msg-975814de.js +4 -0
  273. package/dist/esm/{form-field-msg-85face25.js.map → form-field-msg-975814de.js.map} +1 -1
  274. package/dist/esm/{has-closer-43fb1ce5.js → has-closer-18441dc1.js} +1 -1
  275. package/dist/esm/{has-closer-43fb1ce5.js.map → has-closer-18441dc1.js.map} +1 -1
  276. package/dist/esm/{hide-label-64739e48.js → hide-label-181cab2f.js} +1 -1
  277. package/dist/esm/{hide-label-64739e48.js.map → hide-label-181cab2f.js.map} +1 -1
  278. package/dist/esm/i18n-fddf0324.js.map +1 -1
  279. package/dist/esm/{icons-47b19f22.js → icons-3d6a581a.js} +1 -1
  280. package/dist/esm/{icons-47b19f22.js.map → icons-3d6a581a.js.map} +1 -1
  281. package/dist/esm/{image-source-24b13e85.js → image-source-e7abcbeb.js} +1 -1
  282. package/dist/esm/{image-source-24b13e85.js.map → image-source-e7abcbeb.js.map} +1 -1
  283. package/dist/esm/index-6237c77d.js +4 -0
  284. package/dist/esm/index-6237c77d.js.map +1 -0
  285. package/dist/esm/index.js +1 -1
  286. package/dist/esm/kol-abbr.entry.js +1 -1
  287. package/dist/esm/kol-accordion.entry.js +1 -1
  288. package/dist/esm/kol-alert-wc.entry.js +1 -1
  289. package/dist/esm/kol-alert-wc.entry.js.map +1 -1
  290. package/dist/esm/kol-alert.entry.js +1 -1
  291. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  292. package/dist/esm/kol-avatar.entry.js +1 -1
  293. package/dist/esm/kol-badge.entry.js +1 -1
  294. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  295. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  296. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  297. package/dist/esm/kol-button-group.entry.js +1 -1
  298. package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
  299. package/dist/esm/kol-button-link.entry.js +1 -1
  300. package/dist/esm/kol-button-wc.entry.js +1 -1
  301. package/dist/esm/kol-button.entry.js +1 -1
  302. package/dist/esm/kol-card.entry.js +1 -1
  303. package/dist/esm/kol-card.entry.js.map +1 -1
  304. package/dist/esm/kol-details.entry.js +1 -1
  305. package/dist/esm/kol-form.entry.js +1 -1
  306. package/dist/esm/kol-form.entry.js.map +1 -1
  307. package/dist/esm/kol-heading-wc.entry.js +1 -1
  308. package/dist/esm/kol-heading.entry.js +1 -1
  309. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  310. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  311. package/dist/esm/kol-icon.entry.js +1 -1
  312. package/dist/esm/kol-image.entry.js +1 -1
  313. package/dist/esm/kol-indented-text.entry.js +1 -1
  314. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  315. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  316. package/dist/esm/kol-input-color.entry.js +1 -1
  317. package/dist/esm/kol-input-date.entry.js +1 -1
  318. package/dist/esm/kol-input-email.entry.js +1 -1
  319. package/dist/esm/kol-input-file.entry.js +1 -1
  320. package/dist/esm/kol-input-number.entry.js +1 -1
  321. package/dist/esm/kol-input-password.entry.js +1 -1
  322. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  323. package/dist/esm/kol-input-radio.entry.js +1 -1
  324. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  325. package/dist/esm/kol-input-range.entry.js +1 -1
  326. package/dist/esm/kol-input-range.entry.js.map +1 -1
  327. package/dist/esm/kol-input-text.entry.js +1 -1
  328. package/dist/esm/kol-input.entry.js +1 -1
  329. package/dist/esm/kol-input.entry.js.map +1 -1
  330. package/dist/esm/kol-kolibri.entry.js +1 -1
  331. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  332. package/dist/esm/kol-link-button.entry.js +1 -1
  333. package/dist/esm/kol-link-group.entry.js +1 -1
  334. package/dist/esm/kol-link-group.entry.js.map +1 -1
  335. package/dist/esm/kol-link-wc.entry.js +1 -1
  336. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  337. package/dist/esm/kol-link.entry.js +1 -1
  338. package/dist/esm/kol-logo.entry.js +1 -1
  339. package/dist/esm/kol-modal.entry.js +1 -1
  340. package/dist/esm/kol-modal.entry.js.map +1 -1
  341. package/dist/esm/kol-nav.entry.js +1 -1
  342. package/dist/esm/kol-nav.entry.js.map +1 -1
  343. package/dist/esm/kol-pagination.entry.js +1 -1
  344. package/dist/esm/kol-pagination.entry.js.map +1 -1
  345. package/dist/esm/kol-popover-wc.entry.js +1 -1
  346. package/dist/esm/kol-progress.entry.js +1 -1
  347. package/dist/esm/kol-quote.entry.js +1 -1
  348. package/dist/esm/kol-quote.entry.js.map +1 -1
  349. package/dist/esm/kol-select.entry.js +1 -1
  350. package/dist/esm/kol-skip-nav.entry.js +1 -1
  351. package/dist/esm/kol-span-wc.entry.js +1 -1
  352. package/dist/esm/kol-span-wc.entry.js.map +1 -1
  353. package/dist/esm/kol-span.entry.js +1 -1
  354. package/dist/esm/kol-spin.entry.js +1 -1
  355. package/dist/esm/kol-split-button.entry.js +1 -1
  356. package/dist/esm/kol-symbol.entry.js +1 -1
  357. package/dist/esm/kol-table.entry.js +1 -1
  358. package/dist/esm/kol-table.entry.js.map +1 -1
  359. package/dist/esm/kol-tabs.entry.js +1 -1
  360. package/dist/esm/kol-textarea.entry.js +1 -1
  361. package/dist/esm/kol-toast-container.entry.js +1 -1
  362. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  363. package/dist/esm/kol-toast.entry.js +1 -1
  364. package/dist/esm/kol-toast.entry.js.map +1 -1
  365. package/dist/esm/kol-tooltip-wc.entry.js +1 -1
  366. package/dist/esm/kol-tooltip-wc.entry.js.map +1 -1
  367. package/dist/esm/kol-version.entry.js +1 -1
  368. package/dist/esm/kolibri.js +1 -1
  369. package/dist/esm/kolibri.js.map +1 -1
  370. package/dist/esm/{label-575ab397.js → label-218f516d.js} +1 -1
  371. package/dist/esm/{label-575ab397.js.map → label-218f516d.js.map} +1 -1
  372. package/dist/esm/loader.js +1 -1
  373. package/dist/esm/{open-c79e4c13.js → open-afad812b.js} +1 -1
  374. package/dist/esm/{open-c79e4c13.js.map → open-afad812b.js.map} +1 -1
  375. package/dist/esm/{prop.validators-4acd6265.js → prop.validators-0872ab9e.js} +1 -1
  376. package/dist/esm/{prop.validators-4acd6265.js.map → prop.validators-0872ab9e.js.map} +1 -1
  377. package/dist/esm/{rows-92d8c1f3.js → rows-b321b23e.js} +1 -1
  378. package/dist/esm/{rows-92d8c1f3.js.map → rows-b321b23e.js.map} +1 -1
  379. package/dist/esm/{show-ba970fdf.js → show-8dc521bf.js} +1 -1
  380. package/dist/esm/{show-ba970fdf.js.map → show-8dc521bf.js.map} +1 -1
  381. package/dist/esm/{suggestions-5074232b.js → suggestions-0d70b04d.js} +1 -1
  382. package/dist/esm/{suggestions-5074232b.js.map → suggestions-0d70b04d.js.map} +1 -1
  383. package/dist/esm/{tab-index-8740292d.js → tab-index-20b0daba.js} +1 -1
  384. package/dist/esm/{tab-index-8740292d.js.map → tab-index-20b0daba.js.map} +1 -1
  385. package/dist/esm/{tooltip-align-5ca3d175.js → tooltip-align-44ee374a.js} +1 -1
  386. package/dist/esm/{tooltip-align-5ca3d175.js.map → tooltip-align-44ee374a.js.map} +1 -1
  387. package/dist/esm/validation-0a2240d1.js +4 -0
  388. package/dist/esm/{validation-5dbb6873.js.map → validation-0a2240d1.js.map} +1 -1
  389. package/dist/esm/{validation-0d31ad13.js → validation-dc1ebfa2.js} +1 -1
  390. package/dist/esm/{validation-0d31ad13.js.map → validation-dc1ebfa2.js.map} +1 -1
  391. package/dist/kolibri/{a11y.tipps-03056ec4.js → a11y.tipps-2fa5953b.js} +1 -1
  392. package/dist/kolibri/align-d68fcc60.js +4 -0
  393. package/dist/kolibri/{alignment-af5fffad.js → alignment-ae1fa968.js} +1 -1
  394. package/dist/kolibri/app-globals-0ada6761.js +4 -0
  395. package/dist/kolibri/aria-current-2533cca9.js +4 -0
  396. package/dist/kolibri/{associated.controller-2c0780bb.js → associated.controller-a9205263.js} +1 -1
  397. package/dist/kolibri/{color-ddc8c149.js → color-45ba7bb3.js} +1 -1
  398. package/dist/kolibri/{controller-2e354f09.js → controller-6ba49adb.js} +1 -1
  399. package/dist/kolibri/{controller-f00c6399.js → controller-9180c6ea.js} +1 -1
  400. package/dist/kolibri/{controller-2963c849.js → controller-be9041f0.js} +1 -1
  401. package/dist/kolibri/{controller-ae81e1ff.js → controller-c37cc04c.js} +1 -1
  402. package/dist/kolibri/controller-fa605ac3.js +4 -0
  403. package/dist/kolibri/controller-fa605ac3.js.map +1 -0
  404. package/dist/kolibri/controller-icon-0429172d.js +4 -0
  405. package/dist/kolibri/{custom-class-10fd2196.js → custom-class-ca4a362d.js} +1 -1
  406. package/dist/kolibri/{dev.utils-649c28f6.js → dev.utils-d7aa3c72.js} +1 -1
  407. package/dist/kolibri/{dev.utils-649c28f6.js.map → dev.utils-d7aa3c72.js.map} +1 -1
  408. package/dist/kolibri/{devtools-8e8f1c33.js → devtools-493a8172.js} +1 -1
  409. package/dist/kolibri/form-field-msg-975814de.js +4 -0
  410. package/dist/kolibri/has-closer-18441dc1.js +4 -0
  411. package/dist/kolibri/hide-label-181cab2f.js +4 -0
  412. package/dist/kolibri/i18n-fddf0324.js.map +1 -1
  413. package/dist/kolibri/{icons-47b19f22.js → icons-3d6a581a.js} +1 -1
  414. package/dist/kolibri/image-source-e7abcbeb.js +4 -0
  415. package/dist/kolibri/index-6237c77d.js +5 -0
  416. package/dist/kolibri/index-6237c77d.js.map +1 -0
  417. package/dist/kolibri/index.esm.js +1 -1
  418. package/dist/kolibri/kol-abbr.entry.js +1 -1
  419. package/dist/kolibri/kol-accordion.entry.js +1 -1
  420. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  421. package/dist/kolibri/kol-alert-wc.entry.js.map +1 -1
  422. package/dist/kolibri/kol-alert.entry.js +1 -1
  423. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  424. package/dist/kolibri/kol-avatar.entry.js +1 -1
  425. package/dist/kolibri/kol-badge.entry.js +1 -1
  426. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  427. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  428. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  429. package/dist/kolibri/kol-button-group.entry.js +1 -1
  430. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  431. package/dist/kolibri/kol-button-link.entry.js +1 -1
  432. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  433. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  434. package/dist/kolibri/kol-button.entry.js +1 -1
  435. package/dist/kolibri/kol-card.entry.js +1 -1
  436. package/dist/kolibri/kol-card.entry.js.map +1 -1
  437. package/dist/kolibri/kol-details.entry.js +1 -1
  438. package/dist/kolibri/kol-form.entry.js +1 -1
  439. package/dist/kolibri/kol-form.entry.js.map +1 -1
  440. package/dist/kolibri/kol-heading-wc.entry.js +1 -1
  441. package/dist/kolibri/kol-heading.entry.js +1 -1
  442. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  443. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  444. package/dist/kolibri/kol-icon.entry.js +1 -1
  445. package/dist/kolibri/kol-image.entry.js +1 -1
  446. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  447. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  448. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  449. package/dist/kolibri/kol-input-color.entry.js +1 -1
  450. package/dist/kolibri/kol-input-date.entry.js +1 -1
  451. package/dist/kolibri/kol-input-email.entry.js +1 -1
  452. package/dist/kolibri/kol-input-file.entry.js +1 -1
  453. package/dist/kolibri/kol-input-number.entry.js +1 -1
  454. package/dist/kolibri/kol-input-password.entry.js +1 -1
  455. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  456. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  457. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  458. package/dist/kolibri/kol-input-range.entry.js +1 -1
  459. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  460. package/dist/kolibri/kol-input-text.entry.js +1 -1
  461. package/dist/kolibri/kol-input.entry.js +1 -1
  462. package/dist/kolibri/kol-input.entry.js.map +1 -1
  463. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  464. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  465. package/dist/kolibri/kol-link-button.entry.js +1 -1
  466. package/dist/kolibri/kol-link-group.entry.js +1 -1
  467. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  468. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  469. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  470. package/dist/kolibri/kol-link.entry.js +1 -1
  471. package/dist/kolibri/kol-logo.entry.js +1 -1
  472. package/dist/kolibri/kol-modal.entry.js +1 -1
  473. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  474. package/dist/kolibri/kol-nav.entry.js +1 -1
  475. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  476. package/dist/kolibri/kol-pagination.entry.js +1 -1
  477. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  478. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  479. package/dist/kolibri/kol-progress.entry.js +1 -1
  480. package/dist/kolibri/kol-quote.entry.js +1 -1
  481. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  482. package/dist/kolibri/kol-select.entry.js +1 -1
  483. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  484. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  485. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  486. package/dist/kolibri/kol-span.entry.js +1 -1
  487. package/dist/kolibri/kol-spin.entry.js +1 -1
  488. package/dist/kolibri/kol-split-button.entry.js +1 -1
  489. package/dist/kolibri/kol-symbol.entry.js +1 -1
  490. package/dist/kolibri/kol-table.entry.js +1 -1
  491. package/dist/kolibri/kol-table.entry.js.map +1 -1
  492. package/dist/kolibri/kol-tabs.entry.js +1 -1
  493. package/dist/kolibri/kol-textarea.entry.js +1 -1
  494. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  495. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  496. package/dist/kolibri/kol-toast.entry.js +1 -1
  497. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  498. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  499. package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
  500. package/dist/kolibri/kol-version.entry.js +1 -1
  501. package/dist/kolibri/kolibri.esm.js +1 -1
  502. package/dist/kolibri/kolibri.esm.js.map +1 -1
  503. package/dist/kolibri/label-218f516d.js +4 -0
  504. package/dist/kolibri/open-afad812b.js +4 -0
  505. package/dist/kolibri/{prop.validators-4acd6265.js → prop.validators-0872ab9e.js} +1 -1
  506. package/dist/kolibri/rows-b321b23e.js +4 -0
  507. package/dist/kolibri/show-8dc521bf.js +4 -0
  508. package/dist/kolibri/{suggestions-5074232b.js → suggestions-0d70b04d.js} +1 -1
  509. package/dist/kolibri/tab-index-20b0daba.js +4 -0
  510. package/dist/kolibri/{tab-index-8740292d.js.map → tab-index-20b0daba.js.map} +1 -1
  511. package/dist/kolibri/tooltip-align-44ee374a.js +4 -0
  512. package/dist/kolibri/validation-0a2240d1.js +4 -0
  513. package/dist/kolibri/{validation-0d31ad13.js → validation-dc1ebfa2.js} +1 -1
  514. package/doc/popover.md +2 -0
  515. package/doc/tooltip.md +1 -1
  516. package/package.json +1 -1
  517. package/vscode-custom-data.json +2 -2
  518. package/dist/cjs/align-455645f7.js +0 -4
  519. package/dist/cjs/aria-current-eaebb238.js +0 -4
  520. package/dist/cjs/controller-4fd26d4f.js +0 -4
  521. package/dist/cjs/controller-4fd26d4f.js.map +0 -1
  522. package/dist/cjs/has-closer-183304eb.js +0 -4
  523. package/dist/cjs/hide-label-b4ee052d.js +0 -4
  524. package/dist/cjs/image-source-16235305.js +0 -4
  525. package/dist/cjs/index-67d1914c.js +0 -4
  526. package/dist/cjs/index-67d1914c.js.map +0 -1
  527. package/dist/cjs/open-63b2c752.js +0 -4
  528. package/dist/cjs/rows-fe13f699.js +0 -4
  529. package/dist/cjs/show-bc1eea0f.js +0 -4
  530. package/dist/cjs/validation-383f76c7.js +0 -4
  531. package/dist/esm/app-globals-ab5d0bac.js +0 -4
  532. package/dist/esm/controller-7111c348.js +0 -4
  533. package/dist/esm/controller-7111c348.js.map +0 -1
  534. package/dist/esm/form-field-msg-85face25.js +0 -4
  535. package/dist/esm/index-a051748e.js +0 -4
  536. package/dist/esm/index-a051748e.js.map +0 -1
  537. package/dist/esm/validation-5dbb6873.js +0 -4
  538. package/dist/kolibri/align-39e9357e.js +0 -4
  539. package/dist/kolibri/app-globals-ab5d0bac.js +0 -4
  540. package/dist/kolibri/aria-current-6935a994.js +0 -4
  541. package/dist/kolibri/controller-7111c348.js +0 -4
  542. package/dist/kolibri/controller-7111c348.js.map +0 -1
  543. package/dist/kolibri/controller-icon-e440e7af.js +0 -4
  544. package/dist/kolibri/form-field-msg-85face25.js +0 -4
  545. package/dist/kolibri/has-closer-43fb1ce5.js +0 -4
  546. package/dist/kolibri/hide-label-64739e48.js +0 -4
  547. package/dist/kolibri/image-source-24b13e85.js +0 -4
  548. package/dist/kolibri/index-a051748e.js +0 -5
  549. package/dist/kolibri/index-a051748e.js.map +0 -1
  550. package/dist/kolibri/label-575ab397.js +0 -4
  551. package/dist/kolibri/open-c79e4c13.js +0 -4
  552. package/dist/kolibri/rows-92d8c1f3.js +0 -4
  553. package/dist/kolibri/show-ba970fdf.js +0 -4
  554. package/dist/kolibri/tab-index-8740292d.js +0 -4
  555. package/dist/kolibri/tooltip-align-5ca3d175.js +0 -4
  556. package/dist/kolibri/validation-5dbb6873.js +0 -4
  557. /package/dist/kolibri/{a11y.tipps-03056ec4.js.map → a11y.tipps-2fa5953b.js.map} +0 -0
  558. /package/dist/kolibri/{align-39e9357e.js.map → align-d68fcc60.js.map} +0 -0
  559. /package/dist/kolibri/{alignment-af5fffad.js.map → alignment-ae1fa968.js.map} +0 -0
  560. /package/dist/kolibri/{app-globals-ab5d0bac.js.map → app-globals-0ada6761.js.map} +0 -0
  561. /package/dist/kolibri/{aria-current-6935a994.js.map → aria-current-2533cca9.js.map} +0 -0
  562. /package/dist/kolibri/{associated.controller-2c0780bb.js.map → associated.controller-a9205263.js.map} +0 -0
  563. /package/dist/kolibri/{color-ddc8c149.js.map → color-45ba7bb3.js.map} +0 -0
  564. /package/dist/kolibri/{controller-2e354f09.js.map → controller-6ba49adb.js.map} +0 -0
  565. /package/dist/kolibri/{controller-f00c6399.js.map → controller-9180c6ea.js.map} +0 -0
  566. /package/dist/kolibri/{controller-2963c849.js.map → controller-be9041f0.js.map} +0 -0
  567. /package/dist/kolibri/{controller-ae81e1ff.js.map → controller-c37cc04c.js.map} +0 -0
  568. /package/dist/kolibri/{controller-icon-e440e7af.js.map → controller-icon-0429172d.js.map} +0 -0
  569. /package/dist/kolibri/{custom-class-10fd2196.js.map → custom-class-ca4a362d.js.map} +0 -0
  570. /package/dist/kolibri/{devtools-8e8f1c33.js.map → devtools-493a8172.js.map} +0 -0
  571. /package/dist/kolibri/{form-field-msg-85face25.js.map → form-field-msg-975814de.js.map} +0 -0
  572. /package/dist/kolibri/{has-closer-43fb1ce5.js.map → has-closer-18441dc1.js.map} +0 -0
  573. /package/dist/kolibri/{hide-label-64739e48.js.map → hide-label-181cab2f.js.map} +0 -0
  574. /package/dist/kolibri/{icons-47b19f22.js.map → icons-3d6a581a.js.map} +0 -0
  575. /package/dist/kolibri/{image-source-24b13e85.js.map → image-source-e7abcbeb.js.map} +0 -0
  576. /package/dist/kolibri/{label-575ab397.js.map → label-218f516d.js.map} +0 -0
  577. /package/dist/kolibri/{open-c79e4c13.js.map → open-afad812b.js.map} +0 -0
  578. /package/dist/kolibri/{prop.validators-4acd6265.js.map → prop.validators-0872ab9e.js.map} +0 -0
  579. /package/dist/kolibri/{rows-92d8c1f3.js.map → rows-b321b23e.js.map} +0 -0
  580. /package/dist/kolibri/{show-ba970fdf.js.map → show-8dc521bf.js.map} +0 -0
  581. /package/dist/kolibri/{suggestions-5074232b.js.map → suggestions-0d70b04d.js.map} +0 -0
  582. /package/dist/kolibri/{tooltip-align-5ca3d175.js.map → tooltip-align-44ee374a.js.map} +0 -0
  583. /package/dist/kolibri/{validation-5dbb6873.js.map → validation-0a2240d1.js.map} +0 -0
  584. /package/dist/kolibri/{validation-0d31ad13.js.map → validation-dc1ebfa2.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"kol-modal.entry.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/modal/style.scss?tag=kol-modal&mode=default&encapsulation=shadow","src/components/modal/component.tsx"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","@import '../style';\n\n.overlay {\n\tbackground-color: rgba(0, 0, 0, 0.33);\n\tdisplay: flex;\n\theight: 100%;\n\tinset: 0;\n\tposition: fixed;\n\twidth: 100%;\n\tz-index: 100;\n}\n\n.modal {\n\tmargin: auto;\n\tmax-height: 100%;\n\tmax-width: 100%;\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { KoliBriModalEventCallbacks } from '../../types/modal';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { setState, watchString, watchValidator } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\nimport { ModalService } from './service';\n\nconst modalService = new ModalService();\n\n/**\n * https://en.wikipedia.org/wiki/Modal_window\n * @deprecated use the native <dialog> instead\n */\n\n/**\n * @slot - Der Inhalt des Modals.\n */\n@Component({\n\ttag: 'kol-modal',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolModal implements API {\n\tprivate hostElement?: HTMLElement;\n\n\tpublic componentDidRender(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tif (this.state._activeElement /* SSR instanceof HTMLElement */) {\n\t\t\t\tmodalService.openModal(this.hostElement, this.state._activeElement);\n\t\t\t} else {\n\t\t\t\tmodalService.closeModal(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tmodalService.closeModal(this.hostElement);\n\t\t}\n\t}\n\n\tprivate readonly onKeyDown = (event: KeyboardEvent) => {\n\t\tif (event && event.code === 'Escape') {\n\t\t\tthis._activeElement = null;\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass=\"kol-modal\"\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.hostElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._activeElement /* SSR instanceof HTMLElement */ && (\n\t\t\t\t\t<div class=\"overlay\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"modal\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: this.state._width,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={this.state._label}\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\tif (el /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t\t\t\t\tel.setAttribute('tabindex', '0');\n\t\t\t\t\t\t\t\t\tsetTimeout(() => el.focus(), 250);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Referenz auf das auslösende HTML-Element an, wodurch das Modal geöffnet wurde.\n\t */\n\t@Prop({ mutable: true }) public _activeElement?: HTMLElement | null;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Modals an.\n\t */\n\t@Prop() public _on?: KoliBriModalEventCallbacks;\n\n\t/**\n\t * Defines the width of the modal. (max-width: 100%)\n\t */\n\t@Prop() public _width?: string = '100%';\n\n\t@State() public state: States = {\n\t\t_activeElement: null,\n\t\t_label: '…', // ⚠ required\n\t\t_width: '100%',\n\t};\n\n\t@Watch('_activeElement')\n\tpublic validateActiveElement(value?: HTMLElement | null): void {\n\t\twatchValidator(this, '_activeElement', (value): boolean => typeof value === 'object' || value === null, new Set(['HTMLElement', 'null']), value, {\n\t\t\tdefaultValue: null,\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\t/* Call onClose event in the _activeElement watcher because activeElement can be set internally and from the outside and closes the modal when set to null. */\n\t\t\t\t\tif (this._activeElement === null && this.state._on?.onClose) {\n\t\t\t\t\t\tthis.state._on.onClose();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriModalEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriModalEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriModalEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_width')\n\tpublic validateWidth(value?: string): void {\n\t\twatchString(this, '_width', value, {\n\t\t\tdefaultValue: '100%',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActiveElement(this._activeElement);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateWidth(this._width);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-modal.entry.js","mappings":"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","names":[],"sources":["src/components/modal/service.ts","src/components/modal/style.scss?tag=kol-modal&mode=default&encapsulation=shadow","src/components/modal/component.tsx"],"sourcesContent":["import { getDocument, Log } from '../../utils/dev.utils';\n\ntype ModalContext = {\n\tactiveElement?: HTMLElement;\n};\n\ntype LockedElementContext = {\n\ttabIndex?: string;\n};\n\n/**\n * The modal service is only working client-side!\n */\nexport class ModalService {\n\tprivate lockedElements: Map<HTMLElement, LockedElementContext> = new Map();\n\tprivate modalStack: Map<HTMLElement, ModalContext> = new Map();\n\n\tprivate lockElement(htmlElement: HTMLElement) {\n\t\tconst tabIndex: string | null = htmlElement.getAttribute('tabindex');\n\t\tif (\n\t\t\thtmlElement instanceof HTMLAnchorElement ||\n\t\t\thtmlElement instanceof HTMLButtonElement ||\n\t\t\thtmlElement instanceof HTMLInputElement ||\n\t\t\thtmlElement instanceof HTMLSelectElement ||\n\t\t\thtmlElement instanceof HTMLTextAreaElement ||\n\t\t\ttypeof tabIndex === 'string' ||\n\t\t\thtmlElement.dataset.kolModal !== undefined\n\t\t) {\n\t\t\tif (typeof tabIndex === 'string') {\n\t\t\t\tthis.lockedElements.set(htmlElement, {\n\t\t\t\t\ttabIndex,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.lockedElements.set(htmlElement, {});\n\t\t\t}\n\t\t\thtmlElement.setAttribute('tabindex', '-1');\n\t\t\thtmlElement.setAttribute('aria-hidden', 'true');\n\t\t\thtmlElement.style.userSelect = 'none';\n\t\t}\n\t}\n\n\tprivate unlockElement(value: LockedElementContext, htmlElement: HTMLElement) {\n\t\tif (typeof value.tabIndex === 'string') {\n\t\t\thtmlElement.setAttribute('tabindex', value.tabIndex);\n\t\t} else {\n\t\t\thtmlElement.removeAttribute('tabindex');\n\t\t}\n\t\thtmlElement.removeAttribute('aria-hidden');\n\t\thtmlElement.style.userSelect = 'unset';\n\t\tthis.lockedElements.delete(htmlElement);\n\t}\n\n\tprivate unlockLockedElements(lockedElements: Map<HTMLElement, LockedElementContext>) {\n\t\tlockedElements.forEach(this.unlockElement.bind(this));\n\t}\n\n\tprivate lockFocus(hostElement: HTMLElement | ShadowRoot | null, excludeElement?: HTMLElement) {\n\t\tif (hostElement !== excludeElement && (hostElement instanceof HTMLElement || hostElement instanceof ShadowRoot)) {\n\t\t\tif (hostElement instanceof HTMLElement) {\n\t\t\t\tthis.lockElement(hostElement);\n\t\t\t\tthis.lockFocus(hostElement.shadowRoot, excludeElement);\n\t\t\t}\n\t\t\tfor (let i = 0; i < hostElement.children.length; i++) {\n\t\t\t\tthis.lockFocus(hostElement.children[i] as HTMLElement, excludeElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate renderModalIfExists(activeElement?: HTMLElement) {\n\t\tif (activeElement instanceof HTMLElement) {\n\t\t\tif (this.lockedElements.has(activeElement)) {\n\t\t\t\tthis.unlockElement(this.lockedElements.get(activeElement) as LockedElementContext, activeElement);\n\t\t\t}\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tactiveElement.focus();\n\t\t\t}, 500);\n\t\t}\n\t\tthis.unlockLockedElements(this.lockedElements);\n\t\tif (this.modalStack.size > 0) {\n\t\t\tconst modalKeys = Array.from(this.modalStack.keys());\n\t\t\tconst modalRef = modalKeys[modalKeys.length - 1] as HTMLElement & {\n\t\t\t\t_activeElement: HTMLElement | null; // typo sugger\n\t\t\t};\n\t\t\tthis.modalStack.forEach((_value: ModalContext, htmlElement: HTMLElement) => {\n\t\t\t\tif (modalRef === htmlElement) {\n\t\t\t\t\thtmlElement.style.display = 'inline';\n\t\t\t\t} else {\n\t\t\t\t\thtmlElement.style.display = `none`;\n\t\t\t\t}\n\t\t\t});\n\t\t\tgetDocument().body.style.maxHeight = '100vh';\n\t\t\tgetDocument().body.style.overflow = 'hidden';\n\t\t\tthis.lockFocus(getDocument().body, modalRef);\n\t\t} else {\n\t\t\tgetDocument().body.style.maxHeight = 'unset';\n\t\t\tgetDocument().body.style.overflow = 'unset';\n\t\t}\n\t}\n\n\tpublic openModal(modalRef: HTMLElement, activeElement?: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tthis.modalStack.set(modalRef, {\n\t\t\t\tactiveElement,\n\t\t\t});\n\t\t\tthis.renderModalIfExists();\n\t\t}\n\t}\n\n\tpublic closeModal(modalRef: HTMLElement): void {\n\t\tif (modalRef instanceof HTMLElement === false) {\n\t\t\tLog.warn(`[KolModalService] Die DOM-Referenz des Modals ist nicht valide.`);\n\t\t} else {\n\t\t\tconst activeElement = this.modalStack.get(modalRef)?.activeElement;\n\t\t\tthis.modalStack.delete(modalRef);\n\t\t\tthis.renderModalIfExists(activeElement);\n\t\t}\n\t}\n}\n","@import '../style';\n\n.overlay {\n\tbackground-color: rgba(0, 0, 0, 0.33);\n\tdisplay: flex;\n\theight: 100%;\n\tinset: 0;\n\tposition: fixed;\n\twidth: 100%;\n\tz-index: 100;\n}\n\n.modal {\n\tmargin: auto;\n\tmax-height: 100%;\n\tmax-width: 100%;\n}\n","/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\nimport { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { KoliBriModalEventCallbacks } from '../../types/modal';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { setState, watchString, watchValidator } from '../../utils/prop.validators';\nimport { API, States } from './types';\n\nimport { ModalService } from './service';\n\nconst modalService = new ModalService();\n\n/**\n * https://en.wikipedia.org/wiki/Modal_window\n * @deprecated use the native <dialog> instead\n */\n\n/**\n * @slot - Der Inhalt des Modals.\n */\n@Component({\n\ttag: 'kol-modal',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolModal implements API {\n\tprivate hostElement?: HTMLElement;\n\n\tpublic componentDidRender(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tif (this.state._activeElement /* SSR instanceof HTMLElement */) {\n\t\t\t\tmodalService.openModal(this.hostElement, this.state._activeElement);\n\t\t\t} else {\n\t\t\t\tmodalService.closeModal(this.hostElement);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tif (this.hostElement /* SSR instanceof HTMLElement */) {\n\t\t\tmodalService.closeModal(this.hostElement);\n\t\t}\n\t}\n\n\tprivate readonly onKeyDown = (event: KeyboardEvent) => {\n\t\tif (event && event.code === 'Escape') {\n\t\t\tthis._activeElement = null;\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass=\"kol-modal\"\n\t\t\t\tref={(el) => {\n\t\t\t\t\tthis.hostElement = el as HTMLElement;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.state._activeElement /* SSR instanceof HTMLElement */ && (\n\t\t\t\t\t<div class=\"overlay\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"modal\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\twidth: this.state._width,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\taria-label={this.state._label}\n\t\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\t\tonKeyDown={this.onKeyDown}\n\t\t\t\t\t\t\tref={(el) => {\n\t\t\t\t\t\t\t\tif (el /* SSR instanceof HTMLElement */) {\n\t\t\t\t\t\t\t\t\tel.setAttribute('tabindex', '0');\n\t\t\t\t\t\t\t\t\tsetTimeout(() => el.focus(), 250);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt die Referenz auf das auslösende HTML-Element an, wodurch das Modal geöffnet wurde.\n\t */\n\t@Prop({ mutable: true }) public _activeElement?: HTMLElement | null;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Modals an.\n\t */\n\t@Prop() public _on?: KoliBriModalEventCallbacks;\n\n\t/**\n\t * Defines the width of the modal. (max-width: 100%)\n\t */\n\t@Prop() public _width?: string = '100%';\n\n\t@State() public state: States = {\n\t\t_activeElement: null,\n\t\t_label: '…', // ⚠ required\n\t\t_width: '100%',\n\t};\n\n\t@Watch('_activeElement')\n\tpublic validateActiveElement(value?: HTMLElement | null): void {\n\t\twatchValidator(this, '_activeElement', (value): boolean => typeof value === 'object' || value === null, new Set(['HTMLElement', 'null']), value, {\n\t\t\tdefaultValue: null,\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\t/* Call onClose event in the _activeElement watcher because activeElement can be set internally and from the outside and closes the modal when set to null. */\n\t\t\t\t\tif (this._activeElement === null && this.state._on?.onClose) {\n\t\t\t\t\t\tthis.state._on.onClose();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriModalEventCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfeatureHint('[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.');\n\t\t\tconst callbacks: KoliBriModalEventCallbacks = {};\n\t\t\tif (typeof value.onClose === 'function' || value.onClose === true) {\n\t\t\t\tcallbacks.onClose = value.onClose;\n\t\t\t}\n\t\t\tsetState<KoliBriModalEventCallbacks>(this, '_on', callbacks);\n\t\t}\n\t}\n\n\t@Watch('_width')\n\tpublic validateWidth(value?: string): void {\n\t\twatchString(this, '_width', value, {\n\t\t\tdefaultValue: '100%',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateActiveElement(this._activeElement);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateWidth(this._width);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a051748e.js";import{t as translate}from"./i18n-ad947f60.js";import{a as watchBoolean,w as watchValidator}from"./prop.validators-4acd6265.js";import{v as validateHideLabel}from"./hide-label-64739e48.js";import{v as validateLabel}from"./label-575ab397.js";import{h as devWarning,b as a11yHintLabelingLandmarks,d as devHint}from"./a11y.tipps-03056ec4.js";import{r as removeNavLabel,a as addNavLabel}from"./unique-nav-labels-62d9802d.js";import{w as watchNavLinks}from"./validation-5dbb6873.js";import{o as KolButtonLinkTextSwitchTag,d as KolButtonWcTag,p as KolButtonTag}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";import"./dev.utils-649c28f6.js";const validateCollapsible=(a,t)=>{watchBoolean(a,"_collapsible",t)},validateHasCompactButton=(a,t)=>{watchBoolean(a,"_hasCompactButton",t)},defaultStyleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}:host>div{display:grid;place-items:center}nav{width:100%}.list{display:flex;list-style:none;margin:0;padding:0}.list.vertical{flex-direction:column}.entry{display:flex}.entry .kol-button-wc:first-child,.entry .kol-link-wc,.entry .kol-span-wc{flex-grow:1}.entry .kol-span-wc{justify-items:start}",KolNavDefaultStyle0=defaultStyleCss,KolNav=class{constructor(a){registerInstance(this,a),this.onClick=a=>{a._active=!a._active,this.state=Object.assign({},this.state)},this.hasActiveChild=a=>!!(Array.isArray(a._children)&&a._children.length>0)&&a._children.some(this.hasActiveChild),this.linkList=a=>h("ul",{class:"list "+(0===a.deep&&"horizontal"===a.orientation?" horizontal":" vertical"),"data-deep":a.deep},a.links.map(((t,i)=>this.li(a.collapsible,a.hideLabel,a.deep,i,t,a.orientation)))),this._ariaCurrentValue=!1,this._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this._variant="primary",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hasCompactButton:!1,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical",_variant:"primary"}}entry(a,t,i,e,l){return h("div",{class:{entry:!0,"hide-label":t}},h(KolButtonLinkTextSwitchTag,{_link:Object.assign(Object.assign({},e),{_hideLabel:t})}),i?this.expandButton(a,e,l):"")}expandButton(a,t,i){return h(KolButtonWcTag,{class:"expand-button",_ariaExpanded:i,_disabled:!a,_icons:"codicon codicon-"+(i?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${t._label} ${i?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(t)}})}li(a,t,i,e,l,n){const s=!!l._active,o=Array.isArray(l._children)&&l._children.length>0,r=o&&s;return h("li",{class:{active:s,expanded:r,"has-children":o,selected:r},key:e},this.entry(a,t,o,l,s),r?h(this.linkList,{collapsible:a,hideLabel:t,deep:i+1,links:l._children||[],orientation:n}):"")}render(){let a=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(a=!1,devWarning("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const t=!0===this.state._collapsible,i=!0===this.state._hideLabel,e=this.state._orientation;return h(Host,{key:"22d1f41175666b6e540c1d93a92a88283e6bfced",class:"kol-nav"},h("div",{key:"42dcf20c3d0d157f08f5a09a5a4566755288a5a0",class:{[e]:!0,[this.state._variant]:!0}},h("nav",{key:"86c2c08a34f26948b8054c5735c4a673e22a6ddc","aria-label":this.state._label,id:"nav"},h(this.linkList,{key:"fe334ca90260312723e146b5bcc5194c741cd828",collapsible:t,hideLabel:i,deep:0,links:this.state._links,orientation:e})),a&&h("div",{class:"compact"},h(KolButtonTag,{_ariaControls:"nav",_ariaExpanded:!i,_icons:i?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:translate(i?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_hideLabel:!1===this.state._hideLabel})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(a){watchValidator(this,"_ariaCurrentValue",(a=>!0===a||"date"===a||"location"===a||"page"===a||"step"===a||"time"===a),new Set(["boolean","String {data, location, page, step, time}"]),a)}validateAriaLabel(a){this.validateLabel(a)}validateCollapsible(a){validateCollapsible(this,a)}validateCompact(a){this.validateHideLabel(a)}validateHasCompactButton(a){validateHasCompactButton(this,a)}validateHideLabel(a){validateHideLabel(this,a)}validateLabel(a,t,i=!1){i||removeNavLabel(this.state._label),validateLabel(this,a,{required:!0}),a11yHintLabelingLandmarks(a),addNavLabel(this.state._label)}validateLinks(a){watchNavLinks("KolNav",this,a),devHint("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(a){watchValidator(this,"_orientation",(a=>"horizontal"===a||"vertical"===a),new Set(["Orientation {horizontal, vertical}"]),a,{defaultValue:"vertical"})}validateVariant(a){watchValidator(this,"_variant",(a=>"primary"===a||"secondary"===a),new Set(["KoliBriNavVariant {primary, secondary}"]),a,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel||this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLabel(this._label||this._ariaLabel,void 0,!0),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){removeNavLabel(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};KolNav.style={default:KolNavDefaultStyle0};export{KolNav as kol_nav};
4
+ import{r as registerInstance,h,H as Host}from"./index-6237c77d.js";import{t as translate}from"./i18n-ad947f60.js";import{a as watchBoolean,w as watchValidator}from"./prop.validators-0872ab9e.js";import{v as validateHideLabel}from"./hide-label-181cab2f.js";import{v as validateLabel}from"./label-218f516d.js";import{h as devWarning,b as a11yHintLabelingLandmarks,d as devHint}from"./a11y.tipps-2fa5953b.js";import{r as removeNavLabel,a as addNavLabel}from"./unique-nav-labels-62d9802d.js";import{w as watchNavLinks}from"./validation-0a2240d1.js";import{o as KolButtonLinkTextSwitchTag,d as KolButtonWcTag,p as KolButtonTag}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";import"./dev.utils-d7aa3c72.js";const validateCollapsible=(a,t)=>{watchBoolean(a,"_collapsible",t)},validateHasCompactButton=(a,t)=>{watchBoolean(a,"_hasCompactButton",t)},defaultStyleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}:host>div{display:grid;place-items:center}nav{width:100%}.list{display:flex;list-style:none;margin:0;padding:0}.list.vertical{flex-direction:column}.entry{display:flex}.entry .kol-button-wc:first-child,.entry .kol-link-wc,.entry .kol-span-wc{flex-grow:1}.entry .kol-span-wc{justify-items:start}",KolNavDefaultStyle0=defaultStyleCss,KolNav=class{constructor(a){registerInstance(this,a),this.onClick=a=>{a._active=!a._active,this.state=Object.assign({},this.state)},this.hasActiveChild=a=>!!(Array.isArray(a._children)&&a._children.length>0)&&a._children.some(this.hasActiveChild),this.linkList=a=>h("ul",{class:"list "+(0===a.deep&&"horizontal"===a.orientation?" horizontal":" vertical"),"data-deep":a.deep},a.links.map(((t,i)=>this.li(a.collapsible,a.hideLabel,a.deep,i,t,a.orientation)))),this._ariaCurrentValue=!1,this._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this._variant="primary",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hasCompactButton:!1,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical",_variant:"primary"}}entry(a,t,i,e,l){return h("div",{class:{entry:!0,"hide-label":t}},h(KolButtonLinkTextSwitchTag,{_link:Object.assign(Object.assign({},e),{_hideLabel:t})}),i?this.expandButton(a,e,l):"")}expandButton(a,t,i){return h(KolButtonWcTag,{class:"expand-button",_ariaExpanded:i,_disabled:!a,_icons:"codicon codicon-"+(i?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${t._label} ${i?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(t)}})}li(a,t,i,e,l,n){const s=!!l._active,o=Array.isArray(l._children)&&l._children.length>0,r=o&&s;return h("li",{class:{active:s,expanded:r,"has-children":o,selected:r},key:e},this.entry(a,t,o,l,s),r?h(this.linkList,{collapsible:a,hideLabel:t,deep:i+1,links:l._children||[],orientation:n}):"")}render(){let a=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(a=!1,devWarning("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const t=!0===this.state._collapsible,i=!0===this.state._hideLabel,e=this.state._orientation;return h(Host,{key:"22d1f41175666b6e540c1d93a92a88283e6bfced",class:"kol-nav"},h("div",{key:"42dcf20c3d0d157f08f5a09a5a4566755288a5a0",class:{[e]:!0,[this.state._variant]:!0}},h("nav",{key:"86c2c08a34f26948b8054c5735c4a673e22a6ddc","aria-label":this.state._label,id:"nav"},h(this.linkList,{key:"fe334ca90260312723e146b5bcc5194c741cd828",collapsible:t,hideLabel:i,deep:0,links:this.state._links,orientation:e})),a&&h("div",{key:"54bd6c9a3c2a41c6c838c3762cc31005d794e1c3",class:"compact"},h(KolButtonTag,{key:"b549ce4b27d2fa882ea8b6bd6dd9852dbc441304",_ariaControls:"nav",_ariaExpanded:!i,_icons:i?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:translate(i?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_hideLabel:!1===this.state._hideLabel})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(a){watchValidator(this,"_ariaCurrentValue",(a=>!0===a||"date"===a||"location"===a||"page"===a||"step"===a||"time"===a),new Set(["boolean","String {data, location, page, step, time}"]),a)}validateAriaLabel(a){this.validateLabel(a)}validateCollapsible(a){validateCollapsible(this,a)}validateCompact(a){this.validateHideLabel(a)}validateHasCompactButton(a){validateHasCompactButton(this,a)}validateHideLabel(a){validateHideLabel(this,a)}validateLabel(a,t,i=!1){i||removeNavLabel(this.state._label),validateLabel(this,a,{required:!0}),a11yHintLabelingLandmarks(a),addNavLabel(this.state._label)}validateLinks(a){watchNavLinks("KolNav",this,a),devHint("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(a){watchValidator(this,"_orientation",(a=>"horizontal"===a||"vertical"===a),new Set(["Orientation {horizontal, vertical}"]),a,{defaultValue:"vertical"})}validateVariant(a){watchValidator(this,"_variant",(a=>"primary"===a||"secondary"===a),new Set(["KoliBriNavVariant {primary, secondary}"]),a,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel||this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLabel(this._label||this._ariaLabel,void 0,!0),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){removeNavLabel(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};KolNav.style={default:KolNavDefaultStyle0};export{KolNav as kol_nav};
@@ -1 +1 @@
1
- {"file":"kol-nav.entry.js","mappings":"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","names":[],"sources":["src/types/props/collapsible.ts","src/types/props/has-compact-button.ts","src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/**\n * @deprecated\n */\nexport type HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n * @deprecated\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import '../style';\n\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\n\nnav {\n\twidth: 100%;\n}\n\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.list.vertical {\n\tflex-direction: column;\n}\n\n.entry {\n\tdisplay: flex;\n}\n\n.entry .kol-button-wc:first-child,\n.entry .kol-link-wc,\n.entry .kol-span-wc {\n\tflex-grow: 1;\n}\n\n.entry .kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { validateHasCompactButton } from '../../types/props/has-compact-button';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\nimport { KolButtonLinkTextSwitchTag, KolButtonTag, KolButtonWcTag } from '../../core/component-names';\n\n/**\n * @deprecated Removed in v2\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<KolButtonLinkTextSwitchTag\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\tselected: expanded, // TODO: remove in v2\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host class=\"kol-nav\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation kompakt angezeigt wird.\n\t * @deprecated Use _hide-label\n\t */\n\t@Prop() public _compact?: boolean = false;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t * @deprecated Version 2\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Deprecated: Defines which variant should be used for presentation.\n\t *\n\t * @deprecated This property is deprecated and will be removed in the next major version.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @deprecated Version 2\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel || this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label || this._ariaLabel, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"version":3}
1
+ {"file":"kol-nav.entry.js","mappings":"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","names":[],"sources":["src/types/props/collapsible.ts","src/types/props/has-compact-button.ts","src/components/nav/style.scss?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/**\n * @deprecated\n */\nexport type HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n * @deprecated\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import '../style';\n\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\n\nnav {\n\twidth: 100%;\n}\n\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.list.vertical {\n\tflex-direction: column;\n}\n\n.entry {\n\tdisplay: flex;\n}\n\n.entry .kol-button-wc:first-child,\n.entry .kol-link-wc,\n.entry .kol-span-wc {\n\tflex-grow: 1;\n}\n\n.entry .kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { validateHasCompactButton } from '../../types/props/has-compact-button';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\nimport { KolButtonLinkTextSwitchTag, KolButtonTag, KolButtonWcTag } from '../../core/component-names';\n\n/**\n * @deprecated Removed in v2\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean,\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<KolButtonLinkTextSwitchTag\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<KolButtonWcTag\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></KolButtonWcTag>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation,\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t\tselected: expanded, // TODO: remove in v2\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host class=\"kol-nav\">\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Deprecated: Setzt die semantische Beschriftung der Komponente.\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation kompakt angezeigt wird.\n\t * @deprecated Use _hide-label\n\t */\n\t@Prop() public _compact?: boolean = false;\n\n\t/**\n\t * Deprecated: Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t * @deprecated Version 2\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Deprecated: Defines which variant should be used for presentation.\n\t *\n\t * @deprecated This property is deprecated and will be removed in the next major version.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @deprecated Version 2\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t},\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel || this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label || this._ariaLabel, undefined, true);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a051748e.js";import{t as translate}from"./i18n-ad947f60.js";import{v as validateCustomClass,a as validateButtonVariant}from"./custom-class-10fd2196.js";import{v as validateLabel}from"./label-575ab397.js";import{v as validateTooltipAlign}from"./tooltip-align-5ca3d175.js";import{n as nonce}from"./dev.utils-649c28f6.js";import{e as watchNumber,w as watchValidator,c as watchJsonArrayString,p as parseJson}from"./prop.validators-4acd6265.js";import{r as removeNavLabel,a as addNavLabel}from"./unique-nav-labels-62d9802d.js";import{S as STATE_CHANGE_EVENT}from"./reuse-d79ab469.js";import{q as KolSelectTag,p as KolButtonTag,d as KolButtonWcTag}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./a11y.tipps-03056ec4.js";import"./alignment-af5fffad.js";import"./index-117bd1aa.js";const validateMax=(t,a,e)=>{watchNumber(t,"_max",a,e)},defaultStyleCss='@charset "UTF-8";:host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}.navigation-list{list-style:none}.separator:before{content:"•••"}',KolPaginationDefaultStyle0=defaultStyleCss,leftDoubleArrowIcon={left:"codicon codicon-debug-reverse-continue"},leftSingleArrow={left:"codicon codicon-chevron-left"},rightSingleArrowIcon={right:"codicon codicon-chevron-right"},rightDoubleArrowIcon={right:"codicon codicon-debug-continue"},KolPagination=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,a)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,a),this.onChangePage(t,a)},this.onChangePage=(t,a)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,a)}))},this.onChangePageSize=(t,a)=>{if("number"==typeof(a=parseInt(a[0]))&&a>0&&this._pageSize!==a){this._pageSize=a;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,a)=>{let e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;const i=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,a.set("_pageSize",e)}const s=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,s,a.get("_pageSize"),o)},this.syncPage=(t,a,e,i)=>{if(i>0){const s=this.calcCount(i,e);s>0&&(a>s?(t.set("_page",s),this.onChangePage(STATE_CHANGE_EVENT,s)):a<1&&(t.set("_page",1),this.onChangePage(STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,a)=>{const e=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&e.push({label:translate("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",e),this.beforePageSize(e,a)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._max=void 0,this._variant="normal",this.state={_boundaryCount:1,_label:translate("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0,_variant:"normal"}}render(){var t;let a=!1;const e=this.getCount(),i=Array.from(Array(e).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>e-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,h("li",null,h("span",{class:"separator",key:`${this.nonce}-el-${t}`,"aria-hidden":"true"}))):null));return h(Host,{class:"kol-pagination"},h("nav",{"aria-label":this.state._label},h("ul",{class:"navigation-list"},this.state._hasButtons.first&&h("li",null,h(KolButtonTag,{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftDoubleArrowIcon,_hideLabel:!0,_label:translate("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&h("li",null,h(KolButtonTag,{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_hideLabel:!0,_label:translate("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),i,this.state._hasButtons.next&&h("li",null,h(KolButtonTag,{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:rightSingleArrowIcon,_hideLabel:!0,_label:translate("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&h("li",null,h(KolButtonTag,{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:rightDoubleArrowIcon,_hideLabel:!0,_label:translate("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&h(KolSelectTag,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:translate("kol-entries-per-site"),_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return h("li",null,h(KolButtonTag,{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:"",_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant},h("span",{slot:"expert"},h("span",{class:"visually-hidden"},translate("kol-page"))," ",t)))}getSelectedPageButton(t){return h("li",null,h(KolButtonWcTag,{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_label:"",_variant:this.state._variant},h("span",{slot:"expert"},h("span",{class:"visually-hidden"},translate("kol-page"))," ",t)))}validateBoundaryCount(t){watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){validateCustomClass(this,t)}validateLabel(t,a,e=!1){e||removeNavLabel(this.state._label),validateLabel(this,t),addNavLabel(this.state._label)}validateHasButtons(t){watchValidator(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,a)=>{if("boolean"==typeof t)a.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=parseJson(t)}catch(t){a.delete("_hasButtons")}"object"==typeof t&&null!==t&&a.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){watchNumber(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,i=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,t,e,i)}}})}validatePageSize(t){watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){this.validateMax(t)}validateMax(t){validateMax(this,t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,i=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,i,t)}}})}validateTooltipAlign(t){validateTooltipAlign(this,t)}validateVariant(t){validateButtonVariant(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max||this._total),this.validateVariant(this._variant),this.validatePage(this._page)}disconnectedCallback(){removeNavLabel(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};KolPagination.style={default:KolPaginationDefaultStyle0};export{KolPagination as kol_pagination};
4
+ import{r as registerInstance,h,H as Host}from"./index-6237c77d.js";import{t as translate}from"./i18n-ad947f60.js";import{v as validateCustomClass,a as validateButtonVariant}from"./custom-class-ca4a362d.js";import{v as validateLabel}from"./label-218f516d.js";import{v as validateTooltipAlign}from"./tooltip-align-44ee374a.js";import{n as nonce}from"./dev.utils-d7aa3c72.js";import{e as watchNumber,w as watchValidator,c as watchJsonArrayString,p as parseJson}from"./prop.validators-0872ab9e.js";import{r as removeNavLabel,a as addNavLabel}from"./unique-nav-labels-62d9802d.js";import{S as STATE_CHANGE_EVENT}from"./reuse-d79ab469.js";import{q as KolSelectTag,p as KolButtonTag,d as KolButtonWcTag}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./a11y.tipps-2fa5953b.js";import"./alignment-ae1fa968.js";import"./index-117bd1aa.js";const validateMax=(t,a,e)=>{watchNumber(t,"_max",a,e)},defaultStyleCss='@charset "UTF-8";:host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}.navigation-list{list-style:none}.separator:before{content:"•••"}',KolPaginationDefaultStyle0=defaultStyleCss,leftDoubleArrowIcon={left:"codicon codicon-debug-reverse-continue"},leftSingleArrow={left:"codicon codicon-chevron-left"},rightSingleArrowIcon={right:"codicon codicon-chevron-right"},rightDoubleArrowIcon={right:"codicon codicon-debug-continue"},KolPagination=class{constructor(t){registerInstance(this,t),this.nonce=nonce(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,a)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,a),this.onChangePage(t,a)},this.onChangePage=(t,a)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,a)}))},this.onChangePageSize=(t,a)=>{if("number"==typeof(a=parseInt(a[0]))&&a>0&&this._pageSize!==a){this._pageSize=a;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,a)=>{let e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;const i=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,a.set("_pageSize",e)}const s=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,s,a.get("_pageSize"),o)},this.syncPage=(t,a,e,i)=>{if(i>0){const s=this.calcCount(i,e);s>0&&(a>s?(t.set("_page",s),this.onChangePage(STATE_CHANGE_EVENT,s)):a<1&&(t.set("_page",1),this.onChangePage(STATE_CHANGE_EVENT,1)))}},this.beforePageSizeOptions=(t,a)=>{const e=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&e.push({label:translate("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",e),this.beforePageSize(e,a)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._max=void 0,this._variant="normal",this.state={_boundaryCount:1,_label:translate("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0,_variant:"normal"}}render(){var t;let a=!1;const e=this.getCount(),i=Array.from(Array(e).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>e-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,h("li",null,h("span",{class:"separator",key:`${this.nonce}-el-${t}`,"aria-hidden":"true"}))):null));return h(Host,{class:"kol-pagination"},h("nav",{"aria-label":this.state._label},h("ul",{class:"navigation-list"},this.state._hasButtons.first&&h("li",null,h(KolButtonTag,{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftDoubleArrowIcon,_hideLabel:!0,_label:translate("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&h("li",null,h(KolButtonTag,{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:leftSingleArrow,_hideLabel:!0,_label:translate("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),i,this.state._hasButtons.next&&h("li",null,h(KolButtonTag,{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:rightSingleArrowIcon,_hideLabel:!0,_label:translate("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&h("li",null,h(KolButtonTag,{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:e<=this.state._page,_icon:rightDoubleArrowIcon,_hideLabel:!0,_label:translate("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&h(KolSelectTag,{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:translate("kol-entries-per-site"),_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return h("li",{key:`${this.nonce}-${t}`},h(KolButtonTag,{exportparts:"icon",_customClass:this.state._customClass,_label:"",_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant},h("span",{slot:"expert"},h("span",{class:"visually-hidden"},translate("kol-page"))," ",t)))}getSelectedPageButton(t){return h("li",{key:`${this.nonce}-selected`},h(KolButtonWcTag,{class:"selected",_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_label:"",_variant:this.state._variant},h("span",{slot:"expert"},h("span",{class:"visually-hidden"},translate("kol-page"))," ",t)))}validateBoundaryCount(t){watchNumber(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){validateCustomClass(this,t)}validateLabel(t,a,e=!1){e||removeNavLabel(this.state._label),validateLabel(this,t),addNavLabel(this.state._label)}validateHasButtons(t){watchValidator(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,a)=>{if("boolean"==typeof t)a.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=parseJson(t)}catch(t){a.delete("_hasButtons")}"object"==typeof t&&null!==t&&a.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){watchNumber(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,i=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,t,e,i)}}})}validatePageSize(t){watchNumber(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){watchJsonArrayString(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){watchNumber(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){this.validateMax(t)}validateMax(t){validateMax(this,t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,i=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,i,t)}}})}validateTooltipAlign(t){validateTooltipAlign(this,t)}validateVariant(t){validateButtonVariant(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max||this._total),this.validateVariant(this._variant),this.validatePage(this._page)}disconnectedCallback(){removeNavLabel(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};KolPagination.style={default:KolPaginationDefaultStyle0};export{KolPagination as kol_pagination};
@@ -1 +1 @@
1
- {"file":"kol-pagination.entry.js","mappings":"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","names":[],"sources":["src/types/props/max.ts","src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchNumber, WatchNumberOptions } from '../../utils/prop.validators';\nimport { RowsPropType } from './rows';\n\n/* types */\nexport type MaxPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropMax = {\n\tmax: MaxPropType;\n};\n\n/* validator */\nexport const validateMax = (component: Generic.Element.Component, value?: RowsPropType, options?: WatchNumberOptions): void => {\n\twatchNumber(component, '_max', value, options);\n};\n","@import '../style';\n\n.navigation-list {\n\tlist-style: none;\n}\n\n.separator:before {\n\tcontent: '•••';\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { Option } from '../../types/input/types';\nimport { ButtonVariantPropType, validateButtonVariant } from '../../types/props/button-variant';\nimport { CustomClassPropType, validateCustomClass } from '../../types/props/custom-class';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { nonce } from '../../utils/dev.utils';\nimport { parseJson, watchJsonArrayString, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { API, KoliBriPaginationButtonCallbacks, PaginationHasButton, States } from './types';\nimport { MaxPropType, validateMax } from '../../types/props/max';\nimport { KolButtonTag, KolButtonWcTag, KolSelectTag } from '../../core/component-names';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements API {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span class=\"separator\" key={`${this.nonce}-el-${page}`} aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icon={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icon={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icon={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icon={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_list={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Setzt die Gesamtanzahl der Seiten.\n\t * @deprecated Use _max.\n\t */\n\t@Prop() public _total?: number;\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max?: MaxPropType;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: ButtonVariantPropType = 'normal';\n\n\t@State() public state: States = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t\t_variant: 'normal',\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li>\n\t\t\t\t<KolButtonTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\tkey={`${this.nonce}-${page}`}\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li>\n\t\t\t\t<KolButtonWcTag\n\t\t\t\t\tclass=\"selected\"\n\t\t\t\t\tkey={`${this.nonce}-selected`}\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_disabled={true}\n\t\t\t\t\t_ariaCurrent={true}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\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@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_total')\n\tpublic validateTotal(value?: number): void {\n\t\tthis.validateMax(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: ButtonVariantPropType): void {\n\t\tvalidateButtonVariant(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max || this._total);\n\t\tthis.validateVariant(this._variant);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n"],"version":3}
1
+ {"file":"kol-pagination.entry.js","mappings":"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","names":[],"sources":["src/types/props/max.ts","src/components/pagination/style.scss?tag=kol-pagination&mode=default&encapsulation=shadow","src/components/pagination/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchNumber, WatchNumberOptions } from '../../utils/prop.validators';\nimport { RowsPropType } from './rows';\n\n/* types */\nexport type MaxPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropMax = {\n\tmax: MaxPropType;\n};\n\n/* validator */\nexport const validateMax = (component: Generic.Element.Component, value?: RowsPropType, options?: WatchNumberOptions): void => {\n\twatchNumber(component, '_max', value, options);\n};\n","@import '../style';\n\n.navigation-list {\n\tlist-style: none;\n}\n\n.separator:before {\n\tcontent: '•••';\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { Option } from '../../types/input/types';\nimport { ButtonVariantPropType, validateButtonVariant } from '../../types/props/button-variant';\nimport { CustomClassPropType, validateCustomClass } from '../../types/props/custom-class';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { nonce } from '../../utils/dev.utils';\nimport { parseJson, watchJsonArrayString, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { API, KoliBriPaginationButtonCallbacks, PaginationHasButton, States } from './types';\nimport { MaxPropType, validateMax } from '../../types/props/max';\nimport { KolButtonTag, KolButtonWcTag, KolSelectTag } from '../../core/component-names';\n\nconst leftDoubleArrowIcon = {\n\tleft: 'codicon codicon-debug-reverse-continue',\n};\nconst leftSingleArrow = {\n\tleft: 'codicon codicon-chevron-left',\n};\nconst rightSingleArrowIcon = {\n\tright: 'codicon codicon-chevron-right',\n};\nconst rightDoubleArrowIcon = {\n\tright: 'codicon codicon-debug-continue',\n};\n\n@Component({\n\ttag: 'kol-pagination',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolPagination implements API {\n\tprivate readonly nonce = nonce();\n\n\tprivate readonly calcCount = (total: number, pageSize = 1): number => Math.ceil(total / pageSize);\n\n\tprivate readonly getCount = (): number => this.calcCount(this.state._max, this.state._pageSize);\n\n\tpublic render(): JSX.Element {\n\t\tlet ellipsis = false;\n\t\tconst count = this.getCount();\n\t\tconst pageButtons = Array.from(Array(count).keys())\n\t\t\t.map((index: number) => index + 1)\n\t\t\t.map((page: number) => {\n\t\t\t\tif (\n\t\t\t\t\tpage <= this.state._boundaryCount ||\n\t\t\t\t\tpage > count - this.state._boundaryCount ||\n\t\t\t\t\t(page >= this.state._page - this.state._siblingCount && page <= this.state._page + this.state._siblingCount)\n\t\t\t\t) {\n\t\t\t\t\tellipsis = true;\n\t\t\t\t\tif (this.state._page === page) {\n\t\t\t\t\t\treturn this.getSelectedPageButton(page);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.getUnselectedPageButton(page);\n\t\t\t\t\t}\n\t\t\t\t} else if (ellipsis === true) {\n\t\t\t\t\tellipsis = false;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<span class=\"separator\" key={`${this.nonce}-el-${page}`} aria-hidden=\"true\"></span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn (\n\t\t\t<Host class=\"kol-pagination\">\n\t\t\t\t<nav aria-label={this.state._label}>\n\t\t\t\t\t<ul class=\"navigation-list\">\n\t\t\t\t\t\t{this.state._hasButtons.first && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"first\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icon={leftDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-first')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToFirst}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.previous && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"previous\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={this.state._page <= 1}\n\t\t\t\t\t\t\t\t\t_icon={leftSingleArrow}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-back')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoBackward}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{pageButtons}\n\t\t\t\t\t\t{this.state._hasButtons.next && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icon={rightSingleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-next')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoForward}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this.state._hasButtons.last && (\n\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t<KolButtonTag\n\t\t\t\t\t\t\t\t\tclass=\"last\"\n\t\t\t\t\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t\t\t\t\t_disabled={count <= this.state._page}\n\t\t\t\t\t\t\t\t\t_icon={rightDoubleArrowIcon}\n\t\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t\t_label={translate('kol-page-last')}\n\t\t\t\t\t\t\t\t\t_on={this.onGoToEnd}\n\t\t\t\t\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t\t\t\t\t\t_tooltipAlign={this.state._tooltipAlign}\n\t\t\t\t\t\t\t\t></KolButtonTag>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</nav>\n\t\t\t\t{this.state._pageSizeOptions?.length > 0 && (\n\t\t\t\t\t<KolSelectTag\n\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t_id={`pagination-size-${this.nonce}`}\n\t\t\t\t\t\t_label={translate('kol-entries-per-site')}\n\t\t\t\t\t\t_list={this.state._pageSizeOptions}\n\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\tonChange: this.onChangePageSize,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t_value={[this.state._pageSize]}\n\t\t\t\t\t></KolSelectTag>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the amount of pages to show next to the outer arrow buttons.\n\t */\n\t@Prop() public _boundaryCount?: number = 1;\n\n\t/**\n\t * Defines the custom class attribute if _variant=\"custom\" is set.\n\t */\n\t@Prop() public _customClass?: CustomClassPropType;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which navigation buttons to render (first, last, next, previous buttons).\n\t */\n\t@Prop() public _hasButtons?: boolean | Stringified<PaginationHasButton> = true;\n\n\t/**\n\t * Defines the current page.\n\t */\n\t@Prop() public _page!: number;\n\n\t/**\n\t * Defines the amount of entries to show per page.\n\t */\n\t@Prop({ mutable: true, reflect: false }) public _pageSize = 1;\n\n\t/**\n\t * Defines the options for the page-size-select.\n\t */\n\t@Prop() public _pageSizeOptions: Stringified<number[]> = [];\n\n\t/**\n\t * Gibt an, auf welche Callback-Events reagiert werden.\n\t */\n\t@Prop() public _on!: KoliBriPaginationButtonCallbacks;\n\n\t/**\n\t * Defines the amount of pages to show next to the current page.\n\t */\n\t@Prop() public _siblingCount?: number = 1;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Setzt die Gesamtanzahl der Seiten.\n\t * @deprecated Use _max.\n\t */\n\t@Prop() public _total?: number;\n\n\t/**\n\t * Defines the maximum number of pages.\n\t */\n\t@Prop() public _max?: MaxPropType;\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: ButtonVariantPropType = 'normal';\n\n\t@State() public state: States = {\n\t\t_boundaryCount: 1,\n\t\t_label: translate('kol-pagination'),\n\t\t_hasButtons: {\n\t\t\tfirst: true,\n\t\t\tlast: true,\n\t\t\tnext: true,\n\t\t\tprevious: true,\n\t\t},\n\t\t_on: {\n\t\t\tonClick: () => null,\n\t\t},\n\t\t_page: 0,\n\t\t_pageSize: 1,\n\t\t_pageSizeOptions: [],\n\t\t_siblingCount: 1,\n\t\t_max: 0,\n\t\t_variant: 'normal',\n\t};\n\n\tprivate onClick = (event: Event, page: number) => {\n\t\tif (typeof this.state._on.onClick === 'function') {\n\t\t\tthis.state._on.onClick(event, page);\n\t\t}\n\t\tthis.onChangePage(event, page);\n\t};\n\n\tprivate onChangePage = (event: Event, page: number) => {\n\t\tconst timeout = setTimeout(() => {\n\t\t\tclearTimeout(timeout);\n\t\t\tif (typeof this.state._on.onChangePage === 'function') {\n\t\t\t\tthis.state._on.onChangePage(event, page);\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate onChangePageSize = (event: Event, value: unknown) => {\n\t\tvalue = parseInt((value as string[])[0]);\n\t\tif (typeof value === 'number' && value > 0 && this._pageSize !== value) {\n\t\t\tthis._pageSize = value;\n\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\tif (typeof this.state._on.onChangePageSize === 'function') {\n\t\t\t\t\tthis.state._on.onChangePageSize(event, this._pageSize);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tprivate readonly onGoToFirst = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, 1);\n\t\t},\n\t};\n\tprivate readonly onGoToEnd = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.getCount());\n\t\t},\n\t};\n\tprivate readonly onGoBackward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page - 1);\n\t\t},\n\t};\n\tprivate readonly onGoForward = {\n\t\tonClick: (event: Event) => {\n\t\t\tthis.onClick(event, this.state._page + 1);\n\t\t},\n\t};\n\n\tprivate getUnselectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={`${this.nonce}-${page}`}>\n\t\t\t\t<KolButtonTag\n\t\t\t\t\texportparts=\"icon\"\n\t\t\t\t\t_customClass={this.state._customClass}\n\t\t\t\t\t_label=\"\"\n\t\t\t\t\t_on={{\n\t\t\t\t\t\tonClick: (event: Event) => {\n\t\t\t\t\t\t\tthis.onClick(event, page);\n\t\t\t\t\t\t},\n\t\t\t\t\t}}\n\t\t\t\t\t_variant={this.state._variant}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate getSelectedPageButton(page: number): JSX.Element {\n\t\treturn (\n\t\t\t<li key={`${this.nonce}-selected`}>\n\t\t\t\t<KolButtonWcTag class=\"selected\" _customClass={this.state._customClass} _disabled={true} _ariaCurrent={true} _label=\"\" _variant={this.state._variant}>\n\t\t\t\t\t<span slot=\"expert\">\n\t\t\t\t\t\t<span class=\"visually-hidden\">{translate('kol-page')}</span> {page}\n\t\t\t\t\t</span>\n\t\t\t\t</KolButtonWcTag>\n\t\t\t</li>\n\t\t);\n\t}\n\n\t@Watch('_boundaryCount')\n\tpublic validateBoundaryCount(value?: number): void {\n\t\twatchNumber(this, '_boundaryCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_customClass')\n\tpublic validateCustomClass(value?: CustomClassPropType): void {\n\t\tvalidateCustomClass(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(label?: LabelPropType, _oldValue?: LabelPropType, initial = false) {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label);\n\t\t}\n\t\tvalidateLabel(this, label);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_hasButtons')\n\tpublic validateHasButtons(value?: string | boolean | Stringified<PaginationHasButton>): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_hasButtons',\n\t\t\t(value) => typeof value === 'boolean' || typeof value === 'string' || (typeof value === 'object' && value !== null),\n\t\t\tnew Set(['Boolean', 'PaginationHasButton']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tbeforePatch: (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\t\tif (typeof nextValue === 'boolean') {\n\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\tfirst: nextValue,\n\t\t\t\t\t\t\t\tlast: nextValue,\n\t\t\t\t\t\t\t\tnext: nextValue,\n\t\t\t\t\t\t\t\tprevious: nextValue,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (typeof nextValue === 'string') {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tnextValue = parseJson<PaginationHasButton>(nextValue);\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\tnextState.delete('_hasButtons');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (typeof nextValue === 'object' && nextValue !== null) {\n\t\t\t\t\t\t\t\tnextState.set('_hasButtons', {\n\t\t\t\t\t\t\t\t\t...this.state._hasButtons,\n\t\t\t\t\t\t\t\t\tfirst:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).first === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).first === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.first,\n\t\t\t\t\t\t\t\t\tlast:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).last === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).last === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.last,\n\t\t\t\t\t\t\t\t\tnext:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).next === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).next === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.next,\n\t\t\t\t\t\t\t\t\tprevious:\n\t\t\t\t\t\t\t\t\t\ttypeof (nextValue as PaginationHasButton).previous === 'boolean'\n\t\t\t\t\t\t\t\t\t\t\t? (nextValue as PaginationHasButton).previous === true\n\t\t\t\t\t\t\t\t\t\t\t: this.state._hasButtons.previous,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\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@Watch('_on')\n\tpublic validateOn(value?: KoliBriPaginationButtonCallbacks): void {\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_page')\n\tpublic validatePage(value?: number): void {\n\t\twatchNumber(this, '_page', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\t\t\t\tthis.syncPage(nextState, _nextValue as number, pageSize, total);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate beforePageSize = (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tlet pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\tconst pageSizeOptions = nextState.has('_pageSizeOptions') ? (nextState.get('_pageSizeOptions') as Option<number>[]) : this.state._pageSizeOptions;\n\t\tif (Array.isArray(pageSizeOptions) && pageSizeOptions.length > 0) {\n\t\t\tconst find = pageSizeOptions.find((option) => option.value === pageSize);\n\t\t\tif (find === undefined) {\n\t\t\t\tpageSize = pageSizeOptions[0].value;\n\t\t\t} else {\n\t\t\t\tpageSize = find.value;\n\t\t\t}\n\t\t\tnextState.set('_pageSize', pageSize);\n\t\t}\n\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\tconst total = nextState.has('_max') ? (nextState.get('_max') as number) : this.state._max;\n\t\tthis.syncPage(nextState, page, nextState.get('_pageSize') as number, total);\n\t};\n\n\tprivate syncPage = (nextState: Map<string, unknown>, page: number, pageSize: number, total: number) => {\n\t\t// count === 0 means no data\n\t\tif (total > 0) {\n\t\t\tconst count = this.calcCount(total, pageSize);\n\t\t\tif (count > 0) {\n\t\t\t\tif (page > count) {\n\t\t\t\t\tnextState.set('_page', count);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, count);\n\t\t\t\t} else if (page < 1) {\n\t\t\t\t\tnextState.set('_page', 1);\n\t\t\t\t\tthis.onChangePage(STATE_CHANGE_EVENT, 1);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate beforePageSizeOptions = (nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\tconst options: Option<number>[] = [];\n\t\tif (Array.isArray(nextValue)) {\n\t\t\tfor (const value of nextValue) {\n\t\t\t\tif (typeof value === 'number') {\n\t\t\t\t\toptions.push({\n\t\t\t\t\t\tlabel: translate('kol-page-per-site', { placeholders: { entries: `${value}` } }),\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextState.set('_pageSizeOptions', options);\n\t\tthis.beforePageSize(options, nextState);\n\t};\n\n\t@Watch('_pageSize')\n\tpublic validatePageSize(value?: number): void {\n\t\twatchNumber(this, '_pageSize', value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSize,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_pageSizeOptions')\n\tpublic validatePageSizeOptions(value?: Stringified<number[]>): void {\n\t\twatchJsonArrayString(this, '_pageSizeOptions', (value) => typeof value === 'number', value, undefined, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePageSizeOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_siblingCount')\n\tpublic validateSiblingCount(value?: number): void {\n\t\twatchNumber(this, '_siblingCount', Math.max(0, value ?? 1));\n\t}\n\n\t@Watch('_total')\n\tpublic validateTotal(value?: number): void {\n\t\tthis.validateMax(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: MaxPropType): void {\n\t\tvalidateMax(this, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: (_nextValue: unknown, nextState: Map<string, unknown>) => {\n\t\t\t\t\tconst page = nextState.has('_page') ? (nextState.get('_page') as number) : this.state._page;\n\t\t\t\t\tconst pageSize = nextState.has('_pageSize') ? (nextState.get('_pageSize') as number) : this.state._pageSize;\n\t\t\t\t\tthis.syncPage(nextState, page, pageSize, _nextValue as number);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: ButtonVariantPropType): void {\n\t\tvalidateButtonVariant(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateBoundaryCount(this._boundaryCount);\n\t\tthis.validateCustomClass(this._customClass);\n\t\tthis.validateHasButtons(this._hasButtons);\n\t\tthis.validateLabel(this._label, undefined, true);\n\t\tthis.validateOn(this._on);\n\t\tthis.validatePage(this._page);\n\t\tthis.validatePageSize(this._pageSize);\n\t\tthis.validatePageSizeOptions(this._pageSizeOptions);\n\t\tthis.validateSiblingCount(this._siblingCount);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateMax(this._max || this._total);\n\t\tthis.validateVariant(this._variant);\n\n\t\t/**\n\t\t * Die Seite muss als letztes gesetzt werden, da sonst die Seite\n\t\t * nicht korrekt berechnet wird.\n\t\t */\n\t\tthis.validatePage(this._page);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a051748e.js";import{o as offset,f as flip,s as shift,a as arrow,c as computePosition}from"./floating-ui.dom.esm-d8551a17.js";import{v as validateAlign}from"./align-39e9357e.js";import{v as validateShow}from"./show-ba970fdf.js";import{g as getDocument}from"./dev.utils-649c28f6.js";import{p as processEnv}from"./reuse-d79ab469.js";import"./alignment-af5fffad.js";import"./prop.validators-4acd6265.js";import"./index-117bd1aa.js";import"./a11y.tipps-03056ec4.js";const styleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}.kol-popover{height:0;position:absolute}.kol-popover .popover{background-color:#fff;min-height:max-content;min-width:max-content;opacity:0;position:absolute}.kol-popover .show{animation:0.3s ease-in forwards fadeInOpacity}.kol-popover .disappear{animation:0.3s ease-in backwards fadeInOpacity}.kol-popover .arrow{background-color:inherit;height:var(--font-size);position:absolute;rotate:0.125turn;width:var(--font-size);z-index:-1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}",KolPopoverWcStyle0=styleCss,KolPopover=class{constructor(e){registerInstance(this,e),this.alignPopover=e=>{setTimeout((()=>{var t;if("test"!==processEnv&&this.triggerElement&&this.popoverElement){const o=this.triggerElement,i=this.popoverElement,s=this.arrowElement,a=[offset(null!==(t=null==s?void 0:s.offsetHeight)&&void 0!==t?t:10),flip(),shift()];s&&a.push(arrow({element:s})),computePosition(o,i,{placement:this.state._align,middleware:a}).then((({x:t,y:o,middlewareData:i,placement:s})=>{this.setPosition(t,o,i,s,e)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=e=>{"Escape"===e.key&&this.hidePopover()},this.hidePopoverByClickOutside=e=>{this.host&&!this.host.contains(e.target)&&this.hidePopover()},this.catchHostAndTriggerElement=e=>{e&&(this.host=e,this.triggerElement=e.previousElementSibling)},this.catchPopoverElement=e=>{this.popoverElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}setPosition(e,t,o,i,s){if(this.popoverElement){const a={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${e}px`,top:`${t}px`}),this.arrowElement&&o.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${o.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${o.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}a.left!==this.popoverElement.style.left||a.top!==this.popoverElement.style.top?this.alignPopover(s):"function"==typeof s&&s()}}hidePopover(){var e;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(e=this.triggerElement)||void 0===e||e.focus(),this.removeListenersToBody()}addListenersToBody(){var e;const t=getDocument().body;t.addEventListener("keyup",this.hidePopoverByEscape),t.addEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var e;const t=getDocument().body;t.removeEventListener("keyup",this.hidePopoverByEscape),t.removeEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.removeEventListener("scroll",this.showPopover)}render(){return h(Host,{key:"d5c65c61cb64e0f597fcfa79bd6f3951ebae5d1b",ref:this.catchHostAndTriggerElement,class:"kol-popover-wc"},h("div",{key:"3e58c54f05c7781ac54ae1ff0be0af3eb842a7b5",class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},h("div",{key:"cf15e6cc22f5808bfba26a5584c25c44fdf16e18",class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),h("slot",{key:"5747244f3908f76f236eb9633d2fc048aa4b8249"})))}validateAlign(e){validateAlign(this,e)}validateShow(e){validateShow(this,e),e&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};KolPopover.style=KolPopoverWcStyle0;export{KolPopover as kol_popover_wc};
4
+ import{r as registerInstance,h,H as Host}from"./index-6237c77d.js";import{o as offset,f as flip,s as shift,a as arrow,c as computePosition}from"./floating-ui.dom.esm-d8551a17.js";import{v as validateAlign}from"./align-d68fcc60.js";import{v as validateShow}from"./show-8dc521bf.js";import{g as getDocument}from"./dev.utils-d7aa3c72.js";import{p as processEnv}from"./reuse-d79ab469.js";import"./alignment-ae1fa968.js";import"./prop.validators-0872ab9e.js";import"./index-117bd1aa.js";import"./a11y.tipps-2fa5953b.js";const styleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}.kol-popover{height:0;position:absolute}.kol-popover .popover{background-color:#fff;min-height:max-content;min-width:max-content;opacity:0;position:absolute}.kol-popover .show{animation:0.3s ease-in forwards fadeInOpacity}.kol-popover .disappear{animation:0.3s ease-in backwards fadeInOpacity}.kol-popover .arrow{background-color:inherit;height:var(--font-size);position:absolute;rotate:0.125turn;width:var(--font-size);z-index:-1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}",KolPopoverWcStyle0=styleCss,KolPopover=class{constructor(e){registerInstance(this,e),this.alignPopover=e=>{setTimeout((()=>{var t;if("test"!==processEnv&&this.triggerElement&&this.popoverElement){const o=this.triggerElement,i=this.popoverElement,s=this.arrowElement,a=[offset(null!==(t=null==s?void 0:s.offsetHeight)&&void 0!==t?t:10),flip(),shift()];s&&a.push(arrow({element:s})),computePosition(o,i,{placement:this.state._align,middleware:a}).then((({x:t,y:o,middlewareData:i,placement:s})=>{this.setPosition(t,o,i,s,e)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=e=>{"Escape"===e.key&&this.hidePopover()},this.hidePopoverByClickOutside=e=>{this.host&&!this.host.contains(e.target)&&this.hidePopover()},this.catchHostAndTriggerElement=e=>{e&&(this.host=e,this.triggerElement=e.previousElementSibling)},this.catchPopoverElement=e=>{this.popoverElement=e},this.catchArrowElement=e=>{this.arrowElement=e},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}setPosition(e,t,o,i,s){if(this.popoverElement){const a={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${e}px`,top:`${t}px`}),this.arrowElement&&o.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${o.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${o.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}a.left!==this.popoverElement.style.left||a.top!==this.popoverElement.style.top?this.alignPopover(s):"function"==typeof s&&s()}}hidePopover(){var e;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(e=this.triggerElement)||void 0===e||e.focus(),this.removeListenersToBody()}addListenersToBody(){var e;const t=getDocument().body;t.addEventListener("keyup",this.hidePopoverByEscape),t.addEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var e;const t=getDocument().body;t.removeEventListener("keyup",this.hidePopoverByEscape),t.removeEventListener("click",this.hidePopoverByClickOutside),null===(e=document.scrollingElement)||void 0===e||e.removeEventListener("scroll",this.showPopover)}render(){return h(Host,{key:"8e23df026b2c5b42e397a35baf6d76df8be1c6e1",ref:this.catchHostAndTriggerElement,class:"kol-popover-wc"},h("div",{key:"e303984c79d1ab2d183aa30aaba27cbaba71e7eb",class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},h("div",{key:"62f97bf8492ba03054bdcf4e355e36af7b47a2b1",class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),h("slot",{key:"02e2cfd49d178e08a3baf38d3c6f5dda33a62e08"})))}validateAlign(e){validateAlign(this,e)}validateShow(e){validateShow(this,e),e&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};KolPopover.style=KolPopoverWcStyle0;export{KolPopover as kol_popover_wc};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a051748e.js";import{v as validateLabel}from"./label-575ab397.js";import{e as watchNumber,d as watchString,w as watchValidator}from"./prop.validators-4acd6265.js";import"./a11y.tipps-03056ec4.js";import"./dev.utils-649c28f6.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";var KoliBriProgressVariantEnum;!function(e){e.bar="bar",e.cycle="cycle",e["cycle-value-label"]="cycle-value-label",e["cycle-label-value"]="cycle-label-value"}(KoliBriProgressVariantEnum||(KoliBriProgressVariantEnum={}));const defaultStyleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}progress{display:block;height:0;overflow:hidden;width:0}.bar .border{fill:transparent;stroke:black}.bar .background{fill:lightgray;stroke:white}.bar .progress{fill:#0075ff;stroke:transparent;transition:250ms ease-in-out 50ms}.cycle .background{fill:transparent;stroke:lightgray}.cycle .border{fill:transparent;stroke:black}.cycle .whitespace{fill:transparent;stroke:white}.cycle .progress{fill:transparent;stroke:#0075ff;transform-origin:50% 50%;transform:rotate(-90deg);transition:250ms ease-in-out 50ms}@media (prefers-reduced-motion){.progress{transition-duration:0s;transition-delay:0s}}",KolProgressDefaultStyle0=defaultStyleCss,VALID_VARIANTS=Object.keys(KoliBriProgressVariantEnum),createProgressSVG=e=>{let t="43%",a=e._label?"57%":"50%";switch(e._variant){case"cycle-value-label":e._label&&(t="57%",a="43%");case"cycle":case"cycle-label-value":return h("svg",{class:"cycle",width:"100",viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},h("circle",{class:"background",cx:"60",cy:"60",r:"54.5",fill:"currentColor",stroke:"currentColor","stroke-width":"8"}),h("circle",{class:"whitespace",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"3"}),h("circle",{class:"border",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"whitespace",cx:"60",cy:"60",r:"51",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"border",cx:"60",cy:"60",r:"50",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"progress",fill:"currentColor",stroke:"currentColor","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*342)}px 342px`,"stroke-width":"6",cx:"60",cy:"60",r:"54.5"}),e._label&&h("text",{"aria-hidden":"true",x:"50%",y:t,"text-anchor":"middle",fill:"currentColor"},e._label),h("text",{"aria-hidden":"true",x:"50%",y:a,"text-anchor":"middle",fill:"currentColor"},e._value,e._unit));default:return h("div",{class:"bar"},e._label&&h("div",null,e._label),h("div",{style:{display:"flex",gap:"0.3em"}},h("svg",{width:"100",viewBox:"0 0 102 8",xmlns:"http://www.w3.org/2000/svg"},h("rect",{class:"background",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:"100"}),h("rect",{class:"progress",x:"2.5",y:"2.5",height:"7",rx:"3.5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:e._value/e._max*95}),h("rect",{class:"border",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"1",width:"100"})),h("text",{"aria-hidden":"true","text-anchor":"middle","dominant-baseline":"central",fill:"currentColor"},e._value,e._unit)))}},KolProcess=class{constructor(e){registerInstance(this,e),this._label=void 0,this._max=void 0,this._type=void 0,this._unit="%",this._value=void 0,this._variant=void 0,this.state={_max:100,_unit:"%",_value:0,_variant:"bar",_liveValue:0}}render(){return h(Host,{key:"9a3251b27cf8b482660b5e62327333932813c062",class:"kol-progress"},createProgressSVG(this.state),h("progress",{key:"7acb30ddc705b0658dde62c8107331ed0dc125e7","aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),h("span",{key:"7985170fa0f249292a6b5bdff22a927bdc66f340","aria-live":"polite","aria-relevant":"removals text",hidden:!0},this.state._liveValue," von ",this.state._max," ",this.state._unit))}validateLabel(e){validateLabel(this,e)}validateMax(e){"number"!=typeof e&&(e=100),watchNumber(this,"_max",e,{required:!0})}validateType(e){this.validateVariant(e)}validateUnit(e){watchString(this,"_unit",e)}validateValue(e){"number"!=typeof e&&(e=0),watchNumber(this,"_value",e,{required:!0})}validateVariant(e){watchValidator(this,"_variant",(e=>"string"==typeof e&&VALID_VARIANTS.includes(e)),new Set(VALID_VARIANTS),e)}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateUnit(this._unit),this.validateValue(this._value),this.validateVariant(this._variant||this._type),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_label:["validateLabel"],_max:["validateMax"],_type:["validateType"],_unit:["validateUnit"],_value:["validateValue"],_variant:["validateVariant"]}}};KolProcess.style={default:KolProgressDefaultStyle0};export{KolProcess as kol_progress};
4
+ import{r as registerInstance,h,H as Host}from"./index-6237c77d.js";import{v as validateLabel}from"./label-218f516d.js";import{e as watchNumber,d as watchString,w as watchValidator}from"./prop.validators-0872ab9e.js";import"./a11y.tipps-2fa5953b.js";import"./dev.utils-d7aa3c72.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";var KoliBriProgressVariantEnum;!function(e){e.bar="bar",e.cycle="cycle",e["cycle-value-label"]="cycle-value-label",e["cycle-label-value"]="cycle-label-value"}(KoliBriProgressVariantEnum||(KoliBriProgressVariantEnum={}));const defaultStyleCss=":host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}progress{display:block;height:0;overflow:hidden;width:0}.bar .border{fill:transparent;stroke:black}.bar .background{fill:lightgray;stroke:white}.bar .progress{fill:#0075ff;stroke:transparent;transition:250ms ease-in-out 50ms}.cycle .background{fill:transparent;stroke:lightgray}.cycle .border{fill:transparent;stroke:black}.cycle .whitespace{fill:transparent;stroke:white}.cycle .progress{fill:transparent;stroke:#0075ff;transform-origin:50% 50%;transform:rotate(-90deg);transition:250ms ease-in-out 50ms}@media (prefers-reduced-motion){.progress{transition-duration:0s;transition-delay:0s}}",KolProgressDefaultStyle0=defaultStyleCss,VALID_VARIANTS=Object.keys(KoliBriProgressVariantEnum),createProgressSVG=e=>{let t="43%",a=e._label?"57%":"50%";switch(e._variant){case"cycle-value-label":e._label&&(t="57%",a="43%");case"cycle":case"cycle-label-value":return h("svg",{class:"cycle",width:"100",viewBox:"0 0 120 120",xmlns:"http://www.w3.org/2000/svg"},h("circle",{class:"background",cx:"60",cy:"60",r:"54.5",fill:"currentColor",stroke:"currentColor","stroke-width":"8"}),h("circle",{class:"whitespace",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"3"}),h("circle",{class:"border",cx:"60",cy:"60",r:"59",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"whitespace",cx:"60",cy:"60",r:"51",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"border",cx:"60",cy:"60",r:"50",fill:"currentColor",stroke:"currentColor","stroke-width":"1"}),h("circle",{class:"progress",fill:"currentColor",stroke:"currentColor","stroke-linecap":"round","stroke-dasharray":`${Math.round(e._value/e._max*342)}px 342px`,"stroke-width":"6",cx:"60",cy:"60",r:"54.5"}),e._label&&h("text",{"aria-hidden":"true",x:"50%",y:t,"text-anchor":"middle",fill:"currentColor"},e._label),h("text",{"aria-hidden":"true",x:"50%",y:a,"text-anchor":"middle",fill:"currentColor"},e._value,e._unit));default:return h("div",{class:"bar"},e._label&&h("div",null,e._label),h("div",{style:{display:"flex",gap:"0.3em"}},h("svg",{width:"100",viewBox:"0 0 102 8",xmlns:"http://www.w3.org/2000/svg"},h("rect",{class:"background",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:"100"}),h("rect",{class:"progress",x:"2.5",y:"2.5",height:"7",rx:"3.5",fill:"currentColor",stroke:"currentColor","stroke-width":"3",width:e._value/e._max*95}),h("rect",{class:"border",x:"1",y:"1",height:"10",rx:"5",fill:"currentColor",stroke:"currentColor","stroke-width":"1",width:"100"})),h("text",{"aria-hidden":"true","text-anchor":"middle","dominant-baseline":"central",fill:"currentColor"},e._value,e._unit)))}},KolProcess=class{constructor(e){registerInstance(this,e),this._label=void 0,this._max=void 0,this._type=void 0,this._unit="%",this._value=void 0,this._variant=void 0,this.state={_max:100,_unit:"%",_value:0,_variant:"bar",_liveValue:0}}render(){return h(Host,{key:"47defb5309eea70ff5fde3e6f6ecf9d99644ec63",class:"kol-progress"},createProgressSVG(this.state),h("progress",{key:"c1afdb59cf40fbe18763637cae057c57153002d9","aria-busy":this.state._value<this.state._max?"true":"false",max:this.state._max,value:this.state._value}),h("span",{key:"3f51bc1fd04b896a9d785e6547d43a39a8170b50","aria-live":"polite","aria-relevant":"removals text",hidden:!0},this.state._liveValue," von ",this.state._max," ",this.state._unit))}validateLabel(e){validateLabel(this,e)}validateMax(e){"number"!=typeof e&&(e=100),watchNumber(this,"_max",e,{required:!0})}validateType(e){this.validateVariant(e)}validateUnit(e){watchString(this,"_unit",e)}validateValue(e){"number"!=typeof e&&(e=0),watchNumber(this,"_value",e,{required:!0})}validateVariant(e){watchValidator(this,"_variant",(e=>"string"==typeof e&&VALID_VARIANTS.includes(e)),new Set(VALID_VARIANTS),e)}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateUnit(this._unit),this.validateValue(this._value),this.validateVariant(this._variant||this._type),this.interval=setInterval((()=>{this.state._liveValue!==this.state._value&&(this.state=Object.assign(Object.assign({},this.state),{_liveValue:this.state._value}))}),5e3)}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_label:["validateLabel"],_max:["validateMax"],_type:["validateType"],_unit:["validateUnit"],_value:["validateValue"],_variant:["validateVariant"]}}};KolProcess.style={default:KolProgressDefaultStyle0};export{KolProcess as kol_progress};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as registerInstance,h,H as Host}from"./index-a051748e.js";import{v as validateLabel}from"./label-575ab397.js";import{d as watchString,w as watchValidator}from"./prop.validators-4acd6265.js";import{s as showExpertSlot}from"./reuse-d79ab469.js";import{i as KolLinkTag}from"./component-names-fed305c7.js";import"./a11y.tipps-03056ec4.js";import"./dev.utils-649c28f6.js";import"./index-117bd1aa.js";const defaultStyleCss='@charset "UTF-8";:host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}cite,figure,q+figcaption{display:inline;margin:0;padding:0}blockquote:before{content:open-quote}blockquote::after{content:close-quote}cite:before{content:"—"}.block cite:before{padding-right:0.5em}.inline cite:before{padding:0.5em}',KolQuoteDefaultStyle0=defaultStyleCss,KolQuote=class{constructor(t){registerInstance(this,t),this._caption=void 0,this._label=void 0,this._href=void 0,this._quote=void 0,this._variant="inline",this.state={_href:"",_quote:"",_variant:"inline"}}validateCaption(t){this.validateLabel(t)}validateLabel(t){validateLabel(this,t)}validateHref(t){watchString(this,"_href",t,{required:!0})}validateQuote(t){watchString(this,"_quote",t,{required:!0})}validateVariant(t){watchValidator(this,"_variant",(t=>"block"===t||"inline"===t),new Set(["block","inline"]),t)}componentWillLoad(){this.validateHref(this._href),this.validateLabel(this._label||this._caption),this.validateQuote(this._quote),this.validateVariant(this._variant)}render(){const t=showExpertSlot(this.state._quote);return h(Host,{key:"6049061dced07c3e5e616f8b490cb627f534672f",class:"kol-quote"},h("figure",{key:"75f659f14469c7b337074ba17e669b8ecb621e05",class:{[this.state._variant]:!0}},"block"===this.state._variant?h("blockquote",{cite:this.state._href},this.state._quote,h("span",{"aria-hidden":t?void 0:"true",hidden:!t},h("slot",{name:"expert"}))):h("q",{cite:this.state._href},this.state._quote,h("span",{"aria-hidden":t?void 0:"true",hidden:!t},h("slot",{name:"expert"}))),"string"==typeof this.state._label&&this.state._label.length>0&&h("figcaption",null,h("cite",null,h(KolLinkTag,{_href:this.state._href,_label:this.state._label,_target:"_blank",class:"kol-link"})))))}static get watchers(){return{_caption:["validateCaption"],_label:["validateLabel"],_href:["validateHref"],_quote:["validateQuote"],_variant:["validateVariant"]}}};KolQuote.style={default:KolQuoteDefaultStyle0};export{KolQuote as kol_quote};
4
+ import{r as registerInstance,h,H as Host}from"./index-6237c77d.js";import{v as validateLabel}from"./label-218f516d.js";import{d as watchString,w as watchValidator}from"./prop.validators-0872ab9e.js";import{s as showExpertSlot}from"./reuse-d79ab469.js";import{i as KolLinkTag}from"./component-names-fed305c7.js";import"./a11y.tipps-2fa5953b.js";import"./dev.utils-d7aa3c72.js";import"./index-117bd1aa.js";const defaultStyleCss='@charset "UTF-8";:host{--a11y-min-size:44px;background-color:white;color:black;font-family:Verdana}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role=button],button:not([role=link]),.kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}[hidden]{display:none !important}:host{max-width:100%}*{box-sizing:border-box}.kol-span-wc{display:grid;place-items:center}.kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}.icon-only>.kol-span-wc>span>span{display:none}.hidden{display:none;visibility:hidden}cite,figure,q+figcaption{display:inline;margin:0;padding:0}blockquote:before{content:open-quote}blockquote::after{content:close-quote}cite:before{content:"—"}.block cite:before{padding-right:0.5em}.inline cite:before{padding:0.5em}',KolQuoteDefaultStyle0=defaultStyleCss,KolQuote=class{constructor(t){registerInstance(this,t),this._caption=void 0,this._label=void 0,this._href=void 0,this._quote=void 0,this._variant="inline",this.state={_href:"",_quote:"",_variant:"inline"}}validateCaption(t){this.validateLabel(t)}validateLabel(t){validateLabel(this,t)}validateHref(t){watchString(this,"_href",t,{required:!0})}validateQuote(t){watchString(this,"_quote",t,{required:!0})}validateVariant(t){watchValidator(this,"_variant",(t=>"block"===t||"inline"===t),new Set(["block","inline"]),t)}componentWillLoad(){this.validateHref(this._href),this.validateLabel(this._label||this._caption),this.validateQuote(this._quote),this.validateVariant(this._variant)}render(){const t=showExpertSlot(this.state._quote);return h(Host,{key:"fede296b285a0f185f73748fef071a0274e8c183",class:"kol-quote"},h("figure",{key:"d8092ac7ebace66a851e93479c47eb519c042014",class:{[this.state._variant]:!0}},"block"===this.state._variant?h("blockquote",{cite:this.state._href},this.state._quote,h("span",{"aria-hidden":t?void 0:"true",hidden:!t},h("slot",{name:"expert"}))):h("q",{cite:this.state._href},this.state._quote,h("span",{"aria-hidden":t?void 0:"true",hidden:!t},h("slot",{name:"expert"}))),"string"==typeof this.state._label&&this.state._label.length>0&&h("figcaption",{key:"372f2505524c4278bd9eb251e9063fd98d89f1ab"},h("cite",{key:"3e6163322a7da843257176e7af18878b8ecb6c12"},h(KolLinkTag,{key:"ad980fbc324774161d2bf3e4ef342a284d782ff9",_href:this.state._href,_label:this.state._label,_target:"_blank",class:"kol-link"})))))}static get watchers(){return{_caption:["validateCaption"],_label:["validateLabel"],_href:["validateHref"],_quote:["validateQuote"],_variant:["validateVariant"]}}};KolQuote.style={default:KolQuoteDefaultStyle0};export{KolQuote as kol_quote};