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
@@ -3,13 +3,28 @@ import { ifDefined } from 'lit/directives/if-defined.js';
3
3
  import '../kemet-tabs';
4
4
  import '../kemet-tab';
5
5
  import '../kemet-tab-panel';
6
+ import '../../kemet-icon/kemet-icon';
6
7
  const meta = {
7
8
  title: 'Components / Tabs',
8
9
  component: 'kemet-tabs',
10
+ argTypes: {
11
+ panelEffect: {
12
+ control: { type: 'select' },
13
+ options: ['none', 'slide', 'fade'],
14
+ },
15
+ tabsAlign: {
16
+ control: { type: 'select' },
17
+ options: ['center', 'between', 'around', 'evenly', 'start', 'end'],
18
+ },
19
+ placement: {
20
+ control: { type: 'select' },
21
+ options: ['top', 'right', 'bottom', 'left'],
22
+ },
23
+ }
9
24
  };
10
25
  export default meta;
11
- const NamedTemplate = ({ selected = 'settings', panelEffect = 'slide', swipe = true, divider = true, tabsAlign = 'center', hideInk = false, placement = 'top', measureHeightOffset, }) => html `
12
- <kemet-tabs selected="${selected}" panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>
26
+ const NamedTemplate = (args) => html `
27
+ <kemet-tabs selected="${ifDefined(args.selected)}" panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>
13
28
  <kemet-tab slot="tab" link="account">
14
29
  <kemet-icon icon="person-circle"></kemet-icon>&nbsp;Account
15
30
  </kemet-tab>
