@public-ui/components 1.6.0-rc.12 → 1.6.0-rc.14

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 (509) hide show
  1. package/custom-elements.json +5 -5
  2. package/dist/cjs/{a11y.tipps-b7561cd9.js → a11y.tipps-dbfe482e.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-b7561cd9.js.map → a11y.tipps-dbfe482e.js.map} +1 -1
  4. package/dist/cjs/{app-globals-76ba24c3.js → app-globals-3c457229.js} +1 -1
  5. package/dist/cjs/{app-globals-76ba24c3.js.map → app-globals-3c457229.js.map} +1 -1
  6. package/dist/cjs/{aria-selected-0ad16d16.js → aria-selected-b31756b3.js} +1 -1
  7. package/dist/cjs/{aria-selected-0ad16d16.js.map → aria-selected-b31756b3.js.map} +1 -1
  8. package/dist/cjs/{button-link-1df10d7c.js → button-link-58e21d08.js} +1 -1
  9. package/dist/cjs/{button-link-1df10d7c.js.map → button-link-58e21d08.js.map} +1 -1
  10. package/dist/cjs/{color-b81183e4.js → color-3b22adaf.js} +1 -1
  11. package/dist/cjs/{color-b81183e4.js.map → color-3b22adaf.js.map} +1 -1
  12. package/dist/cjs/{controller-6aabbf41.js → controller-0cd28689.js} +1 -1
  13. package/dist/cjs/{controller-6aabbf41.js.map → controller-0cd28689.js.map} +1 -1
  14. package/dist/cjs/{controller-d513b916.js → controller-43fe103f.js} +1 -1
  15. package/dist/cjs/{controller-d513b916.js.map → controller-43fe103f.js.map} +1 -1
  16. package/dist/cjs/controller-48d4248f.js +4 -0
  17. package/dist/cjs/controller-48d4248f.js.map +1 -0
  18. package/dist/cjs/{controller-7c4cd449.js → controller-bc933b12.js} +1 -1
  19. package/dist/cjs/{controller-7c4cd449.js.map → controller-bc933b12.js.map} +1 -1
  20. package/dist/cjs/controller-c3021b2f.js +4 -0
  21. package/dist/cjs/controller-c3021b2f.js.map +1 -0
  22. package/dist/cjs/{controller-9a10b30b.js → controller-ceae9412.js} +1 -1
  23. package/dist/cjs/{controller-9a10b30b.js.map → controller-ceae9412.js.map} +1 -1
  24. package/dist/cjs/{controller-icon-d2ec9da9.js → controller-icon-ceafc344.js} +1 -1
  25. package/dist/cjs/{controller-icon-d2ec9da9.js.map → controller-icon-ceafc344.js.map} +1 -1
  26. package/dist/cjs/dev.utils-78d00548.js +4 -0
  27. package/dist/cjs/{dev.utils-b2b6f024.js.map → dev.utils-78d00548.js.map} +1 -1
  28. package/dist/cjs/{devtools-60ad513c.js → devtools-7f99e00b.js} +1 -1
  29. package/dist/cjs/devtools-7f99e00b.js.map +1 -0
  30. package/dist/cjs/{disabled-98957f7e.js → disabled-959951da.js} +1 -1
  31. package/dist/cjs/{disabled-98957f7e.js.map → disabled-959951da.js.map} +1 -1
  32. package/dist/cjs/floating-ui.dom.esm-09852e47.js +4 -0
  33. package/dist/cjs/floating-ui.dom.esm-09852e47.js.map +1 -0
  34. package/dist/cjs/has-closer-01ac076a.js +4 -0
  35. package/dist/cjs/{has-closer-7d377e88.js.map → has-closer-01ac076a.js.map} +1 -1
  36. package/dist/cjs/hide-label-4d99f1d9.js +4 -0
  37. package/dist/cjs/{hide-label-9bf6abe6.js.map → hide-label-4d99f1d9.js.map} +1 -1
  38. package/dist/cjs/{i18n-43926d90.js → i18n-8d483c7b.js} +1 -1
  39. package/dist/cjs/{i18n-43926d90.js.map → i18n-8d483c7b.js.map} +1 -1
  40. package/dist/cjs/{icon-deabb5a9.js → icon-4b915891.js} +1 -1
  41. package/dist/cjs/{icon-deabb5a9.js.map → icon-4b915891.js.map} +1 -1
  42. package/dist/cjs/index.cjs.js +1 -1
  43. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-icon-icofont.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  84. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  90. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  93. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  94. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  96. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  101. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  103. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  105. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  106. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  107. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  108. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  109. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  111. package/dist/cjs/kolibri.cjs.js +1 -1
  112. package/dist/cjs/{label-5738ac71.js → label-f31696ce.js} +1 -1
  113. package/dist/cjs/{label-5738ac71.js.map → label-f31696ce.js.map} +1 -1
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/cjs/prop.validators-7219caea.js +4 -0
  116. package/dist/cjs/prop.validators-7219caea.js.map +1 -0
  117. package/dist/cjs/show-a8907ed7.js +4 -0
  118. package/dist/cjs/{show-942951b7.js.map → show-a8907ed7.js.map} +1 -1
  119. package/dist/cjs/{tab-index-31c874b2.js → tab-index-fd4498b0.js} +1 -1
  120. package/dist/cjs/{tab-index-31c874b2.js.map → tab-index-fd4498b0.js.map} +1 -1
  121. package/dist/cjs/validation-6faf86e0.js +4 -0
  122. package/dist/cjs/{validation-6c112462.js.map → validation-6faf86e0.js.map} +1 -1
  123. package/dist/cjs/{validation-1f68fe35.js → validation-8cba92a6.js} +1 -1
  124. package/dist/cjs/{validation-1f68fe35.js.map → validation-8cba92a6.js.map} +1 -1
  125. package/dist/components/component13.js +1 -1
  126. package/dist/components/component13.js.map +1 -1
  127. package/dist/components/component14.js +1 -1
  128. package/dist/components/component14.js.map +1 -1
  129. package/dist/components/component15.js +1 -1
  130. package/dist/components/component15.js.map +1 -1
  131. package/dist/components/component2.js +1 -1
  132. package/dist/components/component2.js.map +1 -1
  133. package/dist/components/component5.js +1 -1
  134. package/dist/components/component5.js.map +1 -1
  135. package/dist/components/controller.js +1 -1
  136. package/dist/components/controller.js.map +1 -1
  137. package/dist/components/devtools.js +1 -1
  138. package/dist/components/devtools.js.map +1 -1
  139. package/dist/components/floating-ui.dom.esm.js +1 -1
  140. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  141. package/dist/components/kol-breadcrumb.js.map +1 -1
  142. package/dist/components/kol-icon-font-awesome.js +1 -1
  143. package/dist/components/kol-icon-font-awesome.js.map +1 -1
  144. package/dist/components/kol-icon-icofont.js +1 -1
  145. package/dist/components/kol-icon-icofont.js.map +1 -1
  146. package/dist/components/kol-input-adapter-leanup.js +1 -1
  147. package/dist/components/kol-input-adapter-leanup.js.map +1 -1
  148. package/dist/components/kol-input-checkbox.js +1 -1
  149. package/dist/components/kol-input-checkbox.js.map +1 -1
  150. package/dist/components/kol-input-color.js +1 -1
  151. package/dist/components/kol-input-color.js.map +1 -1
  152. package/dist/components/kol-input-date.js +1 -1
  153. package/dist/components/kol-input-date.js.map +1 -1
  154. package/dist/components/kol-input-email.js +1 -1
  155. package/dist/components/kol-input-email.js.map +1 -1
  156. package/dist/components/kol-input-file.js +1 -1
  157. package/dist/components/kol-input-file.js.map +1 -1
  158. package/dist/components/kol-input-number.js +1 -1
  159. package/dist/components/kol-input-number.js.map +1 -1
  160. package/dist/components/kol-input-password.js +1 -1
  161. package/dist/components/kol-input-password.js.map +1 -1
  162. package/dist/components/kol-input-range.js +1 -1
  163. package/dist/components/kol-input-range.js.map +1 -1
  164. package/dist/components/kol-input-text.js +1 -1
  165. package/dist/components/kol-input-text.js.map +1 -1
  166. package/dist/components/kol-tabs.js +1 -1
  167. package/dist/components/kol-tabs.js.map +1 -1
  168. package/dist/components/kol-textarea.js +1 -1
  169. package/dist/components/kol-textarea.js.map +1 -1
  170. package/dist/components/prop.validators.js +1 -1
  171. package/dist/components/prop.validators.js.map +1 -1
  172. package/dist/esm/{a11y.tipps-e607b8b3.js → a11y.tipps-9f948961.js} +1 -1
  173. package/dist/esm/{a11y.tipps-e607b8b3.js.map → a11y.tipps-9f948961.js.map} +1 -1
  174. package/dist/esm/app-globals-bf9eb17a.js +4 -0
  175. package/dist/esm/{app-globals-1811b38e.js.map → app-globals-bf9eb17a.js.map} +1 -1
  176. package/dist/esm/{aria-selected-d90aa300.js → aria-selected-b9d7d1e4.js} +1 -1
  177. package/dist/esm/{aria-selected-d90aa300.js.map → aria-selected-b9d7d1e4.js.map} +1 -1
  178. package/dist/esm/{button-link-2ad7f3cf.js → button-link-99acae48.js} +1 -1
  179. package/dist/esm/{button-link-2ad7f3cf.js.map → button-link-99acae48.js.map} +1 -1
  180. package/dist/esm/{color-9d0ce5e3.js → color-408da8e8.js} +1 -1
  181. package/dist/esm/{color-9d0ce5e3.js.map → color-408da8e8.js.map} +1 -1
  182. package/dist/esm/{controller-ff99125c.js → controller-31db8bf4.js} +1 -1
  183. package/dist/esm/{controller-ff99125c.js.map → controller-31db8bf4.js.map} +1 -1
  184. package/dist/esm/{controller-0a60db6b.js → controller-3391cc2d.js} +1 -1
  185. package/dist/esm/{controller-0a60db6b.js.map → controller-3391cc2d.js.map} +1 -1
  186. package/dist/esm/{controller-d064cead.js → controller-6ed90cd7.js} +1 -1
  187. package/dist/esm/{controller-d064cead.js.map → controller-6ed90cd7.js.map} +1 -1
  188. package/dist/esm/controller-b036f128.js +4 -0
  189. package/dist/esm/controller-b036f128.js.map +1 -0
  190. package/dist/esm/controller-b26721c9.js +4 -0
  191. package/dist/esm/controller-b26721c9.js.map +1 -0
  192. package/dist/esm/{controller-3b1a37ac.js → controller-f8056e1a.js} +1 -1
  193. package/dist/esm/{controller-3b1a37ac.js.map → controller-f8056e1a.js.map} +1 -1
  194. package/dist/esm/{controller-icon-ba3c5351.js → controller-icon-7b8f547d.js} +1 -1
  195. package/dist/esm/{controller-icon-ba3c5351.js.map → controller-icon-7b8f547d.js.map} +1 -1
  196. package/dist/esm/{dev.utils-8aef00f6.js → dev.utils-4290338e.js} +1 -1
  197. package/dist/esm/{dev.utils-8aef00f6.js.map → dev.utils-4290338e.js.map} +1 -1
  198. package/dist/esm/devtools-57a6a46f.js +4 -0
  199. package/dist/esm/devtools-57a6a46f.js.map +1 -0
  200. package/dist/esm/{disabled-cac31f02.js → disabled-559fd371.js} +1 -1
  201. package/dist/esm/{disabled-cac31f02.js.map → disabled-559fd371.js.map} +1 -1
  202. package/dist/esm/floating-ui.dom.esm-26e61da8.js +4 -0
  203. package/dist/esm/floating-ui.dom.esm-26e61da8.js.map +1 -0
  204. package/dist/esm/{has-closer-268d165e.js → has-closer-62a48dbd.js} +1 -1
  205. package/dist/esm/{has-closer-268d165e.js.map → has-closer-62a48dbd.js.map} +1 -1
  206. package/dist/esm/{hide-label-e9f288ac.js → hide-label-9248468d.js} +1 -1
  207. package/dist/esm/{hide-label-e9f288ac.js.map → hide-label-9248468d.js.map} +1 -1
  208. package/dist/esm/{i18n-64b07ed9.js → i18n-23b83118.js} +1 -1
  209. package/dist/esm/{i18n-64b07ed9.js.map → i18n-23b83118.js.map} +1 -1
  210. package/dist/esm/{icon-278d567d.js → icon-e03e73f6.js} +1 -1
  211. package/dist/esm/{icon-278d567d.js.map → icon-e03e73f6.js.map} +1 -1
  212. package/dist/esm/index.js +1 -1
  213. package/dist/esm/kol-abbr.entry.js +1 -1
  214. package/dist/esm/kol-accordion.entry.js +1 -1
  215. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  216. package/dist/esm/kol-badge.entry.js +1 -1
  217. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  218. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  219. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  220. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  221. package/dist/esm/kol-card.entry.js +1 -1
  222. package/dist/esm/kol-details.entry.js +1 -1
  223. package/dist/esm/kol-form.entry.js +1 -1
  224. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  225. package/dist/esm/kol-icon-font-awesome.entry.js.map +1 -1
  226. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  227. package/dist/esm/kol-icon-icofont.entry.js.map +1 -1
  228. package/dist/esm/kol-icon.entry.js +1 -1
  229. package/dist/esm/kol-icon.entry.js.map +1 -1
  230. package/dist/esm/kol-image.entry.js +1 -1
  231. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  232. package/dist/esm/kol-input-adapter-leanup.entry.js.map +1 -1
  233. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  234. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  235. package/dist/esm/kol-input-color.entry.js +1 -1
  236. package/dist/esm/kol-input-color.entry.js.map +1 -1
  237. package/dist/esm/kol-input-date.entry.js +1 -1
  238. package/dist/esm/kol-input-date.entry.js.map +1 -1
  239. package/dist/esm/kol-input-email.entry.js +1 -1
  240. package/dist/esm/kol-input-email.entry.js.map +1 -1
  241. package/dist/esm/kol-input-file.entry.js +1 -1
  242. package/dist/esm/kol-input-file.entry.js.map +1 -1
  243. package/dist/esm/kol-input-number.entry.js +1 -1
  244. package/dist/esm/kol-input-number.entry.js.map +1 -1
  245. package/dist/esm/kol-input-password.entry.js +1 -1
  246. package/dist/esm/kol-input-password.entry.js.map +1 -1
  247. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  248. package/dist/esm/kol-input-radio.entry.js +1 -1
  249. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  250. package/dist/esm/kol-input-range.entry.js +1 -1
  251. package/dist/esm/kol-input-range.entry.js.map +1 -1
  252. package/dist/esm/kol-input-text.entry.js +1 -1
  253. package/dist/esm/kol-input-text.entry.js.map +1 -1
  254. package/dist/esm/kol-kolibri.entry.js +1 -1
  255. package/dist/esm/kol-link-button.entry.js +1 -1
  256. package/dist/esm/kol-link-group.entry.js +1 -1
  257. package/dist/esm/kol-link-wc.entry.js +1 -1
  258. package/dist/esm/kol-logo.entry.js +1 -1
  259. package/dist/esm/kol-modal.entry.js +1 -1
  260. package/dist/esm/kol-nav.entry.js +1 -1
  261. package/dist/esm/kol-pagination.entry.js +1 -1
  262. package/dist/esm/kol-pagination.entry.js.map +1 -1
  263. package/dist/esm/kol-popover.entry.js +1 -1
  264. package/dist/esm/kol-progress.entry.js +1 -1
  265. package/dist/esm/kol-quote.entry.js +1 -1
  266. package/dist/esm/kol-select.entry.js +1 -1
  267. package/dist/esm/kol-select.entry.js.map +1 -1
  268. package/dist/esm/kol-skip-nav.entry.js +1 -1
  269. package/dist/esm/kol-span-wc.entry.js +1 -1
  270. package/dist/esm/kol-spin.entry.js +1 -1
  271. package/dist/esm/kol-split-button.entry.js +1 -1
  272. package/dist/esm/kol-symbol.entry.js +1 -1
  273. package/dist/esm/kol-table.entry.js +1 -1
  274. package/dist/esm/kol-tabs.entry.js +1 -1
  275. package/dist/esm/kol-tabs.entry.js.map +1 -1
  276. package/dist/esm/kol-textarea.entry.js +1 -1
  277. package/dist/esm/kol-textarea.entry.js.map +1 -1
  278. package/dist/esm/kol-toast.entry.js +1 -1
  279. package/dist/esm/kol-tooltip.entry.js +1 -1
  280. package/dist/esm/kol-version.entry.js +1 -1
  281. package/dist/esm/kolibri.js +1 -1
  282. package/dist/esm/{label-bd9566f6.js → label-223fef8f.js} +1 -1
  283. package/dist/esm/{label-bd9566f6.js.map → label-223fef8f.js.map} +1 -1
  284. package/dist/esm/loader.js +1 -1
  285. package/dist/esm/prop.validators-601f1068.js +4 -0
  286. package/dist/esm/{prop.validators-683bb1d0.js.map → prop.validators-601f1068.js.map} +1 -1
  287. package/dist/esm/{show-2b9058c9.js → show-6d33a33f.js} +1 -1
  288. package/dist/esm/{show-2b9058c9.js.map → show-6d33a33f.js.map} +1 -1
  289. package/dist/esm/{tab-index-6d37f269.js → tab-index-fc60df7a.js} +1 -1
  290. package/dist/esm/{tab-index-6d37f269.js.map → tab-index-fc60df7a.js.map} +1 -1
  291. package/dist/esm/validation-4acc18ad.js +4 -0
  292. package/dist/esm/{validation-1f01325c.js.map → validation-4acc18ad.js.map} +1 -1
  293. package/dist/esm/{validation-0efb75d3.js → validation-5300d0a1.js} +1 -1
  294. package/dist/esm/{validation-0efb75d3.js.map → validation-5300d0a1.js.map} +1 -1
  295. package/dist/kolibri/{a11y.tipps-e607b8b3.js → a11y.tipps-9f948961.js} +1 -1
  296. package/dist/kolibri/app-globals-bf9eb17a.js +4 -0
  297. package/dist/kolibri/{app-globals-1811b38e.js.map → app-globals-bf9eb17a.js.map} +1 -1
  298. package/dist/kolibri/{aria-selected-d90aa300.js → aria-selected-b9d7d1e4.js} +1 -1
  299. package/dist/kolibri/assets/simulations/form-simulation.js +1 -1
  300. package/dist/kolibri/{button-link-2ad7f3cf.js → button-link-99acae48.js} +1 -1
  301. package/dist/kolibri/{color-9d0ce5e3.js → color-408da8e8.js} +1 -1
  302. package/dist/kolibri/{controller-ff99125c.js → controller-31db8bf4.js} +1 -1
  303. package/dist/kolibri/{controller-0a60db6b.js → controller-3391cc2d.js} +1 -1
  304. package/dist/kolibri/{controller-d064cead.js → controller-6ed90cd7.js} +1 -1
  305. package/dist/kolibri/{controller-ca0fe64f.js → controller-b036f128.js} +1 -1
  306. package/dist/kolibri/controller-b036f128.js.map +1 -0
  307. package/dist/kolibri/controller-b26721c9.js +4 -0
  308. package/dist/kolibri/controller-b26721c9.js.map +1 -0
  309. package/dist/kolibri/{controller-3b1a37ac.js → controller-f8056e1a.js} +1 -1
  310. package/dist/kolibri/controller-icon-7b8f547d.js +4 -0
  311. package/dist/kolibri/dev.utils-4290338e.js.map +1 -0
  312. package/dist/kolibri/{devtools-eaaafe9d.js → devtools-57a6a46f.js} +1 -1
  313. package/dist/kolibri/devtools-57a6a46f.js.map +1 -0
  314. package/dist/kolibri/{disabled-cac31f02.js → disabled-559fd371.js} +1 -1
  315. package/dist/kolibri/floating-ui.dom.esm-26e61da8.js +4 -0
  316. package/dist/kolibri/floating-ui.dom.esm-26e61da8.js.map +1 -0
  317. package/dist/kolibri/has-closer-62a48dbd.js +4 -0
  318. package/dist/kolibri/hide-label-9248468d.js +4 -0
  319. package/dist/kolibri/{i18n-64b07ed9.js → i18n-23b83118.js} +1 -1
  320. package/dist/kolibri/{icon-278d567d.js → icon-e03e73f6.js} +1 -1
  321. package/dist/kolibri/index.esm.js +1 -1
  322. package/dist/kolibri/kol-abbr.entry.js +1 -1
  323. package/dist/kolibri/kol-accordion.entry.js +1 -1
  324. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  325. package/dist/kolibri/kol-badge.entry.js +1 -1
  326. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  327. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  328. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  329. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  330. package/dist/kolibri/kol-card.entry.js +1 -1
  331. package/dist/kolibri/kol-details.entry.js +1 -1
  332. package/dist/kolibri/kol-form.entry.js +1 -1
  333. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  334. package/dist/kolibri/kol-icon-font-awesome.entry.js.map +1 -1
  335. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  336. package/dist/kolibri/kol-icon-icofont.entry.js.map +1 -1
  337. package/dist/kolibri/kol-icon.entry.js +1 -1
  338. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  339. package/dist/kolibri/kol-image.entry.js +1 -1
  340. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  341. package/dist/kolibri/kol-input-adapter-leanup.entry.js.map +1 -1
  342. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  343. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  344. package/dist/kolibri/kol-input-color.entry.js +1 -1
  345. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  346. package/dist/kolibri/kol-input-date.entry.js +1 -1
  347. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  348. package/dist/kolibri/kol-input-email.entry.js +1 -1
  349. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  350. package/dist/kolibri/kol-input-file.entry.js +1 -1
  351. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  352. package/dist/kolibri/kol-input-number.entry.js +1 -1
  353. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  354. package/dist/kolibri/kol-input-password.entry.js +1 -1
  355. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  356. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  357. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  358. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  359. package/dist/kolibri/kol-input-range.entry.js +1 -1
  360. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  361. package/dist/kolibri/kol-input-text.entry.js +1 -1
  362. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  363. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  364. package/dist/kolibri/kol-link-button.entry.js +1 -1
  365. package/dist/kolibri/kol-link-group.entry.js +1 -1
  366. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  367. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  368. package/dist/kolibri/kol-logo.entry.js +1 -1
  369. package/dist/kolibri/kol-modal.entry.js +1 -1
  370. package/dist/kolibri/kol-nav.entry.js +1 -1
  371. package/dist/kolibri/kol-pagination.entry.js +1 -1
  372. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  373. package/dist/kolibri/kol-popover.entry.js +1 -1
  374. package/dist/kolibri/kol-progress.entry.js +1 -1
  375. package/dist/kolibri/kol-quote.entry.js +1 -1
  376. package/dist/kolibri/kol-select.entry.js +1 -1
  377. package/dist/kolibri/kol-select.entry.js.map +1 -1
  378. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  379. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  380. package/dist/kolibri/kol-spin.entry.js +1 -1
  381. package/dist/kolibri/kol-split-button.entry.js +1 -1
  382. package/dist/kolibri/kol-symbol.entry.js +1 -1
  383. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  384. package/dist/kolibri/kol-table.entry.js +1 -1
  385. package/dist/kolibri/kol-tabs.entry.js +1 -1
  386. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  387. package/dist/kolibri/kol-textarea.entry.js +1 -1
  388. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  389. package/dist/kolibri/kol-toast.entry.js +1 -1
  390. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  391. package/dist/kolibri/kol-version.entry.js +1 -1
  392. package/dist/kolibri/kolibri.esm.js +1 -1
  393. package/dist/kolibri/label-223fef8f.js +4 -0
  394. package/dist/kolibri/{label-bd9566f6.js.map → label-223fef8f.js.map} +1 -1
  395. package/dist/kolibri/{prop.validators-683bb1d0.js → prop.validators-601f1068.js} +1 -1
  396. package/dist/kolibri/prop.validators-601f1068.js.map +1 -0
  397. package/dist/kolibri/show-6d33a33f.js +4 -0
  398. package/dist/kolibri/{tab-index-6d37f269.js → tab-index-fc60df7a.js} +1 -1
  399. package/dist/kolibri/validation-4acc18ad.js +4 -0
  400. package/dist/kolibri/{validation-0efb75d3.js → validation-5300d0a1.js} +1 -1
  401. package/dist/types/components/breadcrumb/types.d.ts +2 -2
  402. package/dist/types/components/icon/component.d.ts +1 -1
  403. package/dist/types/components/input-adapter-leanup/controller.d.ts +7 -4
  404. package/dist/types/components/input-checkbox/component.d.ts +3 -2
  405. package/dist/types/components/input-checkbox/controller.d.ts +3 -1
  406. package/dist/types/components/input-checkbox/types.d.ts +5 -3
  407. package/dist/types/components.d.ts +4 -2
  408. package/dist/types/types/unknown.d.ts +1 -0
  409. package/dist/types/utils/dev.utils.d.ts +1 -1
  410. package/doc/abbr.md +1 -1
  411. package/doc/accordion.md +1 -1
  412. package/doc/alert.md +1 -1
  413. package/doc/badge.md +1 -3
  414. package/doc/breadcrumb.md +3 -3
  415. package/doc/button-group.md +2 -2
  416. package/doc/button.md +2 -2
  417. package/doc/details.md +1 -1
  418. package/doc/heading.md +0 -4
  419. package/doc/icon.md +6 -6
  420. package/doc/image.md +4 -4
  421. package/doc/input-checkbox.md +3 -3
  422. package/doc/input-color.md +1 -1
  423. package/doc/input-date.md +4 -4
  424. package/doc/input-email.md +2 -2
  425. package/doc/input-file.md +2 -2
  426. package/doc/input-number.md +1 -1
  427. package/doc/input-password.md +1 -1
  428. package/doc/input-radio.md +5 -5
  429. package/doc/input-range.md +1 -1
  430. package/doc/input-text.md +2 -2
  431. package/doc/link-group.md +0 -2
  432. package/doc/link.md +2 -4
  433. package/doc/logo.md +0 -8
  434. package/doc/modal.md +4 -4
  435. package/doc/nav.md +0 -2
  436. package/doc/pagination.md +0 -4
  437. package/doc/progress.md +2 -2
  438. package/doc/quote.md +5 -5
  439. package/doc/skip-nav.md +1 -1
  440. package/doc/spin.md +2 -6
  441. package/doc/split-button.md +1 -1
  442. package/doc/table.md +13 -13
  443. package/doc/tabs.md +4 -4
  444. package/doc/textarea.md +1 -1
  445. package/doc/toast.md +0 -2
  446. package/doc/tooltip.md +1 -1
  447. package/doc/version.md +0 -8
  448. package/jest-test-results.json +1 -1
  449. package/package.json +1 -1
  450. package/vscode-custom-data.json +2 -2
  451. package/dist/cjs/controller-20c47dac.js +0 -4
  452. package/dist/cjs/controller-20c47dac.js.map +0 -1
  453. package/dist/cjs/controller-beb0e753.js +0 -4
  454. package/dist/cjs/controller-beb0e753.js.map +0 -1
  455. package/dist/cjs/dev.utils-b2b6f024.js +0 -4
  456. package/dist/cjs/devtools-60ad513c.js.map +0 -1
  457. package/dist/cjs/floating-ui.dom.esm-c11b0ec1.js +0 -4
  458. package/dist/cjs/floating-ui.dom.esm-c11b0ec1.js.map +0 -1
  459. package/dist/cjs/has-closer-7d377e88.js +0 -4
  460. package/dist/cjs/hide-label-9bf6abe6.js +0 -4
  461. package/dist/cjs/prop.validators-8a027482.js +0 -4
  462. package/dist/cjs/prop.validators-8a027482.js.map +0 -1
  463. package/dist/cjs/show-942951b7.js +0 -4
  464. package/dist/cjs/validation-6c112462.js +0 -4
  465. package/dist/esm/app-globals-1811b38e.js +0 -4
  466. package/dist/esm/controller-ca0fe64f.js +0 -4
  467. package/dist/esm/controller-ca0fe64f.js.map +0 -1
  468. package/dist/esm/controller-d9fb3dc1.js +0 -4
  469. package/dist/esm/controller-d9fb3dc1.js.map +0 -1
  470. package/dist/esm/devtools-eaaafe9d.js +0 -4
  471. package/dist/esm/devtools-eaaafe9d.js.map +0 -1
  472. package/dist/esm/floating-ui.dom.esm-805abd08.js +0 -4
  473. package/dist/esm/floating-ui.dom.esm-805abd08.js.map +0 -1
  474. package/dist/esm/prop.validators-683bb1d0.js +0 -4
  475. package/dist/esm/validation-1f01325c.js +0 -4
  476. package/dist/kolibri/app-globals-1811b38e.js +0 -4
  477. package/dist/kolibri/controller-ca0fe64f.js.map +0 -1
  478. package/dist/kolibri/controller-d9fb3dc1.js +0 -4
  479. package/dist/kolibri/controller-d9fb3dc1.js.map +0 -1
  480. package/dist/kolibri/controller-icon-ba3c5351.js +0 -4
  481. package/dist/kolibri/dev.utils-8aef00f6.js.map +0 -1
  482. package/dist/kolibri/devtools-eaaafe9d.js.map +0 -1
  483. package/dist/kolibri/floating-ui.dom.esm-805abd08.js +0 -4
  484. package/dist/kolibri/floating-ui.dom.esm-805abd08.js.map +0 -1
  485. package/dist/kolibri/has-closer-268d165e.js +0 -4
  486. package/dist/kolibri/hide-label-e9f288ac.js +0 -4
  487. package/dist/kolibri/label-bd9566f6.js +0 -4
  488. package/dist/kolibri/prop.validators-683bb1d0.js.map +0 -1
  489. package/dist/kolibri/show-2b9058c9.js +0 -4
  490. package/dist/kolibri/validation-1f01325c.js +0 -4
  491. /package/dist/kolibri/{a11y.tipps-e607b8b3.js.map → a11y.tipps-9f948961.js.map} +0 -0
  492. /package/dist/kolibri/{aria-selected-d90aa300.js.map → aria-selected-b9d7d1e4.js.map} +0 -0
  493. /package/dist/kolibri/{button-link-2ad7f3cf.js.map → button-link-99acae48.js.map} +0 -0
  494. /package/dist/kolibri/{color-9d0ce5e3.js.map → color-408da8e8.js.map} +0 -0
  495. /package/dist/kolibri/{controller-ff99125c.js.map → controller-31db8bf4.js.map} +0 -0
  496. /package/dist/kolibri/{controller-0a60db6b.js.map → controller-3391cc2d.js.map} +0 -0
  497. /package/dist/kolibri/{controller-d064cead.js.map → controller-6ed90cd7.js.map} +0 -0
  498. /package/dist/kolibri/{controller-3b1a37ac.js.map → controller-f8056e1a.js.map} +0 -0
  499. /package/dist/kolibri/{controller-icon-ba3c5351.js.map → controller-icon-7b8f547d.js.map} +0 -0
  500. /package/dist/kolibri/{dev.utils-8aef00f6.js → dev.utils-4290338e.js} +0 -0
  501. /package/dist/kolibri/{disabled-cac31f02.js.map → disabled-559fd371.js.map} +0 -0
  502. /package/dist/kolibri/{has-closer-268d165e.js.map → has-closer-62a48dbd.js.map} +0 -0
  503. /package/dist/kolibri/{hide-label-e9f288ac.js.map → hide-label-9248468d.js.map} +0 -0
  504. /package/dist/kolibri/{i18n-64b07ed9.js.map → i18n-23b83118.js.map} +0 -0
  505. /package/dist/kolibri/{icon-278d567d.js.map → icon-e03e73f6.js.map} +0 -0
  506. /package/dist/kolibri/{show-2b9058c9.js.map → show-6d33a33f.js.map} +0 -0
  507. /package/dist/kolibri/{tab-index-6d37f269.js.map → tab-index-fc60df7a.js.map} +0 -0
  508. /package/dist/kolibri/{validation-1f01325c.js.map → validation-4acc18ad.js.map} +0 -0
  509. /package/dist/kolibri/{validation-0efb75d3.js.map → validation-5300d0a1.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolInputPassword","render","ariaDescribedBy","getRenderStates","this","state","hasExpertSlot","_label","h","Host","class","_hasValue","_hideLabel","password","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","maxlength","name","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","value","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","constructor","hostRef","propagateFocus","host","event","setState","target","code","propagateSubmitEventToForm","form","onChange","nonce","InputPasswordController","validateAccessKey","validateAlert","validateAutoComplete","devHint","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","validateValue","componentWillLoad","_alert","addValueChangeListener","v"],"sources":["src/components/input-password/style.css?tag=kol-input-password&mode=default&encapsulation=shadow","src/components/input-password/component.tsx"],"sourcesContent":["@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputPasswordController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-password',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputPassword implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputPasswordElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t\tpassword: true,\n\t\t\t\t\t}}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputPasswordController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Setzt das Eingabefeld in den schreibgeschützten Modus.\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_id: nonce(), // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_hasValue: false,\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputPasswordController(this, 'password', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t\tif (value === 'on') {\n\t\t\tdevHint(`[KolInputPassword] Die Option 'autocomplete' sollte bei einem Passwort-Eingabefeld nicht auf \"on\" gesetzt werden.`);\n\t\t}\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","KolInputPassword","render","ariaDescribedBy","getRenderStates","this","state","hasExpertSlot","_label","h","Host","class","_hasValue","_hideLabel","password","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","maxlength","name","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","value","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","constructor","hostRef","propagateFocus","host","event","setState","target","code","propagateSubmitEventToForm","form","onChange","nonce","InputPasswordController","validateAccessKey","validateAlert","validateAutoComplete","devHint","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","validateValue","componentWillLoad","_alert","addValueChangeListener","v"],"sources":["src/components/input-password/style.css?tag=kol-input-password&mode=default&encapsulation=shadow","src/components/input-password/component.tsx"],"sourcesContent":["@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputPasswordController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-password',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputPassword implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputPasswordElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t\tpassword: true,\n\t\t\t\t\t}}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputPasswordController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Setzt das Eingabefeld in den schreibgeschützten Modus.\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_hasValue: false,\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputPasswordController(this, 'input-password', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t\tif (value === 'on') {\n\t\t\tdevHint(`[KolInputPassword] Die Option 'autocomplete' sollte bei einem Passwort-Eingabefeld nicht auf \"on\" gesetzt werden.`);\n\t\t}\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as i,h as e}from"./index-2c046ff1.js";import{e as t}from"./a11y.tipps-e607b8b3.js";import"./dev.utils-8aef00f6.js";import"./reuse-c2156413.js";const n=class{constructor(e){i(this,e),this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._id=void 0,this._label=void 0,this._list=void 0,this._name=void 0,this._on=void 0,this._orientation="vertical",this._required=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0}render(){return t("[KolInputRadioGroup] Die Komponenten Input-Radio-Group und Input-Radio werden zur Komponente Input-Radio zusammengeführt. Wir empfehlen den Tag <kol-input-radio> statt <kol-input-radio-group> zu verwenden.\n\nMit der Version 1.1 wird die Komponente KolInputRadioGroup aus der Bibliothek entfernt."),e("kol-input-radio",{_accessKey:this._accessKey,_disabled:this._disabled,_error:this._error,_hideLabel:this._hideLabel,_id:this._id,_label:this._label,_list:this._list,_name:this._name,_on:this._on,_orientation:this._orientation,_required:this._required,_tabIndex:this._tabIndex,_touched:this._touched,_value:this._value},e("slot",null))}};export{n as kol_input_radio_group};
