@public-ui/components 1.6.0-rc.25 → 1.6.0-rc.26

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 (514) hide show
  1. package/custom-elements.json +10 -16
  2. package/dist/cjs/{a11y.tipps-1ae09b29.js → a11y.tipps-f5915f9f.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-1ae09b29.js.map → a11y.tipps-f5915f9f.js.map} +1 -1
  4. package/dist/cjs/align-07de0fd3.js +4 -0
  5. package/dist/cjs/{align-933b9f3b.js.map → align-07de0fd3.js.map} +1 -1
  6. package/dist/cjs/{alignment-bc8c7103.js → alignment-ad562301.js} +1 -1
  7. package/dist/cjs/{alignment-bc8c7103.js.map → alignment-ad562301.js.map} +1 -1
  8. package/dist/cjs/alternative-button-link-role-c120a0d1.js +4 -0
  9. package/dist/cjs/{alternative-button-link-role-e9611969.js.map → alternative-button-link-role-c120a0d1.js.map} +1 -1
  10. package/dist/cjs/{app-globals-c2fa3f3b.js → app-globals-112ab9a4.js} +1 -1
  11. package/dist/cjs/{app-globals-c2fa3f3b.js.map → app-globals-112ab9a4.js.map} +1 -1
  12. package/dist/cjs/{associated.controller-1c65b6fb.js → associated.controller-e2131335.js} +1 -1
  13. package/dist/cjs/{associated.controller-1c65b6fb.js.map → associated.controller-e2131335.js.map} +1 -1
  14. package/dist/cjs/{color-61874991.js → color-ca1d2d0b.js} +1 -1
  15. package/dist/cjs/{color-61874991.js.map → color-ca1d2d0b.js.map} +1 -1
  16. package/dist/cjs/{controller-88518751.js → controller-720ed373.js} +1 -1
  17. package/dist/cjs/{controller-88518751.js.map → controller-720ed373.js.map} +1 -1
  18. package/dist/cjs/{controller-4599f3a8.js → controller-79c136e6.js} +1 -1
  19. package/dist/cjs/{controller-4599f3a8.js.map → controller-79c136e6.js.map} +1 -1
  20. package/dist/cjs/{controller-cd5d3127.js → controller-977e0f17.js} +1 -1
  21. package/dist/cjs/{controller-cd5d3127.js.map → controller-977e0f17.js.map} +1 -1
  22. package/dist/cjs/{controller-41825902.js → controller-ac75a14a.js} +1 -1
  23. package/dist/cjs/{controller-41825902.js.map → controller-ac75a14a.js.map} +1 -1
  24. package/dist/cjs/{controller-4f13a920.js → controller-cbfc7eba.js} +1 -1
  25. package/dist/cjs/{controller-4f13a920.js.map → controller-cbfc7eba.js.map} +1 -1
  26. package/dist/cjs/{controller-icon-9e415963.js → controller-icon-753d8c2f.js} +1 -1
  27. package/dist/cjs/{controller-icon-9e415963.js.map → controller-icon-753d8c2f.js.map} +1 -1
  28. package/dist/cjs/custom-class-a741b39c.js +4 -0
  29. package/dist/cjs/custom-class-a741b39c.js.map +1 -0
  30. package/dist/cjs/dev.utils-2a489081.js +4 -0
  31. package/dist/cjs/dev.utils-2a489081.js.map +1 -0
  32. package/dist/cjs/{devtools-4f210fda.js → devtools-1a3a18d9.js} +1 -1
  33. package/dist/cjs/{devtools-4f210fda.js.map → devtools-1a3a18d9.js.map} +1 -1
  34. package/dist/cjs/has-closer-f40fd838.js +4 -0
  35. package/dist/cjs/{has-closer-2ac86bba.js.map → has-closer-f40fd838.js.map} +1 -1
  36. package/dist/cjs/hide-label-9c11b83c.js +4 -0
  37. package/dist/cjs/{hide-label-050ec47a.js.map → hide-label-9c11b83c.js.map} +1 -1
  38. package/dist/cjs/{i18n-e437fc0f.js → i18n-0da7ff8e.js} +1 -1
  39. package/dist/cjs/{i18n-e437fc0f.js.map → i18n-0da7ff8e.js.map} +1 -1
  40. package/dist/cjs/{icon-c86632b9.js → icon-4cc2d4a0.js} +1 -1
  41. package/dist/cjs/{icon-c86632b9.js.map → icon-4cc2d4a0.js.map} +1 -1
  42. package/dist/cjs/image-source-e4bc8324.js +4 -0
  43. package/dist/cjs/{image-source-195f6e3f.js.map → image-source-e4bc8324.js.map} +1 -1
  44. package/dist/cjs/index.cjs.js +1 -1
  45. package/dist/cjs/index.cjs.js.map +1 -1
  46. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  95. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  102. package/dist/cjs/kolibri.cjs.js +1 -1
  103. package/dist/cjs/{label-06fe06a4.js → label-7742b440.js} +1 -1
  104. package/dist/cjs/{label-06fe06a4.js.map → label-7742b440.js.map} +1 -1
  105. package/dist/cjs/loader.cjs.js +1 -1
  106. package/dist/cjs/{prop.validators-25e9b642.js → prop.validators-b6ab0589.js} +1 -1
  107. package/dist/cjs/{prop.validators-25e9b642.js.map → prop.validators-b6ab0589.js.map} +1 -1
  108. package/dist/cjs/rows-745c81be.js +4 -0
  109. package/dist/cjs/{rows-42fe9ce5.js.map → rows-745c81be.js.map} +1 -1
  110. package/dist/cjs/show-86e22605.js +4 -0
  111. package/dist/cjs/{show-a89c1958.js.map → show-86e22605.js.map} +1 -1
  112. package/dist/cjs/{suggestions-278663f9.js → suggestions-3b2a9e9a.js} +1 -1
  113. package/dist/cjs/{suggestions-278663f9.js.map → suggestions-3b2a9e9a.js.map} +1 -1
  114. package/dist/cjs/{tab-index-3ed70cf5.js → tab-index-3e4027b0.js} +1 -1
  115. package/dist/cjs/{tab-index-3ed70cf5.js.map → tab-index-3e4027b0.js.map} +1 -1
  116. package/dist/cjs/tooltip-align-712ac4ff.js +4 -0
  117. package/dist/cjs/{tooltip-align-92b20352.js.map → tooltip-align-712ac4ff.js.map} +1 -1
  118. package/dist/cjs/{validation-22d217d1.js → validation-51117acd.js} +1 -1
  119. package/dist/cjs/{validation-22d217d1.js.map → validation-51117acd.js.map} +1 -1
  120. package/dist/cjs/{validation-be2dd2b9.js → validation-648eeb98.js} +1 -1
  121. package/dist/cjs/{validation-be2dd2b9.js.map → validation-648eeb98.js.map} +1 -1
  122. package/dist/components/alternative-button-link-role.js +1 -1
  123. package/dist/components/color.js +1 -1
  124. package/dist/components/component.js +1 -1
  125. package/dist/components/component14.js +1 -1
  126. package/dist/components/component15.js +1 -1
  127. package/dist/components/component16.js +1 -1
  128. package/dist/components/component2.js +1 -1
  129. package/dist/components/component3.js +1 -1
  130. package/dist/components/component4.js +1 -1
  131. package/dist/components/component5.js +1 -1
  132. package/dist/components/component5.js.map +1 -1
  133. package/dist/components/component6.js +1 -1
  134. package/dist/components/component8.js +1 -1
  135. package/dist/components/component9.js +1 -1
  136. package/dist/components/component9.js.map +1 -1
  137. package/dist/components/controller.js +1 -1
  138. package/dist/components/controller2.js +1 -1
  139. package/dist/components/controller4.js +1 -1
  140. package/dist/components/devtools.js +1 -1
  141. package/dist/components/has-closer.js +1 -1
  142. package/dist/components/image-source.js +1 -1
  143. package/dist/components/index.js +1 -1
  144. package/dist/components/index.js.map +1 -1
  145. package/dist/components/kol-accordion.js +1 -1
  146. package/dist/components/kol-breadcrumb.js +1 -1
  147. package/dist/components/kol-breadcrumb.js.map +1 -1
  148. package/dist/components/kol-button-link.js +1 -1
  149. package/dist/components/kol-card.js +1 -1
  150. package/dist/components/kol-details.js +1 -1
  151. package/dist/components/kol-details.js.map +1 -1
  152. package/dist/components/kol-form.js +1 -1
  153. package/dist/components/kol-image.js +1 -1
  154. package/dist/components/kol-input-adapter-leanup.js +1 -1
  155. package/dist/components/kol-input-checkbox.js +1 -1
  156. package/dist/components/kol-input-color.js +1 -1
  157. package/dist/components/kol-input-date.js +1 -1
  158. package/dist/components/kol-input-email.js +1 -1
  159. package/dist/components/kol-input-file.js +1 -1
  160. package/dist/components/kol-input-number.js +1 -1
  161. package/dist/components/kol-input-password.js +1 -1
  162. package/dist/components/kol-input-radio-group.js +1 -1
  163. package/dist/components/kol-input-range.js +1 -1
  164. package/dist/components/kol-input-text.js +1 -1
  165. package/dist/components/kol-kolibri.js +1 -1
  166. package/dist/components/kol-link-button.js +1 -1
  167. package/dist/components/kol-link-group.js +1 -1
  168. package/dist/components/kol-link-group.js.map +1 -1
  169. package/dist/components/kol-logo.js +1 -1
  170. package/dist/components/kol-modal.js +1 -1
  171. package/dist/components/kol-nav.js +1 -1
  172. package/dist/components/kol-popover.js +1 -1
  173. package/dist/components/kol-progress.js +1 -1
  174. package/dist/components/kol-quote.js +1 -1
  175. package/dist/components/kol-skip-nav.js.map +1 -1
  176. package/dist/components/kol-split-button.js +1 -1
  177. package/dist/components/kol-split-button.js.map +1 -1
  178. package/dist/components/kol-symbol.js +1 -1
  179. package/dist/components/kol-table.js +1 -1
  180. package/dist/components/kol-tabs.js +1 -1
  181. package/dist/components/kol-textarea.js +1 -1
  182. package/dist/components/kol-toast.js +1 -1
  183. package/dist/components/label.js +1 -1
  184. package/dist/components/prop.validators.js +1 -1
  185. package/dist/components/prop.validators.js.map +1 -1
  186. package/dist/components/rows.js +1 -1
  187. package/dist/components/shadow2.js +1 -1
  188. package/dist/components/shadow2.js.map +1 -1
  189. package/dist/components/shadow3.js +1 -1
  190. package/dist/components/show.js +1 -1
  191. package/dist/components/suggestions.js +1 -1
  192. package/dist/components/validation.js +1 -1
  193. package/dist/declare.d.ts +26 -0
  194. package/dist/esm/{a11y.tipps-3dbf06fc.js → a11y.tipps-d11c3322.js} +1 -1
  195. package/dist/esm/{a11y.tipps-3dbf06fc.js.map → a11y.tipps-d11c3322.js.map} +1 -1
  196. package/dist/esm/{align-770e1701.js → align-dfd6742a.js} +1 -1
  197. package/dist/esm/{align-770e1701.js.map → align-dfd6742a.js.map} +1 -1
  198. package/dist/esm/{alignment-18ef41f0.js → alignment-5d25e1ca.js} +1 -1
  199. package/dist/esm/{alignment-18ef41f0.js.map → alignment-5d25e1ca.js.map} +1 -1
  200. package/dist/esm/{alternative-button-link-role-dfbba37c.js → alternative-button-link-role-244f2dd4.js} +1 -1
  201. package/dist/esm/{alternative-button-link-role-dfbba37c.js.map → alternative-button-link-role-244f2dd4.js.map} +1 -1
  202. package/dist/esm/app-globals-f0e8aa97.js +4 -0
  203. package/dist/esm/{app-globals-0c370b67.js.map → app-globals-f0e8aa97.js.map} +1 -1
  204. package/dist/esm/{associated.controller-6c7440df.js → associated.controller-d175340e.js} +1 -1
  205. package/dist/esm/{associated.controller-6c7440df.js.map → associated.controller-d175340e.js.map} +1 -1
  206. package/dist/esm/{color-845e0378.js → color-4cff02fe.js} +1 -1
  207. package/dist/esm/{color-845e0378.js.map → color-4cff02fe.js.map} +1 -1
  208. package/dist/esm/{controller-d04db4dd.js → controller-24d68464.js} +1 -1
  209. package/dist/esm/{controller-d04db4dd.js.map → controller-24d68464.js.map} +1 -1
  210. package/dist/esm/{controller-3788b559.js → controller-607473a1.js} +1 -1
  211. package/dist/esm/{controller-3788b559.js.map → controller-607473a1.js.map} +1 -1
  212. package/dist/esm/{controller-f073ed22.js → controller-7ece1f6d.js} +1 -1
  213. package/dist/esm/{controller-f073ed22.js.map → controller-7ece1f6d.js.map} +1 -1
  214. package/dist/esm/{controller-152cc0b9.js → controller-8dfe7c91.js} +1 -1
  215. package/dist/esm/{controller-152cc0b9.js.map → controller-8dfe7c91.js.map} +1 -1
  216. package/dist/esm/{controller-ab167bf7.js → controller-db9c89e4.js} +1 -1
  217. package/dist/esm/{controller-ab167bf7.js.map → controller-db9c89e4.js.map} +1 -1
  218. package/dist/esm/{controller-icon-cfbc5bbf.js → controller-icon-9b323870.js} +1 -1
  219. package/dist/esm/{controller-icon-cfbc5bbf.js.map → controller-icon-9b323870.js.map} +1 -1
  220. package/dist/esm/custom-class-50c7601c.js +4 -0
  221. package/dist/esm/custom-class-50c7601c.js.map +1 -0
  222. package/dist/esm/dev.utils-38b5f4df.js +4 -0
  223. package/dist/esm/dev.utils-38b5f4df.js.map +1 -0
  224. package/dist/esm/{devtools-67de7ff1.js → devtools-e379e9fb.js} +1 -1
  225. package/dist/esm/{devtools-67de7ff1.js.map → devtools-e379e9fb.js.map} +1 -1
  226. package/dist/esm/{has-closer-49b6c8b7.js → has-closer-fdd2da92.js} +1 -1
  227. package/dist/esm/{has-closer-49b6c8b7.js.map → has-closer-fdd2da92.js.map} +1 -1
  228. package/dist/esm/{hide-label-16112af9.js → hide-label-2fd3b093.js} +1 -1
  229. package/dist/esm/{hide-label-16112af9.js.map → hide-label-2fd3b093.js.map} +1 -1
  230. package/dist/esm/{i18n-53e49b2a.js → i18n-f8b0e840.js} +1 -1
  231. package/dist/esm/{i18n-53e49b2a.js.map → i18n-f8b0e840.js.map} +1 -1
  232. package/dist/esm/{icon-a7195182.js → icon-8fc8202c.js} +1 -1
  233. package/dist/esm/{icon-a7195182.js.map → icon-8fc8202c.js.map} +1 -1
  234. package/dist/esm/{image-source-d2f4a35e.js → image-source-ed1d1f7a.js} +1 -1
  235. package/dist/esm/{image-source-d2f4a35e.js.map → image-source-ed1d1f7a.js.map} +1 -1
  236. package/dist/esm/index.js +1 -1
  237. package/dist/esm/index.js.map +1 -1
  238. package/dist/esm/kol-abbr.entry.js +1 -1
  239. package/dist/esm/kol-accordion.entry.js +1 -1
  240. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  241. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  242. package/dist/esm/kol-badge.entry.js +1 -1
  243. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  244. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  245. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  246. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  247. package/dist/esm/kol-card.entry.js +1 -1
  248. package/dist/esm/kol-details.entry.js +1 -1
  249. package/dist/esm/kol-details.entry.js.map +1 -1
  250. package/dist/esm/kol-form.entry.js +1 -1
  251. package/dist/esm/kol-icon.entry.js +1 -1
  252. package/dist/esm/kol-image.entry.js +1 -1
  253. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  254. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  255. package/dist/esm/kol-input-color.entry.js +1 -1
  256. package/dist/esm/kol-input-date.entry.js +1 -1
  257. package/dist/esm/kol-input-email.entry.js +1 -1
  258. package/dist/esm/kol-input-file.entry.js +1 -1
  259. package/dist/esm/kol-input-number.entry.js +1 -1
  260. package/dist/esm/kol-input-password.entry.js +1 -1
  261. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  262. package/dist/esm/kol-input-radio.entry.js +1 -1
  263. package/dist/esm/kol-input-range.entry.js +1 -1
  264. package/dist/esm/kol-input-text.entry.js +1 -1
  265. package/dist/esm/kol-kolibri.entry.js +1 -1
  266. package/dist/esm/kol-link-button.entry.js +1 -1
  267. package/dist/esm/kol-link-group.entry.js +1 -1
  268. package/dist/esm/kol-link-group.entry.js.map +1 -1
  269. package/dist/esm/kol-link-wc.entry.js +1 -1
  270. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  271. package/dist/esm/kol-link.entry.js.map +1 -1
  272. package/dist/esm/kol-logo.entry.js +1 -1
  273. package/dist/esm/kol-modal.entry.js +1 -1
  274. package/dist/esm/kol-nav.entry.js +1 -1
  275. package/dist/esm/kol-pagination.entry.js +1 -1
  276. package/dist/esm/kol-pagination.entry.js.map +1 -1
  277. package/dist/esm/kol-popover.entry.js +1 -1
  278. package/dist/esm/kol-progress.entry.js +1 -1
  279. package/dist/esm/kol-quote.entry.js +1 -1
  280. package/dist/esm/kol-select.entry.js +1 -1
  281. package/dist/esm/kol-skip-nav.entry.js +1 -1
  282. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  283. package/dist/esm/kol-span-wc.entry.js +1 -1
  284. package/dist/esm/kol-spin.entry.js +1 -1
  285. package/dist/esm/kol-split-button.entry.js +1 -1
  286. package/dist/esm/kol-split-button.entry.js.map +1 -1
  287. package/dist/esm/kol-symbol.entry.js +1 -1
  288. package/dist/esm/kol-table.entry.js +1 -1
  289. package/dist/esm/kol-tabs.entry.js +1 -1
  290. package/dist/esm/kol-textarea.entry.js +1 -1
  291. package/dist/esm/kol-toast.entry.js +1 -1
  292. package/dist/esm/kol-tooltip.entry.js +1 -1
  293. package/dist/esm/kol-version.entry.js +1 -1
  294. package/dist/esm/kolibri.js +1 -1
  295. package/dist/esm/{label-162d9b49.js → label-07fc28f5.js} +1 -1
  296. package/dist/esm/{label-162d9b49.js.map → label-07fc28f5.js.map} +1 -1
  297. package/dist/esm/loader.js +1 -1
  298. package/dist/esm/{prop.validators-6cf6ed2d.js → prop.validators-f76b82ff.js} +1 -1
  299. package/dist/esm/{prop.validators-6cf6ed2d.js.map → prop.validators-f76b82ff.js.map} +1 -1
  300. package/dist/esm/{rows-c5b1e0bc.js → rows-9a6940f4.js} +1 -1
  301. package/dist/esm/{rows-c5b1e0bc.js.map → rows-9a6940f4.js.map} +1 -1
  302. package/dist/esm/{show-a8f7aa56.js → show-3328c6df.js} +1 -1
  303. package/dist/esm/{show-a8f7aa56.js.map → show-3328c6df.js.map} +1 -1
  304. package/dist/esm/{suggestions-efa371a2.js → suggestions-17851efa.js} +1 -1
  305. package/dist/esm/{suggestions-efa371a2.js.map → suggestions-17851efa.js.map} +1 -1
  306. package/dist/esm/{tab-index-cda3bf60.js → tab-index-96981cc3.js} +1 -1
  307. package/dist/esm/{tab-index-cda3bf60.js.map → tab-index-96981cc3.js.map} +1 -1
  308. package/dist/esm/tooltip-align-1d539e33.js +4 -0
  309. package/dist/esm/{tooltip-align-c2603081.js.map → tooltip-align-1d539e33.js.map} +1 -1
  310. package/dist/esm/validation-647a55ea.js +4 -0
  311. package/dist/esm/{validation-ad3aded3.js.map → validation-647a55ea.js.map} +1 -1
  312. package/dist/esm/{validation-9d2bdef4.js → validation-830c4705.js} +1 -1
  313. package/dist/esm/{validation-9d2bdef4.js.map → validation-830c4705.js.map} +1 -1
  314. package/dist/kolibri/{a11y.tipps-3dbf06fc.js → a11y.tipps-d11c3322.js} +1 -1
  315. package/dist/kolibri/align-dfd6742a.js +4 -0
  316. package/dist/kolibri/alignment-5d25e1ca.js +4 -0
  317. package/dist/kolibri/alternative-button-link-role-244f2dd4.js +4 -0
  318. package/dist/kolibri/app-globals-f0e8aa97.js +4 -0
  319. package/dist/kolibri/{associated.controller-6c7440df.js → associated.controller-d175340e.js} +1 -1
  320. package/dist/kolibri/{color-845e0378.js → color-4cff02fe.js} +1 -1
  321. package/dist/kolibri/{controller-d04db4dd.js → controller-24d68464.js} +1 -1
  322. package/dist/kolibri/{controller-3788b559.js → controller-607473a1.js} +1 -1
  323. package/dist/kolibri/{controller-f073ed22.js → controller-7ece1f6d.js} +1 -1
  324. package/dist/kolibri/{controller-152cc0b9.js → controller-8dfe7c91.js} +1 -1
  325. package/dist/kolibri/{controller-ab167bf7.js → controller-db9c89e4.js} +1 -1
  326. package/dist/kolibri/controller-icon-9b323870.js +4 -0
  327. package/dist/kolibri/custom-class-50c7601c.js +4 -0
  328. package/dist/kolibri/custom-class-50c7601c.js.map +1 -0
  329. package/dist/kolibri/dev.utils-38b5f4df.js +4 -0
  330. package/dist/kolibri/dev.utils-38b5f4df.js.map +1 -0
  331. package/dist/kolibri/{devtools-67de7ff1.js → devtools-e379e9fb.js} +1 -1
  332. package/dist/kolibri/has-closer-fdd2da92.js +4 -0
  333. package/dist/kolibri/hide-label-2fd3b093.js +4 -0
  334. package/dist/kolibri/{i18n-53e49b2a.js → i18n-f8b0e840.js} +1 -1
  335. package/dist/kolibri/{icon-a7195182.js → icon-8fc8202c.js} +1 -1
  336. package/dist/kolibri/image-source-ed1d1f7a.js +4 -0
  337. package/dist/kolibri/index.esm.js +1 -1
  338. package/dist/kolibri/index.esm.js.map +1 -1
  339. package/dist/kolibri/kol-abbr.entry.js +1 -1
  340. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  341. package/dist/kolibri/kol-accordion.entry.js +1 -1
  342. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  343. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  344. package/dist/kolibri/kol-badge.entry.js +1 -1
  345. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  346. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  347. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  348. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  349. package/dist/kolibri/kol-card.entry.js +1 -1
  350. package/dist/kolibri/kol-details.entry.js +1 -1
  351. package/dist/kolibri/kol-details.entry.js.map +1 -1
  352. package/dist/kolibri/kol-form.entry.js +1 -1
  353. package/dist/kolibri/kol-icon.entry.js +1 -1
  354. package/dist/kolibri/kol-image.entry.js +1 -1
  355. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  356. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  357. package/dist/kolibri/kol-input-color.entry.js +1 -1
  358. package/dist/kolibri/kol-input-date.entry.js +1 -1
  359. package/dist/kolibri/kol-input-email.entry.js +1 -1
  360. package/dist/kolibri/kol-input-file.entry.js +1 -1
  361. package/dist/kolibri/kol-input-number.entry.js +1 -1
  362. package/dist/kolibri/kol-input-password.entry.js +1 -1
  363. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  364. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  365. package/dist/kolibri/kol-input-range.entry.js +1 -1
  366. package/dist/kolibri/kol-input-text.entry.js +1 -1
  367. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  368. package/dist/kolibri/kol-link-button.entry.js +1 -1
  369. package/dist/kolibri/kol-link-group.entry.js +1 -1
  370. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  371. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  372. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  373. package/dist/kolibri/kol-link.entry.js.map +1 -1
  374. package/dist/kolibri/kol-logo.entry.js +1 -1
  375. package/dist/kolibri/kol-modal.entry.js +1 -1
  376. package/dist/kolibri/kol-nav.entry.js +1 -1
  377. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  378. package/dist/kolibri/kol-pagination.entry.js +1 -1
  379. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  380. package/dist/kolibri/kol-popover.entry.js +1 -1
  381. package/dist/kolibri/kol-progress.entry.js +1 -1
  382. package/dist/kolibri/kol-quote.entry.js +1 -1
  383. package/dist/kolibri/kol-select.entry.js +1 -1
  384. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  385. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  386. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  387. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  388. package/dist/kolibri/kol-spin.entry.js +1 -1
  389. package/dist/kolibri/kol-split-button.entry.js +1 -1
  390. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  391. package/dist/kolibri/kol-symbol.entry.js +1 -1
  392. package/dist/kolibri/kol-table.entry.js +1 -1
  393. package/dist/kolibri/kol-tabs.entry.js +1 -1
  394. package/dist/kolibri/kol-textarea.entry.js +1 -1
  395. package/dist/kolibri/kol-toast.entry.js +1 -1
  396. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  397. package/dist/kolibri/kol-version.entry.js +1 -1
  398. package/dist/kolibri/kolibri.esm.js +1 -1
  399. package/dist/kolibri/kolibri.esm.js.map +1 -1
  400. package/dist/kolibri/label-07fc28f5.js +4 -0
  401. package/dist/kolibri/prop.validators-f76b82ff.js +4 -0
  402. package/dist/kolibri/rows-9a6940f4.js +4 -0
  403. package/dist/kolibri/show-3328c6df.js +4 -0
  404. package/dist/kolibri/{suggestions-efa371a2.js → suggestions-17851efa.js} +1 -1
  405. package/dist/kolibri/{tab-index-cda3bf60.js → tab-index-96981cc3.js} +1 -1
  406. package/dist/kolibri/tooltip-align-1d539e33.js +4 -0
  407. package/dist/kolibri/validation-647a55ea.js +4 -0
  408. package/dist/kolibri/{validation-9d2bdef4.js → validation-830c4705.js} +1 -1
  409. package/dist/types/components/breadcrumb/component.d.ts +1 -1
  410. package/dist/types/components/breadcrumb/types.d.ts +1 -1
  411. package/dist/types/components/link/shadow.d.ts +2 -2
  412. package/dist/types/components/link/test/html.mock.d.ts +2 -2
  413. package/dist/types/components/link/types.d.ts +1 -1
  414. package/dist/types/components/link-group/component.d.ts +1 -1
  415. package/dist/types/components/link-group/types.d.ts +1 -1
  416. package/dist/types/components/skip-nav/component.d.ts +1 -1
  417. package/dist/types/components/skip-nav/types.d.ts +1 -1
  418. package/dist/types/components/split-button/component.d.ts +14 -36
  419. package/dist/types/components/split-button/types.d.ts +14 -16
  420. package/dist/types/components/toast/toaster.d.ts +0 -1
  421. package/dist/types/components.d.ts +18 -34
  422. package/dist/types/core/declare.d.ts +10 -0
  423. package/dist/types/index.d.ts +1 -11
  424. package/doc/link-group.md +1 -1
  425. package/doc/skip-nav.md +5 -5
  426. package/doc/split-button.md +22 -23
  427. package/jest-test-results.json +1 -1
  428. package/package.json +1 -1
  429. package/vscode-custom-data.json +5 -26
  430. package/dist/cjs/align-933b9f3b.js +0 -4
  431. package/dist/cjs/alternative-button-link-role-e9611969.js +0 -4
  432. package/dist/cjs/aria-selected-c8a48388.js +0 -4
  433. package/dist/cjs/aria-selected-c8a48388.js.map +0 -1
  434. package/dist/cjs/button-type-e393af65.js +0 -4
  435. package/dist/cjs/button-type-e393af65.js.map +0 -1
  436. package/dist/cjs/button-variant-7f5d0b45.js +0 -4
  437. package/dist/cjs/button-variant-7f5d0b45.js.map +0 -1
  438. package/dist/cjs/custom-class-47d7e19b.js +0 -4
  439. package/dist/cjs/custom-class-47d7e19b.js.map +0 -1
  440. package/dist/cjs/dev.utils-8c8d0972.js +0 -4
  441. package/dist/cjs/dev.utils-8c8d0972.js.map +0 -1
  442. package/dist/cjs/has-closer-2ac86bba.js +0 -4
  443. package/dist/cjs/hide-label-050ec47a.js +0 -4
  444. package/dist/cjs/image-source-195f6e3f.js +0 -4
  445. package/dist/cjs/rows-42fe9ce5.js +0 -4
  446. package/dist/cjs/show-a89c1958.js +0 -4
  447. package/dist/cjs/tooltip-align-92b20352.js +0 -4
  448. package/dist/components/aria-selected.js +0 -4
  449. package/dist/components/aria-selected.js.map +0 -1
  450. package/dist/esm/app-globals-0c370b67.js +0 -4
  451. package/dist/esm/aria-selected-c5542038.js +0 -4
  452. package/dist/esm/aria-selected-c5542038.js.map +0 -1
  453. package/dist/esm/button-type-a25d8975.js +0 -4
  454. package/dist/esm/button-type-a25d8975.js.map +0 -1
  455. package/dist/esm/button-variant-fbb48c03.js +0 -4
  456. package/dist/esm/button-variant-fbb48c03.js.map +0 -1
  457. package/dist/esm/custom-class-c9653859.js +0 -4
  458. package/dist/esm/custom-class-c9653859.js.map +0 -1
  459. package/dist/esm/dev.utils-1ee29ed1.js +0 -4
  460. package/dist/esm/dev.utils-1ee29ed1.js.map +0 -1
  461. package/dist/esm/tooltip-align-c2603081.js +0 -4
  462. package/dist/esm/validation-ad3aded3.js +0 -4
  463. package/dist/kolibri/align-770e1701.js +0 -4
  464. package/dist/kolibri/alignment-18ef41f0.js +0 -4
  465. package/dist/kolibri/alternative-button-link-role-dfbba37c.js +0 -4
  466. package/dist/kolibri/app-globals-0c370b67.js +0 -4
  467. package/dist/kolibri/aria-selected-c5542038.js +0 -4
  468. package/dist/kolibri/aria-selected-c5542038.js.map +0 -1
  469. package/dist/kolibri/button-type-a25d8975.js +0 -4
  470. package/dist/kolibri/button-type-a25d8975.js.map +0 -1
  471. package/dist/kolibri/button-variant-fbb48c03.js +0 -4
  472. package/dist/kolibri/button-variant-fbb48c03.js.map +0 -1
  473. package/dist/kolibri/controller-icon-cfbc5bbf.js +0 -4
  474. package/dist/kolibri/custom-class-c9653859.js +0 -4
  475. package/dist/kolibri/custom-class-c9653859.js.map +0 -1
  476. package/dist/kolibri/dev.utils-1ee29ed1.js +0 -4
  477. package/dist/kolibri/dev.utils-1ee29ed1.js.map +0 -1
  478. package/dist/kolibri/has-closer-49b6c8b7.js +0 -4
  479. package/dist/kolibri/hide-label-16112af9.js +0 -4
  480. package/dist/kolibri/image-source-d2f4a35e.js +0 -4
  481. package/dist/kolibri/label-162d9b49.js +0 -4
  482. package/dist/kolibri/prop.validators-6cf6ed2d.js +0 -4
  483. package/dist/kolibri/rows-c5b1e0bc.js +0 -4
  484. package/dist/kolibri/show-a8f7aa56.js +0 -4
  485. package/dist/kolibri/tooltip-align-c2603081.js +0 -4
  486. package/dist/kolibri/validation-ad3aded3.js +0 -4
  487. /package/dist/kolibri/{a11y.tipps-3dbf06fc.js.map → a11y.tipps-d11c3322.js.map} +0 -0
  488. /package/dist/kolibri/{align-770e1701.js.map → align-dfd6742a.js.map} +0 -0
  489. /package/dist/kolibri/{alignment-18ef41f0.js.map → alignment-5d25e1ca.js.map} +0 -0
  490. /package/dist/kolibri/{alternative-button-link-role-dfbba37c.js.map → alternative-button-link-role-244f2dd4.js.map} +0 -0
  491. /package/dist/kolibri/{app-globals-0c370b67.js.map → app-globals-f0e8aa97.js.map} +0 -0
  492. /package/dist/kolibri/{associated.controller-6c7440df.js.map → associated.controller-d175340e.js.map} +0 -0
  493. /package/dist/kolibri/{color-845e0378.js.map → color-4cff02fe.js.map} +0 -0
  494. /package/dist/kolibri/{controller-d04db4dd.js.map → controller-24d68464.js.map} +0 -0
  495. /package/dist/kolibri/{controller-3788b559.js.map → controller-607473a1.js.map} +0 -0
  496. /package/dist/kolibri/{controller-f073ed22.js.map → controller-7ece1f6d.js.map} +0 -0
  497. /package/dist/kolibri/{controller-152cc0b9.js.map → controller-8dfe7c91.js.map} +0 -0
  498. /package/dist/kolibri/{controller-ab167bf7.js.map → controller-db9c89e4.js.map} +0 -0
  499. /package/dist/kolibri/{controller-icon-cfbc5bbf.js.map → controller-icon-9b323870.js.map} +0 -0
  500. /package/dist/kolibri/{devtools-67de7ff1.js.map → devtools-e379e9fb.js.map} +0 -0
  501. /package/dist/kolibri/{has-closer-49b6c8b7.js.map → has-closer-fdd2da92.js.map} +0 -0
  502. /package/dist/kolibri/{hide-label-16112af9.js.map → hide-label-2fd3b093.js.map} +0 -0
  503. /package/dist/kolibri/{i18n-53e49b2a.js.map → i18n-f8b0e840.js.map} +0 -0
  504. /package/dist/kolibri/{icon-a7195182.js.map → icon-8fc8202c.js.map} +0 -0
  505. /package/dist/kolibri/{image-source-d2f4a35e.js.map → image-source-ed1d1f7a.js.map} +0 -0
  506. /package/dist/kolibri/{label-162d9b49.js.map → label-07fc28f5.js.map} +0 -0
  507. /package/dist/kolibri/{prop.validators-6cf6ed2d.js.map → prop.validators-f76b82ff.js.map} +0 -0
  508. /package/dist/kolibri/{rows-c5b1e0bc.js.map → rows-9a6940f4.js.map} +0 -0
  509. /package/dist/kolibri/{show-a8f7aa56.js.map → show-3328c6df.js.map} +0 -0
  510. /package/dist/kolibri/{suggestions-efa371a2.js.map → suggestions-17851efa.js.map} +0 -0
  511. /package/dist/kolibri/{tab-index-cda3bf60.js.map → tab-index-96981cc3.js.map} +0 -0
  512. /package/dist/kolibri/{tooltip-align-c2603081.js.map → tooltip-align-1d539e33.js.map} +0 -0
  513. /package/dist/kolibri/{validation-ad3aded3.js.map → validation-647a55ea.js.map} +0 -0
  514. /package/dist/kolibri/{validation-9d2bdef4.js.map → validation-830c4705.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","ListItem","props","list","links","map","link","index","push","h","key","class","ident","orientation","style","listStyleType","Object","assign","KolLinkGroup","this","isUl","_label","_listStyleType","_links","_orientation","render","state","vertical","horizontal","_heading","_a","length","_level","validateAriaLabel","value","validateLabel","validateHeading","watchString","validateLevel","watchHeadingLevel","validateListStyleType","watchValidator","Set","validateLinks","watchNavLinks","validateOrdered","watchBoolean","validateOrientation","defaultValue","componentWillLoad","_ariaLabel"],"sources":["src/components/link-group/style.css?tag=kol-link-group&mode=default&encapsulation=shadow","src/components/link-group/component.tsx"],"sourcesContent":["@import url(../style.css);\nul {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\nnav.horizontal ul {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\nnav.horizontal li {\n\tmargin-left: 1.25rem;\n\tmargin-right: 0.25rem;\n}\nnav.horizontal li:first-child {\n\tmargin-left: 0;\n}\nnav.horizontal li:last-child {\n\tmargin-right: 0;\n}\nnav.vertical li {\n\tmargin-left: 1.75rem;\n\tmargin-right: 0.5rem;\n}\nli.list-none {\n\tlist-style-type: none !important;\n\tmargin-left: 0;\n}\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Props as LinkProps } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { Orientation } from '../../types/orientation';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { watchNavLinks } from '../nav/validation';\nimport { API, States, ListStyleType } from './types';\n\nconst ListItem = (props: { links: LinkProps[]; orientation: Orientation; listStyleType: ListStyleType }): JSX.Element => {\n\tconst list: JSX.Element[] = [];\n\tprops.links.map((link, index: number) => {\n\t\tlist.push(\n\t\t\t(\n\t\t\t\t<li\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tident: index > 0 && props.orientation === 'vertical',\n\t\t\t\t\t\t'list-none': index === 0 && props.orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tlistStyleType: props.listStyleType,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-link {...link}></kol-link>\n\t\t\t\t</li>\n\t\t\t) as JSX.Element\n\t\t);\n\t});\n\treturn list;\n};\n\n@Component({\n\ttag: 'kol-link-group',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLinkGroup implements API {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<nav\n\t\t\t\taria-label={this.state._label}\n\t\t\t\tclass={{\n\t\t\t\t\tvertical: this.state._orientation === 'vertical',\n\t\t\t\t\thorizontal: this.state._orientation === 'horizontal',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t<kol-heading-wc _label={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t)}\n\n\t\t\t\t{this.isUl === false ? (\n\t\t\t\t\t<ol>\n\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t</ol>\n\t\t\t\t) : (\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t</ul>\n\t\t\t\t)}\n\t\t\t</nav>\n\t\t);\n\t}\n\n\tprivate isUl = true;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt den List-Style-Typen für ungeordnete Listen aus. Wird bei horizontalen LinkGroups als Trenner verwendet\n\t */\n\t@Prop() public _listStyleType?: ListStyleType;\n\n\t/**\n\t * Gibt die optionale Überschrift zur Link-Gruppe an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat. Oder bei 0, ob es keine Überschrift ist und als fett gedruckter Text angezeigt werden soll.\n\t */\n\t@Prop() public _level?: HeadingLevel;\n\n\t/**\n\t * Gibt die Liste der darzustellenden Button, Links oder Texte an.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t/**\n\t * Gibt an, ob eine Ordered- oder eine Unordered-List verwendet werden soll.\n\t * @deprecated Wird mittels der Property _list-style-type automatisch gesteuert.\n\t */\n\t@Prop() public _ordered?: boolean;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: States = {\n\t\t_label: '…', // ⚠ required\n\t\t_listStyleType: 'disc',\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_listStyleType')\n\tpublic validateListStyleType(value?: ListStyleType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_listStyleType',\n\t\t\t(value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\t\tcase 'disc':\n\t\t\t\t\tcase 'circle':\n\t\t\t\t\tcase 'square':\n\t\t\t\t\tcase 'none':\n\t\t\t\t\t\tthis.isUl = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\tcase 'decimal-leading-zero':\n\t\t\t\t\tcase 'lower-alpha':\n\t\t\t\t\tcase 'lower-latin':\n\t\t\t\t\tcase 'lower-greek':\n\t\t\t\t\tcase 'lower-roman':\n\t\t\t\t\tcase 'upper-alpha':\n\t\t\t\t\tcase 'upper-latin':\n\t\t\t\t\tcase 'upper-roman':\n\t\t\t\t\t\tthis.isUl = false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tnew Set(['https://www.w3schools.com/tags/tag_ol.asp']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolLinkGroup', this, value);\n\t}\n\n\t@Watch('_ordered')\n\tpublic validateOrdered(value?: boolean): void {\n\t\twatchBoolean(this, '_ordered', value);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateListStyleType(this._listStyleType);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: 'Fehler 1', _id: '#anschrift_anschrift_adresse_strasse', _icon: 'error' },\n// { _label: 'Fehler 2', _id: '#anschrift_anschrift_adresse_hausnummer', _icon: 'error' },\n// ])\n// );\n"],"mappings":";;;0WAAA,MAAMA,EAAkB,ihCCYxB,MAAMC,EAAYC,IACjB,MAAMC,EAAsB,GAC5BD,EAAME,MAAMC,KAAI,CAACC,EAAMC,KACtBJ,EAAKK,KAEHC,EAAA,MACCC,IAAKH,EACLI,MAAO,CACNC,MAAOL,EAAQ,GAAKL,EAAMW,cAAgB,WAC1C,YAAaN,IAAU,GAAKL,EAAMW,cAAgB,cAEnDC,MAAO,CACNC,cAAeb,EAAMa,gBAGtBN,EAAA,WAAAO,OAAAC,OAAA,GAAcX,KAGhB,IAEF,OAAOH,CAAI,E,MAUCe,EAAY,M,yBA2BhBC,KAAAC,KAAO,K,4LA2C6B,W,WAEZ,CAC/BC,OAAQ,IACRC,eAAgB,OAChBC,OAAQ,GACRC,aAAc,W,CA3ER,MAAAC,G,MACN,OACChB,EAAA,oBACaU,KAAKO,MAAML,OACvBV,MAAO,CACNgB,SAAUR,KAAKO,MAAMF,eAAiB,WACtCI,WAAYT,KAAKO,MAAMF,eAAiB,sBAGjCL,KAAKO,MAAMG,WAAa,YAAYC,EAAAX,KAAKO,MAAMG,YAAQ,MAAAC,SAAA,SAAAA,EAAEC,QAAS,GACzEtB,EAAA,kBAAgBY,OAAQF,KAAKO,MAAMG,SAAUG,OAAQb,KAAKO,MAAMM,SAGhEb,KAAKC,OAAS,MACdX,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOe,KAAKO,MAAMH,OAAQV,YAAaM,KAAKO,MAAMF,aAAcT,cAAeI,KAAKO,MAAMJ,kBAGrGb,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOe,KAAKO,MAAMH,OAAQV,YAAaM,KAAKO,MAAMF,aAAcT,cAAeI,KAAKO,MAAMJ,kB,CA+DlG,iBAAAW,CAAkBC,GACxBf,KAAKgB,cAAcD,E,CAIb,eAAAE,CAAgBF,GACtBG,EAAYlB,KAAM,WAAYe,E,CAIxB,aAAAC,CAAcD,GACpBC,EAAchB,KAAMe,E,CAId,aAAAI,CAAcJ,GACpBK,EAAkBpB,KAAMe,E,CAIlB,qBAAAM,CAAsBN,GAC5BO,EACCtB,KACA,kBACCe,IACA,OAAQA,GACP,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,OACJf,KAAKC,KAAO,KACZ,OAAO,KACR,IAAK,UACL,IAAK,uBACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACJD,KAAKC,KAAO,MACZ,OAAO,KACR,QACC,OAAO,M,GAGV,IAAIsB,IAAI,CAAC,8CACTR,E,CAKK,aAAAS,CAAcT,GACpBU,EAAc,eAAgBzB,KAAMe,E,CAI9B,eAAAW,CAAgBX,GACtBY,EAAa3B,KAAM,WAAYe,E,CAIzB,mBAAAa,CAAoBb,GAC1BO,EACCtB,KACA,gBACCe,GAAmBA,IAAU,cAAgBA,IAAU,YACxD,IAAIQ,IAAI,CAAC,uCACTR,EACA,CACCc,aAAc,Y,CAKV,iBAAAC,GACN9B,KAAKiB,gBAAgBjB,KAAKU,UAC1BV,KAAKgB,cAAchB,KAAKE,QAAUF,KAAK+B,YACvC/B,KAAKmB,cAAcnB,KAAKa,QACxBb,KAAKqB,sBAAsBrB,KAAKG,gBAChCH,KAAKwB,cAAcxB,KAAKI,QACxBJ,KAAK4B,oBAAoB5B,KAAKK,a"}
1
+ {"version":3,"names":["defaultStyleCss","ListItem","props","list","links","map","link","index","push","h","key","class","ident","orientation","style","listStyleType","Object","assign","KolLinkGroup","this","isUl","_label","_listStyleType","_links","_orientation","render","state","vertical","horizontal","_heading","_a","length","_level","validateAriaLabel","value","validateLabel","validateHeading","watchString","validateLevel","watchHeadingLevel","validateListStyleType","watchValidator","Set","validateLinks","watchNavLinks","validateOrdered","watchBoolean","validateOrientation","defaultValue","componentWillLoad","_ariaLabel"],"sources":["src/components/link-group/style.css?tag=kol-link-group&mode=default&encapsulation=shadow","src/components/link-group/component.tsx"],"sourcesContent":["@import url(../style.css);\nul {\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n}\nnav.horizontal ul {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\nnav.horizontal li {\n\tmargin-left: 1.25rem;\n\tmargin-right: 0.25rem;\n}\nnav.horizontal li:first-child {\n\tmargin-left: 0;\n}\nnav.horizontal li:last-child {\n\tmargin-right: 0;\n}\nnav.vertical li {\n\tmargin-left: 1.75rem;\n\tmargin-right: 0.5rem;\n}\nli.list-none {\n\tlist-style-type: none !important;\n\tmargin-left: 0;\n}\n","import { Component, h, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { LinkProps } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { Orientation } from '../../types/orientation';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { watchBoolean, watchString, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { watchNavLinks } from '../nav/validation';\nimport { API, States, ListStyleType } from './types';\n\nconst ListItem = (props: { links: LinkProps[]; orientation: Orientation; listStyleType: ListStyleType }): JSX.Element => {\n\tconst list: JSX.Element[] = [];\n\tprops.links.map((link, index: number) => {\n\t\tlist.push(\n\t\t\t(\n\t\t\t\t<li\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tident: index > 0 && props.orientation === 'vertical',\n\t\t\t\t\t\t'list-none': index === 0 && props.orientation === 'horizontal',\n\t\t\t\t\t}}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tlistStyleType: props.listStyleType,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<kol-link {...link}></kol-link>\n\t\t\t\t</li>\n\t\t\t) as JSX.Element\n\t\t);\n\t});\n\treturn list;\n};\n\n@Component({\n\ttag: 'kol-link-group',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLinkGroup implements API {\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<nav\n\t\t\t\taria-label={this.state._label}\n\t\t\t\tclass={{\n\t\t\t\t\tvertical: this.state._orientation === 'vertical',\n\t\t\t\t\thorizontal: this.state._orientation === 'horizontal',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{typeof this.state._heading === 'string' && this.state._heading?.length > 0 && (\n\t\t\t\t\t<kol-heading-wc _label={this.state._heading} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t)}\n\n\t\t\t\t{this.isUl === false ? (\n\t\t\t\t\t<ol>\n\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t</ol>\n\t\t\t\t) : (\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<ListItem links={this.state._links} orientation={this.state._orientation} listStyleType={this.state._listStyleType} />\n\t\t\t\t\t</ul>\n\t\t\t\t)}\n\t\t\t</nav>\n\t\t);\n\t}\n\n\tprivate isUl = true;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt den List-Style-Typen für ungeordnete Listen aus. Wird bei horizontalen LinkGroups als Trenner verwendet\n\t */\n\t@Prop() public _listStyleType?: ListStyleType;\n\n\t/**\n\t * Gibt die optionale Überschrift zur Link-Gruppe an.\n\t */\n\t@Prop() public _heading?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt an, welchen H-Level von 1 bis 6 die Überschrift hat. Oder bei 0, ob es keine Überschrift ist und als fett gedruckter Text angezeigt werden soll.\n\t */\n\t@Prop() public _level?: HeadingLevel;\n\n\t/**\n\t * Gibt die Liste der darzustellenden Button, Links oder Texte an.\n\t */\n\t@Prop() public _links!: Stringified<LinkProps[]>;\n\n\t/**\n\t * Gibt an, ob eine Ordered- oder eine Unordered-List verwendet werden soll.\n\t * @deprecated Wird mittels der Property _list-style-type automatisch gesteuert.\n\t */\n\t@Prop() public _ordered?: boolean;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t@State() public state: States = {\n\t\t_label: '…', // ⚠ required\n\t\t_listStyleType: 'disc',\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_heading')\n\tpublic validateHeading(value?: string): void {\n\t\twatchString(this, '_heading', value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_level')\n\tpublic validateLevel(value?: HeadingLevel): void {\n\t\twatchHeadingLevel(this, value);\n\t}\n\n\t@Watch('_listStyleType')\n\tpublic validateListStyleType(value?: ListStyleType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_listStyleType',\n\t\t\t(value) => {\n\t\t\t\tswitch (value) {\n\t\t\t\t\tcase 'disc':\n\t\t\t\t\tcase 'circle':\n\t\t\t\t\tcase 'square':\n\t\t\t\t\tcase 'none':\n\t\t\t\t\t\tthis.isUl = true;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tcase 'decimal':\n\t\t\t\t\tcase 'decimal-leading-zero':\n\t\t\t\t\tcase 'lower-alpha':\n\t\t\t\t\tcase 'lower-latin':\n\t\t\t\t\tcase 'lower-greek':\n\t\t\t\t\tcase 'lower-roman':\n\t\t\t\t\tcase 'upper-alpha':\n\t\t\t\t\tcase 'upper-latin':\n\t\t\t\t\tcase 'upper-roman':\n\t\t\t\t\t\tthis.isUl = false;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tnew Set(['https://www.w3schools.com/tags/tag_ol.asp']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<LinkProps[]>): void {\n\t\twatchNavLinks('KolLinkGroup', this, value);\n\t}\n\n\t@Watch('_ordered')\n\tpublic validateOrdered(value?: boolean): void {\n\t\twatchBoolean(this, '_ordered', value);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateHeading(this._heading);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateListStyleType(this._listStyleType);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: 'Fehler 1', _id: '#anschrift_anschrift_adresse_strasse', _icon: 'error' },\n// { _label: 'Fehler 2', _id: '#anschrift_anschrift_adresse_hausnummer', _icon: 'error' },\n// ])\n// );\n"],"mappings":";;;0WAAA,MAAMA,EAAkB,ihCCYxB,MAAMC,EAAYC,IACjB,MAAMC,EAAsB,GAC5BD,EAAME,MAAMC,KAAI,CAACC,EAAMC,KACtBJ,EAAKK,KAEHC,EAAA,MACCC,IAAKH,EACLI,MAAO,CACNC,MAAOL,EAAQ,GAAKL,EAAMW,cAAgB,WAC1C,YAAaN,IAAU,GAAKL,EAAMW,cAAgB,cAEnDC,MAAO,CACNC,cAAeb,EAAMa,gBAGtBN,EAAA,WAAAO,OAAAC,OAAA,GAAcX,KAGhB,IAEF,OAAOH,CAAI,E,MAUCe,EAAY,M,yBA2BhBC,KAAAC,KAAO,K,4LA2C6B,W,WAEZ,CAC/BC,OAAQ,IACRC,eAAgB,OAChBC,OAAQ,GACRC,aAAc,W,CA3ER,MAAAC,G,MACN,OACChB,EAAA,oBACaU,KAAKO,MAAML,OACvBV,MAAO,CACNgB,SAAUR,KAAKO,MAAMF,eAAiB,WACtCI,WAAYT,KAAKO,MAAMF,eAAiB,sBAGjCL,KAAKO,MAAMG,WAAa,YAAYC,EAAAX,KAAKO,MAAMG,YAAQ,MAAAC,SAAA,SAAAA,EAAEC,QAAS,GACzEtB,EAAA,kBAAgBY,OAAQF,KAAKO,MAAMG,SAAUG,OAAQb,KAAKO,MAAMM,SAGhEb,KAAKC,OAAS,MACdX,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOe,KAAKO,MAAMH,OAAQV,YAAaM,KAAKO,MAAMF,aAAcT,cAAeI,KAAKO,MAAMJ,kBAGrGb,EAAA,UACCA,EAACR,EAAQ,CAACG,MAAOe,KAAKO,MAAMH,OAAQV,YAAaM,KAAKO,MAAMF,aAAcT,cAAeI,KAAKO,MAAMJ,kB,CA+DlG,iBAAAW,CAAkBC,GACxBf,KAAKgB,cAAcD,E,CAIb,eAAAE,CAAgBF,GACtBG,EAAYlB,KAAM,WAAYe,E,CAIxB,aAAAC,CAAcD,GACpBC,EAAchB,KAAMe,E,CAId,aAAAI,CAAcJ,GACpBK,EAAkBpB,KAAMe,E,CAIlB,qBAAAM,CAAsBN,GAC5BO,EACCtB,KACA,kBACCe,IACA,OAAQA,GACP,IAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,OACJf,KAAKC,KAAO,KACZ,OAAO,KACR,IAAK,UACL,IAAK,uBACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACL,IAAK,cACJD,KAAKC,KAAO,MACZ,OAAO,KACR,QACC,OAAO,M,GAGV,IAAIsB,IAAI,CAAC,8CACTR,E,CAKK,aAAAS,CAAcT,GACpBU,EAAc,eAAgBzB,KAAMe,E,CAI9B,eAAAW,CAAgBX,GACtBY,EAAa3B,KAAM,WAAYe,E,CAIzB,mBAAAa,CAAoBb,GAC1BO,EACCtB,KACA,gBACCe,GAAmBA,IAAU,cAAgBA,IAAU,YACxD,IAAIQ,IAAI,CAAC,uCACTR,EACA,CACCc,aAAc,Y,CAKV,iBAAAC,GACN9B,KAAKiB,gBAAgBjB,KAAKU,UAC1BV,KAAKgB,cAAchB,KAAKE,QAAUF,KAAK+B,YACvC/B,KAAKmB,cAAcnB,KAAKa,QACxBb,KAAKqB,sBAAsBrB,KAAKG,gBAChCH,KAAKwB,cAAcxB,KAAKI,QACxBJ,KAAK4B,oBAAoB5B,KAAKK,a"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as t,H as e,g as s}from"./index-5ab2ea42.js";import{a}from"./i18n-53e49b2a.js";import{v as l,a as n,c as h,b as d}from"./alternative-button-link-role-dfbba37c.js";import{v as r}from"./aria-selected-c5542038.js";import{a as o,d as c,f,h as v,i as p,j as b}from"./prop.validators-6cf6ed2d.js";import{v as u}from"./hide-label-16112af9.js";import{v as _,w as g}from"./icon-a7195182.js";import{a as m}from"./label-162d9b49.js";import{d as j,g as x,h as A}from"./a11y.tipps-3dbf06fc.js";import{a as k}from"./reuse-c2156413.js";import{v as y}from"./tab-index-cda3bf60.js";import{v as C}from"./tooltip-align-c2603081.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-1ee29ed1.js";import"./alignment-18ef41f0.js";const L=(t,e)=>{"boolean"==typeof e?o(t,"_download",e):c(t,"_download",e)},w=(t,e,i={})=>{c(t,"_href",e,i)},I=(t,e)=>{o(t,"_stealth",e)},T=(t,e)=>{c(t,"_target",e)},O=class{constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,k(this.host,this.ref)},this.onClick=t=>{var e,i;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),f(t,this.ref),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._href))},this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{b(this.state._selector)},onKeyPress:()=>{b(this.state._selector)}});const e="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:e?"noopener":void 0};return"image"!==this.state._useCase&&!0!==this.state._hideLabel||this.state._label||j("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist."),{isExternal:e,tagAttrs:i,goToProps:t}},this.unsubscribeAriaCurrentSubject=v.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){x("The aria-current event is not valid.")}})),this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=!1,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._targetDescription=a("kol-open-link-in-tab"),this._tooltipAlign="right",this._useCase="text",this.state={_href:"…",_icon:{},_label:!1}}render(){const{isExternal:i,tagAttrs:a,goToProps:s}=this.getRenderValues(),l=!1===this.state._label;return t(e,null,t("a",Object.assign({ref:this.catchRef},a,{"aria-controls":this.state._ariaControls,"aria-current":this.state._ariaCurrent,"aria-expanded":p(this.state._ariaExpanded),"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,"aria-selected":p(this.state._ariaSelected),class:{disabled:!0===this.state._disabled,"skip ":!1!==this.state._stealth,"icon-only":!0===this.state._hideLabel,"hide-label":!0===this.state._hideLabel,"external-link":i}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick},s,{role:this.state._role,tabIndex:this.state._tabIndex}),t("kol-span-wc",{_icon:this.state._icon,_hideLabel:this.state._hideLabel,_label:!l&&(this.state._label||this.state._href)},t("slot",{name:"expert",slot:"expert"})),i&&t("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icon:"codicon codicon-link-external"})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaControls(t){l(this,t)}validateAriaCurrent(t){n(this,t)}validateAriaExpanded(t){o(this,"_ariaExpanded",t)}validateAriaLabel(t){this.validateLabel(t)}validateAriaSelected(t){r(this,t)}validateDisabled(t){o(this,"_disabled",t),!0===t&&A()}validateDownload(t){L(this,t)}validateHideLabel(t){u(this,t)}validateHref(t){w(this,t)}validateIcon(t){_(this,t)}validateIconAlign(t){g(this,t)}validateIconOnly(t){this.validateHideLabel(t)}validateLabel(t){m(this,t)}validateListenAriaCurrent(t){h(this,t)}validateOn(t){"object"==typeof t&&"function"==typeof(null==t?void 0:t.onClick)&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateRole(t){d(this,t)}validateSelector(t){c(this,"_selector",t)}validateStealth(t){I(this,t)}validateTabIndex(t){y(this,t)}validateTarget(t){T(this,t)}validateTargetDescription(t){c(this,"_targetDescription",t)}validateTooltipAlign(t){C(this,t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}componentWillLoad(){this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel||this._iconOnly),this.validateHref(this._href),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateLabel(this._label||this._ariaLabel),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateSelector(this._selector),this.validateStealth(this._stealth),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign),this.validateUseCase(this._useCase)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_selector:["validateSelector"],_stealth:["validateStealth"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"],_useCase:["validateUseCase"]}}};export{O as kol_link_wc};
4
+ import{r as i,h as t,H as e,g as s}from"./index-5ab2ea42.js";import{a}from"./i18n-f8b0e840.js";import{v as l,a as n,b as h,c as d}from"./alternative-button-link-role-244f2dd4.js";import{a as o,d as r,f as c,h as f,i as v,j as p}from"./prop.validators-f76b82ff.js";import{v as u}from"./hide-label-2fd3b093.js";import{v as b,w as _}from"./icon-8fc8202c.js";import{a as g}from"./label-07fc28f5.js";import{d as m,g as j,h as x}from"./a11y.tipps-d11c3322.js";import{a as A}from"./reuse-c2156413.js";import{v as k}from"./tab-index-96981cc3.js";import{v as y}from"./tooltip-align-1d539e33.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-38b5f4df.js";import"./alignment-5d25e1ca.js";const C=(t,e)=>{o(t,"_ariaSelected",e)},L=(t,e)=>{"boolean"==typeof e?o(t,"_download",e):r(t,"_download",e)},w=(t,e,i={})=>{r(t,"_href",e,i)},I=(t,e)=>{o(t,"_stealth",e)},T=(t,e)=>{r(t,"_target",e)},O=class{constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,A(this.host,this.ref)},this.onClick=t=>{var e,i;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),c(t,this.ref),null===(i=this.state._on)||void 0===i||i.onClick(t,this.state._href))},this.getRenderValues=()=>{let t={};"string"==typeof this.state._selector&&(t={role:"link",tabIndex:0,onClick:()=>{p(this.state._selector)},onKeyPress:()=>{p(this.state._selector)}});const e="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:e?"noopener":void 0};return"image"!==this.state._useCase&&!0!==this.state._hideLabel||this.state._label||m("[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist."),{isExternal:e,tagAttrs:i,goToProps:t}},this.unsubscribeAriaCurrentSubject=f.subscribe((t=>{try{this.state._listenAriaCurrent&&this.state._listenAriaCurrent===t.ariaCurrent&&(this.state._href===t.href?this.validateAriaCurrent(t.ariaCurrent):this.validateAriaCurrent(!1))}catch(t){j("The aria-current event is not valid.")}})),this._ariaControls=void 0,this._ariaCurrent=void 0,this._ariaExpanded=void 0,this._ariaLabel=void 0,this._ariaSelected=void 0,this._disabled=!1,this._download=!1,this._hideLabel=!1,this._href=void 0,this._icon=void 0,this._iconAlign=void 0,this._iconOnly=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._selector=void 0,this._stealth=!1,this._tabIndex=void 0,this._target=void 0,this._targetDescription=a("kol-open-link-in-tab"),this._tooltipAlign="right",this._useCase="text",this.state={_href:"…",_icon:{},_label:!1}}render(){const{isExternal:i,tagAttrs:a,goToProps:s}=this.getRenderValues(),l=!1===this.state._label;return t(e,null,t("a",Object.assign({ref:this.catchRef},a,{"aria-controls":this.state._ariaControls,"aria-current":this.state._ariaCurrent,"aria-expanded":v(this.state._ariaExpanded),"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,"aria-selected":v(this.state._ariaSelected),class:{disabled:!0===this.state._disabled,"skip ":!1!==this.state._stealth,"icon-only":!0===this.state._hideLabel,"hide-label":!0===this.state._hideLabel,"external-link":i}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick},s,{role:this.state._role,tabIndex:this.state._tabIndex}),t("kol-span-wc",{_icon:this.state._icon,_hideLabel:this.state._hideLabel,_label:!l&&(this.state._label||this.state._href)},t("slot",{name:"expert",slot:"expert"})),i&&t("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icon:"codicon codicon-link-external"})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaControls(t){l(this,t)}validateAriaCurrent(t){n(this,t)}validateAriaExpanded(t){o(this,"_ariaExpanded",t)}validateAriaLabel(t){this.validateLabel(t)}validateAriaSelected(t){C(this,t)}validateDisabled(t){o(this,"_disabled",t),!0===t&&x()}validateDownload(t){L(this,t)}validateHideLabel(t){u(this,t)}validateHref(t){w(this,t)}validateIcon(t){b(this,t)}validateIconAlign(t){_(this,t)}validateIconOnly(t){this.validateHideLabel(t)}validateLabel(t){g(this,t)}validateListenAriaCurrent(t){h(this,t)}validateOn(t){"object"==typeof t&&"function"==typeof(null==t?void 0:t.onClick)&&(this.state=Object.assign(Object.assign({},this.state),{_on:t}))}validateRole(t){d(this,t)}validateSelector(t){r(this,"_selector",t)}validateStealth(t){I(this,t)}validateTabIndex(t){k(this,t)}validateTarget(t){T(this,t)}validateTargetDescription(t){r(this,"_targetDescription",t)}validateTooltipAlign(t){y(this,t)}validateUseCase(t){"string"==typeof t&&(this.state=Object.assign(Object.assign({},this.state),{_useCase:t}))}componentWillLoad(){this.validateAriaControls(this._ariaControls),this.validateAriaCurrent(this._ariaCurrent),this.validateAriaExpanded(this._ariaExpanded),this.validateAriaSelected(this._ariaSelected),this.validateDisabled(this._disabled),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel||this._iconOnly),this.validateHref(this._href),this.validateIcon(this._icon),this.validateIconAlign(this._iconAlign),this.validateLabel(this._label||this._ariaLabel),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateSelector(this._selector),this.validateStealth(this._stealth),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign),this.validateUseCase(this._useCase)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return s(this)}static get watchers(){return{_ariaControls:["validateAriaControls"],_ariaCurrent:["validateAriaCurrent"],_ariaExpanded:["validateAriaExpanded"],_ariaLabel:["validateAriaLabel"],_ariaSelected:["validateAriaSelected"],_disabled:["validateDisabled"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icon:["validateIcon"],_iconAlign:["validateIconAlign"],_iconOnly:["validateIconOnly"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_selector:["validateSelector"],_stealth:["validateStealth"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"],_useCase:["validateUseCase"]}}};export{O as kol_link_wc};
@@ -1 +1 @@
1
- {"version":3,"names":["validateDownload","component","value","watchBoolean","watchString","validateHref","options","validateStealth","validateLinkTarget","KolLinkWc","this","catchRef","ref","propagateFocus","host","onClick","event","_a","state","_on","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","_useCase","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","validateAriaCurrent","e","devWarning","translate","_icon","render","hasExpertSlot","h","Host","Object","assign","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","_ariaSelected","class","disabled","_disabled","_stealth","_role","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateAriaControls","validateAriaExpanded","validateAriaLabel","validateLabel","validateAriaSelected","validateDisabled","a11yHintDisabled","validateHideLabel","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateLabelWithExpertSlot","validateListenAriaCurrent","validateOn","validateRole","validateAlternativeButtonLinkRole","validateSelector","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","validateUseCase","componentWillLoad","_download","_iconOnly","_iconAlign","_ariaLabel","disconnectedCallback","unsubscribe"],"sources":["src/types/props/download.ts","src/types/props/href.ts","src/types/props/stealth.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = boolean | 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\tif (typeof value === 'boolean') watchBoolean(component, '_download', value);\n\telse watchString(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';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/**\n * Hides the link und makes it appear on focus.\n *\n * @deprecated will be removed in v2\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/**\n * @deprecated will be removed in v2\n */\nexport const validateStealth = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_stealth', value);\n};\n","/* 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 { LinkOnCallbacks, LinkUseCase } from '../../types/button-link';\nimport { States as LinkStates } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AlignPropType } from '../../types/props/align';\nimport { validateAriaControls } from '../../types/props/aria-controls';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { validateAriaSelected } from '../../types/props/aria-selected';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { validateHref } from '../../types/props/href';\nimport { validateIcon, watchIconAlign } from '../../types/props/icon';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { validateStealth } from '../../types/props/stealth';\nimport { a11yHintDisabled, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { API } from './types';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tlet goToProps = {};\n\t\tif (typeof this.state._selector === 'string') {\n\t\t\tgoToProps = {\n\t\t\t\trole: 'link',\n\t\t\t\ttabIndex: 0,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t\tonKeyPress: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t};\n\n\t\tif ((this.state._useCase === 'image' || this.state._hideLabel === true) && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs, goToProps };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs, goToProps } = this.getRenderValues();\n\t\tconst hasExpertSlot: boolean = this.state._label === false;\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-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\taria-selected={mapBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'skip ': this.state._stealth !== false,\n\t\t\t\t\t\t'icon-only': this.state._hideLabel === true, // @deprecated in v2\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\t{...goToProps}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this.state._icon} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? false : 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} _icon={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip\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>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus das interaktive Element der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt an, ob durch das interaktive Element in der Komponente etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob interaktive Element in der Komponente ausgewählt ist (z.B. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType = false;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\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 * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (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 * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\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/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icon: {}, // ⚠ required\n\t\t_label: false, // TODO: version 1\n\t\t// _label: '', // TODO: version 2\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\tvalidateAriaControls(this, value);\n\t}\n\n\t/**\n\t * @deprecated use aria-current only in state\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: AlignPropType): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated use _hide-label\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacks): void {\n\t\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_stealth')\n\tpublic validateStealth(value?: boolean): void {\n\t\tvalidateStealth(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_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\t/**\n\t * @deprecated\n\t */\n\t@Watch('_useCase')\n\tpublic validateUseCase(value?: LinkUseCase): void {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_useCase: value,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel || this._iconOnly);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateSelector(this._selector);\n\t\tthis.validateStealth(this._stealth);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateUseCase(this._useCase);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateAriaSelected","component","value","watchBoolean","validateDownload","watchString","validateHref","options","validateStealth","validateLinkTarget","KolLinkWc","this","catchRef","ref","propagateFocus","host","onClick","event","_a","state","_on","preventDefault","stopPropagation","setEventTarget","_b","_href","getRenderValues","goToProps","_selector","role","tabIndex","scrollBySelector","onKeyPress","isExternal","_target","tagAttrs","href","length","target","undefined","rel","_useCase","_hideLabel","_label","devHint","unsubscribeAriaCurrentSubject","ariaCurrentSubject","subscribe","_listenAriaCurrent","ariaCurrent","validateAriaCurrent","e","devWarning","translate","_icon","render","hasExpertSlot","h","Host","Object","assign","_ariaControls","_ariaCurrent","mapBoolean2String","_ariaExpanded","_ariaSelected","class","disabled","_disabled","_stealth","_role","_tabIndex","name","slot","_targetDescription","hidden","_align","_tooltipAlign","validateAriaControls","validateAriaExpanded","validateAriaLabel","validateLabel","validateDisabled","a11yHintDisabled","validateHideLabel","validateIcon","validateIconAlign","watchIconAlign","validateIconOnly","validateLabelWithExpertSlot","validateListenAriaCurrent","validateOn","validateRole","validateAlternativeButtonLinkRole","validateSelector","validateTabIndex","validateTarget","validateTargetDescription","validateTooltipAlign","validateUseCase","componentWillLoad","_download","_iconOnly","_iconAlign","_ariaLabel","disconnectedCallback","unsubscribe"],"sources":["src/types/props/aria-selected.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/stealth.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype AriaSelectedPropType = boolean;\n\n/**\n * Marks this element as selected.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n */\nexport type PropAriaSelected = {\n\tariaSelected: AriaSelectedPropType;\n};\n\n/* validator */\nexport const validateAriaSelected = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_ariaSelected', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = boolean | 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\tif (typeof value === 'boolean') watchBoolean(component, '_download', value);\n\telse watchString(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';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/**\n * Hides the link und makes it appear on focus.\n *\n * @deprecated will be removed in v2\n */\nexport type PropStealth = {\n\tstealth: boolean;\n};\n\n/**\n * @deprecated will be removed in v2\n */\nexport const validateStealth = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_stealth', value);\n};\n","/* 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 { LinkOnCallbacks, LinkUseCase } from '../../types/button-link';\nimport { States as LinkStates } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AlignPropType } from '../../types/props/align';\nimport { validateAriaControls } from '../../types/props/aria-controls';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { validateAriaSelected } from '../../types/props/aria-selected';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { validateHref } from '../../types/props/href';\nimport { validateIcon, watchIconAlign } from '../../types/props/icon';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { validateStealth } from '../../types/props/stealth';\nimport { a11yHintDisabled, devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, mapBoolean2String, scrollBySelector, setEventTarget, watchBoolean, watchString } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { API } from './types';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tlet goToProps = {};\n\t\tif (typeof this.state._selector === 'string') {\n\t\t\tgoToProps = {\n\t\t\t\trole: 'link',\n\t\t\t\ttabIndex: 0,\n\t\t\t\tonClick: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t\tonKeyPress: () => {\n\t\t\t\t\tscrollBySelector(this.state._selector as string);\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t};\n\n\t\tif ((this.state._useCase === 'image' || this.state._hideLabel === true) && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden, wenn eine Grafik verlinkt oder der _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs, goToProps };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs, goToProps } = this.getRenderValues();\n\t\tconst hasExpertSlot: boolean = this.state._label === false;\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-controls={this.state._ariaControls}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-expanded={mapBoolean2String(this.state._ariaExpanded)}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\taria-selected={mapBoolean2String(this.state._ariaSelected)}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\t'skip ': this.state._stealth !== false,\n\t\t\t\t\t\t'icon-only': this.state._hideLabel === true, // @deprecated in v2\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\t{...goToProps}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icon={this.state._icon} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? false : 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} _icon={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip\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>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus das interaktive Element der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt an, ob durch das interaktive Element in der Komponente etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob interaktive Element in der Komponente ausgewählt ist (z.B. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType = false;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\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 * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (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 * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\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/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icon: {}, // ⚠ required\n\t\t_label: false, // TODO: version 1\n\t\t// _label: '', // TODO: version 2\n\t};\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaControls')\n\tpublic validateAriaControls(value?: string): void {\n\t\tvalidateAriaControls(this, value);\n\t}\n\n\t/**\n\t * @deprecated use aria-current only in state\n\t */\n\t@Watch('_ariaCurrent')\n\tpublic validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaExpanded')\n\tpublic validateAriaExpanded(value?: boolean): void {\n\t\twatchBoolean(this, '_ariaExpanded', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaSelected')\n\tpublic validateAriaSelected(value?: boolean): void {\n\t\tvalidateAriaSelected(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: KoliBriIconProp): void {\n\t\tvalidateIcon(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_iconAlign')\n\tpublic validateIconAlign(value?: AlignPropType): void {\n\t\twatchIconAlign(this, value);\n\t}\n\n\t/**\n\t * @deprecated use _hide-label\n\t */\n\t@Watch('_iconOnly')\n\tpublic validateIconOnly(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacks): void {\n\t\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_on: value,\n\t\t\t};\n\t\t}\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_selector')\n\tpublic validateSelector(value?: string): void {\n\t\twatchString(this, '_selector', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_stealth')\n\tpublic validateStealth(value?: boolean): void {\n\t\tvalidateStealth(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_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\t/**\n\t * @deprecated\n\t */\n\t@Watch('_useCase')\n\tpublic validateUseCase(value?: LinkUseCase): void {\n\t\tif (typeof value === 'string') {\n\t\t\tthis.state = {\n\t\t\t\t...this.state,\n\t\t\t\t_useCase: value,\n\t\t\t};\n\t\t}\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaControls(this._ariaControls);\n\t\tthis.validateAriaCurrent(this._ariaCurrent);\n\t\tthis.validateAriaExpanded(this._ariaExpanded);\n\t\tthis.validateAriaSelected(this._ariaSelected);\n\t\tthis.validateDisabled(this._disabled);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel || this._iconOnly);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcon(this._icon);\n\t\tthis.validateIconAlign(this._iconAlign);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateSelector(this._selector);\n\t\tthis.validateStealth(this._stealth);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t\tthis.validateUseCase(this._useCase);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_download","_hideLabel","_href","_icon","_iconAlign","_label","_listenAriaCurrent","_on","_role","_selector","_stealth","_tabIndex","_target","_targetDescription","_tooltipAlign","_useCase","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 { LinkOnCallbacks, LinkUseCase } from '../../types/button-link';\nimport { Props } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AlignPropType } from '../../types/props/align';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { propagateFocus } from '../../utils/reuse';\nimport { DownloadPropType } from '../../types/props/download';\nimport { AlternativeButtonLinkRolePropType } from '../../types/props/alternative-button-link-role';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { LinkTargetPropType } from '../../types/props/link-target';\n\n@Component({\n\ttag: 'kol-link',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolLink implements Props {\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_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_disabled={this._disabled}\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_icon={this._icon}\n\t\t\t\t\t_iconAlign={this._iconAlign}\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_selector={this._selector}\n\t\t\t\t\t_stealth={this._stealth}\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\t_useCase={this._useCase}\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\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<slot slot=\"expert\" />\n\t\t\t\t</kol-link-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus das interaktive Element der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt an, ob durch das interaktive Element in der Komponente etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob interaktive Element in der Komponente ausgewählt ist (z.B. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType = false;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\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 * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (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 * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\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\t/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n}\n"],"mappings":";;;qGAAA,MAAMA,EAAkB,goC,MCsBXC,EAAO,M,yBAIFC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAeH,KAAKI,KAAMJ,KAAKE,IAAI,E,4JAmFC,M,eAKS,M,gBAKR,M,oOA0DF,M,wEAeS,6C,mBAKS,Q,cAOd,M,CA/KjC,MAAAG,GACN,OACCC,EAACC,EAAI,KACJD,EAAA,eACCJ,IAAKF,KAAKC,SACVO,cAAeR,KAAKQ,cACpBC,aAAcT,KAAKS,aACnBC,cAAeV,KAAKU,cACpBC,WAAYX,KAAKW,WACjBC,cAAeZ,KAAKY,cACpBC,UAAWb,KAAKa,UAChBC,UAAWd,KAAKc,UAChBC,WAAYf,KAAKe,WACjBC,MAAOhB,KAAKgB,MACZC,MAAOjB,KAAKiB,MACZC,WAAYlB,KAAKkB,WACjBC,OAAQnB,KAAKmB,OACbC,mBAAoBpB,KAAKoB,mBACzBC,IAAKrB,KAAKqB,IACVC,MAAOtB,KAAKsB,MACZC,UAAWvB,KAAKuB,UAChBC,SAAUxB,KAAKwB,SACfC,UAAWzB,KAAKyB,UAChBC,QAAS1B,KAAK0B,QACdC,mBAAoB3B,KAAK2B,mBACzBC,cAAe5B,KAAK4B,cACpBC,SAAU7B,KAAK6B,UAMfvB,EAAA,QAAMwB,KAAK,SAASC,KAAK,WAEzBzB,EAAA,QAAMyB,KAAK,Y"}
1
+ {"version":3,"names":["defaultStyleCss","KolLink","this","catchRef","ref","propagateFocus","host","render","h","Host","_ariaControls","_ariaCurrent","_ariaExpanded","_ariaLabel","_ariaSelected","_disabled","_download","_hideLabel","_href","_icon","_iconAlign","_label","_listenAriaCurrent","_on","_role","_selector","_stealth","_tabIndex","_target","_targetDescription","_tooltipAlign","_useCase","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 { LinkOnCallbacks, LinkUseCase } from '../../types/button-link';\nimport { LinkProps } from '../link/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconProp } from '../../types/icon';\nimport { AlignPropType } from '../../types/props/align';\nimport { AriaCurrentPropType } from '../../types/props/aria-current';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { propagateFocus } from '../../utils/reuse';\nimport { DownloadPropType } from '../../types/props/download';\nimport { AlternativeButtonLinkRolePropType } from '../../types/props/alternative-button-link-role';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { LinkTargetPropType } from '../../types/props/link-target';\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_ariaControls={this._ariaControls}\n\t\t\t\t\t_ariaCurrent={this._ariaCurrent}\n\t\t\t\t\t_ariaExpanded={this._ariaExpanded}\n\t\t\t\t\t_ariaLabel={this._ariaLabel}\n\t\t\t\t\t_ariaSelected={this._ariaSelected}\n\t\t\t\t\t_disabled={this._disabled}\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_icon={this._icon}\n\t\t\t\t\t_iconAlign={this._iconAlign}\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_selector={this._selector}\n\t\t\t\t\t_stealth={this._stealth}\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\t_useCase={this._useCase}\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\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<slot slot=\"expert\" />\n\t\t\t\t</kol-link-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, welche Elemente kontrolliert werden. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaControls?: string;\n\n\t/**\n\t * Gibt an, welchen aktuellen Auswahlstatus das interaktive Element der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n\t *\n\t * @deprecated use _listen-aria-current instead\n\t */\n\t@Prop() public _ariaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt an, ob durch das interaktive Element in der Komponente etwas aufgeklappt wurde. (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-expanded)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaExpanded?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Gibt an, ob interaktive Element in der Komponente ausgewählt ist (z.B. role=tab). (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-selected)\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _ariaSelected?: boolean;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t *\n\t * @deprecated Ein Link kann nicht deaktiviert werden, nutzen Sie den Button-Link stattdessen.\n\t */\n\t@Prop() public _disabled?: boolean = false;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType = false;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Gibt die Ziel-Url des Links an.\n\t */\n\t@Prop() public _href!: string;\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriIconProp>;\n\n\t/**\n\t * Deprecated: Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t *\n\t * @deprecated Wird durch das neue flexibleren Icon-Typ abgedeckt.\n\t */\n\t@Prop() public _iconAlign?: AlignPropType;\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t * @deprecated use _hide-label\n\t */\n\t@Prop() public _iconOnly?: boolean;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on a aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für den Link an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _on?: LinkOnCallbacks;\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 * Gibt die ID eines DOM-Elements, zu dem gesprungen werden soll, aus.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _selector?: string;\n\n\t/**\n\t * Gibt an, ob der Link nur beim Fokus sichtbar ist.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _stealth?: boolean = false;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (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 * Gibt die Beschreibung an, wenn der Link in einem anderen Programm geöffnet wird.\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\t/**\n\t * Gibt den Verwendungsfall des Links an.\n\t *\n\t * @deprecated will be removed in v2\n\t */\n\t@Prop() public _useCase?: LinkUseCase = 'text';\n}\n"],"mappings":";;;qGAAA,MAAMA,EAAkB,goC,MCsBXC,EAAO,M,yBAIFC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAeH,KAAKI,KAAMJ,KAAKE,IAAI,E,4JAmFC,M,eAKS,M,gBAKR,M,oOA0DF,M,wEAeS,6C,mBAKS,Q,cAOd,M,CA/KjC,MAAAG,GACN,OACCC,EAACC,EAAI,KACJD,EAAA,eACCJ,IAAKF,KAAKC,SACVO,cAAeR,KAAKQ,cACpBC,aAAcT,KAAKS,aACnBC,cAAeV,KAAKU,cACpBC,WAAYX,KAAKW,WACjBC,cAAeZ,KAAKY,cACpBC,UAAWb,KAAKa,UAChBC,UAAWd,KAAKc,UAChBC,WAAYf,KAAKe,WACjBC,MAAOhB,KAAKgB,MACZC,MAAOjB,KAAKiB,MACZC,WAAYlB,KAAKkB,WACjBC,OAAQnB,KAAKmB,OACbC,mBAAoBpB,KAAKoB,mBACzBC,IAAKrB,KAAKqB,IACVC,MAAOtB,KAAKsB,MACZC,UAAWvB,KAAKuB,UAChBC,SAAUxB,KAAKwB,SACfC,UAAWzB,KAAKyB,UAChBC,QAAS1B,KAAK0B,QACdC,mBAAoB3B,KAAK2B,mBACzBC,cAAe5B,KAAK4B,cACpBC,SAAU7B,KAAK6B,UAMfvB,EAAA,QAAMwB,KAAK,SAASC,KAAK,WAEzBzB,EAAA,QAAMyB,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-5ab2ea42.js";import{d as t,B as e,b as i,f as r}from"./bund-056aa89a.js";import{a as o}from"./i18n-53e49b2a.js";import{d as s}from"./a11y.tipps-3dbf06fc.js";import{s as l}from"./prop.validators-6cf6ed2d.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-1ee29ed1.js";import"./reuse-c2156413.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}text{font-size:16px;letter-spacing:normal;word-spacing:normal}";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._abbr=void 0,this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateAbbr(c){this.validateOrg(c)}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||this._abbr)}render(){var c;return n("svg",{"aria-label":o("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"}},r.has(this.state._org)?n("tspan",null,null===(c=r.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{_abbr:["validateAbbr"],_org:["validateOrg"]}}};f.style={default:a};export{f as kol_logo};
4
+ import{r as c,h as n}from"./index-5ab2ea42.js";import{d as t,B as e,b as i,f as r}from"./bund-056aa89a.js";import{a as o}from"./i18n-f8b0e840.js";import{d as s}from"./a11y.tipps-d11c3322.js";import{s as l}from"./prop.validators-f76b82ff.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-38b5f4df.js";import"./reuse-c2156413.js";const a=":host{--a11y-min-size:44px;font-size:inherit}*{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}text{font-size:16px;letter-spacing:normal;word-spacing:normal}";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 f=()=>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"}),g=class{constructor(n){c(this,n),this._abbr=void 0,this._org=void 0,this.state={_org:t["Informationstechnikzentrum Bund"]}}validateAbbr(c){this.validateOrg(c)}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||this._abbr)}render(){var c;return n("svg",{"aria-label":o("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(f,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"}},r.has(this.state._org)?n("tspan",null,null===(c=r.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{_abbr:["validateAbbr"],_org:["validateOrg"]}}};g.style={default:a};export{g 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-5ab2ea42.js";import{v as a}from"./label-162d9b49.js";import{f as n}from"./a11y.tipps-3dbf06fc.js";import{e as s}from"./dev.utils-1ee29ed1.js";import{w as l,s as o,d as r}from"./prop.validators-6cf6ed2d.js";import"./reuse-c2156413.js";import"./index-37b5cbcf.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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%}",h=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._label=void 0,this._on=void 0,this._width="100%",this.state={_activeElement:null,_label:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?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){l(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null})}validateAriaLabel(t){this.validateLabel(t)}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),o(this,"_on",e)}}validateWidth(t){r(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label||this._ariaLabel),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};h.style={default:d};export{h as kol_modal};
4
+ import{r as t,h as i,H as e}from"./index-5ab2ea42.js";import{v as a}from"./label-07fc28f5.js";import{f as n}from"./a11y.tipps-d11c3322.js";import{d as s}from"./dev.utils-38b5f4df.js";import{w as l,s as o,d as r}from"./prop.validators-f76b82ff.js";import"./reuse-c2156413.js";import"./index-37b5cbcf.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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%}",h=class{constructor(e){t(this,e),this.onKeyDown=t=>{t&&"Escape"===t.code&&(this._activeElement=null)},this._activeElement=void 0,this._ariaLabel=void 0,this._label=void 0,this._on=void 0,this._width="100%",this.state={_activeElement:null,_label:"…",_width:"100%"}}componentDidRender(){this.hostElement&&(this.state._activeElement?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){l(this,"_activeElement",(t=>"object"==typeof t||null===t),new Set(["HTMLElement","null"]),t,{defaultValue:null})}validateAriaLabel(t){this.validateLabel(t)}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),o(this,"_on",e)}}validateWidth(t){r(this,"_width",t,{defaultValue:"100%"})}componentWillLoad(){this.validateActiveElement(this._activeElement),this.validateLabel(this._label||this._ariaLabel),this.validateOn(this._on),this.validateWidth(this._width)}static get watchers(){return{_activeElement:["validateActiveElement"],_ariaLabel:["validateAriaLabel"],_label:["validateLabel"],_on:["validateOn"],_width:["validateWidth"]}}};h.style={default:d};export{h 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 a}from"./index-5ab2ea42.js";import{a as e}from"./i18n-53e49b2a.js";import{a as n,w as s}from"./prop.validators-6cf6ed2d.js";import{v as l}from"./hide-label-16112af9.js";import{v as o}from"./label-162d9b49.js";import{g as r,b as h,d}from"./a11y.tipps-3dbf06fc.js";import{w as c}from"./validation-ad3aded3.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-1ee29ed1.js";import"./reuse-c2156413.js";const p=(t,i)=>{n(t,"_collapsible",i)},u=(t,i)=>{n(t,"_hasCompactButton",i)},v=":host{--a11y-min-size:44px;font-size:inherit}*{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=new Set;function m(t){b.has(t)?console.error(`There already is a kol-nav with the label "${t}"`):b.add(t)}function f(t){b.delete(t)}const _=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._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this._variant="primary",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hasCompactButton:!1,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical",_variant:"primary"}}entry(t,a,e,l,n){return i("div",{class:"entry"},i("kol-button-link-text-switch",{_link:Object.assign(Object.assign({},l),{_hideLabel:a})}),e?this.expandButton(t,l,n):"")}expandButton(t,a,e){return i("kol-button-wc",{class:"expand-button",_ariaExpanded:e,_disabled:!t,_icon:"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,l,n,s){const o=!!n._active,r=Array.isArray(n._children)&&n._children.length>0,d=r&&o;return i("li",{class:{active:o,expanded:d,"has-children":r,selected:d},key:l},this.entry(t,a,r,n,o),d?i(this.linkList,{collapsible:t,hideLabel:a,deep:e+1,links:n._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 l=!0===this.state._collapsible,n=!0===this.state._hideLabel,s=this.state._orientation;return i(a,null,i("div",{class:{[s]:!0,[this.state._variant]:!0}},i("nav",{"aria-label":this.state._label,id:"nav"},i(this.linkList,{collapsible:l,hideLabel:n,deep:0,links:this.state._links,orientation:s})),t&&i("div",{class:"mt-2 w-full compact"},i("kol-button",{_ariaControls:"nav",_ariaExpanded:!n,_icon:n?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:e(n?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_hideLabel:!1===this.state._hideLabel})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(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)}validateAriaLabel(t){this.validateLabel(t)}validateCollapsible(t){p(this,t)}validateCompact(t){this.validateHideLabel(t)}validateHasCompactButton(t){u(this,t)}validateHideLabel(t){l(this,t)}validateLabel(t){f(this.state._label),o(this,t),h(t),m(this.state._label)}validateLinks(t){c("KolNav",this,t),d("[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"})}validateVariant(t){s(this,"_variant",(t=>"primary"===t||"secondary"===t),new Set(["KoliBriNavVariant {primary, secondary}"]),t,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel||this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLabel(this._label||this._ariaLabel),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){f(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};_.style={default:v};export{_ as kol_nav};
4
+ import{r as t,h as i,H as a}from"./index-5ab2ea42.js";import{a as e}from"./i18n-f8b0e840.js";import{a as n,w as s}from"./prop.validators-f76b82ff.js";import{v as l}from"./hide-label-2fd3b093.js";import{v as o}from"./label-07fc28f5.js";import{g as r,b as h,d as c}from"./a11y.tipps-d11c3322.js";import{w as d}from"./validation-647a55ea.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-38b5f4df.js";import"./reuse-c2156413.js";const p=(t,i)=>{n(t,"_collapsible",i)},u=(t,i)=>{n(t,"_hasCompactButton",i)},b=":host{--a11y-min-size:44px;font-size:inherit}*{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}",v=new Set;function m(t){v.has(t)?console.error(`There already is a kol-nav with the label "${t}"`):v.add(t)}function f(t){v.delete(t)}const _=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._ariaLabel=void 0,this._collapsible=!0,this._compact=!1,this._hasCompactButton=!1,this._hideLabel=!1,this._label=void 0,this._links=void 0,this._orientation="vertical",this._variant="primary",this.state={_ariaCurrentValue:!1,_collapsible:!0,_hasCompactButton:!1,_hideLabel:!1,_label:"…",_links:[],_orientation:"vertical",_variant:"primary"}}entry(t,a,e,l,n){return i("div",{class:"entry"},i("kol-button-link-text-switch",{_link:Object.assign(Object.assign({},l),{_hideLabel:a})}),e?this.expandButton(t,l,n):"")}expandButton(t,a,e){return i("kol-button-wc",{class:"expand-button",_ariaExpanded:e,_disabled:!t,_icon:"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,l,n,s){const o=!!n._active,r=Array.isArray(n._children)&&n._children.length>0,h=r&&o;return i("li",{class:{active:o,expanded:h,"has-children":r,selected:h},key:l},this.entry(t,a,r,n,o),h?i(this.linkList,{collapsible:t,hideLabel:a,deep:e+1,links:n._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 l=!0===this.state._collapsible,n=!0===this.state._hideLabel,s=this.state._orientation;return i(a,null,i("div",{class:{[s]:!0,[this.state._variant]:!0}},i("nav",{"aria-label":this.state._label,id:"nav"},i(this.linkList,{collapsible:l,hideLabel:n,deep:0,links:this.state._links,orientation:s})),t&&i("div",{class:"mt-2 w-full compact"},i("kol-button",{_ariaControls:"nav",_ariaExpanded:!n,_icon:n?"codicon codicon-chevron-right":"codicon codicon-chevron-left",_hideLabel:!0,_label:e(n?"kol-nav-maximize":"kol-nav-minimize"),_on:{onClick:()=>{this.state=Object.assign(Object.assign({},this.state),{_hideLabel:!1===this.state._hideLabel})}},_tooltipAlign:"right",_variant:"ghost"}))))}validateAriaCurrentValue(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)}validateAriaLabel(t){this.validateLabel(t)}validateCollapsible(t){p(this,t)}validateCompact(t){this.validateHideLabel(t)}validateHasCompactButton(t){u(this,t)}validateHideLabel(t){l(this,t)}validateLabel(t){f(this.state._label),o(this,t),h(t),m(this.state._label)}validateLinks(t){d("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"})}validateVariant(t){s(this,"_variant",(t=>"primary"===t||"secondary"===t),new Set(["KoliBriNavVariant {primary, secondary}"]),t,{defaultValue:"primary"})}componentWillLoad(){this.validateAriaCurrentValue(this._ariaCurrentValue),this.validateCollapsible(this._collapsible),this.validateHideLabel(this._hideLabel||this._compact),this.validateHasCompactButton(this._hasCompactButton),this.validateLabel(this._label||this._ariaLabel),this.validateLinks(this._links),this.validateOrientation(this._orientation),this.validateVariant(this._variant)}disconnectedCallback(){f(this.state._label)}static get watchers(){return{_ariaCurrentValue:["validateAriaCurrentValue"],_ariaLabel:["validateAriaLabel"],_collapsible:["validateCollapsible"],_compact:["validateCompact"],_hasCompactButton:["validateHasCompactButton"],_hideLabel:["validateHideLabel"],_label:["validateLabel"],_links:["validateLinks"],_orientation:["validateOrientation"],_variant:["validateVariant"]}}};_.style={default:b};export{_ as kol_nav};
@@ -1 +1 @@
1
- {"version":3,"names":["validateCollapsible","component","value","watchBoolean","validateHasCompactButton","defaultStyleCss","UNIQUE_ARIA_LABEL","Set","addAriaLabel","ariaLabel","has","console","error","add","removeAriaLabel","delete","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","_variant","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icon","_on","active","selected","key","render","hasCompactButton","devWarning","Host","id","_ariaControls","translate","_tooltipAlign","validateAriaCurrentValue","watchValidator","validateAriaLabel","validateLabel","validateCompact","validateHideLabel","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","validateVariant","componentWillLoad","_compact","_ariaLabel","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\n/* types */\n/**\n * @deprecated\n */\nexport type HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n * @deprecated\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import 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 { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\n/**\n * @deprecated Removed in v2\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\n/**\n * There can be several navigations on one page (e.g. main navigation, subnavigation, breadcrumbs).\n * The navigations must be clearly named for accessibility reasons. To ensure this, all Aria labels are\n * stored in a set and checked for uniqueness.\n */\nconst UNIQUE_ARIA_LABEL: Set<string> = new Set();\nfunction addAriaLabel(ariaLabel: string): void {\n\tif (UNIQUE_ARIA_LABEL.has(ariaLabel)) {\n\t\tconsole.error(`There already is a kol-nav with the label \"${ariaLabel}\"`);\n\t} else {\n\t\tUNIQUE_ARIA_LABEL.add(ariaLabel);\n\t}\n}\nfunction removeAriaLabel(ariaLabel: string): void {\n\tUNIQUE_ARIA_LABEL.delete(ariaLabel);\n}\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\">\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_icon={'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\tselected: expanded, // TODO: remove in v2\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"mt-2 w-full 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_icon={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 * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t * @deprecated Use _hide-label\n\t */\n\t@Prop() public _compact?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t * @deprecated Version 2\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Defines if navigation labels should be hidden.\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 * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die Liste der darzustellenden Button, Links oder Texte an.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt an, welche Variante der Darstellung genutzt werden soll.\n\t *\n\t * @deprecated This property is deprecated and will be removed in the next major version.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @deprecated Version 2\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tremoveAriaLabel(this.state._label); // remove the current\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddAriaLabel(this.state._label); // add the new; not value, because that could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel || this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveAriaLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icon: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icon: '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","UNIQUE_ARIA_LABEL","Set","addAriaLabel","ariaLabel","has","console","error","add","removeAriaLabel","delete","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","_variant","entry","hasChildren","expanded","_link","expandButton","_ariaExpanded","_disabled","_icon","_on","active","selected","key","render","hasCompactButton","devWarning","Host","id","_ariaControls","translate","_tooltipAlign","validateAriaCurrentValue","watchValidator","validateAriaLabel","validateLabel","validateCompact","validateHideLabel","a11yHintLabelingLandmarks","validateLinks","watchNavLinks","devHint","validateOrientation","defaultValue","validateVariant","componentWillLoad","_compact","_ariaLabel","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\n/* types */\n/**\n * @deprecated\n */\nexport type HasCompactButtonPropType = boolean;\n\n/**\n * Creates a button below the navigation, that toggles _collapsible. Only available for _orientation=\"vertical\".\n * @deprecated\n */\nexport type PropHasCompactButton = {\n\thasCompactButton: HasCompactButtonPropType;\n};\n\n/* validator */\nexport const validateHasCompactButton = (component: Generic.Element.Component, value?: HasCompactButtonPropType): void => {\n\twatchBoolean(component, '_hasCompactButton', value);\n};\n","@import 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 { API, States } from './types';\nimport { watchNavLinks } from './validation';\n\n/**\n * @deprecated Removed in v2\n */\nexport type KoliBriNavVariant = 'primary' | 'secondary';\n\n/**\n * There can be several navigations on one page (e.g. main navigation, subnavigation, breadcrumbs).\n * The navigations must be clearly named for accessibility reasons. To ensure this, all Aria labels are\n * stored in a set and checked for uniqueness.\n */\nconst UNIQUE_ARIA_LABEL: Set<string> = new Set();\nfunction addAriaLabel(ariaLabel: string): void {\n\tif (UNIQUE_ARIA_LABEL.has(ariaLabel)) {\n\t\tconsole.error(`There already is a kol-nav with the label \"${ariaLabel}\"`);\n\t} else {\n\t\tUNIQUE_ARIA_LABEL.add(ariaLabel);\n\t}\n}\nfunction removeAriaLabel(ariaLabel: string): void {\n\tUNIQUE_ARIA_LABEL.delete(ariaLabel);\n}\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\">\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_icon={'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\tselected: expanded, // TODO: remove in v2\n\t\t\t\t}}\n\t\t\t\tkey={index}\n\t\t\t>\n\t\t\t\t{this.entry(collapsible, hideLabel, hasChildren, link, active)}\n\t\t\t\t{expanded ? (\n\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={deep + 1} links={link._children || []} orientation={orientation} />\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</li>\n\t\t);\n\t}\n\n\tprivate linkList = (props: {\n\t\tcollapsible: boolean;\n\t\thideLabel: HideLabelPropType;\n\t\tdeep: number;\n\t\tlinks: ButtonOrLinkOrTextWithChildrenProps[];\n\t\torientation: Orientation;\n\t}): JSX.Element => {\n\t\treturn (\n\t\t\t<ul class={`list ${props.deep === 0 && props.orientation === 'horizontal' ? ' horizontal' : ' vertical'}`} data-deep={props.deep}>\n\t\t\t\t{props.links.map((link, index: number) => {\n\t\t\t\t\treturn this.li(props.collapsible, props.hideLabel, props.deep, index, link, props.orientation);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tlet hasCompactButton = this.state._hasCompactButton;\n\t\tif (this.state._orientation === 'horizontal' && this.state._hasCompactButton === true) {\n\t\t\thasCompactButton = false;\n\t\t\tdevWarning(`[KolNav] Wenn eine horizontale Navigation verwendet wird, kann die Option _hasCompactButton nicht aktiviert werden.`);\n\t\t}\n\t\tconst collapsible = this.state._collapsible === true;\n\t\tconst hideLabel = this.state._hideLabel === true;\n\t\tconst orientation = this.state._orientation;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<div\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[orientation]: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<nav aria-label={this.state._label} id=\"nav\">\n\t\t\t\t\t\t<this.linkList collapsible={collapsible} hideLabel={hideLabel} deep={0} links={this.state._links} orientation={orientation}></this.linkList>\n\t\t\t\t\t</nav>\n\t\t\t\t\t{hasCompactButton && (\n\t\t\t\t\t\t<div class=\"mt-2 w-full 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_icon={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 * Gibt den Wert von aria-current an, der bei dem aktuellen Kontext innerhalb der Navigation verwendet werden soll.\n\t */\n\t@Prop() public _ariaCurrentValue: AriaCurrentPropType = false;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t *\n\t * @deprecated use _label instead\n\t */\n\t@Prop() public _ariaLabel?: string;\n\n\t/**\n\t * Defines if navigation nodes can be collapsed or not. Enabled by default.\n\t * TODO: Change type back to `CollapsiblePropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _collapsible?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Navigation kompakt angezeigt wird.\n\t * @deprecated Use _hide-label\n\t */\n\t@Prop() public _compact?: boolean = false;\n\n\t/**\n\t * Gibt an, ob die Navigation eine zusätzliche Schaltfläche zum Aus- und Einklappen der Navigation anzeigen soll.\n\t * @deprecated Version 2\n\t */\n\t@Prop() public _hasCompactButton?: boolean = false;\n\n\t/**\n\t * Defines if navigation labels should be hidden.\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 * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label?: LabelPropType; // TODO: required in v2\n\n\t/**\n\t * Gibt die Liste der darzustellenden Button, Links oder Texte an.\n\t */\n\t@Prop() public _links!: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Gibt an, welche Variante der Darstellung genutzt werden soll.\n\t *\n\t * @deprecated This property is deprecated and will be removed in the next major version.\n\t */\n\t@Prop() public _variant?: KoliBriNavVariant = 'primary';\n\n\t@State() public state: States = {\n\t\t_ariaCurrentValue: false,\n\t\t_collapsible: true,\n\t\t_hasCompactButton: false,\n\t\t_hideLabel: false,\n\t\t_label: '…', // ⚠ required\n\t\t_links: [],\n\t\t_orientation: 'vertical',\n\t\t_variant: 'primary',\n\t};\n\n\t@Watch('_ariaCurrentValue')\n\tpublic validateAriaCurrentValue(value?: AriaCurrentPropType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_ariaCurrentValue',\n\t\t\t(value) => value === true || value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time',\n\t\t\tnew Set(['boolean', 'String {data, location, page, step, time}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_ariaLabel')\n\tpublic validateAriaLabel(value?: string): void {\n\t\tthis.validateLabel(value);\n\t}\n\n\t@Watch('_collapsible')\n\tpublic validateCollapsible(value?: CollapsiblePropType): void {\n\t\tvalidateCollapsible(this, value);\n\t}\n\n\t@Watch('_compact')\n\tpublic validateCompact(value?: boolean): void {\n\t\tthis.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @deprecated Version 2\n\t */\n\t@Watch('_hasCompactButton')\n\tpublic validateHasCompactButton(value?: boolean): void {\n\t\tvalidateHasCompactButton(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: HideLabelPropType) {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelPropType): void {\n\t\tremoveAriaLabel(this.state._label); // remove the current\n\t\tvalidateLabel(this, value);\n\t\ta11yHintLabelingLandmarks(value);\n\t\taddAriaLabel(this.state._label); // add the new; not value, because that could be invalid and not set as new label\n\t}\n\n\t@Watch('_links')\n\tpublic validateLinks(value?: Stringified<ButtonOrLinkOrTextWithChildrenProps[]>): void {\n\t\twatchNavLinks('KolNav', this, value);\n\t\tdevHint(`[KolNav] Die Navigationsstruktur wird noch nicht rekursiv validiert.`);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => value === 'horizontal' || value === 'vertical',\n\t\t\tnew Set(['Orientation {horizontal, vertical}']),\n\t\t\tvalue,\n\t\t\t{\n\t\t\t\tdefaultValue: 'vertical',\n\t\t\t}\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: KoliBriNavVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'primary' || value === 'secondary', new Set(['KoliBriNavVariant {primary, secondary}']), value, {\n\t\t\tdefaultValue: 'primary',\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAriaCurrentValue(this._ariaCurrentValue);\n\t\tthis.validateCollapsible(this._collapsible);\n\t\tthis.validateHideLabel(this._hideLabel || this._compact);\n\t\tthis.validateHasCompactButton(this._hasCompactButton);\n\t\tthis.validateLabel(this._label || this._ariaLabel);\n\t\tthis.validateLinks(this._links);\n\t\tthis.validateOrientation(this._orientation);\n\t\tthis.validateVariant(this._variant);\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tremoveAriaLabel(this.state._label);\n\t}\n}\n\n// console.log(\n// stringifyJson([\n// { _label: '1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed', _target: 'asdasd' },\n// { _label: '2 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// {\n// _active: true,\n// _label: '3 Navigationspunkt',\n// _href: '#abc',\n// _icon: 'codicon codicon-folder-closed',\n// _children: [\n// { _label: '3.1 Navigationspunkt', _href: '#abc', _icon: 'codicon codicon-folder-closed' },\n// { _label: '3.2 Navigationspunkt', _href: '#abc', _icon: '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-5ab2ea42.js";import{a as e}from"./i18n-53e49b2a.js";import{n as o}from"./dev.utils-1ee29ed1.js";import{e as a,w as n,c as h,p as l}from"./prop.validators-6cf6ed2d.js";import{S as r}from"./reuse-c2156413.js";import{v as p}from"./tooltip-align-c2603081.js";import{v as c}from"./button-variant-fbb48c03.js";import{v as u}from"./custom-class-c9653859.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./a11y.tipps-3dbf06fc.js";import"./alignment-18ef41f0.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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}.separator:before{content:'•••'}",_={left:"codicon codicon-debug-reverse-continue"},f={left:"codicon codicon-chevron-left"},b={right:"codicon codicon-chevron-right"},g={right:"codicon codicon-debug-continue"},v=class{constructor(a){t(this,a),this.nonce=o(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._total,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const a=setTimeout((()=>{clearTimeout(a),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const a=setTimeout((()=>{clearTimeout(a),"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,e)=>{let a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const s=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(s)&&s.length>0){const t=s.find((t=>t.value===a));a=void 0===t?s[0].value:t.value,e.set("_pageSize",a)}const i=e.has("_page")?e.get("_page"):this.state._page,o=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,i,e.get("_pageSize"),o)},this.syncPage=(t,e,a,s)=>{if(s>0){const i=this.calcCount(s,a);i>0&&(e>i?(t.set("_page",i),this.onChangePage(r,i)):e<1&&(t.set("_page",1),this.onChangePage(r,1)))}},this.beforePageSizeOptions=(t,a)=>{const s=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&s.push({label:e("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",s),this.beforePageSize(s,a)},this._boundaryCount=1,this._customClass=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._variant="normal",this.state={_boundaryCount:1,_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_total: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("span",{class:"separator",key:`${this.nonce}-el-${t}`})):null));return i(s,null,i("div",null,this.state._hasButtons.first&&i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:_,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:f,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),n,this.state._hasButtons.next&&i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icon:b,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icon:g,_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"),_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){a(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){u(this,t)}validateHasButtons(t){n(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=l(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.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){a(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,s=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,a,s)}}})}validatePageSize(t){a(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){h(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){a(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){a(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_page")?e.get("_page"):this.state._page,s=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,a,s,t)}}})}validateTooltipAlign(t){p(this,t)}validateVariant(t){c(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),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.validateTotal(this._total),this.validateVariant(this._variant),this.validatePage(this._page)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};v.style={default:d};export{v as kol_pagination};
4
+ import{r as t,h as i,H as s}from"./index-5ab2ea42.js";import{a as e}from"./i18n-f8b0e840.js";import{n as o}from"./dev.utils-38b5f4df.js";import{e as a,w as n,c as h,p as l}from"./prop.validators-f76b82ff.js";import{S as r}from"./reuse-c2156413.js";import{v as p}from"./tooltip-align-1d539e33.js";import{v as c,a as u}from"./custom-class-50c7601c.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./a11y.tipps-d11c3322.js";import"./alignment-5d25e1ca.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{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}.separator:before{content:'•••'}",_={left:"codicon codicon-debug-reverse-continue"},f={left:"codicon codicon-chevron-left"},b={right:"codicon codicon-chevron-right"},g={right:"codicon codicon-debug-continue"},v=class{constructor(a){t(this,a),this.nonce=o(),this.calcCount=(t,e=1)=>Math.ceil(t/e),this.getCount=()=>this.calcCount(this.state._total,this.state._pageSize),this.onClick=(t,e)=>{"function"==typeof this.state._on.onClick&&this.state._on.onClick(t,e),this.onChangePage(t,e)},this.onChangePage=(t,e)=>{const a=setTimeout((()=>{clearTimeout(a),"function"==typeof this.state._on.onChangePage&&this.state._on.onChangePage(t,e)}))},this.onChangePageSize=(t,e)=>{if("number"==typeof(e=parseInt(e[0]))&&e>0&&this._pageSize!==e){this._pageSize=e;const a=setTimeout((()=>{clearTimeout(a),"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,e)=>{let a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;const s=e.has("_pageSizeOptions")?e.get("_pageSizeOptions"):this.state._pageSizeOptions;if(Array.isArray(s)&&s.length>0){const t=s.find((t=>t.value===a));a=void 0===t?s[0].value:t.value,e.set("_pageSize",a)}const i=e.has("_page")?e.get("_page"):this.state._page,o=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,i,e.get("_pageSize"),o)},this.syncPage=(t,e,a,s)=>{if(s>0){const i=this.calcCount(s,a);i>0&&(e>i?(t.set("_page",i),this.onChangePage(r,i)):e<1&&(t.set("_page",1),this.onChangePage(r,1)))}},this.beforePageSizeOptions=(t,a)=>{const s=[];if(Array.isArray(t))for(const a of t)"number"==typeof a&&s.push({label:e("kol-page-per-site",{placeholders:{entries:`${a}`}}),value:a});a.set("_pageSizeOptions",s),this.beforePageSize(s,a)},this._boundaryCount=1,this._customClass=void 0,this._hasButtons=!0,this._page=void 0,this._pageSize=1,this._pageSizeOptions=[],this._on=void 0,this._siblingCount=1,this._tooltipAlign="top",this._total=void 0,this._variant="normal",this.state={_boundaryCount:1,_hasButtons:{first:!0,last:!0,next:!0,previous:!0},_on:{onClick:()=>null},_page:0,_pageSize:1,_pageSizeOptions:[],_siblingCount:1,_total: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("span",{class:"separator",key:`${this.nonce}-el-${t}`})):null));return i(s,null,i("div",null,this.state._hasButtons.first&&i("kol-button",{class:"first",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:_,_hideLabel:!0,_label:e("kol-page-first"),_on:this.onGoToFirst,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.previous&&i("kol-button",{class:"previous",exportparts:"icon",_customClass:this.state._customClass,_disabled:this.state._page<=1,_icon:f,_hideLabel:!0,_label:e("kol-page-back"),_on:this.onGoBackward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),n,this.state._hasButtons.next&&i("kol-button",{class:"next",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icon:b,_hideLabel:!0,_label:e("kol-page-next"),_on:this.onGoForward,_variant:this.state._variant,_tooltipAlign:this.state._tooltipAlign}),this.state._hasButtons.last&&i("kol-button",{class:"last",exportparts:"icon",_customClass:this.state._customClass,_disabled:o<=this.state._page,_icon:g,_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"),_list:this.state._pageSizeOptions,_on:{onChange:this.onChangePageSize},_value:[this.state._pageSize]}))}getUnselectedPageButton(t){return i("kol-button",{exportparts:"icon",key:`${this.nonce}-${t}`,_customClass:this.state._customClass,_label:`${t}`,_on:{onClick:e=>{this.onClick(e,t)}},_variant:this.state._variant})}getSelectedPageButton(t){return i("kol-button-wc",{class:"selected",key:`${this.nonce}-selected`,_customClass:this.state._customClass,_disabled:!0,_ariaCurrent:!0,_label:`${t}`,_variant:this.state._variant})}validateBoundaryCount(t){a(this,"_boundaryCount",Math.max(0,null!=t?t:1))}validateCustomClass(t){c(this,t)}validateHasButtons(t){n(this,"_hasButtons",(t=>"boolean"==typeof t||"string"==typeof t||"object"==typeof t&&null!==t),new Set(["Boolean","PaginationHasButton"]),t,{hooks:{beforePatch:(t,e)=>{if("boolean"==typeof t)e.set("_hasButtons",{first:t,last:t,next:t,previous:t});else{if("string"==typeof t)try{t=l(t)}catch(t){e.delete("_hasButtons")}"object"==typeof t&&null!==t&&e.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){a(this,"_page",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize,s=e.has("_total")?e.get("_total"):this.state._total;this.syncPage(e,t,a,s)}}})}validatePageSize(t){a(this,"_pageSize",t,{hooks:{beforePatch:this.beforePageSize}})}validatePageSizeOptions(t){h(this,"_pageSizeOptions",(t=>"number"==typeof t),t,void 0,{hooks:{beforePatch:this.beforePageSizeOptions}})}validateSiblingCount(t){a(this,"_siblingCount",Math.max(0,null!=t?t:1))}validateTotal(t){a(this,"_total",t,{hooks:{beforePatch:(t,e)=>{const a=e.has("_page")?e.get("_page"):this.state._page,s=e.has("_pageSize")?e.get("_pageSize"):this.state._pageSize;this.syncPage(e,a,s,t)}}})}validateTooltipAlign(t){p(this,t)}validateVariant(t){u(this,t)}componentWillLoad(){this.validateBoundaryCount(this._boundaryCount),this.validateCustomClass(this._customClass),this.validateHasButtons(this._hasButtons),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.validateTotal(this._total),this.validateVariant(this._variant),this.validatePage(this._page)}static get watchers(){return{_boundaryCount:["validateBoundaryCount"],_customClass:["validateCustomClass"],_hasButtons:["validateHasButtons"],_on:["validateOn"],_page:["validatePage"],_pageSize:["validatePageSize"],_pageSizeOptions:["validatePageSizeOptions"],_siblingCount:["validateSiblingCount"],_total:["validateTotal"],_tooltipAlign:["validateTooltipAlign"],_variant:["validateVariant"]}}};v.style={default:d};export{v as kol_pagination};