@public-ui/components 1.5.3 → 1.6.0-rc.1

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 (412) hide show
  1. package/cheat-sheet.html +33 -24
  2. package/custom-elements.json +81 -3
  3. package/dist/cjs/{app-globals-deb2d36b.js → app-globals-a70c12d0.js} +1 -1
  4. package/dist/cjs/{app-globals-deb2d36b.js.map → app-globals-a70c12d0.js.map} +1 -1
  5. package/dist/cjs/{controller-361ba1ef.js → controller-42d1f729.js} +1 -1
  6. package/dist/cjs/controller-42d1f729.js.map +1 -0
  7. package/dist/cjs/{controller-c828f7c8.js → controller-86b1d5ea.js} +1 -1
  8. package/dist/cjs/controller-86b1d5ea.js.map +1 -0
  9. package/dist/cjs/controller-a4d41073.js +4 -0
  10. package/dist/cjs/controller-a4d41073.js.map +1 -0
  11. package/dist/cjs/{controller-dc5aca49.js → controller-efc49b38.js} +1 -1
  12. package/dist/cjs/controller-efc49b38.js.map +1 -0
  13. package/dist/cjs/{controller-icon-6ed19132.js → controller-icon-84ab02f7.js} +1 -1
  14. package/dist/cjs/{controller-icon-6ed19132.js.map → controller-icon-84ab02f7.js.map} +1 -1
  15. package/dist/cjs/dev.utils-d69c0a9f.js.map +1 -1
  16. package/dist/cjs/floating-ui.dom.esm-03ac0b3f.js +4 -0
  17. package/dist/cjs/floating-ui.dom.esm-03ac0b3f.js.map +1 -0
  18. package/dist/cjs/index-94bf4fa8.js +5 -0
  19. package/dist/cjs/index-94bf4fa8.js.map +1 -0
  20. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  21. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  22. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  23. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  25. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  27. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  28. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  29. package/dist/cjs/kol-button-group-wc.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  31. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-button-wc_3.cjs.entry.js +1 -1
  33. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  35. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  37. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-icon-font-awesome.cjs.entry.js +1 -1
  39. package/dist/cjs/kol-icon-icofont.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  41. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  43. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  45. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  46. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  47. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  48. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  49. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  50. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  51. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  52. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  53. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  54. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  55. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  56. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  57. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-input-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  61. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  62. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  63. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  64. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  65. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  67. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  71. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  73. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  75. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  76. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  77. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  83. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  86. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  88. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  92. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  93. package/dist/cjs/kolibri.cjs.js +1 -1
  94. package/dist/cjs/kolibri.cjs.js.map +1 -1
  95. package/dist/cjs/loader.cjs.js +1 -1
  96. package/dist/cjs/loader.cjs.js.map +1 -1
  97. package/dist/cjs/prop.validators-0e600d26.js.map +1 -1
  98. package/dist/components/component11.js.map +1 -1
  99. package/dist/components/component12.js +1 -1
  100. package/dist/components/component12.js.map +1 -1
  101. package/dist/components/component13.js +1 -1
  102. package/dist/components/component13.js.map +1 -1
  103. package/dist/components/component14.js +1 -1
  104. package/dist/components/component14.js.map +1 -1
  105. package/dist/components/component15.js +1 -1
  106. package/dist/components/component15.js.map +1 -1
  107. package/dist/components/component7.js +1 -1
  108. package/dist/components/component7.js.map +1 -1
  109. package/dist/components/controller-icon.js +1 -1
  110. package/dist/components/controller-icon.js.map +1 -1
  111. package/dist/components/controller.js +1 -1
  112. package/dist/components/controller.js.map +1 -1
  113. package/dist/components/controller2.js.map +1 -1
  114. package/dist/components/controller3.js.map +1 -1
  115. package/dist/components/controller4.js +1 -1
  116. package/dist/components/controller4.js.map +1 -1
  117. package/dist/components/floating-ui.dom.esm.js +1 -1
  118. package/dist/components/floating-ui.dom.esm.js.map +1 -1
  119. package/dist/components/kol-abbr.js +1 -1
  120. package/dist/components/kol-abbr.js.map +1 -1
  121. package/dist/components/kol-input-checkbox.js +1 -1
  122. package/dist/components/kol-input-checkbox.js.map +1 -1
  123. package/dist/components/kol-input-color.js +1 -1
  124. package/dist/components/kol-input-color.js.map +1 -1
  125. package/dist/components/kol-input-date.js +1 -1
  126. package/dist/components/kol-input-date.js.map +1 -1
  127. package/dist/components/kol-input-email.js +1 -1
  128. package/dist/components/kol-input-email.js.map +1 -1
  129. package/dist/components/kol-input-file.js +1 -1
  130. package/dist/components/kol-input-file.js.map +1 -1
  131. package/dist/components/kol-input-password.js +1 -1
  132. package/dist/components/kol-input-password.js.map +1 -1
  133. package/dist/components/kol-input-radio-group.js +1 -1
  134. package/dist/components/kol-input-radio-group.js.map +1 -1
  135. package/dist/components/kol-input-range.js +1 -1
  136. package/dist/components/kol-input-range.js.map +1 -1
  137. package/dist/components/kol-input-text.js +1 -1
  138. package/dist/components/kol-input-text.js.map +1 -1
  139. package/dist/components/kol-textarea.js +1 -1
  140. package/dist/components/kol-textarea.js.map +1 -1
  141. package/dist/components/prop.validators.js.map +1 -1
  142. package/dist/esm/{app-globals-1e2df332.js → app-globals-037e6656.js} +1 -1
  143. package/dist/esm/{app-globals-1e2df332.js.map → app-globals-037e6656.js.map} +1 -1
  144. package/dist/esm/{controller-3ae042db.js → controller-3f613951.js} +1 -1
  145. package/dist/esm/controller-3f613951.js.map +1 -0
  146. package/dist/esm/{controller-6f59f733.js → controller-4b599938.js} +1 -1
  147. package/dist/esm/controller-4b599938.js.map +1 -0
  148. package/dist/esm/{controller-9b769c83.js → controller-bd4d58e4.js} +1 -1
  149. package/dist/esm/controller-bd4d58e4.js.map +1 -0
  150. package/dist/esm/controller-e02d4577.js +4 -0
  151. package/dist/esm/controller-e02d4577.js.map +1 -0
  152. package/dist/esm/{controller-icon-8d8c747a.js → controller-icon-1255b762.js} +1 -1
  153. package/dist/esm/{controller-icon-8d8c747a.js.map → controller-icon-1255b762.js.map} +1 -1
  154. package/dist/esm/dev.utils-157f0499.js.map +1 -1
  155. package/dist/esm/floating-ui.dom.esm-74010e65.js +4 -0
  156. package/dist/esm/floating-ui.dom.esm-74010e65.js.map +1 -0
  157. package/dist/esm/index-34c3d6f8.js +5 -0
  158. package/dist/esm/index-34c3d6f8.js.map +1 -0
  159. package/dist/esm/kol-abbr.entry.js +1 -1
  160. package/dist/esm/kol-abbr.entry.js.map +1 -1
  161. package/dist/esm/kol-accordion.entry.js +1 -1
  162. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  163. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  164. package/dist/esm/kol-alert.entry.js +1 -1
  165. package/dist/esm/kol-badge.entry.js +1 -1
  166. package/dist/esm/kol-badge.entry.js.map +1 -1
  167. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  168. package/dist/esm/kol-button-group-wc.entry.js +1 -1
  169. package/dist/esm/kol-button-group.entry.js +1 -1
  170. package/dist/esm/kol-button-link.entry.js +1 -1
  171. package/dist/esm/kol-button-wc_3.entry.js +1 -1
  172. package/dist/esm/kol-button.entry.js +1 -1
  173. package/dist/esm/kol-card.entry.js +1 -1
  174. package/dist/esm/kol-details.entry.js +1 -1
  175. package/dist/esm/kol-form.entry.js +1 -1
  176. package/dist/esm/kol-heading.entry.js +1 -1
  177. package/dist/esm/kol-icon-font-awesome.entry.js +1 -1
  178. package/dist/esm/kol-icon-icofont.entry.js +1 -1
  179. package/dist/esm/kol-icon.entry.js +1 -1
  180. package/dist/esm/kol-image.entry.js +1 -1
  181. package/dist/esm/kol-indented-text.entry.js +1 -1
  182. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  183. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  184. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  185. package/dist/esm/kol-input-color.entry.js +1 -1
  186. package/dist/esm/kol-input-color.entry.js.map +1 -1
  187. package/dist/esm/kol-input-date.entry.js +1 -1
  188. package/dist/esm/kol-input-date.entry.js.map +1 -1
  189. package/dist/esm/kol-input-email.entry.js +1 -1
  190. package/dist/esm/kol-input-email.entry.js.map +1 -1
  191. package/dist/esm/kol-input-file.entry.js +1 -1
  192. package/dist/esm/kol-input-file.entry.js.map +1 -1
  193. package/dist/esm/kol-input-number.entry.js +1 -1
  194. package/dist/esm/kol-input-number.entry.js.map +1 -1
  195. package/dist/esm/kol-input-password.entry.js +1 -1
  196. package/dist/esm/kol-input-password.entry.js.map +1 -1
  197. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  198. package/dist/esm/kol-input-radio-group.entry.js.map +1 -1
  199. package/dist/esm/kol-input-radio.entry.js +1 -1
  200. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  201. package/dist/esm/kol-input-range.entry.js +1 -1
  202. package/dist/esm/kol-input-range.entry.js.map +1 -1
  203. package/dist/esm/kol-input-text.entry.js +1 -1
  204. package/dist/esm/kol-input-text.entry.js.map +1 -1
  205. package/dist/esm/kol-kolibri.entry.js +1 -1
  206. package/dist/esm/kol-link-button.entry.js +1 -1
  207. package/dist/esm/kol-link-group.entry.js +1 -1
  208. package/dist/esm/kol-link-wc.entry.js +1 -1
  209. package/dist/esm/kol-link.entry.js +1 -1
  210. package/dist/esm/kol-logo.entry.js +1 -1
  211. package/dist/esm/kol-modal.entry.js +1 -1
  212. package/dist/esm/kol-nav.entry.js +1 -1
  213. package/dist/esm/kol-pagination.entry.js +1 -1
  214. package/dist/esm/kol-pagination.entry.js.map +1 -1
  215. package/dist/esm/kol-popover.entry.js +1 -1
  216. package/dist/esm/kol-progress.entry.js +1 -1
  217. package/dist/esm/kol-quote.entry.js +1 -1
  218. package/dist/esm/kol-select.entry.js +1 -1
  219. package/dist/esm/kol-select.entry.js.map +1 -1
  220. package/dist/esm/kol-skip-nav.entry.js +1 -1
  221. package/dist/esm/kol-span.entry.js +1 -1
  222. package/dist/esm/kol-spin.entry.js +1 -1
  223. package/dist/esm/kol-split-button.entry.js +1 -1
  224. package/dist/esm/kol-symbol.entry.js +1 -1
  225. package/dist/esm/kol-table.entry.js +1 -1
  226. package/dist/esm/kol-tabs.entry.js +1 -1
  227. package/dist/esm/kol-textarea.entry.js +1 -1
  228. package/dist/esm/kol-textarea.entry.js.map +1 -1
  229. package/dist/esm/kol-toast.entry.js +1 -1
  230. package/dist/esm/kol-tooltip.entry.js +1 -1
  231. package/dist/esm/kol-version.entry.js +1 -1
  232. package/dist/esm/kolibri.js +1 -1
  233. package/dist/esm/kolibri.js.map +1 -1
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/loader.js.map +1 -1
  236. package/dist/esm/prop.validators-2c20cdf8.js.map +1 -1
  237. package/dist/kolibri/app-globals-037e6656.js +4 -0
  238. package/dist/kolibri/{controller-3ae042db.js → controller-3f613951.js} +1 -1
  239. package/dist/kolibri/controller-3f613951.js.map +1 -0
  240. package/dist/kolibri/controller-4b599938.js +4 -0
  241. package/dist/kolibri/controller-4b599938.js.map +1 -0
  242. package/dist/kolibri/{controller-9b769c83.js → controller-bd4d58e4.js} +1 -1
  243. package/dist/kolibri/controller-bd4d58e4.js.map +1 -0
  244. package/dist/kolibri/controller-e02d4577.js +4 -0
  245. package/dist/kolibri/controller-e02d4577.js.map +1 -0
  246. package/dist/kolibri/controller-icon-1255b762.js +4 -0
  247. package/dist/kolibri/{controller-icon-8d8c747a.js.map → controller-icon-1255b762.js.map} +1 -1
  248. package/dist/kolibri/dev.utils-157f0499.js.map +1 -1
  249. package/dist/kolibri/floating-ui.dom.esm-74010e65.js +4 -0
  250. package/dist/kolibri/floating-ui.dom.esm-74010e65.js.map +1 -0
  251. package/dist/kolibri/index-34c3d6f8.js +5 -0
  252. package/dist/kolibri/index-34c3d6f8.js.map +1 -0
  253. package/dist/kolibri/kol-abbr.entry.js +1 -1
  254. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  255. package/dist/kolibri/kol-accordion.entry.js +1 -1
  256. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  257. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  258. package/dist/kolibri/kol-alert.entry.js +1 -1
  259. package/dist/kolibri/kol-badge.entry.js +1 -1
  260. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  261. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  262. package/dist/kolibri/kol-button-group-wc.entry.js +1 -1
  263. package/dist/kolibri/kol-button-group.entry.js +1 -1
  264. package/dist/kolibri/kol-button-link.entry.js +1 -1
  265. package/dist/kolibri/kol-button-wc_3.entry.js +1 -1
  266. package/dist/kolibri/kol-button.entry.js +1 -1
  267. package/dist/kolibri/kol-card.entry.js +1 -1
  268. package/dist/kolibri/kol-details.entry.js +1 -1
  269. package/dist/kolibri/kol-form.entry.js +1 -1
  270. package/dist/kolibri/kol-heading.entry.js +1 -1
  271. package/dist/kolibri/kol-icon-font-awesome.entry.js +1 -1
  272. package/dist/kolibri/kol-icon-icofont.entry.js +1 -1
  273. package/dist/kolibri/kol-icon.entry.js +1 -1
  274. package/dist/kolibri/kol-image.entry.js +1 -1
  275. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  276. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  277. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  278. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  279. package/dist/kolibri/kol-input-color.entry.js +1 -1
  280. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  281. package/dist/kolibri/kol-input-date.entry.js +1 -1
  282. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  283. package/dist/kolibri/kol-input-email.entry.js +1 -1
  284. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  285. package/dist/kolibri/kol-input-file.entry.js +1 -1
  286. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  287. package/dist/kolibri/kol-input-number.entry.js +1 -1
  288. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  289. package/dist/kolibri/kol-input-password.entry.js +1 -1
  290. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  291. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  292. package/dist/kolibri/kol-input-radio-group.entry.js.map +1 -1
  293. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  294. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  295. package/dist/kolibri/kol-input-range.entry.js +1 -1
  296. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  297. package/dist/kolibri/kol-input-text.entry.js +1 -1
  298. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  299. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  300. package/dist/kolibri/kol-link-button.entry.js +1 -1
  301. package/dist/kolibri/kol-link-group.entry.js +1 -1
  302. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  303. package/dist/kolibri/kol-link.entry.js +1 -1
  304. package/dist/kolibri/kol-logo.entry.js +1 -1
  305. package/dist/kolibri/kol-modal.entry.js +1 -1
  306. package/dist/kolibri/kol-nav.entry.js +1 -1
  307. package/dist/kolibri/kol-pagination.entry.js +1 -1
  308. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  309. package/dist/kolibri/kol-popover.entry.js +1 -1
  310. package/dist/kolibri/kol-progress.entry.js +1 -1
  311. package/dist/kolibri/kol-quote.entry.js +1 -1
  312. package/dist/kolibri/kol-select.entry.js +1 -1
  313. package/dist/kolibri/kol-select.entry.js.map +1 -1
  314. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  315. package/dist/kolibri/kol-span.entry.js +1 -1
  316. package/dist/kolibri/kol-spin.entry.js +1 -1
  317. package/dist/kolibri/kol-split-button.entry.js +1 -1
  318. package/dist/kolibri/kol-symbol.entry.js +1 -1
  319. package/dist/kolibri/kol-table.entry.js +1 -1
  320. package/dist/kolibri/kol-tabs.entry.js +1 -1
  321. package/dist/kolibri/kol-textarea.entry.js +1 -1
  322. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  323. package/dist/kolibri/kol-toast.entry.js +1 -1
  324. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  325. package/dist/kolibri/kol-version.entry.js +1 -1
  326. package/dist/kolibri/kolibri.esm.js +1 -1
  327. package/dist/kolibri/kolibri.esm.js.map +1 -1
  328. package/dist/kolibri/prop.validators-2c20cdf8.js.map +1 -1
  329. package/dist/loader/index.d.ts +1 -1
  330. package/dist/types/components/@deprecated/input/controller.d.ts +1 -0
  331. package/dist/types/components/@deprecated/input/types-icon.d.ts +2 -1
  332. package/dist/types/components/@deprecated/input/types.d.ts +2 -1
  333. package/dist/types/components/badge/component.d.ts +1 -0
  334. package/dist/types/components/input/types.d.ts +3 -2
  335. package/dist/types/components/input-checkbox/component.d.ts +2 -0
  336. package/dist/types/components/input-checkbox/types.d.ts +3 -3
  337. package/dist/types/components/input-color/component.d.ts +2 -0
  338. package/dist/types/components/input-color/types.d.ts +3 -2
  339. package/dist/types/components/input-date/component.d.ts +3 -1
  340. package/dist/types/components/input-date/types.d.ts +3 -2
  341. package/dist/types/components/input-email/component.d.ts +3 -1
  342. package/dist/types/components/input-email/types.d.ts +3 -3
  343. package/dist/types/components/input-file/component.d.ts +3 -1
  344. package/dist/types/components/input-file/types.d.ts +3 -2
  345. package/dist/types/components/input-number/component.d.ts +3 -1
  346. package/dist/types/components/input-number/types.d.ts +3 -2
  347. package/dist/types/components/input-password/component.d.ts +2 -0
  348. package/dist/types/components/input-password/types.d.ts +3 -2
  349. package/dist/types/components/input-radio/component.d.ts +2 -0
  350. package/dist/types/components/input-radio/controller.d.ts +2 -1
  351. package/dist/types/components/input-radio/types.d.ts +3 -2
  352. package/dist/types/components/input-radio-group/component.d.ts +1 -0
  353. package/dist/types/components/input-range/component.d.ts +3 -1
  354. package/dist/types/components/input-range/types.d.ts +3 -2
  355. package/dist/types/components/input-text/component.d.ts +2 -0
  356. package/dist/types/components/input-text/controller.d.ts +3 -2
  357. package/dist/types/components/input-text/types.d.ts +3 -2
  358. package/dist/types/components/select/component.d.ts +3 -1
  359. package/dist/types/components/select/types.d.ts +3 -2
  360. package/dist/types/components/textarea/component.d.ts +3 -1
  361. package/dist/types/components/textarea/types.d.ts +3 -3
  362. package/dist/types/components.d.ts +104 -0
  363. package/dist/types/stencil-public-runtime.d.ts +1 -0
  364. package/doc/icon-font-awesome.md +1 -1
  365. package/doc/icon-icofont.md +1 -1
  366. package/doc/input-checkbox.md +21 -20
  367. package/doc/input-color.md +19 -18
  368. package/doc/input-date.md +25 -24
  369. package/doc/input-email.md +26 -25
  370. package/doc/input-file.md +20 -19
  371. package/doc/input-number.md +26 -25
  372. package/doc/input-password.md +24 -23
  373. package/doc/input-radio-group.md +18 -17
  374. package/doc/input-radio.md +18 -17
  375. package/doc/input-range.md +21 -20
  376. package/doc/input-text.md +26 -25
  377. package/doc/select.md +21 -20
  378. package/doc/textarea.md +23 -22
  379. package/jest-test-results.json +1 -1
  380. package/package.json +1 -1
  381. package/vscode-custom-data.json +88 -36
  382. package/dist/cjs/controller-361ba1ef.js.map +0 -1
  383. package/dist/cjs/controller-3bf4af0a.js +0 -4
  384. package/dist/cjs/controller-3bf4af0a.js.map +0 -1
  385. package/dist/cjs/controller-c828f7c8.js.map +0 -1
  386. package/dist/cjs/controller-dc5aca49.js.map +0 -1
  387. package/dist/cjs/floating-ui.dom.esm-3d05ccb5.js +0 -4
  388. package/dist/cjs/floating-ui.dom.esm-3d05ccb5.js.map +0 -1
  389. package/dist/cjs/index-29c5d3c6.js +0 -5
  390. package/dist/cjs/index-29c5d3c6.js.map +0 -1
  391. package/dist/esm/controller-3ae042db.js.map +0 -1
  392. package/dist/esm/controller-6f59f733.js.map +0 -1
  393. package/dist/esm/controller-9b769c83.js.map +0 -1
  394. package/dist/esm/controller-ca91917c.js +0 -4
  395. package/dist/esm/controller-ca91917c.js.map +0 -1
  396. package/dist/esm/floating-ui.dom.esm-706cb72a.js +0 -4
  397. package/dist/esm/floating-ui.dom.esm-706cb72a.js.map +0 -1
  398. package/dist/esm/index-50adf9a0.js +0 -5
  399. package/dist/esm/index-50adf9a0.js.map +0 -1
  400. package/dist/kolibri/app-globals-1e2df332.js +0 -4
  401. package/dist/kolibri/controller-3ae042db.js.map +0 -1
  402. package/dist/kolibri/controller-6f59f733.js +0 -4
  403. package/dist/kolibri/controller-6f59f733.js.map +0 -1
  404. package/dist/kolibri/controller-9b769c83.js.map +0 -1
  405. package/dist/kolibri/controller-ca91917c.js +0 -4
  406. package/dist/kolibri/controller-ca91917c.js.map +0 -1
  407. package/dist/kolibri/controller-icon-8d8c747a.js +0 -4
  408. package/dist/kolibri/floating-ui.dom.esm-706cb72a.js +0 -4
  409. package/dist/kolibri/floating-ui.dom.esm-706cb72a.js.map +0 -1
  410. package/dist/kolibri/index-50adf9a0.js +0 -5
  411. package/dist/kolibri/index-50adf9a0.js.map +0 -1
  412. /package/dist/kolibri/{app-globals-1e2df332.js.map → app-globals-037e6656.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as n,H as i}from"./index-50adf9a0.js";const e=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}:host>div{border-left-style:solid;padding-left:0.5em}",o=class{constructor(n){t(this,n),this.state={}}render(){return n(i,null,n("div",null,n("slot",null)))}};o.style={default:e};export{o as kol_indented_text};