4
+ import{r as i,h as e}from"./index-2c046ff1.js";import{e as t}from"./a11y.tipps-9f948961.js";import"./dev.utils-4290338e.js";import"./reuse-c2156413.js";const n=class{constructor(t){i(this,t),this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._id=void 0,this._label=void 0,this._list=void 0,this._name=void 0,this._on=void 0,this._orientation="vertical",this._required=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0}render(){return t("[KolInputRadioGroup] Die Komponenten Input-Radio-Group und Input-Radio werden zur Komponente Input-Radio zusammengeführt. Wir empfehlen den Tag <kol-input-radio> statt <kol-input-radio-group> zu verwenden.\n\nMit der Version 1.1 wird die Komponente KolInputRadioGroup aus der Bibliothek entfernt."),e("kol-input-radio",{_accessKey:this._accessKey,_disabled:this._disabled,_error:this._error,_hideLabel:this._hideLabel,_id:this._id,_label:this._label,_list:this._list,_name:this._name,_on:this._on,_orientation:this._orientation,_required:this._required,_tabIndex:this._tabIndex,_touched:this._touched,_value:this._value},e("slot",null))}};export{n as kol_input_radio_group};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as e,r as i,g as a}from"./index-2c046ff1.js";import{n}from"./dev.utils-8aef00f6.js";import{a as s}from"./reuse-c2156413.js";import{g as r}from"./controller-d9fb3dc1.js";import{a as l}from"./controller-3b1a37ac.js";import"./prop.validators-683bb1d0.js";import"./a11y.tipps-e607b8b3.js";import"./index-37b5cbcf.js";import"./label-bd9566f6.js";import"./tab-index-6d37f269.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}:host{--border-width:2px;--input-size:1.5em}kol-input .icons{display:none}label{cursor:pointer}input{appearance:none;border-width:var(--border-width);border-style:solid;border-radius:100%;cursor:pointer;display:flex;height:var(--input-size);margin:0;min-height:var(--input-size);min-width:var(--input-size);padding:0;width:var(--input-size)}input:before{border-radius:100%;content:'';margin:auto;height:calc(var(--input-size) / 2);width:calc(var(--input-size) / 2)}input:checked:before{background-color:#000}fieldset{display:flex}fieldset.vertical{flex-direction:column}fieldset [slot='input']{align-items:center;display:flex}.required label>span::after{content:''}",o=class{render(){const{ariaDescribedBy:i,hasError:a}=r(this.state),l=!1===this.state._label;return t(e,null,t("fieldset",{class:{disabled:!0===this.state._disabled,error:!0===a,required:!0===this.state._required,[this.state._orientation]:!0}},t("legend",{class:"block w-full mb-1 leading-normal"},t("span",null,t("span",{slot:"label"},l?t("slot",null):this.state._label))),this.state._list.map(((e,a)=>{const s=`${this.state._id}-${a}`,r=`radio-${a}`;return t("kol-input",{class:"radio",key:s,_disabled:this.state._disabled||e.disabled,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:s,_renderNoLabel:!0,_required:this.state._required,_slotName:r,_touched:this.state._touched},t("div",{slot:r},t("input",Object.assign({ref:this.state._value===e.value?this.catchRef:void 0,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${s}-label`,title:"",type:"radio",id:s,checked:this.state._value===e.value,name:this.state._name||this.state._id,disabled:this.state._disabled||e.disabled,required:this.state._required,tabIndex:this.state._tabIndex,value:`-${a}`},this.controller.onFacade,{onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}),t("label",{htmlFor:`${s}`,id:`${s}-label`,style:{height:this.state._hideLabel&&!0!==this.state._required?"0":void 0,margin:this.state._hideLabel&&!0!==this.state._required?"0":void 0,padding:this.state._hideLabel&&!0!==this.state._required?"0":void 0,visibility:this.state._hideLabel&&!0!==this.state._required?"hidden":void 0}},t("span",null,t("span",null,e.label)))))})),a&&t("kol-alert",{id:"error",_alert:!0,_type:"error",_variant:"msg"},this.state._error)))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onChange=t=>{if(t.target instanceof HTMLInputElement){const e=this.controller.getOptionByKey(t.target.value);void 0!==e&&this.controller.setValue(t,e.value)}},this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._id=void 0,this._label=void 0,this._list=void 0,this._name=void 0,this._on=void 0,this._orientation="vertical",this._required=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_id:n(),_label:!1,_list:[],_orientation:"vertical"},this.controller=new l(this,"radio",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateOrientation(t){this.controller.validateOrientation(t)}validateRequired(t){this.controller.validateRequired(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(this.onChange)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_name:["validateName"],_on:["validateOn"],_orientation:["validateOrientation"],_required:["validateRequired"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};o.style={default:d};export{o as kol_input_radio};
4
+ import{h as t,H as e,r as i,g as a}from"./index-2c046ff1.js";import{n}from"./dev.utils-4290338e.js";import{a as s}from"./reuse-c2156413.js";import{g as r}from"./controller-b26721c9.js";import{a as l}from"./controller-f8056e1a.js";import"./prop.validators-601f1068.js";import"./a11y.tipps-9f948961.js";import"./index-37b5cbcf.js";import"./label-223fef8f.js";import"./tab-index-fc60df7a.js";const d=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}:host{--border-width:2px;--input-size:1.5em}kol-input .icons{display:none}label{cursor:pointer}input{appearance:none;border-width:var(--border-width);border-style:solid;border-radius:100%;cursor:pointer;display:flex;height:var(--input-size);margin:0;min-height:var(--input-size);min-width:var(--input-size);padding:0;width:var(--input-size)}input:before{border-radius:100%;content:'';margin:auto;height:calc(var(--input-size) / 2);width:calc(var(--input-size) / 2)}input:checked:before{background-color:#000}fieldset{display:flex}fieldset.vertical{flex-direction:column}fieldset [slot='input']{align-items:center;display:flex}.required label>span::after{content:''}",o=class{render(){const{ariaDescribedBy:i,hasError:a}=r(this.state),l=!1===this.state._label;return t(e,null,t("fieldset",{class:{disabled:!0===this.state._disabled,error:!0===a,required:!0===this.state._required,[this.state._orientation]:!0}},t("legend",{class:"block w-full mb-1 leading-normal"},t("span",null,t("span",{slot:"label"},l?t("slot",null):this.state._label))),this.state._list.map(((e,a)=>{const s=`${this.state._id}-${a}`,r=`radio-${a}`;return t("kol-input",{class:"radio",key:s,_disabled:this.state._disabled||e.disabled,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:s,_renderNoLabel:!0,_required:this.state._required,_slotName:r,_touched:this.state._touched},t("div",{slot:r},t("input",Object.assign({ref:this.state._value===e.value?this.catchRef:void 0,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${s}-label`,title:"",type:"radio",id:s,checked:this.state._value===e.value,name:this.state._name||this.state._id,disabled:this.state._disabled||e.disabled,required:this.state._required,tabIndex:this.state._tabIndex,value:`-${a}`},this.controller.onFacade,{onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}),t("label",{htmlFor:`${s}`,id:`${s}-label`,style:{height:this.state._hideLabel&&!0!==this.state._required?"0":void 0,margin:this.state._hideLabel&&!0!==this.state._required?"0":void 0,padding:this.state._hideLabel&&!0!==this.state._required?"0":void 0,visibility:this.state._hideLabel&&!0!==this.state._required?"hidden":void 0}},t("span",null,t("span",null,e.label)))))})),a&&t("kol-alert",{id:"error",_alert:!0,_type:"error",_variant:"msg"},this.state._error)))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onChange=t=>{if(t.target instanceof HTMLInputElement){const e=this.controller.getOptionByKey(t.target.value);void 0!==e&&this.controller.setValue(t,e.value)}},this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._id=void 0,this._label=void 0,this._list=void 0,this._name=void 0,this._on=void 0,this._orientation="vertical",this._required=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_id:`id-${n()}`,_label:!1,_list:[],_orientation:"vertical"},this.controller=new l(this,"input-radio",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateOrientation(t){this.controller.validateOrientation(t)}validateRequired(t){this.controller.validateRequired(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(this.onChange)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_name:["validateName"],_on:["validateOn"],_orientation:["validateOrientation"],_required:["validateRequired"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};o.style={default:d};export{o as kol_input_radio};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolInputRadio","render","ariaDescribedBy","hasError","getRenderStates","this","state","hasExpertSlot","_label","h","Host","class","disabled","_disabled","error","required","_required","_orientation","slot","_list","map","option","index","customId","_id","slotName","key","_hideLabel","_hint","_renderNoLabel","_slotName","_touched","Object","assign","ref","_value","value","catchRef","undefined","accessKey","_accessKey","length","join","title","type","id","checked","name","_name","tabIndex","_tabIndex","controller","onFacade","onChange","hidden","htmlFor","style","height","margin","padding","visibility","label","_alert","_type","_variant","_error","constructor","hostRef","propagateFocus","host","event","target","HTMLInputElement","getOptionByKey","setValue","nonce","InputRadioController","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateLabel","validateList","validateName","validateOn","validateOrientation","validateRequired","validateSyncValueBySelector","validateTabIndex","validateTouched","validateValue","componentWillLoad"],"sources":["src/components/input-radio/style.css?tag=kol-input-radio&mode=default&encapsulation=shadow","src/components/input-radio/component.tsx"],"sourcesContent":["@import url(../input.css);\n:host {\n\t--border-width: 2px;\n\t--input-size: 1.5em;\n}\nkol-input .icons {\n\tdisplay: none;\n}\nlabel {\n\tcursor: pointer;\n}\ninput {\n\tappearance: none;\n\tborder-width: var(--border-width);\n\tborder-style: solid;\n\tborder-radius: 100%;\n\tcursor: pointer;\n\tdisplay: flex;\n\theight: var(--input-size);\n\tmargin: 0;\n\tmin-height: var(--input-size);\n\tmin-width: var(--input-size);\n\tpadding: 0;\n\twidth: var(--input-size);\n}\ninput:before {\n\tborder-radius: 100%;\n\tcontent: '';\n\tmargin: auto;\n\theight: calc(var(--input-size) / 2);\n\twidth: calc(var(--input-size) / 2);\n}\ninput:checked:before {\n\tbackground-color: #000;\n}\nfieldset {\n\tdisplay: flex;\n}\nfieldset.vertical {\n\tflex-direction: column;\n}\nfieldset [slot='input'] {\n\talign-items: center;\n\tdisplay: flex;\n}\n/* required star is on fieldset legend */\n.required label > span::after {\n\tcontent: '';\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnDefault, Option } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { W3CInputValue } from '../../types/w3c';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputRadioController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Legende/Überschrift der Radiobuttons.\n */\n@Component({\n\ttag: 'kol-input-radio',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputRadio implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputRadioElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy, hasError } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<fieldset\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\terror: hasError === true,\n\t\t\t\t\t\trequired: this.state._required === true,\n\t\t\t\t\t\t[this.state._orientation]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<legend class=\"block w-full mb-1 leading-normal\">\n\t\t\t\t\t\t{/* INFO: span is needed for css styling :after content like a star (*) or optional text ! */}\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{/* INFO: label comes with any html tag or as plain text! */}\n\t\t\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t{this.state._list.map((option, index) => {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Damit der Value einer Option ein beliebigen Typ haben kann\n\t\t\t\t\t\t * muss man auf HTML-Ebene den Value auf einen String-Wert\n\t\t\t\t\t\t * mappen. Das tun wir mittels der Map.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tconst customId = `${this.state._id}-${index}`;\n\t\t\t\t\t\tconst slotName = `radio-${index}`;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<kol-input\n\t\t\t\t\t\t\t\tclass=\"radio\"\n\t\t\t\t\t\t\t\tkey={customId}\n\t\t\t\t\t\t\t\t_disabled={this.state._disabled || option.disabled}\n\t\t\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t\t\t\t_id={customId}\n\t\t\t\t\t\t\t\t_renderNoLabel={true}\n\t\t\t\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t\t\t\t_slotName={slotName}\n\t\t\t\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div slot={slotName}>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tref={this.state._value === option.value ? this.catchRef : undefined}\n\t\t\t\t\t\t\t\t\t\taccessKey={this.state._accessKey} // by radio?!\n\t\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\t\t\t\taria-labelledby={`${customId}-label`}\n\t\t\t\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tid={customId}\n\t\t\t\t\t\t\t\t\t\tchecked={this.state._value === option.value}\n\t\t\t\t\t\t\t\t\t\tname={this.state._name || this.state._id}\n\t\t\t\t\t\t\t\t\t\tdisabled={this.state._disabled || option.disabled}\n\t\t\t\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\t\t\t\t\t\tvalue={`-${index}`}\n\t\t\t\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\thtmlFor={`${customId}`}\n\t\t\t\t\t\t\t\t\t\tid={`${customId}-label`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tmargin: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tpadding: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tvisibility: this.state._hideLabel && this.state._required !== true ? 'hidden' : undefined,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</kol-input>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t<kol-alert id=\"error\" _alert={true} _type=\"error\" _variant=\"msg\">\n\t\t\t\t\t\t\t{this.state._error}\n\t\t\t\t\t\t</kol-alert>\n\t\t\t\t\t)}\n\t\t\t\t</fieldset>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputRadioController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Optionen für das Eingabefeld an.\n\t */\n\t@Prop() public _list!: Stringified<Option<W3CInputValue>[]>;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert der Radio an. (Known Bug: https://github.com/ionic-team/stencil/issues/3902)\n\t */\n\t@Prop() public _value?: Stringified<W3CInputValue>;\n\n\t@State() public state: States = {\n\t\t_id: nonce(), // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputRadioController(this, 'radio', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<Option<W3CInputValue>[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\tthis.controller.validateOrientation(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad(this.onChange);\n\t}\n\n\tprivate onChange = (event: Event): void => {\n\t\tif (event.target instanceof HTMLInputElement) {\n\t\t\tconst option = this.controller.getOptionByKey(event.target.value);\n\t\t\tif (option !== undefined) {\n\t\t\t\tthis.controller.setValue(event, option.value as string); // TODO: fix type\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","KolInputRadio","render","ariaDescribedBy","hasError","getRenderStates","this","state","hasExpertSlot","_label","h","Host","class","disabled","_disabled","error","required","_required","_orientation","slot","_list","map","option","index","customId","_id","slotName","key","_hideLabel","_hint","_renderNoLabel","_slotName","_touched","Object","assign","ref","_value","value","catchRef","undefined","accessKey","_accessKey","length","join","title","type","id","checked","name","_name","tabIndex","_tabIndex","controller","onFacade","onChange","hidden","htmlFor","style","height","margin","padding","visibility","label","_alert","_type","_variant","_error","constructor","hostRef","propagateFocus","host","event","target","HTMLInputElement","getOptionByKey","setValue","nonce","InputRadioController","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateLabel","validateList","validateName","validateOn","validateOrientation","validateRequired","validateSyncValueBySelector","validateTabIndex","validateTouched","validateValue","componentWillLoad"],"sources":["src/components/input-radio/style.css?tag=kol-input-radio&mode=default&encapsulation=shadow","src/components/input-radio/component.tsx"],"sourcesContent":["@import url(../input.css);\n:host {\n\t--border-width: 2px;\n\t--input-size: 1.5em;\n}\nkol-input .icons {\n\tdisplay: none;\n}\nlabel {\n\tcursor: pointer;\n}\ninput {\n\tappearance: none;\n\tborder-width: var(--border-width);\n\tborder-style: solid;\n\tborder-radius: 100%;\n\tcursor: pointer;\n\tdisplay: flex;\n\theight: var(--input-size);\n\tmargin: 0;\n\tmin-height: var(--input-size);\n\tmin-width: var(--input-size);\n\tpadding: 0;\n\twidth: var(--input-size);\n}\ninput:before {\n\tborder-radius: 100%;\n\tcontent: '';\n\tmargin: auto;\n\theight: calc(var(--input-size) / 2);\n\twidth: calc(var(--input-size) / 2);\n}\ninput:checked:before {\n\tbackground-color: #000;\n}\nfieldset {\n\tdisplay: flex;\n}\nfieldset.vertical {\n\tflex-direction: column;\n}\nfieldset [slot='input'] {\n\talign-items: center;\n\tdisplay: flex;\n}\n/* required star is on fieldset legend */\n.required label > span::after {\n\tcontent: '';\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnDefault, Option } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { W3CInputValue } from '../../types/w3c';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputRadioController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Legende/Überschrift der Radiobuttons.\n */\n@Component({\n\ttag: 'kol-input-radio',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputRadio implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputRadioElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy, hasError } = getRenderStates(this.state);\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<fieldset\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tdisabled: this.state._disabled === true,\n\t\t\t\t\t\terror: hasError === true,\n\t\t\t\t\t\trequired: this.state._required === true,\n\t\t\t\t\t\t[this.state._orientation]: true,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<legend class=\"block w-full mb-1 leading-normal\">\n\t\t\t\t\t\t{/* INFO: span is needed for css styling :after content like a star (*) or optional text ! */}\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{/* INFO: label comes with any html tag or as plain text! */}\n\t\t\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t{this.state._list.map((option, index) => {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Damit der Value einer Option ein beliebigen Typ haben kann\n\t\t\t\t\t\t * muss man auf HTML-Ebene den Value auf einen String-Wert\n\t\t\t\t\t\t * mappen. Das tun wir mittels der Map.\n\t\t\t\t\t\t */\n\t\t\t\t\t\tconst customId = `${this.state._id}-${index}`;\n\t\t\t\t\t\tconst slotName = `radio-${index}`;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<kol-input\n\t\t\t\t\t\t\t\tclass=\"radio\"\n\t\t\t\t\t\t\t\tkey={customId}\n\t\t\t\t\t\t\t\t_disabled={this.state._disabled || option.disabled}\n\t\t\t\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t\t\t\t_id={customId}\n\t\t\t\t\t\t\t\t_renderNoLabel={true}\n\t\t\t\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t\t\t\t_slotName={slotName}\n\t\t\t\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div slot={slotName}>\n\t\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t\tref={this.state._value === option.value ? this.catchRef : undefined}\n\t\t\t\t\t\t\t\t\t\taccessKey={this.state._accessKey} // by radio?!\n\t\t\t\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\t\t\t\taria-labelledby={`${customId}-label`}\n\t\t\t\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\t\t\t\t\tid={customId}\n\t\t\t\t\t\t\t\t\t\tchecked={this.state._value === option.value}\n\t\t\t\t\t\t\t\t\t\tname={this.state._name || this.state._id}\n\t\t\t\t\t\t\t\t\t\tdisabled={this.state._disabled || option.disabled}\n\t\t\t\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\t\t\t\t\t\tvalue={`-${index}`}\n\t\t\t\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\thtmlFor={`${customId}`}\n\t\t\t\t\t\t\t\t\t\tid={`${customId}-label`}\n\t\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\t\theight: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tmargin: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tpadding: this.state._hideLabel && this.state._required !== true ? '0' : undefined,\n\t\t\t\t\t\t\t\t\t\t\tvisibility: this.state._hideLabel && this.state._required !== true ? 'hidden' : undefined,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{option.label}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</kol-input>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t<kol-alert id=\"error\" _alert={true} _type=\"error\" _variant=\"msg\">\n\t\t\t\t\t\t\t{this.state._error}\n\t\t\t\t\t\t</kol-alert>\n\t\t\t\t\t)}\n\t\t\t\t</fieldset>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputRadioController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Optionen für das Eingabefeld an.\n\t */\n\t@Prop() public _list!: Stringified<Option<W3CInputValue>[]>;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt die horizontale oder vertikale Ausrichtung der Komponente an.\n\t */\n\t@Prop() public _orientation?: Orientation = 'vertical';\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert der Radio an. (Known Bug: https://github.com/ionic-team/stencil/issues/3902)\n\t */\n\t@Prop() public _value?: Stringified<W3CInputValue>;\n\n\t@State() public state: States = {\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t\t_orientation: 'vertical',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputRadioController(this, 'input-radio', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<Option<W3CInputValue>[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_orientation')\n\tpublic validateOrientation(value?: Orientation): void {\n\t\tthis.controller.validateOrientation(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Stringified<unknown>): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad(this.onChange);\n\t}\n\n\tprivate onChange = (event: Event): void => {\n\t\tif (event.target instanceof HTMLInputElement) {\n\t\t\tconst option = this.controller.getOptionByKey(event.target.value);\n\t\t\tif (option !== undefined) {\n\t\t\t\tthis.controller.setValue(event, option.value as string); // TODO: fix type\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as i,r as e,g as a}from"./index-2c046ff1.js";import{n as s}from"./dev.utils-8aef00f6.js";import{a as n}from"./reuse-c2156413.js";import{p as l}from"./controller-ca0fe64f.js";import{g as o}from"./controller-d9fb3dc1.js";import{a as d,d as r,e as h}from"./prop.validators-683bb1d0.js";import{I as p}from"./controller-icon-ba3c5351.js";import"./a11y.tipps-e607b8b3.js";import"./label-bd9566f6.js";import"./tab-index-6d37f269.js";import"./index-37b5cbcf.js";import"./icon-278d567d.js";class u extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAutoComplete(t){d(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){r(this.component,"_list",(t=>"object"==typeof t&&"string"==typeof t.label&&t.label.length>0),t)}validateMax(t){h(this.component,"_max",t)}validateMin(t){h(this.component,"_min",t)}validateStep(t){h(this.component,"_step",t)}validateValue(t){h(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateList(this.component._list),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateStep(this.component._step),this.validateValue(this.component._value)}}const c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}input[type='range']{appearance:none;background-color:#d3d3d3;border:1px solid #000;display:inline-block;height:0.5rem;line-height:1.5em;padding:0;margin:0}input[type='range']::-webkit-slider-thumb{box-sizing:border-box;background-color:#000;height:20px;width:20px;border-radius:20px;cursor:pointer;-webkit-appearance:none}input[type='range']::-moz-range-thumb{box-sizing:border-box;background-color:#000;height:20px;width:20px;border-radius:20px;cursor:pointer;-moz-appearance:none}",f=class{render(){const{ariaDescribedBy:e}=o(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,s=!1===this.state._label;return t(i,null,t("kol-input",{class:{range:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input",class:"inputs-wrapper"},t("input",Object.assign({title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name?`${this.state._name}-range`:void 0,spellcheck:"false",step:this.state._step,tabIndex:-1,type:"range",value:this.state._value},this.controller.onFacade,{onChange:this.onChange})),t("input",Object.assign({ref:this.catchInputNumberRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name?`${this.state._name}-number`:void 0,step:this.state._step,type:"number",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp,onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}),a&&[t("datalist",{id:`${this.state._id}-list`},this.state._list.map((e=>t("option",{value:e.value}))))])))}constructor(t){e(this,t),this.catchInputNumberRef=t=>{var e;t&&(this.ref=t,n(this.host,t),!this._value&&(null===(e=this.ref)||void 0===e?void 0:e.value)&&this.validateValue(parseFloat(this.ref.value)))},this.onChange=t=>{var e,i;let a=parseFloat(t.target.value);this.state._max&&a>this.state._max&&(a=this.state._max),this.state._min&&a<this.state._min&&(a=this.state._min),this.validateValue(a),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&(null===(i=this.state._on)||void 0===i||i.onChange(t,a))},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):this.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._step=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:s(),_label:!1,_list:[]},this.controller=new u(this,"range",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_range};
4
+ import{h as t,H as i,r as e,g as a}from"./index-2c046ff1.js";import{n as s}from"./dev.utils-4290338e.js";import{a as n}from"./reuse-c2156413.js";import{p as l}from"./controller-b036f128.js";import{g as o}from"./controller-b26721c9.js";import{a as d,d as r,e as h}from"./prop.validators-601f1068.js";import{I as p}from"./controller-icon-7b8f547d.js";import"./a11y.tipps-9f948961.js";import"./label-223fef8f.js";import"./tab-index-fc60df7a.js";import"./index-37b5cbcf.js";import"./icon-e03e73f6.js";class u extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAutoComplete(t){d(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){r(this.component,"_list",(t=>"object"==typeof t&&"string"==typeof t.label&&t.label.length>0),t)}validateMax(t){h(this.component,"_max",t)}validateMin(t){h(this.component,"_min",t)}validateStep(t){h(this.component,"_step",t)}validateValue(t){h(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateList(this.component._list),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateStep(this.component._step),this.validateValue(this.component._value)}}const c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}input[type='range']{appearance:none;background-color:#d3d3d3;border:1px solid #000;display:inline-block;height:0.5rem;line-height:1.5em;padding:0;margin:0}input[type='range']::-webkit-slider-thumb{box-sizing:border-box;background-color:#000;height:20px;width:20px;border-radius:20px;cursor:pointer;-webkit-appearance:none}input[type='range']::-moz-range-thumb{box-sizing:border-box;background-color:#000;height:20px;width:20px;border-radius:20px;cursor:pointer;-moz-appearance:none}",f=class{render(){const{ariaDescribedBy:e}=o(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,s=!1===this.state._label;return t(i,null,t("kol-input",{class:{range:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input",class:"inputs-wrapper"},t("input",Object.assign({title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name?`${this.state._name}-range`:void 0,spellcheck:"false",step:this.state._step,tabIndex:-1,type:"range",value:this.state._value},this.controller.onFacade,{onChange:this.onChange})),t("input",Object.assign({ref:this.catchInputNumberRef,title:"",accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name?`${this.state._name}-number`:void 0,step:this.state._step,type:"number",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp,onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}),a&&[t("datalist",{id:`${this.state._id}-list`},this.state._list.map((e=>t("option",{value:e.value}))))])))}constructor(t){e(this,t),this.catchInputNumberRef=t=>{var e;t&&(this.ref=t,n(this.host,t),!this._value&&(null===(e=this.ref)||void 0===e?void 0:e.value)&&this.validateValue(parseFloat(this.ref.value)))},this.onChange=t=>{var e,i;let a=parseFloat(t.target.value);this.state._max&&a>this.state._max&&(a=this.state._max),this.state._min&&a<this.state._min&&(a=this.state._min),this.validateValue(a),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&(null===(i=this.state._on)||void 0===i||i.onChange(t,a))},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):this.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._step=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:`id-${s()}`,_label:!1,_list:[]},this.controller=new u(this,"input-range",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_range};
@@ -1 +1 @@
1
- {"version":3,"names":["InputRangeController","InputIconController","constructor","component","name","host","super","this","validateAutoComplete","value","watchValidator","Set","validateList","watchJsonArrayString","item","label","length","validateMax","watchNumber","validateMin","validateStep","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_list","_max","_min","_step","defaultStyleCss","KolInputRange","render","ariaDescribedBy","getRenderStates","hasList","Array","isArray","hasExpertSlot","_label","h","Host","class","range","_hideLabel","_disabled","_error","_hint","_icon","_id","_touched","slot","Object","assign","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","list","max","min","_name","spellcheck","step","tabIndex","type","controller","onFacade","onChange","ref","catchInputNumberRef","id","onKeyUp","hidden","_align","_tooltipAlign","map","option","hostRef","element","propagateFocus","_a","parseFloat","event","target","_on","_b","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert"],"sources":["src/components/input-range/controller.ts","src/components/input-range/style.css?tag=kol-input-range&mode=default&encapsulation=shadow","src/components/input-range/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnOff, Option } from '../../types/input/types';\nimport { watchJsonArrayString, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputRangeController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\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 validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateList(value?: Stringified<Option<number>[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis.component,\n\t\t\t'_list',\n\t\t\t(item: Option<number>) => typeof item === 'object' && typeof item.label === 'string' && item.label.length > 0,\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateMax(value?: number): void {\n\t\twatchNumber(this.component, '_max', value);\n\t}\n\n\tpublic validateMin(value?: number): void {\n\t\twatchNumber(this.component, '_min', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\tpublic validateValue(value?: number): void {\n\t\twatchNumber(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateList(this.component._list);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n/*\n * For Chrome and Firefox is it needed to use redundant style definitions with separate selectors. The reason is unknown.\n */\ninput[type='range'] {\n\tappearance: none;\n\tbackground-color: #d3d3d3;\n\tborder: 1px solid #000;\n\tdisplay: inline-block;\n\theight: 0.5rem;\n\tline-height: 1.5em;\n\tpadding: 0;\n\tmargin: 0;\n}\ninput[type='range']::-webkit-slider-thumb {\n\tbox-sizing: border-box;\n\tbackground-color: #000;\n\theight: 20px;\n\twidth: 20px;\n\tborder-radius: 20px;\n\tcursor: pointer;\n\t-webkit-appearance: none;\n}\ninput[type='range']::-moz-range-thumb {\n\tbox-sizing: border-box;\n\tbackground-color: #000;\n\theight: 20px;\n\twidth: 20px;\n\tborder-radius: 20px;\n\tcursor: pointer;\n\t-moz-appearance: none;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff, Option } from '../../types/input/types';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputRangeController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabeelements.\n */\n@Component({\n\ttag: 'kol-input-range',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputRange implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputRangeElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchInputNumberRef = (element?: HTMLInputElement) => {\n\t\tif (element) {\n\t\t\tthis.ref = element;\n\t\t\tpropagateFocus(this.host, element);\n\t\t\tif (!this._value && this.ref?.value) {\n\t\t\t\tthis.validateValue(parseFloat(this.ref.value));\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate readonly onChange = (event: Event) => {\n\t\tlet value = parseFloat((event.target as HTMLInputElement).value);\n\t\tif (this.state._max && value > this.state._max) value = this.state._max;\n\t\tif (this.state._min && value < this.state._min) value = this.state._min;\n\t\tthis.validateValue(value);\n\t\tif (typeof this.state._on?.onChange === 'function') {\n\t\t\tthis.state._on?.onChange(event, value);\n\t\t}\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\trange: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\" class=\"inputs-wrapper\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name ? `${this.state._name}-range` : undefined}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tvalue={this.state._value as number}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchInputNumberRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name ? `${this.state._name}-number` : undefined}\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tvalue={this.state._value}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t\t{hasList && [\n\t\t\t\t\t\t\t<datalist id={`${this.state._id}-list`}>\n\t\t\t\t\t\t\t\t{this.state._list.map((option: Option<number>) => (\n\t\t\t\t\t\t\t\t\t<option value={option.value}></option>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</datalist>,\n\t\t\t\t\t\t\t// <ul class=\"grid gap-1 text-sm grid-flow-col\">\n\t\t\t\t\t\t\t// {this.state._list.map((option: InputOption<number>) => (\n\t\t\t\t\t\t\t// <li class=\"border-1\">{option.label}</li>\n\t\t\t\t\t\t\t// ))}\n\t\t\t\t\t\t\t// </ul>,\n\t\t\t\t\t\t]}\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputRangeController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<Option<number>[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: number;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert an.\n\t */\n\t@Prop() public _min?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an.\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: number;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: nonce(), // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputRangeController(this, 'range', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<Option<number>[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: number): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: number): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: number): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["InputRangeController","InputIconController","constructor","component","name","host","super","this","validateAutoComplete","value","watchValidator","Set","validateList","watchJsonArrayString","item","label","length","validateMax","watchNumber","validateMin","validateStep","validateValue","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_list","_max","_min","_step","defaultStyleCss","KolInputRange","render","ariaDescribedBy","getRenderStates","hasList","Array","isArray","hasExpertSlot","_label","h","Host","class","range","_hideLabel","_disabled","_error","_hint","_icon","_id","_touched","slot","Object","assign","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","list","max","min","_name","spellcheck","step","tabIndex","type","controller","onFacade","onChange","ref","catchInputNumberRef","id","onKeyUp","hidden","_align","_tooltipAlign","map","option","hostRef","element","propagateFocus","_a","parseFloat","event","target","_on","_b","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert"],"sources":["src/components/input-range/controller.ts","src/components/input-range/style.css?tag=kol-input-range&mode=default&encapsulation=shadow","src/components/input-range/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnOff, Option } from '../../types/input/types';\nimport { watchJsonArrayString, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputRangeController extends InputIconController implements Watches {\n\tprotected readonly component: Generic.Element.Component & Props;\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 validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateList(value?: Stringified<Option<number>[]>): void {\n\t\twatchJsonArrayString(\n\t\t\tthis.component,\n\t\t\t'_list',\n\t\t\t(item: Option<number>) => typeof item === 'object' && typeof item.label === 'string' && item.label.length > 0,\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateMax(value?: number): void {\n\t\twatchNumber(this.component, '_max', value);\n\t}\n\n\tpublic validateMin(value?: number): void {\n\t\twatchNumber(this.component, '_min', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\tpublic validateValue(value?: number): void {\n\t\twatchNumber(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateList(this.component._list);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n/*\n * For Chrome and Firefox is it needed to use redundant style definitions with separate selectors. The reason is unknown.\n */\ninput[type='range'] {\n\tappearance: none;\n\tbackground-color: #d3d3d3;\n\tborder: 1px solid #000;\n\tdisplay: inline-block;\n\theight: 0.5rem;\n\tline-height: 1.5em;\n\tpadding: 0;\n\tmargin: 0;\n}\ninput[type='range']::-webkit-slider-thumb {\n\tbox-sizing: border-box;\n\tbackground-color: #000;\n\theight: 20px;\n\twidth: 20px;\n\tborder-radius: 20px;\n\tcursor: pointer;\n\t-webkit-appearance: none;\n}\ninput[type='range']::-moz-range-thumb {\n\tbox-sizing: border-box;\n\tbackground-color: #000;\n\theight: 20px;\n\twidth: 20px;\n\tborder-radius: 20px;\n\tcursor: pointer;\n\t-moz-appearance: none;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff, Option } from '../../types/input/types';\nimport { Align } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputRangeController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabeelements.\n */\n@Component({\n\ttag: 'kol-input-range',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputRange implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputRangeElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchInputNumberRef = (element?: HTMLInputElement) => {\n\t\tif (element) {\n\t\t\tthis.ref = element;\n\t\t\tpropagateFocus(this.host, element);\n\t\t\tif (!this._value && this.ref?.value) {\n\t\t\t\tthis.validateValue(parseFloat(this.ref.value));\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate readonly onChange = (event: Event) => {\n\t\tlet value = parseFloat((event.target as HTMLInputElement).value);\n\t\tif (this.state._max && value > this.state._max) value = this.state._max;\n\t\tif (this.state._min && value < this.state._min) value = this.state._min;\n\t\tthis.validateValue(value);\n\t\tif (typeof this.state._on?.onChange === 'function') {\n\t\t\tthis.state._on?.onChange(event, value);\n\t\t}\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\trange: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\" class=\"inputs-wrapper\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name ? `${this.state._name}-range` : undefined}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\ttabIndex={-1}\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tvalue={this.state._value as number}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchInputNumberRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name ? `${this.state._name}-number` : undefined}\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tvalue={this.state._value}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t\t{hasList && [\n\t\t\t\t\t\t\t<datalist id={`${this.state._id}-list`}>\n\t\t\t\t\t\t\t\t{this.state._list.map((option: Option<number>) => (\n\t\t\t\t\t\t\t\t\t<option value={option.value}></option>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</datalist>,\n\t\t\t\t\t\t\t// <ul class=\"grid gap-1 text-sm grid-flow-col\">\n\t\t\t\t\t\t\t// {this.state._list.map((option: InputOption<number>) => (\n\t\t\t\t\t\t\t// <li class=\"border-1\">{option.label}</li>\n\t\t\t\t\t\t\t// ))}\n\t\t\t\t\t\t\t// </ul>,\n\t\t\t\t\t\t]}\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputRangeController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<Option<number>[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: number;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert an.\n\t */\n\t@Prop() public _min?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an.\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: number;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputRangeController(this, 'input-range', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<Option<number>[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: number): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: number): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: number): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as e,r as i,g as a}from"./index-2c046ff1.js";import{b as s,s as n}from"./prop.validators-683bb1d0.js";import{v as l}from"./hide-label-e9f288ac.js";import{f as d}from"./a11y.tipps-e607b8b3.js";import{a as o}from"./reuse-c2156413.js";import{p as r}from"./controller-ca0fe64f.js";import{g as h}from"./controller-d9fb3dc1.js";import{a as p}from"./controller-ff99125c.js";import"./dev.utils-8aef00f6.js";import"./index-37b5cbcf.js";import"./label-bd9566f6.js";import"./tab-index-6d37f269.js";import"./controller-0a60db6b.js";import"./controller-icon-ba3c5351.js";import"./icon-278d567d.js";const u=(t,e)=>{s(t,"_alert",e)},c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}";d("[KolInputText] Pre- und post-Label für Währung usw.");const f=class{render(){const{ariaDescribedBy:i}=h(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,l=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_currentLength:this.state._currentLength,_disabled:this.state._disabled,_error:this.state._error,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_maxLength:this.state._maxLength,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,spellcheck:"false",title:"",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this._tooltipAlign,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{var e;this.ref=t,o(this.host,this.ref),this.disconnectedCallback(),null===(e=this.ref)||void 0===e||e.addEventListener("search",this.onChange)},this.onKeyUp=t=>{n(this,"_currentLength",t.target.value.length),"Enter"===t.code||"NumpadEnter"===t.code?r({form:this.host,ref:this.ref}):this.onChange(t)},this.onChange=t=>{var e,i;this.oldValue!==(null===(e=this.ref)||void 0===e?void 0:e.value)&&(this.oldValue=null===(i=this.ref)||void 0===i?void 0:i.value,this.controller.onFacade.onChange(t))},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hasCounter=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._maxLength=void 0,this._name=void 0,this._on=void 0,this._pattern=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._size=void 0,this._smartButton=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="text",this._value=void 0,this.state={_autoComplete:"off",_currentLength:0,_id:"id",_hasValue:!1,_label:!1,_list:[],_type:"text"},this.controller=new p(this,"text",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){u(this,t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHasCounter(t){this.controller.validateHasCounter(t)}validateHideLabel(t){l(this,t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePattern(t){this.controller.validatePattern(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSize(t){this.controller.validateSize(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.oldValue=this._value,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}disconnectedCallback(){var t;null===(t=this.ref)||void 0===t||t.removeEventListener("search",this.onChange)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_maxLength:["validateMaxLength"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_text};
4
+ import{h as t,H as e,r as i,g as a}from"./index-2c046ff1.js";import{b as s,s as n}from"./prop.validators-601f1068.js";import{v as l}from"./hide-label-9248468d.js";import{f as d}from"./a11y.tipps-9f948961.js";import{n as o}from"./dev.utils-4290338e.js";import{a as r}from"./reuse-c2156413.js";import{p as h}from"./controller-b036f128.js";import{g as p}from"./controller-b26721c9.js";import{a as u}from"./controller-31db8bf4.js";import"./index-37b5cbcf.js";import"./label-223fef8f.js";import"./tab-index-fc60df7a.js";import"./controller-3391cc2d.js";import"./controller-icon-7b8f547d.js";import"./icon-e03e73f6.js";const c=(t,e)=>{s(t,"_alert",e)},f=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}";d("[KolInputText] Pre- und post-Label für Währung usw.");const v=class{render(){const{ariaDescribedBy:i}=p(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,l=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_currentLength:this.state._currentLength,_disabled:this.state._disabled,_error:this.state._error,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_maxLength:this.state._maxLength,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,spellcheck:"false",title:"",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this._tooltipAlign,_id:`${this.state._id}-tooltip`,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{var e;this.ref=t,r(this.host,this.ref),this.disconnectedCallback(),null===(e=this.ref)||void 0===e||e.addEventListener("search",this.onChange)},this.onKeyUp=t=>{n(this,"_currentLength",t.target.value.length),"Enter"===t.code||"NumpadEnter"===t.code?h({form:this.host,ref:this.ref}):this.onChange(t)},this.onChange=t=>{var e,i;this.oldValue!==(null===(e=this.ref)||void 0===e?void 0:e.value)&&(this.oldValue=null===(i=this.ref)||void 0===i?void 0:i.value,this.controller.onFacade.onChange(t))},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hasCounter=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._maxLength=void 0,this._name=void 0,this._on=void 0,this._pattern=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._size=void 0,this._smartButton=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="text",this._value=void 0,this.state={_autoComplete:"off",_currentLength:0,_id:`id-${o()}`,_hasValue:!1,_label:!1,_list:[],_type:"text"},this.controller=new u(this,"input-text",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){c(this,t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHasCounter(t){this.controller.validateHasCounter(t)}validateHideLabel(t){l(this,t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.controller.validateList(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePattern(t){this.controller.validatePattern(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSize(t){this.controller.validateSize(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.oldValue=this._value,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}disconnectedCallback(){var t;null===(t=this.ref)||void 0===t||t.removeEventListener("search",this.onChange)}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_maxLength:["validateMaxLength"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};v.style={default:f};export{v as kol_input_text};
@@ -1 +1 @@
1
- {"version":3,"names":["validateAlert","component","value","watchBoolean","defaultStyleCss","featureHint","KolInputText","render","ariaDescribedBy","getRenderStates","this","state","hasList","Array","isArray","_list","length","hasExpertSlot","_label","h","Host","class","_hasValue","_type","_hideLabel","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","list","maxlength","name","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","title","type","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","constructor","hostRef","propagateFocus","host","disconnectedCallback","addEventListener","onChange","event","setState","target","code","propagateSubmitEventToForm","form","oldValue","_b","InputTextController","validateAccessKey","validateAutoComplete","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","validateType","validateValue","componentWillLoad","_alert","addValueChangeListener","v","removeEventListener"],"sources":["src/types/props/alert.ts","src/components/input-text/style.css?tag=kol-input-text&mode=default&encapsulation=shadow","src/components/input-text/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht die Fehlermeldung dieses Elements von Screenreadern lesbar.\n */\n/** en\n * Makes hints readable for screenreaders.\n */\nexport type PropAlert = {\n\talert: boolean;\n};\n\n/* validator */\nexport const validateAlert = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_alert', value);\n};\n","@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTextType } from '../../types/input/control/text';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { validateAlert } from '../../types/props/alert';\nimport { Align } from '../../types/props/align';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputTextController } from './controller';\nimport { ComponentApi, States } from './types';\n\nfeatureHint(`[KolInputText] Pre- und post-Label für Währung usw.`);\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-text',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputText implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputTextElement;\n\tprivate ref?: HTMLInputElement;\n\tprivate oldValue?: string;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t\tthis.disconnectedCallback();\n\t\tthis.ref?.addEventListener('search', this.onChange);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter' || event.code === 'NumpadEnter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.onChange(event);\n\t\t}\n\t};\n\n\tprivate readonly onChange = (event: Event) => {\n\t\tif (this.oldValue !== this.ref?.value) {\n\t\t\tthis.oldValue = this.ref?.value;\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type]: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t// onInput={this.controller.onFacade.onChange}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputTextController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Setzt das Eingabefeld in den schreibgeschützten Modus.\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type?: InputTextType = 'text';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_id: 'id',\n\t\t_hasValue: false,\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t\t_type: 'text',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputTextController(this, 'text', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tvalidateAlert(this, value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: InputTextType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.oldValue = this._value;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.ref?.removeEventListener('search', this.onChange);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateAlert","component","value","watchBoolean","defaultStyleCss","featureHint","KolInputText","render","ariaDescribedBy","getRenderStates","this","state","hasList","Array","isArray","_list","length","hasExpertSlot","_label","h","Host","class","_hasValue","_type","_hideLabel","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","list","maxlength","name","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","title","type","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","constructor","hostRef","propagateFocus","host","disconnectedCallback","addEventListener","onChange","event","setState","target","code","propagateSubmitEventToForm","form","oldValue","_b","nonce","InputTextController","validateAccessKey","validateAutoComplete","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","validateType","validateValue","componentWillLoad","_alert","addValueChangeListener","v","removeEventListener"],"sources":["src/types/props/alert.ts","src/components/input-text/style.css?tag=kol-input-text&mode=default&encapsulation=shadow","src/components/input-text/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Macht die Fehlermeldung dieses Elements von Screenreadern lesbar.\n */\n/** en\n * Makes hints readable for screenreaders.\n */\nexport type PropAlert = {\n\talert: boolean;\n};\n\n/* validator */\nexport const validateAlert = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_alert', value);\n};\n","@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTextType } from '../../types/input/control/text';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { validateAlert } from '../../types/props/alert';\nimport { Align } from '../../types/props/align';\nimport { validateHideLabel } from '../../types/props/hide-label';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { featureHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputTextController } from './controller';\nimport { ComponentApi, States } from './types';\n\nfeatureHint(`[KolInputText] Pre- und post-Label für Währung usw.`);\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-text',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputText implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputTextElement;\n\tprivate ref?: HTMLInputElement;\n\tprivate oldValue?: string;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t\tthis.disconnectedCallback();\n\t\tthis.ref?.addEventListener('search', this.onChange);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter' || event.code === 'NumpadEnter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.onChange(event);\n\t\t}\n\t};\n\n\tprivate readonly onChange = (event: Event) => {\n\t\tif (this.oldValue !== this.ref?.value) {\n\t\t\tthis.oldValue = this.ref?.value;\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type]: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\t// onInput={this.controller.onFacade.onChange}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_id={`${this.state._id}-tooltip`}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputTextController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Setzt das Eingabefeld in den schreibgeschützten Modus.\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob der Tooltip bevorzugt entweder oben, rechts, unten oder links angezeigt werden soll.\n\t */\n\t@Prop() public _tooltipAlign?: Align = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type?: InputTextType = 'text';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_hasValue: false,\n\t\t_label: false, // ⚠ required\n\t\t_list: [],\n\t\t_type: 'text',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputTextController(this, 'input-text', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tvalidateAlert(this, value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tvalidateHideLabel(this, value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: InputTextType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.oldValue = this._value;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n\n\tpublic disconnectedCallback(): void {\n\t\tthis.ref?.removeEventListener('search', this.onChange);\n\t}\n}\n"],"mappings":";;;qmBAgBO,MAAMA,EAAgB,CAACC,EAAsCC,KACnEC,EAAaF,EAAW,SAAUC,EAAM,ECjBzC,MAAME,EAAkB,21DCoBxBC,EAAY,uD,MAYCC,EAAY,MA+BjBC,SACN,MAAMC,gBAAEA,GAAoBC,EAAgBC,KAAKC,OACjD,MAAMC,EAAUC,MAAMC,QAAQJ,KAAKC,MAAMI,QAAUL,KAAKC,MAAMI,MAAMC,OAAS,EAC7E,MAAMC,EAAgBP,KAAKC,MAAMO,SAAW,MAE5C,OACCC,EAACC,EAAI,CACJC,MAAO,CACN,YAAaX,KAAKC,MAAMW,YAGzBH,EAAA,aACCE,MAAO,CACN,CAACX,KAAKC,MAAMY,OAAQ,KACpB,eAAgBb,KAAKC,MAAMa,YAE5BC,eAAgBf,KAAKC,MAAMc,eAC3BC,UAAWhB,KAAKC,MAAMe,UACtBC,OAAQjB,KAAKC,MAAMgB,OACnBC,YAAalB,KAAKC,MAAMiB,YACxBJ,WAAYd,KAAKC,MAAMa,WACvBK,MAAOnB,KAAKC,MAAMkB,MAClBC,MAAOpB,KAAKC,MAAMmB,MAClBC,IAAKrB,KAAKC,MAAMoB,IAChBhB,MAAOL,KAAKC,MAAMI,MAClBiB,WAAYtB,KAAKC,MAAMqB,WACvBC,UAAWvB,KAAKC,MAAMsB,UACtBC,UAAWxB,KAAKC,MAAMuB,UACtBC,aAAczB,KAAKC,MAAMwB,aACzBC,SAAU1B,KAAKC,MAAMyB,SACrBC,QAAS,SAAAC,EAAM,OAAAA,EAAA5B,KAAK6B,OAAG,MAAAD,SAAA,SAAAA,EAAEE,OAAO,GAGhCrB,EAAA,QAAMsB,KAAK,SAASxB,EAAgBE,EAAA,aAAgBT,KAAKC,MAAMO,QAC/DC,EAAA,OAAKsB,KAAK,SACTtB,EAAA,QAAAuB,OAAAC,OAAA,CACCJ,IAAK7B,KAAKkC,SACVC,UAAWnC,KAAKC,MAAMmC,WAAU,mBACdtC,EAAgBQ,OAAS,EAAIR,EAAgBuC,KAAK,KAAOC,UAAS,kBACnE,GAAGtC,KAAKC,MAAMoB,YAC/BkB,eAAe,MACfC,aAAcxC,KAAKC,MAAMwC,cACzBC,YAAY,MACZC,SAAU3C,KAAKC,MAAMe,UACrB4B,GAAI5C,KAAKC,MAAMoB,IACfwB,KAAM3C,EAAU,GAAGF,KAAKC,MAAMoB,WAAaiB,UAC3CQ,UAAW9C,KAAKC,MAAMqB,WACtByB,KAAM/C,KAAKC,MAAM+C,MACjBC,QAASjD,KAAKC,MAAMiD,SACpBC,YAAanD,KAAKC,MAAMmD,aACxBC,SAAUrD,KAAKC,MAAMsB,UACrB+B,SAAUtD,KAAKC,MAAMuB,UACrB+B,KAAMvD,KAAKC,MAAMuD,MACjBC,WAAW,QACXC,MAAM,GAENC,KAAM3D,KAAKC,MAAMY,MACjBrB,MAAOQ,KAAKC,MAAM2D,QACd5D,KAAK6D,WAAWC,SAAQ,CAE5BC,QAAS/D,KAAK+D,WAEftD,EAAA,6BAKa,OACZuD,OAAQzD,IAAkBP,KAAKC,MAAMa,WACrCmD,OAAQjE,KAAKkE,cACb7C,IAAK,GAAGrB,KAAKC,MAAMoB,cACnBb,cAAeR,KAAKC,MAAMO,SAAW,SAAWR,KAAKC,MAAMO,OAAS,O,CA4J1E2D,YAAAC,G,UA7PiBpE,KAAAkC,SAAYL,I,MAC5B7B,KAAK6B,IAAMA,EACXwC,EAAerE,KAAKsE,KAAMtE,KAAK6B,KAC/B7B,KAAKuE,wBACL3C,EAAA5B,KAAK6B,OAAG,MAAAD,SAAA,SAAAA,EAAE4C,iBAAiB,SAAUxE,KAAKyE,SAAS,EAGnCzE,KAAA+D,QAAWW,IAC3BC,EAAS3E,KAAM,iBAAmB0E,EAAME,OAA4BpF,MAAMc,QAC1E,GAAIoE,EAAMG,OAAS,SAAWH,EAAMG,OAAS,cAAe,CAC3DC,EAA2B,CAC1BC,KAAM/E,KAAKsE,KACXzC,IAAK7B,KAAK6B,K,KAEL,CACN7B,KAAKyE,SAASC,E,GAIC1E,KAAAyE,SAAYC,I,QAC5B,GAAI1E,KAAKgF,aAAapD,EAAA5B,KAAK6B,OAAG,MAAAD,SAAA,SAAAA,EAAEpC,OAAO,CACtCQ,KAAKgF,UAAWC,EAAAjF,KAAK6B,OAAG,MAAAoD,SAAA,SAAAA,EAAEzF,MAC1BQ,KAAK6D,WAAWC,SAASW,SAASC,E,yCA6F8B,K,4IA8BlC,G,4XAiFO,M,cAK6B,M,WAK7B,O,iCAOP,CAC/BjC,cAAe,MACf1B,eAAgB,EAChBM,IAAK,MAAM6D,MACXtE,UAAW,MACXJ,OAAQ,MACRH,MAAO,GACPQ,MAAO,QAIPb,KAAK6D,WAAa,IAAIsB,EAAoBnF,KAAM,aAAcA,KAAKsE,K,CAI7Dc,kBAAkB5F,GACxBQ,KAAK6D,WAAWuB,kBAAkB5F,E,CAI5BF,cAAcE,GACpBF,EAAcU,KAAMR,E,CAId6F,qBAAqB7F,GAC3BQ,KAAK6D,WAAWwB,qBAAqB7F,E,CAI/B8F,iBAAiB9F,GACvBQ,KAAK6D,WAAWyB,iBAAiB9F,E,CAI3B+F,cAAc/F,GACpBQ,KAAK6D,WAAW0B,cAAc/F,E,CAIxBgG,mBAAmBhG,GACzBQ,KAAK6D,WAAW2B,mBAAmBhG,E,CAI7BiG,kBAAkBjG,GACxBiG,EAAkBzF,KAAMR,E,CAIlBkG,aAAalG,GACnBQ,KAAK6D,WAAW6B,aAAalG,E,CAIvBmG,aAAanG,GACnBQ,KAAK6D,WAAW8B,aAAanG,E,CAIvBoG,WAAWpG,GACjBQ,KAAK6D,WAAW+B,WAAWpG,E,CAIrBqG,cAAcrG,GACpBQ,KAAK6D,WAAWgC,cAAcrG,E,CAIxBsG,aAAatG,GACnBQ,KAAK6D,WAAWiC,aAAatG,E,CAIvBuG,kBAAkBvG,GACxBQ,KAAK6D,WAAWkC,kBAAkBvG,E,CAI5BwG,aAAaxG,GACnBQ,KAAK6D,WAAWmC,aAAaxG,E,CAIvByG,WAAWzG,GACjBQ,KAAK6D,WAAWoC,WAAWzG,E,CAIrB0G,gBAAgB1G,GACtBQ,KAAK6D,WAAWqC,gBAAgB1G,E,CAI1B2G,oBAAoB3G,GAC1BQ,KAAK6D,WAAWsC,oBAAoB3G,E,CAI9B4G,iBAAiB5G,GACvBQ,KAAK6D,WAAWuC,iBAAiB5G,E,CAI3B6G,iBAAiB7G,GACvBQ,KAAK6D,WAAWwC,iBAAiB7G,E,CAO3B8G,aAAa9G,GACnBQ,KAAK6D,WAAWyC,aAAa9G,E,CAIvB+G,oBAAoB/G,GAC1BQ,KAAK6D,WAAW0C,oBAAoB/G,E,CAI9BgH,4BAA4BhH,GAClCQ,KAAK6D,WAAW2C,4BAA4BhH,E,CAItCiH,iBAAiBjH,GACvBQ,KAAK6D,WAAW4C,iBAAiBjH,E,CAI3BkH,gBAAgBlH,GACtBQ,KAAK6D,WAAW6C,gBAAgBlH,E,CAI1BmH,aAAanH,GACnBQ,KAAK6D,WAAW8C,aAAanH,E,CAIvBoH,cAAcpH,GACpBQ,KAAK6D,WAAW+C,cAAcpH,E,CAGxBqH,oBACN7G,KAAK8G,OAAS9G,KAAK8G,SAAW,KAC9B9G,KAAK0B,SAAW1B,KAAK0B,WAAa,KAClC1B,KAAKgF,SAAWhF,KAAK4D,OACrB5D,KAAK6D,WAAWgD,oBAEhB7G,KAAKC,MAAMW,YAAcZ,KAAKC,MAAM2D,OACpC5D,KAAK6D,WAAWkD,wBAAwBC,GAAOhH,KAAKC,MAAMW,YAAcoG,G,CAGlEzC,uB,OACN3C,EAAA5B,KAAK6B,OAAG,MAAAD,SAAA,SAAAA,EAAEqF,oBAAoB,SAAUjH,KAAKyE,S"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as e,H as i}from"./index-2c046ff1.js";import{a as o}from"./i18n-64b07ed9.js";import{c as a,v as s}from"./color-9d0ce5e3.js";import{d as r}from"./a11y.tipps-e607b8b3.js";import{b as n}from"./prop.validators-683bb1d0.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-8aef00f6.js";import"./reuse-c2156413.js";const l=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}text{font-size:90px;letter-spacing:normal;word-spacing:normal}",h=360;function d(t){return t*Math.PI/180}function c(t){return Math.round((Math.cos(d(t))+1)/2*225)}const p=class{constructor(e){t(this,e),this.handleColorChange=(t,e)=>{if("string"==typeof t){const i=a(t);e.set("_color",{red:i[0],green:i[1],blue:i[2]})}else r("[KolKolibri] You used the complex color schema. For the KoliBri we use need the color as hex string.")},this._animate=void 0,this._color="#003c78",this._labeled=void 0,this.state={_animate:!1,_color:{red:0,green:60,blue:120},_labeled:!0}}render(){const t=!0===this.state._animate?`rgb(${c(this.state._color.red)},${c(this.state._color.green)},${c(this.state._color.blue)})`:`rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;return e(i,null,e("svg",{role:"img","aria-label":o("kol-kolibri-logo"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:t},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),!0===this.state._labeled&&e("text",{x:"250",y:"525",fill:t},"KoliBri")))}validateAnimate(t){n(this,"_animate",t)}validateColor(t){s(this,t,{defaultValue:"#003c78",hooks:{beforePatch:this.handleColorChange}})}validateLabeled(t){n(this,"_labeled",t)}componentWillLoad(){this.validateAnimate(this._animate),this.validateColor(this._color),this.validateLabeled(this._labeled)}componentDidRender(){clearInterval(this.interval),this.state._animate&&(this.interval=setInterval((()=>{this.state=Object.assign(Object.assign({},this.state),{_color:{red:(this.state._color.red+1)%h,green:(this.state._color.green+2)%h,blue:(this.state._color.blue+3)%h}})}),50))}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_animate:["validateAnimate"],_color:["validateColor"],_labeled:["validateLabeled"]}}};p.style={default:l};export{p as kol_kolibri};
4
+ import{r as t,h as e,H as i}from"./index-2c046ff1.js";import{a as o}from"./i18n-23b83118.js";import{c as a,v as s}from"./color-408da8e8.js";import{d as r}from"./a11y.tipps-9f948961.js";import{b as n}from"./prop.validators-601f1068.js";import"./index-d8ac1088.js";import"./index-37b5cbcf.js";import"./dev.utils-4290338e.js";import"./reuse-c2156413.js";const l=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}text{font-size:90px;letter-spacing:normal;word-spacing:normal}",h=360;function d(t){return t*Math.PI/180}function c(t){return Math.round((Math.cos(d(t))+1)/2*225)}const p=class{constructor(e){t(this,e),this.handleColorChange=(t,e)=>{if("string"==typeof t){const i=a(t);e.set("_color",{red:i[0],green:i[1],blue:i[2]})}else r("[KolKolibri] You used the complex color schema. For the KoliBri we use need the color as hex string.")},this._animate=void 0,this._color="#003c78",this._labeled=void 0,this.state={_animate:!1,_color:{red:0,green:60,blue:120},_labeled:!0}}render(){const t=!0===this.state._animate?`rgb(${c(this.state._color.red)},${c(this.state._color.green)},${c(this.state._color.blue)})`:`rgb(${this.state._color.red},${this.state._color.green},${this.state._color.blue})`;return e(i,null,e("svg",{role:"img","aria-label":o("kol-kolibri-logo"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 600 600",fill:t},e("path",{d:"M353 322L213 304V434L353 322Z"}),e("path",{d:"M209 564V304L149 434L209 564Z"}),e("path",{d:"M357 316L417 250L361 210L275 244L357 316Z"}),e("path",{d:"M329 218L237 92L250 222L272 241L329 218Z"}),e("path",{d:"M353 318L35 36L213 300L353 318Z"}),e("path",{d:"M391 286L565 272L421 252L391 286Z"}),!0===this.state._labeled&&e("text",{x:"250",y:"525",fill:t},"KoliBri")))}validateAnimate(t){n(this,"_animate",t)}validateColor(t){s(this,t,{defaultValue:"#003c78",hooks:{beforePatch:this.handleColorChange}})}validateLabeled(t){n(this,"_labeled",t)}componentWillLoad(){this.validateAnimate(this._animate),this.validateColor(this._color),this.validateLabeled(this._labeled)}componentDidRender(){clearInterval(this.interval),this.state._animate&&(this.interval=setInterval((()=>{this.state=Object.assign(Object.assign({},this.state),{_color:{red:(this.state._color.red+1)%h,green:(this.state._color.green+2)%h,blue:(this.state._color.blue+3)%h}})}),50))}disconnectedCallback(){clearInterval(this.interval)}static get watchers(){return{_animate:["validateAnimate"],_color:["validateColor"],_labeled:["validateLabeled"]}}};p.style={default:l};export{p as kol_kolibri};