@public-ui/components 1.6.0-rc.4 → 1.6.0-rc.5

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 (445) hide show
  1. package/custom-elements.json +6 -6
  2. package/dist/cjs/button-link-153007e8.js.map +1 -1
  3. package/dist/cjs/{controller-1b763c05.js → controller-0ad98a73.js} +1 -1
  4. package/dist/cjs/{controller-1b763c05.js.map → controller-0ad98a73.js.map} +1 -1
  5. package/dist/cjs/{controller-93165ab9.js → controller-1d3b3fd5.js} +1 -1
  6. package/dist/cjs/{controller-93165ab9.js.map → controller-1d3b3fd5.js.map} +1 -1
  7. package/dist/cjs/controller-30129612.js +4 -0
  8. package/dist/cjs/controller-30129612.js.map +1 -0
  9. package/dist/cjs/{controller-abf026e3.js → controller-bd648cb7.js} +1 -1
  10. package/dist/cjs/{controller-abf026e3.js.map → controller-bd648cb7.js.map} +1 -1
  11. package/dist/cjs/controller-d95ae8a8.js +4 -0
  12. package/dist/cjs/controller-d95ae8a8.js.map +1 -0
  13. package/dist/cjs/{controller-icon-d3ae7955.js → controller-icon-5f64efaa.js} +1 -1
  14. package/dist/cjs/{controller-icon-d3ae7955.js.map → controller-icon-5f64efaa.js.map} +1 -1
  15. package/dist/cjs/floating-ui.dom.esm-f01eaf3d.js.map +1 -1
  16. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  17. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  19. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  20. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  22. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  23. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  25. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  26. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  27. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  28. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  29. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  31. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  32. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  34. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  35. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  36. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  37. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  38. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  40. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  42. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  44. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  46. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  48. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  54. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  72. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kolibri.cjs.js +1 -1
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/components/aria-selected.js +1 -1
  82. package/dist/components/color.js +1 -1
  83. package/dist/components/component.js.map +1 -1
  84. package/dist/components/component12.js +1 -1
  85. package/dist/components/component12.js.map +1 -1
  86. package/dist/components/component13.js +1 -1
  87. package/dist/components/component13.js.map +1 -1
  88. package/dist/components/component14.js.map +1 -1
  89. package/dist/components/component15.js +1 -1
  90. package/dist/components/component15.js.map +1 -1
  91. package/dist/components/component2.js.map +1 -1
  92. package/dist/components/component3.js +1 -1
  93. package/dist/components/component3.js.map +1 -1
  94. package/dist/components/component4.js.map +1 -1
  95. package/dist/components/component5.js +1 -1
  96. package/dist/components/component5.js.map +1 -1
  97. package/dist/components/component6.js +1 -1
  98. package/dist/components/component7.js +1 -1
  99. package/dist/components/component7.js.map +1 -1
  100. package/dist/components/component8.js +1 -1
  101. package/dist/components/component8.js.map +1 -1
  102. package/dist/components/controller.js +1 -1
  103. package/dist/components/controller.js.map +1 -1
  104. package/dist/components/controller2.js +1 -1
  105. package/dist/components/controller4.js +1 -1
  106. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  107. package/dist/components/kol-accordion.js +1 -1
  108. package/dist/components/kol-breadcrumb.js.map +1 -1
  109. package/dist/components/kol-card.js +1 -1
  110. package/dist/components/kol-card.js.map +1 -1
  111. package/dist/components/kol-details.js +1 -1
  112. package/dist/components/kol-details.js.map +1 -1
  113. package/dist/components/kol-form.js +1 -1
  114. package/dist/components/kol-form.js.map +1 -1
  115. package/dist/components/kol-heading.js.map +1 -1
  116. package/dist/components/kol-input-checkbox.js +1 -1
  117. package/dist/components/kol-input-checkbox.js.map +1 -1
  118. package/dist/components/kol-input-color.js +1 -1
  119. package/dist/components/kol-input-color.js.map +1 -1
  120. package/dist/components/kol-input-date.js +1 -1
  121. package/dist/components/kol-input-date.js.map +1 -1
  122. package/dist/components/kol-input-email.js +1 -1
  123. package/dist/components/kol-input-email.js.map +1 -1
  124. package/dist/components/kol-input-file.js +1 -1
  125. package/dist/components/kol-input-file.js.map +1 -1
  126. package/dist/components/kol-input-number.js +1 -1
  127. package/dist/components/kol-input-number.js.map +1 -1
  128. package/dist/components/kol-input-password.js +1 -1
  129. package/dist/components/kol-input-password.js.map +1 -1
  130. package/dist/components/kol-input-range.js +1 -1
  131. package/dist/components/kol-input-range.js.map +1 -1
  132. package/dist/components/kol-input-text.js +1 -1
  133. package/dist/components/kol-input-text.js.map +1 -1
  134. package/dist/components/kol-kolibri.js +1 -1
  135. package/dist/components/kol-kolibri.js.map +1 -1
  136. package/dist/components/kol-link-group.js +1 -1
  137. package/dist/components/kol-link-group.js.map +1 -1
  138. package/dist/components/kol-logo.js.map +1 -1
  139. package/dist/components/kol-modal.js.map +1 -1
  140. package/dist/components/kol-nav.js +1 -1
  141. package/dist/components/kol-nav.js.map +1 -1
  142. package/dist/components/kol-popover.js.map +1 -1
  143. package/dist/components/kol-progress.js +1 -1
  144. package/dist/components/kol-progress.js.map +1 -1
  145. package/dist/components/kol-quote.js.map +1 -1
  146. package/dist/components/kol-skip-nav.js +1 -1
  147. package/dist/components/kol-skip-nav.js.map +1 -1
  148. package/dist/components/kol-span.js.map +1 -1
  149. package/dist/components/kol-spin.js +1 -1
  150. package/dist/components/kol-spin.js.map +1 -1
  151. package/dist/components/kol-split-button.js +1 -1
  152. package/dist/components/kol-split-button.js.map +1 -1
  153. package/dist/components/kol-symbol.js.map +1 -1
  154. package/dist/components/kol-table.js.map +1 -1
  155. package/dist/components/kol-tabs.js.map +1 -1
  156. package/dist/components/kol-textarea.js +1 -1
  157. package/dist/components/kol-textarea.js.map +1 -1
  158. package/dist/components/kol-toast.js +1 -1
  159. package/dist/components/kol-toast.js.map +1 -1
  160. package/dist/components/kol-version.js.map +1 -1
  161. package/dist/components/prop.validators.js +1 -1
  162. package/dist/components/show.js +1 -1
  163. package/dist/components/tab-index.js +1 -1
  164. package/dist/esm/button-link-283b2d32.js.map +1 -1
  165. package/dist/esm/controller-4ec2558c.js +4 -0
  166. package/dist/esm/controller-4ec2558c.js.map +1 -0
  167. package/dist/esm/{controller-5a459788.js → controller-60d1d5f4.js} +1 -1
  168. package/dist/esm/{controller-5a459788.js.map → controller-60d1d5f4.js.map} +1 -1
  169. package/dist/esm/controller-8fc78dec.js +4 -0
  170. package/dist/esm/controller-8fc78dec.js.map +1 -0
  171. package/dist/esm/{controller-cb6b97eb.js → controller-ad7fb632.js} +1 -1
  172. package/dist/esm/{controller-cb6b97eb.js.map → controller-ad7fb632.js.map} +1 -1
  173. package/dist/esm/{controller-2847846e.js → controller-e0b5fdbd.js} +1 -1
  174. package/dist/esm/{controller-2847846e.js.map → controller-e0b5fdbd.js.map} +1 -1
  175. package/dist/esm/{controller-icon-65f3377a.js → controller-icon-7e3b404f.js} +1 -1
  176. package/dist/esm/{controller-icon-65f3377a.js.map → controller-icon-7e3b404f.js.map} +1 -1
  177. package/dist/esm/floating-ui.dom.esm-2bceafa3.js.map +1 -1
  178. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  179. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  180. package/dist/esm/kol-badge.entry.js.map +1 -1
  181. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  182. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  183. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  184. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  185. package/dist/esm/kol-card.entry.js.map +1 -1
  186. package/dist/esm/kol-details.entry.js.map +1 -1
  187. package/dist/esm/kol-form.entry.js.map +1 -1
  188. package/dist/esm/kol-heading.entry.js.map +1 -1
  189. package/dist/esm/kol-icon.entry.js.map +1 -1
  190. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  191. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  192. package/dist/esm/kol-input-color.entry.js +1 -1
  193. package/dist/esm/kol-input-color.entry.js.map +1 -1
  194. package/dist/esm/kol-input-date.entry.js +1 -1
  195. package/dist/esm/kol-input-date.entry.js.map +1 -1
  196. package/dist/esm/kol-input-email.entry.js +1 -1
  197. package/dist/esm/kol-input-email.entry.js.map +1 -1
  198. package/dist/esm/kol-input-file.entry.js +1 -1
  199. package/dist/esm/kol-input-file.entry.js.map +1 -1
  200. package/dist/esm/kol-input-number.entry.js +1 -1
  201. package/dist/esm/kol-input-number.entry.js.map +1 -1
  202. package/dist/esm/kol-input-password.entry.js +1 -1
  203. package/dist/esm/kol-input-password.entry.js.map +1 -1
  204. package/dist/esm/kol-input-radio.entry.js +1 -1
  205. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  206. package/dist/esm/kol-input-range.entry.js +1 -1
  207. package/dist/esm/kol-input-range.entry.js.map +1 -1
  208. package/dist/esm/kol-input-text.entry.js +1 -1
  209. package/dist/esm/kol-input-text.entry.js.map +1 -1
  210. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  211. package/dist/esm/kol-link-group.entry.js +1 -1
  212. package/dist/esm/kol-link-group.entry.js.map +1 -1
  213. package/dist/esm/kol-link-wc.entry.js +1 -1
  214. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  215. package/dist/esm/kol-logo.entry.js.map +1 -1
  216. package/dist/esm/kol-modal.entry.js.map +1 -1
  217. package/dist/esm/kol-nav.entry.js.map +1 -1
  218. package/dist/esm/kol-pagination.entry.js.map +1 -1
  219. package/dist/esm/kol-popover.entry.js.map +1 -1
  220. package/dist/esm/kol-progress.entry.js +1 -1
  221. package/dist/esm/kol-progress.entry.js.map +1 -1
  222. package/dist/esm/kol-quote.entry.js.map +1 -1
  223. package/dist/esm/kol-select.entry.js +1 -1
  224. package/dist/esm/kol-select.entry.js.map +1 -1
  225. package/dist/esm/kol-skip-nav.entry.js +1 -1
  226. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  227. package/dist/esm/kol-span-wc.entry.js.map +1 -1
  228. package/dist/esm/kol-span.entry.js.map +1 -1
  229. package/dist/esm/kol-spin.entry.js.map +1 -1
  230. package/dist/esm/kol-split-button.entry.js +1 -1
  231. package/dist/esm/kol-split-button.entry.js.map +1 -1
  232. package/dist/esm/kol-symbol.entry.js.map +1 -1
  233. package/dist/esm/kol-table.entry.js.map +1 -1
  234. package/dist/esm/kol-tabs.entry.js.map +1 -1
  235. package/dist/esm/kol-textarea.entry.js +1 -1
  236. package/dist/esm/kol-textarea.entry.js.map +1 -1
  237. package/dist/esm/kol-toast.entry.js +1 -1
  238. package/dist/esm/kol-toast.entry.js.map +1 -1
  239. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  240. package/dist/esm/kol-version.entry.js.map +1 -1
  241. package/dist/esm/kolibri.js +1 -1
  242. package/dist/esm/loader.js +1 -1
  243. package/dist/kolibri/button-link-283b2d32.js.map +1 -1
  244. package/dist/kolibri/controller-4ec2558c.js +4 -0
  245. package/dist/kolibri/controller-4ec2558c.js.map +1 -0
  246. package/dist/kolibri/{controller-5a459788.js → controller-60d1d5f4.js} +1 -1
  247. package/dist/kolibri/controller-8fc78dec.js +4 -0
  248. package/dist/kolibri/controller-8fc78dec.js.map +1 -0
  249. package/dist/kolibri/{controller-cb6b97eb.js → controller-ad7fb632.js} +1 -1
  250. package/dist/kolibri/controller-e0b5fdbd.js +4 -0
  251. package/dist/kolibri/controller-icon-7e3b404f.js +4 -0
  252. package/dist/kolibri/floating-ui.dom.esm-2bceafa3.js.map +1 -1
  253. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  254. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  255. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  256. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  257. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  258. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  259. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  260. package/dist/kolibri/kol-card.entry.js.map +1 -1
  261. package/dist/kolibri/kol-details.entry.js.map +1 -1
  262. package/dist/kolibri/kol-form.entry.js.map +1 -1
  263. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  264. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  265. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  266. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  267. package/dist/kolibri/kol-input-color.entry.js +1 -1
  268. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  269. package/dist/kolibri/kol-input-date.entry.js +1 -1
  270. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  271. package/dist/kolibri/kol-input-email.entry.js +1 -1
  272. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  273. package/dist/kolibri/kol-input-file.entry.js +1 -1
  274. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  275. package/dist/kolibri/kol-input-number.entry.js +1 -1
  276. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  277. package/dist/kolibri/kol-input-password.entry.js +1 -1
  278. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  279. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  280. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  281. package/dist/kolibri/kol-input-range.entry.js +1 -1
  282. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  283. package/dist/kolibri/kol-input-text.entry.js +1 -1
  284. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  285. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  286. package/dist/kolibri/kol-link-group.entry.js +1 -1
  287. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  288. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  289. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  290. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  291. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  292. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  293. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  294. package/dist/kolibri/kol-popover.entry.js.map +1 -1
  295. package/dist/kolibri/kol-progress.entry.js +1 -1
  296. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  297. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  298. package/dist/kolibri/kol-select.entry.js +1 -1
  299. package/dist/kolibri/kol-select.entry.js.map +1 -1
  300. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  301. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  302. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  303. package/dist/kolibri/kol-span.entry.js.map +1 -1
  304. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  305. package/dist/kolibri/kol-split-button.entry.js +1 -1
  306. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  307. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  308. package/dist/kolibri/kol-table.entry.js.map +1 -1
  309. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  310. package/dist/kolibri/kol-textarea.entry.js +1 -1
  311. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  312. package/dist/kolibri/kol-toast.entry.js +1 -1
  313. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  314. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  315. package/dist/kolibri/kol-version.entry.js.map +1 -1
  316. package/dist/kolibri/kolibri.esm.js +1 -1
  317. package/dist/kolibri/kolibri.esm.js.map +1 -1
  318. package/dist/types/components/@deprecated/input/types.d.ts +1 -0
  319. package/dist/types/components/badge/component.d.ts +4 -24
  320. package/dist/types/components/badge/test/html.mock.d.ts +2 -2
  321. package/dist/types/components/badge/types.d.ts +23 -0
  322. package/dist/types/components/breadcrumb/component.d.ts +3 -16
  323. package/dist/types/components/breadcrumb/test/html.mock.d.ts +2 -2
  324. package/dist/types/components/breadcrumb/types.d.ts +16 -0
  325. package/dist/types/components/card/component.d.ts +3 -16
  326. package/dist/types/components/card/test/html.mock.d.ts +2 -2
  327. package/dist/types/components/card/types.d.ts +16 -0
  328. package/dist/types/components/details/component.d.ts +3 -14
  329. package/dist/types/components/details/test/html.mock.d.ts +2 -2
  330. package/dist/types/components/details/types.d.ts +13 -0
  331. package/dist/types/components/form/component.d.ts +3 -19
  332. package/dist/types/components/form/test/html.mock.d.ts +2 -2
  333. package/dist/types/components/form/types.d.ts +18 -0
  334. package/dist/types/components/heading/component.d.ts +3 -20
  335. package/dist/types/components/heading/shadow.d.ts +2 -2
  336. package/dist/types/components/heading/test/html.mock.d.ts +3 -3
  337. package/dist/types/components/heading/types.d.ts +20 -0
  338. package/dist/types/components/icon/component.d.ts +3 -15
  339. package/dist/types/components/icon/test/html.mock.d.ts +2 -2
  340. package/dist/types/components/icon/types.d.ts +14 -0
  341. package/dist/types/components/input/component.d.ts +1 -0
  342. package/dist/types/components/input/types.d.ts +2 -0
  343. package/dist/types/components/input-adapter-leanup/controller.d.ts +2 -0
  344. package/dist/types/components/input-adapter-leanup/types.d.ts +1 -0
  345. package/dist/types/components/input-checkbox/component.d.ts +2 -0
  346. package/dist/types/components/input-checkbox/types.d.ts +1 -0
  347. package/dist/types/components/input-color/component.d.ts +2 -0
  348. package/dist/types/components/input-color/types.d.ts +1 -0
  349. package/dist/types/components/input-date/component.d.ts +2 -0
  350. package/dist/types/components/input-date/types.d.ts +1 -0
  351. package/dist/types/components/input-email/component.d.ts +2 -0
  352. package/dist/types/components/input-email/types.d.ts +1 -0
  353. package/dist/types/components/input-file/component.d.ts +2 -0
  354. package/dist/types/components/input-file/types.d.ts +1 -0
  355. package/dist/types/components/input-number/component.d.ts +2 -0
  356. package/dist/types/components/input-number/types.d.ts +1 -0
  357. package/dist/types/components/input-password/component.d.ts +2 -0
  358. package/dist/types/components/input-password/types.d.ts +1 -0
  359. package/dist/types/components/input-radio/component.d.ts +2 -0
  360. package/dist/types/components/input-radio/types.d.ts +1 -0
  361. package/dist/types/components/input-range/component.d.ts +2 -0
  362. package/dist/types/components/input-range/types.d.ts +1 -0
  363. package/dist/types/components/input-text/component.d.ts +2 -0
  364. package/dist/types/components/input-text/types.d.ts +1 -0
  365. package/dist/types/components/kolibri/component.d.ts +3 -21
  366. package/dist/types/components/kolibri/types.d.ts +21 -0
  367. package/dist/types/components/link/component.d.ts +2 -3
  368. package/dist/types/components/link-group/component.d.ts +3 -28
  369. package/dist/types/components/link-group/types.d.ts +28 -0
  370. package/dist/types/components/logo/component.d.ts +3 -13
  371. package/dist/types/components/logo/types.d.ts +13 -0
  372. package/dist/types/components/modal/component.d.ts +3 -19
  373. package/dist/types/components/modal/types.d.ts +19 -0
  374. package/dist/types/components/nav/component.d.ts +4 -25
  375. package/dist/types/components/nav/types.d.ts +25 -0
  376. package/dist/types/components/pagination/component.d.ts +4 -40
  377. package/dist/types/components/pagination/types.d.ts +39 -0
  378. package/dist/types/components/popover/component.d.ts +4 -14
  379. package/dist/types/components/popover/test/html.mock.d.ts +2 -2
  380. package/dist/types/components/popover/types.d.ts +12 -0
  381. package/dist/types/components/progress/component.d.ts +3 -22
  382. package/dist/types/components/progress/types.d.ts +22 -0
  383. package/dist/types/components/quote/shadow.d.ts +3 -3
  384. package/dist/types/components/quote/test/html.mock.d.ts +2 -2
  385. package/dist/types/components/quote/types.d.ts +3 -3
  386. package/dist/types/components/select/component.d.ts +2 -0
  387. package/dist/types/components/select/types.d.ts +1 -0
  388. package/dist/types/components/skip-nav/component.d.ts +3 -15
  389. package/dist/types/components/skip-nav/types.d.ts +15 -0
  390. package/dist/types/components/span/component.d.ts +4 -27
  391. package/dist/types/components/span/shadow.d.ts +2 -2
  392. package/dist/types/components/span/test/html.mock.d.ts +3 -3
  393. package/dist/types/components/span/types.d.ts +27 -0
  394. package/dist/types/components/spin/component.d.ts +4 -12
  395. package/dist/types/components/spin/test/html.mock.d.ts +2 -2
  396. package/dist/types/components/spin/types.d.ts +11 -0
  397. package/dist/types/components/split-button/component.d.ts +3 -3
  398. package/dist/types/components/split-button/types.d.ts +2 -2
  399. package/dist/types/components/symbol/component.d.ts +3 -13
  400. package/dist/types/components/symbol/test/html.mock.d.ts +2 -2
  401. package/dist/types/components/symbol/types.d.ts +12 -0
  402. package/dist/types/components/table/component.d.ts +7 -32
  403. package/dist/types/components/table/types.d.ts +65 -0
  404. package/dist/types/components/tabs/component.d.ts +4 -45
  405. package/dist/types/components/tabs/types.d.ts +44 -0
  406. package/dist/types/components/textarea/component.d.ts +2 -0
  407. package/dist/types/components/textarea/types.d.ts +1 -0
  408. package/dist/types/components/toast/component.d.ts +3 -18
  409. package/dist/types/components/toast/test/html.mock.d.ts +2 -2
  410. package/dist/types/components/toast/types.d.ts +18 -0
  411. package/dist/types/components/tooltip/component.d.ts +3 -15
  412. package/dist/types/components/tooltip/test/html.mock.d.ts +2 -2
  413. package/dist/types/components/tooltip/types.d.ts +15 -0
  414. package/dist/types/components/version/component.d.ts +3 -12
  415. package/dist/types/components/version/test/html.mock.d.ts +2 -2
  416. package/dist/types/components/version/types.d.ts +11 -0
  417. package/dist/types/components.d.ts +66 -16
  418. package/dist/types/core/declare.d.ts +10 -0
  419. package/dist/types/i18n.d.ts +1 -1
  420. package/dist/types/types/button-link.d.ts +3 -2
  421. package/doc/icon-font-awesome.md +1 -1
  422. package/doc/icon-icofont.md +1 -1
  423. package/doc/table.md +3 -3
  424. package/jest-test-results.json +1 -1
  425. package/package.json +1 -1
  426. package/vscode-custom-data.json +12 -12
  427. package/dist/cjs/controller-31f22d30.js +0 -4
  428. package/dist/cjs/controller-31f22d30.js.map +0 -1
  429. package/dist/cjs/controller-77a2ce9f.js +0 -4
  430. package/dist/cjs/controller-77a2ce9f.js.map +0 -1
  431. package/dist/esm/controller-cad0ac5e.js +0 -4
  432. package/dist/esm/controller-cad0ac5e.js.map +0 -1
  433. package/dist/esm/controller-cc18d25f.js +0 -4
  434. package/dist/esm/controller-cc18d25f.js.map +0 -1
  435. package/dist/kolibri/controller-2847846e.js +0 -4
  436. package/dist/kolibri/controller-cad0ac5e.js +0 -4
  437. package/dist/kolibri/controller-cad0ac5e.js.map +0 -1
  438. package/dist/kolibri/controller-cc18d25f.js +0 -4
  439. package/dist/kolibri/controller-cc18d25f.js.map +0 -1
  440. package/dist/kolibri/controller-icon-65f3377a.js +0 -4
  441. package/dist/types/types/table.d.ts +0 -37
  442. /package/dist/kolibri/{controller-5a459788.js.map → controller-60d1d5f4.js.map} +0 -0
  443. /package/dist/kolibri/{controller-cb6b97eb.js.map → controller-ad7fb632.js.map} +0 -0
  444. /package/dist/kolibri/{controller-2847846e.js.map → controller-e0b5fdbd.js.map} +0 -0
  445. /package/dist/kolibri/{controller-icon-65f3377a.js.map → controller-icon-7e3b404f.js.map} +0 -0
