kemet-ui 2.0.3 → 3.0.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 (336) hide show
  1. package/custom-elements.json +621 -692
  2. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +3 -4
  3. package/dist/components/kemet-accordion/kemet-accordion-panel.js +4 -3
  4. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
  5. package/dist/components/kemet-accordion/kemet-accordion.d.ts +6 -5
  6. package/dist/components/kemet-accordion/kemet-accordion.js +14 -5
  7. package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
  8. package/dist/components/kemet-accordion/stories.d.ts +2 -0
  9. package/dist/components/kemet-accordion/stories.js +6 -3
  10. package/dist/components/kemet-accordion/stories.js.map +1 -1
  11. package/dist/components/kemet-accordion/styles.js +5 -5
  12. package/dist/components/kemet-accordion/styles.js.map +1 -1
  13. package/dist/components/kemet-alert/docs/stories.d.ts +12 -0
  14. package/dist/components/kemet-alert/docs/stories.js +180 -36
  15. package/dist/components/kemet-alert/docs/stories.js.map +1 -1
  16. package/dist/components/kemet-alert/kemet-alert.d.ts +6 -7
  17. package/dist/components/kemet-alert/kemet-alert.js +8 -5
  18. package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
  19. package/dist/components/kemet-alert/styles.js +10 -8
  20. package/dist/components/kemet-alert/styles.js.map +1 -1
  21. package/dist/components/kemet-alert/types.d.ts +0 -9
  22. package/dist/components/kemet-alert/types.js.map +1 -1
  23. package/dist/components/kemet-avatar/docs/stories.d.ts +4 -0
  24. package/dist/components/kemet-avatar/docs/stories.js +57 -35
  25. package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
  26. package/dist/components/kemet-avatar/kemet-avatar.d.ts +4 -4
  27. package/dist/components/kemet-avatar/kemet-avatar.js +4 -4
  28. package/dist/components/kemet-avatar/kemet-avatar.js.map +1 -1
  29. package/dist/components/kemet-avatar/styles.js +16 -9
  30. package/dist/components/kemet-avatar/styles.js.map +1 -1
  31. package/dist/components/kemet-badge/docs/stories.d.ts +6 -0
  32. package/dist/components/kemet-badge/docs/stories.js +52 -16
  33. package/dist/components/kemet-badge/docs/stories.js.map +1 -1
  34. package/dist/components/kemet-badge/kemet-badge.d.ts +2 -1
  35. package/dist/components/kemet-badge/kemet-badge.js +1 -1
  36. package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
  37. package/dist/components/kemet-badge/styles.js +11 -9
  38. package/dist/components/kemet-badge/styles.js.map +1 -1
  39. package/dist/components/kemet-badge/types.d.ts +1 -6
  40. package/dist/components/kemet-badge/types.js.map +1 -1
  41. package/dist/components/kemet-button/docs/stories.d.ts +12 -0
  42. package/dist/components/kemet-button/docs/stories.js +81 -20
  43. package/dist/components/kemet-button/docs/stories.js.map +1 -1
  44. package/dist/components/kemet-button/kemet-button.d.ts +23 -23
  45. package/dist/components/kemet-button/kemet-button.js +23 -23
  46. package/dist/components/kemet-button/kemet-button.js.map +1 -1
  47. package/dist/components/kemet-button/styles.js +46 -26
  48. package/dist/components/kemet-button/styles.js.map +1 -1
  49. package/dist/components/kemet-button/types.d.ts +1 -10
  50. package/dist/components/kemet-button/types.js.map +1 -1
  51. package/dist/components/kemet-card/docs/stories.d.ts +10 -0
  52. package/dist/components/kemet-card/docs/stories.js +78 -66
  53. package/dist/components/kemet-card/docs/stories.js.map +1 -1
  54. package/dist/components/kemet-card/kemet-card.d.ts +16 -16
  55. package/dist/components/kemet-card/kemet-card.js +16 -16
  56. package/dist/components/kemet-card/kemet-card.js.map +1 -1
  57. package/dist/components/kemet-card/styles.js +29 -14
  58. package/dist/components/kemet-card/styles.js.map +1 -1
  59. package/dist/components/kemet-carousel/docs/stories.d.ts +6 -0
  60. package/dist/components/kemet-carousel/docs/stories.js +72 -60
  61. package/dist/components/kemet-carousel/docs/stories.js.map +1 -1
  62. package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +2 -2
  63. package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
  64. package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +1 -1
  65. package/dist/components/kemet-carousel/kemet-carousel-last.js +1 -1
  66. package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
  67. package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +2 -2
  68. package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
  69. package/dist/components/kemet-carousel/kemet-carousel.d.ts +33 -29
  70. package/dist/components/kemet-carousel/kemet-carousel.js +47 -28
  71. package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
  72. package/dist/components/kemet-carousel/styles.js +31 -15
  73. package/dist/components/kemet-carousel/styles.js.map +1 -1
  74. package/dist/components/kemet-checkbox/docs/stories.d.ts +4 -0
  75. package/dist/components/kemet-checkbox/docs/stories.js +28 -28
  76. package/dist/components/kemet-checkbox/docs/stories.js.map +1 -1
  77. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +8 -8
  78. package/dist/components/kemet-checkbox/kemet-checkbox.js +8 -8
  79. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
  80. package/dist/components/kemet-checkbox/styles.js +20 -13
  81. package/dist/components/kemet-checkbox/styles.js.map +1 -1
  82. package/dist/components/kemet-combo/docs/stories.js +14 -12
  83. package/dist/components/kemet-combo/docs/stories.js.map +1 -1
  84. package/dist/components/kemet-combo/kemet-combo.d.ts +17 -17
  85. package/dist/components/kemet-combo/kemet-combo.js +22 -26
  86. package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
  87. package/dist/components/kemet-combo/styles.js +21 -9
  88. package/dist/components/kemet-combo/styles.js.map +1 -1
  89. package/dist/components/kemet-count/docs/stories.js +10 -25
  90. package/dist/components/kemet-count/docs/stories.js.map +1 -1
  91. package/dist/components/kemet-count/kemet-count.d.ts +1 -1
  92. package/dist/components/kemet-count/kemet-count.js +1 -1
  93. package/dist/components/kemet-count/kemet-count.js.map +1 -1
  94. package/dist/components/kemet-draggable/docs/stories.d.ts +1 -0
  95. package/dist/components/kemet-draggable/docs/stories.js +8 -15
  96. package/dist/components/kemet-draggable/docs/stories.js.map +1 -1
  97. package/dist/components/kemet-draggable/kemet-draggable.d.ts +3 -3
  98. package/dist/components/kemet-draggable/kemet-draggable.js +6 -5
  99. package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
  100. package/dist/components/kemet-drawer/docs/stories.d.ts +6 -0
  101. package/dist/components/kemet-drawer/docs/stories.js +59 -60
  102. package/dist/components/kemet-drawer/docs/stories.js.map +1 -1
  103. package/dist/components/kemet-drawer/kemet-drawer.d.ts +7 -7
  104. package/dist/components/kemet-drawer/kemet-drawer.js +7 -7
  105. package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
  106. package/dist/components/kemet-drawer/styles.js +32 -25
  107. package/dist/components/kemet-drawer/styles.js.map +1 -1
  108. package/dist/components/kemet-drawer/types.d.ts +0 -6
  109. package/dist/components/kemet-drawer/types.js.map +1 -1
  110. package/dist/components/kemet-fab/docs/stories.d.ts +3 -0
  111. package/dist/components/kemet-fab/docs/stories.js +23 -32
  112. package/dist/components/kemet-fab/docs/stories.js.map +1 -1
  113. package/dist/components/kemet-fab/kemet-fab.d.ts +7 -7
  114. package/dist/components/kemet-fab/kemet-fab.js +7 -7
  115. package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
  116. package/dist/components/kemet-fab/styles.js +19 -10
  117. package/dist/components/kemet-fab/styles.js.map +1 -1
  118. package/dist/components/kemet-field/docs/stories.d.ts +1 -1
  119. package/dist/components/kemet-field/docs/stories.js +19 -69
  120. package/dist/components/kemet-field/docs/stories.js.map +1 -1
  121. package/dist/components/kemet-field/kemet-field.d.ts +12 -12
  122. package/dist/components/kemet-field/kemet-field.js +9 -14
  123. package/dist/components/kemet-field/kemet-field.js.map +1 -1
  124. package/dist/components/kemet-field/styles.js +6 -6
  125. package/dist/components/kemet-field/styles.js.map +1 -1
  126. package/dist/components/kemet-flipcard/docs/stories.d.ts +3 -0
  127. package/dist/components/kemet-flipcard/docs/stories.js +29 -78
  128. package/dist/components/kemet-flipcard/docs/stories.js.map +1 -1
  129. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +1 -1
  130. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +2 -3
  131. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +1 -1
  132. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +9 -9
  133. package/dist/components/kemet-flipcard/kemet-flipcard.js +10 -12
  134. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
  135. package/dist/components/kemet-flipcard/styles.js +20 -10
  136. package/dist/components/kemet-flipcard/styles.js.map +1 -1
  137. package/dist/components/kemet-icon/docs/stories.js +8 -15
  138. package/dist/components/kemet-icon/docs/stories.js.map +1 -1
  139. package/dist/components/kemet-input/docs/stories.d.ts +4 -0
  140. package/dist/components/kemet-input/docs/stories.js +54 -113
  141. package/dist/components/kemet-input/docs/stories.js.map +1 -1
  142. package/dist/components/kemet-input/kemet-input.d.ts +18 -37
  143. package/dist/components/kemet-input/kemet-input.js +18 -38
  144. package/dist/components/kemet-input/kemet-input.js.map +1 -1
  145. package/dist/components/kemet-input/styles.js +38 -21
  146. package/dist/components/kemet-input/styles.js.map +1 -1
  147. package/dist/components/kemet-modal/docs/stories.d.ts +2 -0
  148. package/dist/components/kemet-modal/docs/stories.js +25 -68
  149. package/dist/components/kemet-modal/docs/stories.js.map +1 -1
  150. package/dist/components/kemet-modal/kemet-modal-close.js +1 -1
  151. package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
  152. package/dist/components/kemet-modal/kemet-modal.d.ts +20 -10
  153. package/dist/components/kemet-modal/kemet-modal.js +39 -20
  154. package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
  155. package/dist/components/kemet-modal/styles.js +77 -48
  156. package/dist/components/kemet-modal/styles.js.map +1 -1
  157. package/dist/components/kemet-password/docs/stories.js +10 -18
  158. package/dist/components/kemet-password/docs/stories.js.map +1 -1
  159. package/dist/components/kemet-password/kemet-password.d.ts +14 -8
  160. package/dist/components/kemet-password/kemet-password.js +4 -33
  161. package/dist/components/kemet-password/kemet-password.js.map +1 -1
  162. package/dist/components/kemet-password/styles.js +7 -7
  163. package/dist/components/kemet-password/styles.js.map +1 -1
  164. package/dist/components/kemet-popper/docs/stories.d.ts +2 -0
  165. package/dist/components/kemet-popper/docs/stories.js +32 -39
  166. package/dist/components/kemet-popper/docs/stories.js.map +1 -1
  167. package/dist/components/kemet-popper/kemet-popper-close.d.ts +1 -1
  168. package/dist/components/kemet-popper/kemet-popper-close.js +2 -3
  169. package/dist/components/kemet-popper/kemet-popper-close.js.map +1 -1
  170. package/dist/components/kemet-popper/kemet-popper.d.ts +19 -10
  171. package/dist/components/kemet-popper/kemet-popper.js +23 -32
  172. package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
  173. package/dist/components/kemet-popper/styles.js +14 -5
  174. package/dist/components/kemet-popper/styles.js.map +1 -1
  175. package/dist/components/kemet-radio/docs/stories.d.ts +2 -0
  176. package/dist/components/kemet-radio/docs/stories.js +24 -20
  177. package/dist/components/kemet-radio/docs/stories.js.map +1 -1
  178. package/dist/components/kemet-radio/kemet-radio.d.ts +7 -6
  179. package/dist/components/kemet-radio/kemet-radio.js +7 -6
  180. package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
  181. package/dist/components/kemet-radio/kemet-radios.d.ts +6 -5
  182. package/dist/components/kemet-radio/kemet-radios.js +11 -5
  183. package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
  184. package/dist/components/kemet-radio/styles.js +26 -16
  185. package/dist/components/kemet-radio/styles.js.map +1 -1
  186. package/dist/components/kemet-rotator/docs/stories.d.ts +1 -0
  187. package/dist/components/kemet-rotator/docs/stories.js +16 -28
  188. package/dist/components/kemet-rotator/docs/stories.js.map +1 -1
  189. package/dist/components/kemet-rotator/kemet-rotator.d.ts +3 -3
  190. package/dist/components/kemet-rotator/kemet-rotator.js +2 -3
  191. package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
  192. package/dist/components/kemet-rotator/styles.js +4 -2
  193. package/dist/components/kemet-rotator/styles.js.map +1 -1
  194. package/dist/components/kemet-scroll-link/docs/stories.js +2 -2
  195. package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -1
  196. package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +2 -2
  197. package/dist/components/kemet-scroll-link/kemet-scroll-link.js +11 -10
  198. package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +1 -1
  199. package/dist/components/kemet-scroll-nav/docs/stories.js +5 -5
  200. package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -1
  201. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +7 -7
  202. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +7 -12
  203. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
  204. package/dist/components/kemet-scroll-nav/styles.js +10 -4
  205. package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
  206. package/dist/components/kemet-scroll-snap/docs/stories.d.ts +6 -0
  207. package/dist/components/kemet-scroll-snap/docs/stories.js +72 -82
  208. package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
  209. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +8 -7
  210. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +4 -4
  211. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
  212. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +1 -1
  213. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +1 -1
  214. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +1 -1
  215. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +7 -6
  216. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +6 -11
  217. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
  218. package/dist/components/kemet-scroll-snap/styles.js +14 -6
  219. package/dist/components/kemet-scroll-snap/styles.js.map +1 -1
  220. package/dist/components/kemet-select/docs/stories.d.ts +3 -0
  221. package/dist/components/kemet-select/docs/stories.js +25 -33
  222. package/dist/components/kemet-select/docs/stories.js.map +1 -1
  223. package/dist/components/kemet-select/kemet-option.d.ts +1 -1
  224. package/dist/components/kemet-select/kemet-option.js +1 -1
  225. package/dist/components/kemet-select/kemet-option.js.map +1 -1
  226. package/dist/components/kemet-select/kemet-select.d.ts +32 -23
  227. package/dist/components/kemet-select/kemet-select.js +3 -44
  228. package/dist/components/kemet-select/kemet-select.js.map +1 -1
  229. package/dist/components/kemet-select/styles.js +32 -16
  230. package/dist/components/kemet-select/styles.js.map +1 -1
  231. package/dist/components/kemet-sortable/docs/stories.js +5 -10
  232. package/dist/components/kemet-sortable/docs/stories.js.map +1 -1
  233. package/dist/components/kemet-sortable/kemet-sortable.d.ts +5 -5
  234. package/dist/components/kemet-sortable/kemet-sortable.js +5 -5
  235. package/dist/components/kemet-sortable/kemet-sortable.js.map +1 -1
  236. package/dist/components/kemet-sortable/styles.js +1 -1
  237. package/dist/components/kemet-sortable/styles.js.map +1 -1
  238. package/dist/components/kemet-svgs/docs/stories.js +11 -11
  239. package/dist/components/kemet-svgs/docs/stories.js.map +1 -1
  240. package/dist/components/kemet-svgs/kemet-svgs.d.ts +1 -1
  241. package/dist/components/kemet-svgs/kemet-svgs.js +1 -1
  242. package/dist/components/kemet-svgs/kemet-svgs.js.map +1 -1
  243. package/dist/components/kemet-tabs/docs/stories.d.ts +9 -0
  244. package/dist/components/kemet-tabs/docs/stories.js +78 -78
  245. package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
  246. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +2 -1
  247. package/dist/components/kemet-tabs/kemet-tab-panel.js +4 -1
  248. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
  249. package/dist/components/kemet-tabs/kemet-tab.d.ts +3 -2
  250. package/dist/components/kemet-tabs/kemet-tab.js +6 -3
  251. package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
  252. package/dist/components/kemet-tabs/kemet-tabs.d.ts +30 -21
  253. package/dist/components/kemet-tabs/kemet-tabs.js +12 -48
  254. package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
  255. package/dist/components/kemet-tabs/styles.js +12 -5
  256. package/dist/components/kemet-tabs/styles.js.map +1 -1
  257. package/dist/components/kemet-textarea/docs/stories.d.ts +3 -0
  258. package/dist/components/kemet-textarea/docs/stories.js +37 -67
  259. package/dist/components/kemet-textarea/docs/stories.js.map +1 -1
  260. package/dist/components/kemet-textarea/kemet-textarea.d.ts +12 -12
  261. package/dist/components/kemet-textarea/kemet-textarea.js +12 -12
  262. package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
  263. package/dist/components/kemet-textarea/styles.js +31 -16
  264. package/dist/components/kemet-textarea/styles.js.map +1 -1
  265. package/dist/components/kemet-toggle/docs/stories.d.ts +2 -0
  266. package/dist/components/kemet-toggle/docs/stories.js +21 -36
  267. package/dist/components/kemet-toggle/docs/stories.js.map +1 -1
  268. package/dist/components/kemet-toggle/kemet-toggle.d.ts +12 -12
  269. package/dist/components/kemet-toggle/kemet-toggle.js +12 -12
  270. package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
  271. package/dist/components/kemet-toggle/styles.js +12 -6
  272. package/dist/components/kemet-toggle/styles.js.map +1 -1
  273. package/dist/components/kemet-tooltip/docs/stories.d.ts +4 -0
  274. package/dist/components/kemet-tooltip/docs/stories.js +58 -33
  275. package/dist/components/kemet-tooltip/docs/stories.js.map +1 -1
  276. package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +2 -2
  277. package/dist/components/kemet-tooltip/kemet-tooltip.js +13 -12
  278. package/dist/components/kemet-tooltip/kemet-tooltip.js.map +1 -1
  279. package/dist/components/kemet-tooltip/styles.js +2 -2
  280. package/dist/components/kemet-tooltip/styles.js.map +1 -1
  281. package/dist/components/kemet-tracker/docs/stories.d.ts +1 -0
  282. package/dist/components/kemet-tracker/docs/stories.js +18 -22
  283. package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
  284. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +18 -18
  285. package/dist/components/kemet-tracker/kemet-tracker-step.js +18 -18
  286. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
  287. package/dist/components/kemet-tracker/kemet-tracker.d.ts +2 -1
  288. package/dist/components/kemet-tracker/kemet-tracker.js.map +1 -1
  289. package/dist/components/kemet-tracker/styles.js +23 -12
  290. package/dist/components/kemet-tracker/styles.js.map +1 -1
  291. package/dist/components/kemet-upload/docs/stories.js +17 -22
  292. package/dist/components/kemet-upload/docs/stories.js.map +1 -1
  293. package/dist/components/kemet-upload/kemet-upload-file.d.ts +3 -3
  294. package/dist/components/kemet-upload/kemet-upload-file.js +4 -5
  295. package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
  296. package/dist/components/kemet-upload/kemet-upload.d.ts +7 -7
  297. package/dist/components/kemet-upload/kemet-upload.js +7 -12
  298. package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
  299. package/dist/components/kemet-upload/styles.js +27 -18
  300. package/dist/components/kemet-upload/styles.js.map +1 -1
  301. package/dist/kemet-components.bundle.js +98 -86
  302. package/dist/kemet-components.bundle.js.map +1 -1
  303. package/dist/kemet-components.cjs +3076 -2910
  304. package/dist/kemet-components.js +3076 -2910
  305. package/dist/styles/kemet.base.css +255 -78
  306. package/dist/styles/kemet.base.css.map +1 -1
  307. package/dist/styles/kemet.base.scss +6 -5
  308. package/dist/styles/kemet.components.css +1 -16
  309. package/dist/styles/kemet.components.css.map +1 -1
  310. package/dist/styles/kemet.components.scss +0 -2
  311. package/dist/styles/kemet.core.css +5554 -2122
  312. package/dist/styles/kemet.core.css.map +1 -1
  313. package/dist/styles/shared/_config.scss +306 -93
  314. package/dist/styles/shared/_helpers.scss +88 -16
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +17 -14
  317. package/dist/components/kemet-accordion/types.d.ts +0 -9
  318. package/dist/components/kemet-accordion/types.js +0 -2
  319. package/dist/components/kemet-accordion/types.js.map +0 -1
  320. package/dist/components/kemet-avatar/types.d.ts +0 -8
  321. package/dist/components/kemet-avatar/types.js +0 -2
  322. package/dist/components/kemet-avatar/types.js.map +0 -1
  323. package/dist/components/kemet-card/types.d.ts +0 -3
  324. package/dist/components/kemet-card/types.js +0 -2
  325. package/dist/components/kemet-card/types.js.map +0 -1
  326. package/dist/components/kemet-carousel/types.d.ts +0 -21
  327. package/dist/components/kemet-carousel/types.js +0 -2
  328. package/dist/components/kemet-carousel/types.js.map +0 -1
  329. package/dist/components/kemet-combo/types.d.ts +0 -5
  330. package/dist/components/kemet-combo/types.js +0 -2
  331. package/dist/components/kemet-combo/types.js.map +0 -1
  332. package/dist/components/kemet-draggable/types.d.ts +0 -6
  333. package/dist/components/kemet-draggable/types.js +0 -2
  334. package/dist/components/kemet-draggable/types.js.map +0 -1
  335. package/dist/styles/components/drawer.scss +0 -11
  336. package/dist/styles/components/modal.scss +0 -8
