kemet-ui 3.1.0 → 4.0.0

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 (575) hide show
  1. package/custom-elements.json +2144 -1522
  2. package/dist/{components/kemet-accordion/styles.js → styles/elements/accordion.ts} +4 -3
  3. package/dist/{components/kemet-alert/styles.js → styles/elements/alert.ts} +53 -3
  4. package/dist/{components/kemet-avatar/styles.js → styles/elements/avatar.ts} +26 -12
  5. package/dist/styles/elements/badge.ts +92 -0
  6. package/dist/{components/kemet-button/styles.js → styles/elements/button.ts} +32 -13
  7. package/dist/{components/kemet-card/styles.js → styles/elements/card.ts} +3 -3
  8. package/dist/{components/kemet-carousel/styles.js → styles/elements/carousel.ts} +2 -2
  9. package/dist/{components/kemet-checkbox/styles.js → styles/elements/checkbox.ts} +2 -2
  10. package/dist/{components/kemet-combo/styles.js → styles/elements/combo.ts} +2 -2
  11. package/dist/{components/kemet-drawer/styles.js → styles/elements/drawer.ts} +5 -3
  12. package/dist/{components/kemet-fab/styles.js → styles/elements/fab.ts} +2 -2
  13. package/dist/{components/kemet-field/styles.js → styles/elements/field.ts} +2 -14
  14. package/dist/{components/kemet-flipcard/styles.js → styles/elements/flipcard.ts} +2 -2
  15. package/dist/styles/elements/icon-lucide.ts +7 -0
  16. package/dist/{components/kemet-input/styles.js → styles/elements/input.ts} +36 -12
  17. package/dist/{components/kemet-modal/styles.js → styles/elements/modal.ts} +27 -6
  18. package/dist/{components/kemet-multi-input/styles.js → styles/elements/multi-input.ts} +41 -3
  19. package/dist/{components/kemet-password/styles.js → styles/elements/password.ts} +3 -3
  20. package/dist/{components/kemet-popper/styles.effects.js → styles/elements/popper.ts} +52 -9
  21. package/dist/{components/kemet-radio/styles.js → styles/elements/radio.ts} +4 -3
  22. package/dist/{components/kemet-rotator/styles.js → styles/elements/rotator.ts} +2 -2
  23. package/dist/{components/kemet-scroll-nav/styles.js → styles/elements/scroll-nav.ts} +2 -2
  24. package/dist/{components/kemet-scroll-snap/styles.js → styles/elements/scroll-snap.ts} +4 -3
  25. package/dist/{components/kemet-select/styles.js → styles/elements/select.ts} +34 -10
  26. package/dist/{components/kemet-sortable/styles.js → styles/elements/sortable.ts} +4 -3
  27. package/dist/{components/kemet-tabs/styles.js → styles/elements/tabs.ts} +7 -5
  28. package/dist/{components/kemet-textarea/styles.js → styles/elements/textarea.ts} +29 -4
  29. package/dist/{components/kemet-timer/styles.js → styles/elements/timer.ts} +4 -3
  30. package/dist/{components/kemet-toggle/styles.js → styles/elements/toggle.ts} +2 -2
  31. package/dist/{components/kemet-tooltip/styles.js → styles/elements/tooltip.ts} +2 -2
  32. package/dist/{components/kemet-tracker/styles.js → styles/elements/tracker.ts} +2 -2
  33. package/dist/{components/kemet-upload/styles.js → styles/elements/upload.ts} +6 -4
  34. package/dist/styles/kemet.base.css +1 -1
  35. package/dist/styles/kemet.base.css.map +1 -1
  36. package/dist/styles/kemet.core.css +1 -1
  37. package/dist/styles/kemet.core.css.map +1 -1
  38. package/dist/styles/shared/_helpers.scss +19 -18
  39. package/package.json +71 -88
  40. package/types/global.d.ts +3 -0
  41. package/types/jsx.d.ts +140 -0
  42. package/dist/components/kemet-accordion/docs/stories.d.ts +0 -12
  43. package/dist/components/kemet-accordion/docs/stories.js +0 -99
  44. package/dist/components/kemet-accordion/docs/stories.js.map +0 -1
  45. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +0 -50
  46. package/dist/components/kemet-accordion/kemet-accordion-panel.js +0 -137
  47. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +0 -1
  48. package/dist/components/kemet-accordion/kemet-accordion.d.ts +0 -38
  49. package/dist/components/kemet-accordion/kemet-accordion.js +0 -138
  50. package/dist/components/kemet-accordion/kemet-accordion.js.map +0 -1
  51. package/dist/components/kemet-accordion/spec.d.ts +0 -2
  52. package/dist/components/kemet-accordion/spec.js +0 -132
  53. package/dist/components/kemet-accordion/spec.js.map +0 -1
  54. package/dist/components/kemet-accordion/styles.d.ts +0 -2
  55. package/dist/components/kemet-accordion/styles.js.map +0 -1
  56. package/dist/components/kemet-alert/docs/stories.d.ts +0 -21
  57. package/dist/components/kemet-alert/docs/stories.js +0 -222
  58. package/dist/components/kemet-alert/docs/stories.js.map +0 -1
  59. package/dist/components/kemet-alert/kemet-alert.d.ts +0 -51
  60. package/dist/components/kemet-alert/kemet-alert.js +0 -111
  61. package/dist/components/kemet-alert/kemet-alert.js.map +0 -1
  62. package/dist/components/kemet-alert/spec.d.ts +0 -1
  63. package/dist/components/kemet-alert/spec.js +0 -35
  64. package/dist/components/kemet-alert/spec.js.map +0 -1
  65. package/dist/components/kemet-alert/styles.d.ts +0 -1
  66. package/dist/components/kemet-alert/styles.js.map +0 -1
  67. package/dist/components/kemet-alert/types.d.ts +0 -1
  68. package/dist/components/kemet-alert/types.js +0 -2
  69. package/dist/components/kemet-alert/types.js.map +0 -1
  70. package/dist/components/kemet-avatar/docs/stories.d.ts +0 -15
  71. package/dist/components/kemet-avatar/docs/stories.js +0 -108
  72. package/dist/components/kemet-avatar/docs/stories.js.map +0 -1
  73. package/dist/components/kemet-avatar/kemet-avatar.d.ts +0 -43
  74. package/dist/components/kemet-avatar/kemet-avatar.js +0 -78
  75. package/dist/components/kemet-avatar/kemet-avatar.js.map +0 -1
  76. package/dist/components/kemet-avatar/kemet-avatars.d.ts +0 -20
  77. package/dist/components/kemet-avatar/kemet-avatars.js +0 -25
  78. package/dist/components/kemet-avatar/kemet-avatars.js.map +0 -1
  79. package/dist/components/kemet-avatar/spec.d.ts +0 -1
  80. package/dist/components/kemet-avatar/spec.js +0 -26
  81. package/dist/components/kemet-avatar/spec.js.map +0 -1
  82. package/dist/components/kemet-avatar/styles.d.ts +0 -2
  83. package/dist/components/kemet-avatar/styles.js.map +0 -1
  84. package/dist/components/kemet-badge/docs/stories.d.ts +0 -15
  85. package/dist/components/kemet-badge/docs/stories.js +0 -76
  86. package/dist/components/kemet-badge/docs/stories.js.map +0 -1
  87. package/dist/components/kemet-badge/kemet-badge.d.ts +0 -31
  88. package/dist/components/kemet-badge/kemet-badge.js +0 -55
  89. package/dist/components/kemet-badge/kemet-badge.js.map +0 -1
  90. package/dist/components/kemet-badge/spec.d.ts +0 -1
  91. package/dist/components/kemet-badge/spec.js +0 -21
  92. package/dist/components/kemet-badge/spec.js.map +0 -1
  93. package/dist/components/kemet-badge/styles.d.ts +0 -1
  94. package/dist/components/kemet-badge/styles.js +0 -42
  95. package/dist/components/kemet-badge/styles.js.map +0 -1
  96. package/dist/components/kemet-badge/types.d.ts +0 -1
  97. package/dist/components/kemet-badge/types.js +0 -2
  98. package/dist/components/kemet-badge/types.js.map +0 -1
  99. package/dist/components/kemet-button/docs/stories.d.ts +0 -21
  100. package/dist/components/kemet-button/docs/stories.js +0 -112
  101. package/dist/components/kemet-button/docs/stories.js.map +0 -1
  102. package/dist/components/kemet-button/kemet-button.d.ts +0 -89
  103. package/dist/components/kemet-button/kemet-button.js +0 -155
  104. package/dist/components/kemet-button/kemet-button.js.map +0 -1
  105. package/dist/components/kemet-button/spec.d.ts +0 -1
  106. package/dist/components/kemet-button/spec.js +0 -49
  107. package/dist/components/kemet-button/spec.js.map +0 -1
  108. package/dist/components/kemet-button/styles.d.ts +0 -1
  109. package/dist/components/kemet-button/styles.js.map +0 -1
  110. package/dist/components/kemet-button/types.d.ts +0 -1
  111. package/dist/components/kemet-button/types.js +0 -2
  112. package/dist/components/kemet-button/types.js.map +0 -1
  113. package/dist/components/kemet-card/docs/stories.d.ts +0 -19
  114. package/dist/components/kemet-card/docs/stories.js +0 -120
  115. package/dist/components/kemet-card/docs/stories.js.map +0 -1
  116. package/dist/components/kemet-card/kemet-card.d.ts +0 -47
  117. package/dist/components/kemet-card/kemet-card.js +0 -65
  118. package/dist/components/kemet-card/kemet-card.js.map +0 -1
  119. package/dist/components/kemet-card/spec.d.ts +0 -1
  120. package/dist/components/kemet-card/spec.js +0 -31
  121. package/dist/components/kemet-card/spec.js.map +0 -1
  122. package/dist/components/kemet-card/styles.d.ts +0 -1
  123. package/dist/components/kemet-card/styles.js.map +0 -1
  124. package/dist/components/kemet-carousel/docs/stories.d.ts +0 -23
  125. package/dist/components/kemet-carousel/docs/stories.js +0 -180
  126. package/dist/components/kemet-carousel/docs/stories.js.map +0 -1
  127. package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +0 -26
  128. package/dist/components/kemet-carousel/kemet-carousel-current.js +0 -44
  129. package/dist/components/kemet-carousel/kemet-carousel-current.js.map +0 -1
  130. package/dist/components/kemet-carousel/kemet-carousel-first.d.ts +0 -26
  131. package/dist/components/kemet-carousel/kemet-carousel-first.js +0 -57
  132. package/dist/components/kemet-carousel/kemet-carousel-first.js.map +0 -1
  133. package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +0 -26
  134. package/dist/components/kemet-carousel/kemet-carousel-last.js +0 -57
  135. package/dist/components/kemet-carousel/kemet-carousel-last.js.map +0 -1
  136. package/dist/components/kemet-carousel/kemet-carousel-link.d.ts +0 -32
  137. package/dist/components/kemet-carousel/kemet-carousel-link.js +0 -74
  138. package/dist/components/kemet-carousel/kemet-carousel-link.js.map +0 -1
  139. package/dist/components/kemet-carousel/kemet-carousel-next.d.ts +0 -26
  140. package/dist/components/kemet-carousel/kemet-carousel-next.js +0 -57
  141. package/dist/components/kemet-carousel/kemet-carousel-next.js.map +0 -1
  142. package/dist/components/kemet-carousel/kemet-carousel-prev.d.ts +0 -26
  143. package/dist/components/kemet-carousel/kemet-carousel-prev.js +0 -57
  144. package/dist/components/kemet-carousel/kemet-carousel-prev.js.map +0 -1
  145. package/dist/components/kemet-carousel/kemet-carousel-slide.d.ts +0 -29
  146. package/dist/components/kemet-carousel/kemet-carousel-slide.js +0 -53
  147. package/dist/components/kemet-carousel/kemet-carousel-slide.js.map +0 -1
  148. package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +0 -26
  149. package/dist/components/kemet-carousel/kemet-carousel-total.js +0 -44
  150. package/dist/components/kemet-carousel/kemet-carousel-total.js.map +0 -1
  151. package/dist/components/kemet-carousel/kemet-carousel.d.ts +0 -118
  152. package/dist/components/kemet-carousel/kemet-carousel.js +0 -429
  153. package/dist/components/kemet-carousel/kemet-carousel.js.map +0 -1
  154. package/dist/components/kemet-carousel/spec.d.ts +0 -10
  155. package/dist/components/kemet-carousel/spec.js +0 -168
  156. package/dist/components/kemet-carousel/spec.js.map +0 -1
  157. package/dist/components/kemet-carousel/styles.d.ts +0 -1
  158. package/dist/components/kemet-carousel/styles.js.map +0 -1
  159. package/dist/components/kemet-checkbox/docs/stories.d.ts +0 -13
  160. package/dist/components/kemet-checkbox/docs/stories.js +0 -45
  161. package/dist/components/kemet-checkbox/docs/stories.js.map +0 -1
  162. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +0 -71
  163. package/dist/components/kemet-checkbox/kemet-checkbox.js +0 -192
  164. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +0 -1
  165. package/dist/components/kemet-checkbox/spec.d.ts +0 -1
  166. package/dist/components/kemet-checkbox/spec.js +0 -33
  167. package/dist/components/kemet-checkbox/spec.js.map +0 -1
  168. package/dist/components/kemet-checkbox/styles.d.ts +0 -1
  169. package/dist/components/kemet-checkbox/styles.js.map +0 -1
  170. package/dist/components/kemet-checkbox/types.d.ts +0 -15
  171. package/dist/components/kemet-checkbox/types.js +0 -2
  172. package/dist/components/kemet-checkbox/types.js.map +0 -1
  173. package/dist/components/kemet-combo/docs/stories.d.ts +0 -11
  174. package/dist/components/kemet-combo/docs/stories.js +0 -32
  175. package/dist/components/kemet-combo/docs/stories.js.map +0 -1
  176. package/dist/components/kemet-combo/kemet-combo.d.ts +0 -51
  177. package/dist/components/kemet-combo/kemet-combo.js +0 -163
  178. package/dist/components/kemet-combo/kemet-combo.js.map +0 -1
  179. package/dist/components/kemet-combo/spec.d.ts +0 -3
  180. package/dist/components/kemet-combo/spec.js +0 -46
  181. package/dist/components/kemet-combo/spec.js.map +0 -1
  182. package/dist/components/kemet-combo/styles.d.ts +0 -1
  183. package/dist/components/kemet-combo/styles.js.map +0 -1
  184. package/dist/components/kemet-count/docs/stories.d.ts +0 -11
  185. package/dist/components/kemet-count/docs/stories.js +0 -36
  186. package/dist/components/kemet-count/docs/stories.js.map +0 -1
  187. package/dist/components/kemet-count/kemet-count.d.ts +0 -39
  188. package/dist/components/kemet-count/kemet-count.js +0 -98
  189. package/dist/components/kemet-count/kemet-count.js.map +0 -1
  190. package/dist/components/kemet-count/spec.d.ts +0 -4
  191. package/dist/components/kemet-count/spec.js +0 -45
  192. package/dist/components/kemet-count/spec.js.map +0 -1
  193. package/dist/components/kemet-draggable/docs/stories.d.ts +0 -10
  194. package/dist/components/kemet-draggable/docs/stories.js +0 -25
  195. package/dist/components/kemet-draggable/docs/stories.js.map +0 -1
  196. package/dist/components/kemet-draggable/kemet-draggable.d.ts +0 -49
  197. package/dist/components/kemet-draggable/kemet-draggable.js +0 -138
  198. package/dist/components/kemet-draggable/kemet-draggable.js.map +0 -1
  199. package/dist/components/kemet-draggable/spec.d.ts +0 -1
  200. package/dist/components/kemet-draggable/spec.js +0 -30
  201. package/dist/components/kemet-draggable/spec.js.map +0 -1
  202. package/dist/components/kemet-drawer/docs/stories.d.ts +0 -16
  203. package/dist/components/kemet-drawer/docs/stories.js +0 -90
  204. package/dist/components/kemet-drawer/docs/stories.js.map +0 -1
  205. package/dist/components/kemet-drawer/kemet-drawer.d.ts +0 -48
  206. package/dist/components/kemet-drawer/kemet-drawer.js +0 -95
  207. package/dist/components/kemet-drawer/kemet-drawer.js.map +0 -1
  208. package/dist/components/kemet-drawer/spec.d.ts +0 -1
  209. package/dist/components/kemet-drawer/spec.js +0 -21
  210. package/dist/components/kemet-drawer/spec.js.map +0 -1
  211. package/dist/components/kemet-drawer/styles.d.ts +0 -2
  212. package/dist/components/kemet-drawer/styles.js.map +0 -1
  213. package/dist/components/kemet-drawer/types.d.ts +0 -2
  214. package/dist/components/kemet-drawer/types.js +0 -2
  215. package/dist/components/kemet-drawer/types.js.map +0 -1
  216. package/dist/components/kemet-fab/docs/stories.d.ts +0 -14
  217. package/dist/components/kemet-fab/docs/stories.js +0 -78
  218. package/dist/components/kemet-fab/docs/stories.js.map +0 -1
  219. package/dist/components/kemet-fab/kemet-fab.d.ts +0 -49
  220. package/dist/components/kemet-fab/kemet-fab.js +0 -101
  221. package/dist/components/kemet-fab/kemet-fab.js.map +0 -1
  222. package/dist/components/kemet-fab/spec.d.ts +0 -2
  223. package/dist/components/kemet-fab/spec.js +0 -43
  224. package/dist/components/kemet-fab/spec.js.map +0 -1
  225. package/dist/components/kemet-fab/styles.d.ts +0 -1
  226. package/dist/components/kemet-fab/styles.js.map +0 -1
  227. package/dist/components/kemet-fab/types.d.ts +0 -8
  228. package/dist/components/kemet-fab/types.js +0 -2
  229. package/dist/components/kemet-fab/types.js.map +0 -1
  230. package/dist/components/kemet-field/docs/stories.d.ts +0 -15
  231. package/dist/components/kemet-field/docs/stories.js +0 -55
  232. package/dist/components/kemet-field/docs/stories.js.map +0 -1
  233. package/dist/components/kemet-field/kemet-field.d.ts +0 -61
  234. package/dist/components/kemet-field/kemet-field.js +0 -139
  235. package/dist/components/kemet-field/kemet-field.js.map +0 -1
  236. package/dist/components/kemet-field/spec.d.ts +0 -2
  237. package/dist/components/kemet-field/spec.js +0 -38
  238. package/dist/components/kemet-field/spec.js.map +0 -1
  239. package/dist/components/kemet-field/styles.d.ts +0 -1
  240. package/dist/components/kemet-field/styles.js.map +0 -1
  241. package/dist/components/kemet-field/types.d.ts +0 -13
  242. package/dist/components/kemet-field/types.js +0 -2
  243. package/dist/components/kemet-field/types.js.map +0 -1
  244. package/dist/components/kemet-flipcard/docs/stories.d.ts +0 -14
  245. package/dist/components/kemet-flipcard/docs/stories.js +0 -60
  246. package/dist/components/kemet-flipcard/docs/stories.js.map +0 -1
  247. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +0 -21
  248. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +0 -41
  249. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +0 -1
  250. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +0 -52
  251. package/dist/components/kemet-flipcard/kemet-flipcard.js +0 -129
  252. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +0 -1
  253. package/dist/components/kemet-flipcard/spec.d.ts +0 -3
  254. package/dist/components/kemet-flipcard/spec.js +0 -38
  255. package/dist/components/kemet-flipcard/spec.js.map +0 -1
  256. package/dist/components/kemet-flipcard/styles.d.ts +0 -1
  257. package/dist/components/kemet-flipcard/styles.js.map +0 -1
  258. package/dist/components/kemet-flipcard/types.d.ts +0 -7
  259. package/dist/components/kemet-flipcard/types.js +0 -2
  260. package/dist/components/kemet-flipcard/types.js.map +0 -1
  261. package/dist/components/kemet-icon/docs/stories.d.ts +0 -9
  262. package/dist/components/kemet-icon/docs/stories.js +0 -27
  263. package/dist/components/kemet-icon/docs/stories.js.map +0 -1
  264. package/dist/components/kemet-icon/kemet-icon.d.ts +0 -28
  265. package/dist/components/kemet-icon/kemet-icon.js +0 -114
  266. package/dist/components/kemet-icon/kemet-icon.js.map +0 -1
  267. package/dist/components/kemet-icon/spec.d.ts +0 -1
  268. package/dist/components/kemet-icon/spec.js +0 -69
  269. package/dist/components/kemet-icon/spec.js.map +0 -1
  270. package/dist/components/kemet-icon/styles.d.ts +0 -1
  271. package/dist/components/kemet-icon/styles.js +0 -9
  272. package/dist/components/kemet-icon/styles.js.map +0 -1
  273. package/dist/components/kemet-icon/types.d.ts +0 -5
  274. package/dist/components/kemet-icon/types.js +0 -2
  275. package/dist/components/kemet-icon/types.js.map +0 -1
  276. package/dist/components/kemet-input/docs/stories.d.ts +0 -13
  277. package/dist/components/kemet-input/docs/stories.js +0 -83
  278. package/dist/components/kemet-input/docs/stories.js.map +0 -1
  279. package/dist/components/kemet-input/kemet-input.d.ts +0 -174
  280. package/dist/components/kemet-input/kemet-input.js +0 -397
  281. package/dist/components/kemet-input/kemet-input.js.map +0 -1
  282. package/dist/components/kemet-input/spec.d.ts +0 -1
  283. package/dist/components/kemet-input/spec.js +0 -83
  284. package/dist/components/kemet-input/spec.js.map +0 -1
  285. package/dist/components/kemet-input/styles.d.ts +0 -1
  286. package/dist/components/kemet-input/styles.js.map +0 -1
  287. package/dist/components/kemet-input/types.d.ts +0 -35
  288. package/dist/components/kemet-input/types.js +0 -2
  289. package/dist/components/kemet-input/types.js.map +0 -1
  290. package/dist/components/kemet-modal/docs/stories.d.ts +0 -12
  291. package/dist/components/kemet-modal/docs/stories.js +0 -58
  292. package/dist/components/kemet-modal/docs/stories.js.map +0 -1
  293. package/dist/components/kemet-modal/kemet-modal-close.d.ts +0 -21
  294. package/dist/components/kemet-modal/kemet-modal-close.js +0 -40
  295. package/dist/components/kemet-modal/kemet-modal-close.js.map +0 -1
  296. package/dist/components/kemet-modal/kemet-modal.d.ts +0 -59
  297. package/dist/components/kemet-modal/kemet-modal.js +0 -150
  298. package/dist/components/kemet-modal/kemet-modal.js.map +0 -1
  299. package/dist/components/kemet-modal/styles.d.ts +0 -2
  300. package/dist/components/kemet-modal/styles.js.map +0 -1
  301. package/dist/components/kemet-modal/types.d.ts +0 -8
  302. package/dist/components/kemet-modal/types.js +0 -2
  303. package/dist/components/kemet-modal/types.js.map +0 -1
  304. package/dist/components/kemet-multi-input/docs/stories.d.ts +0 -8
  305. package/dist/components/kemet-multi-input/docs/stories.js +0 -33
  306. package/dist/components/kemet-multi-input/docs/stories.js.map +0 -1
  307. package/dist/components/kemet-multi-input/kemet-multi-input.d.ts +0 -116
  308. package/dist/components/kemet-multi-input/kemet-multi-input.js +0 -193
  309. package/dist/components/kemet-multi-input/kemet-multi-input.js.map +0 -1
  310. package/dist/components/kemet-multi-input/styles.d.ts +0 -1
  311. package/dist/components/kemet-multi-input/styles.js.map +0 -1
  312. package/dist/components/kemet-multi-input/types.d.ts +0 -5
  313. package/dist/components/kemet-multi-input/types.js +0 -2
  314. package/dist/components/kemet-multi-input/types.js.map +0 -1
  315. package/dist/components/kemet-password/docs/stories.d.ts +0 -10
  316. package/dist/components/kemet-password/docs/stories.js +0 -29
  317. package/dist/components/kemet-password/docs/stories.js.map +0 -1
  318. package/dist/components/kemet-password/kemet-password.d.ts +0 -83
  319. package/dist/components/kemet-password/kemet-password.js +0 -155
  320. package/dist/components/kemet-password/kemet-password.js.map +0 -1
  321. package/dist/components/kemet-password/styles.d.ts +0 -1
  322. package/dist/components/kemet-password/styles.js.map +0 -1
  323. package/dist/components/kemet-password/types.d.ts +0 -10
  324. package/dist/components/kemet-password/types.js +0 -2
  325. package/dist/components/kemet-password/types.js.map +0 -1
  326. package/dist/components/kemet-popper/docs/stories.d.ts +0 -12
  327. package/dist/components/kemet-popper/docs/stories.js +0 -65
  328. package/dist/components/kemet-popper/docs/stories.js.map +0 -1
  329. package/dist/components/kemet-popper/kemet-popper-close.d.ts +0 -22
  330. package/dist/components/kemet-popper/kemet-popper-close.js +0 -48
  331. package/dist/components/kemet-popper/kemet-popper-close.js.map +0 -1
  332. package/dist/components/kemet-popper/kemet-popper.d.ts +0 -72
  333. package/dist/components/kemet-popper/kemet-popper.js +0 -173
  334. package/dist/components/kemet-popper/kemet-popper.js.map +0 -1
  335. package/dist/components/kemet-popper/styles.d.ts +0 -1
  336. package/dist/components/kemet-popper/styles.effects.d.ts +0 -8
  337. package/dist/components/kemet-popper/styles.effects.js.map +0 -1
  338. package/dist/components/kemet-popper/styles.js +0 -37
  339. package/dist/components/kemet-popper/styles.js.map +0 -1
  340. package/dist/components/kemet-popper/types.d.ts +0 -3
  341. package/dist/components/kemet-popper/types.js +0 -2
  342. package/dist/components/kemet-popper/types.js.map +0 -1
  343. package/dist/components/kemet-radio/docs/stories.d.ts +0 -12
  344. package/dist/components/kemet-radio/docs/stories.js +0 -44
  345. package/dist/components/kemet-radio/docs/stories.js.map +0 -1
  346. package/dist/components/kemet-radio/kemet-radio.d.ts +0 -57
  347. package/dist/components/kemet-radio/kemet-radio.js +0 -130
  348. package/dist/components/kemet-radio/kemet-radio.js.map +0 -1
  349. package/dist/components/kemet-radio/kemet-radios.d.ts +0 -50
  350. package/dist/components/kemet-radio/kemet-radios.js +0 -149
  351. package/dist/components/kemet-radio/kemet-radios.js.map +0 -1
  352. package/dist/components/kemet-radio/spec.d.ts +0 -3
  353. package/dist/components/kemet-radio/spec.js +0 -67
  354. package/dist/components/kemet-radio/spec.js.map +0 -1
  355. package/dist/components/kemet-radio/styles.d.ts +0 -2
  356. package/dist/components/kemet-radio/styles.js.map +0 -1
  357. package/dist/components/kemet-radio/types.d.ts +0 -20
  358. package/dist/components/kemet-radio/types.js +0 -2
  359. package/dist/components/kemet-radio/types.js.map +0 -1
  360. package/dist/components/kemet-rotator/docs/stories.d.ts +0 -10
  361. package/dist/components/kemet-rotator/docs/stories.js +0 -34
  362. package/dist/components/kemet-rotator/docs/stories.js.map +0 -1
  363. package/dist/components/kemet-rotator/kemet-rotator.d.ts +0 -40
  364. package/dist/components/kemet-rotator/kemet-rotator.js +0 -121
  365. package/dist/components/kemet-rotator/kemet-rotator.js.map +0 -1
  366. package/dist/components/kemet-rotator/styles.d.ts +0 -1
  367. package/dist/components/kemet-rotator/styles.js.map +0 -1
  368. package/dist/components/kemet-rotator/types.d.ts +0 -9
  369. package/dist/components/kemet-rotator/types.js +0 -2
  370. package/dist/components/kemet-rotator/types.js.map +0 -1
  371. package/dist/components/kemet-scroll-link/docs/stories.d.ts +0 -9
  372. package/dist/components/kemet-scroll-link/docs/stories.js +0 -97
  373. package/dist/components/kemet-scroll-link/docs/stories.js.map +0 -1
  374. package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +0 -31
  375. package/dist/components/kemet-scroll-link/kemet-scroll-link.js +0 -83
  376. package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +0 -1
  377. package/dist/components/kemet-scroll-link/types.d.ts +0 -6
  378. package/dist/components/kemet-scroll-link/types.js +0 -2
  379. package/dist/components/kemet-scroll-link/types.js.map +0 -1
  380. package/dist/components/kemet-scroll-nav/docs/stories.d.ts +0 -10
  381. package/dist/components/kemet-scroll-nav/docs/stories.js +0 -162
  382. package/dist/components/kemet-scroll-nav/docs/stories.js.map +0 -1
  383. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +0 -34
  384. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +0 -65
  385. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +0 -1
  386. package/dist/components/kemet-scroll-nav/styles.d.ts +0 -1
  387. package/dist/components/kemet-scroll-nav/styles.js.map +0 -1
  388. package/dist/components/kemet-scroll-nav/types.d.ts +0 -6
  389. package/dist/components/kemet-scroll-nav/types.js +0 -2
  390. package/dist/components/kemet-scroll-nav/types.js.map +0 -1
  391. package/dist/components/kemet-scroll-snap/docs/stories.d.ts +0 -17
  392. package/dist/components/kemet-scroll-snap/docs/stories.js +0 -121
  393. package/dist/components/kemet-scroll-snap/docs/stories.js.map +0 -1
  394. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +0 -45
  395. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +0 -120
  396. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +0 -1
  397. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +0 -30
  398. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +0 -53
  399. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +0 -1
  400. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +0 -47
  401. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +0 -117
  402. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +0 -1
  403. package/dist/components/kemet-scroll-snap/styles.d.ts +0 -2
  404. package/dist/components/kemet-scroll-snap/styles.js.map +0 -1
  405. package/dist/components/kemet-scroll-snap/types.d.ts +0 -20
  406. package/dist/components/kemet-scroll-snap/types.js +0 -2
  407. package/dist/components/kemet-scroll-snap/types.js.map +0 -1
  408. package/dist/components/kemet-select/docs/stories.d.ts +0 -13
  409. package/dist/components/kemet-select/docs/stories.js +0 -49
  410. package/dist/components/kemet-select/docs/stories.js.map +0 -1
  411. package/dist/components/kemet-select/kemet-option.d.ts +0 -29
  412. package/dist/components/kemet-select/kemet-option.js +0 -45
  413. package/dist/components/kemet-select/kemet-option.js.map +0 -1
  414. package/dist/components/kemet-select/kemet-select.d.ts +0 -119
  415. package/dist/components/kemet-select/kemet-select.js +0 -198
  416. package/dist/components/kemet-select/kemet-select.js.map +0 -1
  417. package/dist/components/kemet-select/spec.d.ts +0 -3
  418. package/dist/components/kemet-select/spec.js +0 -53
  419. package/dist/components/kemet-select/spec.js.map +0 -1
  420. package/dist/components/kemet-select/styles.d.ts +0 -1
  421. package/dist/components/kemet-select/styles.js.map +0 -1
  422. package/dist/components/kemet-select/types.d.ts +0 -20
  423. package/dist/components/kemet-select/types.js +0 -2
  424. package/dist/components/kemet-select/types.js.map +0 -1
  425. package/dist/components/kemet-sortable/docs/stories.d.ts +0 -10
  426. package/dist/components/kemet-sortable/docs/stories.js +0 -29
  427. package/dist/components/kemet-sortable/docs/stories.js.map +0 -1
  428. package/dist/components/kemet-sortable/kemet-sortable-item.d.ts +0 -21
  429. package/dist/components/kemet-sortable/kemet-sortable-item.js +0 -30
  430. package/dist/components/kemet-sortable/kemet-sortable-item.js.map +0 -1
  431. package/dist/components/kemet-sortable/kemet-sortable.d.ts +0 -25
  432. package/dist/components/kemet-sortable/kemet-sortable.js +0 -77
  433. package/dist/components/kemet-sortable/kemet-sortable.js.map +0 -1
  434. package/dist/components/kemet-sortable/styles.d.ts +0 -2
  435. package/dist/components/kemet-sortable/styles.js.map +0 -1
  436. package/dist/components/kemet-sortable/types.d.ts +0 -3
  437. package/dist/components/kemet-sortable/types.js +0 -2
  438. package/dist/components/kemet-sortable/types.js.map +0 -1
  439. package/dist/components/kemet-svgs/docs/stories.d.ts +0 -10
  440. package/dist/components/kemet-svgs/docs/stories.js +0 -67
  441. package/dist/components/kemet-svgs/docs/stories.js.map +0 -1
  442. package/dist/components/kemet-svgs/kemet-svg.d.ts +0 -38
  443. package/dist/components/kemet-svgs/kemet-svg.js +0 -97
  444. package/dist/components/kemet-svgs/kemet-svg.js.map +0 -1
  445. package/dist/components/kemet-svgs/kemet-svgs.d.ts +0 -27
  446. package/dist/components/kemet-svgs/kemet-svgs.js +0 -51
  447. package/dist/components/kemet-svgs/kemet-svgs.js.map +0 -1
  448. package/dist/components/kemet-svgs/types.d.ts +0 -10
  449. package/dist/components/kemet-svgs/types.js +0 -2
  450. package/dist/components/kemet-svgs/types.js.map +0 -1
  451. package/dist/components/kemet-tabs/docs/stories.d.ts +0 -18
  452. package/dist/components/kemet-tabs/docs/stories.js +0 -142
  453. package/dist/components/kemet-tabs/docs/stories.js.map +0 -1
  454. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +0 -28
  455. package/dist/components/kemet-tabs/kemet-tab-panel.js +0 -55
  456. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +0 -1
  457. package/dist/components/kemet-tabs/kemet-tab.d.ts +0 -38
  458. package/dist/components/kemet-tabs/kemet-tab.js +0 -82
  459. package/dist/components/kemet-tabs/kemet-tab.js.map +0 -1
  460. package/dist/components/kemet-tabs/kemet-tabs.d.ts +0 -100
  461. package/dist/components/kemet-tabs/kemet-tabs.js +0 -487
  462. package/dist/components/kemet-tabs/kemet-tabs.js.map +0 -1
  463. package/dist/components/kemet-tabs/styles.d.ts +0 -3
  464. package/dist/components/kemet-tabs/styles.js.map +0 -1
  465. package/dist/components/kemet-tabs/types.d.ts +0 -27
  466. package/dist/components/kemet-tabs/types.js +0 -2
  467. package/dist/components/kemet-tabs/types.js.map +0 -1
  468. package/dist/components/kemet-textarea/docs/stories.d.ts +0 -12
  469. package/dist/components/kemet-textarea/docs/stories.js +0 -58
  470. package/dist/components/kemet-textarea/docs/stories.js.map +0 -1
  471. package/dist/components/kemet-textarea/kemet-textarea.d.ts +0 -123
  472. package/dist/components/kemet-textarea/kemet-textarea.js +0 -293
  473. package/dist/components/kemet-textarea/kemet-textarea.js.map +0 -1
  474. package/dist/components/kemet-textarea/spec.d.ts +0 -3
  475. package/dist/components/kemet-textarea/spec.js +0 -69
  476. package/dist/components/kemet-textarea/spec.js.map +0 -1
  477. package/dist/components/kemet-textarea/styles.d.ts +0 -1
  478. package/dist/components/kemet-textarea/styles.js.map +0 -1
  479. package/dist/components/kemet-textarea/types.d.ts +0 -20
  480. package/dist/components/kemet-textarea/types.js +0 -2
  481. package/dist/components/kemet-textarea/types.js.map +0 -1
  482. package/dist/components/kemet-timer/docs/stories.d.ts +0 -10
  483. package/dist/components/kemet-timer/docs/stories.js +0 -40
  484. package/dist/components/kemet-timer/docs/stories.js.map +0 -1
  485. package/dist/components/kemet-timer/kemet-timer-display.d.ts +0 -25
  486. package/dist/components/kemet-timer/kemet-timer-display.js +0 -65
  487. package/dist/components/kemet-timer/kemet-timer-display.js.map +0 -1
  488. package/dist/components/kemet-timer/kemet-timer.d.ts +0 -36
  489. package/dist/components/kemet-timer/kemet-timer.js +0 -103
  490. package/dist/components/kemet-timer/kemet-timer.js.map +0 -1
  491. package/dist/components/kemet-timer/styles.d.ts +0 -2
  492. package/dist/components/kemet-timer/styles.js.map +0 -1
  493. package/dist/components/kemet-timer/types.d.ts +0 -1
  494. package/dist/components/kemet-timer/types.js +0 -2
  495. package/dist/components/kemet-timer/types.js.map +0 -1
  496. package/dist/components/kemet-toggle/docs/stories.d.ts +0 -11
  497. package/dist/components/kemet-toggle/docs/stories.js +0 -43
  498. package/dist/components/kemet-toggle/docs/stories.js.map +0 -1
  499. package/dist/components/kemet-toggle/kemet-toggle.d.ts +0 -60
  500. package/dist/components/kemet-toggle/kemet-toggle.js +0 -130
  501. package/dist/components/kemet-toggle/kemet-toggle.js.map +0 -1
  502. package/dist/components/kemet-toggle/spec.d.ts +0 -1
  503. package/dist/components/kemet-toggle/spec.js +0 -46
  504. package/dist/components/kemet-toggle/spec.js.map +0 -1
  505. package/dist/components/kemet-toggle/styles.d.ts +0 -1
  506. package/dist/components/kemet-toggle/styles.js.map +0 -1
  507. package/dist/components/kemet-toggle/types.d.ts +0 -10
  508. package/dist/components/kemet-toggle/types.js +0 -2
  509. package/dist/components/kemet-toggle/types.js.map +0 -1
  510. package/dist/components/kemet-tooltip/docs/stories.d.ts +0 -14
  511. package/dist/components/kemet-tooltip/docs/stories.js +0 -97
  512. package/dist/components/kemet-tooltip/docs/stories.js.map +0 -1
  513. package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +0 -33
  514. package/dist/components/kemet-tooltip/kemet-tooltip.js +0 -69
  515. package/dist/components/kemet-tooltip/kemet-tooltip.js.map +0 -1
  516. package/dist/components/kemet-tooltip/styles.d.ts +0 -1
  517. package/dist/components/kemet-tooltip/styles.js.map +0 -1
  518. package/dist/components/kemet-tooltip/types.d.ts +0 -3
  519. package/dist/components/kemet-tooltip/types.js +0 -2
  520. package/dist/components/kemet-tooltip/types.js.map +0 -1
  521. package/dist/components/kemet-tracker/docs/stories.d.ts +0 -11
  522. package/dist/components/kemet-tracker/docs/stories.js +0 -42
  523. package/dist/components/kemet-tracker/docs/stories.js.map +0 -1
  524. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +0 -63
  525. package/dist/components/kemet-tracker/kemet-tracker-step.js +0 -127
  526. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +0 -1
  527. package/dist/components/kemet-tracker/kemet-tracker.d.ts +0 -27
  528. package/dist/components/kemet-tracker/kemet-tracker.js +0 -70
  529. package/dist/components/kemet-tracker/kemet-tracker.js.map +0 -1
  530. package/dist/components/kemet-tracker/styles.d.ts +0 -1
  531. package/dist/components/kemet-tracker/styles.js.map +0 -1
  532. package/dist/components/kemet-tracker/types.d.ts +0 -13
  533. package/dist/components/kemet-tracker/types.js +0 -2
  534. package/dist/components/kemet-tracker/types.js.map +0 -1
  535. package/dist/components/kemet-upload/docs/stories.d.ts +0 -10
  536. package/dist/components/kemet-upload/docs/stories.js +0 -52
  537. package/dist/components/kemet-upload/docs/stories.js.map +0 -1
  538. package/dist/components/kemet-upload/kemet-upload-file.d.ts +0 -46
  539. package/dist/components/kemet-upload/kemet-upload-file.js +0 -109
  540. package/dist/components/kemet-upload/kemet-upload-file.js.map +0 -1
  541. package/dist/components/kemet-upload/kemet-upload.d.ts +0 -58
  542. package/dist/components/kemet-upload/kemet-upload.js +0 -149
  543. package/dist/components/kemet-upload/kemet-upload.js.map +0 -1
  544. package/dist/components/kemet-upload/styles.d.ts +0 -3
  545. package/dist/components/kemet-upload/styles.js.map +0 -1
  546. package/dist/components/kemet-upload/types.d.ts +0 -21
  547. package/dist/components/kemet-upload/types.js +0 -2
  548. package/dist/components/kemet-upload/types.js.map +0 -1
  549. package/dist/kemet-components.bundle.js +0 -83
  550. package/dist/kemet-components.bundle.js.map +0 -1
  551. package/dist/kemet-components.cjs +0 -12149
  552. package/dist/kemet-components.js +0 -12147
  553. package/dist/styles/components/_config.scss +0 -4
  554. package/dist/styles/components/accordion.scss +0 -9
  555. package/dist/styles/components/scrollsnap.scss +0 -11
  556. package/dist/styles/kemet.components.css +0 -23
  557. package/dist/styles/kemet.components.css.map +0 -1
  558. package/dist/styles/kemet.components.scss +0 -2
  559. package/dist/tsconfig.tsbuildinfo +0 -1
  560. package/dist/utilities/controllers/forms.d.ts +0 -11
  561. package/dist/utilities/controllers/forms.js +0 -100
  562. package/dist/utilities/controllers/forms.js.map +0 -1
  563. package/dist/utilities/controllers/forms.spec.d.ts +0 -2
  564. package/dist/utilities/controllers/forms.spec.js +0 -36
  565. package/dist/utilities/controllers/forms.spec.js.map +0 -1
  566. package/dist/utilities/misc/constants.d.ts +0 -5
  567. package/dist/utilities/misc/constants.js +0 -6
  568. package/dist/utilities/misc/constants.js.map +0 -1
  569. package/dist/utilities/misc/drag.d.ts +0 -6
  570. package/dist/utilities/misc/drag.js +0 -63
  571. package/dist/utilities/misc/drag.js.map +0 -1
  572. package/dist/utilities/misc/events.d.ts +0 -1
  573. package/dist/utilities/misc/events.js +0 -4
  574. package/dist/utilities/misc/events.js.map +0 -1
  575. package/index.js +0 -1
