@public-ui/components 1.6.0-rc.24 → 1.6.0-rc.25

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 (905) hide show
  1. package/custom-elements.json +162 -162
  2. package/dist/cjs/{a11y.tipps-410ee075.js → a11y.tipps-1ae09b29.js} +1 -1
  3. package/dist/cjs/{a11y.tipps-410ee075.js.map → a11y.tipps-1ae09b29.js.map} +1 -1
  4. package/dist/cjs/align-933b9f3b.js +4 -0
  5. package/dist/cjs/align-933b9f3b.js.map +1 -0
  6. package/dist/cjs/{align-f2e5e55b.js → alignment-bc8c7103.js} +1 -1
  7. package/dist/cjs/alignment-bc8c7103.js.map +1 -0
  8. package/dist/cjs/alternative-button-link-role-e9611969.js +4 -0
  9. package/dist/cjs/alternative-button-link-role-e9611969.js.map +1 -0
  10. package/dist/cjs/{app-globals-7e8b369e.js → app-globals-c2fa3f3b.js} +1 -1
  11. package/dist/cjs/{app-globals-7e8b369e.js.map → app-globals-c2fa3f3b.js.map} +1 -1
  12. package/dist/cjs/aria-selected-c8a48388.js +4 -0
  13. package/dist/cjs/aria-selected-c8a48388.js.map +1 -0
  14. package/dist/cjs/{associated.controller-6beebfb6.js → associated.controller-1c65b6fb.js} +1 -1
  15. package/dist/cjs/associated.controller-1c65b6fb.js.map +1 -0
  16. package/dist/cjs/button-type-e393af65.js +4 -0
  17. package/dist/cjs/button-type-e393af65.js.map +1 -0
  18. package/dist/cjs/button-variant-7f5d0b45.js +4 -0
  19. package/dist/cjs/button-variant-7f5d0b45.js.map +1 -0
  20. package/dist/cjs/{color-513d5264.js → color-61874991.js} +1 -1
  21. package/dist/cjs/{color-513d5264.js.map → color-61874991.js.map} +1 -1
  22. package/dist/cjs/{controller-3226fe83.js → controller-41825902.js} +1 -1
  23. package/dist/cjs/{controller-3226fe83.js.map → controller-41825902.js.map} +1 -1
  24. package/dist/cjs/{controller-15b2c983.js → controller-4599f3a8.js} +1 -1
  25. package/dist/cjs/{controller-15b2c983.js.map → controller-4599f3a8.js.map} +1 -1
  26. package/dist/cjs/{controller-d8e002ab.js → controller-4f13a920.js} +1 -1
  27. package/dist/cjs/{controller-d8e002ab.js.map → controller-4f13a920.js.map} +1 -1
  28. package/dist/cjs/{controller-f809f265.js → controller-88518751.js} +1 -1
  29. package/dist/cjs/{controller-f809f265.js.map → controller-88518751.js.map} +1 -1
  30. package/dist/cjs/{controller-52018655.js → controller-cd5d3127.js} +1 -1
  31. package/dist/cjs/controller-cd5d3127.js.map +1 -0
  32. package/dist/cjs/{controller-icon-a7345929.js → controller-icon-9e415963.js} +1 -1
  33. package/dist/cjs/{controller-icon-a7345929.js.map → controller-icon-9e415963.js.map} +1 -1
  34. package/dist/cjs/custom-class-47d7e19b.js +4 -0
  35. package/dist/cjs/custom-class-47d7e19b.js.map +1 -0
  36. package/dist/cjs/{dev.utils-d6ba8e97.js → dev.utils-8c8d0972.js} +1 -1
  37. package/dist/cjs/{dev.utils-d6ba8e97.js.map → dev.utils-8c8d0972.js.map} +1 -1
  38. package/dist/cjs/{devtools-b4cc6600.js → devtools-4f210fda.js} +1 -1
  39. package/dist/cjs/{devtools-b4cc6600.js.map → devtools-4f210fda.js.map} +1 -1
  40. package/dist/cjs/has-closer-2ac86bba.js +4 -0
  41. package/dist/cjs/{has-closer-ba283450.js.map → has-closer-2ac86bba.js.map} +1 -1
  42. package/dist/cjs/hide-label-050ec47a.js +4 -0
  43. package/dist/cjs/{hide-label-edf70971.js.map → hide-label-050ec47a.js.map} +1 -1
  44. package/dist/cjs/{i18n-ea77a601.js → i18n-e437fc0f.js} +1 -1
  45. package/dist/cjs/{i18n-ea77a601.js.map → i18n-e437fc0f.js.map} +1 -1
  46. package/dist/cjs/{icon-ccb23476.js → icon-c86632b9.js} +1 -1
  47. package/dist/cjs/icon-c86632b9.js.map +1 -0
  48. package/dist/cjs/image-source-195f6e3f.js +4 -0
  49. package/dist/cjs/{image-source-47ee14b1.js.map → image-source-195f6e3f.js.map} +1 -1
  50. package/dist/cjs/index.cjs.js +1 -1
  51. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-alert-wc_2.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-alert-wc_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  58. package/dist/cjs/kol-avatar-wc.cjs.entry.js +1 -1
  59. package/dist/cjs/kol-avatar-wc.cjs.entry.js.map +1 -1
  60. package/dist/cjs/kol-avatar.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-button-group-wc.cjs.entry.js.map +1 -1
  66. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  68. package/dist/cjs/kol-button-wc_2.cjs.entry.js +1 -1
  69. package/dist/cjs/kol-button-wc_2.cjs.entry.js.map +1 -1
  70. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-form.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-form.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  78. package/dist/cjs/kol-icon.cjs.entry.js +1 -1
  79. package/dist/cjs/kol-icon.cjs.entry.js.map +1 -1
  80. package/dist/cjs/kol-image.cjs.entry.js +1 -1
  81. package/dist/cjs/kol-image.cjs.entry.js.map +1 -1
  82. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-input-adapter-leanup.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  85. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  86. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  87. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  88. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  89. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  90. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  91. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  92. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  93. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  94. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  95. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  96. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  97. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  98. package/dist/cjs/kol-input-radio-group.cjs.entry.js +1 -1
  99. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  100. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  101. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  102. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  103. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  104. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  105. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  106. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  107. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  108. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  109. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  110. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/kol-link-wc.cjs.entry.js +1 -1
  112. package/dist/cjs/kol-link-wc.cjs.entry.js.map +1 -1
  113. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  114. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  115. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  116. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  117. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  118. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  119. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  120. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  121. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  122. package/dist/cjs/kol-popover.cjs.entry.js +1 -1
  123. package/dist/cjs/kol-popover.cjs.entry.js.map +1 -1
  124. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  125. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  126. package/dist/cjs/kol-quote.cjs.entry.js +1 -1
  127. package/dist/cjs/kol-quote.cjs.entry.js.map +1 -1
  128. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  129. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  130. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  131. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  132. package/dist/cjs/kol-span-wc.cjs.entry.js +1 -1
  133. package/dist/cjs/kol-span-wc.cjs.entry.js.map +1 -1
  134. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  135. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  136. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  137. package/dist/cjs/kol-split-button.cjs.entry.js +1 -1
  138. package/dist/cjs/kol-split-button.cjs.entry.js.map +1 -1
  139. package/dist/cjs/kol-symbol.cjs.entry.js +1 -1
  140. package/dist/cjs/kol-symbol.cjs.entry.js.map +1 -1
  141. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  142. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  143. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  144. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  145. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  146. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  147. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  148. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  149. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  150. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  151. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  152. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  153. package/dist/cjs/kolibri.cjs.js +1 -1
  154. package/dist/cjs/{label-dea575c5.js → label-06fe06a4.js} +1 -1
  155. package/dist/cjs/{label-dea575c5.js.map → label-06fe06a4.js.map} +1 -1
  156. package/dist/cjs/loader.cjs.js +1 -1
  157. package/dist/cjs/{prop.validators-d3b07c9b.js → prop.validators-25e9b642.js} +1 -1
  158. package/dist/cjs/{prop.validators-d3b07c9b.js.map → prop.validators-25e9b642.js.map} +1 -1
  159. package/dist/cjs/rows-42fe9ce5.js +4 -0
  160. package/dist/cjs/{rows-435bcf3a.js.map → rows-42fe9ce5.js.map} +1 -1
  161. package/dist/cjs/show-a89c1958.js +4 -0
  162. package/dist/cjs/{show-e15f52b3.js.map → show-a89c1958.js.map} +1 -1
  163. package/dist/cjs/{suggestions-bca02582.js → suggestions-278663f9.js} +1 -1
  164. package/dist/cjs/{suggestions-bca02582.js.map → suggestions-278663f9.js.map} +1 -1
  165. package/dist/cjs/{tab-index-0767b320.js → tab-index-3ed70cf5.js} +1 -1
  166. package/dist/cjs/{tab-index-0767b320.js.map → tab-index-3ed70cf5.js.map} +1 -1
  167. package/dist/cjs/tooltip-align-92b20352.js +4 -0
  168. package/dist/cjs/tooltip-align-92b20352.js.map +1 -0
  169. package/dist/cjs/{validation-4106a2ad.js → validation-22d217d1.js} +1 -1
  170. package/dist/cjs/{validation-4106a2ad.js.map → validation-22d217d1.js.map} +1 -1
  171. package/dist/cjs/{validation-634af29b.js → validation-be2dd2b9.js} +1 -1
  172. package/dist/cjs/{validation-634af29b.js.map → validation-be2dd2b9.js.map} +1 -1
  173. package/dist/components/align.js +1 -1
  174. package/dist/components/align.js.map +1 -1
  175. package/dist/components/{tab-index.js → alternative-button-link-role.js} +1 -1
  176. package/dist/components/alternative-button-link-role.js.map +1 -0
  177. package/dist/components/aria-selected.js +1 -1
  178. package/dist/components/aria-selected.js.map +1 -1
  179. package/dist/components/color.js +1 -1
  180. package/dist/components/component.js +1 -1
  181. package/dist/components/component.js.map +1 -1
  182. package/dist/components/component10.js.map +1 -1
  183. package/dist/components/component11.js +1 -1
  184. package/dist/components/component12.js.map +1 -1
  185. package/dist/components/component13.js +1 -1
  186. package/dist/components/component13.js.map +1 -1
  187. package/dist/components/component14.js +1 -1
  188. package/dist/components/component14.js.map +1 -1
  189. package/dist/components/component15.js +1 -1
  190. package/dist/components/component15.js.map +1 -1
  191. package/dist/components/component16.js +1 -1
  192. package/dist/components/component16.js.map +1 -1
  193. package/dist/components/component2.js +1 -1
  194. package/dist/components/component2.js.map +1 -1
  195. package/dist/components/component3.js +1 -1
  196. package/dist/components/component3.js.map +1 -1
  197. package/dist/components/component4.js +1 -1
  198. package/dist/components/component4.js.map +1 -1
  199. package/dist/components/component5.js +1 -1
  200. package/dist/components/component5.js.map +1 -1
  201. package/dist/components/component6.js +1 -1
  202. package/dist/components/component6.js.map +1 -1
  203. package/dist/components/component7.js.map +1 -1
  204. package/dist/components/component8.js +1 -1
  205. package/dist/components/component8.js.map +1 -1
  206. package/dist/components/component9.js +1 -1
  207. package/dist/components/component9.js.map +1 -1
  208. package/dist/components/controller-icon.js +1 -1
  209. package/dist/components/controller.js +1 -1
  210. package/dist/components/controller.js.map +1 -1
  211. package/dist/components/controller2.js +1 -1
  212. package/dist/components/controller2.js.map +1 -1
  213. package/dist/components/controller4.js +1 -1
  214. package/dist/components/devtools.js +1 -1
  215. package/dist/components/has-closer.js +1 -1
  216. package/dist/components/image-source.js +1 -1
  217. package/dist/components/kol-abbr.js +1 -1
  218. package/dist/components/kol-abbr.js.map +1 -1
  219. package/dist/components/kol-accordion.js +1 -1
  220. package/dist/components/kol-accordion.js.map +1 -1
  221. package/dist/components/kol-avatar.js.map +1 -1
  222. package/dist/components/kol-breadcrumb.js +1 -1
  223. package/dist/components/kol-breadcrumb.js.map +1 -1
  224. package/dist/components/kol-button-group.js.map +1 -1
  225. package/dist/components/kol-button-link.js +1 -1
  226. package/dist/components/kol-button-link.js.map +1 -1
  227. package/dist/components/kol-card.js +1 -1
  228. package/dist/components/kol-card.js.map +1 -1
  229. package/dist/components/kol-details.js +1 -1
  230. package/dist/components/kol-details.js.map +1 -1
  231. package/dist/components/kol-form.js +1 -1
  232. package/dist/components/kol-form.js.map +1 -1
  233. package/dist/components/kol-heading.js.map +1 -1
  234. package/dist/components/kol-icon-font-awesome.js +1 -1
  235. package/dist/components/kol-icon-icofont.js +1 -1
  236. package/dist/components/kol-icon.js +1 -1
  237. package/dist/components/kol-image.js +1 -1
  238. package/dist/components/kol-image.js.map +1 -1
  239. package/dist/components/kol-input-adapter-leanup.js +1 -1
  240. package/dist/components/kol-input-checkbox.js +1 -1
  241. package/dist/components/kol-input-checkbox.js.map +1 -1
  242. package/dist/components/kol-input-color.js +1 -1
  243. package/dist/components/kol-input-color.js.map +1 -1
  244. package/dist/components/kol-input-date.js +1 -1
  245. package/dist/components/kol-input-date.js.map +1 -1
  246. package/dist/components/kol-input-email.js +1 -1
  247. package/dist/components/kol-input-email.js.map +1 -1
  248. package/dist/components/kol-input-file.js +1 -1
  249. package/dist/components/kol-input-file.js.map +1 -1
  250. package/dist/components/kol-input-number.js +1 -1
  251. package/dist/components/kol-input-number.js.map +1 -1
  252. package/dist/components/kol-input-password.js +1 -1
  253. package/dist/components/kol-input-password.js.map +1 -1
  254. package/dist/components/kol-input-radio-group.js +1 -1
  255. package/dist/components/kol-input-range.js +1 -1
  256. package/dist/components/kol-input-range.js.map +1 -1
  257. package/dist/components/kol-input-text.js +1 -1
  258. package/dist/components/kol-input-text.js.map +1 -1
  259. package/dist/components/kol-kolibri.js +1 -1
  260. package/dist/components/kol-kolibri.js.map +1 -1
  261. package/dist/components/kol-link-button.js +1 -1
  262. package/dist/components/kol-link-button.js.map +1 -1
  263. package/dist/components/kol-link-group.js +1 -1
  264. package/dist/components/kol-link-group.js.map +1 -1
  265. package/dist/components/kol-logo.js.map +1 -1
  266. package/dist/components/kol-modal.js +1 -1
  267. package/dist/components/kol-modal.js.map +1 -1
  268. package/dist/components/kol-nav.js +1 -1
  269. package/dist/components/kol-nav.js.map +1 -1
  270. package/dist/components/kol-popover.js +1 -1
  271. package/dist/components/kol-popover.js.map +1 -1
  272. package/dist/components/kol-progress.js +1 -1
  273. package/dist/components/kol-progress.js.map +1 -1
  274. package/dist/components/kol-quote.js +1 -1
  275. package/dist/components/kol-quote.js.map +1 -1
  276. package/dist/components/kol-skip-nav.js +1 -1
  277. package/dist/components/kol-skip-nav.js.map +1 -1
  278. package/dist/components/kol-span-wc.js +1 -1
  279. package/dist/components/kol-span.js +1 -1
  280. package/dist/components/kol-span.js.map +1 -1
  281. package/dist/components/kol-spin.js.map +1 -1
  282. package/dist/components/kol-split-button.js +1 -1
  283. package/dist/components/kol-split-button.js.map +1 -1
  284. package/dist/components/kol-symbol.js +1 -1
  285. package/dist/components/kol-symbol.js.map +1 -1
  286. package/dist/components/kol-table.js +1 -1
  287. package/dist/components/kol-table.js.map +1 -1
  288. package/dist/components/kol-tabs.js +1 -1
  289. package/dist/components/kol-tabs.js.map +1 -1
  290. package/dist/components/kol-textarea.js +1 -1
  291. package/dist/components/kol-textarea.js.map +1 -1
  292. package/dist/components/kol-toast.js +1 -1
  293. package/dist/components/kol-toast.js.map +1 -1
  294. package/dist/components/kol-tooltip.js +1 -1
  295. package/dist/components/kol-version.js +1 -1
  296. package/dist/components/kol-version.js.map +1 -1
  297. package/dist/components/label.js +1 -1
  298. package/dist/components/prop.validators.js +1 -1
  299. package/dist/components/prop.validators.js.map +1 -1
  300. package/dist/components/shadow.js +1 -1
  301. package/dist/components/shadow.js.map +1 -1
  302. package/dist/components/shadow2.js +1 -1
  303. package/dist/components/shadow2.js.map +1 -1
  304. package/dist/components/shadow3.js +1 -1
  305. package/dist/components/shadow3.js.map +1 -1
  306. package/dist/components/show.js +1 -1
  307. package/dist/components/suggestions.js +1 -1
  308. package/dist/components/tooltip-align.js +4 -0
  309. package/dist/components/tooltip-align.js.map +1 -0
  310. package/dist/esm/{a11y.tipps-010cc7bb.js → a11y.tipps-3dbf06fc.js} +1 -1
  311. package/dist/esm/{a11y.tipps-010cc7bb.js.map → a11y.tipps-3dbf06fc.js.map} +1 -1
  312. package/dist/esm/align-770e1701.js +4 -0
  313. package/dist/esm/align-770e1701.js.map +1 -0
  314. package/dist/esm/{align-c8603a23.js → alignment-18ef41f0.js} +1 -1
  315. package/dist/esm/alignment-18ef41f0.js.map +1 -0
  316. package/dist/esm/alternative-button-link-role-dfbba37c.js +4 -0
  317. package/dist/esm/alternative-button-link-role-dfbba37c.js.map +1 -0
  318. package/dist/esm/app-globals-0c370b67.js +4 -0
  319. package/dist/esm/{app-globals-12365829.js.map → app-globals-0c370b67.js.map} +1 -1
  320. package/dist/esm/{aria-selected-6e7689ae.js → aria-selected-c5542038.js} +1 -1
  321. package/dist/esm/aria-selected-c5542038.js.map +1 -0
  322. package/dist/esm/{associated.controller-9d8da408.js → associated.controller-6c7440df.js} +1 -1
  323. package/dist/esm/associated.controller-6c7440df.js.map +1 -0
  324. package/dist/esm/button-type-a25d8975.js +4 -0
  325. package/dist/esm/button-type-a25d8975.js.map +1 -0
  326. package/dist/esm/button-variant-fbb48c03.js +4 -0
  327. package/dist/esm/button-variant-fbb48c03.js.map +1 -0
  328. package/dist/esm/{color-bee2a268.js → color-845e0378.js} +1 -1
  329. package/dist/esm/{color-bee2a268.js.map → color-845e0378.js.map} +1 -1
  330. package/dist/esm/{controller-f3db680c.js → controller-152cc0b9.js} +1 -1
  331. package/dist/esm/{controller-f3db680c.js.map → controller-152cc0b9.js.map} +1 -1
  332. package/dist/esm/{controller-76742dfc.js → controller-3788b559.js} +1 -1
  333. package/dist/esm/{controller-76742dfc.js.map → controller-3788b559.js.map} +1 -1
  334. package/dist/esm/{controller-108aa205.js → controller-ab167bf7.js} +1 -1
  335. package/dist/esm/{controller-108aa205.js.map → controller-ab167bf7.js.map} +1 -1
  336. package/dist/esm/{controller-dc2f0e5c.js → controller-d04db4dd.js} +1 -1
  337. package/dist/esm/{controller-dc2f0e5c.js.map → controller-d04db4dd.js.map} +1 -1
  338. package/dist/esm/{controller-3213f6ba.js → controller-f073ed22.js} +1 -1
  339. package/dist/esm/controller-f073ed22.js.map +1 -0
  340. package/dist/esm/{controller-icon-e6f72083.js → controller-icon-cfbc5bbf.js} +1 -1
  341. package/dist/esm/{controller-icon-e6f72083.js.map → controller-icon-cfbc5bbf.js.map} +1 -1
  342. package/dist/esm/custom-class-c9653859.js +4 -0
  343. package/dist/esm/custom-class-c9653859.js.map +1 -0
  344. package/dist/esm/{dev.utils-2f404ce5.js → dev.utils-1ee29ed1.js} +1 -1
  345. package/dist/esm/{dev.utils-2f404ce5.js.map → dev.utils-1ee29ed1.js.map} +1 -1
  346. package/dist/esm/{devtools-4e3e4963.js → devtools-67de7ff1.js} +1 -1
  347. package/dist/esm/{devtools-4e3e4963.js.map → devtools-67de7ff1.js.map} +1 -1
  348. package/dist/esm/{has-closer-e01aaeae.js → has-closer-49b6c8b7.js} +1 -1
  349. package/dist/esm/{has-closer-e01aaeae.js.map → has-closer-49b6c8b7.js.map} +1 -1
  350. package/dist/esm/{hide-label-c77474b5.js → hide-label-16112af9.js} +1 -1
  351. package/dist/esm/{hide-label-c77474b5.js.map → hide-label-16112af9.js.map} +1 -1
  352. package/dist/esm/{i18n-042ef6ee.js → i18n-53e49b2a.js} +1 -1
  353. package/dist/esm/{i18n-042ef6ee.js.map → i18n-53e49b2a.js.map} +1 -1
  354. package/dist/esm/{icon-a0bacdc8.js → icon-a7195182.js} +1 -1
  355. package/dist/esm/icon-a7195182.js.map +1 -0
  356. package/dist/esm/{image-source-abdd2521.js → image-source-d2f4a35e.js} +1 -1
  357. package/dist/esm/{image-source-abdd2521.js.map → image-source-d2f4a35e.js.map} +1 -1
  358. package/dist/esm/index.js +1 -1
  359. package/dist/esm/kol-abbr.entry.js +1 -1
  360. package/dist/esm/kol-abbr.entry.js.map +1 -1
  361. package/dist/esm/kol-accordion.entry.js +1 -1
  362. package/dist/esm/kol-accordion.entry.js.map +1 -1
  363. package/dist/esm/kol-alert-wc_2.entry.js +1 -1
  364. package/dist/esm/kol-alert-wc_2.entry.js.map +1 -1
  365. package/dist/esm/kol-alert.entry.js.map +1 -1
  366. package/dist/esm/kol-avatar-wc.entry.js +1 -1
  367. package/dist/esm/kol-avatar-wc.entry.js.map +1 -1
  368. package/dist/esm/kol-avatar.entry.js.map +1 -1
  369. package/dist/esm/kol-badge.entry.js +1 -1
  370. package/dist/esm/kol-badge.entry.js.map +1 -1
  371. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  372. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  373. package/dist/esm/kol-button-group-wc.entry.js.map +1 -1
  374. package/dist/esm/kol-button-group.entry.js.map +1 -1
  375. package/dist/esm/kol-button-link.entry.js.map +1 -1
  376. package/dist/esm/kol-button-wc_2.entry.js +1 -1
  377. package/dist/esm/kol-button-wc_2.entry.js.map +1 -1
  378. package/dist/esm/kol-button.entry.js.map +1 -1
  379. package/dist/esm/kol-card.entry.js +1 -1
  380. package/dist/esm/kol-card.entry.js.map +1 -1
  381. package/dist/esm/kol-details.entry.js +1 -1
  382. package/dist/esm/kol-details.entry.js.map +1 -1
  383. package/dist/esm/kol-form.entry.js +1 -1
  384. package/dist/esm/kol-form.entry.js.map +1 -1
  385. package/dist/esm/kol-heading.entry.js.map +1 -1
  386. package/dist/esm/kol-icon.entry.js +1 -1
  387. package/dist/esm/kol-icon.entry.js.map +1 -1
  388. package/dist/esm/kol-image.entry.js +1 -1
  389. package/dist/esm/kol-image.entry.js.map +1 -1
  390. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  391. package/dist/esm/kol-input-adapter-leanup.entry.js +1 -1
  392. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  393. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  394. package/dist/esm/kol-input-color.entry.js +1 -1
  395. package/dist/esm/kol-input-color.entry.js.map +1 -1
  396. package/dist/esm/kol-input-date.entry.js +1 -1
  397. package/dist/esm/kol-input-date.entry.js.map +1 -1
  398. package/dist/esm/kol-input-email.entry.js +1 -1
  399. package/dist/esm/kol-input-email.entry.js.map +1 -1
  400. package/dist/esm/kol-input-file.entry.js +1 -1
  401. package/dist/esm/kol-input-file.entry.js.map +1 -1
  402. package/dist/esm/kol-input-number.entry.js +1 -1
  403. package/dist/esm/kol-input-number.entry.js.map +1 -1
  404. package/dist/esm/kol-input-password.entry.js +1 -1
  405. package/dist/esm/kol-input-password.entry.js.map +1 -1
  406. package/dist/esm/kol-input-radio-group.entry.js +1 -1
  407. package/dist/esm/kol-input-radio.entry.js +1 -1
  408. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  409. package/dist/esm/kol-input-range.entry.js +1 -1
  410. package/dist/esm/kol-input-range.entry.js.map +1 -1
  411. package/dist/esm/kol-input-text.entry.js +1 -1
  412. package/dist/esm/kol-input-text.entry.js.map +1 -1
  413. package/dist/esm/kol-kolibri.entry.js +1 -1
  414. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  415. package/dist/esm/kol-link-button.entry.js +1 -1
  416. package/dist/esm/kol-link-button.entry.js.map +1 -1
  417. package/dist/esm/kol-link-group.entry.js +1 -1
  418. package/dist/esm/kol-link-group.entry.js.map +1 -1
  419. package/dist/esm/kol-link-wc.entry.js +1 -1
  420. package/dist/esm/kol-link-wc.entry.js.map +1 -1
  421. package/dist/esm/kol-link.entry.js.map +1 -1
  422. package/dist/esm/kol-logo.entry.js +1 -1
  423. package/dist/esm/kol-logo.entry.js.map +1 -1
  424. package/dist/esm/kol-modal.entry.js +1 -1
  425. package/dist/esm/kol-modal.entry.js.map +1 -1
  426. package/dist/esm/kol-nav.entry.js +1 -1
  427. package/dist/esm/kol-nav.entry.js.map +1 -1
  428. package/dist/esm/kol-pagination.entry.js +1 -1
  429. package/dist/esm/kol-pagination.entry.js.map +1 -1
  430. package/dist/esm/kol-popover.entry.js +1 -1
  431. package/dist/esm/kol-popover.entry.js.map +1 -1
  432. package/dist/esm/kol-progress.entry.js +1 -1
  433. package/dist/esm/kol-progress.entry.js.map +1 -1
  434. package/dist/esm/kol-quote.entry.js +1 -1
  435. package/dist/esm/kol-quote.entry.js.map +1 -1
  436. package/dist/esm/kol-select.entry.js +1 -1
  437. package/dist/esm/kol-select.entry.js.map +1 -1
  438. package/dist/esm/kol-skip-nav.entry.js +1 -1
  439. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  440. package/dist/esm/kol-span-wc.entry.js +1 -1
  441. package/dist/esm/kol-span-wc.entry.js.map +1 -1
  442. package/dist/esm/kol-span.entry.js.map +1 -1
  443. package/dist/esm/kol-spin.entry.js +1 -1
  444. package/dist/esm/kol-spin.entry.js.map +1 -1
  445. package/dist/esm/kol-split-button.entry.js +1 -1
  446. package/dist/esm/kol-split-button.entry.js.map +1 -1
  447. package/dist/esm/kol-symbol.entry.js +1 -1
  448. package/dist/esm/kol-symbol.entry.js.map +1 -1
  449. package/dist/esm/kol-table.entry.js +1 -1
  450. package/dist/esm/kol-table.entry.js.map +1 -1
  451. package/dist/esm/kol-tabs.entry.js +1 -1
  452. package/dist/esm/kol-tabs.entry.js.map +1 -1
  453. package/dist/esm/kol-textarea.entry.js +1 -1
  454. package/dist/esm/kol-textarea.entry.js.map +1 -1
  455. package/dist/esm/kol-toast.entry.js +1 -1
  456. package/dist/esm/kol-toast.entry.js.map +1 -1
  457. package/dist/esm/kol-tooltip.entry.js +1 -1
  458. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  459. package/dist/esm/kol-version.entry.js +1 -1
  460. package/dist/esm/kol-version.entry.js.map +1 -1
  461. package/dist/esm/kolibri.js +1 -1
  462. package/dist/esm/{label-8596593d.js → label-162d9b49.js} +1 -1
  463. package/dist/esm/{label-8596593d.js.map → label-162d9b49.js.map} +1 -1
  464. package/dist/esm/loader.js +1 -1
  465. package/dist/esm/{prop.validators-286b41b1.js → prop.validators-6cf6ed2d.js} +1 -1
  466. package/dist/esm/{prop.validators-286b41b1.js.map → prop.validators-6cf6ed2d.js.map} +1 -1
  467. package/dist/esm/{rows-ab605374.js → rows-c5b1e0bc.js} +1 -1
  468. package/dist/esm/{rows-ab605374.js.map → rows-c5b1e0bc.js.map} +1 -1
  469. package/dist/esm/{show-090f6bc3.js → show-a8f7aa56.js} +1 -1
  470. package/dist/esm/{show-090f6bc3.js.map → show-a8f7aa56.js.map} +1 -1
  471. package/dist/esm/{suggestions-3df3e5fd.js → suggestions-efa371a2.js} +1 -1
  472. package/dist/esm/{suggestions-3df3e5fd.js.map → suggestions-efa371a2.js.map} +1 -1
  473. package/dist/esm/{tab-index-a7766f42.js → tab-index-cda3bf60.js} +1 -1
  474. package/dist/esm/{tab-index-a7766f42.js.map → tab-index-cda3bf60.js.map} +1 -1
  475. package/dist/esm/tooltip-align-c2603081.js +4 -0
  476. package/dist/esm/tooltip-align-c2603081.js.map +1 -0
  477. package/dist/esm/{validation-46697821.js → validation-9d2bdef4.js} +1 -1
  478. package/dist/esm/{validation-46697821.js.map → validation-9d2bdef4.js.map} +1 -1
  479. package/dist/esm/validation-ad3aded3.js +4 -0
  480. package/dist/esm/{validation-5be5b0a8.js.map → validation-ad3aded3.js.map} +1 -1
  481. package/dist/kolibri/{a11y.tipps-010cc7bb.js → a11y.tipps-3dbf06fc.js} +1 -1
  482. package/dist/kolibri/align-770e1701.js +4 -0
  483. package/dist/kolibri/align-770e1701.js.map +1 -0
  484. package/dist/kolibri/alignment-18ef41f0.js +4 -0
  485. package/dist/kolibri/alignment-18ef41f0.js.map +1 -0
  486. package/dist/kolibri/{aria-current-78222a8a.js → alternative-button-link-role-dfbba37c.js} +1 -1
  487. package/dist/kolibri/alternative-button-link-role-dfbba37c.js.map +1 -0
  488. package/dist/kolibri/app-globals-0c370b67.js +4 -0
  489. package/dist/kolibri/aria-selected-c5542038.js +4 -0
  490. package/dist/kolibri/aria-selected-c5542038.js.map +1 -0
  491. package/dist/kolibri/{associated.controller-9d8da408.js → associated.controller-6c7440df.js} +1 -1
  492. package/dist/kolibri/associated.controller-6c7440df.js.map +1 -0
  493. package/dist/kolibri/button-type-a25d8975.js +4 -0
  494. package/dist/kolibri/button-type-a25d8975.js.map +1 -0
  495. package/dist/kolibri/button-variant-fbb48c03.js +4 -0
  496. package/dist/kolibri/button-variant-fbb48c03.js.map +1 -0
  497. package/dist/kolibri/{color-bee2a268.js → color-845e0378.js} +1 -1
  498. package/dist/kolibri/{controller-f3db680c.js → controller-152cc0b9.js} +1 -1
  499. package/dist/kolibri/{controller-76742dfc.js → controller-3788b559.js} +1 -1
  500. package/dist/kolibri/controller-3788b559.js.map +1 -0
  501. package/dist/kolibri/{controller-108aa205.js → controller-ab167bf7.js} +1 -1
  502. package/dist/kolibri/controller-ab167bf7.js.map +1 -0
  503. package/dist/kolibri/{controller-dc2f0e5c.js → controller-d04db4dd.js} +1 -1
  504. package/dist/kolibri/{controller-3213f6ba.js → controller-f073ed22.js} +1 -1
  505. package/dist/kolibri/controller-f073ed22.js.map +1 -0
  506. package/dist/kolibri/controller-icon-cfbc5bbf.js +4 -0
  507. package/dist/kolibri/custom-class-c9653859.js +4 -0
  508. package/dist/kolibri/custom-class-c9653859.js.map +1 -0
  509. package/dist/kolibri/{dev.utils-2f404ce5.js → dev.utils-1ee29ed1.js} +1 -1
  510. package/dist/kolibri/{dev.utils-2f404ce5.js.map → dev.utils-1ee29ed1.js.map} +1 -1
  511. package/dist/kolibri/{devtools-4e3e4963.js → devtools-67de7ff1.js} +1 -1
  512. package/dist/kolibri/has-closer-49b6c8b7.js +4 -0
  513. package/dist/kolibri/hide-label-16112af9.js +4 -0
  514. package/dist/kolibri/{i18n-042ef6ee.js → i18n-53e49b2a.js} +1 -1
  515. package/dist/kolibri/{icon-a0bacdc8.js → icon-a7195182.js} +1 -1
  516. package/dist/kolibri/icon-a7195182.js.map +1 -0
  517. package/dist/kolibri/image-source-d2f4a35e.js +4 -0
  518. package/dist/kolibri/index.esm.js +1 -1
  519. package/dist/kolibri/kol-abbr.entry.js +1 -1
  520. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  521. package/dist/kolibri/kol-accordion.entry.js +1 -1
  522. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  523. package/dist/kolibri/kol-alert-wc_2.entry.js +1 -1
  524. package/dist/kolibri/kol-alert-wc_2.entry.js.map +1 -1
  525. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  526. package/dist/kolibri/kol-avatar-wc.entry.js +1 -1
  527. package/dist/kolibri/kol-avatar-wc.entry.js.map +1 -1
  528. package/dist/kolibri/kol-avatar.entry.js.map +1 -1
  529. package/dist/kolibri/kol-badge.entry.js +1 -1
  530. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  531. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  532. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  533. package/dist/kolibri/kol-button-group-wc.entry.js.map +1 -1
  534. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  535. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  536. package/dist/kolibri/kol-button-wc_2.entry.js +1 -1
  537. package/dist/kolibri/kol-button-wc_2.entry.js.map +1 -1
  538. package/dist/kolibri/kol-button.entry.js.map +1 -1
  539. package/dist/kolibri/kol-card.entry.js +1 -1
  540. package/dist/kolibri/kol-card.entry.js.map +1 -1
  541. package/dist/kolibri/kol-details.entry.js +1 -1
  542. package/dist/kolibri/kol-details.entry.js.map +1 -1
  543. package/dist/kolibri/kol-form.entry.js +1 -1
  544. package/dist/kolibri/kol-form.entry.js.map +1 -1
  545. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  546. package/dist/kolibri/kol-icon.entry.js +1 -1
  547. package/dist/kolibri/kol-icon.entry.js.map +1 -1
  548. package/dist/kolibri/kol-image.entry.js +1 -1
  549. package/dist/kolibri/kol-image.entry.js.map +1 -1
  550. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  551. package/dist/kolibri/kol-input-adapter-leanup.entry.js +1 -1
  552. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  553. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  554. package/dist/kolibri/kol-input-color.entry.js +1 -1
  555. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  556. package/dist/kolibri/kol-input-date.entry.js +1 -1
  557. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  558. package/dist/kolibri/kol-input-email.entry.js +1 -1
  559. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  560. package/dist/kolibri/kol-input-file.entry.js +1 -1
  561. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  562. package/dist/kolibri/kol-input-number.entry.js +1 -1
  563. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  564. package/dist/kolibri/kol-input-password.entry.js +1 -1
  565. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  566. package/dist/kolibri/kol-input-radio-group.entry.js +1 -1
  567. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  568. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  569. package/dist/kolibri/kol-input-range.entry.js +1 -1
  570. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  571. package/dist/kolibri/kol-input-text.entry.js +1 -1
  572. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  573. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  574. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  575. package/dist/kolibri/kol-link-button.entry.js +1 -1
  576. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  577. package/dist/kolibri/kol-link-group.entry.js +1 -1
  578. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  579. package/dist/kolibri/kol-link-wc.entry.js +1 -1
  580. package/dist/kolibri/kol-link-wc.entry.js.map +1 -1
  581. package/dist/kolibri/kol-link.entry.js.map +1 -1
  582. package/dist/kolibri/kol-logo.entry.js +1 -1
  583. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  584. package/dist/kolibri/kol-modal.entry.js +1 -1
  585. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  586. package/dist/kolibri/kol-nav.entry.js +1 -1
  587. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  588. package/dist/kolibri/kol-pagination.entry.js +1 -1
  589. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  590. package/dist/kolibri/kol-popover.entry.js +1 -1
  591. package/dist/kolibri/kol-popover.entry.js.map +1 -1
  592. package/dist/kolibri/kol-progress.entry.js +1 -1
  593. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  594. package/dist/kolibri/kol-quote.entry.js +1 -1
  595. package/dist/kolibri/kol-quote.entry.js.map +1 -1
  596. package/dist/kolibri/kol-select.entry.js +1 -1
  597. package/dist/kolibri/kol-select.entry.js.map +1 -1
  598. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  599. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  600. package/dist/kolibri/kol-span-wc.entry.js +1 -1
  601. package/dist/kolibri/kol-span-wc.entry.js.map +1 -1
  602. package/dist/kolibri/kol-span.entry.js.map +1 -1
  603. package/dist/kolibri/kol-spin.entry.js +1 -1
  604. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  605. package/dist/kolibri/kol-split-button.entry.js +1 -1
  606. package/dist/kolibri/kol-split-button.entry.js.map +1 -1
  607. package/dist/kolibri/kol-symbol.entry.js +1 -1
  608. package/dist/kolibri/kol-symbol.entry.js.map +1 -1
  609. package/dist/kolibri/kol-table.entry.js +1 -1
  610. package/dist/kolibri/kol-table.entry.js.map +1 -1
  611. package/dist/kolibri/kol-tabs.entry.js +1 -1
  612. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  613. package/dist/kolibri/kol-textarea.entry.js +1 -1
  614. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  615. package/dist/kolibri/kol-toast.entry.js +1 -1
  616. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  617. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  618. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  619. package/dist/kolibri/kol-version.entry.js +1 -1
  620. package/dist/kolibri/kol-version.entry.js.map +1 -1
  621. package/dist/kolibri/kolibri.esm.js +1 -1
  622. package/dist/kolibri/label-162d9b49.js +4 -0
  623. package/dist/kolibri/prop.validators-6cf6ed2d.js +4 -0
  624. package/dist/kolibri/rows-c5b1e0bc.js +4 -0
  625. package/dist/kolibri/show-a8f7aa56.js +4 -0
  626. package/dist/kolibri/{suggestions-3df3e5fd.js → suggestions-efa371a2.js} +1 -1
  627. package/dist/kolibri/{tab-index-a7766f42.js → tab-index-cda3bf60.js} +1 -1
  628. package/dist/kolibri/tooltip-align-c2603081.js +4 -0
  629. package/dist/kolibri/tooltip-align-c2603081.js.map +1 -0
  630. package/dist/kolibri/{validation-46697821.js → validation-9d2bdef4.js} +1 -1
  631. package/dist/kolibri/validation-ad3aded3.js +4 -0
  632. package/dist/types/components/@deprecated/input/controller.d.ts +1 -1
  633. package/dist/types/components/@deprecated/input/types.d.ts +1 -1
  634. package/dist/types/components/@else/all/component.d.ts +2 -2
  635. package/dist/types/components/abbr/component.d.ts +3 -3
  636. package/dist/types/components/abbr/types.d.ts +4 -5
  637. package/dist/types/components/accordion/component.d.ts +1 -1
  638. package/dist/types/components/accordion/types.d.ts +1 -1
  639. package/dist/types/components/alert/component.d.ts +1 -1
  640. package/dist/types/components/alert/types.d.ts +4 -4
  641. package/dist/types/components/badge/component.d.ts +5 -7
  642. package/dist/types/components/badge/test/html.mock.d.ts +2 -2
  643. package/dist/types/components/badge/types.d.ts +14 -11
  644. package/dist/types/components/breadcrumb/component.d.ts +4 -4
  645. package/dist/types/components/breadcrumb/test/html.mock.d.ts +2 -2
  646. package/dist/types/components/breadcrumb/types.d.ts +4 -4
  647. package/dist/types/components/button/component.d.ts +27 -20
  648. package/dist/types/components/button/shadow.d.ts +18 -12
  649. package/dist/types/components/button/test/html.mock.d.ts +3 -3
  650. package/dist/types/components/button/types.d.ts +39 -0
  651. package/dist/types/components/button-group/component.d.ts +2 -9
  652. package/dist/types/components/button-group/shadow.d.ts +1 -1
  653. package/dist/types/components/button-group/types.d.ts +9 -0
  654. package/dist/types/components/button-link/component.d.ts +16 -12
  655. package/dist/types/components/button-link/test/html.mock.d.ts +2 -2
  656. package/dist/types/components/button-link/types.d.ts +8 -0
  657. package/dist/types/components/button-link-text-switch/types.d.ts +2 -2
  658. package/dist/types/components/card/component.d.ts +5 -5
  659. package/dist/types/components/card/test/html.mock.d.ts +2 -2
  660. package/dist/types/components/card/types.d.ts +4 -4
  661. package/dist/types/components/details/component.d.ts +3 -3
  662. package/dist/types/components/details/test/html.mock.d.ts +2 -2
  663. package/dist/types/components/details/types.d.ts +6 -6
  664. package/dist/types/components/form/component.d.ts +3 -3
  665. package/dist/types/components/form/test/html.mock.d.ts +2 -2
  666. package/dist/types/components/form/types.d.ts +4 -4
  667. package/dist/types/components/heading/component.d.ts +3 -3
  668. package/dist/types/components/heading/shadow.d.ts +2 -2
  669. package/dist/types/components/heading/test/html.mock.d.ts +3 -3
  670. package/dist/types/components/heading/types.d.ts +5 -5
  671. package/dist/types/components/icon/component.d.ts +3 -3
  672. package/dist/types/components/icon/test/html.mock.d.ts +2 -2
  673. package/dist/types/components/icon/types.d.ts +3 -3
  674. package/dist/types/components/image/shadow.d.ts +2 -2
  675. package/dist/types/components/image/types.d.ts +1 -1
  676. package/dist/types/components/indented-text/component.d.ts +2 -9
  677. package/dist/types/components/indented-text/test/html.mock.d.ts +1 -1
  678. package/dist/types/components/indented-text/types.d.ts +9 -0
  679. package/dist/types/components/input/component.d.ts +10 -16
  680. package/dist/types/components/input/types.d.ts +5 -8
  681. package/dist/types/components/input-adapter-leanup/associated.controller.d.ts +4 -4
  682. package/dist/types/components/input-adapter-leanup/types.d.ts +1 -1
  683. package/dist/types/components/input-checkbox/component.d.ts +13 -10
  684. package/dist/types/components/input-checkbox/types.d.ts +12 -18
  685. package/dist/types/components/input-color/component.d.ts +12 -9
  686. package/dist/types/components/input-color/types.d.ts +10 -15
  687. package/dist/types/components/input-date/component.d.ts +11 -8
  688. package/dist/types/components/input-date/types.d.ts +12 -13
  689. package/dist/types/components/input-email/component.d.ts +13 -10
  690. package/dist/types/components/input-email/types.d.ts +15 -23
  691. package/dist/types/components/input-file/component.d.ts +12 -9
  692. package/dist/types/components/input-file/types.d.ts +14 -22
  693. package/dist/types/components/input-number/component.d.ts +12 -9
  694. package/dist/types/components/input-number/types.d.ts +13 -14
  695. package/dist/types/components/input-password/component.d.ts +12 -9
  696. package/dist/types/components/input-password/types.d.ts +15 -23
  697. package/dist/types/components/input-radio/component.d.ts +11 -8
  698. package/dist/types/components/input-radio/types.d.ts +12 -18
  699. package/dist/types/components/input-range/component.d.ts +11 -8
  700. package/dist/types/components/input-range/types.d.ts +11 -16
  701. package/dist/types/components/input-text/component.d.ts +13 -10
  702. package/dist/types/components/input-text/types.d.ts +15 -24
  703. package/dist/types/components/kolibri/component.d.ts +3 -3
  704. package/dist/types/components/kolibri/types.d.ts +4 -4
  705. package/dist/types/components/link/component.d.ts +13 -8
  706. package/dist/types/components/link/shadow.d.ts +9 -5
  707. package/dist/types/components/link/test/html.mock.d.ts +2 -2
  708. package/dist/types/components/link/types.d.ts +34 -0
  709. package/dist/types/components/link-button/component.d.ts +17 -12
  710. package/dist/types/components/link-button/types.d.ts +7 -0
  711. package/dist/types/components/link-group/component.d.ts +4 -4
  712. package/dist/types/components/link-group/types.d.ts +3 -3
  713. package/dist/types/components/logo/component.d.ts +3 -3
  714. package/dist/types/components/logo/types.d.ts +2 -2
  715. package/dist/types/components/modal/component.d.ts +3 -3
  716. package/dist/types/components/modal/types.d.ts +3 -3
  717. package/dist/types/components/nav/component.d.ts +5 -5
  718. package/dist/types/components/nav/types.d.ts +2 -2
  719. package/dist/types/components/pagination/component.d.ts +12 -11
  720. package/dist/types/components/pagination/types.d.ts +8 -10
  721. package/dist/types/components/popover/component.d.ts +4 -4
  722. package/dist/types/components/popover/test/html.mock.d.ts +2 -2
  723. package/dist/types/components/popover/types.d.ts +5 -5
  724. package/dist/types/components/progress/component.d.ts +3 -3
  725. package/dist/types/components/progress/types.d.ts +2 -2
  726. package/dist/types/components/quote/shadow.d.ts +3 -3
  727. package/dist/types/components/quote/test/html.mock.d.ts +2 -2
  728. package/dist/types/components/quote/types.d.ts +3 -3
  729. package/dist/types/components/select/component.d.ts +11 -8
  730. package/dist/types/components/select/types.d.ts +13 -21
  731. package/dist/types/components/skip-nav/component.d.ts +4 -4
  732. package/dist/types/components/skip-nav/types.d.ts +3 -3
  733. package/dist/types/components/span/component.d.ts +4 -4
  734. package/dist/types/components/span/shadow.d.ts +3 -4
  735. package/dist/types/components/span/test/html.mock.d.ts +3 -3
  736. package/dist/types/components/span/types.d.ts +3 -3
  737. package/dist/types/components/spin/component.d.ts +4 -4
  738. package/dist/types/components/spin/test/html.mock.d.ts +2 -2
  739. package/dist/types/components/spin/types.d.ts +4 -4
  740. package/dist/types/components/split-button/component.d.ts +18 -15
  741. package/dist/types/components/split-button/types.d.ts +6 -3
  742. package/dist/types/components/symbol/component.d.ts +3 -3
  743. package/dist/types/components/symbol/test/html.mock.d.ts +2 -2
  744. package/dist/types/components/symbol/types.d.ts +3 -3
  745. package/dist/types/components/table/component.d.ts +3 -3
  746. package/dist/types/components/table/types.d.ts +2 -2
  747. package/dist/types/components/tabs/component.d.ts +3 -3
  748. package/dist/types/components/tabs/types.d.ts +5 -5
  749. package/dist/types/components/textarea/component.d.ts +13 -10
  750. package/dist/types/components/textarea/types.d.ts +13 -20
  751. package/dist/types/components/toast/component.d.ts +5 -5
  752. package/dist/types/components/toast/test/html.mock.d.ts +2 -2
  753. package/dist/types/components/toast/types.d.ts +4 -4
  754. package/dist/types/components/tooltip/component.d.ts +3 -3
  755. package/dist/types/components/tooltip/test/html.mock.d.ts +2 -2
  756. package/dist/types/components/tooltip/types.d.ts +6 -8
  757. package/dist/types/components/version/component.d.ts +3 -3
  758. package/dist/types/components/version/test/html.mock.d.ts +2 -2
  759. package/dist/types/components/version/types.d.ts +4 -4
  760. package/dist/types/components.d.ts +594 -598
  761. package/dist/types/types/button-link-text.d.ts +5 -7
  762. package/dist/types/types/button-link.d.ts +1 -105
  763. package/dist/types/types/input/control/number.d.ts +1 -1
  764. package/dist/types/types/props/alternative-button-link-role.d.ts +6 -0
  765. package/dist/types/types/props/aria-expanded.d.ts +2 -1
  766. package/dist/types/types/props/aria-selected.d.ts +3 -1
  767. package/dist/types/types/props/button-callbacks.d.ts +12 -0
  768. package/dist/types/types/props/button-type.d.ts +6 -0
  769. package/dist/types/types/props/button-variant.d.ts +6 -0
  770. package/dist/types/types/props/custom-class.d.ts +6 -0
  771. package/dist/types/types/props/icon.d.ts +1 -2
  772. package/dist/types/types/props/link-target.d.ts +6 -0
  773. package/dist/types/types/props/required.d.ts +2 -1
  774. package/dist/types/types/props/sync-value-by-selector.d.ts +4 -0
  775. package/dist/types/types/props/tooltip-align.d.ts +7 -0
  776. package/doc/abbr.md +1 -1
  777. package/doc/accordion.md +7 -7
  778. package/doc/alert.md +2 -2
  779. package/doc/avatar.md +4 -4
  780. package/doc/badge.md +8 -8
  781. package/doc/button-link.md +6 -6
  782. package/doc/button.md +8 -8
  783. package/doc/card.md +2 -2
  784. package/doc/details.md +5 -5
  785. package/doc/icon-font-awesome.md +1 -1
  786. package/doc/icon-icofont.md +1 -1
  787. package/doc/input-checkbox.md +22 -22
  788. package/doc/input-color.md +21 -21
  789. package/doc/input-date.md +27 -27
  790. package/doc/input-email.md +29 -29
  791. package/doc/input-file.md +21 -21
  792. package/doc/input-number.md +28 -28
  793. package/doc/input-password.md +26 -26
  794. package/doc/input-radio.md +6 -6
  795. package/doc/input-range.md +5 -5
  796. package/doc/input-text.md +29 -29
  797. package/doc/kolibri.md +5 -5
  798. package/doc/link-button.md +7 -7
  799. package/doc/link-group.md +2 -2
  800. package/doc/link.md +2 -2
  801. package/doc/modal.md +1 -1
  802. package/doc/nav.md +3 -3
  803. package/doc/pagination.md +2 -2
  804. package/doc/popover.md +1 -1
  805. package/doc/progress.md +1 -1
  806. package/doc/quote.md +1 -1
  807. package/doc/select.md +7 -7
  808. package/doc/skip-nav.md +5 -5
  809. package/doc/span.md +1 -1
  810. package/doc/spin.md +4 -4
  811. package/doc/split-button.md +5 -5
  812. package/doc/table.md +9 -9
  813. package/doc/tabs.md +1 -1
  814. package/doc/textarea.md +9 -9
  815. package/doc/toast.md +3 -3
  816. package/doc/tooltip.md +5 -5
  817. package/doc/version.md +4 -4
  818. package/jest-test-results.json +1 -1
  819. package/package.json +1 -1
  820. package/vscode-custom-data.json +180 -180
  821. package/dist/cjs/align-f2e5e55b.js.map +0 -1
  822. package/dist/cjs/aria-current-1d49e28b.js +0 -4
  823. package/dist/cjs/aria-current-1d49e28b.js.map +0 -1
  824. package/dist/cjs/aria-selected-ed02ff9d.js +0 -4
  825. package/dist/cjs/aria-selected-ed02ff9d.js.map +0 -1
  826. package/dist/cjs/associated.controller-6beebfb6.js.map +0 -1
  827. package/dist/cjs/button-link-a4c35b18.js +0 -4
  828. package/dist/cjs/button-link-a4c35b18.js.map +0 -1
  829. package/dist/cjs/controller-52018655.js.map +0 -1
  830. package/dist/cjs/controller-f733e612.js +0 -4
  831. package/dist/cjs/controller-f733e612.js.map +0 -1
  832. package/dist/cjs/disabled-1e3895a4.js +0 -4
  833. package/dist/cjs/disabled-1e3895a4.js.map +0 -1
  834. package/dist/cjs/has-closer-ba283450.js +0 -4
  835. package/dist/cjs/hide-label-edf70971.js +0 -4
  836. package/dist/cjs/icon-ccb23476.js.map +0 -1
  837. package/dist/cjs/image-source-47ee14b1.js +0 -4
  838. package/dist/cjs/rows-435bcf3a.js +0 -4
  839. package/dist/cjs/show-e15f52b3.js +0 -4
  840. package/dist/components/floating-ui.dom.esm.js +0 -4
  841. package/dist/components/floating-ui.dom.esm.js.map +0 -1
  842. package/dist/components/tab-index.js.map +0 -1
  843. package/dist/declare.d.ts +0 -26
  844. package/dist/esm/align-c8603a23.js.map +0 -1
  845. package/dist/esm/app-globals-12365829.js +0 -4
  846. package/dist/esm/aria-current-78222a8a.js +0 -4
  847. package/dist/esm/aria-current-78222a8a.js.map +0 -1
  848. package/dist/esm/aria-selected-6e7689ae.js.map +0 -1
  849. package/dist/esm/associated.controller-9d8da408.js.map +0 -1
  850. package/dist/esm/button-link-e0b05c0a.js +0 -4
  851. package/dist/esm/button-link-e0b05c0a.js.map +0 -1
  852. package/dist/esm/controller-3213f6ba.js.map +0 -1
  853. package/dist/esm/controller-d46a9e29.js +0 -4
  854. package/dist/esm/controller-d46a9e29.js.map +0 -1
  855. package/dist/esm/disabled-0d2979dd.js +0 -4
  856. package/dist/esm/disabled-0d2979dd.js.map +0 -1
  857. package/dist/esm/icon-a0bacdc8.js.map +0 -1
  858. package/dist/esm/validation-5be5b0a8.js +0 -4
  859. package/dist/kolibri/align-c8603a23.js +0 -4
  860. package/dist/kolibri/align-c8603a23.js.map +0 -1
  861. package/dist/kolibri/app-globals-12365829.js +0 -4
  862. package/dist/kolibri/aria-current-78222a8a.js.map +0 -1
  863. package/dist/kolibri/aria-selected-6e7689ae.js +0 -4
  864. package/dist/kolibri/aria-selected-6e7689ae.js.map +0 -1
  865. package/dist/kolibri/associated.controller-9d8da408.js.map +0 -1
  866. package/dist/kolibri/button-link-e0b05c0a.js +0 -4
  867. package/dist/kolibri/button-link-e0b05c0a.js.map +0 -1
  868. package/dist/kolibri/controller-108aa205.js.map +0 -1
  869. package/dist/kolibri/controller-3213f6ba.js.map +0 -1
  870. package/dist/kolibri/controller-76742dfc.js.map +0 -1
  871. package/dist/kolibri/controller-d46a9e29.js +0 -4
  872. package/dist/kolibri/controller-d46a9e29.js.map +0 -1
  873. package/dist/kolibri/controller-icon-e6f72083.js +0 -4
  874. package/dist/kolibri/disabled-0d2979dd.js +0 -4
  875. package/dist/kolibri/disabled-0d2979dd.js.map +0 -1
  876. package/dist/kolibri/has-closer-e01aaeae.js +0 -4
  877. package/dist/kolibri/hide-label-c77474b5.js +0 -4
  878. package/dist/kolibri/icon-a0bacdc8.js.map +0 -1
  879. package/dist/kolibri/image-source-abdd2521.js +0 -4
  880. package/dist/kolibri/label-8596593d.js +0 -4
  881. package/dist/kolibri/prop.validators-286b41b1.js +0 -4
  882. package/dist/kolibri/rows-ab605374.js +0 -4
  883. package/dist/kolibri/show-090f6bc3.js +0 -4
  884. package/dist/kolibri/validation-5be5b0a8.js +0 -4
  885. package/dist/types/components/button/controller.d.ts +0 -4
  886. package/dist/types/core/declare.d.ts +0 -10
  887. /package/dist/kolibri/{a11y.tipps-010cc7bb.js.map → a11y.tipps-3dbf06fc.js.map} +0 -0
  888. /package/dist/kolibri/{app-globals-12365829.js.map → app-globals-0c370b67.js.map} +0 -0
  889. /package/dist/kolibri/{color-bee2a268.js.map → color-845e0378.js.map} +0 -0
  890. /package/dist/kolibri/{controller-f3db680c.js.map → controller-152cc0b9.js.map} +0 -0
  891. /package/dist/kolibri/{controller-dc2f0e5c.js.map → controller-d04db4dd.js.map} +0 -0
  892. /package/dist/kolibri/{controller-icon-e6f72083.js.map → controller-icon-cfbc5bbf.js.map} +0 -0
  893. /package/dist/kolibri/{devtools-4e3e4963.js.map → devtools-67de7ff1.js.map} +0 -0
  894. /package/dist/kolibri/{has-closer-e01aaeae.js.map → has-closer-49b6c8b7.js.map} +0 -0
  895. /package/dist/kolibri/{hide-label-c77474b5.js.map → hide-label-16112af9.js.map} +0 -0
  896. /package/dist/kolibri/{i18n-042ef6ee.js.map → i18n-53e49b2a.js.map} +0 -0
  897. /package/dist/kolibri/{image-source-abdd2521.js.map → image-source-d2f4a35e.js.map} +0 -0
  898. /package/dist/kolibri/{label-8596593d.js.map → label-162d9b49.js.map} +0 -0
  899. /package/dist/kolibri/{prop.validators-286b41b1.js.map → prop.validators-6cf6ed2d.js.map} +0 -0
  900. /package/dist/kolibri/{rows-ab605374.js.map → rows-c5b1e0bc.js.map} +0 -0
  901. /package/dist/kolibri/{show-090f6bc3.js.map → show-a8f7aa56.js.map} +0 -0
  902. /package/dist/kolibri/{suggestions-3df3e5fd.js.map → suggestions-efa371a2.js.map} +0 -0
  903. /package/dist/kolibri/{tab-index-a7766f42.js.map → tab-index-cda3bf60.js.map} +0 -0
  904. /package/dist/kolibri/{validation-46697821.js.map → validation-9d2bdef4.js.map} +0 -0
  905. /package/dist/kolibri/{validation-5be5b0a8.js.map → validation-ad3aded3.js.map} +0 -0
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as e,r as i,g as s}from"./index-5ab2ea42.js";import{n as a}from"./dev.utils-2f404ce5.js";import{a as n}from"./reuse-c2156413.js";import{p as l}from"./controller-3213f6ba.js";import{g as d}from"./controller-108aa205.js";import{a as o,w as h,s as r,e as u}from"./prop.validators-286b41b1.js";import{v as p}from"./suggestions-3df3e5fd.js";import{I as c}from"./controller-icon-e6f72083.js";import"./a11y.tipps-010cc7bb.js";import"./label-8596593d.js";import"./associated.controller-9d8da408.js";import"./tab-index-a7766f42.js";import"./index-37b5cbcf.js";import"./icon-a0bacdc8.js";const f=(t,e)=>{o(t,"_readOnly",e)};class m extends c{constructor(t,e,i){super(t,e,i),this.validateIso8601=(t,e,i)=>h(this.component,t,(t=>void 0===t||null==t||""===t||this.validateDateString(t)),new Set(["Date","string{ISO-8601}"]),this.tryParseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&i&&i(t)}}}),this.component=t}validateAutoComplete(t){h(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(){}validateSuggestions(t){p(this.component,t)}tryParseToString(t,e){const i=null!=t?t:e;if("string"==typeof i)return i;if("object"==typeof i&&i instanceof Date)switch(this.component._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.component._step||"string"==typeof this.component._step&&"60"===this.component._step||"number"==typeof this.component._step&&60===this.component._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.component._type){case"date":return m.isoDateRegex.test(t);case"datetime-local":return m.isoLocalDateTimeRegex.test(t);case"month":return m.isoMonthRegex.test(t);case"time":return m.isoTimeRegex.test(t);case"week":return m.isoWeekRegex.test(t);default:return!1}}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){h(this.component,"_max",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.tryParseToString(t,"date"===this.component._type||"month"===this.component._type||"datetime-local"===this.component._type?m.DEFAULT_MAX_DATE:void 0))}validateMin(t){h(this.component,"_min",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.tryParseToString(t))}validateOn(t){r(this.component,"_on",Object.assign(Object.assign({},t),{onChange:(e,i)=>{!!i!=!!this.component._value&&(this.component._value=i),(null==t?void 0:t.onChange)&&t.onChange(e,i)}}))}validateReadOnly(t){f(this.component,t)}validateRequired(t){o(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){h(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateLabel(this.component._label),this.validateSuggestions(this.component._suggestions||this.component._list),this.validateOn(this.component._on),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}m.isoDateRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])/,m.isoLocalDateTimeRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])[T ][0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,m.isoMonthRegex=/^\d{4}-([0]\d|1[0-2])/,m.isoTimeRegex=/^[0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,m.isoWeekRegex=/^\d{4}-W(?:[0-4]\d|5[0-3])$/,m.DEFAULT_MAX_DATE=new Date(9999,11,31,23,59,59);const v=":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],[size]){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}kol-input-number{display:block}",y=class{render(){const{ariaDescribedBy:i}=d(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,s=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._suggestions=void 0,this._syncValueBySelector=void 0,this._step=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="date",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:`id-${a()}`,_label:!1,_suggestions:[],_type:"datetime-local"},this.controller=new m(this,"input-date",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.validateSuggestions(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return s(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_suggestions:["validateSuggestions"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:v};export{y as kol_input_date};
4
+ import{h as t,H as e,r as i,g as s}from"./index-5ab2ea42.js";import{n as a}from"./dev.utils-1ee29ed1.js";import{a as n}from"./reuse-c2156413.js";import{p as d}from"./controller-f073ed22.js";import{g as l}from"./controller-ab167bf7.js";import{a as o,w as h,s as r,e as u}from"./prop.validators-6cf6ed2d.js";import{v as p}from"./suggestions-efa371a2.js";import{I as c}from"./controller-icon-cfbc5bbf.js";import"./a11y.tipps-3dbf06fc.js";import"./label-162d9b49.js";import"./associated.controller-6c7440df.js";import"./tab-index-cda3bf60.js";import"./index-37b5cbcf.js";import"./icon-a7195182.js";const f=(t,e)=>{o(t,"_readOnly",e)};class m extends c{constructor(t,e,i){super(t,e,i),this.validateIso8601=(t,e,i)=>h(this.component,t,(t=>void 0===t||null==t||""===t||this.validateDateString(t)),new Set(["Date","string{ISO-8601}"]),this.tryParseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&i&&i(t)}}}),this.component=t}validateAutoComplete(t){h(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(){}validateSuggestions(t){p(this.component,t)}tryParseToString(t,e){const i=null!=t?t:e;if("string"==typeof i)return i;if("object"==typeof i&&i instanceof Date)switch(this.component._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.component._step||"string"==typeof this.component._step&&"60"===this.component._step||"number"==typeof this.component._step&&60===this.component._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.component._type){case"date":return m.isoDateRegex.test(t);case"datetime-local":return m.isoLocalDateTimeRegex.test(t);case"month":return m.isoMonthRegex.test(t);case"time":return m.isoTimeRegex.test(t);case"week":return m.isoWeekRegex.test(t);default:return!1}}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){h(this.component,"_max",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.tryParseToString(t,"date"===this.component._type||"month"===this.component._type||"datetime-local"===this.component._type?m.DEFAULT_MAX_DATE:void 0))}validateMin(t){h(this.component,"_min",(t=>void 0===t||null!==t&&this.validateDateString(t)),new Set(["Iso8601","Date"]),this.tryParseToString(t))}validateOn(t){r(this.component,"_on",Object.assign(Object.assign({},t),{onChange:(e,i)=>{!!i!=!!this.component._value&&(this.component._value=i),(null==t?void 0:t.onChange)&&t.onChange(e,i)}}))}validateReadOnly(t){f(this.component,t)}validateRequired(t){o(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){h(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateLabel(this.component._label),this.validateSuggestions(this.component._suggestions||this.component._list),this.validateOn(this.component._on),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}m.isoDateRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])/,m.isoLocalDateTimeRegex=/^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])[T ][0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,m.isoMonthRegex=/^\d{4}-([0]\d|1[0-2])/,m.isoTimeRegex=/^[0-2]\d:[0-5]\d(:[0-5]\d(?:\.\d+)?)?/,m.isoWeekRegex=/^\d{4}-W(?:[0-4]\d|5[0-3])$/,m.DEFAULT_MAX_DATE=new Date(9999,11,31,23,59,59);const v=":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],[size]){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}kol-input-number{display:block}",y=class{render(){const{ariaDescribedBy:i}=l(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,s=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?d({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._suggestions=void 0,this._syncValueBySelector=void 0,this._step=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="date",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:`id-${a()}`,_label:!1,_suggestions:[],_type:"datetime-local"},this.controller=new m(this,"input-date",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.validateSuggestions(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return s(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_suggestions:["validateSuggestions"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:v};export{y as kol_input_date};
@@ -1 +1 @@
1
- {"version":3,"names":["validateReadOnly","component","value","watchBoolean","InputDateController","InputIconController","constructor","name","host","super","this","validateIso8601","propName","afterPatch","watchValidator","undefined","validateDateString","Set","tryParseToString","hooks","validateAutoComplete","validateList","validateSuggestions","defaultValue","v","Date","_type","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","_step","Error","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","onChange","event","target","_value","validateMax","DEFAULT_MAX_DATE","validateMin","validateOn","setState","Object","assign","e","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","setFormAssociatedValue","state","componentWillLoad","_autoComplete","_max","_min","validateLabel","_label","_suggestions","_list","_on","_readOnly","_required","defaultStyleCss","KolInputDate","render","ariaDescribedBy","getRenderStates","hasSuggestions","Array","isArray","length","hasExpertSlot","h","Host","class","_hasValue","_hideLabel","_disabled","_error","_hint","_icon","_id","_smartButton","_touched","slot","ref","catchRef","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","step","spellcheck","type","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","hostRef","propagateFocus","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert","addValueChangeListener"],"sources":["src/types/props/read-only.ts","src/components/input-date/controller.ts","src/components/input-date/style.css?tag=kol-input-date&mode=default&encapsulation=shadow","src/components/input-date/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type ReadOnlyPropType = boolean;\n\n/**\n * Makes the input element read only.\n */\nexport type PropReadOnly = {\n\treadOnly: ReadOnlyPropType;\n};\n\n/* validator */\nexport const validateReadOnly = (component: Generic.Element.Component, value?: ReadOnlyPropType): void => {\n\twatchBoolean(component, '_readOnly', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { ReadOnlyPropType, validateReadOnly } from '../../types/props/read-only';\nimport { SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { setState, watchBoolean, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputDateController extends InputIconController implements Watches {\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 static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated remains to satisfy `Watches` interface\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tpublic validateList(): void {}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tprivate tryParseToString(value?: Iso8601 | Date | null, defaultValue?: Date): string | 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.component._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 (\n\t\t\t\t\t\tthis.component._step === undefined ||\n\t\t\t\t\t\t(typeof this.component._step === 'string' && this.component._step === '60') ||\n\t\t\t\t\t\t(typeof this.component._step === 'number' && this.component._step === 60)\n\t\t\t\t\t) {\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: string): boolean {\n\t\tswitch (this.component._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn InputDateController.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn InputDateController.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn InputDateController.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn InputDateController.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn InputDateController.isoWeekRegex.test(value);\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate readonly validateIso8601 = (propName: string, value?: Date | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value == null || value === '' || this.validateDateString(value),\n\t\t\tnew Set(['Date', 'string{ISO-8601}']),\n\t\t\tthis.tryParseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\n\t\t// set the value here when the value is switched between blank and set (or vice versa) to enable value resets via setting null as value.\n\t\tif (!!(event.target as HTMLInputElement).value !== !!this.component._value) {\n\t\t\tthis.component._value = (event.target as HTMLInputElement).value as Iso8601;\n\t\t}\n\t}\n\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis.component,\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.tryParseToString(\n\t\t\t\tvalue,\n\t\t\t\tthis.component._type === 'date' || this.component._type === 'month' || this.component._type === 'datetime-local'\n\t\t\t\t\t? InputDateController.DEFAULT_MAX_DATE\n\t\t\t\t\t: undefined\n\t\t\t)\n\t\t);\n\t}\n\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis.component,\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.tryParseToString(value)\n\t\t);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this.component, '_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.component._value) {\n\t\t\t\t\tthis.component._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\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tvalidateReadOnly(this.component, value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: Iso8601 | Date | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSuggestions(this.component._suggestions || this.component._list);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\nkol-input-number {\n\tdisplay: block;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { AlignPropType } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { SuggestionsPropType } from '../../types/props/suggestions';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputDateController } from './controller';\nimport { ComponentApi, States } from './types';\nimport { ReadOnlyPropType } from '../../types/props/read-only';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-date',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputDate implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputDateElement;\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 hasSuggestions = Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host class={{ 'has-value': this.state._hasValue }}>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type]: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_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_suggestions={this.state._suggestions}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasSuggestions ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputDateController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t * @deprecated Use _suggestions instead.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert 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 * Makes the input element read only.\n\t */\n\t@Prop() public _readOnly?: ReadOnlyPropType;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() 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?: Stringified<ButtonProps>;\n\n\t/**\n\t * Suggestions to provide for the input.\n\t */\n\t@Prop() public _suggestions?: SuggestionsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an.\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: AlignPropType = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type: 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_autoComplete: 'off',\n\t\t_hasValue: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_suggestions: [],\n\t\t_type: 'datetime-local',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputDateController(this, 'input-date', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.validateSuggestions(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_suggestions')\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tthis.controller.validateSuggestions(value);\n\t}\n\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: InputDateType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateReadOnly","component","value","watchBoolean","InputDateController","InputIconController","constructor","name","host","super","this","validateIso8601","propName","afterPatch","watchValidator","undefined","validateDateString","Set","tryParseToString","hooks","validateAutoComplete","validateList","validateSuggestions","defaultValue","v","Date","_type","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","_step","Error","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","onChange","event","target","_value","validateMax","DEFAULT_MAX_DATE","validateMin","validateOn","setState","Object","assign","e","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","setFormAssociatedValue","state","componentWillLoad","_autoComplete","_max","_min","validateLabel","_label","_suggestions","_list","_on","_readOnly","_required","defaultStyleCss","KolInputDate","render","ariaDescribedBy","getRenderStates","hasSuggestions","Array","isArray","length","hasExpertSlot","h","Host","class","_hasValue","_hideLabel","_disabled","_error","_hint","_icon","_id","_smartButton","_touched","slot","ref","catchRef","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","step","spellcheck","type","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","hostRef","propagateFocus","code","propagateSubmitEventToForm","form","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert","addValueChangeListener"],"sources":["src/types/props/read-only.ts","src/components/input-date/controller.ts","src/components/input-date/style.css?tag=kol-input-date&mode=default&encapsulation=shadow","src/components/input-date/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type ReadOnlyPropType = boolean;\n\n/**\n * Makes the input element read only.\n */\nexport type PropReadOnly = {\n\treadOnly: ReadOnlyPropType;\n};\n\n/* validator */\nexport const validateReadOnly = (component: Generic.Element.Component, value?: ReadOnlyPropType): void => {\n\twatchBoolean(component, '_readOnly', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { ReadOnlyPropType, validateReadOnly } from '../../types/props/read-only';\nimport { SuggestionsPropType, validateSuggestions } from '../../types/props/suggestions';\nimport { setState, watchBoolean, watchNumber, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputDateController extends InputIconController implements Watches {\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 static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_autoComplete',\n\t\t\t(value): boolean => typeof value === 'string' && (value === 'on' || value === 'off'),\n\t\t\tnew Set(['on | off']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @deprecated remains to satisfy `Watches` interface\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tpublic validateList(): void {}\n\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tvalidateSuggestions(this.component, value);\n\t}\n\n\tprivate tryParseToString(value?: Iso8601 | Date | null, defaultValue?: Date): string | 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.component._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 (\n\t\t\t\t\t\tthis.component._step === undefined ||\n\t\t\t\t\t\t(typeof this.component._step === 'string' && this.component._step === '60') ||\n\t\t\t\t\t\t(typeof this.component._step === 'number' && this.component._step === 60)\n\t\t\t\t\t) {\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: string): boolean {\n\t\tswitch (this.component._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn InputDateController.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn InputDateController.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn InputDateController.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn InputDateController.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn InputDateController.isoWeekRegex.test(value);\n\t\t\tdefault:\n\t\t\t\treturn false;\n\t\t}\n\t}\n\n\tprivate readonly validateIso8601 = (propName: string, value?: Date | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value == null || value === '' || this.validateDateString(value),\n\t\t\tnew Set(['Date', 'string{ISO-8601}']),\n\t\t\tthis.tryParseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\n\t\t// set the value here when the value is switched between blank and set (or vice versa) to enable value resets via setting null as value.\n\t\tif (!!(event.target as HTMLInputElement).value !== !!this.component._value) {\n\t\t\tthis.component._value = (event.target as HTMLInputElement).value as Iso8601;\n\t\t}\n\t}\n\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis.component,\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.tryParseToString(\n\t\t\t\tvalue,\n\t\t\t\tthis.component._type === 'date' || this.component._type === 'month' || this.component._type === 'datetime-local'\n\t\t\t\t\t? InputDateController.DEFAULT_MAX_DATE\n\t\t\t\t\t: undefined\n\t\t\t)\n\t\t);\n\t}\n\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis.component,\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.tryParseToString(value)\n\t\t);\n\t}\n\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this.component, '_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.component._value) {\n\t\t\t\t\tthis.component._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\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tvalidateReadOnly(this.component, value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: Iso8601 | Date | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\n\t\tthis.setFormAssociatedValue(this.component.state._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateLabel(this.component._label);\n\t\tthis.validateSuggestions(this.component._suggestions || this.component._list);\n\t\tthis.validateOn(this.component._on);\n\t\tthis.validateReadOnly(this.component._readOnly);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateStep(this.component._step);\n\t\tthis.validateType(this.component._type);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\nkol-input-number {\n\tdisplay: block;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Props as ButtonProps } from '../button/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { SuggestionsPropType } from '../../types/props/suggestions';\nimport { nonce } from '../../utils/dev.utils';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputDateController } from './controller';\nimport { ComponentApi, States } from './types';\nimport { ReadOnlyPropType } from '../../types/props/read-only';\nimport { SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { IdPropType } from '../../types/props/id';\nimport { NamePropType } from '../../types/props/name';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-date',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputDate implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputDateElement;\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 hasSuggestions = Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host class={{ 'has-value': this.state._hasValue }}>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\t[this.state._type]: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_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_suggestions={this.state._suggestions}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasSuggestions ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputDateController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Tells the element to hide the label.\n\t * TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t * @deprecated Use _suggestions instead.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Eingabewert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Eingabewert an.\n\t */\n\t@Prop() public _min?: Iso8601 | Date;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\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 * Makes the input element read only.\n\t * TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Makes the input element required.\n\t * TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() 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?: Stringified<ButtonProps>;\n\n\t/**\n\t * Suggestions to provide for the input.\n\t */\n\t@Prop() public _suggestions?: SuggestionsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an.\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Setzt den Typ der Komponente oder des interaktiven Elements in der Komponente an.\n\t */\n\t@Prop() public _type: 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_autoComplete: 'off',\n\t\t_hasValue: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_suggestions: [],\n\t\t_type: 'datetime-local',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputDateController(this, 'input-date', this.host);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.validateSuggestions(value);\n\t}\n\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: ReadOnlyPropType): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_suggestions')\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tthis.controller.validateSuggestions(value);\n\t}\n\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_type')\n\tpublic validateType(value?: InputDateType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":";;;klBAeO,MAAMA,EAAmB,CAACC,EAAsCC,KACtEC,EAAaF,EAAW,YAAaC,EAAM,ECL5C,MAAaE,UAA4BC,EAYxC,WAAAC,CAAmBL,EAA8CM,EAAcC,GAC9EC,MAAMR,EAAWM,EAAMC,GA2EPE,KAAAC,gBAAkB,CAACC,EAAkBV,EAA+BW,IAC7EC,EACNJ,KAAKT,UACLW,GACCV,GAAmBA,IAAUa,WAAab,GAAS,MAAQA,IAAU,IAAMQ,KAAKM,mBAAmBd,IACpG,IAAIe,IAAI,CAAC,OAAQ,qBACjBP,KAAKQ,iBAAiBhB,GACtB,CACCiB,MAAO,CACNN,WAAaX,IACZ,UAAWA,IAAU,UAAYW,EAAY,CAC5CA,EAAWX,E,MArFhBQ,KAAKT,UAAYA,C,CAGX,oBAAAmB,CAAqBlB,GAC3BY,EACCJ,KAAKT,UACL,iBACCC,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIe,IAAI,CAAC,aACTf,E,CAQK,YAAAmB,GAAY,CAEZ,mBAAAC,CAAoBpB,GAC1BoB,EAAoBZ,KAAKT,UAAWC,E,CAG7B,gBAAAgB,CAAiBhB,EAA+BqB,GACvD,MAAMC,EAAgCtB,IAAK,MAALA,SAAK,EAALA,EAASqB,EAC/C,UAAWC,IAAM,SAAU,CAC1B,OAAOA,C,CAER,UAAWA,IAAM,UAAYA,aAAaC,KAAM,CAC/C,OAAQf,KAAKT,UAAUyB,OACtB,IAAK,OACJ,MAAO,GAAGF,EAAEG,iBAAiBH,EAAEI,WAAa,KAAKJ,EAAEK,YACpD,IAAK,iBACJ,MAAO,GAAGL,EAAEG,iBAAiBH,EAAEI,WAAa,KAAKJ,EAAEK,aAAaL,EAAEM,cAAcN,EAAEO,gBAAgBP,EAAEQ,eACrG,IAAK,QACJ,MAAO,GAAGR,EAAEG,iBAAiBH,EAAEI,WAAa,IAC7C,IAAK,OAEJ,GACClB,KAAKT,UAAUgC,QAAUlB,kBACjBL,KAAKT,UAAUgC,QAAU,UAAYvB,KAAKT,UAAUgC,QAAU,aAC9DvB,KAAKT,UAAUgC,QAAU,UAAYvB,KAAKT,UAAUgC,QAAU,GACrE,CACD,MAAO,GAAGT,EAAEM,cAAcN,EAAEO,c,KACtB,CACN,MAAO,GAAGP,EAAEM,cAAcN,EAAEO,gBAAgBP,EAAEQ,c,CAEhD,IAAK,OACJ,MAAM,IAAIE,MAAM,0C,CAGnB,GAAIhC,IAAU,KAAM,CACnB,OAAO,I,CAER,OAAOa,S,CAGA,kBAAAC,CAAmBd,GAC1B,OAAQQ,KAAKT,UAAUyB,OACtB,IAAK,OACJ,OAAOtB,EAAoB+B,aAAaC,KAAKlC,GAC9C,IAAK,iBACJ,OAAOE,EAAoBiC,sBAAsBD,KAAKlC,GACvD,IAAK,QACJ,OAAOE,EAAoBkC,cAAcF,KAAKlC,GAC/C,IAAK,OACJ,OAAOE,EAAoBmC,aAAaH,KAAKlC,GAC9C,IAAK,OACJ,OAAOE,EAAoBoC,aAAaJ,KAAKlC,GAC9C,QACC,OAAO,M,CAuBA,QAAAuC,CAASC,GAClBjC,MAAMgC,SAASC,GAGf,KAAOA,EAAMC,OAA4BzC,UAAYQ,KAAKT,UAAU2C,OAAQ,CAC3ElC,KAAKT,UAAU2C,OAAUF,EAAMC,OAA4BzC,K,EAItD,WAAA2C,CAAY3C,GAClBY,EACCJ,KAAKT,UACL,QACCC,GAAmBA,IAAUa,WAAcb,IAAU,MAAQQ,KAAKM,mBAAmBd,IACtF,IAAIe,IAAI,CAAC,UAAW,SACpBP,KAAKQ,iBACJhB,EACAQ,KAAKT,UAAUyB,QAAU,QAAUhB,KAAKT,UAAUyB,QAAU,SAAWhB,KAAKT,UAAUyB,QAAU,iBAC7FtB,EAAoB0C,iBACpB/B,W,CAKC,WAAAgC,CAAY7C,GAClBY,EACCJ,KAAKT,UACL,QACCC,GAAmBA,IAAUa,WAAcb,IAAU,MAAQQ,KAAKM,mBAAmBd,IACtF,IAAIe,IAAI,CAAC,UAAW,SACpBP,KAAKQ,iBAAiBhB,G,CAIjB,UAAA8C,CAAW9C,GACjB+C,EAASvC,KAAKT,UAAW,MAAKiD,OAAAC,OAAAD,OAAAC,OAAA,GAC1BjD,GAAK,CACRuC,SAAU,CAACW,EAAU5B,KAEpB,KAAMA,MAAQd,KAAKT,UAAU2C,OAAQ,CACpClC,KAAKT,UAAU2C,OAASpB,C,CAGzB,GAAItB,IAAK,MAALA,SAAK,SAALA,EAAOuC,SAAU,CACpBvC,EAAMuC,SAASW,EAAG5B,E,MAMf,gBAAAxB,CAAiBE,GACvBF,EAAiBU,KAAKT,UAAWC,E,CAG3B,gBAAAmD,CAAiBnD,GACvBC,EAAaO,KAAKT,UAAW,YAAaC,E,CAGpC,YAAAoD,CAAapD,GACnBqD,EAAY7C,KAAKT,UAAW,QAASC,E,CAG/B,YAAAsD,CAAatD,GACnBY,EACCJ,KAAKT,UACL,SACCC,UACOA,IAAU,WAChBA,IAAU,QAAUA,IAAU,kBAAoBA,IAAU,SAAWA,IAAU,UAAYA,IAAU,QAAUA,IAAU,SAC7H,IAAIe,IAAI,CAAC,6DACTf,E,CAIK,aAAAuD,CAAcvD,GACpBQ,KAAKgD,gBAAgBxD,E,CAMf,eAAAwD,CAAgBxD,EAA+BW,GACrDH,KAAKC,gBAAgB,SAAUT,EAAOW,GACtCH,KAAKiD,uBAAuBjD,KAAKT,UAAU2D,MAAMhB,O,CAG3C,iBAAAiB,GACNpD,MAAMoD,oBACNnD,KAAKU,qBAAqBV,KAAKT,UAAU6D,eACzCpD,KAAKmC,YAAYnC,KAAKT,UAAU8D,MAChCrD,KAAKqC,YAAYrC,KAAKT,UAAU+D,MAChCtD,KAAKuD,cAAcvD,KAAKT,UAAUiE,QAClCxD,KAAKY,oBAAoBZ,KAAKT,UAAUkE,cAAgBzD,KAAKT,UAAUmE,OACvE1D,KAAKsC,WAAWtC,KAAKT,UAAUoE,KAC/B3D,KAAKV,iBAAiBU,KAAKT,UAAUqE,WACrC5D,KAAK2C,iBAAiB3C,KAAKT,UAAUsE,WACrC7D,KAAK4C,aAAa5C,KAAKT,UAAUgC,OACjCvB,KAAK8C,aAAa9C,KAAKT,UAAUyB,OACjChB,KAAK+C,cAAc/C,KAAKT,UAAU2C,O,EA3MXxC,EAAA+B,aAAe,wCACf/B,EAAAiC,sBAAwB,gFACxBjC,EAAAkC,cAAgB,wBAChBlC,EAAAmC,aAAe,wCACfnC,EAAAoC,aAAe,8BAEfpC,EAAA0C,iBAAmB,IAAIrB,KAAK,KAAM,GAAI,GAAI,GAAI,GAAI,ICnB3E,MAAM+C,EAAkB,i4D,MCgCXC,EAAY,MAoBjB,MAAAC,GACN,MAAMC,gBAAEA,GAAoBC,EAAgBlE,KAAKkD,OACjD,MAAMiB,EAAiBC,MAAMC,QAAQrE,KAAKkD,MAAMO,eAAiBzD,KAAKkD,MAAMO,aAAaa,OAAS,EAClG,MAAMC,EAAgBvE,KAAKkD,MAAMM,SAAW,MAE5C,OACCgB,EAACC,EAAI,CAACC,MAAO,CAAE,YAAa1E,KAAKkD,MAAMyB,YACtCH,EAAA,aACCE,MAAO,CACN,CAAC1E,KAAKkD,MAAMlC,OAAQ,KACpB,eAAgBhB,KAAKkD,MAAM0B,YAE5BC,UAAW7E,KAAKkD,MAAM2B,UACtBC,OAAQ9E,KAAKkD,MAAM4B,OACnBF,WAAY5E,KAAKkD,MAAM0B,WACvBG,MAAO/E,KAAKkD,MAAM6B,MAClBC,MAAOhF,KAAKkD,MAAM8B,MAClBC,IAAKjF,KAAKkD,MAAM+B,IAChBxB,aAAczD,KAAKkD,MAAMO,aACzBG,UAAW5D,KAAKkD,MAAMU,UACtBC,UAAW7D,KAAKkD,MAAMW,UACtBqB,aAAclF,KAAKkD,MAAMgC,aACzBC,SAAUnF,KAAKkD,MAAMiC,UAGrBX,EAAA,QAAMY,KAAK,SAASb,EAAgBC,EAAA,aAAgBxE,KAAKkD,MAAMM,QAC/DgB,EAAA,OAAKY,KAAK,SACTZ,EAAA,QAAAhC,OAAAC,OAAA,CACC4C,IAAKrF,KAAKsF,SACVC,MAAM,GACNC,UAAWxF,KAAKkD,MAAMuC,WAAU,mBACdxB,EAAgBK,OAAS,EAAIL,EAAgByB,KAAK,KAAOrF,UAAS,aACxEL,KAAKkD,MAAM0B,mBAAqB5E,KAAKkD,MAAMM,SAAW,SAAWxD,KAAKkD,MAAMM,OAASnD,UACjGsF,eAAe,MACfC,aAAc5F,KAAKkD,MAAME,cACzByC,YAAY,MACZC,SAAU9F,KAAKkD,MAAM2B,UACrBkB,GAAI/F,KAAKkD,MAAM+B,IACfe,KAAM7B,EAAiB,GAAGnE,KAAKkD,MAAM+B,WAAa5E,UAClD4F,IAAKjG,KAAKkD,MAAMG,KAChB6C,IAAKlG,KAAKkD,MAAMI,KAChBzD,KAAMG,KAAKkD,MAAMiD,MACjBC,SAAUpG,KAAKkD,MAAMU,UACrByC,SAAUrG,KAAKkD,MAAMW,UACrByC,KAAMtG,KAAKkD,MAAM3B,MACjBgF,WAAW,QACXC,KAAMxG,KAAKkD,MAAMlC,MACjBxB,MAAOQ,KAAKkD,MAAMhB,QACdlC,KAAKyG,WAAWC,SAAQ,CAC5BC,QAAS3G,KAAK2G,WAEfnC,EAAA,6BAKa,OACZoC,OAAQrC,IAAkBvE,KAAKkD,MAAM0B,WACrCiC,OAAQ7G,KAAK8G,cACbtD,cAAexD,KAAKkD,MAAMM,SAAW,SAAWxD,KAAKkD,MAAMM,OAAS,O,CA4J1E,WAAA5D,CAAAmH,G,UAvOiB/G,KAAAsF,SAAYD,IAC5BrF,KAAKqF,IAAMA,EACX2B,EAAehH,KAAKF,KAAME,KAAKqF,IAAI,EAGnBrF,KAAA2G,QAAW3E,IAC3B,GAAIA,EAAMiF,OAAS,QAAS,CAC3BC,EAA2B,CAC1BC,KAAMnH,KAAKF,KACXuF,IAAKrF,KAAKqF,K,KAEL,CACNrF,KAAKyG,WAAWC,SAAS3E,SAASC,E,yCAiF8B,K,iHA2BlC,G,kXAoFsB,M,cAMc,M,WAK9B,O,iCAON,CAC/BoB,cAAe,MACfuB,UAAW,MACXM,IAAK,MAAMmC,MACX5D,OAAQ,MACRC,aAAc,GACdzC,MAAO,kBAIPhB,KAAKyG,WAAa,IAAI/G,EAAoBM,KAAM,aAAcA,KAAKF,K,CAI7D,iBAAAuH,CAAkB7H,GACxBQ,KAAKyG,WAAWY,kBAAkB7H,E,CAI5B,aAAA8H,CAAc9H,GACpBQ,KAAKyG,WAAWa,cAAc9H,E,CAIxB,oBAAAkB,CAAqBlB,GAC3BQ,KAAKyG,WAAW/F,qBAAqBlB,E,CAI/B,gBAAA+H,CAAiB/H,GACvBQ,KAAKyG,WAAWc,iBAAiB/H,E,CAI3B,aAAAgI,CAAchI,GACpBQ,KAAKyG,WAAWe,cAAchI,E,CAIxB,iBAAAiI,CAAkBjI,GACxBQ,KAAKyG,WAAWgB,kBAAkBjI,E,CAI5B,YAAAkI,CAAalI,GACnBQ,KAAKyG,WAAWiB,aAAalI,E,CAIvB,YAAAmI,CAAanI,GACnBQ,KAAKyG,WAAWkB,aAAanI,E,CAIvB,UAAAoI,CAAWpI,GACjBQ,KAAKyG,WAAWmB,WAAWpI,E,CAIrB,aAAA+D,CAAc/D,GACpBQ,KAAKyG,WAAWlD,cAAc/D,E,CAIxB,YAAAmB,CAAanB,GACnBQ,KAAKY,oBAAoBpB,E,CAInB,WAAA2C,CAAY3C,GAClBQ,KAAKyG,WAAWtE,YAAY3C,E,CAItB,WAAA6C,CAAY7C,GAClBQ,KAAKyG,WAAWpE,YAAY7C,E,CAItB,YAAAqI,CAAarI,GACnBQ,KAAKyG,WAAWoB,aAAarI,E,CAIvB,UAAA8C,CAAW9C,GACjBQ,KAAKyG,WAAWnE,WAAW9C,E,CAIrB,gBAAAF,CAAiBE,GACvBQ,KAAKyG,WAAWnH,iBAAiBE,E,CAI3B,gBAAAmD,CAAiBnD,GACvBQ,KAAKyG,WAAW9D,iBAAiBnD,E,CAI3B,mBAAAsI,CAAoBtI,GAC1BQ,KAAKyG,WAAWqB,oBAAoBtI,E,CAI9B,mBAAAoB,CAAoBpB,GAC1BQ,KAAKyG,WAAW7F,oBAAoBpB,E,CAI9B,YAAAoD,CAAapD,GACnBQ,KAAKyG,WAAW7D,aAAapD,E,CAIvB,2BAAAuI,CAA4BvI,GAClCQ,KAAKyG,WAAWsB,4BAA4BvI,E,CAItC,gBAAAwI,CAAiBxI,GACvBQ,KAAKyG,WAAWuB,iBAAiBxI,E,CAI3B,eAAAyI,CAAgBzI,GACtBQ,KAAKyG,WAAWwB,gBAAgBzI,E,CAI1B,YAAAsD,CAAatD,GACnBQ,KAAKyG,WAAW3D,aAAatD,E,CAIvB,aAAAuD,CAAcvD,GACpBQ,KAAKyG,WAAWzD,gBAAgBxD,GAAQsB,IACvC,GAAIA,IAAM,IAAMd,KAAKqF,IAAK,CACzBrF,KAAKqF,IAAI7F,MAAQ,E,KAKb,iBAAA2D,GACNnD,KAAKkI,OAASlI,KAAKkI,SAAW,KAC9BlI,KAAKmF,SAAWnF,KAAKmF,WAAa,KAClCnF,KAAKyG,WAAWtD,oBAEhBnD,KAAKkD,MAAMyB,YAAc3E,KAAKkD,MAAMhB,OACpClC,KAAKyG,WAAW0B,wBAAwBrH,GAAOd,KAAKkD,MAAMyB,YAAc7D,G"}
@@ -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-5ab2ea42.js";import{n as s}from"./dev.utils-2f404ce5.js";import{a as n,s as l}from"./prop.validators-286b41b1.js";import{a as d}from"./reuse-c2156413.js";import{p as o}from"./controller-3213f6ba.js";import{g as r}from"./controller-108aa205.js";import{I as h}from"./controller-f3db680c.js";import"./a11y.tipps-010cc7bb.js";import"./index-37b5cbcf.js";import"./label-8596593d.js";import"./associated.controller-9d8da408.js";import"./tab-index-a7766f42.js";import"./controller-dc2f0e5c.js";import"./controller-icon-e6f72083.js";import"./icon-a0bacdc8.js";import"./suggestions-3df3e5fd.js";const u=(t,e)=>{n(t,"_multiple",e)};class p extends h{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){u(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}const c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){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}",f=class{render(){const{ariaDescribedBy:i}=r(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,l=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{email:!0,"hide-label":!!this.state._hideLabel},_alert:this.state._alert,_currentLength:this.state._currentLength,_disabled:this.state._disabled,_error:this.state._error,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_maxLength:this.state._maxLength,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,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,spellcheck:"false",type:"email",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,d(this.host,this.ref)},this.onKeyUp=t=>{l(this,"_currentLength",t.target.value.length),"Enter"===t.code?o({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hasCounter=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._maxLength=void 0,this._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._suggestions=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_currentLength:0,_hasValue:!1,_id:`id-${s()}`,_label:!1,_suggestions:[]},this.controller=new p(this,"input-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)}validateHasCounter(t){this.controller.validateHasCounter(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.validateSuggestions(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){this.controller.validateMultiple(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)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_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"],_suggestions:["validateSuggestions"],_smartButton:["validateSmartButton"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_email};
4
+ import{h as t,H as e,r as i,g as a}from"./index-5ab2ea42.js";import{n as s}from"./dev.utils-1ee29ed1.js";import{a as n,s as l}from"./prop.validators-6cf6ed2d.js";import{a as d}from"./reuse-c2156413.js";import{p as o}from"./controller-f073ed22.js";import{g as r}from"./controller-ab167bf7.js";import{I as h}from"./controller-152cc0b9.js";import"./a11y.tipps-3dbf06fc.js";import"./index-37b5cbcf.js";import"./label-162d9b49.js";import"./associated.controller-6c7440df.js";import"./tab-index-cda3bf60.js";import"./controller-d04db4dd.js";import"./controller-icon-cfbc5bbf.js";import"./icon-a7195182.js";import"./suggestions-efa371a2.js";const u=(t,e)=>{n(t,"_multiple",e)};class p extends h{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){u(this.component,t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}const c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){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}",f=class{render(){const{ariaDescribedBy:i}=r(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,l=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{email:!0,"hide-label":!!this.state._hideLabel},_alert:this.state._alert,_currentLength:this.state._currentLength,_disabled:this.state._disabled,_error:this.state._error,_hasCounter:this.state._hasCounter,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_maxLength:this.state._maxLength,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched,onClick:()=>{var t;return null===(t=this.ref)||void 0===t?void 0:t.focus()}},t("span",{slot:"label"},l?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,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,spellcheck:"false",type:"email",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:l||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,d(this.host,this.ref)},this.onKeyUp=t=>{l(this,"_currentLength",t.target.value.length),"Enter"===t.code?o({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hasCounter=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._maxLength=void 0,this._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._suggestions=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_currentLength:0,_hasValue:!1,_id:`id-${s()}`,_label:!1,_suggestions:[]},this.controller=new p(this,"input-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)}validateHasCounter(t){this.controller.validateHasCounter(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.validateSuggestions(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){this.controller.validateMultiple(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)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hasCounter:["validateHasCounter"],_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"],_suggestions:["validateSuggestions"],_smartButton:["validateSmartButton"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f 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","hasSuggestions","Array","isArray","_suggestions","length","hasExpertSlot","_label","h","Host","class","_hasValue","email","_hideLabel","_alert","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_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","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","hostRef","propagateFocus","event","setState","target","code","propagateSubmitEventToForm","form","onChange","nonce","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateList","validateSuggestions","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","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';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type MultiplePropType = boolean;\n\n/**\n * Makes the input accept multiple inputs.\n */\nexport type PropMultiple = {\n\tmultiple: MultiplePropType;\n};\n\n/* validator */\nexport const validateMultiple = (component: Generic.Element.Component, value?: MultiplePropType): void => {\n\twatchBoolean(component, '_multiple', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { MultiplePropType, validateMultiple } from '../../types/props/multiple';\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?: MultiplePropType): void {\n\t\tvalidateMultiple(this.component, 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';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { AlignPropType } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { SuggestionsPropType } from '../../types/props/suggestions';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { ComponentApi, States } from './types';\nimport { MultiplePropType } from '../../types/props/multiple';\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\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasSuggestions = Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{ email: true, 'hide-label': !!this.state._hideLabel }}\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_suggestions={this.state._suggestions}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasSuggestions ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Aktiviert den Zeichenanzahlzähler am unteren Rand des Eingabefeldes.\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t * @deprecated Use _suggestions.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Makes the input accept multiple inputs.\n\t */\n\t@Prop() public _multiple?: MultiplePropType;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Setzt das Eingabefeld in den schreibgeschützten Modus.\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche in das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * Suggestions to provide for the input.\n\t */\n\t@Prop() public _suggestions?: SuggestionsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: AlignPropType = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_hasValue: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_suggestions: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputEmailController(this, 'input-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('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.validateSuggestions(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?: MultiplePropType): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_suggestions')\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tthis.controller.validateSuggestions(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["validateMultiple","component","value","watchBoolean","InputEmailController","InputTextEmailController","constructor","name","host","super","this","componentWillLoad","_multiple","defaultStyleCss","KolInputEmail","render","ariaDescribedBy","getRenderStates","state","hasSuggestions","Array","isArray","_suggestions","length","hasExpertSlot","_label","h","Host","class","_hasValue","email","_hideLabel","_alert","_currentLength","_disabled","_error","_hasCounter","_hint","_icon","_id","_maxLength","_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","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hidden","_align","_tooltipAlign","hostRef","propagateFocus","event","setState","target","code","propagateSubmitEventToForm","form","onChange","nonce","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHasCounter","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateList","validateSuggestions","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateSyncValueBySelector","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';\n\nimport { watchBoolean } from '../../utils/prop.validators';\n\n/* types */\nexport type MultiplePropType = boolean;\n\n/**\n * Makes the input accept multiple inputs.\n */\nexport type PropMultiple = {\n\tmultiple: MultiplePropType;\n};\n\n/* validator */\nexport const validateMultiple = (component: Generic.Element.Component, value?: MultiplePropType): void => {\n\twatchBoolean(component, '_multiple', value);\n};\n","import { Generic } from '@a11y-ui/core';\n\nimport { MultiplePropType, validateMultiple } from '../../types/props/multiple';\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?: MultiplePropType): void {\n\t\tvalidateMultiple(this.component, 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';\n\nimport { Props as ButtonProps } from '../button/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { SuggestionsPropType } from '../../types/props/suggestions';\nimport { nonce } from '../../utils/dev.utils';\nimport { setState } from '../../utils/prop.validators';\nimport { propagateFocus } from '../../utils/reuse';\nimport { propagateSubmitEventToForm } from '../form/controller';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { API, States } from './types';\nimport { MultiplePropType } from '../../types/props/multiple';\nimport { SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { IdPropType } from '../../types/props/id';\nimport { NamePropType } from '../../types/props/name';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\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 API {\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\tsetState(this, '_currentLength', (event.target as HTMLInputElement).value.length);\n\t\tif (event.code === 'Enter') {\n\t\t\tpropagateSubmitEventToForm({\n\t\t\t\tform: this.host,\n\t\t\t\tref: this.ref,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.controller.onFacade.onChange(event);\n\t\t}\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDescribedBy } = getRenderStates(this.state);\n\t\tconst hasSuggestions = Array.isArray(this.state._suggestions) && this.state._suggestions.length > 0;\n\t\tconst hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={{\n\t\t\t\t\t'has-value': this.state._hasValue,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{ email: true, 'hide-label': !!this.state._hideLabel }}\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_currentLength={this.state._currentLength}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hasCounter={this.state._hasCounter}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_suggestions={this.state._suggestions}\n\t\t\t\t\t_maxLength={this.state._maxLength}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tlist={hasSuggestions ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Shows the character count on the lower border of the input.s\n\t * TODO: Change type back to `HasCounterPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _hasCounter?: boolean;\n\n\t/**\n\t * Tells the element to hide the label.\n\t * TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t * @deprecated Use _suggestions.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen maximal eingegeben werden können.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Makes the input accept multiple inputs.\n\t * TODO: Change type back to `MultiplePropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _multiple?: boolean;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfmuster (Pattern) für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Makes the input element read only.\n\t * TODO: Change type back to `ReadOnlyPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _readOnly?: boolean;\n\n\t/**\n\t * Makes the input element required.\n\t * TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _required?: boolean;\n\n\t/**\n\t * Setzt die Breite des Eingabefeldes in Buchstabenbreiten.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht eine Schaltfläche in das Eingabefeld mit einer beliebigen Aktion zu einzufügen (ohne label).\n\t */\n\t@Prop() public _smartButton?: Stringified<ButtonProps>;\n\n\t/**\n\t * Suggestions to provide for the input.\n\t */\n\t@Prop() public _suggestions?: SuggestionsPropType;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_currentLength: 0,\n\t\t_hasValue: false,\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t\t_suggestions: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputEmailController(this, 'input-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('_hasCounter')\n\tpublic validateHasCounter(value?: boolean): void {\n\t\tthis.controller.validateHasCounter(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.validateSuggestions(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?: MultiplePropType): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t@Watch('_suggestions')\n\tpublic validateSuggestions(value?: SuggestionsPropType): void {\n\t\tthis.controller.validateSuggestions(value);\n\t}\n\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\n\t\tthis.state._hasValue = !!this.state._value;\n\t\tthis.controller.addValueChangeListener((v) => (this.state._hasValue = !!v));\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as i,r as e,g as a}from"./index-5ab2ea42.js";import{n as s}from"./dev.utils-2f404ce5.js";import{s as n,t as l}from"./associated.controller-9d8da408.js";import{a as o}from"./reuse-c2156413.js";import{g as d}from"./controller-108aa205.js";import{d as r,a as h}from"./prop.validators-286b41b1.js";import{I as p}from"./controller-icon-e6f72083.js";import"./a11y.tipps-010cc7bb.js";import"./label-8596593d.js";import"./tab-index-a7766f42.js";import"./index-37b5cbcf.js";import"./icon-a0bacdc8.js";class u extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAccept(t){r(this.component,"_accept",t)}validateMultiple(t){h(this.component,"_multiple",t)}validateRequired(t){h(this.component,"_required",t)}validateValue(t){r(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 c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){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}",f=class{render(){const{ariaDescribedBy:e}=d(this.state),a=!1===this.state._label;return t(i,null,t("kol-input",{class:{file:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_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",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accept:this.state._accept,accessKey:this.state._accessKey,"aria-describedby":e.length>0?e.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){e(this,t),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this.onChange=t=>{var e;if(this.ref instanceof HTMLInputElement&&"file"===this.ref.type){const i=this.ref.files;n(t),l("change",this.host,i),this.controller.setFormAssociatedValue(i),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&this.state._on.onChange(t,i)}},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._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_id:`id-${s()}`,_label:!1},this.controller=new u(this,"input-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)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return a(this)}static get watchers(){return{_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"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_file};
4
+ import{h as t,H as e,r as i,g as a}from"./index-5ab2ea42.js";import{n as s}from"./dev.utils-1ee29ed1.js";import{s as n,t as l}from"./associated.controller-6c7440df.js";import{a as o}from"./reuse-c2156413.js";import{g as d}from"./controller-ab167bf7.js";import{d as r,a as h}from"./prop.validators-6cf6ed2d.js";import{I as p}from"./controller-icon-cfbc5bbf.js";import"./a11y.tipps-3dbf06fc.js";import"./label-162d9b49.js";import"./tab-index-cda3bf60.js";import"./index-37b5cbcf.js";import"./icon-a7195182.js";class u extends p{constructor(t,e,i){super(t,e,i),this.component=t}validateAccept(t){r(this.component,"_accept",t)}validateMultiple(t){h(this.component,"_multiple",t)}validateRequired(t){h(this.component,"_required",t)}validateValue(t){r(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 c=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){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}",f=class{render(){const{ariaDescribedBy:i}=d(this.state),a=!1===this.state._label;return t(e,null,t("kol-input",{class:{file:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_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",null):this.state._label),t("div",{slot:"input"},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-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange})),t("kol-tooltip",{"aria-hidden":"true",hidden:a||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this.onChange=t=>{var e;if(this.ref instanceof HTMLInputElement&&"file"===this.ref.type){const i=this.ref.files;n(t),l("change",this.host,i),this.controller.setFormAssociatedValue(i),"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&this.state._on.onChange(t,i)}},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._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._value=void 0,this.state={_id:`id-${s()}`,_label:!1},this.controller=new u(this,"input-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)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return a(this)}static get watchers(){return{_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"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};f.style={default:c};export{f as kol_input_file};
@@ -1 +1 @@
1
- {"version":3,"names":["InputFileController","InputIconController","constructor","component","name","host","super","this","validateAccept","value","watchString","validateMultiple","watchBoolean","validateRequired","validateValue","setFormAssociatedValue","_value","componentWillLoad","_accept","_multiple","_required","defaultStyleCss","KolInputFile","render","ariaDescribedBy","getRenderStates","state","hasExpertSlot","_label","h","Host","class","file","_hideLabel","_disabled","_error","_hint","_icon","_id","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accept","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoCorrect","disabled","id","multiple","_name","required","spellcheck","type","controller","onFacade","onChange","hidden","_align","_tooltipAlign","hostRef","propagateFocus","event","HTMLInputElement","files","stopPropagation","tryToDispatchKoliBriEvent","_on","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert"],"sources":["src/components/input-file/controller.ts","src/components/input-file/style.css?tag=kol-input-file&mode=default&encapsulation=shadow","src/components/input-file/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputFileController 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 validateAccept(value?: string): void {\n\t\twatchString(this.component, '_accept', value);\n\t}\n\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccept(this.component._accept);\n\t\tthis.validateMultiple(this.component._multiple);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\nlabel input[type='file']::-webkit-file-upload-button {\n\tdisplay: none;\n}\nlabel input[type='file']:before {\n\tcontent: 'Datei auswählen';\n}\nlabel input[multiple]:before {\n\tcontent: 'Dateien auswählen';\n}\ndiv.input {\n\tcursor: pointer;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { AlignPropType } from '../../types/props/align';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { nonce } from '../../utils/dev.utils';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../utils/events';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputFileController } from './controller';\nimport { ComponentApi, States } from './types';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-file',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputFile implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputFileElement;\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 hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tfile: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccept={this.state._accept}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputFileController;\n\n\t/**\n\t * Gibt an, welche Dateiformate erlaubt sind.\n\t */\n\t@Prop() public _accept?: string;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Deaktiviert das interaktive Element in der Komponente und erlaubt keine Interaktion mehr damit.\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Blendet die Beschriftung (Label) aus und zeigt sie stattdessen mittels eines Tooltips an.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die interne ID des primären Elements in der Komponente an.\n\t */\n\t@Prop() public _id?: string;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop() 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 * Macht das Eingabeelement zu einem Pflichtfeld.\n\t */\n\t@Prop() 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?: Stringified<ButtonProps>;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: string;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: AlignPropType = 'top';\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t@State() public state: States = {\n\t\t_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputFileController(this, 'input-file', this.host);\n\t}\n\n\t@Watch('_accept')\n\tpublic validateAccept(value?: string): void {\n\t\tthis.controller.validateAccept(value);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(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('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: string): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n\n\tprivate onChange = (event: Event): void => {\n\t\tif (this.ref instanceof HTMLInputElement && this.ref.type === 'file') {\n\t\t\tconst value = this.ref.files;\n\n\t\t\t// Event handling\n\t\t\tstopPropagation(event);\n\t\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t\t// Static form handling\n\t\t\tthis.controller.setFormAssociatedValue(value);\n\n\t\t\t// Callback\n\t\t\tif (typeof this.state._on?.onChange === 'function') {\n\t\t\t\tthis.state._on.onChange(event, value);\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":";;;kgBAMaA,UAA4BC,EAGxC,WAAAC,CAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GACvBE,KAAKJ,UAAYA,C,CAGX,cAAAK,CAAeC,GACrBC,EAAYH,KAAKJ,UAAW,UAAWM,E,CAGjC,gBAAAE,CAAiBF,GACvBG,EAAaL,KAAKJ,UAAW,YAAaM,E,CAGpC,gBAAAI,CAAiBJ,GACvBG,EAAaL,KAAKJ,UAAW,YAAaM,E,CAGpC,aAAAK,CAAcL,GACpBC,EAAYH,KAAKJ,UAAW,SAAUM,GACtCF,KAAKQ,uBAAuBR,KAAKJ,UAAUa,O,CAGrC,iBAAAC,GACNX,MAAMW,oBACNV,KAAKC,eAAeD,KAAKJ,UAAUe,SACnCX,KAAKI,iBAAiBJ,KAAKJ,UAAUgB,WACrCZ,KAAKM,iBAAiBN,KAAKJ,UAAUiB,WACrCb,KAAKO,cAAcP,KAAKJ,UAAUa,O,ECpCpC,MAAMK,EAAkB,gjE,MCyBXC,EAAY,MASjB,MAAAC,GACN,MAAMC,gBAAEA,GAAoBC,EAAgBlB,KAAKmB,OACjD,MAAMC,EAAgBpB,KAAKmB,MAAME,SAAW,MAE5C,OACCC,EAACC,EAAI,KACJD,EAAA,aACCE,MAAO,CACNC,KAAM,KACN,eAAgBzB,KAAKmB,MAAMO,YAE5BC,UAAW3B,KAAKmB,MAAMQ,UACtBC,OAAQ5B,KAAKmB,MAAMS,OACnBF,WAAY1B,KAAKmB,MAAMO,WACvBG,MAAO7B,KAAKmB,MAAMU,MAClBC,MAAO9B,KAAKmB,MAAMW,MAClBC,IAAK/B,KAAKmB,MAAMY,IAChBlB,UAAWb,KAAKmB,MAAMN,UACtBmB,aAAchC,KAAKmB,MAAMa,aACzBC,SAAUjC,KAAKmB,MAAMc,SACrBC,QAAS,SAAAC,EAAM,OAAAA,EAAAnC,KAAKoC,OAAG,MAAAD,SAAA,SAAAA,EAAEE,OAAO,GAGhCf,EAAA,QAAMgB,KAAK,SAASlB,EAAgBE,EAAA,aAAgBtB,KAAKmB,MAAME,QAC/DC,EAAA,OAAKgB,KAAK,SACThB,EAAA,QAAAiB,OAAAC,OAAA,CACCJ,IAAKpC,KAAKyC,SACVC,MAAM,GACNC,OAAQ3C,KAAKmB,MAAMR,QACnBiC,UAAW5C,KAAKmB,MAAM0B,WAAU,mBACd5B,EAAgB6B,OAAS,EAAI7B,EAAgB8B,KAAK,KAAOC,UAAS,aACxEhD,KAAKmB,MAAMO,mBAAqB1B,KAAKmB,MAAME,SAAW,SAAWrB,KAAKmB,MAAME,OAAS2B,UACjGC,eAAe,MACfC,YAAY,MACZC,SAAUnD,KAAKmB,MAAMQ,UACrByB,GAAIpD,KAAKmB,MAAMY,IACfsB,SAAUrD,KAAKmB,MAAMP,UACrBf,KAAMG,KAAKmB,MAAMmC,MACjBC,SAAUvD,KAAKmB,MAAMN,UACrB2C,WAAW,QACXC,KAAK,OACLvD,MAAOF,KAAKmB,MAAMV,QACdT,KAAK0D,WAAWC,SAAQ,CAC5BC,SAAU5D,KAAK4D,YAEhBtC,EAAA,6BAKa,OACZuC,OAAQzC,IAAkBpB,KAAKmB,MAAMO,WACrCoC,OAAQ9D,KAAK+D,cACb1C,cAAerB,KAAKmB,MAAME,SAAW,SAAWrB,KAAKmB,MAAME,OAAS,O,CAoH1E,WAAA1B,CAAAqE,G,UA9KiBhE,KAAAyC,SAAYL,IAC5BpC,KAAKoC,IAAMA,EACX6B,EAAejE,KAAKF,KAAME,KAAKoC,IAAI,EAqR5BpC,KAAA4D,SAAYM,I,MACnB,GAAIlE,KAAKoC,eAAe+B,kBAAoBnE,KAAKoC,IAAIqB,OAAS,OAAQ,CACrE,MAAMvD,EAAQF,KAAKoC,IAAIgC,MAGvBC,EAAgBH,GAChBI,EAA0B,SAAUtE,KAAKF,KAAMI,GAG/CF,KAAK0D,WAAWlD,uBAAuBN,GAGvC,WAAWiC,EAAAnC,KAAKmB,MAAMoD,OAAG,MAAApC,SAAA,SAAAA,EAAEyB,YAAa,WAAY,CACnD5D,KAAKmB,MAAMoD,IAAIX,SAASM,EAAOhE,E,iEAnNgC,K,oFAoBlC,G,oQAwDe,M,cAKqB,M,iCAOpC,CAC/B6B,IAAK,MAAMyC,MACXnD,OAAQ,OAIRrB,KAAK0D,WAAa,IAAIjE,EAAoBO,KAAM,aAAcA,KAAKF,K,CAI7D,cAAAG,CAAeC,GACrBF,KAAK0D,WAAWzD,eAAeC,E,CAIzB,iBAAAuE,CAAkBvE,GACxBF,KAAK0D,WAAWe,kBAAkBvE,E,CAI5B,aAAAwE,CAAcxE,GACpBF,KAAK0D,WAAWgB,cAAcxE,E,CAIxB,gBAAAyE,CAAiBzE,GACvBF,KAAK0D,WAAWiB,iBAAiBzE,E,CAI3B,aAAA0E,CAAc1E,GACpBF,KAAK0D,WAAWkB,cAAc1E,E,CAIxB,iBAAA2E,CAAkB3E,GACxBF,KAAK0D,WAAWmB,kBAAkB3E,E,CAI5B,YAAA4E,CAAa5E,GACnBF,KAAK0D,WAAWoB,aAAa5E,E,CAIvB,YAAA6E,CAAa7E,GACnBF,KAAK0D,WAAWqB,aAAa7E,E,CAIvB,UAAA8E,CAAW9E,GACjBF,KAAK0D,WAAWsB,WAAW9E,E,CAIrB,aAAA+E,CAAc/E,GACpBF,KAAK0D,WAAWuB,cAAc/E,E,CAIxB,gBAAAE,CAAiBF,GACvBF,KAAK0D,WAAWtD,iBAAiBF,E,CAI3B,YAAAgF,CAAahF,GACnBF,KAAK0D,WAAWwB,aAAahF,E,CAIvB,UAAAiF,CAAWjF,GACjBF,KAAK0D,WAAWyB,WAAWjF,E,CAIrB,gBAAAI,CAAiBJ,GACvBF,KAAK0D,WAAWpD,iBAAiBJ,E,CAI3B,mBAAAkF,CAAoBlF,GAC1BF,KAAK0D,WAAW0B,oBAAoBlF,E,CAI9B,2BAAAmF,CAA4BnF,GAClCF,KAAK0D,WAAW2B,4BAA4BnF,E,CAItC,gBAAAoF,CAAiBpF,GACvBF,KAAK0D,WAAW4B,iBAAiBpF,E,CAI3B,eAAAqF,CAAgBrF,GACtBF,KAAK0D,WAAW6B,gBAAgBrF,E,CAI1B,aAAAK,CAAcL,GACpBF,KAAK0D,WAAWnD,cAAcL,E,CAGxB,iBAAAQ,GACNV,KAAKwF,OAASxF,KAAKwF,SAAW,KAC9BxF,KAAKiC,SAAWjC,KAAKiC,WAAa,KAClCjC,KAAK0D,WAAWhD,mB"}
1
+ {"version":3,"names":["InputFileController","InputIconController","constructor","component","name","host","super","this","validateAccept","value","watchString","validateMultiple","watchBoolean","validateRequired","validateValue","setFormAssociatedValue","_value","componentWillLoad","_accept","_multiple","_required","defaultStyleCss","KolInputFile","render","ariaDescribedBy","getRenderStates","state","hasExpertSlot","_label","h","Host","class","file","_hideLabel","_disabled","_error","_hint","_icon","_id","_smartButton","_touched","onClick","_a","ref","focus","slot","Object","assign","catchRef","title","accept","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoCorrect","disabled","id","multiple","_name","required","spellcheck","type","controller","onFacade","onChange","hidden","_align","_tooltipAlign","hostRef","propagateFocus","event","HTMLInputElement","files","stopPropagation","tryToDispatchKoliBriEvent","_on","nonce","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateLabel","validateName","validateOn","validateSmartButton","validateSyncValueBySelector","validateTabIndex","validateTouched","_alert"],"sources":["src/components/input-file/controller.ts","src/components/input-file/style.css?tag=kol-input-file&mode=default&encapsulation=shadow","src/components/input-file/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\n\nimport { watchBoolean, watchString } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputFileController 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 validateAccept(value?: string): void {\n\t\twatchString(this.component, '_accept', value);\n\t}\n\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\tpublic validateValue(value?: string): void {\n\t\twatchString(this.component, '_value', value);\n\t\tthis.setFormAssociatedValue(this.component._value as string);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAccept(this.component._accept);\n\t\tthis.validateMultiple(this.component._multiple);\n\t\tthis.validateRequired(this.component._required);\n\t\tthis.validateValue(this.component._value);\n\t}\n}\n","@import url(../input-line.css);\nlabel input[type='file']::-webkit-file-upload-button {\n\tdisplay: none;\n}\nlabel input[type='file']:before {\n\tcontent: 'Datei auswählen';\n}\nlabel input[multiple]:before {\n\tcontent: 'Dateien auswählen';\n}\ndiv.input {\n\tcursor: pointer;\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\n\nimport { Props as ButtonProps } from '../button/types';\nimport { Stringified } from '../../types/common';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { LabelWithExpertSlotPropType } from '../../types/props/label';\nimport { nonce } from '../../utils/dev.utils';\nimport { stopPropagation, tryToDispatchKoliBriEvent } from '../../utils/events';\nimport { propagateFocus } from '../../utils/reuse';\nimport { getRenderStates } from '../input/controller';\nimport { InputFileController } from './controller';\nimport { API, States } from './types';\nimport { SyncValueBySelectorPropType } from '../../types/props/sync-value-by-selector';\nimport { TooltipAlignPropType } from '../../types/props/tooltip-align';\nimport { IdPropType } from '../../types/props/id';\nimport { NamePropType } from '../../types/props/name';\n\n/**\n * @slot - Die Beschriftung des Eingabefeldes.\n */\n@Component({\n\ttag: 'kol-input-file',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputFile implements API {\n\t@Element() private readonly host?: HTMLKolInputFileElement;\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 hasExpertSlot = this.state._label === false; // _label=\"\" or _label\n\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\tclass={{\n\t\t\t\t\t\tfile: true,\n\t\t\t\t\t\t'hide-label': !!this.state._hideLabel,\n\t\t\t\t\t}}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t\tonClick={() => this.ref?.focus()}\n\t\t\t\t>\n\t\t\t\t\t{/* TODO: der folgende Slot ohne Name muss später entfernt werden */}\n\t\t\t\t\t<span slot=\"label\">{hasExpertSlot ? <slot></slot> : this.state._label}</span>\n\t\t\t\t\t<div slot=\"input\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\t\taccept={this.state._accept}\n\t\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\t\taria-describedby={ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined}\n\t\t\t\t\t\t\taria-label={this.state._hideLabel && typeof this.state._label === 'string' ? this.state._label : undefined}\n\t\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<kol-tooltip\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Dieses Aria-Hidden verhindert das doppelte Vorlesen des Labels,\n\t\t\t\t\t\t\t * verhindert aber nicht das Aria-Labelledby vorgelesen wird.\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\thidden={hasExpertSlot || !this.state._hideLabel}\n\t\t\t\t\t\t\t_align={this._tooltipAlign}\n\t\t\t\t\t\t\t_label={typeof this.state._label === 'string' ? this.state._label : ''}\n\t\t\t\t\t\t></kol-tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputFileController;\n\n\t/**\n\t * Gibt an, welche Dateiformate erlaubt sind.\n\t */\n\t@Prop() public _accept?: string;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das interaktive Element der Komponente auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob der Screenreader die Meldung aktiv vorlesen soll.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Makes the element not focusable and ignore all events.\n\t * TODO: Change type back to `DisabledPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Tells the element to hide the label.\n\t * TODO: Change type back to `HideLabelPropType` after Stencil#4663 has been resolved.\n\t */\n\t@Prop() public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Setzt die Iconklasse (z.B.: `_icon=\"codicon codicon-home`).\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Defines the internal ID of the primary component element.\n\t */\n\t@Prop() public _id?: IdPropType;\n\n\t/**\n\t * Setzt die sichtbare oder semantische Beschriftung der Komponente (z.B. Aria-Label, Label, Headline, Caption, Summary usw.).\n\t */\n\t@Prop() public _label!: LabelWithExpertSlotPropType;\n\n\t/**\n\t * Makes the input accept multiple inputs.\n\t * TODO: Change type back to `MultiplePropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() public _multiple?: boolean;\n\n\t/**\n\t * Defines the technical name of an input field.\n\t */\n\t@Prop() public _name?: NamePropType;\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 * Makes the input element required.\n\t * TODO: Change type back to `RequiredPropType` after Stencil#4663 has been resolved\n\t */\n\t@Prop() 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?: Stringified<ButtonProps>;\n\n\t/**\n\t * Selector for synchronizing the value with another input element.\n\t * @internal\n\t */\n\t@Prop() public _syncValueBySelector?: SyncValueBySelectorPropType;\n\n\t/**\n\t * Gibt an, welchen Tab-Index das primäre Element in der Komponente hat. (https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex)\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Defines where to show the Tooltip preferably: top, right, bottom or left.\n\t */\n\t@Prop() public _tooltipAlign?: TooltipAlignPropType = 'top';\n\n\t/**\n\t * Shows if the input was touched by a user.\n\t * TODO: Change type back to `TouchedPropType` after Stencil#4663 has been resolved\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_id: `id-${nonce()}`, // ⚠ required\n\t\t_label: false, // ⚠ required\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputFileController(this, 'input-file', this.host);\n\t}\n\n\t@Watch('_accept')\n\tpublic validateAccept(value?: string): void {\n\t\tthis.controller.validateAccept(value);\n\t}\n\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t@Watch('_label')\n\tpublic validateLabel(value?: LabelWithExpertSlotPropType): void {\n\t\tthis.controller.validateLabel(value);\n\t}\n\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(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('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t@Watch('_syncValueBySelector')\n\tpublic validateSyncValueBySelector(value?: SyncValueBySelectorPropType): void {\n\t\tthis.controller.validateSyncValueBySelector(value);\n\t}\n\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n\n\tprivate onChange = (event: Event): void => {\n\t\tif (this.ref instanceof HTMLInputElement && this.ref.type === 'file') {\n\t\t\tconst value = this.ref.files;\n\n\t\t\t// Event handling\n\t\t\tstopPropagation(event);\n\t\t\ttryToDispatchKoliBriEvent('change', this.host, value);\n\n\t\t\t// Static form handling\n\t\t\tthis.controller.setFormAssociatedValue(value);\n\n\t\t\t// Callback\n\t\t\tif (typeof this.state._on?.onChange === 'function') {\n\t\t\t\tthis.state._on.onChange(event, value);\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as e,r as i,g as s}from"./index-5ab2ea42.js";import{n as a}from"./dev.utils-2f404ce5.js";import{a as n}from"./reuse-c2156413.js";import{p as l}from"./controller-3213f6ba.js";import{g as d}from"./controller-108aa205.js";import{v as o}from"./suggestions-3df3e5fd.js";import{w as h,d as r,a as p,e as u}from"./prop.validators-286b41b1.js";import{I as c}from"./controller-icon-e6f72083.js";import"./a11y.tipps-010cc7bb.js";import"./label-8596593d.js";import"./associated.controller-9d8da408.js";import"./tab-index-a7766f42.js";import"./index-37b5cbcf.js";import"./icon-a0bacdc8.js";class f extends c{constructor(t,e,i){super(t,e,i),this.numberOrIsoDateRegex=/^\d+$|(^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])([T ][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?([+-][0-2]\d:[0-5]\d|Z)?)?$)|(^[0-2]\d:[0-5]\d(:[0-5]\d)?$)/,this.parseToString=t=>"string"==typeof t?t:"number"==typeof t?`${t}`:"object"==typeof t&&t instanceof Date?t.toISOString():"",this.validateIso8601=(t,e,i)=>{const a=parseFloat(e),s=a==e;return h(this.component,t,(t=>void 0===t||""===t||s&&"number"==typeof a||this.numberOrIsoDateRegex.test(t)),new Set(["number","Date","string{ISO-8601}"]),this.parseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&i&&i(t)}}})},this.component=t}validateAutoComplete(t){h(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(){}validateSuggestions(t){o(this.component,t)}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){r(this.component,"_placeholder",t)}validateReadOnly(t){p(this.component,"_readOnly",t)}validateRequired(t){p(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){h(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateSuggestions(this.component._suggestions||this.component._list),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}const m=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}",y=class{render(){const{ariaDescribedBy:i}=d(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,s=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._suggestions=void 0,this._step=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:`id-${a()}`,_label:!1,_suggestions:[],_type:"number"},this.controller=new f(this,"input-number",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.validateSuggestions(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return s(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_suggestions:["validateSuggestions"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:m};export{y as kol_input_number};
4
+ import{h as t,H as e,r as i,g as s}from"./index-5ab2ea42.js";import{n as a}from"./dev.utils-1ee29ed1.js";import{a as n}from"./reuse-c2156413.js";import{p as l}from"./controller-f073ed22.js";import{g as d}from"./controller-ab167bf7.js";import{v as o}from"./suggestions-efa371a2.js";import{w as h,d as r,a as p,e as u}from"./prop.validators-6cf6ed2d.js";import{I as c}from"./controller-icon-cfbc5bbf.js";import"./a11y.tipps-3dbf06fc.js";import"./label-162d9b49.js";import"./associated.controller-6c7440df.js";import"./tab-index-cda3bf60.js";import"./index-37b5cbcf.js";import"./icon-a7195182.js";class f extends c{constructor(t,e,i){super(t,e,i),this.numberOrIsoDateRegex=/^\d+$|(^\d{4}-([0]\d|1[0-2])-([0-2]\d|3[01])([T ][0-2]\d:[0-5]\d:[0-5]\d(?:\.\d+)?([+-][0-2]\d:[0-5]\d|Z)?)?$)|(^[0-2]\d:[0-5]\d(:[0-5]\d)?$)/,this.parseToString=t=>"string"==typeof t?t:"number"==typeof t?`${t}`:"object"==typeof t&&t instanceof Date?t.toISOString():"",this.validateIso8601=(t,e,i)=>{const a=parseFloat(e),s=a==e;return h(this.component,t,(t=>void 0===t||""===t||s&&"number"==typeof a||this.numberOrIsoDateRegex.test(t)),new Set(["number","Date","string{ISO-8601}"]),this.parseToString(e),{hooks:{afterPatch:t=>{"string"==typeof t&&i&&i(t)}}})},this.component=t}validateAutoComplete(t){h(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(){}validateSuggestions(t){o(this.component,t)}onChange(t){super.onChange(t),!!t.target.value!=!!this.component._value&&(this.component._value=t.target.value)}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){r(this.component,"_placeholder",t)}validateReadOnly(t){p(this.component,"_readOnly",t)}validateRequired(t){p(this.component,"_required",t)}validateStep(t){u(this.component,"_step",t)}validateType(t){h(this.component,"_type",(t=>"string"==typeof t&&("date"===t||"datetime-local"===t||"month"===t||"number"===t||"time"===t||"week"===t)),new Set(["String {date, datetime-local, month, number, time, week}"]),t)}validateValue(t){this.validateValueEx(t)}validateValueEx(t,e){this.validateIso8601("_value",t,e),this.setFormAssociatedValue(this.component.state._value)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateSuggestions(this.component._suggestions||this.component._list),this.validatePlaceholder(this.component._placeholder),this.validateReadOnly(this.component._readOnly),this.validateRequired(this.component._required),this.validateStep(this.component._step),this.validateType(this.component._type),this.validateValue(this.component._value)}}const m=":host{--a11y-min-size:44px;font-size:inherit}*{hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}[role='button'],button:not([role='link']),kol-input .input{min-height:var(--a11y-min-size);min-width:var(--a11y-min-size)}a,button,h1,h2,h3,h4,h5,h6,input,option,select,textarea{font-family:inherit;font-size:inherit}:is(a,button){background-color:transparent;border:none;margin:0;padding:0;width:100%;}:host{max-width:100%}*{box-sizing:border-box}kol-span-wc{display:grid;place-items:center}kol-span-wc>span{display:flex;place-items:center}a,button{cursor:pointer}button,input,option,select,textarea{font-family:inherit}.icon-only>kol-span-wc>span>span{display:none}.required label>span::after,.required legend>span::after{content:'*'}:host{display:block}input,textarea{cursor:text}input[type='checkbox'],input[type='color'],input[type='file'],input[type='radio'],input[type='range'],label,option,select{cursor:pointer}input[type='color'],input[type='date'],input[type='datetime-local'],input[type='email'],input[type='file'],input[type='month'],input[type='number'],input[type='password'],input[type='search'],input[type='tel'],input[type='text'],input[type='time'],input[type='url'],input[type='week'],select:not([multiple]),select[multiple] option,textarea{font-size:1rem;width:100%}input[type='file']{padding:calc((var(--a11y-min-size) - 1rem) / 10) 0.5em}select[multiple] option{padding:calc((var(--a11y-min-size) - 1rem) / 2) 0.5em}kol-input.disabled :is(button,input,label,option,select,textarea){cursor:not-allowed;opacity:0.5}kol-input{display:grid}kol-input [slot='input']{flex-grow:1}input:not([type='checkbox'],[type='radio']),select:not([multiple],[size]){height:2.75em}input:focus,option:focus,select:focus,textarea:focus{outline:0}.input{display:flex;align-items:center}.input>kol-icon{display:grid;height:var(--a11y-min-size);place-items:center}",y=class{render(){const{ariaDescribedBy:i}=d(this.state),a=Array.isArray(this.state._suggestions)&&this.state._suggestions.length>0,s=!1===this.state._label;return t(e,{class:{"has-value":this.state._hasValue}},t("kol-input",{class:{[this.state._type]:!0,"hide-label":!!this.state._hideLabel},_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_suggestions:this.state._suggestions,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},s?t("slot",null):this.state._label),t("div",{slot:"input"},t("input",Object.assign({ref:this.catchRef,title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-label":this.state._hideLabel&&"string"==typeof this.state._label?this.state._label:void 0,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp})),t("kol-tooltip",{"aria-hidden":"true",hidden:s||!this.state._hideLabel,_align:this._tooltipAlign,_label:"string"==typeof this.state._label?this.state._label:""}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,n(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?l({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._label=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._suggestions=void 0,this._step=void 0,this._syncValueBySelector=void 0,this._tabIndex=void 0,this._tooltipAlign="top",this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_hasValue:!1,_id:`id-${a()}`,_label:!1,_suggestions:[],_type:"number"},this.controller=new f(this,"input-number",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateLabel(t){this.controller.validateLabel(t)}validateList(t){this.validateSuggestions(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateSuggestions(t){this.controller.validateSuggestions(t)}validateStep(t){this.controller.validateStep(t)}validateSyncValueBySelector(t){this.controller.validateSyncValueBySelector(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad(),this.state._hasValue=!!this.state._value,this.controller.addValueChangeListener((t=>this.state._hasValue=!!t))}get host(){return s(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_label:["validateLabel"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_suggestions:["validateSuggestions"],_step:["validateStep"],_syncValueBySelector:["validateSyncValueBySelector"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};y.style={default:m};export{y as kol_input_number};