@public-ui/components 2.0.0-rc.4 → 2.0.0-rc.6

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 (659) hide show
  1. package/custom-elements.json +46 -10
  2. package/dist/cjs/InternalUnderlinedAccessKey-2c4875d5.js +4 -0
  3. package/dist/cjs/InternalUnderlinedAccessKey-2c4875d5.js.map +1 -0
  4. package/dist/cjs/{a11y.tipps-112affa0.js → a11y.tipps-91e6a303.js} +1 -1
  5. package/dist/cjs/{a11y.tipps-112affa0.js.map → a11y.tipps-91e6a303.js.map} +1 -1
  6. package/dist/cjs/access-key-5fe7eedb.js +4 -0
  7. package/dist/cjs/access-key-5fe7eedb.js.map +1 -0
  8. package/dist/cjs/alignment-86e87aca.js +4 -0
  9. package/dist/cjs/alignment-86e87aca.js.map +1 -0
  10. package/dist/cjs/alternative-button-link-role-d99da0f8.js +4 -0
  11. package/dist/cjs/{alternative-button-link-role-e9ca058c.js.map → alternative-button-link-role-d99da0f8.js.map} +1 -1
  12. package/dist/cjs/{app-globals-0a472fe3.js → app-globals-ac58ae8f.js} +1 -1
  13. package/dist/cjs/{app-globals-0a472fe3.js.map → app-globals-ac58ae8f.js.map} +1 -1
  14. package/dist/cjs/{associated.controller-8b5044a2.js → associated.controller-2d107864.js} +1 -1
  15. package/dist/cjs/{associated.controller-8b5044a2.js.map → associated.controller-2d107864.js.map} +1 -1
  16. package/dist/cjs/{color-ecaf8b9a.js → color-03e36edf.js} +1 -1
  17. package/dist/cjs/{color-ecaf8b9a.js.map → color-03e36edf.js.map} +1 -1
  18. package/dist/cjs/controller-120e1333.js +4 -0
  19. package/dist/cjs/controller-120e1333.js.map +1 -0
  20. package/dist/cjs/{controller-d61350a4.js → controller-19b94b08.js} +1 -1
  21. package/dist/cjs/{controller-d61350a4.js.map → controller-19b94b08.js.map} +1 -1
  22. package/dist/cjs/{controller-4ad34ff9.js → controller-56885ef0.js} +1 -1
  23. package/dist/cjs/{controller-4ad34ff9.js.map → controller-56885ef0.js.map} +1 -1
  24. package/dist/cjs/controller-c15b473b.js +4 -0
  25. package/dist/cjs/controller-c15b473b.js.map +1 -0
  26. package/dist/cjs/{controller-389b3907.js → controller-ee271465.js} +1 -1
  27. package/dist/cjs/{controller-389b3907.js.map → controller-ee271465.js.map} +1 -1
  28. package/dist/cjs/{controller-icon-bbcb63fc.js → controller-icon-f7b60716.js} +1 -1
  29. package/dist/cjs/{controller-icon-bbcb63fc.js.map → controller-icon-f7b60716.js.map} +1 -1
  30. package/dist/cjs/custom-class-ed101b87.js +4 -0
  31. package/dist/cjs/{custom-class-94e0d765.js.map → custom-class-ed101b87.js.map} +1 -1
  32. package/dist/cjs/{dev.utils-94d7d4e3.js → dev.utils-5f0c3b7d.js} +1 -1
  33. package/dist/cjs/{dev.utils-94d7d4e3.js.map → dev.utils-5f0c3b7d.js.map} +1 -1
  34. package/dist/cjs/{devtools-409307cb.js → devtools-26e86ead.js} +1 -1
  35. package/dist/cjs/{devtools-409307cb.js.map → devtools-26e86ead.js.map} +1 -1
  36. package/dist/cjs/has-closer-0140b049.js +4 -0
  37. package/dist/cjs/{has-closer-fd106b93.js.map → has-closer-0140b049.js.map} +1 -1
  38. package/dist/cjs/hide-label-72171d2b.js +4 -0
  39. package/dist/cjs/{hide-label-a4efdce6.js.map → hide-label-72171d2b.js.map} +1 -1
  40. package/dist/cjs/{i18n-27dbf7c9.js → i18n-42767646.js} +1 -1
  41. package/dist/cjs/{i18n-27dbf7c9.js.map → i18n-42767646.js.map} +1 -1
  42. package/dist/cjs/{icons-84606fbb.js → icons-6be116f2.js} +1 -1
  43. package/dist/cjs/{icons-84606fbb.js.map → icons-6be116f2.js.map} +1 -1
  44. package/dist/cjs/image-source-f283f0ea.js +4 -0
  45. package/dist/cjs/{image-source-2fc83a01.js.map → image-source-f283f0ea.js.map} +1 -1
  46. package/dist/cjs/{index-df489b7b.js → index-d12ab3a8.js} +1 -1
  47. package/dist/cjs/{index-df489b7b.js.map → index-d12ab3a8.js.map} +1 -1
  48. package/dist/cjs/{index-17eb7d8c.js → index-d7eb404f.js} +1 -1
  49. package/dist/cjs/{index-17eb7d8c.js.map → index-d7eb404f.js.map} +1 -1
  50. package/dist/cjs/index.cjs.js +1 -1
  51. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  85. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  87. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-input.cjs.entry.js.map +1 -1
  93. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  98. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  99. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  113. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  122. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-toast-container.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-toast-container.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  129. package/dist/cjs/kolibri.cjs.js +1 -1
  130. package/dist/cjs/{label-4732ebf5.js → label-f1bb026a.js} +1 -1
  131. package/dist/cjs/{label-4732ebf5.js.map → label-f1bb026a.js.map} +1 -1
  132. package/dist/cjs/loader.cjs.js +1 -1
  133. package/dist/cjs/open-b82318b2.js +4 -0
  134. package/dist/cjs/{open-efc83270.js.map → open-b82318b2.js.map} +1 -1
  135. package/dist/cjs/{prop.validators-1059dd86.js → prop.validators-d0c36c3f.js} +1 -1
  136. package/dist/cjs/{prop.validators-1059dd86.js.map → prop.validators-d0c36c3f.js.map} +1 -1
  137. package/dist/cjs/rows-3afa56f3.js +4 -0
  138. package/dist/cjs/{rows-5803364d.js.map → rows-3afa56f3.js.map} +1 -1
  139. package/dist/cjs/show-9104c9b1.js +4 -0
  140. package/dist/cjs/{show-e36c3dc7.js.map → show-9104c9b1.js.map} +1 -1
  141. package/dist/cjs/{suggestions-06cbf160.js → suggestions-f2df9189.js} +1 -1
  142. package/dist/cjs/{suggestions-06cbf160.js.map → suggestions-f2df9189.js.map} +1 -1
  143. package/dist/cjs/{tab-index-36ba85eb.js → tab-index-bcdca21e.js} +1 -1
  144. package/dist/cjs/{tab-index-36ba85eb.js.map → tab-index-bcdca21e.js.map} +1 -1
  145. package/dist/cjs/{toaster-fe00821a.js → toaster-1659a44f.js} +1 -1
  146. package/dist/cjs/toaster-1659a44f.js.map +1 -0
  147. package/dist/cjs/toaster-ae4331b1.js.map +1 -0
  148. package/dist/cjs/{tooltip-align-5423fcd1.js → tooltip-align-0e5ab85b.js} +1 -1
  149. package/dist/cjs/{tooltip-align-5423fcd1.js.map → tooltip-align-0e5ab85b.js.map} +1 -1
  150. package/dist/cjs/validation-5e914a29.js +4 -0
  151. package/dist/cjs/{validation-2bac5e48.js.map → validation-5e914a29.js.map} +1 -1
  152. package/dist/cjs/validation-c699f0e1.js +4 -0
  153. package/dist/cjs/validation-c699f0e1.js.map +1 -0
  154. package/dist/components/component13.js +1 -1
  155. package/dist/components/component13.js.map +1 -1
  156. package/dist/components/component15.js +1 -1
  157. package/dist/components/component15.js.map +1 -1
  158. package/dist/components/component2.js +1 -1
  159. package/dist/components/component2.js.map +1 -1
  160. package/dist/components/component3.js +1 -1
  161. package/dist/components/component3.js.map +1 -1
  162. package/dist/components/component4.js +1 -1
  163. package/dist/components/component4.js.map +1 -1
  164. package/dist/components/component5.js +1 -1
  165. package/dist/components/component5.js.map +1 -1
  166. package/dist/components/component6.js +1 -1
  167. package/dist/components/component6.js.map +1 -1
  168. package/dist/components/component9.js +1 -1
  169. package/dist/components/component9.js.map +1 -1
  170. package/dist/components/controller.js +1 -1
  171. package/dist/components/controller2.js +1 -1
  172. package/dist/components/controller2.js.map +1 -1
  173. package/dist/components/controller3.js +1 -1
  174. package/dist/components/controller3.js.map +1 -1
  175. package/dist/components/floating-ui.dom.esm.js +4 -0
  176. package/dist/components/floating-ui.dom.esm.js.map +1 -0
  177. package/dist/components/index.js.map +1 -1
  178. package/dist/components/kol-breadcrumb.js.map +1 -1
  179. package/dist/components/kol-button-link.js +1 -1
  180. package/dist/components/kol-button-link.js.map +1 -1
  181. package/dist/components/kol-image.js +1 -1
  182. package/dist/components/kol-image.js.map +1 -1
  183. package/dist/components/kol-input-checkbox.js +1 -1
  184. package/dist/components/kol-input-checkbox.js.map +1 -1
  185. package/dist/components/kol-input-color.js +1 -1
  186. package/dist/components/kol-input-color.js.map +1 -1
  187. package/dist/components/kol-input-date.js +1 -1
  188. package/dist/components/kol-input-date.js.map +1 -1
  189. package/dist/components/kol-input-email.js +1 -1
  190. package/dist/components/kol-input-email.js.map +1 -1
  191. package/dist/components/kol-input-file.js +1 -1
  192. package/dist/components/kol-input-file.js.map +1 -1
  193. package/dist/components/kol-input-number.js +1 -1
  194. package/dist/components/kol-input-number.js.map +1 -1
  195. package/dist/components/kol-input-password.js +1 -1
  196. package/dist/components/kol-input-password.js.map +1 -1
  197. package/dist/components/kol-input-radio.js +1 -1
  198. package/dist/components/kol-input-radio.js.map +1 -1
  199. package/dist/components/kol-input-range.js +1 -1
  200. package/dist/components/kol-input-range.js.map +1 -1
  201. package/dist/components/kol-input-text.js +1 -1
  202. package/dist/components/kol-input-text.js.map +1 -1
  203. package/dist/components/kol-link-button.js +1 -1
  204. package/dist/components/kol-link-button.js.map +1 -1
  205. package/dist/components/kol-nav.js +1 -1
  206. package/dist/components/kol-nav.js.map +1 -1
  207. package/dist/components/kol-popover.js +1 -1
  208. package/dist/components/kol-quote.js +1 -1
  209. package/dist/components/kol-quote.js.map +1 -1
  210. package/dist/components/kol-span.js +1 -1
  211. package/dist/components/kol-span.js.map +1 -1
  212. package/dist/components/kol-spin.js +1 -1
  213. package/dist/components/kol-spin.js.map +1 -1
  214. package/dist/components/kol-tabs.js +1 -1
  215. package/dist/components/kol-textarea.js +1 -1
  216. package/dist/components/kol-textarea.js.map +1 -1
  217. package/dist/components/kol-toast-container.js.map +1 -1
  218. package/dist/components/prop.validators.js +1 -1
  219. package/dist/components/prop.validators.js.map +1 -1
  220. package/dist/components/shadow2.js +1 -1
  221. package/dist/components/shadow2.js.map +1 -1
  222. package/dist/components/shadow3.js +1 -1
  223. package/dist/components/shadow3.js.map +1 -1
  224. package/dist/components/toaster.js.map +1 -1
  225. package/dist/components/tooltip-align.js +1 -1
  226. package/dist/esm/InternalUnderlinedAccessKey-f593c389.js +4 -0
  227. package/dist/esm/InternalUnderlinedAccessKey-f593c389.js.map +1 -0
  228. package/dist/esm/{a11y.tipps-7abac3bc.js → a11y.tipps-06cd7c77.js} +1 -1
  229. package/dist/esm/{a11y.tipps-7abac3bc.js.map → a11y.tipps-06cd7c77.js.map} +1 -1
  230. package/dist/esm/access-key-d58c03d6.js +4 -0
  231. package/dist/esm/access-key-d58c03d6.js.map +1 -0
  232. package/dist/esm/alignment-de1c6559.js +4 -0
  233. package/dist/esm/alignment-de1c6559.js.map +1 -0
  234. package/dist/esm/alternative-button-link-role-8db83e93.js +4 -0
  235. package/dist/esm/{alternative-button-link-role-fbda36a8.js.map → alternative-button-link-role-8db83e93.js.map} +1 -1
  236. package/dist/esm/{app-globals-b8e5c280.js → app-globals-77b2422c.js} +1 -1
  237. package/dist/esm/{app-globals-b8e5c280.js.map → app-globals-77b2422c.js.map} +1 -1
  238. package/dist/esm/{associated.controller-4d9bd1af.js → associated.controller-1124284d.js} +1 -1
  239. package/dist/esm/{associated.controller-4d9bd1af.js.map → associated.controller-1124284d.js.map} +1 -1
  240. package/dist/esm/{color-ae09e24f.js → color-84b42735.js} +1 -1
  241. package/dist/esm/{color-ae09e24f.js.map → color-84b42735.js.map} +1 -1
  242. package/dist/esm/{controller-4b2c6472.js → controller-5a0cb886.js} +1 -1
  243. package/dist/esm/{controller-4b2c6472.js.map → controller-5a0cb886.js.map} +1 -1
  244. package/dist/esm/{controller-fcc8cf56.js → controller-6a175634.js} +1 -1
  245. package/dist/esm/{controller-fcc8cf56.js.map → controller-6a175634.js.map} +1 -1
  246. package/dist/esm/{controller-17634396.js → controller-7e5c82c1.js} +1 -1
  247. package/dist/esm/{controller-17634396.js.map → controller-7e5c82c1.js.map} +1 -1
  248. package/dist/esm/controller-98501396.js +4 -0
  249. package/dist/esm/controller-98501396.js.map +1 -0
  250. package/dist/esm/controller-f38fc4fc.js +4 -0
  251. package/dist/esm/controller-f38fc4fc.js.map +1 -0
  252. package/dist/esm/{controller-icon-12bd4deb.js → controller-icon-ffe0af69.js} +1 -1
  253. package/dist/esm/{controller-icon-12bd4deb.js.map → controller-icon-ffe0af69.js.map} +1 -1
  254. package/dist/esm/custom-class-6ba43df0.js +4 -0
  255. package/dist/esm/{custom-class-11d5515f.js.map → custom-class-6ba43df0.js.map} +1 -1
  256. package/dist/esm/{dev.utils-a3434f6d.js → dev.utils-075f4e7b.js} +1 -1
  257. package/dist/esm/{dev.utils-a3434f6d.js.map → dev.utils-075f4e7b.js.map} +1 -1
  258. package/dist/esm/{devtools-5d2cec4c.js → devtools-d3472315.js} +1 -1
  259. package/dist/esm/{devtools-5d2cec4c.js.map → devtools-d3472315.js.map} +1 -1
  260. package/dist/esm/{has-closer-59eae833.js → has-closer-d28fec0f.js} +1 -1
  261. package/dist/esm/{has-closer-59eae833.js.map → has-closer-d28fec0f.js.map} +1 -1
  262. package/dist/esm/{hide-label-9aa03e52.js → hide-label-3381f0cc.js} +1 -1
  263. package/dist/esm/{hide-label-9aa03e52.js.map → hide-label-3381f0cc.js.map} +1 -1
  264. package/dist/esm/{i18n-7d2a9d87.js → i18n-8ec5b30e.js} +1 -1
  265. package/dist/esm/{i18n-7d2a9d87.js.map → i18n-8ec5b30e.js.map} +1 -1
  266. package/dist/esm/{icons-01b98419.js → icons-062ba29d.js} +1 -1
  267. package/dist/esm/{icons-01b98419.js.map → icons-062ba29d.js.map} +1 -1
  268. package/dist/esm/{image-source-28b214d4.js → image-source-ceb96521.js} +1 -1
  269. package/dist/esm/{image-source-28b214d4.js.map → image-source-ceb96521.js.map} +1 -1
  270. package/dist/esm/{index-f22e795e.js → index-a098db81.js} +1 -1
  271. package/dist/esm/{index-f22e795e.js.map → index-a098db81.js.map} +1 -1
  272. package/dist/esm/{index-daa35c44.js → index-b79e4012.js} +1 -1
  273. package/dist/esm/{index-daa35c44.js.map → index-b79e4012.js.map} +1 -1
  274. package/dist/esm/index.js +1 -1
  275. package/dist/esm/kol-abbr.entry.js +1 -1
  276. package/dist/esm/kol-accordion.entry.js +1 -1
  277. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  278. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  279. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  280. package/dist/esm/kol-badge.entry.js +1 -1
  281. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  282. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  283. package/dist/esm/kol-button-link.entry.js +1 -1
  284. package/dist/esm/kol-button-link.entry.js.map +1 -1
  285. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  286. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  287. package/dist/esm/kol-button.entry.js +1 -1
  288. package/dist/esm/kol-button.entry.js.map +1 -1
  289. package/dist/esm/kol-card.entry.js +1 -1
  290. package/dist/esm/kol-details.entry.js +1 -1
  291. package/dist/esm/kol-form.entry.js +1 -1
  292. package/dist/esm/kol-icon.entry.js +1 -1
  293. package/dist/esm/kol-image.entry.js +1 -1
  294. package/dist/esm/kol-image.entry.js.map +1 -1
  295. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  296. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  297. package/dist/esm/kol-input-color.entry.js +1 -1
  298. package/dist/esm/kol-input-color.entry.js.map +1 -1
  299. package/dist/esm/kol-input-date.entry.js +1 -1
  300. package/dist/esm/kol-input-date.entry.js.map +1 -1
  301. package/dist/esm/kol-input-email.entry.js +1 -1
  302. package/dist/esm/kol-input-email.entry.js.map +1 -1
  303. package/dist/esm/kol-input-file.entry.js +1 -1
  304. package/dist/esm/kol-input-file.entry.js.map +1 -1
  305. package/dist/esm/kol-input-number.entry.js +1 -1
  306. package/dist/esm/kol-input-number.entry.js.map +1 -1
  307. package/dist/esm/kol-input-password.entry.js +1 -1
  308. package/dist/esm/kol-input-password.entry.js.map +1 -1
  309. package/dist/esm/kol-input-radio.entry.js +1 -1
  310. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  311. package/dist/esm/kol-input-range.entry.js +1 -1
  312. package/dist/esm/kol-input-range.entry.js.map +1 -1
  313. package/dist/esm/kol-input-text.entry.js +1 -1
  314. package/dist/esm/kol-input-text.entry.js.map +1 -1
  315. package/dist/esm/kol-input.entry.js +1 -1
  316. package/dist/esm/kol-input.entry.js.map +1 -1
  317. package/dist/esm/kol-kolibri.entry.js +1 -1
  318. package/dist/esm/kol-link-button.entry.js +1 -1
  319. package/dist/esm/kol-link-button.entry.js.map +1 -1
  320. package/dist/esm/kol-link-group.entry.js +1 -1
  321. package/dist/esm/kol-link-wc.entry.js +1 -1
  322. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  323. package/dist/esm/kol-link.entry.js +1 -1
  324. package/dist/esm/kol-link.entry.js.map +1 -1
  325. package/dist/esm/kol-logo.entry.js +1 -1
  326. package/dist/esm/kol-modal.entry.js +1 -1
  327. package/dist/esm/kol-nav.entry.js +1 -1
  328. package/dist/esm/kol-nav.entry.js.map +1 -1
  329. package/dist/esm/kol-pagination.entry.js +1 -1
  330. package/dist/esm/kol-popover.entry.js +1 -1
  331. package/dist/esm/kol-popover.entry.js.map +1 -1
  332. package/dist/esm/kol-progress.entry.js +1 -1
  333. package/dist/esm/kol-quote.entry.js +1 -1
  334. package/dist/esm/kol-quote.entry.js.map +1 -1
  335. package/dist/esm/kol-select.entry.js +1 -1
  336. package/dist/esm/kol-select.entry.js.map +1 -1
  337. package/dist/esm/kol-skip-nav.entry.js +1 -1
  338. package/dist/esm/kol-span-wc.entry.js +1 -1
  339. package/dist/esm/kol-span-wc.entry.js.map +1 -1
  340. package/dist/esm/kol-span.entry.js +1 -1
  341. package/dist/esm/kol-span.entry.js.map +1 -1
  342. package/dist/esm/kol-spin.entry.js +1 -1
  343. package/dist/esm/kol-spin.entry.js.map +1 -1
  344. package/dist/esm/kol-symbol.entry.js +1 -1
  345. package/dist/esm/kol-table.entry.js +1 -1
  346. package/dist/esm/kol-tabs.entry.js +1 -1
  347. package/dist/esm/kol-tabs.entry.js.map +1 -1
  348. package/dist/esm/kol-textarea.entry.js +1 -1
  349. package/dist/esm/kol-textarea.entry.js.map +1 -1
  350. package/dist/esm/kol-toast-container.entry.js +1 -1
  351. package/dist/esm/kol-toast-container.entry.js.map +1 -1
  352. package/dist/esm/kol-version.entry.js +1 -1
  353. package/dist/esm/kolibri.js +1 -1
  354. package/dist/esm/{label-ba8d055d.js → label-5c173d60.js} +1 -1
  355. package/dist/esm/{label-ba8d055d.js.map → label-5c173d60.js.map} +1 -1
  356. package/dist/esm/loader.js +1 -1
  357. package/dist/esm/{open-cf7e5e21.js → open-47384c18.js} +1 -1
  358. package/dist/esm/{open-cf7e5e21.js.map → open-47384c18.js.map} +1 -1
  359. package/dist/esm/{prop.validators-0c664b0b.js → prop.validators-3d53ddab.js} +1 -1
  360. package/dist/esm/{prop.validators-0c664b0b.js.map → prop.validators-3d53ddab.js.map} +1 -1
  361. package/dist/esm/{rows-b171bdf6.js → rows-1eebe49e.js} +1 -1
  362. package/dist/esm/{rows-b171bdf6.js.map → rows-1eebe49e.js.map} +1 -1
  363. package/dist/esm/{show-618ee81c.js → show-3e682c46.js} +1 -1
  364. package/dist/esm/{show-618ee81c.js.map → show-3e682c46.js.map} +1 -1
  365. package/dist/esm/{suggestions-f12e4823.js → suggestions-04f64716.js} +1 -1
  366. package/dist/esm/{suggestions-f12e4823.js.map → suggestions-04f64716.js.map} +1 -1
  367. package/dist/esm/{tab-index-59a834d8.js → tab-index-d2d0d9db.js} +1 -1
  368. package/dist/esm/{tab-index-59a834d8.js.map → tab-index-d2d0d9db.js.map} +1 -1
  369. package/dist/esm/toaster-2063df5a.js.map +1 -0
  370. package/dist/esm/{toaster-d537b063.js → toaster-6901baa3.js} +1 -1
  371. package/dist/esm/{toaster-d537b063.js.map → toaster-6901baa3.js.map} +1 -1
  372. package/dist/esm/{tooltip-align-4be6a782.js → tooltip-align-c09e55cd.js} +1 -1
  373. package/dist/esm/{tooltip-align-4be6a782.js.map → tooltip-align-c09e55cd.js.map} +1 -1
  374. package/dist/esm/validation-68e14b6f.js +4 -0
  375. package/dist/esm/{validation-640284d3.js.map → validation-68e14b6f.js.map} +1 -1
  376. package/dist/esm/validation-c57e7be5.js +4 -0
  377. package/dist/esm/validation-c57e7be5.js.map +1 -0
  378. package/dist/kolibri/InternalUnderlinedAccessKey-f593c389.js +4 -0
  379. package/dist/kolibri/InternalUnderlinedAccessKey-f593c389.js.map +1 -0
  380. package/dist/kolibri/{a11y.tipps-7abac3bc.js → a11y.tipps-06cd7c77.js} +1 -1
  381. package/dist/kolibri/access-key-d58c03d6.js +4 -0
  382. package/dist/kolibri/access-key-d58c03d6.js.map +1 -0
  383. package/dist/kolibri/alignment-de1c6559.js +4 -0
  384. package/dist/kolibri/alignment-de1c6559.js.map +1 -0
  385. package/dist/kolibri/alternative-button-link-role-8db83e93.js +4 -0
  386. package/dist/kolibri/app-globals-77b2422c.js +4 -0
  387. package/dist/kolibri/{associated.controller-4d9bd1af.js → associated.controller-1124284d.js} +1 -1
  388. package/dist/kolibri/{color-ae09e24f.js → color-84b42735.js} +1 -1
  389. package/dist/kolibri/{controller-4b2c6472.js → controller-5a0cb886.js} +1 -1
  390. package/dist/kolibri/{controller-fcc8cf56.js → controller-6a175634.js} +1 -1
  391. package/dist/kolibri/{controller-17634396.js → controller-7e5c82c1.js} +1 -1
  392. package/dist/kolibri/controller-98501396.js +4 -0
  393. package/dist/kolibri/controller-98501396.js.map +1 -0
  394. package/dist/kolibri/controller-f38fc4fc.js +4 -0
  395. package/dist/kolibri/controller-f38fc4fc.js.map +1 -0
  396. package/dist/kolibri/controller-icon-ffe0af69.js +4 -0
  397. package/dist/kolibri/custom-class-6ba43df0.js +4 -0
  398. package/dist/kolibri/{dev.utils-a3434f6d.js → dev.utils-075f4e7b.js} +1 -1
  399. package/dist/kolibri/{dev.utils-a3434f6d.js.map → dev.utils-075f4e7b.js.map} +1 -1
  400. package/dist/kolibri/devtools-d3472315.js +4 -0
  401. package/dist/kolibri/has-closer-d28fec0f.js +4 -0
  402. package/dist/kolibri/{has-closer-59eae833.js.map → has-closer-d28fec0f.js.map} +1 -1
  403. package/dist/kolibri/hide-label-3381f0cc.js +4 -0
  404. package/dist/kolibri/{i18n-7d2a9d87.js → i18n-8ec5b30e.js} +1 -1
  405. package/dist/kolibri/icons-062ba29d.js +4 -0
  406. package/dist/kolibri/image-source-ceb96521.js +4 -0
  407. package/dist/kolibri/{index-f22e795e.js → index-a098db81.js} +1 -1
  408. package/dist/kolibri/{index-daa35c44.js → index-b79e4012.js} +1 -1
  409. package/dist/kolibri/index.esm.js +1 -1
  410. package/dist/kolibri/kol-abbr.entry.js +1 -1
  411. package/dist/kolibri/kol-accordion.entry.js +1 -1
  412. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  413. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  414. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  415. package/dist/kolibri/kol-badge.entry.js +1 -1
  416. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  417. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  418. package/dist/kolibri/kol-button-link.entry.js +1 -1
  419. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  420. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  421. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  422. package/dist/kolibri/kol-button.entry.js +1 -1
  423. package/dist/kolibri/kol-button.entry.js.map +1 -1
  424. package/dist/kolibri/kol-card.entry.js +1 -1
  425. package/dist/kolibri/kol-card.entry.js.map +1 -1
  426. package/dist/kolibri/kol-details.entry.js +1 -1
  427. package/dist/kolibri/kol-form.entry.js +1 -1
  428. package/dist/kolibri/kol-icon.entry.js +1 -1
  429. package/dist/kolibri/kol-image.entry.js +1 -1
  430. package/dist/kolibri/kol-image.entry.js.map +1 -1
  431. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  432. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  433. package/dist/kolibri/kol-input-color.entry.js +1 -1
  434. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  435. package/dist/kolibri/kol-input-date.entry.js +1 -1
  436. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  437. package/dist/kolibri/kol-input-email.entry.js +1 -1
  438. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  439. package/dist/kolibri/kol-input-file.entry.js +1 -1
  440. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  441. package/dist/kolibri/kol-input-number.entry.js +1 -1
  442. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  443. package/dist/kolibri/kol-input-password.entry.js +1 -1
  444. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  445. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  446. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  447. package/dist/kolibri/kol-input-range.entry.js +1 -1
  448. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  449. package/dist/kolibri/kol-input-text.entry.js +1 -1
  450. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  451. package/dist/kolibri/kol-input.entry.js +1 -1
  452. package/dist/kolibri/kol-input.entry.js.map +1 -1
  453. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  454. package/dist/kolibri/kol-link-button.entry.js +1 -1
  455. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  456. package/dist/kolibri/kol-link-group.entry.js +1 -1
  457. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  458. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  459. package/dist/kolibri/kol-link.entry.js +1 -1
  460. package/dist/kolibri/kol-link.entry.js.map +1 -1
  461. package/dist/kolibri/kol-logo.entry.js +1 -1
  462. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  463. package/dist/kolibri/kol-modal.entry.js +1 -1
  464. package/dist/kolibri/kol-nav.entry.js +1 -1
  465. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  466. package/dist/kolibri/kol-pagination.entry.js +1 -1
  467. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  468. package/dist/kolibri/kol-popover.entry.js +1 -1
  469. package/dist/kolibri/kol-popover.entry.js.map +1 -1
  470. package/dist/kolibri/kol-progress.entry.js +1 -1
  471. package/dist/kolibri/kol-quote.entry.js +1 -1
  472. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  473. package/dist/kolibri/kol-select.entry.js +1 -1
  474. package/dist/kolibri/kol-select.entry.js.map +1 -1
  475. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  476. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  477. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  478. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  479. package/dist/kolibri/kol-span.entry.js +1 -1
  480. package/dist/kolibri/kol-span.entry.js.map +1 -1
  481. package/dist/kolibri/kol-spin.entry.js +1 -1
  482. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  483. package/dist/kolibri/kol-symbol.entry.js +1 -1
  484. package/dist/kolibri/kol-table.entry.js +1 -1
  485. package/dist/kolibri/kol-tabs.entry.js +1 -1
  486. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  487. package/dist/kolibri/kol-textarea.entry.js +1 -1
  488. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  489. package/dist/kolibri/kol-toast-container.entry.js +1 -1
  490. package/dist/kolibri/kol-toast-container.entry.js.map +1 -1
  491. package/dist/kolibri/kol-version.entry.js +1 -1
  492. package/dist/kolibri/kolibri.esm.js +1 -1
  493. package/dist/kolibri/kolibri.esm.js.map +1 -1
  494. package/dist/kolibri/{label-ba8d055d.js → label-5c173d60.js} +1 -1
  495. package/dist/kolibri/open-47384c18.js +4 -0
  496. package/dist/kolibri/{prop.validators-0c664b0b.js → prop.validators-3d53ddab.js} +1 -1
  497. package/dist/kolibri/rows-1eebe49e.js +4 -0
  498. package/dist/kolibri/show-3e682c46.js +4 -0
  499. package/dist/kolibri/{suggestions-f12e4823.js → suggestions-04f64716.js} +1 -1
  500. package/dist/kolibri/tab-index-d2d0d9db.js +4 -0
  501. package/dist/kolibri/{tab-index-59a834d8.js.map → tab-index-d2d0d9db.js.map} +1 -1
  502. package/dist/kolibri/toaster-2063df5a.js.map +1 -0
  503. package/dist/kolibri/toaster-6901baa3.js +4 -0
  504. package/dist/kolibri/toaster-6901baa3.js.map +1 -0
  505. package/dist/kolibri/tooltip-align-c09e55cd.js +4 -0
  506. package/dist/kolibri/validation-68e14b6f.js +4 -0
  507. package/dist/kolibri/validation-c57e7be5.js +4 -0
  508. package/dist/kolibri/validation-c57e7be5.js.map +1 -0
  509. package/dist/types/components/alert/types.d.ts +4 -2
  510. package/dist/types/components/button/component.d.ts +3 -0
  511. package/dist/types/components/button/shadow.d.ts +2 -0
  512. package/dist/types/components/button/types.d.ts +2 -1
  513. package/dist/types/components/button-link/component.d.ts +2 -0
  514. package/dist/types/components/heading/validation.d.ts +2 -1
  515. package/dist/types/components/input/component.d.ts +2 -0
  516. package/dist/types/components/input/types.d.ts +2 -1
  517. package/dist/types/components/input-checkbox/types.d.ts +2 -1
  518. package/dist/types/components/input-date/controller.d.ts +2 -2
  519. package/dist/types/components/link/component.d.ts +3 -0
  520. package/dist/types/components/link/shadow.d.ts +2 -0
  521. package/dist/types/components/link/types.d.ts +2 -1
  522. package/dist/types/components/link-button/component.d.ts +2 -0
  523. package/dist/types/components/quote/types.d.ts +2 -1
  524. package/dist/types/components/span/InternalUnderlinedAccessKey.d.ts +6 -0
  525. package/dist/types/components/span/component.d.ts +3 -0
  526. package/dist/types/components/span/shadow.d.ts +2 -0
  527. package/dist/types/components/span/types.d.ts +3 -2
  528. package/dist/types/components/textarea/types.d.ts +2 -1
  529. package/dist/types/components/tooltip/component.d.ts +3 -0
  530. package/dist/types/components/tooltip/types.d.ts +4 -3
  531. package/dist/types/components.d.ts +84 -2
  532. package/dist/types/index.d.ts +1 -1
  533. package/dist/types/types/heading-level.d.ts +2 -1
  534. package/dist/types/types/input/control/number.d.ts +2 -2
  535. package/dist/types/types/input/control/text.d.ts +2 -1
  536. package/dist/types/types/input/types.d.ts +2 -1
  537. package/dist/types/types/orientation.d.ts +2 -1
  538. package/dist/types/types/props/access-key.d.ts +6 -0
  539. package/dist/types/types/props/align.d.ts +5 -2
  540. package/dist/types/types/props/aria-current.d.ts +3 -1
  541. package/dist/types/types/props/button-type.d.ts +3 -1
  542. package/dist/types/types/props/button-variant.d.ts +3 -1
  543. package/dist/types/types/props/variant/spin.d.ts +3 -1
  544. package/dist/types/utils/validators/loading.d.ts +3 -1
  545. package/doc/badge.md +6 -6
  546. package/doc/button-link.md +1 -0
  547. package/doc/button.md +2 -1
  548. package/doc/input-color.md +21 -21
  549. package/doc/input-date.md +27 -27
  550. package/doc/input-email.md +28 -28
  551. package/doc/input-file.md +22 -22
  552. package/doc/input-number.md +27 -27
  553. package/doc/input-password.md +26 -26
  554. package/doc/input-text.md +28 -28
  555. package/doc/link-button.md +1 -0
  556. package/doc/link.md +1 -0
  557. package/doc/span.md +1 -0
  558. package/doc/toaster.md +103 -0
  559. package/doc/tooltip.md +6 -5
  560. package/package.json +1 -1
  561. package/vscode-custom-data.json +241 -9
  562. package/dist/cjs/align-c1107dd8.js +0 -4
  563. package/dist/cjs/align-c1107dd8.js.map +0 -1
  564. package/dist/cjs/alignment-e6d70b4a.js +0 -4
  565. package/dist/cjs/alignment-e6d70b4a.js.map +0 -1
  566. package/dist/cjs/alternative-button-link-role-e9ca058c.js +0 -4
  567. package/dist/cjs/controller-146faa53.js +0 -4
  568. package/dist/cjs/controller-146faa53.js.map +0 -1
  569. package/dist/cjs/controller-ba295101.js +0 -4
  570. package/dist/cjs/controller-ba295101.js.map +0 -1
  571. package/dist/cjs/custom-class-94e0d765.js +0 -4
  572. package/dist/cjs/has-closer-fd106b93.js +0 -4
  573. package/dist/cjs/hide-label-a4efdce6.js +0 -4
  574. package/dist/cjs/image-source-2fc83a01.js +0 -4
  575. package/dist/cjs/open-efc83270.js +0 -4
  576. package/dist/cjs/rows-5803364d.js +0 -4
  577. package/dist/cjs/show-e36c3dc7.js +0 -4
  578. package/dist/cjs/toaster-7b0d4087.js.map +0 -1
  579. package/dist/cjs/toaster-fe00821a.js.map +0 -1
  580. package/dist/cjs/validation-2bac5e48.js +0 -4
  581. package/dist/cjs/validation-e4cd9b4e.js +0 -4
  582. package/dist/cjs/validation-e4cd9b4e.js.map +0 -1
  583. package/dist/components/align.js +0 -4
  584. package/dist/components/align.js.map +0 -1
  585. package/dist/esm/align-696b1eda.js +0 -4
  586. package/dist/esm/align-696b1eda.js.map +0 -1
  587. package/dist/esm/alignment-f1ece3f9.js +0 -4
  588. package/dist/esm/alignment-f1ece3f9.js.map +0 -1
  589. package/dist/esm/alternative-button-link-role-fbda36a8.js +0 -4
  590. package/dist/esm/controller-89a60e15.js +0 -4
  591. package/dist/esm/controller-89a60e15.js.map +0 -1
  592. package/dist/esm/controller-f3d24f60.js +0 -4
  593. package/dist/esm/controller-f3d24f60.js.map +0 -1
  594. package/dist/esm/custom-class-11d5515f.js +0 -4
  595. package/dist/esm/toaster-6eb8be94.js.map +0 -1
  596. package/dist/esm/validation-640284d3.js +0 -4
  597. package/dist/esm/validation-987a51fa.js +0 -4
  598. package/dist/esm/validation-987a51fa.js.map +0 -1
  599. package/dist/kolibri/align-696b1eda.js +0 -4
  600. package/dist/kolibri/align-696b1eda.js.map +0 -1
  601. package/dist/kolibri/alignment-f1ece3f9.js +0 -4
  602. package/dist/kolibri/alignment-f1ece3f9.js.map +0 -1
  603. package/dist/kolibri/alternative-button-link-role-fbda36a8.js +0 -4
  604. package/dist/kolibri/app-globals-b8e5c280.js +0 -4
  605. package/dist/kolibri/controller-89a60e15.js +0 -4
  606. package/dist/kolibri/controller-89a60e15.js.map +0 -1
  607. package/dist/kolibri/controller-f3d24f60.js +0 -4
  608. package/dist/kolibri/controller-f3d24f60.js.map +0 -1
  609. package/dist/kolibri/controller-icon-12bd4deb.js +0 -4
  610. package/dist/kolibri/custom-class-11d5515f.js +0 -4
  611. package/dist/kolibri/devtools-5d2cec4c.js +0 -4
  612. package/dist/kolibri/has-closer-59eae833.js +0 -4
  613. package/dist/kolibri/hide-label-9aa03e52.js +0 -4
  614. package/dist/kolibri/icons-01b98419.js +0 -4
  615. package/dist/kolibri/image-source-28b214d4.js +0 -4
  616. package/dist/kolibri/open-cf7e5e21.js +0 -4
  617. package/dist/kolibri/rows-b171bdf6.js +0 -4
  618. package/dist/kolibri/show-618ee81c.js +0 -4
  619. package/dist/kolibri/tab-index-59a834d8.js +0 -4
  620. package/dist/kolibri/toaster-6eb8be94.js.map +0 -1
  621. package/dist/kolibri/toaster-d537b063.js +0 -4
  622. package/dist/kolibri/toaster-d537b063.js.map +0 -1
  623. package/dist/kolibri/tooltip-align-4be6a782.js +0 -4
  624. package/dist/kolibri/validation-640284d3.js +0 -4
  625. package/dist/kolibri/validation-987a51fa.js +0 -4
  626. package/dist/kolibri/validation-987a51fa.js.map +0 -1
  627. package/doc/toast-container.md +0 -45
  628. /package/dist/cjs/{toaster-7b0d4087.js → toaster-ae4331b1.js} +0 -0
  629. /package/dist/esm/{toaster-6eb8be94.js → toaster-2063df5a.js} +0 -0
  630. /package/dist/kolibri/{a11y.tipps-7abac3bc.js.map → a11y.tipps-06cd7c77.js.map} +0 -0
  631. /package/dist/kolibri/{alternative-button-link-role-fbda36a8.js.map → alternative-button-link-role-8db83e93.js.map} +0 -0
  632. /package/dist/kolibri/{app-globals-b8e5c280.js.map → app-globals-77b2422c.js.map} +0 -0
  633. /package/dist/kolibri/{associated.controller-4d9bd1af.js.map → associated.controller-1124284d.js.map} +0 -0
  634. /package/dist/kolibri/{color-ae09e24f.js.map → color-84b42735.js.map} +0 -0
  635. /package/dist/kolibri/{controller-4b2c6472.js.map → controller-5a0cb886.js.map} +0 -0
  636. /package/dist/kolibri/{controller-fcc8cf56.js.map → controller-6a175634.js.map} +0 -0
  637. /package/dist/kolibri/{controller-17634396.js.map → controller-7e5c82c1.js.map} +0 -0
  638. /package/dist/kolibri/{controller-icon-12bd4deb.js.map → controller-icon-ffe0af69.js.map} +0 -0
  639. /package/dist/kolibri/{custom-class-11d5515f.js.map → custom-class-6ba43df0.js.map} +0 -0
  640. /package/dist/kolibri/{devtools-5d2cec4c.js.map → devtools-d3472315.js.map} +0 -0
  641. /package/dist/kolibri/{hide-label-9aa03e52.js.map → hide-label-3381f0cc.js.map} +0 -0
  642. /package/dist/kolibri/{i18n-7d2a9d87.js.map → i18n-8ec5b30e.js.map} +0 -0
  643. /package/dist/kolibri/{icons-01b98419.js.map → icons-062ba29d.js.map} +0 -0
  644. /package/dist/kolibri/{image-source-28b214d4.js.map → image-source-ceb96521.js.map} +0 -0
  645. /package/dist/kolibri/{index-f22e795e.js.map → index-a098db81.js.map} +0 -0
  646. /package/dist/kolibri/{index-daa35c44.js.map → index-b79e4012.js.map} +0 -0
  647. /package/dist/kolibri/{label-ba8d055d.js.map → label-5c173d60.js.map} +0 -0
  648. /package/dist/kolibri/{open-cf7e5e21.js.map → open-47384c18.js.map} +0 -0
  649. /package/dist/kolibri/{prop.validators-0c664b0b.js.map → prop.validators-3d53ddab.js.map} +0 -0
  650. /package/dist/kolibri/{rows-b171bdf6.js.map → rows-1eebe49e.js.map} +0 -0
  651. /package/dist/kolibri/{show-618ee81c.js.map → show-3e682c46.js.map} +0 -0
  652. /package/dist/kolibri/{suggestions-f12e4823.js.map → suggestions-04f64716.js.map} +0 -0
  653. /package/dist/kolibri/{toaster-6eb8be94.js → toaster-2063df5a.js} +0 -0
  654. /package/dist/kolibri/{tooltip-align-4be6a782.js.map → tooltip-align-c09e55cd.js.map} +0 -0
  655. /package/dist/kolibri/{validation-640284d3.js.map → validation-68e14b6f.js.map} +0 -0
  656. /package/dist/types/components/{toast-container → toaster}/InternalToast.d.ts +0 -0
  657. /package/dist/types/components/{toast-container → toaster}/component.d.ts +0 -0
  658. /package/dist/types/components/{toast-container → toaster}/toaster.d.ts +0 -0
  659. /package/dist/types/components/{toast-container → toaster}/types.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"component6.js","mappings":"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","names":[],"sources":["src/components/alert/component.tsx"],"sourcesContent":["import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { AlertType, AlertVariant, API, KoliBriAlertEventCallbacks, States } from './types';\n\nconst Icon = (props: { ariaLabel: string; icon: string; label?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _label={typeof props.label === 'string' && props.label.length > 0 ? '' : props.ariaLabel} _icons={props.icon} />;\n};\n\nconst AlertIcon = (props: { label?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={props.label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={props.label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={props.label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={props.label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={props.label} />;\n\t}\n};\n\n/**\n * @slot - Der Inhalt der Meldung.\n */\n@Component({\n\ttag: 'kol-alert-wc',\n\tshadow: false,\n})\nexport class KolAlertWc implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\thasCloser: !!this.state._hasCloser,\n\t\t\t\t}}\n\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t>\n\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t<AlertIcon label={this.state._label} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._label === 'string' && this.state._label?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._label} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t_icons={{\n\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, 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\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value) => typeof value === 'string' && (value === 'default' || value === 'error' || value === 'info' || value === 'success' || value === 'warning'),\n\t\t\tnew Set('String {success, info, warning, error}'),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(this, '_variant', (value) => value === 'card' || value === 'msg', new Set('AlertVariant {card, msg}'), value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"version":3}
1
+ {"file":"component6.js","mappings":"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","names":[],"sources":["src/components/alert/types.ts","src/components/alert/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { EventCallback } from '../../types/callbacks';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { PropAlert } from '../../types/props/alert';\nimport { PropHasCloser } from '../../types/props/has-closer';\nimport { PropLabel } from '../../types/props/label';\n\nexport const alertTypeOptions = ['default', 'info', 'success', 'warning', 'error'] as const;\nexport type AlertType = (typeof alertTypeOptions)[number];\n\nexport const alertVariantOptions = ['card', 'msg'] as const;\nexport type AlertVariant = (typeof alertVariantOptions)[number];\n\nexport type KoliBriAlertEventCallbacks = {\n\tonClose?: EventCallback<Event>;\n};\n\ntype RequiredAlertProps = NonNullable<unknown>;\ntype OptionalAlertProps = {\n\tlevel: HeadingLevel;\n\ton: KoliBriAlertEventCallbacks;\n\ttype: AlertType;\n\tvariant: AlertVariant;\n} & PropLabel &\n\tPropAlert &\n\tPropHasCloser;\n\ntype RequiredAlertStates = RequiredAlertProps;\ntype OptionalAlertStates = OptionalAlertProps;\n\nexport type Props = Generic.Element.Members<RequiredAlertProps, OptionalAlertProps>;\nexport type States = Generic.Element.Members<RequiredAlertStates, OptionalAlertStates>;\nexport type API = Generic.Element.ComponentApi<RequiredAlertProps, OptionalAlertProps, RequiredAlertStates, OptionalAlertStates>;\n","import { Component, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { HeadingLevel } from '../../types/heading-level';\nimport { HasCloserPropType, validateHasCloser } from '../../types/props/has-closer';\nimport { LabelPropType, validateLabel } from '../../types/props/label';\nimport { Log } from '../../utils/dev.utils';\nimport { setState, watchBoolean, watchValidator } from '../../utils/prop.validators';\nimport { watchHeadingLevel } from '../heading/validation';\nimport { AlertType, alertTypeOptions, AlertVariant, alertVariantOptions, API, KoliBriAlertEventCallbacks, States } from './types';\n\nconst Icon = (props: { ariaLabel: string; icon: string; label?: string }) => {\n\treturn <kol-icon class=\"heading-icon\" _label={typeof props.label === 'string' && props.label.length > 0 ? '' : props.ariaLabel} _icons={props.icon} />;\n};\n\nconst AlertIcon = (props: { label?: string; type?: AlertType }) => {\n\tswitch (props.type) {\n\t\tcase 'error':\n\t\t\treturn <Icon ariaLabel={translate('kol-error')} icon=\"codicon codicon-error\" label={props.label} />;\n\t\tcase 'info':\n\t\t\treturn <Icon ariaLabel={translate('kol-info')} icon=\"codicon codicon-info\" label={props.label} />;\n\t\tcase 'warning':\n\t\t\treturn <Icon ariaLabel={translate('kol-warning')} icon=\"codicon codicon-warning\" label={props.label} />;\n\t\tcase 'success':\n\t\t\treturn <Icon ariaLabel={translate('kol-success')} icon=\"codicon codicon-pass\" label={props.label} />;\n\t\tdefault:\n\t\t\treturn <Icon ariaLabel={translate('kol-message')} icon=\"codicon codicon-comment\" label={props.label} />;\n\t}\n};\n\n/**\n * @slot - Der Inhalt der Meldung.\n */\n@Component({\n\ttag: 'kol-alert-wc',\n\tshadow: false,\n})\nexport class KolAlertWc implements API {\n\tprivate readonly close = () => {\n\t\tif (this._on?.onClose !== undefined) {\n\t\t\tthis._on.onClose(new Event('Close'));\n\t\t}\n\t};\n\n\tprivate readonly on = {\n\t\tonClick: this.close,\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tif (this.state._alert) {\n\t\t\t/**\n\t\t\t * - https://developer.mozilla.org/de/docs/Web/API/Navigator/vibrate\n\t\t\t * - https://googlechrome.github.io/samples/vibration/\n\t\t\t */\n\t\t\ttry {\n\t\t\t\tLog.debug(['Navigator should vibrate ...', navigator.vibrate([100, 75, 100, 75, 100])]);\n\t\t\t} catch (e) {\n\t\t\t\tLog.debug('Navigator does not support vibration.');\n\t\t\t}\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.validateAlert(false);\n\t\t\t}, 10000);\n\t\t}\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t[this.state._type as string]: true,\n\t\t\t\t\t[this.state._variant as string]: true,\n\t\t\t\t\thasCloser: !!this.state._hasCloser,\n\t\t\t\t}}\n\t\t\t\trole={this.state._alert ? 'alert' : undefined}\n\t\t\t>\n\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t<AlertIcon label={this.state._label} type={this.state._type} />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{typeof this.state._label === 'string' && this.state._label?.length > 0 && (\n\t\t\t\t\t\t\t<kol-heading-wc _label={this.state._label} _level={this.state._level}></kol-heading-wc>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{this._variant === 'msg' && (\n\t\t\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.state._hasCloser && (\n\t\t\t\t\t\t<kol-button-wc\n\t\t\t\t\t\t\tclass=\"close\"\n\t\t\t\t\t\t\t_hideLabel\n\t\t\t\t\t\t\t_icons={{\n\t\t\t\t\t\t\t\tleft: {\n\t\t\t\t\t\t\t\t\ticon: 'codicon codicon-close',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t_label={translate('kol-close')}\n\t\t\t\t\t\t\t_on={this.on}\n\t\t\t\t\t\t\t_tooltipAlign=\"left\"\n\t\t\t\t\t\t></kol-button-wc>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{this._variant === 'card' && (\n\t\t\t\t\t<div class=\"content\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines whether the screen-readers should read out the notification.\n\t */\n\t@Prop() public _alert?: boolean = false;\n\n\t/**\n\t * Defines whether the element can be closed.\n\t * @TODO: Change type back to `HasCloserPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hasCloser?: boolean = false;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.).\n\t */\n\t@Prop() public _label?: LabelPropType;\n\n\t/**\n\t * Defines which H-level from 1-6 the heading has. 0 specifies no heading and is shown as bold text.\n\t */\n\t@Prop() public _level?: HeadingLevel = 1;\n\n\t/**\n\t * Gibt die EventCallback-Function für das Schließen des Alerts an.\n\t */\n\t@Prop() public _on?: KoliBriAlertEventCallbacks;\n\n\t/**\n\t * Defines either the type of the component or of the components interactive element.\n\t */\n\t@Prop() public _type?: AlertType = 'default';\n\n\t/**\n\t * Defines which variant should be used for presentation.\n\t */\n\t@Prop() public _variant?: AlertVariant = 'msg';\n\n\t@State() public state: States = {\n\t\t_level: 1,\n\t};\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this, '_alert', value);\n\t}\n\n\t@Watch('_hasCloser')\n\tpublic validateHasCloser(value?: HasCloserPropType): void {\n\t\tvalidateHasCloser(this, 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\tprivate validateOnValue = (value: unknown): boolean =>\n\t\ttypeof value === 'object' && value !== null && typeof (value as KoliBriAlertEventCallbacks).onClose === 'function';\n\n\t@Watch('_on')\n\tpublic validateOn(value?: KoliBriAlertEventCallbacks): void {\n\t\tif (this.validateOnValue(value)) {\n\t\t\tsetState<KoliBriAlertEventCallbacks>(\n\t\t\t\tthis,\n\t\t\t\t'_on',\n\t\t\t\t{\n\t\t\t\t\tonClose: (value as KoliBriAlertEventCallbacks).onClose,\n\t\t\t\t}\n\t\t\t\t// {\n\t\t\t\t// \tafterPatch: (value: unknown) => {\n\t\t\t\t// \t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t\t// \t},\n\t\t\t\t// }\n\t\t\t);\n\t\t\t// } else {\n\t\t\t// \tsetState<KoliBriAlertEventCallbacks>(this, '_on', null, {\n\t\t\t// \t\tafterPatch: (value: unknown) => {\n\t\t\t// \t\t\tthis._hasCloser = this.validateOnValue(value);\n\t\t\t// \t\t},\n\t\t\t// \t});\n\t\t}\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: AlertType): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_type',\n\t\t\t(value?) => typeof value === 'string' && alertTypeOptions.includes(value),\n\t\t\tnew Set(`String {${alertTypeOptions.join(', ')}`),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: AlertVariant): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_variant',\n\t\t\t(value?) => typeof value === 'string' && alertVariantOptions.includes(value),\n\t\t\tnew Set(`AlertVariant {${alertVariantOptions.join(', ')}`),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this._alert);\n\t\tthis.validateHasCloser(this._hasCloser);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateLevel(this._level);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateType(this._type);\n\t\tthis.validateVariant(this._variant);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as translate}from"./i18n.js";import{v as validateAlternativeButtonLinkRole,a as validateTabIndex}from"./tab-index.js";import{w as watchValidator,b as watchString,B as propagateFocus,v as setEventTarget,d as devHint,J as ariaCurrentSubject,y as devWarning,l as showExpertSlot}from"./prop.validators.js";import{v as validateHideLabel,a as validateIcons,d as defineCustomElement$2}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{v as validateTooltipAlign}from"./tooltip-align.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$1}from"./component3.js";const validate=(t,e,a)=>{watchValidator(t,e,(t=>"date"===t||"location"===t||"page"===t||"step"===t||"time"===t||!0===t||!1===t),new Set(["String {data, location, page, step, time}","boolean"]),a)},validateAriaCurrent=(t,e)=>{validate(t,"_ariaCurrent",e)},validateListenAriaCurrent=(t,e)=>{validate(t,"_listenAriaCurrent",e)},validateDownload=(t,e)=>{watchString(t,"_download",e)},validateHref=(t,e,a={})=>{watchString(t,"_href",e,a)},validateLinkCallbacks=(t,e)=>{"object"==typeof e&&"function"==typeof(null==e?void 0:e.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:e}))},validateLinkTarget=(t,e)=>{watchString(t,"_target",e)},KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=t=>{this.ref=t,propagateFocus(this.host,this.ref)},this.onClick=t=>{var e,a;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),setEventTarget(t,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:e}},this.unsubscribeAriaCurrentSubject=ariaCurrentSubject.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){devWarning("The aria-current event is not valid.")}})),this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=translate("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:e}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,null,h("a",Object.assign({ref:this.catchRef},e,{"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),h("kol-span-wc",{_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{name:"expert",slot:"expert"})),t&&h("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),h("kol-tooltip-wc",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAriaCurrent(t){validateAriaCurrent(this,t)}validateDownload(t){validateDownload(this,t)}validateHideLabel(t){validateHideLabel(this,t)}validateHref(t){validateHref(this,t)}validateIcons(t){validateIcons(this,t)}validateLabel(t){validateLabelWithExpertSlot(this,t)}validateListenAriaCurrent(t){validateListenAriaCurrent(this,t)}validateOn(t){validateLinkCallbacks(this,t)}validateRole(t){validateAlternativeButtonLinkRole(this,t)}validateTabIndex(t){validateTabIndex(this,t)}validateTarget(t){validateLinkTarget(this,t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateTooltipAlign(t){validateTooltipAlign(this,t)}componentWillLoad(){this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return this}static get watchers(){return{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_listenAriaCurrent:[8,"_listen-aria-current"],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
4
+ import{proxyCustomElement,HTMLElement,h,Host}from"@stencil/core/internal/client";import{a as translate}from"./i18n.js";import{v as validateAlternativeButtonLinkRole,a as validateTabIndex}from"./tab-index.js";import{w as watchValidator,b as watchString,B as propagateFocus,v as setEventTarget,d as devHint,J as ariaCurrentSubject,y as devWarning,l as showExpertSlot}from"./prop.validators.js";import{v as validateAccessKey,a as validateHideLabel,b as validateIcons,d as defineCustomElement$2}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{v as validateTooltipAlign}from"./tooltip-align.js";import{d as defineCustomElement$3}from"./component.js";import{d as defineCustomElement$1}from"./component3.js";const ariaCurrentPropTypeOptions=["date","location","page","step","time",!0,!1],validate=(t,e,a)=>{watchValidator(t,e,(t=>("string"==typeof t||"boolean"==typeof t)&&ariaCurrentPropTypeOptions.includes(t)),new Set([`String {${ariaCurrentPropTypeOptions.filter((t=>"string"==typeof t)).join(", ")}`,"true","false"]),a)},validateAriaCurrent=(t,e)=>{validate(t,"_ariaCurrent",e)},validateListenAriaCurrent=(t,e)=>{validate(t,"_listenAriaCurrent",e)},validateDownload=(t,e)=>{watchString(t,"_download",e)},validateHref=(t,e,a={})=>{watchString(t,"_href",e,a)},validateLinkCallbacks=(t,e)=>{"object"==typeof e&&"function"==typeof(null==e?void 0:e.onClick)&&(t.state=Object.assign(Object.assign({},t.state),{_on:e}))},validateLinkTarget=(t,e)=>{watchString(t,"_target",e)},KolLinkWc=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.catchRef=t=>{this.ref=t,propagateFocus(this.host,this.ref)},this.onClick=t=>{var e,a;"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onClick)&&(t.preventDefault(),t.stopPropagation(),setEventTarget(t,this.ref),null===(a=this.state._on)||void 0===a||a.onClick(t,this.state._href))},this.getRenderValues=()=>{const t="string"==typeof this.state._target&&"_self"!==this.state._target,e={href:"string"==typeof this.state._href&&this.state._href.length>0?this.state._href:"javascript:void(0);",target:"string"==typeof this.state._target&&this.state._target.length>0?this.state._target:void 0,rel:t?"noopener":void 0,download:"string"==typeof this.state._download?this.state._download:void 0};return!0!==this.state._hideLabel||this.state._label||devHint("[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist."),{isExternal:t,tagAttrs:e}},this.unsubscribeAriaCurrentSubject=ariaCurrentSubject.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){devWarning("The aria-current event is not valid.")}})),this._accessKey=void 0,this._download=void 0,this._hideLabel=!1,this._href=void 0,this._icons=void 0,this._label=void 0,this._listenAriaCurrent=void 0,this._on=void 0,this._role=void 0,this._tabIndex=void 0,this._target=void 0,this._targetDescription=translate("kol-open-link-in-tab"),this._tooltipAlign="right",this.state={_href:"…",_icons:{}}}render(){const{isExternal:t,tagAttrs:e}=this.getRenderValues(),a=showExpertSlot(this.state._label);return h(Host,null,h("a",Object.assign({ref:this.catchRef},e,{accessKey:this.state._accessKey,"aria-current":this.state._ariaCurrent,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,class:{"external-link":t,"hide-label":!0===this.state._hideLabel}},this.state._on,{onClick:this.onClick,onKeyPress:this.onClick,role:this.state._role,tabIndex:this.state._tabIndex}),h("kol-span-wc",{_accessKey:this.state._accessKey,_icons:this.state._icons,_hideLabel:this.state._hideLabel,_label:a?"":this.state._label||this.state._href},h("slot",{name:"expert",slot:"expert"})),t&&h("kol-icon",{class:"external-link-icon",_label:this.state._targetDescription,_icons:"codicon codicon-link-external"})),h("kol-tooltip-wc",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_accessKey:this.state._accessKey,_align:this.state._tooltipAlign,_label:this.state._label||this.state._href}))}validateAccessKey(t){validateAccessKey(this,t)}validateAriaCurrent(t){validateAriaCurrent(this,t)}validateDownload(t){validateDownload(this,t)}validateHideLabel(t){validateHideLabel(this,t)}validateHref(t){validateHref(this,t)}validateIcons(t){validateIcons(this,t)}validateLabel(t){validateLabelWithExpertSlot(this,t)}validateListenAriaCurrent(t){validateListenAriaCurrent(this,t)}validateOn(t){validateLinkCallbacks(this,t)}validateRole(t){validateAlternativeButtonLinkRole(this,t)}validateTabIndex(t){validateTabIndex(this,t)}validateTarget(t){validateLinkTarget(this,t)}validateTargetDescription(t){watchString(this,"_targetDescription",t)}validateTooltipAlign(t){validateTooltipAlign(this,t)}componentWillLoad(){this.validateAccessKey(this._accessKey),this.validateDownload(this._download),this.validateHideLabel(this._hideLabel),this.validateHref(this._href),this.validateIcons(this._icons),this.validateLabel(this._label),this.validateListenAriaCurrent(this._listenAriaCurrent),this.validateOn(this._on),this.validateRole(this._role),this.validateTabIndex(this._tabIndex),this.validateTarget(this._target),this.validateTargetDescription(this._targetDescription),this.validateTooltipAlign(this._tooltipAlign)}disconnectedCallback(){this.unsubscribeAriaCurrentSubject.unsubscribe()}get host(){return this}static get watchers(){return{_accessKey:["validateAccessKey"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}}},[4,"kol-link-wc",{_accessKey:[1,"_access-key"],_download:[1],_hideLabel:[4,"_hide-label"],_href:[1],_icons:[1],_label:[1],_listenAriaCurrent:[8,"_listen-aria-current"],_on:[16],_role:[1],_tabIndex:[2,"_tab-index"],_target:[1],_targetDescription:[1,"_target-description"],_tooltipAlign:[1,"_tooltip-align"],state:[32]},void 0,{_accessKey:["validateAccessKey"],_download:["validateDownload"],_hideLabel:["validateHideLabel"],_href:["validateHref"],_icons:["validateIcons"],_label:["validateLabel"],_listenAriaCurrent:["validateListenAriaCurrent"],_on:["validateOn"],_role:["validateRole"],_tabIndex:["validateTabIndex"],_target:["validateTarget"],_targetDescription:["validateTargetDescription"],_tooltipAlign:["validateTooltipAlign"]}]);function defineCustomElement(){if("undefined"==typeof customElements)return;["kol-link-wc","kol-icon","kol-span-wc","kol-tooltip-wc"].forEach((t=>{switch(t){case"kol-link-wc":customElements.get(t)||customElements.define(t,KolLinkWc);break;case"kol-icon":customElements.get(t)||defineCustomElement$3();break;case"kol-span-wc":customElements.get(t)||defineCustomElement$2();break;case"kol-tooltip-wc":customElements.get(t)||defineCustomElement$1()}}))}export{KolLinkWc as K,defineCustomElement as d};
@@ -1 +1 @@
1
- {"file":"component9.js","mappings":";;;;;;;;;;;;;AAqBA,MAAM,QAAQ,GAAG,CAAC,SAAoC,EAAE,QAAgB,EAAE,KAA2B;EACpG,cAAc,CACb,SAAS,EACT,QAAQ,EACR,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,EACpJ,IAAI,GAAG,CAAC,CAAC,2CAA2C,EAAE,SAAS,CAAC,CAAC,EACjE,KAAK,CACL,CAAC;AACH,CAAC,CAAC;AACK,MAAM,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EACpG,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AACK,MAAM,yBAAyB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EAC1G,QAAQ,CAAC,SAAS,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;;ACnBM,MAAM,gBAAgB,GAAG,CAAC,SAAoC,EAAE,KAAwB;EAC9F,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;;ACDM,MAAM,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB,EAAE,UAA8B,EAAE;EACxH,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;;ACFM,MAAM,qBAAqB,GAAG,CAAC,SAAoC,EAAE,KAA+B;EAC1G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;IACtE,SAAS,CAAC,KAAK,mCACX,SAAS,CAAC,KAAK,KAClB,GAAG,EAAE,KAAK,GACV,CAAC;GACF;AACF,CAAC;;ACRM,MAAM,kBAAkB,GAAG,CAAC,SAAoC,EAAE,KAA0B;EAClG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;;MCWY,SAAS;;;;IAIJ,aAAQ,GAAG,CAAC,GAAuB;MACnD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;MACf,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KACpC,CAAC;IAEe,YAAO,GAAG,CAAC,KAAY;;MACvC,IAAI,QAAO,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,0CAAE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;OACjD;KACD,CAAC;IAEe,oBAAe,GAAG;MAoBlC,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC;MAE5F,MAAM,QAAQ,GAAG;QAChB,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,qBAAqB;QACpH,MAAM,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS;QAChH,GAAG,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS;QACxC,QAAQ,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS;OACrF,CAAC;MAEF,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACzD,OAAO,CAAC,0EAA0E,CAAC,CAAC;OACpF;MACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;KAChC,CAAC;IA4LM,kCAA6B,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK;MAC1E,IAAI;QACH,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,KAAK,KAAK,CAAC,WAAW,EAAE;UACzF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE;YACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;WAC5C;eAAM;YACN,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;WAChC;SACD;OACD;MAAC,OAAO,CAAC,EAAE;QACX,UAAU,CAAC,sCAAsC,CAAC,CAAC;OACnD;KACD,CAAC,CAAC;;sBApJmC,KAAK;;;;;;;;;8BA6CE,SAAS,CAAC,sBAAsB,CAAC;yBAKxB,OAAO;iBAEzB;MACnC,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,EAAE;KACV;;EAzGM,MAAM;IACZ,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IACxD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,QACC,EAAC,IAAI,QACJ,uBACC,GAAG,EAAE,IAAI,CAAC,QAAQ,IACd,QAAQ,oBACE,IAAI,CAAC,KAAK,CAAC,YAAY,gBACzB,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,EAC1G,KAAK,EAAE;QACN,eAAe,EAAE,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,IAAI;OAC5C,IACG,IAAI,CAAC,KAAK,CAAC,GAAG,IAElB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,UAAU,EAAE,IAAI,CAAC,OAAO,EACxB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,KAE9B,mBAAa,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,IAC5I,YAAM,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,GAAQ,CAC5B,EACb,UAAU,IAAI,gBAAU,KAAK,EAAC,oBAAoB,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,kBAA4B,EAAE,MAAM,EAAE,+BAA+B,GAAI,CAC7I,EACJ,qCAKa,MAAM,EAClB,MAAM,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAC/C,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,GAC5B,CACZ,EACN;GACF;EAqEO,mBAAmB,CAAC,KAA2B;IACtD,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACjC;EAGM,gBAAgB,CAAC,KAAwB;IAC/C,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC9B;EAGM,iBAAiB,CAAC,KAAe;IACvC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/B;EAGM,YAAY,CAAC,KAAc;IACjC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC1B;EAGM,aAAa,CAAC,KAAwB;IAC5C,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC3B;EAGM,aAAa,CAAC,KAAmC;IACvD,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACzC;EAGM,yBAAyB,CAAC,KAA2B;IAC3D,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACvC;EAGM,UAAU,CAAC,KAA+B;IAChD,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GACnC;EAGM,YAAY,CAAC,KAAyC;IAC5D,iCAAiC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC/C;EAGM,gBAAgB,CAAC,KAAc;IACrC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAC9B;EAGM,cAAc,CAAC,KAA0B;IAC/C,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAChC;EAGM,yBAAyB,CAAC,KAAc;IAC9C,WAAW,CAAC,IAAI,EAAE,oBAAoB,EAAE,KAAK,CAAC,CAAC;GAC/C;EAGM,oBAAoB,CAAC,KAA4B;IACvD,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;GAClC;EAEM,iBAAiB;IACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;GAC9C;EAgBM,oBAAoB;IAC1B,IAAI,CAAC,6BAA6B,CAAC,WAAW,EAAE,CAAC;GACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/types/props/aria-current.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nexport type AriaCurrentPropType = 'date' | 'location' | 'page' | 'step' | 'time' | boolean;\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value) => value === 'date' || value === 'location' || value === 'page' || value === 'step' || value === 'time' || value === true || value === false,\n\t\tnew Set(['String {data, location, page, step, time}', 'boolean']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { validateHideLabel } from '../../types/props/hide-label';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc _icons={this.state._icons} _hideLabel={this.state._hideLabel} _label={hasExpertSlot ? '' : this.state._label || this.state._href}>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"version":3}
1
+ {"file":"component9.js","mappings":"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","names":[],"sources":["src/types/props/aria-current.ts","src/types/props/download.ts","src/types/props/href.ts","src/types/props/link-on-callbacks.ts","src/types/props/link-target.ts","src/components/link/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchValidator } from '../../utils/prop.validators';\n\n/* types */\n/**\n * Marks the element as the selected in a group of related elements. Can be one of the following: `date` | `location` | `page` | `step` | `time` | `true`.\n * (https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-current)\n */\nconst ariaCurrentPropTypeOptions = ['date', 'location', 'page', 'step', 'time', true, false] as const;\nexport type AriaCurrentPropType = (typeof ariaCurrentPropTypeOptions)[number];\n\nexport type PropAriaCurrent = {\n\t// only used for state\n\tariaCurrent: AriaCurrentPropType;\n};\n\nexport type PropListenAriaCurrent = {\n\tlistenAriaCurrent: AriaCurrentPropType;\n};\n\n/* validator */\nconst validate = (component: Generic.Element.Component, propName: string, value?: AriaCurrentPropType): void => {\n\twatchValidator(\n\t\tcomponent,\n\t\tpropName,\n\t\t(value?) => (typeof value === 'string' || typeof value === 'boolean') && ariaCurrentPropTypeOptions.includes(value),\n\t\tnew Set([`String {${ariaCurrentPropTypeOptions.filter((option) => typeof option === 'string').join(', ')}`, 'true', 'false']),\n\t\tvalue\n\t);\n};\nexport const validateAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_ariaCurrent', value);\n};\nexport const validateListenAriaCurrent = (component: Generic.Element.Component, value?: AriaCurrentPropType): void => {\n\tvalidate(component, '_listenAriaCurrent', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString } from '../../utils/prop.validators';\n\n/* types */\n\nexport type DownloadPropType = string;\n\n/**\n * Tells the browser that the link contains a file. Optionally sets the filename.\n */\nexport type PropDownload = {\n\tdownload?: DownloadPropType;\n};\n\n/* validator */\nexport const validateDownload = (component: Generic.Element.Component, value?: DownloadPropType): void => {\n\twatchString(component, '_download', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchString, WatchStringOptions } from '../../utils/prop.validators';\n\n/* types */\nexport type HrefPropType = string;\n\n/**\n * This property is used for a link from a reference to the target URL.\n */\nexport type PropHref = {\n\thref: HrefPropType;\n};\n\nexport type HrefProp = Generic.Element.Members<PropHref, unknown>;\n\n/* validator */\nexport const validateHref = (component: Generic.Element.Component, value?: HrefPropType, options: WatchStringOptions = {}): void => {\n\twatchString(component, '_href', value, options);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Events } from '../../enums/events';\nimport { EventValueOrEventCallback } from '../callbacks';\n\n/* types */\nexport type LinkOnCallbacksPropType = {\n\t[Events.onClick]?: EventValueOrEventCallback<Event, string>;\n};\n\n/**\n * Defines the callback functions for links.\n */\nexport type PropLinkOnCallbacks = {\n\ton: LinkOnCallbacksPropType;\n};\n\n/* validator */\nexport const validateLinkCallbacks = (component: Generic.Element.Component, value?: LinkOnCallbacksPropType): void => {\n\tif (typeof value === 'object' && typeof value?.onClick === 'function') {\n\t\tcomponent.state = {\n\t\t\t...component.state,\n\t\t\t_on: value,\n\t\t};\n\t}\n};\n","/* types */\n\n// https://www.w3schools.com/tags/att_a_target.asp\nimport { Generic } from '@a11y-ui/core';\nimport { watchString } from '../../utils/prop.validators';\n\nexport type LinkTargetPropType = '_blank' | '_parent' | '_self' | '_top' | string;\n\n/**\n * Defines where to open the link.\n */\nexport type PropLinkTarget = {\n\ttarget: LinkTargetPropType;\n};\n\n/* validator */\nexport const validateLinkTarget = (component: Generic.Element.Component, value?: LinkTargetPropType): void => {\n\twatchString(component, '_target', value);\n};\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { translate } from '../../i18n';\nimport { Stringified } from '../../types/common';\nimport { KoliBriIconsProp } from '../../types/icons';\nimport { AlternativeButtonLinkRolePropType, validateAlternativeButtonLinkRole } from '../../types/props/alternative-button-link-role';\nimport { AriaCurrentPropType, validateAriaCurrent, validateListenAriaCurrent } from '../../types/props/aria-current';\nimport { DownloadPropType, validateDownload } from '../../types/props/download';\nimport { HrefPropType, validateHref } from '../../types/props/href';\nimport { validateIcons } from '../../types/props/icons';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../types/props/label';\nimport { LinkOnCallbacksPropType, validateLinkCallbacks } from '../../types/props/link-on-callbacks';\nimport { LinkTargetPropType, validateLinkTarget } from '../../types/props/link-target';\nimport { TooltipAlignPropType, validateTooltipAlign } from '../../types/props/tooltip-align';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { ariaCurrentSubject, setEventTarget, watchString } from '../../utils/prop.validators';\nimport { propagateFocus, showExpertSlot } from '../../utils/reuse';\nimport { validateTabIndex } from '../../utils/validators/tab-index';\nimport { States as LinkStates } from '../link/types';\nimport { API } from './types';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { AccessKeyPropType, validateAccessKey } from '../../types/props/access-key';\n\n/**\n * @internal\n */\n@Component({\n\ttag: 'kol-link-wc',\n\tshadow: false,\n})\nexport class KolLinkWc implements API {\n\t@Element() private readonly host?: HTMLKolLinkWcElement;\n\tprivate ref?: HTMLAnchorElement;\n\n\tprivate readonly catchRef = (ref?: HTMLAnchorElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onClick = (event: Event) => {\n\t\tif (typeof this.state._on?.onClick === 'function') {\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tsetEventTarget(event, this.ref);\n\t\t\tthis.state._on?.onClick(event, this.state._href);\n\t\t}\n\t};\n\n\tprivate readonly getRenderValues = () => {\n\t\t/**\n\t\t * DX\n\t\t * Das möchte ich ungern für HTML machen, sondern nur für Barrierefreiheitsthemen.\n\t\t */\n\t\t// if (typeof this.state._href === 'string' && this.state._href.length > 0) {\n\t\t// console.error('Setz den URL.');\n\t\t// throw new Error('Setz den URL.');\n\t\t// }\n\n\t\t// switch (this.state._target) {\n\t\t// case '_blank':\n\t\t// case '_self':\n\t\t// break;\n\t\t// default:\n\t\t// console.error('Fehlerhaftes Target.');\n\t\t// throw new Error('Fehlerhaftes Target.');\n\t\t// }\n\n\t\t// ROBUSTHEIT durch Validierung\n\t\tconst isExternal = typeof this.state._target === 'string' && this.state._target !== '_self';\n\n\t\tconst tagAttrs = {\n\t\t\thref: typeof this.state._href === 'string' && this.state._href.length > 0 ? this.state._href : 'javascript:void(0);',\n\t\t\ttarget: typeof this.state._target === 'string' && this.state._target.length > 0 ? this.state._target : undefined,\n\t\t\trel: isExternal ? 'noopener' : undefined,\n\t\t\tdownload: typeof this.state._download === 'string' ? this.state._download : undefined,\n\t\t};\n\n\t\tif (this.state._hideLabel === true && !this.state._label) {\n\t\t\tdevHint(`[KolLink] Es muss ein Aria-Label gesetzt werden _hide-label gesetzt ist.`);\n\t\t}\n\t\treturn { isExternal, tagAttrs };\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { isExternal, tagAttrs } = this.getRenderValues();\n\t\tconst hasExpertSlot = showExpertSlot(this.state._label);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<a\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t{...tagAttrs}\n\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\taria-current={this.state._ariaCurrent}\n\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'external-link': isExternal,\n\t\t\t\t\t\t'hide-label': this.state._hideLabel === true,\n\t\t\t\t\t}}\n\t\t\t\t\t{...this.state._on}\n\t\t\t\t\t// https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/click-events-have-key-events.md\n\t\t\t\t\tonClick={this.onClick}\n\t\t\t\t\tonKeyPress={this.onClick}\n\t\t\t\t\trole={this.state._role}\n\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<kol-span-wc\n\t\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t\t_icons={this.state._icons}\n\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t_label={hasExpertSlot ? '' : this.state._label || this.state._href}\n\t\t\t\t\t>\n\t\t\t\t\t\t<slot name=\"expert\" slot=\"expert\"></slot>\n\t\t\t\t\t</kol-span-wc>\n\t\t\t\t\t{isExternal && <kol-icon class=\"external-link-icon\" _label={this.state._targetDescription as string} _icons={'codicon codicon-link-external'} />}\n\t\t\t\t</a>\n\t\t\t\t<kol-tooltip-wc\n\t\t\t\t\t/**\n\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t */\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t_accessKey={this.state._accessKey}\n\t\t\t\t\t_align={this.state._tooltipAlign}\n\t\t\t\t\t_label={this.state._label || this.state._href}\n\t\t\t\t></kol-tooltip-wc>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Defines the elements access key.\n\t */\n\t@Prop() public _accessKey?: AccessKeyPropType;\n\n\t/**\n\t * Tells the browser that the link contains a file. Optionally sets the filename.\n\t */\n\t@Prop() public _download?: DownloadPropType;\n\n\t/**\n\t * Hides the caption by default and displays the caption text with a tooltip when the\n\t * interactive element is focused or the mouse is over it.\n\t * @TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean = false;\n\n\t/**\n\t * Sets the target URI of the link or citation source.\n\t */\n\t@Prop() public _href!: HrefPropType;\n\n\t/**\n\t * Defines the icon classnames (e.g. `_icons=\"fa-solid fa-user\"`).\n\t */\n\t@Prop() public _icons?: Stringified<KoliBriIconsProp>;\n\n\t/**\n\t * Defines the visible or semantic label of the component (e.g. aria-label, label, headline, caption, summary, etc.). Set to `false` to enable the expert slot.\n\t */\n\t@Prop() public _label?: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Listen on an aria-current event with this value. If the value matches the current value and the href is the same as the current url, the aria-current attribute will be set to current value.\n\t */\n\t@Prop() public _listenAriaCurrent?: AriaCurrentPropType;\n\n\t/**\n\t * Defines the callback functions for links.\n\t */\n\t@Prop() public _on?: LinkOnCallbacksPropType;\n\n\t/**\n\t * Defines the role of the components primary element.\n\t */\n\t@Prop() public _role?: AlternativeButtonLinkRolePropType;\n\n\t/**\n\t * Defines which tab-index the primary element of the component has. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to open the link.\n\t */\n\t@Prop() public _target?: LinkTargetPropType;\n\n\t/**\n\t * Defines the description to use when the link is going to be opened in another application.\n\t */\n\t@Prop() public _targetDescription?: string = translate('kol-open-link-in-tab');\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'right';\n\n\t@State() public state: LinkStates = {\n\t\t_href: '…', // ⚠ required\n\t\t_icons: {}, // ⚠ required\n\t};\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: AccessKeyPropType): void {\n\t\tvalidateAccessKey(this, value);\n\t}\n\n\tprivate validateAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateAriaCurrent(this, value);\n\t}\n\n\t@Watch('_download')\n\tpublic validateDownload(value?: DownloadPropType): void {\n\t\tvalidateDownload(this, value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_href')\n\tpublic validateHref(value?: string): void {\n\t\tvalidateHref(this, value);\n\t}\n\n\t@Watch('_icons')\n\tpublic validateIcons(value?: KoliBriIconsProp): void {\n\t\tvalidateIcons(this, value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this, value);\n\t}\n\n\t@Watch('_listenAriaCurrent')\n\tpublic validateListenAriaCurrent(value?: AriaCurrentPropType): void {\n\t\tvalidateListenAriaCurrent(this, value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: LinkOnCallbacksPropType): void {\n\t\tvalidateLinkCallbacks(this, value);\n\t}\n\n\t@Watch('_role')\n\tpublic validateRole(value?: AlternativeButtonLinkRolePropType): void {\n\t\tvalidateAlternativeButtonLinkRole(this, value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this, value);\n\t}\n\n\t@Watch('_target')\n\tpublic validateTarget(value?: LinkTargetPropType): void {\n\t\tvalidateLinkTarget(this, value);\n\t}\n\n\t@Watch('_targetDescription')\n\tpublic validateTargetDescription(value?: string): void {\n\t\twatchString(this, '_targetDescription', value);\n\t}\n\n\t@Watch('_tooltipAlign')\n\tpublic validateTooltipAlign(value?: TooltipAlignPropType): void {\n\t\tvalidateTooltipAlign(this, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAccessKey(this._accessKey);\n\t\tthis.validateDownload(this._download);\n\t\tthis.validateHideLabel(this._hideLabel);\n\t\tthis.validateHref(this._href);\n\t\tthis.validateIcons(this._icons);\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateListenAriaCurrent(this._listenAriaCurrent);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateRole(this._role);\n\t\tthis.validateTabIndex(this._tabIndex);\n\t\tthis.validateTarget(this._target);\n\t\tthis.validateTargetDescription(this._targetDescription);\n\t\tthis.validateTooltipAlign(this._tooltipAlign);\n\t}\n\n\tprivate unsubscribeAriaCurrentSubject = ariaCurrentSubject.subscribe((event) => {\n\t\ttry {\n\t\t\tif (this.state._listenAriaCurrent && this.state._listenAriaCurrent === event.ariaCurrent) {\n\t\t\t\tif (this.state._href === event.href) {\n\t\t\t\t\tthis.validateAriaCurrent(event.ariaCurrent);\n\t\t\t\t} else {\n\t\t\t\t\tthis.validateAriaCurrent(false);\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tdevWarning(`The aria-current event is not valid.`);\n\t\t}\n\t});\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.unsubscribeAriaCurrentSubject.unsubscribe();\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{e as watchBoolean,b as watchString,C as a11yHintDisabled,a as a11yHint,d as devHint,t as setState,o as objectObjectHandler,f as parseJson}from"./prop.validators.js";import{v as validateHideLabel}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{a as validateTabIndex}from"./tab-index.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},validateHideError=(t,e,o)=>{watchBoolean(t,"_hideError",e,o)},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t)}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;stopPropagation(t),tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g,validateHideError as v};
4
+ import{e as watchBoolean,b as watchString,C as a11yHintDisabled,a as a11yHint,d as devHint,t as setState,o as objectObjectHandler,f as parseJson}from"./prop.validators.js";import{a as validateHideLabel}from"./component2.js";import{a as validateLabelWithExpertSlot}from"./label.js";import{s as stopPropagation,t as tryToDispatchKoliBriEvent}from"./events.js";import{a as validateTabIndex}from"./tab-index.js";import{A as AssociatedInputController}from"./component5.js";const getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,n=[];return!0===e&&n.push(`${t._id}-error`),!0===o&&n.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:n}},validateHideError=(t,e,o)=>{watchBoolean(t,"_hideError",e,o)},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)};class ControlledInputController extends AssociatedInputController{constructor(t,e,o){super(t,e,o),this.component=t}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAlert(this.component._alert),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.valueChangeListeners=[],this.onFacade={onBlur:this.onBlur.bind(this),onChange:this.onChange.bind(this),onClick:this.onClick.bind(this),onFocus:this.onFocus.bind(this)},this.component=t}validateAccessKey(t){watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){watchBoolean(this.component,"_disabled",t),!0===t&&a11yHintDisabled()}validateError(t){watchString(this.component,"_error",t)}validateHideLabel(t){validateHideLabel(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideLabel&&a11yHint("Property hide-label for inputs: Only use for exceptions like search inputs that are clearly identifiable by their context.")}}})}validateHint(t){watchString(this.component,"_hint",t)}validateId(t){watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){validateLabelWithExpertSlot(this.component,t)}validateOn(t){"object"==typeof t&&setState(this.component,"_on",t)}validateSmartButton(t){objectObjectHandler(t,(()=>{try{t=parseJson(t)}catch(t){}setState(this.component,"_smartButton",t)}))}validateTabIndex(t){validateTabIndex(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateAccessKey(this.component._accessKey),this.validateAdjustHeight(this.component._adjustHeight),this.validateError(this.component._error),this.validateDisabled(this.component._disabled),this.validateHideLabel(this.component._hideLabel),this.validateHint(this.component._hint),this.validateId(this.component._id),this.validateLabel(this.component._label),this.validateSmartButton(this.component._smartButton),this.validateOn(this.component._on),this.validateTabIndex(this.component._tabIndex)}onBlur(t){var e;this.component._alert=!0,this.component._touched=!0,stopPropagation(t),tryToDispatchKoliBriEvent("blur",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const o=t.target.value;stopPropagation(t),tryToDispatchKoliBriEvent("change",this.host,o),this.setFormAssociatedValue(o),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o),this.valueChangeListeners.forEach((t=>t(o)))}onClick(t){var e;stopPropagation(t),tryToDispatchKoliBriEvent("click",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onClick)&&this.component._on.onClick(t)}onFocus(t){var e;this.component._alert=!0,stopPropagation(t),tryToDispatchKoliBriEvent("focus",this.host),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var o;this.setFormAssociatedValue(e),"function"==typeof(null===(o=this.component._on)||void 0===o?void 0:o.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{InputController as I,getRenderStates as g,validateHideError as v};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{I as InputController,v as validateHideError}from"./controller.js";import{a as a11yHint,H as watchJsonArrayString,e as watchBoolean,w as watchValidator,N as mapString2Unknown,t as setState,O as STATE_CHANGE_EVENT}from"./prop.validators.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label.js";const validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===hasEnoughReadableChars(t.label,3)&&!1===containsOnlyNumbers(t.label)&&a11yHint(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,o={})=>{watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,o)},validateOptionsWithOptgroup=(t,e,o={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,o)},validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,a)=>{const i=`${o}-${a}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,i):t.set(i,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateHideError(this.component._hideError),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
4
+ import{I as InputController,v as validateHideError}from"./controller.js";import{a as a11yHint,H as watchJsonArrayString,e as watchBoolean,w as watchValidator,N as mapString2Unknown,t as setState,O as STATE_CHANGE_EVENT}from"./prop.validators.js";import{h as hasEnoughReadableChars,c as containsOnlyNumbers}from"./label.js";const orientationOptions=["horizontal","vertical"],validateInputSelectOptions=t=>{if("object"==typeof t&&null!==t){if("string"==typeof t.label&&t.label.length>0)return t.disabled=!0===t.disabled,t.label=`${t.label}`.trim(),!1===hasEnoughReadableChars(t.label,3)&&!1===containsOnlyNumbers(t.label)&&a11yHint(`Ein abweichendes Aria-Label (${t.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`),!Array.isArray(t.options)||void 0===t.options.find((t=>!1===validateInputSelectOptions(t)));if("number"==typeof t.label)return!0}return!1},validateOptions=(t,e,o={})=>{watchJsonArrayString(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),e,void 0,o)},validateOptionsWithOptgroup=(t,e,o={})=>{watchJsonArrayString(t,"_options",validateInputSelectOptions,e,void 0,o)},validateRequired=(t,e)=>{watchBoolean(t,"_required",e)},fillKeyOptionMap=(t,e,o="")=>{e.forEach(((e,i)=>{const a=`${o}-${i}`;"object"==typeof e&&null!==e&&"string"==typeof e.label&&e.label.length>0&&(Array.isArray(e.options)?fillKeyOptionMap(t,e.options,a):t.set(a,e))}))};class InputCheckboxRadioController extends InputController{constructor(t,e,o){super(t,e,o),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateRequired(t){validateRequired(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class InputRadioController extends InputCheckboxRadioController{constructor(t,e,o){super(t,e,o),this.keyOptionMap=new Map,this.getOptionByKey=t=>this.keyOptionMap.get(t),this.isValueInOptions=(t,e)=>void 0!==e.find((e=>e.value===t)),this.beforePatchOptions=(t,e)=>{const o=e.has("_options")?e.get("_options"):this.component.state._options;if(Array.isArray(o)&&o.length>0){this.keyOptionMap.clear(),fillKeyOptionMap(this.keyOptionMap,o);const t=e.has("_value")?e.get("_value"):this.component.state._value;if(!1===this.isValueInOptions(t,o)){const t=o[0].value;e.set("_value",t),this.onStateChange()}}},this.component=t}validateOrientation(t){watchValidator(this.component,"_orientation",(t=>"string"==typeof t&&orientationOptions.includes(t)),new Set([`Orientation {${orientationOptions.join(", ")}`]),t,{defaultValue:"vertical"})}validateOptions(t){validateOptions(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=mapString2Unknown(t),t=Array.isArray(t)?t[0]:t,setState(this.component,"_value",t,{beforePatch:this.beforePatchOptions}),this.setFormAssociatedValue(this.component._value)}componentWillLoad(t){super.componentWillLoad(),this.onStateChange=()=>{if("function"==typeof t){const e=setTimeout((()=>{clearTimeout(e),t(STATE_CHANGE_EVENT)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options),this.validateHideError(this.component._hideError),this.validateValue(this.component._value)}}export{InputCheckboxRadioController as I,InputRadioController as a,fillKeyOptionMap as f,validateOptionsWithOptgroup as v};
@@ -1 +1 @@
1
- {"file":"controller2.js","mappings":"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","names":[],"sources":["src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\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 validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller2.js","mappings":"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","names":[],"sources":["src/types/orientation.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/types/props/required.ts","src/components/input-radio/controller.ts"],"sourcesContent":["export const orientationOptions = ['horizontal', 'vertical'] as const;\nexport type Orientation = (typeof orientationOptions)[number];\n","import { Optgroup, SelectOption } from '../../types/input/types';\nimport { containsOnlyNumbers, hasEnoughReadableChars } from '../../types/props/label';\nimport { a11yHint } from '../a11y.tipps';\n\nexport const validateInputSelectOptions = <T>(option: SelectOption<T>): boolean => {\n\tif (typeof option === 'object' && option !== null) {\n\t\tif (typeof option.label === 'string' && option.label.length > 0) {\n\t\t\toption.disabled = option.disabled === true;\n\t\t\toption.label = `${option.label}`.trim();\n\t\t\tif (hasEnoughReadableChars(option.label, 3) === false && containsOnlyNumbers(option.label) === false) {\n\t\t\t\ta11yHint(\n\t\t\t\t\t`Ein abweichendes Aria-Label (${option.label}) ist nicht barrierefrei. Ein abweichendes Aria-Label sollte aus mindestens drei lesbaren Zeichen bestehen.`\n\t\t\t\t);\n\t\t\t}\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\treturn (\n\t\t\t\t\t(option as Optgroup<T>).options.find((item) => {\n\t\t\t\t\t\treturn validateInputSelectOptions(item) === false;\n\t\t\t\t\t}) === undefined\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else if (typeof option.label === 'number') {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\n\n/* types */\n\nexport type OptionsPropType = Stringified<Option<W3CInputValue>[]>;\nexport type OptionsWithOptgroupPropType = Stringified<(Option<W3CInputValue> | Optgroup<W3CInputValue>)[]>;\n\n/**\n * Options the user can choose from.\n */\nexport type PropOptions = {\n\toptions: OptionsPropType;\n};\n\n/**\n * Options the user can choose from, also supporting Optgroup.\n */\nexport type PropOptionsWithOptgroup = {\n\toptions: OptionsWithOptgroupPropType;\n};\n\n/* validators */\n\nexport const validateOptions = (component: Generic.Element.Component, value: OptionsPropType | undefined, options: WatchOptions = {}): void => {\n\twatchJsonArrayString(\n\t\tcomponent,\n\t\t'_options',\n\t\t(item: Option<W3CInputValue>) => typeof item === 'object' && item !== null && typeof item.label === 'string' && item.label.length > 0,\n\t\tvalue,\n\t\tundefined,\n\t\toptions\n\t);\n};\n\nexport const validateOptionsWithOptgroup = (\n\tcomponent: Generic.Element.Component,\n\tvalue: OptionsWithOptgroupPropType | undefined,\n\toptions: WatchOptions = {}\n) => {\n\twatchJsonArrayString(component, '_options', validateInputSelectOptions, value, undefined, options);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\ntype RequiredPropType = boolean;\n\n/**\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: RequiredPropType;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: RequiredPropType): void => {\n\twatchBoolean(component, '_required', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation, orientationOptions } from '../../types/orientation';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\nimport { validateRequired } from '../../types/props/required';\nimport { StencilUnknown } from '../../types/unknown';\nimport { W3CInputValue } from '../../types/w3c';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { mapString2Unknown, setState, watchValidator } from '../../utils/prop.validators';\nimport { STATE_CHANGE_EVENT } from '../../utils/validator';\nimport { InputController } from '../@deprecated/input/controller';\nimport { Props, Watches } from './types';\n\nexport const fillKeyOptionMap = <T>(keyOptionMap: Map<string, Option<T>>, options: SelectOption<T>[], preKey = ''): void => {\n\toptions.forEach((option, index) => {\n\t\tconst key = `${preKey}-${index}`;\n\t\tif (typeof option === 'object' && option !== null && typeof option.label === 'string' && option.label.length > 0) {\n\t\t\tif (Array.isArray((option as Optgroup<T>).options)) {\n\t\t\t\tfillKeyOptionMap(keyOptionMap, (option as Optgroup<T>).options, key);\n\t\t\t} else {\n\t\t\t\tkeyOptionMap.set(key, option as Option<T>);\n\t\t\t}\n\t\t}\n\t});\n};\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\trequired: boolean;\n} & PropLabelWithExpertSlot;\ntype InputCheckboxRadioProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputCheckboxRadioWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputCheckboxRadioController extends InputController implements InputCheckboxRadioWatches {\n\tprotected readonly component: Generic.Element.Component & InputCheckboxRadioProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputCheckboxRadioProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\tvalidateRequired(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateRequired(this.component._required);\n\t}\n}\n\nexport class InputRadioController extends InputCheckboxRadioController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprivate onStateChange!: () => void;\n\tprivate readonly keyOptionMap = new Map<string, Option<W3CInputValue>>();\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic readonly getOptionByKey = (key: string): Option<W3CInputValue> | undefined => this.keyOptionMap.get(key);\n\n\tprivate readonly isValueInOptions = (value: unknown, options: Option<W3CInputValue>[]): boolean => {\n\t\treturn options.find((option) => option.value === value) !== undefined;\n\t};\n\n\tprotected readonly beforePatchOptions = (_value: unknown, nextState: Map<string, unknown>): void => {\n\t\tconst options = nextState.has('_options') ? nextState.get('_options') : this.component.state._options;\n\t\tif (Array.isArray(options) && options.length > 0) {\n\t\t\tthis.keyOptionMap.clear();\n\t\t\tfillKeyOptionMap(this.keyOptionMap, options as SelectOption<W3CInputValue>[]);\n\t\t\tconst value = nextState.has('_value') ? nextState.get('_value') : this.component.state._value;\n\t\t\tif (this.isValueInOptions(value, options as Option<W3CInputValue>[]) === false) {\n\t\t\t\tconst newValue = (\n\t\t\t\t\toptions[0] as {\n\t\t\t\t\t\tvalue: string;\n\t\t\t\t\t}\n\t\t\t\t).value;\n\t\t\t\tnextState.set('_value', newValue);\n\t\t\t\tthis.onStateChange();\n\t\t\t}\n\t\t}\n\t};\n\n\tpublic validateOrientation(value?: Orientation): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_orientation',\n\t\t\t(value): boolean => typeof value === 'string' && orientationOptions.includes(value),\n\t\t\tnew Set([`Orientation {${orientationOptions.join(', ')}`]),\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 validateOptions(value?: OptionsPropType): void {\n\t\tvalidateOptions(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateValue(value?: Stringified<StencilUnknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? (value[0] as StencilUnknown) : value;\n\t\tsetState(this.component, '_value', value, {\n\t\t\tbeforePatch: this.beforePatchOptions,\n\t\t});\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(onChange?: (event: Event) => void): void {\n\t\tsuper.componentWillLoad();\n\n\t\tthis.onStateChange = () => {\n\t\t\tif (typeof onChange === 'function') {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tclearTimeout(timeout);\n\t\t\t\t\tonChange(STATE_CHANGE_EVENT);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tthis.validateOrientation(this.component._orientation);\n\t\tthis.validateOptions(this.component._options);\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{v as validateHasCounter,I as InputPasswordController}from"./controller4.js";import{v as validateHideError}from"./controller.js";import{v as validateSuggestions}from"./suggestions.js";import{w as watchValidator,a as a11yHint}from"./prop.validators.js";class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&("text"===t||"search"===t||"url"===t||"tel"===t)),new Set(["String {text, search, url, tel}"]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateHideError(this.component._hideError),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
4
+ import{v as validateHasCounter,I as InputPasswordController}from"./controller4.js";import{v as validateHideError}from"./controller.js";import{v as validateSuggestions}from"./suggestions.js";import{w as watchValidator,a as a11yHint}from"./prop.validators.js";const inputTextTypeOptions=["text","search","url","tel"];class InputTextEmailController extends InputPasswordController{constructor(t,o,e){super(t,o,e),this.component=t}validateHideError(t){validateHideError(this.component,t,{hooks:{afterPatch:()=>{this.component.state._hideError&&a11yHint("Property hide-error for inputs: Only use when the error message is shown outside of the input component.")}}})}validateSuggestions(t){validateSuggestions(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateSuggestions(this.component._suggestions)}}class InputTextController extends InputTextEmailController{constructor(t,o,e){super(t,o,e),this.hasError=!1,this.component=t}validateType(t){watchValidator(this.component,"_type",(t=>"string"==typeof t&&inputTextTypeOptions.includes(t)),new Set([`String {${inputTextTypeOptions.join(", ")}`]),t)}validateHasCounter(t){validateHasCounter(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateHideError(this.component._hideError),this.validateType(this.component._type),this.validateHasCounter(this.component._hasCounter)}}export{InputTextEmailController as I,InputTextController as a};
@@ -1 +1 @@
1
- {"file":"controller3.js","mappings":";;;;;;;;MAmBa,wBAAyB,SAAQ,uBAAuB;EAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;IAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,iBAAiB,CAAC,KAAyB;IACjD,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;MACxC,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;YACpC,QAAQ,CAAC,0GAA0G,CAAC,CAAC;WACrH;SACD;OACD;KACD,CAAC,CAAC;GACH;EAEM,mBAAmB,CAAC,KAA2B;IACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC3C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;GACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;EAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;IACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAHvB,aAAQ,GAAG,KAAK,CAAC;IAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,YAAY,CAAC,KAAqB;IACxC,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,KAAK,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,EAC/H,IAAI,GAAG,CAAC,CAAC,iCAAiC,CAAC,CAAC,EAC5C,KAAK,CACL,CAAC;GACF;EAEM,kBAAkB,CAAC,KAAe;IACxC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC1C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;GACpD;;;;;","names":[],"sources":["src/components/input-text/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { InputTextType } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'text' || value === 'search' || value === 'url' || value === 'tel'),\n\t\t\tnew Set(['String {text, search, url, tel}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"version":3}
1
+ {"file":"controller3.js","mappings":";;;;;;;;AAAO,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAU;;MCmBhE,wBAAyB,SAAQ,uBAAuB;EAGpE,YAAmB,SAA0D,EAAE,IAAY,EAAE,IAAkB;IAC9G,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,iBAAiB,CAAC,KAAyB;IACjD,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;MACxC,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE;YACpC,QAAQ,CAAC,0GAA0G,CAAC,CAAC;WACrH;SACD;OACD;KACD,CAAC,CAAC;GACH;EAEM,mBAAmB,CAAC,KAA2B;IACrD,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC3C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;GACtD;CACD;MAEY,mBAAoB,SAAQ,wBAAwB;EAKhE,YAAmB,SAAqD,EAAE,IAAY,EAAE,IAAkB;IACzG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAHvB,aAAQ,GAAG,KAAK,CAAC;IAIvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,YAAY,CAAC,KAAqB;IACxC,cAAc,CACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,CAAC,KAAK,KAAc,OAAO,KAAK,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,EACrF,IAAI,GAAG,CAAC,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EACvD,KAAK,CACL,CAAC;GACF;EAEM,kBAAkB,CAAC,KAAe;IACxC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC1C;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;GACpD;;;;;","names":[],"sources":["src/types/input/control/text.ts","src/components/input-text/controller.ts"],"sourcesContent":["export const inputTextTypeOptions = ['text', 'search', 'url', 'tel'] as const;\nexport type InputTextType = (typeof inputTextTypeOptions)[number];\n","import { Generic } from '@a11y-ui/core';\nimport { InputTextType, inputTextTypeOptions } from '../../types/input/control/text';\nimport { validateHasCounter } from '../../types/props/has-counter';\nimport { HideErrorPropType, validateHideError } from '../../types/props/hide-error';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { PropSuggestions, SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { a11yHint } from '../../utils/a11y.tipps';\nimport { watchValidator } from '../../utils/prop.validators';\nimport { InputPasswordController } from '../input-password/controller';\nimport { Props as InputTextProps, Watches as InputTextWatches } from './types';\n\ntype RequiredProps = NonNullable<unknown>;\ntype OptionalProps = {\n\tid: string;\n} & PropLabelWithExpertSlot &\n\tPropSuggestions;\ntype InputTextEmailProps = Generic.Element.Members<RequiredProps, OptionalProps>;\ntype InputTextEmailWatches = Generic.Element.Watchers<RequiredProps, OptionalProps>;\n\nexport class InputTextEmailController extends InputPasswordController implements InputTextEmailWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextEmailProps;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextEmailProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateHideError(value?: HideErrorPropType): void {\n\t\tvalidateHideError(this.component, value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tif (this.component.state._hideError) {\n\t\t\t\t\t\ta11yHint('Property hide-error for inputs: Only use when the error message is shown outside of the input component.');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateSuggestions(this.component._suggestions);\n\t}\n}\n\nexport class InputTextController extends InputTextEmailController implements InputTextWatches {\n\tprotected readonly component: Generic.Element.Component & InputTextProps;\n\n\tpublic hasError = false;\n\n\tpublic constructor(component: Generic.Element.Component & InputTextProps, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateType(value?: InputTextType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean => typeof value === 'string' && inputTextTypeOptions.includes(value),\n\t\t\tnew Set([`String {${inputTextTypeOptions.join(', ')}`]),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tvalidateHasCounter(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateHideError(this.component._hideError);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateHasCounter(this.component._hasCounter);\n\t}\n}\n"],"version":3}
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * KoliBri - The accessible HTML-Standard
3
+ */
4
+ import{w as watchValidator}from"./prop.validators.js";const horizontalAlignOptions=["left","right"],verticalAlignOptions=["top","bottom"],alignPropTypeOptions=[...horizontalAlignOptions,...verticalAlignOptions],validateAlign=(e,t)=>{validateAlignment(e,"_align",t)},validateAlignment=(e,t,n)=>{watchValidator(e,t,(e=>"string"==typeof e&&alignPropTypeOptions.includes(e)),new Set(alignPropTypeOptions),n,{defaultValue:"top"})},min=Math.min,max=Math.max,round=Math.round,floor=Math.floor,createCoords=e=>({x:e,y:e}),oppositeSideMap={left:"right",right:"left",bottom:"top",top:"bottom"},oppositeAlignmentMap={start:"end",end:"start"};function clamp(e,t,n){return max(e,min(t,n))}function evaluate(e,t){return"function"==typeof e?e(t):e}function getSide(e){return e.split("-")[0]}function getAlignment(e){return e.split("-")[1]}function getOppositeAxis(e){return"x"===e?"y":"x"}function getAxisLength(e){return"y"===e?"height":"width"}function getSideAxis(e){return["top","bottom"].includes(getSide(e))?"y":"x"}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){void 0===n&&(n=!1);const o=getAlignment(e),i=getAlignmentAxis(e),l=getAxisLength(i);let r="x"===i?o===(n?"end":"start")?"right":"left":"start"===o?"bottom":"top";return t.reference[l]>t.floating[l]&&(r=getOppositePlacement(r)),[r,getOppositePlacement(r)]}function getExpandedPlacements(e){const t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.replace(/start|end/g,(e=>oppositeAlignmentMap[e]))}function getSideList(e,t,n){const o=["left","right"],i=["right","left"],l=["top","bottom"],r=["bottom","top"];switch(e){case"top":case"bottom":return n?t?i:o:t?o:i;case"left":case"right":return t?l:r;default:return[]}}function getOppositeAxisPlacements(e,t,n,o){const i=getAlignment(e);let l=getSideList(getSide(e),"start"===n,o);return i&&(l=l.map((e=>e+"-"+i)),t&&(l=l.concat(l.map(getOppositeAlignmentPlacement)))),l}function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(e=>oppositeSideMap[e]))}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return"number"!=typeof e?expandPaddingObject(e):{top:e,right:e,bottom:e,left:e}}function rectToClientRect(e){return{...e,top:e.y,left:e.x,right:e.x+e.width,bottom:e.y+e.height}}function computeCoordsFromPlacement(e,t,n){let{reference:o,floating:i}=e;const l=getSideAxis(t),r=getAlignmentAxis(t),s=getAxisLength(r),c=getSide(t),a="y"===l,f=o.x+o.width/2-i.width/2,g=o.y+o.height/2-i.height/2,u=o[s]/2-i[s]/2;let d;switch(c){case"top":d={x:f,y:o.y-i.height};break;case"bottom":d={x:f,y:o.y+o.height};break;case"right":d={x:o.x+o.width,y:g};break;case"left":d={x:o.x-i.width,y:g};break;default:d={x:o.x,y:o.y}}switch(getAlignment(t)){case"start":d[r]-=u*(n&&a?-1:1);break;case"end":d[r]+=u*(n&&a?-1:1)}return d}const computePosition$1=async(e,t,n)=>{const{placement:o="bottom",strategy:i="absolute",middleware:l=[],platform:r}=n,s=l.filter(Boolean),c=await(null==r.isRTL?void 0:r.isRTL(t));let a=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:f,y:g}=computeCoordsFromPlacement(a,o,c),u=o,d={},m=0;for(let n=0;n<s.length;n++){const{name:l,fn:p}=s[n],{x:h,y:w,data:y,reset:x}=await p({x:f,y:g,initialPlacement:o,placement:u,strategy:i,middlewareData:d,rects:a,platform:r,elements:{reference:e,floating:t}});f=null!=h?h:f,g=null!=w?w:g,d={...d,[l]:{...d[l],...y}},x&&m<=50&&(m++,"object"==typeof x&&(x.placement&&(u=x.placement),x.rects&&(a=!0===x.rects?await r.getElementRects({reference:e,floating:t,strategy:i}):x.rects),({x:f,y:g}=computeCoordsFromPlacement(a,u,c))),n=-1)}return{x:f,y:g,placement:u,strategy:i,middlewareData:d}};async function detectOverflow(e,t){var n;void 0===t&&(t={});const{x:o,y:i,platform:l,rects:r,elements:s,strategy:c}=e,{boundary:a="clippingAncestors",rootBoundary:f="viewport",elementContext:g="floating",altBoundary:u=!1,padding:d=0}=evaluate(t,e),m=getPaddingObject(d),p=s[u?"floating"===g?"reference":"floating":g],h=rectToClientRect(await l.getClippingRect({element:null==(n=await(null==l.isElement?void 0:l.isElement(p)))||n?p:p.contextElement||await(null==l.getDocumentElement?void 0:l.getDocumentElement(s.floating)),boundary:a,rootBoundary:f,strategy:c})),w="floating"===g?{...r.floating,x:o,y:i}:r.reference,y=await(null==l.getOffsetParent?void 0:l.getOffsetParent(s.floating)),x=await(null==l.isElement?void 0:l.isElement(y))&&await(null==l.getScale?void 0:l.getScale(y))||{x:1,y:1},v=rectToClientRect(l.convertOffsetParentRelativeRectToViewportRelativeRect?await l.convertOffsetParentRelativeRectToViewportRelativeRect({rect:w,offsetParent:y,strategy:c}):w);return{top:(h.top-v.top+m.top)/x.y,bottom:(v.bottom-h.bottom+m.bottom)/x.y,left:(h.left-v.left+m.left)/x.x,right:(v.right-h.right+m.right)/x.x}}const arrow=e=>({name:"arrow",options:e,async fn(t){const{x:n,y:o,placement:i,rects:l,platform:r,elements:s,middlewareData:c}=t,{element:a,padding:f=0}=evaluate(e,t)||{};if(null==a)return{};const g=getPaddingObject(f),u={x:n,y:o},d=getAlignmentAxis(i),m=getAxisLength(d),p=await r.getDimensions(a),h="y"===d,w=h?"top":"left",y=h?"bottom":"right",x=h?"clientHeight":"clientWidth",v=l.reference[m]+l.reference[d]-u[d]-l.floating[m],b=u[d]-l.reference[d],A=await(null==r.getOffsetParent?void 0:r.getOffsetParent(a));let R=A?A[x]:0;R&&await(null==r.isElement?void 0:r.isElement(A))||(R=s.floating[x]||l.floating[m]);const E=v/2-b/2,C=R/2-p[m]/2-1,O=min(g[w],C),S=min(g[y],C),T=O,P=R-p[m]-S,L=R/2-p[m]/2+E,N=clamp(T,L,P),D=!c.arrow&&null!=getAlignment(i)&&L!=N&&l.reference[m]/2-(L<T?O:S)-p[m]/2<0,W=D?L<T?T-L:P-L:0;return{[d]:u[d]-W,data:{[d]:N,centerOffset:L-N+W},reset:D}}}),flip=function(e){return void 0===e&&(e={}),{name:"flip",options:e,async fn(t){var n;const{placement:o,middlewareData:i,rects:l,initialPlacement:r,platform:s,elements:c}=t,{mainAxis:a=!0,crossAxis:f=!0,fallbackPlacements:g,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:d="none",flipAlignment:m=!0,...p}=evaluate(e,t),h=getSide(o),w=getSide(r)===r,y=await(null==s.isRTL?void 0:s.isRTL(c.floating)),x=g||(w||!m?[getOppositePlacement(r)]:getExpandedPlacements(r));g||"none"===d||x.push(...getOppositeAxisPlacements(r,m,d,y));const v=[r,...x],b=await detectOverflow(t,p),A=[];let R=(null==(n=i.flip)?void 0:n.overflows)||[];if(a&&A.push(b[h]),f){const e=getAlignmentSides(o,l,y);A.push(b[e[0]],b[e[1]])}if(R=[...R,{placement:o,overflows:A}],!A.every((e=>e<=0))){var E,C;const e=((null==(E=i.flip)?void 0:E.index)||0)+1,t=v[e];if(t)return{data:{index:e,overflows:R},reset:{placement:t}};let n=null==(C=R.filter((e=>e.overflows[0]<=0)).sort(((e,t)=>e.overflows[1]-t.overflows[1]))[0])?void 0:C.placement;if(!n)switch(u){case"bestFit":{var O;const e=null==(O=R.map((e=>[e.placement,e.overflows.filter((e=>e>0)).reduce(((e,t)=>e+t),0)])).sort(((e,t)=>e[1]-t[1]))[0])?void 0:O[0];e&&(n=e);break}case"initialPlacement":n=r}if(o!==n)return{reset:{placement:n}}}return{}}}};async function convertValueToCoords(e,t){const{placement:n,platform:o,elements:i}=e,l=await(null==o.isRTL?void 0:o.isRTL(i.floating)),r=getSide(n),s=getAlignment(n),c="y"===getSideAxis(n),a=["left","top"].includes(r)?-1:1,f=l&&c?-1:1,g=evaluate(t,e);let{mainAxis:u,crossAxis:d,alignmentAxis:m}="number"==typeof g?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...g};return s&&"number"==typeof m&&(d="end"===s?-1*m:m),c?{x:d*f,y:u*a}:{x:u*a,y:d*f}}const offset=function(e){return void 0===e&&(e=0),{name:"offset",options:e,async fn(t){const{x:n,y:o}=t,i=await convertValueToCoords(t,e);return{x:n+i.x,y:o+i.y,data:i}}}},shift=function(e){return void 0===e&&(e={}),{name:"shift",options:e,async fn(t){const{x:n,y:o,placement:i}=t,{mainAxis:l=!0,crossAxis:r=!1,limiter:s={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...c}=evaluate(e,t),a={x:n,y:o},f=await detectOverflow(t,c),g=getSideAxis(getSide(i)),u=getOppositeAxis(g);let d=a[u],m=a[g];if(l){const e="y"===u?"bottom":"right";d=clamp(d+f["y"===u?"top":"left"],d,d-f[e])}if(r){const e="y"===g?"bottom":"right";m=clamp(m+f["y"===g?"top":"left"],m,m-f[e])}const p=s.fn({...t,[u]:d,[g]:m});return{...p,data:{x:p.x-n,y:p.y-o}}}}};function getNodeName(e){return isNode(e)?(e.nodeName||"").toLowerCase():"#document"}function getWindow(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function getDocumentElement(e){var t;return null==(t=(isNode(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function isNode(e){return e instanceof Node||e instanceof getWindow(e).Node}function isElement(e){return e instanceof Element||e instanceof getWindow(e).Element}function isHTMLElement(e){return e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot)}function isOverflowElement(e){const{overflow:t,overflowX:n,overflowY:o,display:i}=getComputedStyle(e);return/auto|scroll|overlay|hidden|clip/.test(t+o+n)&&!["inline","contents"].includes(i)}function isTableElement(e){return["table","td","th"].includes(getNodeName(e))}function isContainingBlock(e){const t=isWebKit(),n=getComputedStyle(e);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((e=>(n.willChange||"").includes(e)))||["paint","layout","strict","content"].some((e=>(n.contain||"").includes(e)))}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;t=getParentNode(t)}return null}function isWebKit(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function isLastTraversableNode(e){return["html","body","#document"].includes(getNodeName(e))}function getComputedStyle(e){return getWindow(e).getComputedStyle(e)}function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function getParentNode(e){if("html"===getNodeName(e))return e;const t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){const t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){var o;void 0===t&&(t=[]),void 0===n&&(n=!0);const i=getNearestOverflowAncestor(e),l=i===(null==(o=e.ownerDocument)?void 0:o.body),r=getWindow(i);return l?t.concat(r,r.visualViewport||[],isOverflowElement(i)?i:[],r.frameElement&&n?getOverflowAncestors(r.frameElement):[]):t.concat(i,getOverflowAncestors(i))}function getCssDimensions(e){const t=getComputedStyle(e);let n=parseFloat(t.width)||0,o=parseFloat(t.height)||0;const i=isHTMLElement(e),l=i?e.offsetWidth:n,r=i?e.offsetHeight:o,s=round(n)!==l||round(o)!==r;return s&&(n=l,o=r),{width:n,height:o,$:s}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){const t=unwrapElement(e);if(!isHTMLElement(t))return createCoords(1);const n=t.getBoundingClientRect(),{width:o,height:i,$:l}=getCssDimensions(t);let r=(l?round(n.width):n.width)/o,s=(l?round(n.height):n.height)/i;return r&&Number.isFinite(r)||(r=1),s&&Number.isFinite(s)||(s=1),{x:r,y:s}}const noOffsets=createCoords(0);function getVisualOffsets(e){const t=getWindow(e);return isWebKit()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:noOffsets}function shouldAddVisualOffsets(e,t,n){return void 0===t&&(t=!1),!(!n||t&&n!==getWindow(e))&&t}function getBoundingClientRect(e,t,n,o){void 0===t&&(t=!1),void 0===n&&(n=!1);const i=e.getBoundingClientRect(),l=unwrapElement(e);let r=createCoords(1);t&&(o?isElement(o)&&(r=getScale(o)):r=getScale(e));const s=shouldAddVisualOffsets(l,n,o)?getVisualOffsets(l):createCoords(0);let c=(i.left+s.x)/r.x,a=(i.top+s.y)/r.y,f=i.width/r.x,g=i.height/r.y;if(l){const e=getWindow(l),t=o&&isElement(o)?getWindow(o):o;let n=e.frameElement;for(;n&&o&&t!==e;){const e=getScale(n),t=n.getBoundingClientRect(),o=getComputedStyle(n),i=t.left+(n.clientLeft+parseFloat(o.paddingLeft))*e.x,l=t.top+(n.clientTop+parseFloat(o.paddingTop))*e.y;c*=e.x,a*=e.y,f*=e.x,g*=e.y,c+=i,a+=l,n=getWindow(n).frameElement}}return rectToClientRect({width:f,height:g,x:c,y:a})}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{rect:t,offsetParent:n,strategy:o}=e;const i=isHTMLElement(n),l=getDocumentElement(n);if(n===l)return t;let r={scrollLeft:0,scrollTop:0},s=createCoords(1);const c=createCoords(0);if((i||!i&&"fixed"!==o)&&(("body"!==getNodeName(n)||isOverflowElement(l))&&(r=getNodeScroll(n)),isHTMLElement(n))){const e=getBoundingClientRect(n);s=getScale(n),c.x=e.x+n.clientLeft,c.y=e.y+n.clientTop}return{width:t.width*s.x,height:t.height*s.y,x:t.x*s.x-r.scrollLeft*s.x+c.x,y:t.y*s.y-r.scrollTop*s.y+c.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getNodeScroll(e).scrollLeft}function getDocumentRect(e){const t=getDocumentElement(e),n=getNodeScroll(e),o=e.ownerDocument.body,i=max(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),l=max(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight);let r=-n.scrollLeft+getWindowScrollBarX(e);const s=-n.scrollTop;return"rtl"===getComputedStyle(o).direction&&(r+=max(t.clientWidth,o.clientWidth)-i),{width:i,height:l,x:r,y:s}}function getViewportRect(e,t){const n=getWindow(e),o=getDocumentElement(e),i=n.visualViewport;let l=o.clientWidth,r=o.clientHeight,s=0,c=0;if(i){l=i.width,r=i.height;const e=isWebKit();(!e||e&&"fixed"===t)&&(s=i.offsetLeft,c=i.offsetTop)}return{width:l,height:r,x:s,y:c}}function getInnerBoundingClientRect(e,t){const n=getBoundingClientRect(e,!0,"fixed"===t),o=n.top+e.clientTop,i=n.left+e.clientLeft,l=isHTMLElement(e)?getScale(e):createCoords(1);return{width:e.clientWidth*l.x,height:e.clientHeight*l.y,x:i*l.x,y:o*l.y}}function getClientRectFromClippingAncestor(e,t,n){let o;if("viewport"===t)o=getViewportRect(e,n);else if("document"===t)o=getDocumentRect(getDocumentElement(e));else if(isElement(t))o=getInnerBoundingClientRect(t,n);else{const n=getVisualOffsets(e);o={...t,x:t.x-n.x,y:t.y-n.y}}return rectToClientRect(o)}function hasFixedPositionAncestor(e,t){const n=getParentNode(e);return!(n===t||!isElement(n)||isLastTraversableNode(n))&&("fixed"===getComputedStyle(n).position||hasFixedPositionAncestor(n,t))}function getClippingElementAncestors(e,t){const n=t.get(e);if(n)return n;let o=getOverflowAncestors(e,[],!1).filter((e=>isElement(e)&&"body"!==getNodeName(e))),i=null;const l="fixed"===getComputedStyle(e).position;let r=l?getParentNode(e):e;for(;isElement(r)&&!isLastTraversableNode(r);){const t=getComputedStyle(r),n=isContainingBlock(r);n||"fixed"!==t.position||(i=null);(l?!n&&!i:!n&&"static"===t.position&&!!i&&["absolute","fixed"].includes(i.position)||isOverflowElement(r)&&!n&&hasFixedPositionAncestor(e,r))?o=o.filter((e=>e!==r)):i=t,r=getParentNode(r)}return t.set(e,o),o}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e;const l=[..."clippingAncestors"===n?getClippingElementAncestors(t,this._c):[].concat(n),o],r=l[0],s=l.reduce(((e,n)=>{const o=getClientRectFromClippingAncestor(t,n,i);return e.top=max(o.top,e.top),e.right=min(o.right,e.right),e.bottom=min(o.bottom,e.bottom),e.left=max(o.left,e.left),e}),getClientRectFromClippingAncestor(t,r,i));return{width:s.right-s.left,height:s.bottom-s.top,x:s.left,y:s.top}}function getDimensions(e){return getCssDimensions(e)}function getRectRelativeToOffsetParent(e,t,n){const o=isHTMLElement(t),i=getDocumentElement(t),l="fixed"===n,r=getBoundingClientRect(e,!0,l,t);let s={scrollLeft:0,scrollTop:0};const c=createCoords(0);if(o||!o&&!l)if(("body"!==getNodeName(t)||isOverflowElement(i))&&(s=getNodeScroll(t)),o){const e=getBoundingClientRect(t,!0,l,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&(c.x=getWindowScrollBarX(i));return{x:r.left+s.scrollLeft-c.x,y:r.top+s.scrollTop-c.y,width:r.width,height:r.height}}function getTrueOffsetParent(e,t){return isHTMLElement(e)&&"fixed"!==getComputedStyle(e).position?t?t(e):e.offsetParent:null}function getOffsetParent(e,t){const n=getWindow(e);if(!isHTMLElement(e))return n;let o=getTrueOffsetParent(e,t);for(;o&&isTableElement(o)&&"static"===getComputedStyle(o).position;)o=getTrueOffsetParent(o,t);return o&&("html"===getNodeName(o)||"body"===getNodeName(o)&&"static"===getComputedStyle(o).position&&!isContainingBlock(o))?n:o||getContainingBlock(e)||n}const getElementRects=async function(e){let{reference:t,floating:n,strategy:o}=e;const i=this.getOffsetParent||getOffsetParent,l=this.getDimensions;return{reference:getRectRelativeToOffsetParent(t,await i(n),o),floating:{x:0,y:0,...await l(n)}}};function isRTL(e){return"rtl"===getComputedStyle(e).direction}const platform={convertOffsetParentRelativeRectToViewportRelativeRect:convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement:getDocumentElement,getClippingRect:getClippingRect,getOffsetParent:getOffsetParent,getElementRects:getElementRects,getClientRects:getClientRects,getDimensions:getDimensions,getScale:getScale,isElement:isElement,isRTL:isRTL};function observeMove(e,t){let n,o=null;const i=getDocumentElement(e);function l(){clearTimeout(n),o&&o.disconnect(),o=null}return function r(s,c){void 0===s&&(s=!1),void 0===c&&(c=1),l();const{left:a,top:f,width:g,height:u}=e.getBoundingClientRect();if(s||t(),!g||!u)return;const d={rootMargin:-floor(f)+"px "+-floor(i.clientWidth-(a+g))+"px "+-floor(i.clientHeight-(f+u))+"px "+-floor(a)+"px",threshold:max(0,min(1,c))||1};let m=!0;function p(e){const t=e[0].intersectionRatio;if(t!==c){if(!m)return r();t?r(!1,t):n=setTimeout((()=>{r(!1,1e-7)}),100)}m=!1}try{o=new IntersectionObserver(p,{...d,root:i.ownerDocument})}catch(e){o=new IntersectionObserver(p,d)}o.observe(e)}(!0),l}function autoUpdate(e,t,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:l=!0,elementResize:r="function"==typeof ResizeObserver,layoutShift:s="function"==typeof IntersectionObserver,animationFrame:c=!1}=o,a=unwrapElement(e),f=i||l?[...a?getOverflowAncestors(a):[],...getOverflowAncestors(t)]:[];f.forEach((e=>{i&&e.addEventListener("scroll",n,{passive:!0}),l&&e.addEventListener("resize",n)}));const g=a&&s?observeMove(a,n):null;let u,d=-1,m=null;r&&(m=new ResizeObserver((e=>{let[o]=e;o&&o.target===a&&m&&(m.unobserve(t),cancelAnimationFrame(d),d=requestAnimationFrame((()=>{m&&m.observe(t)}))),n()})),a&&!c&&m.observe(a),m.observe(t));let p=c?getBoundingClientRect(e):null;return c&&function t(){const o=getBoundingClientRect(e);!p||o.x===p.x&&o.y===p.y&&o.width===p.width&&o.height===p.height||n();p=o,u=requestAnimationFrame(t)}(),n(),()=>{f.forEach((e=>{i&&e.removeEventListener("scroll",n),l&&e.removeEventListener("resize",n)})),g&&g(),m&&m.disconnect(),m=null,c&&cancelAnimationFrame(u)}}const computePosition=(e,t,n)=>{const o=new Map,i={platform:platform,...n},l={...i.platform,_c:o};return computePosition$1(e,t,{...i,platform:l})};export{autoUpdate as a,validateAlign as b,computePosition as c,arrow as d,flip as f,offset as o,shift as s,validateAlignment as v};