4
+ import{r as t,h as n,H as i}from"./index-34c3d6f8.js";const e=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}:host{display:block}:host>div{border-left-style:solid;padding-left:0.5em}",o=class{constructor(n){t(this,n),this.state={}}render(){return n(i,null,n("div",null,n("slot",null)))}};o.style={default:e};export{o as kol_indented_text};
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as e,h as i,H as t}from"./index-50adf9a0.js";import{e as o}from"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";const n=class{constructor(i){e(this,i)}componentWillLoad(){o("Die Komponente 'kol-input-adapter-leanup' mit dem Release v1.1.7 umgezogen. Lesen Sie hier, wie Sie sie migrieren: https://public-ui.github.io/docs/changelog/#117---30092022")}render(){return i(t,null,i("kol-alert",{_type:"warning"},"Die Komponente ",i("code",null,"kol-input-adapter-leanup")," ist umgezogen. Lesen Sie hier, wie Sie sie migrieren:"," ",i("kol-link",{_href:"https://public-ui.github.io/docs/changelog#118---07102022",_label:"https://public-ui.github.io/docs/changelog#118---07102022",_target:"documentation"})))}};export{n as kol_input_adapter_leanup};
4
+ import{r as e,h as i,H as t}from"./index-34c3d6f8.js";import{e as o}from"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./reuse-3a02afb9.js";const n=class{constructor(i){e(this,i)}componentWillLoad(){o("Die Komponente 'kol-input-adapter-leanup' mit dem Release v1.1.7 umgezogen. Lesen Sie hier, wie Sie sie migrieren: https://public-ui.github.io/docs/changelog/#117---30092022")}render(){return i(t,null,i("kol-alert",{_type:"warning"},"Die Komponente ",i("code",null,"kol-input-adapter-leanup")," ist umgezogen. Lesen Sie hier, wie Sie sie migrieren:"," ",i("kol-link",{_href:"https://public-ui.github.io/docs/changelog#118---07102022",_label:"https://public-ui.github.io/docs/changelog#118---07102022",_target:"documentation"})))}};export{n as kol_input_adapter_leanup};
@@ -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-50adf9a0.js";import{b as n,a as s}from"./reuse-3a02afb9.js";import{g as o}from"./controller-ca91917c.js";import{d as r}from"./a11y.tipps-2e27f8e6.js";import{b as d,a as l,s as h}from"./prop.validators-2c20cdf8.js";import{I as c}from"./controller-9b769c83.js";import{n as p}from"./dev.utils-157f0499.js";import"./tab-index-2de507bb.js";import"./index-f4596895.js";const u=(t,e)=>{d(t,"_checked",e)},b=(t,e)=>{d(t,"_indeterminate",e)};class m extends c{constructor(t,e,i){super(t,e,i),this.component=t}validateChecked(t){d(this.component,"_checked",t),this.setFormAssociatedValue(this.component.state._checked)}validateIcon(t){l(this.component,"_icons",(t=>"object"==typeof t&&null!==t&&(n(t.checked,1)||n(t.indeterminate,1)||n(t.unchecked,1))),new Set(["InputCheckboxIcons"]),t)}validateIndeterminate(t){d(this.component,"_indeterminate",t)}validateType(t){r('The "_type" prop is deprecated. Use "_variant" instead.'),this.validateVariant(t)}validateValue(t){h(this.component,"_value",t)}validateVariant(t){"checkbox"===t&&(r("[KolCheckbox] The \"_variant\" value 'checkbox' is deprecated. Use the new value 'default' instead."),t="default"),l(this.component,"_variant",(t=>"string"==typeof t&&("button"===t||"default"===t||"switch"===t)),new Set(["String {button, default, switch}"]),t)}componentWillLoad(){super.componentWillLoad(),this.validateChecked(this.component._checked),this.validateIcon(this.component._icon),this.validateIndeterminate(this.component._indeterminate),this.validateValue(this.component._value),this.validateVariant(this.component._variant||this.component._type)}}const f=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}label{cursor:pointer}kol-input{align-items:center;display:grid;justify-items:left;width:100}kol-input.default,kol-input.switch{grid-template-columns:auto 1fr}kol-input .input{align-items:center;display:grid;order:1}kol-input .input div{display:inline-flex}kol-input .input input{margin:0}kol-input label{order:2}kol-input .hint,kol-input.error>kol-alert{grid-column:span 2}kol-input kol-alert.error{order:3}kol-input .hint{order:4}input{border-width:2px;border-style:solid;line-height:24px}input[type='checkbox']{appearance:none;background-color:#fff;cursor:pointer;transition:0.5s}input[type='checkbox'].kol-disabled:before{cursor:not-allowed}input[type='checkbox']:before{content:'';cursor:pointer}.default kol-icon,.switch kol-icon{display:none}.button{cursor:pointer;display:inline-flex;width:auto}.button input{display:none}.default input[type='checkbox']{height:1.5em;width:1.5em}.default input[type='checkbox']:before{display:block;height:1.5em;position:relative;width:1.5em}.default input[type='checkbox']:checked:before{border-radius:1px;border-style:solid;border-width:0 3px 3px 0;height:0.75em;left:calc(0.375em - 2px);transform:rotate(40deg) translate(-50%, -50%);top:calc(0.7125em - 2px);width:0.375em}.default input[type='checkbox']:indeterminate:before{background-color:#000;height:0.2em;left:0.24em;top:0.575em;width:0.8em}.switch input[type='checkbox']{display:inline-block;height:1.7em;min-width:3.2em;position:relative;width:3.2em}.switch input[type='checkbox']:before{background-color:#000;height:1.2em;left:calc(0.25em - 2px);top:calc(0.25em - 2px);position:absolute;-webkit-transition:0.5s;-moz-transition:0.5s;-ms-transition:0.5s;transition:0.5s;width:1.2em}.switch input[type='checkbox']:checked:before{-webkit-transform:translateX(1.5em);-moz-transform:translateX(1.5em);-ms-transform:translateX(1.5em);transform:translateX(1.5em)}.switch input[type='checkbox']:indeterminate:before{transform:translateX(0.75em)}",y=class{render(){const{ariaDescribedBy:i}=o(this.state);return t(e,null,t("kol-input",{class:{checkbox:!0,[this.state._variant]:!0},"data-role":"button"===this.state._variant?"button":void 0,onKeyPress:"button"===this.state._variant?this.onChange:void 0,tabIndex:"button"===this.state._variant?0:void 0,_alert:this.state._alert,_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:this.state._id,_required:this.state._required,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},t("slot",null)),t("div",{slot:"input"},t("kol-icon",{onClick:this.onChange,_ariaLabel:"",_icon:this.state._indeterminate?this.state._icon.indeterminate:this.state._checked?this.state._icon.checked:this.state._icon.unchecked}),t("input",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,checked:this.state._checked,disabled:!0===this.state._disabled,id:this.state._id,indeterminate:this.state._indeterminate,name:this.state._name,required:!0===this.state._required,tabIndex:this.state._tabIndex,title:"",type:"checkbox",value:"string"==typeof this.state._value?this.state._value:""},this.controller.onFacade,{onChange:this.onChange})))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onChange=t=>{this._checked=!this._checked,this._indeterminate=!1,this.controller.setValue(t,this._checked)},this._accessKey=void 0,this._alert=!0,this._checked=!1,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._indeterminate=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._tabIndex=void 0,this._touched=!1,this._type=void 0,this._value=void 0,this._variant=void 0,this.state={_checked:!1,_icon:{checked:"codicon codicon-check",indeterminate:"codicon codicon-remove",unchecked:"codicon codicon-add"},_id:p(),_indeterminate:!1,_variant:"default"},this.controller=new m(this,"checkbox",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateChecked(t){u(this,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)}validateIndeterminate(t){b(this,t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateRequired(t){this.controller.validateRequired(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValue(t)}validateVariant(t){this.controller.validateVariant(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"],_checked:["validateChecked"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_indeterminate:["validateIndeterminate"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"],_variant:["validateVariant"]}}};y.style={default:f};export{y as kol_input_checkbox};
4
+ import{h as t,H as e,r as i,g as a}from"./index-34c3d6f8.js";import{n}from"./dev.utils-157f0499.js";import{b as s,a as o}from"./reuse-3a02afb9.js";import{g as r}from"./controller-e02d4577.js";import{d}from"./a11y.tipps-2e27f8e6.js";import{b as l,a as h,s as c}from"./prop.validators-2c20cdf8.js";import{I as p}from"./controller-bd4d58e4.js";import"./tab-index-2de507bb.js";import"./label-58f2333f.js";import"./index-f4596895.js";const u=(t,e)=>{l(t,"_checked",e)},b=(t,e)=>{l(t,"_indeterminate",e)};class m extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateChecked(t){l(this.component,"_checked",t),this.setFormAssociatedValue(this.component.state._checked)}validateIcon(t){h(this.component,"_icons",(t=>"object"==typeof t&&null!==t&&(s(t.checked,1)||s(t.indeterminate,1)||s(t.unchecked,1))),new Set(["InputCheckboxIcons"]),t)}validateIndeterminate(t){l(this.component,"_indeterminate",t)}validateType(t){d('The "_type" prop is deprecated. Use "_variant" instead.'),this.validateVariant(t)}validateValue(t){c(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}validateVariant(t){"checkbox"===t&&(d("[KolCheckbox] The \"_variant\" value 'checkbox' is deprecated. Use the new value 'default' instead."),t="default"),h(this.component,"_variant",(t=>"string"==typeof t&&("button"===t||"default"===t||"switch"===t)),new Set(["String {button, default, switch}"]),t)}componentWillLoad(){super.componentWillLoad(),this.validateChecked(this.component._checked),this.validateIcon(this.component._icon),this.validateIndeterminate(this.component._indeterminate),this.validateValue(this.component._value),this.validateVariant(this.component._variant||this.component._type)}}const f=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}label{cursor:pointer}kol-input{align-items:center;display:grid;justify-items:left;width:100}kol-input.default,kol-input.switch{grid-template-columns:auto 1fr}kol-input .input{align-items:center;display:grid;order:1}kol-input .input div{display:inline-flex}kol-input .input input{margin:0}kol-input label{order:2}kol-input .hint,kol-input.error>kol-alert{grid-column:span 2}kol-input kol-alert.error{order:3}kol-input .hint{order:4}input{border-width:2px;border-style:solid;line-height:24px}input[type='checkbox']{appearance:none;background-color:#fff;cursor:pointer;transition:0.5s}input[type='checkbox'].kol-disabled:before{cursor:not-allowed}input[type='checkbox']:before{content:'';cursor:pointer}.default kol-icon,.switch kol-icon{display:none}.button{cursor:pointer;display:inline-flex;width:auto}.button input{display:none}.default input[type='checkbox']{height:1.5em;width:1.5em}.default input[type='checkbox']:before{display:block;height:1.5em;position:relative;width:1.5em}.default input[type='checkbox']:checked:before{border-radius:1px;border-style:solid;border-width:0 3px 3px 0;height:0.75em;left:calc(0.375em - 2px);transform:rotate(40deg) translate(-50%, -50%);top:calc(0.7125em - 2px);width:0.375em}.default input[type='checkbox']:indeterminate:before{background-color:#000;height:0.2em;left:0.24em;top:0.575em;width:0.8em}.switch input[type='checkbox']{display:inline-block;height:1.7em;min-width:3.2em;position:relative;width:3.2em}.switch input[type='checkbox']:before{background-color:#000;height:1.2em;left:calc(0.25em - 2px);top:calc(0.25em - 2px);position:absolute;-webkit-transition:0.5s;-moz-transition:0.5s;-ms-transition:0.5s;transition:0.5s;width:1.2em}.switch input[type='checkbox']:checked:before{-webkit-transform:translateX(1.5em);-moz-transform:translateX(1.5em);-ms-transform:translateX(1.5em);transform:translateX(1.5em)}.switch input[type='checkbox']:indeterminate:before{transform:translateX(0.75em)}",y=class{render(){const{ariaDescribedBy:i}=r(this.state),a=""===this.state._label,n="…"===this.state._label;return t(e,null,t("kol-input",{class:{checkbox:!0,[this.state._variant]:!0},"data-role":"button"===this.state._variant?"button":void 0,onKeyPress:"button"===this.state._variant?this.onChange:void 0,tabIndex:"button"===this.state._variant?0:void 0,_alert:this.state._alert,_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_id:this.state._id,_required:this.state._required,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},a?t("slot",{name:"expert"}):n?t("slot",null):this.state._label),t("div",{slot:"input"},t("kol-icon",{onClick:this.onChange,_ariaLabel:"",_icon:this.state._indeterminate?this.state._icon.indeterminate:this.state._checked?this.state._icon.checked:this.state._icon.unchecked}),t("input",Object.assign({ref:this.catchRef,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,checked:this.state._checked,disabled:!0===this.state._disabled,id:this.state._id,indeterminate:this.state._indeterminate,name:this.state._name,required:!0===this.state._required,tabIndex:this.state._tabIndex,title:"",type:"checkbox",value:"string"==typeof this.state._value?this.state._value:""},this.controller.onFacade,{onChange:this.onChange})))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this.onChange=t=>{this._checked=!this._checked,this._indeterminate=!1,this.controller.setValue(t,this._checked)},this._accessKey=void 0,this._alert=!0,this._checked=!1,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._indeterminate=void 0,this._label=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._tabIndex=void 0,this._touched=!1,this._type=void 0,this._value=void 0,this._variant=void 0,this.state={_checked:!1,_icon:{checked:"codicon codicon-check",indeterminate:"codicon codicon-remove",unchecked:"codicon codicon-add"},_id:n(),_indeterminate:!1,_label:"…",_variant:"default"},this.controller=new m(this,"checkbox",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateChecked(t){u(this,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)}validateIndeterminate(t){b(this,t)}validateLabel(t){this.controller.validateLabel(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateRequired(t){this.controller.validateRequired(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValue(t)}validateVariant(t){this.controller.validateVariant(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"],_checked:["validateChecked"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_indeterminate:["validateIndeterminate"],_label:["validateLabel"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"],_variant:["validateVariant"]}}};y.style={default:f};export{y as kol_input_checkbox};
@@ -1 +1 @@
1
- {"version":3,"names":["validateChecked","component","value","watchBoolean","validateIndeterminate","InputCheckboxController","InputCheckboxRadioController","constructor","name","host","super","this","setFormAssociatedValue","state","_checked","validateIcon","watchValidator","isString","checked","indeterminate","unchecked","Set","validateType","devHint","validateVariant","validateValue","setState","componentWillLoad","_icon","_indeterminate","_value","_variant","_type","defaultStyleCss","KolInputCheckbox","render","ariaDescribedBy","getRenderStates","h","Host","class","checkbox","undefined","onKeyPress","onChange","tabIndex","_alert","_disabled","_error","_hideLabel","_hint","_id","_required","_touched","onClick","_a","ref","focus","slot","_ariaLabel","Object","assign","catchRef","accessKey","_accessKey","length","join","disabled","id","_name","required","_tabIndex","title","type","controller","onFacade","hostRef","propagateFocus","event","setValue","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateName","validateOn","validateRequired","validateTabIndex","validateTouched"],"sources":["./src/types/props/checked.ts","./src/types/props/indeterminate.ts","./src/components/input-checkbox/controller.ts","./src/components/input-checkbox/style.css?tag=kol-input-checkbox&mode=default&encapsulation=shadow","./src/components/input-checkbox/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Hakt die Checkbox an.\n */\n/** en\n * Checks the checkbox.\n */\nexport type PropChecked = {\n\tchecked: boolean;\n};\n\n/* validator */\nexport const validateChecked = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_checked', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Setzt den unbestimmten Zustand auf der Checkbox, hat keine Auswirkung auf _checked.\n */\n/** en\n * Puts the checkbox in the indeterminate state, does not change the value of _checked.\n */\nexport type PropIndeterminate = {\n\tindeterminate: boolean;\n};\n\n/* validator */\nexport const validateIndeterminate = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_indeterminate', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState, watchBoolean, watchValidator } from '../../utils/prop.validators';\nimport { isString } from '../../utils/validator';\nimport { InputCheckboxRadioController } from '../input-radio/controller';\nimport { InputCheckboxIcon, InputCheckboxVariant, Props, Watches } from './types';\n\nexport class InputCheckboxController extends InputCheckboxRadioController 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 validateChecked(value?: boolean): void {\n\t\twatchBoolean(this.component, '_checked', value);\n\t\tthis.setFormAssociatedValue(this.component.state._checked as string);\n\t}\n\n\tpublic validateIcon(value?: Stringified<InputCheckboxIcon>): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_icons',\n\t\t\t(value): boolean => {\n\t\t\t\treturn typeof value === 'object' && value !== null && (isString(value.checked, 1) || isString(value.indeterminate, 1) || isString(value.unchecked, 1));\n\t\t\t},\n\t\t\tnew Set(['InputCheckboxIcons']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateIndeterminate(value?: boolean): void {\n\t\twatchBoolean(this.component, '_indeterminate', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateType(value?: InputCheckboxVariant): void {\n\t\tdevHint(`The \"_type\" prop is deprecated. Use \"_variant\" instead.`);\n\t\tthis.validateVariant(value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\tsetState(this.component, '_value', value);\n\t}\n\n\tpublic validateVariant(value?: InputCheckboxVariant): void {\n\t\tif (value === 'checkbox') {\n\t\t\tdevHint(`[KolCheckbox] The \"_variant\" value 'checkbox' is deprecated. Use the new value 'default' instead.`);\n\t\t\tvalue = 'default';\n\t\t}\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_variant',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'button' || value === 'default' || value === 'switch'),\n\t\t\tnew Set(['String {button, default, switch}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateChecked(this.component._checked);\n\t\tthis.validateIcon(this.component._icon);\n\t\tthis.validateIndeterminate(this.component._indeterminate);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validateVariant(this.component._variant || this.component._type);\n\t}\n}\n","@import url(../input.css);\n@import url(common.css);\n@import url(button.css);\n@import url(checkbox.css);\n@import url(switch.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { validateChecked, validateIndeterminate } from '../../types/props';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputCheckboxController } from './controller';\nimport { ComponentApi, InputCheckboxIcon, InputCheckboxVariant, States } from './types';\nimport { nonce } from '../../utils/dev.utils';\n\n/**\n * @slot - Die Beschriftung der Checkbox.\n */\n@Component({\n\ttag: 'kol-input-checkbox',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputCheckbox implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputCheckboxElement;\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\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\tcheckbox: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t\tdata-role={this.state._variant === 'button' ? 'button' : undefined}\n\t\t\t\t\tonKeyPress={this.state._variant === 'button' ? this.onChange : undefined}\n\t\t\t\t\ttabIndex={this.state._variant === 'button' ? 0 : undefined}\n\t\t\t\t\t_alert={this.state._alert}\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_id={this.state._id}\n\t\t\t\t\t_required={this.state._required}\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\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._indeterminate ? this.state._icon.indeterminate : this.state._checked ? this.state._icon.checked : this.state._icon.unchecked}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey} // by checkbox?!\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tchecked={this.state._checked}\n\t\t\t\t\t\t\tdisabled={this.state._disabled === true}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tindeterminate={this.state._indeterminate}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\trequired={this.state._required === true}\n\t\t\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={typeof this.state._value === 'string' ? this.state._value : ''}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t></input>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputCheckboxController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Checkbox ausgewählt ist oder nicht. (kann gelesen und gesetzt werden)\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _checked?: boolean = false;\n\n\t/**\n\t * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Überschreiben der Icons für die Checkbox.\n\t */\n\t@Prop() public _icon?: Stringified<InputCheckboxIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt an, ob die Checkbox weder ausgewählt noch nicht ausgewählt ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _indeterminate?: boolean;\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 * 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 dieses Input hat.\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 an, welchen Type das Input haben soll.\n\t *\n\t * @deprecated Verwende stattdessen das Attribute _variant.\n\t */\n\t@Prop() public _type?: InputCheckboxVariant;\n\n\t/**\n\t * Gibt den Schlüssel/Namen der Checkbox an. ({ [value]: [checked] })\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * Gibt an, welchen Type das Input haben soll.\n\t */\n\t@Prop() public _variant?: InputCheckboxVariant; // TODO: = 'default'; in v2 setzen\n\n\t@State() public state: States = {\n\t\t_checked: false,\n\t\t_icon: {\n\t\t\tchecked: 'codicon codicon-check',\n\t\t\tindeterminate: 'codicon codicon-remove',\n\t\t\tunchecked: 'codicon codicon-add',\n\t\t},\n\t\t_id: nonce(), // ⚠ required\n\t\t_indeterminate: false,\n\t\t_variant: 'default',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputCheckboxController(this, 'checkbox', 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('_checked')\n\tpublic validateChecked(value?: boolean): void {\n\t\tvalidateChecked(this, 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<InputCheckboxIcon>): 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('_indeterminate')\n\tpublic validateIndeterminate(value?: boolean): void {\n\t\tvalidateIndeterminate(this, 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('_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('_type')\n\tpublic validateType(value?: InputCheckboxVariant): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: InputCheckboxVariant): void {\n\t\tthis.controller.validateVariant(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\tprivate onChange = (event: Event): void => {\n\t\tthis._checked = !this._checked;\n\t\tthis._indeterminate = false;\n\t\tthis.controller.setValue(event, this._checked);\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateChecked","component","value","watchBoolean","validateIndeterminate","InputCheckboxController","InputCheckboxRadioController","constructor","name","host","super","this","setFormAssociatedValue","state","_checked","validateIcon","watchValidator","isString","checked","indeterminate","unchecked","Set","validateType","devHint","validateVariant","validateValue","setState","_value","componentWillLoad","_icon","_indeterminate","_variant","_type","defaultStyleCss","KolInputCheckbox","render","ariaDescribedBy","getRenderStates","showExpertSlot","_label","showDefaultSlot","h","Host","class","checkbox","undefined","onKeyPress","onChange","tabIndex","_alert","_disabled","_error","_hideLabel","_hint","_id","_required","_touched","onClick","_a","ref","focus","slot","_ariaLabel","Object","assign","catchRef","accessKey","_accessKey","length","join","disabled","id","_name","required","_tabIndex","title","type","controller","onFacade","hostRef","propagateFocus","event","setValue","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateId","validateLabel","validateName","validateOn","validateRequired","validateTabIndex","validateTouched"],"sources":["./src/types/props/checked.ts","./src/types/props/indeterminate.ts","./src/components/input-checkbox/controller.ts","./src/components/input-checkbox/style.css?tag=kol-input-checkbox&mode=default&encapsulation=shadow","./src/components/input-checkbox/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Hakt die Checkbox an.\n */\n/** en\n * Checks the checkbox.\n */\nexport type PropChecked = {\n\tchecked: boolean;\n};\n\n/* validator */\nexport const validateChecked = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_checked', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Setzt den unbestimmten Zustand auf der Checkbox, hat keine Auswirkung auf _checked.\n */\n/** en\n * Puts the checkbox in the indeterminate state, does not change the value of _checked.\n */\nexport type PropIndeterminate = {\n\tindeterminate: boolean;\n};\n\n/* validator */\nexport const validateIndeterminate = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_indeterminate', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { devHint } from '../../utils/a11y.tipps';\nimport { setState, watchBoolean, watchValidator } from '../../utils/prop.validators';\nimport { isString } from '../../utils/validator';\nimport { InputCheckboxRadioController } from '../input-radio/controller';\nimport { InputCheckboxIcon, InputCheckboxVariant, Props, Watches } from './types';\n\nexport class InputCheckboxController extends InputCheckboxRadioController 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 validateChecked(value?: boolean): void {\n\t\twatchBoolean(this.component, '_checked', value);\n\t\tthis.setFormAssociatedValue(this.component.state._checked as string);\n\t}\n\n\tpublic validateIcon(value?: Stringified<InputCheckboxIcon>): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_icons',\n\t\t\t(value): boolean => {\n\t\t\t\treturn typeof value === 'object' && value !== null && (isString(value.checked, 1) || isString(value.indeterminate, 1) || isString(value.unchecked, 1));\n\t\t\t},\n\t\t\tnew Set(['InputCheckboxIcons']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateIndeterminate(value?: boolean): void {\n\t\twatchBoolean(this.component, '_indeterminate', value);\n\t}\n\n\t/**\n\t * @deprecated\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateType(value?: InputCheckboxVariant): void {\n\t\tdevHint(`The \"_type\" prop is deprecated. Use \"_variant\" instead.`);\n\t\tthis.validateVariant(value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\tsetState(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic validateVariant(value?: InputCheckboxVariant): void {\n\t\tif (value === 'checkbox') {\n\t\t\tdevHint(`[KolCheckbox] The \"_variant\" value 'checkbox' is deprecated. Use the new value 'default' instead.`);\n\t\t\tvalue = 'default';\n\t\t}\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_variant',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'button' || value === 'default' || value === 'switch'),\n\t\t\tnew Set(['String {button, default, switch}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateChecked(this.component._checked);\n\t\tthis.validateIcon(this.component._icon);\n\t\tthis.validateIndeterminate(this.component._indeterminate);\n\t\tthis.validateValue(this.component._value);\n\t\tthis.validateVariant(this.component._variant || this.component._type);\n\t}\n}\n","@import url(../input.css);\n@import url(common.css);\n@import url(button.css);\n@import url(checkbox.css);\n@import url(switch.css);\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { validateChecked, validateIndeterminate } from '../../types/props';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputCheckboxController } from './controller';\nimport { ComponentApi, InputCheckboxIcon, InputCheckboxVariant, States } from './types';\n\n/**\n * @slot - Die Beschriftung der Checkbox.\n */\n@Component({\n\ttag: 'kol-input-checkbox',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputCheckbox implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputCheckboxElement;\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 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\tcheckbox: true,\n\t\t\t\t\t\t[this.state._variant]: true,\n\t\t\t\t\t}}\n\t\t\t\t\tdata-role={this.state._variant === 'button' ? 'button' : undefined}\n\t\t\t\t\tonKeyPress={this.state._variant === 'button' ? this.onChange : undefined}\n\t\t\t\t\ttabIndex={this.state._variant === 'button' ? 0 : undefined}\n\t\t\t\t\t_alert={this.state._alert}\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_id={this.state._id}\n\t\t\t\t\t_required={this.state._required}\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<div slot=\"input\">\n\t\t\t\t\t\t<kol-icon\n\t\t\t\t\t\t\tonClick={this.onChange}\n\t\t\t\t\t\t\t_ariaLabel=\"\"\n\t\t\t\t\t\t\t_icon={this.state._indeterminate ? this.state._icon.indeterminate : this.state._checked ? this.state._icon.checked : this.state._icon.unchecked}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey} // by checkbox?!\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\t\tchecked={this.state._checked}\n\t\t\t\t\t\t\tdisabled={this.state._disabled === true}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tindeterminate={this.state._indeterminate}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\trequired={this.state._required === true}\n\t\t\t\t\t\t\ttabIndex={this.state._tabIndex}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\tvalue={typeof this.state._value === 'string' ? this.state._value : ''}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t></input>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputCheckboxController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob die Checkbox ausgewählt ist oder nicht. (kann gelesen und gesetzt werden)\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _checked?: boolean = false;\n\n\t/**\n\t * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Überschreiben der Icons für die Checkbox.\n\t */\n\t@Prop() public _icon?: Stringified<InputCheckboxIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt an, ob die Checkbox weder ausgewählt noch nicht ausgewählt ist.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _indeterminate?: boolean;\n\n\t/**\n\t * Das Label dient der Beschriftung unterschiedlicher Elemente.\n\t * - Button -> label text\n\t * - Heading -> headline text\n\t * - Input, Select und Textarea -> label text\n\t * - Summary -> summary text\n\t * - Table -> caption text\n\t * - etc.\n\t *\n\t * Das Label ist häufig ein Pflichtattribut und kann leer gesetzt werden,\n\t * wenn man das Label mittels dem Expert-Slot überschreiben will.\n\t */\n\t@Prop() public _label!: string;\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 * 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 dieses Input hat.\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 an, welchen Type das Input haben soll.\n\t *\n\t * @deprecated Verwende stattdessen das Attribute _variant.\n\t */\n\t@Prop() public _type?: InputCheckboxVariant;\n\n\t/**\n\t * Gibt den Schlüssel/Namen der Checkbox an. ({ [value]: [checked] })\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * Gibt an, welchen Type das Input haben soll.\n\t */\n\t@Prop() public _variant?: InputCheckboxVariant; // TODO: = 'default'; in v2 setzen\n\n\t@State() public state: States = {\n\t\t_checked: false,\n\t\t_icon: {\n\t\t\tchecked: 'codicon codicon-check',\n\t\t\tindeterminate: 'codicon codicon-remove',\n\t\t\tunchecked: 'codicon codicon-add',\n\t\t},\n\t\t_id: nonce(), // ⚠ required\n\t\t_indeterminate: false,\n\t\t_label: '…', // ⚠ required\n\t\t_variant: 'default',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputCheckboxController(this, 'checkbox', 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('_checked')\n\tpublic validateChecked(value?: boolean): void {\n\t\tvalidateChecked(this, 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<InputCheckboxIcon>): 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('_indeterminate')\n\tpublic validateIndeterminate(value?: boolean): void {\n\t\tvalidateIndeterminate(this, 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('_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('_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('_type')\n\tpublic validateType(value?: InputCheckboxVariant): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t@Watch('_variant')\n\tpublic validateVariant(value?: InputCheckboxVariant): void {\n\t\tthis.controller.validateVariant(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\tprivate onChange = (event: Event): void => {\n\t\tthis._checked = !this._checked;\n\t\tthis._indeterminate = false;\n\t\tthis.controller.setValue(event, this._checked);\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-50adf9a0.js";import{a as s}from"./reuse-3a02afb9.js";import{g as n}from"./controller-ca91917c.js";import{a as o,d as l,w as r}from"./prop.validators-2c20cdf8.js";import{I as d}from"./controller-icon-8d8c747a.js";import{n as p}from"./dev.utils-157f0499.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./index-f4596895.js";import"./icon-52e86ff8.js";class u extends d{constructor(t,e,i){super(t,e,i),this.component=t}validateAutoComplete(t){o(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){l(this.component,"_list",(t=>"string"==typeof t),t)}validateValue(t){r(this.component,"_value",t)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateList(this.component._list),this.validateValue(this.component._value)}}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}div.input{cursor:pointer}",c=class{render(){const{ariaDescribedBy:i}=n(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0;return t(e,null,t("kol-input",{class:{color:!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,_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"},t("slot",null)),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:!0===this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,name:this.state._name,slot:"input",spellcheck:"false",type:"color",value:this.state._value},this.controller.onFacade))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(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._list=void 0,this._name=void 0,this._on=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:p(),_list:[]},this.controller=new u(this,"color",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)}validateList(t){this.controller.validateList(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(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()}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"],_list:["validateList"],_name:["validateName"],_on:["validateOn"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:h};export{c as kol_input_color};
4
+ import{h as t,H as e,r as i,g as a}from"./index-34c3d6f8.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{g as o}from"./controller-e02d4577.js";import{a as l,d as r,w as d}from"./prop.validators-2c20cdf8.js";import{I as p}from"./controller-icon-1255b762.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./label-58f2333f.js";import"./index-f4596895.js";import"./icon-52e86ff8.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){r(this.component,"_list",(t=>"string"==typeof t),t)}validateValue(t){d(this.component,"_value",t),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateList(this.component._list),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}div.input{cursor:pointer}",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:{color:!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,_smartButton:this.state._smartButton,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",{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:!0===this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,name:this.state._name,slot:"input",spellcheck:"false",type:"color",value:this.state._value},this.controller.onFacade))))}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._name=void 0,this._on=void 0,this._smartButton=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,"color",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)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(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()}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"],_name:["validateName"],_on:["validateOn"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:u};export{c as kol_input_color};
@@ -1 +1 @@
1
- {"version":3,"names":["InputColorController","InputIconController","constructor","component","name","host","super","this","validateAutoComplete","value","watchValidator","Set","validateList","watchJsonArrayString","item","validateValue","watchString","componentWillLoad","_autoComplete","_list","_value","defaultStyleCss","KolInputColor","render","ariaDescribedBy","getRenderStates","state","hasList","Array","isArray","length","h","Host","class","color","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","_name","spellcheck","type","controller","onFacade","hostRef","propagateFocus","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateOn","validateSmartButton","validateTabIndex","validateTouched","_alert"],"sources":["./src/components/input-color/controller.ts","./src/components/input-color/style.css?tag=kol-input-color&mode=default&encapsulation=shadow","./src/components/input-color/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchJsonArrayString, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputColorController 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<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\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.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\ndiv.input {\n\tcursor: pointer;\n}\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';\n\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputColorController } from './controller';\nimport { ComponentApi, States } from './types';\nimport { nonce } from '../../utils/dev.utils';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-color',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputColor implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputColorElement;\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\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\tcolor: 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_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\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</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 === true}\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\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\ttype=\"color\"\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/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputColorController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt 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 * 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 dieses Input hat.\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_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputColorController(this, 'color', 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('_list')\n\tpublic validateList(value?: Stringified<string[]>): 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('_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\t}\n}\n"],"mappings":";;;8aAOaA,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,EAAqBN,KAAKJ,UAAW,SAAUW,UAAwBA,IAAS,UAAUL,E,CAGpFM,cAAcN,GACpBO,EAAYT,KAAKJ,UAAW,SAAUM,E,CAGhCQ,oBACNX,MAAMW,oBACNV,KAAKC,qBAAqBD,KAAKJ,UAAUe,eACzCX,KAAKK,aAAaL,KAAKJ,UAAUgB,OACjCZ,KAAKQ,cAAcR,KAAKJ,UAAUiB,O,ECrCpC,MAAMC,EAAkB,o3D,MCsBXC,EAAa,MASlBC,SACN,MAAMC,gBAAEA,GAAoBC,EAAgBlB,KAAKmB,OACjD,MAAMC,EAAUC,MAAMC,QAAQtB,KAAKmB,MAAMP,QAAUZ,KAAKmB,MAAMP,MAAMW,OAAS,EAC7E,OACCC,EAACC,EAAI,KACJD,EAAA,aACCE,MAAO,CACNC,MAAO,MAERC,UAAW5B,KAAKmB,MAAMS,UACtBC,OAAQ7B,KAAKmB,MAAMU,OACnBC,WAAY9B,KAAKmB,MAAMW,WACvBC,MAAO/B,KAAKmB,MAAMY,MAClBC,MAAOhC,KAAKmB,MAAMa,MAClBC,IAAKjC,KAAKmB,MAAMc,IAChBrB,MAAOZ,KAAKmB,MAAMP,MAClBsB,aAAclC,KAAKmB,MAAMe,aACzBC,SAAUnC,KAAKmB,MAAMgB,SACrBC,QAAS,SAAAC,EAAM,OAAAA,EAAArC,KAAKsC,OAAG,MAAAD,SAAA,SAAAA,EAAEE,OAAO,GAEhCf,EAAA,QAAMgB,KAAK,SACVhB,EAAA,cAEDA,EAAA,QAAAiB,OAAAC,OAAA,CACCJ,IAAKtC,KAAK2C,SACVC,MAAM,GACNC,UAAW7C,KAAKmB,MAAM2B,WAAU,mBACd7B,EAAgBM,OAAS,EAAIN,EAAgB8B,KAAK,KAAOC,UAAS,kBACnE,GAAGhD,KAAKmB,MAAMc,YAC/BgB,eAAe,MACfC,aAAclD,KAAKmB,MAAMR,cACzBwC,YAAY,MACZC,SAAUpD,KAAKmB,MAAMS,YAAc,KACnCyB,GAAIrD,KAAKmB,MAAMc,IACfqB,KAAMlC,EAAU,GAAGpB,KAAKmB,MAAMc,WAAae,UAC3CnD,KAAMG,KAAKmB,MAAMoC,MACjBf,KAAK,QACLgB,WAAW,QACXC,KAAK,QACLvD,MAAOF,KAAKmB,MAAMN,QACdb,KAAK0D,WAAWC,Y,CA+FzBhE,YAAAiE,G,UA5IiB5D,KAAA2C,SAAYL,IAC5BtC,KAAKsC,IAAMA,EACXuB,EAAe7D,KAAKF,KAAME,KAAKsC,IAAI,E,sCA4D8B,K,iHAyBlC,G,wKAwCoC,M,iCAOpC,CAC/B3B,cAAe,MACfsB,IAAK6B,IACLlD,MAAO,IAIPZ,KAAK0D,WAAa,IAAIjE,EAAqBO,KAAM,QAASA,KAAKF,K,CAIzDiE,kBAAkB7D,GACxBF,KAAK0D,WAAWK,kBAAkB7D,E,CAI5B8D,cAAc9D,GACpBF,KAAK0D,WAAWM,cAAc9D,E,CAIxBD,qBAAqBC,GAC3BF,KAAK0D,WAAWzD,qBAAqBC,E,CAI/B+D,iBAAiB/D,GACvBF,KAAK0D,WAAWO,iBAAiB/D,E,CAI3BgE,cAAchE,GACpBF,KAAK0D,WAAWQ,cAAchE,E,CAIxBiE,kBAAkBjE,GACxBF,KAAK0D,WAAWS,kBAAkBjE,E,CAI5BkE,aAAalE,GACnBF,KAAK0D,WAAWU,aAAalE,E,CAIvBmE,aAAanE,GACnBF,KAAK0D,WAAWW,aAAanE,E,CAIvBoE,WAAWpE,GACjBF,KAAK0D,WAAWY,WAAWpE,E,CAIrBG,aAAaH,GACnBF,KAAK0D,WAAWrD,aAAaH,E,CAIvBqE,aAAarE,GACnBF,KAAK0D,WAAWa,aAAarE,E,CAIvBsE,WAAWtE,GACjBF,KAAK0D,WAAWc,WAAWtE,E,CAIrBuE,oBAAoBvE,GAC1BF,KAAK0D,WAAWe,oBAAoBvE,E,CAI9BwE,iBAAiBxE,GACvBF,KAAK0D,WAAWgB,iBAAiBxE,E,CAI3ByE,gBAAgBzE,GACtBF,KAAK0D,WAAWiB,gBAAgBzE,E,CAI1BM,cAAcN,GACpBF,KAAK0D,WAAWlD,cAAcN,E,CAGxBQ,oBACNV,KAAK4E,OAAS5E,KAAK4E,SAAW,KAC9B5E,KAAKmC,SAAWnC,KAAKmC,WAAa,KAClCnC,KAAK0D,WAAWhD,mB"}
1
+ {"version":3,"names":["InputColorController","InputIconController","constructor","component","name","host","super","this","validateAutoComplete","value","watchValidator","Set","validateList","watchJsonArrayString","item","validateValue","watchString","setFormAssociatedValue","state","_value","componentWillLoad","_autoComplete","_list","defaultStyleCss","KolInputColor","render","ariaDescribedBy","getRenderStates","hasList","Array","isArray","length","showExpertSlot","_label","showDefaultSlot","h","Host","class","color","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","_name","spellcheck","type","controller","onFacade","hostRef","propagateFocus","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSmartButton","validateTabIndex","validateTouched","_alert"],"sources":["./src/components/input-color/controller.ts","./src/components/input-color/style.css?tag=kol-input-color&mode=default&encapsulation=shadow","./src/components/input-color/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchJsonArrayString, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputColorController 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<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(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.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\ndiv.input {\n\tcursor: pointer;\n}\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';\n\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputColorController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-color',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputColor implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputColorElement;\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\tcolor: 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_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 === true}\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\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\ttype=\"color\"\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/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputColorController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Das Label dient der Beschriftung unterschiedlicher Elemente.\n\t * - Button -> label text\n\t * - Heading -> headline text\n\t * - Input, Select und Textarea -> label text\n\t * - Summary -> summary text\n\t * - Table -> caption text\n\t * - etc.\n\t *\n\t * Das Label ist häufig ein Pflichtattribut und kann leer gesetzt werden,\n\t * wenn man das Label mittels dem Expert-Slot überschreiben will.\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<string[]>;\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 * 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 dieses Input hat.\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_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputColorController(this, 'color', 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('_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('_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\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{r as t,h as e,H as i,g as s}from"./index-50adf9a0.js";import{s as n,a as d}from"./prop.validators-2c20cdf8.js";import{a as h}from"./reuse-3a02afb9.js";import"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./index-f4596895.js";const a=class{constructor(e){t(this,e),this.catchRef=t=>{this.ref=t,h(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._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=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="date",this._value=void 0,this.state={}}render(){return e(i,null,e("kol-input-number",{ref:this.catchRef,_accessKey:this._accessKey,_alert:this._alert,_autoComplete:this._autoComplete,_disabled:this._disabled,_error:this._error,_hideLabel:this._hideLabel,_hint:this._hint,_icon:this._icon,_id:this._id,_list:this._list,_max:this.state._max,_min:this.state._min,_name:this._name,_on:this.state._on,_readOnly:this._readOnly,_required:this._required,_smartButton:this._smartButton,_step:this._step,_tabIndex:this._tabIndex,_touched:this._touched,_type:this._type,_value:this.state._value},e("slot",null)))}valueAsIsoDate(t,e){const i=null!=t?t:e;if("string"==typeof i)return i;if("object"==typeof i&&i instanceof Date)switch(this._type){case"date":return`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`;case"datetime-local":return`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}T${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`;case"month":return`${i.getFullYear()}-${i.getMonth()+1}`;case"time":return void 0===this._step||"string"==typeof this._step&&"60"===this._step||"number"==typeof this._step&&60===this._step?`${i.getHours()}:${i.getMinutes()}`:`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`;case"week":throw new Error("Auto convert to week is not supported!")}return null===t?null:void 0}validateDateString(t){switch(this._type){case"date":return a.isoDateRegex.test(t);case"datetime-local":return a.isoLocalDateTimeRegex.test(t);case"month":return a.isoMonthRegex.test(t);case"time":return a.isoTimeRegex.test(t);case"week":return a.isoWeekRegex.test(t)}}validateOn(t){n(this,"_on",Object.assign(Object.assign({},t),{onChange:(e,i)=>{!!i!=!!this._value&&(this._value=i),(null==t?void 0:t.onChange)&&t.onChange(e,i)}}))}validateMax(t){d(this,"_max",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t,"date"===this._type||"month"===this._type||"datetime-local"===this._type?a.DEFAULT_MAX_DATE:void 0))}validateMin(t){d(this,"_min",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t))}validateValue(t){d(this,"_value",(t=>null==t||this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t))}componentWillLoad(){this.validateOn(this._on),this.validateMax(this._max),this.validateMin(this._min),this.validateValue(this._value)}get host(){return s(this)}static get watchers(){return{_on:["validateOn"],_max:["validateMax"],_min:["validateMin"],_value:["validateValue"]}}};a.DEFAULT_MAX_DATE=new Date(9999,11,31,23,59,59),a.isoDateRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])/,a.isoLocalDateTimeRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])[T ][0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,a.isoMonthRegex=/^\d{4}-([0]\d|1[0-2])/,a.isoTimeRegex=/^[0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,a.isoWeekRegex=/^\d{4}-W(?:[0-4]\d|5[0-3])$/;export{a as kol_input_date};
4
+ import{r as t,h as e,H as i,g as s}from"./index-34c3d6f8.js";import{a as n,s as d}from"./prop.validators-2c20cdf8.js";import{a as h}from"./reuse-3a02afb9.js";import{v as a}from"./label-58f2333f.js";import"./a11y.tipps-2e27f8e6.js";import"./dev.utils-157f0499.js";import"./index-f4596895.js";const r=class{constructor(e){t(this,e),this.catchRef=t=>{this.ref=t,h(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._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._step=void 0,this._tabIndex=void 0,this._touched=!1,this._type="date",this._value=void 0,this.state={_label:"…"}}render(){const t=""===this.state._label,s="…"===this.state._label;return e(i,null,e("kol-input-number",{ref:this.catchRef,_accessKey:this._accessKey,_alert:this._alert,_autoComplete:this._autoComplete,_disabled:this._disabled,_error:this._error,_hideLabel:this._hideLabel,_hint:this._hint,_icon:this._icon,_id:this._id,_label:this._label,_list:this._list,_max:this.state._max,_min:this.state._min,_name:this._name,_on:this.state._on,_readOnly:this._readOnly,_required:this._required,_smartButton:this._smartButton,_step:this._step,_tabIndex:this._tabIndex,_touched:this._touched,_type:this._type,_value:this.state._value},e("span",{slot:"label"},t?e("slot",{name:"expert"}):s?e("slot",null):this.state._label)))}valueAsIsoDate(t,e){const i=null!=t?t:e;if("string"==typeof i)return i;if("object"==typeof i&&i instanceof Date)switch(this._type){case"date":return`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}`;case"datetime-local":return`${i.getFullYear()}-${i.getMonth()+1}-${i.getDate()}T${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`;case"month":return`${i.getFullYear()}-${i.getMonth()+1}`;case"time":return void 0===this._step||"string"==typeof this._step&&"60"===this._step||"number"==typeof this._step&&60===this._step?`${i.getHours()}:${i.getMinutes()}`:`${i.getHours()}:${i.getMinutes()}:${i.getSeconds()}`;case"week":throw new Error("Auto convert to week is not supported!")}return null===t?null:void 0}validateDateString(t){switch(this._type){case"date":return r.isoDateRegex.test(t);case"datetime-local":return r.isoLocalDateTimeRegex.test(t);case"month":return r.isoMonthRegex.test(t);case"time":return r.isoTimeRegex.test(t);case"week":return r.isoWeekRegex.test(t)}}validateLabel(t){a(this,t)}validateMax(t){n(this,"_max",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t,"date"===this._type||"month"===this._type||"datetime-local"===this._type?r.DEFAULT_MAX_DATE:void 0))}validateMin(t){n(this,"_min",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t))}validateOn(t){d(this,"_on",Object.assign(Object.assign({},t),{onChange:(e,i)=>{!!i!=!!this._value&&(this._value=i),(null==t?void 0:t.onChange)&&t.onChange(e,i)}}))}validateValue(t){n(this,"_value",(t=>null==t||this.validateDateString(t)),new Set(["Iso8601","Date"]),this.valueAsIsoDate(t))}componentWillLoad(){this.validateLabel(this._label),this.validateMax(this._max),this.validateMin(this._min),this.validateOn(this._on),this.validateValue(this._value)}get host(){return s(this)}static get watchers(){return{_label:["validateLabel"],_max:["validateMax"],_min:["validateMin"],_on:["validateOn"],_value:["validateValue"]}}};r.DEFAULT_MAX_DATE=new Date(9999,11,31,23,59,59),r.isoDateRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])/,r.isoLocalDateTimeRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])[T ][0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,r.isoMonthRegex=/^\d{4}-([0]\d|1[0-2])/,r.isoTimeRegex=/^[0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,r.isoWeekRegex=/^\d{4}-W(?:[0-4]\d|5[0-3])$/;export{r as kol_input_date};
@@ -1 +1 @@
1
- {"version":3,"names":["KolInputDate","this","catchRef","ref","propagateFocus","host","render","h","Host","_accessKey","_alert","_autoComplete","_disabled","_error","_hideLabel","_hint","_icon","_id","_list","_max","state","_min","_name","_on","_readOnly","_required","_smartButton","_step","_tabIndex","_touched","_type","_value","valueAsIsoDate","value","defaultValue","v","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","Error","validateDateString","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","validateOn","setState","Object","assign","onChange","e","validateMax","watchValidator","Set","DEFAULT_MAX_DATE","validateMin","validateValue","componentWillLoad"],"sources":["./src/components/input-date/component.tsx"],"sourcesContent":["import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { setState, watchValidator } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-date',\n\tshadow: false,\n})\nexport class KolInputDate implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputDateElement;\n\tprivate ref?: HTMLKolInputNumberElement;\n\n\tprivate static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\t// test: https://regex101.com/r/NTVh4L/1\n\tprivate static readonly isoDateRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])/;\n\tprivate static readonly isoLocalDateTimeRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])[T ][0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoMonthRegex = /^\\d{4}-([0]\\d|1[0-2])/;\n\tprivate static readonly isoTimeRegex = /^[0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoWeekRegex = /^\\d{4}-W(?:[0-4]\\d|5[0-3])$/;\n\n\tprivate readonly catchRef = (ref?: HTMLKolInputNumberElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input-number\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_alert={this._alert}\n\t\t\t\t\t_autoComplete={this._autoComplete}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_error={this._error}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_hint={this._hint}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_list={this._list}\n\t\t\t\t\t_max={this.state._max}\n\t\t\t\t\t_min={this.state._min}\n\t\t\t\t\t_name={this._name}\n\t\t\t\t\t_on={this.state._on}\n\t\t\t\t\t_readOnly={this._readOnly}\n\t\t\t\t\t_required={this._required}\n\t\t\t\t\t_smartButton={this._smartButton}\n\t\t\t\t\t_step={this._step}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_touched={this._touched}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this.state._value}\n\t\t\t\t>\n\t\t\t\t\t<slot />\n\t\t\t\t</kol-input-number>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: 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 Datumswert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Datumswert an.\n\t */\n\t@Prop() public _min?: Iso8601 | Date;\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 * 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 dieses Input hat.\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 Typ des Eingabefeldes an.\n\t */\n\t@Prop() public _type: InputDateType = 'date';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: Iso8601 | Date | null;\n\n\t@State() public state: States = {};\n\n\tprivate valueAsIsoDate(value?: Iso8601 | Date | null, defaultValue?: Date): Iso8601 | null | undefined {\n\t\tconst v: Iso8601 | Date | undefined = value ?? defaultValue;\n\t\tif (typeof v === 'string') {\n\t\t\treturn v;\n\t\t}\n\t\tif (typeof v === 'object' && v instanceof Date) {\n\t\t\tswitch (this._type) {\n\t\t\t\tcase 'date':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}`;\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}T${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\tcase 'month':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}`;\n\t\t\t\tcase 'time':\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#using_the_step_attribute\n\t\t\t\t\tif (this._step === undefined || (typeof this._step === 'string' && this._step === '60') || (typeof this._step === 'number' && this._step === 60)) {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\t\t}\n\t\t\t\tcase 'week':\n\t\t\t\t\tthrow new Error('Auto convert to week is not supported!');\n\t\t\t}\n\t\t}\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate validateDateString(value: Iso8601): boolean {\n\t\tswitch (this._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn KolInputDate.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn KolInputDate.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn KolInputDate.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn KolInputDate.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn KolInputDate.isoWeekRegex.test(value);\n\t\t}\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this, '_on', {\n\t\t\t...value,\n\t\t\tonChange: (e: Event, v: unknown) => {\n\t\t\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\t\t\tif (!!v !== !!this._value) {\n\t\t\t\t\tthis._value = v as Iso8601;\n\t\t\t\t}\n\n\t\t\t\tif (value?.onChange) {\n\t\t\t\t\tvalue.onChange(e, v);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_max',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value, this._type === 'date' || this._type === 'month' || this._type === 'datetime-local' ? KolInputDate.DEFAULT_MAX_DATE : undefined)\n\t\t);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_min',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_value',\n\t\t\t(value): boolean => value === undefined || value === null || this.validateDateString(value),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOn(this._on);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateMin(this._min);\n\t\tthis.validateValue(this._value);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["KolInputDate","this","catchRef","ref","propagateFocus","host","_label","render","showExpertSlot","state","showDefaultSlot","h","Host","_accessKey","_alert","_autoComplete","_disabled","_error","_hideLabel","_hint","_icon","_id","_list","_max","_min","_name","_on","_readOnly","_required","_smartButton","_step","_tabIndex","_touched","_type","_value","slot","name","valueAsIsoDate","value","defaultValue","v","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","Error","validateDateString","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","validateLabel","validateMax","watchValidator","Set","DEFAULT_MAX_DATE","validateMin","validateOn","setState","Object","assign","onChange","e","validateValue","componentWillLoad"],"sources":["./src/components/input-date/component.tsx"],"sourcesContent":["import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { setState, watchValidator } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { ComponentApi, States } from './types';\nimport { validateLabel } from '../../types/props';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-date',\n\tshadow: false,\n})\nexport class KolInputDate implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputDateElement;\n\tprivate ref?: HTMLKolInputNumberElement;\n\n\tprivate static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\t// test: https://regex101.com/r/NTVh4L/1\n\tprivate static readonly isoDateRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])/;\n\tprivate static readonly isoLocalDateTimeRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])[T ][0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoMonthRegex = /^\\d{4}-([0]\\d|1[0-2])/;\n\tprivate static readonly isoTimeRegex = /^[0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoWeekRegex = /^\\d{4}-W(?:[0-4]\\d|5[0-3])$/;\n\n\tprivate readonly catchRef = (ref?: HTMLKolInputNumberElement) => {\n\t\tthis.ref = ref;\n\t\tpropagateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\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-number\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_alert={this._alert}\n\t\t\t\t\t_autoComplete={this._autoComplete}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_error={this._error}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_hint={this._hint}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_label={this._label}\n\t\t\t\t\t_list={this._list}\n\t\t\t\t\t_max={this.state._max}\n\t\t\t\t\t_min={this.state._min}\n\t\t\t\t\t_name={this._name}\n\t\t\t\t\t_on={this.state._on}\n\t\t\t\t\t_readOnly={this._readOnly}\n\t\t\t\t\t_required={this._required}\n\t\t\t\t\t_smartButton={this._smartButton}\n\t\t\t\t\t_step={this._step}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_touched={this._touched}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this.state._value}\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</kol-input-number>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Das Label dient der Beschriftung unterschiedlicher Elemente.\n\t * - Button -> label text\n\t * - Heading -> headline text\n\t * - Input, Select und Textarea -> label text\n\t * - Summary -> summary text\n\t * - Table -> caption text\n\t * - etc.\n\t *\n\t * Das Label ist häufig ein Pflichtattribut und kann leer gesetzt werden,\n\t * wenn man das Label mittels dem Expert-Slot überschreiben will.\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 Datumswert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Datumswert an.\n\t */\n\t@Prop() public _min?: Iso8601 | Date;\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 * 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 dieses Input hat.\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 Typ des Eingabefeldes an.\n\t */\n\t@Prop() public _type: InputDateType = 'date';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop({ mutable: true }) public _value?: Iso8601 | Date | null;\n\n\t@State() public state: States = {\n\t\t_label: '…', // ⚠ required\n\t};\n\n\tprivate valueAsIsoDate(value?: Iso8601 | Date | null, defaultValue?: Date): Iso8601 | null | undefined {\n\t\tconst v: Iso8601 | Date | undefined = value ?? defaultValue;\n\t\tif (typeof v === 'string') {\n\t\t\treturn v;\n\t\t}\n\t\tif (typeof v === 'object' && v instanceof Date) {\n\t\t\tswitch (this._type) {\n\t\t\t\tcase 'date':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}`;\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}T${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\tcase 'month':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}`;\n\t\t\t\tcase 'time':\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#using_the_step_attribute\n\t\t\t\t\tif (this._step === undefined || (typeof this._step === 'string' && this._step === '60') || (typeof this._step === 'number' && this._step === 60)) {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\t\t}\n\t\t\t\tcase 'week':\n\t\t\t\t\tthrow new Error('Auto convert to week is not supported!');\n\t\t\t}\n\t\t}\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate validateDateString(value: Iso8601): boolean {\n\t\tswitch (this._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn KolInputDate.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn KolInputDate.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn KolInputDate.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn KolInputDate.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn KolInputDate.isoWeekRegex.test(value);\n\t\t}\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: string): void {\n\t\tvalidateLabel(this, value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_max',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value, this._type === 'date' || this._type === 'month' || this._type === 'datetime-local' ? KolInputDate.DEFAULT_MAX_DATE : undefined)\n\t\t);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_min',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this, '_on', {\n\t\t\t...value,\n\t\t\tonChange: (e: Event, v: unknown) => {\n\t\t\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\t\t\tif (!!v !== !!this._value) {\n\t\t\t\t\tthis._value = v as Iso8601;\n\t\t\t\t}\n\n\t\t\t\tif (value?.onChange) {\n\t\t\t\t\tvalue.onChange(e, v);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_value',\n\t\t\t(value): boolean => value === undefined || value === null || this.validateDateString(value),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis.validateLabel(this._label);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateMin(this._min);\n\t\tthis.validateOn(this._on);\n\t\tthis.validateValue(this._value);\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-50adf9a0.js";import{a as s}from"./reuse-3a02afb9.js";import{p as n}from"./controller-abdc8667.js";import{g as l}from"./controller-ca91917c.js";import{b as d}from"./prop.validators-2c20cdf8.js";import{I as o}from"./controller-3ae042db.js";import{n as r}from"./dev.utils-157f0499.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./index-f4596895.js";import"./controller-6f59f733.js";import"./controller-icon-8d8c747a.js";import"./icon-52e86ff8.js";const h=(t,e)=>{d(t,"_multiple",e)};class p extends o{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){d(this.component,"_multiple",t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}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}",c=class{render(){const{ariaDescribedBy:i}=l(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{email:!0},_alert:this.state._alert,_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,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},t("slot",null)),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,multiple:this.state._multiple,id:this.state._id,list:a?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,slot:"input",spellcheck:"false",type:"email",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?n({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._list=void 0,this._maxLength=void 0,this._multiple=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:r(),_hasValue:!1,_list:[]},this.controller=new p(this,"email",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)}validateList(t){this.controller.validateList(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){h(this,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"],_list:["validateList"],_maxLength:["validateMaxLength"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:u};export{c as kol_input_email};
4
+ import{h as t,H as e,r as i,g as a}from"./index-34c3d6f8.js";import{n as s}from"./dev.utils-157f0499.js";import{a as l}from"./reuse-3a02afb9.js";import{p as n}from"./controller-abdc8667.js";import{g as d}from"./controller-e02d4577.js";import{b as o}from"./prop.validators-2c20cdf8.js";import{I as r}from"./controller-3f613951.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./label-58f2333f.js";import"./index-f4596895.js";import"./controller-4b599938.js";import"./controller-icon-1255b762.js";import"./icon-52e86ff8.js";const h=(t,e)=>{o(t,"_multiple",e)};class p extends r{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){o(this.component,"_multiple",t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}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}",c=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:"email",_alert:this.state._alert,_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,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,multiple:this.state._multiple,id:this.state._id,list:a?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,slot:"input",spellcheck:"false",type:"email",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?n({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._maxLength=void 0,this._multiple=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",_hasValue:!1,_id:s(),_label:"…",_list:[]},this.controller=new p(this,"email",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)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){h(this,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"],_list:["validateList"],_maxLength:["validateMaxLength"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:u};export{c as kol_input_email};
@@ -1 +1 @@
1
- {"version":3,"names":["validateMultiple","component","value","watchBoolean","InputEmailController","InputTextEmailController","constructor","name","host","super","this","componentWillLoad","_multiple","defaultStyleCss","KolInputEmail","render","ariaDescribedBy","getRenderStates","state","hasList","Array","isArray","_list","length","h","Host","class","_hasValue","email","_alert","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","multiple","id","list","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hostRef","propagateFocus","event","code","propagateSubmitEventToForm","form","onChange","nonce","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateTabIndex","validateTouched","validateValue","addValueChangeListener","v"],"sources":["./src/types/props/multiple.ts","./src/components/input-email/controller.ts","./src/components/input-email/style.css?tag=kol-input-email&mode=default&encapsulation=shadow","./src/components/input-email/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Schlatet das Eingabefeld um, sodass es mehrere Eingaben akzeptiert.\n */\n/** en\n * Makes the input accept multiple inputs.\n */\nexport type PropMultiple = {\n\tmultiple: boolean;\n};\n\n/* validator */\nexport const validateMultiple = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_multiple', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { InputTextEmailController } from '../input-text/controller';\nimport { Props, Watches } from './types';\n\nexport class InputEmailController extends InputTextEmailController 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 validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateMultiple(this.component._multiple);\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';\n\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { ComponentApi, States } from './types';\nimport { validateMultiple } from '../../types/props';\nimport { nonce } from '../../utils/dev.utils';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-email',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputEmail implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputEmailElement;\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\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\temail: true,\n\t\t\t\t\t}}\n\t\t\t\t\t_alert={this.state._alert}\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\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</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\tmultiple={this.state._multiple}\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\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=\"email\"\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: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man maximal eingeben kann.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\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üfpattern 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 dieses Input hat.\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_hasValue: false,\n\t\t_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputEmailController(this, 'email', 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('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tvalidateMultiple(this, 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@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":["validateMultiple","component","value","watchBoolean","InputEmailController","InputTextEmailController","constructor","name","host","super","this","componentWillLoad","_multiple","defaultStyleCss","KolInputEmail","render","ariaDescribedBy","getRenderStates","state","hasList","Array","isArray","_list","length","showExpertSlot","_label","showDefaultSlot","h","Host","class","_hasValue","_alert","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","multiple","id","list","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hostRef","propagateFocus","event","code","propagateSubmitEventToForm","form","onChange","nonce","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateTabIndex","validateTouched","validateValue","addValueChangeListener","v"],"sources":["./src/types/props/multiple.ts","./src/components/input-email/controller.ts","./src/components/input-email/style.css?tag=kol-input-email&mode=default&encapsulation=shadow","./src/components/input-email/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\n/** de\n * Schlatet das Eingabefeld um, sodass es mehrere Eingaben akzeptiert.\n */\n/** en\n * Makes the input accept multiple inputs.\n */\nexport type PropMultiple = {\n\tmultiple: boolean;\n};\n\n/* validator */\nexport const validateMultiple = (component: Generic.Element.Component, value?: boolean): void => {\n\twatchBoolean(component, '_multiple', value);\n};\n","import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\nimport { InputTextEmailController } from '../input-text/controller';\nimport { Props, Watches } from './types';\n\nexport class InputEmailController extends InputTextEmailController 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 validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateMultiple(this.component._multiple);\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';\n\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { validateMultiple } from '../../types/props';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-email',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputEmail implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputEmailElement;\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=\"email\"\n\t\t\t\t\t_alert={this.state._alert}\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\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\tmultiple={this.state._multiple}\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\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\ttype=\"email\"\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: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\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 * Setzt das Feld in einen inaktiven Zustand, in dem es keine Interaktion erlaubt.\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 * Versteckt das sichtbare Label des Elements.\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 * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Das Label dient der Beschriftung unterschiedlicher Elemente.\n\t * - Button -> label text\n\t * - Heading -> headline text\n\t * - Input, Select und Textarea -> label text\n\t * - Summary -> summary text\n\t * - Table -> caption text\n\t * - etc.\n\t *\n\t * Das Label ist häufig ein Pflichtattribut und kann leer gesetzt werden,\n\t * wenn man das Label mittels dem Expert-Slot überschreiben will.\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<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man maximal eingeben kann.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\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üfpattern 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 dieses Input hat.\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_hasValue: false,\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 InputEmailController(this, 'email', 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('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tvalidateMultiple(this, 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@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,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-50adf9a0.js";import{a as s}from"./reuse-3a02afb9.js";import{g as n}from"./controller-ca91917c.js";import{w as l,b as o}from"./prop.validators-2c20cdf8.js";import{I as d}from"./controller-icon-8d8c747a.js";import{n as r}from"./dev.utils-157f0499.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./index-f4596895.js";import"./icon-52e86ff8.js";class p extends d{constructor(t,e,i){super(t,e,i),this.component=t}validateAccept(t){l(this.component,"_accept",t)}validateMultiple(t){o(this.component,"_multiple",t)}validateRequired(t){o(this.component,"_required",t)}validateValue(t){l(this.component,"_value",t),this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad(),this.validateAccept(this.component._accept),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),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}label input[type='file']::-webkit-file-upload-button{display:none}label input[type='file']:before{content:'Datei auswählen'}label input[multiple]:before{content:'Dateien auswählen'}div.input{cursor:pointer}",h=class{render(){const{ariaDescribedBy:i}=n(this.state);return t(e,null,t("kol-input",{class:{file:!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,_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"},t("slot",null)),t("input",Object.assign({ref:this.catchRef,title:"",accept:this.state._accept,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onChange=t=>{var e;this.ref instanceof HTMLInputElement&&"file"===this.ref.type&&"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&this.state._on.onChange(t,this.ref.files)},this._accept=void 0,this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_id:r()},this.controller=new p(this,"file",this.host)}validateAccept(t){this.controller.validateAccept(t)}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)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateMultiple(t){this.controller.validateMultiple(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateRequired(t){this.controller.validateRequired(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()}get host(){return a(this)}static get watchers(){return{_accept:["validateAccept"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};h.style={default:u};export{h as kol_input_file};
4
+ import{h as t,H as e,r as i,g as a}from"./index-34c3d6f8.js";import{n as s}from"./dev.utils-157f0499.js";import{a as n}from"./reuse-3a02afb9.js";import{g as l}from"./controller-e02d4577.js";import{w as o,b as d}from"./prop.validators-2c20cdf8.js";import{I as r}from"./controller-icon-1255b762.js";import"./a11y.tipps-2e27f8e6.js";import"./tab-index-2de507bb.js";import"./label-58f2333f.js";import"./index-f4596895.js";import"./icon-52e86ff8.js";class p extends r{constructor(t,e,i){super(t,e,i),this.component=t}validateAccept(t){o(this.component,"_accept",t)}validateMultiple(t){d(this.component,"_multiple",t)}validateRequired(t){d(this.component,"_required",t)}validateValue(t){o(this.component,"_value",t),this.setFormAssociatedValue(this.component._value)}componentWillLoad(){super.componentWillLoad(),this.validateAccept(this.component._accept),this.validateMultiple(this.component._multiple),this.validateRequired(this.component._required),this.validateValue(this.component._value)}}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}label input[type='file']::-webkit-file-upload-button{display:none}label input[type='file']:before{content:'Datei auswählen'}label input[multiple]:before{content:'Dateien auswählen'}div.input{cursor:pointer}",u=class{render(){const{ariaDescribedBy:i}=l(this.state),a=""===this.state._label,o="…"===this.state._label;return t(e,null,t("kol-input",{class:{file:!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,_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"},a?t("slot",{name:"expert"}):o?t("slot",null):this.state._label),t("input",Object.assign({ref:this.catchRef,title:"",accept:this.state._accept,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onChange=t=>{var e;this.ref instanceof HTMLInputElement&&"file"===this.ref.type&&"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&this.state._on.onChange(t,this.ref.files)},this._accept=void 0,this._accessKey=void 0,this._alert=!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._multiple=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_id:s(),_label:"…"},this.controller=new p(this,"file",this.host)}validateAccept(t){this.controller.validateAccept(t)}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)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateMultiple(t){this.controller.validateMultiple(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateRequired(t){this.controller.validateRequired(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()}get host(){return a(this)}static get watchers(){return{_accept:["validateAccept"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};u.style={default:h};export{u as kol_input_file};