@public-ui/components 1.6.0-rc.19 → 1.6.0-rc.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/custom-elements.json +1 -1
  2. package/dist/cjs/{a11y.tipps-1c1ea73b.js → a11y.tipps-f2c86041.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-1c1ea73b.js.map → a11y.tipps-f2c86041.js.map} +1 -1
  4. package/dist/cjs/{align-03448301.js → align-c3270bc0.js} +1 -1
  5. package/dist/cjs/{align-03448301.js.map → align-c3270bc0.js.map} +1 -1
  6. package/dist/cjs/{app-globals-e6eb5911.js → app-globals-c7605dca.js} +1 -1
  7. package/dist/cjs/{app-globals-e6eb5911.js.map → app-globals-c7605dca.js.map} +1 -1
  8. package/dist/cjs/{aria-current-033a6e0f.js → aria-current-50bde9bc.js} +1 -1
  9. package/dist/cjs/{aria-current-033a6e0f.js.map → aria-current-50bde9bc.js.map} +1 -1
  10. package/dist/cjs/aria-selected-02d3b668.js +4 -0
  11. package/dist/cjs/{aria-selected-0d0d52a7.js.map → aria-selected-02d3b668.js.map} +1 -1
  12. package/dist/cjs/button-link-71178f84.js +4 -0
  13. package/dist/cjs/{button-link-72b41f5a.js.map → button-link-71178f84.js.map} +1 -1
  14. package/dist/cjs/{color-8c2ae19a.js → color-89f83c82.js} +1 -1
  15. package/dist/cjs/{color-8c2ae19a.js.map → color-89f83c82.js.map} +1 -1
  16. package/dist/cjs/{controller-92759c6b.js → controller-3427a8e1.js} +1 -1
  17. package/dist/cjs/{controller-92759c6b.js.map → controller-3427a8e1.js.map} +1 -1
  18. package/dist/cjs/{controller-79eb2e58.js → controller-3b75004e.js} +1 -1
  19. package/dist/cjs/{controller-79eb2e58.js.map → controller-3b75004e.js.map} +1 -1
  20. package/dist/cjs/{controller-f8071b2a.js → controller-6992eabb.js} +1 -1
  21. package/dist/cjs/{controller-f8071b2a.js.map → controller-6992eabb.js.map} +1 -1
  22. package/dist/cjs/{controller-c3faafa2.js → controller-b3c817f5.js} +1 -1
  23. package/dist/cjs/controller-b3c817f5.js.map +1 -0
  24. package/dist/cjs/{controller-ebc696ca.js → controller-bf63d02e.js} +1 -1
  25. package/dist/cjs/{controller-ebc696ca.js.map → controller-bf63d02e.js.map} +1 -1
  26. package/dist/cjs/controller-dd3ad311.js +4 -0
  27. package/dist/cjs/controller-dd3ad311.js.map +1 -0
  28. package/dist/cjs/{controller-icon-5568bee6.js → controller-icon-a1e0a463.js} +1 -1
  29. package/dist/cjs/{controller-icon-5568bee6.js.map → controller-icon-a1e0a463.js.map} +1 -1
  30. package/dist/cjs/{dev.utils-443e04be.js → dev.utils-b325e147.js} +1 -1
  31. package/dist/cjs/{dev.utils-443e04be.js.map → dev.utils-b325e147.js.map} +1 -1
  32. package/dist/cjs/{devtools-fa5c911c.js → devtools-2efdefde.js} +1 -1
  33. package/dist/cjs/{devtools-fa5c911c.js.map → devtools-2efdefde.js.map} +1 -1
  34. package/dist/cjs/{disabled-52fed01c.js → disabled-fed44db6.js} +1 -1
  35. package/dist/cjs/{disabled-52fed01c.js.map → disabled-fed44db6.js.map} +1 -1
  36. package/dist/cjs/events-b49161e2.js +4 -0
  37. package/dist/cjs/events-b49161e2.js.map +1 -0
  38. package/dist/cjs/has-closer-59b85ff2.js +4 -0
  39. package/dist/cjs/{has-closer-c1a52ec2.js.map → has-closer-59b85ff2.js.map} +1 -1
  40. package/dist/cjs/hide-label-f1994213.js +4 -0
  41. package/dist/cjs/{hide-label-ec601d02.js.map → hide-label-f1994213.js.map} +1 -1
  42. package/dist/cjs/{i18n-d4de282e.js → i18n-25b8027d.js} +1 -1
  43. package/dist/cjs/{i18n-d4de282e.js.map → i18n-25b8027d.js.map} +1 -1
  44. package/dist/cjs/{icon-8e3e7353.js → icon-a386b551.js} +1 -1
  45. package/dist/cjs/{icon-8e3e7353.js.map → icon-a386b551.js.map} +1 -1
  46. package/dist/cjs/image-source-1de9289e.js +4 -0
  47. package/dist/cjs/{image-source-cc6a3955.js.map → image-source-1de9289e.js.map} +1 -1
  48. package/dist/cjs/index.cjs.js +1 -1
  49. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-accordion.cjs.entry.js.map +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-alert.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  64. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-form.cjs.entry.js.map +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-adapter-leanup.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  74. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  76. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  84. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  89. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  91. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-input-text.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-group.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  102. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  111. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  113. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  114. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  124. package/dist/cjs/kolibri.cjs.js +1 -1
  125. package/dist/cjs/{label-ec3c6d04.js → label-d3f4eaaa.js} +1 -1
  126. package/dist/cjs/{label-ec3c6d04.js.map → label-d3f4eaaa.js.map} +1 -1
  127. package/dist/cjs/loader.cjs.js +1 -1
  128. package/dist/cjs/{prop.validators-46b7cd12.js → prop.validators-f5e03a86.js} +1 -1
  129. package/dist/cjs/{prop.validators-46b7cd12.js.map → prop.validators-f5e03a86.js.map} +1 -1
  130. package/dist/cjs/rows-fd1985a2.js +4 -0
  131. package/dist/cjs/rows-fd1985a2.js.map +1 -0
  132. package/dist/cjs/show-73709d10.js +4 -0
  133. package/dist/cjs/{show-b2776f4a.js.map → show-73709d10.js.map} +1 -1
  134. package/dist/cjs/suggestions-4b038d0d.js +4 -0
  135. package/dist/cjs/suggestions-4b038d0d.js.map +1 -0
  136. package/dist/cjs/{tab-index-4e911056.js → tab-index-a78da43d.js} +1 -1
  137. package/dist/cjs/{tab-index-4e911056.js.map → tab-index-a78da43d.js.map} +1 -1
  138. package/dist/cjs/{validation-8a69b96f.js → validation-64ec3814.js} +1 -1
  139. package/dist/cjs/{validation-8a69b96f.js.map → validation-64ec3814.js.map} +1 -1
  140. package/dist/cjs/{validation-6f741829.js → validation-65a3018b.js} +1 -1
  141. package/dist/cjs/{validation-6f741829.js.map → validation-65a3018b.js.map} +1 -1
  142. package/dist/components/component13.js.map +1 -1
  143. package/dist/components/component14.js.map +1 -1
  144. package/dist/components/component16.js +1 -1
  145. package/dist/components/component16.js.map +1 -1
  146. package/dist/components/component5.js +1 -1
  147. package/dist/components/component5.js.map +1 -1
  148. package/dist/components/component6.js +1 -1
  149. package/dist/components/component6.js.map +1 -1
  150. package/dist/components/component7.js +1 -1
  151. package/dist/components/component7.js.map +1 -1
  152. package/dist/components/component9.js +1 -1
  153. package/dist/components/component9.js.map +1 -1
  154. package/dist/components/controller.js +1 -1
  155. package/dist/components/controller.js.map +1 -1
  156. package/dist/components/controller2.js +1 -1
  157. package/dist/components/controller2.js.map +1 -1
  158. package/dist/components/controller3.js +1 -1
  159. package/dist/components/controller3.js.map +1 -1
  160. package/dist/components/kol-abbr.js +1 -1
  161. package/dist/components/kol-abbr.js.map +1 -1
  162. package/dist/components/kol-accordion.js +1 -1
  163. package/dist/components/kol-accordion.js.map +1 -1
  164. package/dist/components/kol-card.js +1 -1
  165. package/dist/components/kol-card.js.map +1 -1
  166. package/dist/components/kol-details.js +1 -1
  167. package/dist/components/kol-details.js.map +1 -1
  168. package/dist/components/kol-form.js +1 -1
  169. package/dist/components/kol-form.js.map +1 -1
  170. package/dist/components/kol-input-color.js +1 -1
  171. package/dist/components/kol-input-color.js.map +1 -1
  172. package/dist/components/kol-input-date.js +1 -1
  173. package/dist/components/kol-input-date.js.map +1 -1
  174. package/dist/components/kol-input-email.js.map +1 -1
  175. package/dist/components/kol-input-number.js +1 -1
  176. package/dist/components/kol-input-number.js.map +1 -1
  177. package/dist/components/kol-input-range.js +1 -1
  178. package/dist/components/kol-input-range.js.map +1 -1
  179. package/dist/components/kol-input-text.js.map +1 -1
  180. package/dist/components/kol-nav.js +1 -1
  181. package/dist/components/kol-nav.js.map +1 -1
  182. package/dist/components/kol-quote.js +1 -1
  183. package/dist/components/kol-quote.js.map +1 -1
  184. package/dist/components/kol-split-button.js +1 -1
  185. package/dist/components/kol-table.js +1 -1
  186. package/dist/components/kol-table.js.map +1 -1
  187. package/dist/components/kol-tabs.js +1 -1
  188. package/dist/components/kol-tabs.js.map +1 -1
  189. package/dist/components/kol-textarea.js.map +1 -1
  190. package/dist/components/kol-toast.js +1 -1
  191. package/dist/components/kol-toast.js.map +1 -1
  192. package/dist/components/prop.validators.js +1 -1
  193. package/dist/components/prop.validators.js.map +1 -1
  194. package/dist/components/rows.js.map +1 -1
  195. package/dist/components/shadow.js.map +1 -1
  196. package/dist/components/shadow2.js.map +1 -1
  197. package/dist/components/suggestions.js.map +1 -1
  198. package/dist/esm/{a11y.tipps-d701911f.js → a11y.tipps-49a594cd.js} +1 -1
  199. package/dist/esm/{a11y.tipps-d701911f.js.map → a11y.tipps-49a594cd.js.map} +1 -1
  200. package/dist/esm/{align-73a9215b.js → align-e2a13b3a.js} +1 -1
  201. package/dist/esm/{align-73a9215b.js.map → align-e2a13b3a.js.map} +1 -1
  202. package/dist/esm/app-globals-00a31555.js +4 -0
  203. package/dist/esm/{app-globals-dc76be42.js.map → app-globals-00a31555.js.map} +1 -1
  204. package/dist/esm/{aria-current-4f445f1b.js → aria-current-d47c249a.js} +1 -1
  205. package/dist/esm/{aria-current-4f445f1b.js.map → aria-current-d47c249a.js.map} +1 -1
  206. package/dist/esm/{aria-selected-f9f37b8a.js → aria-selected-84f327a8.js} +1 -1
  207. package/dist/esm/{aria-selected-f9f37b8a.js.map → aria-selected-84f327a8.js.map} +1 -1
  208. package/dist/esm/{button-link-cdd0cf5d.js → button-link-ec735ae4.js} +1 -1
  209. package/dist/esm/{button-link-cdd0cf5d.js.map → button-link-ec735ae4.js.map} +1 -1
  210. package/dist/esm/{color-e86f3e1a.js → color-856020a7.js} +1 -1
  211. package/dist/esm/{color-e86f3e1a.js.map → color-856020a7.js.map} +1 -1
  212. package/dist/esm/{controller-88c3c0e3.js → controller-075502c7.js} +1 -1
  213. package/dist/esm/controller-075502c7.js.map +1 -0
  214. package/dist/esm/controller-11107d10.js +4 -0
  215. package/dist/esm/controller-11107d10.js.map +1 -0
  216. package/dist/esm/{controller-e72e2e76.js → controller-2fac18fe.js} +1 -1
  217. package/dist/esm/{controller-e72e2e76.js.map → controller-2fac18fe.js.map} +1 -1
  218. package/dist/esm/{controller-dcbc36ee.js → controller-40a0026f.js} +1 -1
  219. package/dist/esm/{controller-dcbc36ee.js.map → controller-40a0026f.js.map} +1 -1
  220. package/dist/esm/{controller-73e603d0.js → controller-83496a69.js} +1 -1
  221. package/dist/esm/{controller-73e603d0.js.map → controller-83496a69.js.map} +1 -1
  222. package/dist/esm/{controller-f62e9f3a.js → controller-961f177e.js} +1 -1
  223. package/dist/esm/{controller-f62e9f3a.js.map → controller-961f177e.js.map} +1 -1
  224. package/dist/esm/{controller-icon-2591b7eb.js → controller-icon-9c32ee0e.js} +1 -1
  225. package/dist/esm/{controller-icon-2591b7eb.js.map → controller-icon-9c32ee0e.js.map} +1 -1
  226. package/dist/esm/{dev.utils-d53ab83f.js → dev.utils-21cabf82.js} +1 -1
  227. package/dist/esm/{dev.utils-d53ab83f.js.map → dev.utils-21cabf82.js.map} +1 -1
  228. package/dist/esm/{devtools-afd1f946.js → devtools-920eaf32.js} +1 -1
  229. package/dist/esm/{devtools-afd1f946.js.map → devtools-920eaf32.js.map} +1 -1
  230. package/dist/esm/{disabled-707aaac5.js → disabled-5ebf1c54.js} +1 -1
  231. package/dist/esm/{disabled-707aaac5.js.map → disabled-5ebf1c54.js.map} +1 -1
  232. package/dist/esm/events-3762d15f.js +4 -0
  233. package/dist/esm/events-3762d15f.js.map +1 -0
  234. package/dist/esm/{has-closer-021264e3.js → has-closer-92997664.js} +1 -1
  235. package/dist/esm/{has-closer-021264e3.js.map → has-closer-92997664.js.map} +1 -1
  236. package/dist/esm/{hide-label-4ca7feba.js → hide-label-52f16a0e.js} +1 -1
  237. package/dist/esm/{hide-label-4ca7feba.js.map → hide-label-52f16a0e.js.map} +1 -1
  238. package/dist/esm/{i18n-7ff844fe.js → i18n-263eac14.js} +1 -1
  239. package/dist/esm/{i18n-7ff844fe.js.map → i18n-263eac14.js.map} +1 -1
  240. package/dist/esm/{icon-2102545a.js → icon-1a0c1115.js} +1 -1
  241. package/dist/esm/{icon-2102545a.js.map → icon-1a0c1115.js.map} +1 -1
  242. package/dist/esm/{image-source-8a03ef69.js → image-source-16e365db.js} +1 -1
  243. package/dist/esm/{image-source-8a03ef69.js.map → image-source-16e365db.js.map} +1 -1
  244. package/dist/esm/index.js +1 -1
  245. package/dist/esm/kol-abbr.entry.js +1 -1
  246. package/dist/esm/kol-abbr.entry.js.map +1 -1
  247. package/dist/esm/kol-accordion.entry.js +1 -1
  248. package/dist/esm/kol-accordion.entry.js.map +1 -1
  249. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  250. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  251. package/dist/esm/kol-alert.entry.js.map +1 -1
  252. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  253. package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
  254. package/dist/esm/kol-badge.entry.js +1 -1
  255. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  256. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  257. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  258. package/dist/esm/kol-card.entry.js +1 -1
  259. package/dist/esm/kol-card.entry.js.map +1 -1
  260. package/dist/esm/kol-details.entry.js +1 -1
  261. package/dist/esm/kol-details.entry.js.map +1 -1
  262. package/dist/esm/kol-form.entry.js +1 -1
  263. package/dist/esm/kol-form.entry.js.map +1 -1
  264. package/dist/esm/kol-icon.entry.js +1 -1
  265. package/dist/esm/kol-image.entry.js +1 -1
  266. package/dist/esm/kol-image.entry.js.map +1 -1
  267. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  268. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  269. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  270. package/dist/esm/kol-input-color.entry.js +1 -1
  271. package/dist/esm/kol-input-color.entry.js.map +1 -1
  272. package/dist/esm/kol-input-date.entry.js +1 -1
  273. package/dist/esm/kol-input-date.entry.js.map +1 -1
  274. package/dist/esm/kol-input-email.entry.js +1 -1
  275. package/dist/esm/kol-input-email.entry.js.map +1 -1
  276. package/dist/esm/kol-input-file.entry.js +1 -1
  277. package/dist/esm/kol-input-file.entry.js.map +1 -1
  278. package/dist/esm/kol-input-number.entry.js +1 -1
  279. package/dist/esm/kol-input-number.entry.js.map +1 -1
  280. package/dist/esm/kol-input-password.entry.js +1 -1
  281. package/dist/esm/kol-input-password.entry.js.map +1 -1
  282. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  283. package/dist/esm/kol-input-radio.entry.js +1 -1
  284. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  285. package/dist/esm/kol-input-range.entry.js +1 -1
  286. package/dist/esm/kol-input-range.entry.js.map +1 -1
  287. package/dist/esm/kol-input-text.entry.js +1 -1
  288. package/dist/esm/kol-input-text.entry.js.map +1 -1
  289. package/dist/esm/kol-kolibri.entry.js +1 -1
  290. package/dist/esm/kol-link-button.entry.js +1 -1
  291. package/dist/esm/kol-link-group.entry.js +1 -1
  292. package/dist/esm/kol-link-wc.entry.js +1 -1
  293. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  294. package/dist/esm/kol-logo.entry.js +1 -1
  295. package/dist/esm/kol-modal.entry.js +1 -1
  296. package/dist/esm/kol-nav.entry.js +1 -1
  297. package/dist/esm/kol-nav.entry.js.map +1 -1
  298. package/dist/esm/kol-pagination.entry.js +1 -1
  299. package/dist/esm/kol-popover.entry.js +1 -1
  300. package/dist/esm/kol-progress.entry.js +1 -1
  301. package/dist/esm/kol-quote.entry.js +1 -1
  302. package/dist/esm/kol-quote.entry.js.map +1 -1
  303. package/dist/esm/kol-select.entry.js +1 -1
  304. package/dist/esm/kol-select.entry.js.map +1 -1
  305. package/dist/esm/kol-skip-nav.entry.js +1 -1
  306. package/dist/esm/kol-span-wc.entry.js +1 -1
  307. package/dist/esm/kol-spin.entry.js +1 -1
  308. package/dist/esm/kol-split-button.entry.js +1 -1
  309. package/dist/esm/kol-symbol.entry.js +1 -1
  310. package/dist/esm/kol-table.entry.js +1 -1
  311. package/dist/esm/kol-table.entry.js.map +1 -1
  312. package/dist/esm/kol-tabs.entry.js +1 -1
  313. package/dist/esm/kol-tabs.entry.js.map +1 -1
  314. package/dist/esm/kol-textarea.entry.js +1 -1
  315. package/dist/esm/kol-textarea.entry.js.map +1 -1
  316. package/dist/esm/kol-toast.entry.js +1 -1
  317. package/dist/esm/kol-toast.entry.js.map +1 -1
  318. package/dist/esm/kol-tooltip.entry.js +1 -1
  319. package/dist/esm/kol-version.entry.js +1 -1
  320. package/dist/esm/kolibri.js +1 -1
  321. package/dist/esm/{label-50013d13.js → label-78ab78c2.js} +1 -1
  322. package/dist/esm/{label-50013d13.js.map → label-78ab78c2.js.map} +1 -1
  323. package/dist/esm/loader.js +1 -1
  324. package/dist/esm/{prop.validators-464644b7.js → prop.validators-2d07ec24.js} +1 -1
  325. package/dist/esm/{prop.validators-464644b7.js.map → prop.validators-2d07ec24.js.map} +1 -1
  326. package/dist/esm/{rows-3650a6c6.js → rows-97254602.js} +1 -1
  327. package/dist/esm/rows-97254602.js.map +1 -0
  328. package/dist/esm/{show-a52e2865.js → show-2d014a9e.js} +1 -1
  329. package/dist/esm/{show-a52e2865.js.map → show-2d014a9e.js.map} +1 -1
  330. package/dist/esm/{suggestions-58939476.js → suggestions-21f5a2d2.js} +1 -1
  331. package/dist/esm/suggestions-21f5a2d2.js.map +1 -0
  332. package/dist/esm/{tab-index-f3f891be.js → tab-index-68b5c2de.js} +1 -1
  333. package/dist/esm/{tab-index-f3f891be.js.map → tab-index-68b5c2de.js.map} +1 -1
  334. package/dist/esm/validation-205f5848.js +4 -0
  335. package/dist/esm/{validation-5659d279.js.map → validation-205f5848.js.map} +1 -1
  336. package/dist/esm/{validation-0f08372b.js → validation-4d262227.js} +1 -1
  337. package/dist/esm/{validation-0f08372b.js.map → validation-4d262227.js.map} +1 -1
  338. package/dist/kolibri/{a11y.tipps-d701911f.js → a11y.tipps-49a594cd.js} +1 -1
  339. package/dist/kolibri/{align-73a9215b.js → align-e2a13b3a.js} +1 -1
  340. package/dist/kolibri/app-globals-00a31555.js +4 -0
  341. package/dist/kolibri/aria-current-d47c249a.js +4 -0
  342. package/dist/kolibri/aria-selected-84f327a8.js +4 -0
  343. package/dist/kolibri/{button-link-cdd0cf5d.js → button-link-ec735ae4.js} +1 -1
  344. package/dist/kolibri/{color-e86f3e1a.js → color-856020a7.js} +1 -1
  345. package/dist/kolibri/controller-075502c7.js +4 -0
  346. package/dist/kolibri/controller-075502c7.js.map +1 -0
  347. package/dist/kolibri/controller-11107d10.js +4 -0
  348. package/dist/kolibri/controller-11107d10.js.map +1 -0
  349. package/dist/kolibri/{controller-e72e2e76.js → controller-2fac18fe.js} +1 -1
  350. package/dist/kolibri/{controller-dcbc36ee.js → controller-40a0026f.js} +1 -1
  351. package/dist/kolibri/{controller-73e603d0.js → controller-83496a69.js} +1 -1
  352. package/dist/kolibri/{controller-73e603d0.js.map → controller-83496a69.js.map} +1 -1
  353. package/dist/kolibri/{controller-f62e9f3a.js → controller-961f177e.js} +1 -1
  354. package/dist/kolibri/controller-icon-9c32ee0e.js +4 -0
  355. package/dist/kolibri/{dev.utils-d53ab83f.js → dev.utils-21cabf82.js} +1 -1
  356. package/dist/kolibri/{dev.utils-d53ab83f.js.map → dev.utils-21cabf82.js.map} +1 -1
  357. package/dist/kolibri/devtools-920eaf32.js +4 -0
  358. package/dist/kolibri/{disabled-707aaac5.js → disabled-5ebf1c54.js} +1 -1
  359. package/dist/kolibri/events-3762d15f.js +4 -0
  360. package/dist/kolibri/events-3762d15f.js.map +1 -0
  361. package/dist/kolibri/has-closer-92997664.js +4 -0
  362. package/dist/kolibri/hide-label-52f16a0e.js +4 -0
  363. package/dist/kolibri/{i18n-7ff844fe.js → i18n-263eac14.js} +1 -1
  364. package/dist/kolibri/{icon-2102545a.js → icon-1a0c1115.js} +1 -1
  365. package/dist/kolibri/image-source-16e365db.js +4 -0
  366. package/dist/kolibri/index.esm.js +1 -1
  367. package/dist/kolibri/kol-abbr.entry.js +1 -1
  368. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  369. package/dist/kolibri/kol-accordion.entry.js +1 -1
  370. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  371. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  372. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  373. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  374. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  375. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
  376. package/dist/kolibri/kol-badge.entry.js +1 -1
  377. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  378. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  379. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  380. package/dist/kolibri/kol-card.entry.js +1 -1
  381. package/dist/kolibri/kol-card.entry.js.map +1 -1
  382. package/dist/kolibri/kol-details.entry.js +1 -1
  383. package/dist/kolibri/kol-details.entry.js.map +1 -1
  384. package/dist/kolibri/kol-form.entry.js +1 -1
  385. package/dist/kolibri/kol-form.entry.js.map +1 -1
  386. package/dist/kolibri/kol-icon.entry.js +1 -1
  387. package/dist/kolibri/kol-image.entry.js +1 -1
  388. package/dist/kolibri/kol-image.entry.js.map +1 -1
  389. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  390. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  391. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  392. package/dist/kolibri/kol-input-color.entry.js +1 -1
  393. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  394. package/dist/kolibri/kol-input-date.entry.js +1 -1
  395. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  396. package/dist/kolibri/kol-input-email.entry.js +1 -1
  397. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  398. package/dist/kolibri/kol-input-file.entry.js +1 -1
  399. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  400. package/dist/kolibri/kol-input-number.entry.js +1 -1
  401. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  402. package/dist/kolibri/kol-input-password.entry.js +1 -1
  403. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  404. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  405. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  406. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  407. package/dist/kolibri/kol-input-range.entry.js +1 -1
  408. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  409. package/dist/kolibri/kol-input-text.entry.js +1 -1
  410. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  411. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  412. package/dist/kolibri/kol-link-button.entry.js +1 -1
  413. package/dist/kolibri/kol-link-group.entry.js +1 -1
  414. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  415. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  416. package/dist/kolibri/kol-logo.entry.js +1 -1
  417. package/dist/kolibri/kol-modal.entry.js +1 -1
  418. package/dist/kolibri/kol-nav.entry.js +1 -1
  419. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  420. package/dist/kolibri/kol-pagination.entry.js +1 -1
  421. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  422. package/dist/kolibri/kol-popover.entry.js +1 -1
  423. package/dist/kolibri/kol-progress.entry.js +1 -1
  424. package/dist/kolibri/kol-quote.entry.js +1 -1
  425. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  426. package/dist/kolibri/kol-select.entry.js +1 -1
  427. package/dist/kolibri/kol-select.entry.js.map +1 -1
  428. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  429. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  430. package/dist/kolibri/kol-spin.entry.js +1 -1
  431. package/dist/kolibri/kol-split-button.entry.js +1 -1
  432. package/dist/kolibri/kol-symbol.entry.js +1 -1
  433. package/dist/kolibri/kol-table.entry.js +1 -1
  434. package/dist/kolibri/kol-table.entry.js.map +1 -1
  435. package/dist/kolibri/kol-tabs.entry.js +1 -1
  436. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  437. package/dist/kolibri/kol-textarea.entry.js +1 -1
  438. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  439. package/dist/kolibri/kol-toast.entry.js +1 -1
  440. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  441. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  442. package/dist/kolibri/kol-version.entry.js +1 -1
  443. package/dist/kolibri/kolibri.esm.js +1 -1
  444. package/dist/kolibri/label-78ab78c2.js +4 -0
  445. package/dist/kolibri/{prop.validators-464644b7.js → prop.validators-2d07ec24.js} +1 -1
  446. package/dist/kolibri/{prop.validators-464644b7.js.map → prop.validators-2d07ec24.js.map} +1 -1
  447. package/dist/kolibri/rows-97254602.js +4 -0
  448. package/dist/kolibri/rows-97254602.js.map +1 -0
  449. package/dist/kolibri/show-2d014a9e.js +4 -0
  450. package/dist/kolibri/{suggestions-58939476.js → suggestions-21f5a2d2.js} +1 -1
  451. package/dist/kolibri/suggestions-21f5a2d2.js.map +1 -0
  452. package/dist/kolibri/{tab-index-f3f891be.js → tab-index-68b5c2de.js} +1 -1
  453. package/dist/kolibri/validation-205f5848.js +4 -0
  454. package/dist/kolibri/{validation-0f08372b.js → validation-4d262227.js} +1 -1
  455. package/dist/types/components/abbr/component.d.ts +1 -1
  456. package/dist/types/components/accordion/component.d.ts +1 -1
  457. package/dist/types/components/accordion/types.d.ts +1 -1
  458. package/dist/types/components/alert/component.d.ts +1 -1
  459. package/dist/types/components/alert/shadow.d.ts +1 -1
  460. package/dist/types/components/avatar/component.d.ts +2 -2
  461. package/dist/types/components/avatar/types.d.ts +1 -1
  462. package/dist/types/components/card/component.d.ts +1 -1
  463. package/dist/types/components/details/component.d.ts +1 -1
  464. package/dist/types/components/image/shadow.d.ts +1 -1
  465. package/dist/types/components/image/types.d.ts +1 -1
  466. package/dist/types/components/input/component.d.ts +1 -1
  467. package/dist/types/components/input/types.d.ts +1 -1
  468. package/dist/types/components/input-color/component.d.ts +1 -1
  469. package/dist/types/components/input-color/controller.d.ts +1 -1
  470. package/dist/types/components/input-color/types.d.ts +1 -1
  471. package/dist/types/components/input-date/component.d.ts +1 -1
  472. package/dist/types/components/input-date/controller.d.ts +1 -1
  473. package/dist/types/components/input-date/types.d.ts +1 -1
  474. package/dist/types/components/input-email/component.d.ts +1 -1
  475. package/dist/types/components/input-email/types.d.ts +1 -1
  476. package/dist/types/components/input-number/component.d.ts +1 -1
  477. package/dist/types/components/input-number/controller.d.ts +1 -1
  478. package/dist/types/components/input-number/types.d.ts +1 -1
  479. package/dist/types/components/input-radio/component.d.ts +1 -1
  480. package/dist/types/components/input-radio/controller.d.ts +1 -1
  481. package/dist/types/components/input-radio/types.d.ts +1 -1
  482. package/dist/types/components/input-range/component.d.ts +1 -1
  483. package/dist/types/components/input-range/controller.d.ts +2 -2
  484. package/dist/types/components/input-range/types.d.ts +1 -1
  485. package/dist/types/components/input-text/component.d.ts +1 -1
  486. package/dist/types/components/input-text/controller.d.ts +1 -1
  487. package/dist/types/components/input-text/types.d.ts +1 -1
  488. package/dist/types/components/nav/component.d.ts +1 -1
  489. package/dist/types/components/nav/types.d.ts +1 -1
  490. package/dist/types/components/quote/shadow.d.ts +1 -1
  491. package/dist/types/components/select/component.d.ts +2 -2
  492. package/dist/types/components/select/controller.d.ts +2 -2
  493. package/dist/types/components/select/types.d.ts +2 -2
  494. package/dist/types/components/table/component.d.ts +1 -1
  495. package/dist/types/components/table/types.d.ts +1 -1
  496. package/dist/types/components/textarea/component.d.ts +1 -1
  497. package/dist/types/components/textarea/controller.d.ts +1 -1
  498. package/dist/types/components/textarea/types.d.ts +1 -1
  499. package/dist/types/components/toast/component.d.ts +1 -1
  500. package/dist/types/components/toast/toaster.d.ts +1 -1
  501. package/dist/types/components/toast/types.d.ts +1 -1
  502. package/dist/types/types/props/suggestions.d.ts +1 -1
  503. package/dist/types/utils/events.d.ts +1 -0
  504. package/jest-test-results.json +1 -1
  505. package/package.json +1 -1
  506. package/dist/cjs/aria-selected-0d0d52a7.js +0 -4
  507. package/dist/cjs/button-link-72b41f5a.js +0 -4
  508. package/dist/cjs/controller-a1231b94.js +0 -4
  509. package/dist/cjs/controller-a1231b94.js.map +0 -1
  510. package/dist/cjs/controller-c3faafa2.js.map +0 -1
  511. package/dist/cjs/has-closer-c1a52ec2.js +0 -4
  512. package/dist/cjs/hide-label-ec601d02.js +0 -4
  513. package/dist/cjs/image-source-cc6a3955.js +0 -4
  514. package/dist/cjs/rows-f5639de0.js +0 -4
  515. package/dist/cjs/rows-f5639de0.js.map +0 -1
  516. package/dist/cjs/show-b2776f4a.js +0 -4
  517. package/dist/cjs/suggestions-35e5f96a.js +0 -4
  518. package/dist/cjs/suggestions-35e5f96a.js.map +0 -1
  519. package/dist/esm/app-globals-dc76be42.js +0 -4
  520. package/dist/esm/controller-3591f4ce.js +0 -4
  521. package/dist/esm/controller-3591f4ce.js.map +0 -1
  522. package/dist/esm/controller-88c3c0e3.js.map +0 -1
  523. package/dist/esm/rows-3650a6c6.js.map +0 -1
  524. package/dist/esm/suggestions-58939476.js.map +0 -1
  525. package/dist/esm/validation-5659d279.js +0 -4
  526. package/dist/kolibri/app-globals-dc76be42.js +0 -4
  527. package/dist/kolibri/aria-current-4f445f1b.js +0 -4
  528. package/dist/kolibri/aria-selected-f9f37b8a.js +0 -4
  529. package/dist/kolibri/controller-3591f4ce.js +0 -4
  530. package/dist/kolibri/controller-3591f4ce.js.map +0 -1
  531. package/dist/kolibri/controller-88c3c0e3.js +0 -4
  532. package/dist/kolibri/controller-88c3c0e3.js.map +0 -1
  533. package/dist/kolibri/controller-icon-2591b7eb.js +0 -4
  534. package/dist/kolibri/devtools-afd1f946.js +0 -4
  535. package/dist/kolibri/has-closer-021264e3.js +0 -4
  536. package/dist/kolibri/hide-label-4ca7feba.js +0 -4
  537. package/dist/kolibri/image-source-8a03ef69.js +0 -4
  538. package/dist/kolibri/label-50013d13.js +0 -4
  539. package/dist/kolibri/rows-3650a6c6.js +0 -4
  540. package/dist/kolibri/rows-3650a6c6.js.map +0 -1
  541. package/dist/kolibri/show-a52e2865.js +0 -4
  542. package/dist/kolibri/suggestions-58939476.js.map +0 -1
  543. package/dist/kolibri/validation-5659d279.js +0 -4
  544. /package/dist/kolibri/{a11y.tipps-d701911f.js.map → a11y.tipps-49a594cd.js.map} +0 -0
  545. /package/dist/kolibri/{align-73a9215b.js.map → align-e2a13b3a.js.map} +0 -0
  546. /package/dist/kolibri/{app-globals-dc76be42.js.map → app-globals-00a31555.js.map} +0 -0
  547. /package/dist/kolibri/{aria-current-4f445f1b.js.map → aria-current-d47c249a.js.map} +0 -0
  548. /package/dist/kolibri/{aria-selected-f9f37b8a.js.map → aria-selected-84f327a8.js.map} +0 -0
  549. /package/dist/kolibri/{button-link-cdd0cf5d.js.map → button-link-ec735ae4.js.map} +0 -0
  550. /package/dist/kolibri/{color-e86f3e1a.js.map → color-856020a7.js.map} +0 -0
  551. /package/dist/kolibri/{controller-e72e2e76.js.map → controller-2fac18fe.js.map} +0 -0
  552. /package/dist/kolibri/{controller-dcbc36ee.js.map → controller-40a0026f.js.map} +0 -0
  553. /package/dist/kolibri/{controller-f62e9f3a.js.map → controller-961f177e.js.map} +0 -0
  554. /package/dist/kolibri/{controller-icon-2591b7eb.js.map → controller-icon-9c32ee0e.js.map} +0 -0
  555. /package/dist/kolibri/{devtools-afd1f946.js.map → devtools-920eaf32.js.map} +0 -0
  556. /package/dist/kolibri/{disabled-707aaac5.js.map → disabled-5ebf1c54.js.map} +0 -0
  557. /package/dist/kolibri/{has-closer-021264e3.js.map → has-closer-92997664.js.map} +0 -0
  558. /package/dist/kolibri/{hide-label-4ca7feba.js.map → hide-label-52f16a0e.js.map} +0 -0
  559. /package/dist/kolibri/{i18n-7ff844fe.js.map → i18n-263eac14.js.map} +0 -0
  560. /package/dist/kolibri/{icon-2102545a.js.map → icon-1a0c1115.js.map} +0 -0
  561. /package/dist/kolibri/{image-source-8a03ef69.js.map → image-source-16e365db.js.map} +0 -0
  562. /package/dist/kolibri/{label-50013d13.js.map → label-78ab78c2.js.map} +0 -0
  563. /package/dist/kolibri/{show-a52e2865.js.map → show-2d014a9e.js.map} +0 -0
  564. /package/dist/kolibri/{tab-index-f3f891be.js.map → tab-index-68b5c2de.js.map} +0 -0
  565. /package/dist/kolibri/{validation-5659d279.js.map → validation-205f5848.js.map} +0 -0
  566. /package/dist/kolibri/{validation-0f08372b.js.map → validation-4d262227.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@public-ui/components",
3
- "version": "1.6.0-rc.19",
3
+ "version": "1.6.0-rc.20",
4
4
  "license": "EUPL-1.2",
5
5
  "homepage": "https://public-ui.github.io",
6
6
  "bugs": { "url": "https://github.com/public-ui/kolibri/issues", "email": "kolibri@itzbund.de" },
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateAriaSelected=(e,a)=>{prop_validators.watchBoolean(e,"_ariaSelected",a)};exports.validateAriaSelected=validateAriaSelected;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),watchTooltipAlignment=(t,o,i)=>{prop_validators.watchValidator(t,o,(t=>"top"===t||"right"===t||"bottom"===t||"left"===t),new Set(["Alignment {top, right, buttom, left}"]),i,{defaultValue:"top"})};exports.watchTooltipAlignment=watchTooltipAlignment;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),label=require("./label-ec3c6d04.js"),a11y_tipps=require("./a11y.tipps-1c1ea73b.js"),tabIndex=require("./tab-index-4e911056.js"),dev_utils=require("./dev.utils-443e04be.js"),getRenderStates=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,o="string"==typeof t._hint&&t._hint.length>0,i=[];return!0===e&&i.push(`${t._id}-error`),!0===o&&i.push(`${t._id}-hint`),{hasError:e,hasHint:o,ariaDescribedBy:i}},validateAdjustHeight=(t,e)=>{prop_validators.watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{prop_validators.watchBoolean(t,"_touched",e)},EXPERIMENTAL_MODE=dev_utils.getExperimentalMode();class ControlledInputController{constructor(t,e,o){var i,n;if(this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||a11y_tipps.devHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const i=this.tryToStringifyValue(t);this.syncValue(t,i,this.formAssociated),this.syncValue(t,i,this.syncToOwnInput)},this.component=t,this.name=e,this.host=o,EXPERIMENTAL_MODE){switch(null===(i=this.host)||void 0===i||i.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(n=this.host)||void 0===n||n.appendChild(this.formAssociated)}}setAttribute(t,e,o){if(EXPERIMENTAL_MODE)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return a11y_tipps.devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateAlert(t){prop_validators.watchBoolean(this.component,"_alert",t)}validateSyncValueBySelector(t){if(EXPERIMENTAL_MODE&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,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){prop_validators.watchString(this.component,"_accessKey",t)}validateAdjustHeight(t){validateAdjustHeight(this.component,t)}validateDisabled(t){prop_validators.watchBoolean(this.component,"_disabled",t),!0===t&&a11y_tipps.a11yHintDisabled()}validateError(t){prop_validators.watchString(this.component,"_error",t)}validateHideLabel(t){prop_validators.watchBoolean(this.component,"_hideLabel",t)}validateHint(t){prop_validators.watchString(this.component,"_hint",t)}validateId(t){prop_validators.watchString(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||a11y_tipps.devHint("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){label.validateLabelWithExpertSlot(this.component,t)}validateName(t){prop_validators.watchString(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&a11y_tipps.devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&prop_validators.setState(this.component,"_on",t)}validateSmartButton(t){prop_validators.objectObjectHandler(t,(()=>{try{t=prop_validators.parseJson(t)}catch(t){}prop_validators.setState(this.component,"_smartButton",t)}))}validateTabIndex(t){tabIndex.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.validateName(this.component._name),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,"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;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}onClick(t){var e;"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,"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)}}exports.InputController=InputController,exports.getRenderStates=getRenderStates;
@@ -1 +0,0 @@
1
- {"file":"controller-a1231b94.js","mappings":";;;;;;;;;;;MAOa,eAAe,GAAG,CAAC,KAK/B;EAKA,MAAM,QAAQ,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;EACxG,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;EAE1E,MAAM,eAAe,GAAa,EAAE,CAAC;EACrC,IAAI,QAAQ,KAAK,IAAI,EAAE;IACtB,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC;GAC3C;EACD,IAAI,OAAO,KAAK,IAAI,EAAE;IACrB,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC;GAC1C;EACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;AAC/C;;ACZO,MAAM,oBAAoB,GAAG,CAAC,SAAoC,EAAE,KAAe;EACzFA,4BAAY,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;;ACFM,MAAM,eAAe,GAAG,CAAC,SAAoC,EAAE,KAAe;EACpFA,4BAAY,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;;ACTD,MAAM,iBAAiB,GAAGC,6BAAmB,EAAE,CAAC;MAEnC,yBAAyB;EAQrC,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;;IAkEjF,2BAAsB,GAAG,CAAC,QAAwB;;MACjE,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC;MACvD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,EAAE;QACjCC,kBAAO,CAAC,oBAAoB,IAAI,CAAC,IAAI,wFAAwF,CAAC,CAAC;OAC/H;MACD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;MACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;MACxD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;KACxD,CAAC;IAzED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACjB,IAAI,iBAAiB,EAAE;MACtB,MAAA,IAAI,CAAC,IAAI,0CAAE,gBAAgB,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,EAAE;;QAC/D,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAC,EAAE,CAAC,CAAC;OAC3B,CAAC,CAAC;MACH,QAAQ,IAAI,CAAC,IAAI;QAChB,KAAK,QAAQ;UACZ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;UACvD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;UACjD,MAAM;QACP,KAAK,UAAU;UACd,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;UACzD,MAAM;QACP;UACC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;UACtD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;UACnD,MAAM;OACP;MACD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;MACxD,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;MAC7D,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;MAC/C,MAAA,IAAI,CAAC,IAAI,0CAAE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC5C;GACD;EAES,YAAY,CAAC,aAAqB,EAAE,OAAqB,EAAE,KAAiC;IACrG,IAAI,iBAAiB,EAAE;MACtB,IAAI;QACH,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACpF,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;UACzF,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,aAAa,EAAE,GAAG,KAAe,EAAE,CAAC,CAAC;SAC3D;aAAM;UACN,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,KAAK,EAAE,CAAC,CAAC;SACvD;OACD;MAAC,OAAO,CAAC,EAAE;QACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,aAAa,CAAC,CAAC;OACxC;KACD;GACD;EAWO,mBAAmB,CAAC,KAAqB;IAChD,IAAI;MACH,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;KACxJ;IAAC,OAAO,CAAC,EAAE;MACXC,qBAAU,CAAC,sDAAsD,CAAW,EAAE,CAAC,CAAC;MAChF,OAAO,EAAE,CAAC;KACV;GACD;EAiBO,SAAS,CAAC,QAAwB,EAAE,QAAuB,EAAE,iBAA8E;IAClJ,IAAI,iBAAiB,EAAE;MACtB,QAAQ,IAAI,CAAC,IAAI;QAChB,KAAK,QAAQ;UACX,iBAAuC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;YAC7E,iBAAuC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;WACzD,CAAC,CAAC;UACH,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY;cAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAsB,CAAC,CAAC;cACtE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;gBACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAC3C,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBACnC,iBAAuC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;eAC7D;aACD,CAAC,CAAC;WACH;UACD,MAAM;QACP;UACC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YACjC,iBAAiB,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAClD,iBAAiB,CAAC,KAAK,GAAG,QAAQ,CAAC;WACnC;eAAM;YACN,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC3C,iBAAiB,CAAC,KAAK,GAAG,EAAE,CAAC;WAC7B;OACF;KACD;GACD;EAEM,aAAa,CAAC,KAAe;IACnCH,4BAAY,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;GAC9C;EAEM,2BAA2B,CAAC,KAAc;IAChD,IAAI,iBAAiB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;MACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAA+D,CAAC;MAC1G,IAAI,KAAK,EAAwC;QAChD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;OAC5B;KACD;GACD;EAEM,eAAe,CAAC,KAAe;IACrC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GACvC;EAEM,iBAAiB;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACtE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;GAC9C;;;MCpIW,eAAgB,SAAQ,yBAAyB;EAO7D,YAAmB,SAA4C,EAAE,IAAY,EAAE,IAAkB;IAChG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IALvB,cAAS,GAAG,KAAK,CAAC;IAER,yBAAoB,GAA0B,EAAE,CAAC;IAiKlD,aAAQ,GAAG;MAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;MAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;MAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;MAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;KAChC,CAAC;IAlKD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;GAC3B;EAEM,iBAAiB,CAAC,KAAc;IACtCI,2BAAW,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;GACjD;EAEM,oBAAoB,CAAC,KAAe;IAC1C,oBAAoB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GAC5C;EAEM,gBAAgB,CAAC,KAAe;IACtCJ,4BAAY,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,IAAI,EAAE;MACnBK,2BAAgB,EAAE,CAAC;KACnB;GACD;EAEM,aAAa,CAAC,KAAc;IAClCD,2BAAW,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;GAC7C;EAEM,iBAAiB,CAAC,KAAe;IACvCJ,4BAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;GAClD;EAEM,YAAY,CAAC,KAAc;IACjCI,2BAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;GAC5C;EAEM,UAAU,CAAC,KAAc;IAC/BA,2BAAW,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE;MACzC,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAa,CAAC,CAAC;SACjF;OACD;MACD,SAAS,EAAE,CAAC;KACZ,CAAC,CAAC;IACH,IAAI,KAAK,KAAK,EAAE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;MACjDF,kBAAO,CAAC,wHAAwH,CAAC,CAAC;KAClI;GACD;EAEM,aAAa,CAAC,KAAmC;IACvDI,iCAA2B,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GACnD;EAEM,YAAY,CAAC,KAAc;IACjCF,2BAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;MAC3C,KAAK,EAAE;QACN,UAAU,EAAE;UACX,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;SACrF;OACD;KACD,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;MACjCF,kBAAO,CACN,0KAA0K,CAC1K,CAAC;KACF;GACD;EAEM,UAAU,CAAC,KAA0B;IAC3C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;MAC9BK,wBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;KACvC;GACD;EAEM,mBAAmB,CAAC,KAA4B;IACtDC,mCAAmB,CAAC,KAAK,EAAE;MAC1B,IAAI;QACH,KAAK,GAAGC,yBAAS,CAAc,KAAe,CAAC,CAAC;OAEhD;MAAC,OAAO,CAAC,EAAE;OAEX;MACDF,wBAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;KAChD,CAAC,CAAC;GACH;EAEM,gBAAgB,CAAC,KAAc;IACrCG,yBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;GACxC;EAEM,iBAAiB;IACvB,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC1B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACxD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChD,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,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;GAChD;EAES,MAAM,CAAC,KAAY;;IAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC/B,IAAI,QAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,0CAAE,MAAM,CAAA,KAAK,UAAU,EAAE;MACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACjC;GACD;EAES,QAAQ,CAAC,KAAY;;IAC9B,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;IACvD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,IAAI,QAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE;MAQvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC1C;GACD;EAES,OAAO,CAAC,KAAY;;IAC7B,IAAI,QAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;MACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAClC;GACD;EAES,OAAO,CAAC,KAAY;;IAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;IAC7B,IAAI,QAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,0CAAE,OAAO,CAAA,KAAK,UAAU,EAAE;MACtD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;KAClC;GACD;EAEM,QAAQ,CAAC,KAAY,EAAE,KAAgC;;IAC7D,IAAI,CAAC,sBAAsB,CAAC,KAAe,CAAC,CAAC;IAC7C,IAAI,QAAO,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,0CAAE,QAAQ,CAAA,KAAK,UAAU,EAAE;MACvD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KAC1C;GACD;EAEM,sBAAsB,CAAC,QAA6B;IAC1D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACzC;;;;;;","names":["watchBoolean","getExperimentalMode","devHint","devWarning","watchString","a11yHintDisabled","validateLabelWithExpertSlot","setState","objectObjectHandler","parseJson","validateTabIndex"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { StencilUnknown } from '../../components';\nimport { validateTouched } from '../../types/props/touched';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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 validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"controller-c3faafa2.js","mappings":"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","names":["watchBoolean","hasEnoughReadableChars","containsOnlyNumbers","a11yHint","watchJsonArrayString","InputController","watchValidator","mapString2Unknown","setState","STATE_CHANGE_EVENT"],"sources":["src/types/props/required.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Eingabeelement zu einem Pflichtfeld.\n */\n/** en\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: boolean;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_required', value);\n};\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';\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\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 { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { validateRequired } from '../../types/props/required';\nimport { W3CInputValue } from '../../types/w3c';\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';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\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 = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\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 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<unknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? value[0] : 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 || this.component._list);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateHasCloser=(a,s)=>{prop_validators.watchBoolean(a,"_hasCloser",s)};exports.validateHasCloser=validateHasCloser;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateHideLabel=(a,e)=>{prop_validators.watchBoolean(a,"_hideLabel",e)};exports.validateHideLabel=validateHideLabel;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateImageSource=(a,r,e)=>{prop_validators.watchString(a,"_src",r,e)};exports.validateImageSource=validateImageSource;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateRows=(a,o)=>{prop_validators.watchNumber(a,"_rows",o,{min:1})};exports.validateRows=validateRows;
@@ -1 +0,0 @@
1
- {"file":"rows-f5639de0.js","mappings":";;;;;;;MAca,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB;EACtFA,2BAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD;;;;","names":["watchNumber"],"sources":["src/types/props/rows.ts"],"sourcesContent":["/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchNumber } from '../../utils/prop.validators';\n\nexport type RowsPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropRows = {\n\trows: RowsPropType;\n};\n\n/* validator */\nexport const validateRows = (component: Generic.Element.Component, value?: RowsPropType): void => {\n\twatchNumber(component, `_rows`, value, { min: 1 });\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateShow=(a,o,t)=>{prop_validators.watchBoolean(a,"_show",o,t)};exports.validateShow=validateShow;
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- "use strict";const prop_validators=require("./prop.validators-46b7cd12.js"),validateSuggestions=(s,t)=>{prop_validators.watchJsonArrayString(s,"_suggestions",(s=>"string"==typeof s||"number"==typeof s),t)};exports.validateSuggestions=validateSuggestions;
@@ -1 +0,0 @@
1
- {"file":"suggestions-35e5f96a.js","mappings":";;;;;;;MAea,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EACpGA,oCAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,IAAmB,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC;AACvI;;;;","names":["watchJsonArrayString"],"sources":["src/types/props/suggestions.ts"],"sourcesContent":["import { Stringified } from '../common';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\nimport { Generic } from '@a11y-ui/core';\nimport { W3CInputValue } from '../w3c';\n\nexport type SuggestionsPropType = Stringified<W3CInputValue[]>;\n\n/**\n * Suggestions to provide for an input.\n */\nexport type PropSuggestions = {\n\tsuggestions: SuggestionsPropType;\n};\n\n/* validator */\nexport const validateSuggestions = (component: Generic.Element.Component, value?: SuggestionsPropType): void => {\n\twatchJsonArrayString(component, '_suggestions', (item: W3CInputValue) => typeof item === 'string' || typeof item === 'number', value);\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as setMode}from"./index-2c046ff1.js";import{r as register}from"./index-d8ac1088.js";import{L as Log}from"./dev.utils-d53ab83f.js";import{s as setThemeStyle,g as getThemeDetails}from"./index-37b5cbcf.js";const appGlobalScript=async()=>{setMode((e=>(e.shadowRoot instanceof ShadowRoot&&setThemeStyle(e,getThemeDetails(e)),"default"))),await register([],[]),import("./devtools-afd1f946.js").then((e=>{"object"==typeof e&&null!==e&&"function"==typeof e.initialize&&e.initialize()})).catch((e=>{Log.error(e)}))},globalScripts=appGlobalScript;export{globalScripts as g};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as watchBoolean,d as watchString,s as setState,o as objectObjectHandler,p as parseJson}from"./prop.validators-464644b7.js";import{a as validateLabelWithExpertSlot}from"./label-50013d13.js";import{d as devHint,g as devWarning,h as a11yHintDisabled}from"./a11y.tipps-d701911f.js";import{v as validateTabIndex}from"./tab-index-f3f891be.js";import{b as getExperimentalMode}from"./dev.utils-d53ab83f.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}},validateAdjustHeight=(t,e)=>{watchBoolean(t,"_adjustHeight",e)},validateTouched=(t,e)=>{watchBoolean(t,"_touched",e)},EXPERIMENTAL_MODE=getExperimentalMode();class ControlledInputController{constructor(t,e,o){var n,i;if(this.setFormAssociatedValue=t=>{var e;const o=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==o&&""!==o||devHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const n=this.tryToStringifyValue(t);this.syncValue(t,n,this.formAssociated),this.syncValue(t,n,this.syncToOwnInput)},this.component=t,this.name=e,this.host=o,EXPERIMENTAL_MODE){switch(null===(n=this.host)||void 0===n||n.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(i=this.host)||void 0===i||i.appendChild(this.formAssociated)}}setAttribute(t,e,o){if(EXPERIMENTAL_MODE)try{if("boolean"!=typeof(o="object"==typeof o&&null!==o?JSON.stringify(o):o)&&"number"!=typeof o&&"string"!=typeof o)throw new Error("Invalid value type: "+typeof o);null==e||e.setAttribute(t,`${o}`)}catch(o){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return devWarning(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,o){if(o)if("select"===this.name)o.querySelectorAll("option").forEach((t=>{o.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),o.appendChild(t)}}));else"string"==typeof e?(o.setAttribute("value",e),o.value=e):(o.removeAttribute("value"),o.value="")}validateAlert(t){watchBoolean(this.component,"_alert",t)}validateSyncValueBySelector(t){if(EXPERIMENTAL_MODE&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){validateTouched(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class InputController extends ControlledInputController{constructor(t,e,o){super(t,e,o),this.hideLabel=!1,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){watchBoolean(this.component,"_hideLabel",t)}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)}validateName(t){watchString(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&devHint("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}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.validateName(this.component._name),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,"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;this.setFormAssociatedValue(o),this.valueChangeListeners.forEach((t=>t(o))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,o)}onClick(t){var e;"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,"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};
@@ -1 +0,0 @@
1
- {"file":"controller-3591f4ce.js","mappings":"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","names":[],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { StencilUnknown } from '../../components';\nimport { validateTouched } from '../../types/props/touched';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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 validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"controller-88c3c0e3.js","mappings":"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","names":[],"sources":["src/types/props/required.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Eingabeelement zu einem Pflichtfeld.\n */\n/** en\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: boolean;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_required', value);\n};\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';\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\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 { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { validateRequired } from '../../types/props/required';\nimport { W3CInputValue } from '../../types/w3c';\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';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\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 = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\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 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<unknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? value[0] : 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 || this.component._list);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"rows-3650a6c6.js","mappings":";;;;;MAca,YAAY,GAAG,CAAC,SAAoC,EAAE,KAAoB;EACtF,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACpD;;;;","names":[],"sources":["src/types/props/rows.ts"],"sourcesContent":["/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchNumber } from '../../utils/prop.validators';\n\nexport type RowsPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropRows = {\n\trows: RowsPropType;\n};\n\n/* validator */\nexport const validateRows = (component: Generic.Element.Component, value?: RowsPropType): void => {\n\twatchNumber(component, `_rows`, value, { min: 1 });\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"suggestions-58939476.js","mappings":";;;;;MAea,mBAAmB,GAAG,CAAC,SAAoC,EAAE,KAA2B;EACpG,oBAAoB,CAAC,SAAS,EAAE,cAAc,EAAE,CAAC,IAAmB,KAAK,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC;AACvI;;;;","names":[],"sources":["src/types/props/suggestions.ts"],"sourcesContent":["import { Stringified } from '../common';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\nimport { Generic } from '@a11y-ui/core';\nimport { W3CInputValue } from '../w3c';\n\nexport type SuggestionsPropType = Stringified<W3CInputValue[]>;\n\n/**\n * Suggestions to provide for an input.\n */\nexport type PropSuggestions = {\n\tsuggestions: SuggestionsPropType;\n};\n\n/* validator */\nexport const validateSuggestions = (component: Generic.Element.Component, value?: SuggestionsPropType): void => {\n\twatchJsonArrayString(component, '_suggestions', (item: W3CInputValue) => typeof item === 'string' || typeof item === 'number', value);\n};\n"],"version":3}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{c as uiUxHintMillerscheZahl}from"./a11y.tipps-d701911f.js";import{c as watchJsonArrayString}from"./prop.validators-464644b7.js";const watchNavLinks=(t,s,a)=>{watchJsonArrayString(s,"_links",(t=>"object"==typeof t&&("string"==typeof t._href||"string"==typeof t._label)),a),uiUxHintMillerscheZahl(t,s.state._links.length)};export{watchNavLinks as w};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as o}from"./index-2c046ff1.js";import{r as t}from"./index-d8ac1088.js";import{L as s}from"./dev.utils-d53ab83f.js";import{s as f,g as a}from"./index-37b5cbcf.js";const i=async()=>{o((o=>(o.shadowRoot instanceof ShadowRoot&&f(o,a(o)),"default"))),await t([],[]),import("./devtools-afd1f946.js").then((o=>{"object"==typeof o&&null!==o&&"function"==typeof o.initialize&&o.initialize()})).catch((o=>{s.error(o)}))},r=i;export{r as g};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{d as a,w as t}from"./prop.validators-464644b7.js";const o=(t,e)=>{a(t,"_ariaControls",e)},e=(a,e,o)=>{t(a,e,(a=>"date"===a||"location"===a||"page"===a||"step"===a||"time"===a||!0===a||!1===a),new Set(["String {data, location, page, step, time}","boolean"]),o)},s=(a,t)=>{e(a,"_ariaCurrent",t)},r=(a,t)=>{e(a,"_listenAriaCurrent",t)};export{s as a,r as b,o as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a}from"./prop.validators-464644b7.js";const o=(o,r)=>{a(o,"_ariaSelected",r)};export{o as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as t,d as i,s as e,o as s,p as a}from"./prop.validators-464644b7.js";import{a as n}from"./label-50013d13.js";import{d as h,g as o,h as r}from"./a11y.tipps-d701911f.js";import{v as d}from"./tab-index-f3f891be.js";import{b as l}from"./dev.utils-d53ab83f.js";const f=t=>{const e="string"==typeof t._error&&t._error.length>0&&!0===t._touched,i="string"==typeof t._hint&&t._hint.length>0,o=[];return!0===e&&o.push(`${t._id}-error`),!0===i&&o.push(`${t._id}-hint`),{hasError:e,hasHint:i,ariaDescribedBy:o}},u=(e,i)=>{t(e,"_adjustHeight",i)},c=(e,i)=>{t(e,"_touched",i)},v=l();class p{constructor(t,e,i){var o,n;if(this.setFormAssociatedValue=t=>{var e;const i=null===(e=this.formAssociated)||void 0===e?void 0:e.getAttribute("name");null!==i&&""!==i||h(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);const o=this.tryToStringifyValue(t);this.syncValue(t,o,this.formAssociated),this.syncValue(t,o,this.syncToOwnInput)},this.component=t,this.name=e,this.host=i,v){switch(null===(o=this.host)||void 0===o||o.querySelectorAll("input,select,textarea").forEach((t=>{var e;null===(e=this.host)||void 0===e||e.removeChild(t)})),this.name){case"select":this.formAssociated=document.createElement("select"),this.formAssociated.setAttribute("multiple","");break;case"textarea":this.formAssociated=document.createElement("textarea");break;default:this.formAssociated=document.createElement("input"),this.formAssociated.setAttribute("type","hidden")}this.formAssociated.setAttribute("aria-hidden","true"),this.formAssociated.setAttribute("data-form-associated",""),this.formAssociated.setAttribute("hidden",""),null===(n=this.host)||void 0===n||n.appendChild(this.formAssociated)}}setAttribute(t,e,i){if(v)try{if("boolean"!=typeof(i="object"==typeof i&&null!==i?JSON.stringify(i):i)&&"number"!=typeof i&&"string"!=typeof i)throw new Error("Invalid value type: "+typeof i);null==e||e.setAttribute(t,`${i}`)}catch(i){null==e||e.removeAttribute(t)}}tryToStringifyValue(t){try{return"object"==typeof t&&null!==t?JSON.stringify(t).toString():null==t?null:t.toString()}catch(t){return o(`The form field raw value is not able to stringify! ${t}`),""}}syncValue(t,e,i){if(i)if("select"===this.name)i.querySelectorAll("option").forEach((t=>{i.removeChild(t)})),Array.isArray(t)&&t.forEach((t=>{const e=this.tryToStringifyValue(t);if("string"==typeof e){const t=document.createElement("option");t.setAttribute("value",e),t.setAttribute("selected",""),i.appendChild(t)}}));else"string"==typeof e?(i.setAttribute("value",e),i.value=e):(i.removeAttribute("value"),i.value="")}validateAlert(e){t(this.component,"_alert",e)}validateSyncValueBySelector(t){if(v&&"string"==typeof t){const e=document.querySelector(t);e&&(this.syncToOwnInput=e)}}validateTouched(t){c(this.component,t)}componentWillLoad(){this.validateAlert(this.component._alert),this.validateSyncValueBySelector(this.component._syncValueBySelector),this.validateTouched(this.component._touched)}}class m extends p{constructor(t,e,i){super(t,e,i),this.hideLabel=!1,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){i(this.component,"_accessKey",t)}validateAdjustHeight(t){u(this.component,t)}validateDisabled(e){t(this.component,"_disabled",e),!0===e&&r()}validateError(t){i(this.component,"_error",t)}validateHideLabel(e){t(this.component,"_hideLabel",e)}validateHint(t){i(this.component,"_hint",t)}validateId(t){i(this.component,"_id",t,{hooks:{afterPatch:()=>{this.setAttribute("id",this.formAssociated,this.component.state._id)}},minLength:1}),""!==t&&void 0!==t||h("Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.")}validateLabel(t){n(this.component,t)}validateName(t){i(this.component,"_name",t,{hooks:{afterPatch:()=>{this.setAttribute("name",this.formAssociated,this.component.state._name)}}}),void 0===t&&h("Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.")}validateOn(t){"object"==typeof t&&e(this.component,"_on",t)}validateSmartButton(t){s(t,(()=>{try{t=a(t)}catch(t){}e(this.component,"_smartButton",t)}))}validateTabIndex(t){d(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.validateName(this.component._name),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,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onBlur)&&this.component._on.onBlur(t)}onChange(t){var e;const i=t.target.value;this.setFormAssociatedValue(i),this.valueChangeListeners.forEach((t=>t(i))),"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onChange)&&this.component._on.onChange(t,i)}onClick(t){var e;"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,"function"==typeof(null===(e=this.component._on)||void 0===e?void 0:e.onFocus)&&this.component._on.onFocus(t)}setValue(t,e){var i;this.setFormAssociatedValue(e),"function"==typeof(null===(i=this.component._on)||void 0===i?void 0:i.onChange)&&this.component._on.onChange(t,e)}addValueChangeListener(t){this.valueChangeListeners.push(t)}}export{m as I,f as g};
@@ -1 +0,0 @@
1
- {"version":3,"names":["getRenderStates","state","hasError","_error","length","_touched","hasHint","_hint","ariaDescribedBy","push","_id","validateAdjustHeight","component","value","watchBoolean","validateTouched","EXPERIMENTAL_MODE","getExperimentalMode","ControlledInputController","constructor","name","host","this","setFormAssociatedValue","rawValue","_a","formAssociated","getAttribute","devHint","strValue","tryToStringifyValue","syncValue","syncToOwnInput","querySelectorAll","forEach","el","removeChild","document","createElement","setAttribute","_b","appendChild","qualifiedName","element","JSON","stringify","Error","e","removeAttribute","toString","undefined","devWarning","associatedElement","Array","isArray","rawValueItem","strValueItem","option","validateAlert","validateSyncValueBySelector","input","querySelector","componentWillLoad","_alert","_syncValueBySelector","InputController","super","hideLabel","valueChangeListeners","onFacade","onBlur","bind","onChange","onClick","onFocus","validateAccessKey","watchString","validateDisabled","a11yHintDisabled","validateError","validateHideLabel","validateHint","validateId","hooks","afterPatch","minLength","validateLabel","validateLabelWithExpertSlot","validateName","_name","validateOn","setState","validateSmartButton","objectObjectHandler","parseJson","validateTabIndex","_accessKey","_adjustHeight","_disabled","_hideLabel","_label","_smartButton","_on","_tabIndex","event","target","listener","setValue","addValueChangeListener"],"sources":["src/components/input/controller.ts","src/types/props/adjust-height.ts","src/types/props/touched.ts","src/components/input-adapter-leanup/controller.ts","src/components/@deprecated/input/controller.ts"],"sourcesContent":["/**\n * Berechnet in Abhängigkeit des Component-State, wie die\n * aria-describedby-Attributs gesetzt werden sollen.\n *\n * @param state State der Component\n * @returns Render-States\n */\nexport const getRenderStates = (state: {\n\t_error?: string;\n\t_hint?: string;\n\t_id: string;\n\t_touched?: boolean;\n}): {\n\thasError: boolean;\n\thasHint: boolean;\n\tariaDescribedBy: string[];\n} => {\n\tconst hasError = typeof state._error === 'string' && state._error.length > 0 && state._touched === true;\n\tconst hasHint = typeof state._hint === 'string' && state._hint.length > 0;\n\n\tconst ariaDescribedBy: string[] = [];\n\tif (hasError === true) {\n\t\tariaDescribedBy.push(`${state._id}-error`);\n\t}\n\tif (hasHint === true) {\n\t\tariaDescribedBy.push(`${state._id}-hint`);\n\t}\n\treturn { hasError, hasHint, ariaDescribedBy };\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Passt die Höhe des Eingabefeldes automatisch an den Füllstand an.\n */\n/** en\n * Adjusts the height of the element to its content.\n */\nexport type PropAdjustHeight = {\n\tadjustHeight: boolean;\n};\n\n/* validator */\nexport const validateAdjustHeight = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_adjustHeight', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n */\n/** en\n * Shows if the input was touched by a user.\n */\nexport type PropTouched = {\n\ttouched: boolean;\n};\n\n/* validator */\nexport const validateTouched = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_touched', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { StencilUnknown } from '../../components';\nimport { validateTouched } from '../../types/props/touched';\nimport { devHint, devWarning } from '../../utils/a11y.tipps';\nimport { getExperimentalMode } from '../../utils/dev.utils';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { Props, Watches } from './types';\n\nconst EXPERIMENTAL_MODE = getExperimentalMode();\n\nexport class ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\n\tprotected readonly name: string;\n\tprotected readonly host?: HTMLElement;\n\n\tpublic readonly formAssociated?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\tpublic syncToOwnInput?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tthis.component = component;\n\t\tthis.name = name;\n\t\tthis.host = host;\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\tthis.host?.querySelectorAll('input,select,textarea').forEach((el) => {\n\t\t\t\tthis.host?.removeChild(el);\n\t\t\t});\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\tthis.formAssociated = document.createElement('select');\n\t\t\t\t\tthis.formAssociated.setAttribute('multiple', '');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'textarea':\n\t\t\t\t\tthis.formAssociated = document.createElement('textarea');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis.formAssociated = document.createElement('input');\n\t\t\t\t\tthis.formAssociated.setAttribute('type', 'hidden');\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tthis.formAssociated.setAttribute('aria-hidden', 'true');\n\t\t\tthis.formAssociated.setAttribute('data-form-associated', '');\n\t\t\tthis.formAssociated.setAttribute('hidden', '');\n\t\t\tthis.host?.appendChild(this.formAssociated);\n\t\t}\n\t}\n\n\tprotected setAttribute(qualifiedName: string, element?: HTMLElement, value?: string | number | boolean) {\n\t\tif (EXPERIMENTAL_MODE) {\n\t\t\ttry {\n\t\t\t\tvalue = typeof value === 'object' && value !== null ? JSON.stringify(value) : value;\n\t\t\t\tif (typeof value === 'boolean' || typeof value === 'number' || typeof value === 'string') {\n\t\t\t\t\telement?.setAttribute(qualifiedName, `${value as string}`);\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(`Invalid value type: ${typeof value}`);\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\telement?.removeAttribute(qualifiedName);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * We need to stringify the value, for the setAttribute method.\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/attributes#value\n\t *\n\t * TODO: It is possible that the value are a cyclic object value. So we need a custom\n\t * JSON.stringify method from outside to convert it to string.\n\t */\n\tprivate tryToStringifyValue(value: StencilUnknown): string | null {\n\t\ttry {\n\t\t\treturn typeof value === 'object' && value !== null ? JSON.stringify(value).toString() : value === null || value === undefined ? null : value.toString();\n\t\t} catch (e) {\n\t\t\tdevWarning(`The form field raw value is not able to stringify! ${e as string}`);\n\t\t\treturn '';\n\t\t}\n\t}\n\n\t/**\n\t * We try to support native form-associated custom elements.\n\t *\n\t * @see https://github.com/public-ui/kolibri/discussions/2821\n\t */\n\tpublic readonly setFormAssociatedValue = (rawValue: StencilUnknown) => {\n\t\tconst name = this.formAssociated?.getAttribute('name');\n\t\tif (name === null || name === '') {\n\t\t\tdevHint(` The form field (${this.name}) must have a name attribute to be form-associated. Please define the _name attribute.`);\n\t\t}\n\t\tconst strValue = this.tryToStringifyValue(rawValue);\n\t\tthis.syncValue(rawValue, strValue, this.formAssociated);\n\t\tthis.syncValue(rawValue, strValue, this.syncToOwnInput);\n\t};\n\n\tprivate syncValue(rawValue: StencilUnknown, strValue: string | null, associatedElement?: HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) {\n\t\tif (associatedElement) {\n\t\t\tswitch (this.name) {\n\t\t\t\tcase 'select':\n\t\t\t\t\t(associatedElement as HTMLSelectElement).querySelectorAll('option').forEach((el) => {\n\t\t\t\t\t\t(associatedElement as HTMLSelectElement).removeChild(el);\n\t\t\t\t\t});\n\t\t\t\t\tif (Array.isArray(rawValue)) {\n\t\t\t\t\t\trawValue.forEach((rawValueItem) => {\n\t\t\t\t\t\t\tconst strValueItem = this.tryToStringifyValue(rawValueItem as string);\n\t\t\t\t\t\t\tif (typeof strValueItem === 'string') {\n\t\t\t\t\t\t\t\tconst option = document.createElement('option');\n\t\t\t\t\t\t\t\toption.setAttribute('value', strValueItem);\n\t\t\t\t\t\t\t\toption.setAttribute('selected', '');\n\t\t\t\t\t\t\t\t(associatedElement as HTMLSelectElement).appendChild(option);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tif (typeof strValue === 'string') {\n\t\t\t\t\t\tassociatedElement.setAttribute('value', strValue);\n\t\t\t\t\t\tassociatedElement.value = strValue;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tassociatedElement.removeAttribute('value');\n\t\t\t\t\t\tassociatedElement.value = '';\n\t\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateAlert(value?: boolean): void {\n\t\twatchBoolean(this.component, '_alert', value);\n\t}\n\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tif (EXPERIMENTAL_MODE && typeof value === 'string') {\n\t\t\tconst input = document.querySelector(value) as HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\n\t\t\tif (input /* SSR instanceof HTMLInputElement */) {\n\t\t\t\tthis.syncToOwnInput = input;\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic validateTouched(value?: boolean): void {\n\t\tvalidateTouched(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateAlert(this.component._alert);\n\t\tthis.validateSyncValueBySelector(this.component._syncValueBySelector);\n\t\tthis.validateTouched(this.component._touched);\n\t}\n}\n","import { Generic } from '@a11y-ui/core';\n\nimport { ButtonProps } from '../../../types/button-link';\nimport { InputTypeOnDefault } from '../../../types/input/types';\nimport { validateAdjustHeight } from '../../../types/props/adjust-height';\nimport { LabelWithExpertSlotPropType, validateLabelWithExpertSlot } from '../../../types/props/label';\nimport { a11yHintDisabled, devHint } from '../../../utils/a11y.tipps';\nimport { objectObjectHandler, parseJson, setState, watchBoolean, watchString } from '../../../utils/prop.validators';\nimport { validateTabIndex } from '../../../utils/validators/tab-index';\nimport { ControlledInputController } from '../../input-adapter-leanup/controller';\nimport { Props as AdapterProps } from '../../input-adapter-leanup/types';\nimport { Props, Watches } from './types';\n\ntype ValueChangeListener = (value: string) => void;\n\nexport class InputController extends ControlledInputController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props & AdapterProps;\n\n\tpublic hideLabel = false;\n\n\tprivate readonly valueChangeListeners: ValueChangeListener[] = [];\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 validateAccessKey(value?: string): void {\n\t\twatchString(this.component, '_accessKey', value);\n\t}\n\n\tpublic validateAdjustHeight(value?: boolean): void {\n\t\tvalidateAdjustHeight(this.component, value);\n\t}\n\n\tpublic validateDisabled(value?: boolean): void {\n\t\twatchBoolean(this.component, '_disabled', value);\n\t\tif (value === true) {\n\t\t\ta11yHintDisabled();\n\t\t}\n\t}\n\n\tpublic validateError(value?: string): void {\n\t\twatchString(this.component, '_error', value);\n\t}\n\n\tpublic validateHideLabel(value?: boolean): void {\n\t\twatchBoolean(this.component, '_hideLabel', value);\n\t}\n\n\tpublic validateHint(value?: string): void {\n\t\twatchString(this.component, '_hint', value);\n\t}\n\n\tpublic validateId(value?: string): void {\n\t\twatchString(this.component, '_id', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('id', this.formAssociated, this.component.state._id as string);\n\t\t\t\t},\n\t\t\t},\n\t\t\tminLength: 1,\n\t\t});\n\t\tif (value === '' || typeof value === 'undefined') {\n\t\t\tdevHint(`Eine eindeutige ID an den Eingabefeldern ist nicht zwingend erforderlich, könnte aber für die E2E-Tests relevant sein.`);\n\t\t}\n\t}\n\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tvalidateLabelWithExpertSlot(this.component, value);\n\t}\n\n\tpublic validateName(value?: string): void {\n\t\twatchString(this.component, '_name', value, {\n\t\t\thooks: {\n\t\t\t\tafterPatch: () => {\n\t\t\t\t\tthis.setAttribute('name', this.formAssociated, this.component.state._name as string);\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\tif (typeof value === 'undefined') {\n\t\t\tdevHint(\n\t\t\t\t`Ein Name an den Eingabefeldern ist nicht zwingend erforderlich, kann aber für die Autocomplete-Funktion und für das statische Versenden des Eingabefeldes relevant sein.`\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tif (typeof value === 'object') {\n\t\t\tsetState(this.component, '_on', value);\n\t\t}\n\t}\n\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tobjectObjectHandler(value, () => {\n\t\t\ttry {\n\t\t\t\tvalue = parseJson<ButtonProps>(value as string);\n\t\t\t\t// eslint-disable-next-line no-empty\n\t\t\t} catch (e) {\n\t\t\t\t// value behält den ursprünglichen Wert\n\t\t\t}\n\t\t\tsetState(this.component, '_smartButton', value);\n\t\t});\n\t}\n\n\tpublic validateTabIndex(value?: number): void {\n\t\tvalidateTabIndex(this.component, value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccessKey(this.component._accessKey);\n\t\tthis.validateAdjustHeight(this.component._adjustHeight);\n\t\tthis.validateError(this.component._error);\n\t\tthis.validateDisabled(this.component._disabled);\n\t\tthis.validateHideLabel(this.component._hideLabel);\n\t\tthis.validateHint(this.component._hint);\n\t\tthis.validateId(this.component._id);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateName(this.component._name);\n\t\tthis.validateSmartButton(this.component._smartButton);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateTabIndex(this.component._tabIndex);\n\t}\n\n\tprotected onBlur(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tthis.component._touched = true;\n\t\tif (typeof this.component._on?.onBlur === 'function') {\n\t\t\tthis.component._on.onBlur(event);\n\t\t}\n\t}\n\n\tprotected onChange(event: Event): void {\n\t\tconst value = (event.target as HTMLInputElement).value;\n\t\tthis.setFormAssociatedValue(value);\n\t\tthis.valueChangeListeners.forEach((listener) => listener(value));\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\t/**\n\t\t\t * TODO\n\t\t\t * Value-Handling muss für InputDate und InputNumber optimiert werden\n\t\t\t * - value\n\t\t\t * - valueAsNumber\n\t\t\t * - valueAsDate\n\t\t\t */\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tprotected onClick(event: Event): void {\n\t\tif (typeof this.component._on?.onClick === 'function') {\n\t\t\tthis.component._on.onClick(event);\n\t\t}\n\t}\n\n\tprotected onFocus(event: Event): void {\n\t\tthis.component._alert = true;\n\t\tif (typeof this.component._on?.onFocus === 'function') {\n\t\t\tthis.component._on.onFocus(event);\n\t\t}\n\t}\n\n\tpublic setValue(event: Event, value: string | number | boolean): void {\n\t\tthis.setFormAssociatedValue(value as string);\n\t\tif (typeof this.component._on?.onChange === 'function') {\n\t\t\tthis.component._on.onChange(event, value);\n\t\t}\n\t}\n\n\tpublic addValueChangeListener(listener: ValueChangeListener) {\n\t\tthis.valueChangeListeners.push(listener);\n\t}\n\n\t/**\n\t * Hinweis: In der Subklasse 'InputPasswordController'\n\t * werden die Methoden onBlur und onFocus\n\t * überschrieben.\n\t * Es werden somit zunächst die Methoden der\n\t * Subklasse ausgeführt und danach die der\n\t * Oberklassen.\n\t */\n\tpublic readonly onFacade = {\n\t\tonBlur: this.onBlur.bind(this),\n\t\tonChange: this.onChange.bind(this),\n\t\tonClick: this.onClick.bind(this),\n\t\tonFocus: this.onFocus.bind(this),\n\t};\n}\n"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as t,c as e,w as s,m as i,s as o}from"./prop.validators-464644b7.js";import{S as a}from"./reuse-c2156413.js";import{I as r}from"./controller-3591f4ce.js";import{h as n,c as l}from"./label-50013d13.js";import{a as h}from"./a11y.tipps-d701911f.js";const f=(e,o)=>{t(e,"_required",o)},c=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===n(t.label,3)&&!1===l(t.label)&&h(`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===c(t)));if("number"==typeof t.label)return!0}return!1},u=(t,o,i={})=>{e(t,"_options",(t=>"object"==typeof t&&null!==t&&"string"==typeof t.label&&t.label.length>0),o,void 0,i)},p=(t,o,i={})=>{e(t,"_options",c,o,void 0,i)},d=(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)?d(t,e.options,a):t.set(a,e))}))};class m extends r{constructor(t,e,o){super(t,e,o),this.component=t}validateRequired(t){f(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateRequired(this.component._required)}}class b extends m{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(),d(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){s(this.component,"_orientation",(t=>"horizontal"===t||"vertical"===t),new Set(["Orientation {horizontal, vertical}"]),t,{defaultValue:"vertical"})}validateOptions(t){u(this.component,t,{hooks:{beforePatch:this.beforePatchOptions}})}validateValue(t){t=i(t),t=Array.isArray(t)?t[0]:t,o(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(a)}))}},this.validateOrientation(this.component._orientation),this.validateOptions(this.component._options||this.component._list),this.validateValue(this.component._value)}}export{m as I,b as a,d as f,p as v};
@@ -1 +0,0 @@
1
- {"version":3,"names":["validateRequired","component","value","watchBoolean","validateInputSelectOptions","option","label","length","disabled","trim","hasEnoughReadableChars","containsOnlyNumbers","a11yHint","Array","isArray","options","find","item","undefined","validateOptions","watchJsonArrayString","validateOptionsWithOptgroup","fillKeyOptionMap","keyOptionMap","preKey","forEach","index","key","set","InputCheckboxRadioController","InputController","constructor","name","host","super","this","componentWillLoad","_required","InputRadioController","Map","getOptionByKey","get","isValueInOptions","beforePatchOptions","_value","nextState","has","state","_options","clear","newValue","onStateChange","validateOrientation","watchValidator","Set","defaultValue","hooks","beforePatch","validateValue","mapString2Unknown","setState","setFormAssociatedValue","onChange","timeout","setTimeout","clearTimeout","STATE_CHANGE_EVENT","_orientation","_list"],"sources":["src/types/props/required.ts","src/utils/validators/options.ts","src/types/props/options.ts","src/components/input-radio/controller.ts"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht das Eingabeelement zu einem Pflichtfeld.\n */\n/** en\n * Makes the input element required.\n */\nexport type PropRequired = {\n\trequired: boolean;\n};\n\n/* validator */\nexport const validateRequired = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_required', value);\n};\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';\nimport { watchJsonArrayString, WatchOptions } from '../../utils/prop.validators';\nimport { Stringified } from '../common';\nimport { Optgroup, Option } from '../input/types';\nimport { W3CInputValue } from '../w3c';\nimport { validateInputSelectOptions } from '../../utils/validators/options';\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 { Stringified } from '../../types/common';\nimport { Optgroup, Option, SelectOption } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { PropLabelWithExpertSlot } from '../../types/props/label';\nimport { validateRequired } from '../../types/props/required';\nimport { W3CInputValue } from '../../types/w3c';\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';\nimport { OptionsPropType, validateOptions } from '../../types/props/options';\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 = PropLabelWithExpertSlot;\ntype OptionalProps = {\n\trequired: boolean;\n};\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 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<unknown>): void {\n\t\tvalue = mapString2Unknown(value);\n\t\tvalue = Array.isArray(value) ? value[0] : 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 || this.component._list);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{i as o}from"./icon-2102545a.js";import{o as t,p as s,w as i}from"./prop.validators-464644b7.js";import{i as r}from"./reuse-c2156413.js";import{I as e}from"./controller-3591f4ce.js";const c=(o,t)=>{const e=o;"object"==typeof e&&null!==e&&(r(e.right,1)&&(e.right={icon:e.right}),r(e.left,1)&&(e.left={icon:e.left}),t.set("_icon",e))};class n extends e{constructor(o,t,e){super(o,t,e),this.component=o}validateIcon(e){t(e,(()=>{try{e=s(e)}catch(o){}i(this.component,"_icon",(t=>"object"==typeof t&&null!==t&&(r(t.left,1)||o(t.left)||r(t.right,1)||o(t.right))),new Set(["KoliBriHorizontalIcon"]),e,{hooks:{beforePatch:c},required:!0})}))}componentWillLoad(){super.componentWillLoad(),this.validateIcon(this.component._icon)}}export{n as I};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{i as t,e as o,r as s,g as e,L as r,b as a,f as i,K as l}from"./dev.utils-d53ab83f.js";import{n,q as p,k as c,t as f,u as d,p as L,v as m}from"./prop.validators-464644b7.js";import"./reuse-c2156413.js";import"./a11y.tipps-d701911f.js";import"./index-37b5cbcf.js";function u(t,e){try{Object.defineProperty(l,t,{get:function(){return e}})}catch(e){r.debug(`KoliBri property ${t} is already bind.`)}}const v=(t,e)=>r.debug(`${t} ${e?"":"not "}activated`),h=()=>{if(t(),o()){s(),u("a11yColorContrast",p),u("querySelector",c),u("querySelectorAll",f),u("querySelectorColors",d),u("utils",(function(){return n})),u("parseJson",L),u("stringifyJson",m);const t=e().body,r=e().createElement("svg");if(r.setAttribute("aria-label","KoliBri-DevTools"),r.setAttribute("xmlns","http://www.w3.org/2000/svg"),r.setAttribute("role","toolbar"),r.setAttribute("style","position: fixed;color: black;font-size: 200%;bottom: 0.25rem;right: 0.25rem;"),r.innerHTML='<svg\n xmlns="http://www.w3.org/2000/svg"\n width="50"\n height="50"\n viewBox="0 0 600 600"\n>\n <path d="M353 322L213 304V434L353 322Z" fill="#047" />\n <path d="M209 564V304L149 434L209 564Z" fill="#047" />\n <path d="M357 316L417 250L361 210L275 244L357 316Z" fill="#047" />\n <path d="M353 318L35 36L213 300L353 318Z" fill="#047" />\n <path d="M329 218L237 92L250 222L272 241L329 218Z" fill="#047" />\n <path d="M391 286L565 272L421 252L391 286Z" fill="#047" />\n</svg>',e().body.appendChild(r),v("Development mode",o()),v("Experimental mode",a()),v("Color contrast analysis",i()),i()){const o=setTimeout((()=>{clearTimeout(o),setInterval((()=>{n.queryHtmlElementColors(e().createElement("div"),p(t),!1,!1)}),1e4)}),2500)}}};export{h as initialize};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as o}from"./prop.validators-464644b7.js";const s=(s,a)=>{o(s,"_hasCloser",a)};export{s as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a}from"./prop.validators-464644b7.js";const o=(o,r)=>{a(o,"_hideLabel",r)};export{o as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{d as o}from"./prop.validators-464644b7.js";const r=(r,s,a)=>{o(r,"_src",s,a)};export{r as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as t,u as o}from"./a11y.tipps-d701911f.js";import{w as e}from"./prop.validators-464644b7.js";const a=/[a-zA-Z0-9äöüÄÖÜß]/g,s=/^\d+$/;function n(t){var e;return"string"==typeof t&&(null===(e=t.match(a))||void 0===e?void 0:e.length)||0}function r(t,e=1){return n(t)>=e}function i(t){return s.test(t)}function l(e){var a;return{hooks:{afterPatch:(a,n,s,l)=>{var f,c;"function"==typeof(null===(f=e.hooks)||void 0===f?void 0:f.afterPatch)&&(null===(c=e.hooks)||void 0===c||c.afterPatch(a,n,s,l)),"string"==typeof a&&!1===r(a,3)&&!1===i(a)&&t(`The heading or label ("${a}") is not accessible. A label should consist of at least three readable characters.`),"string"==typeof a&&a.length>80&&o("A heading or label should not be longer than 80 characters.")},beforePatch:null===(a=e.hooks)||void 0===a?void 0:a.beforePatch}}}const f=new Set(["string"]),c=(t,o,a={})=>{e(t,"_label",(t=>"string"==typeof t),f,o,l(a))},d=new Set(["string","false"]),u=(t,o,a={})=>{""!==o&&"false"!==o||(o=!1),e(t,"_label",(t=>!1===t||"string"==typeof t),d,o,l(a))};export{u as a,i as c,r as h,c as v};
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{e as o}from"./prop.validators-464644b7.js";const r=(r,s)=>{o(r,"_rows",s,{min:1})};export{r as v};
@@ -1 +0,0 @@
1
- {"version":3,"names":["validateRows","component","value","watchNumber","min"],"sources":["src/types/props/rows.ts"],"sourcesContent":["/* types */\nimport { Generic } from '@a11y-ui/core';\nimport { watchNumber } from '../../utils/prop.validators';\n\nexport type RowsPropType = number;\n\n/**\n * Number of rows of the input element that should be visible at the same time.\n */\nexport type PropRows = {\n\trows: RowsPropType;\n};\n\n/* validator */\nexport const validateRows = (component: Generic.Element.Component, value?: RowsPropType): void => {\n\twatchNumber(component, `_rows`, value, { min: 1 });\n};\n"],"mappings":";;;wDAcaA,EAAe,CAACC,EAAsCC,KAClEC,EAAYF,EAAW,QAASC,EAAO,CAAEE,IAAK,GAAI,S"}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{a as o}from"./prop.validators-464644b7.js";const s=(s,a,r)=>{o(s,"_show",a,r)};export{s as v};
@@ -1 +0,0 @@
1
- {"version":3,"names":["validateSuggestions","component","value","watchJsonArrayString","item"],"sources":["src/types/props/suggestions.ts"],"sourcesContent":["import { Stringified } from '../common';\nimport { watchJsonArrayString } from '../../utils/prop.validators';\nimport { Generic } from '@a11y-ui/core';\nimport { W3CInputValue } from '../w3c';\n\nexport type SuggestionsPropType = Stringified<W3CInputValue[]>;\n\n/**\n * Suggestions to provide for an input.\n */\nexport type PropSuggestions = {\n\tsuggestions: SuggestionsPropType;\n};\n\n/* validator */\nexport const validateSuggestions = (component: Generic.Element.Component, value?: SuggestionsPropType): void => {\n\twatchJsonArrayString(component, '_suggestions', (item: W3CInputValue) => typeof item === 'string' || typeof item === 'number', value);\n};\n"],"mappings":";;;wDAeaA,EAAsB,CAACC,EAAsCC,KACzEC,EAAqBF,EAAW,gBAAiBG,UAA+BA,IAAS,iBAAmBA,IAAS,UAAUF,EAAM,S"}
@@ -1,4 +0,0 @@
1
- /*!
2
- * KoliBri - The accessible HTML-Standard
3
- */
4
- import{c as o}from"./a11y.tipps-d701911f.js";import{c as t}from"./prop.validators-464644b7.js";const s=(s,p,r)=>{t(p,"_links",(t=>"object"==typeof t&&("string"==typeof t._href||"string"==typeof t._label)),r),o(s,p.state._links.length)};export{s as w};