@public-ui/components 1.4.0 → 1.4.1-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/cheat-sheet.html +6 -6
  2. package/custom-elements.json +1 -1
  3. package/dist/cjs/kol-abbr.cjs.entry.js +1 -1
  4. package/dist/cjs/kol-abbr.cjs.entry.js.map +1 -1
  5. package/dist/cjs/kol-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/kol-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/kol-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/kol-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/kol-badge.cjs.entry.js +1 -1
  10. package/dist/cjs/kol-badge.cjs.entry.js.map +1 -1
  11. package/dist/cjs/kol-breadcrumb.cjs.entry.js +1 -1
  12. package/dist/cjs/kol-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/kol-button-group.cjs.entry.js +1 -1
  14. package/dist/cjs/kol-button-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/kol-button-link.cjs.entry.js +1 -1
  16. package/dist/cjs/kol-button-link.cjs.entry.js.map +1 -1
  17. package/dist/cjs/kol-button.cjs.entry.js +1 -1
  18. package/dist/cjs/kol-button.cjs.entry.js.map +1 -1
  19. package/dist/cjs/kol-card.cjs.entry.js +1 -1
  20. package/dist/cjs/kol-card.cjs.entry.js.map +1 -1
  21. package/dist/cjs/kol-details.cjs.entry.js +1 -1
  22. package/dist/cjs/kol-details.cjs.entry.js.map +1 -1
  23. package/dist/cjs/kol-heading.cjs.entry.js +1 -1
  24. package/dist/cjs/kol-heading.cjs.entry.js.map +1 -1
  25. package/dist/cjs/kol-indented-text.cjs.entry.js +1 -1
  26. package/dist/cjs/kol-indented-text.cjs.entry.js.map +1 -1
  27. package/dist/cjs/kol-input-checkbox.cjs.entry.js +1 -1
  28. package/dist/cjs/kol-input-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/kol-input-color.cjs.entry.js +1 -1
  30. package/dist/cjs/kol-input-color.cjs.entry.js.map +1 -1
  31. package/dist/cjs/kol-input-date.cjs.entry.js +1 -1
  32. package/dist/cjs/kol-input-date.cjs.entry.js.map +1 -1
  33. package/dist/cjs/kol-input-email.cjs.entry.js +1 -1
  34. package/dist/cjs/kol-input-email.cjs.entry.js.map +1 -1
  35. package/dist/cjs/kol-input-file.cjs.entry.js +1 -1
  36. package/dist/cjs/kol-input-file.cjs.entry.js.map +1 -1
  37. package/dist/cjs/kol-input-number.cjs.entry.js +1 -1
  38. package/dist/cjs/kol-input-number.cjs.entry.js.map +1 -1
  39. package/dist/cjs/kol-input-password.cjs.entry.js +1 -1
  40. package/dist/cjs/kol-input-password.cjs.entry.js.map +1 -1
  41. package/dist/cjs/kol-input-radio.cjs.entry.js +1 -1
  42. package/dist/cjs/kol-input-radio.cjs.entry.js.map +1 -1
  43. package/dist/cjs/kol-input-range.cjs.entry.js +1 -1
  44. package/dist/cjs/kol-input-range.cjs.entry.js.map +1 -1
  45. package/dist/cjs/kol-input-text.cjs.entry.js +1 -1
  46. package/dist/cjs/kol-input-text.cjs.entry.js.map +1 -1
  47. package/dist/cjs/kol-kolibri.cjs.entry.js +1 -1
  48. package/dist/cjs/kol-kolibri.cjs.entry.js.map +1 -1
  49. package/dist/cjs/kol-link-button.cjs.entry.js +1 -1
  50. package/dist/cjs/kol-link-button.cjs.entry.js.map +1 -1
  51. package/dist/cjs/kol-link-group.cjs.entry.js +1 -1
  52. package/dist/cjs/kol-link-group.cjs.entry.js.map +1 -1
  53. package/dist/cjs/kol-link.cjs.entry.js +1 -1
  54. package/dist/cjs/kol-link.cjs.entry.js.map +1 -1
  55. package/dist/cjs/kol-logo.cjs.entry.js +1 -1
  56. package/dist/cjs/kol-logo.cjs.entry.js.map +1 -1
  57. package/dist/cjs/kol-modal.cjs.entry.js +1 -1
  58. package/dist/cjs/kol-modal.cjs.entry.js.map +1 -1
  59. package/dist/cjs/kol-nav.cjs.entry.js +1 -1
  60. package/dist/cjs/kol-nav.cjs.entry.js.map +1 -1
  61. package/dist/cjs/kol-pagination.cjs.entry.js +1 -1
  62. package/dist/cjs/kol-pagination.cjs.entry.js.map +1 -1
  63. package/dist/cjs/kol-progress.cjs.entry.js +1 -1
  64. package/dist/cjs/kol-progress.cjs.entry.js.map +1 -1
  65. package/dist/cjs/kol-select.cjs.entry.js +1 -1
  66. package/dist/cjs/kol-select.cjs.entry.js.map +1 -1
  67. package/dist/cjs/kol-skip-nav.cjs.entry.js +1 -1
  68. package/dist/cjs/kol-skip-nav.cjs.entry.js.map +1 -1
  69. package/dist/cjs/kol-span.cjs.entry.js +1 -1
  70. package/dist/cjs/kol-span.cjs.entry.js.map +1 -1
  71. package/dist/cjs/kol-spin.cjs.entry.js +1 -1
  72. package/dist/cjs/kol-spin.cjs.entry.js.map +1 -1
  73. package/dist/cjs/kol-table.cjs.entry.js +1 -1
  74. package/dist/cjs/kol-table.cjs.entry.js.map +1 -1
  75. package/dist/cjs/kol-tabs.cjs.entry.js +1 -1
  76. package/dist/cjs/kol-tabs.cjs.entry.js.map +1 -1
  77. package/dist/cjs/kol-textarea.cjs.entry.js +1 -1
  78. package/dist/cjs/kol-textarea.cjs.entry.js.map +1 -1
  79. package/dist/cjs/kol-toast.cjs.entry.js +1 -1
  80. package/dist/cjs/kol-toast.cjs.entry.js.map +1 -1
  81. package/dist/cjs/kol-tooltip.cjs.entry.js +1 -1
  82. package/dist/cjs/kol-tooltip.cjs.entry.js.map +1 -1
  83. package/dist/cjs/kol-version.cjs.entry.js +1 -1
  84. package/dist/cjs/kol-version.cjs.entry.js.map +1 -1
  85. package/dist/components/component.js +1 -1
  86. package/dist/components/component.js.map +1 -1
  87. package/dist/components/component10.js +1 -1
  88. package/dist/components/component10.js.map +1 -1
  89. package/dist/components/component11.js +1 -1
  90. package/dist/components/component11.js.map +1 -1
  91. package/dist/components/component12.js +1 -1
  92. package/dist/components/component12.js.map +1 -1
  93. package/dist/components/component13.js +1 -1
  94. package/dist/components/component13.js.map +1 -1
  95. package/dist/components/component5.js +1 -1
  96. package/dist/components/component5.js.map +1 -1
  97. package/dist/components/component8.js +1 -1
  98. package/dist/components/component8.js.map +1 -1
  99. package/dist/components/kol-abbr.js +1 -1
  100. package/dist/components/kol-abbr.js.map +1 -1
  101. package/dist/components/kol-accordion.js +1 -1
  102. package/dist/components/kol-accordion.js.map +1 -1
  103. package/dist/components/kol-breadcrumb.js +1 -1
  104. package/dist/components/kol-breadcrumb.js.map +1 -1
  105. package/dist/components/kol-button-group.js +1 -1
  106. package/dist/components/kol-button-group.js.map +1 -1
  107. package/dist/components/kol-button-link.js +1 -1
  108. package/dist/components/kol-button-link.js.map +1 -1
  109. package/dist/components/kol-card.js +1 -1
  110. package/dist/components/kol-card.js.map +1 -1
  111. package/dist/components/kol-details.js +1 -1
  112. package/dist/components/kol-details.js.map +1 -1
  113. package/dist/components/kol-heading.js +1 -1
  114. package/dist/components/kol-heading.js.map +1 -1
  115. package/dist/components/kol-input-checkbox.js +1 -1
  116. package/dist/components/kol-input-checkbox.js.map +1 -1
  117. package/dist/components/kol-input-color.js +1 -1
  118. package/dist/components/kol-input-color.js.map +1 -1
  119. package/dist/components/kol-input-date.js +1 -1
  120. package/dist/components/kol-input-date.js.map +1 -1
  121. package/dist/components/kol-input-email.js +1 -1
  122. package/dist/components/kol-input-email.js.map +1 -1
  123. package/dist/components/kol-input-file.js +1 -1
  124. package/dist/components/kol-input-file.js.map +1 -1
  125. package/dist/components/kol-input-password.js +1 -1
  126. package/dist/components/kol-input-password.js.map +1 -1
  127. package/dist/components/kol-input-range.js +1 -1
  128. package/dist/components/kol-input-range.js.map +1 -1
  129. package/dist/components/kol-input-text.js +1 -1
  130. package/dist/components/kol-input-text.js.map +1 -1
  131. package/dist/components/kol-kolibri.js +1 -1
  132. package/dist/components/kol-kolibri.js.map +1 -1
  133. package/dist/components/kol-link-button.js +1 -1
  134. package/dist/components/kol-link-button.js.map +1 -1
  135. package/dist/components/kol-link-group.js +1 -1
  136. package/dist/components/kol-link-group.js.map +1 -1
  137. package/dist/components/kol-logo.js +1 -1
  138. package/dist/components/kol-logo.js.map +1 -1
  139. package/dist/components/kol-modal.js +1 -1
  140. package/dist/components/kol-modal.js.map +1 -1
  141. package/dist/components/kol-nav.js +1 -1
  142. package/dist/components/kol-nav.js.map +1 -1
  143. package/dist/components/kol-progress.js +1 -1
  144. package/dist/components/kol-progress.js.map +1 -1
  145. package/dist/components/kol-skip-nav.js +1 -1
  146. package/dist/components/kol-skip-nav.js.map +1 -1
  147. package/dist/components/kol-span.js +1 -1
  148. package/dist/components/kol-span.js.map +1 -1
  149. package/dist/components/kol-spin.js +1 -1
  150. package/dist/components/kol-spin.js.map +1 -1
  151. package/dist/components/kol-table.js +1 -1
  152. package/dist/components/kol-table.js.map +1 -1
  153. package/dist/components/kol-tabs.js +1 -1
  154. package/dist/components/kol-tabs.js.map +1 -1
  155. package/dist/components/kol-textarea.js +1 -1
  156. package/dist/components/kol-textarea.js.map +1 -1
  157. package/dist/components/kol-toast.js +1 -1
  158. package/dist/components/kol-toast.js.map +1 -1
  159. package/dist/components/kol-version.js +1 -1
  160. package/dist/components/kol-version.js.map +1 -1
  161. package/dist/components/shadow.js +1 -1
  162. package/dist/components/shadow.js.map +1 -1
  163. package/dist/components/shadow2.js +1 -1
  164. package/dist/components/shadow2.js.map +1 -1
  165. package/dist/esm/kol-abbr.entry.js +1 -1
  166. package/dist/esm/kol-abbr.entry.js.map +1 -1
  167. package/dist/esm/kol-accordion.entry.js +1 -1
  168. package/dist/esm/kol-accordion.entry.js.map +1 -1
  169. package/dist/esm/kol-alert.entry.js +1 -1
  170. package/dist/esm/kol-alert.entry.js.map +1 -1
  171. package/dist/esm/kol-badge.entry.js +1 -1
  172. package/dist/esm/kol-badge.entry.js.map +1 -1
  173. package/dist/esm/kol-breadcrumb.entry.js +1 -1
  174. package/dist/esm/kol-breadcrumb.entry.js.map +1 -1
  175. package/dist/esm/kol-button-group.entry.js +1 -1
  176. package/dist/esm/kol-button-group.entry.js.map +1 -1
  177. package/dist/esm/kol-button-link.entry.js +1 -1
  178. package/dist/esm/kol-button-link.entry.js.map +1 -1
  179. package/dist/esm/kol-button.entry.js +1 -1
  180. package/dist/esm/kol-button.entry.js.map +1 -1
  181. package/dist/esm/kol-card.entry.js +1 -1
  182. package/dist/esm/kol-card.entry.js.map +1 -1
  183. package/dist/esm/kol-details.entry.js +1 -1
  184. package/dist/esm/kol-details.entry.js.map +1 -1
  185. package/dist/esm/kol-heading.entry.js +1 -1
  186. package/dist/esm/kol-heading.entry.js.map +1 -1
  187. package/dist/esm/kol-indented-text.entry.js +1 -1
  188. package/dist/esm/kol-indented-text.entry.js.map +1 -1
  189. package/dist/esm/kol-input-checkbox.entry.js +1 -1
  190. package/dist/esm/kol-input-checkbox.entry.js.map +1 -1
  191. package/dist/esm/kol-input-color.entry.js +1 -1
  192. package/dist/esm/kol-input-color.entry.js.map +1 -1
  193. package/dist/esm/kol-input-date.entry.js +1 -1
  194. package/dist/esm/kol-input-date.entry.js.map +1 -1
  195. package/dist/esm/kol-input-email.entry.js +1 -1
  196. package/dist/esm/kol-input-email.entry.js.map +1 -1
  197. package/dist/esm/kol-input-file.entry.js +1 -1
  198. package/dist/esm/kol-input-file.entry.js.map +1 -1
  199. package/dist/esm/kol-input-number.entry.js +1 -1
  200. package/dist/esm/kol-input-number.entry.js.map +1 -1
  201. package/dist/esm/kol-input-password.entry.js +1 -1
  202. package/dist/esm/kol-input-password.entry.js.map +1 -1
  203. package/dist/esm/kol-input-radio.entry.js +1 -1
  204. package/dist/esm/kol-input-radio.entry.js.map +1 -1
  205. package/dist/esm/kol-input-range.entry.js +1 -1
  206. package/dist/esm/kol-input-range.entry.js.map +1 -1
  207. package/dist/esm/kol-input-text.entry.js +1 -1
  208. package/dist/esm/kol-input-text.entry.js.map +1 -1
  209. package/dist/esm/kol-kolibri.entry.js +1 -1
  210. package/dist/esm/kol-kolibri.entry.js.map +1 -1
  211. package/dist/esm/kol-link-button.entry.js +1 -1
  212. package/dist/esm/kol-link-button.entry.js.map +1 -1
  213. package/dist/esm/kol-link-group.entry.js +1 -1
  214. package/dist/esm/kol-link-group.entry.js.map +1 -1
  215. package/dist/esm/kol-link.entry.js +1 -1
  216. package/dist/esm/kol-link.entry.js.map +1 -1
  217. package/dist/esm/kol-logo.entry.js +1 -1
  218. package/dist/esm/kol-logo.entry.js.map +1 -1
  219. package/dist/esm/kol-modal.entry.js +1 -1
  220. package/dist/esm/kol-modal.entry.js.map +1 -1
  221. package/dist/esm/kol-nav.entry.js +1 -1
  222. package/dist/esm/kol-nav.entry.js.map +1 -1
  223. package/dist/esm/kol-pagination.entry.js +1 -1
  224. package/dist/esm/kol-pagination.entry.js.map +1 -1
  225. package/dist/esm/kol-progress.entry.js +1 -1
  226. package/dist/esm/kol-progress.entry.js.map +1 -1
  227. package/dist/esm/kol-select.entry.js +1 -1
  228. package/dist/esm/kol-select.entry.js.map +1 -1
  229. package/dist/esm/kol-skip-nav.entry.js +1 -1
  230. package/dist/esm/kol-skip-nav.entry.js.map +1 -1
  231. package/dist/esm/kol-span.entry.js +1 -1
  232. package/dist/esm/kol-span.entry.js.map +1 -1
  233. package/dist/esm/kol-spin.entry.js +1 -1
  234. package/dist/esm/kol-spin.entry.js.map +1 -1
  235. package/dist/esm/kol-table.entry.js +1 -1
  236. package/dist/esm/kol-table.entry.js.map +1 -1
  237. package/dist/esm/kol-tabs.entry.js +1 -1
  238. package/dist/esm/kol-tabs.entry.js.map +1 -1
  239. package/dist/esm/kol-textarea.entry.js +1 -1
  240. package/dist/esm/kol-textarea.entry.js.map +1 -1
  241. package/dist/esm/kol-toast.entry.js +1 -1
  242. package/dist/esm/kol-toast.entry.js.map +1 -1
  243. package/dist/esm/kol-tooltip.entry.js +1 -1
  244. package/dist/esm/kol-tooltip.entry.js.map +1 -1
  245. package/dist/esm/kol-version.entry.js +1 -1
  246. package/dist/esm/kol-version.entry.js.map +1 -1
  247. package/dist/kolibri/kol-abbr.entry.js +1 -1
  248. package/dist/kolibri/kol-abbr.entry.js.map +1 -1
  249. package/dist/kolibri/kol-accordion.entry.js +1 -1
  250. package/dist/kolibri/kol-accordion.entry.js.map +1 -1
  251. package/dist/kolibri/kol-alert.entry.js +1 -1
  252. package/dist/kolibri/kol-alert.entry.js.map +1 -1
  253. package/dist/kolibri/kol-badge.entry.js +1 -1
  254. package/dist/kolibri/kol-badge.entry.js.map +1 -1
  255. package/dist/kolibri/kol-breadcrumb.entry.js +1 -1
  256. package/dist/kolibri/kol-breadcrumb.entry.js.map +1 -1
  257. package/dist/kolibri/kol-button-group.entry.js +1 -1
  258. package/dist/kolibri/kol-button-group.entry.js.map +1 -1
  259. package/dist/kolibri/kol-button-link.entry.js +1 -1
  260. package/dist/kolibri/kol-button-link.entry.js.map +1 -1
  261. package/dist/kolibri/kol-button.entry.js +1 -1
  262. package/dist/kolibri/kol-button.entry.js.map +1 -1
  263. package/dist/kolibri/kol-card.entry.js +1 -1
  264. package/dist/kolibri/kol-card.entry.js.map +1 -1
  265. package/dist/kolibri/kol-details.entry.js +1 -1
  266. package/dist/kolibri/kol-details.entry.js.map +1 -1
  267. package/dist/kolibri/kol-heading.entry.js +1 -1
  268. package/dist/kolibri/kol-heading.entry.js.map +1 -1
  269. package/dist/kolibri/kol-indented-text.entry.js +1 -1
  270. package/dist/kolibri/kol-indented-text.entry.js.map +1 -1
  271. package/dist/kolibri/kol-input-checkbox.entry.js +1 -1
  272. package/dist/kolibri/kol-input-checkbox.entry.js.map +1 -1
  273. package/dist/kolibri/kol-input-color.entry.js +1 -1
  274. package/dist/kolibri/kol-input-color.entry.js.map +1 -1
  275. package/dist/kolibri/kol-input-date.entry.js +1 -1
  276. package/dist/kolibri/kol-input-date.entry.js.map +1 -1
  277. package/dist/kolibri/kol-input-email.entry.js +1 -1
  278. package/dist/kolibri/kol-input-email.entry.js.map +1 -1
  279. package/dist/kolibri/kol-input-file.entry.js +1 -1
  280. package/dist/kolibri/kol-input-file.entry.js.map +1 -1
  281. package/dist/kolibri/kol-input-number.entry.js +1 -1
  282. package/dist/kolibri/kol-input-number.entry.js.map +1 -1
  283. package/dist/kolibri/kol-input-password.entry.js +1 -1
  284. package/dist/kolibri/kol-input-password.entry.js.map +1 -1
  285. package/dist/kolibri/kol-input-radio.entry.js +1 -1
  286. package/dist/kolibri/kol-input-radio.entry.js.map +1 -1
  287. package/dist/kolibri/kol-input-range.entry.js +1 -1
  288. package/dist/kolibri/kol-input-range.entry.js.map +1 -1
  289. package/dist/kolibri/kol-input-text.entry.js +1 -1
  290. package/dist/kolibri/kol-input-text.entry.js.map +1 -1
  291. package/dist/kolibri/kol-kolibri.entry.js +1 -1
  292. package/dist/kolibri/kol-kolibri.entry.js.map +1 -1
  293. package/dist/kolibri/kol-link-button.entry.js +1 -1
  294. package/dist/kolibri/kol-link-button.entry.js.map +1 -1
  295. package/dist/kolibri/kol-link-group.entry.js +1 -1
  296. package/dist/kolibri/kol-link-group.entry.js.map +1 -1
  297. package/dist/kolibri/kol-link.entry.js +1 -1
  298. package/dist/kolibri/kol-link.entry.js.map +1 -1
  299. package/dist/kolibri/kol-logo.entry.js +1 -1
  300. package/dist/kolibri/kol-logo.entry.js.map +1 -1
  301. package/dist/kolibri/kol-modal.entry.js +1 -1
  302. package/dist/kolibri/kol-modal.entry.js.map +1 -1
  303. package/dist/kolibri/kol-nav.entry.js +1 -1
  304. package/dist/kolibri/kol-nav.entry.js.map +1 -1
  305. package/dist/kolibri/kol-pagination.entry.js +1 -1
  306. package/dist/kolibri/kol-pagination.entry.js.map +1 -1
  307. package/dist/kolibri/kol-progress.entry.js +1 -1
  308. package/dist/kolibri/kol-progress.entry.js.map +1 -1
  309. package/dist/kolibri/kol-select.entry.js +1 -1
  310. package/dist/kolibri/kol-select.entry.js.map +1 -1
  311. package/dist/kolibri/kol-skip-nav.entry.js +1 -1
  312. package/dist/kolibri/kol-skip-nav.entry.js.map +1 -1
  313. package/dist/kolibri/kol-span.entry.js +1 -1
  314. package/dist/kolibri/kol-span.entry.js.map +1 -1
  315. package/dist/kolibri/kol-spin.entry.js +1 -1
  316. package/dist/kolibri/kol-spin.entry.js.map +1 -1
  317. package/dist/kolibri/kol-table.entry.js +1 -1
  318. package/dist/kolibri/kol-table.entry.js.map +1 -1
  319. package/dist/kolibri/kol-tabs.entry.js +1 -1
  320. package/dist/kolibri/kol-tabs.entry.js.map +1 -1
  321. package/dist/kolibri/kol-textarea.entry.js +1 -1
  322. package/dist/kolibri/kol-textarea.entry.js.map +1 -1
  323. package/dist/kolibri/kol-toast.entry.js +1 -1
  324. package/dist/kolibri/kol-toast.entry.js.map +1 -1
  325. package/dist/kolibri/kol-tooltip.entry.js +1 -1
  326. package/dist/kolibri/kol-tooltip.entry.js.map +1 -1
  327. package/dist/kolibri/kol-version.entry.js +1 -1
  328. package/dist/kolibri/kol-version.entry.js.map +1 -1
  329. package/jest-test-results.json +1 -1
  330. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["defaultStyleCss","KolInputDate","this","catchRef","ref","propergateFocus","host","render","h","Host","_accessKey","_alert","_autoComplete","_disabled","_error","_hideLabel","_hint","_icon","_id","_list","_max","state","_min","_name","_on","_readOnly","_required","_smartButton","_step","_tabIndex","_touched","_type","_value","valueAsIsoDate","value","defaultValue","v","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","Error","validateDateString","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","validateOn","setState","Object","assign","onChange","e","validateMax","watchValidator","Set","DEFAULT_MAX_DATE","validateMin","validateValue","componentWillLoad"],"sources":["./src/components/input-date/style.css?tag=kol-input-date&mode=default&encapsulation=shadow","./src/components/input-date/component.tsx"],"sourcesContent":["@import '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { setState, watchValidator } from '../../utils/prop.validators';\nimport { propergateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { ComponentApi, States } from './types';\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?: HTMLKolInputNumberElement;\n\n\tprivate static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\t// test: https://regex101.com/r/NTVh4L/1\n\tprivate static readonly isoDateRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])/;\n\tprivate static readonly isoLocalDateTimeRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])[T ][0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoMonthRegex = /^\\d{4}-([0]\\d|1[0-2])/;\n\tprivate static readonly isoTimeRegex = /^[0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoWeekRegex = /^\\d{4}-W(?:[0-4]\\d|5[0-3])$/;\n\n\tprivate readonly catchRef = (ref?: HTMLKolInputNumberElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input-number\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_alert={this._alert}\n\t\t\t\t\t_autoComplete={this._autoComplete}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_error={this._error}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_hint={this._hint}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_list={this._list}\n\t\t\t\t\t_max={this.state._max}\n\t\t\t\t\t_min={this.state._min}\n\t\t\t\t\t_name={this._name}\n\t\t\t\t\t_on={this.state._on}\n\t\t\t\t\t_readOnly={this._readOnly}\n\t\t\t\t\t_required={this._required}\n\t\t\t\t\t_smartButton={this._smartButton}\n\t\t\t\t\t_step={this._step}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_touched={this._touched}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this.state._value}\n\t\t\t\t>\n\t\t\t\t\t<slot />\n\t\t\t\t</kol-input-number>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Datumswert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Datumswert an.\n\t */\n\t@Prop() public _min?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Typ des Eingabefeldes an.\n\t */\n\t@Prop() public _type: InputDateType = 'date';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: Iso8601 | Date | null;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {};\n\n\tprivate valueAsIsoDate(value?: Iso8601 | Date | null, defaultValue?: Date): Iso8601 | null | undefined {\n\t\tconst v: Iso8601 | Date | undefined = value ?? defaultValue;\n\t\tif (typeof v === 'string') {\n\t\t\treturn v;\n\t\t}\n\t\tif (typeof v === 'object' && v instanceof Date) {\n\t\t\tswitch (this._type) {\n\t\t\t\tcase 'date':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}`;\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}T${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\tcase 'month':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}`;\n\t\t\t\tcase 'time':\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#using_the_step_attribute\n\t\t\t\t\tif (this._step === undefined || (typeof this._step === 'string' && this._step === '60') || (typeof this._step === 'number' && this._step === 60)) {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\t\t}\n\t\t\t\tcase 'week':\n\t\t\t\t\tthrow new Error('Auto convert to week is not supported!');\n\t\t\t}\n\t\t}\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate validateDateString(value: Iso8601): boolean {\n\t\tswitch (this._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn KolInputDate.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn KolInputDate.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn KolInputDate.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn KolInputDate.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn KolInputDate.isoWeekRegex.test(value);\n\t\t}\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this, '_on', {\n\t\t\t...value,\n\t\t\tonChange: (e: Event, v: unknown) => {\n\t\t\t\tthis._value = v as Iso8601;\n\t\t\t\tif (value?.onChange) {\n\t\t\t\t\tvalue.onChange(e, v);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_max',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value, this._type === 'date' || this._type === 'month' || this._type === 'datetime-local' ? KolInputDate.DEFAULT_MAX_DATE : undefined)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_min',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_value',\n\t\t\t(value): boolean => value === undefined || value === null || this.validateDateString(value),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOn(this._on);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateMin(this._min);\n\t\tthis.validateValue(this._value);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["defaultStyleCss","KolInputDate","this","catchRef","ref","propergateFocus","host","render","h","Host","_accessKey","_alert","_autoComplete","_disabled","_error","_hideLabel","_hint","_icon","_id","_list","_max","state","_min","_name","_on","_readOnly","_required","_smartButton","_step","_tabIndex","_touched","_type","_value","valueAsIsoDate","value","defaultValue","v","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","undefined","Error","validateDateString","isoDateRegex","test","isoLocalDateTimeRegex","isoMonthRegex","isoTimeRegex","isoWeekRegex","validateOn","setState","Object","assign","onChange","e","validateMax","watchValidator","Set","DEFAULT_MAX_DATE","validateMin","validateValue","componentWillLoad"],"sources":["./src/components/input-date/style.css?tag=kol-input-date&mode=default&encapsulation=shadow","./src/components/input-date/component.tsx"],"sourcesContent":["@import '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputDateType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { setState, watchValidator } from '../../utils/prop.validators';\nimport { propergateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { ComponentApi, States } from './types';\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?: HTMLKolInputNumberElement;\n\n\tprivate static readonly DEFAULT_MAX_DATE = new Date(9999, 11, 31, 23, 59, 59);\n\n\t// test: https://regex101.com/r/NTVh4L/1\n\tprivate static readonly isoDateRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])/;\n\tprivate static readonly isoLocalDateTimeRegex = /^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])[T ][0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoMonthRegex = /^\\d{4}-([0]\\d|1[0-2])/;\n\tprivate static readonly isoTimeRegex = /^[0-2]\\d:[0-5]\\d(:[0-5]\\d(?:\\.\\d+)?)?/;\n\tprivate static readonly isoWeekRegex = /^\\d{4}-W(?:[0-4]\\d|5[0-3])$/;\n\n\tprivate readonly catchRef = (ref?: HTMLKolInputNumberElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input-number\n\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t_accessKey={this._accessKey}\n\t\t\t\t\t_alert={this._alert}\n\t\t\t\t\t_autoComplete={this._autoComplete}\n\t\t\t\t\t_disabled={this._disabled}\n\t\t\t\t\t_error={this._error}\n\t\t\t\t\t_hideLabel={this._hideLabel}\n\t\t\t\t\t_hint={this._hint}\n\t\t\t\t\t_icon={this._icon}\n\t\t\t\t\t_id={this._id}\n\t\t\t\t\t_list={this._list}\n\t\t\t\t\t_max={this.state._max}\n\t\t\t\t\t_min={this.state._min}\n\t\t\t\t\t_name={this._name}\n\t\t\t\t\t_on={this.state._on}\n\t\t\t\t\t_readOnly={this._readOnly}\n\t\t\t\t\t_required={this._required}\n\t\t\t\t\t_smartButton={this._smartButton}\n\t\t\t\t\t_step={this._step}\n\t\t\t\t\t_tabIndex={this._tabIndex}\n\t\t\t\t\t_touched={this._touched}\n\t\t\t\t\t_type={this._type}\n\t\t\t\t\t_value={this.state._value}\n\t\t\t\t>\n\t\t\t\t\t<slot />\n\t\t\t\t</kol-input-number>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Datumswert an.\n\t */\n\t@Prop() public _max?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den kleinstmöglichen Datumswert an.\n\t */\n\t@Prop() public _min?: Iso8601 | Date;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Typ des Eingabefeldes an.\n\t */\n\t@Prop() public _type: InputDateType = 'date';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: Iso8601 | Date | null;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {};\n\n\tprivate valueAsIsoDate(value?: Iso8601 | Date | null, defaultValue?: Date): Iso8601 | null | undefined {\n\t\tconst v: Iso8601 | Date | undefined = value ?? defaultValue;\n\t\tif (typeof v === 'string') {\n\t\t\treturn v;\n\t\t}\n\t\tif (typeof v === 'object' && v instanceof Date) {\n\t\t\tswitch (this._type) {\n\t\t\t\tcase 'date':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}`;\n\t\t\t\tcase 'datetime-local':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}-${v.getDate()}T${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\tcase 'month':\n\t\t\t\t\treturn `${v.getFullYear()}-${v.getMonth() + 1}`;\n\t\t\t\tcase 'time':\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time#using_the_step_attribute\n\t\t\t\t\tif (this._step === undefined || (typeof this._step === 'string' && this._step === '60') || (typeof this._step === 'number' && this._step === 60)) {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn `${v.getHours()}:${v.getMinutes()}:${v.getSeconds()}`;\n\t\t\t\t\t}\n\t\t\t\tcase 'week':\n\t\t\t\t\tthrow new Error('Auto convert to week is not supported!');\n\t\t\t}\n\t\t}\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate validateDateString(value: Iso8601): boolean {\n\t\tswitch (this._type) {\n\t\t\tcase 'date':\n\t\t\t\treturn KolInputDate.isoDateRegex.test(value);\n\t\t\tcase 'datetime-local':\n\t\t\t\treturn KolInputDate.isoLocalDateTimeRegex.test(value);\n\t\t\tcase 'month':\n\t\t\t\treturn KolInputDate.isoMonthRegex.test(value);\n\t\t\tcase 'time':\n\t\t\t\treturn KolInputDate.isoTimeRegex.test(value);\n\t\t\tcase 'week':\n\t\t\t\treturn KolInputDate.isoWeekRegex.test(value);\n\t\t}\n\t}\n\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault) {\n\t\tsetState(this, '_on', {\n\t\t\t...value,\n\t\t\tonChange: (e: Event, v: unknown) => {\n\t\t\t\tthis._value = v as Iso8601;\n\t\t\t\tif (value?.onChange) {\n\t\t\t\t\tvalue.onChange(e, v);\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_max')\n\tpublic validateMax(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_max',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value, this._type === 'date' || this._type === 'month' || this._type === 'datetime-local' ? KolInputDate.DEFAULT_MAX_DATE : undefined)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_min')\n\tpublic validateMin(value?: Iso8601 | Date): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_min',\n\t\t\t(value): boolean => value === undefined || (value !== null && this.validateDateString(value)),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: Iso8601 | Date | null): void {\n\t\twatchValidator(\n\t\t\tthis,\n\t\t\t'_value',\n\t\t\t(value): boolean => value === undefined || value === null || this.validateDateString(value),\n\t\t\tnew Set(['Iso8601', 'Date']),\n\t\t\tthis.valueAsIsoDate(value)\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis.validateOn(this._on);\n\t\tthis.validateMax(this._max);\n\t\tthis.validateMin(this._min);\n\t\tthis.validateValue(this._value);\n\t}\n}\n"],"mappings":";;;sPAAA,MAAMA,EAAkB,qlI,MCkBXC,EAAY,M,yBAaPC,KAAAC,SAAYC,IAC5BF,KAAKE,IAAMA,EACXC,EAAgBH,KAAKI,KAAMJ,KAAKE,IAAI,E,sCA6C6B,K,iHAyBlC,G,uRAiEoC,M,WAK9B,O,iCAUN,E,CAnJzBG,SACN,OACCC,EAACC,EAAI,KACJD,EAAA,oBACCJ,IAAKF,KAAKC,SACVO,WAAYR,KAAKQ,WACjBC,OAAQT,KAAKS,OACbC,cAAeV,KAAKU,cACpBC,UAAWX,KAAKW,UAChBC,OAAQZ,KAAKY,OACbC,WAAYb,KAAKa,WACjBC,MAAOd,KAAKc,MACZC,MAAOf,KAAKe,MACZC,IAAKhB,KAAKgB,IACVC,MAAOjB,KAAKiB,MACZC,KAAMlB,KAAKmB,MAAMD,KACjBE,KAAMpB,KAAKmB,MAAMC,KACjBC,MAAOrB,KAAKqB,MACZC,IAAKtB,KAAKmB,MAAMG,IAChBC,UAAWvB,KAAKuB,UAChBC,UAAWxB,KAAKwB,UAChBC,aAAczB,KAAKyB,aACnBC,MAAO1B,KAAK0B,MACZC,UAAW3B,KAAK2B,UAChBC,SAAU5B,KAAK4B,SACfC,MAAO7B,KAAK6B,MACZC,OAAQ9B,KAAKmB,MAAMW,QAEnBxB,EAAA,c,CAyHIyB,eAAeC,EAA+BC,GACrD,MAAMC,EAAgCF,IAAK,MAALA,SAAK,EAALA,EAASC,EAC/C,UAAWC,IAAM,SAAU,CAC1B,OAAOA,C,CAER,UAAWA,IAAM,UAAYA,aAAaC,KAAM,CAC/C,OAAQnC,KAAK6B,OACZ,IAAK,OACJ,MAAO,GAAGK,EAAEE,iBAAiBF,EAAEG,WAAa,KAAKH,EAAEI,YACpD,IAAK,iBACJ,MAAO,GAAGJ,EAAEE,iBAAiBF,EAAEG,WAAa,KAAKH,EAAEI,aAAaJ,EAAEK,cAAcL,EAAEM,gBAAgBN,EAAEO,eACrG,IAAK,QACJ,MAAO,GAAGP,EAAEE,iBAAiBF,EAAEG,WAAa,IAC7C,IAAK,OAEJ,GAAIrC,KAAK0B,QAAUgB,kBAAqB1C,KAAK0B,QAAU,UAAY1B,KAAK0B,QAAU,aAAiB1B,KAAK0B,QAAU,UAAY1B,KAAK0B,QAAU,GAAK,CACjJ,MAAO,GAAGQ,EAAEK,cAAcL,EAAEM,c,KACtB,CACN,MAAO,GAAGN,EAAEK,cAAcL,EAAEM,gBAAgBN,EAAEO,c,CAEhD,IAAK,OACJ,MAAM,IAAIE,MAAM,0C,CAGnB,GAAIX,IAAU,KAAM,CACnB,OAAO,I,CAER,OAAOU,S,CAGAE,mBAAmBZ,GAC1B,OAAQhC,KAAK6B,OACZ,IAAK,OACJ,OAAO9B,EAAa8C,aAAaC,KAAKd,GACvC,IAAK,iBACJ,OAAOjC,EAAagD,sBAAsBD,KAAKd,GAChD,IAAK,QACJ,OAAOjC,EAAaiD,cAAcF,KAAKd,GACxC,IAAK,OACJ,OAAOjC,EAAakD,aAAaH,KAAKd,GACvC,IAAK,OACJ,OAAOjC,EAAamD,aAAaJ,KAAKd,G,CAKlCmB,WAAWnB,GACjBoB,EAASpD,KAAM,MAAKqD,OAAAC,OAAAD,OAAAC,OAAA,GAChBtB,GAAK,CACRuB,SAAU,CAACC,EAAUtB,KACpBlC,KAAK8B,OAASI,EACd,GAAIF,IAAK,MAALA,SAAK,SAALA,EAAOuB,SAAU,CACpBvB,EAAMuB,SAASC,EAAGtB,E,MAUfuB,YAAYzB,GAClB0B,EACC1D,KACA,QACCgC,GAAmBA,IAAUU,WAAcV,IAAU,MAAQhC,KAAK4C,mBAAmBZ,IACtF,IAAI2B,IAAI,CAAC,UAAW,SACpB3D,KAAK+B,eAAeC,EAAOhC,KAAK6B,QAAU,QAAU7B,KAAK6B,QAAU,SAAW7B,KAAK6B,QAAU,iBAAmB9B,EAAa6D,iBAAmBlB,W,CAQ3ImB,YAAY7B,GAClB0B,EACC1D,KACA,QACCgC,GAAmBA,IAAUU,WAAcV,IAAU,MAAQhC,KAAK4C,mBAAmBZ,IACtF,IAAI2B,IAAI,CAAC,UAAW,SACpB3D,KAAK+B,eAAeC,G,CAQf8B,cAAc9B,GACpB0B,EACC1D,KACA,UACCgC,GAAmBA,IAAUU,WAAaV,IAAU,MAAQhC,KAAK4C,mBAAmBZ,IACrF,IAAI2B,IAAI,CAAC,UAAW,SACpB3D,KAAK+B,eAAeC,G,CAOf+B,oBACN/D,KAAKmD,WAAWnD,KAAKsB,KACrBtB,KAAKyD,YAAYzD,KAAKkB,MACtBlB,KAAK6D,YAAY7D,KAAKoB,MACtBpB,KAAK8D,cAAc9D,KAAK8B,O,iJA9QD/B,EAAA6D,iBAAmB,IAAIzB,KAAK,KAAM,GAAI,GAAI,GAAI,GAAI,IAGlDpC,EAAA8C,aAAe,wCACf9C,EAAAgD,sBAAwB,gFACxBhD,EAAAiD,cAAgB,wBAChBjD,EAAAkD,aAAe,wCACflD,EAAAmD,aAAe,8B"}