@@ -20,28 +35,28 @@ const NamedTemplate = ({ selected = 'settings', panelEffect = 'slide', swipe = t
20
35
  <kemet-icon icon="columns-gap"></kemet-icon>&nbsp;Dashboard
21
36
  </kemet-tab>
22
37
  <kemet-tab-panel panel="account" slot="panel">
23
- <h3 kemet-margin-top="tiny:none">Account</h3>
38
+ <h3 kemet-margin-top="none">Account</h3>
24
39
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
25
40
  </kemet-tab-panel>
26
41
  <kemet-tab-panel panel="settings" slot="panel">
27
- <h3 kemet-margin-top="tiny:none">Settings</h3>
42
+ <h3 kemet-margin-top="none">Settings</h3>
28
43
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
29
44
  </kemet-tab-panel>
30
45
  <kemet-tab-panel panel="dashboard" slot="panel">
31
- <h3 kemet-margin-top="tiny:none">Dashboard</h3>
46
+ <h3 kemet-margin-top="none">Dashboard</h3>
32
47
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
33
48
  <p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>
34
49
  </kemet-tab-panel>
35
50
  </kemet-tabs>
36
51
  <hr />
37
52
  `;
38
- const IndexTemplate = ({ panelEffect = 'slide', swipe = true, divider = true, tabsAlign = 'center', hideInk = false, placement = 'top', numOfTabs = 5, closable = true, measureHeightOffset, }) => {
53
+ const IndexTemplate = (args) => {
39
54
  const tabs = [];
40
55
  const panels = [];
41
- for (let i = 0; i < numOfTabs; i += 1) {
42
- tabs.push(html `<kemet-tab slot="tab" ?closable=${closable}>This is tab ${i + 1}.</kemet-tab>`);
56
+ for (let i = 0; i < args.numOfTabs; i += 1) {
57
+ tabs.push(html `<kemet-tab slot="tab" ?closable=${args.closable}>This is tab ${i + 1}.</kemet-tab>`);
43
58
  }
44
- for (let i = 0; i < numOfTabs; i += 1) {
59
+ for (let i = 0; i < args.numOfTabs; i += 1) {
45
60
  panels.push(html `
46
61
  <kemet-tab-panel slot="panel">
47
62
  <h3>Panel ${i + 1}</h3>
@@ -50,7 +65,7 @@ const IndexTemplate = ({ panelEffect = 'slide', swipe = true, divider = true, ta
50
65
  `);
51
66
  }
52
67
  return html `
53
- <kemet-tabs panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>
68
+ <kemet-tabs panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>
54
69
  ${tabs}
55
70
  ${panels}
56
71
  </kemet-tabs>
@@ -60,83 +75,68 @@ export const SelectByName = {
60
75
  render: (args) => NamedTemplate(args),
61
76
  args: {
62
77
  selected: 'settings',
63
- panelEffect: 'slide',
64
- swipe: true,
65
- divider: true,
66
- tabsAlign: 'center',
67
- hideInk: false,
68
- placement: 'top',
69
78
  },
70
- argTypes: {
71
- panelEffect: {
72
- control: { type: 'select' },
73
- options: ['none', 'slide', 'fade'],
74
- },
75
- swipe: {
76
- control: { type: 'boolean' },
77
- },
78
- divider: {
79
- control: { type: 'boolean' },
80
- },
81
- tabsAlign: {
82
- control: { type: 'select' },
83
- options: ['center', 'between', 'around', 'evenly', 'start', 'end'],
84
- },
85
- hideInk: {
86
- control: { type: 'boolean' },
87
- },
88
- placement: {
89
- control: { type: 'select' },
90
- options: ['top', 'right', 'bottom', 'left'],
91
- },
92
- measureHeightOffset: {
93
- control: { type: 'number' },
94
- },
95
- }
96
79
  };
97
80
  export const SelectByIndex = {
81
+ render: (args) => IndexTemplate(args),
82
+ args: {
83
+ numOfTabs: 5,
84
+ },
85
+ };
86
+ export const Closable = {
98
87
  render: (args) => IndexTemplate(args),
99
88
  args: {
100
89
  numOfTabs: 5,
101
90
  closable: true,
91
+ },
92
+ };
93
+ export const Fade = {
94
+ render: (args) => IndexTemplate(args),
95
+ args: {
96
+ numOfTabs: 5,
97
+ panelEffect: 'fade',
98
+ },
99
+ };
100
+ export const Slide = {
101
+ render: (args) => IndexTemplate(args),
102
+ args: {
103
+ numOfTabs: 5,
102
104
  panelEffect: 'slide',
103
- swipe: true,
105
+ },
106
+ };
107
+ export const Divider = {
108
+ render: (args) => IndexTemplate(args),
109
+ args: {
110
+ numOfTabs: 5,
104
111
  divider: true,
105
- tabsAlign: 'center',
106
- hideInk: false,
107
- placement: 'top',
108
112
  },
109
- argTypes: {
110
- numOfTabs: {
111
- control: { type: 'number' },
112
- },
113
- closable: {
114
- control: { type: 'boolean' },
115
- },
116
- panelEffect: {
117
- control: { type: 'select' },
118
- options: ['none', 'slide', 'fade'],
119
- },
120
- swipe: {
121
- control: { type: 'boolean' },
122
- },
123
- divider: {
124
- control: { type: 'boolean' },
125
- },
126
- tabsAlign: {
127
- control: { type: 'select' },
128
- options: ['center', 'between', 'around', 'evenly', 'start', 'end'],
129
- },
130
- hideInk: {
131
- control: { type: 'boolean' },
132
- },
133
- placement: {
134
- control: { type: 'select' },
135
- options: ['top', 'right', 'bottom', 'left'],
136
- },
137
- measureHeightOffset: {
138
- control: { type: 'number' },
139
- },
140
- }
113
+ };
114
+ export const NoInk = {
115
+ render: (args) => IndexTemplate(args),
116
+ args: {
117
+ numOfTabs: 5,
118
+ hideInk: true,
119
+ },
120
+ };
121
+ export const Right = {
122
+ render: (args) => IndexTemplate(args),
123
+ args: {
124
+ numOfTabs: 3,
125
+ placement: 'right',
126
+ },
127
+ };
128
+ export const Bottom = {
129
+ render: (args) => IndexTemplate(args),
130
+ args: {
131
+ numOfTabs: 3,
132
+ placement: 'bottom',
133
+ },
134
+ };
135
+ export const Left = {
136
+ render: (args) => IndexTemplate(args),
137
+ args: {
138
+ numOfTabs: 3,
139
+ placement: 'left',
140
+ },
141
141
  };
142
142
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-tabs/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-tabs';\nimport '../kemet-tab';\nimport '../kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Tabs',\n component: 'kemet-tabs',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst NamedTemplate = ({\n selected = 'settings',\n panelEffect = 'slide',\n swipe = true,\n divider = true,\n tabsAlign = 'center',\n hideInk = false,\n placement = 'top',\n measureHeightOffset,\n}) => html`\n <kemet-tabs selected=\"${selected}\" panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>\n <kemet-tab slot=\"tab\" link=\"account\">\n <kemet-icon icon=\"person-circle\"></kemet-icon>&nbsp;Account\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"settings\">\n <kemet-icon icon=\"gear\"></kemet-icon>&nbsp;Settings\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"dashboard\">\n <kemet-icon icon=\"columns-gap\"></kemet-icon>&nbsp;Dashboard\n </kemet-tab>\n <kemet-tab-panel panel=\"account\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Account</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"settings\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Settings</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"dashboard\" slot=\"panel\">\n <h3 kemet-margin-top=\"tiny:none\">Dashboard</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n <p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>\n </kemet-tab-panel>\n </kemet-tabs>\n <hr />\n`;\n\nconst IndexTemplate = ({\n panelEffect = 'slide',\n swipe = true,\n divider = true,\n tabsAlign = 'center',\n hideInk = false,\n placement = 'top',\n numOfTabs = 5,\n closable = true,\n measureHeightOffset,\n}) => {\n const tabs = [];\n const panels = [];\n\n for (let i = 0; i < numOfTabs; i += 1) {\n tabs.push(html`<kemet-tab slot=\"tab\" ?closable=${closable}>This is tab ${i + 1}.</kemet-tab>`);\n }\n\n for (let i = 0; i < numOfTabs; i += 1) {\n panels.push(html`\n <kemet-tab-panel slot=\"panel\">\n <h3>Panel ${i + 1}</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n `);\n }\n\n return html`\n <kemet-tabs panel-effect=${panelEffect} ?swipe=${swipe} ?divider=${divider} tabs-align=${tabsAlign} ?hide-ink=${hideInk} placement=${placement} measure-height-offset=${ifDefined(measureHeightOffset)}>\n ${tabs}\n ${panels}\n </kemet-tabs>\n `;\n};\n\nexport const SelectByName: Story = {\n render: (args: any) => NamedTemplate(args),\n args: {\n selected: 'settings',\n panelEffect: 'slide',\n swipe: true,\n divider: true,\n tabsAlign: 'center',\n hideInk: false,\n placement: 'top',\n },\n argTypes: {\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n swipe: {\n control: { type: 'boolean' },\n },\n divider: {\n control: { type: 'boolean' },\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n hideInk: {\n control: { type: 'boolean' },\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n measureHeightOffset: {\n control: { type: 'number' },\n },\n }\n};\n\nexport const SelectByIndex: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n closable: true,\n panelEffect: 'slide',\n swipe: true,\n divider: true,\n tabsAlign: 'center',\n hideInk: false,\n placement: 'top',\n },\n argTypes: {\n numOfTabs: {\n control: { type: 'number' },\n },\n closable: {\n control: { type: 'boolean' },\n },\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n swipe: {\n control: { type: 'boolean' },\n },\n divider: {\n control: { type: 'boolean' },\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n hideInk: {\n control: { type: 'boolean' },\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n measureHeightOffset: {\n control: { type: 'number' },\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-tabs/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-tabs';\nimport '../kemet-tab';\nimport '../kemet-tab-panel';\n\nimport '../../kemet-icon/kemet-icon';\n\nconst meta: Meta = {\n title: 'Components / Tabs',\n component: 'kemet-tabs',\n argTypes: {\n panelEffect: {\n control: { type: 'select' },\n options: ['none', 'slide', 'fade'],\n },\n tabsAlign: {\n control: { type: 'select' },\n options: ['center', 'between', 'around', 'evenly', 'start', 'end'],\n },\n placement: {\n control: { type: 'select' },\n options: ['top', 'right', 'bottom', 'left'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst NamedTemplate = (args) => html`\n <kemet-tabs selected=\"${ifDefined(args.selected)}\" panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>\n <kemet-tab slot=\"tab\" link=\"account\">\n <kemet-icon icon=\"person-circle\"></kemet-icon>&nbsp;Account\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"settings\">\n <kemet-icon icon=\"gear\"></kemet-icon>&nbsp;Settings\n </kemet-tab>\n <kemet-tab slot=\"tab\" link=\"dashboard\">\n <kemet-icon icon=\"columns-gap\"></kemet-icon>&nbsp;Dashboard\n </kemet-tab>\n <kemet-tab-panel panel=\"account\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Account</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"settings\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Settings</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n <kemet-tab-panel panel=\"dashboard\" slot=\"panel\">\n <h3 kemet-margin-top=\"none\">Dashboard</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n <p>Tellus integer feugiat scelerisque varius morbi. Non odio euismod lacinia at quis. Dictum sit amet justo donec. Nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Sollicitudin ac orci phasellus egestas tellus rutrum tellus. Sed nisi lacus sed viverra tellus. Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin libero. Arcu dui vivamus arcu felis bibendum ut tristique. Dictum at tempor commodo ullamcorper a. Nisl nunc mi ipsum faucibus vitae. In eu mi bibendum neque.</p>\n </kemet-tab-panel>\n </kemet-tabs>\n <hr />\n`;\n\nconst IndexTemplate = (args) => {\n const tabs = [];\n const panels = [];\n\n for (let i = 0; i < args.numOfTabs; i += 1) {\n tabs.push(html`<kemet-tab slot=\"tab\" ?closable=${args.closable}>This is tab ${i + 1}.</kemet-tab>`);\n }\n\n for (let i = 0; i < args.numOfTabs; i += 1) {\n panels.push(html`\n <kemet-tab-panel slot=\"panel\">\n <h3>Panel ${i + 1}</h3>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>\n </kemet-tab-panel>\n `);\n }\n\n return html`\n <kemet-tabs panel-effect=${ifDefined(args.panelEffect)} ?swipe=${args.swipe} ?divider=${args.divider} tabs-align=${ifDefined(args.tabsAlign)} ?hide-ink=${args.hideInk} placement=${ifDefined(args.placement)} measure-height-offset=${ifDefined(args.measureHeightOffset)}>\n ${tabs}\n ${panels}\n </kemet-tabs>\n `;\n};\n\nexport const SelectByName: Story = {\n render: (args: any) => NamedTemplate(args),\n args: {\n selected: 'settings',\n },\n};\n\nexport const SelectByIndex: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n },\n};\n\nexport const Closable: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n closable: true,\n },\n};\n\nexport const Fade: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n panelEffect: 'fade',\n },\n};\n\nexport const Slide: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n panelEffect: 'slide',\n },\n};\n\nexport const Divider: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n divider: true,\n },\n};\n\nexport const NoInk: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 5,\n hideInk: true,\n },\n};\n\nexport const Right: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'right',\n },\n};\n\nexport const Bottom: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'bottom',\n },\n};\n\nexport const Left: Story = {\n render: (args: any) => IndexTemplate(args),\n args: {\n numOfTabs: 3,\n placement: 'left',\n },\n};\n"]}
@@ -9,13 +9,14 @@ import { LitElement } from 'lit';
9
9
  * @prop {boolean} selected - Is true when a panel is selected
