@public-ui/components 1.7.19 → 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-afe428df.js → a11y.tipps-20e2697a.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-afe428df.js.map → a11y.tipps-20e2697a.js.map} +1 -1
  4. package/dist/cjs/align-a0c0b6c2.js +4 -0
  5. package/dist/cjs/{align-4d94a35f.js.map → align-a0c0b6c2.js.map} +1 -1
  6. package/dist/cjs/{alignment-f99d73c0.js → alignment-1a33a7b8.js} +1 -1
  7. package/dist/cjs/{alignment-f99d73c0.js.map → alignment-1a33a7b8.js.map} +1 -1
  8. package/dist/cjs/{app-globals-51e08069.js → app-globals-e6df1ca2.js} +1 -1
  9. package/dist/cjs/{app-globals-51e08069.js.map → app-globals-e6df1ca2.js.map} +1 -1
  10. package/dist/cjs/{aria-current-a786da32.js → aria-current-df4d0f40.js} +1 -1
  11. package/dist/cjs/{aria-current-a786da32.js.map → aria-current-df4d0f40.js.map} +1 -1
  12. package/dist/cjs/{associated.controller-5de04c8b.js → associated.controller-96ea9e87.js} +1 -1
  13. package/dist/cjs/{associated.controller-5de04c8b.js.map → associated.controller-96ea9e87.js.map} +1 -1
  14. package/dist/cjs/{color-ac886346.js → color-76ca6407.js} +1 -1
  15. package/dist/cjs/{color-ac886346.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-bcebf476.js → controller-358a1a26.js} +1 -1
  19. package/dist/cjs/{controller-bcebf476.js.map → controller-358a1a26.js.map} +1 -1
  20. package/dist/cjs/{controller-bd4cf842.js → controller-77a7ddb1.js} +1 -1
  21. package/dist/cjs/{controller-bd4cf842.js.map → controller-77a7ddb1.js.map} +1 -1
  22. package/dist/cjs/{controller-f6000875.js → controller-85a60241.js} +1 -1
  23. package/dist/cjs/{controller-f6000875.js.map → controller-85a60241.js.map} +1 -1
  24. package/dist/cjs/{controller-c99812e7.js → controller-b037968d.js} +1 -1
  25. package/dist/cjs/{controller-c99812e7.js.map → controller-b037968d.js.map} +1 -1
  26. package/dist/cjs/{controller-icon-fa43df86.js → controller-icon-4a6f1f13.js} +1 -1
  27. package/dist/cjs/{controller-icon-fa43df86.js.map → controller-icon-4a6f1f13.js.map} +1 -1
  28. package/dist/cjs/{custom-class-7651d477.js → custom-class-c186d14f.js} +1 -1
  29. package/dist/cjs/{custom-class-7651d477.js.map → custom-class-c186d14f.js.map} +1 -1
  30. package/dist/cjs/{dev.utils-334adaab.js → dev.utils-d9eec21e.js} +1 -1
  31. package/dist/cjs/{dev.utils-334adaab.js.map → dev.utils-d9eec21e.js.map} +1 -1
  32. package/dist/cjs/{devtools-900e9725.js → devtools-93b85e2b.js} +1 -1
  33. package/dist/cjs/{devtools-900e9725.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-2cae00d9.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-b0beb21d.js.map → hide-label-a3bbd1bc.js.map} +1 -1
  40. package/dist/cjs/i18n-c3fa5bd7.js.map +1 -1
  41. package/dist/cjs/{icons-ffb304ec.js → icons-485a7a37.js} +1 -1
  42. package/dist/cjs/{icons-ffb304ec.js.map → icons-485a7a37.js.map} +1 -1
  43. package/dist/cjs/image-source-9c1a7288.js +4 -0
  44. package/dist/cjs/{image-source-7a3dc14e.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-2c4c9c06.js → label-4f1fa2d9.js} +1 -1
  133. package/dist/cjs/{label-2c4c9c06.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-1e28d73e.js.map → open-57306280.js.map} +1 -1
  137. package/dist/cjs/{prop.validators-3d1d4699.js → prop.validators-09b0c9d7.js} +1 -1
  138. package/dist/cjs/{prop.validators-3d1d4699.js.map → prop.validators-09b0c9d7.js.map} +1 -1
  139. package/dist/cjs/rows-d1faf399.js +4 -0
  140. package/dist/cjs/{rows-8d523947.js.map → rows-d1faf399.js.map} +1 -1
  141. package/dist/cjs/show-79c47b94.js +4 -0
  142. package/dist/cjs/{show-98b5bab8.js.map → show-79c47b94.js.map} +1 -1
  143. package/dist/cjs/{suggestions-fea0cdcf.js → suggestions-eef15e0e.js} +1 -1
  144. package/dist/cjs/{suggestions-fea0cdcf.js.map → suggestions-eef15e0e.js.map} +1 -1
  145. package/dist/cjs/{tab-index-d6ae0846.js → tab-index-94224eee.js} +1 -1
  146. package/dist/cjs/{tab-index-d6ae0846.js.map → tab-index-94224eee.js.map} +1 -1
  147. package/dist/cjs/{tooltip-align-c87c6d36.js → tooltip-align-441d97ed.js} +1 -1
  148. package/dist/cjs/{tooltip-align-c87c6d36.js.map → tooltip-align-441d97ed.js.map} +1 -1
  149. package/dist/cjs/{validation-72e01bc7.js → validation-6e3c598f.js} +1 -1
  150. package/dist/cjs/{validation-72e01bc7.js.map → validation-6e3c598f.js.map} +1 -1
  151. package/dist/cjs/{validation-b9d08ddc.js → validation-eee22f9f.js} +1 -1
  152. package/dist/cjs/{validation-b9d08ddc.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-798efb1a.js → a11y.tipps-2fa5953b.js} +1 -1
  241. package/dist/esm/{a11y.tipps-798efb1a.js.map → a11y.tipps-2fa5953b.js.map} +1 -1
  242. package/dist/esm/{align-beb00370.js → align-d68fcc60.js} +1 -1
  243. package/dist/esm/{align-beb00370.js.map → align-d68fcc60.js.map} +1 -1
  244. package/dist/esm/{alignment-4c0cd265.js → alignment-ae1fa968.js} +1 -1
  245. package/dist/esm/{alignment-4c0cd265.js.map → alignment-ae1fa968.js.map} +1 -1
  246. package/dist/esm/app-globals-0ada6761.js +4 -0
  247. package/dist/esm/{app-globals-529eaac0.js.map → app-globals-0ada6761.js.map} +1 -1
  248. package/dist/esm/{aria-current-09b1cf77.js → aria-current-2533cca9.js} +1 -1
  249. package/dist/esm/{aria-current-09b1cf77.js.map → aria-current-2533cca9.js.map} +1 -1
  250. package/dist/esm/{associated.controller-367d4241.js → associated.controller-a9205263.js} +1 -1
  251. package/dist/esm/{associated.controller-367d4241.js.map → associated.controller-a9205263.js.map} +1 -1
  252. package/dist/esm/{color-51fda110.js → color-45ba7bb3.js} +1 -1
  253. package/dist/esm/{color-51fda110.js.map → color-45ba7bb3.js.map} +1 -1
  254. package/dist/esm/{controller-4693379a.js → controller-6ba49adb.js} +1 -1
  255. package/dist/esm/{controller-4693379a.js.map → controller-6ba49adb.js.map} +1 -1
  256. package/dist/esm/{controller-67717038.js → controller-9180c6ea.js} +1 -1
  257. package/dist/esm/{controller-67717038.js.map → controller-9180c6ea.js.map} +1 -1
  258. package/dist/esm/{controller-09b624a5.js → controller-be9041f0.js} +1 -1
  259. package/dist/esm/{controller-09b624a5.js.map → controller-be9041f0.js.map} +1 -1
  260. package/dist/esm/{controller-d9f61e71.js → controller-c37cc04c.js} +1 -1
  261. package/dist/esm/{controller-d9f61e71.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-7d98b00e.js → controller-icon-0429172d.js} +1 -1
  265. package/dist/esm/{controller-icon-7d98b00e.js.map → controller-icon-0429172d.js.map} +1 -1
  266. package/dist/esm/{custom-class-76b06f69.js → custom-class-ca4a362d.js} +1 -1
  267. package/dist/esm/{custom-class-76b06f69.js.map → custom-class-ca4a362d.js.map} +1 -1
  268. package/dist/esm/{dev.utils-f829063f.js → dev.utils-d7aa3c72.js} +1 -1
  269. package/dist/esm/{dev.utils-f829063f.js.map → dev.utils-d7aa3c72.js.map} +1 -1
  270. package/dist/esm/{devtools-2bd953c4.js → devtools-493a8172.js} +1 -1
  271. package/dist/esm/{devtools-2bd953c4.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-1a36473f.js → has-closer-18441dc1.js} +1 -1
  275. package/dist/esm/{has-closer-1a36473f.js.map → has-closer-18441dc1.js.map} +1 -1
  276. package/dist/esm/{hide-label-000c16f6.js → hide-label-181cab2f.js} +1 -1
  277. package/dist/esm/{hide-label-000c16f6.js.map → hide-label-181cab2f.js.map} +1 -1
  278. package/dist/esm/i18n-fddf0324.js.map +1 -1
  279. package/dist/esm/{icons-82e358f3.js → icons-3d6a581a.js} +1 -1
  280. package/dist/esm/{icons-82e358f3.js.map → icons-3d6a581a.js.map} +1 -1
  281. package/dist/esm/{image-source-8584365e.js → image-source-e7abcbeb.js} +1 -1
  282. package/dist/esm/{image-source-8584365e.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-bce4f328.js → label-218f516d.js} +1 -1
  371. package/dist/esm/{label-bce4f328.js.map → label-218f516d.js.map} +1 -1
  372. package/dist/esm/loader.js +1 -1
  373. package/dist/esm/{open-e11c786d.js → open-afad812b.js} +1 -1
  374. package/dist/esm/{open-e11c786d.js.map → open-afad812b.js.map} +1 -1
  375. package/dist/esm/{prop.validators-3017e14b.js → prop.validators-0872ab9e.js} +1 -1
  376. package/dist/esm/{prop.validators-3017e14b.js.map → prop.validators-0872ab9e.js.map} +1 -1
  377. package/dist/esm/{rows-4627c8c8.js → rows-b321b23e.js} +1 -1
  378. package/dist/esm/{rows-4627c8c8.js.map → rows-b321b23e.js.map} +1 -1
  379. package/dist/esm/{show-418f2510.js → show-8dc521bf.js} +1 -1
  380. package/dist/esm/{show-418f2510.js.map → show-8dc521bf.js.map} +1 -1
  381. package/dist/esm/{suggestions-f022cab2.js → suggestions-0d70b04d.js} +1 -1
  382. package/dist/esm/{suggestions-f022cab2.js.map → suggestions-0d70b04d.js.map} +1 -1
  383. package/dist/esm/{tab-index-22839788.js → tab-index-20b0daba.js} +1 -1
  384. package/dist/esm/{tab-index-22839788.js.map → tab-index-20b0daba.js.map} +1 -1
  385. package/dist/esm/{tooltip-align-a16d498e.js → tooltip-align-44ee374a.js} +1 -1
  386. package/dist/esm/{tooltip-align-a16d498e.js.map → tooltip-align-44ee374a.js.map} +1 -1
  387. package/dist/esm/validation-0a2240d1.js +4 -0
  388. package/dist/esm/{validation-8785c967.js.map → validation-0a2240d1.js.map} +1 -1
  389. package/dist/esm/{validation-f641b69f.js → validation-dc1ebfa2.js} +1 -1
  390. package/dist/esm/{validation-f641b69f.js.map → validation-dc1ebfa2.js.map} +1 -1
  391. package/dist/kolibri/{a11y.tipps-798efb1a.js → a11y.tipps-2fa5953b.js} +1 -1
  392. package/dist/kolibri/align-d68fcc60.js +4 -0
  393. package/dist/kolibri/alignment-ae1fa968.js +4 -0
  394. package/dist/kolibri/app-globals-0ada6761.js +4 -0
  395. package/dist/kolibri/{aria-current-09b1cf77.js → aria-current-2533cca9.js} +1 -1
  396. package/dist/kolibri/{associated.controller-367d4241.js → associated.controller-a9205263.js} +1 -1
  397. package/dist/kolibri/{color-51fda110.js → color-45ba7bb3.js} +1 -1
  398. package/dist/kolibri/{controller-4693379a.js → controller-6ba49adb.js} +1 -1
  399. package/dist/kolibri/{controller-67717038.js → controller-9180c6ea.js} +1 -1
  400. package/dist/kolibri/{controller-09b624a5.js → controller-be9041f0.js} +1 -1
  401. package/dist/kolibri/{controller-d9f61e71.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-76b06f69.js → custom-class-ca4a362d.js} +1 -1
  406. package/dist/kolibri/{dev.utils-f829063f.js → dev.utils-d7aa3c72.js} +1 -1
  407. package/dist/kolibri/{dev.utils-f829063f.js.map → dev.utils-d7aa3c72.js.map} +1 -1
  408. package/dist/kolibri/{devtools-2bd953c4.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/{has-closer-1a36473f.js.map → has-closer-18441dc1.js.map} +1 -1
  412. package/dist/kolibri/hide-label-181cab2f.js +4 -0
  413. package/dist/kolibri/i18n-fddf0324.js.map +1 -1
  414. package/dist/kolibri/{icons-82e358f3.js → icons-3d6a581a.js} +1 -1
  415. package/dist/kolibri/image-source-e7abcbeb.js +4 -0
  416. package/dist/kolibri/index-6237c77d.js +5 -0
  417. package/dist/kolibri/index-6237c77d.js.map +1 -0
  418. package/dist/kolibri/index.esm.js +1 -1
  419. package/dist/kolibri/kol-abbr.entry.js +1 -1
  420. package/dist/kolibri/kol-accordion.entry.js +1 -1
  421. package/dist/kolibri/kol-alert-wc.entry.js +1 -1
  422. package/dist/kolibri/kol-alert-wc.entry.js.map +1 -1
  423. package/dist/kolibri/kol-alert.entry.js +1 -1
  424. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  425. package/dist/kolibri/kol-avatar.entry.js +1 -1
  426. package/dist/kolibri/kol-badge.entry.js +1 -1
  427. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  428. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  429. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  430. package/dist/kolibri/kol-button-group.entry.js +1 -1
  431. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  432. package/dist/kolibri/kol-button-link.entry.js +1 -1
  433. package/dist/kolibri/kol-button-wc.entry.js +1 -1
  434. package/dist/kolibri/kol-button-wc.entry.js.map +1 -1
  435. package/dist/kolibri/kol-button.entry.js +1 -1
  436. package/dist/kolibri/kol-card.entry.js +1 -1
  437. package/dist/kolibri/kol-card.entry.js.map +1 -1
  438. package/dist/kolibri/kol-details.entry.js +1 -1
  439. package/dist/kolibri/kol-form.entry.js +1 -1
  440. package/dist/kolibri/kol-form.entry.js.map +1 -1
  441. package/dist/kolibri/kol-heading-wc.entry.js +1 -1
  442. package/dist/kolibri/kol-heading.entry.js +1 -1
  443. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  444. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  445. package/dist/kolibri/kol-icon.entry.js +1 -1
  446. package/dist/kolibri/kol-image.entry.js +1 -1
  447. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  448. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  449. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  450. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  451. package/dist/kolibri/kol-input-color.entry.js +1 -1
  452. package/dist/kolibri/kol-input-date.entry.js +1 -1
  453. package/dist/kolibri/kol-input-email.entry.js +1 -1
  454. package/dist/kolibri/kol-input-file.entry.js +1 -1
  455. package/dist/kolibri/kol-input-number.entry.js +1 -1
  456. package/dist/kolibri/kol-input-password.entry.js +1 -1
  457. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  458. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  459. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  460. package/dist/kolibri/kol-input-range.entry.js +1 -1
  461. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  462. package/dist/kolibri/kol-input-text.entry.js +1 -1
  463. package/dist/kolibri/kol-input.entry.js +1 -1
  464. package/dist/kolibri/kol-input.entry.js.map +1 -1
  465. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  466. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  467. package/dist/kolibri/kol-link-button.entry.js +1 -1
  468. package/dist/kolibri/kol-link-group.entry.js +1 -1
  469. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  470. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  471. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  472. package/dist/kolibri/kol-link.entry.js +1 -1
  473. package/dist/kolibri/kol-logo.entry.js +1 -1
  474. package/dist/kolibri/kol-modal.entry.js +1 -1
  475. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  476. package/dist/kolibri/kol-nav.entry.js +1 -1
  477. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  478. package/dist/kolibri/kol-pagination.entry.js +1 -1
  479. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  480. package/dist/kolibri/kol-popover-wc.entry.js +1 -1
  481. package/dist/kolibri/kol-progress.entry.js +1 -1
  482. package/dist/kolibri/kol-quote.entry.js +1 -1
  483. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  484. package/dist/kolibri/kol-select.entry.js +1 -1
  485. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  486. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  487. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  488. package/dist/kolibri/kol-span.entry.js +1 -1
  489. package/dist/kolibri/kol-spin.entry.js +1 -1
  490. package/dist/kolibri/kol-split-button.entry.js +1 -1
  491. package/dist/kolibri/kol-symbol.entry.js +1 -1
  492. package/dist/kolibri/kol-table.entry.js +1 -1
  493. package/dist/kolibri/kol-table.entry.js.map +1 -1
  494. package/dist/kolibri/kol-tabs.entry.js +1 -1
  495. package/dist/kolibri/kol-textarea.entry.js +1 -1
  496. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  497. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  498. package/dist/kolibri/kol-toast.entry.js +1 -1
  499. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  500. package/dist/kolibri/kol-tooltip-wc.entry.js +1 -1
  501. package/dist/kolibri/kol-tooltip-wc.entry.js.map +1 -1
  502. package/dist/kolibri/kol-version.entry.js +1 -1
  503. package/dist/kolibri/kolibri.esm.js +1 -1
  504. package/dist/kolibri/kolibri.esm.js.map +1 -1
  505. package/dist/kolibri/{label-bce4f328.js → label-218f516d.js} +1 -1
  506. package/dist/kolibri/open-afad812b.js +4 -0
  507. package/dist/kolibri/{prop.validators-3017e14b.js → prop.validators-0872ab9e.js} +1 -1
  508. package/dist/kolibri/rows-b321b23e.js +4 -0
  509. package/dist/kolibri/show-8dc521bf.js +4 -0
  510. package/dist/kolibri/suggestions-0d70b04d.js +4 -0
  511. package/dist/kolibri/tab-index-20b0daba.js +4 -0
  512. package/dist/kolibri/{tab-index-22839788.js.map → tab-index-20b0daba.js.map} +1 -1
  513. package/dist/kolibri/tooltip-align-44ee374a.js +4 -0
  514. package/dist/kolibri/validation-0a2240d1.js +4 -0
  515. package/dist/kolibri/validation-dc1ebfa2.js +4 -0
  516. package/doc/popover.md +2 -0
  517. package/doc/tooltip.md +1 -1
  518. package/package.json +1 -1
  519. package/vscode-custom-data.json +2 -2
  520. package/dist/cjs/align-4d94a35f.js +0 -4
  521. package/dist/cjs/controller-dbd30a67.js +0 -4
  522. package/dist/cjs/controller-dbd30a67.js.map +0 -1
  523. package/dist/cjs/has-closer-2cae00d9.js +0 -4
  524. package/dist/cjs/hide-label-b0beb21d.js +0 -4
  525. package/dist/cjs/image-source-7a3dc14e.js +0 -4
  526. package/dist/cjs/index-67d1914c.js +0 -4
  527. package/dist/cjs/index-67d1914c.js.map +0 -1
  528. package/dist/cjs/open-1e28d73e.js +0 -4
  529. package/dist/cjs/rows-8d523947.js +0 -4
  530. package/dist/cjs/show-98b5bab8.js +0 -4
  531. package/dist/esm/app-globals-529eaac0.js +0 -4
  532. package/dist/esm/controller-7832022a.js +0 -4
  533. package/dist/esm/controller-7832022a.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-8785c967.js +0 -4
  538. package/dist/kolibri/align-beb00370.js +0 -4
  539. package/dist/kolibri/alignment-4c0cd265.js +0 -4
  540. package/dist/kolibri/app-globals-529eaac0.js +0 -4
  541. package/dist/kolibri/controller-7832022a.js +0 -4
  542. package/dist/kolibri/controller-7832022a.js.map +0 -1
  543. package/dist/kolibri/controller-icon-7d98b00e.js +0 -4
  544. package/dist/kolibri/form-field-msg-85face25.js +0 -4
  545. package/dist/kolibri/has-closer-1a36473f.js +0 -4
  546. package/dist/kolibri/hide-label-000c16f6.js +0 -4
  547. package/dist/kolibri/image-source-8584365e.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/open-e11c786d.js +0 -4
  551. package/dist/kolibri/rows-4627c8c8.js +0 -4
  552. package/dist/kolibri/show-418f2510.js +0 -4
  553. package/dist/kolibri/suggestions-f022cab2.js +0 -4
  554. package/dist/kolibri/tab-index-22839788.js +0 -4
  555. package/dist/kolibri/tooltip-align-a16d498e.js +0 -4
  556. package/dist/kolibri/validation-8785c967.js +0 -4
  557. package/dist/kolibri/validation-f641b69f.js +0 -4
  558. /package/dist/kolibri/{a11y.tipps-798efb1a.js.map → a11y.tipps-2fa5953b.js.map} +0 -0
  559. /package/dist/kolibri/{align-beb00370.js.map → align-d68fcc60.js.map} +0 -0
  560. /package/dist/kolibri/{alignment-4c0cd265.js.map → alignment-ae1fa968.js.map} +0 -0
  561. /package/dist/kolibri/{app-globals-529eaac0.js.map → app-globals-0ada6761.js.map} +0 -0
  562. /package/dist/kolibri/{aria-current-09b1cf77.js.map → aria-current-2533cca9.js.map} +0 -0
  563. /package/dist/kolibri/{associated.controller-367d4241.js.map → associated.controller-a9205263.js.map} +0 -0
  564. /package/dist/kolibri/{color-51fda110.js.map → color-45ba7bb3.js.map} +0 -0
  565. /package/dist/kolibri/{controller-4693379a.js.map → controller-6ba49adb.js.map} +0 -0
  566. /package/dist/kolibri/{controller-67717038.js.map → controller-9180c6ea.js.map} +0 -0
  567. /package/dist/kolibri/{controller-09b624a5.js.map → controller-be9041f0.js.map} +0 -0
  568. /package/dist/kolibri/{controller-d9f61e71.js.map → controller-c37cc04c.js.map} +0 -0
  569. /package/dist/kolibri/{controller-icon-7d98b00e.js.map → controller-icon-0429172d.js.map} +0 -0
  570. /package/dist/kolibri/{custom-class-76b06f69.js.map → custom-class-ca4a362d.js.map} +0 -0
  571. /package/dist/kolibri/{devtools-2bd953c4.js.map → devtools-493a8172.js.map} +0 -0
  572. /package/dist/kolibri/{form-field-msg-85face25.js.map → form-field-msg-975814de.js.map} +0 -0
  573. /package/dist/kolibri/{hide-label-000c16f6.js.map → hide-label-181cab2f.js.map} +0 -0
  574. /package/dist/kolibri/{icons-82e358f3.js.map → icons-3d6a581a.js.map} +0 -0
  575. /package/dist/kolibri/{image-source-8584365e.js.map → image-source-e7abcbeb.js.map} +0 -0
  576. /package/dist/kolibri/{label-bce4f328.js.map → label-218f516d.js.map} +0 -0
  577. /package/dist/kolibri/{open-e11c786d.js.map → open-afad812b.js.map} +0 -0
  578. /package/dist/kolibri/{prop.validators-3017e14b.js.map → prop.validators-0872ab9e.js.map} +0 -0
  579. /package/dist/kolibri/{rows-4627c8c8.js.map → rows-b321b23e.js.map} +0 -0
  580. /package/dist/kolibri/{show-418f2510.js.map → show-8dc521bf.js.map} +0 -0
  581. /package/dist/kolibri/{suggestions-f022cab2.js.map → suggestions-0d70b04d.js.map} +0 -0
  582. /package/dist/kolibri/{tooltip-align-a16d498e.js.map → tooltip-align-44ee374a.js.map} +0 -0
  583. /package/dist/kolibri/{validation-8785c967.js.map → validation-0a2240d1.js.map} +0 -0
  584. /package/dist/kolibri/{validation-f641b69f.js.map → validation-dc1ebfa2.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolLinkGroupDefaultStyle0","ListItem","props","list","links","map","link","index","push","h","key","class","ident","orientation","style","listStyleType","KolLinkTag","Object","assign","KolLinkGroup","this","isUl","_label","_listStyleType","_links","_orientation","render","Host","state","vertical","horizontal","_heading","_a","length","KolHeadingWcTag","_level","validateAriaLabel","value","validateLabel","validateHeading","watchString","_oldValue","initial","removeNavLabel","required","addNavLabel","validateLevel","watchHeadingLevel","validateListStyleType","watchValidator","Set","validateLinks","watchNavLinks","validateOrdered","watchBoolean","validateOrientation","defaultValue","componentWillLoad","_ariaLabel","undefined","disconnectedCallback"],"sources":["src/components/link-group/style.scss?tag=kol-link-group&mode=default&encapsulation=shadow","src/components/link-group/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\nul {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.horizontal ul {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\nnav.horizontal li {\n\tmargin-left: rem(20);\n\tmargin-right: rem(4);\n}\n\nnav.horizontal li:first-child {\n\tmargin-left: 0;\n}\n\nnav.horizontal li:last-child {\n\tmargin-right: 0;\n}\n\nnav.vertical li {\n\tmargin-left: rem(28);\n\tmargin-right: rem(8);\n}\n\nli.list-none {\n\tlist-style-type: none !important;\n\tmargin-left: 0;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { Orientation } from '../../types/orientation';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { LinkProps } from '../link/types';\nimport { watchNavLinks } from '../nav/validation';\nimport { API, ListStyleType, States } from './types';\nimport { KolHeadingWcTag, KolLinkTag } from '../../core/component-names';\n\nconst ListItem = (props: { links: LinkProps[]; orientation: Orientation; listStyleType: ListStyleType }): JSX.Element => {\n\tconst list: JSX.Element[] = [];\n\tprops.links.map((link, index: number) => {\n\t\tlist.push(\n\t\t\t(\n\t\t\t\t<li\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tident: index > 0 && props.orientation === 'vertical',\n\t\t\t\t\t\t'list-none': index === 0 && props.orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tlistStyleType: props.listStyleType,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<KolLinkTag {...link}></KolLinkTag>\n\t\t\t\t</li>\n\t\t\t) as JSX.Element,\n\t\t);\n\t});\n\treturn list;\n};\n\n@Component({\n\ttag: 'kol-link-group',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolLinkGroup implements API {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host class=\"kol-link-group\">\n\t\t\t\t<nav\n\t\t\t\t\taria-label={this.state._label}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tvertical: this.state._orientation === 'vertical',\n\t\t\t\t\t\thorizontal: this.state._orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{/* @deprecated remove in the next major version */}\n\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t<KolHeadingWcTag _label={this.state._heading} _level={this.state._level}></KolHeadingWcTag>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.isUl === false ? (\n\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t)}\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate isUl = true;\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 * Gibt den List-Style-Typen für ungeordnete Listen aus. Wird bei horizontalen LinkGroups als Trenner verwendet\n\t */\n\t@Prop() public _listStyleType?: ListStyleType;\n\n\t/**\n\t * Deprecated: Gibt die optionale Überschrift zur Link-Gruppe an.\n\t * @deprecated remove in the next major version\n\t */\n\t@Prop() public _heading?: 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 * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel;\n\n\t/**\n\t * Defines the list of links to render.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t/**\n\t * Deprecated: Gibt an, ob eine Ordered- oder eine Unordered-List verwendet werden soll.\n\t * @deprecated Wird mittels der Property _list-style-type automatisch gesteuert.\n\t */\n\t@Prop() public _ordered?: boolean = false;\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@State() public state: States = {\n\t\t_label: '…', // ⚠ required\n\t\t_listStyleType: 'disc',\n\t\t_links: [],\n\t\t_orientation: 'vertical',\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('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', 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\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('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_listStyleType')\n\tpublic validateListStyleType(value?: ListStyleType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_listStyleType',\n\t\t\t(value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\t\tcase 'disc':\n\t\t\t\t\tcase 'circle':\n\t\t\t\t\tcase 'square':\n\t\t\t\t\tcase 'none':\n\t\t\t\t\t\tthis.isUl = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\tcase 'decimal-leading-zero':\n\t\t\t\t\tcase 'lower-alpha':\n\t\t\t\t\tcase 'lower-latin':\n\t\t\t\t\tcase 'lower-greek':\n\t\t\t\t\tcase 'lower-roman':\n\t\t\t\t\tcase 'upper-alpha':\n\t\t\t\t\tcase 'upper-latin':\n\t\t\t\t\tcase 'upper-roman':\n\t\t\t\t\t\tthis.isUl = false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tnew Set(['https://www.w3schools.com/tags/tag_ol.asp']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolLinkGroup', this, value);\n\t}\n\n\t@Watch('_ordered')\n\tpublic validateOrdered(value?: boolean): void {\n\t\twatchBoolean(this, '_ordered', value);\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\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLabel(this._label || this._ariaLabel, undefined, true);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateListStyleType(this._listStyleType);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: 'Fehler 1', _id: '#anschrift_anschrift_adresse_strasse', _icons: 'error' },\n// { _label: 'Fehler 2', _id: '#anschrift_anschrift_adresse_hausnummer', _icons: 'error' },\n// ])\n// );\n"],"mappings":";;;2dAAA,MAAMA,EAAkB,w2CACxB,MAAAC,EAAeD,ECaf,MAAME,EAAYC,IACjB,MAAMC,EAAsB,GAC5BD,EAAME,MAAMC,KAAI,CAACC,EAAMC,KACtBJ,EAAKK,KAEHC,EAAA,MACCC,IAAKH,EACLI,MAAO,CACNC,MAAOL,EAAQ,GAAKL,EAAMW,cAAgB,WAC1C,YAAaN,IAAU,GAAKL,EAAMW,cAAgB,cAEnDC,MAAO,CACNC,cAAeb,EAAMa,gBAGtBN,EAACO,EAAUC,OAAAC,OAAA,GAAKZ,KAGlB,IAEF,OAAOH,CAAI,E,MAUCgB,EAAY,M,yBA8BhBC,KAAAC,KAAO,K,gKAuCqB,M,kBAKQ,W,WAEZ,CAC/BC,OAAQ,IACRC,eAAgB,OAChBC,OAAQ,GACRC,aAAc,W,CA/ER,MAAAC,G,MACN,OACCjB,EAACkB,EAAI,CAAAjB,IAAA,2CAACC,MAAM,kBACXF,EAAA,OAAAC,IAAA,wDACaU,KAAKQ,MAAMN,OACvBX,MAAO,CACNkB,SAAUT,KAAKQ,MAAMH,eAAiB,WACtCK,WAAYV,KAAKQ,MAAMH,eAAiB,sBAIjCL,KAAKQ,MAAMG,WAAa,YAAYC,EAAAZ,KAAKQ,MAAMG,YAAQ,MAAAC,SAAA,SAAAA,EAAEC,QAAS,GACzExB,EAACyB,EAAe,CAACZ,OAAQF,KAAKQ,MAAMG,SAAUI,OAAQf,KAAKQ,MAAMO,SAGjEf,KAAKC,OAAS,MACdZ,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOgB,KAAKQ,MAAMJ,OAAQX,YAAaO,KAAKQ,MAAMH,aAAcV,cAAeK,KAAKQ,MAAML,kBAGrGd,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOgB,KAAKQ,MAAMJ,OAAQX,YAAaO,KAAKQ,MAAMH,aAAcV,cAAeK,KAAKQ,MAAML,mB,CAiEnG,iBAAAa,CAAkBC,GACxBjB,KAAKkB,cAAcD,E,CAIb,eAAAE,CAAgBF,GACtBG,EAAYpB,KAAM,WAAYiB,E,CAIxB,aAAAC,CAAcD,EAAuBI,EAA2BC,EAAU,OAChF,IAAKA,EAAS,CACbC,EAAevB,KAAKQ,MAAMN,O,CAE3BgB,EAAclB,KAAMiB,EAAO,CAC1BO,SAAU,OAEXC,EAAYzB,KAAKQ,MAAMN,O,CAIjB,aAAAwB,CAAcT,GACpBU,EAAkB3B,KAAMiB,E,CAIlB,qBAAAW,CAAsBX,GAC5BY,EACC7B,KACA,kBACCiB,IACA,OAAQA,GACP,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,OACJjB,KAAKC,KAAO,KACZ,OAAO,KACR,IAAK,UACL,IAAK,uBACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACJD,KAAKC,KAAO,MACZ,OAAO,KACR,QACC,OAAO,M,GAGV,IAAI6B,IAAI,CAAC,8CACTb,E,CAKK,aAAAc,CAAcd,GACpBe,EAAc,eAAgBhC,KAAMiB,E,CAI9B,eAAAgB,CAAgBhB,GACtBiB,EAAalC,KAAM,WAAYiB,E,CAIzB,mBAAAkB,CAAoBlB,GAC1BY,EACC7B,KACA,gBACCiB,GAAmBA,IAAU,cAAgBA,IAAU,YACxD,IAAIa,IAAI,CAAC,uCACTb,EACA,CACCmB,aAAc,Y,CAKV,iBAAAC,GACNrC,KAAKmB,gBAAgBnB,KAAKW,UAC1BX,KAAKkB,cAAclB,KAAKE,QAAUF,KAAKsC,WAAYC,UAAW,MAC9DvC,KAAK0B,cAAc1B,KAAKe,QACxBf,KAAK4B,sBAAsB5B,KAAKG,gBAChCH,KAAK+B,cAAc/B,KAAKI,QACxBJ,KAAKmC,oBAAoBnC,KAAKK,a,CAGxB,oBAAAmC,GACNjB,EAAevB,KAAKQ,MAAMN,O"}
1
+ {"version":3,"names":["defaultStyleCss","KolLinkGroupDefaultStyle0","ListItem","props","list","links","map","link","index","push","h","key","class","ident","orientation","style","listStyleType","KolLinkTag","Object","assign","KolLinkGroup","this","isUl","_label","_listStyleType","_links","_orientation","render","Host","state","vertical","horizontal","_heading","_a","length","KolHeadingWcTag","_level","validateAriaLabel","value","validateLabel","validateHeading","watchString","_oldValue","initial","removeNavLabel","required","addNavLabel","validateLevel","watchHeadingLevel","validateListStyleType","watchValidator","Set","validateLinks","watchNavLinks","validateOrdered","watchBoolean","validateOrientation","defaultValue","componentWillLoad","_ariaLabel","undefined","disconnectedCallback"],"sources":["src/components/link-group/style.scss?tag=kol-link-group&mode=default&encapsulation=shadow","src/components/link-group/component.tsx"],"sourcesContent":["@import '../@shared/mixins';\n@import '../style';\n\nul {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n\nnav.horizontal ul {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\nnav.horizontal li {\n\tmargin-left: rem(20);\n\tmargin-right: rem(4);\n}\n\nnav.horizontal li:first-child {\n\tmargin-left: 0;\n}\n\nnav.horizontal li:last-child {\n\tmargin-right: 0;\n}\n\nnav.vertical li {\n\tmargin-left: rem(28);\n\tmargin-right: rem(8);\n}\n\nli.list-none {\n\tlist-style-type: none !important;\n\tmargin-left: 0;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { Orientation } from '../../types/orientation';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { LinkProps } from '../link/types';\nimport { watchNavLinks } from '../nav/validation';\nimport { API, ListStyleType, States } from './types';\nimport { KolHeadingWcTag, KolLinkTag } from '../../core/component-names';\n\nconst ListItem = (props: { links: LinkProps[]; orientation: Orientation; listStyleType: ListStyleType }): JSX.Element => {\n\tconst list: JSX.Element[] = [];\n\tprops.links.map((link, index: number) => {\n\t\tlist.push(\n\t\t\t(\n\t\t\t\t<li\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tident: index > 0 && props.orientation === 'vertical',\n\t\t\t\t\t\t'list-none': index === 0 && props.orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tlistStyleType: props.listStyleType,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<KolLinkTag {...link}></KolLinkTag>\n\t\t\t\t</li>\n\t\t\t) as JSX.Element,\n\t\t);\n\t});\n\treturn list;\n};\n\n@Component({\n\ttag: 'kol-link-group',\n\tstyleUrls: {\n\t\tdefault: './style.scss',\n\t},\n\tshadow: true,\n})\nexport class KolLinkGroup implements API {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host class=\"kol-link-group\">\n\t\t\t\t<nav\n\t\t\t\t\taria-label={this.state._label}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tvertical: this.state._orientation === 'vertical',\n\t\t\t\t\t\thorizontal: this.state._orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{/* @deprecated remove in the next major version */}\n\t\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t\t<KolHeadingWcTag _label={this.state._heading} _level={this.state._level}></KolHeadingWcTag>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.isUl === false ? (\n\t\t\t\t\t\t<ol>\n\t\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t\t</ol>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t)}\n\t\t\t\t</nav>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate isUl = true;\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 * Gibt den List-Style-Typen für ungeordnete Listen aus. Wird bei horizontalen LinkGroups als Trenner verwendet\n\t */\n\t@Prop() public _listStyleType?: ListStyleType;\n\n\t/**\n\t * Deprecated: Gibt die optionale Überschrift zur Link-Gruppe an.\n\t * @deprecated remove in the next major version\n\t */\n\t@Prop() public _heading?: 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 * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel;\n\n\t/**\n\t * Defines the list of links to render.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t/**\n\t * Deprecated: Gibt an, ob eine Ordered- oder eine Unordered-List verwendet werden soll.\n\t * @deprecated Wird mittels der Property _list-style-type automatisch gesteuert.\n\t */\n\t@Prop() public _ordered?: boolean = false;\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@State() public state: States = {\n\t\t_label: '…', // ⚠ required\n\t\t_listStyleType: 'disc',\n\t\t_links: [],\n\t\t_orientation: 'vertical',\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('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', 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\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('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_listStyleType')\n\tpublic validateListStyleType(value?: ListStyleType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_listStyleType',\n\t\t\t(value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\t\tcase 'disc':\n\t\t\t\t\tcase 'circle':\n\t\t\t\t\tcase 'square':\n\t\t\t\t\tcase 'none':\n\t\t\t\t\t\tthis.isUl = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\tcase 'decimal-leading-zero':\n\t\t\t\t\tcase 'lower-alpha':\n\t\t\t\t\tcase 'lower-latin':\n\t\t\t\t\tcase 'lower-greek':\n\t\t\t\t\tcase 'lower-roman':\n\t\t\t\t\tcase 'upper-alpha':\n\t\t\t\t\tcase 'upper-latin':\n\t\t\t\t\tcase 'upper-roman':\n\t\t\t\t\t\tthis.isUl = false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tnew Set(['https://www.w3schools.com/tags/tag_ol.asp']),\n\t\t\tvalue,\n\t\t);\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolLinkGroup', this, value);\n\t}\n\n\t@Watch('_ordered')\n\tpublic validateOrdered(value?: boolean): void {\n\t\twatchBoolean(this, '_ordered', value);\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\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLabel(this._label || this._ariaLabel, undefined, true);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateListStyleType(this._listStyleType);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveNavLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: 'Fehler 1', _id: '#anschrift_anschrift_adresse_strasse', _icons: 'error' },\n// { _label: 'Fehler 2', _id: '#anschrift_anschrift_adresse_hausnummer', _icons: 'error' },\n// ])\n// );\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as e,g as s}from"./index-a051748e.js";import{t as a}from"./i18n-ad947f60.js";import{v as n,a as d,c as h,b as l}from"./aria-current-09b1cf77.js";import{a as r,d as o,f as c,j as f,i as v,l as b}from"./prop.validators-3017e14b.js";import{v as u}from"./hide-label-000c16f6.js";import{v as p,w as _}from"./icons-82e358f3.js";import{a as m}from"./label-bce4f328.js";import{v as g}from"./tooltip-align-a16d498e.js";import{d as j,h as k,g as y}from"./a11y.tipps-798efb1a.js";import{a as x,s as A}from"./reuse-d79ab469.js";import{v as C}from"./tab-index-22839788.js";import{b as L,g as I,h as w}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./index-117bd1aa.js";import"./dev.utils-f829063f.js";import"./alignment-4c0cd265.js";const O=(t,a)=>{r(t,"_ariaSelected",a)},T=(t,a)=>{o(t,"_download",a)},S=(t,a,e={})=>{o(t,"_href",a,e)},E=(t,a)=>{"object"==typeof a&&"function"==typeof(null==a?void 0:a.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:a}))},H=(t,a)=>{o(t,"_target",a)},D=(t,a)=>{r(t,"_stealth",a)},P=class{constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,x(this.host,this.ref)},this.onClick=t=>{var a,e;"function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)&&(t.preventDefault(),t.stopPropagation(),c(t,this.ref),null===(e=this.state._on)||void 0===e||e.onClick(t,this.state._href))},this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{b(this.state._selector)},onKeyPress:()=>{b(this.state._selector)}});const a="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:a?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return"image"!==this.state._useCase&&!0!==this.state._hideLabel||this.state._label||j("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist."),{isExternal:a,tagAttrs:e,goToProps:t}},this.unsubscribeAriaCurrentSubject=f.subscribe((t=>{try{this.state._listenAriaCurrent&&this.state._listenAriaCurrent===t.ariaCurrent&&(this.state._href===t.href?this.validateAriaCurrent(t.ariaCurrent):this.validateAriaCurrent(!1))}catch(t){k("The aria-current event is not valid.")}})),this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._icons=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this._useCase="text",this.state={_href:"",_icons:{}}}render(){const{isExternal:i,tagAttrs:s,goToProps:l}=this.getRenderValues(),r=A(this.state._label);return t(e,{key:"c7bb8c6f8e6de0cdc4b1d36f3ec8cae3c890a2b7",class:"kol-link-wc"},t("a",Object.assign({key:"5ec0558803295310d5f045178aaf7200da6461cd",ref:this.catchRef},s,{"aria-controls":this.state._ariaControls,"aria-current":this.state._ariaCurrent,"aria-expanded":v(this.state._ariaExpanded),"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?`${this.state._label}${i?` (${a("kol-open-link-in-tab")})`:""}`:void 0,"aria-selected":v(this.state._ariaSelected),class:{disabled:!0===this.state._disabled,"skip ":!1!==this.state._stealth,"icon-only":!0===this.state._hideLabel,"hide-label":!0===this.state._hideLabel,"external-link":i}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick},l,{role:this.state._role,tabIndex:this.state._tabIndex}),t(I,{key:"552fdf3105bfa275d0e12a98b23a0961fcf77b30",_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:r?"":this.state._label||this.state._href},t("slot",{key:"d58d1982444995c9c9f6b0abeaf615a633d36f98",name:"expert",slot:"expert"})),i&&t(w,{class:"external-link-icon",_label:this.state._hideLabel?"":a("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),t(L,{key:"bbf9c7cb7eecdc8f4323fbf738c8a189b64fd923","aria-hidden":"true",hidden:r||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaControls(t){n(this,t)}validateAriaCurrent(t){d(this,t)}validateAriaExpanded(t){r(this,"_ariaExpanded",t)}validateAriaLabel(t){this.validateLabel(t)}validateAriaSelected(t){O(this,t)}validateDisabled(t){r(this,"_disabled",t),!0===t&&y()}validateDownload(t){T(this,t)}validateHideLabel(t){u(this,t)}validateHref(t){S(this,t,{required:!0})}validateIcon(t){this.validateIcons(t)}validateIcons(t){p(this,t)}validateIconAlign(t){_(this,t)}validateIconOnly(t){this.validateHideLabel(t)}validateLabel(t){m(this,t)}validateListenAriaCurrent(t){h(this,t)}validateOn(t){E(this,t)}validateRole(t){l(this,t)}validateSelector(t){o(this,"_selector",t)}validateStealth(t){D(this,t)}validateTabIndex(t){C(this,t)}validateTarget(t){H(this,t)}validateTooltipAlign(t){g(this,t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}componentWillLoad(){var t;this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel||this._iconOnly),this.validateHref(this._href),this.validateIcon(this._icons||this._icon),this.validateIconAlign(this._iconAlign),this.validateLabel(null!==(t=this._label)&&void 0!==t?t:this._ariaLabel),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateSelector(this._selector),this.validateStealth(this._stealth),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTooltipAlign(this._tooltipAlign),this.validateUseCase(this._useCase)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icon:["validateIcon"],_icons:["validateIcons"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_selector:["validateSelector"],_stealth:["validateStealth"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"],_useCase:["validateUseCase"]}}};export{P as kol_link_wc};
4
+ import{r as i,h as t,H as e,g as s}from"./index-6237c77d.js";import{t as a}from"./i18n-ad947f60.js";import{v as n,a as d,c as h,b as l}from"./aria-current-2533cca9.js";import{a as r,d as o,f as c,j as f,i as b,l as v}from"./prop.validators-0872ab9e.js";import{v as u}from"./hide-label-181cab2f.js";import{v as p,w as _}from"./icons-3d6a581a.js";import{a as m}from"./label-218f516d.js";import{v as g}from"./tooltip-align-44ee374a.js";import{d as k,h as j,g as y}from"./a11y.tipps-2fa5953b.js";import{a as x,s as A}from"./reuse-d79ab469.js";import{v as C}from"./tab-index-20b0daba.js";import{b as L,g as I,h as w}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./index-117bd1aa.js";import"./dev.utils-d7aa3c72.js";import"./alignment-ae1fa968.js";const O=(t,a)=>{r(t,"_ariaSelected",a)},T=(t,a)=>{o(t,"_download",a)},S=(t,a,e={})=>{o(t,"_href",a,e)},E=(t,a)=>{"object"==typeof a&&"function"==typeof(null==a?void 0:a.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:a}))},H=(t,a)=>{o(t,"_target",a)},D=(t,a)=>{r(t,"_stealth",a)},P=class{constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,x(this.host,this.ref)},this.onClick=t=>{var a,e;"function"==typeof(null===(a=this.state._on)||void 0===a?void 0:a.onClick)&&(t.preventDefault(),t.stopPropagation(),c(t,this.ref),null===(e=this.state._on)||void 0===e||e.onClick(t,this.state._href))},this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{v(this.state._selector)},onKeyPress:()=>{v(this.state._selector)}});const a="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:a?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return"image"!==this.state._useCase&&!0!==this.state._hideLabel||this.state._label||k("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist."),{isExternal:a,tagAttrs:e,goToProps:t}},this.unsubscribeAriaCurrentSubject=f.subscribe((t=>{try{this.state._listenAriaCurrent&&this.state._listenAriaCurrent===t.ariaCurrent&&(this.state._href===t.href?this.validateAriaCurrent(t.ariaCurrent):this.validateAriaCurrent(!1))}catch(t){j("The aria-current event is not valid.")}})),this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._icons=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this._useCase="text",this.state={_href:"",_icons:{}}}render(){const{isExternal:i,tagAttrs:s,goToProps:l}=this.getRenderValues(),r=A(this.state._label);return t(e,{key:"573ff81686c9b82006439e9c5842c37e3b889b89",class:"kol-link-wc"},t("a",Object.assign({key:"1eab7bad4213a9c7adccb62d818f70b6c4f29872",ref:this.catchRef},s,{"aria-controls":this.state._ariaControls,"aria-current":this.state._ariaCurrent,"aria-expanded":b(this.state._ariaExpanded),"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?`${this.state._label}${i?` (${a("kol-open-link-in-tab")})`:""}`:void 0,"aria-selected":b(this.state._ariaSelected),class:{disabled:!0===this.state._disabled,"skip ":!1!==this.state._stealth,"icon-only":!0===this.state._hideLabel,"hide-label":!0===this.state._hideLabel,"external-link":i}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick},l,{role:this.state._role,tabIndex:this.state._tabIndex}),t(I,{key:"5b0e6ac812b48aba1158e10f45ca2e24b33f8973",_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:r?"":this.state._label||this.state._href},t("slot",{key:"a0dc7a2e3c23e09abbc9645501dbb8f10286dd5b",name:"expert",slot:"expert"})),i&&t(w,{key:"dce3d530c6097148c27bc651cb979022f021d107",class:"external-link-icon",_label:this.state._hideLabel?"":a("kol-open-link-in-tab"),_icons:"codicon codicon-link-external","aria-hidden":this.state._hideLabel})),t(L,{key:"ae137d669a745b93919f0d19ec9ac0b4220571c5","aria-hidden":"true",hidden:r||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaControls(t){n(this,t)}validateAriaCurrent(t){d(this,t)}validateAriaExpanded(t){r(this,"_ariaExpanded",t)}validateAriaLabel(t){this.validateLabel(t)}validateAriaSelected(t){O(this,t)}validateDisabled(t){r(this,"_disabled",t),!0===t&&y()}validateDownload(t){T(this,t)}validateHideLabel(t){u(this,t)}validateHref(t){S(this,t,{required:!0})}validateIcon(t){this.validateIcons(t)}validateIcons(t){p(this,t)}validateIconAlign(t){_(this,t)}validateIconOnly(t){this.validateHideLabel(t)}validateLabel(t){m(this,t)}validateListenAriaCurrent(t){h(this,t)}validateOn(t){E(this,t)}validateRole(t){l(this,t)}validateSelector(t){o(this,"_selector",t)}validateStealth(t){D(this,t)}validateTabIndex(t){C(this,t)}validateTarget(t){H(this,t)}validateTooltipAlign(t){g(this,t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}componentWillLoad(){var t;this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel||this._iconOnly),this.validateHref(this._href),this.validateIcon(this._icons||this._icon),this.validateIconAlign(this._iconAlign),this.validateLabel(null!==(t=this._label)&&void 0!==t?t:this._ariaLabel),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateSelector(this._selector),this.validateStealth(this._stealth),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTooltipAlign(this._tooltipAlign),this.validateUseCase(this._useCase)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icon:["validateIcon"],_icons:["validateIcons"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_selector:["validateSelector"],_stealth:["validateStealth"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_tooltipAlign:["validateTooltipAlign"],_useCase:["validateUseCase"]}}};export{P as kol_link_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["validateAriaSelected","component","value","watchBoolean","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","validateStealth","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_useCase","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","validateAriaCurrent","e","devWarning","_icons","render","hasExpertSlot","showExpertSlot","h","Host","key","class","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","translate","_ariaSelected","disabled","_disabled","_stealth","_role","_tabIndex","KolSpanWcTag","name","slot","KolIconTag","KolTooltipWcTag","hidden","_align","_tooltipAlign","validateAriaControls","validateAriaExpanded","validateAriaLabel","validateLabel","validateDisabled","a11yHintDisabled","validateHideLabel","required","validateIcon","validateIcons","validateIconAlign","watchIconAlign","validateIconOnly","validateLabelWithExpertSlot","validateListenAriaCurrent","validateOn","validateRole","validateAlternativeButtonLinkRole","validateSelector","validateTabIndex","validateTarget","validateTooltipAlign","validateUseCase","componentWillLoad","_iconOnly","_icon","_iconAlign","_ariaLabel","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-selected.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/types/props/stealth.ts","src/components/link/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaSelectedPropType = boolean;\n\n/**\n * Marks this element as selected.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n */\nexport type PropAriaSelected = {\n\tariaSelected: AriaSelectedPropType;\n};\n\n/* validator */\nexport const validateAriaSelected = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaSelected', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/**\n * Hides the link und makes it appear on focus.\n *\n * @deprecated will be removed in v2\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/**\n * @deprecated will be removed in v2\n */\nexport const validateStealth = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_stealth', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { LinkUseCase } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlignPropType } from '../../types/props/align';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { validateAriaControls } from '../../types/props/aria-controls';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { validateAriaSelected } from '../../types/props/aria-selected';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons, watchIconAlign } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { validateStealth } from '../../types/props/stealth';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { a11yHintDisabled, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { KolIconTag, KolSpanWcTag, KolTooltipWcTag } from '../../core/component-names';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tlet goToProps = {};\n\t\tif (typeof this.state._selector === 'string') {\n\t\t\tgoToProps = {\n\t\t\t\trole: 'link',\n\t\t\t\ttabIndex: 0,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t\tonKeyPress: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif ((this.state._useCase === 'image' || this.state._hideLabel === true) && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs, goToProps };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs, goToProps } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host class=\"kol-link-wc\">\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tthis.state._hideLabel && typeof this.state._label === 'string'\n\t\t\t\t\t\t\t? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-selected={mapBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'skip ': this.state._stealth !== false,\n\t\t\t\t\t\t'icon-only': this.state._hideLabel === true, // @deprecated in v2\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\t{...goToProps}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<KolSpanWcTag _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</KolSpanWcTag>\n\t\t\t\t\t{isExternal && (\n\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\tclass=\"external-link-icon\"\n\t\t\t\t\t\t\t_label={this.state._hideLabel ? '' : translate('kol-open-link-in-tab')}\n\t\t\t\t\t\t\t_icons={'codicon codicon-link-external'}\n\t\t\t\t\t\t\taria-hidden={this.state._hideLabel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t\t<KolTooltipWcTag\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></KolTooltipWcTag>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Deprecated: Defines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Deprecated: Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Deprecated: Defines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\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 * Deprecated: Defines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deprecated: Makes the element not focusable and ignore all events.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\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 * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * @deprecated Use _icons.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\n\t/**\n\t * Deprecated: Hides the label and shows the description in a Tooltip instead.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Deprecated: Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Deprecated: Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\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 = 'right';\n\n\t/**\n\t * Deprecated: Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\tvalidateAriaControls(this, value);\n\t}\n\n\t/**\n\t * @deprecated use aria-current only in state\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\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\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconsProp): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: AlignPropType): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated use _hide-label\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_stealth')\n\tpublic validateStealth(value?: boolean): void {\n\t\tvalidateStealth(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_useCase')\n\tpublic validateUseCase(value?: LinkUseCase): void {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_useCase: value,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel || this._iconOnly);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icons || this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateLabel(this._label ?? this._ariaLabel); // explicitly allow empty string labels\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateSelector(this._selector);\n\t\tthis.validateStealth(this._stealth);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateUseCase(this._useCase);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateAriaSelected","component","value","watchBoolean","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","validateStealth","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_useCase","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","validateAriaCurrent","e","devWarning","_icons","render","hasExpertSlot","showExpertSlot","h","Host","key","class","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","translate","_ariaSelected","disabled","_disabled","_stealth","_role","_tabIndex","KolSpanWcTag","name","slot","KolIconTag","KolTooltipWcTag","hidden","_align","_tooltipAlign","validateAriaControls","validateAriaExpanded","validateAriaLabel","validateLabel","validateDisabled","a11yHintDisabled","validateHideLabel","required","validateIcon","validateIcons","validateIconAlign","watchIconAlign","validateIconOnly","validateLabelWithExpertSlot","validateListenAriaCurrent","validateOn","validateRole","validateAlternativeButtonLinkRole","validateSelector","validateTabIndex","validateTarget","validateTooltipAlign","validateUseCase","componentWillLoad","_iconOnly","_icon","_iconAlign","_ariaLabel","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-selected.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/types/props/stealth.ts","src/components/link/component.tsx"],"sourcesContent":["import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaSelectedPropType = boolean;\n\n/**\n * Marks this element as selected.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n */\nexport type PropAriaSelected = {\n\tariaSelected: AriaSelectedPropType;\n};\n\n/* validator */\nexport const validateAriaSelected = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaSelected', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import type { Generic } from 'adopted-style-sheets';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport type { Generic } from 'adopted-style-sheets';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import type { Generic } from 'adopted-style-sheets';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/**\n * Hides the link und makes it appear on focus.\n *\n * @deprecated will be removed in v2\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/**\n * @deprecated will be removed in v2\n */\nexport const validateStealth = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_stealth', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { LinkUseCase } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlignPropType } from '../../types/props/align';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { validateAriaControls } from '../../types/props/aria-controls';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { validateAriaSelected } from '../../types/props/aria-selected';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons, watchIconAlign } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { validateStealth } from '../../types/props/stealth';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { a11yHintDisabled, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { KolIconTag, KolSpanWcTag, KolTooltipWcTag } from '../../core/component-names';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tlet goToProps = {};\n\t\tif (typeof this.state._selector === 'string') {\n\t\t\tgoToProps = {\n\t\t\t\trole: 'link',\n\t\t\t\ttabIndex: 0,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t\tonKeyPress: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif ((this.state._useCase === 'image' || this.state._hideLabel === true) && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs, goToProps };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs, goToProps } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host class=\"kol-link-wc\">\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tthis.state._hideLabel && typeof this.state._label === 'string'\n\t\t\t\t\t\t\t? `${this.state._label}${isExternal ? ` (${translate('kol-open-link-in-tab')})` : ''}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-selected={mapBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'skip ': this.state._stealth !== false,\n\t\t\t\t\t\t'icon-only': this.state._hideLabel === true, // @deprecated in v2\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\t{...goToProps}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<KolSpanWcTag _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</KolSpanWcTag>\n\t\t\t\t\t{isExternal && (\n\t\t\t\t\t\t<KolIconTag\n\t\t\t\t\t\t\tclass=\"external-link-icon\"\n\t\t\t\t\t\t\t_label={this.state._hideLabel ? '' : translate('kol-open-link-in-tab')}\n\t\t\t\t\t\t\t_icons={'codicon codicon-link-external'}\n\t\t\t\t\t\t\taria-hidden={this.state._hideLabel}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t\t<KolTooltipWcTag\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></KolTooltipWcTag>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Deprecated: Defines which elements are controlled by this component. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Deprecated: Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Deprecated: Defines whether the interactive element of the component expanded something. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\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 * Deprecated: Defines whether the interactive element of the component is selected (e.g. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deprecated: Makes the element not focusable and ignore all events.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\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 * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * @deprecated Use _icons.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\n\t/**\n\t * Deprecated: Hides the label and shows the description in a Tooltip instead.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Deprecated: Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Deprecated: Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\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 = 'right';\n\n\t/**\n\t * Deprecated: Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\tvalidateAriaControls(this, value);\n\t}\n\n\t/**\n\t * @deprecated use aria-current only in state\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\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\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value, {\n\t\t\trequired: true,\n\t\t});\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconsProp): void {\n\t\tthis.validateIcons(value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: AlignPropType): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated use _hide-label\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_stealth')\n\tpublic validateStealth(value?: boolean): void {\n\t\tvalidateStealth(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_useCase')\n\tpublic validateUseCase(value?: LinkUseCase): void {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_useCase: value,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel || this._iconOnly);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icons || this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateLabel(this._label ?? this._ariaLabel); // explicitly allow empty string labels\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateSelector(this._selector);\n\t\tthis.validateStealth(this._stealth);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateUseCase(this._useCase);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as e,H as t,g as n}from"./index-a051748e.js";import{a as s}from"./reuse-d79ab469.js";import{n as a}from"./component-names-fed305c7.js";const o=":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{display:inline-block}:is(a,button){align-items:baseline;display:inline-flex;place-items:center;text-align:left;text-decoration-line:underline}:is(a,button):is(:focus,:hover){text-decoration-thickness:0.2em}.skip{left:-99999px;overflow:hidden;position:absolute;z-index:9999999;line-height:1em}.skip:focus{background-color:#fff;left:unset;padding:1em;position:unset}.kol-icon.external-link-icon{display:inline-flex}",d=o,h=class{constructor(t){i(this,t),this.catchRef=i=>{s(this.host,i)},this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._icons=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this._useCase="text"}render(){return e(t,{key:"13f64c2dce2aa28260680451397413f8aa7849fd",class:"kol-link"},e(a,{key:"07a0d9c81e8fed8bbe623cc33c597a379a83303e",ref:this.catchRef,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_disabled:this._disabled,_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons||this._icon,_iconAlign:this._iconAlign,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:this._role,_selector:this._selector,_stealth:this._stealth,_tabIndex:this._tabIndex,_target:this._target,_tooltipAlign:this._tooltipAlign,_useCase:this._useCase},e("slot",{key:"250042bd86f06722a7e81e266605ca11fa3ccb71",name:"expert",slot:"expert"}),e("slot",{key:"1aae653cdbdd850f7c8ed94b5134d04437e421bd",slot:"expert"})))}get host(){return n(this)}};h.style={default:d};export{h as kol_link};
4
+ import{r as i,h as e,H as t,g as n}from"./index-6237c77d.js";import{a as s}from"./reuse-d79ab469.js";import{n as a}from"./component-names-fed305c7.js";const o=":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{display:inline-block}:is(a,button){align-items:baseline;display:inline-flex;place-items:center;text-align:left;text-decoration-line:underline}:is(a,button):is(:focus,:hover){text-decoration-thickness:0.2em}.skip{left:-99999px;overflow:hidden;position:absolute;z-index:9999999;line-height:1em}.skip:focus{background-color:#fff;left:unset;padding:1em;position:unset}.kol-icon.external-link-icon{display:inline-flex}",d=o,h=class{constructor(t){i(this,t),this.catchRef=i=>{s(this.host,i)},this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._icons=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._tooltipAlign="right",this._useCase="text"}render(){return e(t,{key:"74345b8d1f0990e058ac4f13b95aa0f9f294a414",class:"kol-link"},e(a,{key:"94001d15e1bcced73261804db19b43bd169ff62d",ref:this.catchRef,_ariaControls:this._ariaControls,_ariaCurrent:this._ariaCurrent,_ariaExpanded:this._ariaExpanded,_ariaLabel:this._ariaLabel,_ariaSelected:this._ariaSelected,_disabled:this._disabled,_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons||this._icon,_iconAlign:this._iconAlign,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:this._role,_selector:this._selector,_stealth:this._stealth,_tabIndex:this._tabIndex,_target:this._target,_tooltipAlign:this._tooltipAlign,_useCase:this._useCase},e("slot",{key:"c5e1e0964d8aa3212405c221dfe976f2cbc0b626",name:"expert",slot:"expert"}),e("slot",{key:"7f09d65b917cc733a4b633255520a2af971aa386",slot:"expert"})))}get host(){return n(this)}};h.style={default:d};export{h as kol_link};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as c,h as e,H as n}from"./index-a051748e.js";import{d as t,B as i,b as a,f as o}from"./bund-ad41b762.js";import{t as s}from"./i18n-ad947f60.js";import{d as l}from"./a11y.tipps-798efb1a.js";import{s as r}from"./prop.validators-3017e14b.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./dev.utils-f829063f.js";import"./index-117bd1aa.js";const d=":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{display:inline-block}text{font-size:16px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}",h=d;function b(c,e=new Map){return Object.entries(c).map((([c,t])=>{e.set(t,c)})),e}const f=b(a,b(t,b(i)));function p(c){return f.has(c)?f.get(c):""}const g=()=>e("path",{d:"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z"}),y=class{constructor(e){c(this,e),this._abbr=void 0,this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateAbbr(c){this.validateOrg(c)}validateOrg(c){"string"==typeof c&&f.has(c)?r(this,"_org",c):l(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org||this._abbr)}render(){var c;return e(n,{key:"3f723e7cb179e586f5cc548baec8d4326fc84fbb",class:"kol-logo"},e("svg",{key:"f6b923ef0bbceedc98df306a4bd2671fd7655555","aria-label":s("kol-logo-description",{placeholders:{orgShort:this.state._org,orgLong:p(this.state._org)}}),role:"img",viewBox:"0 0 225 100"},e("rect",{key:"a1733720694677555bfc182968260040becb2818",width:"100%",height:"100%",fill:"white"}),e("svg",{key:"12999fa7bb37653243c7c79160d63ea8196b9706",x:"0",y:"4",height:"75"},e(g,{key:"b471f1a1b940937f54a84846991db63af9e9930b"})),e("svg",{key:"cfd0c7ebcf6e30fa90b05cb64ef2630d1b70d7d2",x:"40.5",y:"3.5",height:"100"},e("rect",{key:"7a9abe39e61c2c4ff10dd7052f969b5d64b6be22",width:"5",height:"30"}),e("rect",{key:"2a224a104c360945328e0fd953d25a5324bcc10a",y:"30",width:"5",height:"30",fill:"red"}),e("rect",{key:"b3c3a5bb40a597e86bbe8931e90896f2ffb9abed",y:"60",width:"5",height:"30",fill:"#fc0"})),e("svg",{key:"b8525cd4f0a84ceb27e7b411086de55e0b2b21ac",x:"50",y:"0"},e("text",{key:"395fc7eb71dedcb15680997a9ce7e300ff2a1f2e",x:"0",y:"-0.05em","font-family":"BundesSans Web",style:{backgroundColor:"white",color:"black"}},o.has(this.state._org)?e("tspan",null,null===(c=o.get(this.state._org))||void 0===c?void 0:c.map(((c,t)=>e("tspan",{x:"0",dy:"1.1em",key:`kol-logo-text-${t}`},c)))):e("tspan",{fill:"red"},e("tspan",{x:"0",dy:"1.1em"},"Der Schlüsselwert"),e("tspan",{x:"0",dy:"1.1em","font-weight":"bold"},"'",this.state._org,"'"),e("tspan",{x:"0",dy:"1.1em"},"ist nicht definiert."),e("tspan",{x:"0",dy:"1.1em"},"oder freigegeben."))))))}static get watchers(){return{_abbr:["validateAbbr"],_org:["validateOrg"]}}};y.style={default:h};export{y as kol_logo};
4
+ import{r as c,h as e,H as n}from"./index-6237c77d.js";import{d as t,B as i,b as a,f as o}from"./bund-ad41b762.js";import{t as s}from"./i18n-ad947f60.js";import{d as l}from"./a11y.tipps-2fa5953b.js";import{s as r}from"./prop.validators-0872ab9e.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./dev.utils-d7aa3c72.js";import"./index-117bd1aa.js";const d=":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{display:inline-block}text{font-size:16px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}",h=d;function p(c,e=new Map){return Object.entries(c).map((([c,t])=>{e.set(t,c)})),e}const b=p(a,p(t,p(i)));function f(c){return b.has(c)?b.get(c):""}const g=()=>e("path",{d:"M21.72,12.77c0.04-0.33,0.06-0.67,0.06-1c0-0.2,0-0.43,0-0.69c3.06,0,5.74-2.25,5.74-4.78\nc-0.09-1.07-0.56-2.08-1.32-2.84l0.32-0.07c1,0.89,1.61,2.14,1.7,3.48c0,3-3,5.85-6.5,5.92 M18.64,2.21\nc-0.05-0.33-0.19-0.64-0.39-0.91c0-0.31,0.14-0.61,0.64-0.36c-0.27,0.27-0.06,0.76-0.06,0.76s0.55-0.26,0.44-0.62\nC20.09,1.28,19.5,2.38,18.64,2.21 M17.93,3.77c-0.12-0.47-0.34-0.9-0.64-1.27c-0.3-0.42-0.77-0.69-1.29-0.73\nc-0.34,0.03-0.68,0.12-1,0.25c-0.16-0.28-0.27-0.58-0.32-0.9c0-0.22,0.38-0.44,1.1-0.44c1.58,0,2.52,0.71,2.52,1.91\nC18.26,3.01,18.14,3.41,17.93,3.77 M22,24.16c0.13,0,0.26,0.02,0.38,0.07c0.64,1.3,1.4,2.53,2.29,3.68l0,0l0,0\nc0.81-0.14,1.63-0.22,2.45-0.24l0,0c0.1-0.01,0.2,0.01,0.28,0.07c0.07,0.09,0.1,0.2,0.09,0.31c-0.01,0.28-0.08,0.55-0.21,0.79\nc-0.46-0.4-1.07-0.59-1.68-0.51c-0.24,0.01-0.48,0.05-0.71,0.12h-0.07h-0.07l0.48,0.49c0.77,0.83,1.44,1.43,1.44,1.83\nc-0.04,0.31-0.22,0.58-0.48,0.74c-0.22-0.98-0.8-1.84-1.62-2.42h-0.06v0.27c0,0.19,0,0.47,0,0.77c0,1.49-0.15,1.72-0.67,1.72\nc-0.09,0.01-0.19,0.01-0.28,0c0.33-0.49,0.48-1.08,0.41-1.67v-0.7c0-0.27,0.03-0.53,0.06-0.8v-0.11h-0.08\nc-0.33-0.05-0.67-0.09-1-0.1c-0.57-0.07-1.14,0.07-1.6,0.41c-0.24-0.18-0.41-0.44-0.48-0.73c0-0.32,0.19-0.34,0.45-0.34\nc0.14-0.01,0.27-0.01,0.41,0c0.59,0.09,1.18,0.13,1.78,0.12h0.06v-0.06c-0.5-1.13-1.18-2.17-2-3.09c0.1-0.35,0.2-0.59,0.54-0.59\nM12.64,27.87v0.06h0.06c0.55-0.01,1.1-0.06,1.64-0.16c0.14-0.01,0.27-0.01,0.41,0c0.26,0,0.45,0,0.45,0.34\nc-0.07,0.29-0.24,0.55-0.48,0.73c-0.46-0.34-1.03-0.49-1.6-0.41c-0.33,0.01-0.67,0.05-1,0.1H12v0.11\nc0.03,0.27,0.06,0.53,0.06,0.8v0.7c-0.05,0.58,0.1,1.15,0.42,1.63c-0.09,0.01-0.19,0.01-0.28,0c-0.52,0-0.67-0.23-0.67-1.72\nc0-0.3,0-0.58,0-0.77V29l-0.06,0.05c-0.82,0.58-1.39,1.44-1.61,2.42c-0.28-0.14-0.47-0.4-0.53-0.7c0-0.43,0.65-1.07,1.39-1.81\nl0.43-0.43v-0.06h-0.14c-0.23-0.07-0.47-0.11-0.71-0.12c-0.61-0.08-1.22,0.11-1.68,0.51c-0.13-0.24-0.2-0.51-0.21-0.79\nc0.01-0.11,0.06-0.22,0.14-0.3c0.08-0.06,0.18-0.08,0.28-0.07l0,0c0.82,0.02,1.64,0.1,2.45,0.24l0,0l0,0\nc0.88-1.15,1.64-2.38,2.28-3.68c0.12-0.05,0.25-0.07,0.38-0.07c0.35,0,0.44,0.24,0.54,0.59c-0.82,0.92-1.5,1.96-2,3.09\nM7.78,6.87c0.08-1.36,0.7-2.62,1.72-3.52l0.32,0.07C9.06,4.19,8.6,5.19,8.51,6.26c0,2.56,2.73,4.78,5.82,4.78\nc0,0.22,0,0.45,0,0.69c-0.01,0.35,0,0.69,0.03,1.04c-3.5,0-6.58-2.86-6.58-5.92 M31.25,12.23c1.57,2.49,2.8,2.45,4.66,2.45\nc-1.19-0.97-2.21-2.14-3-3.46L30,6.65c-0.29-1.44-1.03-2.75-2.12-3.73c0.31-0.1,0.6-0.24,0.87-0.42c-1.88,0-3.73-1-4.75-1\nc-0.55-0.05-1.03,0.36-1.08,0.91c0,0.58,0.63,1.16,1.73,1.16c0.31,0,0.62-0.04,0.92-0.09c0.65,0.74,1.03,1.67,1.08,2.65\nc0,2-2.41,3.58-4.83,3.58h-0.41c-0.5-0.67-0.84-1.45-1-2.28c0-1.6,1.05-2.9,1.05-4.48c0-0.68-0.24-1.33-0.67-1.85\nc0.29-0.23,0.53-0.52,0.7-0.85c-0.22,0.08-0.45,0.11-0.68,0.09c-1.16,0-2.11-0.3-3-0.3c-0.53,0-0.67,0.16-0.67,0.31\nc-0.01,0.05-0.01,0.1,0,0.15c-0.19-0.08-0.39-0.13-0.59-0.17c-0.29-0.05-0.58-0.08-0.88-0.08c-1.13,0-1.52,0.47-1.52,0.87\nc0.07,0.52,0.27,1.01,0.57,1.44c0.4-0.2,0.84-0.31,1.28-0.34c0.6,0,1.13,0.57,1.41,1.24c-0.29,0.05-0.59,0.07-0.88,0.07\nc-0.68-0.03-1.36-0.16-2-0.39l0,0c0,0,0.31,0.56,0.92,0.78c0.72,0.22,1.46,0.37,2.21,0.45c-0.08,0.21-0.23,0.38-0.43,0.49\nc-0.05,0.02-0.09,0.02-0.14,0c-0.74-0.14-1.45-0.35-2.14-0.65H14.9c0,0.42,1.09,1.35,2.07,1.71c-1.06,1.1-1.87,2.41-2.39,3.85\nh-0.41c-2.42,0-4.82-1.57-4.82-3.58c0.05-0.98,0.43-1.91,1.07-2.65c0.3,0.05,0.61,0.09,0.92,0.09c1.1,0,1.69-0.58,1.74-1.16\nc-0.04-0.55-0.52-0.96-1.07-0.92c0,0,0,0-0.01,0c-1,0-2.88,1-4.76,1C7.51,2.73,7.8,2.87,8.11,2.97C7.03,3.94,6.29,5.23,6,6.65\nl-2.87,4.59c-0.79,1.32-1.81,2.49-3,3.46c1.86,0,3.09,0,4.66-2.45L6.26,9.9c0.11,0.31,0.24,0.61,0.4,0.9l-2.97,4.67\nc-0.79,1.32-1.8,2.49-3,3.46c1.85,0,3.08,0,4.65-2.44l2.52-4c0.19,0.2,0.39,0.4,0.6,0.58l-3.59,5.7c-0.79,1.32-1.8,2.49-3,3.45\nc1.85,0,3.08,0.05,4.65-2.44L10,14.2c0.22,0.14,0.46,0.28,0.7,0.41l-4.27,6.77c-0.79,1.31-1.81,2.48-3,3.45\nc1.85,0,3.08,0,4.65-2.44l4.36-7c0.25,0.1,0.51,0.2,0.78,0.28l-4.95,7.9c-0.79,1.31-1.81,2.48-3,3.45c1.85,0,3.08,0.05,4.65-2.43\nl5.24-8.39h0.16c0.14,0.42,0.22,0.86,0.24,1.3c0,2.64-1.73,5-3.8,6.76c0.19,0.06,0.38,0.09,0.58,0.08c0.3,0.01,0.6-0.01,0.9-0.05\nc-0.57,1.13-1.24,2.21-2,3.23c-0.77-0.13-1.54-0.2-2.32-0.22c-0.67,0-0.75,0.4-0.75,0.75c-0.01,0.53,0.22,1.03,0.62,1.38\nc0.13-0.31,0.38-0.73,1.63-0.73h0.13C10.11,29.13,9,30.06,9,30.77c0.06,0.66,0.59,1.18,1.25,1.24c-0.02-0.14-0.02-0.28,0-0.42\nc0.13-0.69,0.48-1.33,1-1.8c-0.01,0.1-0.01,0.2,0,0.3c0,1.43,0.13,2.08,1,2.08c0.31-0.01,0.61-0.12,0.86-0.31\nc-0.5-0.44-0.73-1.11-0.62-1.77c0-0.21,0-0.41,0-0.69c0.02-0.2,0.02-0.41,0-0.61c0.24-0.02,0.47-0.02,0.71,0\nc0,0,1.29-0.1,1.6,0.57c0.35-0.32,0.86-0.78,0.86-1.27c0-0.33-0.16-0.71-0.83-0.71c-0.25,0-1,0.16-1.7,0.16\nc0.48-0.84,1.04-1.64,1.66-2.39c0.1,0.39,0.31,0.74,0.62,1c0.12-1.17,0.54-2.28,1.21-3.24c0.16,0.93,0.24,1.87,0.23,2.82\nc0,3.55-0.85,6.17-2.66,6.67c0.26,0.46,0.73,0.75,1.25,0.78c0.66,0,1-0.75,1.39-1.46c0.19,0.53,0.72,1.8,1.25,1.8\ns1.06-1.27,1.25-1.8c0.37,0.71,0.73,1.46,1.39,1.46c0.52-0.03,1-0.33,1.26-0.78c-1.82-0.5-2.67-3.12-2.67-6.67\nc-0.01-0.95,0.07-1.89,0.23-2.82c0.68,0.96,1.1,2.07,1.21,3.24c0.31-0.26,0.53-0.61,0.63-1c0.61,0.75,1.15,1.54,1.62,2.38\nc-0.66,0-1.45-0.16-1.7-0.16c-0.67,0-0.82,0.38-0.82,0.71c0,0.49,0.51,1,0.86,1.27c0.3-0.67,1.59-0.57,1.59-0.57\nc0.24-0.02,0.47-0.02,0.71,0c-0.02,0.2-0.02,0.41,0,0.61v0.69c0.11,0.66-0.12,1.33-0.62,1.77c0.25,0.19,0.55,0.3,0.86,0.31\nc0.91,0,1-0.65,1-2.08c0.01-0.1,0.01-0.2,0-0.3c0.52,0.47,0.87,1.11,1,1.8c0.02,0.14,0.02,0.28,0,0.42\nc0.61-0.11,1.06-0.62,1.12-1.23c0-0.74-1.15-1.67-1.52-2.08h0.13c1.25,0,1.5,0.42,1.63,0.73c0.4-0.35,0.63-0.85,0.62-1.38\nc0-0.35-0.07-0.75-0.75-0.75c-0.78,0.02-1.55,0.09-2.32,0.22c-0.76-1.02-1.43-2.1-2-3.23c0.3,0.04,0.6,0.06,0.9,0.05\nc0.19,0.01,0.39-0.02,0.57-0.08c-2.07-1.79-3.8-4.12-3.8-6.76c0.02-0.44,0.1-0.88,0.24-1.3h0.16l5.24,8.39\nc1.57,2.48,2.8,2.43,4.65,2.43c-1.19-0.97-2.21-2.14-3-3.45l-4.92-7.87c0.27-0.08,0.53-0.18,0.79-0.28l4.35,7\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.14-3-3.45l-4.23-6.77c0.24-0.13,0.48-0.27,0.7-0.41l3.42,5.55\nc1.57,2.49,2.8,2.44,4.65,2.44c-1.19-0.97-2.21-2.13-3-3.45l-3.55-5.69c0.2-0.18,0.4-0.38,0.59-0.58l2.52,4\nc1.57,2.48,2.8,2.44,4.65,2.44c-1.2-0.97-2.21-2.14-3-3.46l-2.99-4.7c0.16-0.29,0.29-0.59,0.4-0.9L31.25,12.23z"}),y=class{constructor(e){c(this,e),this._abbr=void 0,this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateAbbr(c){this.validateOrg(c)}validateOrg(c){"string"==typeof c&&b.has(c)?r(this,"_org",c):l(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org||this._abbr)}render(){var c;return e(n,{key:"854b304e1a67b50db78277b1c21a7d3f8327604a",class:"kol-logo"},e("svg",{key:"47e701b050fc065eaf7eaae6c51c78067c6b6e3c","aria-label":s("kol-logo-description",{placeholders:{orgShort:this.state._org,orgLong:f(this.state._org)}}),role:"img",viewBox:"0 0 225 100"},e("rect",{key:"a8da6270d8a489e9863ec7211c896b683e94b25e",width:"100%",height:"100%",fill:"white"}),e("svg",{key:"333ba957874d0fc38225541b605c5a7565000a30",x:"0",y:"4",height:"75"},e(g,{key:"4548a64c15ca49c2ecca6ee2203ce70bb49bab8c"})),e("svg",{key:"bb772e26c3ebcbc21e302deaa95f2a4172ddc33a",x:"40.5",y:"3.5",height:"100"},e("rect",{key:"1324e9232cd516ec14cf36522d3c3d2a9320674a",width:"5",height:"30"}),e("rect",{key:"c7b60713b72a70864add98f2ac0376dff21b60e8",y:"30",width:"5",height:"30",fill:"red"}),e("rect",{key:"85951791701f98526c1e17731409ddadf299a9b0",y:"60",width:"5",height:"30",fill:"#fc0"})),e("svg",{key:"3e54cd0536c7bcbe0e099fa0d9ed129dda8c036e",x:"50",y:"0"},e("text",{key:"c3b2781ed18a2240aac3d75c34c87c3061290157",x:"0",y:"-0.05em","font-family":"BundesSans Web",style:{backgroundColor:"white",color:"black"}},o.has(this.state._org)?e("tspan",null,null===(c=o.get(this.state._org))||void 0===c?void 0:c.map(((c,t)=>e("tspan",{x:"0",dy:"1.1em",key:`kol-logo-text-${t}`},c)))):e("tspan",{fill:"red"},e("tspan",{x:"0",dy:"1.1em"},"Der Schlüsselwert"),e("tspan",{x:"0",dy:"1.1em","font-weight":"bold"},"'",this.state._org,"'"),e("tspan",{x:"0",dy:"1.1em"},"ist nicht definiert."),e("tspan",{x:"0",dy:"1.1em"},"oder freigegeben."))))))}static get watchers(){return{_abbr:["validateAbbr"],_org:["validateOrg"]}}};y.style={default:h};export{y as kol_logo};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as e,h as t,H as i}from"./index-a051748e.js";import{v as n}from"./label-bce4f328.js";import{f as s}from"./a11y.tipps-798efb1a.js";import{w as a,s as o,d as l}from"./prop.validators-3017e14b.js";import{g as d,L as h}from"./dev.utils-f829063f.js";import"./index-117bd1aa.js";import"./reuse-d79ab469.js";class r{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let i=0;i<e.children.length;i++)this.lockFocus(e.children[i],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,i)=>{i.style.display=t===i?"inline":"none"})),d().body.style.maxHeight="100vh",d().body.style.overflow="hidden",this.lockFocus(d().body,t)}else d().body.style.maxHeight="unset",d().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?h.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)h.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const i=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(i)}}}const c=":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}.overlay{background-color:rgba(0, 0, 0, 0.33);display:flex;height:100%;inset:0;position:fixed;width:100%;z-index:100}.modal{margin:auto;max-height:100%;max-width:100%}",f=c,p=new r,u=class{constructor(t){e(this,t),this.onKeyDown=e=>{e&&"Escape"===e.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._label=void 0,this._on=void 0,this._width="100%",this.state={_activeElement:null,_label:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?p.openModal(this.hostElement,this.state._activeElement):p.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&p.closeModal(this.hostElement)}render(){return t(i,{key:"ee7283c9ac80b66fbb1b31ff3b3cb0eea09a59c5",class:"kol-modal",ref:e=>{this.hostElement=e}},this.state._activeElement&&t("div",{class:"overlay"},t("div",{class:"modal",style:{width:this.state._width},"aria-label":this.state._label,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:e=>{e&&(e.setAttribute("tabindex","0"),setTimeout((()=>e.focus()),250))}},t("slot",null))))}validateActiveElement(e){a(this,"_activeElement",(e=>"object"==typeof e||null===e),new Set(["HTMLElement","null"]),e,{defaultValue:null,hooks:{afterPatch:()=>{var e;null===this._activeElement&&(null===(e=this.state._on)||void 0===e?void 0:e.onClose)&&this.state._on.onClose()}}})}validateAriaLabel(e){this.validateLabel(e)}validateLabel(e){n(this,e,{required:!0})}validateOn(e){if("object"==typeof e&&null!==e){s("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const t={};"function"!=typeof e.onClose&&!0!==e.onClose||(t.onClose=e.onClose),o(this,"_on",t)}}validateWidth(e){l(this,"_width",e,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label||this._ariaLabel),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};u.style={default:f};export{u as kol_modal};
4
+ import{r as e,h as t,H as i}from"./index-6237c77d.js";import{v as n}from"./label-218f516d.js";import{f as a}from"./a11y.tipps-2fa5953b.js";import{w as s,s as o,d as l}from"./prop.validators-0872ab9e.js";import{g as d,L as h}from"./dev.utils-d7aa3c72.js";import"./index-117bd1aa.js";import"./reuse-d79ab469.js";class r{constructor(){this.lockedElements=new Map,this.modalStack=new Map}lockElement(e){const t=e.getAttribute("tabindex");(e instanceof HTMLAnchorElement||e instanceof HTMLButtonElement||e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement||"string"==typeof t||void 0!==e.dataset.kolModal)&&("string"==typeof t?this.lockedElements.set(e,{tabIndex:t}):this.lockedElements.set(e,{}),e.setAttribute("tabindex","-1"),e.setAttribute("aria-hidden","true"),e.style.userSelect="none")}unlockElement(e,t){"string"==typeof e.tabIndex?t.setAttribute("tabindex",e.tabIndex):t.removeAttribute("tabindex"),t.removeAttribute("aria-hidden"),t.style.userSelect="unset",this.lockedElements.delete(t)}unlockLockedElements(e){e.forEach(this.unlockElement.bind(this))}lockFocus(e,t){if(e!==t&&(e instanceof HTMLElement||e instanceof ShadowRoot)){e instanceof HTMLElement&&(this.lockElement(e),this.lockFocus(e.shadowRoot,t));for(let i=0;i<e.children.length;i++)this.lockFocus(e.children[i],t)}}renderModalIfExists(e){if(e instanceof HTMLElement){this.lockedElements.has(e)&&this.unlockElement(this.lockedElements.get(e),e);const t=setTimeout((()=>{clearTimeout(t),e.focus()}),500)}if(this.unlockLockedElements(this.lockedElements),this.modalStack.size>0){const e=Array.from(this.modalStack.keys()),t=e[e.length-1];this.modalStack.forEach(((e,i)=>{i.style.display=t===i?"inline":"none"})),d().body.style.maxHeight="100vh",d().body.style.overflow="hidden",this.lockFocus(d().body,t)}else d().body.style.maxHeight="unset",d().body.style.overflow="unset"}openModal(e,t){e instanceof HTMLElement==!1?h.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide."):(this.modalStack.set(e,{activeElement:t}),this.renderModalIfExists())}closeModal(e){var t;if(e instanceof HTMLElement==!1)h.warn("[KolModalService] Die DOM-Referenz des Modals ist nicht valide.");else{const i=null===(t=this.modalStack.get(e))||void 0===t?void 0:t.activeElement;this.modalStack.delete(e),this.renderModalIfExists(i)}}}const c=":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}.overlay{background-color:rgba(0, 0, 0, 0.33);display:flex;height:100%;inset:0;position:fixed;width:100%;z-index:100}.modal{margin:auto;max-height:100%;max-width:100%}",f=c,p=new r,u=class{constructor(t){e(this,t),this.onKeyDown=e=>{e&&"Escape"===e.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._label=void 0,this._on=void 0,this._width="100%",this.state={_activeElement:null,_label:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?p.openModal(this.hostElement,this.state._activeElement):p.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&p.closeModal(this.hostElement)}render(){return t(i,{key:"2b9abe0d2195ad2e18d95380ba4faf94470b2286",class:"kol-modal",ref:e=>{this.hostElement=e}},this.state._activeElement&&t("div",{key:"c47b4ada1ad7e94f9d25c1c71b52cc8b8aed7701",class:"overlay"},t("div",{key:"247b1272339e7f38c126fd4f52318336acda8c54",class:"modal",style:{width:this.state._width},"aria-label":this.state._label,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:e=>{e&&(e.setAttribute("tabindex","0"),setTimeout((()=>e.focus()),250))}},t("slot",{key:"83b0cd1596324a53c99b3cc4b5b56a1d19e25285"}))))}validateActiveElement(e){s(this,"_activeElement",(e=>"object"==typeof e||null===e),new Set(["HTMLElement","null"]),e,{defaultValue:null,hooks:{afterPatch:()=>{var e;null===this._activeElement&&(null===(e=this.state._on)||void 0===e?void 0:e.onClose)&&this.state._on.onClose()}}})}validateAriaLabel(e){this.validateLabel(e)}validateLabel(e){n(this,e,{required:!0})}validateOn(e){if("object"==typeof e&&null!==e){a("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const t={};"function"!=typeof e.onClose&&!0!==e.onClose||(t.onClose=e.onClose),o(this,"_on",t)}}validateWidth(e){l(this,"_width",e,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label||this._ariaLabel),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};u.style={default:f};export{u as kol_modal};
@@ -1 +1 @@
1
- {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","defaultStyleCss","KolModalDefaultStyle0","modalService","KolModal","onKeyDown","event","code","_activeElement","_label","_width","componentDidRender","state","disconnectedCallback","render","h","Host","key","class","ref","el","width","role","validateActiveElement","watchValidator","Set","defaultValue","hooks","afterPatch","_on","onClose","validateAriaLabel","validateLabel","required","validateOn","featureHint","callbacks","setState","validateWidth","watchString","componentWillLoad","_ariaLabel"],"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"],"mappings":";;;4TAaaA,EAAb,WAAAC,GACSC,KAAAC,eAAyD,IAAIC,IAC7DF,KAAAG,WAA6C,IAAID,G,CAEjD,WAAAE,CAAYC,GACnB,MAAMC,EAA0BD,EAAYE,aAAa,YACzD,GACCF,aAAuBG,mBACvBH,aAAuBI,mBACvBJ,aAAuBK,kBACvBL,aAAuBM,mBACvBN,aAAuBO,4BAChBN,IAAa,UACpBD,EAAYQ,QAAQC,WAAaC,UAChC,CACD,UAAWT,IAAa,SAAU,CACjCN,KAAKC,eAAee,IAAIX,EAAa,CACpCC,Y,KAEK,CACNN,KAAKC,eAAee,IAAIX,EAAa,G,CAEtCA,EAAYY,aAAa,WAAY,MACrCZ,EAAYY,aAAa,cAAe,QACxCZ,EAAYa,MAAMC,WAAa,M,EAIzB,aAAAC,CAAcC,EAA6BhB,GAClD,UAAWgB,EAAMf,WAAa,SAAU,CACvCD,EAAYY,aAAa,WAAYI,EAAMf,S,KACrC,CACND,EAAYiB,gBAAgB,W,CAE7BjB,EAAYiB,gBAAgB,eAC5BjB,EAAYa,MAAMC,WAAa,QAC/BnB,KAAKC,eAAesB,OAAOlB,E,CAGpB,oBAAAmB,CAAqBvB,GAC5BA,EAAewB,QAAQzB,KAAKoB,cAAcM,KAAK1B,M,CAGxC,SAAA2B,CAAUC,EAA8CC,GAC/D,GAAID,IAAgBC,IAAmBD,aAAuBE,aAAeF,aAAuBG,YAAa,CAChH,GAAIH,aAAuBE,YAAa,CACvC9B,KAAKI,YAAYwB,GACjB5B,KAAK2B,UAAUC,EAAYI,WAAYH,E,CAExC,IAAK,IAAII,EAAI,EAAGA,EAAIL,EAAYM,SAASC,OAAQF,IAAK,CACrDjC,KAAK2B,UAAUC,EAAYM,SAASD,GAAmBJ,E,GAKlD,mBAAAO,CAAoBC,GAC3B,GAAIA,aAAyBP,YAAa,CACzC,GAAI9B,KAAKC,eAAeqC,IAAID,GAAgB,CAC3CrC,KAAKoB,cAAcpB,KAAKC,eAAesC,IAAIF,GAAwCA,E,CAEpF,MAAMG,EAAUC,YAAW,KAC1BC,aAAaF,GACbH,EAAcM,OAAO,GACnB,I,CAEJ3C,KAAKwB,qBAAqBxB,KAAKC,gBAC/B,GAAID,KAAKG,WAAWyC,KAAO,EAAG,CAC7B,MAAMC,EAAYC,MAAMC,KAAK/C,KAAKG,WAAW6C,QAC7C,MAAMC,EAAWJ,EAAUA,EAAUV,OAAS,GAG9CnC,KAAKG,WAAWsB,SAAQ,CAACyB,EAAsB7C,KAC9C,GAAI4C,IAAa5C,EAAa,CAC7BA,EAAYa,MAAMiC,QAAU,Q,KACtB,CACN9C,EAAYa,MAAMiC,QAAU,M,KAG9BC,IAAcC,KAAKnC,MAAMoC,UAAY,QACrCF,IAAcC,KAAKnC,MAAMqC,SAAW,SACpCvD,KAAK2B,UAAUyB,IAAcC,KAAMJ,E,KAC7B,CACNG,IAAcC,KAAKnC,MAAMoC,UAAY,QACrCF,IAAcC,KAAKnC,MAAMqC,SAAW,O,EAI/B,SAAAC,CAAUP,EAAuBZ,GACvC,GAAIY,aAAoBnB,cAAgB,MAAO,CAC9C2B,EAAIC,KAAK,kE,KACH,CACN1D,KAAKG,WAAWa,IAAIiC,EAAU,CAC7BZ,kBAEDrC,KAAKoC,qB,EAIA,UAAAuB,CAAWV,G,MACjB,GAAIA,aAAoBnB,cAAgB,MAAO,CAC9C2B,EAAIC,KAAK,kE,KACH,CACN,MAAMrB,GAAgBuB,EAAA5D,KAAKG,WAAWoC,IAAIU,MAAS,MAAAW,SAAA,SAAAA,EAAEvB,cACrDrC,KAAKG,WAAWoB,OAAO0B,GACvBjD,KAAKoC,oBAAoBC,E,GCrH5B,MAAMwB,EAAkB,shCACxB,MAAAC,EAAeD,ECUf,MAAME,EAAe,IAAIjE,E,MAiBZkE,EAAQ,M,yBAmBHhE,KAAAiE,UAAaC,IAC7B,GAAIA,GAASA,EAAMC,OAAS,SAAU,CACrCnE,KAAKoE,eAAiB,I,gHA+DS,O,WAED,CAC/BA,eAAgB,KAChBC,OAAQ,IACRC,OAAQ,O,CAtFF,kBAAAC,GACN,GAAIvE,KAAK4B,YAA8C,CACtD,GAAI5B,KAAKwE,MAAMJ,eAAiD,CAC/DL,EAAaP,UAAUxD,KAAK4B,YAAa5B,KAAKwE,MAAMJ,e,KAC9C,CACNL,EAAaJ,WAAW3D,KAAK4B,Y,GAKzB,oBAAA6C,GACN,GAAIzE,KAAK4B,YAA8C,CACtDmC,EAAaJ,WAAW3D,KAAK4B,Y,EAUxB,MAAA8C,GACN,OACCC,EAACC,EAAI,CAAAC,IAAA,2CACJC,MAAM,YACNC,IAAMC,IACLhF,KAAK4B,YAAcoD,CAAiB,GAGpChF,KAAKwE,MAAMJ,gBACXO,EAAA,OAAKG,MAAM,WACVH,EAAA,OACCG,MAAM,QACN5D,MAAO,CACN+D,MAAOjF,KAAKwE,MAAMF,QAClB,aACWtE,KAAKwE,MAAMH,OAAM,aAClB,OACXa,KAAK,SACLjB,UAAWjE,KAAKiE,UAChBc,IAAMC,IACL,GAAIA,EAAqC,CACxCA,EAAG/D,aAAa,WAAY,KAC5BwB,YAAW,IAAMuC,EAAGrC,SAAS,I,IAI/BgC,EAAA,e,CA0CC,qBAAAQ,CAAsB9D,GAC5B+D,EAAepF,KAAM,kBAAmBqB,UAA0BA,IAAU,UAAYA,IAAU,MAAM,IAAIgE,IAAI,CAAC,cAAe,SAAUhE,EAAO,CAChJiE,aAAc,KACdC,MAAO,CACNC,WAAY,K,MAEX,GAAIxF,KAAKoE,iBAAmB,QAAQR,EAAA5D,KAAKwE,MAAMiB,OAAG,MAAA7B,SAAA,SAAAA,EAAE8B,SAAS,CAC5D1F,KAAKwE,MAAMiB,IAAIC,S,MAWb,iBAAAC,CAAkBtE,GACxBrB,KAAK4F,cAAcvE,E,CAIb,aAAAuE,CAAcvE,GACpBuE,EAAc5F,KAAMqB,EAAO,CAC1BwE,SAAU,M,CAKL,UAAAC,CAAWzE,GACjB,UAAWA,IAAU,UAAYA,IAAU,KAAM,CAChD0E,EAAY,2EACZ,MAAMC,EAAwC,GAC9C,UAAW3E,EAAMqE,UAAY,YAAcrE,EAAMqE,UAAY,KAAM,CAClEM,EAAUN,QAAUrE,EAAMqE,O,CAE3BO,EAAqCjG,KAAM,MAAOgG,E,EAK7C,aAAAE,CAAc7E,GACpB8E,EAAYnG,KAAM,SAAUqB,EAAO,CAClCiE,aAAc,Q,CAIT,iBAAAc,GACNpG,KAAKmF,sBAAsBnF,KAAKoE,gBAChCpE,KAAK4F,cAAc5F,KAAKqE,QAAUrE,KAAKqG,YACvCrG,KAAK8F,WAAW9F,KAAKyF,KACrBzF,KAAKkG,cAAclG,KAAKsE,O"}
1
+ {"version":3,"names":["ModalService","constructor","this","lockedElements","Map","modalStack","lockElement","htmlElement","tabIndex","getAttribute","HTMLAnchorElement","HTMLButtonElement","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","dataset","kolModal","undefined","set","setAttribute","style","userSelect","unlockElement","value","removeAttribute","delete","unlockLockedElements","forEach","bind","lockFocus","hostElement","excludeElement","HTMLElement","ShadowRoot","shadowRoot","i","children","length","renderModalIfExists","activeElement","has","get","timeout","setTimeout","clearTimeout","focus","size","modalKeys","Array","from","keys","modalRef","_value","display","getDocument","body","maxHeight","overflow","openModal","Log","warn","closeModal","_a","defaultStyleCss","KolModalDefaultStyle0","modalService","KolModal","onKeyDown","event","code","_activeElement","_label","_width","componentDidRender","state","disconnectedCallback","render","h","Host","key","class","ref","el","width","role","validateActiveElement","watchValidator","Set","defaultValue","hooks","afterPatch","_on","onClose","validateAriaLabel","validateLabel","required","validateOn","featureHint","callbacks","setState","validateWidth","watchString","componentWillLoad","_ariaLabel"],"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"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as a}from"./index-a051748e.js";import{t as e}from"./i18n-ad947f60.js";import{a as n,w as s}from"./prop.validators-3017e14b.js";import{v as l}from"./hide-label-000c16f6.js";import{v as o}from"./label-bce4f328.js";import{h as r,b as d,d as c}from"./a11y.tipps-798efb1a.js";import{r as h,a as p}from"./unique-nav-labels-62d9802d.js";import{w as u}from"./validation-8785c967.js";import{o as b,d as v,p as m}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";import"./dev.utils-f829063f.js";const f=(a,t)=>{n(a,"_collapsible",t)},_=(a,t)=>{n(a,"_hasCompactButton",t)},y=":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}",k=y,w=class{constructor(a){i(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=>t("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,i,e,l,n){return t("div",{class:{entry:!0,"hide-label":i}},t(b,{_link:Object.assign(Object.assign({},l),{_hideLabel:i})}),e?this.expandButton(a,l,n):"")}expandButton(a,i,e){return t(v,{class:"expand-button",_ariaExpanded:e,_disabled:!a,_icons:"codicon codicon-"+(e?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${i._label} ${e?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(i)}})}li(a,i,e,l,n,s){const o=!!n._active,r=Array.isArray(n._children)&&n._children.length>0,d=r&&o;return t("li",{class:{active:o,expanded:d,"has-children":r,selected:d},key:l},this.entry(a,i,r,n,o),d?t(this.linkList,{collapsible:a,hideLabel:i,deep:e+1,links:n._children||[],orientation:s}):"")}render(){let i=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(i=!1,r("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const l=!0===this.state._collapsible,n=!0===this.state._hideLabel,s=this.state._orientation;return t(a,{key:"22d1f41175666b6e540c1d93a92a88283e6bfced",class:"kol-nav"},t("div",{key:"42dcf20c3d0d157f08f5a09a5a4566755288a5a0",class:{[s]:!0,[this.state._variant]:!0}},t("nav",{key:"86c2c08a34f26948b8054c5735c4a673e22a6ddc","aria-label":this.state._label,id:"nav"},t(this.linkList,{key:"fe334ca90260312723e146b5bcc5194c741cd828",collapsible:l,hideLabel:n,deep:0,links:this.state._links,orientation:s})),i&&t("div",{class:"compact"},t(m,{_ariaControls:"nav",_ariaExpanded:!n,_icons:n?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:e(n?"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){s(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){f(this,a)}validateCompact(a){this.validateHideLabel(a)}validateHasCompactButton(a){_(this,a)}validateHideLabel(a){l(this,a)}validateLabel(a,t,i=!1){i||h(this.state._label),o(this,a,{required:!0}),d(a),p(this.state._label)}validateLinks(a){u("KolNav",this,a),c("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(a){s(this,"_orientation",(a=>"horizontal"===a||"vertical"===a),new Set(["Orientation {horizontal, vertical}"]),a,{defaultValue:"vertical"})}validateVariant(a){s(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(){h(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"]}}};w.style={default:k};export{w as kol_nav};
4
+ import{r as i,h as t,H as a}from"./index-6237c77d.js";import{t as e}from"./i18n-ad947f60.js";import{a as n,w as s}from"./prop.validators-0872ab9e.js";import{v as l}from"./hide-label-181cab2f.js";import{v as o}from"./label-218f516d.js";import{h as r,b as d,d as c}from"./a11y.tipps-2fa5953b.js";import{r as h,a as p}from"./unique-nav-labels-62d9802d.js";import{w as u}from"./validation-0a2240d1.js";import{o as b,d as v,p as m}from"./component-names-fed305c7.js";import"./i18n-fddf0324.js";import"./reuse-d79ab469.js";import"./index-117bd1aa.js";import"./dev.utils-d7aa3c72.js";const f=(a,t)=>{n(a,"_collapsible",t)},y=(a,t)=>{n(a,"_hasCompactButton",t)},_=":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}",k=_,w=class{constructor(a){i(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=>t("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,i,e,l,n){return t("div",{class:{entry:!0,"hide-label":i}},t(b,{_link:Object.assign(Object.assign({},l),{_hideLabel:i})}),e?this.expandButton(a,l,n):"")}expandButton(a,i,e){return t(v,{class:"expand-button",_ariaExpanded:e,_disabled:!a,_icons:"codicon codicon-"+(e?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${i._label} ${e?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(i)}})}li(a,i,e,l,n,s){const o=!!n._active,r=Array.isArray(n._children)&&n._children.length>0,d=r&&o;return t("li",{class:{active:o,expanded:d,"has-children":r,selected:d},key:l},this.entry(a,i,r,n,o),d?t(this.linkList,{collapsible:a,hideLabel:i,deep:e+1,links:n._children||[],orientation:s}):"")}render(){let i=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(i=!1,r("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const l=!0===this.state._collapsible,n=!0===this.state._hideLabel,s=this.state._orientation;return t(a,{key:"22d1f41175666b6e540c1d93a92a88283e6bfced",class:"kol-nav"},t("div",{key:"42dcf20c3d0d157f08f5a09a5a4566755288a5a0",class:{[s]:!0,[this.state._variant]:!0}},t("nav",{key:"86c2c08a34f26948b8054c5735c4a673e22a6ddc","aria-label":this.state._label,id:"nav"},t(this.linkList,{key:"fe334ca90260312723e146b5bcc5194c741cd828",collapsible:l,hideLabel:n,deep:0,links:this.state._links,orientation:s})),i&&t("div",{key:"54bd6c9a3c2a41c6c838c3762cc31005d794e1c3",class:"compact"},t(m,{key:"b549ce4b27d2fa882ea8b6bd6dd9852dbc441304",_ariaControls:"nav",_ariaExpanded:!n,_icons:n?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:e(n?"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){s(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){f(this,a)}validateCompact(a){this.validateHideLabel(a)}validateHasCompactButton(a){y(this,a)}validateHideLabel(a){l(this,a)}validateLabel(a,t,i=!1){i||h(this.state._label),o(this,a,{required:!0}),d(a),p(this.state._label)}validateLinks(a){u("KolNav",this,a),c("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(a){s(this,"_orientation",(a=>"horizontal"===a||"vertical"===a),new Set(["Orientation {horizontal, vertical}"]),a,{defaultValue:"vertical"})}validateVariant(a){s(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(){h(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"]}}};w.style={default:k};export{w as kol_nav};