kemet-ui 3.0.1 → 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 (482) hide show
  1. package/custom-elements.json +2671 -1274
  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/styles/elements/multi-input.ts +125 -0
  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/styles/elements/timer.ts +13 -0
  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 +24 -2
  35. package/dist/styles/kemet.base.css.map +1 -1
  36. package/dist/styles/kemet.core.css +266 -2
  37. package/dist/styles/kemet.core.css.map +1 -1
  38. package/dist/styles/shared/_config.scss +25 -1
  39. package/dist/styles/shared/_helpers.scss +19 -18
  40. package/package.json +76 -80
  41. package/types/global.d.ts +3 -0
  42. package/types/jsx.d.ts +140 -0
  43. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +0 -50
  44. package/dist/components/kemet-accordion/kemet-accordion-panel.js +0 -137
  45. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +0 -1
  46. package/dist/components/kemet-accordion/kemet-accordion.d.ts +0 -38
  47. package/dist/components/kemet-accordion/kemet-accordion.js +0 -138
  48. package/dist/components/kemet-accordion/kemet-accordion.js.map +0 -1
  49. package/dist/components/kemet-accordion/stories.d.ts +0 -12
  50. package/dist/components/kemet-accordion/stories.js +0 -47
  51. package/dist/components/kemet-accordion/stories.js.map +0 -1
  52. package/dist/components/kemet-accordion/styles.d.ts +0 -2
  53. package/dist/components/kemet-accordion/styles.js.map +0 -1
  54. package/dist/components/kemet-alert/docs/stories.d.ts +0 -21
  55. package/dist/components/kemet-alert/docs/stories.js +0 -221
  56. package/dist/components/kemet-alert/docs/stories.js.map +0 -1
  57. package/dist/components/kemet-alert/kemet-alert.d.ts +0 -51
  58. package/dist/components/kemet-alert/kemet-alert.js +0 -111
  59. package/dist/components/kemet-alert/kemet-alert.js.map +0 -1
  60. package/dist/components/kemet-alert/styles.d.ts +0 -1
  61. package/dist/components/kemet-alert/styles.js.map +0 -1
  62. package/dist/components/kemet-alert/types.d.ts +0 -1
  63. package/dist/components/kemet-alert/types.js +0 -2
  64. package/dist/components/kemet-alert/types.js.map +0 -1
  65. package/dist/components/kemet-avatar/docs/stories.d.ts +0 -15
  66. package/dist/components/kemet-avatar/docs/stories.js +0 -108
  67. package/dist/components/kemet-avatar/docs/stories.js.map +0 -1
  68. package/dist/components/kemet-avatar/kemet-avatar.d.ts +0 -43
  69. package/dist/components/kemet-avatar/kemet-avatar.js +0 -78
  70. package/dist/components/kemet-avatar/kemet-avatar.js.map +0 -1
  71. package/dist/components/kemet-avatar/kemet-avatars.d.ts +0 -20
  72. package/dist/components/kemet-avatar/kemet-avatars.js +0 -25
  73. package/dist/components/kemet-avatar/kemet-avatars.js.map +0 -1
  74. package/dist/components/kemet-avatar/styles.d.ts +0 -2
  75. package/dist/components/kemet-avatar/styles.js.map +0 -1
  76. package/dist/components/kemet-badge/docs/stories.d.ts +0 -15
  77. package/dist/components/kemet-badge/docs/stories.js +0 -76
  78. package/dist/components/kemet-badge/docs/stories.js.map +0 -1
  79. package/dist/components/kemet-badge/kemet-badge.d.ts +0 -31
  80. package/dist/components/kemet-badge/kemet-badge.js +0 -55
  81. package/dist/components/kemet-badge/kemet-badge.js.map +0 -1
  82. package/dist/components/kemet-badge/styles.d.ts +0 -1
  83. package/dist/components/kemet-badge/styles.js +0 -42
  84. package/dist/components/kemet-badge/styles.js.map +0 -1
  85. package/dist/components/kemet-badge/types.d.ts +0 -1
  86. package/dist/components/kemet-badge/types.js +0 -2
  87. package/dist/components/kemet-badge/types.js.map +0 -1
  88. package/dist/components/kemet-button/docs/stories.d.ts +0 -21
  89. package/dist/components/kemet-button/docs/stories.js +0 -112
  90. package/dist/components/kemet-button/docs/stories.js.map +0 -1
  91. package/dist/components/kemet-button/kemet-button.d.ts +0 -89
  92. package/dist/components/kemet-button/kemet-button.js +0 -153
  93. package/dist/components/kemet-button/kemet-button.js.map +0 -1
  94. package/dist/components/kemet-button/styles.d.ts +0 -1
  95. package/dist/components/kemet-button/styles.js.map +0 -1
  96. package/dist/components/kemet-button/types.d.ts +0 -1
  97. package/dist/components/kemet-button/types.js +0 -2
  98. package/dist/components/kemet-button/types.js.map +0 -1
  99. package/dist/components/kemet-card/docs/stories.d.ts +0 -19
  100. package/dist/components/kemet-card/docs/stories.js +0 -120
  101. package/dist/components/kemet-card/docs/stories.js.map +0 -1
  102. package/dist/components/kemet-card/kemet-card.d.ts +0 -47
  103. package/dist/components/kemet-card/kemet-card.js +0 -65
  104. package/dist/components/kemet-card/kemet-card.js.map +0 -1
  105. package/dist/components/kemet-card/styles.d.ts +0 -1
  106. package/dist/components/kemet-card/styles.js.map +0 -1
  107. package/dist/components/kemet-carousel/docs/stories.d.ts +0 -23
  108. package/dist/components/kemet-carousel/docs/stories.js +0 -180
  109. package/dist/components/kemet-carousel/docs/stories.js.map +0 -1
  110. package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +0 -26
  111. package/dist/components/kemet-carousel/kemet-carousel-current.js +0 -44
  112. package/dist/components/kemet-carousel/kemet-carousel-current.js.map +0 -1
  113. package/dist/components/kemet-carousel/kemet-carousel-first.d.ts +0 -25
  114. package/dist/components/kemet-carousel/kemet-carousel-first.js +0 -50
  115. package/dist/components/kemet-carousel/kemet-carousel-first.js.map +0 -1
  116. package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +0 -25
  117. package/dist/components/kemet-carousel/kemet-carousel-last.js +0 -50
  118. package/dist/components/kemet-carousel/kemet-carousel-last.js.map +0 -1
  119. package/dist/components/kemet-carousel/kemet-carousel-link.d.ts +0 -31
  120. package/dist/components/kemet-carousel/kemet-carousel-link.js +0 -64
  121. package/dist/components/kemet-carousel/kemet-carousel-link.js.map +0 -1
  122. package/dist/components/kemet-carousel/kemet-carousel-next.d.ts +0 -25
  123. package/dist/components/kemet-carousel/kemet-carousel-next.js +0 -50
  124. package/dist/components/kemet-carousel/kemet-carousel-next.js.map +0 -1
  125. package/dist/components/kemet-carousel/kemet-carousel-prev.d.ts +0 -25
  126. package/dist/components/kemet-carousel/kemet-carousel-prev.js +0 -50
  127. package/dist/components/kemet-carousel/kemet-carousel-prev.js.map +0 -1
  128. package/dist/components/kemet-carousel/kemet-carousel-slide.d.ts +0 -29
  129. package/dist/components/kemet-carousel/kemet-carousel-slide.js +0 -53
  130. package/dist/components/kemet-carousel/kemet-carousel-slide.js.map +0 -1
  131. package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +0 -26
  132. package/dist/components/kemet-carousel/kemet-carousel-total.js +0 -44
  133. package/dist/components/kemet-carousel/kemet-carousel-total.js.map +0 -1
  134. package/dist/components/kemet-carousel/kemet-carousel.d.ts +0 -118
  135. package/dist/components/kemet-carousel/kemet-carousel.js +0 -429
  136. package/dist/components/kemet-carousel/kemet-carousel.js.map +0 -1
  137. package/dist/components/kemet-carousel/styles.d.ts +0 -1
  138. package/dist/components/kemet-carousel/styles.js.map +0 -1
  139. package/dist/components/kemet-checkbox/docs/stories.d.ts +0 -13
  140. package/dist/components/kemet-checkbox/docs/stories.js +0 -45
  141. package/dist/components/kemet-checkbox/docs/stories.js.map +0 -1
  142. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +0 -71
  143. package/dist/components/kemet-checkbox/kemet-checkbox.js +0 -192
  144. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +0 -1
  145. package/dist/components/kemet-checkbox/styles.d.ts +0 -1
  146. package/dist/components/kemet-checkbox/styles.js.map +0 -1
  147. package/dist/components/kemet-checkbox/types.d.ts +0 -15
  148. package/dist/components/kemet-checkbox/types.js +0 -2
  149. package/dist/components/kemet-checkbox/types.js.map +0 -1
  150. package/dist/components/kemet-combo/docs/stories.d.ts +0 -11
  151. package/dist/components/kemet-combo/docs/stories.js +0 -32
  152. package/dist/components/kemet-combo/docs/stories.js.map +0 -1
  153. package/dist/components/kemet-combo/kemet-combo.d.ts +0 -50
  154. package/dist/components/kemet-combo/kemet-combo.js +0 -158
  155. package/dist/components/kemet-combo/kemet-combo.js.map +0 -1
  156. package/dist/components/kemet-combo/styles.d.ts +0 -1
  157. package/dist/components/kemet-combo/styles.js.map +0 -1
  158. package/dist/components/kemet-count/docs/stories.d.ts +0 -11
  159. package/dist/components/kemet-count/docs/stories.js +0 -36
  160. package/dist/components/kemet-count/docs/stories.js.map +0 -1
  161. package/dist/components/kemet-count/kemet-count.d.ts +0 -39
  162. package/dist/components/kemet-count/kemet-count.js +0 -98
  163. package/dist/components/kemet-count/kemet-count.js.map +0 -1
  164. package/dist/components/kemet-draggable/docs/stories.d.ts +0 -10
  165. package/dist/components/kemet-draggable/docs/stories.js +0 -25
  166. package/dist/components/kemet-draggable/docs/stories.js.map +0 -1
  167. package/dist/components/kemet-draggable/kemet-draggable.d.ts +0 -49
  168. package/dist/components/kemet-draggable/kemet-draggable.js +0 -138
  169. package/dist/components/kemet-draggable/kemet-draggable.js.map +0 -1
  170. package/dist/components/kemet-drawer/docs/stories.d.ts +0 -16
  171. package/dist/components/kemet-drawer/docs/stories.js +0 -90
  172. package/dist/components/kemet-drawer/docs/stories.js.map +0 -1
  173. package/dist/components/kemet-drawer/kemet-drawer.d.ts +0 -48
  174. package/dist/components/kemet-drawer/kemet-drawer.js +0 -95
  175. package/dist/components/kemet-drawer/kemet-drawer.js.map +0 -1
  176. package/dist/components/kemet-drawer/styles.d.ts +0 -2
  177. package/dist/components/kemet-drawer/styles.js.map +0 -1
  178. package/dist/components/kemet-drawer/types.d.ts +0 -2
  179. package/dist/components/kemet-drawer/types.js +0 -2
  180. package/dist/components/kemet-drawer/types.js.map +0 -1
  181. package/dist/components/kemet-fab/docs/stories.d.ts +0 -14
  182. package/dist/components/kemet-fab/docs/stories.js +0 -78
  183. package/dist/components/kemet-fab/docs/stories.js.map +0 -1
  184. package/dist/components/kemet-fab/kemet-fab.d.ts +0 -49
  185. package/dist/components/kemet-fab/kemet-fab.js +0 -107
  186. package/dist/components/kemet-fab/kemet-fab.js.map +0 -1
  187. package/dist/components/kemet-fab/styles.d.ts +0 -1
  188. package/dist/components/kemet-fab/styles.js.map +0 -1
  189. package/dist/components/kemet-fab/types.d.ts +0 -8
  190. package/dist/components/kemet-fab/types.js +0 -2
  191. package/dist/components/kemet-fab/types.js.map +0 -1
  192. package/dist/components/kemet-field/docs/stories.d.ts +0 -15
  193. package/dist/components/kemet-field/docs/stories.js +0 -55
  194. package/dist/components/kemet-field/docs/stories.js.map +0 -1
  195. package/dist/components/kemet-field/kemet-field.d.ts +0 -61
  196. package/dist/components/kemet-field/kemet-field.js +0 -139
  197. package/dist/components/kemet-field/kemet-field.js.map +0 -1
  198. package/dist/components/kemet-field/styles.d.ts +0 -1
  199. package/dist/components/kemet-field/styles.js.map +0 -1
  200. package/dist/components/kemet-field/types.d.ts +0 -13
  201. package/dist/components/kemet-field/types.js +0 -2
  202. package/dist/components/kemet-field/types.js.map +0 -1
  203. package/dist/components/kemet-flipcard/docs/stories.d.ts +0 -14
  204. package/dist/components/kemet-flipcard/docs/stories.js +0 -60
  205. package/dist/components/kemet-flipcard/docs/stories.js.map +0 -1
  206. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +0 -21
  207. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +0 -41
  208. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +0 -1
  209. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +0 -52
  210. package/dist/components/kemet-flipcard/kemet-flipcard.js +0 -129
  211. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +0 -1
  212. package/dist/components/kemet-flipcard/styles.d.ts +0 -1
  213. package/dist/components/kemet-flipcard/styles.js.map +0 -1
  214. package/dist/components/kemet-flipcard/types.d.ts +0 -7
  215. package/dist/components/kemet-flipcard/types.js +0 -2
  216. package/dist/components/kemet-flipcard/types.js.map +0 -1
  217. package/dist/components/kemet-icon/docs/stories.d.ts +0 -9
  218. package/dist/components/kemet-icon/docs/stories.js +0 -27
  219. package/dist/components/kemet-icon/docs/stories.js.map +0 -1
  220. package/dist/components/kemet-icon/kemet-icon.d.ts +0 -28
  221. package/dist/components/kemet-icon/kemet-icon.js +0 -114
  222. package/dist/components/kemet-icon/kemet-icon.js.map +0 -1
  223. package/dist/components/kemet-icon/styles.d.ts +0 -1
  224. package/dist/components/kemet-icon/styles.js +0 -9
  225. package/dist/components/kemet-icon/styles.js.map +0 -1
  226. package/dist/components/kemet-icon/types.d.ts +0 -5
  227. package/dist/components/kemet-icon/types.js +0 -2
  228. package/dist/components/kemet-icon/types.js.map +0 -1
  229. package/dist/components/kemet-input/docs/stories.d.ts +0 -13
  230. package/dist/components/kemet-input/docs/stories.js +0 -83
  231. package/dist/components/kemet-input/docs/stories.js.map +0 -1
  232. package/dist/components/kemet-input/kemet-input.d.ts +0 -174
  233. package/dist/components/kemet-input/kemet-input.js +0 -397
  234. package/dist/components/kemet-input/kemet-input.js.map +0 -1
  235. package/dist/components/kemet-input/styles.d.ts +0 -1
  236. package/dist/components/kemet-input/styles.js.map +0 -1
  237. package/dist/components/kemet-input/types.d.ts +0 -35
  238. package/dist/components/kemet-input/types.js +0 -2
  239. package/dist/components/kemet-input/types.js.map +0 -1
  240. package/dist/components/kemet-modal/docs/stories.d.ts +0 -12
  241. package/dist/components/kemet-modal/docs/stories.js +0 -58
  242. package/dist/components/kemet-modal/docs/stories.js.map +0 -1
  243. package/dist/components/kemet-modal/kemet-modal-close.d.ts +0 -21
  244. package/dist/components/kemet-modal/kemet-modal-close.js +0 -40
  245. package/dist/components/kemet-modal/kemet-modal-close.js.map +0 -1
  246. package/dist/components/kemet-modal/kemet-modal.d.ts +0 -59
  247. package/dist/components/kemet-modal/kemet-modal.js +0 -150
  248. package/dist/components/kemet-modal/kemet-modal.js.map +0 -1
  249. package/dist/components/kemet-modal/styles.d.ts +0 -2
  250. package/dist/components/kemet-modal/styles.js.map +0 -1
  251. package/dist/components/kemet-modal/types.d.ts +0 -8
  252. package/dist/components/kemet-modal/types.js +0 -2
  253. package/dist/components/kemet-modal/types.js.map +0 -1
  254. package/dist/components/kemet-password/docs/stories.d.ts +0 -10
  255. package/dist/components/kemet-password/docs/stories.js +0 -29
  256. package/dist/components/kemet-password/docs/stories.js.map +0 -1
  257. package/dist/components/kemet-password/kemet-password.d.ts +0 -83
  258. package/dist/components/kemet-password/kemet-password.js +0 -155
  259. package/dist/components/kemet-password/kemet-password.js.map +0 -1
  260. package/dist/components/kemet-password/styles.d.ts +0 -1
  261. package/dist/components/kemet-password/styles.js.map +0 -1
  262. package/dist/components/kemet-password/types.d.ts +0 -10
  263. package/dist/components/kemet-password/types.js +0 -2
  264. package/dist/components/kemet-password/types.js.map +0 -1
  265. package/dist/components/kemet-popper/docs/stories.d.ts +0 -12
  266. package/dist/components/kemet-popper/docs/stories.js +0 -65
  267. package/dist/components/kemet-popper/docs/stories.js.map +0 -1
  268. package/dist/components/kemet-popper/kemet-popper-close.d.ts +0 -22
  269. package/dist/components/kemet-popper/kemet-popper-close.js +0 -48
  270. package/dist/components/kemet-popper/kemet-popper-close.js.map +0 -1
  271. package/dist/components/kemet-popper/kemet-popper.d.ts +0 -72
  272. package/dist/components/kemet-popper/kemet-popper.js +0 -173
  273. package/dist/components/kemet-popper/kemet-popper.js.map +0 -1
  274. package/dist/components/kemet-popper/styles.d.ts +0 -1
  275. package/dist/components/kemet-popper/styles.effects.d.ts +0 -8
  276. package/dist/components/kemet-popper/styles.effects.js.map +0 -1
  277. package/dist/components/kemet-popper/styles.js +0 -37
  278. package/dist/components/kemet-popper/styles.js.map +0 -1
  279. package/dist/components/kemet-popper/types.d.ts +0 -3
  280. package/dist/components/kemet-popper/types.js +0 -2
  281. package/dist/components/kemet-popper/types.js.map +0 -1
  282. package/dist/components/kemet-radio/docs/stories.d.ts +0 -12
  283. package/dist/components/kemet-radio/docs/stories.js +0 -44
  284. package/dist/components/kemet-radio/docs/stories.js.map +0 -1
  285. package/dist/components/kemet-radio/kemet-radio.d.ts +0 -57
  286. package/dist/components/kemet-radio/kemet-radio.js +0 -130
  287. package/dist/components/kemet-radio/kemet-radio.js.map +0 -1
  288. package/dist/components/kemet-radio/kemet-radios.d.ts +0 -50
  289. package/dist/components/kemet-radio/kemet-radios.js +0 -149
  290. package/dist/components/kemet-radio/kemet-radios.js.map +0 -1
  291. package/dist/components/kemet-radio/styles.d.ts +0 -2
  292. package/dist/components/kemet-radio/styles.js.map +0 -1
  293. package/dist/components/kemet-radio/types.d.ts +0 -20
  294. package/dist/components/kemet-radio/types.js +0 -2
  295. package/dist/components/kemet-radio/types.js.map +0 -1
  296. package/dist/components/kemet-rotator/docs/stories.d.ts +0 -10
  297. package/dist/components/kemet-rotator/docs/stories.js +0 -34
  298. package/dist/components/kemet-rotator/docs/stories.js.map +0 -1
  299. package/dist/components/kemet-rotator/kemet-rotator.d.ts +0 -40
  300. package/dist/components/kemet-rotator/kemet-rotator.js +0 -121
  301. package/dist/components/kemet-rotator/kemet-rotator.js.map +0 -1
  302. package/dist/components/kemet-rotator/styles.d.ts +0 -1
  303. package/dist/components/kemet-rotator/styles.js.map +0 -1
  304. package/dist/components/kemet-rotator/types.d.ts +0 -9
  305. package/dist/components/kemet-rotator/types.js +0 -2
  306. package/dist/components/kemet-rotator/types.js.map +0 -1
  307. package/dist/components/kemet-scroll-link/docs/stories.d.ts +0 -9
  308. package/dist/components/kemet-scroll-link/docs/stories.js +0 -97
  309. package/dist/components/kemet-scroll-link/docs/stories.js.map +0 -1
  310. package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +0 -31
  311. package/dist/components/kemet-scroll-link/kemet-scroll-link.js +0 -83
  312. package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +0 -1
  313. package/dist/components/kemet-scroll-link/types.d.ts +0 -6
  314. package/dist/components/kemet-scroll-link/types.js +0 -2
  315. package/dist/components/kemet-scroll-link/types.js.map +0 -1
  316. package/dist/components/kemet-scroll-nav/docs/stories.d.ts +0 -10
  317. package/dist/components/kemet-scroll-nav/docs/stories.js +0 -162
  318. package/dist/components/kemet-scroll-nav/docs/stories.js.map +0 -1
  319. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +0 -34
  320. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +0 -65
  321. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +0 -1
  322. package/dist/components/kemet-scroll-nav/styles.d.ts +0 -1
  323. package/dist/components/kemet-scroll-nav/styles.js.map +0 -1
  324. package/dist/components/kemet-scroll-nav/types.d.ts +0 -6
  325. package/dist/components/kemet-scroll-nav/types.js +0 -2
  326. package/dist/components/kemet-scroll-nav/types.js.map +0 -1
  327. package/dist/components/kemet-scroll-snap/docs/stories.d.ts +0 -17
  328. package/dist/components/kemet-scroll-snap/docs/stories.js +0 -121
  329. package/dist/components/kemet-scroll-snap/docs/stories.js.map +0 -1
  330. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +0 -45
  331. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +0 -120
  332. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +0 -1
  333. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +0 -30
  334. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +0 -53
  335. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +0 -1
  336. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +0 -47
  337. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +0 -117
  338. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +0 -1
  339. package/dist/components/kemet-scroll-snap/styles.d.ts +0 -2
  340. package/dist/components/kemet-scroll-snap/styles.js.map +0 -1
  341. package/dist/components/kemet-scroll-snap/types.d.ts +0 -20
  342. package/dist/components/kemet-scroll-snap/types.js +0 -2
  343. package/dist/components/kemet-scroll-snap/types.js.map +0 -1
  344. package/dist/components/kemet-select/docs/stories.d.ts +0 -13
  345. package/dist/components/kemet-select/docs/stories.js +0 -49
  346. package/dist/components/kemet-select/docs/stories.js.map +0 -1
  347. package/dist/components/kemet-select/kemet-option.d.ts +0 -29
  348. package/dist/components/kemet-select/kemet-option.js +0 -45
  349. package/dist/components/kemet-select/kemet-option.js.map +0 -1
  350. package/dist/components/kemet-select/kemet-select.d.ts +0 -119
  351. package/dist/components/kemet-select/kemet-select.js +0 -198
  352. package/dist/components/kemet-select/kemet-select.js.map +0 -1
  353. package/dist/components/kemet-select/styles.d.ts +0 -1
  354. package/dist/components/kemet-select/styles.js.map +0 -1
  355. package/dist/components/kemet-select/types.d.ts +0 -20
  356. package/dist/components/kemet-select/types.js +0 -2
  357. package/dist/components/kemet-select/types.js.map +0 -1
  358. package/dist/components/kemet-sortable/docs/stories.d.ts +0 -10
  359. package/dist/components/kemet-sortable/docs/stories.js +0 -29
  360. package/dist/components/kemet-sortable/docs/stories.js.map +0 -1
  361. package/dist/components/kemet-sortable/kemet-sortable-item.d.ts +0 -21
  362. package/dist/components/kemet-sortable/kemet-sortable-item.js +0 -30
  363. package/dist/components/kemet-sortable/kemet-sortable-item.js.map +0 -1
  364. package/dist/components/kemet-sortable/kemet-sortable.d.ts +0 -25
  365. package/dist/components/kemet-sortable/kemet-sortable.js +0 -77
  366. package/dist/components/kemet-sortable/kemet-sortable.js.map +0 -1
  367. package/dist/components/kemet-sortable/styles.d.ts +0 -2
  368. package/dist/components/kemet-sortable/styles.js.map +0 -1
  369. package/dist/components/kemet-sortable/types.d.ts +0 -3
  370. package/dist/components/kemet-sortable/types.js +0 -2
  371. package/dist/components/kemet-sortable/types.js.map +0 -1
  372. package/dist/components/kemet-svgs/docs/stories.d.ts +0 -10
  373. package/dist/components/kemet-svgs/docs/stories.js +0 -67
  374. package/dist/components/kemet-svgs/docs/stories.js.map +0 -1
  375. package/dist/components/kemet-svgs/kemet-svg.d.ts +0 -38
  376. package/dist/components/kemet-svgs/kemet-svg.js +0 -97
  377. package/dist/components/kemet-svgs/kemet-svg.js.map +0 -1
  378. package/dist/components/kemet-svgs/kemet-svgs.d.ts +0 -27
  379. package/dist/components/kemet-svgs/kemet-svgs.js +0 -51
  380. package/dist/components/kemet-svgs/kemet-svgs.js.map +0 -1
  381. package/dist/components/kemet-svgs/types.d.ts +0 -10
  382. package/dist/components/kemet-svgs/types.js +0 -2
  383. package/dist/components/kemet-svgs/types.js.map +0 -1
  384. package/dist/components/kemet-tabs/docs/stories.d.ts +0 -18
  385. package/dist/components/kemet-tabs/docs/stories.js +0 -142
  386. package/dist/components/kemet-tabs/docs/stories.js.map +0 -1
  387. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +0 -28
  388. package/dist/components/kemet-tabs/kemet-tab-panel.js +0 -55
  389. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +0 -1
  390. package/dist/components/kemet-tabs/kemet-tab.d.ts +0 -38
  391. package/dist/components/kemet-tabs/kemet-tab.js +0 -82
  392. package/dist/components/kemet-tabs/kemet-tab.js.map +0 -1
  393. package/dist/components/kemet-tabs/kemet-tabs.d.ts +0 -100
  394. package/dist/components/kemet-tabs/kemet-tabs.js +0 -487
  395. package/dist/components/kemet-tabs/kemet-tabs.js.map +0 -1
  396. package/dist/components/kemet-tabs/styles.d.ts +0 -3
  397. package/dist/components/kemet-tabs/styles.js.map +0 -1
  398. package/dist/components/kemet-tabs/types.d.ts +0 -27
  399. package/dist/components/kemet-tabs/types.js +0 -2
  400. package/dist/components/kemet-tabs/types.js.map +0 -1
  401. package/dist/components/kemet-textarea/docs/stories.d.ts +0 -12
  402. package/dist/components/kemet-textarea/docs/stories.js +0 -58
  403. package/dist/components/kemet-textarea/docs/stories.js.map +0 -1
  404. package/dist/components/kemet-textarea/kemet-textarea.d.ts +0 -123
  405. package/dist/components/kemet-textarea/kemet-textarea.js +0 -293
  406. package/dist/components/kemet-textarea/kemet-textarea.js.map +0 -1
  407. package/dist/components/kemet-textarea/styles.d.ts +0 -1
  408. package/dist/components/kemet-textarea/styles.js.map +0 -1
  409. package/dist/components/kemet-textarea/types.d.ts +0 -20
  410. package/dist/components/kemet-textarea/types.js +0 -2
  411. package/dist/components/kemet-textarea/types.js.map +0 -1
  412. package/dist/components/kemet-toggle/docs/stories.d.ts +0 -11
  413. package/dist/components/kemet-toggle/docs/stories.js +0 -43
  414. package/dist/components/kemet-toggle/docs/stories.js.map +0 -1
  415. package/dist/components/kemet-toggle/kemet-toggle.d.ts +0 -60
  416. package/dist/components/kemet-toggle/kemet-toggle.js +0 -130
  417. package/dist/components/kemet-toggle/kemet-toggle.js.map +0 -1
  418. package/dist/components/kemet-toggle/styles.d.ts +0 -1
  419. package/dist/components/kemet-toggle/styles.js.map +0 -1
  420. package/dist/components/kemet-toggle/types.d.ts +0 -10
  421. package/dist/components/kemet-toggle/types.js +0 -2
  422. package/dist/components/kemet-toggle/types.js.map +0 -1
  423. package/dist/components/kemet-tooltip/docs/stories.d.ts +0 -14
  424. package/dist/components/kemet-tooltip/docs/stories.js +0 -97
  425. package/dist/components/kemet-tooltip/docs/stories.js.map +0 -1
  426. package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +0 -33
  427. package/dist/components/kemet-tooltip/kemet-tooltip.js +0 -69
  428. package/dist/components/kemet-tooltip/kemet-tooltip.js.map +0 -1
  429. package/dist/components/kemet-tooltip/styles.d.ts +0 -1
  430. package/dist/components/kemet-tooltip/styles.js.map +0 -1
  431. package/dist/components/kemet-tooltip/types.d.ts +0 -3
  432. package/dist/components/kemet-tooltip/types.js +0 -2
  433. package/dist/components/kemet-tooltip/types.js.map +0 -1
  434. package/dist/components/kemet-tracker/docs/stories.d.ts +0 -11
  435. package/dist/components/kemet-tracker/docs/stories.js +0 -42
  436. package/dist/components/kemet-tracker/docs/stories.js.map +0 -1
  437. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +0 -63
  438. package/dist/components/kemet-tracker/kemet-tracker-step.js +0 -127
  439. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +0 -1
  440. package/dist/components/kemet-tracker/kemet-tracker.d.ts +0 -27
  441. package/dist/components/kemet-tracker/kemet-tracker.js +0 -70
  442. package/dist/components/kemet-tracker/kemet-tracker.js.map +0 -1
  443. package/dist/components/kemet-tracker/styles.d.ts +0 -1
  444. package/dist/components/kemet-tracker/styles.js.map +0 -1
  445. package/dist/components/kemet-tracker/types.d.ts +0 -13
  446. package/dist/components/kemet-tracker/types.js +0 -2
  447. package/dist/components/kemet-tracker/types.js.map +0 -1
  448. package/dist/components/kemet-upload/docs/stories.d.ts +0 -10
  449. package/dist/components/kemet-upload/docs/stories.js +0 -52
  450. package/dist/components/kemet-upload/docs/stories.js.map +0 -1
  451. package/dist/components/kemet-upload/kemet-upload-file.d.ts +0 -46
  452. package/dist/components/kemet-upload/kemet-upload-file.js +0 -109
  453. package/dist/components/kemet-upload/kemet-upload-file.js.map +0 -1
  454. package/dist/components/kemet-upload/kemet-upload.d.ts +0 -58
  455. package/dist/components/kemet-upload/kemet-upload.js +0 -149
  456. package/dist/components/kemet-upload/kemet-upload.js.map +0 -1
  457. package/dist/components/kemet-upload/styles.d.ts +0 -3
  458. package/dist/components/kemet-upload/styles.js.map +0 -1
  459. package/dist/components/kemet-upload/types.d.ts +0 -21
  460. package/dist/components/kemet-upload/types.js +0 -2
  461. package/dist/components/kemet-upload/types.js.map +0 -1
  462. package/dist/kemet-components.bundle.js +0 -99
  463. package/dist/kemet-components.bundle.js.map +0 -1
  464. package/dist/kemet-components.cjs +0 -11691
  465. package/dist/kemet-components.js +0 -11689
  466. package/dist/styles/components/_config.scss +0 -4
  467. package/dist/styles/components/accordion.scss +0 -9
  468. package/dist/styles/components/scrollsnap.scss +0 -11
  469. package/dist/styles/kemet.components.css +0 -23
  470. package/dist/styles/kemet.components.css.map +0 -1
  471. package/dist/styles/kemet.components.scss +0 -2
  472. package/dist/tsconfig.tsbuildinfo +0 -1
  473. package/dist/utilities/controllers/forms.d.ts +0 -11
  474. package/dist/utilities/controllers/forms.js +0 -102
  475. package/dist/utilities/controllers/forms.js.map +0 -1
  476. package/dist/utilities/misc/constants.d.ts +0 -5
  477. package/dist/utilities/misc/constants.js +0 -6
  478. package/dist/utilities/misc/constants.js.map +0 -1
  479. package/dist/utilities/misc/events.d.ts +0 -1
  480. package/dist/utilities/misc/events.js +0 -4
  481. package/dist/utilities/misc/events.js.map +0 -1
  482. package/index.js +0 -1