@@ -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 o}from"./index-50adf9a0.js";import{a as s}from"./reuse-9dd1192b.js";import{p as a}from"./controller-37aebfec.js";import{g as r}from"./controller-a23b4b6b.js";import{b as l}from"./prop.validators-dd337216.js";import{I as h}from"./controller-ae63fa3a.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./controller-651f292f.js";import"./controller-icon-1f62443f.js";import"./icon-bad239de.js";class n extends h{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){l(this.component,"_multiple",t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}const d=":host{--kolibri-border-color:#e0e0e0;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}:host *{box-sizing:border-box}:host kol-icon{color:inherit}:host kol-span-wc{display:grid;place-items:center;width:100%}:host kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}:host button{margin:0;min-height:44px;min-width:44px;padding:0}:host a,:host button,:host input,:host select,:host textarea{cursor:pointer}:host a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}:host a{display:inline-flex;place-items:baseline}:host button{background-color:transparent;border-width:0}:host .kol-required span::after{content:'*'}:host input,:host select,:host textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}:host input input.error,:host input select.error,:host input textarea.error,:host select input.error,:host select select.error,:host select textarea.error,:host textarea input.error,:host textarea select.error,:host textarea textarea.error{border-color:var(--kolibri-border-error)}:host input input:focus,:host input input:hover,:host input select:focus,:host input select:hover,:host input textarea:focus,:host input textarea:hover,:host select input:focus,:host select input:hover,:host select select:focus,:host select select:hover,:host select textarea:focus,:host select textarea:hover,:host textarea input:focus,:host textarea input:hover,:host textarea select:focus,:host textarea select:hover,:host textarea textarea:focus,:host textarea textarea:hover{border-color:#999}:host input:not([type='checkbox']),:host option,:host select,:host textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:host .kol-disabled{opacity:0.5}:host .kol-cursor-not-allowed,:host .kol-cursor-not-allowed *{cursor:not-allowed}:host input[type='color'],:host input[type='date'],:host input[type='datetime-local'],:host input[type='email'],:host input[type='file'],:host input[type='month'],:host input[type='number'],:host input[type='password'],:host input[type='search'],:host input[type='tel'],:host input[type='text'],:host input[type='time'],:host input[type='url'],:host input[type='week'],:host select,:host textarea{background-color:white;display:block;line-height:1em;padding:0.5em}:host input[type='color']{height:2.5em;padding:0.25em 0.5em}:host textarea{padding:0.5em}",p=class{render(){const{ariaDiscribedBy:i}=r(this.state),o=Array.isArray(this.state._list)&&this.state._list.length>0;return t(e,null,t("kol-input",{_alert:this.state._alert,_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},t("span",{slot:"label"},t("slot",null)),t("input",Object.assign({ref:this.catchRef,part:"input",title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,multiple:this.state._multiple,id:this.state._id,list:o?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,slot:"input",spellcheck:"false",type:"email",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?a({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._maxLength=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._pattern=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._size=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:"⚠",_list:[]},this.controller=new n(this,"email",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateList(t){this.controller.validateList(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){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)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return o(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_list:["validateList"],_maxLength:["validateMaxLength"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};p.style={default:d};export{p as kol_input_email};
4
+ import{h as e,H as t,r as i,g as r}from"./index-50adf9a0.js";import{a}from"./reuse-9dd1192b.js";import{p as o}from"./controller-37aebfec.js";import{g as l}from"./controller-a23b4b6b.js";import{b as s}from"./prop.validators-dd337216.js";import{I as n}from"./controller-ae63fa3a.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./controller-651f292f.js";import"./controller-icon-1f62443f.js";import"./icon-bad239de.js";class d extends n{constructor(t,e,i){super(t,e,i),this.component=t}validateMultiple(t){s(this.component,"_multiple",t)}componentWillLoad(){super.componentWillLoad(),this.validateMultiple(this.component._multiple)}}const c=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0;margin:0;min-height:44px;min-width:44px;padding:0}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}.kol-required span::after{content:'*'}.kol-disabled{opacity:0.5}.kol-cursor-not-allowed,.kol-cursor-not-allowed *{cursor:not-allowed}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,textarea{background-color:white;display:block;font-size:1em;line-height:1.5em;padding:0.5em}input[type='color']{height:2.5em;padding:0.25em 0.5em}textarea{padding:0.5em}input,select,textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}input input.error,input select.error,input textarea.error,select input.error,select select.error,select textarea.error,textarea input.error,textarea select.error,textarea textarea.error{border-color:var(--kolibri-border-error)}input input:focus,input input:hover,input select:focus,input select:hover,input textarea:focus,input textarea:hover,select input:focus,select input:hover,select select:focus,select select:hover,select textarea:focus,select textarea:hover,textarea input:focus,textarea input:hover,textarea select:focus,textarea select:hover,textarea textarea:focus,textarea textarea:hover{border-color:#999}input:not([type='checkbox']),option,select,textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}kol-input{display:grid;gap:calc(2 * var(--kolibri-spacing))}input,select,textarea{background-color:white;border-color:var(--kolibri-border-color);border-radius:var(--kolibri-border-radius);border-style:solid;border-width:var(--kolibri-border-width);font-size:1em;font-family:var(--kolibri-font-family-sans);line-height:1.5em;overflow:hidden;width:100%}input,select:not([multiple]){height:2.75em}input::placeholder{color:var(--kolibri-color-normal)}input:hover{border-color:var(--kolibri-color-primary)}input:not([type='color']):read-only,input:disabled,select:read-only,select:disabled,textarea:read-only,textarea:disabled{cursor:not-allowed}.required label>span::after{content:'*';padding-left:var(--kolibri-spacing)}.icons{display:flex;justify-content:space-between;height:0}.icons>kol-icon{display:block;margin:0.75em;height:1em}.icon-left input,.icon-left select{padding-left:2em}.icon-right input,.icon-right select{padding-right:2em}kol-button-wc{position:relative;float:right;z-index:1000;margin-top:-44px}kol-button-wc button{background-color:transparent;cursor:pointer}.icon-right kol-button-wc{margin-right:44px}.disabled{opacity:0.5}select[multiple],textarea{overflow:auto}textarea{display:block}select option{margin:var(--kolibri-spacing) 0;padding:0.5em;border-radius:0.25em;cursor:pointer}select option:disabled{cursor:not-allowed}option:active:not(:disabled),option:checked:not(:disabled),option:focus:not(:disabled),option:hover:not(:disabled){background-color:var(--kolibri-color-primary);color:white}",h=class{render(){const{ariaDiscribedBy:i}=l(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0;return e(t,null,e("kol-input",{_alert:this.state._alert,_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched},e("span",{slot:"label"},e("slot",null)),e("input",Object.assign({ref:this.catchRef,part:"input",title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,multiple:this.state._multiple,id:this.state._id,list:a?`${this.state._id}-list`:void 0,maxlength:this.state._maxLength,name:this.state._name,pattern:this.state._pattern,placeholder:this.state._placeholder,readOnly:this.state._readOnly,required:this.state._required,size:this.state._size,slot:"input",spellcheck:"false",type:"email",value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,a(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?o({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._maxLength=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._pattern=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._size=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_autoComplete:"off",_id:"⚠",_list:[]},this.controller=new d(this,"email",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateList(t){this.controller.validateList(t)}validateMaxLength(t){this.controller.validateMaxLength(t)}validateMultiple(t){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)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return r(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_list:["validateList"],_maxLength:["validateMaxLength"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_pattern:["validatePattern"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_size:["validateSize"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};h.style={default:c};export{h as kol_input_email};
@@ -1 +1 @@
1
- {"version":3,"names":["InputEmailController","InputTextEmailController","constructor","component","name","host","super","this","validateMultiple","value","watchBoolean","componentWillLoad","_multiple","defaultStyleCss","KolInputEmail","render","ariaDiscribedBy","getRenderStates","state","hasList","Array","isArray","_list","length","h","Host","_alert","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","multiple","id","list","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hostRef","propergateFocus","event","code","propergateSubmitEventToForm","form","onChange","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateTabIndex","validateTouched","validateValue"],"sources":["./src/components/input-email/controller.ts","./src/components/input-email/style.css?tag=kol-input-email&mode=default&encapsulation=shadow","./src/components/input-email/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\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\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateMultiple(this.component._multiple);\n\t}\n}\n","@import '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { propergateSubmitEventToForm } from '../form/controller';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { ComponentApi, States } from './types';\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\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropergateSubmitEventToForm({\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 { ariaDiscribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man maximal eingeben kann.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfpattern für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Radio ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man eingeben kann.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: '⚠',\n\t\t_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputEmailController(this, 'email', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["InputEmailController","InputTextEmailController","constructor","component","name","host","super","this","validateMultiple","value","watchBoolean","componentWillLoad","_multiple","defaultStyleCss","KolInputEmail","render","ariaDiscribedBy","getRenderStates","state","hasList","Array","isArray","_list","length","h","Host","_alert","_disabled","_error","_hideLabel","_hint","_icon","_id","_readOnly","_required","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accessKey","_accessKey","join","undefined","autoCapitalize","autoComplete","_autoComplete","autoCorrect","disabled","multiple","id","list","maxlength","_maxLength","_name","pattern","_pattern","placeholder","_placeholder","readOnly","required","size","_size","spellcheck","type","_value","controller","onFacade","onKeyUp","hostRef","propergateFocus","event","code","propergateSubmitEventToForm","form","onChange","validateAccessKey","validateAlert","validateAutoComplete","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateList","validateMaxLength","validateName","validateOn","validatePattern","validatePlaceholder","validateReadOnly","validateRequired","validateSize","validateSmartButton","validateTabIndex","validateTouched","validateValue"],"sources":["./src/components/input-email/controller.ts","./src/components/input-email/style.css?tag=kol-input-email&mode=default&encapsulation=shadow","./src/components/input-email/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { watchBoolean } from '../../utils/prop.validators';\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\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateMultiple(this.component._multiple);\n\t}\n}\n","@import '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { propergateSubmitEventToForm } from '../form/controller';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputEmailController } from './controller';\nimport { ComponentApi, States } from './types';\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\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropergateSubmitEventToForm({\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 { ariaDiscribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\t_alert={this.state._alert}\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmaxlength={this.state._maxLength}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\tpattern={this.state._pattern}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tsize={this.state._size}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\t// title={this.state._title}\n\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputEmailController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagswörter an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man maximal eingeben kann.\n\t */\n\t@Prop() public _maxLength?: number;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt ein Prüfpattern für das Eingabefeld an.\n\t */\n\t@Prop() public _pattern?: string;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Radio ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Gibt an, wie viele Zeichen man eingeben kann.\n\t */\n\t@Prop() public _size?: number;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: '⚠',\n\t\t_list: [],\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputEmailController(this, 'email', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_maxLength')\n\tpublic validateMaxLength(value?: number): void {\n\t\tthis.controller.validateMaxLength(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_pattern')\n\tpublic validatePattern(value?: string): void {\n\t\tthis.controller.validatePattern(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_size')\n\tpublic validateSize(value?: number): void {\n\t\tthis.controller.validateSize(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * KoliBri - The accessible HTML-Standard
3
3
  */
4
- import{h as t,H as e,r as i,g as o}from"./index-50adf9a0.js";import{a as s}from"./reuse-9dd1192b.js";import{g as a}from"./controller-a23b4b6b.js";import{w as r,b as l}from"./prop.validators-dd337216.js";import{I as n}from"./controller-icon-1f62443f.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./icon-bad239de.js";class h extends n{constructor(t,e,i){super(t,e,i),this.component=t}validateAccept(t){r(this.component,"_accept",t)}validateMultiple(t){l(this.component,"_multiple",t)}validateRequired(t){l(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 d=":host{--kolibri-border-color:#e0e0e0;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}:host *{box-sizing:border-box}:host kol-icon{color:inherit}:host kol-span-wc{display:grid;place-items:center;width:100%}:host kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}:host button{margin:0;min-height:44px;min-width:44px;padding:0}:host a,:host button,:host input,:host select,:host textarea{cursor:pointer}:host a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}:host a{display:inline-flex;place-items:baseline}:host button{background-color:transparent;border-width:0}:host .kol-required span::after{content:'*'}:host input,:host select,:host textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}:host input input.error,:host input select.error,:host input textarea.error,:host select input.error,:host select select.error,:host select textarea.error,:host textarea input.error,:host textarea select.error,:host textarea textarea.error{border-color:var(--kolibri-border-error)}:host input input:focus,:host input input:hover,:host input select:focus,:host input select:hover,:host input textarea:focus,:host input textarea:hover,:host select input:focus,:host select input:hover,:host select select:focus,:host select select:hover,:host select textarea:focus,:host select textarea:hover,:host textarea input:focus,:host textarea input:hover,:host textarea select:focus,:host textarea select:hover,:host textarea textarea:focus,:host textarea textarea:hover{border-color:#999}:host input:not([type='checkbox']),:host option,:host select,:host textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:host .kol-disabled{opacity:0.5}:host .kol-cursor-not-allowed,:host .kol-cursor-not-allowed *{cursor:not-allowed}:host input[type='color'],:host input[type='date'],:host input[type='datetime-local'],:host input[type='email'],:host input[type='file'],:host input[type='month'],:host input[type='number'],:host input[type='password'],:host input[type='search'],:host input[type='tel'],:host input[type='text'],:host input[type='time'],:host input[type='url'],:host input[type='week'],:host select,:host textarea{background-color:white;display:block;line-height:1em;padding:0.5em}:host input[type='color']{height:2.5em;padding:0.25em 0.5em}:host textarea{padding:0.5em}:host label.kol-required span::after{content:'*'}:host label input[type='file']::-webkit-file-upload-button{display:none}:host label input[type='file']::before{content:'Datei auswählen'}:host label input[multiple]::before{content:'Dateien auswählen'}",c=class{render(){const{ariaDiscribedBy:i}=a(this.state);return t(e,null,t("kol-input",{_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},t("span",{slot:"label"},t("slot",null)),t("input",Object.assign({ref:this.catchRef,part:"input",title:"",accept:this.state._accept,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,s(this.host,this.ref)},this.onChange=t=>{var e;this.ref instanceof HTMLInputElement&&"file"===this.ref.type&&"function"==typeof(null===(e=this.state._on)||void 0===e?void 0:e.onChange)&&this.state._on.onChange(t,this.ref.files)},this._accept=void 0,this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_id:"⚠"},this.controller=new h(this,"file",this.host)}validateAccept(t){this.controller.validateAccept(t)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateMultiple(t){this.controller.validateMultiple(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateValue(t){this.controller.validateValue(t)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return o(this)}static get watchers(){return{_accept:["validateAccept"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};c.style={default:d};export{c as kol_input_file};
4
+ import{h as e,H as t,r as i,g as r}from"./index-50adf9a0.js";import{a as o}from"./reuse-9dd1192b.js";import{g as a}from"./controller-a23b4b6b.js";import{w as l,b as n}from"./prop.validators-dd337216.js";import{I as s}from"./controller-icon-1f62443f.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./icon-bad239de.js";class d extends s{constructor(e,t,i){super(e,t,i),this.component=e}validateAccept(e){l(this.component,"_accept",e)}validateMultiple(e){n(this.component,"_multiple",e)}validateRequired(e){n(this.component,"_required",e)}validateValue(e){l(this.component,"_value",e),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{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0;margin:0;min-height:44px;min-width:44px;padding:0}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}.kol-required span::after{content:'*'}.kol-disabled{opacity:0.5}.kol-cursor-not-allowed,.kol-cursor-not-allowed *{cursor:not-allowed}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,textarea{background-color:white;display:block;font-size:1em;line-height:1.5em;padding:0.5em}input[type='color']{height:2.5em;padding:0.25em 0.5em}textarea{padding:0.5em}input,select,textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}input input.error,input select.error,input textarea.error,select input.error,select select.error,select textarea.error,textarea input.error,textarea select.error,textarea textarea.error{border-color:var(--kolibri-border-error)}input input:focus,input input:hover,input select:focus,input select:hover,input textarea:focus,input textarea:hover,select input:focus,select input:hover,select select:focus,select select:hover,select textarea:focus,select textarea:hover,textarea input:focus,textarea input:hover,textarea select:focus,textarea select:hover,textarea textarea:focus,textarea textarea:hover{border-color:#999}input:not([type='checkbox']),option,select,textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}kol-input{display:grid;gap:calc(2 * var(--kolibri-spacing))}input,select,textarea{background-color:white;border-color:var(--kolibri-border-color);border-radius:var(--kolibri-border-radius);border-style:solid;border-width:var(--kolibri-border-width);font-size:1em;font-family:var(--kolibri-font-family-sans);line-height:1.5em;overflow:hidden;width:100%}input,select:not([multiple]){height:2.75em}input::placeholder{color:var(--kolibri-color-normal)}input:hover{border-color:var(--kolibri-color-primary)}input:not([type='color']):read-only,input:disabled,select:read-only,select:disabled,textarea:read-only,textarea:disabled{cursor:not-allowed}.required label>span::after{content:'*';padding-left:var(--kolibri-spacing)}.icons{display:flex;justify-content:space-between;height:0}.icons>kol-icon{display:block;margin:0.75em;height:1em}.icon-left input,.icon-left select{padding-left:2em}.icon-right input,.icon-right select{padding-right:2em}kol-button-wc{position:relative;float:right;z-index:1000;margin-top:-44px}kol-button-wc button{background-color:transparent;cursor:pointer}.icon-right kol-button-wc{margin-right:44px}.disabled{opacity:0.5}select[multiple],textarea{overflow:auto}textarea{display:block}select option{margin:var(--kolibri-spacing) 0;padding:0.5em;border-radius:0.25em;cursor:pointer}select option:disabled{cursor:not-allowed}option:active:not(:disabled),option:checked:not(:disabled),option:focus:not(:disabled),option:hover:not(:disabled){background-color:var(--kolibri-color-primary);color:white}label.kol-required span::after{content:'*'}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'}",p=class{render(){const{ariaDiscribedBy:i}=a(this.state);return e(t,null,e("kol-input",{_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},e("span",{slot:"label"},e("slot",null)),e("input",Object.assign({ref:this.catchRef,part:"input",title:"",accept:this.state._accept,accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,multiple:this.state._multiple,name:this.state._name,required:this.state._required,slot:"input",spellcheck:"false",type:"file",value:this.state._value},this.controller.onFacade,{onChange:this.onChange}))))}constructor(e){i(this,e),this.catchRef=e=>{this.ref=e,o(this.host,this.ref)},this.onChange=e=>{var t;this.ref instanceof HTMLInputElement&&"file"===this.ref.type&&"function"==typeof(null===(t=this.state._on)||void 0===t?void 0:t.onChange)&&this.state._on.onChange(e,this.ref.files)},this._accept=void 0,this._accessKey=void 0,this._alert=!0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._multiple=void 0,this._name=void 0,this._on=void 0,this._required=void 0,this._smartButton=void 0,this._tabIndex=void 0,this._touched=!1,this._value=void 0,this.state={_id:"⚠"},this.controller=new d(this,"file",this.host)}validateAccept(e){this.controller.validateAccept(e)}validateAccessKey(e){this.controller.validateAccessKey(e)}validateAlert(e){this.controller.validateAlert(e)}validateDisabled(e){this.controller.validateDisabled(e)}validateError(e){this.controller.validateError(e)}validateHideLabel(e){this.controller.validateHideLabel(e)}validateHint(e){this.controller.validateHint(e)}validateIcon(e){this.controller.validateIcon(e)}validateId(e){this.controller.validateId(e)}validateMultiple(e){this.controller.validateMultiple(e)}validateName(e){this.controller.validateName(e)}validateOn(e){this.controller.validateOn(e)}validateRequired(e){this.controller.validateRequired(e)}validateSmartButton(e){this.controller.validateSmartButton(e)}validateTabIndex(e){this.controller.validateTabIndex(e)}validateTouched(e){this.controller.validateTouched(e)}validateValue(e){this.controller.validateValue(e)}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return r(this)}static get watchers(){return{_accept:["validateAccept"],_accessKey:["validateAccessKey"],_alert:["validateAlert"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_multiple:["validateMultiple"],_name:["validateName"],_on:["validateOn"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_value:["validateValue"]}}};p.style={default:c};export{p 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","ariaDiscribedBy","getRenderStates","state","h","Host","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accept","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoCorrect","disabled","id","multiple","_name","required","spellcheck","type","controller","onFacade","onChange","hostRef","propergateFocus","event","HTMLInputElement","_a","_on","files","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateOn","validateSmartButton","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';\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\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateAccept(value?: string): void {\n\t\twatchString(this.component, '_accept', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\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 '../input-line.css';\n\n:host label.kol-required span::after {\n\tcontent: '*';\n}\n\n:host label input[type='file']::-webkit-file-upload-button {\n\tdisplay: none;\n}\n\n:host label input[type='file']::before {\n\tcontent: 'Datei auswählen';\n}\n\n:host label input[multiple]::before {\n\tcontent: 'Dateien auswählen';\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputFileController } from './controller';\nimport { ComponentApi, States } from './types';\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\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDiscribedBy } = getRenderStates(this.state);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\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>\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccept={this.state._accept}\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: 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 Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_id: '⚠',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputFileController(this, 'file', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accept')\n\tpublic validateAccept(value?: string): void {\n\t\tthis.controller.validateAccept(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\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) => {\n\t\tif (this.ref instanceof HTMLInputElement && this.ref.type === 'file' && typeof this.state._on?.onChange === 'function') {\n\t\t\tthis.state._on.onChange(event, this.ref.files);\n\t\t}\n\t};\n}\n"],"mappings":"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"}
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","ariaDiscribedBy","getRenderStates","state","h","Host","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accept","accessKey","_accessKey","length","join","undefined","autoCapitalize","autoCorrect","disabled","id","multiple","_name","required","spellcheck","type","controller","onFacade","onChange","hostRef","propergateFocus","event","HTMLInputElement","_a","_on","files","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateOn","validateSmartButton","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';\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\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateAccept(value?: string): void {\n\t\twatchString(this.component, '_accept', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMultiple(value?: boolean): void {\n\t\twatchBoolean(this.component, '_multiple', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\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 '../input-line.css';\n\nlabel.kol-required span::after {\n\tcontent: '*';\n}\n\nlabel input[type='file']::-webkit-file-upload-button {\n\tdisplay: none;\n}\n\nlabel input[type='file']::before {\n\tcontent: 'Datei auswählen';\n}\n\nlabel input[multiple]::before {\n\tcontent: 'Dateien auswählen';\n}\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\n\nimport { InputTypeOnDefault } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputFileController } from './controller';\nimport { ComponentApi, States } from './types';\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\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tpublic render(): JSX.Element {\n\t\tconst { ariaDiscribedBy } = getRenderStates(this.state);\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\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>\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccept={this.state._accept}\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tmultiple={this.state._multiple}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonChange={this.onChange}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: 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 Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt an, ob mehrere Werte eingegeben werden können.\n\t */\n\t@Prop({ reflect: true }) public _multiple?: boolean;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: string;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_id: '⚠',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputFileController(this, 'file', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accept')\n\tpublic validateAccept(value?: string): void {\n\t\tthis.controller.validateAccept(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_multiple')\n\tpublic validateMultiple(value?: boolean): void {\n\t\tthis.controller.validateMultiple(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: string): void {\n\t\tthis.controller.validateValue(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\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) => {\n\t\tif (this.ref instanceof HTMLInputElement && this.ref.type === 'file' && typeof this.state._on?.onChange === 'function') {\n\t\t\tthis.state._on.onChange(event, this.ref.files);\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-50adf9a0.js";import{a as o}from"./reuse-9dd1192b.js";import{p as a}from"./controller-37aebfec.js";import{g as r}from"./controller-a23b4b6b.js";import{a as h,d as l,w as n,b as d,e as p}from"./prop.validators-dd337216.js";import{I as u}from"./controller-icon-1f62443f.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./icon-bad239de.js";class c extends u{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 o=parseFloat(e),a=o==e;return h(this.component,t,(t=>void 0===t||""===t||a&&"number"==typeof o||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(t){l(this.component,"_list",(t=>"string"==typeof t),t)}onChange(t){super.onChange(t),this.component._value=t.target.value}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){n(this.component,"_placeholder",t)}validateReadOnly(t){d(this.component,"_readOnly",t)}validateRequired(t){d(this.component,"_required",t)}validateStep(t){p(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)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateList(this.component._list),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 f=":host{--kolibri-border-color:#e0e0e0;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}:host *{box-sizing:border-box}:host kol-icon{color:inherit}:host kol-span-wc{display:grid;place-items:center;width:100%}:host kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}:host button{margin:0;min-height:44px;min-width:44px;padding:0}:host a,:host button,:host input,:host select,:host textarea{cursor:pointer}:host a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}:host a{display:inline-flex;place-items:baseline}:host button{background-color:transparent;border-width:0}:host .kol-required span::after{content:'*'}:host input,:host select,:host textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}:host input input.error,:host input select.error,:host input textarea.error,:host select input.error,:host select select.error,:host select textarea.error,:host textarea input.error,:host textarea select.error,:host textarea textarea.error{border-color:var(--kolibri-border-error)}:host input input:focus,:host input input:hover,:host input select:focus,:host input select:hover,:host input textarea:focus,:host input textarea:hover,:host select input:focus,:host select input:hover,:host select select:focus,:host select select:hover,:host select textarea:focus,:host select textarea:hover,:host textarea input:focus,:host textarea input:hover,:host textarea select:focus,:host textarea select:hover,:host textarea textarea:focus,:host textarea textarea:hover{border-color:#999}:host input:not([type='checkbox']),:host option,:host select,:host textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}:host .kol-disabled{opacity:0.5}:host .kol-cursor-not-allowed,:host .kol-cursor-not-allowed *{cursor:not-allowed}:host input[type='color'],:host input[type='date'],:host input[type='datetime-local'],:host input[type='email'],:host input[type='file'],:host input[type='month'],:host input[type='number'],:host input[type='password'],:host input[type='search'],:host input[type='tel'],:host input[type='text'],:host input[type='time'],:host input[type='url'],:host input[type='week'],:host select,:host textarea{background-color:white;display:block;line-height:1em;padding:0.5em}:host input[type='color']{height:2.5em;padding:0.25em 0.5em}:host textarea{padding:0.5em}",b=class{render(){const{ariaDiscribedBy:i}=r(this.state),o=Array.isArray(this.state._list)&&this.state._list.length>0;return t(e,null,t("kol-input",{_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched}," ",t("span",{slot:"label"},t("slot",null)),t("input",Object.assign({ref:this.catchRef,part:"input",title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:o?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,slot:"input",step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,o(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?a({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._step=void 0,this._tabIndex=void 0,this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_id:"⚠",_list:[],_type:"number"},this.controller=new c(this,"number",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateList(t){this.controller.validateList(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateStep(t){this.controller.validateStep(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}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"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_step:["validateStep"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};b.style={default:f};export{b as kol_input_number};
4
+ import{h as e,H as t,r as i,g as a}from"./index-50adf9a0.js";import{a as r}from"./reuse-9dd1192b.js";import{p as o}from"./controller-37aebfec.js";import{g as s}from"./controller-a23b4b6b.js";import{a as l,d as n,w as d,b as h,e as c}from"./prop.validators-dd337216.js";import{I as p}from"./controller-icon-1f62443f.js";import"./a11y.tipps-a876ebb7.js";import"./dev.utils-ec1c1b88.js";import"./tab-index-0a44a354.js";import"./index-599f5430.js";import"./icon-bad239de.js";class u extends p{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),o=a==e;return l(this.component,t,(t=>void 0===t||""===t||o&&"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){l(this.component,"_autoComplete",(t=>"string"==typeof t&&("on"===t||"off"===t)),new Set(["on | off"]),t)}validateList(t){n(this.component,"_list",(t=>"string"==typeof t),t)}onChange(t){super.onChange(t),this.component._value=t.target.value}validateMax(t){this.validateIso8601("_max",t)}validateMin(t){this.validateIso8601("_min",t)}validatePlaceholder(t){d(this.component,"_placeholder",t)}validateReadOnly(t){h(this.component,"_readOnly",t)}validateRequired(t){h(this.component,"_required",t)}validateStep(t){c(this.component,"_step",t)}validateType(t){l(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)}componentWillLoad(){super.componentWillLoad(),this.validateAutoComplete(this.component._autoComplete),this.validateMax(this.component._max),this.validateMin(this.component._min),this.validateList(this.component._list),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 b=":host{--kolibri-border-color:#666;--kolibri-border-radius:0.125rem;--kolibri-border-width:1px;--kolibri-color-error:#f44336;--kolibri-color-info:#2196f3;--kolibri-color-success:#4caf50;--kolibri-color-warning:#ff9800;--kolibri-color-primary:#3f51b5;--kolibri-color-secondary:#ff4081;--kolibri-color-normal:#9e9e9e;--kolibri-color-danger:#f44336;--kolibri-color-ghost:#f5f5f5;--kolibri-color-disabled:#bdbdbd;--kolibri-color-text:#222222;--kolibri-color-visited:#9c27b0;--kolibri-font-family:Verdana, Arial, Tahoma, Helvetica, sans-serif;--kolibri-font-size:16px;--kolibri-spacing:0.25rem}:host *{font-family:inherit;font-size:inherit;hyphens:auto;letter-spacing:inherit;word-break:break-word;word-spacing:inherit}:host{font-family:var(--kolibri-font-family);font-size:inherit}*{box-sizing:border-box}kol-icon{color:inherit}kol-span-wc{display:grid;place-items:center;width:100%}kol-span-wc>span{display:flex;gap:var(--kolibri-spacing);place-items:center}a{display:inline-flex;place-items:baseline}button{background-color:transparent;border-width:0;margin:0;min-height:44px;min-width:44px;padding:0}a,button,input,select,textarea{cursor:pointer}a.icon-only>kol-span-wc>span>span,:host button.icon-only>kol-span-wc>span>span{display:none}.kol-required span::after{content:'*'}.kol-disabled{opacity:0.5}.kol-cursor-not-allowed,.kol-cursor-not-allowed *{cursor:not-allowed}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,textarea{background-color:white;display:block;font-size:1em;line-height:1.5em;padding:0.5em}input[type='color']{height:2.5em;padding:0.25em 0.5em}textarea{padding:0.5em}input,select,textarea{border-color:var(--kolibri-border-color);border-style:solid;border-width:1px}input input.error,input select.error,input textarea.error,select input.error,select select.error,select textarea.error,textarea input.error,textarea select.error,textarea textarea.error{border-color:var(--kolibri-border-error)}input input:focus,input input:hover,input select:focus,input select:hover,input textarea:focus,input textarea:hover,select input:focus,select input:hover,select select:focus,select select:hover,select textarea:focus,select textarea:hover,textarea input:focus,textarea input:hover,textarea select:focus,textarea select:hover,textarea textarea:focus,textarea textarea:hover{border-color:#999}input:not([type='checkbox']),option,select,textarea{font-size:inherit;letter-spacing:inherit;word-spacing:inherit}kol-input{display:grid;gap:calc(2 * var(--kolibri-spacing))}input,select,textarea{background-color:white;border-color:var(--kolibri-border-color);border-radius:var(--kolibri-border-radius);border-style:solid;border-width:var(--kolibri-border-width);font-size:1em;font-family:var(--kolibri-font-family-sans);line-height:1.5em;overflow:hidden;width:100%}input,select:not([multiple]){height:2.75em}input::placeholder{color:var(--kolibri-color-normal)}input:hover{border-color:var(--kolibri-color-primary)}input:not([type='color']):read-only,input:disabled,select:read-only,select:disabled,textarea:read-only,textarea:disabled{cursor:not-allowed}.required label>span::after{content:'*';padding-left:var(--kolibri-spacing)}.icons{display:flex;justify-content:space-between;height:0}.icons>kol-icon{display:block;margin:0.75em;height:1em}.icon-left input,.icon-left select{padding-left:2em}.icon-right input,.icon-right select{padding-right:2em}kol-button-wc{position:relative;float:right;z-index:1000;margin-top:-44px}kol-button-wc button{background-color:transparent;cursor:pointer}.icon-right kol-button-wc{margin-right:44px}.disabled{opacity:0.5}select[multiple],textarea{overflow:auto}textarea{display:block}select option{margin:var(--kolibri-spacing) 0;padding:0.5em;border-radius:0.25em;cursor:pointer}select option:disabled{cursor:not-allowed}option:active:not(:disabled),option:checked:not(:disabled),option:focus:not(:disabled),option:hover:not(:disabled){background-color:var(--kolibri-color-primary);color:white}",f=class{render(){const{ariaDiscribedBy:i}=s(this.state),a=Array.isArray(this.state._list)&&this.state._list.length>0;return e(t,null,e("kol-input",{_disabled:this.state._disabled,_error:this.state._error,_hideLabel:this.state._hideLabel,_hint:this.state._hint,_icon:this.state._icon,_id:this.state._id,_list:this.state._list,_readOnly:this.state._readOnly,_required:this.state._required,_smartButton:this.state._smartButton,_touched:this.state._touched}," ",e("span",{slot:"label"},e("slot",null)),e("input",Object.assign({ref:this.catchRef,part:"input",title:"",accessKey:this.state._accessKey,"aria-describedby":i.length>0?i.join(" "):void 0,"aria-labelledby":`${this.state._id}-label`,autoCapitalize:"off",autoComplete:this.state._autoComplete,autoCorrect:"off",disabled:this.state._disabled,id:this.state._id,list:a?`${this.state._id}-list`:void 0,max:this.state._max,min:this.state._min,name:this.state._name,readOnly:this.state._readOnly,required:this.state._required,placeholder:this.state._placeholder,slot:"input",step:this.state._step,spellcheck:"false",type:this.state._type,value:this.state._value},this.controller.onFacade,{onKeyUp:this.onKeyUp}))))}constructor(t){i(this,t),this.catchRef=t=>{this.ref=t,r(this.host,this.ref)},this.onKeyUp=t=>{"Enter"===t.code?o({form:this.host,ref:this.ref}):this.controller.onFacade.onChange(t)},this._accessKey=void 0,this._alert=!0,this._autoComplete=void 0,this._disabled=void 0,this._error=void 0,this._hideLabel=void 0,this._hint="",this._icon=void 0,this._id=void 0,this._list=void 0,this._max=void 0,this._min=void 0,this._name=void 0,this._on=void 0,this._placeholder=void 0,this._readOnly=void 0,this._required=void 0,this._smartButton=void 0,this._step=void 0,this._tabIndex=void 0,this._touched=!1,this._type="number",this._value=void 0,this.state={_autoComplete:"off",_id:"⚠",_list:[],_type:"number"},this.controller=new u(this,"number",this.host)}validateAccessKey(t){this.controller.validateAccessKey(t)}validateAlert(t){this.controller.validateAlert(t)}validateAutoComplete(t){this.controller.validateAutoComplete(t)}validateDisabled(t){this.controller.validateDisabled(t)}validateError(t){this.controller.validateError(t)}validateHideLabel(t){this.controller.validateHideLabel(t)}validateHint(t){this.controller.validateHint(t)}validateIcon(t){this.controller.validateIcon(t)}validateId(t){this.controller.validateId(t)}validateList(t){this.controller.validateList(t)}validateMax(t){this.controller.validateMax(t)}validateMin(t){this.controller.validateMin(t)}validateName(t){this.controller.validateName(t)}validateOn(t){this.controller.validateOn(t)}validatePlaceholder(t){this.controller.validatePlaceholder(t)}validateReadOnly(t){this.controller.validateReadOnly(t)}validateRequired(t){this.controller.validateRequired(t)}validateSmartButton(t){this.controller.validateSmartButton(t)}validateStep(t){this.controller.validateStep(t)}validateTabIndex(t){this.controller.validateTabIndex(t)}validateTouched(t){this.controller.validateTouched(t)}validateType(t){this.controller.validateType(t)}validateValue(t){this.controller.validateValueEx(t,(t=>{""===t&&this.ref&&(this.ref.value="")}))}componentWillLoad(){this._alert=!0===this._alert,this._touched=!0===this._touched,this.controller.componentWillLoad()}get host(){return a(this)}static get watchers(){return{_accessKey:["validateAccessKey"],_alert:["validateAlert"],_autoComplete:["validateAutoComplete"],_disabled:["validateDisabled"],_error:["validateError"],_hideLabel:["validateHideLabel"],_hint:["validateHint"],_icon:["validateIcon"],_id:["validateId"],_list:["validateList"],_max:["validateMax"],_min:["validateMin"],_name:["validateName"],_on:["validateOn"],_placeholder:["validatePlaceholder"],_readOnly:["validateReadOnly"],_required:["validateRequired"],_smartButton:["validateSmartButton"],_step:["validateStep"],_tabIndex:["validateTabIndex"],_touched:["validateTouched"],_type:["validateType"],_value:["validateValue"]}}};f.style={default:b};export{f as kol_input_number};
@@ -1 +1 @@
1
- {"version":3,"names":["InputNumberController","InputIconController","constructor","component","name","host","super","this","numberOrIsoDateRegex","parseToString","value","Date","toISOString","validateIso8601","propName","afterPatch","parsedValue","parseFloat","valueMatched","watchValidator","undefined","test","Set","hooks","validateAutoComplete","validateList","watchJsonArrayString","item","onChange","event","_value","target","validateMax","validateMin","validatePlaceholder","watchString","validateReadOnly","watchBoolean","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","componentWillLoad","_autoComplete","_max","_min","_list","_readOnly","_required","_step","_type","defaultStyleCss","KolInputNumber","render","ariaDiscribedBy","getRenderStates","state","hasList","Array","isArray","length","h","Host","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","placeholder","_placeholder","step","spellcheck","type","controller","onFacade","onKeyUp","hostRef","propergateFocus","code","propergateSubmitEventToForm","form","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateOn","validateSmartButton","validateTabIndex","validateTouched","v","_alert"],"sources":["./src/components/input-number/controller.ts","./src/components/input-number/style.css?tag=kol-input-number&mode=default&encapsulation=shadow","./src/components/input-number/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchBoolean, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputNumberController extends InputIconController implements Watches {\n\t/**\n\t * Regex to check whether a string is a number or a date in ISO-8601 format.\n\t * Test the regex here: https://regex101.com/r/ddGR4V/1\n\t */\n\tprivate readonly numberOrIsoDateRegex =\n\t\t/^\\d+$|(^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])([T ][0-2]\\d:[0-5]\\d:[0-5]\\d(?:\\.\\d+)?([+-][0-2]\\d:[0-5]\\d|Z)?)?$)|(^[0-2]\\d:[0-5]\\d(:[0-5]\\d)?$)/;\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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 * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tprivate readonly parseToString = (value?: number | Date | string | null) => {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof value === 'number') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\tif (typeof value === 'object' && value instanceof Date) {\n\t\t\treturn value.toISOString();\n\t\t}\n\t\treturn '';\n\t};\n\n\tprivate readonly validateIso8601 = (propName: string, value?: number | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\tconst parsedValue = parseFloat(value as string);\n\t\tconst valueMatched = parsedValue == value;\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value === '' || (valueMatched && typeof parsedValue === 'number') || this.numberOrIsoDateRegex.test(value),\n\t\t\tnew Set(['number', 'Date', 'string{ISO-8601}']),\n\t\t\tthis.parseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\t\tthis.component._value = (event.target as HTMLInputElement).value as number | Iso8601;\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_max', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_min', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: number | Iso8601 | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateList(this.component._list);\n\t\tthis.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 '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { propergateSubmitEventToForm } from '../form/controller';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputNumberController } from './controller';\nimport { ComponentApi, States } from './types';\n\n@Component({\n\ttag: 'kol-input-number',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputNumber implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputNumberElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropergateSubmitEventToForm({\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 { ariaDiscribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{' '}\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputNumberController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Zahlenwert an.\n\t */\n\t@Prop() public _max?: number | Iso8601;\n\n\t/**\n\t * Gibt den kleinstmöglichen Zahlenwert an.\n\t */\n\t@Prop() public _min?: number | Iso8601;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt an, ob es ein DateTime-, Date-, Month-, Week-, Time-, DateTime-Local-, Number-Eingabefeld ist.\n\t *\n\t * @deprecated Das W3C hat die Date-Typen in eine eigene Gruppe zusammengefasst. Verwende hierfür die InputDate-Komponente.\n\t */\n\t@Prop() public _type?: InputNumberType = 'number';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: number | Iso8601 | null;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: '⚠',\n\t\t_list: [],\n\n\t\t_type: 'number',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputNumberController(this, 'number', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_max')\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_min')\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: InputNumberType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["InputNumberController","InputIconController","constructor","component","name","host","super","this","numberOrIsoDateRegex","parseToString","value","Date","toISOString","validateIso8601","propName","afterPatch","parsedValue","parseFloat","valueMatched","watchValidator","undefined","test","Set","hooks","validateAutoComplete","validateList","watchJsonArrayString","item","onChange","event","_value","target","validateMax","validateMin","validatePlaceholder","watchString","validateReadOnly","watchBoolean","validateRequired","validateStep","watchNumber","validateType","validateValue","validateValueEx","componentWillLoad","_autoComplete","_max","_min","_list","_readOnly","_required","_step","_type","defaultStyleCss","KolInputNumber","render","ariaDiscribedBy","getRenderStates","state","hasList","Array","isArray","length","h","Host","_disabled","_error","_hideLabel","_hint","_icon","_id","_smartButton","_touched","slot","Object","assign","ref","catchRef","part","title","accessKey","_accessKey","join","autoCapitalize","autoComplete","autoCorrect","disabled","id","list","max","min","_name","readOnly","required","placeholder","_placeholder","step","spellcheck","type","controller","onFacade","onKeyUp","hostRef","propergateFocus","code","propergateSubmitEventToForm","form","validateAccessKey","validateAlert","validateDisabled","validateError","validateHideLabel","validateHint","validateIcon","validateId","validateName","validateOn","validateSmartButton","validateTabIndex","validateTouched","v","_alert"],"sources":["./src/components/input-number/controller.ts","./src/components/input-number/style.css?tag=kol-input-number&mode=default&encapsulation=shadow","./src/components/input-number/component.tsx"],"sourcesContent":["import { Generic } from '@a11y-ui/core';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnOff } from '../../types/input/types';\nimport { watchBoolean, watchJsonArrayString, watchNumber, watchString, watchValidator } from '../../utils/prop.validators';\nimport { InputIconController } from '../@deprecated/input/controller-icon';\nimport { Props, Watches } from './types';\n\nexport class InputNumberController extends InputIconController implements Watches {\n\t/**\n\t * Regex to check whether a string is a number or a date in ISO-8601 format.\n\t * Test the regex here: https://regex101.com/r/ddGR4V/1\n\t */\n\tprivate readonly numberOrIsoDateRegex =\n\t\t/^\\d+$|(^\\d{4}-([0]\\d|1[0-2])-([0-2]\\d|3[01])([T ][0-2]\\d:[0-5]\\d:[0-5]\\d(?:\\.\\d+)?([+-][0-2]\\d:[0-5]\\d|Z)?)?$)|(^[0-2]\\d:[0-5]\\d(:[0-5]\\d)?$)/;\n\n\tprotected readonly component: Generic.Element.Component & Props;\n\n\tpublic constructor(component: Generic.Element.Component & Props, name: string, host?: HTMLElement) {\n\t\tsuper(component, name, host);\n\t\tthis.component = component;\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\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 * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\twatchJsonArrayString(this.component, '_list', (item: string) => typeof item === 'string', value);\n\t}\n\n\tprivate readonly parseToString = (value?: number | Date | string | null) => {\n\t\tif (typeof value === 'string') {\n\t\t\treturn value;\n\t\t}\n\t\tif (typeof value === 'number') {\n\t\t\treturn `${value}`;\n\t\t}\n\t\tif (typeof value === 'object' && value instanceof Date) {\n\t\t\treturn value.toISOString();\n\t\t}\n\t\treturn '';\n\t};\n\n\tprivate readonly validateIso8601 = (propName: string, value?: number | Iso8601 | null, afterPatch?: (v: string) => void) => {\n\t\tconst parsedValue = parseFloat(value as string);\n\t\tconst valueMatched = parsedValue == value;\n\t\treturn watchValidator(\n\t\t\tthis.component,\n\t\t\tpropName,\n\t\t\t(value): boolean => value === undefined || value === '' || (valueMatched && typeof parsedValue === 'number') || this.numberOrIsoDateRegex.test(value),\n\t\t\tnew Set(['number', 'Date', 'string{ISO-8601}']),\n\t\t\tthis.parseToString(value),\n\t\t\t{\n\t\t\t\thooks: {\n\t\t\t\t\tafterPatch: (value) => {\n\t\t\t\t\t\tif (typeof value === 'string' && afterPatch) {\n\t\t\t\t\t\t\tafterPatch(value);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t);\n\t};\n\n\tprotected onChange(event: Event): void {\n\t\tsuper.onChange(event);\n\t\tthis.component._value = (event.target as HTMLInputElement).value as number | Iso8601;\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_max', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.validateIso8601('_min', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validatePlaceholder(value?: string): void {\n\t\twatchString(this.component, '_placeholder', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateReadOnly(value?: boolean): void {\n\t\twatchBoolean(this.component, '_readOnly', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateRequired(value?: boolean): void {\n\t\twatchBoolean(this.component, '_required', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateStep(value?: number): void {\n\t\twatchNumber(this.component, '_step', value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\tpublic validateType(value?: InputNumberType): void {\n\t\twatchValidator(\n\t\t\tthis.component,\n\t\t\t'_type',\n\t\t\t(value): boolean =>\n\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t(value === 'date' || value === 'datetime-local' || value === 'month' || value === 'number' || value === 'time' || value === 'week'),\n\t\t\tnew Set(['String {date, datetime-local, month, number, time, week}']),\n\t\t\tvalue\n\t\t);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.validateValueEx(value);\n\t}\n\n\t/**\n\t * Overload of validate value. Extends by an after patch callback function.\n\t */\n\tpublic validateValueEx(value?: number | Iso8601 | null, afterPatch?: (v: string) => void): void {\n\t\tthis.validateIso8601('_value', value, afterPatch);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tsuper.componentWillLoad();\n\t\tthis.validateAutoComplete(this.component._autoComplete);\n\t\tthis.validateMax(this.component._max);\n\t\tthis.validateMin(this.component._min);\n\t\tthis.validateList(this.component._list);\n\t\tthis.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 '../input-line.css';\n","import { Component, Element, h, Host, JSX, Prop, State, Watch } from '@stencil/core';\nimport { ButtonProps } from '../../types/button-link';\nimport { Stringified } from '../../types/common';\nimport { InputNumberType } from '../../types/input/control/number';\nimport { Iso8601 } from '../../types/input/iso8601';\nimport { InputTypeOnDefault, InputTypeOnOff } from '../../types/input/types';\nimport { propergateFocus } from '../../utils/reuse';\nimport { propergateSubmitEventToForm } from '../form/controller';\nimport { KoliBriHorizontalIcon } from '../../types/icon';\nimport { getRenderStates } from '../input/controller';\nimport { InputNumberController } from './controller';\nimport { ComponentApi, States } from './types';\n\n@Component({\n\ttag: 'kol-input-number',\n\tstyleUrls: {\n\t\tdefault: './style.css',\n\t},\n\tshadow: true,\n})\nexport class KolInputNumber implements ComponentApi {\n\t@Element() private readonly host?: HTMLKolInputNumberElement;\n\tprivate ref?: HTMLInputElement;\n\n\tprivate readonly catchRef = (ref?: HTMLInputElement) => {\n\t\tthis.ref = ref;\n\t\tpropergateFocus(this.host, this.ref);\n\t};\n\n\tprivate readonly onKeyUp = (event: KeyboardEvent) => {\n\t\tif (event.code === 'Enter') {\n\t\t\tpropergateSubmitEventToForm({\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 { ariaDiscribedBy } = getRenderStates(this.state);\n\t\tconst hasList = Array.isArray(this.state._list) && this.state._list.length > 0;\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<kol-input\n\t\t\t\t\t_disabled={this.state._disabled}\n\t\t\t\t\t_error={this.state._error}\n\t\t\t\t\t_hideLabel={this.state._hideLabel}\n\t\t\t\t\t_hint={this.state._hint}\n\t\t\t\t\t_icon={this.state._icon}\n\t\t\t\t\t_id={this.state._id}\n\t\t\t\t\t_list={this.state._list}\n\t\t\t\t\t_readOnly={this.state._readOnly}\n\t\t\t\t\t_required={this.state._required}\n\t\t\t\t\t_smartButton={this.state._smartButton}\n\t\t\t\t\t_touched={this.state._touched}\n\t\t\t\t>\n\t\t\t\t\t{' '}\n\t\t\t\t\t<span slot=\"label\">\n\t\t\t\t\t\t<slot />\n\t\t\t\t\t</span>\n\t\t\t\t\t<input\n\t\t\t\t\t\tref={this.catchRef}\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\ttitle=\"\"\n\t\t\t\t\t\taccessKey={this.state._accessKey}\n\t\t\t\t\t\taria-describedby={ariaDiscribedBy.length > 0 ? ariaDiscribedBy.join(' ') : undefined}\n\t\t\t\t\t\taria-labelledby={`${this.state._id}-label`}\n\t\t\t\t\t\tautoCapitalize=\"off\"\n\t\t\t\t\t\tautoComplete={this.state._autoComplete}\n\t\t\t\t\t\tautoCorrect=\"off\"\n\t\t\t\t\t\tdisabled={this.state._disabled}\n\t\t\t\t\t\tid={this.state._id}\n\t\t\t\t\t\tlist={hasList ? `${this.state._id}-list` : undefined}\n\t\t\t\t\t\tmax={this.state._max}\n\t\t\t\t\t\tmin={this.state._min}\n\t\t\t\t\t\tname={this.state._name}\n\t\t\t\t\t\treadOnly={this.state._readOnly}\n\t\t\t\t\t\trequired={this.state._required}\n\t\t\t\t\t\tplaceholder={this.state._placeholder}\n\t\t\t\t\t\tslot=\"input\"\n\t\t\t\t\t\tstep={this.state._step}\n\t\t\t\t\t\tspellcheck=\"false\"\n\t\t\t\t\t\ttype={this.state._type}\n\t\t\t\t\t\tvalue={this.state._value as string}\n\t\t\t\t\t\t{...this.controller.onFacade}\n\t\t\t\t\t\tonKeyUp={this.onKeyUp}\n\t\t\t\t\t/>\n\t\t\t\t</kol-input>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate readonly controller: InputNumberController;\n\n\t/**\n\t * Gibt an, mit welcher Tastenkombination man das Input auslösen oder fokussieren kann.\n\t */\n\t@Prop() public _accessKey?: string;\n\n\t/**\n\t * Gibt an, ob die Fehlermeldung vorgelesen werden soll, wenn es eine gibt.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _alert?: boolean = true;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld autovervollständigt werden kann.\n\t */\n\t@Prop() public _autoComplete?: InputTypeOnOff;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld aktiviert oder deaktiviert ist.\n\t */\n\t@Prop({ reflect: true }) public _disabled?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Fehlermeldung an.\n\t */\n\t@Prop() public _error?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld kein sichtbares Label haben soll.\n\t */\n\t@Prop({ reflect: true }) public _hideLabel?: boolean;\n\n\t/**\n\t * Gibt den Text für eine Hinweistext an.\n\t */\n\t@Prop() public _hint?: string = '';\n\n\t/**\n\t * Ermöglicht das Anzeigen von Icons links und/oder rechts am Rand des Eingabefeldes.\n\t */\n\t@Prop() public _icon?: Stringified<KoliBriHorizontalIcon>;\n\n\t/**\n\t * Gibt die technische ID des Eingabefeldes an.\n\t */\n\t@Prop() public _id!: string;\n\n\t/**\n\t * Gibt die Liste der Vorschlagszahlen an.\n\t */\n\t@Prop() public _list?: Stringified<string[]>;\n\n\t/**\n\t * Gibt den größtmöglichen Zahlenwert an.\n\t */\n\t@Prop() public _max?: number | Iso8601;\n\n\t/**\n\t * Gibt den kleinstmöglichen Zahlenwert an.\n\t */\n\t@Prop() public _min?: number | Iso8601;\n\n\t/**\n\t * Gibt den technischen Namen des Eingabefeldes an.\n\t */\n\t@Prop() public _name?: string;\n\n\t/**\n\t * Gibt die EventCallback-Funktionen für das Input-Event an.\n\t */\n\t@Prop() public _on?: InputTypeOnDefault;\n\n\t/**\n\t * Gibt den Platzhalter des Eingabefeldes an, wenn es leer ist.\n\t */\n\t@Prop() public _placeholder?: string;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld nur lesend ist.\n\t */\n\t@Prop({ reflect: true }) public _readOnly?: boolean;\n\n\t/**\n\t * Gibt an, ob das Eingabefeld ein Pflichtfeld ist.\n\t */\n\t@Prop({ reflect: true }) public _required?: boolean;\n\n\t/**\n\t * Ermöglicht einen Schalter ins das Eingabefeld mit einer beliebigen Aktion zu einzufügen (nur Icon-Only).\n\t */\n\t@Prop() public _smartButton?: ButtonProps;\n\n\t/**\n\t * Gibt die Schrittweite der Wertveränderung an\n\t */\n\t@Prop() public _step?: number;\n\n\t/**\n\t * Gibt an, welchen Tab-Index dieses Input hat.\n\t */\n\t@Prop() public _tabIndex?: number;\n\n\t/**\n\t * Gibt an, ob dieses Eingabefeld von Nutzer:innen einmal besucht/berührt wurde.\n\t */\n\t@Prop({ mutable: true, reflect: true }) public _touched?: boolean = false;\n\n\t/**\n\t * Gibt an, ob es ein DateTime-, Date-, Month-, Week-, Time-, DateTime-Local-, Number-Eingabefeld ist.\n\t *\n\t * @deprecated Das W3C hat die Date-Typen in eine eigene Gruppe zusammengefasst. Verwende hierfür die InputDate-Komponente.\n\t */\n\t@Prop() public _type?: InputNumberType = 'number';\n\n\t/**\n\t * Gibt den Wert des Eingabefeldes an.\n\t */\n\t@Prop() public _value?: number | Iso8601 | null;\n\n\t/**\n\t * @see: components/abbr/component.tsx (@State)\n\t */\n\t@State() public state: States = {\n\t\t_autoComplete: 'off',\n\t\t_id: '⚠',\n\t\t_list: [],\n\n\t\t_type: 'number',\n\t};\n\n\tpublic constructor() {\n\t\tthis.controller = new InputNumberController(this, 'number', this.host);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_accessKey')\n\tpublic validateAccessKey(value?: string): void {\n\t\tthis.controller.validateAccessKey(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_alert')\n\tpublic validateAlert(value?: boolean): void {\n\t\tthis.controller.validateAlert(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_autoComplete')\n\tpublic validateAutoComplete(value?: InputTypeOnOff): void {\n\t\tthis.controller.validateAutoComplete(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_disabled')\n\tpublic validateDisabled(value?: boolean): void {\n\t\tthis.controller.validateDisabled(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_error')\n\tpublic validateError(value?: string): void {\n\t\tthis.controller.validateError(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hideLabel')\n\tpublic validateHideLabel(value?: boolean): void {\n\t\tthis.controller.validateHideLabel(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_hint')\n\tpublic validateHint(value?: string): void {\n\t\tthis.controller.validateHint(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_icon')\n\tpublic validateIcon(value?: Stringified<KoliBriHorizontalIcon>): void {\n\t\tthis.controller.validateIcon(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_id')\n\tpublic validateId(value?: string): void {\n\t\tthis.controller.validateId(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_list')\n\tpublic validateList(value?: Stringified<string[]>): void {\n\t\tthis.controller.validateList(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_max')\n\tpublic validateMax(value?: number | Iso8601): void {\n\t\tthis.controller.validateMax(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_min')\n\tpublic validateMin(value?: number | Iso8601): void {\n\t\tthis.controller.validateMin(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_name')\n\tpublic validateName(value?: string): void {\n\t\tthis.controller.validateName(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_on')\n\tpublic validateOn(value?: InputTypeOnDefault): void {\n\t\tthis.controller.validateOn(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_placeholder')\n\tpublic validatePlaceholder(value?: string): void {\n\t\tthis.controller.validatePlaceholder(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_readOnly')\n\tpublic validateReadOnly(value?: boolean): void {\n\t\tthis.controller.validateReadOnly(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_required')\n\tpublic validateRequired(value?: boolean): void {\n\t\tthis.controller.validateRequired(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_smartButton')\n\tpublic validateSmartButton(value?: ButtonProps | string): void {\n\t\tthis.controller.validateSmartButton(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_step')\n\tpublic validateStep(value?: number): void {\n\t\tthis.controller.validateStep(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_tabIndex')\n\tpublic validateTabIndex(value?: number): void {\n\t\tthis.controller.validateTabIndex(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_touched')\n\tpublic validateTouched(value?: boolean): void {\n\t\tthis.controller.validateTouched(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t * @deprecated\n\t */\n\t@Watch('_type')\n\tpublic validateType(value?: InputNumberType): void {\n\t\tthis.controller.validateType(value);\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (@Watch)\n\t */\n\t@Watch('_value')\n\tpublic validateValue(value?: number | Iso8601 | null): void {\n\t\tthis.controller.validateValueEx(value, (v) => {\n\t\t\tif (v === '' && this.ref) {\n\t\t\t\tthis.ref.value = '';\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * @see: components/abbr/component.tsx (componentWillLoad)\n\t */\n\tpublic componentWillLoad(): void {\n\t\tthis._alert = this._alert === true;\n\t\tthis._touched = this._touched === true;\n\t\tthis.controller.componentWillLoad();\n\t}\n}\n"],"mappings":";;;6dASaA,UAA8BC,EAU1CC,YAAmBC,EAA8CC,EAAcC,GAC9EC,MAAMH,EAAWC,EAAMC,GANPE,KAAAC,qBAChB,gJA6BgBD,KAAAE,cAAiBC,IACjC,UAAWA,IAAU,SAAU,CAC9B,OAAOA,C,CAER,UAAWA,IAAU,SAAU,CAC9B,MAAO,GAAGA,G,CAEX,UAAWA,IAAU,UAAYA,aAAiBC,KAAM,CACvD,OAAOD,EAAME,a,CAEd,MAAO,EAAE,EAGOL,KAAAM,gBAAkB,CAACC,EAAkBJ,EAAiCK,KACtF,MAAMC,EAAcC,WAAWP,GAC/B,MAAMQ,EAAeF,GAAeN,EACpC,OAAOS,EACNZ,KAAKJ,UACLW,GACCJ,GAAmBA,IAAUU,WAAaV,IAAU,IAAOQ,UAAuBF,IAAgB,UAAaT,KAAKC,qBAAqBa,KAAKX,IAC/I,IAAIY,IAAI,CAAC,SAAU,OAAQ,qBAC3Bf,KAAKE,cAAcC,GACnB,CACCa,MAAO,CACNR,WAAaL,IACZ,UAAWA,IAAU,UAAYK,EAAY,CAC5CA,EAAWL,E,KAKf,EAtDDH,KAAKJ,UAAYA,C,CAMXqB,qBAAqBd,GAC3BS,EACCZ,KAAKJ,UACL,iBACCO,UAA0BA,IAAU,WAAaA,IAAU,MAAQA,IAAU,QAC9E,IAAIY,IAAI,CAAC,aACTZ,E,CAOKe,aAAaf,GACnBgB,EAAqBnB,KAAKJ,UAAW,SAAUwB,UAAwBA,IAAS,UAAUjB,E,CAqCjFkB,SAASC,GAClBvB,MAAMsB,SAASC,GACftB,KAAKJ,UAAU2B,OAAUD,EAAME,OAA4BrB,K,CAMrDsB,YAAYtB,GAClBH,KAAKM,gBAAgB,OAAQH,E,CAMvBuB,YAAYvB,GAClBH,KAAKM,gBAAgB,OAAQH,E,CAMvBwB,oBAAoBxB,GAC1ByB,EAAY5B,KAAKJ,UAAW,eAAgBO,E,CAMtC0B,iBAAiB1B,GACvB2B,EAAa9B,KAAKJ,UAAW,YAAaO,E,CAMpC4B,iBAAiB5B,GACvB2B,EAAa9B,KAAKJ,UAAW,YAAaO,E,CAMpC6B,aAAa7B,GACnB8B,EAAYjC,KAAKJ,UAAW,QAASO,E,CAO/B+B,aAAa/B,GACnBS,EACCZ,KAAKJ,UACL,SACCO,UACOA,IAAU,WAChBA,IAAU,QAAUA,IAAU,kBAAoBA,IAAU,SAAWA,IAAU,UAAYA,IAAU,QAAUA,IAAU,SAC7H,IAAIY,IAAI,CAAC,6DACTZ,E,CAOKgC,cAAchC,GACpBH,KAAKoC,gBAAgBjC,E,CAMfiC,gBAAgBjC,EAAiCK,GACvDR,KAAKM,gBAAgB,SAAUH,EAAOK,E,CAMhC6B,oBACNtC,MAAMsC,oBACNrC,KAAKiB,qBAAqBjB,KAAKJ,UAAU0C,eACzCtC,KAAKyB,YAAYzB,KAAKJ,UAAU2C,MAChCvC,KAAK0B,YAAY1B,KAAKJ,UAAU4C,MAChCxC,KAAKkB,aAAalB,KAAKJ,UAAU6C,OACjCzC,KAAK6B,iBAAiB7B,KAAKJ,UAAU8C,WACrC1C,KAAK+B,iBAAiB/B,KAAKJ,UAAU+C,WACrC3C,KAAKgC,aAAahC,KAAKJ,UAAUgD,OACjC5C,KAAKkC,aAAalC,KAAKJ,UAAUiD,OACjC7C,KAAKmC,cAAcnC,KAAKJ,UAAU2B,O,ECxKpC,MAAMuB,EAAkB,qlI,MCoBXC,EAAc,MAoBnBC,SACN,MAAMC,gBAAEA,GAAoBC,EAAgBlD,KAAKmD,OACjD,MAAMC,EAAUC,MAAMC,QAAQtD,KAAKmD,MAAMV,QAAUzC,KAAKmD,MAAMV,MAAMc,OAAS,EAC7E,OACCC,EAACC,EAAI,KACJD,EAAA,aACCE,UAAW1D,KAAKmD,MAAMO,UACtBC,OAAQ3D,KAAKmD,MAAMQ,OACnBC,WAAY5D,KAAKmD,MAAMS,WACvBC,MAAO7D,KAAKmD,MAAMU,MAClBC,MAAO9D,KAAKmD,MAAMW,MAClBC,IAAK/D,KAAKmD,MAAMY,IAChBtB,MAAOzC,KAAKmD,MAAMV,MAClBC,UAAW1C,KAAKmD,MAAMT,UACtBC,UAAW3C,KAAKmD,MAAMR,UACtBqB,aAAchE,KAAKmD,MAAMa,aACzBC,SAAUjE,KAAKmD,MAAMc,UAEpB,IACDT,EAAA,QAAMU,KAAK,SACVV,EAAA,cAEDA,EAAA,QAAAW,OAAAC,OAAA,CACCC,IAAKrE,KAAKsE,SACVC,KAAK,QACLC,MAAM,GACNC,UAAWzE,KAAKmD,MAAMuB,WAAU,mBACdzB,EAAgBM,OAAS,EAAIN,EAAgB0B,KAAK,KAAO9D,UAAS,kBACnE,GAAGb,KAAKmD,MAAMY,YAC/Ba,eAAe,MACfC,aAAc7E,KAAKmD,MAAMb,cACzBwC,YAAY,MACZC,SAAU/E,KAAKmD,MAAMO,UACrBsB,GAAIhF,KAAKmD,MAAMY,IACfkB,KAAM7B,EAAU,GAAGpD,KAAKmD,MAAMY,WAAalD,UAC3CqE,IAAKlF,KAAKmD,MAAMZ,KAChB4C,IAAKnF,KAAKmD,MAAMX,KAChB3C,KAAMG,KAAKmD,MAAMiC,MACjBC,SAAUrF,KAAKmD,MAAMT,UACrB4C,SAAUtF,KAAKmD,MAAMR,UACrB4C,YAAavF,KAAKmD,MAAMqC,aACxBtB,KAAK,QACLuB,KAAMzF,KAAKmD,MAAMP,MACjB8C,WAAW,QACXC,KAAM3F,KAAKmD,MAAMN,MACjB1C,MAAOH,KAAKmD,MAAM5B,QACdvB,KAAK4F,WAAWC,SAAQ,CAC5BC,QAAS9F,KAAK8F,Y,CAyInBnG,YAAAoG,G,UAxMiB/F,KAAAsE,SAAYD,IAC5BrE,KAAKqE,IAAMA,EACX2B,EAAgBhG,KAAKF,KAAME,KAAKqE,IAAI,EAGpBrE,KAAA8F,QAAWxE,IAC3B,GAAIA,EAAM2E,OAAS,QAAS,CAC3BC,EAA4B,CAC3BC,KAAMnG,KAAKF,KACXuE,IAAKrE,KAAKqE,K,KAEL,CACNrE,KAAK4F,WAAWC,SAASxE,SAASC,E,yCAoE8B,K,iHAyBlC,G,mTAsEoC,M,WAO3B,S,iCAUT,CAC/BgB,cAAe,MACfyB,IAAK,IACLtB,MAAO,GAEPI,MAAO,UAIP7C,KAAK4F,WAAa,IAAInG,EAAsBO,KAAM,SAAUA,KAAKF,K,CAO3DsG,kBAAkBjG,GACxBH,KAAK4F,WAAWQ,kBAAkBjG,E,CAO5BkG,cAAclG,GACpBH,KAAK4F,WAAWS,cAAclG,E,CAOxBc,qBAAqBd,GAC3BH,KAAK4F,WAAW3E,qBAAqBd,E,CAO/BmG,iBAAiBnG,GACvBH,KAAK4F,WAAWU,iBAAiBnG,E,CAO3BoG,cAAcpG,GACpBH,KAAK4F,WAAWW,cAAcpG,E,CAOxBqG,kBAAkBrG,GACxBH,KAAK4F,WAAWY,kBAAkBrG,E,CAO5BsG,aAAatG,GACnBH,KAAK4F,WAAWa,aAAatG,E,CAOvBuG,aAAavG,GACnBH,KAAK4F,WAAWc,aAAavG,E,CAOvBwG,WAAWxG,GACjBH,KAAK4F,WAAWe,WAAWxG,E,CAOrBe,aAAaf,GACnBH,KAAK4F,WAAW1E,aAAaf,E,CAOvBsB,YAAYtB,GAClBH,KAAK4F,WAAWnE,YAAYtB,E,CAOtBuB,YAAYvB,GAClBH,KAAK4F,WAAWlE,YAAYvB,E,CAOtByG,aAAazG,GACnBH,KAAK4F,WAAWgB,aAAazG,E,CAOvB0G,WAAW1G,GACjBH,KAAK4F,WAAWiB,WAAW1G,E,CAOrBwB,oBAAoBxB,GAC1BH,KAAK4F,WAAWjE,oBAAoBxB,E,CAO9B0B,iBAAiB1B,GACvBH,KAAK4F,WAAW/D,iBAAiB1B,E,CAO3B4B,iBAAiB5B,GACvBH,KAAK4F,WAAW7D,iBAAiB5B,E,CAO3B2G,oBAAoB3G,GAC1BH,KAAK4F,WAAWkB,oBAAoB3G,E,CAO9B6B,aAAa7B,GACnBH,KAAK4F,WAAW5D,aAAa7B,E,CAOvB4G,iBAAiB5G,GACvBH,KAAK4F,WAAWmB,iBAAiB5G,E,CAO3B6G,gBAAgB7G,GACtBH,KAAK4F,WAAWoB,gBAAgB7G,E,CAQ1B+B,aAAa/B,GACnBH,KAAK4F,WAAW1D,aAAa/B,E,CAOvBgC,cAAchC,GACpBH,KAAK4F,WAAWxD,gBAAgBjC,GAAQ8G,IACvC,GAAIA,IAAM,IAAMjH,KAAKqE,IAAK,CACzBrE,KAAKqE,IAAIlE,MAAQ,E,KAQbkC,oBACNrC,KAAKkH,OAASlH,KAAKkH,SAAW,KAC9BlH,KAAKiE,SAAWjE,KAAKiE,WAAa,KAClCjE,KAAK4F,WAAWvD,mB"}