kemet-ui 2.0.3 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/custom-elements.json +621 -692
  2. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +3 -4
  3. package/dist/components/kemet-accordion/kemet-accordion-panel.js +4 -3
  4. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
  5. package/dist/components/kemet-accordion/kemet-accordion.d.ts +6 -5
  6. package/dist/components/kemet-accordion/kemet-accordion.js +14 -5
  7. package/dist/components/kemet-accordion/kemet-accordion.js.map +1 -1
  8. package/dist/components/kemet-accordion/stories.d.ts +2 -0
  9. package/dist/components/kemet-accordion/stories.js +6 -3
  10. package/dist/components/kemet-accordion/stories.js.map +1 -1
  11. package/dist/components/kemet-accordion/styles.js +5 -5
  12. package/dist/components/kemet-accordion/styles.js.map +1 -1
  13. package/dist/components/kemet-alert/docs/stories.d.ts +12 -0
  14. package/dist/components/kemet-alert/docs/stories.js +180 -36
  15. package/dist/components/kemet-alert/docs/stories.js.map +1 -1
  16. package/dist/components/kemet-alert/kemet-alert.d.ts +6 -7
  17. package/dist/components/kemet-alert/kemet-alert.js +8 -5
  18. package/dist/components/kemet-alert/kemet-alert.js.map +1 -1
  19. package/dist/components/kemet-alert/styles.js +10 -8
  20. package/dist/components/kemet-alert/styles.js.map +1 -1
  21. package/dist/components/kemet-alert/types.d.ts +0 -9
  22. package/dist/components/kemet-alert/types.js.map +1 -1
  23. package/dist/components/kemet-avatar/docs/stories.d.ts +4 -0
  24. package/dist/components/kemet-avatar/docs/stories.js +57 -35
  25. package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
  26. package/dist/components/kemet-avatar/kemet-avatar.d.ts +4 -4
  27. package/dist/components/kemet-avatar/kemet-avatar.js +4 -4
  28. package/dist/components/kemet-avatar/kemet-avatar.js.map +1 -1
  29. package/dist/components/kemet-avatar/styles.js +16 -9
  30. package/dist/components/kemet-avatar/styles.js.map +1 -1
  31. package/dist/components/kemet-badge/docs/stories.d.ts +6 -0
  32. package/dist/components/kemet-badge/docs/stories.js +52 -16
  33. package/dist/components/kemet-badge/docs/stories.js.map +1 -1
  34. package/dist/components/kemet-badge/kemet-badge.d.ts +2 -1
  35. package/dist/components/kemet-badge/kemet-badge.js +1 -1
  36. package/dist/components/kemet-badge/kemet-badge.js.map +1 -1
  37. package/dist/components/kemet-badge/styles.js +11 -9
  38. package/dist/components/kemet-badge/styles.js.map +1 -1
  39. package/dist/components/kemet-badge/types.d.ts +1 -6
  40. package/dist/components/kemet-badge/types.js.map +1 -1
  41. package/dist/components/kemet-button/docs/stories.d.ts +12 -0
  42. package/dist/components/kemet-button/docs/stories.js +81 -20
  43. package/dist/components/kemet-button/docs/stories.js.map +1 -1
  44. package/dist/components/kemet-button/kemet-button.d.ts +23 -23
  45. package/dist/components/kemet-button/kemet-button.js +23 -23
  46. package/dist/components/kemet-button/kemet-button.js.map +1 -1
  47. package/dist/components/kemet-button/styles.js +46 -26
  48. package/dist/components/kemet-button/styles.js.map +1 -1
  49. package/dist/components/kemet-button/types.d.ts +1 -10
  50. package/dist/components/kemet-button/types.js.map +1 -1
  51. package/dist/components/kemet-card/docs/stories.d.ts +10 -0
  52. package/dist/components/kemet-card/docs/stories.js +78 -66
  53. package/dist/components/kemet-card/docs/stories.js.map +1 -1
  54. package/dist/components/kemet-card/kemet-card.d.ts +16 -16
  55. package/dist/components/kemet-card/kemet-card.js +16 -16
  56. package/dist/components/kemet-card/kemet-card.js.map +1 -1
  57. package/dist/components/kemet-card/styles.js +29 -14
  58. package/dist/components/kemet-card/styles.js.map +1 -1
  59. package/dist/components/kemet-carousel/docs/stories.d.ts +6 -0
  60. package/dist/components/kemet-carousel/docs/stories.js +72 -60
  61. package/dist/components/kemet-carousel/docs/stories.js.map +1 -1
  62. package/dist/components/kemet-carousel/kemet-carousel-current.d.ts +2 -2
  63. package/dist/components/kemet-carousel/kemet-carousel-current.js.map +1 -1
  64. package/dist/components/kemet-carousel/kemet-carousel-last.d.ts +1 -1
  65. package/dist/components/kemet-carousel/kemet-carousel-last.js +1 -1
  66. package/dist/components/kemet-carousel/kemet-carousel-last.js.map +1 -1
  67. package/dist/components/kemet-carousel/kemet-carousel-total.d.ts +2 -2
  68. package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
  69. package/dist/components/kemet-carousel/kemet-carousel.d.ts +33 -29
  70. package/dist/components/kemet-carousel/kemet-carousel.js +47 -28
  71. package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
  72. package/dist/components/kemet-carousel/styles.js +31 -15
  73. package/dist/components/kemet-carousel/styles.js.map +1 -1
  74. package/dist/components/kemet-checkbox/docs/stories.d.ts +4 -0
  75. package/dist/components/kemet-checkbox/docs/stories.js +28 -28
  76. package/dist/components/kemet-checkbox/docs/stories.js.map +1 -1
  77. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +8 -8
  78. package/dist/components/kemet-checkbox/kemet-checkbox.js +8 -8
  79. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
  80. package/dist/components/kemet-checkbox/styles.js +20 -13
  81. package/dist/components/kemet-checkbox/styles.js.map +1 -1
  82. package/dist/components/kemet-combo/docs/stories.js +14 -12
  83. package/dist/components/kemet-combo/docs/stories.js.map +1 -1
  84. package/dist/components/kemet-combo/kemet-combo.d.ts +17 -17
  85. package/dist/components/kemet-combo/kemet-combo.js +22 -26
  86. package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
  87. package/dist/components/kemet-combo/styles.js +21 -9
  88. package/dist/components/kemet-combo/styles.js.map +1 -1
  89. package/dist/components/kemet-count/docs/stories.js +10 -25
  90. package/dist/components/kemet-count/docs/stories.js.map +1 -1
  91. package/dist/components/kemet-count/kemet-count.d.ts +1 -1
  92. package/dist/components/kemet-count/kemet-count.js +1 -1
  93. package/dist/components/kemet-count/kemet-count.js.map +1 -1
  94. package/dist/components/kemet-draggable/docs/stories.d.ts +1 -0
  95. package/dist/components/kemet-draggable/docs/stories.js +8 -15
  96. package/dist/components/kemet-draggable/docs/stories.js.map +1 -1
  97. package/dist/components/kemet-draggable/kemet-draggable.d.ts +3 -3
  98. package/dist/components/kemet-draggable/kemet-draggable.js +6 -5
  99. package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
  100. package/dist/components/kemet-drawer/docs/stories.d.ts +6 -0
  101. package/dist/components/kemet-drawer/docs/stories.js +59 -60
  102. package/dist/components/kemet-drawer/docs/stories.js.map +1 -1
  103. package/dist/components/kemet-drawer/kemet-drawer.d.ts +7 -7
  104. package/dist/components/kemet-drawer/kemet-drawer.js +7 -7
  105. package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
  106. package/dist/components/kemet-drawer/styles.js +32 -25
  107. package/dist/components/kemet-drawer/styles.js.map +1 -1
  108. package/dist/components/kemet-drawer/types.d.ts +0 -6
  109. package/dist/components/kemet-drawer/types.js.map +1 -1
  110. package/dist/components/kemet-fab/docs/stories.d.ts +3 -0
  111. package/dist/components/kemet-fab/docs/stories.js +23 -32
  112. package/dist/components/kemet-fab/docs/stories.js.map +1 -1
  113. package/dist/components/kemet-fab/kemet-fab.d.ts +7 -7
  114. package/dist/components/kemet-fab/kemet-fab.js +7 -7
  115. package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
  116. package/dist/components/kemet-fab/styles.js +19 -10
  117. package/dist/components/kemet-fab/styles.js.map +1 -1
  118. package/dist/components/kemet-field/docs/stories.d.ts +1 -1
  119. package/dist/components/kemet-field/docs/stories.js +19 -69
  120. package/dist/components/kemet-field/docs/stories.js.map +1 -1
  121. package/dist/components/kemet-field/kemet-field.d.ts +12 -12
  122. package/dist/components/kemet-field/kemet-field.js +9 -14
  123. package/dist/components/kemet-field/kemet-field.js.map +1 -1
  124. package/dist/components/kemet-field/styles.js +6 -6
  125. package/dist/components/kemet-field/styles.js.map +1 -1
  126. package/dist/components/kemet-flipcard/docs/stories.d.ts +3 -0
  127. package/dist/components/kemet-flipcard/docs/stories.js +29 -78
  128. package/dist/components/kemet-flipcard/docs/stories.js.map +1 -1
  129. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +1 -1
  130. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js +2 -3
  131. package/dist/components/kemet-flipcard/kemet-flipcard-trigger.js.map +1 -1
  132. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +9 -9
  133. package/dist/components/kemet-flipcard/kemet-flipcard.js +10 -12
  134. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
  135. package/dist/components/kemet-flipcard/styles.js +20 -10
  136. package/dist/components/kemet-flipcard/styles.js.map +1 -1
  137. package/dist/components/kemet-icon/docs/stories.js +8 -15
  138. package/dist/components/kemet-icon/docs/stories.js.map +1 -1
  139. package/dist/components/kemet-input/docs/stories.d.ts +4 -0
  140. package/dist/components/kemet-input/docs/stories.js +54 -113
  141. package/dist/components/kemet-input/docs/stories.js.map +1 -1
  142. package/dist/components/kemet-input/kemet-input.d.ts +18 -37
  143. package/dist/components/kemet-input/kemet-input.js +18 -38
  144. package/dist/components/kemet-input/kemet-input.js.map +1 -1
  145. package/dist/components/kemet-input/styles.js +38 -21
  146. package/dist/components/kemet-input/styles.js.map +1 -1
  147. package/dist/components/kemet-modal/docs/stories.d.ts +2 -0
  148. package/dist/components/kemet-modal/docs/stories.js +25 -68
  149. package/dist/components/kemet-modal/docs/stories.js.map +1 -1
  150. package/dist/components/kemet-modal/kemet-modal-close.js +1 -1
  151. package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
  152. package/dist/components/kemet-modal/kemet-modal.d.ts +20 -10
  153. package/dist/components/kemet-modal/kemet-modal.js +39 -20
  154. package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
  155. package/dist/components/kemet-modal/styles.js +77 -48
  156. package/dist/components/kemet-modal/styles.js.map +1 -1
  157. package/dist/components/kemet-password/docs/stories.js +10 -18
  158. package/dist/components/kemet-password/docs/stories.js.map +1 -1
  159. package/dist/components/kemet-password/kemet-password.d.ts +14 -8
  160. package/dist/components/kemet-password/kemet-password.js +4 -33
  161. package/dist/components/kemet-password/kemet-password.js.map +1 -1
  162. package/dist/components/kemet-password/styles.js +7 -7
  163. package/dist/components/kemet-password/styles.js.map +1 -1
  164. package/dist/components/kemet-popper/docs/stories.d.ts +2 -0
  165. package/dist/components/kemet-popper/docs/stories.js +32 -39
  166. package/dist/components/kemet-popper/docs/stories.js.map +1 -1
  167. package/dist/components/kemet-popper/kemet-popper-close.d.ts +1 -1
  168. package/dist/components/kemet-popper/kemet-popper-close.js +2 -3
  169. package/dist/components/kemet-popper/kemet-popper-close.js.map +1 -1
  170. package/dist/components/kemet-popper/kemet-popper.d.ts +19 -10
  171. package/dist/components/kemet-popper/kemet-popper.js +23 -32
  172. package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
  173. package/dist/components/kemet-popper/styles.js +14 -5
  174. package/dist/components/kemet-popper/styles.js.map +1 -1
  175. package/dist/components/kemet-radio/docs/stories.d.ts +2 -0
  176. package/dist/components/kemet-radio/docs/stories.js +24 -20
  177. package/dist/components/kemet-radio/docs/stories.js.map +1 -1
  178. package/dist/components/kemet-radio/kemet-radio.d.ts +7 -6
  179. package/dist/components/kemet-radio/kemet-radio.js +7 -6
  180. package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
  181. package/dist/components/kemet-radio/kemet-radios.d.ts +6 -5
  182. package/dist/components/kemet-radio/kemet-radios.js +11 -5
  183. package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
  184. package/dist/components/kemet-radio/styles.js +26 -16
  185. package/dist/components/kemet-radio/styles.js.map +1 -1
  186. package/dist/components/kemet-rotator/docs/stories.d.ts +1 -0
  187. package/dist/components/kemet-rotator/docs/stories.js +16 -28
  188. package/dist/components/kemet-rotator/docs/stories.js.map +1 -1
  189. package/dist/components/kemet-rotator/kemet-rotator.d.ts +3 -3
  190. package/dist/components/kemet-rotator/kemet-rotator.js +2 -3
  191. package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
  192. package/dist/components/kemet-rotator/styles.js +4 -2
  193. package/dist/components/kemet-rotator/styles.js.map +1 -1
  194. package/dist/components/kemet-scroll-link/docs/stories.js +2 -2
  195. package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -1
  196. package/dist/components/kemet-scroll-link/kemet-scroll-link.d.ts +2 -2
  197. package/dist/components/kemet-scroll-link/kemet-scroll-link.js +11 -10
  198. package/dist/components/kemet-scroll-link/kemet-scroll-link.js.map +1 -1
  199. package/dist/components/kemet-scroll-nav/docs/stories.js +5 -5
  200. package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -1
  201. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +7 -7
  202. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +7 -12
  203. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
  204. package/dist/components/kemet-scroll-nav/styles.js +10 -4
  205. package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
  206. package/dist/components/kemet-scroll-snap/docs/stories.d.ts +6 -0
  207. package/dist/components/kemet-scroll-snap/docs/stories.js +72 -82
  208. package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
  209. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +8 -7
  210. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +4 -4
  211. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
  212. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +1 -1
  213. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +1 -1
  214. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +1 -1
  215. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +7 -6
  216. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +6 -11
  217. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
  218. package/dist/components/kemet-scroll-snap/styles.js +14 -6
  219. package/dist/components/kemet-scroll-snap/styles.js.map +1 -1
  220. package/dist/components/kemet-select/docs/stories.d.ts +3 -0
  221. package/dist/components/kemet-select/docs/stories.js +25 -33
  222. package/dist/components/kemet-select/docs/stories.js.map +1 -1
  223. package/dist/components/kemet-select/kemet-option.d.ts +1 -1
  224. package/dist/components/kemet-select/kemet-option.js +1 -1
  225. package/dist/components/kemet-select/kemet-option.js.map +1 -1
  226. package/dist/components/kemet-select/kemet-select.d.ts +32 -23
  227. package/dist/components/kemet-select/kemet-select.js +3 -44
  228. package/dist/components/kemet-select/kemet-select.js.map +1 -1
  229. package/dist/components/kemet-select/styles.js +32 -16
  230. package/dist/components/kemet-select/styles.js.map +1 -1
  231. package/dist/components/kemet-sortable/docs/stories.js +5 -10
  232. package/dist/components/kemet-sortable/docs/stories.js.map +1 -1
  233. package/dist/components/kemet-sortable/kemet-sortable.d.ts +5 -5
  234. package/dist/components/kemet-sortable/kemet-sortable.js +5 -5
  235. package/dist/components/kemet-sortable/kemet-sortable.js.map +1 -1
  236. package/dist/components/kemet-sortable/styles.js +1 -1
  237. package/dist/components/kemet-sortable/styles.js.map +1 -1
  238. package/dist/components/kemet-svgs/docs/stories.js +11 -11
  239. package/dist/components/kemet-svgs/docs/stories.js.map +1 -1
  240. package/dist/components/kemet-svgs/kemet-svgs.d.ts +1 -1
  241. package/dist/components/kemet-svgs/kemet-svgs.js +1 -1
  242. package/dist/components/kemet-svgs/kemet-svgs.js.map +1 -1
  243. package/dist/components/kemet-tabs/docs/stories.d.ts +9 -0
  244. package/dist/components/kemet-tabs/docs/stories.js +78 -78
  245. package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
  246. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +2 -1
  247. package/dist/components/kemet-tabs/kemet-tab-panel.js +4 -1
  248. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
  249. package/dist/components/kemet-tabs/kemet-tab.d.ts +3 -2
  250. package/dist/components/kemet-tabs/kemet-tab.js +6 -3
  251. package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
  252. package/dist/components/kemet-tabs/kemet-tabs.d.ts +30 -21
  253. package/dist/components/kemet-tabs/kemet-tabs.js +12 -48
  254. package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
  255. package/dist/components/kemet-tabs/styles.js +12 -5
  256. package/dist/components/kemet-tabs/styles.js.map +1 -1
  257. package/dist/components/kemet-textarea/docs/stories.d.ts +3 -0
  258. package/dist/components/kemet-textarea/docs/stories.js +37 -67
  259. package/dist/components/kemet-textarea/docs/stories.js.map +1 -1
  260. package/dist/components/kemet-textarea/kemet-textarea.d.ts +12 -12
  261. package/dist/components/kemet-textarea/kemet-textarea.js +12 -12
  262. package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
  263. package/dist/components/kemet-textarea/styles.js +31 -16
  264. package/dist/components/kemet-textarea/styles.js.map +1 -1
  265. package/dist/components/kemet-toggle/docs/stories.d.ts +2 -0
  266. package/dist/components/kemet-toggle/docs/stories.js +21 -36
  267. package/dist/components/kemet-toggle/docs/stories.js.map +1 -1
  268. package/dist/components/kemet-toggle/kemet-toggle.d.ts +12 -12
  269. package/dist/components/kemet-toggle/kemet-toggle.js +12 -12
  270. package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
  271. package/dist/components/kemet-toggle/styles.js +12 -6
  272. package/dist/components/kemet-toggle/styles.js.map +1 -1
  273. package/dist/components/kemet-tooltip/docs/stories.d.ts +4 -0
  274. package/dist/components/kemet-tooltip/docs/stories.js +58 -33
  275. package/dist/components/kemet-tooltip/docs/stories.js.map +1 -1
  276. package/dist/components/kemet-tooltip/kemet-tooltip.d.ts +2 -2
  277. package/dist/components/kemet-tooltip/kemet-tooltip.js +13 -12
  278. package/dist/components/kemet-tooltip/kemet-tooltip.js.map +1 -1
  279. package/dist/components/kemet-tooltip/styles.js +2 -2
  280. package/dist/components/kemet-tooltip/styles.js.map +1 -1
  281. package/dist/components/kemet-tracker/docs/stories.d.ts +1 -0
  282. package/dist/components/kemet-tracker/docs/stories.js +18 -22
  283. package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
  284. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +18 -18
  285. package/dist/components/kemet-tracker/kemet-tracker-step.js +18 -18
  286. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
  287. package/dist/components/kemet-tracker/kemet-tracker.d.ts +2 -1
  288. package/dist/components/kemet-tracker/kemet-tracker.js.map +1 -1
  289. package/dist/components/kemet-tracker/styles.js +23 -12
  290. package/dist/components/kemet-tracker/styles.js.map +1 -1
  291. package/dist/components/kemet-upload/docs/stories.js +17 -22
  292. package/dist/components/kemet-upload/docs/stories.js.map +1 -1
  293. package/dist/components/kemet-upload/kemet-upload-file.d.ts +3 -3
  294. package/dist/components/kemet-upload/kemet-upload-file.js +4 -5
  295. package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
  296. package/dist/components/kemet-upload/kemet-upload.d.ts +7 -7
  297. package/dist/components/kemet-upload/kemet-upload.js +7 -12
  298. package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
  299. package/dist/components/kemet-upload/styles.js +27 -18
  300. package/dist/components/kemet-upload/styles.js.map +1 -1
  301. package/dist/kemet-components.bundle.js +98 -86
  302. package/dist/kemet-components.bundle.js.map +1 -1
  303. package/dist/kemet-components.cjs +3076 -2910
  304. package/dist/kemet-components.js +3076 -2910
  305. package/dist/styles/kemet.base.css +255 -78
  306. package/dist/styles/kemet.base.css.map +1 -1
  307. package/dist/styles/kemet.base.scss +6 -5
  308. package/dist/styles/kemet.components.css +1 -16
  309. package/dist/styles/kemet.components.css.map +1 -1
  310. package/dist/styles/kemet.components.scss +0 -2
  311. package/dist/styles/kemet.core.css +5554 -2122
  312. package/dist/styles/kemet.core.css.map +1 -1
  313. package/dist/styles/shared/_config.scss +306 -93
  314. package/dist/styles/shared/_helpers.scss +88 -16
  315. package/dist/tsconfig.tsbuildinfo +1 -1
  316. package/package.json +17 -14
  317. package/dist/components/kemet-accordion/types.d.ts +0 -9
  318. package/dist/components/kemet-accordion/types.js +0 -2
  319. package/dist/components/kemet-accordion/types.js.map +0 -1
  320. package/dist/components/kemet-avatar/types.d.ts +0 -8
  321. package/dist/components/kemet-avatar/types.js +0 -2
  322. package/dist/components/kemet-avatar/types.js.map +0 -1
  323. package/dist/components/kemet-card/types.d.ts +0 -3
  324. package/dist/components/kemet-card/types.js +0 -2
  325. package/dist/components/kemet-card/types.js.map +0 -1
  326. package/dist/components/kemet-carousel/types.d.ts +0 -21
  327. package/dist/components/kemet-carousel/types.js +0 -2
  328. package/dist/components/kemet-carousel/types.js.map +0 -1
  329. package/dist/components/kemet-combo/types.d.ts +0 -5
  330. package/dist/components/kemet-combo/types.js +0 -2
  331. package/dist/components/kemet-combo/types.js.map +0 -1
  332. package/dist/components/kemet-draggable/types.d.ts +0 -6
  333. package/dist/components/kemet-draggable/types.js +0 -2
  334. package/dist/components/kemet-draggable/types.js.map +0 -1
  335. package/dist/styles/components/drawer.scss +0 -11
  336. package/dist/styles/components/modal.scss +0 -8
