@public-ui/components 2.0.0-rc.0 → 2.0.0-rc.2

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 (537) hide show
  1. package/custom-elements.json +34 -27
  2. package/dist/cjs/{a11y.tipps-417b66df.js → a11y.tipps-286e2184.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-417b66df.js.map → a11y.tipps-286e2184.js.map} +1 -1
  4. package/dist/cjs/{align-c8de133d.js → align-38fe7d4a.js} +1 -1
  5. package/dist/cjs/{align-c8de133d.js.map → align-38fe7d4a.js.map} +1 -1
  6. package/dist/cjs/{alignment-932ba637.js → alignment-05ab4f60.js} +1 -1
  7. package/dist/cjs/{alignment-932ba637.js.map → alignment-05ab4f60.js.map} +1 -1
  8. package/dist/cjs/alternative-button-link-role-e29e79ed.js +4 -0
  9. package/dist/cjs/{alternative-button-link-role-76fc0537.js.map → alternative-button-link-role-e29e79ed.js.map} +1 -1
  10. package/dist/cjs/{app-globals-d1b411c4.js → app-globals-70ba97cd.js} +1 -1
  11. package/dist/cjs/{app-globals-d1b411c4.js.map → app-globals-70ba97cd.js.map} +1 -1
  12. package/dist/cjs/{associated.controller-0729954e.js → associated.controller-1273e17d.js} +1 -1
  13. package/dist/cjs/{associated.controller-0729954e.js.map → associated.controller-1273e17d.js.map} +1 -1
  14. package/dist/cjs/{color-71d1c910.js → color-885864c9.js} +1 -1
  15. package/dist/cjs/{color-71d1c910.js.map → color-885864c9.js.map} +1 -1
  16. package/dist/cjs/{controller-93e44df5.js → controller-6607a35d.js} +1 -1
  17. package/dist/cjs/{controller-93e44df5.js.map → controller-6607a35d.js.map} +1 -1
  18. package/dist/cjs/{controller-f4272866.js → controller-7156433c.js} +1 -1
  19. package/dist/cjs/{controller-f4272866.js.map → controller-7156433c.js.map} +1 -1
  20. package/dist/cjs/{controller-2fb82656.js → controller-95e49b07.js} +1 -1
  21. package/dist/cjs/{controller-2fb82656.js.map → controller-95e49b07.js.map} +1 -1
  22. package/dist/cjs/{controller-da2eaa2f.js → controller-f472b120.js} +1 -1
  23. package/dist/cjs/{controller-da2eaa2f.js.map → controller-f472b120.js.map} +1 -1
  24. package/dist/cjs/{controller-f05f47fe.js → controller-ff3d2189.js} +1 -1
  25. package/dist/cjs/{controller-f05f47fe.js.map → controller-ff3d2189.js.map} +1 -1
  26. package/dist/cjs/{controller-icon-3ace6f32.js → controller-icon-1add536b.js} +1 -1
  27. package/dist/cjs/{controller-icon-3ace6f32.js.map → controller-icon-1add536b.js.map} +1 -1
  28. package/dist/cjs/{custom-class-8ad48dce.js → custom-class-d0dc1465.js} +1 -1
  29. package/dist/cjs/{custom-class-8ad48dce.js.map → custom-class-d0dc1465.js.map} +1 -1
  30. package/dist/cjs/{dev.utils-1fb4135a.js → dev.utils-6caf7368.js} +1 -1
  31. package/dist/cjs/{dev.utils-1fb4135a.js.map → dev.utils-6caf7368.js.map} +1 -1
  32. package/dist/cjs/{devtools-8a3aba37.js → devtools-dd717900.js} +1 -1
  33. package/dist/cjs/{devtools-8a3aba37.js.map → devtools-dd717900.js.map} +1 -1
  34. package/dist/cjs/has-closer-309ad54b.js +4 -0
  35. package/dist/cjs/{has-closer-3f258cb1.js.map → has-closer-309ad54b.js.map} +1 -1
  36. package/dist/cjs/hide-label-37731a74.js +4 -0
  37. package/dist/cjs/{hide-label-a1359f24.js.map → hide-label-37731a74.js.map} +1 -1
  38. package/dist/cjs/i18n-d033fd25.js +4 -0
  39. package/dist/cjs/i18n-d033fd25.js.map +1 -0
  40. package/dist/cjs/{icons-ef0868ed.js → icons-8afa4b8a.js} +1 -1
  41. package/dist/cjs/{icons-ef0868ed.js.map → icons-8afa4b8a.js.map} +1 -1
  42. package/dist/cjs/image-source-299d8eab.js +4 -0
  43. package/dist/cjs/{image-source-30ac0359.js.map → image-source-299d8eab.js.map} +1 -1
  44. package/dist/cjs/index-8f2f5b90.js +4 -0
  45. package/dist/cjs/index-8f2f5b90.js.map +1 -0
  46. package/dist/cjs/index-e9e81c6a.js +5 -0
  47. package/dist/cjs/index-e9e81c6a.js.map +1 -0
  48. package/dist/cjs/index.cjs.js +1 -1
  49. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-alert-wc_3.cjs.entry.js +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-button-group-wc.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-button-link-text-switch.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-password.cjs.entry.js.map +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-text.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  97. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  99. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-span-wc_2.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  116. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  118. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  120. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  122. package/dist/cjs/kolibri.cjs.js +1 -1
  123. package/dist/cjs/kolibri.cjs.js.map +1 -1
  124. package/dist/cjs/{label-f59591d3.js → label-6a66b6c1.js} +1 -1
  125. package/dist/cjs/{label-f59591d3.js.map → label-6a66b6c1.js.map} +1 -1
  126. package/dist/cjs/loader.cjs.js +1 -1
  127. package/dist/cjs/open-c63a5e3f.js +4 -0
  128. package/dist/cjs/{open-1c4dcfb7.js.map → open-c63a5e3f.js.map} +1 -1
  129. package/dist/cjs/{prop.validators-40b03d45.js → prop.validators-074b54c5.js} +1 -1
  130. package/dist/cjs/{prop.validators-40b03d45.js.map → prop.validators-074b54c5.js.map} +1 -1
  131. package/dist/cjs/rows-1e373b35.js +4 -0
  132. package/dist/cjs/{rows-49957d39.js.map → rows-1e373b35.js.map} +1 -1
  133. package/dist/cjs/show-98976820.js +4 -0
  134. package/dist/cjs/{show-2a7af4da.js.map → show-98976820.js.map} +1 -1
  135. package/dist/cjs/{suggestions-ac1779ec.js → suggestions-6959d65d.js} +1 -1
  136. package/dist/cjs/{suggestions-ac1779ec.js.map → suggestions-6959d65d.js.map} +1 -1
  137. package/dist/cjs/{tab-index-62a72b67.js → tab-index-ad2bed16.js} +1 -1
  138. package/dist/cjs/{tab-index-62a72b67.js.map → tab-index-ad2bed16.js.map} +1 -1
  139. package/dist/cjs/{tooltip-align-f7332f5b.js → tooltip-align-4f53863a.js} +1 -1
  140. package/dist/cjs/{tooltip-align-f7332f5b.js.map → tooltip-align-4f53863a.js.map} +1 -1
  141. package/dist/cjs/{validation-c48f88d5.js → validation-90762185.js} +1 -1
  142. package/dist/cjs/{validation-c48f88d5.js.map → validation-90762185.js.map} +1 -1
  143. package/dist/cjs/{validation-d8756daa.js → validation-bd015251.js} +1 -1
  144. package/dist/cjs/{validation-d8756daa.js.map → validation-bd015251.js.map} +1 -1
  145. package/dist/components/color.js +1 -1
  146. package/dist/components/component11.js +1 -1
  147. package/dist/components/component11.js.map +1 -1
  148. package/dist/components/component15.js.map +1 -1
  149. package/dist/components/component2.js +1 -1
  150. package/dist/components/component9.js.map +1 -1
  151. package/dist/components/i18n.js +1 -1
  152. package/dist/components/i18n.js.map +1 -1
  153. package/dist/components/kol-details.js +1 -1
  154. package/dist/components/kol-details.js.map +1 -1
  155. package/dist/components/kol-input-checkbox.js.map +1 -1
  156. package/dist/components/kol-input-color.js.map +1 -1
  157. package/dist/components/kol-input-date.js.map +1 -1
  158. package/dist/components/kol-input-email.js.map +1 -1
  159. package/dist/components/kol-input-file.js.map +1 -1
  160. package/dist/components/kol-input-number.js.map +1 -1
  161. package/dist/components/kol-input-password.js.map +1 -1
  162. package/dist/components/kol-input-radio.js.map +1 -1
  163. package/dist/components/kol-input-range.js.map +1 -1
  164. package/dist/components/kol-input-text.js.map +1 -1
  165. package/dist/components/kol-nav.js +1 -1
  166. package/dist/components/kol-nav.js.map +1 -1
  167. package/dist/components/kol-textarea.js.map +1 -1
  168. package/dist/components/prop.validators.js +1 -1
  169. package/dist/components/prop.validators.js.map +1 -1
  170. package/dist/components/shadow2.js.map +1 -1
  171. package/dist/esm/{a11y.tipps-7143f6fd.js → a11y.tipps-348ca42a.js} +1 -1
  172. package/dist/esm/{a11y.tipps-7143f6fd.js.map → a11y.tipps-348ca42a.js.map} +1 -1
  173. package/dist/esm/{align-be0d4128.js → align-11b69892.js} +1 -1
  174. package/dist/esm/{align-be0d4128.js.map → align-11b69892.js.map} +1 -1
  175. package/dist/esm/{alignment-480cdfba.js → alignment-1bffdb6e.js} +1 -1
  176. package/dist/esm/{alignment-480cdfba.js.map → alignment-1bffdb6e.js.map} +1 -1
  177. package/dist/esm/alternative-button-link-role-1ace1f6f.js +4 -0
  178. package/dist/esm/{alternative-button-link-role-5e1ea5eb.js.map → alternative-button-link-role-1ace1f6f.js.map} +1 -1
  179. package/dist/esm/{app-globals-7a11b8ee.js → app-globals-d408fcae.js} +1 -1
  180. package/dist/esm/{app-globals-7a11b8ee.js.map → app-globals-d408fcae.js.map} +1 -1
  181. package/dist/esm/{associated.controller-d70c8be1.js → associated.controller-a395cef5.js} +1 -1
  182. package/dist/esm/{associated.controller-d70c8be1.js.map → associated.controller-a395cef5.js.map} +1 -1
  183. package/dist/esm/{color-048551d8.js → color-a3271610.js} +1 -1
  184. package/dist/esm/{color-048551d8.js.map → color-a3271610.js.map} +1 -1
  185. package/dist/esm/{controller-757cd887.js → controller-2743a0d8.js} +1 -1
  186. package/dist/esm/{controller-757cd887.js.map → controller-2743a0d8.js.map} +1 -1
  187. package/dist/esm/{controller-8bf7eac9.js → controller-417ec2ab.js} +1 -1
  188. package/dist/esm/{controller-8bf7eac9.js.map → controller-417ec2ab.js.map} +1 -1
  189. package/dist/esm/{controller-313148a2.js → controller-46e6bd0b.js} +1 -1
  190. package/dist/esm/{controller-313148a2.js.map → controller-46e6bd0b.js.map} +1 -1
  191. package/dist/esm/{controller-f1d4f4d4.js → controller-64f30149.js} +1 -1
  192. package/dist/esm/{controller-f1d4f4d4.js.map → controller-64f30149.js.map} +1 -1
  193. package/dist/esm/{controller-d5d0c61a.js → controller-a1e48719.js} +1 -1
  194. package/dist/esm/{controller-d5d0c61a.js.map → controller-a1e48719.js.map} +1 -1
  195. package/dist/esm/{controller-icon-d4a91832.js → controller-icon-c621ff81.js} +1 -1
  196. package/dist/esm/{controller-icon-d4a91832.js.map → controller-icon-c621ff81.js.map} +1 -1
  197. package/dist/esm/{custom-class-6b0cb37f.js → custom-class-87071d99.js} +1 -1
  198. package/dist/esm/{custom-class-6b0cb37f.js.map → custom-class-87071d99.js.map} +1 -1
  199. package/dist/esm/{dev.utils-b5b1c70d.js → dev.utils-9b878520.js} +1 -1
  200. package/dist/esm/{dev.utils-b5b1c70d.js.map → dev.utils-9b878520.js.map} +1 -1
  201. package/dist/esm/{devtools-188764ec.js → devtools-fa2d0662.js} +1 -1
  202. package/dist/esm/{devtools-188764ec.js.map → devtools-fa2d0662.js.map} +1 -1
  203. package/dist/esm/{has-closer-20ad2566.js → has-closer-f3547f42.js} +1 -1
  204. package/dist/esm/{has-closer-20ad2566.js.map → has-closer-f3547f42.js.map} +1 -1
  205. package/dist/esm/{hide-label-27292184.js → hide-label-ff12ad0b.js} +1 -1
  206. package/dist/esm/{hide-label-27292184.js.map → hide-label-ff12ad0b.js.map} +1 -1
  207. package/dist/esm/i18n-9c7e636f.js +4 -0
  208. package/dist/esm/i18n-9c7e636f.js.map +1 -0
  209. package/dist/esm/{icons-b6a6d907.js → icons-da3b61ae.js} +1 -1
  210. package/dist/esm/{icons-b6a6d907.js.map → icons-da3b61ae.js.map} +1 -1
  211. package/dist/esm/{image-source-fa985240.js → image-source-5494399d.js} +1 -1
  212. package/dist/esm/{image-source-fa985240.js.map → image-source-5494399d.js.map} +1 -1
  213. package/dist/{cjs/index-55ab202d.js → esm/index-5d267931.js} +1 -1
  214. package/dist/esm/index-5d267931.js.map +1 -0
  215. package/dist/esm/index-d0c806ea.js +5 -0
  216. package/dist/esm/index-d0c806ea.js.map +1 -0
  217. package/dist/esm/index.js +1 -1
  218. package/dist/esm/kol-abbr.entry.js +1 -1
  219. package/dist/esm/kol-accordion.entry.js +1 -1
  220. package/dist/esm/kol-alert-wc_3.entry.js +1 -1
  221. package/dist/esm/kol-alert.entry.js +1 -1
  222. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  223. package/dist/esm/kol-avatar.entry.js +1 -1
  224. package/dist/esm/kol-badge.entry.js +1 -1
  225. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  226. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  227. package/dist/esm/kol-button-group.entry.js +1 -1
  228. package/dist/esm/kol-button-link-text-switch.entry.js +1 -1
  229. package/dist/esm/kol-button-link-text-switch.entry.js.map +1 -1
  230. package/dist/esm/kol-button-link.entry.js +1 -1
  231. package/dist/esm/kol-button.entry.js +1 -1
  232. package/dist/esm/kol-card.entry.js +1 -1
  233. package/dist/esm/kol-details.entry.js +1 -1
  234. package/dist/esm/kol-details.entry.js.map +1 -1
  235. package/dist/esm/kol-form.entry.js +1 -1
  236. package/dist/esm/kol-heading.entry.js +1 -1
  237. package/dist/esm/kol-icon.entry.js +1 -1
  238. package/dist/esm/kol-image.entry.js +1 -1
  239. package/dist/esm/kol-indented-text.entry.js +1 -1
  240. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  241. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  242. package/dist/esm/kol-input-color.entry.js +1 -1
  243. package/dist/esm/kol-input-color.entry.js.map +1 -1
  244. package/dist/esm/kol-input-date.entry.js +1 -1
  245. package/dist/esm/kol-input-date.entry.js.map +1 -1
  246. package/dist/esm/kol-input-email.entry.js +1 -1
  247. package/dist/esm/kol-input-email.entry.js.map +1 -1
  248. package/dist/esm/kol-input-file.entry.js +1 -1
  249. package/dist/esm/kol-input-file.entry.js.map +1 -1
  250. package/dist/esm/kol-input-number.entry.js +1 -1
  251. package/dist/esm/kol-input-number.entry.js.map +1 -1
  252. package/dist/esm/kol-input-password.entry.js +1 -1
  253. package/dist/esm/kol-input-password.entry.js.map +1 -1
  254. package/dist/esm/kol-input-radio.entry.js +1 -1
  255. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  256. package/dist/esm/kol-input-range.entry.js +1 -1
  257. package/dist/esm/kol-input-range.entry.js.map +1 -1
  258. package/dist/esm/kol-input-text.entry.js +1 -1
  259. package/dist/esm/kol-input-text.entry.js.map +1 -1
  260. package/dist/esm/kol-input.entry.js +1 -1
  261. package/dist/esm/kol-kolibri.entry.js +1 -1
  262. package/dist/esm/kol-link-button.entry.js +1 -1
  263. package/dist/esm/kol-link-group.entry.js +1 -1
  264. package/dist/esm/kol-link-wc.entry.js +1 -1
  265. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  266. package/dist/esm/kol-link.entry.js +1 -1
  267. package/dist/esm/kol-link.entry.js.map +1 -1
  268. package/dist/esm/kol-logo.entry.js +1 -1
  269. package/dist/esm/kol-modal.entry.js +1 -1
  270. package/dist/esm/kol-nav.entry.js +1 -1
  271. package/dist/esm/kol-nav.entry.js.map +1 -1
  272. package/dist/esm/kol-pagination.entry.js +1 -1
  273. package/dist/esm/kol-popover.entry.js +1 -1
  274. package/dist/esm/kol-progress.entry.js +1 -1
  275. package/dist/esm/kol-quote.entry.js +1 -1
  276. package/dist/esm/kol-select.entry.js +1 -1
  277. package/dist/esm/kol-select.entry.js.map +1 -1
  278. package/dist/esm/kol-skip-nav.entry.js +1 -1
  279. package/dist/esm/kol-span-wc_2.entry.js +1 -1
  280. package/dist/esm/kol-span.entry.js +1 -1
  281. package/dist/esm/kol-spin.entry.js +1 -1
  282. package/dist/esm/kol-split-button.entry.js +1 -1
  283. package/dist/esm/kol-symbol.entry.js +1 -1
  284. package/dist/esm/kol-table.entry.js +1 -1
  285. package/dist/esm/kol-tabs.entry.js +1 -1
  286. package/dist/esm/kol-textarea.entry.js +1 -1
  287. package/dist/esm/kol-textarea.entry.js.map +1 -1
  288. package/dist/esm/kol-toast-container.entry.js +1 -1
  289. package/dist/esm/kol-toast.entry.js +1 -1
  290. package/dist/esm/kol-version.entry.js +1 -1
  291. package/dist/esm/kolibri.js +1 -1
  292. package/dist/esm/kolibri.js.map +1 -1
  293. package/dist/esm/{label-84d4c0b2.js → label-c130b72e.js} +1 -1
  294. package/dist/esm/{label-84d4c0b2.js.map → label-c130b72e.js.map} +1 -1
  295. package/dist/esm/loader.js +1 -1
  296. package/dist/esm/{open-978d23f7.js → open-fac63e17.js} +1 -1
  297. package/dist/esm/{open-978d23f7.js.map → open-fac63e17.js.map} +1 -1
  298. package/dist/esm/{prop.validators-fa5eb5c5.js → prop.validators-e40c3380.js} +1 -1
  299. package/dist/esm/{prop.validators-fa5eb5c5.js.map → prop.validators-e40c3380.js.map} +1 -1
  300. package/dist/esm/{rows-9e354f5e.js → rows-f8671a72.js} +1 -1
  301. package/dist/esm/{rows-9e354f5e.js.map → rows-f8671a72.js.map} +1 -1
  302. package/dist/esm/{show-eeff7c91.js → show-40a56e1f.js} +1 -1
  303. package/dist/esm/{show-eeff7c91.js.map → show-40a56e1f.js.map} +1 -1
  304. package/dist/esm/{suggestions-7c5183fe.js → suggestions-871adfaf.js} +1 -1
  305. package/dist/esm/{suggestions-7c5183fe.js.map → suggestions-871adfaf.js.map} +1 -1
  306. package/dist/esm/{tab-index-3ce2c695.js → tab-index-9c6b6a46.js} +1 -1
  307. package/dist/esm/{tab-index-3ce2c695.js.map → tab-index-9c6b6a46.js.map} +1 -1
  308. package/dist/esm/{tooltip-align-0d2f0b3d.js → tooltip-align-88b82267.js} +1 -1
  309. package/dist/esm/{tooltip-align-0d2f0b3d.js.map → tooltip-align-88b82267.js.map} +1 -1
  310. package/dist/esm/{validation-a54b3e91.js → validation-36d55135.js} +1 -1
  311. package/dist/esm/{validation-a54b3e91.js.map → validation-36d55135.js.map} +1 -1
  312. package/dist/esm/validation-3a52d0f0.js +4 -0
  313. package/dist/esm/{validation-97376ad0.js.map → validation-3a52d0f0.js.map} +1 -1
  314. package/dist/kolibri/{a11y.tipps-7143f6fd.js → a11y.tipps-348ca42a.js} +1 -1
  315. package/dist/kolibri/align-11b69892.js +4 -0
  316. package/dist/kolibri/alignment-1bffdb6e.js +4 -0
  317. package/dist/kolibri/alternative-button-link-role-1ace1f6f.js +4 -0
  318. package/dist/kolibri/app-globals-d408fcae.js +4 -0
  319. package/dist/kolibri/{associated.controller-d70c8be1.js → associated.controller-a395cef5.js} +1 -1
  320. package/dist/kolibri/{color-048551d8.js → color-a3271610.js} +1 -1
  321. package/dist/kolibri/{controller-757cd887.js → controller-2743a0d8.js} +1 -1
  322. package/dist/kolibri/{controller-8bf7eac9.js → controller-417ec2ab.js} +1 -1
  323. package/dist/kolibri/{controller-313148a2.js → controller-46e6bd0b.js} +1 -1
  324. package/dist/kolibri/{controller-f1d4f4d4.js → controller-64f30149.js} +1 -1
  325. package/dist/kolibri/{controller-d5d0c61a.js → controller-a1e48719.js} +1 -1
  326. package/dist/kolibri/controller-icon-c621ff81.js +4 -0
  327. package/dist/kolibri/{custom-class-6b0cb37f.js → custom-class-87071d99.js} +1 -1
  328. package/dist/kolibri/{dev.utils-b5b1c70d.js → dev.utils-9b878520.js} +1 -1
  329. package/dist/kolibri/{dev.utils-b5b1c70d.js.map → dev.utils-9b878520.js.map} +1 -1
  330. package/dist/kolibri/{devtools-188764ec.js → devtools-fa2d0662.js} +1 -1
  331. package/dist/kolibri/has-closer-f3547f42.js +4 -0
  332. package/dist/kolibri/{has-closer-20ad2566.js.map → has-closer-f3547f42.js.map} +1 -1
  333. package/dist/kolibri/hide-label-ff12ad0b.js +4 -0
  334. package/dist/kolibri/i18n-9c7e636f.js +4 -0
  335. package/dist/kolibri/i18n-9c7e636f.js.map +1 -0
  336. package/dist/kolibri/{icons-b6a6d907.js → icons-da3b61ae.js} +1 -1
  337. package/dist/kolibri/image-source-5494399d.js +4 -0
  338. package/dist/kolibri/index-5d267931.js +4 -0
  339. package/dist/kolibri/index-5d267931.js.map +1 -0
  340. package/dist/kolibri/index-d0c806ea.js +5 -0
  341. package/dist/kolibri/index-d0c806ea.js.map +1 -0
  342. package/dist/kolibri/index.esm.js +1 -1
  343. package/dist/kolibri/kol-abbr.entry.js +1 -1
  344. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  345. package/dist/kolibri/kol-accordion.entry.js +1 -1
  346. package/dist/kolibri/kol-alert-wc_3.entry.js +1 -1
  347. package/dist/kolibri/kol-alert.entry.js +1 -1
  348. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  349. package/dist/kolibri/kol-avatar.entry.js +1 -1
  350. package/dist/kolibri/kol-badge.entry.js +1 -1
  351. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  352. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  353. package/dist/kolibri/kol-button-group.entry.js +1 -1
  354. package/dist/kolibri/kol-button-link-text-switch.entry.js +1 -1
  355. package/dist/kolibri/kol-button-link-text-switch.entry.js.map +1 -1
  356. package/dist/kolibri/kol-button-link.entry.js +1 -1
  357. package/dist/kolibri/kol-button.entry.js +1 -1
  358. package/dist/kolibri/kol-card.entry.js +1 -1
  359. package/dist/kolibri/kol-details.entry.js +1 -1
  360. package/dist/kolibri/kol-details.entry.js.map +1 -1
  361. package/dist/kolibri/kol-form.entry.js +1 -1
  362. package/dist/kolibri/kol-heading.entry.js +1 -1
  363. package/dist/kolibri/kol-icon.entry.js +1 -1
  364. package/dist/kolibri/kol-image.entry.js +1 -1
  365. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  366. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  367. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  368. package/dist/kolibri/kol-input-color.entry.js +1 -1
  369. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  370. package/dist/kolibri/kol-input-date.entry.js +1 -1
  371. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  372. package/dist/kolibri/kol-input-email.entry.js +1 -1
  373. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  374. package/dist/kolibri/kol-input-file.entry.js +1 -1
  375. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  376. package/dist/kolibri/kol-input-number.entry.js +1 -1
  377. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  378. package/dist/kolibri/kol-input-password.entry.js +1 -1
  379. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  380. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  381. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  382. package/dist/kolibri/kol-input-range.entry.js +1 -1
  383. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  384. package/dist/kolibri/kol-input-text.entry.js +1 -1
  385. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  386. package/dist/kolibri/kol-input.entry.js +1 -1
  387. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  388. package/dist/kolibri/kol-link-button.entry.js +1 -1
  389. package/dist/kolibri/kol-link-group.entry.js +1 -1
  390. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  391. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  392. package/dist/kolibri/kol-link.entry.js +1 -1
  393. package/dist/kolibri/kol-link.entry.js.map +1 -1
  394. package/dist/kolibri/kol-logo.entry.js +1 -1
  395. package/dist/kolibri/kol-modal.entry.js +1 -1
  396. package/dist/kolibri/kol-nav.entry.js +1 -1
  397. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  398. package/dist/kolibri/kol-pagination.entry.js +1 -1
  399. package/dist/kolibri/kol-popover.entry.js +1 -1
  400. package/dist/kolibri/kol-progress.entry.js +1 -1
  401. package/dist/kolibri/kol-quote.entry.js +1 -1
  402. package/dist/kolibri/kol-select.entry.js +1 -1
  403. package/dist/kolibri/kol-select.entry.js.map +1 -1
  404. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  405. package/dist/kolibri/kol-span-wc_2.entry.js +1 -1
  406. package/dist/kolibri/kol-span.entry.js +1 -1
  407. package/dist/kolibri/kol-spin.entry.js +1 -1
  408. package/dist/kolibri/kol-split-button.entry.js +1 -1
  409. package/dist/kolibri/kol-symbol.entry.js +1 -1
  410. package/dist/kolibri/kol-table.entry.js +1 -1
  411. package/dist/kolibri/kol-tabs.entry.js +1 -1
  412. package/dist/kolibri/kol-textarea.entry.js +1 -1
  413. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  414. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  415. package/dist/kolibri/kol-toast.entry.js +1 -1
  416. package/dist/kolibri/kol-version.entry.js +1 -1
  417. package/dist/kolibri/kolibri.esm.js +1 -1
  418. package/dist/kolibri/kolibri.esm.js.map +1 -1
  419. package/dist/kolibri/{label-84d4c0b2.js → label-c130b72e.js} +1 -1
  420. package/dist/kolibri/open-fac63e17.js +4 -0
  421. package/dist/kolibri/{prop.validators-fa5eb5c5.js → prop.validators-e40c3380.js} +1 -1
  422. package/dist/kolibri/rows-f8671a72.js +4 -0
  423. package/dist/kolibri/show-40a56e1f.js +4 -0
  424. package/dist/kolibri/{suggestions-7c5183fe.js → suggestions-871adfaf.js} +1 -1
  425. package/dist/kolibri/tab-index-9c6b6a46.js +4 -0
  426. package/dist/kolibri/{tab-index-3ce2c695.js.map → tab-index-9c6b6a46.js.map} +1 -1
  427. package/dist/kolibri/tooltip-align-88b82267.js +4 -0
  428. package/dist/kolibri/validation-36d55135.js +4 -0
  429. package/dist/kolibri/validation-3a52d0f0.js +4 -0
  430. package/dist/types/components/input-checkbox/component.d.ts +1 -1
  431. package/dist/types/components/input-color/component.d.ts +1 -1
  432. package/dist/types/components/input-date/component.d.ts +1 -1
  433. package/dist/types/components/input-email/component.d.ts +1 -1
  434. package/dist/types/components/input-file/component.d.ts +1 -1
  435. package/dist/types/components/input-number/component.d.ts +1 -1
  436. package/dist/types/components/input-password/component.d.ts +1 -1
  437. package/dist/types/components/input-radio/component.d.ts +1 -1
  438. package/dist/types/components/input-range/component.d.ts +1 -1
  439. package/dist/types/components/input-text/component.d.ts +1 -1
  440. package/dist/types/components/link/component.d.ts +1 -1
  441. package/dist/types/components/link/shadow.d.ts +1 -1
  442. package/dist/types/components/link/types.d.ts +2 -2
  443. package/dist/types/components/nav/component.d.ts +2 -0
  444. package/dist/types/components/nav/types.d.ts +3 -2
  445. package/dist/types/components/select/component.d.ts +1 -1
  446. package/dist/types/components/textarea/component.d.ts +1 -1
  447. package/dist/types/components.d.ts +36 -28
  448. package/dist/types/i18n.d.ts +1 -1
  449. package/dist/types/locales/de.d.ts +2 -0
  450. package/dist/types/locales/en.d.ts +2 -0
  451. package/dist/types/stencil-public-runtime.d.ts +19 -0
  452. package/dist/types/types/props/has-compact-button.d.ts +7 -0
  453. package/doc/button.md +2 -0
  454. package/doc/input-checkbox.md +22 -22
  455. package/doc/input-color.md +21 -21
  456. package/doc/input-date.md +27 -27
  457. package/doc/input-email.md +29 -29
  458. package/doc/input-file.md +22 -22
  459. package/doc/input-number.md +27 -27
  460. package/doc/input-password.md +26 -26
  461. package/doc/input-radio.md +20 -20
  462. package/doc/input-range.md +23 -23
  463. package/doc/input-text.md +28 -28
  464. package/doc/link.md +14 -14
  465. package/doc/nav.md +4 -0
  466. package/doc/select.md +22 -22
  467. package/doc/textarea.md +25 -25
  468. package/package.json +1 -1
  469. package/vscode-custom-data.json +4 -0
  470. package/dist/cjs/alternative-button-link-role-76fc0537.js +0 -4
  471. package/dist/cjs/has-closer-3f258cb1.js +0 -4
  472. package/dist/cjs/hide-label-a1359f24.js +0 -4
  473. package/dist/cjs/i18n-8316536d.js +0 -4
  474. package/dist/cjs/i18n-8316536d.js.map +0 -1
  475. package/dist/cjs/image-source-30ac0359.js +0 -4
  476. package/dist/cjs/index-2feae351.js +0 -5
  477. package/dist/cjs/index-2feae351.js.map +0 -1
  478. package/dist/cjs/index-55ab202d.js.map +0 -1
  479. package/dist/cjs/open-1c4dcfb7.js +0 -4
  480. package/dist/cjs/rows-49957d39.js +0 -4
  481. package/dist/cjs/show-2a7af4da.js +0 -4
  482. package/dist/esm/alternative-button-link-role-5e1ea5eb.js +0 -4
  483. package/dist/esm/i18n-94ea09e2.js +0 -4
  484. package/dist/esm/i18n-94ea09e2.js.map +0 -1
  485. package/dist/esm/index-536799d5.js +0 -5
  486. package/dist/esm/index-536799d5.js.map +0 -1
  487. package/dist/esm/index-93da6c3d.js +0 -4
  488. package/dist/esm/index-93da6c3d.js.map +0 -1
  489. package/dist/esm/validation-97376ad0.js +0 -4
  490. package/dist/kolibri/align-be0d4128.js +0 -4
  491. package/dist/kolibri/alignment-480cdfba.js +0 -4
  492. package/dist/kolibri/alternative-button-link-role-5e1ea5eb.js +0 -4
  493. package/dist/kolibri/app-globals-7a11b8ee.js +0 -4
  494. package/dist/kolibri/controller-icon-d4a91832.js +0 -4
  495. package/dist/kolibri/has-closer-20ad2566.js +0 -4
  496. package/dist/kolibri/hide-label-27292184.js +0 -4
  497. package/dist/kolibri/i18n-94ea09e2.js +0 -4
  498. package/dist/kolibri/i18n-94ea09e2.js.map +0 -1
  499. package/dist/kolibri/image-source-fa985240.js +0 -4
  500. package/dist/kolibri/index-536799d5.js +0 -5
  501. package/dist/kolibri/index-536799d5.js.map +0 -1
  502. package/dist/kolibri/index-93da6c3d.js +0 -4
  503. package/dist/kolibri/index-93da6c3d.js.map +0 -1
  504. package/dist/kolibri/open-978d23f7.js +0 -4
  505. package/dist/kolibri/rows-9e354f5e.js +0 -4
  506. package/dist/kolibri/show-eeff7c91.js +0 -4
  507. package/dist/kolibri/tab-index-3ce2c695.js +0 -4
  508. package/dist/kolibri/tooltip-align-0d2f0b3d.js +0 -4
  509. package/dist/kolibri/validation-97376ad0.js +0 -4
  510. package/dist/kolibri/validation-a54b3e91.js +0 -4
  511. /package/dist/kolibri/{a11y.tipps-7143f6fd.js.map → a11y.tipps-348ca42a.js.map} +0 -0
  512. /package/dist/kolibri/{align-be0d4128.js.map → align-11b69892.js.map} +0 -0
  513. /package/dist/kolibri/{alignment-480cdfba.js.map → alignment-1bffdb6e.js.map} +0 -0
  514. /package/dist/kolibri/{alternative-button-link-role-5e1ea5eb.js.map → alternative-button-link-role-1ace1f6f.js.map} +0 -0
  515. /package/dist/kolibri/{app-globals-7a11b8ee.js.map → app-globals-d408fcae.js.map} +0 -0
  516. /package/dist/kolibri/{associated.controller-d70c8be1.js.map → associated.controller-a395cef5.js.map} +0 -0
  517. /package/dist/kolibri/{color-048551d8.js.map → color-a3271610.js.map} +0 -0
  518. /package/dist/kolibri/{controller-757cd887.js.map → controller-2743a0d8.js.map} +0 -0
  519. /package/dist/kolibri/{controller-8bf7eac9.js.map → controller-417ec2ab.js.map} +0 -0
  520. /package/dist/kolibri/{controller-313148a2.js.map → controller-46e6bd0b.js.map} +0 -0
  521. /package/dist/kolibri/{controller-f1d4f4d4.js.map → controller-64f30149.js.map} +0 -0
  522. /package/dist/kolibri/{controller-d5d0c61a.js.map → controller-a1e48719.js.map} +0 -0
  523. /package/dist/kolibri/{controller-icon-d4a91832.js.map → controller-icon-c621ff81.js.map} +0 -0
  524. /package/dist/kolibri/{custom-class-6b0cb37f.js.map → custom-class-87071d99.js.map} +0 -0
  525. /package/dist/kolibri/{devtools-188764ec.js.map → devtools-fa2d0662.js.map} +0 -0
  526. /package/dist/kolibri/{hide-label-27292184.js.map → hide-label-ff12ad0b.js.map} +0 -0
  527. /package/dist/kolibri/{icons-b6a6d907.js.map → icons-da3b61ae.js.map} +0 -0
  528. /package/dist/kolibri/{image-source-fa985240.js.map → image-source-5494399d.js.map} +0 -0
  529. /package/dist/kolibri/{label-84d4c0b2.js.map → label-c130b72e.js.map} +0 -0
  530. /package/dist/kolibri/{open-978d23f7.js.map → open-fac63e17.js.map} +0 -0
  531. /package/dist/kolibri/{prop.validators-fa5eb5c5.js.map → prop.validators-e40c3380.js.map} +0 -0
  532. /package/dist/kolibri/{rows-9e354f5e.js.map → rows-f8671a72.js.map} +0 -0
  533. /package/dist/kolibri/{show-eeff7c91.js.map → show-40a56e1f.js.map} +0 -0
  534. /package/dist/kolibri/{suggestions-7c5183fe.js.map → suggestions-871adfaf.js.map} +0 -0
  535. /package/dist/kolibri/{tooltip-align-0d2f0b3d.js.map → tooltip-align-88b82267.js.map} +0 -0
  536. /package/dist/kolibri/{validation-a54b3e91.js.map → validation-36d55135.js.map} +0 -0
  537. /package/dist/kolibri/{validation-97376ad0.js.map → validation-3a52d0f0.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,F as s,H as e,g as h}from"./index-536799d5.js";import{a as l}from"./i18n-94ea09e2.js";import{h as o,s as n}from"./reuse-b3566e4c.js";import"./index-93da6c3d.js";import"./dev.utils-b5b1c70d.js";import"./a11y.tipps-7143f6fd.js";const d=class{constructor(t){i(this,t),this.slotName="input",this.catchInputSlot=t=>{o(this.host,t,this.slotName)},this._alert=!0,this._currentLength=void 0,this._disabled=!1,this._error="",this._hasCounter=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._maxLength=void 0,this._readOnly=!1,this._renderNoLabel=!1,this._required=!1,this._slotName=void 0,this._suggestions=void 0,this._smartButton=void 0,this._tooltipAlign="top",this._touched=!1}componentWillRender(){this.slotName=this._slotName?this._slotName:"input"}getIconStyles(t){return t&&"object"==typeof t&&t.style?t.style:{}}render(){var i,o,h,r,a,_,d,c;const u="string"==typeof this._error&&this._error.length>0&&!0===this._touched,p=n(this._label),m="string"==typeof this._hint&&this._hint.length>0,g=!p&&this._hideLabel;return t(e,{class:{disabled:!0===this._disabled,error:!0===u,"read-only":!0===this._readOnly,required:!0===this._required,touched:!0===this._touched,"hidden-error":!0===this._hideError}},t("label",{id:g?void 0:`${this._id}-label`,hidden:g,htmlFor:this._id},t("span",null,t("slot",{name:"label"}))),m&&t("span",{class:"hint",id:`${this._id}-hint`},this._hint),t("div",{class:{input:!0,"icon-left":"object"==typeof(null===(i=this._icons)||void 0===i?void 0:i.left),"icon-right":"object"==typeof(null===(o=this._icons)||void 0===o?void 0:o.right)}},(null===(h=this._icons)||void 0===h?void 0:h.left)&&t("kol-icon",{_label:"",_icons:(null===(r=this._icons)||void 0===r?void 0:r.left).icon,style:this.getIconStyles(null===(a=this._icons)||void 0===a?void 0:a.left)}),t("div",{ref:this.catchInputSlot,id:this.slotName,class:"input-slot"}),"object"==typeof this._smartButton&&null!==this._smartButton&&t("kol-button-wc",{_customClass:this._smartButton._customClass,_disabled:this._smartButton._disabled,_icons:this._smartButton._icons,_hideLabel:!0,_id:this._smartButton._id,_label:this._smartButton._label,_on:this._smartButton._on,_tooltipAlign:this._smartButton._tooltipAlign,_variant:this._smartButton._variant}),(null===(_=this._icons)||void 0===_?void 0:_.right)&&t("kol-icon",{_label:"",_icons:(null===(d=this._icons)||void 0===d?void 0:d.right).icon,style:this.getIconStyles(null===(c=this._icons)||void 0===c?void 0:c.right)})),g&&t("kol-tooltip-wc",{"aria-hidden":"true",class:"input-tooltip",_align:this._tooltipAlign,_id:this._hideLabel?`${this._id}-label`:void 0,_label:this._label}),u&&t("kol-alert",{_alert:this._alert,_type:"error",_variant:"msg","aria-hidden":this._hideError,class:"error"+(this._hideError?" hidden":""),id:`${this._id}-error`},this._error),Array.isArray(this._suggestions)&&this._suggestions.length>0&&t("datalist",{id:`${this._id}-list`},this._suggestions.map((i=>t("option",{value:i})))),this._hasCounter&&t("span",{class:"counter","aria-atomic":"true","aria-live":"polite"},this._currentLength,this._maxLength&&t(s,null,t("span",{"aria-label":l("kol-of"),role:"img"},"/"),this._maxLength)," ",t("span",null,l("kol-characters"))))}get host(){return h(this)}};export{d as kol_input};