@@ -1,397 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import { ifDefined } from 'lit/directives/if-defined.js';
5
- import { live } from 'lit/directives/live.js';
6
- import { FormSubmitController } from '../../utilities/controllers/forms';
7
- import { emitEvent } from '../../utilities/misc/events';
8
- import { stylesBase } from './styles';
9
- /**
10
- * @since 1.0.0
11
- * @status stable
12
- *
13
- * @tagname kemet-input
14
- * @summary An enhanced input element.
15
- *
16
- * @prop {string} slug - Used for the id of the input. Should match the slug used in a control if applicable.
17
- * @prop {string} name - The name of the input
18
- * @prop {string} placeholder - The placeholder attribute
19
- * @prop {string} minlength - The minlength attribute
20
- * @prop {string} maxlength - The maxlength attribute
21
- * @prop {string} min - The min attribute
22
- * @prop {string} max - The max attribute
23
- * @prop {string} step - The step attribute
24
- * @prop {string} autocomplete - The autocomplete attribute
25
- * @prop {string} pattern - The pattern attribute
26
- * @prop {string} inputmode - The input mode attribute
27
- * @prop {boolean} autofocus - The autofocus attribute
28
- * @prop {boolean} disabled - The disable attribute
29
- * @prop {boolean} readonly - The readonly attribute
30
- * @prop {boolean} required - The required attribute
31
- * @prop {string} type - The type of input
32
- * @prop {string} value - The input's value
33
- * @prop {boolean} invalid - States whether the input is invalid
34
- * @prop {string} status - The status of the input
35
- * @prop {boolean} validateOnBlur - Activates validation on blur
36
- * @prop {string} ariaAutoComplete - Aria Autocomplete
37
- * @prop {string} ariaControls - Aria Controls
38
- * @prop {string} ariaActiveDescendant - Aria Active Descendant
39
- * @prop {boolean} rounded - Displays rounded corners
40
- * @prop {boolean} filled - Displays a filled input box
41
- * @prop {string} iconRight - Custom Icon to the right of the input
42
- * @prop {string} iconLeft - Custom Icon to the left of the input
43
- * @prop {number} iconSize - Size of the icons
44
- * @prop {object} validity - The HTML5 validity object.
45
- * @prop {boolean} isPasswordVisible - Manages password visibility
46
- * @prop {string} inputType - Input Type of keypress handled through handleInput(e)
47
- * @prop {boolean} focused - Determines if the input is focused
48
- *
49
- * @csspart input
50
- *
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
- *
67
- * @event kemet-input-focused - Fires when the input receives and loses focus
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.
69
- * Use the validity object to support custom validation messages.
70
- * @event kemet-input-input - Fires when the input receives input
71
- *
72
- */
73
- let KemetInput = class KemetInput extends LitElement {
74
- constructor() {
75
- super();
76
- this.name = 'input';
77
- this.type = 'text';
78
- this.value = '';
79
- this.status = 'standard';
80
- this.validateOnBlur = false;
81
- this.iconSize = 20;
82
- this.isPasswordVisible = false;
83
- this.focused = false;
84
- /** @internal */
85
- this.formSubmitController = new FormSubmitController(this);
86
- }
87
- firstUpdated() {
88
- // elements
89
- this.input = this.shadowRoot.querySelector('input');
90
- this.field = this.closest('kemet-field');
91
- this.form = this.closest('form');
92
- this.slug = this.field ? this.field.slug : 'input';
93
- if (this.field) {
94
- this.field.addEventListener('kemet-password-status', (event) => this.handleStatus(event));
95
- }
96
- }
97
- render() {
98
- return html `
99
- <div>
100
- ${this.makeIconLeft()}
101
- <input
102
- part="input"
103
- id=${this.slug}
104
- name=${this.name}
105
- placeholder=${ifDefined(this.placeholder)}
106
- minlength=${ifDefined(this.minlength)}
107
- maxlength=${ifDefined(this.maxlength)}
108
- min=${ifDefined(this.min)}
109
- max=${ifDefined(this.max)}
110
- step=${ifDefined(this.step)}
111
- autocomplete=${ifDefined(this.autocomplete)}
112
- aria-autocomplete=${ifDefined(this.ariaAutoComplete)}
113
- aria-controls=${ifDefined(this.ariaControls)}
114
- aria-activedescendant=${ifDefined(this.ariaActiveDescendant)}
115
- pattern=${ifDefined(this.pattern)}
116
- inputmode=${ifDefined(this.inputmode)}
117
- aria-invalid=${this.invalid ? 'true' : 'false'}
118
- ?autofocus=${this.autofocus}
119
- ?disabled=${this.disabled}
120
- ?readonly=${this.readonly}
121
- ?required=${this.required}
122
- .type="${this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}"
123
- .value=${live(this.value)}
124
- @change=${this.handleChange}
125
- @input=${this.handleInput}
126
- @invalid=${this.handleInvalid}
127
- @focus=${this.handleFocus}
128
- @blur=${this.handleBlur}
129
- />
130
- ${this.makeIconRight()} ${this.makeIconClear()} ${this.makeVisibilityToggle()}
131
- </div>
132
- `;
133
- }
134
- makeIconRight() {
135
- if (this.iconRight) {
136
- return html `
137
- <kemet-icon class="right" icon="${this.iconRight}" size="${this.iconSize ? this.iconSize : 20}"></kemet-icon>
138
- `;
139
- }
140
- return null;
141
- }
142
- makeIconLeft() {
143
- if (this.iconLeft) {
144
- return html `
145
- <kemet-icon class="left" icon="${this.iconLeft}" size="${this.iconSize ? this.iconSize : 16}"></kemet-icon>
146
- `;
147
- }
148
- return null;
149
- }
150
- makeIconClear() {
151
- if (this.type === 'search' && this.value !== '') {
152
- return html `
153
- <kemet-icon class="search right" icon="x-lg" size="${this.iconSize}" @click=${() => this.handleClear()}></kemet-icon>
154
- `;
155
- }
156
- return null;
157
- }
158
- makeVisibilityToggle() {
159
- if (this.type === 'password') {
160
- return html `<kemet-icon
161
- class="eye right"
162
- icon="${this.setPasswordIcon()}"
163
- @click=${() => this.togglePasswordVisibility()}
164
- ></kemet-icon>`;
165
- }
166
- return null;
167
- }
168
- setPasswordIcon() {
169
- if (this.isPasswordVisible) {
170
- return 'eye';
171
- }
172
- return 'eye-slash';
173
- }
174
- /**
175
- * Handles when the input receives focus
176
- * @private
177
- */
178
- handleFocus() {
179
- this.focused = true;
180
- emitEvent(this, 'kemet-input-focused', true);
181
- }
182
- /**
183
- * Handles when the input loses focus
184
- * @private
185
- */
186
- handleBlur() {
187
- var _a, _b;
188
- if (this.validateOnBlur && this.form && !this.form.noValidate) {
189
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity();
190
- this.validity = (_b = this.input) === null || _b === void 0 ? void 0 : _b.validity;
191
- }
192
- this.focused = false;
193
- emitEvent(this, 'kemet-input-focused', false);
194
- }
195
- /**
196
- * Handles when the input changes value
197
- * @private
198
- */
199
- handleChange() {
200
- this.value = this.input.value;
201
- if (this.input.checkValidity() && this.checkLimitValidity() && this.status !== 'success') {
202
- this.invalid = false;
203
- this.status = 'standard';
204
- this.validity = this.input.validity;
205
- emitEvent(this, 'kemet-input-status', {
206
- status: 'standard',
207
- validity: this.input.validity,
208
- element: this,
209
- });
210
- }
211
- }
212
- /**
213
- * Handles when the input receives input
214
- * @private
215
- */
216
- handleInput() {
217
- this.value = this.input.value;
218
- emitEvent(this, 'kemet-input-input', this.value);
219
- }
220
- /**
221
- * Handles when the input has an error
222
- * @private
223
- */
224
- handleInvalid() {
225
- var _a, _b;
226
- this.validity = (_a = this.input) === null || _a === void 0 ? void 0 : _a.validity;
227
- if (this.validateOnBlur) {
228
- this.invalid = true;
229
- this.status = 'error';
230
- emitEvent(this, 'kemet-input-status', {
231
- status: 'error',
232
- validity: (_b = this.input) === null || _b === void 0 ? void 0 : _b.validity,
233
- element: this,
234
- });
235
- }
236
- }
237
- handleStatus(event) {
238
- this.status = event.detail.status;
239
- }
240
- /**
241
- * Toggles password visibility
242
- * @private
243
- */
244
- togglePasswordVisibility() {
245
- this.isPasswordVisible = !this.isPasswordVisible;
246
- }
247
- /**
248
- * Handles the clear button for search
249
- * @private
250
- */
251
- handleClear() {
252
- this.value = '';
253
- emitEvent(this, 'kemet-input-input', this.value);
254
- }
255
- /**
256
- * Checks the validity of the character limit for the count component
257
- * @public
258
- * @returns {boolean}
259
- */
260
- checkLimitValidity() {
261
- if (this.field) {
262
- const count = this.field.querySelector('kemet-count');
263
- if (count) {
264
- return this.value.length < count.limit;
265
- }
266
- }
267
- return true;
268
- }
269
- /**
270
- * Checks the validity of the standard input
271
- * @public
272
- * @returns {boolean}
273
- */
274
- checkValidity() {
275
- var _a;
276
- return (_a = this.input) === null || _a === void 0 ? void 0 : _a.checkValidity();
277
- }
278
- /**
279
- * Focuses the standard input
280
- * @public
281
- */
282
- focus() {
283
- var _a;
284
- (_a = this.input) === null || _a === void 0 ? void 0 : _a.focus();
285
- }
286
- };
287
- KemetInput.styles = [stylesBase];
288
- __decorate([
289
- property({ type: String })
290
- ], KemetInput.prototype, "slug", void 0);
291
- __decorate([
292
- property({ type: String })
293
- ], KemetInput.prototype, "name", void 0);
294
- __decorate([
295
- property({ type: String })
296
- ], KemetInput.prototype, "placeholder", void 0);
297
- __decorate([
298
- property({ type: Number })
299
- ], KemetInput.prototype, "minlength", void 0);
300
- __decorate([
301
- property({ type: Number })
302
- ], KemetInput.prototype, "maxlength", void 0);
303
- __decorate([
304
- property({ type: String })
305
- ], KemetInput.prototype, "min", void 0);
306
- __decorate([
307
- property({ type: String })
308
- ], KemetInput.prototype, "max", void 0);
309
- __decorate([
310
- property({ type: Number })
311
- ], KemetInput.prototype, "step", void 0);
312
- __decorate([
313
- property({ type: String })
314
- ], KemetInput.prototype, "autocomplete", void 0);
315
- __decorate([
316
- property({ type: String })
317
- ], KemetInput.prototype, "pattern", void 0);
318
- __decorate([
319
- property({ type: String })
320
- ], KemetInput.prototype, "inputmode", void 0);
321
- __decorate([
322
- property({ type: Boolean })
323
- ], KemetInput.prototype, "autofocus", void 0);
324
- __decorate([
325
- property({ type: Boolean, reflect: true })
326
- ], KemetInput.prototype, "disabled", void 0);
327
- __decorate([
328
- property({ type: Boolean })
329
- ], KemetInput.prototype, "readonly", void 0);
330
- __decorate([
331
- property({ type: Boolean, reflect: true })
332
- ], KemetInput.prototype, "required", void 0);
333
- __decorate([
334
- property({ type: String })
335
- ], KemetInput.prototype, "type", void 0);
336
- __decorate([
337
- property({ type: String, reflect: true })
338
- ], KemetInput.prototype, "value", void 0);
339
- __decorate([
340
- property({ type: Boolean, reflect: true })
341
- ], KemetInput.prototype, "invalid", void 0);
342
- __decorate([
343
- property({ type: String, reflect: true })
344
- ], KemetInput.prototype, "status", void 0);
345
- __decorate([
346
- property({ type: Boolean, attribute: 'validate-on-blur' })
347
- ], KemetInput.prototype, "validateOnBlur", void 0);
348
- __decorate([
349
- property({ type: String, attribute: 'aria-autocomplete' })
350
- ], KemetInput.prototype, "ariaAutoComplete", void 0);
351
- __decorate([
352
- property({ type: String, attribute: 'aria-controls' })
353
- ], KemetInput.prototype, "ariaControls", void 0);
354
- __decorate([
355
- property({ type: String, attribute: 'aria-activedescendant' })
356
- ], KemetInput.prototype, "ariaActiveDescendant", void 0);
357
- __decorate([
358
- property({ type: Boolean, reflect: true })
359
- ], KemetInput.prototype, "rounded", void 0);
360
- __decorate([
361
- property({ type: Boolean, reflect: true })
362
- ], KemetInput.prototype, "filled", void 0);
363
- __decorate([
364
- property({ type: String, reflect: true, attribute: 'icon-right' })
365
- ], KemetInput.prototype, "iconRight", void 0);
366
- __decorate([
367
- property({ type: String, reflect: true, attribute: 'icon-left' })
368
- ], KemetInput.prototype, "iconLeft", void 0);
369
- __decorate([
370
- property({ type: Number })
371
- ], KemetInput.prototype, "iconSize", void 0);
372
- __decorate([
373
- property({ type: Object })
374
- ], KemetInput.prototype, "validity", void 0);
375
- __decorate([
376
- property({ type: Boolean })
377
- ], KemetInput.prototype, "isPasswordVisible", void 0);
378
- __decorate([
379
- property({ type: String })
380
- ], KemetInput.prototype, "inputType", void 0);
381
- __decorate([
382
- property({ type: Boolean, reflect: true })
383
- ], KemetInput.prototype, "focused", void 0);
384
- __decorate([
385
- state()
386
- ], KemetInput.prototype, "field", void 0);
387
- __decorate([
388
- state()
389
- ], KemetInput.prototype, "form", void 0);
390
- __decorate([
391
- state()
392
- ], KemetInput.prototype, "input", void 0);
393
- KemetInput = __decorate([
394
- customElement('kemet-input')
395
- ], KemetInput);
396
- export default KemetInput;
397
- //# sourceMappingURL=kemet-input.js.map
@@ -1 +0,0 @@
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('kemet-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"]}
@@ -1 +0,0 @@
1
- import './kemet-input';
@@ -1,83 +0,0 @@
1
- import { html, render } from 'lit';
2
- import { expect } from '@wdio/globals';
3
- import userEvent from '@testing-library/user-event';
4
- import { fireEvent, waitFor } from '@testing-library/dom';
5
- import './kemet-input';
6
- describe('Input', () => {
7
- const templates = {
8
- default: html `<kemet-input></kemet-input>`,
9
- disabled: html `<kemet-input disabled></kemet-input>`,
10
- search: html `<kemet-input type="search"></kemet-input>`,
11
- icons: html `<kemet-input icon-left="chevron-left" icon-right="chevron-right"></kemet-input>`,
12
- validateImmediately: html `<kemet-input required validate-on-blur pattern="^[a-zA-Z0-9]*$"></kemet-input>`,
13
- password: html `
14
- <kemet-field slug="field" label="Password">
15
- <kemet-input type="password" pattern="^[a-zA-Z0-9]*$" required validate-on-blur placeholder="Password"></kemet-input>
16
- </kemet-field>
17
- `,
18
- };
19
- it('handles changes to the input properly', async () => {
20
- render(templates.default, document.body);
21
- const kemetInput = document.querySelector('kemet-input');
22
- await waitFor(async () => {
23
- const input = kemetInput.shadowRoot.querySelector('input');
24
- // TODO figure out why useEvent is not generating code coverage
25
- fireEvent.change(input, { target: { value: 'test' } });
26
- fireEvent.blur(input);
27
- expect(kemetInput.status).toBe('standard');
28
- });
29
- });
30
- it('focuses correctly', async () => {
31
- render(templates.default, document.body);
32
- const kemetInput = document.querySelector('kemet-input');
33
- await waitFor(async () => {
34
- kemetInput.focus();
35
- fireEvent.focus(kemetInput.shadowRoot.querySelector('input'));
36
- expect(kemetInput.focused).toBe(true);
37
- });
38
- });
39
- it('renders a left and right icon', async () => {
40
- render(templates.icons, document.body);
41
- });
42
- it('should not set a value when user types into a disabled field', async () => {
43
- render(templates.disabled, document.body);
44
- const kemetInput = document.querySelector('kemet-input');
45
- await waitFor(async () => {
46
- await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');
47
- await userEvent.click(document.body);
48
- expect(kemetInput.value).toBeFalsy();
49
- });
50
- });
51
- it('should error on blur when validate-on-blur is set and invalid value is entered', async () => {
52
- render(templates.validateImmediately, document.body);
53
- const kemetInput = document.querySelector('kemet-input');
54
- await waitFor(async () => {
55
- const input = kemetInput.shadowRoot.querySelector('input');
56
- fireEvent.change(input, 'te$t');
57
- fireEvent.blur(input);
58
- expect(kemetInput.status).toBe('error');
59
- });
60
- });
61
- it('should display a visibility icon and toggle it on a password input', async () => {
62
- render(templates.password, document.body);
63
- const passwordInput = document.querySelector('[type="password"]');
64
- await waitFor(async () => {
65
- const visibilityIcon = passwordInput.shadowRoot.querySelector('kemet-icon');
66
- if (visibilityIcon)
67
- await userEvent.click(visibilityIcon);
68
- expect(visibilityIcon.getAttribute('icon')).toBe('eye');
69
- });
70
- });
71
- it('should clear user text when close button is clicked on search type', async () => {
72
- render(templates.search, document.body);
73
- const kemetInput = document.querySelector('kemet-input');
74
- await waitFor(async () => {
75
- await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');
76
- expect(kemetInput.value).toBe('random text');
77
- const closeIcon = kemetInput.shadowRoot.querySelector('kemet-icon');
78
- await userEvent.click(closeIcon);
79
- expect(kemetInput.value).toBe('');
80
- });
81
- });
82
- });
83
- //# sourceMappingURL=spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../../src/components/kemet-input/spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, render } from 'lit';\nimport { expect } from '@wdio/globals';\nimport userEvent from '@testing-library/user-event';\nimport { fireEvent, waitFor } from '@testing-library/dom';\n\nimport KemetIcon from '../kemet-icon/kemet-icon';\nimport './kemet-input';\n\ndescribe('Input', () => {\n const templates = {\n default: html`<kemet-input></kemet-input>`,\n disabled: html`<kemet-input disabled></kemet-input>`,\n search: html`<kemet-input type=\"search\"></kemet-input>`,\n icons: html`<kemet-input icon-left=\"chevron-left\" icon-right=\"chevron-right\"></kemet-input>`,\n validateImmediately: html`<kemet-input required validate-on-blur pattern=\"^[a-zA-Z0-9]*$\"></kemet-input>`,\n password: html`\n <kemet-field slug=\"field\" label=\"Password\">\n <kemet-input type=\"password\" pattern=\"^[a-zA-Z0-9]*$\" required validate-on-blur placeholder=\"Password\"></kemet-input>\n </kemet-field>\n `,\n };\n\n it('handles changes to the input properly', async () => {\n render(templates.default, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n const input = kemetInput.shadowRoot.querySelector('input');\n // TODO figure out why useEvent is not generating code coverage\n fireEvent.change(input, { target: { value: 'test' } });\n fireEvent.blur(input);\n expect(kemetInput.status).toBe('standard');\n });\n });\n\n it('focuses correctly', async () => {\n render(templates.default, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n kemetInput.focus();\n fireEvent.focus(kemetInput.shadowRoot.querySelector('input'));\n expect(kemetInput.focused).toBe(true);\n });\n });\n\n it('renders a left and right icon', async () => {\n render(templates.icons, document.body);\n });\n\n it('should not set a value when user types into a disabled field', async () => {\n render(templates.disabled, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');\n await userEvent.click(document.body);\n expect(kemetInput.value).toBeFalsy();\n });\n });\n\n it('should error on blur when validate-on-blur is set and invalid value is entered', async () => {\n render(templates.validateImmediately, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n const input = kemetInput.shadowRoot.querySelector('input');\n fireEvent.change(input, 'te$t');\n fireEvent.blur(input);\n expect(kemetInput.status).toBe('error');\n });\n });\n\n it('should display a visibility icon and toggle it on a password input', async () => {\n render(templates.password, document.body);\n const passwordInput = document.querySelector('[type=\"password\"]');\n\n await waitFor(async () => {\n const visibilityIcon = passwordInput.shadowRoot.querySelector('kemet-icon') as KemetIcon;\n if (visibilityIcon) await userEvent.click(visibilityIcon);\n expect(visibilityIcon.getAttribute('icon')).toBe('eye');\n });\n });\n\n it('should clear user text when close button is clicked on search type', async () => {\n render(templates.search, document.body);\n const kemetInput = document.querySelector('kemet-input');\n\n await waitFor(async () => {\n await userEvent.type(kemetInput.shadowRoot.querySelector('input'), 'random text');\n expect(kemetInput.value).toBe('random text');\n const closeIcon = kemetInput.shadowRoot.querySelector('kemet-icon') as KemetIcon;\n await userEvent.click(closeIcon);\n expect(kemetInput.value).toBe('');\n });\n });\n});\n"]}
@@ -1 +0,0 @@
1
- export declare const stylesBase: import("lit").CSSResult;
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-input/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiI5B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n :host {\n --kemet-input-height: 50px;\n --kemet-input-padding: 0.5rem 1rem;\n --kemet-input-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-input-border-color-error: 1px solid rgb(var(--kemet-color-error));\n --kemet-input-border-color-success: 1px solid rgb(var(--kemet-color-success));\n --kemet-input-border-color-warning: 1px solid rgb(var(--kemet-color-warning));\n --kemet-input-icon-left-padding: 3rem;\n --kemet-input-icon-right-padding: 3rem;\n --kemet-input-border-radius-rounded: var(--kemet-border-radius-md);\n --kemet-input-border-filled: none;\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-filled: rgb(var(--kemet-color-primary));\n --kemet-input-color-filled: rgb(var(--kemet-color-white));\n --kemet-input-background-color-error: rgb(var(--kemet-color-error));\n --kemet-input-background-color-success: rgb(var(--kemet-color-success));\n --kemet-input-background-color-warning: rgb(var(--kemet-color-warning));\n\n position: relative;\n display: block;\n }\n\n input {\n color: rgb(var(--kemet-color-text));\n display: block;\n font-size: 1rem;\n width: 100%;\n height: var(--kemet-input-height);\n padding: var(--kemet-input-padding);\n border: var(--kemet-input-border);\n appearance: none;\n box-sizing: border-box;\n background-color: transparent;\n }\n\n input[type='color'] {\n min-width: 10rem;\n }\n\n input[type='search']::-webkit-search-decoration,\n input[type='search']::-webkit-search-cancel-button,\n input[type='search']::-webkit-search-results-button,\n input[type='search']::-webkit-search-results-decoration {\n display: none;\n }\n\n :host([status='error']) input {\n border: var(--kemet-input-border-color-error);\n }\n\n :host([status='success']) input {\n border: var(--kemet-input-border-color-success);\n }\n\n :host([status='warning']) input {\n border: var(--kemet-input-border-color-warning);\n }\n\n :host([disabled]) input {\n opacity: 0.5;\n }\n\n :host([icon-left]) input {\n padding-left: var(--kemet-input-icon-left-padding);\n }\n\n :host([icon-right]) input {\n padding-right: var(--kemet-input-icon-right-padding);\n }\n\n :host([rounded]) input {\n border-radius: var(--kemet-input-border-radius-rounded);\n }\n\n :host([filled]) input {\n border: var(--kemet-input-border-filled);\n color: var(--kemet-input-color-filled);\n background-color: var(--kemet-input-background-color-filled);\n }\n\n :host([filled]) kemet-icon,\n :host([filled]) input::placeholder {\n color: var(--kemet-input-color-filled);\n }\n\n :host([status='error'][filled]) input {\n background-color: var(--kemet-input-background-color-error);\n }\n\n :host([status='success'][filled]) input {\n background-color: var(--kemet-input-background-color-success);\n }\n\n :host([status='warning'][filled]) input {\n background-color: var(--kemet-input-background-color-warning);\n }\n\n kemet-icon {\n color: rgb(var(--kemet-color-text));\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n }\n\n kemet-icon.left {\n left: 1rem;\n }\n\n kemet-icon.right {\n right: 1rem;\n }\n\n kemet-icon.eye,\n kemet-icon.search {\n cursor: pointer;\n }\n\n :host([status='error']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='warning']) kemet-icon {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='success']) kemet-icon {\n color: rgb(var(--kemet-color-success));\n }\n`;\n"]}
@@ -1,35 +0,0 @@
1
- export type TypeStatus = 'standard' | 'error' | 'success' | 'warning';
2
- export type TypeAriaAutoComplete = 'inline' | 'list' | 'both' | 'none';
3
- export type TypeAutoComplete = 'on' | 'off' | 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-year' | 'bday-day' | 'bday-month' | 'billing' | 'cc-additional-name';
4
- export interface KemetInputInterface extends HTMLElement {
5
- slug?: string;
6
- name?: string;
7
- placeholder?: string;
8
- minlength?: string;
9
- maxlength?: string;
10
- min?: string;
11
- max?: string;
12
- step?: string;
13
- autocomplete?: string;
14
- pattern?: string;
15
- inputmode?: string;
16
- disabled?: boolean;
17
- readonly?: boolean;
18
- required?: boolean;
19
- type?: string;
20
- value?: string;
21
- invalid?: boolean;
22
- status?: string;
23
- validateOnBlur?: boolean;
24
- ariaControls?: string;
25
- ariaActiveDescendant?: string;
26
- rounded?: boolean;
27
- filled?: boolean;
28
- iconRight?: string;
29
- iconLeft?: string;
30
- iconSize?: number;
31
- validity?: object;
32
- isPasswordVisible?: boolean;
33
- inputType?: string;
34
- focused?: boolean;
35
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/kemet-input/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TypeStatus = 'standard' | 'error' | 'success' | 'warning';\nexport type TypeAriaAutoComplete = 'inline' | 'list' | 'both' | 'none';\nexport type TypeAutoComplete = 'on' | 'off' | 'additional-name' | 'address-level1' | 'address-level2' | 'address-level3' | 'address-level4' | 'address-line1' | 'address-line2' | 'address-line3' | 'bday' | 'bday-year' | 'bday-day' | 'bday-month' | 'billing' | 'cc-additional-name';\n\nexport interface KemetInputInterface extends HTMLElement {\n slug?: string;\n name?: string;\n placeholder?: string;\n minlength?: string;\n maxlength?: string;\n min?: string;\n max?: string;\n step?: string;\n autocomplete?: string;\n pattern?: string;\n inputmode?: string;\n // autofocus?: boolean;\n disabled?: boolean;\n readonly?: boolean;\n required?: boolean;\n type?: string;\n value?: string;\n invalid?: boolean;\n status?: string;\n validateOnBlur?: boolean;\n // ariaAutoComplete?: string;\n ariaControls?: string;\n ariaActiveDescendant?: string;\n rounded?: boolean;\n filled?: boolean;\n iconRight?: string;\n iconLeft?: string;\n iconSize?: number;\n validity?: object;\n isPasswordVisible?: boolean;\n inputType?: string;\n focused?: boolean;\n}\n\n"]}
@@ -1,12 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components';
2
- import '../kemet-modal';
3
- import '../kemet-modal-close';
4
- import '../../kemet-tabs/kemet-tabs';
5
- import '../../kemet-tabs/kemet-tab';
6
- import '../../kemet-tabs/kemet-tab-panel';
7
- import '../../kemet-button/kemet-button';
8
- declare const meta: Meta;
9
- export default meta;
10
- type Story = StoryObj;
11
- export declare const Standard: Story;
12
- export declare const Rounded: Story;