10
10
  * @prop {string} panel - Identifies the panel to be linked by a tab
11
11
  *
12
- * @cssproperty --kemet-tab-panel-fade-speed - The fade speed. Default: 0.5s.
12
+ * @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
13
13
  *
14
14
  */
15
15
  export default class KemetTabPanel extends LitElement {
16
16
  static styles: import("lit").CSSResult[];
17
17
  selected: boolean;
18
18
  panel: string;
19
+ index: number;
19
20
  updated(): void;
20
21
  render(): import("lit-html").TemplateResult<1>;
21
22
  a11y(): void;
@@ -12,7 +12,7 @@ import { stylesKemetTabPanel } from './styles';
12
12
  * @prop {boolean} selected - Is true when a panel is selected
13
13
  * @prop {string} panel - Identifies the panel to be linked by a tab
14
14
  *
15
- * @cssproperty --kemet-tab-panel-fade-speed - The fade speed. Default: 0.5s.
15
+ * @cssproperty --kemet-tab-panel-fade-speed - The fade speed.
16
16
  *
17
17
  */
18
18
  let KemetTabPanel = class KemetTabPanel extends LitElement {
@@ -45,6 +45,9 @@ __decorate([
45
45
  __decorate([
46
46
  property({ type: String })
47
47
  ], KemetTabPanel.prototype, "panel", void 0);
48
+ __decorate([
49
+ property({ type: Number })
50
+ ], KemetTabPanel.prototype, "index", void 0);
48
51
  KemetTabPanel = __decorate([
49
52
  customElement('kemet-tab-panel')
50
53
  ], KemetTabPanel);
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-tab-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IAArD;;QAIE,aAAQ,GAAY,KAAK,CAAC;IAwB5B,CAAC;IAnBC,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;CACF,CAAA;AA3BQ,oBAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAGtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACb;AAPK,aAAa;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACZ,aAAa,CA4BjC;eA5BoB,aAAa","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesKemetTabPanel } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab-panel\n * @summary A panel in a set of tabs.\n *\n * @prop {boolean} selected - Is true when a panel is selected\n * @prop {string} panel - Identifies the panel to be linked by a tab\n *\n * @cssproperty --kemet-tab-panel-fade-speed - The fade speed. Default: 0.5s.\n *\n */\n\n@customElement('kemet-tab-panel')\nexport default class KemetTabPanel extends LitElement {\n static styles = [stylesKemetTabPanel];\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n panel: string;\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n a11y() {\n this.setAttribute('role', 'tabpanel');\n\n if (this.selected) {\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('tabindex', '-1');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab-panel': KemetTabPanel\n }\n}\n\n"]}
1
+ {"version":3,"file":"kemet-tab-panel.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab-panel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;;;;;;;;GAYG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IAArD;;QAIE,aAAQ,GAAY,KAAK,CAAC;IA2B5B,CAAC;IAnBC,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;CACF,CAAA;AA9BQ,oBAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAGtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACb;AAVK,aAAa;IADjC,aAAa,CAAC,iBAAiB,CAAC;GACZ,aAAa,CA+BjC;eA/BoB,aAAa","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesKemetTabPanel } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab-panel\n * @summary A panel in a set of tabs.\n *\n * @prop {boolean} selected - Is true when a panel is selected\n * @prop {string} panel - Identifies the panel to be linked by a tab\n *\n * @cssproperty --kemet-tab-panel-fade-speed - The fade speed.\n *\n */\n\n@customElement('kemet-tab-panel')\nexport default class KemetTabPanel extends LitElement {\n static styles = [stylesKemetTabPanel];\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n panel: string;\n\n @property({ type: Number })\n index: number;\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n a11y() {\n this.setAttribute('role', 'tabpanel');\n\n if (this.selected) {\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('tabindex', '-1');\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab-panel': KemetTabPanel\n }\n}\n"]}
@@ -10,8 +10,8 @@ import { LitElement } from 'lit';
10
10
  * @prop {string} link - Links to a panel name
11
11
  * @prop {boolean} closable - Determines if the tab can be closed
12
12
  *
13
- * @cssproperty --kemet-tab-padding - The padding of the tab. Default: 1rem.
14
- * @cssproperty --kemet-tab-color - The color of the selected tab. Default: var(--kemet-color-background).
13
+ * @cssproperty --kemet-tab-padding - The padding of the tab.
14
+ * @cssproperty --kemet-tab-color - The color of the selected tab.
15
15
  *
16
16
  * @event kemet-tab-selected - Fires when a tab is selected
17
17
  * @event kemet-tab-close - Fires when the tab should close
@@ -19,6 +19,7 @@ import { LitElement } from 'lit';
19
19
  */
20
20
  export default class KemetTab extends LitElement {
21
21
  static styles: import("lit").CSSResult[];
22
+ index: number;
22
23
  selected: boolean;
23
24
  link: string;
24
25
  closable: boolean;
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { LitElement, html } from 'lit';
3
- import { emitEvent } from '../../utilities/misc/events';
4
3
  import { customElement, property } from 'lit/decorators.js';
4
+ import { emitEvent } from '../../utilities/misc/events';
5
5
  import { stylesKemetTab } from './styles';
6
6
  /**
7
7
  * @since 1.0.0
@@ -14,8 +14,8 @@ import { stylesKemetTab } from './styles';
14
14
  * @prop {string} link - Links to a panel name
15
15
  * @prop {boolean} closable - Determines if the tab can be closed
16
16
  *
17
- * @cssproperty --kemet-tab-padding - The padding of the tab. Default: 1rem.
18
- * @cssproperty --kemet-tab-color - The color of the selected tab. Default: var(--kemet-color-background).
17
+ * @cssproperty --kemet-tab-padding - The padding of the tab.
18
+ * @cssproperty --kemet-tab-color - The color of the selected tab.
19
19
  *
20
20
  * @event kemet-tab-selected - Fires when a tab is selected
21
21
  * @event kemet-tab-close - Fires when the tab should close
@@ -63,6 +63,9 @@ let KemetTab = class KemetTab extends LitElement {
63
63
  }
64
64
  };
65
65
  KemetTab.styles = [stylesKemetTab];
66
+ __decorate([
67
+ property({ type: Number })
68
+ ], KemetTab.prototype, "index", void 0);
66
69
  __decorate([
67
70
  property({ type: Boolean, reflect: true })
68
71
  ], KemetTab.prototype, "selected", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-tab.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;;;;;;;GAiBG;AAGH,IAAqB,QAAQ,GAA7B,MAAqB,QAAS,SAAQ,UAAU;IAAhD;;QAIE,aAAQ,GAAY,KAAK,CAAC;IAmD5B,CAAC;IA1CC,YAAY;QACV,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,aAAa,EAAE;KACvB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,SAAS,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAA,kCAAkC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;SAC1F;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAtDQ,eAAM,GAAG,CAAC,cAAc,CAAC,CAAC;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACd;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACV;AAVC,QAAQ;IAD5B,aAAa,CAAC,WAAW,CAAC;GACN,QAAQ,CAuD5B;eAvDoB,QAAQ","sourcesContent":["import { LitElement, html } from 'lit';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesKemetTab } from './styles';\n\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab\n * @summary A tab in a set of tabs.\n *\n * @prop {boolean} selected - Is true when the tab is selected\n * @prop {string} link - Links to a panel name\n * @prop {boolean} closable - Determines if the tab can be closed\n *\n * @cssproperty --kemet-tab-padding - The padding of the tab. Default: 1rem.\n * @cssproperty --kemet-tab-color - The color of the selected tab. Default: var(--kemet-color-background).\n *\n * @event kemet-tab-selected - Fires when a tab is selected\n * @event kemet-tab-close - Fires when the tab should close\n *\n */\n\n@customElement('kemet-tab')\nexport default class KemetTab extends LitElement {\n static styles = [stylesKemetTab];\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n link: string;\n\n @property({ type: Boolean })\n closable: boolean;\n\n\n firstUpdated() {\n this.addEventListener('click', this.select.bind(this));\n }\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n ${this.makeCloseable()}\n `;\n }\n\n select() {\n emitEvent(this, 'kemet-tab-selected', this);\n }\n\n a11y() {\n this.setAttribute('role', 'tab');\n\n if (this.selected) {\n this.setAttribute('aria-selected', 'true');\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('aria-selected', 'false');\n this.setAttribute('tabindex', '-1');\n }\n }\n\n makeCloseable() {\n if (this.closable) {\n return html`<kemet-icon icon=\"x-lg\" @click=${() => this.handleClosable()}></kemet-icon>`;\n }\n\n return null;\n }\n\n handleClosable() {\n emitEvent(this, 'kemet-tab-close', this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab': KemetTab\n }\n}\n\n"]}
1
+ {"version":3,"file":"kemet-tab.js","sourceRoot":"","sources":["../../../src/components/kemet-tabs/kemet-tab.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AAGH,IAAqB,QAAQ,GAA7B,MAAqB,QAAS,SAAQ,UAAU;IAAhD;;QAOE,aAAQ,GAAY,KAAK,CAAC;IAkD5B,CAAC;IA1CC,YAAY;QACV,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;QAEP,IAAI,CAAC,aAAa,EAAE;KACvB,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,SAAS,CAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACrC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,OAAO,IAAI,CAAA,kCAAkC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC;SAC1F;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc;QACZ,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAxDQ,eAAM,GAAG,CAAC,cAAc,CAAC,CAAC;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uCACb;AAGd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CACjB;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sCACd;AAGb;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACV;AAbC,QAAQ;IAD5B,aAAa,CAAC,WAAW,CAAC;GACN,QAAQ,CAyD5B;eAzDoB,QAAQ","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesKemetTab } from './styles';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tab\n * @summary A tab in a set of tabs.\n *\n * @prop {boolean} selected - Is true when the tab is selected\n * @prop {string} link - Links to a panel name\n * @prop {boolean} closable - Determines if the tab can be closed\n *\n * @cssproperty --kemet-tab-padding - The padding of the tab.\n * @cssproperty --kemet-tab-color - The color of the selected tab.\n *\n * @event kemet-tab-selected - Fires when a tab is selected\n * @event kemet-tab-close - Fires when the tab should close\n *\n */\n\n@customElement('kemet-tab')\nexport default class KemetTab extends LitElement {\n static styles = [stylesKemetTab];\n\n @property({ type: Number })\n index: number;\n\n @property({ type: Boolean, reflect: true })\n selected: boolean = false;\n\n @property({ type: String })\n link: string;\n\n @property({ type: Boolean })\n closable: boolean;\n\n firstUpdated() {\n this.addEventListener('click', this.select.bind(this));\n }\n\n updated() {\n this.a11y();\n }\n\n render() {\n return html`\n <slot></slot>\n ${this.makeCloseable()}\n `;\n }\n\n select() {\n emitEvent(this, 'kemet-tab-selected', this);\n }\n\n a11y() {\n this.setAttribute('role', 'tab');\n\n if (this.selected) {\n this.setAttribute('aria-selected', 'true');\n this.setAttribute('tabindex', '0');\n } else {\n this.setAttribute('aria-selected', 'false');\n this.setAttribute('tabindex', '-1');\n }\n }\n\n makeCloseable() {\n if (this.closable) {\n return html`<kemet-icon icon=\"x-lg\" @click=${() => this.handleClosable()}></kemet-icon>`;\n }\n\n return null;\n }\n\n handleClosable() {\n emitEvent(this, 'kemet-tab-close', this);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tab': KemetTab\n }\n}\n"]}
@@ -1,5 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
3
+ import type KemetTab from './kemet-tab';
4
+ import type KemetTabPanel from './kemet-tab-panel';
3
5
  /**
4
6
  * @since 1.0.0
5
7
  * @status stable
@@ -11,12 +13,12 @@ import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
11
13
  * @prop {number} selectedIndex - The selected tab by index
12
14
  * @prop {number} panelPosition - Positions the current panel
13
15
  * @prop {string} panelEffect - The transition effect for panels
14
- * @prop {boolean} swipe - Determines whether or not to enable swipe behavior
16
+ * @prop {boolean} swipe - Determines whether to enable swipe behavior
15
17
  * @prop {string} placement - Places the tabs to the top, right, bottom, or left
16
- * @prop {boolean} divider - Determines whether or not to show a divider line
18
+ * @prop {boolean} divider - Determines whether to show a divider line
17
19
  * @prop {string} tabsAlign - Spacing alignment of the tabs
18
20
  * @prop {object} ink - An object that contains information about the ink
19
- * @prop {boolean} hideInk - Determines whether or not to hide the ink
21
+ * @prop {boolean} hideInk - Determines whether to hide the ink
20
22
  * @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
21
23
  *
22
24
  * @slot tab - Place the tabs here.
@@ -28,17 +30,23 @@ import { TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';
28
30
  * @csspart ink - The ink element.
29
31
  * @csspart divider - The divider element.
30
32
  *
31
- * @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.
32
- * @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.
33
- * @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).
34
- * @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.
35
- * @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).
36
- * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.
37
- * @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.
33
+ * @cssproperty --kemet-tabs-ink-size - The thickness of the ink.
34
+ * @cssproperty --kemet-tabs-ink-radius - The radius on the ink.
35
+ * @cssproperty --kemet-tabs-ink-color - The color of the ink.
36
+ * @cssproperty --kemet-tabs-divider-size - The thickness of the divider.
37
+ * @cssproperty --kemet-tabs-divider-color - The color of the divider.
38
+ * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels.
39
+ * @cssproperty --kemet-tabs-spacer - The space between tabs and panels.
38
40
  *
39
41
  * @event kemet-tab-changed - Fires when a tab is changed
40
42
  *
41
43
  */
44
+ interface Iink {
45
+ width: string;
46
+ height: string;
47
+ positionX: string;
48
+ positionY: string;
49
+ }
42
50
  export default class KemetTabs extends LitElement {
43
51
  static styles: import("lit").CSSResult[];
44
52
  selected: string;
@@ -49,11 +57,11 @@ export default class KemetTabs extends LitElement {
49
57
  placement: TypePlacement;
50
58
  divider: boolean;
51
59
  tabsAlign: TypeTabsAlign;
52
- ink: any;
60
+ ink: Iink;
53
61
  hideInk: boolean;
54
62
  overflow: boolean;
55
- tabs: any[];
56
- panels: any[];
63
+ tabs: KemetTab[];
64
+ panels: KemetTabPanel[];
57
65
  xDown: number | null;
58
66
  yDown: number | null;
59
67
  links: HTMLElement;
@@ -61,31 +69,32 @@ export default class KemetTabs extends LitElement {
61
69
  constructor();
62
70
  firstUpdated(): void;
63
71
  render(): import("lit-html").TemplateResult<1>;
64
- updated(): void;
72
+ updated(prevProps: Map<string, never>): void;
65
73
  handleLinksSlotChange(): void;
66
74
  handlePanelsSlotChange(): void;
67
75
  handleLeftArrow(): void;
68
76
  handleRightArrow(): void;
69
- handleTabClose(event: any): void;
70
- makeInk(location: any): import("lit-html").TemplateResult<1>;
77
+ handleTabClose(event: CustomEvent): void;
78
+ makeInk(location: string): import("lit-html").TemplateResult<1>;
71
79
  makeDivider(): import("lit-html").TemplateResult<1>;
72
80
  makeLeftArrow(): import("lit-html").TemplateResult<1>;
73
81
  makeRightArrow(): import("lit-html").TemplateResult<1>;
74
82
  selectTab(): void;
75
83
  selectPanel(): void;
76
84
  dispatchTabChange(): void;
77
- tabSelectedChange(event: any): void;
85
+ tabSelectedChange(event: CustomEvent): void;
78
86
  determineFade(): void;
79
87
  determineStacked(): void;
80
88
  determineOverflow(): void;
81
89
  handleResize(): void;
82
- animatePanel(panelName: any, panelIndex: any): void;
83
- handleTabKeydown(event: any): void;
84
- handleTouchStart(event: any): void;
85
- handleTouchMove(event: any): void;
90
+ animatePanel(panelName: string, panelIndex: number): void;
91
+ handleTabKeydown(event: KeyboardEvent): void;
92
+ handleTouchStart(event: TouchEvent): void;
93
+ handleTouchMove(event: TouchEvent): void;
86
94
  }
87
95
  declare global {
88
96
  interface HTMLElementTagNameMap {
89
97
  'kemet-tabs': KemetTabs;
90
98
  }
91
99
  }
100
+ export {};
@@ -2,48 +2,9 @@ import { __decorate } from "tslib";
2
2
  /* eslint-disable no-lonely-if */
3
3
  /* eslint-disable no-case-declarations */
4
4
  import { LitElement, html } from 'lit';
5
- import { stylesKemetTabs } from './styles';
5
+ import { customElement, property, query, state, } from 'lit/decorators.js';
6
6
  import { emitEvent } from '../../utilities/misc/events';
7
- import { customElement, property, query, state } from 'lit/decorators.js';
8
- /**
9
- * @since 1.0.0
10
- * @status stable
11
- *
12
- * @tagname kemet-tabs
13
- * @summary A group of tabs and panels.
14
- *
15
- * @prop {string} selected - The selected tab by name
16
- * @prop {number} selectedIndex - The selected tab by index
17
- * @prop {number} panelPosition - Positions the current panel
18
- * @prop {string} panelEffect - The transition effect for panels
19
- * @prop {boolean} swipe - Determines whether or not to enable swipe behavior
20
- * @prop {string} placement - Places the tabs to the top, right, bottom, or left
21
- * @prop {boolean} divider - Determines whether or not to show a divider line
22
- * @prop {string} tabsAlign - Spacing alignment of the tabs
23
- * @prop {object} ink - An object that contains information about the ink
24
- * @prop {boolean} hideInk - Determines whether or not to hide the ink
25
- * @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container
26
- *
27
- * @slot tab - Place the tabs here.
28
- * @slot panel - Place the panels here.
29
- *
30
- * @csspart links - The container for the tablist.
31
- * @csspart tablist - Contains the tabs.
32
- * @csspart panels - Contains the panels.
33
- * @csspart ink - The ink element.
34
- * @csspart divider - The divider element.
35
- *
36
- * @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.
37
- * @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.
38
- * @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).
39
- * @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.
40
- * @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).
41
- * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.
42
- * @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.
43
- *
44
- * @event kemet-tab-changed - Fires when a tab is changed
45
- *
46
- */
7
+ import { stylesKemetTabs } from './styles';
47
8
  let KemetTabs = class KemetTabs extends LitElement {
48
9
  constructor() {
49
10
  super();
@@ -84,9 +45,17 @@ let KemetTabs = class KemetTabs extends LitElement {
84
45
  </section>
85
46
  `;
86
47
  }
87
- updated() {
48
+ updated(prevProps) {
88
49
  this.determineFade();
89
50
  this.determineStacked();
51
+ if (prevProps.get('selected') && prevProps.get('selected') !== this.selected) {
52
+ this.selectTab();
53
+ this.selectPanel();
54
+ }
55
+ if (typeof prevProps.get('selectedIndex') === 'number' && prevProps.get('selectedIndex') !== this.selected) {
56
+ this.selectTab();
57
+ this.selectPanel();
58
+ }
90
59
  }
91
60
  handleLinksSlotChange() {
92
61
  const tabs = this.querySelectorAll('kemet-tab');
@@ -323,12 +292,7 @@ let KemetTabs = class KemetTabs extends LitElement {
323
292
  tabElements.forEach((tab) => {
324
293
  totalTabsWidth += tab.offsetWidth;
325
294
  });
326
- if (totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom')) {
327
- this.overflow = true;
328
- }
329
- else {
330
- this.overflow = false;
331
- }
295
+ this.overflow = totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom');
332
296
  }
333
297
  handleResize() {
334
298
  if (this.tabs && this.panels) {