@@ -14,8 +14,6 @@ import { LitElement } from 'lit';
14
14
  * @slot body - The body content of the panel.
15
15
  * @slot icon - The icon for the panel.
16
16
  *
17
- * @cssproperty --kemet-accordion-panel-transition-speed - The speed of the opening and closing effect. Default: 0.3s.
18
- *
19
17
  * @csspart trigger - Contains the trigger for the panel.
20
18
  * @csspart body - Contains the body for the panel.
21
19
  *
@@ -28,6 +26,7 @@ export default class KemetAccordionPanel extends LitElement {
28
26
  opened: boolean | undefined;
29
27
  maxHeight: string;
30
28
  slug: string;
29
+ index: number;
31
30
  /** @internal */
32
31
  focusableSelector: string;
33
32
  /** @internal */
@@ -37,12 +36,12 @@ export default class KemetAccordionPanel extends LitElement {
37
36
  /** @internal */
38
37
  bodyElementLast: HTMLElement | null | undefined;
39
38
  firstUpdated(): void;
40
- updated(prevProps: any): void;
39
+ updated(prevProps: Map<string, never>): void;
41
40
  render(): import("lit-html").TemplateResult<1>;
42
41
  toggle(): void;
43
42
  focusableBodyElements(): void;
44
43
  a11y(): void;
45
- handleKeyDown(event: any): void;
44
+ handleKeyDown(event: KeyboardEvent): void;
46
45
  }
47
46
  declare global {
48
47
  interface HTMLElementTagNameMap {
@@ -18,8 +18,6 @@ import { stylesPanel } from './styles';
18
18
  * @slot body - The body content of the panel.
19
19
  * @slot icon - The icon for the panel.
20
20
  *
21
- * @cssproperty --kemet-accordion-panel-transition-speed - The speed of the opening and closing effect. Default: 0.3s.
22
- *
23
21
  * @csspart trigger - Contains the trigger for the panel.
24
22
  * @csspart body - Contains the body for the panel.
25
23
  *
@@ -64,7 +62,7 @@ let KemetAccordionPanel = class KemetAccordionPanel extends LitElement {
64
62
  class="trigger"
65
63
  part="trigger"
66
64
  @click=${() => this.toggle()}
67
- @keydown=${event => this.handleKeyDown(event)}
65
+ @keydown=${(event) => this.handleKeyDown(event)}
68
66
  >
69
67
  <slot name="trigger"></slot>
70
68
  <slot name="icon"></slot>
@@ -117,6 +115,9 @@ __decorate([
117
115
  __decorate([
118
116
  property({ type: String })
119
117
  ], KemetAccordionPanel.prototype, "slug", void 0);
118
+ __decorate([
119
+ property({ type: Number })
120
+ ], KemetAccordionPanel.prototype, "index", void 0);
120
121
  __decorate([
121
122
  state()
122
123
  ], KemetAccordionPanel.prototype, "focusableSelector", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-accordion-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/kemet-accordion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesPanel } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-accordion-panel\n * @summary A blade for an accordion.\n *\n * @prop {boolean} opened - Determines the opened state of the panel\n * @prop {string} maxHeight - Sets the max height of the panel's body\n * @prop {string} slug - Uniquely identifies a panel for accessibility purposes\n *\n * @slot trigger - The trigger button that opens and closes the panel.\n * @slot body - The body content of the panel.\n * @slot icon - The icon for the panel.\n *\n * @cssproperty --kemet-accordion-panel-transition-speed - The speed of the opening and closing effect. Default: 0.3s.\n *\n * @csspart trigger - Contains the trigger for the panel.\n * @csspart body - Contains the body for the panel.\n *\n * @event kemet-accordion-panel-opened - Fires when a panel is opened\n * @event kemet-accordion-panel-closed - Fires when a panel is closed\n *\n */\n\n@customElement('kemet-accordion-panel')\nexport default class KemetAccordionPanel extends LitElement {\n static styles = [stylesPanel];\n\n @property({ type: Boolean, reflect: true })\n opened: boolean | undefined = undefined;\n\n @property({ type: String, attribute: 'max-height'})\n maxHeight: string = '0px';\n\n @property({ type: String })\n slug: string = 'panel';\n\n /** @internal */\n @state()\n focusableSelector: string;\n\n /** @internal */\n @state()\n bodyElement: HTMLElement | null;\n\n /** @internal */\n @state()\n bodyElementFirst: HTMLElement | null | undefined;\n\n /** @internal */\n @state()\n bodyElementLast: HTMLElement | null | undefined;\n\n firstUpdated() {\n this.focusableSelector = 'body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]';\n this.bodyElement = this.querySelector('[slot=\"body\"]');\n this.bodyElementFirst = this.bodyElement?.querySelector(':first-child');\n this.bodyElementLast = this.bodyElement?.querySelector(':last-child');\n\n if (this.bodyElementFirst) this.bodyElementFirst.style.marginTop = '0';\n if (this.bodyElementLast) this.bodyElementLast.style.marginBottom = '0';\n }\n\n updated(prevProps) {\n if (!prevProps.get('opened') && this.opened === true) {\n this.maxHeight = `${this.bodyElement?.offsetHeight}px`;\n emitEvent(this, 'kemet-accordion-panel-opened', this);\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n this.maxHeight = '0px';\n emitEvent(this, 'kemet-accordion-panel-closed', this);\n }\n\n this.a11y();\n this.focusableBodyElements();\n }\n\n render() {\n return html`\n <button\n class=\"trigger\"\n part=\"trigger\"\n @click=${() => this.toggle()}\n @keydown=${event => this.handleKeyDown(event)}\n >\n <slot name=\"trigger\"></slot>\n <slot name=\"icon\"></slot>\n </button>\n <section class=\"body\" part=\"body\" style=\"max-height:${this.maxHeight};\">\n <slot name=\"body\"></slot>\n </section>\n `;\n }\n\n toggle() {\n this.opened = !this.opened;\n }\n\n focusableBodyElements() {\n const focusableElements = this.bodyElement?.querySelectorAll(this.focusableSelector);\n\n if (this.opened) {\n focusableElements?.forEach((element) => {\n element.removeAttribute('tabindex');\n });\n } else {\n focusableElements?.forEach((element) => {\n element.setAttribute('tabindex', '-1');\n });\n }\n }\n\n a11y() {\n const trigger = this.shadowRoot?.querySelector('.trigger');\n const body = this.shadowRoot?.querySelector('.body');\n\n trigger?.setAttribute('id', `${this.slug}-button`);\n trigger?.setAttribute('aria-controls', `${this.slug}-content`);\n\n body?.setAttribute('id', `${this.slug}-content`);\n body?.setAttribute('aria-labelledby', `${this.slug}-button`);\n body?.setAttribute('aria-hidden', `${!this.opened}`);\n }\n\n handleKeyDown(event) {\n if (event.key === 'Space' || event.key === 'Enter') {\n this.toggle();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-accordion-panel': KemetAccordionPanel\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-accordion-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/kemet-accordion-panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesPanel } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-accordion-panel\n * @summary A blade for an accordion.\n *\n * @prop {boolean} opened - Determines the opened state of the panel\n * @prop {string} maxHeight - Sets the max height of the panel's body\n * @prop {string} slug - Uniquely identifies a panel for accessibility purposes\n *\n * @slot trigger - The trigger button that opens and closes the panel.\n * @slot body - The body content of the panel.\n * @slot icon - The icon for the panel.\n *\n * @csspart trigger - Contains the trigger for the panel.\n * @csspart body - Contains the body for the panel.\n *\n * @event kemet-accordion-panel-opened - Fires when a panel is opened\n * @event kemet-accordion-panel-closed - Fires when a panel is closed\n *\n */\n\n@customElement('kemet-accordion-panel')\nexport default class KemetAccordionPanel extends LitElement {\n static styles = [stylesPanel];\n\n @property({ type: Boolean, reflect: true })\n opened: boolean | undefined = undefined;\n\n @property({ type: String, attribute: 'max-height' })\n maxHeight: string = '0px';\n\n @property({ type: String })\n slug: string = 'panel';\n\n @property({ type: Number })\n index: number;\n\n /** @internal */\n @state()\n focusableSelector: string;\n\n /** @internal */\n @state()\n bodyElement: HTMLElement | null;\n\n /** @internal */\n @state()\n bodyElementFirst: HTMLElement | null | undefined;\n\n /** @internal */\n @state()\n bodyElementLast: HTMLElement | null | undefined;\n\n firstUpdated() {\n this.focusableSelector = 'body, a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]';\n this.bodyElement = this.querySelector('[slot=\"body\"]');\n this.bodyElementFirst = this.bodyElement?.querySelector(':first-child');\n this.bodyElementLast = this.bodyElement?.querySelector(':last-child');\n\n if (this.bodyElementFirst) this.bodyElementFirst.style.marginTop = '0';\n if (this.bodyElementLast) this.bodyElementLast.style.marginBottom = '0';\n }\n\n updated(prevProps: Map<string, never>) {\n if (!prevProps.get('opened') && this.opened === true) {\n this.maxHeight = `${this.bodyElement?.offsetHeight}px`;\n emitEvent(this, 'kemet-accordion-panel-opened', this);\n }\n\n if (prevProps.get('opened') && this.opened === false) {\n this.maxHeight = '0px';\n emitEvent(this, 'kemet-accordion-panel-closed', this);\n }\n\n this.a11y();\n this.focusableBodyElements();\n }\n\n render() {\n return html`\n <button\n class=\"trigger\"\n part=\"trigger\"\n @click=${() => this.toggle()}\n @keydown=${(event: KeyboardEvent) => this.handleKeyDown(event)}\n >\n <slot name=\"trigger\"></slot>\n <slot name=\"icon\"></slot>\n </button>\n <section class=\"body\" part=\"body\" style=\"max-height:${this.maxHeight};\">\n <slot name=\"body\"></slot>\n </section>\n `;\n }\n\n toggle() {\n this.opened = !this.opened;\n }\n\n focusableBodyElements() {\n const focusableElements = this.bodyElement?.querySelectorAll(this.focusableSelector);\n\n if (this.opened) {\n focusableElements?.forEach((element) => {\n element.removeAttribute('tabindex');\n });\n } else {\n focusableElements?.forEach((element) => {\n element.setAttribute('tabindex', '-1');\n });\n }\n }\n\n a11y() {\n const trigger = this.shadowRoot?.querySelector('.trigger');\n const body = this.shadowRoot?.querySelector('.body');\n\n trigger?.setAttribute('id', `${this.slug}-button`);\n trigger?.setAttribute('aria-controls', `${this.slug}-content`);\n\n body?.setAttribute('id', `${this.slug}-content`);\n body?.setAttribute('aria-labelledby', `${this.slug}-button`);\n body?.setAttribute('aria-hidden', `${!this.opened}`);\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Space' || event.key === 'Enter') {\n this.toggle();\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-accordion-panel': KemetAccordionPanel\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
+ import KemetAccordionPanel from './kemet-accordion-panel';
2
3
  /**
3
4
  * @since 1.0.0
4
5
  * @status stable
@@ -15,18 +16,18 @@ export default class KemetAccordion extends LitElement {
15
16
  currentPanel: number;
16
17
  togglePanels: boolean;
17
18
  /** @internal */
18
- panels: any;
19
+ panels: NodeListOf<KemetAccordionPanel>;
19
20
  /** @internal */
20
- onKeyDown: (event: any) => any;
21
+ onKeyDown: (event: KeyboardEvent) => void;
21
22
  /** @internal */
22
23
  currentPanelFocus: number;
23
24
  constructor();
24
25
  firstUpdated(): void;
25
26
  render(): import("lit-html").TemplateResult<1>;
26
27
  handleSlotChange(): void;
27
- handlePanelOpened(event: any): void;
28
- navigatePanels(direction: any): void;
29
- handleKeyDown(event: any): void;
28
+ handlePanelOpened(event: CustomEvent): void;
29
+ navigatePanels(direction: string): void;
30
+ handleKeyDown(event: KeyboardEvent): void;
30
31
  expandAll(): void;
31
32
  collapseAll(): void;
32
33
  }
@@ -16,6 +16,7 @@ import { stylesBase } from './styles';
16
16
  let KemetAccordion = class KemetAccordion extends LitElement {
17
17
  constructor() {
18
18
  super();
19
+ this.currentPanel = 0;
19
20
  this.togglePanels = false;
20
21
  // bindings
21
22
  this.addEventListener('kemet-accordion-panel-opened', this.handlePanelOpened.bind(this));
@@ -28,14 +29,21 @@ let KemetAccordion = class KemetAccordion extends LitElement {
28
29
  }
29
30
  handleSlotChange() {
30
31
  this.panels = this.querySelectorAll('kemet-accordion-panel');
31
- this.panels.forEach((panel) => {
32
+ this.panels.forEach((panel, index) => {
33
+ panel.index = index;
32
34
  panel.removeEventListener('keydown', this.onKeyDown);
33
35
  panel.addEventListener('keydown', this.onKeyDown);
34
36
  });
35
37
  }
36
38
  handlePanelOpened(event) {
39
+ var _a, _b;
40
+ (_a = this.panels) === null || _a === void 0 ? void 0 : _a.forEach((panel) => {
41
+ if (panel === event.detail) {
42
+ this.currentPanel = panel.index;
43
+ }
44
+ });
37
45
  if (this.togglePanels) {
38
- this.panels.forEach((panel) => {
46
+ (_b = this.panels) === null || _b === void 0 ? void 0 : _b.forEach((panel) => {
39
47
  if (panel !== event.detail) {
40
48
  panel.opened = false;
41
49
  }
@@ -67,11 +75,12 @@ let KemetAccordion = class KemetAccordion extends LitElement {
67
75
  this.panels[this.currentPanel].shadowRoot.querySelector('button').focus();
68
76
  }
69
77
  handleKeyDown(event) {
78
+ const target = event.target;
70
79
  switch (event.key) {
71
80
  case 'Enter':
72
81
  case 'Space':
73
82
  event.preventDefault();
74
- event.target.click();
83
+ target.click();
75
84
  break;
76
85
  case 'ArrowLeft':
77
86
  case 'ArrowUp':
@@ -108,10 +117,10 @@ let KemetAccordion = class KemetAccordion extends LitElement {
108
117
  };
109
118
  KemetAccordion.styles = [stylesBase];
110
119
  __decorate([
111
- property({ type: Number })
120
+ property({ type: Number, attribute: 'current-panel' })
112
121
  ], KemetAccordion.prototype, "currentPanel", void 0);
113
122
  __decorate([
114
- property({ type: Boolean, attribute: 'toggle-panels ' })
123
+ property({ type: Boolean, attribute: 'toggle-panels' })
115
124
  ], KemetAccordion.prototype, "togglePanels", void 0);
116
125
  __decorate([
117
126
  state()
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-accordion.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/kemet-accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { stylesBase } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-accordion\n * @summary A component that acts like a standard accordion.\n *\n * @prop {number} currentPanel - The index value for the most recently opened panel\n * @prop {boolean} togglePanels - Support for closing all inactive panels when one is opened\n *\n */\n\n@customElement('kemet-accordion')\nexport default class KemetAccordion extends LitElement {\n static styles = [stylesBase];\n\n @property({ type: Number })\n currentPanel: number;\n\n @property({ type: Boolean, attribute: 'toggle-panels '})\n togglePanels: boolean = false;\n\n /** @internal */\n @state()\n panels: any;\n\n /** @internal */\n @state()\n onKeyDown: (event: any) => any;\n\n /** @internal */\n @state()\n currentPanelFocus: number;\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-accordion-panel-opened', this.handlePanelOpened.bind(this));\n }\n\n firstUpdated() {\n this.onKeyDown = event => this.handleKeyDown(event);\n }\n\n render() {\n return html`<slot @slotchange=${() => this.handleSlotChange()}></slot>`;\n }\n\n handleSlotChange() {\n this.panels = this.querySelectorAll('kemet-accordion-panel');\n\n this.panels.forEach((panel) => {\n panel.removeEventListener('keydown', this.onKeyDown);\n panel.addEventListener('keydown', this.onKeyDown);\n });\n }\n\n handlePanelOpened(event) {\n if (this.togglePanels) {\n this.panels.forEach((panel: any) => {\n if (panel !== event.detail) {\n panel.opened = false;\n }\n });\n }\n }\n\n navigatePanels(direction) {\n switch (direction) {\n case 'home':\n this.currentPanel = 0;\n break;\n case 'end':\n this.currentPanel = this.panels.length - 1;\n break;\n case 'next':\n this.currentPanel += 1;\n break;\n case 'prev':\n this.currentPanel -= 1;\n break;\n default:\n this.currentPanelFocus = 0;\n break;\n }\n\n if (this.currentPanel > this.panels.length - 1) this.currentPanel = 0;\n if (this.currentPanel < 0) this.currentPanel = this.panels.length - 1;\n\n this.panels[this.currentPanel].shadowRoot.querySelector('button').focus();\n }\n\n handleKeyDown(event) {\n switch (event.key) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n event.target.click();\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.navigatePanels('prev');\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.navigatePanels('next');\n break;\n case 'End':\n event.preventDefault();\n this.navigatePanels('end');\n break;\n case 'Home':\n event.preventDefault();\n this.navigatePanels('home');\n break;\n default:\n break;\n }\n }\n\n expandAll() {\n this.panels.forEach((panel) => {\n panel.opened = true;\n });\n }\n\n collapseAll() {\n this.panels.forEach((panel) => {\n panel.opened = false;\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-accordion': KemetAccordion\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-accordion.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/kemet-accordion.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { stylesBase } from './styles';\nimport KemetAccordionPanel from './kemet-accordion-panel';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-accordion\n * @summary A component that acts like a standard accordion.\n *\n * @prop {number} currentPanel - The index value for the most recently opened panel\n * @prop {boolean} togglePanels - Support for closing all inactive panels when one is opened\n *\n */\n\n@customElement('kemet-accordion')\nexport default class KemetAccordion extends LitElement {\n static styles = [stylesBase];\n\n @property({ type: Number, attribute: 'current-panel' })\n currentPanel: number = 0;\n\n @property({ type: Boolean, attribute: 'toggle-panels' })\n togglePanels: boolean = false;\n\n /** @internal */\n @state()\n panels: NodeListOf<KemetAccordionPanel>;\n\n /** @internal */\n @state()\n onKeyDown: (event: KeyboardEvent) => void;\n\n /** @internal */\n @state()\n currentPanelFocus: number;\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-accordion-panel-opened', this.handlePanelOpened.bind(this));\n }\n\n firstUpdated() {\n this.onKeyDown = event => this.handleKeyDown(event);\n }\n\n render() {\n return html`<slot @slotchange=${() => this.handleSlotChange()}></slot>`;\n }\n\n handleSlotChange() {\n this.panels = this.querySelectorAll('kemet-accordion-panel');\n\n this.panels.forEach((panel: KemetAccordionPanel, index) => {\n panel.index = index;\n panel.removeEventListener('keydown', this.onKeyDown);\n panel.addEventListener('keydown', this.onKeyDown);\n });\n }\n\n handlePanelOpened(event: CustomEvent) {\n this.panels?.forEach((panel: KemetAccordionPanel) => {\n if (panel === event.detail) {\n this.currentPanel = panel.index;\n }\n });\n\n if (this.togglePanels) {\n this.panels?.forEach((panel: KemetAccordionPanel) => {\n if (panel !== event.detail) {\n panel.opened = false;\n }\n });\n }\n }\n\n navigatePanels(direction: string) {\n switch (direction) {\n case 'home':\n this.currentPanel = 0;\n break;\n case 'end':\n this.currentPanel = this.panels.length - 1;\n break;\n case 'next':\n this.currentPanel += 1;\n break;\n case 'prev':\n this.currentPanel -= 1;\n break;\n default:\n this.currentPanelFocus = 0;\n break;\n }\n\n if (this.currentPanel > this.panels.length - 1) this.currentPanel = 0;\n if (this.currentPanel < 0) this.currentPanel = this.panels.length - 1;\n\n this.panels[this.currentPanel].shadowRoot.querySelector('button').focus();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n switch (event.key) {\n case 'Enter':\n case 'Space':\n event.preventDefault();\n target.click();\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n this.navigatePanels('prev');\n break;\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n this.navigatePanels('next');\n break;\n case 'End':\n event.preventDefault();\n this.navigatePanels('end');\n break;\n case 'Home':\n event.preventDefault();\n this.navigatePanels('home');\n break;\n default:\n break;\n }\n }\n\n expandAll() {\n this.panels.forEach((panel) => {\n panel.opened = true;\n });\n }\n\n collapseAll() {\n this.panels.forEach((panel) => {\n panel.opened = false;\n });\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-accordion': KemetAccordion\n }\n}\n"]}
@@ -4,7 +4,9 @@ import './kemet-accordion-panel';
4
4
  import '../kemet-tabs/kemet-tabs';
5
5
  import '../kemet-tabs/kemet-tab';
6
6
  import '../kemet-tabs/kemet-tab-panel';
7
+ import '../kemet-icon/kemet-icon';
7
8
  declare const meta: Meta;
8
9
  export default meta;
9
10
  declare type Story = StoryObj;
10
11
  export declare const Standard: Story;
12
+ export declare const TogglePanels: Story;
@@ -4,13 +4,14 @@ import './kemet-accordion-panel';
4
4
  import '../kemet-tabs/kemet-tabs';
5
5
  import '../kemet-tabs/kemet-tab';
6
6
  import '../kemet-tabs/kemet-tab-panel';
7
+ import '../kemet-icon/kemet-icon';
7
8
  const meta = {
8
9
  title: 'Components / Accordion',
9
10
  component: 'kemet-accordion',
10
11
  };
11
12
  export default meta;
12
- const Template = ({ togglePanels = false, }) => html `
13
- <kemet-accordion ?toggle-panels=${togglePanels} kemet-elevation="layer4">
13
+ const Template = (args) => html `
14
+ <kemet-accordion ?toggle-panels=${args.togglePanels} kemet-elevation="layer-4">
14
15
  <kemet-accordion-panel>
15
16
  <h3 slot="trigger">Trigger 1</h3>
16
17
  <kemet-icon slot="icon" icon="chevron-down" size="18"></kemet-icon>
@@ -36,8 +37,10 @@ const Template = ({ togglePanels = false, }) => html `
36
37
  `;
37
38
  export const Standard = {
38
39
  render: args => Template(args),
40
+ };
41
+ export const TogglePanels = {
42
+ render: args => Template(args),
39
43
  args: {
40
- currentPanel: 0,
41
44
  togglePanels: true,
42
45
  },
43
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AAEjC,OAAO,0BAA0B,CAAC;AAClC,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AAEvC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAChB,YAAY,GAAG,KAAK,GACrB,EAAE,EAAE,CAAC,IAAI,CAAA;oCAC0B,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAuB/C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,YAAY,EAAE,CAAC;QACf,YAAY,EAAE,IAAI;KACnB;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport './kemet-accordion';\nimport './kemet-accordion-panel';\n\nimport '../kemet-tabs/kemet-tabs';\nimport '../kemet-tabs/kemet-tab';\nimport '../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Accordion',\n component: 'kemet-accordion',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n togglePanels = false,\n}) => html`\n <kemet-accordion ?toggle-panels=${togglePanels} kemet-elevation=\"layer4\">\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 1</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 2</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 3</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n </kemet-accordion>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n currentPanel: 0,\n togglePanels: true,\n },\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,yBAAyB,CAAC;AAEjC,OAAO,0BAA0B,CAAC;AAClC,OAAO,yBAAyB,CAAC;AACjC,OAAO,+BAA+B,CAAC;AAEvC,OAAO,0BAA0B,CAAC;AAElC,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,wBAAwB;IAC/B,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;oCACK,IAAI,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;CAuBpD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,YAAY,EAAE,IAAI;KACnB;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport './kemet-accordion';\nimport './kemet-accordion-panel';\n\nimport '../kemet-tabs/kemet-tabs';\nimport '../kemet-tabs/kemet-tab';\nimport '../kemet-tabs/kemet-tab-panel';\n\nimport '../kemet-icon/kemet-icon';\n\nconst meta: Meta = {\n title: 'Components / Accordion',\n component: 'kemet-accordion',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-accordion ?toggle-panels=${args.togglePanels} kemet-elevation=\"layer-4\">\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 1</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 2</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n <kemet-accordion-panel>\n <h3 slot=\"trigger\">Trigger 3</h3>\n <kemet-icon slot=\"icon\" icon=\"chevron-down\" size=\"18\"></kemet-icon>\n <div slot=\"body\">\n <p>The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.</p>\n </div>\n </kemet-accordion-panel>\n </kemet-accordion>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const TogglePanels: Story = {\n render: args => Template(args),\n args: {\n togglePanels: true,\n },\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import { css } from 'lit';
2
2
  export const stylesBase = css `
3
- :host {
4
- display: block;
5
- }
3
+ :host {
4
+ display: block;
5
+ }
6
6
  `;
7
7
  export const stylesPanel = css `
8
8
  *,
@@ -14,7 +14,7 @@ export const stylesPanel = css `
14
14
  :host {
15
15
  display: block;
16
16
  padding: 1.5rem 1rem;
17
- border-bottom: 1px solid var(--kemet-color-background);
17
+ border-bottom: 1px solid rgb(var(--kemet-color-foreground));
18
18
  }
19
19
 
20
20
  .trigger {
@@ -32,7 +32,7 @@ export const stylesPanel = css `
32
32
 
33
33
  .body {
34
34
  overflow: hidden;
35
- transition: all var(--kemet-accordion-panel-transition-speed, 300ms) ease;
35
+ transition: all 300ms ease;
36
36
  }
37
37
 
38
38
  ::slotted([slot='body']) {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAI,GAAG,CAAA;;;;CAI7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n:host {\n display: block;\n}\n`;\n\nexport const stylesPanel = css`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n display: block;\n padding: 1.5rem 1rem;\n border-bottom: 1px solid var(--kemet-color-background);\n }\n\n .trigger {\n color: inherit;\n cursor: pointer;\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n width: 100%;\n text-align: left;\n padding: 0;\n border: none;\n background: none;\n }\n\n .body {\n overflow: hidden;\n transition: all var(--kemet-accordion-panel-transition-speed, 300ms) ease;\n }\n\n ::slotted([slot='body']) {\n padding: 1rem 0;\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-accordion/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAI,GAAG,CAAA;;;;CAI7B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC7B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesBase = css`\n :host {\n display: block;\n }\n`;\n\nexport const stylesPanel = css`\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n display: block;\n padding: 1.5rem 1rem;\n border-bottom: 1px solid rgb(var(--kemet-color-foreground));\n }\n\n .trigger {\n color: inherit;\n cursor: pointer;\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n width: 100%;\n text-align: left;\n padding: 0;\n border: none;\n background: none;\n }\n\n .body {\n overflow: hidden;\n transition: all 300ms ease;\n }\n\n ::slotted([slot='body']) {\n padding: 1rem 0;\n }\n`;\n"]}
@@ -3,7 +3,19 @@ import '../kemet-alert';
3
3
  import '../../kemet-tabs/kemet-tabs';
4
4
  import '../../kemet-tabs/kemet-tab';
5
5
  import '../../kemet-tabs/kemet-tab-panel';
6
+ import '../../kemet-icon/kemet-icon';
6
7
  declare const meta: Meta;
7
8
  export default meta;
8
9
  declare type Story = StoryObj;
9
10
  export declare const Standard: Story;
11
+ export declare const Heading: Story;
12
+ export declare const Icon: Story;
13
+ export declare const Closable: Story;
14
+ export declare const BorderTop: Story;
15
+ export declare const BorderRight: Story;
16
+ export declare const BorderBottom: Story;
17
+ export declare const BorderLeft: Story;
18
+ export declare const Primary: Story;
19
+ export declare const Success: Story;
20
+ export declare const Warning: Story;
21
+ export declare const Error: Story;
@@ -4,45 +4,10 @@ import '../kemet-alert';
4
4
  import '../../kemet-tabs/kemet-tabs';
5
5
  import '../../kemet-tabs/kemet-tab';
6
6
  import '../../kemet-tabs/kemet-tab-panel';
7
+ import '../../kemet-icon/kemet-icon';
7
8
  const meta = {
8
9
  title: 'Components / Alert',
9
10
  component: 'kemet-alert',
10
- };
11
- export default meta;
12
- const Template = ({ heading, text, icon, status, closable, border, opened, overlay, }) => {
13
- const makeIcon = () => {
14
- if (icon !== 'none') {
15
- return html `<kemet-icon slot="icon" icon=${icon} size="24" ></kemet-icon>`;
16
- }
17
- return null;
18
- };
19
- return html `
20
- <kemet-alert
21
- status=${status}
22
- ?closable=${closable}
23
- ?opened=${opened}
24
- border-status=${border}
25
- overlay=${ifDefined(overlay !== 'none' ? overlay : null)}
26
- kemet-margin=${ifDefined(overlay.indexOf('full') < 0 ? 'tiny:normal' : nothing)}>
27
- ${makeIcon()}
28
- <strong>${heading}</strong>
29
- <br />
30
- ${text}
31
- </kemet-alert>
32
- `;
33
- };
34
- export const Standard = {
35
- render: (args) => Template(args),
36
- args: {
37
- heading: 'This is a heading.',
38
- text: 'The brown fox jumped over the lazy dog.',
39
- icon: 'gear',
40
- status: 'standard',
41
- closable: false,
42
- border: 'left',
43
- opened: true,
44
- overlay: 'none',
45
- },
46
11
  argTypes: {
47
12
  heading: {
48
13
  control: { type: 'text' },
@@ -74,4 +39,183 @@ export const Standard = {
74
39
  },
75
40
  }
76
41
  };
42
+ export default meta;
43
+ const Template = (args) => {
44
+ const makeIcon = () => {
45
+ if (args.icon !== 'none' && args.icon) {
46
+ return html `<kemet-icon slot="icon" icon=${args.icon} size="24" ></kemet-icon>`;
47
+ }
48
+ return null;
49
+ };
50
+ const makeHeading = () => {
51
+ if (args.heading !== '' && args.heading) {
52
+ return html `<h3 kemet-margin-bottom="none" kemet-margin-top="none">${args.heading}</h3>`;
53
+ }
54
+ return null;
55
+ };
56
+ return html `
57
+ <kemet-alert
58
+ status=${ifDefined(args.status)}
59
+ ?closable=${args.closable}
60
+ ?opened=${args.opened}
61
+ border-status=${args.border}
62
+ overlay=${ifDefined(args.overlay !== 'none' ? args.overlay : null)}
63
+ kemet-margin=${ifDefined(args.overlay.indexOf('full') < 0 ? '2xl' : nothing)}>
64
+ ${makeIcon()}
65
+ ${makeHeading()}
66
+ ${args.text}
67
+ </kemet-alert>
68
+ `;
69
+ };
70
+ // export const Standard: Story = {
71
+ // render: (args: any) => Template(args),
72
+ // args: {
73
+ // heading: 'This is a heading.',
74
+ // text: 'The brown fox jumped over the lazy dog.',
75
+ // icon: 'gear',
76
+ // status: 'standard',
77
+ // closable: false,
78
+ // border: 'left',
79
+ // opened: true,
80
+ // overlay: 'none',
81
+ // },
82
+ // };
83
+ export const Standard = {
84
+ render: (args) => Template(args),
85
+ args: {
86
+ opened: true,
87
+ text: 'The brown fox jumped over the lazy dog.',
88
+ overlay: 'none',
89
+ }
90
+ };
91
+ export const Heading = {
92
+ render: (args) => Template(args),
93
+ args: {
94
+ opened: true,
95
+ heading: 'This is a heading.',
96
+ text: 'The brown fox jumped over the lazy dog.',
97
+ overlay: 'none',
98
+ },
99
+ };
100
+ export const Icon = {
101
+ render: (args) => Template(args),
102
+ args: {
103
+ opened: true,
104
+ heading: 'This is a heading.',
105
+ text: 'The brown fox jumped over the lazy dog.',
106
+ icon: 'info-circle',
107
+ overlay: 'none',
108
+ },
109
+ };
110
+ export const Closable = {
111
+ render: (args) => Template(args),
112
+ args: {
113
+ opened: true,
114
+ heading: 'This is a heading.',
115
+ text: 'The brown fox jumped over the lazy dog.',
116
+ icon: 'info-circle',
117
+ closable: true,
118
+ overlay: 'none',
119
+ },
120
+ };
121
+ export const BorderTop = {
122
+ render: (args) => Template(args),
123
+ args: {
124
+ opened: true,
125
+ heading: 'This is a heading.',
126
+ text: 'The brown fox jumped over the lazy dog.',
127
+ icon: 'info-circle',
128
+ closable: true,
129
+ border: 'top',
130
+ overlay: 'none',
131
+ },
132
+ };
133
+ export const BorderRight = {
134
+ render: (args) => Template(args),
135
+ args: {
136
+ opened: true,
137
+ heading: 'This is a heading.',
138
+ text: 'The brown fox jumped over the lazy dog.',
139
+ icon: 'info-circle',
140
+ closable: true,
141
+ border: 'right',
142
+ overlay: 'none',
143
+ },
144
+ };
145
+ export const BorderBottom = {
146
+ render: (args) => Template(args),
147
+ args: {
148
+ opened: true,
149
+ heading: 'This is a heading.',
150
+ text: 'The brown fox jumped over the lazy dog.',
151
+ icon: 'info-circle',
152
+ closable: true,
153
+ border: 'bottom',
154
+ overlay: 'none',
155
+ },
156
+ };
157
+ export const BorderLeft = {
158
+ render: (args) => Template(args),
159
+ args: {
160
+ opened: true,
161
+ heading: 'This is a heading.',
162
+ text: 'The brown fox jumped over the lazy dog.',
163
+ icon: 'info-circle',
164
+ closable: true,
165
+ border: 'left',
166
+ overlay: 'none',
167
+ },
168
+ };
169
+ export const Primary = {
170
+ render: (args) => Template(args),
171
+ args: {
172
+ opened: true,
173
+ heading: 'This is a heading.',
174
+ text: 'The brown fox jumped over the lazy dog.',
175
+ icon: 'info-circle',
176
+ closable: true,
177
+ border: 'left',
178
+ overlay: 'none',
179
+ status: 'primary'
180
+ },
181
+ };
182
+ export const Success = {
183
+ render: (args) => Template(args),
184
+ args: {
185
+ opened: true,
186
+ heading: 'This is a heading.',
187
+ text: 'The brown fox jumped over the lazy dog.',
188
+ icon: 'check-circle',
189
+ closable: true,
190
+ border: 'left',
191
+ overlay: 'none',
192
+ status: 'success'
193
+ },
194
+ };
195
+ export const Warning = {
196
+ render: (args) => Template(args),
197
+ args: {
198
+ opened: true,
199
+ heading: 'This is a heading.',
200
+ text: 'The brown fox jumped over the lazy dog.',
201
+ icon: 'exclamation-triangle',
202
+ closable: true,
203
+ border: 'left',
204
+ overlay: 'none',
205
+ status: 'warning'
206
+ },
207
+ };
208
+ export const Error = {
209
+ render: (args) => Template(args),
210
+ args: {
211
+ opened: true,
212
+ heading: 'This is a heading.',
213
+ text: 'The brown fox jumped over the lazy dog.',
214
+ icon: 'exclamation-octagon',
215
+ closable: true,
216
+ border: 'left',
217
+ overlay: 'none',
218
+ status: 'error'
219
+ },
220
+ };
77
221
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-alert/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,gBAAgB,CAAC;AAExB,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;CACzB,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAChB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,OAAO,IAAI,CAAA,gCAAgC,IAAI,2BAA2B,CAAC;SAC5E;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,OAAO,IAAI,CAAA;;eAEE,MAAM;kBACH,QAAQ;gBACV,MAAM;sBACA,MAAM;gBACZ,SAAS,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;qBACzC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7E,QAAQ,EAAE;gBACF,OAAO;;QAEf,IAAI;;GAET,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IACrC,IAAI,EAAE;QACJ,OAAO,EAAE,oBAAoB;QAC7B,IAAI,EAAE,yCAAyC;QAC/C,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,IAAI;QACZ,OAAO,EAAE,MAAM;KAChB;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,CAAC;SAC/E;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;SAChE;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;SACpD;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC7B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,CAAC;SACrG;KACF;CACF,CAAC","sourcesContent":["import { html, nothing } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-alert';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Alert',\n component: 'kemet-alert',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n heading,\n text,\n icon,\n status,\n closable,\n border,\n opened,\n overlay,\n}) => {\n const makeIcon = () => {\n if (icon !== 'none') {\n return html`<kemet-icon slot=\"icon\" icon=${icon} size=\"24\" ></kemet-icon>`;\n }\n\n return null;\n };\n\n return html`\n <kemet-alert\n status=${status}\n ?closable=${closable}\n ?opened=${opened}\n border-status=${border}\n overlay=${ifDefined(overlay !== 'none' ? overlay : null)}\n kemet-margin=${ifDefined(overlay.indexOf('full') < 0 ? 'tiny:normal' : nothing)}>\n ${makeIcon()}\n <strong>${heading}</strong>\n <br />\n ${text}\n </kemet-alert>\n `;\n};\n\nexport const Standard: Story = {\n render: (args: any) => Template(args),\n args: {\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'gear',\n status: 'standard',\n closable: false,\n border: 'left',\n opened: true,\n overlay: 'none',\n },\n argTypes: {\n heading: {\n control: { type: 'text' },\n },\n text: {\n control: { type: 'text' },\n },\n icon: {\n control: { type: 'select' },\n options: ['none', 'info-circle', 'check-circle', 'gear', 'exclamation-circle'],\n },\n status: {\n control: { type: 'select' },\n options: ['standard', 'primary', 'success', 'warning', 'error'],\n },\n closable: {\n control: { type: 'boolean' },\n },\n border: {\n control: { type: 'select' },\n options: ['none', 'top', 'right', 'bottom', 'left'],\n },\n opened: {\n control: { type: 'boolean' },\n },\n overlay: {\n control: { type: 'select' },\n options: ['none', 'top-full', 'bottom-full', 'top-right', 'top-left', 'bottom-right', 'bottom-left'],\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-alert/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-alert';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nimport '../../kemet-icon/kemet-icon';\n\nconst meta: Meta = {\n title: 'Components / Alert',\n component: 'kemet-alert',\n argTypes: {\n heading: {\n control: { type: 'text' },\n },\n text: {\n control: { type: 'text' },\n },\n icon: {\n control: { type: 'select' },\n options: ['none', 'info-circle', 'check-circle', 'gear', 'exclamation-circle'],\n },\n status: {\n control: { type: 'select' },\n options: ['standard', 'primary', 'success', 'warning', 'error'],\n },\n closable: {\n control: { type: 'boolean' },\n },\n border: {\n control: { type: 'select' },\n options: ['none', 'top', 'right', 'bottom', 'left'],\n },\n opened: {\n control: { type: 'boolean' },\n },\n overlay: {\n control: { type: 'select' },\n options: ['none', 'top-full', 'bottom-full', 'top-right', 'top-left', 'bottom-right', 'bottom-left'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => {\n const makeIcon = () => {\n if (args.icon !== 'none' && args.icon) {\n return html`<kemet-icon slot=\"icon\" icon=${args.icon} size=\"24\" ></kemet-icon>`;\n }\n\n return null;\n };\n\n const makeHeading = () => {\n if (args.heading !== '' && args.heading) {\n return html`<h3 kemet-margin-bottom=\"none\" kemet-margin-top=\"none\">${args.heading}</h3>`;\n }\n\n return null;\n };\n\n return html`\n <kemet-alert\n status=${ifDefined(args.status)}\n ?closable=${args.closable}\n ?opened=${args.opened}\n border-status=${args.border}\n overlay=${ifDefined(args.overlay !== 'none' ? args.overlay : null)}\n kemet-margin=${ifDefined(args.overlay.indexOf('full') < 0 ? '2xl' : nothing)}>\n ${makeIcon()}\n ${makeHeading()}\n ${args.text}\n </kemet-alert>\n `;\n};\n\n// export const Standard: Story = {\n// render: (args: any) => Template(args),\n// args: {\n// heading: 'This is a heading.',\n// text: 'The brown fox jumped over the lazy dog.',\n// icon: 'gear',\n// status: 'standard',\n// closable: false,\n// border: 'left',\n// opened: true,\n// overlay: 'none',\n// },\n// };\n\nexport const Standard: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n text: 'The brown fox jumped over the lazy dog.',\n overlay: 'none',\n }\n};\n\nexport const Heading: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n overlay: 'none',\n },\n};\n\nexport const Icon: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n overlay: 'none',\n },\n};\n\nexport const Closable: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n overlay: 'none',\n },\n};\n\nexport const BorderTop: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n border: 'top',\n overlay: 'none',\n },\n};\n\nexport const BorderRight: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n border: 'right',\n overlay: 'none',\n },\n};\n\nexport const BorderBottom: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n border: 'bottom',\n overlay: 'none',\n },\n};\n\nexport const BorderLeft: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n border: 'left',\n overlay: 'none',\n },\n};\n\nexport const Primary: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'info-circle',\n closable: true,\n border: 'left',\n overlay: 'none',\n status: 'primary'\n },\n};\n\nexport const Success: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'check-circle',\n closable: true,\n border: 'left',\n overlay: 'none',\n status: 'success'\n },\n};\n\nexport const Warning: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'exclamation-triangle',\n closable: true,\n border: 'left',\n overlay: 'none',\n status: 'warning'\n },\n};\n\nexport const Error: Story = {\n render: (args: any) => Template(args),\n args: {\n opened: true,\n heading: 'This is a heading.',\n text: 'The brown fox jumped over the lazy dog.',\n icon: 'exclamation-octagon',\n closable: true,\n border: 'left',\n overlay: 'none',\n status: 'error'\n },\n};\n\n\n"]}