4
+ import{r as i,h as t,F as s,H as e,g as h}from"./index-d0c806ea.js";import{a as l}from"./i18n-9c7e636f.js";import{h as o,s as n}from"./reuse-b3566e4c.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./a11y.tipps-348ca42a.js";const a=class{constructor(t){i(this,t),this.slotName="input",this.catchInputSlot=t=>{o(this.host,t,this.slotName)},this._alert=!0,this._currentLength=void 0,this._disabled=!1,this._error="",this._hasCounter=!1,this._hideError=!1,this._hideLabel=!1,this._hint="",this._icons=void 0,this._id=void 0,this._label=void 0,this._maxLength=void 0,this._readOnly=!1,this._renderNoLabel=!1,this._required=!1,this._slotName=void 0,this._suggestions=void 0,this._smartButton=void 0,this._tooltipAlign="top",this._touched=!1}componentWillRender(){this.slotName=this._slotName?this._slotName:"input"}getIconStyles(t){return t&&"object"==typeof t&&t.style?t.style:{}}render(){var i,o,h,r,a,_,d,c;const u="string"==typeof this._error&&this._error.length>0&&!0===this._touched,p=n(this._label),m="string"==typeof this._hint&&this._hint.length>0,g=!p&&this._hideLabel;return t(e,{class:{disabled:!0===this._disabled,error:!0===u,"read-only":!0===this._readOnly,required:!0===this._required,touched:!0===this._touched,"hidden-error":!0===this._hideError}},t("label",{id:g?void 0:`${this._id}-label`,hidden:g,htmlFor:this._id},t("span",null,t("slot",{name:"label"}))),m&&t("span",{class:"hint",id:`${this._id}-hint`},this._hint),t("div",{class:{input:!0,"icon-left":"object"==typeof(null===(i=this._icons)||void 0===i?void 0:i.left),"icon-right":"object"==typeof(null===(o=this._icons)||void 0===o?void 0:o.right)}},(null===(h=this._icons)||void 0===h?void 0:h.left)&&t("kol-icon",{_label:"",_icons:(null===(r=this._icons)||void 0===r?void 0:r.left).icon,style:this.getIconStyles(null===(a=this._icons)||void 0===a?void 0:a.left)}),t("div",{ref:this.catchInputSlot,id:this.slotName,class:"input-slot"}),"object"==typeof this._smartButton&&null!==this._smartButton&&t("kol-button-wc",{_customClass:this._smartButton._customClass,_disabled:this._smartButton._disabled,_icons:this._smartButton._icons,_hideLabel:!0,_id:this._smartButton._id,_label:this._smartButton._label,_on:this._smartButton._on,_tooltipAlign:this._smartButton._tooltipAlign,_variant:this._smartButton._variant}),(null===(_=this._icons)||void 0===_?void 0:_.right)&&t("kol-icon",{_label:"",_icons:(null===(d=this._icons)||void 0===d?void 0:d.right).icon,style:this.getIconStyles(null===(c=this._icons)||void 0===c?void 0:c.right)})),g&&t("kol-tooltip-wc",{"aria-hidden":"true",class:"input-tooltip",_align:this._tooltipAlign,_id:this._hideLabel?`${this._id}-label`:void 0,_label:this._label}),u&&t("kol-alert",{_alert:this._alert,_type:"error",_variant:"msg","aria-hidden":this._hideError,class:"error"+(this._hideError?" hidden":""),id:`${this._id}-error`},this._error),Array.isArray(this._suggestions)&&this._suggestions.length>0&&t("datalist",{id:`${this._id}-list`},this._suggestions.map((i=>t("option",{value:i})))),this._hasCounter&&t("span",{class:"counter","aria-atomic":"true","aria-live":"polite"},this._currentLength,this._maxLength&&t(s,null,t("span",{"aria-label":l("kol-of"),role:"img"},"/"),this._maxLength)," ",t("span",null,l("kol-characters"))))}get host(){return h(this)}};export{a as kol_input};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as e,H as i}from"./index-536799d5.js";import{a}from"./i18n-94ea09e2.js";import{c as o,v as s}from"./color-048551d8.js";import{d as r}from"./a11y.tipps-7143f6fd.js";import{a as n}from"./prop.validators-fa5eb5c5.js";import"./index-93da6c3d.js";import"./dev.utils-b5b1c70d.js";import"./reuse-b3566e4c.js";const l=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}text{font-size:90px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}",h=360;function d(t){return t*Math.PI/180}function c(t){return Math.round((Math.cos(d(t))+1)/2*225)}const p=class{constructor(e){t(this,e),this.handleColorChange=(t,e)=>{if("string"==typeof t){const a=o(t);e.set("_color",{red:a[0],green:a[1],blue:a[2]})}else r("[KolKolibri] You used the complex color schema. For the KoliBri we use need the color as hex string.")},this._animate=!1,this._color="#003c78",this._labeled=void 0,this.state={_animate:!1,_color:{red:0,green:60,blue:120},_labeled:!0}}render(){const t=!0===this.state._animate?`rgb(${c(this.state._color.red)},${c(this.state._color.green)},${c(this.state._color.blue)})`:`rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;return e(i,null,e("svg",{role:"img","aria-label":a("kol-kolibri-logo"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:t},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),!0===this.state._labeled&&e("text",{x:"250",y:"525",fill:t},"KoliBri")))}validateAnimate(t){n(this,"_animate",t)}validateColor(t){s(this,t,{defaultValue:"#003c78",hooks:{beforePatch:this.handleColorChange}})}validateLabeled(t){n(this,"_labeled",t)}componentWillLoad(){this.validateAnimate(this._animate),this.validateColor(this._color),this.validateLabeled(this._labeled)}componentDidRender(){clearInterval(this.interval),this.state._animate&&(this.interval=setInterval((()=>{this.state=Object.assign(Object.assign({},this.state),{_color:{red:(this.state._color.red+1)%h,green:(this.state._color.green+2)%h,blue:(this.state._color.blue+3)%h}})}),50))}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_animate:["validateAnimate"],_color:["validateColor"],_labeled:["validateLabeled"]}}};p.style={default:l};export{p as kol_kolibri};
4
+ import{r as t,h as e,H as i}from"./index-d0c806ea.js";import{a}from"./i18n-9c7e636f.js";import{c as o,v as s}from"./color-a3271610.js";import{d as r}from"./a11y.tipps-348ca42a.js";import{a as n}from"./prop.validators-e40c3380.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./reuse-b3566e4c.js";const l=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}text{font-size:90px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}",h=360;function c(t){return t*Math.PI/180}function d(t){return Math.round((Math.cos(c(t))+1)/2*225)}const p=class{constructor(e){t(this,e),this.handleColorChange=(t,e)=>{if("string"==typeof t){const a=o(t);e.set("_color",{red:a[0],green:a[1],blue:a[2]})}else r("[KolKolibri] You used the complex color schema. For the KoliBri we use need the color as hex string.")},this._animate=!1,this._color="#003c78",this._labeled=void 0,this.state={_animate:!1,_color:{red:0,green:60,blue:120},_labeled:!0}}render(){const t=!0===this.state._animate?`rgb(${d(this.state._color.red)},${d(this.state._color.green)},${d(this.state._color.blue)})`:`rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;return e(i,null,e("svg",{role:"img","aria-label":a("kol-kolibri-logo"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:t},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),!0===this.state._labeled&&e("text",{x:"250",y:"525",fill:t},"KoliBri")))}validateAnimate(t){n(this,"_animate",t)}validateColor(t){s(this,t,{defaultValue:"#003c78",hooks:{beforePatch:this.handleColorChange}})}validateLabeled(t){n(this,"_labeled",t)}componentWillLoad(){this.validateAnimate(this._animate),this.validateColor(this._color),this.validateLabeled(this._labeled)}componentDidRender(){clearInterval(this.interval),this.state._animate&&(this.interval=setInterval((()=>{this.state=Object.assign(Object.assign({},this.state),{_color:{red:(this.state._color.red+1)%h,green:(this.state._color.green+2)%h,blue:(this.state._color.blue+3)%h}})}),50))}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_animate:["validateAnimate"],_color:["validateColor"],_labeled:["validateLabeled"]}}};p.style={default:l};export{p as kol_kolibri};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as n,g as e}from"./index-536799d5.js";import{a as s}from"./i18n-94ea09e2.js";import{a as o}from"./reuse-b3566e4c.js";import"./index-93da6c3d.js";import"./dev.utils-b5b1c70d.js";import"./a11y.tipps-7143f6fd.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}:is(a,button){display:inline-flex;place-items:center;text-align:center;text-decoration-line:none}:is(a,button)>kol-span-wc{margin:auto;width:100%}:is(button):disabled{cursor:not-allowed;opacity:0.5}",r=class{constructor(i){t(this,i),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this._customClass=void 0,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=s("kol-open-link-in-tab"),this._tooltipAlign="right",this._variant="normal"}render(){return i(n,null,i("kol-link-wc",{ref:this.catchRef,class:{button:!0,[this._variant]:"custom"!==this._variant,[this._customClass]:"custom"===this._variant&&"string"==typeof this._customClass&&this._customClass.length>0},_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:"button",_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign},i("slot",{name:"expert",slot:"expert"})))}get host(){return e(this)}};r.style={default:a};export{r as kol_link_button};
4
+ import{r as t,h as i,H as n,g as e}from"./index-d0c806ea.js";import{a as s}from"./i18n-9c7e636f.js";import{a as o}from"./reuse-b3566e4c.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./a11y.tipps-348ca42a.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}:is(a,button){display:inline-flex;place-items:center;text-align:center;text-decoration-line:none}:is(a,button)>kol-span-wc{margin:auto;width:100%}:is(button):disabled{cursor:not-allowed;opacity:0.5}",r=class{constructor(i){t(this,i),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this._customClass=void 0,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=s("kol-open-link-in-tab"),this._tooltipAlign="right",this._variant="normal"}render(){return i(n,null,i("kol-link-wc",{ref:this.catchRef,class:{button:!0,[this._variant]:"custom"!==this._variant,[this._customClass]:"custom"===this._variant&&"string"==typeof this._customClass&&this._customClass.length>0},_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:"button",_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign},i("slot",{name:"expert",slot:"expert"})))}get host(){return e(this)}};r.style={default:a};export{r as kol_link_button};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i}from"./index-536799d5.js";import{v as e}from"./label-84d4c0b2.js";import{w as a}from"./prop.validators-fa5eb5c5.js";import{r as n,a as l}from"./unique-nav-labels-c6750f60.js";import{w as s}from"./validation-97376ad0.js";import"./a11y.tipps-7143f6fd.js";import"./dev.utils-b5b1c70d.js";import"./reuse-b3566e4c.js";const r=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}ul{list-style:none;margin:0;padding:0}nav.horizontal ul{display:flex;flex-wrap:wrap}nav.horizontal li{margin-left:1.25rem;margin-right:0.25rem}nav.horizontal li:first-child{margin-left:0}nav.horizontal li:last-child{margin-right:0}nav.vertical li{margin-left:1.75rem;margin-right:0.5rem}li.list-none{list-style-type:none !important;margin-left:0}",o=t=>{const e=[];return t.links.map(((a,l)=>{e.push(i("li",{key:l,class:{ident:l>0&&"vertical"===t.orientation,"list-none":0===l&&"horizontal"===t.orientation},style:{listStyleType:t.listStyleType}},i("kol-link",Object.assign({},a))))})),e},h=class{constructor(i){t(this,i),this.isUl=!0,this._listStyleType=void 0,this._label=void 0,this._links=void 0,this._orientation="vertical",this.state={_label:"…",_listStyleType:"disc",_links:[],_orientation:"vertical"}}render(){return i("nav",{"aria-label":this.state._label,class:{vertical:"vertical"===this.state._orientation,horizontal:"horizontal"===this.state._orientation}},!1===this.isUl?i("ol",null,i(o,{links:this.state._links,orientation:this.state._orientation,listStyleType:this.state._listStyleType})):i("ul",null,i(o,{links:this.state._links,orientation:this.state._orientation,listStyleType:this.state._listStyleType})))}validateLabel(t,i,a=!1){a||n(this.state._label),e(this,t),l(this.state._label)}validateListStyleType(t){a(this,"_listStyleType",(t=>{switch(t){case"disc":case"circle":case"square":case"none":return this.isUl=!0,!0;case"decimal":case"decimal-leading-zero":case"lower-alpha":case"lower-latin":case"lower-greek":case"lower-roman":case"upper-alpha":case"upper-latin":case"upper-roman":return this.isUl=!1,!0;default:return!1}}),new Set(["https://www.w3schools.com/tags/tag_ol.asp"]),t)}validateLinks(t){s("KolLinkGroup",this,t)}validateOrientation(t){a(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}componentWillLoad(){this.validateLabel(this._label,void 0,!0),this.validateListStyleType(this._listStyleType),this.validateLinks(this._links),this.validateOrientation(this._orientation)}disconnectedCallback(){n(this.state._label)}static get watchers(){return{_label:["validateLabel"],_listStyleType:["validateListStyleType"],_links:["validateLinks"],_orientation:["validateOrientation"]}}};h.style={default:r};export{h as kol_link_group};
4
+ import{r as t,h as i}from"./index-d0c806ea.js";import{v as e}from"./label-c130b72e.js";import{w as a}from"./prop.validators-e40c3380.js";import{r as n,a as l}from"./unique-nav-labels-c6750f60.js";import{w as s}from"./validation-3a52d0f0.js";import"./a11y.tipps-348ca42a.js";import"./dev.utils-9b878520.js";import"./reuse-b3566e4c.js";const r=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}ul{list-style:none;margin:0;padding:0}nav.horizontal ul{display:flex;flex-wrap:wrap}nav.horizontal li{margin-left:1.25rem;margin-right:0.25rem}nav.horizontal li:first-child{margin-left:0}nav.horizontal li:last-child{margin-right:0}nav.vertical li{margin-left:1.75rem;margin-right:0.5rem}li.list-none{list-style-type:none !important;margin-left:0}",o=t=>{const e=[];return t.links.map(((a,l)=>{e.push(i("li",{key:l,class:{ident:l>0&&"vertical"===t.orientation,"list-none":0===l&&"horizontal"===t.orientation},style:{listStyleType:t.listStyleType}},i("kol-link",Object.assign({},a))))})),e},h=class{constructor(i){t(this,i),this.isUl=!0,this._listStyleType=void 0,this._label=void 0,this._links=void 0,this._orientation="vertical",this.state={_label:"…",_listStyleType:"disc",_links:[],_orientation:"vertical"}}render(){return i("nav",{"aria-label":this.state._label,class:{vertical:"vertical"===this.state._orientation,horizontal:"horizontal"===this.state._orientation}},!1===this.isUl?i("ol",null,i(o,{links:this.state._links,orientation:this.state._orientation,listStyleType:this.state._listStyleType})):i("ul",null,i(o,{links:this.state._links,orientation:this.state._orientation,listStyleType:this.state._listStyleType})))}validateLabel(t,i,a=!1){a||n(this.state._label),e(this,t),l(this.state._label)}validateListStyleType(t){a(this,"_listStyleType",(t=>{switch(t){case"disc":case"circle":case"square":case"none":return this.isUl=!0,!0;case"decimal":case"decimal-leading-zero":case"lower-alpha":case"lower-latin":case"lower-greek":case"lower-roman":case"upper-alpha":case"upper-latin":case"upper-roman":return this.isUl=!1,!0;default:return!1}}),new Set(["https://www.w3schools.com/tags/tag_ol.asp"]),t)}validateLinks(t){s("KolLinkGroup",this,t)}validateOrientation(t){a(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}componentWillLoad(){this.validateLabel(this._label,void 0,!0),this.validateListStyleType(this._listStyleType),this.validateLinks(this._links),this.validateOrientation(this._orientation)}disconnectedCallback(){n(this.state._label)}static get watchers(){return{_label:["validateLabel"],_listStyleType:["validateListStyleType"],_links:["validateLinks"],_orientation:["validateOrientation"]}}};h.style={default:r};export{h as kol_link_group};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as e,g as s}from"./index-536799d5.js";import{a}from"./i18n-94ea09e2.js";import{v as n}from"./alternative-button-link-role-5e1ea5eb.js";import{w as o,d as l,f as r,h}from"./prop.validators-fa5eb5c5.js";import{v as d}from"./icons-b6a6d907.js";import{a as c}from"./label-84d4c0b2.js";import{v as f}from"./tooltip-align-0d2f0b3d.js";import{d as p,g as v}from"./a11y.tipps-7143f6fd.js";import{a as u,s as b}from"./reuse-b3566e4c.js";import{v as g}from"./tab-index-3ce2c695.js";import{v as _}from"./hide-label-27292184.js";import"./index-93da6c3d.js";import"./dev.utils-b5b1c70d.js";import"./alignment-480cdfba.js";const m=(t,i,e)=>{o(t,i,(t=>"date"===t||"location"===t||"page"===t||"step"===t||"time"===t||!0===t||!1===t),new Set(["String {data, location, page, step, time}","boolean"]),e)},j=(t,i)=>{m(t,"_ariaCurrent",i)},x=(t,i)=>{m(t,"_listenAriaCurrent",i)},k=(t,i)=>{l(t,"_download",i)},w=(t,i,e={})=>{l(t,"_href",i,e)},y=(t,i)=>{"object"==typeof i&&"function"==typeof(null==i?void 0:i.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:i}))},A=(t,i)=>{l(t,"_target",i)},L=class{constructor(i){t(this,i),this.catchRef=t=>{this.ref=t,u(this.host,this.ref)},this.onClick=t=>{var i,e;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onClick)&&(t.preventDefault(),t.stopPropagation(),r(t,this.ref),null===(e=this.state._on)||void 0===e||e.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,i={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:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||p("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:i}},this.unsubscribeAriaCurrentSubject=h.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){v("The aria-current event is not valid.")}})),this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=a("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:a}=this.getRenderValues(),s=b(this.state._label);return i(e,null,i("a",Object.assign({ref:this.catchRef},a,{"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),i("kol-span-wc",{_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:s?"":this.state._label||this.state._href},i("slot",{name:"expert",slot:"expert"})),t&&i("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),i("kol-tooltip-wc",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaCurrent(t){j(this,t)}validateDownload(t){k(this,t)}validateHideLabel(t){_(this,t)}validateHref(t){w(this,t)}validateIcons(t){d(this,t)}validateLabel(t){c(this,t)}validateListenAriaCurrent(t){x(this,t)}validateOn(t){y(this,t)}validateRole(t){n(this,t)}validateTabIndex(t){g(this,t)}validateTarget(t){A(this,t)}validateTargetDescription(t){l(this,"_targetDescription",t)}validateTooltipAlign(t){f(this,t)}componentWillLoad(){this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}};export{L as kol_link_wc};
4
+ import{r as t,h as i,H as e,g as s}from"./index-d0c806ea.js";import{a}from"./i18n-9c7e636f.js";import{v as n}from"./alternative-button-link-role-1ace1f6f.js";import{w as o,d as l,f as r,h}from"./prop.validators-e40c3380.js";import{v as d}from"./icons-da3b61ae.js";import{a as c}from"./label-c130b72e.js";import{v as f}from"./tooltip-align-88b82267.js";import{d as p,g as v}from"./a11y.tipps-348ca42a.js";import{a as u,s as b}from"./reuse-b3566e4c.js";import{v as g}from"./tab-index-9c6b6a46.js";import{v as _}from"./hide-label-ff12ad0b.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./alignment-1bffdb6e.js";const m=(t,i,e)=>{o(t,i,(t=>"date"===t||"location"===t||"page"===t||"step"===t||"time"===t||!0===t||!1===t),new Set(["String {data, location, page, step, time}","boolean"]),e)},j=(t,i)=>{m(t,"_ariaCurrent",i)},x=(t,i)=>{m(t,"_listenAriaCurrent",i)},k=(t,i)=>{l(t,"_download",i)},w=(t,i,e={})=>{l(t,"_href",i,e)},y=(t,i)=>{"object"==typeof i&&"function"==typeof(null==i?void 0:i.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:i}))},A=(t,i)=>{l(t,"_target",i)},L=class{constructor(i){t(this,i),this.catchRef=t=>{this.ref=t,u(this.host,this.ref)},this.onClick=t=>{var i,e;"function"==typeof(null===(i=this.state._on)||void 0===i?void 0:i.onClick)&&(t.preventDefault(),t.stopPropagation(),r(t,this.ref),null===(e=this.state._on)||void 0===e||e.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,i={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:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||p("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:i}},this.unsubscribeAriaCurrentSubject=h.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){v("The aria-current event is not valid.")}})),this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=a("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:a}=this.getRenderValues(),s=b(this.state._label);return i(e,null,i("a",Object.assign({ref:this.catchRef},a,{"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),i("kol-span-wc",{_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:s?"":this.state._label||this.state._href},i("slot",{name:"expert",slot:"expert"})),t&&i("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),i("kol-tooltip-wc",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaCurrent(t){j(this,t)}validateDownload(t){k(this,t)}validateHideLabel(t){_(this,t)}validateHref(t){w(this,t)}validateIcons(t){d(this,t)}validateLabel(t){c(this,t)}validateListenAriaCurrent(t){x(this,t)}validateOn(t){y(this,t)}validateRole(t){n(this,t)}validateTabIndex(t){g(this,t)}validateTarget(t){A(this,t)}validateTargetDescription(t){l(this,"_targetDescription",t)}validateTooltipAlign(t){f(this,t)}componentWillLoad(){this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}};export{L as kol_link_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["validate","component","propName","value","watchValidator","Set","validateAriaCurrent","validateListenAriaCurrent","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","e","devWarning","translate","_icons","render","hasExpertSlot","showExpertSlot","h","Host","_ariaCurrent","class","onKeyPress","role","_role","tabIndex","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateHideLabel","validateIcons","validateLabel","validateLabelWithExpertSlot","validateOn","validateRole","validateAlternativeButtonLinkRole","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","componentWillLoad","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-current.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/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } 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 { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, 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 { validateHideLabel } from '../../types/props/hide-label';\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\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._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\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-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\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\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _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</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\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></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\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 * 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 * 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 an 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 * 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 the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\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@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\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}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, 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@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@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('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\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":["validate","component","propName","value","watchValidator","Set","validateAriaCurrent","validateListenAriaCurrent","validateDownload","watchString","validateHref","options","validateLinkCallbacks","onClick","state","Object","assign","_on","validateLinkTarget","KolLinkWc","this","catchRef","ref","propagateFocus","host","event","_a","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","isExternal","_target","tagAttrs","href","length","target","undefined","rel","download","_download","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","e","devWarning","translate","_icons","render","hasExpertSlot","showExpertSlot","h","Host","_ariaCurrent","class","onKeyPress","role","_role","tabIndex","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateHideLabel","validateIcons","validateLabel","validateLabelWithExpertSlot","validateOn","validateRole","validateAlternativeButtonLinkRole","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","componentWillLoad","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-current.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/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Generic } from '@a11y-ui/core';\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 { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } 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 { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, 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 { validateHideLabel } from '../../types/props/hide-label';\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\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._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\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-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\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\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _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</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\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></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\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 * 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 * 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 an 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 * 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 the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\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@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\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}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, 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@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@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('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\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 t,H as e,g as n}from"./index-536799d5.js";import{a as s}from"./reuse-b3566e4c.js";const o=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}: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}.hidden{display:none;visibility:hidden}.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}",a=class{constructor(t){i(this,t),this.catchRef=i=>{this.ref=i,s(this.host,this.ref)},this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right"}render(){return t(e,null,t("kol-link-wc",{ref:this.catchRef,_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign},t("slot",{name:"expert",slot:"expert"})))}get host(){return n(this)}};a.style={default:o};export{a as kol_link};
4
+ import{r as i,h as e,H as t,g as n}from"./index-d0c806ea.js";import{a as s}from"./reuse-b3566e4c.js";const o=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}: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}.hidden{display:none;visibility:hidden}.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}",a=class{constructor(t){i(this,t),this.catchRef=i=>{this.ref=i,s(this.host,this.ref)},this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription="Der Link wird in einem neuen Tab geöffnet.",this._tooltipAlign="right"}render(){return e(t,null,e("kol-link-wc",{ref:this.catchRef,_download:this._download,_hideLabel:this._hideLabel,_href:this._href,_icons:this._icons,_label:this._label,_listenAriaCurrent:this._listenAriaCurrent,_on:this._on,_role:this._role,_tabIndex:this._tabIndex,_target:this._target,_targetDescription:this._targetDescription,_tooltipAlign:this._tooltipAlign},e("slot",{name:"expert",slot:"expert"})))}get host(){return n(this)}};a.style={default:o};export{a as kol_link};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","_download","_hideLabel","_href","_icons","_label","_listenAriaCurrent","_on","_role","_tabIndex","_target","_targetDescription","_tooltipAlign","name","slot"],"sources":["src/components/link/style.css?tag=kol-link&mode=default&encapsulation=shadow","src/components/link/shadow.tsx"],"sourcesContent":["@import url(../link.css);\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { DownloadPropType } from '../../types/props/download';\nimport { HrefPropType } from '../../types/props/href';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { LinkOnCallbacksPropType } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType } from '../../types/props/link-target';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { propagateFocus } from '../../utils/reuse';\nimport { LinkProps } from './types';\n\n@Component({\n\ttag: 'kol-link',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLink implements LinkProps {\n\t@Element() private readonly host?: HTMLKolLinkElement;\n\tprivate ref?: HTMLKolLinkWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolLinkWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-link-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_download={this._download}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_href={this._href}\n\t\t\t\t\t_icons={this._icons}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_listenAriaCurrent={this._listenAriaCurrent}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_target={this._target}\n\t\t\t\t\t_targetDescription={this._targetDescription}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t>\n\t\t\t\t\t{/*\n\t\t\t\t\t\tEs ist keine gute Idee hier einen Slot einzufügen, da dadurch ermöglicht wird,\n\t\t\t\t\t\tdie Unterstützung hinsichtlich der Barrierefreiheit der Komponente zu umgehen.\n\t\t\t\t\t*/}\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t</kol-link-wc>\n\t\t\t</Host>\n\t\t);\n\t}\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 * 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 * 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 an 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 * 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 the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = 'Der Link wird in einem neuen Tab geöffnet.';\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"],"mappings":";;;qGAAA,MAAMA,EAAkB,opC,MCsBXC,EAAO,M,yBAIFC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAeH,KAAKI,KAAMJ,KAAKE,IAAI,E,yCAyCE,M,mNA6CO,6C,mBAKS,O,CAxF/C,MAAAG,GACN,OACCC,EAACC,EAAI,KACJD,EAAA,eACCJ,IAAKF,KAAKC,SACVO,UAAWR,KAAKQ,UAChBC,WAAYT,KAAKS,WACjBC,MAAOV,KAAKU,MACZC,OAAQX,KAAKW,OACbC,OAAQZ,KAAKY,OACbC,mBAAoBb,KAAKa,mBACzBC,IAAKd,KAAKc,IACVC,MAAOf,KAAKe,MACZC,UAAWhB,KAAKgB,UAChBC,QAASjB,KAAKiB,QACdC,mBAAoBlB,KAAKkB,mBACzBC,cAAenB,KAAKmB,eAMpBb,EAAA,QAAMc,KAAK,SAASC,KAAK,Y"}
1
+ {"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","_download","_hideLabel","_href","_icons","_label","_listenAriaCurrent","_on","_role","_tabIndex","_target","_targetDescription","_tooltipAlign","name","slot"],"sources":["src/components/link/style.css?tag=kol-link&mode=default&encapsulation=shadow","src/components/link/shadow.tsx"],"sourcesContent":["@import url(../link.css);\n","import { Component, Element, h, Host, JSX, Prop } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { DownloadPropType } from '../../types/props/download';\nimport { HrefPropType } from '../../types/props/href';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { LinkOnCallbacksPropType } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType } from '../../types/props/link-target';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { propagateFocus } from '../../utils/reuse';\nimport { LinkProps } from './types';\n\n@Component({\n\ttag: 'kol-link',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLink implements LinkProps {\n\t@Element() private readonly host?: HTMLKolLinkElement;\n\tprivate ref?: HTMLKolLinkWcElement;\n\n\tprivate readonly catchRef = (ref?: HTMLKolLinkWcElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-link-wc\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_download={this._download}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_href={this._href}\n\t\t\t\t\t_icons={this._icons}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_listenAriaCurrent={this._listenAriaCurrent}\n\t\t\t\t\t_on={this._on}\n\t\t\t\t\t_role={this._role}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_target={this._target}\n\t\t\t\t\t_targetDescription={this._targetDescription}\n\t\t\t\t\t_tooltipAlign={this._tooltipAlign}\n\t\t\t\t>\n\t\t\t\t\t{/*\n\t\t\t\t\t\tEs ist keine gute Idee hier einen Slot einzufügen, da dadurch ermöglicht wird,\n\t\t\t\t\t\tdie Unterstützung hinsichtlich der Barrierefreiheit der Komponente zu umgehen.\n\t\t\t\t\t*/}\n\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t</kol-link-wc>\n\t\t\t</Host>\n\t\t);\n\t}\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 * 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 * 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 an 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 * 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 the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = 'Der Link wird in einem neuen Tab geöffnet.';\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"],"mappings":";;;qGAAA,MAAMA,EAAkB,opC,MCsBXC,EAAO,M,yBAIFC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAeH,KAAKI,KAAMJ,KAAKE,IAAI,E,yCAyCE,M,mNA6CO,6C,mBAKS,O,CAxF/C,MAAAG,GACN,OACCC,EAACC,EAAI,KACJD,EAAA,eACCJ,IAAKF,KAAKC,SACVO,UAAWR,KAAKQ,UAChBC,WAAYT,KAAKS,WACjBC,MAAOV,KAAKU,MACZC,OAAQX,KAAKW,OACbC,OAAQZ,KAAKY,OACbC,mBAAoBb,KAAKa,mBACzBC,IAAKd,KAAKc,IACVC,MAAOf,KAAKe,MACZC,UAAWhB,KAAKgB,UAChBC,QAASjB,KAAKiB,QACdC,mBAAoBlB,KAAKkB,mBACzBC,cAAenB,KAAKmB,eAMpBb,EAAA,QAAMc,KAAK,SAASC,KAAK,Y"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as c,h as n}from"./index-536799d5.js";import{d as t,B as e,b as i,f as o}from"./bund-056aa89a.js";import{a as r}from"./i18n-94ea09e2.js";import{d as s}from"./a11y.tipps-7143f6fd.js";import{s as l}from"./prop.validators-fa5eb5c5.js";import"./index-93da6c3d.js";import"./dev.utils-b5b1c70d.js";import"./reuse-b3566e4c.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}text{font-size:16px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}";function h(c,n=new Map){return Object.entries(c).map((([c,t])=>{n.set(t,c)})),n}const d=h(i,h(t,h(e)));function p(c){return d.has(c)?d.get(c):""}const g=()=>n("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"}),f=class{constructor(n){c(this,n),this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateOrg(c){"string"==typeof c&&d.has(c)?l(this,"_org",c):s(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org)}render(){var c;return n("svg",{"aria-label":r("kol-logo-description",{placeholders:{orgShort:this.state._org,orgLong:p(this.state._org)}}),role:"img",viewBox:"0 0 225 100"},n("rect",{width:"100%",height:"100%",fill:"white"}),n("svg",{x:"0",y:"4",height:"75"},n(g,null)),n("svg",{x:"40.5",y:"3.5",height:"100"},n("rect",{width:"5",height:"30"}),n("rect",{y:"30",width:"5",height:"30",fill:"red"}),n("rect",{y:"60",width:"5",height:"30",fill:"#fc0"})),n("svg",{x:"50",y:"0"},n("text",{x:"0",y:"-0.05em","font-family":"BundesSans Web",style:{backgroundColor:"white",color:"black"}},o.has(this.state._org)?n("tspan",null,null===(c=o.get(this.state._org))||void 0===c?void 0:c.map(((c,t)=>n("tspan",{x:"0",dy:"1.1em",key:`kol-logo-text-${t}`},c)))):n("tspan",{fill:"red"},n("tspan",{x:"0",dy:"1.1em"},"Der Schlüsselwert"),n("tspan",{x:"0",dy:"1.1em","font-weight":"bold"},"'",this.state._org,"'"),n("tspan",{x:"0",dy:"1.1em"},"ist nicht definiert."),n("tspan",{x:"0",dy:"1.1em"},"oder freigegeben.")))))}static get watchers(){return{_org:["validateOrg"]}}};f.style={default:a};export{f as kol_logo};
4
+ import{r as c,h as n}from"./index-d0c806ea.js";import{d as t,B as e,b as i,f as o}from"./bund-056aa89a.js";import{a as r}from"./i18n-9c7e636f.js";import{d as s}from"./a11y.tipps-348ca42a.js";import{s as l}from"./prop.validators-e40c3380.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./reuse-b3566e4c.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:inline-block}text{font-size:16px;letter-spacing:normal;word-spacing:normal}svg{max-height:100%}";function h(c,n=new Map){return Object.entries(c).map((([c,t])=>{n.set(t,c)})),n}const d=h(i,h(t,h(e)));function p(c){return d.has(c)?d.get(c):""}const g=()=>n("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"}),m=class{constructor(n){c(this,n),this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateOrg(c){"string"==typeof c&&d.has(c)?l(this,"_org",c):s(`Die verwendete Abkürzung (${c}) ist nicht definiert!`)}componentWillLoad(){this.validateOrg(this._org)}render(){var c;return n("svg",{"aria-label":r("kol-logo-description",{placeholders:{orgShort:this.state._org,orgLong:p(this.state._org)}}),role:"img",viewBox:"0 0 225 100"},n("rect",{width:"100%",height:"100%",fill:"white"}),n("svg",{x:"0",y:"4",height:"75"},n(g,null)),n("svg",{x:"40.5",y:"3.5",height:"100"},n("rect",{width:"5",height:"30"}),n("rect",{y:"30",width:"5",height:"30",fill:"red"}),n("rect",{y:"60",width:"5",height:"30",fill:"#fc0"})),n("svg",{x:"50",y:"0"},n("text",{x:"0",y:"-0.05em","font-family":"BundesSans Web",style:{backgroundColor:"white",color:"black"}},o.has(this.state._org)?n("tspan",null,null===(c=o.get(this.state._org))||void 0===c?void 0:c.map(((c,t)=>n("tspan",{x:"0",dy:"1.1em",key:`kol-logo-text-${t}`},c)))):n("tspan",{fill:"red"},n("tspan",{x:"0",dy:"1.1em"},"Der Schlüsselwert"),n("tspan",{x:"0",dy:"1.1em","font-weight":"bold"},"'",this.state._org,"'"),n("tspan",{x:"0",dy:"1.1em"},"ist nicht definiert."),n("tspan",{x:"0",dy:"1.1em"},"oder freigegeben.")))))}static get watchers(){return{_org:["validateOrg"]}}};m.style={default:a};export{m as kol_logo};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as e}from"./index-536799d5.js";import{v as a}from"./label-84d4c0b2.js";import{f as n}from"./a11y.tipps-7143f6fd.js";import{d as s}from"./dev.utils-b5b1c70d.js";import{w as o,s as l,d as r}from"./prop.validators-fa5eb5c5.js";import"./reuse-b3566e4c.js";const h=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.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%}",d=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=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?s().Modal.openModal(this.hostElement,this.state._activeElement):s().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&s().Modal.closeModal(this.hostElement)}render(){return i(e,{ref:t=>{this.hostElement=t}},this.state._activeElement&&i("div",{class:"overlay"},i("div",{class:"modal",style:{width:this.state._width},"aria-label":this.state._label,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},i("slot",null))))}validateActiveElement(t){o(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null,hooks:{afterPatch:()=>{var t;null===this._activeElement&&(null===(t=this.state._on)||void 0===t?void 0:t.onClose)&&this.state._on.onClose()}}})}validateLabel(t){a(this,t)}validateOn(t){if("object"==typeof t&&null!==t){n("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onClose&&!0!==t.onClose||(e.onClose=t.onClose),l(this,"_on",e)}}validateWidth(t){r(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};d.style={default:h};export{d as kol_modal};
4
+ import{r as t,h as i,H as e}from"./index-d0c806ea.js";import{v as a}from"./label-c130b72e.js";import{f as n}from"./a11y.tipps-348ca42a.js";import{d as s}from"./dev.utils-9b878520.js";import{w as o,s as l,d as r}from"./prop.validators-e40c3380.js";import"./reuse-b3566e4c.js";const h=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.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%}",d=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=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?s().Modal.openModal(this.hostElement,this.state._activeElement):s().Modal.closeModal(this.hostElement))}disconnectedCallback(){this.hostElement&&s().Modal.closeModal(this.hostElement)}render(){return i(e,{ref:t=>{this.hostElement=t}},this.state._activeElement&&i("div",{class:"overlay"},i("div",{class:"modal",style:{width:this.state._width},"aria-label":this.state._label,"aria-modal":"true",role:"dialog",onKeyDown:this.onKeyDown,ref:t=>{t&&(t.setAttribute("tabindex","0"),setTimeout((()=>t.focus()),250))}},i("slot",null))))}validateActiveElement(t){o(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null,hooks:{afterPatch:()=>{var t;null===this._activeElement&&(null===(t=this.state._on)||void 0===t?void 0:t.onClose)&&this.state._on.onClose()}}})}validateLabel(t){a(this,t)}validateOn(t){if("object"==typeof t&&null!==t){n("[KolTabs] Prüfen, wie man auch einen EventCallback einzeln ändern kann.");const e={};"function"!=typeof t.onClose&&!0!==t.onClose||(e.onClose=t.onClose),l(this,"_on",e)}}validateWidth(t){r(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};d.style={default:h};export{d as kol_modal};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as e}from"./index-536799d5.js";import{a,w as n}from"./prop.validators-fa5eb5c5.js";import{v as s}from"./hide-label-27292184.js";import{v as l}from"./label-84d4c0b2.js";import{b as r,d as o}from"./a11y.tipps-7143f6fd.js";import{r as d,a as h}from"./unique-nav-labels-c6750f60.js";import{w as c}from"./validation-97376ad0.js";import"./dev.utils-b5b1c70d.js";import"./reuse-b3566e4c.js";const p=(i,t)=>{a(i,"_collapsible",t)},u=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}: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}",b=class{constructor(e){t(this,e),this.onClick=i=>{i._active=!i._active,this.state=Object.assign({},this.state)},this.hasActiveChild=i=>!!(Array.isArray(i._children)&&i._children.length>0)&&i._children.some(this.hasActiveChild),this.linkList=t=>i("ul",{class:"list "+(0===t.deep&&"horizontal"===t.orientation?" horizontal":" vertical"),"data-deep":t.deep},t.links.map(((i,e)=>this.li(t.collapsible,t.hideLabel,t.deep,e,i,t.orientation)))),this._ariaCurrentValue=!1,this._collapsible=!0,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical"}}entry(t,e,a,l,n){return i("div",{class:{entry:!0,"hide-label":e}},i("kol-button-link-text-switch",{_link:Object.assign(Object.assign({},l),{_hideLabel:e})}),a?this.expandButton(t,l,n):"")}expandButton(t,e,a){return i("kol-button-wc",{class:"expand-button",_ariaExpanded:a,_disabled:!t,_icons:"codicon codicon-"+(a?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${e._label} ${a?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(e)}})}li(t,e,a,l,n,s){const r=!!n._active,o=Array.isArray(n._children)&&n._children.length>0,d=o&&r;return i("li",{class:{active:r,expanded:d,"has-children":o},key:l},this.entry(t,e,o,n,r),d?i(this.linkList,{collapsible:t,hideLabel:e,deep:a+1,links:n._children||[],orientation:s}):"")}render(){const t=!0===this.state._collapsible,a=!0===this.state._hideLabel,l=this.state._orientation;return i(e,null,i("div",{class:{[l]:!0}},i("nav",{"aria-label":this.state._label,id:"nav"},i(this.linkList,{collapsible:t,hideLabel:a,deep:0,links:this.state._links,orientation:l}))))}validateAriaCurrentValue(i){n(this,"_ariaCurrentValue",(i=>!0===i||"date"===i||"location"===i||"page"===i||"step"===i||"time"===i),new Set(["boolean","String {data, location, page, step, time}"]),i)}validateCollapsible(i){p(this,i)}validateHideLabel(i){s(this,i)}validateLabel(i,t,e=!1){e||d(this.state._label),l(this,i),r(i),h(this.state._label)}validateLinks(i){c("KolNav",this,i),o("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(i){n(this,"_orientation",(i=>"horizontal"===i||"vertical"===i),new Set(["Orientation {horizontal, vertical}"]),i,{defaultValue:"vertical"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel),this.validateLabel(this._label,void 0,!0),this.validateLinks(this._links),this.validateOrientation(this._orientation)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_collapsible:["validateCollapsible"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"]}}};b.style={default:u};export{b as kol_nav};
4
+ import{r as t,h as i,H as e}from"./index-d0c806ea.js";import{a}from"./i18n-9c7e636f.js";import{a as n,w as s}from"./prop.validators-e40c3380.js";import{v as l}from"./hide-label-ff12ad0b.js";import{v as o}from"./label-c130b72e.js";import{g as r,b as h,d as c}from"./a11y.tipps-348ca42a.js";import{r as d,a as p}from"./unique-nav-labels-c6750f60.js";import{w as u}from"./validation-3a52d0f0.js";import"./index-5d267931.js";import"./dev.utils-9b878520.js";import"./reuse-b3566e4c.js";const b=(t,i)=>{n(t,"_collapsible",i)},v=(t,i)=>{n(t,"_hasCompactButton",i)},m=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}: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}",f=class{constructor(a){t(this,a),this.onClick=t=>{t._active=!t._active,this.state=Object.assign({},this.state)},this.hasActiveChild=t=>!!(Array.isArray(t._children)&&t._children.length>0)&&t._children.some(this.hasActiveChild),this.linkList=t=>i("ul",{class:"list "+(0===t.deep&&"horizontal"===t.orientation?" horizontal":" vertical"),"data-deep":t.deep},t.links.map(((i,a)=>this.li(t.collapsible,t.hideLabel,t.deep,a,i,t.orientation)))),this._ariaCurrentValue=!1,this._collapsible=!0,this._hasCompactButton=!1,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hasCompactButton:!1,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical"}}entry(t,a,e,n,l){return i("div",{class:{entry:!0,"hide-label":a}},i("kol-button-link-text-switch",{_link:Object.assign(Object.assign({},n),{_hideLabel:a})}),e?this.expandButton(t,n,l):"")}expandButton(t,a,e){return i("kol-button-wc",{class:"expand-button",_ariaExpanded:e,_disabled:!t,_icons:"codicon codicon-"+(e?"remove":"add"),_hideLabel:!0,_label:`Untermenü zu ${a._label} ${e?"schließen":"öffnen"}`,_on:{onClick:()=>this.onClick(a)}})}li(t,a,e,n,l,s){const o=!!l._active,r=Array.isArray(l._children)&&l._children.length>0,h=r&&o;return i("li",{class:{active:o,expanded:h,"has-children":r},key:n},this.entry(t,a,r,l,o),h?i(this.linkList,{collapsible:t,hideLabel:a,deep:e+1,links:l._children||[],orientation:s}):"")}render(){let t=this.state._hasCompactButton;"horizontal"===this.state._orientation&&!0===this.state._hasCompactButton&&(t=!1,r("[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden."));const n=!0===this.state._collapsible,l=!0===this.state._hideLabel,s=this.state._orientation;return i(e,null,i("div",{class:{[s]:!0}},i("nav",{"aria-label":this.state._label,id:"nav"},i(this.linkList,{collapsible:n,hideLabel:l,deep:0,links:this.state._links,orientation:s})),t&&i("div",{class:"compact"},i("kol-button",{_ariaControls:"nav",_ariaExpanded:!l,_icons:l?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:a(l?"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(t){s(this,"_ariaCurrentValue",(t=>!0===t||"date"===t||"location"===t||"page"===t||"step"===t||"time"===t),new Set(["boolean","String {data, location, page, step, time}"]),t)}validateCollapsible(t){b(this,t)}validateHasCompactButton(t){v(this,t)}validateHideLabel(t){l(this,t)}validateLabel(t,i,a=!1){a||d(this.state._label),o(this,t),h(t),p(this.state._label)}validateLinks(t){u("KolNav",this,t),c("[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.")}validateOrientation(t){s(this,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel),this.validateHasCompactButton(this._hasCompactButton),this.validateLabel(this._label,void 0,!0),this.validateLinks(this._links),this.validateOrientation(this._orientation)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_collapsible:["validateCollapsible"],_hasCompactButton:["validateHasCompactButton"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"]}}};f.style={default:m};export{f as kol_nav};
@@ -1 +1 @@
1
- {"version":3,"names":["validateCollapsible","component","value","watchBoolean","defaultStyleCss","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","index","li","collapsible","hideLabel","_ariaCurrentValue","_collapsible","_hideLabel","_label","_links","_orientation","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icons","_on","active","key","render","Host","id","validateAriaCurrentValue","watchValidator","Set","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","componentWillLoad","undefined","disconnectedCallback"],"sources":["src/types/props/collapsible.ts","src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","@import url(../style.css);\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\nnav {\n\twidth: 100%;\n}\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n.list.vertical {\n\tflex-direction: column;\n}\n.entry {\n\tdisplay: flex;\n}\n.entry kol-button-wc:first-child,\n.entry kol-link-wc,\n.entry kol-span-wc {\n\tflex-grow: 1;\n}\n.entry kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<kol-button-link-text-switch\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateLabel(this._label, undefined, true);\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: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","defaultStyleCss","KolNav","this","onClick","link","_active","state","Object","assign","hasActiveChild","Array","isArray","_children","length","some","linkList","props","h","class","deep","orientation","links","map","index","li","collapsible","hideLabel","_ariaCurrentValue","_collapsible","_hasCompactButton","_hideLabel","_label","_links","_orientation","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icons","_on","active","key","render","hasCompactButton","devWarning","Host","id","_ariaControls","translate","_tooltipAlign","_variant","validateAriaCurrentValue","watchValidator","Set","validateHideLabel","validateLabel","_oldValue","initial","removeNavLabel","a11yHintLabelingLandmarks","addNavLabel","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","componentWillLoad","undefined","disconnectedCallback"],"sources":["src/types/props/collapsible.ts","src/types/props/has-compact-button.ts","src/components/nav/style.css?tag=kol-nav&mode=default&encapsulation=shadow","src/components/nav/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type CollapsiblePropType = boolean;\n\n/**\n * Defines if navigation nodes can be collapsed or not.\n */\nexport type PropCollapsible = {\n\tcollapsible: CollapsiblePropType;\n};\n\n/* validator */\nexport const validateCollapsible = (component: Generic.Element.Component, value?: CollapsiblePropType): void => {\n\twatchBoolean(component, '_collapsible', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\ntype HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import url(../style.css);\n:host > div {\n\tdisplay: grid;\n\tplace-items: center;\n}\nnav {\n\twidth: 100%;\n}\n.list {\n\tdisplay: flex;\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\n.list.vertical {\n\tflex-direction: column;\n}\n.entry {\n\tdisplay: flex;\n}\n.entry kol-button-wc:first-child,\n.entry kol-link-wc,\n.entry kol-span-wc {\n\tflex-grow: 1;\n}\n.entry kol-span-wc {\n\tjustify-items: start;\n}\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { ButtonOrLinkOrTextWithChildrenProps, ButtonWithChildrenProps } from '../../types/button-link-text';\nimport { Stringified } from '../../types/common';\nimport { Orientation } from '../../types/orientation';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { CollapsiblePropType, validateCollapsible } from '../../types/props/collapsible';\nimport { validateHasCompactButton } from '../../types/props/has-compact-button';\nimport { HideLabelPropType, validateHideLabel } from '../../types/props/hide-label';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { a11yHintLabelingLandmarks, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { addNavLabel, removeNavLabel } from '../../utils/unique-nav-labels';\nimport { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\nconst linkValidator = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\tif (typeof link === 'object' && typeof link._label === 'string' /* && typeof newLink._href === 'string' */) {\n\t\tif (Array.isArray(link._children)) {\n\t\t\treturn linksValidator(link._children);\n\t\t}\n\t\treturn false;\n\t}\n\treturn true;\n};\n\nconst linksValidator = (links: ButtonOrLinkOrTextWithChildrenProps[]): boolean => {\n\tif (Array.isArray(links)) {\n\t\treturn links.find(linkValidator) !== undefined;\n\t}\n\treturn true;\n};\n\n@Component({\n\ttag: 'kol-nav',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolNav implements API {\n\tprivate readonly onClick = (link: ButtonOrLinkOrTextWithChildrenProps): void => {\n\t\tlink._active = !link._active;\n\t\tthis.state = {\n\t\t\t...this.state,\n\t\t};\n\t};\n\n\tprivate readonly hasActiveChild = (link: ButtonOrLinkOrTextWithChildrenProps): boolean => {\n\t\tif (Array.isArray(link._children) && link._children.length > 0) {\n\t\t\treturn link._children.some(this.hasActiveChild);\n\t\t}\n\n\t\treturn false;\n\t};\n\n\tprivate entry(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\thasChildren: boolean,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\texpanded: boolean\n\t): JSX.Element {\n\t\treturn (\n\t\t\t<div class={{ entry: true, 'hide-label': hideLabel }}>\n\t\t\t\t<kol-button-link-text-switch\n\t\t\t\t\t_link={{\n\t\t\t\t\t\t...link,\n\t\t\t\t\t\t_hideLabel: hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{hasChildren ? this.expandButton(collapsible, link as ButtonWithChildrenProps, expanded) : ''}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate expandButton(collapsible: boolean, link: ButtonWithChildrenProps, expanded: boolean): JSX.Element {\n\t\treturn (\n\t\t\t<kol-button-wc\n\t\t\t\tclass=\"expand-button\"\n\t\t\t\t_ariaExpanded={expanded}\n\t\t\t\t_disabled={!collapsible}\n\t\t\t\t_icons={'codicon codicon-' + (expanded ? 'remove' : 'add')}\n\t\t\t\t_hideLabel\n\t\t\t\t_label={`Untermenü zu ${link._label} ${expanded ? 'schließen' : 'öffnen'}`}\n\t\t\t\t_on={{ onClick: () => this.onClick(link) }}\n\t\t\t></kol-button-wc>\n\t\t);\n\t}\n\n\tprivate li(\n\t\tcollapsible: boolean,\n\t\thideLabel: HideLabelPropType,\n\t\tdeep: number,\n\t\tindex: number,\n\t\tlink: ButtonOrLinkOrTextWithChildrenProps,\n\t\torientation: Orientation\n\t): JSX.Element {\n\t\tconst active = !!link._active;\n\t\tconst hasChildren = Array.isArray(link._children) && link._children.length > 0;\n\t\tconst expanded = hasChildren && active;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclass={{\n\t\t\t\t\tactive,\n\t\t\t\t\texpanded,\n\t\t\t\t\t'has-children': hasChildren,\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"compact\">\n\t\t\t\t\t\t\t<kol-button\n\t\t\t\t\t\t\t\t_ariaControls=\"nav\"\n\t\t\t\t\t\t\t\t_ariaExpanded={!hideLabel}\n\t\t\t\t\t\t\t\t_icons={hideLabel ? 'codicon codicon-chevron-right' : 'codicon codicon-chevron-left'}\n\t\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t\t_label={translate(hideLabel ? 'kol-nav-maximize' : 'kol-nav-minimize')}\n\t\t\t\t\t\t\t\t_on={{\n\t\t\t\t\t\t\t\t\tonClick: (): void => {\n\t\t\t\t\t\t\t\t\t\tthis.state = {\n\t\t\t\t\t\t\t\t\t\t\t...this.state,\n\t\t\t\t\t\t\t\t\t\t\t_hideLabel: this.state._hideLabel === false,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t_tooltipAlign=\"right\"\n\t\t\t\t\t\t\t\t_variant=\"ghost\"\n\t\t\t\t\t\t\t></kol-button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the value of aria-current to be used with the current context within the navigation.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * @TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label!: LabelPropType;\n\n\t/**\n\t * Defines the list of links, buttons or texts to render.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Defines whether the orientation of the component is horizontal or vertical.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType, _oldValue?: LabelPropType, initial = false): void {\n\t\tif (!initial) {\n\t\t\tremoveNavLabel(this.state._label); // remove the current\n\t\t}\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddNavLabel(this.state._label); // add the state instead of prop, because the prop could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label, undefined, true);\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: '1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icons: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icons: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// {\n// _active: true,\n// _label: '3.3 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _active: true, _label: '3.3.1 Navigationspunkt (aktiv)', _href: '#abc' },\n// { _label: '3.3.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// {\n// _label: '3.4 Navigationspunkt',\n// _href: '#abc',\n// _children: [\n// { _label: '3.4.1 Navigationspunkt', _href: '#abc' },\n// { _label: '3.4.2 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '3.5 Navigationspunkt', _href: '#abc' },\n// ],\n// },\n// { _label: '4 Navigationspunkt', _href: '#abc' },\n// ])\n// );\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as s}from"./index-536799d5.js";import{a as e}from"./i18n-94ea09e2.js";import{v as a,a as o}from"./custom-class-6b0cb37f.js";import{v as n}from"./label-84d4c0b2.js";import{v as l}from"./tooltip-align-0d2f0b3d.js";import{n as h}from"./dev.utils-b5b1c70d.js";import{e as r,w as c,c as p,p as u}from"./prop.validators-fa5eb5c5.js";import{r as d,a as _}from"./unique-nav-labels-c6750f60.js";import{S as f}from"./reuse-b3566e4c.js";import"./index-93da6c3d.js";import"./a11y.tipps-7143f6fd.js";import"./alignment-480cdfba.js";const b=(t,a,e)=>{r(t,"_max",a,e)},g=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.navigation-list{list-style:none}.separator:before{content:'•••'}",m={left:"codicon codicon-debug-reverse-continue"},v={left:"codicon codicon-chevron-left"},y={right:"codicon codicon-chevron-right"},k={right:"codicon codicon-debug-continue"},x=class{constructor(a){t(this,a),this.nonce=h(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,a)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,a),this.onChangePage(t,a)},this.onChangePage=(t,a)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,a)}))},this.onChangePageSize=(t,a)=>{if("number"==typeof(a=parseInt(a[0]))&&a>0&&this._pageSize!==a){this._pageSize=a;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,a)=>{let e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;const i=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,a.set("_pageSize",e)}const s=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,s,a.get("_pageSize"),o)},this.syncPage=(t,a,e,i)=>{if(i>0){const s=this.calcCount(i,e);s>0&&(a>s?(t.set("_page",s),this.onChangePage(f,s)):a<1&&(t.set("_page",1),this.onChangePage(f,1)))}},this.beforePageSizeOptions=(t,a)=>{const i=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&i.push({label:e("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",i),this.beforePageSize(i,a)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this._variant="normal",this.state={_boundaryCount:1,_label:e("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0,_variant:"normal"}}render(){var t;let a=!1;const o=this.getCount(),n=Array.from(Array(o).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>o-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,i("li",null,i("span",{class:"separator",key:`${this.nonce}-el-${t}`,"aria-hidden":"true"}))):null));return i(s,null,i("nav",{"aria-label":this.state._label},i("ul",{class:"navigation-list"},this.state._hasButtons.first&&i("li",null,i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:m,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&i("li",null,i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:v,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),n,this.state._hasButtons.next&&i("li",null,i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:y,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&i("li",null,i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:k,_hideLabel:!0,_label:e("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&i("kol-select",{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:e("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return i("li",null,i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:`${t}`,_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant}))}getSelectedPageButton(t){return i("li",null,i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_label:`${t}`,_variant:this.state._variant}))}validateBoundaryCount(t){r(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){a(this,t)}validateLabel(t,a,e=!1){e||d(this.state._label),n(this,t),_(this.state._label)}validateHasButtons(t){c(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,a)=>{if("boolean"==typeof t)a.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=u(t)}catch(t){a.delete("_hasButtons")}"object"==typeof t&&null!==t&&a.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){r(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,i=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,t,e,i)}}})}validatePageSize(t){r(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){p(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){r(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){b(this,t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,i=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,i,t)}}})}validateTooltipAlign(t){l(this,t)}validateVariant(t){o(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validateVariant(this._variant),this.validatePage(this._page)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};x.style={default:g};export{x as kol_pagination};
4
+ import{r as t,h as i,H as s}from"./index-d0c806ea.js";import{a as e}from"./i18n-9c7e636f.js";import{v as a,a as o}from"./custom-class-87071d99.js";import{v as n}from"./label-c130b72e.js";import{v as l}from"./tooltip-align-88b82267.js";import{n as h}from"./dev.utils-9b878520.js";import{e as r,w as c,c as p,p as u}from"./prop.validators-e40c3380.js";import{r as d,a as _}from"./unique-nav-labels-c6750f60.js";import{S as f}from"./reuse-b3566e4c.js";import"./index-5d267931.js";import"./a11y.tipps-348ca42a.js";import"./alignment-1bffdb6e.js";const b=(t,a,e)=>{r(t,"_max",a,e)},g=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.navigation-list{list-style:none}.separator:before{content:'•••'}",m={left:"codicon codicon-debug-reverse-continue"},v={left:"codicon codicon-chevron-left"},y={right:"codicon codicon-chevron-right"},k={right:"codicon codicon-debug-continue"},x=class{constructor(a){t(this,a),this.nonce=h(),this.calcCount=(t,a=1)=>Math.ceil(t/a),this.getCount=()=>this.calcCount(this.state._max,this.state._pageSize),this.onClick=(t,a)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,a),this.onChangePage(t,a)},this.onChangePage=(t,a)=>{const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,a)}))},this.onChangePageSize=(t,a)=>{if("number"==typeof(a=parseInt(a[0]))&&a>0&&this._pageSize!==a){this._pageSize=a;const e=setTimeout((()=>{clearTimeout(e),"function"==typeof this.state._on.onChangePageSize&&this.state._on.onChangePageSize(t,this._pageSize)}))}},this.onGoToFirst={onClick:t=>{this.onClick(t,1)}},this.onGoToEnd={onClick:t=>{this.onClick(t,this.getCount())}},this.onGoBackward={onClick:t=>{this.onClick(t,this.state._page-1)}},this.onGoForward={onClick:t=>{this.onClick(t,this.state._page+1)}},this.beforePageSize=(t,a)=>{let e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;const i=a.has("_pageSizeOptions")?a.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(i)&&i.length>0){const t=i.find((t=>t.value===e));e=void 0===t?i[0].value:t.value,a.set("_pageSize",e)}const s=a.has("_page")?a.get("_page"):this.state._page,o=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,s,a.get("_pageSize"),o)},this.syncPage=(t,a,e,i)=>{if(i>0){const s=this.calcCount(i,e);s>0&&(a>s?(t.set("_page",s),this.onChangePage(f,s)):a<1&&(t.set("_page",1),this.onChangePage(f,1)))}},this.beforePageSizeOptions=(t,a)=>{const i=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&i.push({label:e("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",i),this.beforePageSize(i,a)},this._boundaryCount=1,this._customClass=void 0,this._label=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._max=void 0,this._variant="normal",this.state={_boundaryCount:1,_label:e("kol-pagination"),_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_max:0,_variant:"normal"}}render(){var t;let a=!1;const o=this.getCount(),n=Array.from(Array(o).keys()).map((t=>t+1)).map((t=>t<=this.state._boundaryCount||t>o-this.state._boundaryCount||t>=this.state._page-this.state._siblingCount&&t<=this.state._page+this.state._siblingCount?(a=!0,this.state._page===t?this.getSelectedPageButton(t):this.getUnselectedPageButton(t)):!0===a?(a=!1,i("li",null,i("span",{class:"separator",key:`${this.nonce}-el-${t}`,"aria-hidden":"true"}))):null));return i(s,null,i("nav",{"aria-label":this.state._label},i("ul",{class:"navigation-list"},this.state._hasButtons.first&&i("li",null,i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:m,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.previous&&i("li",null,i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icons:v,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),n,this.state._hasButtons.next&&i("li",null,i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:y,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})),this.state._hasButtons.last&&i("li",null,i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icons:k,_hideLabel:!0,_label:e("kol-page-last"),_on:this.onGoToEnd,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign})))),(null===(t=this.state._pageSizeOptions)||void 0===t?void 0:t.length)>0&&i("kol-select",{_hideLabel:!0,_id:`pagination-size-${this.nonce}`,_label:e("kol-entries-per-site"),_options:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return i("li",null,i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:`${t}`,_on:{onClick:a=>{this.onClick(a,t)}},_variant:this.state._variant}))}getSelectedPageButton(t){return i("li",null,i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_label:`${t}`,_variant:this.state._variant}))}validateBoundaryCount(t){r(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){a(this,t)}validateLabel(t,a,e=!1){e||d(this.state._label),n(this,t),_(this.state._label)}validateHasButtons(t){c(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,a)=>{if("boolean"==typeof t)a.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=u(t)}catch(t){a.delete("_hasButtons")}"object"==typeof t&&null!==t&&a.set("_hasButtons",Object.assign(Object.assign({},this.state._hasButtons),{first:"boolean"==typeof t.first?!0===t.first:this.state._hasButtons.first,last:"boolean"==typeof t.last?!0===t.last:this.state._hasButtons.last,next:"boolean"==typeof t.next?!0===t.next:this.state._hasButtons.next,previous:"boolean"==typeof t.previous?!0===t.previous:this.state._hasButtons.previous}))}}}})}validateOn(t){"object"==typeof t&&null!==t&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validatePage(t){r(this,"_page",t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize,i=a.has("_max")?a.get("_max"):this.state._max;this.syncPage(a,t,e,i)}}})}validatePageSize(t){r(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){p(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){r(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateMax(t){b(this,t,{hooks:{beforePatch:(t,a)=>{const e=a.has("_page")?a.get("_page"):this.state._page,i=a.has("_pageSize")?a.get("_pageSize"):this.state._pageSize;this.syncPage(a,e,i,t)}}})}validateTooltipAlign(t){l(this,t)}validateVariant(t){o(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),this.validateLabel(this._label,void 0,!0),this.validateOn(this._on),this.validatePage(this._page),this.validatePageSize(this._pageSize),this.validatePageSizeOptions(this._pageSizeOptions),this.validateSiblingCount(this._siblingCount),this.validateTooltipAlign(this._tooltipAlign),this.validateMax(this._max),this.validateVariant(this._variant),this.validatePage(this._page)}disconnectedCallback(){d(this.state._label)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_label:["validateLabel"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_max:["validateMax"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};x.style={default:g};export{x as kol_pagination};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as i,H as s}from"./index-536799d5.js";import{c as o,o as e,f as a,s as n,a as h}from"./floating-ui.dom.esm-e435ab9f.js";import{v as r}from"./align-be0d4128.js";import{v as p}from"./show-eeff7c91.js";import{a as l}from"./dev.utils-b5b1c70d.js";import{p as c}from"./reuse-b3566e4c.js";import"./alignment-480cdfba.js";import"./prop.validators-fa5eb5c5.js";import"./a11y.tipps-7143f6fd.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}kol-popover{height:0;position:absolute}kol-popover .popover{background-color:#fff;min-height:max-content;min-width:max-content;opacity:0;position:absolute}kol-popover .hidden{display:none}kol-popover .show{animation:0.3s ease-in forwards fadeInOpacity}kol-popover .disappear{animation:0.3s ease-in backwards fadeInOpacity}kol-popover .arrow{background-color:inherit;height:var(--font-size);position:absolute;rotate:0.125turn;width:var(--font-size);z-index:-1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}",f=class{constructor(i){t(this,i),this.alignPopover=t=>{setTimeout((()=>{var i;if("test"!==c&&this.triggerElement&&this.popoverElement){const s=this.triggerElement,r=this.popoverElement,l=this.arrowElement,p=[e(null!==(i=null==l?void 0:l.offsetHeight)&&void 0!==i?i:10),a(),n()];l&&p.push(h({element:l})),o(s,r,{placement:this.state._align,middleware:p}).then((({x:e,y:o,middlewareData:i,placement:s})=>{this.setPosition(e,o,i,s,t)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=t=>{"Escape"===t.key&&this.hidePopover()},this.hidePopoverByClickOutside=t=>{this.host&&!this.host.contains(t.target)&&this.hidePopover()},this.catchHostAndTriggerElement=t=>{t&&(this.host=t,this.triggerElement=t.previousElementSibling)},this.catchPopoverElement=t=>{this.popoverElement=t},this.catchArrowElement=t=>{this.arrowElement=t},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}setPosition(t,e,o,i,s){if(this.popoverElement){const a={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${e}px`}),this.arrowElement&&o.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${o.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${o.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}a.left!==this.popoverElement.style.left||a.top!==this.popoverElement.style.top?this.alignPopover(s):"function"==typeof s&&s()}}hidePopover(){var t;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody()}addListenersToBody(){var t;const e=l().body;e.addEventListener("keyup",this.hidePopoverByEscape),e.addEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var t;const e=l().body;e.removeEventListener("keyup",this.hidePopoverByEscape),e.removeEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.removeEventListener("scroll",this.showPopover)}render(){return i(s,{ref:this.catchHostAndTriggerElement},i("div",{class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},i("div",{class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),i("slot",null)))}validateAlign(t){r(this,t)}validateShow(t){p(this,t),t&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};f.style=d;export{f as kol_popover};
4
+ import{r as t,h as i,H as s}from"./index-d0c806ea.js";import{c as o,o as e,f as a,s as n,a as h}from"./floating-ui.dom.esm-e435ab9f.js";import{v as r}from"./align-11b69892.js";import{v as p}from"./show-40a56e1f.js";import{a as l}from"./dev.utils-9b878520.js";import{p as c}from"./reuse-b3566e4c.js";import"./alignment-1bffdb6e.js";import"./prop.validators-e40c3380.js";import"./a11y.tipps-348ca42a.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}: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}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}kol-popover{height:0;position:absolute}kol-popover .popover{background-color:#fff;min-height:max-content;min-width:max-content;opacity:0;position:absolute}kol-popover .hidden{display:none}kol-popover .show{animation:0.3s ease-in forwards fadeInOpacity}kol-popover .disappear{animation:0.3s ease-in backwards fadeInOpacity}kol-popover .arrow{background-color:inherit;height:var(--font-size);position:absolute;rotate:0.125turn;width:var(--font-size);z-index:-1}@keyframes fadeInOpacity{0%{opacity:0}100%{opacity:1}}",f=class{constructor(i){t(this,i),this.alignPopover=t=>{setTimeout((()=>{var i;if("test"!==c&&this.triggerElement&&this.popoverElement){const s=this.triggerElement,r=this.popoverElement,l=this.arrowElement,p=[e(null!==(i=null==l?void 0:l.offsetHeight)&&void 0!==i?i:10),a(),n()];l&&p.push(h({element:l})),o(s,r,{placement:this.state._align,middleware:p}).then((({x:e,y:o,middlewareData:i,placement:s})=>{this.setPosition(e,o,i,s,t)}))}}))},this.showPopover=()=>{this.addListenersToBody(),this.alignPopover((()=>{this.state=Object.assign(Object.assign({},this.state),{_visible:!0})}))},this.hidePopoverByEscape=t=>{"Escape"===t.key&&this.hidePopover()},this.hidePopoverByClickOutside=t=>{this.host&&!this.host.contains(t.target)&&this.hidePopover()},this.catchHostAndTriggerElement=t=>{t&&(this.host=t,this.triggerElement=t.previousElementSibling)},this.catchPopoverElement=t=>{this.popoverElement=t},this.catchArrowElement=t=>{this.arrowElement=t},this._align="top",this._show=!1,this.state={_align:"top",_show:!1,_visible:!1}}setPosition(t,e,o,i,s){if(this.popoverElement){const a={left:this.popoverElement.style.left,top:this.popoverElement.style.top};if(Object.assign(this.popoverElement.style,{left:`${t}px`,top:`${e}px`}),this.arrowElement&&o.arrow)switch(i){case"top":this.arrowElement.style.inset=`100% auto auto ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 -50%";break;case"right":this.arrowElement.style.inset=`${o.arrow.y||0}px 100% auto auto`,this.arrowElement.style.translate="50% 0";break;case"bottom":this.arrowElement.style.inset=`auto auto 100% ${o.arrow.x||0}px`,this.arrowElement.style.translate="0 50%";break;case"left":this.arrowElement.style.inset=`${o.arrow.y||0}px auto auto 100%`,this.arrowElement.style.translate="-50% 0"}a.left!==this.popoverElement.style.left||a.top!==this.popoverElement.style.top?this.alignPopover(s):"function"==typeof s&&s()}}hidePopover(){var t;this.state=Object.assign(Object.assign({},this.state),{_visible:!1}),this._show=!1,null===(t=this.triggerElement)||void 0===t||t.focus(),this.removeListenersToBody()}addListenersToBody(){var t;const e=l().body;e.addEventListener("keyup",this.hidePopoverByEscape),e.addEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.addEventListener("scroll",this.showPopover,{passive:!0})}removeListenersToBody(){var t;const e=l().body;e.removeEventListener("keyup",this.hidePopoverByEscape),e.removeEventListener("click",this.hidePopoverByClickOutside),null===(t=document.scrollingElement)||void 0===t||t.removeEventListener("scroll",this.showPopover)}render(){return i(s,{ref:this.catchHostAndTriggerElement},i("div",{class:{popover:!0,hidden:!this.state._show,show:this.state._visible},ref:this.catchPopoverElement},i("div",{class:`arrow ${this.state._align}`,ref:this.catchArrowElement}),i("slot",null)))}validateAlign(t){r(this,t)}validateShow(t){p(this,t),t&&this.showPopover()}componentWillLoad(){this.validateAlign(this._align),this.validateShow(this._show)}static get watchers(){return{_align:["validateAlign"],_show:["validateShow"]}}};f.style=d;export{f as kol_popover};