@@ -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-6ad587d0.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{p as l}from"./controller-cad0ac5e.js";import{g as d}from"./controller-cc18d25f.js";import{a as o,d as h,w as r,b as p,e as u}from"./prop.validators-f81af56e.js";import{I as c}from"./controller-icon-65f3377a.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./index-ff788b4b.js";import"./icon-83ced735.js";class f extends c{constructor(t,e,i){super(t,e,i),this.numberOrIsoDateRegex=/^\d+$|(^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])([T ][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?([+-][0-2]\d:[0-5]\d|Z)?)?$)|(^[0-2]\d:[0-5]\d(:[0-5]\d)?$)/,this.parseToString=t=>"string"==typeof t?t:"number"==typeof t?`${t}`:"object"==typeof t&&t instanceof Date?t.toISOString():"",this.validateIso8601=(t,e,i)=>{const a=parseFloat(e),l=a==e;return o(this.component,t,(t=>void 0===t||""===t||l&&"number"==typeof a||this.numberOrIsoDateRegex.test(t)),new Set(["number","Date","string{ISO-8601}"]),this.parseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&i&&i(t)}}})},this.component=t}validateAutoComplete(t){o(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){h(this.component,"_list",(t=>"string"==typeof t),t)}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){r(this.component,"_placeholder",t)}validateReadOnly(t){p(this.component,"_readOnly",t)}validateRequired(t){p(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){o(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateList(this.component._list),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}const m=":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}",y=class{render(){const{ariaDescribedBy:i}=d(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,l=""===this.state._label,s="…"===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},l?t("slot",{name:"expert"}):s?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",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,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,slot:"input",step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):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._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._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._step=void 0,this._tabIndex=void 0,this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:s(),_label:"…",_list:[],_type:"number"},this.controller=new f(this,"number",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)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateStep(t){this.controller.validateStep(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}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"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_step:["validateStep"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:m};export{y as kol_input_number};
4
+ import{h as t,H as e,r as i,g as a}from"./index-6ad587d0.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{p as l}from"./controller-4ec2558c.js";import{g as d}from"./controller-8fc78dec.js";import{a as o,d as h,w as r,b as p,e as u}from"./prop.validators-f81af56e.js";import{I as c}from"./controller-icon-7e3b404f.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./index-ff788b4b.js";import"./icon-83ced735.js";class f extends c{constructor(t,e,a){super(t,e,a),this.numberOrIsoDateRegex=/^\d+$|(^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])([T ][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?([+-][0-2]\d:[0-5]\d|Z)?)?$)|(^[0-2]\d:[0-5]\d(:[0-5]\d)?$)/,this.parseToString=t=>"string"==typeof t?t:"number"==typeof t?`${t}`:"object"==typeof t&&t instanceof Date?t.toISOString():"",this.validateIso8601=(t,e,a)=>{const i=parseFloat(e),l=i==e;return o(this.component,t,(t=>void 0===t||""===t||l&&"number"==typeof i||this.numberOrIsoDateRegex.test(t)),new Set(["number","Date","string{ISO-8601}"]),this.parseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&a&&a(t)}}})},this.component=t}validateAutoComplete(t){o(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){h(this.component,"_list",(t=>"string"==typeof t),t)}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){r(this.component,"_placeholder",t)}validateReadOnly(t){p(this.component,"_readOnly",t)}validateRequired(t){p(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){o(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateList(this.component._list),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}const m=":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}",y=class{render(){const{ariaDescribedBy:a}=d(this.state),i=Array.isArray(this.state._list)&&this.state._list.length>0,l=""===this.state._label,o="…"===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},l?t("slot",{name:"expert"}):o?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":a.length>0?a.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:i?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,slot:"input",step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):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._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._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._step=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:s(),_label:"…",_list:[],_type:"number"},this.controller=new f(this,"number",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)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(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)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}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"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:m};export{y as kol_input_number};
@@ -1 +1 @@
1
- {"version":3,"names":["InputNumberController","InputIconController","constructor","component","name","host","super","this","numberOrIsoDateRegex","parseToString","value","Date","toISOString","validateIso8601","propName","afterPatch","parsedValue","parseFloat","valueMatched","watchValidator","undefined","test","Set","hooks","validateAutoComplete","validateList","watchJsonArrayString","item","onChange","event","target","_value","validateMax","validateMin","validatePlaceholder","watchString","validateReadOnly","watchBoolean","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","setFormAssociatedValue","state","componentWillLoad","_autoComplete","_max","_min","_list","_placeholder","_readOnly","_required","_step","_type","defaultStyleCss","KolInputNumber","render","ariaDescribedBy","getRenderStates","hasList","Array","isArray","length","showExpertSlot","_label","showDefaultSlot","h","Host","class","_hasValue","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","placeholder","step","spellcheck","type","controller","onFacade","onKeyUp","hostRef","propagateFocus","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSmartButton","validateTabIndex","validateTouched","v","_alert","addValueChangeListener"],"sources":["./src/components/input-number/controller.ts","./src/components/input-number/style.css?tag=kol-input-number&mode=default&encapsulation=shadow","./src/components/input-number/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchBoolean, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputNumberController extends InputIconController implements Watches {\n\t/**\n\t * Regex to check whether a string is a number or a date in ISO-8601 format.\n\t * Test the regex here: https://regex101.com/r/ddGR4V/1\n\t */\n\tprivate readonly numberOrIsoDateRegex =\n\t\t/^\\d+$|(^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])([T ][0-2]\\d:[0-5]\\d:[0-5]\\d(?:\\.\\d+)?([+-][0-2]\\d:[0-5]\\d|Z)?)?$)|(^[0-2]\\d:[0-5]\\d(:[0-5]\\d)?$)/;\n\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<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tprivate readonly parseToString = (value?: number | Date | string | null) => {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof value === 'number') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\tif (typeof value === 'object' && value instanceof Date) {\n\t\t\treturn value.toISOString();\n\t\t}\n\t\treturn '';\n\t};\n\n\tprivate readonly validateIso8601 = (propName: string, value?: number | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\tconst parsedValue = parseFloat(value as string);\n\t\tconst valueMatched = parsedValue == value;\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value === '' || (valueMatched && typeof parsedValue === 'number') || this.numberOrIsoDateRegex.test(value),\n\t\t\tnew Set(['number', 'Date', 'string{ISO-8601}']),\n\t\t\tthis.parseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\n\t\t// set the value here when the value is switched between blank and set (or vice versa) to enable value resets via setting null as value.\n\t\tif (!!(event.target as HTMLInputElement).value !== !!this.component._value) {\n\t\t\tthis.component._value = (event.target as HTMLInputElement).value as number | Iso8601;\n\t\t}\n\t}\n\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_max', value);\n\t}\n\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_min', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: number | Iso8601 | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\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.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateList(this.component._list);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputNumberController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-number',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputNumber implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputNumberElement;\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\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 hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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}}\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_list={this.state._list}\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>\n\t\t\t\t\t<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputNumberController;\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({ reflect: true }) 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({ reflect: true }) 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!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: number | Iso8601;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert an.\n\t */\n\t@Prop() public _min?: number | Iso8601;\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 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({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\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 * Gibt die Schrittweite der Wertveränderung an.\n\t */\n\t@Prop() public _step?: number;\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 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 * @deprecated Das W3C hat die Date-Typen in eine eigene Gruppe zusammengefasst. Verwende hierfür die InputDate-Komponente.\n\t */\n\t@Prop() public _type?: InputNumberType = 'number';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: number | Iso8601 | null;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_hasValue: false,\n\t\t_id: nonce(), // ⚠ required\n\t\t_label: '…', // ⚠ required\n\t\t_list: [],\n\t\t_type: 'number',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputNumberController(this, 'number', 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?: string): 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('_max')\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: number | Iso8601): 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('_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@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(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('_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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: InputNumberType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\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":["InputNumberController","InputIconController","constructor","component","name","host","super","this","numberOrIsoDateRegex","parseToString","value","Date","toISOString","validateIso8601","propName","afterPatch","parsedValue","parseFloat","valueMatched","watchValidator","undefined","test","Set","hooks","validateAutoComplete","validateList","watchJsonArrayString","item","onChange","event","target","_value","validateMax","validateMin","validatePlaceholder","watchString","validateReadOnly","watchBoolean","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","setFormAssociatedValue","state","componentWillLoad","_autoComplete","_max","_min","_list","_placeholder","_readOnly","_required","_step","_type","defaultStyleCss","KolInputNumber","render","ariaDescribedBy","getRenderStates","hasList","Array","isArray","length","showExpertSlot","_label","showDefaultSlot","h","Host","class","_hasValue","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","placeholder","step","spellcheck","type","controller","onFacade","onKeyUp","hostRef","propagateFocus","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","v","_alert","addValueChangeListener"],"sources":["./src/components/input-number/controller.ts","./src/components/input-number/style.css?tag=kol-input-number&mode=default&encapsulation=shadow","./src/components/input-number/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchBoolean, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputNumberController extends InputIconController implements Watches {\n\t/**\n\t * Regex to check whether a string is a number or a date in ISO-8601 format.\n\t * Test the regex here: https://regex101.com/r/ddGR4V/1\n\t */\n\tprivate readonly numberOrIsoDateRegex =\n\t\t/^\\d+$|(^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])([T ][0-2]\\d:[0-5]\\d:[0-5]\\d(?:\\.\\d+)?([+-][0-2]\\d:[0-5]\\d|Z)?)?$)|(^[0-2]\\d:[0-5]\\d(:[0-5]\\d)?$)/;\n\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<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tprivate readonly parseToString = (value?: number | Date | string | null) => {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof value === 'number') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\tif (typeof value === 'object' && value instanceof Date) {\n\t\t\treturn value.toISOString();\n\t\t}\n\t\treturn '';\n\t};\n\n\tprivate readonly validateIso8601 = (propName: string, value?: number | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\tconst parsedValue = parseFloat(value as string);\n\t\tconst valueMatched = parsedValue == value;\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value === '' || (valueMatched && typeof parsedValue === 'number') || this.numberOrIsoDateRegex.test(value),\n\t\t\tnew Set(['number', 'Date', 'string{ISO-8601}']),\n\t\t\tthis.parseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\n\t\t// set the value here when the value is switched between blank and set (or vice versa) to enable value resets via setting null as value.\n\t\tif (!!(event.target as HTMLInputElement).value !== !!this.component._value) {\n\t\t\tthis.component._value = (event.target as HTMLInputElement).value as number | Iso8601;\n\t\t}\n\t}\n\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_max', value);\n\t}\n\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_min', value);\n\t}\n\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: number | Iso8601 | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\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.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateList(this.component._list);\n\t\tthis.validatePlaceholder(this.component._placeholder);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputNumberController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-number',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputNumber implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputNumberElement;\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\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 hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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}}\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_list={this.state._list}\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>\n\t\t\t\t\t<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputNumberController;\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({ reflect: true }) 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({ reflect: true }) 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!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: number | Iso8601;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert an.\n\t */\n\t@Prop() public _min?: number | Iso8601;\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 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({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\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 * 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 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 * @deprecated Das W3C hat die Date-Typen in eine eigene Gruppe zusammengefasst. Verwende hierfür die InputDate-Komponente.\n\t */\n\t@Prop() public _type?: InputNumberType = 'number';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: number | Iso8601 | null;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_hasValue: false,\n\t\t_id: nonce(), // ⚠ required\n\t\t_label: '…', // ⚠ required\n\t\t_list: [],\n\t\t_type: 'number',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputNumberController(this, 'number', 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?: string): 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('_max')\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: number | Iso8601): 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('_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@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(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/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: InputNumberType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\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{h as t,H as e,r as i,g as a}from"./index-6ad587d0.js";import{d as s}from"./a11y.tipps-2e27f8e6.js";import{n}from"./dev.utils-157f0499.js";import{a as l}from"./reuse-3a02afb9.js";import{p as o}from"./controller-cad0ac5e.js";import{g as d}from"./controller-cc18d25f.js";import{I as r}from"./controller-cb6b97eb.js";import"./prop.validators-f81af56e.js";import"./index-ff788b4b.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./controller-icon-65f3377a.js";import"./icon-83ced735.js";const h=":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}",p=class{render(){const{ariaDescribedBy:a}=d(this.state),i=""===this.state._label,l="…"===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{password:!0},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_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"},i?t("slot",{name:"expert"}):l?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":a.length>0?a.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,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,slot:"input",spellcheck:"false",type:"password",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,l(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?o({form:this.host,ref:this.ref}):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._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=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._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:n(),_label:"…",_hasValue:!1},this.controller=new r(this,"password",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t),"on"===t&&s("[KolInputPassword] Die Option 'autocomplete' sollte bei einem Passwort-Eingabefeld nicht auf \"on\" gesetzt werden.")}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)}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)}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.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}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"],_maxLength:["validateMaxLength"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};p.style={default:h};export{p as kol_input_password};
4
+ import{h as t,H as e,r as i,g as a}from"./index-6ad587d0.js";import{d as s}from"./a11y.tipps-2e27f8e6.js";import{n}from"./dev.utils-157f0499.js";import{a as l}from"./reuse-3a02afb9.js";import{p as o}from"./controller-4ec2558c.js";import{g as d}from"./controller-8fc78dec.js";import{I as r}from"./controller-ad7fb632.js";import"./prop.validators-f81af56e.js";import"./index-ff788b4b.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./controller-icon-7e3b404f.js";import"./icon-83ced735.js";const h=":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}",p=class{render(){const{ariaDescribedBy:a}=d(this.state),i=""===this.state._label,l="…"===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{password:!0},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_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"},i?t("slot",{name:"expert"}):l?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":a.length>0?a.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,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,slot:"input",spellcheck:"false",type:"password",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,l(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?o({form:this.host,ref:this.ref}):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._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=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._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:n(),_label:"…",_hasValue:!1},this.controller=new r(this,"password",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t),"on"===t&&s("[KolInputPassword] Die Option 'autocomplete' sollte bei einem Passwort-Eingabefeld nicht auf \"on\" gesetzt werden.")}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)}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)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}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"],_maxLength:["validateMaxLength"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};p.style={default:h};export{p as kol_input_password};
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolInputPassword","render","ariaDescribedBy","getRenderStates","this","state","showExpertSlot","_label","showDefaultSlot","h","Host","class","_hasValue","password","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","name","Object","assign","catchRef","title","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","value","_value","controller","onFacade","onKeyUp","constructor","hostRef","propagateFocus","host","event","code","propagateSubmitEventToForm","form","onChange","nonce","InputPasswordController","validateAccessKey","validateAlert","validateAutoComplete","devHint","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","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';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\n\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\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\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 showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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\tpassword: true,\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_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<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\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({ reflect: true }) 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({ reflect: true }) 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!: 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({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop({ reflect: true }) 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 * 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 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_id: nonce(), // ⚠ required\n\t\t_label: '…', // ⚠ 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('_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?: string): 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('_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","showExpertSlot","_label","showDefaultSlot","h","Host","class","_hasValue","password","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","name","Object","assign","catchRef","title","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","id","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","value","_value","controller","onFacade","onKeyUp","constructor","hostRef","propagateFocus","host","event","code","propagateSubmitEventToForm","form","onChange","nonce","InputPasswordController","validateAccessKey","validateAlert","validateAutoComplete","devHint","validateDisabled","validateError","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';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\n\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { nonce } from '../../utils/dev.utils';\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\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 showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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\tpassword: true,\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_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<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\ttype=\"password\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\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({ reflect: true }) 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({ reflect: true }) 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!: 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({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop({ reflect: true }) 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 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_id: nonce(), // ⚠ required\n\t\t_label: '…', // ⚠ 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('_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?: string): 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{h as t,H as e,r as i,g as a}from"./index-6ad587d0.js";import{n}from"./dev.utils-157f0499.js";import{a as s}from"./reuse-3a02afb9.js";import{g as r}from"./controller-cc18d25f.js";import{a as l}from"./controller-5a459788.js";import"./a11y.tipps-2e27f8e6.js";import"./prop.validators-f81af56e.js";import"./index-ff788b4b.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.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=""===this.state._label,s="…"===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,l?t("slot",{name:"expert"}):s?t("slot",null):this.state._label)),this.state._list.map(((e,a)=>{const l=`${this.state._id}-${a}`;return t("kol-input",{class:{radio:!0},key:l,_disabled:this.state._disabled||e.disabled,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:l,_renderNoLabel:!0,_required:this.state._required,_touched:this.state._touched},t("div",{slot:"input"},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":`${l}-label`,title:"",type:"radio",id:l,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("label",{htmlFor:`${l}`,id:`${l}-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._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_id:n(),_label:"…",_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)}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"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};o.style={default:d};export{o as kol_input_radio};
4
+ import{h as e,H as t,r as i,g as a}from"./index-6ad587d0.js";import{n}from"./dev.utils-157f0499.js";import{a as s}from"./reuse-3a02afb9.js";import{g as r}from"./controller-8fc78dec.js";import{a as l}from"./controller-60d1d5f4.js";import"./a11y.tipps-2e27f8e6.js";import"./prop.validators-f81af56e.js";import"./index-ff788b4b.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.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=""===this.state._label,s="…"===this.state._label;return e(t,null,e("fieldset",{class:{disabled:!0===this.state._disabled,error:!0===a,required:!0===this.state._required,[this.state._orientation]:!0}},e("legend",{class:"block w-full mb-1 leading-normal"},e("span",null,l?e("slot",{name:"expert"}):s?e("slot",null):this.state._label)),this.state._list.map(((t,a)=>{const l=`${this.state._id}-${a}`,s=`radio-${a}`;return e("kol-input",{class:"radio",key:l,_disabled:this.state._disabled||t.disabled,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:l,_renderNoLabel:!0,_required:this.state._required,_slotName:s,_touched:this.state._touched},e("div",{slot:s},e("input",Object.assign({ref:this.state._value===t.value?this.catchRef:void 0,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${l}-label`,title:"",type:"radio",id:l,checked:this.state._value===t.value,name:this.state._name||this.state._id,disabled:this.state._disabled||t.disabled,required:this.state._required,tabIndex:this.state._tabIndex,value:`-${a}`},this.controller.onFacade,{onChange:this.onChange})),e("label",{htmlFor:`${l}`,id:`${l}-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}},e("span",null,e("span",null,t.label)))))})),a&&e("kol-alert",{id:"error",_alert:!0,_type:"error",_variant:"msg"},this.state._error)))}constructor(e){i(this,e),this.catchRef=e=>{this.ref=e,s(this.host,this.ref)},this.onChange=e=>{if(e.target instanceof HTMLInputElement){const t=this.controller.getOptionByKey(e.target.value);void 0!==t&&this.controller.setValue(e,t.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._touched=!1,this._value=void 0,this.state={_id:n(),_label:"…",_list:[],_orientation:"vertical"},this.controller=new l(this,"radio",this.host)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateId(e){this.controller.validateId(e)}validateLabel(e){this.controller.validateLabel(e)}validateList(e){this.controller.validateList(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateOrientation(e){this.controller.validateOrientation(e)}validateRequired(e){this.controller.validateRequired(e)}validateSyncValueBySelector(e){this.controller.validateSyncValueBySelector(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}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","showExpertSlot","_label","showDefaultSlot","h","Host","class","disabled","_disabled","error","required","_required","_orientation","name","_list","map","option","index","customId","_id","radio","key","_hideLabel","_hint","_renderNoLabel","_touched","slot","Object","assign","ref","_value","value","catchRef","undefined","accessKey","_accessKey","length","join","title","type","id","checked","_name","tabIndex","_tabIndex","controller","onFacade","onChange","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","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';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault, Option } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\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 showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}\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\treturn (\n\t\t\t\t\t\t\t<kol-input\n\t\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\tradio: true,\n\t\t\t\t\t\t\t\t}}\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_touched={this.state._touched}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div slot=\"input\">\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<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({ reflect: true }) 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({ reflect: true }) 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!: string;\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({ reflect: true }) public _required?: boolean;\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 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: '…', // ⚠ 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?: string): 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('_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","showExpertSlot","_label","showDefaultSlot","h","Host","class","disabled","_disabled","error","required","_required","_orientation","name","_list","map","option","index","customId","_id","slotName","key","_hideLabel","_hint","_renderNoLabel","_slotName","_touched","slot","Object","assign","ref","_value","value","catchRef","undefined","accessKey","_accessKey","length","join","title","type","id","checked","_name","tabIndex","_tabIndex","controller","onFacade","onChange","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';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault, Option } from '../../types/input/types';\nimport { Orientation } from '../../types/orientation';\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 showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}\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<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({ reflect: true }) 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({ reflect: true }) 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!: string;\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({ reflect: true }) 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 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: '…', // ⚠ 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?: string): 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 e,r as i,g as a}from"./index-6ad587d0.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{g as o}from"./controller-cc18d25f.js";import{a as l,d,e as r}from"./prop.validators-f81af56e.js";import{I as p}from"./controller-icon-65f3377a.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./index-ff788b4b.js";import"./icon-83ced735.js";class h extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAutoComplete(t){l(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){d(this.component,"_list",(t=>"object"==typeof t&&"string"==typeof t.label&&t.label.length>0),t)}validateMax(t){r(this.component,"_max",t)}validateMin(t){r(this.component,"_min",t)}validateStep(t){r(this.component,"_step",t)}validateValue(t){r(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 u=":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}",c=class{render(){const{ariaDescribedBy:i}=o(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,l=""===this.state._label,s="…"===this.state._label;return t(e,null,t("kol-input",{class:{range:!0},_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,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",{name:"expert"}):s?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",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,max:this.state._max,min:this.state._min,name:this.state._name,slot:"input",spellcheck:"false",step:this.state._step,type:"range",value:this.state._value},this.controller.onFacade)),a&&[t("datalist",{id:`${this.state._id}-list`},this.state._list.map((e=>t("option",{value:e.value}))))]))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},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._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:s(),_label:"…",_list:[]},this.controller=new h(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)}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"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:u};export{c as kol_input_range};
4
+ import{h as t,H as e,r as i,g as a}from"./index-6ad587d0.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{g as o}from"./controller-8fc78dec.js";import{a as l,d,e as r}from"./prop.validators-f81af56e.js";import{I as p}from"./controller-icon-7e3b404f.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-ff5374b8.js";import"./label-559ca626.js";import"./index-ff788b4b.js";import"./icon-83ced735.js";class h extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAutoComplete(t){l(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){d(this.component,"_list",(t=>"object"==typeof t&&"string"==typeof t.label&&t.label.length>0),t)}validateMax(t){r(this.component,"_max",t)}validateMin(t){r(this.component,"_min",t)}validateStep(t){r(this.component,"_step",t)}validateValue(t){r(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 u=":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}",c=class{render(){const{ariaDescribedBy:i}=o(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0,l=""===this.state._label,s="…"===this.state._label;return t(e,null,t("kol-input",{class:{range:!0},_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,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",{name:"expert"}):s?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",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,max:this.state._max,min:this.state._min,name:this.state._name,slot:"input",spellcheck:"false",step:this.state._step,type:"range",value:this.state._value},this.controller.onFacade)),a&&[t("datalist",{id:`${this.state._id}-list`},this.state._list.map((e=>t("option",{value:e.value}))))]))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},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._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:s(),_label:"…",_list:[]},this.controller=new h(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"]}}};c.style={default:u};export{c 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","showExpertSlot","_label","showDefaultSlot","h","Host","class","range","_disabled","_error","_hideLabel","_hint","_icon","_id","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","spellcheck","step","type","controller","onFacade","map","option","hostRef","propagateFocus","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","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';\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';\nimport { Stringified } from '../../types/common';\n\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff, Option } from '../../types/input/types';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\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 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 } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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}}\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\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\tvalue={this.state._value as number}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t/>\n\t\t\t\t\t{hasList && [\n\t\t\t\t\t\t<datalist id={`${this.state._id}-list`}>\n\t\t\t\t\t\t\t{this.state._list.map((option: Option<number>) => (\n\t\t\t\t\t\t\t\t<option value={option.value}></option>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</datalist>,\n\t\t\t\t\t\t// <ul class=\"grid gap-1 text-sm grid-flow-col\">\n\t\t\t\t\t\t// {this.state._list.map((option: InputOption<number>) => (\n\t\t\t\t\t\t// <li class=\"border-1\">{option.label}</li>\n\t\t\t\t\t\t// ))}\n\t\t\t\t\t\t// </ul>,\n\t\t\t\t\t]}\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({ reflect: true }) 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({ reflect: true }) 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!: string;\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 * 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 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: '…', // ⚠ 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?: string): 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('_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","showExpertSlot","_label","showDefaultSlot","h","Host","class","range","_disabled","_error","_hideLabel","_hint","_icon","_id","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","spellcheck","step","type","controller","onFacade","map","option","hostRef","propagateFocus","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';\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';\nimport { Stringified } from '../../types/common';\n\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff, Option } from '../../types/input/types';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\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 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 } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\tconst showExpertSlot = this.state._label === ''; // _label=\"\" or _label\n\t\tconst showDefaultSlot = this.state._label === '…'; // deprecated: default slot will be removed in v2.0.0\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}}\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\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"label\">{showExpertSlot ? <slot name=\"expert\"></slot> : showDefaultSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\tvalue={this.state._value as number}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t/>\n\t\t\t\t\t{hasList && [\n\t\t\t\t\t\t<datalist id={`${this.state._id}-list`}>\n\t\t\t\t\t\t\t{this.state._list.map((option: Option<number>) => (\n\t\t\t\t\t\t\t\t<option value={option.value}></option>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</datalist>,\n\t\t\t\t\t\t// <ul class=\"grid gap-1 text-sm grid-flow-col\">\n\t\t\t\t\t\t// {this.state._list.map((option: InputOption<number>) => (\n\t\t\t\t\t\t// <li class=\"border-1\">{option.label}</li>\n\t\t\t\t\t\t// ))}\n\t\t\t\t\t\t// </ul>,\n\t\t\t\t\t]}\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({ reflect: true }) 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({ reflect: true }) 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!: string;\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 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: '…', // ⚠ 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?: string): 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":";;;qcAOaA,UAA6BC,EAGzCC,YAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGXK,qBAAqBC,GAC3BC,EACCH,KAAKJ,UACL,iBACCM,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIE,IAAI,CAAC,aACTF,E,CAIKG,aAAaH,GACnBI,EACCN,KAAKJ,UACL,SACCW,UAAgCA,IAAS,iBAAmBA,EAAKC,QAAU,UAAYD,EAAKC,MAAMC,OAAS,GAC5GP,E,CAIKQ,YAAYR,GAClBS,EAAYX,KAAKJ,UAAW,OAAQM,E,CAG9BU,YAAYV,GAClBS,EAAYX,KAAKJ,UAAW,OAAQM,E,CAG9BW,aAAaX,GACnBS,EAAYX,KAAKJ,UAAW,QAASM,E,CAG/BY,cAAcZ,GACpBS,EAAYX,KAAKJ,UAAW,SAAUM,GACtCF,KAAKe,uBAAuBf,KAAKJ,UAAUoB,MAAMC,O,CAG3CC,oBACNnB,MAAMmB,oBACNlB,KAAKC,qBAAqBD,KAAKJ,UAAUuB,eACzCnB,KAAKK,aAAaL,KAAKJ,UAAUwB,OACjCpB,KAAKU,YAAYV,KAAKJ,UAAUyB,MAChCrB,KAAKY,YAAYZ,KAAKJ,UAAU0B,MAChCtB,KAAKa,aAAab,KAAKJ,UAAU2B,OACjCvB,KAAKc,cAAcd,KAAKJ,UAAUqB,O,EC1DpC,MAAMO,EAAkB,6zE,MCqBXC,EAAa,MASlBC,SACN,MAAMC,gBAAEA,GAAoBC,EAAgB5B,KAAKgB,OACjD,MAAMa,EAAUC,MAAMC,QAAQ/B,KAAKgB,MAAMI,QAAUpB,KAAKgB,MAAMI,MAAMX,OAAS,EAC7E,MAAMuB,EAAiBhC,KAAKgB,MAAMiB,SAAW,GAC7C,MAAMC,EAAkBlC,KAAKgB,MAAMiB,SAAW,IAC9C,OACCE,EAACC,EAAI,KACJD,EAAA,aACCE,MAAO,CACNC,MAAO,MAERC,UAAWvC,KAAKgB,MAAMuB,UACtBC,OAAQxC,KAAKgB,MAAMwB,OACnBC,WAAYzC,KAAKgB,MAAMyB,WACvBC,MAAO1C,KAAKgB,MAAM0B,MAClBC,MAAO3C,KAAKgB,MAAM2B,MAClBC,IAAK5C,KAAKgB,MAAM4B,IAChBC,SAAU7C,KAAKgB,MAAM6B,SACrBC,QAAS,SAAAC,EAAM,OAAAA,EAAA/C,KAAKgD,OAAG,MAAAD,SAAA,SAAAA,EAAEE,OAAO,GAEhCd,EAAA,QAAMe,KAAK,SAASlB,EAAiBG,EAAA,QAAMtC,KAAK,WAAmBqC,EAAkBC,EAAA,aAAgBnC,KAAKgB,MAAMiB,QAChHE,EAAA,QAAAgB,OAAAC,OAAA,CACCJ,IAAKhD,KAAKqD,SACVC,MAAM,GACNC,UAAWvD,KAAKgB,MAAMwC,WAAU,mBACd7B,EAAgBlB,OAAS,EAAIkB,EAAgB8B,KAAK,KAAOC,UAAS,kBACnE,GAAG1D,KAAKgB,MAAM4B,YAC/Be,eAAe,MACfC,aAAc5D,KAAKgB,MAAMG,cACzB0C,YAAY,MACZC,SAAU9D,KAAKgB,MAAMuB,UACrBwB,GAAI/D,KAAKgB,MAAM4B,IACfoB,KAAMnC,EAAU,GAAG7B,KAAKgB,MAAM4B,WAAac,UAC3CO,IAAKjE,KAAKgB,MAAMK,KAChB6C,IAAKlE,KAAKgB,MAAMM,KAChBzB,KAAMG,KAAKgB,MAAMmD,MACjBjB,KAAK,QACLkB,WAAW,QACXC,KAAMrE,KAAKgB,MAAMO,MACjB+C,KAAK,QACLpE,MAAOF,KAAKgB,MAAMC,QACdjB,KAAKuE,WAAWC,WAEpB3C,GAAW,CACXM,EAAA,YAAU4B,GAAI,GAAG/D,KAAKgB,MAAM4B,YAC1B5C,KAAKgB,MAAMI,MAAMqD,KAAKC,GACtBvC,EAAA,UAAQjC,MAAOwE,EAAOxE,a,CA4H7BP,YAAAgF,G,UA/KiB3E,KAAAqD,SAAYL,IAC5BhD,KAAKgD,IAAMA,EACX4B,EAAe5E,KAAKF,KAAME,KAAKgD,IAAI,E,sCAyE8B,K,iHAyBlC,G,mQA6DoC,M,iCAOpC,CAC/B7B,cAAe,MACfyB,IAAKiC,IACL5C,OAAQ,IACRb,MAAO,IAIPpB,KAAKuE,WAAa,IAAI9E,EAAqBO,KAAM,QAASA,KAAKF,K,CAIzDgF,kBAAkB5E,GACxBF,KAAKuE,WAAWO,kBAAkB5E,E,CAI5B6E,cAAc7E,GACpBF,KAAKuE,WAAWQ,cAAc7E,E,CAIxBD,qBAAqBC,GAC3BF,KAAKuE,WAAWtE,qBAAqBC,E,CAI/B8E,iBAAiB9E,GACvBF,KAAKuE,WAAWS,iBAAiB9E,E,CAI3B+E,cAAc/E,GACpBF,KAAKuE,WAAWU,cAAc/E,E,CAIxBgF,kBAAkBhF,GACxBF,KAAKuE,WAAWW,kBAAkBhF,E,CAI5BiF,aAAajF,GACnBF,KAAKuE,WAAWY,aAAajF,E,CAIvBkF,aAAalF,GACnBF,KAAKuE,WAAWa,aAAalF,E,CAIvBmF,WAAWnF,GACjBF,KAAKuE,WAAWc,WAAWnF,E,CAIrBoF,cAAcpF,GACpBF,KAAKuE,WAAWe,cAAcpF,E,CAIxBG,aAAaH,GACnBF,KAAKuE,WAAWlE,aAAaH,E,CAIvBQ,YAAYR,GAClBF,KAAKuE,WAAW7D,YAAYR,E,CAItBU,YAAYV,GAClBF,KAAKuE,WAAW3D,YAAYV,E,CAItBqF,aAAarF,GACnBF,KAAKuE,WAAWgB,aAAarF,E,CAIvBsF,WAAWtF,GACjBF,KAAKuE,WAAWiB,WAAWtF,E,CAIrBW,aAAaX,GACnBF,KAAKuE,WAAW1D,aAAaX,E,CAIvBuF,4BAA4BvF,GAClCF,KAAKuE,WAAWkB,4BAA4BvF,E,CAItCwF,iBAAiBxF,GACvBF,KAAKuE,WAAWmB,iBAAiBxF,E,CAI3ByF,gBAAgBzF,GACtBF,KAAKuE,WAAWoB,gBAAgBzF,E,CAI1BY,cAAcZ,GACpBF,KAAKuE,WAAWzD,cAAcZ,E,CAGxBgB,oBACNlB,KAAK4F,OAAS5F,KAAK4F,SAAW,KAC9B5F,KAAK6C,SAAW7C,KAAK6C,WAAa,KAClC7C,KAAKuE,WAAWrD,mB"}