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,119 +0,0 @@
1
- import { LitElement, TemplateResult } from 'lit';
2
- import { FormSubmitController } from '../../utilities/controllers/forms';
3
- import { KemetFieldInterface } from '../kemet-field/types';
4
- import type KemetOption from './kemet-option';
5
- /**
6
- * @since 1.0.0
7
- * @status stable
8
- *
9
- * @tagname kemet-select
10
- * @summary An enhanced select element.
11
- *
12
- * @prop {string} slug - A string the uniquely identifies the select
13
- * @prop {string} name - The name of the select
14
- * @prop {string} value - The value of the select
15
- * @prop {array} options - The options the select contains
16
- * @prop {string} status - The status of the select
17
- * @prop {boolean} required - Determines whether the field is required
18
- * @prop {boolean} disabled - Determines whether the field is disabled
19
- * @prop {boolean} multiple - Support of multiple choice selections
20
- * @prop {string} icon - The dropdown icon
21
- * @prop {number} iconSize - The dropdown icon size
22
- * @prop {boolean} filled - Displays a filled select
23
- * @prop {boolean} rounded - Displays rounded corners
24
- *
25
- * @csspart select
26
- *
27
- * @cssproperty --kemet-select-padding - The padding on the textarea.
28
- * @cssproperty --kemet-select-border - The border of the textarea.
29
- * @cssproperty --kemet-select-border-color-error - The border of the error state.
30
- * @cssproperty --kemet-select-border-color-success - The border of the success state.
31
- * @cssproperty --kemet-select-border-color-warning - The border of the warning state.
32
- * @cssproperty --kemet-select-border-radius-rounded - The border radius on rounded.
33
- * @cssproperty --kemet-select-border-filled - The border on filled.
34
- * @cssproperty --kemet-select-color-filled - The color on filled.
35
- * @cssproperty --kemet-select-background-color-filled - The background-color on filled.
36
- * @cssproperty --kemet-select-background-color-error - The error state background color.
37
- * @cssproperty --kemet-select-background-color-success - The success state background color.
38
- * @cssproperty --kemet-select-background-color-warning - The warning state background color.
39
- * @cssproperty --kemet-select-icon-right - The space on the right of the icon.
40
- *
41
- * @event kemet-input-focused - Fires when the input receives and loses focus
42
- * @event kemet-input-status - Fires when there's a change in status
43
- * @event kemet-input-change - Fires when the select input changes
44
- *
45
- */
46
- interface IOptions {
47
- label: string;
48
- value: string;
49
- disabled: boolean;
50
- selected: boolean;
51
- }
52
- export default class KemetSelect extends LitElement {
53
- formSubmitController: FormSubmitController;
54
- static styles: import("lit").CSSResult[];
55
- slug: string;
56
- name: string;
57
- value: string;
58
- options: IOptions[];
59
- status: string;
60
- required: boolean;
61
- disabled: boolean;
62
- multiple: boolean;
63
- icon: string;
64
- iconSize: number;
65
- filled: boolean;
66
- rounded: boolean;
67
- invalid: boolean;
68
- control: KemetFieldInterface;
69
- select: HTMLSelectElement;
70
- selectedOption: HTMLOptionElement;
71
- optionElements: NodeListOf<KemetOption>;
72
- hasFocus: boolean;
73
- constructor();
74
- firstUpdated(): void;
75
- render(): TemplateResult<1>;
76
- /**
77
- * Generates the option elements
78
- * @private
79
- * @returns {TemplateResult} An option element
80
- */
81
- makeOptions(): TemplateResult<1>[];
82
- /**
83
- * Generates a dropdown icon
84
- * @private
85
- */
86
- makeIcon(): TemplateResult<1>;
87
- /**
88
- * Handles when the input receives focus
89
- * @private
90
- */
91
- handleFocus(): void;
92
- /**
93
- * Handles when the input loses focus
94
- * @private
95
- */
96
- handleBlur(): void;
97
- /**
98
- * Handles when the input changes value
99
- * @private
100
- */
101
- handleChange(): void;
102
- /**
103
- * Handles when the input has an error
104
- * @private
105
- */
106
- handleInvalid(): void;
107
- /**
108
- * Checks the validity of the standard select
109
- * @public
110
- * @returns {boolean}
111
- */
112
- checkValidity(): boolean;
113
- }
114
- declare global {
115
- interface HTMLElementTagNameMap {
116
- 'kemet-select': KemetSelect;
117
- }
118
- }
119
- export {};
@@ -1,198 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
4
- import { FormSubmitController } from '../../utilities/controllers/forms';
5
- import { emitEvent } from '../../utilities/misc/events';
6
- import { stylesSelect } from './styles';
7
- let KemetSelect = class KemetSelect extends LitElement {
8
- constructor() {
9
- super();
10
- this.name = 'select';
11
- this.icon = 'chevron-down';
12
- this.iconSize = 16;
13
- /** @internal */
14
- this.formSubmitController = new FormSubmitController(this);
15
- /** @internal */
16
- this.control = this.closest('kemet-field');
17
- }
18
- firstUpdated() {
19
- this.select = this.shadowRoot.querySelector('select');
20
- this.selectedOption = this.querySelector('[selected]');
21
- this.value = this.selectedOption ? this.selectedOption.value : '';
22
- }
23
- render() {
24
- return html `
25
- <select
26
- part="select"
27
- id=${this.slug}
28
- name=${this.name}
29
- ?required=${this.required}
30
- ?disabled=${this.disabled}
31
- ?multiple=${this.multiple}
32
- @change=${this.handleChange}
33
- @focus=${this.handleFocus}
34
- @blur=${this.handleBlur}
35
- @invalid=${this.handleInvalid}
36
- >
37
- ${this.makeOptions()}
38
- </select>
39
- ${this.makeIcon()}
40
- <slot @slotchange=${() => this.makeOptions()}></slot>
41
- `;
42
- }
43
- /**
44
- * Generates the option elements
45
- * @private
46
- * @returns {TemplateResult} An option element
47
- */
48
- makeOptions() {
49
- this.options = [];
50
- this.optionElements = this.querySelectorAll('kemet-option');
51
- this.optionElements.forEach((option) => {
52
- this.options = this.options.concat({
53
- label: option.label,
54
- value: option.value,
55
- disabled: option.disabled,
56
- selected: option.selected,
57
- });
58
- });
59
- return this.options.map(option => html `<option value=${option.value} ?disabled=${option.disabled} ?selected=${option.selected}>
60
- ${option.label}
61
- </option>`);
62
- }
63
- /**
64
- * Generates a dropdown icon
65
- * @private
66
- */
67
- makeIcon() {
68
- if (this.icon || this.icon !== '') {
69
- return html `<kemet-icon icon=${this.icon} size=${this.iconSize}></kemet-icon>`;
70
- }
71
- return null;
72
- }
73
- /**
74
- * Handles when the input receives focus
75
- * @private
76
- */
77
- handleFocus() {
78
- this.hasFocus = true;
79
- emitEvent(this, 'kemet-input-focused', true);
80
- }
81
- /**
82
- * Handles when the input loses focus
83
- * @private
84
- */
85
- handleBlur() {
86
- this.hasFocus = false;
87
- emitEvent(this, 'kemet-input-focused', false);
88
- this.select.checkValidity();
89
- if (!this.select.checkValidity()) {
90
- this.invalid = true;
91
- this.status = 'error';
92
- this.control.status = 'error';
93
- emitEvent(this, 'kemet-input-status', {
94
- status: 'error',
95
- validity: this.select.validity,
96
- element: this,
97
- });
98
- }
99
- }
100
- /**
101
- * Handles when the input changes value
102
- * @private
103
- */
104
- handleChange() {
105
- this.value = this.select.value;
106
- emitEvent(this, 'kemet-input-change', this.value);
107
- if (this.select.checkValidity()) {
108
- this.invalid = false;
109
- this.status = 'standard';
110
- emitEvent(this, 'kemet-input-status', {
111
- status: 'standard',
112
- validity: this.select.validity,
113
- element: this,
114
- });
115
- }
116
- }
117
- /**
118
- * Handles when the input has an error
119
- * @private
120
- */
121
- handleInvalid() {
122
- this.invalid = true;
123
- this.status = 'error';
124
- emitEvent(this, 'kemet-input-status', {
125
- status: 'error',
126
- validity: this.select.validity,
127
- element: this,
128
- });
129
- }
130
- /**
131
- * Checks the validity of the standard select
132
- * @public
133
- * @returns {boolean}
134
- */
135
- checkValidity() {
136
- return this.select.checkValidity();
137
- }
138
- };
139
- KemetSelect.styles = [stylesSelect];
140
- __decorate([
141
- property({ type: String })
142
- ], KemetSelect.prototype, "slug", void 0);
143
- __decorate([
144
- property({ type: String })
145
- ], KemetSelect.prototype, "name", void 0);
146
- __decorate([
147
- property({ type: String })
148
- ], KemetSelect.prototype, "value", void 0);
149
- __decorate([
150
- property({ type: Array })
151
- ], KemetSelect.prototype, "options", void 0);
152
- __decorate([
153
- property({ type: String, reflect: true })
154
- ], KemetSelect.prototype, "status", void 0);
155
- __decorate([
156
- property({ type: Boolean, reflect: true })
157
- ], KemetSelect.prototype, "required", void 0);
158
- __decorate([
159
- property({ type: Boolean, reflect: true })
160
- ], KemetSelect.prototype, "disabled", void 0);
161
- __decorate([
162
- property({ type: Boolean })
163
- ], KemetSelect.prototype, "multiple", void 0);
164
- __decorate([
165
- property({ type: String })
166
- ], KemetSelect.prototype, "icon", void 0);
167
- __decorate([
168
- property({ type: Number, attribute: 'icon-size' })
169
- ], KemetSelect.prototype, "iconSize", void 0);
170
- __decorate([
171
- property({ type: Boolean, reflect: true })
172
- ], KemetSelect.prototype, "filled", void 0);
173
- __decorate([
174
- property({ type: Boolean, reflect: true })
175
- ], KemetSelect.prototype, "rounded", void 0);
176
- __decorate([
177
- state()
178
- ], KemetSelect.prototype, "invalid", void 0);
179
- __decorate([
180
- state()
181
- ], KemetSelect.prototype, "control", void 0);
182
- __decorate([
183
- state()
184
- ], KemetSelect.prototype, "select", void 0);
185
- __decorate([
186
- state()
187
- ], KemetSelect.prototype, "selectedOption", void 0);
188
- __decorate([
189
- state()
190
- ], KemetSelect.prototype, "optionElements", void 0);
191
- __decorate([
192
- state()
193
- ], KemetSelect.prototype, "hasFocus", void 0);
194
- KemetSelect = __decorate([
195
- customElement('kemet-select')
196
- ], KemetSelect);
197
- export default KemetSelect;
198
- //# sourceMappingURL=kemet-select.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-select.js","sourceRoot":"","sources":["../../../src/components/kemet-select/kemet-select.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, TemplateResult } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { FormSubmitController } from '../../utilities/controllers/forms';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { KemetFieldInterface } from '../kemet-field/types';\nimport { stylesSelect } from './styles';\n\nimport type KemetOption from './kemet-option';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-select\n * @summary An enhanced select element.\n *\n * @prop {string} slug - A string the uniquely identifies the select\n * @prop {string} name - The name of the select\n * @prop {string} value - The value of the select\n * @prop {array} options - The options the select contains\n * @prop {string} status - The status of the select\n * @prop {boolean} required - Determines whether the field is required\n * @prop {boolean} disabled - Determines whether the field is disabled\n * @prop {boolean} multiple - Support of multiple choice selections\n * @prop {string} icon - The dropdown icon\n * @prop {number} iconSize - The dropdown icon size\n * @prop {boolean} filled - Displays a filled select\n * @prop {boolean} rounded - Displays rounded corners\n *\n * @csspart select\n *\n * @cssproperty --kemet-select-padding - The padding on the textarea.\n * @cssproperty --kemet-select-border - The border of the textarea.\n * @cssproperty --kemet-select-border-color-error - The border of the error state.\n * @cssproperty --kemet-select-border-color-success - The border of the success state.\n * @cssproperty --kemet-select-border-color-warning - The border of the warning state.\n * @cssproperty --kemet-select-border-radius-rounded - The border radius on rounded.\n * @cssproperty --kemet-select-border-filled - The border on filled.\n * @cssproperty --kemet-select-color-filled - The color on filled.\n * @cssproperty --kemet-select-background-color-filled - The background-color on filled.\n * @cssproperty --kemet-select-background-color-error - The error state background color.\n * @cssproperty --kemet-select-background-color-success - The success state background color.\n * @cssproperty --kemet-select-background-color-warning - The warning state background color.\n * @cssproperty --kemet-select-icon-right - The space on the right of the icon.\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\n * @event kemet-input-change - Fires when the select input changes\n *\n */\n\ninterface IOptions {\n label: string;\n value: string;\n disabled: boolean;\n selected: boolean;\n}\n\n@customElement('kemet-select')\nexport default class KemetSelect extends LitElement {\n formSubmitController: FormSubmitController;\n\n static styles = [stylesSelect];\n\n @property({ type: String })\n slug: string;\n\n @property({ type: String })\n name: string = 'select';\n\n @property({ type: String })\n value: string;\n\n @property({ type: Array })\n options: IOptions[];\n\n @property({ type: String, reflect: true })\n status: string;\n\n @property({ type: Boolean, reflect: true })\n required: boolean;\n\n @property({ type: Boolean, reflect: true })\n disabled: boolean;\n\n @property({ type: Boolean })\n multiple: boolean;\n\n @property({ type: String })\n icon: string = 'chevron-down';\n\n @property({ type: Number, attribute: 'icon-size' })\n iconSize: number = 16;\n\n @property({ type: Boolean, reflect: true })\n filled: boolean;\n\n @property({ type: Boolean, reflect: true })\n rounded: boolean;\n\n @state()\n invalid: boolean;\n\n @state()\n control: KemetFieldInterface;\n\n @state()\n select: HTMLSelectElement;\n\n @state()\n selectedOption: HTMLOptionElement;\n\n @state()\n optionElements: NodeListOf<KemetOption>;\n\n @state()\n hasFocus: boolean;\n\n constructor() {\n super();\n\n /** @internal */\n this.formSubmitController = new FormSubmitController(this);\n\n /** @internal */\n this.control = this.closest('kemet-field');\n }\n\n firstUpdated() {\n this.select = this.shadowRoot.querySelector('select');\n this.selectedOption = this.querySelector('[selected]');\n this.value = this.selectedOption ? this.selectedOption.value : '';\n }\n\n render() {\n return html`\n <select\n part=\"select\"\n id=${this.slug}\n name=${this.name}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?multiple=${this.multiple}\n @change=${this.handleChange}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n @invalid=${this.handleInvalid}\n >\n ${this.makeOptions()}\n </select>\n ${this.makeIcon()}\n <slot @slotchange=${() => this.makeOptions()}></slot>\n `;\n }\n\n /**\n * Generates the option elements\n * @private\n * @returns {TemplateResult} An option element\n */\n makeOptions(): TemplateResult<1>[] {\n this.options = [];\n this.optionElements = this.querySelectorAll('kemet-option');\n\n this.optionElements.forEach((option: KemetOption) => {\n this.options = this.options.concat({\n label: option.label,\n value: option.value,\n disabled: option.disabled,\n selected: option.selected,\n });\n });\n\n return this.options.map(\n option => html`<option value=${option.value} ?disabled=${option.disabled} ?selected=${option.selected}>\n ${option.label}\n </option>`,\n );\n }\n\n /**\n * Generates a dropdown icon\n * @private\n */\n makeIcon() {\n if (this.icon || this.icon !== '') {\n return html`<kemet-icon icon=${this.icon} size=${this.iconSize}></kemet-icon>`;\n }\n\n return null;\n }\n\n /**\n * Handles when the input receives focus\n * @private\n */\n handleFocus() {\n this.hasFocus = true;\n emitEvent(this, 'kemet-input-focused', true);\n }\n\n /**\n * Handles when the input loses focus\n * @private\n */\n handleBlur() {\n this.hasFocus = false;\n emitEvent(this, 'kemet-input-focused', false);\n\n this.select.checkValidity();\n\n if (!this.select.checkValidity()) {\n this.invalid = true;\n this.status = 'error';\n this.control.status = 'error';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'error',\n validity: this.select.validity,\n element: this,\n });\n }\n }\n\n /**\n * Handles when the input changes value\n * @private\n */\n handleChange() {\n this.value = this.select.value;\n emitEvent(this, 'kemet-input-change', this.value);\n\n if (this.select.checkValidity()) {\n this.invalid = false;\n this.status = 'standard';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'standard',\n validity: this.select.validity,\n element: this,\n });\n }\n }\n\n /**\n * Handles when the input has an error\n * @private\n */\n handleInvalid() {\n this.invalid = true;\n this.status = 'error';\n\n emitEvent(this, 'kemet-input-status', {\n status: 'error',\n validity: this.select.validity,\n element: this,\n });\n }\n\n /**\n * Checks the validity of the standard select\n * @public\n * @returns {boolean}\n */\n checkValidity(): boolean {\n return this.select.checkValidity();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-select': KemetSelect\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export declare const stylesSelect: import("lit").CSSResult;
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-select/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsF9B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesSelect = css`\n :host {\n --kemet-select-padding: 1rem;\n --kemet-select-border: 1px solid rgb(var(--kemet-color-foreground));\n --kemet-select-border-color-error: 1px solid rgb(var(--kemet-color-error));\n --kemet-select-border-color-success: 1px solid rgb(var(--kemet-color-success));\n --kemet-select-border-color-warning: 1px solid rgb(var(--kemet-color-warning));\n --kemet-select-border-radius-rounded: var(--kemet-border-radius-md);\n --kemet-select-border-filled: none;\n --kemet-select-color-filled: rgb(var(--kemet-color-white));\n --kemet-select-background-color-filled: rgb(var(--kemet-color-primary));\n --kemet-select-color-filled: rgb(var(--kemet-color-white));\n --kemet-select-background-color-error: rgb(var(--kemet-color-error));\n --kemet-select-background-color-success: rgb(var(--kemet-color-success));\n --kemet-select-background-color-success: rgb(var(--kemet-color-success));\n --kemet-select-background-color-warning: rgb(var(--kemet-color-warning));\n --kemet-select-icon-right: 1rem;\n\n position: relative;\n display: block;\n }\n\n select {\n color: rgb(var(--kemet-color-text));\n display: block;\n font-size: 1rem;\n width: 100%;\n padding: var(--kemet-select-padding);\n border: var(--kemet-select-border);\n appearance: none;\n box-sizing: border-box;\n background-color: transparent;\n }\n\n option {\n color: rgb(var(--kemet-color-black));\n }\n\n :host([status='error']) select {\n border: var(--kemet-select-border-color-error);\n }\n\n :host([status='success']) select {\n border: var(--kemet-select-border-color-success);\n }\n\n :host([status='warning']) select {\n border: var(--kemet-select-border-color-warning);\n }\n\n :host([disabled]) select {\n opacity: 0.5;\n }\n\n :host([rounded]) select {\n border-radius: var(--kemet-select-border-radius-rounded);\n }\n\n :host([filled]) select {\n border: var(--kemet-select-border-filled);\n color: var(--kemet-select-color-filled);\n background-color: var(--kemet-select-background-color-filled);\n }\n\n :host([filled]) kemet-icon {\n color: var(--kemet-select-color-filled);\n }\n\n :host([status='error'][filled]) select {\n background-color: var(--kemet-select-background-color-error);\n }\n\n :host([status='success'][filled]) select {\n background-color: var(--kemet-select-background-color-success);\n }\n\n :host([status='warning'][filled]) select {\n background-color: var(--kemet-select-background-color-warning);\n }\n\n kemet-icon {\n position: absolute;\n right: var(--kemet-select-icon-right);\n top: 50%;\n transform: translateY(-50%);\n }\n`;\n"]}
@@ -1,20 +0,0 @@
1
- export interface KemetSelectInterface extends HTMLElement {
2
- slug?: string;
3
- name?: string;
4
- value?: string;
5
- options?: any[];
6
- status?: string;
7
- required?: boolean;
8
- disabled?: boolean;
9
- multiple?: boolean;
10
- icon?: string;
11
- iconSize?: number;
12
- filled?: boolean;
13
- rounded?: boolean;
14
- }
15
- export interface KemetOptionInterface extends HTMLElement {
16
- label?: string;
17
- value?: string;
18
- disabled?: boolean;
19
- selected?: boolean;
20
- }
@@ -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-select/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface KemetSelectInterface extends HTMLElement {\n slug?: string,\n name?: string,\n value?: string,\n options?: any[],\n status?: string,\n required?: boolean,\n disabled?: boolean,\n multiple?: boolean,\n icon?: string,\n iconSize?: number,\n filled?: boolean,\n rounded?: boolean,\n}\n\nexport interface KemetOptionInterface extends HTMLElement {\n label?: string,\n value?: string,\n disabled?: boolean,\n selected?: boolean,\n}\n"]}
@@ -1,10 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components';
2
- import '../kemet-sortable';
3
- import '../kemet-sortable-item';
4
- import '../../kemet-tabs/kemet-tabs';
5
- import '../../kemet-tabs/kemet-tab';
6
- import '../../kemet-tabs/kemet-tab-panel';
7
- declare const meta: Meta;
8
- export default meta;
9
- declare type Story = StoryObj;
10
- export declare const Standard: Story;
@@ -1,29 +0,0 @@
1
- import { html } from 'lit';
2
- import '../kemet-sortable';
3
- import '../kemet-sortable-item';
4
- import '../../kemet-tabs/kemet-tabs';
5
- import '../../kemet-tabs/kemet-tab';
6
- import '../../kemet-tabs/kemet-tab-panel';
7
- const meta = {
8
- title: 'Components / Sortable',
9
- component: 'kemet-sortable',
10
- args: {
11
- numItems: 3,
12
- },
13
- };
14
- export default meta;
15
- const Template = (args) => {
16
- const items = [];
17
- for (let i = 0; i < args.numItems; i += 1) {
18
- items.push(html `<kemet-sortable-item>Item ${i + 1}</kemet-sortable-item>`);
19
- }
20
- return html `
21
- <kemet-sortable>
22
- ${items}
23
- </kemet-sortable>
24
- `;
25
- };
26
- export const Standard = {
27
- render: args => Template(args),
28
- };
29
- //# sourceMappingURL=stories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-sortable/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,wBAAwB,CAAC;AAEhC,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;IACxB,MAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE;QACzC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA,6BAA6B,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;KAC5E;IAED,OAAO,IAAI,CAAA;;QAEL,KAAK;;GAEV,CAAC;AACJ,CAAC,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-sortable';\nimport '../kemet-sortable-item';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Sortable',\n component: 'kemet-sortable',\n args: {\n numItems: 3,\n },\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => {\n const items = [];\n\n for (let i = 0; i < args.numItems; i += 1) {\n items.push(html`<kemet-sortable-item>Item ${i + 1}</kemet-sortable-item>`);\n }\n\n return html`\n <kemet-sortable>\n ${items}\n </kemet-sortable>\n `;\n};\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n"]}
@@ -1,21 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * @since 1.3.0
4
- * @status stable
5
- *
6
- * @tagname kemet-sortable-item
7
- * @summary An item in a sortable list.
8
- *
9
- * @prop {boolean} ghost - Automatically set to true when an item is dragged to a new spot.
10
- */
11
- export default class KemetSortableItem extends LitElement {
12
- static styles: import("lit").CSSResult[];
13
- ghost: boolean;
14
- firstUpdated(): void;
15
- render(): import("lit-html").TemplateResult<1>;
16
- }
17
- declare global {
18
- interface HTMLElementTagNameMap {
19
- 'kemet-sortable-item': KemetSortableItem;
20
- }
21
- }
@@ -1,30 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import { stylesSortableItem } from './styles';
5
- /**
6
- * @since 1.3.0
7
- * @status stable
8
- *
9
- * @tagname kemet-sortable-item
10
- * @summary An item in a sortable list.
11
- *
12
- * @prop {boolean} ghost - Automatically set to true when an item is dragged to a new spot.
13
- */
14
- let KemetSortableItem = class KemetSortableItem extends LitElement {
15
- firstUpdated() {
16
- this.draggable = true;
17
- }
18
- render() {
19
- return html `<slot></slot>`;
20
- }
21
- };
22
- KemetSortableItem.styles = [stylesSortableItem];
23
- __decorate([
24
- property({ type: Boolean, reflect: true })
25
- ], KemetSortableItem.prototype, "ghost", void 0);
26
- KemetSortableItem = __decorate([
27
- customElement('kemet-sortable-item')
28
- ], KemetSortableItem);
29
- export default KemetSortableItem;
30
- //# sourceMappingURL=kemet-sortable-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-sortable-item.js","sourceRoot":"","sources":["../../../src/components/kemet-sortable/kemet-sortable-item.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;;;GAQG;AAGH,IAAqB,iBAAiB,GAAtC,MAAqB,iBAAkB,SAAQ,UAAU;IAMvD,YAAY;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;CACF,CAAA;AAZQ,wBAAM,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAGrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAC5B;AAJI,iBAAiB;IADrC,aAAa,CAAC,qBAAqB,CAAC;GAChB,iBAAiB,CAarC;eAboB,iBAAiB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesSortableItem } from './styles';\n\n/**\n * @since 1.3.0\n * @status stable\n *\n * @tagname kemet-sortable-item\n * @summary An item in a sortable list.\n *\n * @prop {boolean} ghost - Automatically set to true when an item is dragged to a new spot.\n */\n\n@customElement('kemet-sortable-item')\nexport default class KemetSortableItem extends LitElement {\n static styles = [stylesSortableItem];\n\n @property({ type: Boolean, reflect: true })\n ghost: boolean;\n\n firstUpdated() {\n this.draggable = true;\n }\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-sortable-item': KemetSortableItem\n }\n}\n"]}
@@ -1,25 +0,0 @@
1
- import { LitElement } from 'lit';
2
- import type KemetSortableItem from './kemet-sortable-item';
3
- /**
4
- * @since 1.3.0
5
- * @status stable
6
- *
7
- * @tagname kemet-sortable
8
- * @summary A list that can be sorted by drag and drop.
9
- *
10
- * @event kemet-sortable-drag-end - Fires when an item has been moved to a new spot.
11
- */
12
- export default class KemetSortable extends LitElement {
13
- static styles: import("lit").CSSResult[];
14
- sortableItem: KemetSortableItem;
15
- firstUpdated(): void;
16
- render(): import("lit-html").TemplateResult<1>;
17
- handleDragStart(event: DragEvent): void;
18
- handleDragOver(event: DragEvent): void;
19
- handleDragEnd(event: DragEvent): void;
20
- }
21
- declare global {
22
- interface HTMLElementTagNameMap {
23
- 'kemet-sortable': KemetSortable;
24
- }
25
- }
@@ -1,77 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { html, LitElement } from 'lit';
3
- import { customElement, state } from 'lit/decorators.js';
4
- import { polyfill } from 'mobile-drag-drop';
5
- import { emitEvent } from '../../utilities/misc/events';
6
- import { stylesSortable } from './styles';
7
- const getMouseOffset = (event) => {
8
- const target = event.target;
9
- const targetRect = target.getBoundingClientRect();
10
- return {
11
- x: event.pageX - targetRect.left,
12
- y: event.pageY - targetRect.top,
13
- };
14
- };
15
- const getElementVerticalCenter = (element) => {
16
- const rect = element.getBoundingClientRect();
17
- return (rect.bottom - rect.top) / 2;
18
- };
19
- /**
20
- * @since 1.3.0
21
- * @status stable
22
- *
23
- * @tagname kemet-sortable
24
- * @summary A list that can be sorted by drag and drop.
25
- *
26
- * @event kemet-sortable-drag-end - Fires when an item has been moved to a new spot.
27
- */
28
- let KemetSortable = class KemetSortable extends LitElement {
29
- firstUpdated() {
30
- polyfill();
31
- this.addEventListener('dragstart', event => this.handleDragStart(event), false);
32
- this.addEventListener('dragenter', (event) => { event.preventDefault(); });
33
- }
34
- render() {
35
- return html `<slot></slot>`;
36
- }
37
- handleDragStart(event) {
38
- this.sortableItem = event.target;
39
- this.addEventListener('dragover', dragOverEvent => this.handleDragOver(dragOverEvent), false);
40
- this.addEventListener('dragend', dragEndEvent => this.handleDragEnd(dragEndEvent), false);
41
- setTimeout(() => {
42
- this.sortableItem.ghost = true;
43
- }, 0);
44
- }
45
- handleDragOver(event) {
46
- event.preventDefault();
47
- const target = event.target;
48
- if (target && target.tagName === 'KEMET-SORTABLE-ITEM') {
49
- const offset = getMouseOffset(event);
50
- const middleY = getElementVerticalCenter(target);
51
- if (offset.y > middleY) {
52
- this.insertBefore(this.sortableItem, target.nextSibling);
53
- }
54
- else {
55
- this.insertBefore(this.sortableItem, target);
56
- }
57
- }
58
- }
59
- handleDragEnd(event) {
60
- event.preventDefault();
61
- this.sortableItem.ghost = false;
62
- emitEvent(this, 'kemet-sortable-drag-end', {
63
- event,
64
- current: this.sortableItem,
65
- all: this.querySelectorAll('kemet-sortable-item'),
66
- });
67
- }
68
- };
69
- KemetSortable.styles = [stylesSortable];
70
- __decorate([
71
- state()
72
- ], KemetSortable.prototype, "sortableItem", void 0);
73
- KemetSortable = __decorate([
74
- customElement('kemet-sortable')
75
- ], KemetSortable);
76
- export default KemetSortable;
77
- //# sourceMappingURL=kemet-sortable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-sortable.js","sourceRoot":"","sources":["../../../src/components/kemet-sortable/kemet-sortable.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\nimport { polyfill } from 'mobile-drag-drop';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesSortable } from './styles';\nimport type KemetSortableItem from './kemet-sortable-item';\n\nconst getMouseOffset = (event: DragEvent) => {\n const target = event.target as HTMLElement;\n const targetRect = target.getBoundingClientRect();\n return {\n x: event.pageX - targetRect.left,\n y: event.pageY - targetRect.top,\n };\n};\n\nconst getElementVerticalCenter = (element: HTMLElement) => {\n const rect = element.getBoundingClientRect();\n return (rect.bottom - rect.top) / 2;\n};\n\n/**\n * @since 1.3.0\n * @status stable\n *\n * @tagname kemet-sortable\n * @summary A list that can be sorted by drag and drop.\n *\n * @event kemet-sortable-drag-end - Fires when an item has been moved to a new spot.\n */\n\n@customElement('kemet-sortable')\nexport default class KemetSortable extends LitElement {\n static styles = [stylesSortable];\n\n @state()\n sortableItem: KemetSortableItem;\n\n firstUpdated() {\n polyfill();\n\n this.addEventListener('dragstart', event => this.handleDragStart(event), false);\n this.addEventListener('dragenter', (event) => { event.preventDefault(); });\n }\n\n render() {\n return html`<slot></slot>`;\n }\n\n handleDragStart(event: DragEvent) {\n this.sortableItem = event.target as KemetSortableItem;\n\n this.addEventListener('dragover', dragOverEvent => this.handleDragOver(dragOverEvent), false);\n this.addEventListener('dragend', dragEndEvent => this.handleDragEnd(dragEndEvent), false);\n\n setTimeout(() => {\n this.sortableItem.ghost = true;\n }, 0);\n }\n\n handleDragOver(event: DragEvent) {\n event.preventDefault();\n\n const target = event.target as KemetSortableItem;\n\n if (target && target.tagName === 'KEMET-SORTABLE-ITEM') {\n const offset = getMouseOffset(event);\n const middleY = getElementVerticalCenter(target);\n\n if (offset.y > middleY) {\n this.insertBefore(this.sortableItem, target.nextSibling);\n } else {\n this.insertBefore(this.sortableItem, target);\n }\n }\n }\n\n handleDragEnd(event: DragEvent) {\n event.preventDefault();\n this.sortableItem.ghost = false;\n\n emitEvent(this, 'kemet-sortable-drag-end', {\n event,\n current: this.sortableItem,\n all: this.querySelectorAll('kemet-sortable-item'),\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-sortable': KemetSortable\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- export declare const stylesSortable: import("lit").CSSResult;
2
- export declare const stylesSortableItem: import("lit").CSSResult;
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-sortable/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;CAMhC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;CAYpC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesSortable = css`\n :host {\n display: flex;\n gap: 1rem;\n flex-direction: column;\n }\n`;\n\nexport const stylesSortableItem = css`\n :host {\n cursor: grab;\n display: block;\n padding: 1rem;\n border: 1px solid rgb(var(--kemet-color-foreground));\n }\n\n :host([ghost]) {\n opacity: 0.5;\n border-style: dashed;\n }\n`;\n"]}
@@ -1,3 +0,0 @@
1
- export interface KemetSortableItemInterface extends HTMLElement {
2
- ghost?: boolean;
3
- }
@@ -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-sortable/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface KemetSortableItemInterface extends HTMLElement {\n ghost?: boolean,\n}\n"]}
@@ -1,10 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/web-components';
2
- import '../kemet-svg';
3
- import '../kemet-svgs';
4
- import '../../kemet-tabs/kemet-tabs';
5
- import '../../kemet-tabs/kemet-tab';
6
- import '../../kemet-tabs/kemet-tab-panel';
7
- declare const meta: Meta;
8
- export default meta;
9
- declare type Story = StoryObj;
10
- export declare const Standard: Story;