@@ -1,192 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, property, query } 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-checkbox
14
- * @summary An enhanced checkbox.
15
- *
16
- * @prop {string} label - Label text for the checkbox
17
- * @prop {boolean} checked - Determines if the checkbox is selected
18
- * @prop {boolean} indeterminate - An indeterminate selection status
19
- * @prop {string} name - Name of the checkbox
20
- * @prop {string} value - Value of the checkbox
21
- * @prop {boolean} disabled - Determines if a checkbox is disabled
22
- * @prop {boolean} required - Determines if a checkbox is required
23
- * @prop {boolean} focused - Is true when the checkbox is focused
24
- * @prop {boolean} rounded - Gives the checkbox rounded edges
25
- * @prop {boolean} filled - Fills the checkbox with color
26
- * @prop {string} status - The status of the checkbox
27
- * @prop {string} message - Message associated with checkbox status
28
- *
29
- * @csspart label - The label element.
30
- * @csspart text - The label's text.
31
- * @csspart mark - The icon of the check mark.
32
- *
33
- * @cssproperty --kemet-checkbox-size - The width and height of the checkbox.
34
- * @cssproperty --kemet-checkbox-color - The color of the checkbox mark.
35
- * @cssproperty --kemet-checkbox-border - The border of the checkbox.
36
- * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox.
37
- * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox mark.
38
- * @cssproperty --kemet-checkbox-filled-background-color - The filled background color.
39
- *
40
- * @event kemet-checkbox-change - Fires when the state of the checkbox changes
41
- * @event kemet-checkbox-focused - Fires when the checkbox loses or receives focus
42
- *
43
- */
44
- let KemetCheckbox = class KemetCheckbox extends LitElement {
45
- constructor() {
46
- super();
47
- this.label = '';
48
- this.name = 'checkbox';
49
- this.disabled = false;
50
- this.required = false;
51
- this.rounded = false;
52
- this.filled = false;
53
- this.status = 'standard';
54
- /** @internal */
55
- this.formSubmitController = new FormSubmitController(this);
56
- }
57
- render() {
58
- return html `
59
- <label part="label">
60
- <input
61
- type="checkbox"
62
- name=${ifDefined(this.name)}
63
- .value=${this.value}
64
- .indeterminate=${live(this.indeterminate)}
65
- .checked=${live(this.checked)}
66
- .disabled=${this.disabled}
67
- .required=${this.required}
68
- aria-checked=${this.checked ? 'true' : 'false'}
69
- @click=${() => this.handleClick()}
70
- @blur=${() => this.handleBlur()}
71
- @focus=${() => this.handleFocus()}
72
- @change=${() => this.handleChange()}
73
- />
74
- <button part="checkbox" aria-label=${this.label}>
75
- ${this.makeCheckMark()}
76
- </button>
77
- <span part="text">${this.label}</span>
78
- </label>
79
- ${this.makeMessage()}
80
- `;
81
- }
82
- click() {
83
- this.input.click();
84
- }
85
- handleClick() {
86
- this.checked = !this.checked;
87
- this.indeterminate = false;
88
- emitEvent(this, 'kemet-checkbox-change', this);
89
- }
90
- handleBlur() {
91
- this.focused = false;
92
- emitEvent(this, 'kemet-checkbox-focused', false);
93
- }
94
- handleFocus() {
95
- this.focused = true;
96
- emitEvent(this, 'kemet-checkbox-focused', true);
97
- }
98
- handleChange() {
99
- this.value = this.checked;
100
- if (this.input.checkValidity()) {
101
- this.status = 'standard';
102
- }
103
- }
104
- makeMessage() {
105
- if (this.status === 'error' || this.status === 'warning') {
106
- return html `<span part="message">${this.message}</span>`;
107
- }
108
- return null;
109
- }
110
- makeCheckMark() {
111
- if (this.checked) {
112
- return html `
113
- <span part="mark">
114
- <svg viewBox="0 0 16 16">
115
- <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
116
- <g stroke="currentColor" stroke-width="2">
117
- <g transform="translate(3.428571, 3.428571)">
118
- <path d="M0,5.71428571 L3.42857143,9.14285714"></path>
119
- <path d="M9.14285714,0 L3.42857143,9.14285714"></path>
120
- </g>
121
- </g>
122
- </g>
123
- </svg>
124
- </span>
125
- `;
126
- }
127
- if (!this.checked && this.indeterminate) {
128
- return html `
129
- <span part="mark">
130
- <svg viewBox="0 0 16 16">
131
- <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
132
- <g stroke="currentColor" stroke-width="2">
133
- <g transform="translate(2.285714, 6.857143)">
134
- <path d="M10.2857143,1.14285714 L1.14285714,1.14285714"></path>
135
- </g>
136
- </g>
137
- </g>
138
- </svg>
139
- </span>
140
- `;
141
- }
142
- return null;
143
- }
144
- checkValidity() {
145
- return this.input.checkValidity();
146
- }
147
- };
148
- KemetCheckbox.styles = [stylesBase];
149
- __decorate([
150
- property({ type: String })
151
- ], KemetCheckbox.prototype, "label", void 0);
152
- __decorate([
153
- property({ type: Boolean, reflect: true })
154
- ], KemetCheckbox.prototype, "checked", void 0);
155
- __decorate([
156
- property({ type: Boolean, reflect: true })
157
- ], KemetCheckbox.prototype, "indeterminate", void 0);
158
- __decorate([
159
- property({ type: String })
160
- ], KemetCheckbox.prototype, "name", void 0);
161
- __decorate([
162
- property({ type: Boolean })
163
- ], KemetCheckbox.prototype, "value", void 0);
164
- __decorate([
165
- property({ type: Boolean, reflect: true })
166
- ], KemetCheckbox.prototype, "disabled", void 0);
167
- __decorate([
168
- property({ type: Boolean, reflect: true })
169
- ], KemetCheckbox.prototype, "required", void 0);
170
- __decorate([
171
- property({ type: Boolean, reflect: true })
172
- ], KemetCheckbox.prototype, "focused", void 0);
173
- __decorate([
174
- property({ type: Boolean, reflect: true })
175
- ], KemetCheckbox.prototype, "rounded", void 0);
176
- __decorate([
177
- property({ type: Boolean, reflect: true })
178
- ], KemetCheckbox.prototype, "filled", void 0);
179
- __decorate([
180
- property({ type: String, reflect: true })
181
- ], KemetCheckbox.prototype, "status", void 0);
182
- __decorate([
183
- property({ type: String })
184
- ], KemetCheckbox.prototype, "message", void 0);
185
- __decorate([
186
- query('input')
187
- ], KemetCheckbox.prototype, "input", void 0);
188
- KemetCheckbox = __decorate([
189
- customElement('kemet-checkbox')
190
- ], KemetCheckbox);
191
- export default KemetCheckbox;
192
- //# sourceMappingURL=kemet-checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-checkbox.js","sourceRoot":"","sources":["../../../src/components/kemet-checkbox/kemet-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, query } 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 { stylesBase } from './styles';\nimport { TypeStatus } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-checkbox\n * @summary An enhanced checkbox.\n *\n * @prop {string} label - Label text for the checkbox\n * @prop {boolean} checked - Determines if the checkbox is selected\n * @prop {boolean} indeterminate - An indeterminate selection status\n * @prop {string} name - Name of the checkbox\n * @prop {string} value - Value of the checkbox\n * @prop {boolean} disabled - Determines if a checkbox is disabled\n * @prop {boolean} required - Determines if a checkbox is required\n * @prop {boolean} focused - Is true when the checkbox is focused\n * @prop {boolean} rounded - Gives the checkbox rounded edges\n * @prop {boolean} filled - Fills the checkbox with color\n * @prop {string} status - The status of the checkbox\n * @prop {string} message - Message associated with checkbox status\n *\n * @csspart label - The label element.\n * @csspart text - The label's text.\n * @csspart mark - The icon of the check mark.\n *\n * @cssproperty --kemet-checkbox-size - The width and height of the checkbox.\n * @cssproperty --kemet-checkbox-color - The color of the checkbox mark.\n * @cssproperty --kemet-checkbox-border - The border of the checkbox.\n * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox.\n * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox mark.\n * @cssproperty --kemet-checkbox-filled-background-color - The filled background color.\n *\n * @event kemet-checkbox-change - Fires when the state of the checkbox changes\n * @event kemet-checkbox-focused - Fires when the checkbox loses or receives focus\n *\n */\n\n@customElement('kemet-checkbox')\nexport default class KemetCheckbox extends LitElement {\n /** @internal */\n formSubmitController: FormSubmitController;\n\n static styles = [stylesBase];\n\n @property({ type: String })\n label: string = '';\n\n @property({ type: Boolean, reflect: true })\n checked: boolean;\n\n @property({ type: Boolean, reflect: true })\n indeterminate: boolean;\n\n @property({ type: String })\n name: string = 'checkbox';\n\n @property({ type: Boolean })\n value: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n required: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n focused: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean = false;\n\n @property({ type: String, reflect: true })\n status: TypeStatus = 'standard';\n\n @property({ type: String })\n message: string;\n\n @query('input')\n input: HTMLInputElement;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n }\n\n render() {\n return html`\n <label part=\"label\">\n <input\n type=\"checkbox\"\n name=${ifDefined(this.name)}\n .value=${this.value}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${() => this.handleClick()}\n @blur=${() => this.handleBlur()}\n @focus=${() => this.handleFocus()}\n @change=${() => this.handleChange()}\n />\n <button part=\"checkbox\" aria-label=${this.label}>\n ${this.makeCheckMark()}\n </button>\n <span part=\"text\">${this.label}</span>\n </label>\n ${this.makeMessage()}\n `;\n }\n\n click() {\n this.input.click();\n }\n\n handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n emitEvent(this, 'kemet-checkbox-change', this);\n }\n\n handleBlur() {\n this.focused = false;\n emitEvent(this, 'kemet-checkbox-focused', false);\n }\n\n handleFocus() {\n this.focused = true;\n emitEvent(this, 'kemet-checkbox-focused', true);\n }\n\n handleChange() {\n this.value = this.checked;\n\n if (this.input.checkValidity()) {\n this.status = 'standard';\n }\n }\n\n makeMessage() {\n if (this.status === 'error' || this.status === 'warning') {\n return html`<span part=\"message\">${this.message}</span>`;\n }\n\n return null;\n }\n\n makeCheckMark() {\n if (this.checked) {\n return html`\n <span part=\"mark\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n `;\n }\n\n if (!this.checked && this.indeterminate) {\n return html`\n <span part=\"mark\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n `;\n }\n\n return null;\n }\n\n checkValidity() {\n return this.input.checkValidity();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-checkbox': KemetCheckbox\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-checkbox/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuF5B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n --kemet-checkbox-size: 18px;\n --kemet-checkbox-color: rgb(var(--kemet-color-foreground));\n --kemet-checkbox-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-checkbox-border-radius: var(--kemet-border-radius-md);\n --kemet-checkbox-filled-background-color: rgb(var(--kemet-color-primary));\n --kemet-checkbox-filled-color: rgb(var(--kemet-color-white));\n\n display: inline-block;\n }\n\n :host([disabled]) {\n opacity: 0.5;\n }\n\n label {\n display: inline-flex;\n gap: 0.5rem;\n align-items: center;\n }\n\n input {\n cursor: pointer;\n margin: 0;\n padding: 0;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n position: absolute;\n opacity: 0;\n }\n\n button {\n margin: 0;\n border: none;\n background: none;\n }\n\n [part='checkbox'] {\n color: var(--kemet-checkbox-color);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--kemet-checkbox-size);\n height: var(--kemet-checkbox-size);\n border: var(--kemet-checkbox-border);\n }\n\n :host([rounded]) [part='checkbox'] {\n border-radius: var(--kemet-checkbox-border-radius);\n }\n\n :host([filled][checked]) [part='checkbox'],\n :host([filled][indeterminate]) [part='checkbox'] {\n border: none;\n background-color: var(--kemet-checkbox-filled-background-color);\n }\n\n [part='mark'] {\n display: flex;\n width: calc(var(--kemet-checkbox-size) - 4px);\n height: calc(var(--kemet-checkbox-size) - 4px);\n }\n\n :host([filled][checked]) [part='mark'],\n :host([filled][indeterminate]) [part='mark'] {\n color: var(--kemet-checkbox-filled-color);\n }\n\n [part='message'] {\n display: block;\n margin-top: 0.5rem;\n }\n\n :host([status='error']) [part='message'] {\n color: rgb(var(--kemet-color-error));\n }\n\n :host([status='warning']) [part='message'] {\n color: rgb(var(--kemet-color-error));\n }\n`;\n"]}
@@ -1,15 +0,0 @@
1
- export declare type TypeStatus = 'standard' | 'error' | 'success' | 'warning';
2
- export interface KemetCheckboxInterface extends HTMLElement {
3
- label?: string;
4
- checked?: boolean;
5
- indeterminate?: boolean;
6
- name?: string;
7
- value?: string;
8
- disabled?: boolean;
9
- required?: boolean;
10
- focused?: boolean;
11
- rounded?: boolean;
12
- filled?: boolean;
13
- status?: string;
14
- message?: string;
15
- }
@@ -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-checkbox/types.ts"],"names":[],"mappings":"","sourcesContent":["export type TypeStatus = 'standard' | 'error' | 'success' | 'warning';\n\nexport interface KemetCheckboxInterface extends HTMLElement {\n label?: string,\n checked?: boolean,\n indeterminate?: boolean,\n name?: string,\n value?: string,\n disabled?: boolean,\n required?: boolean,\n focused?: boolean,\n rounded?: boolean,\n filled?: boolean,\n status?: string,\n message?: string,\n}\n"]}
@@ -1,11 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components';
2
- import '../kemet-combo';
3
- import '../../kemet-field/kemet-field';
4
- import '../../kemet-input/kemet-input';
5
- import '../../kemet-tabs/kemet-tabs';
6
- import '../../kemet-tabs/kemet-tab';
7
- import '../../kemet-tabs/kemet-tab-panel';
8
- declare const meta: Meta;
9
- export default meta;
10
- declare type Story = StoryObj;
11
- export declare const Standard: Story;
@@ -1,32 +0,0 @@
1
- import { html } from 'lit';
2
- import '../kemet-combo';
3
- import '../../kemet-field/kemet-field';
4
- import '../../kemet-input/kemet-input';
5
- import '../../kemet-tabs/kemet-tabs';
6
- import '../../kemet-tabs/kemet-tab';
7
- import '../../kemet-tabs/kemet-tab-panel';
8
- const meta = {
9
- title: 'Components / Combo',
10
- component: 'kemet-combo',
11
- args: {
12
- options: [
13
- 'How do use Kemet UI?',
14
- 'What is a Blueprint System?',
15
- 'Are there going to be more components?',
16
- 'Is it good to use attribute for styles?',
17
- 'Does Kemet UI work with React?',
18
- 'Does Kemet UI work with Angular?',
19
- ]
20
- }
21
- };
22
- export default meta;
23
- const Template = (args) => html `
24
- <kemet-field slug="unique-identifier" label="Frequently asked questions." kemet-margin="xs">
25
- <kemet-input slot="input" name="input" placeholder="Start typing to see the FAQs"></kemet-input>
26
- <kemet-combo slot="component" .options=${args.options}></kemet-combo>
27
- </kemet-field>
28
- `;
29
- export const Standard = {
30
- render: (args) => Template(args),
31
- };
32
- //# sourceMappingURL=stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-combo/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,gBAAgB,CAAC;AAExB,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,sBAAsB;YACtB,6BAA6B;YAC7B,wCAAwC;YACxC,yCAAyC;YACzC,gCAAgC;YAChC,kCAAkC;SACnC;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;;6CAGc,IAAI,CAAC,OAAO;;CAExD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CACjC,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-combo';\n\nimport '../../kemet-field/kemet-field';\nimport '../../kemet-input/kemet-input';\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Combo',\n component: 'kemet-combo',\n args: {\n options: [\n 'How do use Kemet UI?',\n 'What is a Blueprint System?',\n 'Are there going to be more components?',\n 'Is it good to use attribute for styles?',\n 'Does Kemet UI work with React?',\n 'Does Kemet UI work with Angular?',\n ]\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-field slug=\"unique-identifier\" label=\"Frequently asked questions.\" kemet-margin=\"xs\">\n <kemet-input slot=\"input\" name=\"input\" placeholder=\"Start typing to see the FAQs\"></kemet-input>\n <kemet-combo slot=\"component\" .options=${args.options}></kemet-combo>\n </kemet-field>\n`;\n\nexport const Standard: Story = {\n render: (args) => Template(args),\n};\n"]}
@@ -1,50 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import type KemetField from '../kemet-field/kemet-field';
3
- /**
4
- * @since 1.0.0
5
- * @status stable
6
- *
7
- * @tagname kemet-combo
8
- * @summary Allows the user to select a choice filtered through an Input. May only be used as a component of Field.
9
- *
10
- * @prop {string} slug - Uniquely identifies the component. Should match the slug used in a control.
11
- * @prop {array} options - An array of items listed for the combo box
12
- * @prop {boolean} show - Controls the display of the combo box
13
- *
14
- * @csspart combobox - The combo's container element.
15
- * @csspart listbox - The list element in the combo.
16
- *
17
- * @cssproperty --kemet-combo-width - The width of the combo box.
18
- * @cssproperty --kemet-combo-margin - The margins on the combo box.
19
- * @cssproperty --kemet-combo-max-height - The max height of the combo box.
20
- * @cssproperty --kemet-combo-border - The border of the combo box.
21
- * @cssproperty --kemet-combo-border-radius - The border radius of the combo box.
22
- * @cssproperty --kemet-combo-background-color - The background color of the combo box.
23
- * @cssproperty --kemet-combo-shadow - The shadow of the combo box.
24
- * @cssproperty --kemet-combo-hover-color - The hover item's text color.
25
- * @cssproperty --kemet-combo-hover-background-color - The hover item's background color.
26
- *
27
- * @event kemet-combo-selection - Fires when a selection has been made
28
- *
29
- */
30
- export default class KemetCombo extends LitElement {
31
- static styles: import("lit").CSSResult[];
32
- slug: string;
33
- options: string[];
34
- show: boolean;
35
- filteredOptions: string[];
36
- field: KemetField;
37
- input: HTMLInputElement;
38
- firstUpdated(): void;
39
- render(): import("lit-html").TemplateResult<1>;
40
- makeOptions(): import("lit-html").TemplateResult<1>[];
41
- handleInput(event: CustomEvent): void;
42
- handleSelection(event: KeyboardEvent): void;
43
- handleOptionKeyDown(event: KeyboardEvent): void;
44
- handleInputKeyDown(event: KeyboardEvent): void;
45
- }
46
- declare global {
47
- interface HTMLElementTagNameMap {
48
- 'kemet-combo': KemetCombo;
49
- }
50
- }
@@ -1,158 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import { emitEvent } from '../../utilities/misc/events';
5
- import { stylesBase } from './styles';
6
- /**
7
- * @since 1.0.0
8
- * @status stable
9
- *
10
- * @tagname kemet-combo
11
- * @summary Allows the user to select a choice filtered through an Input. May only be used as a component of Field.
12
- *
13
- * @prop {string} slug - Uniquely identifies the component. Should match the slug used in a control.
14
- * @prop {array} options - An array of items listed for the combo box
15
- * @prop {boolean} show - Controls the display of the combo box
16
- *
17
- * @csspart combobox - The combo's container element.
18
- * @csspart listbox - The list element in the combo.
19
- *
20
- * @cssproperty --kemet-combo-width - The width of the combo box.
21
- * @cssproperty --kemet-combo-margin - The margins on the combo box.
22
- * @cssproperty --kemet-combo-max-height - The max height of the combo box.
23
- * @cssproperty --kemet-combo-border - The border of the combo box.
24
- * @cssproperty --kemet-combo-border-radius - The border radius of the combo box.
25
- * @cssproperty --kemet-combo-background-color - The background color of the combo box.
26
- * @cssproperty --kemet-combo-shadow - The shadow of the combo box.
27
- * @cssproperty --kemet-combo-hover-color - The hover item's text color.
28
- * @cssproperty --kemet-combo-hover-background-color - The hover item's background color.
29
- *
30
- * @event kemet-combo-selection - Fires when a selection has been made
31
- *
32
- */
33
- let KemetCombo = class KemetCombo extends LitElement {
34
- constructor() {
35
- super(...arguments);
36
- this.options = [];
37
- }
38
- firstUpdated() {
39
- // standard properties
40
- this.field = this.closest('kemet-field');
41
- this.input = this.field.querySelector('[slot="input"]');
42
- // managed properties
43
- this.slug = this.field.slug || 'slug';
44
- // events listeners
45
- this.input.addEventListener('kemet-input-input', this.handleInput.bind(this));
46
- this.input.addEventListener('keydown', event => this.handleInputKeyDown(event));
47
- }
48
- render() {
49
- var _a;
50
- return html `
51
- <div
52
- role="combobox"
53
- part="combobox"
54
- aria-expanded=${this.show}
55
- aria-controls="${this.slug}-listbox"
56
- aria-haspopup="listbox"
57
- id="${this.slug}-combobox"
58
- aria-label="${(_a = this.field) === null || _a === void 0 ? void 0 : _a.label}"
59
- >
60
- <ul role="listbox" aria-labelledby="${this.slug}-label" id="${this.slug}-listbox" part="listbox">
61
- ${this.makeOptions()}
62
- </ul>
63
- </div>
64
- `;
65
- }
66
- makeOptions() {
67
- if (this.input) {
68
- this.filteredOptions = this.options.filter(option => { var _a; return option.toLowerCase().indexOf((_a = this.input.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== -1; });
69
- return this.filteredOptions.map((option, index) => html `<li
70
- id="${this.slug}-option-${index}"
71
- role="option"
72
- tabindex="0"
73
- aria-selected="false"
74
- @click=${(event) => this.handleSelection(event)}
75
- @keydown=${(event) => this.handleOptionKeyDown(event)}
76
- >
77
- ${option}
78
- </li>`);
79
- }
80
- return null;
81
- }
82
- handleInput(event) {
83
- this.makeOptions();
84
- this.show = event.detail.length > 0;
85
- }
86
- handleSelection(event) {
87
- const target = event.target;
88
- this.input.value = target.innerText;
89
- this.show = false;
90
- emitEvent(this, 'kemet-combo-selection', {
91
- element: target,
92
- text: target.innerText,
93
- id: target.getAttribute('id'),
94
- });
95
- }
96
- handleOptionKeyDown(event) {
97
- event.preventDefault();
98
- const target = event.target;
99
- if (event.code === 'ArrowDown') {
100
- const next = target.nextElementSibling;
101
- if (next) {
102
- next.focus();
103
- }
104
- else {
105
- this.shadowRoot.querySelector('li').focus();
106
- }
107
- }
108
- if (event.code === 'ArrowUp') {
109
- const previous = target.previousElementSibling;
110
- const lastChild = this.shadowRoot.querySelector('li:last-child');
111
- if (previous) {
112
- previous.focus();
113
- }
114
- else {
115
- lastChild.focus();
116
- }
117
- }
118
- if (event.code === 'Escape' || event.code === 'Tab') {
119
- this.show = false;
120
- this.input.focus();
121
- }
122
- if (event.code === 'Enter' || event.code === 'Space') {
123
- this.handleSelection(event);
124
- }
125
- }
126
- handleInputKeyDown(event) {
127
- if (event.code === 'ArrowDown') {
128
- this.shadowRoot.querySelector('li').focus();
129
- }
130
- if (event.code === 'Escape') {
131
- this.show = false;
132
- }
133
- }
134
- };
135
- KemetCombo.styles = [stylesBase];
136
- __decorate([
137
- property({ type: String })
138
- ], KemetCombo.prototype, "slug", void 0);
139
- __decorate([
140
- property({ type: Array })
141
- ], KemetCombo.prototype, "options", void 0);
142
- __decorate([
143
- property({ type: Boolean, reflect: true })
144
- ], KemetCombo.prototype, "show", void 0);
145
- __decorate([
146
- state()
147
- ], KemetCombo.prototype, "filteredOptions", void 0);
148
- __decorate([
149
- state()
150
- ], KemetCombo.prototype, "field", void 0);
151
- __decorate([
152
- state()
153
- ], KemetCombo.prototype, "input", void 0);
154
- KemetCombo = __decorate([
155
- customElement('kemet-combo')
156
- ], KemetCombo);
157
- export default KemetCombo;
158
- //# sourceMappingURL=kemet-combo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-combo.js","sourceRoot":"","sources":["../../../src/components/kemet-combo/kemet-combo.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,IAAqB,UAAU,GAA/B,MAAqB,UAAW,SAAQ,UAAU;IAAlD;;QAOE,YAAO,GAAa,EAAE,CAAC;IAiIzB,CAAC;IAnHC,YAAY;QACV,sBAAsB;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAExD,qBAAqB;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC;QAEtC,mBAAmB;QACnB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,MAAM;;QACJ,OAAO,IAAI,CAAA;;;;wBAIS,IAAI,CAAC,IAAI;yBACR,IAAI,CAAC,IAAI;;cAEpB,IAAI,CAAC,IAAI;sBACD,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK;;8CAEO,IAAI,CAAC,IAAI,eAAe,IAAI,CAAC,IAAI;YACnE,IAAI,CAAC,WAAW,EAAE;;;KAGzB,CAAC;IACJ,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CACxC,MAAM,CAAC,EAAE,WAAC,OAAA,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA,EAAA,CAC/E,CAAC;YAEF,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAC7B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAA;kBACb,IAAI,CAAC,IAAI,WAAW,KAAK;;;;qBAItB,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;uBACnD,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;;cAElE,MAAM;gBACJ,CACT,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,KAAkB;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,KAAoB;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,SAAS,CAAC,IAAI,EAAE,uBAAuB,EAAE;YACvC,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,MAAM,CAAC,SAAS;YACtB,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,KAAoB;QACtC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAqB,CAAC;QAE3C,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YAC9B,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAiC,CAAC;YAEtD,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;aAC7C;SACF;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAqC,CAAC;YAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;YAEhF,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,KAAK,EAAE,CAAC;aAClB;iBAAM;gBACL,SAAS,CAAC,KAAK,EAAE,CAAC;aACnB;SACF;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACpB;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YACpD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,kBAAkB,CAAC,KAAoB;QACrC,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;YAC9B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;SAC7C;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB;IACH,CAAC;CACF,CAAA;AAvIQ,iBAAM,GAAG,CAAC,UAAU,CAAC,CAAC;AAG7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wCACd;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;2CACH;AAGvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wCAC7B;AAGd;IADC,KAAK,EAAE;mDACkB;AAG1B;IADC,KAAK,EAAE;yCACU;AAGlB;IADC,KAAK,EAAE;yCACgB;AAnBL,UAAU;IAD9B,aAAa,CAAC,aAAa,CAAC;GACR,UAAU,CAwI9B;eAxIoB,UAAU","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesBase } from './styles';\nimport type KemetField from '../kemet-field/kemet-field';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-combo\n * @summary Allows the user to select a choice filtered through an Input. May only be used as a component of Field.\n *\n * @prop {string} slug - Uniquely identifies the component. Should match the slug used in a control.\n * @prop {array} options - An array of items listed for the combo box\n * @prop {boolean} show - Controls the display of the combo box\n *\n * @csspart combobox - The combo's container element.\n * @csspart listbox - The list element in the combo.\n *\n * @cssproperty --kemet-combo-width - The width of the combo box.\n * @cssproperty --kemet-combo-margin - The margins on the combo box.\n * @cssproperty --kemet-combo-max-height - The max height of the combo box.\n * @cssproperty --kemet-combo-border - The border of the combo box.\n * @cssproperty --kemet-combo-border-radius - The border radius of the combo box.\n * @cssproperty --kemet-combo-background-color - The background color of the combo box.\n * @cssproperty --kemet-combo-shadow - The shadow of the combo box.\n * @cssproperty --kemet-combo-hover-color - The hover item's text color.\n * @cssproperty --kemet-combo-hover-background-color - The hover item's background color.\n *\n * @event kemet-combo-selection - Fires when a selection has been made\n *\n */\n\n@customElement('kemet-combo')\nexport default class KemetCombo extends LitElement {\n static styles = [stylesBase];\n\n @property({ type: String })\n slug: string;\n\n @property({ type: Array })\n options: string[] = [];\n\n @property({ type: Boolean, reflect: true })\n show: boolean;\n\n @state()\n filteredOptions: string[];\n\n @state()\n field: KemetField;\n\n @state()\n input: HTMLInputElement;\n\n firstUpdated() {\n // standard properties\n this.field = this.closest('kemet-field');\n this.input = this.field.querySelector('[slot=\"input\"]');\n\n // managed properties\n this.slug = this.field.slug || 'slug';\n\n // events listeners\n this.input.addEventListener('kemet-input-input', this.handleInput.bind(this));\n this.input.addEventListener('keydown', event => this.handleInputKeyDown(event));\n }\n\n render() {\n return html`\n <div\n role=\"combobox\"\n part=\"combobox\"\n aria-expanded=${this.show}\n aria-controls=\"${this.slug}-listbox\"\n aria-haspopup=\"listbox\"\n id=\"${this.slug}-combobox\"\n aria-label=\"${this.field?.label}\"\n >\n <ul role=\"listbox\" aria-labelledby=\"${this.slug}-label\" id=\"${this.slug}-listbox\" part=\"listbox\">\n ${this.makeOptions()}\n </ul>\n </div>\n `;\n }\n\n makeOptions() {\n if (this.input) {\n this.filteredOptions = this.options.filter(\n option => option.toLowerCase().indexOf(this.input.value?.toLowerCase()) !== -1,\n );\n\n return this.filteredOptions.map(\n (option, index) => html`<li\n id=\"${this.slug}-option-${index}\"\n role=\"option\"\n tabindex=\"0\"\n aria-selected=\"false\"\n @click=${(event: KeyboardEvent) => this.handleSelection(event)}\n @keydown=${(event: KeyboardEvent) => this.handleOptionKeyDown(event)}\n >\n ${option}\n </li>`,\n );\n }\n\n return null;\n }\n\n handleInput(event: CustomEvent) {\n this.makeOptions();\n this.show = event.detail.length > 0;\n }\n\n handleSelection(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n this.input.value = target.innerText;\n this.show = false;\n\n emitEvent(this, 'kemet-combo-selection', {\n element: target,\n text: target.innerText,\n id: target.getAttribute('id'),\n });\n }\n\n handleOptionKeyDown(event: KeyboardEvent) {\n event.preventDefault();\n const target = event.target as HTMLElement;\n\n if (event.code === 'ArrowDown') {\n const next = target.nextElementSibling as HTMLElement;\n\n if (next) {\n next.focus();\n } else {\n this.shadowRoot.querySelector('li').focus();\n }\n }\n\n if (event.code === 'ArrowUp') {\n const previous = target.previousElementSibling as HTMLElement;\n const lastChild = this.shadowRoot.querySelector('li:last-child') as HTMLElement;\n\n if (previous) {\n previous.focus();\n } else {\n lastChild.focus();\n }\n }\n\n if (event.code === 'Escape' || event.code === 'Tab') {\n this.show = false;\n this.input.focus();\n }\n\n if (event.code === 'Enter' || event.code === 'Space') {\n this.handleSelection(event);\n }\n }\n\n handleInputKeyDown(event: KeyboardEvent) {\n if (event.code === 'ArrowDown') {\n this.shadowRoot.querySelector('li').focus();\n }\n\n if (event.code === 'Escape') {\n this.show = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-combo': KemetCombo\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-combo/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqD5B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n :host {\n --kemet-combo-width: calc(100% - 2px);\n --kemet-combo-margin: 1rem auto;\n --kemet-combo-max-height: calc(5 * 3rem);\n --kemet-combo-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-combo-border-radius: var(--kemet-border-radius-md);\n --kemet-combo-background-color: rgb(var(--kemet-color-white-to-black));\n --kemet-combo-shadow: var(--kemet-elevation-layer-5);\n --kemet-combo-hover-color: rgb(var(--kemet-color-white));\n --kemet-combo-hover-background-color: rgb(var(--kemet-color-primary));\n\n opacity: 0;\n width: var(--kemet-combo-width);\n margin: var(--kemet-combo-margin);\n pointer-events: none;\n display: block;\n position: relative;\n transition: opacity 0.3s ease-in-out;\n }\n\n :host([show]) {\n opacity: 1;\n pointer-events: auto;\n }\n\n ul {\n width: 100%;\n max-height: var(--kemet-combo-max-height);\n position: absolute;\n z-index: 1;\n list-style: none;\n margin: 0;\n padding: 0;\n overflow-y: scroll;\n border: var(--kemet-combo-border);\n border-radius: var(--kemet-combo-border-radius);\n background-color: var(--kemet-combo-background-color);\n box-shadow: var(--kemet-combo-shadow);\n }\n\n li {\n line-height: 3rem;\n padding: 0 1.5rem;\n cursor: pointer;\n }\n\n li:hover,\n li:focus {\n color: var(--kemet-combo-hover-color);\n outline: none;\n background-color: var(--kemet-combo-hover-background-color);\n }\n`;\n"]}
@@ -1,11 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components';
2
- import '../kemet-count';
3
- import '../../kemet-input/kemet-input';
4
- import '../../kemet-field/kemet-field';
5
- import '../../kemet-tabs/kemet-tabs';
6
- import '../../kemet-tabs/kemet-tab';
7
- import '../../kemet-tabs/kemet-tab-panel';
8
- declare const meta: Meta;
9
- export default meta;
10
- declare type Story = StoryObj;
11
- export declare const Standard: Story;
@@ -1,36 +0,0 @@
1
- import { html } from 'lit';
2
- import '../kemet-count';
3
- import '../../kemet-input/kemet-input';
4
- import '../../kemet-field/kemet-field';
5
- import '../../kemet-tabs/kemet-tabs';
6
- import '../../kemet-tabs/kemet-tab';
7
- import '../../kemet-tabs/kemet-tab-panel';
8
- const meta = {
9
- title: 'Components / Count',
10
- component: 'kemet-count',
11
- args: {
12
- label: 'Label',
13
- message: 'Too many characters!',
14
- status: 'standard',
15
- remaining: 'characters remaining.',
16
- validateImmediately: true,
17
- limit: 8,
18
- },
19
- argTypes: {
20
- status: {
21
- control: { type: 'radio' },
22
- options: ['standard', 'error', 'warning'],
23
- },
24
- }
25
- };
26
- export default meta;
27
- const Template = (args) => html `
28
- <kemet-field slug="unique-identifier" label="${args.label}" message="${args.message}" status="${args.status}">
29
- <kemet-input slot="input" name="input-field" status="${args.status}" validate-on-blur></kemet-input>
30
- <kemet-count slot="component" message="${args.remaining}" limit="${args.limit}" ?validate-immediately=${args.validateImmediately}></kemet-count>
31
- </kemet-field>
32
- `;
33
- export const Standard = {
34
- render: args => Template(args),
35
- };
36
- //# sourceMappingURL=stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-count/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,gBAAgB,CAAC;AAExB,OAAO,+BAA+B,CAAC;AACvC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,sBAAsB;QAC/B,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,uBAAuB;QAClC,mBAAmB,EAAE,IAAI;QACzB,KAAK,EAAE,CAAC;KACT;IACD,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;SAC1C;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;iDACkB,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,OAAO,aAAa,IAAI,CAAC,MAAM;2DAClD,IAAI,CAAC,MAAM;6CACzB,IAAI,CAAC,SAAS,YAAY,IAAI,CAAC,KAAK,2BAA2B,IAAI,CAAC,mBAAmB;;CAEnI,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-count';\n\nimport '../../kemet-input/kemet-input';\nimport '../../kemet-field/kemet-field';\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Count',\n component: 'kemet-count',\n args: {\n label: 'Label',\n message: 'Too many characters!',\n status: 'standard',\n remaining: 'characters remaining.',\n validateImmediately: true,\n limit: 8,\n },\n argTypes: {\n status: {\n control: { type: 'radio' },\n options: ['standard', 'error', 'warning'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-field slug=\"unique-identifier\" label=\"${args.label}\" message=\"${args.message}\" status=\"${args.status}\">\n <kemet-input slot=\"input\" name=\"input-field\" status=\"${args.status}\" validate-on-blur></kemet-input>\n <kemet-count slot=\"component\" message=\"${args.remaining}\" limit=\"${args.limit}\" ?validate-immediately=${args.validateImmediately}></kemet-count>\n </kemet-field>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n"]}
@@ -1,39 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import { KemetFieldInterface } from '../kemet-field/types';
3
- import { KemetInputInterface } from '../kemet-input/types';
4
- import { KemetTextareaInterface } from '../kemet-textarea/types';
5
- /**
6
- * @since 1.0.0
7
- * @status stable
8
- *
9
- * @tagname kemet-count
10
- * @summary Maintains a character count for an input field. Is to be used only in the component slot of a Field component.
11
- *
12
- * @prop {string} message - The text label shown to users
13
- * @prop {number} remaining - The number of characters remaining
14
- * @prop {number} limit - The maximum number of characters allowed
15
- * @prop {boolean} validateImmediately - Set to true if the field should validate as soon as the character limit is reached
16
- *
17
- * @cssproperty --kemet-count-font-size - The font size. Default: 90%.
18
- *
19
- * @event kemet-count-status - Fires when there's a change in status.
20
- *
21
- */
22
- export default class KemetCount extends LitElement {
23
- static styles: import("lit").CSSResult[];
24
- message: string;
25
- remaining: number;
26
- limit: number;
27
- validateImmediately: boolean;
28
- field: KemetFieldInterface;
29
- inputSlot: KemetInputInterface | KemetTextareaInterface;
30
- input: HTMLInputElement;
31
- textarea: HTMLTextAreaElement;
32
- firstUpdated(): void;
33
- render(): import("lit-html").TemplateResult<1>;
34
- }
35
- declare global {
36
- interface HTMLElementTagNameMap {
37
- 'kemet-count': KemetCount;
38
- }
39
- }