@@ -7,119 +7,16 @@ import '../../kemet-tabs/kemet-tab-panel';
7
7
  const meta = {
8
8
  title: 'Components / Input',
9
9
  component: 'kemet-input',
10
- };
11
- export default meta;
12
- const Template = ({ type = 'text', status = 'standard', validateOnBlur = true, required = true, pattern = '^[a-zA-Z0-9]*$', rounded = false, filled = false, iconLeft = '', iconRight = '', placeholder = 'Placeholder', minlength = null, maxlength = null, min = null, max = null, step = null, autocomplete = 'off', inputmode = 'none', autofocus = false, disabled = false, readonly = false, }) => html `<kemet-input
13
- type="${type}"
14
- status="${status}"
15
- pattern=${ifDefined(pattern !== '' ? pattern : undefined)}
16
- ?required=${required}
17
- ?validate-on-blur=${validateOnBlur}
18
- ?rounded=${rounded}
19
- ?filled=${filled}
20
- icon-left=${ifDefined(iconLeft !== '' ? iconLeft : undefined)}
21
- icon-right=${ifDefined(iconRight !== '' ? iconRight : undefined)}
22
- placeholder=${ifDefined(placeholder !== '' ? placeholder : undefined)}
23
- minlength=${ifDefined(minlength || undefined)}
24
- maxlength=${ifDefined(maxlength || undefined)}
25
- min=${ifDefined(min || undefined)}
26
- max=${ifDefined(max || undefined)}
27
- step=${ifDefined(step || undefined)}
28
- autocomplete="${autocomplete}"
29
- inputmode="${inputmode}"
30
- ?autofocus=${autofocus}
31
- ?disabled=${disabled}
32
- ?readonly=${readonly}
33
- ></kemet-input>`;
34
- export const Standard = {
35
- render: args => Template(args),
36
- args: {
37
- type: 'text',
38
- status: 'standard',
39
- validateOnBlur: true,
40
- required: true,
41
- pattern: '^[a-zA-Z0-9]*$',
42
- rounded: false,
43
- filled: false,
44
- iconLeft: '',
45
- iconRight: '',
46
- placeholder: 'Placeholder',
47
- minlength: null,
48
- maxlength: null,
49
- min: null,
50
- max: null,
51
- step: null,
52
- autocomplete: 'off',
53
- inputmode: 'none',
54
- autofocus: false,
55
- disabled: false,
56
- readonly: false,
57
- },
58
10
  argTypes: {
59
11
  type: {
60
12
  name: 'Type',
61
13
  control: { type: 'select' },
62
- options: [
63
- 'text',
64
- 'color',
65
- 'date',
66
- 'datetime-local',
67
- 'email',
68
- 'password',
69
- 'hidden',
70
- 'month',
71
- 'number',
72
- 'reset',
73
- 'search',
74
- 'tel',
75
- 'time',
76
- 'url',
77
- 'week',
78
- ],
14
+ options: ['text', 'color', 'date', 'datetime-local', 'email', 'password', 'hidden', 'month', 'number', 'reset', 'search', 'tel', 'time', 'url', 'week'],
79
15
  },
80
16
  status: {
81
17
  control: { type: 'radio' },
82
18
  options: ['standard', 'error', 'success', 'warning'],
83
19
  },
84
- validateOnBlur: {
85
- control: { type: 'boolean' },
86
- },
87
- required: {
88
- control: { type: 'boolean' },
89
- },
90
- pattern: {
91
- control: { type: 'text' },
92
- },
93
- rounded: {
94
- control: { type: 'boolean' },
95
- },
96
- filled: {
97
- control: { type: 'boolean' },
98
- },
99
- iconLeft: {
100
- control: { type: 'text' },
101
- },
102
- iconRight: {
103
- control: { type: 'text' },
104
- },
105
- placeholder: {
106
- control: { type: 'text' },
107
- },
108
- minlength: {
109
- control: { type: 'number' },
110
- },
111
- maxlength: {
112
- control: { type: 'number' },
113
- },
114
- min: {
115
- control: { type: 'number' },
116
- },
117
- max: {
118
- control: { type: 'number' },
119
- },
120
- step: {
121
- control: { type: 'number' },
122
- },
123
20
  autocomplete: {
124
21
  control: { type: 'radio' },
125
22
  options: ['off', 'on'],
@@ -128,15 +25,59 @@ export const Standard = {
128
25
  control: { type: 'select' },
129
26
  options: ['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url'],
130
27
  },
131
- autofocus: {
132
- control: { type: 'boolean' },
133
- },
134
- disabled: {
135
- control: { type: 'boolean' },
136
- },
137
- readonly: {
138
- control: { type: 'boolean' },
139
- },
140
28
  }
141
29
  };
30
+ export default meta;
31
+ const Template = (args) => html `<kemet-input
32
+ type="${args.type}"
33
+ status="${args.status}"
34
+ pattern=${ifDefined(args.pattern !== '' ? args.pattern : undefined)}
35
+ ?required=${args.required}
36
+ ?validate-on-blur=${args.validateOnBlur}
37
+ ?rounded=${args.rounded}
38
+ ?filled=${args.filled}
39
+ icon-left=${ifDefined(args.iconLeft !== '' ? args.iconLeft : undefined)}
40
+ icon-right=${ifDefined(args.iconRight !== '' ? args.iconRight : undefined)}
41
+ placeholder=${ifDefined(args.placeholder !== '' ? args.placeholder : undefined)}
42
+ minlength=${ifDefined(args.minlength || undefined)}
43
+ maxlength=${ifDefined(args.maxlength || undefined)}
44
+ min=${ifDefined(args.min || undefined)}
45
+ max=${ifDefined(args.max || undefined)}
46
+ step=${ifDefined(args.step || undefined)}
47
+ autocomplete="${args.autocomplete}"
48
+ inputmode="${args.inputmode}"
49
+ ?autofocus=${args.autofocus}
50
+ ?disabled=${args.disabled}
51
+ ?readonly=${args.readonly}
52
+ ></kemet-input>`;
53
+ export const Standard = {
54
+ render: args => Template(args),
55
+ };
56
+ export const Rounded = {
57
+ render: args => Template(args),
58
+ args: {
59
+ rounded: true,
60
+ },
61
+ };
62
+ export const Filled = {
63
+ render: args => Template(args),
64
+ args: {
65
+ filled: true,
66
+ },
67
+ };
68
+ export const LeftIcon = {
69
+ render: args => Template(args),
70
+ args: {
71
+ iconLeft: 'phone',
72
+ },
73
+ };
74
+ export const ValidateOnBlur = {
75
+ render: args => Template(args),
76
+ args: {
77
+ validateOnBlur: true,
78
+ required: true,
79
+ pattern: '^[a-zA-Z0-9]*$',
80
+ placeholder: "Enter a special character."
81
+ },
82
+ };
142
83
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-input/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-input';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Input',\n component: 'kemet-input',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n type = 'text',\n status = 'standard',\n validateOnBlur = true,\n required = true,\n pattern = '^[a-zA-Z0-9]*$',\n rounded = false,\n filled = false,\n iconLeft = '',\n iconRight = '',\n placeholder = 'Placeholder',\n minlength = null,\n maxlength = null,\n min = null,\n max = null,\n step = null,\n autocomplete = 'off',\n inputmode = 'none',\n autofocus = false,\n disabled = false,\n readonly = false,\n}) => html`<kemet-input\n type=\"${type}\"\n status=\"${status}\"\n pattern=${ifDefined(pattern !== '' ? pattern : undefined)}\n ?required=${required}\n ?validate-on-blur=${validateOnBlur}\n ?rounded=${rounded}\n ?filled=${filled}\n icon-left=${ifDefined(iconLeft !== '' ? iconLeft : undefined)}\n icon-right=${ifDefined(iconRight !== '' ? iconRight : undefined)}\n placeholder=${ifDefined(placeholder !== '' ? placeholder : undefined)}\n minlength=${ifDefined(minlength || undefined)}\n maxlength=${ifDefined(maxlength || undefined)}\n min=${ifDefined(min || undefined)}\n max=${ifDefined(max || undefined)}\n step=${ifDefined(step || undefined)}\n autocomplete=\"${autocomplete}\"\n inputmode=\"${inputmode}\"\n ?autofocus=${autofocus}\n ?disabled=${disabled}\n ?readonly=${readonly}\n></kemet-input>`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n type: 'text',\n status: 'standard',\n validateOnBlur: true,\n required: true,\n pattern: '^[a-zA-Z0-9]*$',\n rounded: false,\n filled: false,\n iconLeft: '',\n iconRight: '',\n placeholder: 'Placeholder',\n minlength: null,\n maxlength: null,\n min: null,\n max: null,\n step: null,\n autocomplete: 'off',\n inputmode: 'none',\n autofocus: false,\n disabled: false,\n readonly: false,\n },\n argTypes: {\n type: {\n name: 'Type',\n control: { type: 'select' },\n options: [\n 'text',\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'password',\n 'hidden',\n 'month',\n 'number',\n 'reset',\n 'search',\n 'tel',\n 'time',\n 'url',\n 'week',\n ],\n },\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n validateOnBlur: {\n control: { type: 'boolean' },\n },\n required: {\n control: { type: 'boolean' },\n },\n pattern: {\n control: { type: 'text' },\n },\n rounded: {\n control: { type: 'boolean' },\n },\n filled: {\n control: { type: 'boolean' },\n },\n iconLeft: {\n control: { type: 'text' },\n },\n iconRight: {\n control: { type: 'text' },\n },\n placeholder: {\n control: { type: 'text' },\n },\n minlength: {\n control: { type: 'number' },\n },\n maxlength: {\n control: { type: 'number' },\n },\n min: {\n control: { type: 'number' },\n },\n max: {\n control: { type: 'number' },\n },\n step: {\n control: { type: 'number' },\n },\n autocomplete: {\n control: { type: 'radio' },\n options: ['off', 'on'],\n },\n inputmode: {\n control: { type: 'select' },\n options: ['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url'],\n },\n autofocus: {\n control: { type: 'boolean' },\n },\n disabled: {\n control: { type: 'boolean' },\n },\n readonly: {\n control: { type: 'boolean' },\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-input/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,gBAAgB,CAAC;AAExB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;SACxJ;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;SACrD;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;SACvB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC;SACjF;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;UACrB,IAAI,CAAC,IAAI;YACP,IAAI,CAAC,MAAM;YACX,SAAS,CAAC,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;cACvD,IAAI,CAAC,QAAQ;sBACL,IAAI,CAAC,cAAc;aAC5B,IAAI,CAAC,OAAO;YACb,IAAI,CAAC,MAAM;cACT,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;eAC1D,SAAS,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5D,SAAS,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;cACnE,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;cACtC,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;QAC5C,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAAC;SAC/B,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;kBACxB,IAAI,CAAC,YAAY;eACpB,IAAI,CAAC,SAAS;eACd,IAAI,CAAC,SAAS;cACf,IAAI,CAAC,QAAQ;cACb,IAAI,CAAC,QAAQ;gBACX,CAAC;AAEjB,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;KACb;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAU;IACnC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,cAAc,EAAE,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,gBAAgB;QACzB,WAAW,EAAE,4BAA4B;KAC1C;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-input';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Input',\n component: 'kemet-input',\n argTypes: {\n type: {\n name: 'Type',\n control: { type: 'select' },\n options: ['text', 'color', 'date', 'datetime-local', 'email', 'password', 'hidden', 'month', 'number', 'reset', 'search', 'tel', 'time', 'url', 'week'],\n },\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'success', 'warning'],\n },\n autocomplete: {\n control: { type: 'radio' },\n options: ['off', 'on'],\n },\n inputmode: {\n control: { type: 'select' },\n options: ['none', 'text', 'decimal', 'numeric', 'tel', 'search', 'email', 'url'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`<kemet-input\n type=\"${args.type}\"\n status=\"${args.status}\"\n pattern=${ifDefined(args.pattern !== '' ? args.pattern : undefined)}\n ?required=${args.required}\n ?validate-on-blur=${args.validateOnBlur}\n ?rounded=${args.rounded}\n ?filled=${args.filled}\n icon-left=${ifDefined(args.iconLeft !== '' ? args.iconLeft : undefined)}\n icon-right=${ifDefined(args.iconRight !== '' ? args.iconRight : undefined)}\n placeholder=${ifDefined(args.placeholder !== '' ? args.placeholder : undefined)}\n minlength=${ifDefined(args.minlength || undefined)}\n maxlength=${ifDefined(args.maxlength || undefined)}\n min=${ifDefined(args.min || undefined)}\n max=${ifDefined(args.max || undefined)}\n step=${ifDefined(args.step || undefined)}\n autocomplete=\"${args.autocomplete}\"\n inputmode=\"${args.inputmode}\"\n ?autofocus=${args.autofocus}\n ?disabled=${args.disabled}\n ?readonly=${args.readonly}\n></kemet-input>`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Rounded: Story = {\n render: args => Template(args),\n args: {\n rounded: true,\n },\n};\n\nexport const Filled: Story = {\n render: args => Template(args),\n args: {\n filled: true,\n },\n};\n\nexport const LeftIcon: Story = {\n render: args => Template(args),\n args: {\n iconLeft: 'phone',\n },\n};\n\nexport const ValidateOnBlur: Story = {\n render: args => Template(args),\n args: {\n validateOnBlur: true,\n required: true,\n pattern: '^[a-zA-Z0-9]*$',\n placeholder: \"Enter a special character.\"\n },\n};\n"]}
@@ -26,7 +26,7 @@ import { TypeAriaAutoComplete, TypeAutoComplete, TypeStatus } from './types';
26
26
  * @prop {boolean} required - The required attribute
27
27
  * @prop {string} type - The type of input
28
28
  * @prop {string} value - The input's value
29
- * @prop {boolean} invalid - States whether or not the input is invalid
29
+ * @prop {boolean} invalid - States whether the input is invalid
30
30
  * @prop {string} status - The status of the input
31
31
  * @prop {boolean} validateOnBlur - Activates validation on blur
32
32
  * @prop {string} ariaAutoComplete - Aria Autocomplete
@@ -44,21 +44,21 @@ import { TypeAriaAutoComplete, TypeAutoComplete, TypeStatus } from './types';
44
44
  *
45
45
  * @csspart input
46
46
  *
47
- * @cssproperty --kemet-input-height - The height of the input. Default: 50px.
48
- * @cssproperty -kemet-input-padding - The padding on the input. Default: 0.5rem 1rem.
49
- * @cssproperty -kemet-input-border - The border of the input. Default: 1px solid var(--kemet-color-primary).
50
- * @cssproperty -kemet-input-border-color-error - The border of the error state. Default: 1px solid var(--kemet-color-error).
51
- * @cssproperty -kemet-input-border-color-success - The border of the success state. Default: 1px solid var(--kemet-color-success).
52
- * @cssproperty -kemet-input-border-color-warning - The border of the warning state. Default: 1px solid var(--kemet-color-warning) |
53
- * @cssproperty -kemet-input-icon-left-padding - The icon-left padding. Default: 3rem.
54
- * @cssproperty -kemet-input-icon-right-padding - The icon-right padding. Default: 3rem.
55
- * @cssproperty -kemet-input-border-radius-rounded - The border radius on rounded. Default: var(--kemet-border-radius).
56
- * @cssproperty -kemet-input-border-filled - The border on filled. Default: none.
57
- * @cssproperty -kemet-input-color-filled - The color on filled. Default: var(--kemet-color-white).
58
- * @cssproperty -kemet-input-background-color-filled - The background-color on filled. Default: var(--kemet-color-primary).
59
- * @cssproperty -kemet-input-background-color-error - The error state background color. Default: var(--kemet-color-error).
60
- * @cssproperty -kemet-input-background-color-success - The success state background color. Default: var(--kemet-color-success).
61
- * @cssproperty -kemet-input-background-color-warning - The warning state background color. Default: var(--kemet-color-warning).
47
+ * @cssproperty --kemet-input-height - The height of the input.
48
+ * @cssproperty --kemet-input-padding - The padding on the input.
49
+ * @cssproperty --kemet-input-border - The border of the input.
50
+ * @cssproperty --kemet-input-border-color-error - The border of the error state.
51
+ * @cssproperty --kemet-input-border-color-success - The border of the success state.
52
+ * @cssproperty --kemet-input-border-color-warning - The border of the warning state.
53
+ * @cssproperty --kemet-input-icon-left-padding - The icon-left padding.
54
+ * @cssproperty --kemet-input-icon-right-padding - The icon-right padding.
55
+ * @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.
56
+ * @cssproperty --kemet-input-border-filled - The border on filled.
57
+ * @cssproperty --kemet-input-color-filled - The color on filled.
58
+ * @cssproperty --kemet-input-background-color-filled - The background-color on filled.
59
+ * @cssproperty --kemet-input-background-color-error - The error state background color.
60
+ * @cssproperty --kemet-input-background-color-success - The success state background color.
61
+ * @cssproperty --kemet-input-background-color-warning - The warning state background color.
62
62
  *
63
63
  * @event kemet-input-focused - Fires when the input receives and loses focus
64
64
  * @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.
@@ -108,28 +108,9 @@ export default class KemetInput extends LitElement {
108
108
  constructor();
109
109
  firstUpdated(): void;
110
110
  render(): import("lit-html").TemplateResult<1>;
111
- /**
112
- * Makes the right icon
113
- * @private
114
- * @returns {templateResult} A right icon
115
- */
116
111
  makeIconRight(): import("lit-html").TemplateResult<1>;
117
- /**
118
- * Makes the left icon
119
- * @private
120
- * @returns {templateResult} A left icon
121
- */
122
112
  makeIconLeft(): import("lit-html").TemplateResult<1>;
123
- /**
124
- * Makes a clear icon for search.
125
- * @private
126
- * @returns {templateResult} A search icon
127
- */
128
113
  makeIconClear(): import("lit-html").TemplateResult<1>;
129
- /**
130
- * Makes a password visibility toggle button
131
- * @returns {templateResult} A mask or unmask icon
132
- */
133
114
  makeVisibilityToggle(): import("lit-html").TemplateResult<1>;
134
115
  setPasswordIcon(): "eye" | "eye-slash";
135
116
  /**
@@ -157,7 +138,7 @@ export default class KemetInput extends LitElement {
157
138
  * @private
158
139
  */
159
140
  handleInvalid(): void;
160
- handleStatus(event: any): void;
141
+ handleStatus(event: CustomEvent): void;
161
142
  /**
162
143
  * Toggles password visibility
163
144
  * @private
@@ -170,7 +151,7 @@ export default class KemetInput extends LitElement {
170
151
  handleClear(): void;
171
152
  /**
172
153
  * Checks the validity of the character limit for the count component
173
- * @private
154
+ * @public
174
155
  * @returns {boolean}
175
156
  */
176
157
  checkLimitValidity(): boolean;
@@ -30,7 +30,7 @@ import { stylesBase } from './styles';
30
30
  * @prop {boolean} required - The required attribute
31
31
  * @prop {string} type - The type of input
32
32
  * @prop {string} value - The input's value
33
- * @prop {boolean} invalid - States whether or not the input is invalid
33
+ * @prop {boolean} invalid - States whether the input is invalid
34
34
  * @prop {string} status - The status of the input
35
35
  * @prop {boolean} validateOnBlur - Activates validation on blur
36
36
  * @prop {string} ariaAutoComplete - Aria Autocomplete
@@ -48,21 +48,21 @@ import { stylesBase } from './styles';
48
48
  *
49
49
  * @csspart input
50
50
  *
51
- * @cssproperty --kemet-input-height - The height of the input. Default: 50px.
52
- * @cssproperty -kemet-input-padding - The padding on the input. Default: 0.5rem 1rem.
53
- * @cssproperty -kemet-input-border - The border of the input. Default: 1px solid var(--kemet-color-primary).
54
- * @cssproperty -kemet-input-border-color-error - The border of the error state. Default: 1px solid var(--kemet-color-error).
55
- * @cssproperty -kemet-input-border-color-success - The border of the success state. Default: 1px solid var(--kemet-color-success).
56
- * @cssproperty -kemet-input-border-color-warning - The border of the warning state. Default: 1px solid var(--kemet-color-warning) |
57
- * @cssproperty -kemet-input-icon-left-padding - The icon-left padding. Default: 3rem.
58
- * @cssproperty -kemet-input-icon-right-padding - The icon-right padding. Default: 3rem.
59
- * @cssproperty -kemet-input-border-radius-rounded - The border radius on rounded. Default: var(--kemet-border-radius).
60
- * @cssproperty -kemet-input-border-filled - The border on filled. Default: none.
61
- * @cssproperty -kemet-input-color-filled - The color on filled. Default: var(--kemet-color-white).
62
- * @cssproperty -kemet-input-background-color-filled - The background-color on filled. Default: var(--kemet-color-primary).
63
- * @cssproperty -kemet-input-background-color-error - The error state background color. Default: var(--kemet-color-error).
64
- * @cssproperty -kemet-input-background-color-success - The success state background color. Default: var(--kemet-color-success).
65
- * @cssproperty -kemet-input-background-color-warning - The warning state background color. Default: var(--kemet-color-warning).
51
+ * @cssproperty --kemet-input-height - The height of the input.
52
+ * @cssproperty --kemet-input-padding - The padding on the input.
53
+ * @cssproperty --kemet-input-border - The border of the input.
54
+ * @cssproperty --kemet-input-border-color-error - The border of the error state.
55
+ * @cssproperty --kemet-input-border-color-success - The border of the success state.
56
+ * @cssproperty --kemet-input-border-color-warning - The border of the warning state.
57
+ * @cssproperty --kemet-input-icon-left-padding - The icon-left padding.
58
+ * @cssproperty --kemet-input-icon-right-padding - The icon-right padding.
59
+ * @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.
60
+ * @cssproperty --kemet-input-border-filled - The border on filled.
61
+ * @cssproperty --kemet-input-color-filled - The color on filled.
62
+ * @cssproperty --kemet-input-background-color-filled - The background-color on filled.
63
+ * @cssproperty --kemet-input-background-color-error - The error state background color.
64
+ * @cssproperty --kemet-input-background-color-success - The success state background color.
65
+ * @cssproperty --kemet-input-background-color-warning - The warning state background color.
66
66
  *
67
67
  * @event kemet-input-focused - Fires when the input receives and loses focus
68
68
  * @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.
@@ -84,7 +84,6 @@ let KemetInput = class KemetInput extends LitElement {
84
84
  /** @internal */
85
85
  this.formSubmitController = new FormSubmitController(this);
86
86
  }
87
- ;
88
87
  firstUpdated() {
89
88
  // elements
90
89
  this.input = this.shadowRoot.querySelector('input');
@@ -92,7 +91,7 @@ let KemetInput = class KemetInput extends LitElement {
92
91
  this.form = this.closest('form');
93
92
  this.slug = this.field ? this.field.slug : 'input';
94
93
  if (this.field) {
95
- this.field.addEventListener('fmc-password-status', event => this.handleStatus(event));
94
+ this.field.addEventListener('fmc-password-status', (event) => this.handleStatus(event));
96
95
  }
97
96
  }
98
97
  render() {
@@ -132,11 +131,6 @@ let KemetInput = class KemetInput extends LitElement {
132
131
  </div>
133
132
  `;
134
133
  }
135
- /**
136
- * Makes the right icon
137
- * @private
138
- * @returns {templateResult} A right icon
139
- */
140
134
  makeIconRight() {
141
135
  if (this.iconRight) {
142
136
  return html `
@@ -145,11 +139,6 @@ let KemetInput = class KemetInput extends LitElement {
145
139
  }
146
140
  return null;
147
141
  }
148
- /**
149
- * Makes the left icon
150
- * @private
151
- * @returns {templateResult} A left icon
152
- */
153
142
  makeIconLeft() {
154
143
  if (this.iconLeft) {
155
144
  return html `
@@ -158,11 +147,6 @@ let KemetInput = class KemetInput extends LitElement {
158
147
  }
159
148
  return null;
160
149
  }
161
- /**
162
- * Makes a clear icon for search.
163
- * @private
164
- * @returns {templateResult} A search icon
165
- */
166
150
  makeIconClear() {
167
151
  if (this.type === 'search' && this.value !== '') {
168
152
  return html `
@@ -171,10 +155,6 @@ let KemetInput = class KemetInput extends LitElement {
171
155
  }
172
156
  return null;
173
157
  }
174
- /**
175
- * Makes a password visibility toggle button
176
- * @returns {templateResult} A mask or unmask icon
177
- */
178
158
  makeVisibilityToggle() {
179
159
  if (this.type === 'password') {
180
160
  return html `<kemet-icon
@@ -274,7 +254,7 @@ let KemetInput = class KemetInput extends LitElement {
274
254
  }
275
255
  /**
276
256
  * Checks the validity of the character limit for the count component
277
- * @private
257
+ * @public
278
258
  * @returns {boolean}
279
259
  */
280
260
  checkLimitValidity() {
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-input.js","sourceRoot":"","sources":["../../../src/components/kemet-input/kemet-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesBase } from './styles';\nimport { TypeAriaAutoComplete, TypeAutoComplete, TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-input\n * @summary An enhanced input element.\n *\n * @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.\n * @prop {string} name - The name of the input\n * @prop {string} placeholder - The placeholder attribute\n * @prop {string} minlength - The minlength attribute\n * @prop {string} maxlength - The maxlength attribute\n * @prop {string} min - The min attribute\n * @prop {string} max - The max attribute\n * @prop {string} step - The step attribute\n * @prop {string} autocomplete - The autocomplete attribute\n * @prop {string} pattern - The pattern attribute\n * @prop {string} inputmode - The input mode attribute\n * @prop {boolean} autofocus - The autofocus attribute\n * @prop {boolean} disabled - The disable attribute\n * @prop {boolean} readonly - The readonly attribute\n * @prop {boolean} required - The required attribute\n * @prop {string} type - The type of input\n * @prop {string} value - The input's value\n * @prop {boolean} invalid - States whether or not the input is invalid\n * @prop {string} status - The status of the input\n * @prop {boolean} validateOnBlur - Activates validation on blur\n * @prop {string} ariaAutoComplete - Aria Autocomplete\n * @prop {string} ariaControls - Aria Controls\n * @prop {string} ariaActiveDescendant - Aria Active Descendant\n * @prop {boolean} rounded - Displays rounded corners\n * @prop {boolean} filled - Displays a filled input box\n * @prop {string} iconRight - Custom Icon to the right of the input\n * @prop {string} iconLeft - Custom Icon to the left of the input\n * @prop {number} iconSize - Size of the icons\n * @prop {object} validity - The HTML5 validity object.\n * @prop {boolean} isPasswordVisible - Manages password visibility\n * @prop {string} inputType - Input Type of keypress handled through handleInput(e)\n * @prop {boolean} focused - Determines if the input is focused\n *\n * @csspart input\n *\n * @cssproperty --kemet-input-height - The height of the input. Default: 50px.\n * @cssproperty -kemet-input-padding - The padding on the input. Default: 0.5rem 1rem.\n * @cssproperty -kemet-input-border - The border of the input. Default: 1px solid var(--kemet-color-primary).\n * @cssproperty -kemet-input-border-color-error - The border of the error state. Default: 1px solid var(--kemet-color-error).\n * @cssproperty -kemet-input-border-color-success - The border of the success state. Default: 1px solid var(--kemet-color-success).\n * @cssproperty -kemet-input-border-color-warning - The border of the warning state. Default: 1px solid var(--kemet-color-warning) |\n * @cssproperty -kemet-input-icon-left-padding - The icon-left padding. Default: 3rem.\n * @cssproperty -kemet-input-icon-right-padding - The icon-right padding. Default: 3rem.\n * @cssproperty -kemet-input-border-radius-rounded - The border radius on rounded. Default: var(--kemet-border-radius).\n * @cssproperty -kemet-input-border-filled - The border on filled. Default: none.\n * @cssproperty -kemet-input-color-filled - The color on filled. Default: var(--kemet-color-white).\n * @cssproperty -kemet-input-background-color-filled - The background-color on filled. Default: var(--kemet-color-primary).\n * @cssproperty -kemet-input-background-color-error - The error state background color. Default: var(--kemet-color-error).\n * @cssproperty -kemet-input-background-color-success - The success state background color. Default: var(--kemet-color-success).\n * @cssproperty -kemet-input-background-color-warning - The warning state background color. Default: var(--kemet-color-warning).\n *\n * @event kemet-input-focused - Fires when the input receives and loses focus\n * @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.\n * Use the validity object to support custom validation messages.\n * @event kemet-input-input - Fires when the input receives input\n *\n */\n\n@customElement('kemet-input')\nexport default class KemetInput extends LitElement {\n /** @internal */\n formSubmitController: FormSubmitController;\n\n static styles = [stylesBase];\n\n @property({ type: String })\n slug: string;\n\n @property({ type: String })\n name: string = 'input';\n\n @property({ type: String })\n placeholder: string;\n\n @property({ type: Number })\n minlength: number;\n\n @property({ type: Number })\n maxlength: number;\n\n @property({ type: String })\n min: string;\n\n @property({ type: String })\n max: string;\n\n @property({ type: Number })\n step: number;\n\n @property({ type: String })\n autocomplete: TypeAutoComplete;\n\n @property({ type: String })\n pattern: string;\n\n @property({ type: String })\n inputmode: string;\n\n @property({ type: Boolean })\n autofocus: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n readonly: boolean;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: String })\n type: string = 'text';\n\n @property({ type: String, reflect: true })\n value: string = '';\n\n @property({ type: Boolean, reflect: true })\n invalid: boolean;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: Boolean, attribute: 'validate-on-blur' })\n validateOnBlur: boolean = false;\n\n @property({ type: String, attribute: 'aria-autocomplete' })\n ariaAutoComplete: TypeAriaAutoComplete;\n\n @property({ type: String, attribute: 'aria-controls' })\n ariaControls: string;\n\n @property({ type: String, attribute: 'aria-activedescendant' })\n ariaActiveDescendant: string;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: String, reflect: true, attribute: 'icon-right' })\n iconRight: string;\n\n @property({ type: String, reflect: true, attribute: 'icon-left' })\n iconLeft: string;\n\n @property({ type: Number })\n iconSize: number = 20;\n\n @property({ type: Object })\n validity: object;\n\n @property({ type: Boolean })\n isPasswordVisible: boolean = false;;\n\n @property({ type: String })\n inputType: string;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean = false;\n\n @state()\n field: KemetFieldInterface;\n\n @state()\n form: HTMLFormElement;\n\n @state()\n input: HTMLInputElement;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n // elements\n this.input = this.shadowRoot.querySelector('input');\n this.field = this.closest('kemet-field');\n this.form = this.closest('form');\n this.slug = this.field ? this.field.slug : 'input';\n\n if (this.field) {\n this.field.addEventListener('fmc-password-status', event => this.handleStatus(event));\n }\n }\n\n render() {\n return html`\n <div>\n ${this.makeIconLeft()}\n <input\n part=\"input\"\n id=${this.slug}\n name=${this.name}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-autocomplete=${ifDefined(this.ariaAutoComplete)}\n aria-controls=${ifDefined(this.ariaControls)}\n aria-activedescendant=${ifDefined(this.ariaActiveDescendant)}\n pattern=${ifDefined(this.pattern)}\n inputmode=${ifDefined(this.inputmode)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .type=\"${this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}\"\n .value=${live(this.value)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${this.makeIconRight()} ${this.makeIconClear()} ${this.makeVisibilityToggle()}\n </div>\n `;\n }\n\n /**\n * Makes the right icon\n * @private\n * @returns {templateResult} A right icon\n */\n makeIconRight() {\n if (this.iconRight) {\n return html`\n <kemet-icon class=\"right\" icon=\"${this.iconRight}\" size=\"${this.iconSize ? this.iconSize : 20}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n /**\n * Makes the left icon\n * @private\n * @returns {templateResult} A left icon\n */\n makeIconLeft() {\n if (this.iconLeft) {\n return html`\n <kemet-icon class=\"left\" icon=\"${this.iconLeft}\" size=\"${this.iconSize ? this.iconSize : 16}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n /**\n * Makes a clear icon for search.\n * @private\n * @returns {templateResult} A search icon\n */\n makeIconClear() {\n if (this.type === 'search' && this.value !== '') {\n return html`\n <kemet-icon class=\"search right\" icon=\"x-lg\" size=\"${this.iconSize}\" @click=${() => this.handleClear()}></kemet-icon>\n `;\n }\n\n return null;\n }\n\n /**\n * Makes a password visibility toggle button\n * @returns {templateResult} A mask or unmask icon\n */\n makeVisibilityToggle() {\n if (this.type === 'password') {\n return html`<kemet-icon\n class=\"eye right\"\n icon=\"${this.setPasswordIcon()}\"\n @click=${() => this.togglePasswordVisibility()}\n ></kemet-icon>`;\n }\n\n return null;\n }\n\n setPasswordIcon() {\n if (this.isPasswordVisible) {\n return 'eye';\n }\n\n return 'eye-slash';\n }\n\n /**\n * Handles when the input receives focus\n * @private\n */\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-input-focused', true);\n }\n\n /**\n * Handles when the input loses focus\n * @private\n */\n handleBlur() {\n if (this.validateOnBlur && this.form && !this.form.noValidate) {\n this.input?.checkValidity();\n this.validity = this.input?.validity;\n }\n\n this.focused = false;\n emitEvent(this, 'kemet-input-focused', false);\n }\n\n /**\n * Handles when the input changes value\n * @private\n */\n handleChange() {\n this.value = this.input.value;\n\n if (this.input.checkValidity() && this.checkLimitValidity() && this.status !== 'success') {\n this.invalid = false;\n this.status = 'standard';\n this.validity = this.input.validity;\n\n emitEvent(this, 'kemet-input-status', {\n status: 'standard',\n validity: this.input.validity,\n element: this,\n });\n }\n }\n\n /**\n * Handles when the input receives input\n * @private\n */\n handleInput() {\n this.value = this.input.value;\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Handles when the input has an error\n * @private\n */\n handleInvalid() {\n this.validity = this.input?.validity;\n\n if (this.validateOnBlur) {\n this.invalid = true;\n this.status = 'error';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'error',\n validity: this.input?.validity,\n element: this,\n });\n }\n }\n\n handleStatus(event) {\n this.status = event.detail.status;\n }\n\n /**\n * Toggles password visibility\n * @private\n */\n togglePasswordVisibility() {\n this.isPasswordVisible = !this.isPasswordVisible;\n }\n\n /**\n * Handles the clear button for search\n * @private\n */\n handleClear() {\n this.value = '';\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Checks the validity of the character limit for the count component\n * @private\n * @returns {boolean}\n */\n checkLimitValidity() {\n if (this.field) {\n const count = this.field.querySelector('kemet-count');\n if (count) {\n return this.value.length < count.limit;\n }\n }\n\n return true;\n }\n\n /**\n * Checks the validity of the standard input\n * @public\n * @returns {boolean}\n */\n checkValidity() {\n return this.input?.checkValidity();\n }\n\n /**\n * Focuses the standard input\n * @public\n */\n focus() {\n this.input?.focus();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-input': KemetInput\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-input.js","sourceRoot":"","sources":["../../../src/components/kemet-input/kemet-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesBase } from './styles';\nimport { TypeAriaAutoComplete, TypeAutoComplete, TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-input\n * @summary An enhanced input element.\n *\n * @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.\n * @prop {string} name - The name of the input\n * @prop {string} placeholder - The placeholder attribute\n * @prop {string} minlength - The minlength attribute\n * @prop {string} maxlength - The maxlength attribute\n * @prop {string} min - The min attribute\n * @prop {string} max - The max attribute\n * @prop {string} step - The step attribute\n * @prop {string} autocomplete - The autocomplete attribute\n * @prop {string} pattern - The pattern attribute\n * @prop {string} inputmode - The input mode attribute\n * @prop {boolean} autofocus - The autofocus attribute\n * @prop {boolean} disabled - The disable attribute\n * @prop {boolean} readonly - The readonly attribute\n * @prop {boolean} required - The required attribute\n * @prop {string} type - The type of input\n * @prop {string} value - The input's value\n * @prop {boolean} invalid - States whether the input is invalid\n * @prop {string} status - The status of the input\n * @prop {boolean} validateOnBlur - Activates validation on blur\n * @prop {string} ariaAutoComplete - Aria Autocomplete\n * @prop {string} ariaControls - Aria Controls\n * @prop {string} ariaActiveDescendant - Aria Active Descendant\n * @prop {boolean} rounded - Displays rounded corners\n * @prop {boolean} filled - Displays a filled input box\n * @prop {string} iconRight - Custom Icon to the right of the input\n * @prop {string} iconLeft - Custom Icon to the left of the input\n * @prop {number} iconSize - Size of the icons\n * @prop {object} validity - The HTML5 validity object.\n * @prop {boolean} isPasswordVisible - Manages password visibility\n * @prop {string} inputType - Input Type of keypress handled through handleInput(e)\n * @prop {boolean} focused - Determines if the input is focused\n *\n * @csspart input\n *\n * @cssproperty --kemet-input-height - The height of the input.\n * @cssproperty --kemet-input-padding - The padding on the input.\n * @cssproperty --kemet-input-border - The border of the input.\n * @cssproperty --kemet-input-border-color-error - The border of the error state.\n * @cssproperty --kemet-input-border-color-success - The border of the success state.\n * @cssproperty --kemet-input-border-color-warning - The border of the warning state.\n * @cssproperty --kemet-input-icon-left-padding - The icon-left padding.\n * @cssproperty --kemet-input-icon-right-padding - The icon-right padding.\n * @cssproperty --kemet-input-border-radius-rounded - The border radius on rounded.\n * @cssproperty --kemet-input-border-filled - The border on filled.\n * @cssproperty --kemet-input-color-filled - The color on filled.\n * @cssproperty --kemet-input-background-color-filled - The background-color on filled.\n * @cssproperty --kemet-input-background-color-error - The error state background color.\n * @cssproperty --kemet-input-background-color-success - The success state background color.\n * @cssproperty --kemet-input-background-color-warning - The warning state background color.\n *\n * @event kemet-input-focused - Fires when the input receives and loses focus\n * @event kemet-input-status Fires when there's a change in status. This event includes an object that reports: 1) the status. 2) HTML5 validity object. 3) the component element.\n * Use the validity object to support custom validation messages.\n * @event kemet-input-input - Fires when the input receives input\n *\n */\n\n@customElement('kemet-input')\nexport default class KemetInput extends LitElement {\n /** @internal */\n formSubmitController: FormSubmitController;\n\n static styles = [stylesBase];\n\n @property({ type: String })\n slug: string;\n\n @property({ type: String })\n name: string = 'input';\n\n @property({ type: String })\n placeholder: string;\n\n @property({ type: Number })\n minlength: number;\n\n @property({ type: Number })\n maxlength: number;\n\n @property({ type: String })\n min: string;\n\n @property({ type: String })\n max: string;\n\n @property({ type: Number })\n step: number;\n\n @property({ type: String })\n autocomplete: TypeAutoComplete;\n\n @property({ type: String })\n pattern: string;\n\n @property({ type: String })\n inputmode: string;\n\n @property({ type: Boolean })\n autofocus: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n readonly: boolean;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: String })\n type: string = 'text';\n\n @property({ type: String, reflect: true })\n value: string = '';\n\n @property({ type: Boolean, reflect: true })\n invalid: boolean;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: Boolean, attribute: 'validate-on-blur' })\n validateOnBlur: boolean = false;\n\n @property({ type: String, attribute: 'aria-autocomplete' })\n ariaAutoComplete: TypeAriaAutoComplete;\n\n @property({ type: String, attribute: 'aria-controls' })\n ariaControls: string;\n\n @property({ type: String, attribute: 'aria-activedescendant' })\n ariaActiveDescendant: string;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: String, reflect: true, attribute: 'icon-right' })\n iconRight: string;\n\n @property({ type: String, reflect: true, attribute: 'icon-left' })\n iconLeft: string;\n\n @property({ type: Number })\n iconSize: number = 20;\n\n @property({ type: Object })\n validity: object;\n\n @property({ type: Boolean })\n isPasswordVisible: boolean = false;\n\n @property({ type: String })\n inputType: string;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean = false;\n\n @state()\n field: KemetFieldInterface;\n\n @state()\n form: HTMLFormElement;\n\n @state()\n input: HTMLInputElement;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n firstUpdated() {\n // elements\n this.input = this.shadowRoot.querySelector('input');\n this.field = this.closest('kemet-field');\n this.form = this.closest('form');\n this.slug = this.field ? this.field.slug : 'input';\n\n if (this.field) {\n this.field.addEventListener('fmc-password-status', (event: CustomEvent) => this.handleStatus(event));\n }\n }\n\n render() {\n return html`\n <div>\n ${this.makeIconLeft()}\n <input\n part=\"input\"\n id=${this.slug}\n name=${this.name}\n placeholder=${ifDefined(this.placeholder)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n min=${ifDefined(this.min)}\n max=${ifDefined(this.max)}\n step=${ifDefined(this.step)}\n autocomplete=${ifDefined(this.autocomplete)}\n aria-autocomplete=${ifDefined(this.ariaAutoComplete)}\n aria-controls=${ifDefined(this.ariaControls)}\n aria-activedescendant=${ifDefined(this.ariaActiveDescendant)}\n pattern=${ifDefined(this.pattern)}\n inputmode=${ifDefined(this.inputmode)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n ?autofocus=${this.autofocus}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n .type=\"${this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}\"\n .value=${live(this.value)}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @invalid=${this.handleInvalid}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n ${this.makeIconRight()} ${this.makeIconClear()} ${this.makeVisibilityToggle()}\n </div>\n `;\n }\n\n makeIconRight() {\n if (this.iconRight) {\n return html`\n <kemet-icon class=\"right\" icon=\"${this.iconRight}\" size=\"${this.iconSize ? this.iconSize : 20}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeIconLeft() {\n if (this.iconLeft) {\n return html`\n <kemet-icon class=\"left\" icon=\"${this.iconLeft}\" size=\"${this.iconSize ? this.iconSize : 16}\"></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeIconClear() {\n if (this.type === 'search' && this.value !== '') {\n return html`\n <kemet-icon class=\"search right\" icon=\"x-lg\" size=\"${this.iconSize}\" @click=${() => this.handleClear()}></kemet-icon>\n `;\n }\n\n return null;\n }\n\n makeVisibilityToggle() {\n if (this.type === 'password') {\n return html`<kemet-icon\n class=\"eye right\"\n icon=\"${this.setPasswordIcon()}\"\n @click=${() => this.togglePasswordVisibility()}\n ></kemet-icon>`;\n }\n\n return null;\n }\n\n setPasswordIcon() {\n if (this.isPasswordVisible) {\n return 'eye';\n }\n\n return 'eye-slash';\n }\n\n /**\n * Handles when the input receives focus\n * @private\n */\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-input-focused', true);\n }\n\n /**\n * Handles when the input loses focus\n * @private\n */\n handleBlur() {\n if (this.validateOnBlur && this.form && !this.form.noValidate) {\n this.input?.checkValidity();\n this.validity = this.input?.validity;\n }\n\n this.focused = false;\n emitEvent(this, 'kemet-input-focused', false);\n }\n\n /**\n * Handles when the input changes value\n * @private\n */\n handleChange() {\n this.value = this.input.value;\n\n if (this.input.checkValidity() && this.checkLimitValidity() && this.status !== 'success') {\n this.invalid = false;\n this.status = 'standard';\n this.validity = this.input.validity;\n\n emitEvent(this, 'kemet-input-status', {\n status: 'standard',\n validity: this.input.validity,\n element: this,\n });\n }\n }\n\n /**\n * Handles when the input receives input\n * @private\n */\n handleInput() {\n this.value = this.input.value;\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Handles when the input has an error\n * @private\n */\n handleInvalid() {\n this.validity = this.input?.validity;\n\n if (this.validateOnBlur) {\n this.invalid = true;\n this.status = 'error';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'error',\n validity: this.input?.validity,\n element: this,\n });\n }\n }\n\n handleStatus(event: CustomEvent) {\n this.status = event.detail.status;\n }\n\n /**\n * Toggles password visibility\n * @private\n */\n togglePasswordVisibility() {\n this.isPasswordVisible = !this.isPasswordVisible;\n }\n\n /**\n * Handles the clear button for search\n * @private\n */\n handleClear() {\n this.value = '';\n emitEvent(this, 'kemet-input-input', this.value);\n }\n\n /**\n * Checks the validity of the character limit for the count component\n * @public\n * @returns {boolean}\n */\n checkLimitValidity(): boolean {\n if (this.field) {\n const count = this.field.querySelector('kemet-count');\n if (count) {\n return this.value.length < count.limit;\n }\n }\n\n return true;\n }\n\n /**\n * Checks the validity of the standard input\n * @public\n * @returns {boolean}\n */\n checkValidity(): boolean {\n return this.input?.checkValidity();\n }\n\n /**\n * Focuses the standard input\n * @public\n */\n focus() {\n this.input?.focus();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-input': KemetInput\n }\n}\n"]}