kemet-ui 2.0.0 → 2.0.2

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 (601) hide show
  1. package/custom-elements.json +305 -305
  2. package/dist/components/kemet-alert/docs/stories.js.map +1 -1
  3. package/dist/components/kemet-avatar/docs/stories.d.ts +1 -0
  4. package/dist/components/kemet-avatar/docs/stories.js +5 -4
  5. package/dist/components/kemet-avatar/docs/stories.js.map +1 -1
  6. package/dist/components/kemet-card/docs/stories.js.map +1 -0
  7. package/dist/components/kemet-carousel/docs/stories.js.map +1 -0
  8. package/dist/components/kemet-carousel/kemet-carousel.d.ts +13 -0
  9. package/dist/components/kemet-carousel/kemet-carousel.js +2 -0
  10. package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
  11. package/dist/components/kemet-checkbox/docs/stories.js.map +1 -0
  12. package/dist/components/kemet-combo/docs/stories.js.map +1 -0
  13. package/dist/components/kemet-count/docs/stories.js.map +1 -0
  14. package/dist/components/kemet-draggable/docs/stories.js.map +1 -0
  15. package/dist/components/kemet-draggable/kemet-draggable.d.ts +7 -0
  16. package/dist/components/kemet-draggable/kemet-draggable.js.map +1 -1
  17. package/dist/components/kemet-drawer/docs/stories.js.map +1 -0
  18. package/dist/components/kemet-fab/docs/stories.js.map +1 -0
  19. package/dist/components/kemet-field/docs/stories.js.map +1 -0
  20. package/dist/components/kemet-flipcard/docs/stories.js.map +1 -0
  21. package/dist/components/kemet-icon/docs/stories.js.map +1 -0
  22. package/dist/components/kemet-input/docs/stories.js.map +1 -0
  23. package/dist/components/kemet-modal/docs/stories.js.map +1 -0
  24. package/dist/components/kemet-password/docs/stories.js.map +1 -0
  25. package/dist/components/kemet-popper/docs/stories.js.map +1 -0
  26. package/dist/components/kemet-radio/docs/stories.js.map +1 -0
  27. package/dist/components/kemet-rotator/docs/stories.js.map +1 -0
  28. package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -0
  29. package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -0
  30. package/dist/components/kemet-scroll-nav/styles.js +1 -0
  31. package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
  32. package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -0
  33. package/dist/components/kemet-select/docs/stories.js.map +1 -0
  34. package/dist/components/kemet-sortable/docs/stories.js.map +1 -0
  35. package/dist/components/kemet-svgs/docs/stories.js.map +1 -0
  36. package/dist/components/kemet-tabs/docs/stories.js.map +1 -0
  37. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
  38. package/dist/components/kemet-tabs/kemet-tabs.d.ts +1 -5
  39. package/dist/components/kemet-tabs/kemet-tabs.js +8 -27
  40. package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
  41. package/dist/components/kemet-tabs/styles.js +14 -0
  42. package/dist/components/kemet-tabs/styles.js.map +1 -1
  43. package/dist/components/kemet-tabs/types.d.ts +1 -3
  44. package/dist/components/kemet-tabs/types.js.map +1 -1
  45. package/dist/components/kemet-textarea/docs/stories.js.map +1 -0
  46. package/dist/components/kemet-toggle/docs/stories.js.map +1 -0
  47. package/dist/components/kemet-tooltip/docs/stories.js.map +1 -0
  48. package/dist/components/kemet-tracker/docs/stories.js.map +1 -0
  49. package/dist/components/kemet-upload/docs/stories.js.map +1 -0
  50. package/dist/kemet-components.bundle.js +7 -7
  51. package/dist/kemet-components.bundle.js.map +1 -1
  52. package/dist/kemet-components.cjs +1802 -1804
  53. package/dist/kemet-components.js +1802 -1804
  54. package/dist/styles/components/_config.scss +4 -0
  55. package/dist/styles/components/accordion.scss +9 -0
  56. package/dist/styles/components/drawer.scss +11 -0
  57. package/dist/styles/components/modal.scss +8 -0
  58. package/dist/styles/components/scrollsnap.scss +11 -0
  59. package/dist/styles/core/attributes.scss +38 -0
  60. package/dist/styles/core/layout.scss +169 -0
  61. package/dist/styles/kemet.base.css +1 -0
  62. package/dist/styles/kemet.base.scss +28 -0
  63. package/dist/styles/kemet.components.scss +4 -0
  64. package/dist/styles/kemet.core.css +155 -154
  65. package/dist/styles/kemet.core.css.map +1 -1
  66. package/dist/styles/kemet.core.scss +2 -0
  67. package/dist/styles/shared/_config.scss +358 -0
  68. package/dist/styles/shared/_helpers.scss +458 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +2 -2
  71. package/dist/.storybook/decorators.d.ts +0 -2
  72. package/dist/.storybook/decorators.js +0 -28
  73. package/dist/.storybook/decorators.js.map +0 -1
  74. package/dist/components/kemet-alert/stories.d.ts +0 -9
  75. package/dist/components/kemet-alert/stories.js +0 -77
  76. package/dist/components/kemet-alert/stories.js.map +0 -1
  77. package/dist/components/kemet-avatar/stories.d.ts +0 -10
  78. package/dist/components/kemet-avatar/stories.js +0 -85
  79. package/dist/components/kemet-avatar/stories.js.map +0 -1
  80. package/dist/src/components/kemet-accordion/kemet-accordion-panel.d.ts +0 -51
  81. package/dist/src/components/kemet-accordion/kemet-accordion-panel.js +0 -136
  82. package/dist/src/components/kemet-accordion/kemet-accordion-panel.js.map +0 -1
  83. package/dist/src/components/kemet-accordion/kemet-accordion.d.ts +0 -37
  84. package/dist/src/components/kemet-accordion/kemet-accordion.js +0 -129
  85. package/dist/src/components/kemet-accordion/kemet-accordion.js.map +0 -1
  86. package/dist/src/components/kemet-accordion/stories.d.ts +0 -10
  87. package/dist/src/components/kemet-accordion/stories.js +0 -44
  88. package/dist/src/components/kemet-accordion/stories.js.map +0 -1
  89. package/dist/src/components/kemet-accordion/styles.d.ts +0 -2
  90. package/dist/src/components/kemet-accordion/styles.js +0 -42
  91. package/dist/src/components/kemet-accordion/styles.js.map +0 -1
  92. package/dist/src/components/kemet-accordion/types.d.ts +0 -9
  93. package/dist/src/components/kemet-accordion/types.js +0 -2
  94. package/dist/src/components/kemet-accordion/types.js.map +0 -1
  95. package/dist/src/components/kemet-alert/docs/stories.d.ts +0 -9
  96. package/dist/src/components/kemet-alert/docs/stories.js +0 -77
  97. package/dist/src/components/kemet-alert/docs/stories.js.map +0 -1
  98. package/dist/src/components/kemet-alert/kemet-alert.d.ts +0 -52
  99. package/dist/src/components/kemet-alert/kemet-alert.js +0 -108
  100. package/dist/src/components/kemet-alert/kemet-alert.js.map +0 -1
  101. package/dist/src/components/kemet-alert/styles.d.ts +0 -1
  102. package/dist/src/components/kemet-alert/styles.js +0 -104
  103. package/dist/src/components/kemet-alert/styles.js.map +0 -1
  104. package/dist/src/components/kemet-alert/types.d.ts +0 -10
  105. package/dist/src/components/kemet-alert/types.js +0 -2
  106. package/dist/src/components/kemet-alert/types.js.map +0 -1
  107. package/dist/src/components/kemet-avatar/docs/stories.d.ts +0 -11
  108. package/dist/src/components/kemet-avatar/docs/stories.js +0 -86
  109. package/dist/src/components/kemet-avatar/docs/stories.js.map +0 -1
  110. package/dist/src/components/kemet-avatar/kemet-avatar.d.ts +0 -43
  111. package/dist/src/components/kemet-avatar/kemet-avatar.js +0 -78
  112. package/dist/src/components/kemet-avatar/kemet-avatar.js.map +0 -1
  113. package/dist/src/components/kemet-avatar/kemet-avatars.d.ts +0 -20
  114. package/dist/src/components/kemet-avatar/kemet-avatars.js +0 -25
  115. package/dist/src/components/kemet-avatar/kemet-avatars.js.map +0 -1
  116. package/dist/src/components/kemet-avatar/styles.d.ts +0 -2
  117. package/dist/src/components/kemet-avatar/styles.js +0 -58
  118. package/dist/src/components/kemet-avatar/styles.js.map +0 -1
  119. package/dist/src/components/kemet-avatar/types.d.ts +0 -8
  120. package/dist/src/components/kemet-avatar/types.js +0 -2
  121. package/dist/src/components/kemet-avatar/types.js.map +0 -1
  122. package/dist/src/components/kemet-badge/docs/stories.d.ts +0 -9
  123. package/dist/src/components/kemet-badge/docs/stories.js +0 -40
  124. package/dist/src/components/kemet-badge/docs/stories.js.map +0 -1
  125. package/dist/src/components/kemet-badge/kemet-badge.d.ts +0 -30
  126. package/dist/src/components/kemet-badge/kemet-badge.js +0 -55
  127. package/dist/src/components/kemet-badge/kemet-badge.js.map +0 -1
  128. package/dist/src/components/kemet-badge/styles.d.ts +0 -1
  129. package/dist/src/components/kemet-badge/styles.js +0 -40
  130. package/dist/src/components/kemet-badge/styles.js.map +0 -1
  131. package/dist/src/components/kemet-badge/types.d.ts +0 -6
  132. package/dist/src/components/kemet-badge/types.js +0 -2
  133. package/dist/src/components/kemet-badge/types.js.map +0 -1
  134. package/dist/src/components/kemet-button/docs/stories.d.ts +0 -9
  135. package/dist/src/components/kemet-button/docs/stories.js +0 -51
  136. package/dist/src/components/kemet-button/docs/stories.js.map +0 -1
  137. package/dist/src/components/kemet-button/kemet-button.d.ts +0 -89
  138. package/dist/src/components/kemet-button/kemet-button.js +0 -153
  139. package/dist/src/components/kemet-button/kemet-button.js.map +0 -1
  140. package/dist/src/components/kemet-button/styles.d.ts +0 -1
  141. package/dist/src/components/kemet-button/styles.js +0 -73
  142. package/dist/src/components/kemet-button/styles.js.map +0 -1
  143. package/dist/src/components/kemet-button/types.d.ts +0 -10
  144. package/dist/src/components/kemet-button/types.js +0 -2
  145. package/dist/src/components/kemet-button/types.js.map +0 -1
  146. package/dist/src/components/kemet-card/docs/stories.js.map +0 -1
  147. package/dist/src/components/kemet-card/kemet-card.d.ts +0 -47
  148. package/dist/src/components/kemet-card/kemet-card.js +0 -65
  149. package/dist/src/components/kemet-card/kemet-card.js.map +0 -1
  150. package/dist/src/components/kemet-card/styles.d.ts +0 -1
  151. package/dist/src/components/kemet-card/styles.js +0 -63
  152. package/dist/src/components/kemet-card/styles.js.map +0 -1
  153. package/dist/src/components/kemet-card/types.d.ts +0 -3
  154. package/dist/src/components/kemet-card/types.js +0 -2
  155. package/dist/src/components/kemet-card/types.js.map +0 -1
  156. package/dist/src/components/kemet-carousel/docs/stories.js.map +0 -1
  157. package/dist/src/components/kemet-carousel/kemet-carousel-current.d.ts +0 -26
  158. package/dist/src/components/kemet-carousel/kemet-carousel-current.js +0 -44
  159. package/dist/src/components/kemet-carousel/kemet-carousel-current.js.map +0 -1
  160. package/dist/src/components/kemet-carousel/kemet-carousel-first.d.ts +0 -25
  161. package/dist/src/components/kemet-carousel/kemet-carousel-first.js +0 -50
  162. package/dist/src/components/kemet-carousel/kemet-carousel-first.js.map +0 -1
  163. package/dist/src/components/kemet-carousel/kemet-carousel-last.d.ts +0 -25
  164. package/dist/src/components/kemet-carousel/kemet-carousel-last.js +0 -50
  165. package/dist/src/components/kemet-carousel/kemet-carousel-last.js.map +0 -1
  166. package/dist/src/components/kemet-carousel/kemet-carousel-link.d.ts +0 -31
  167. package/dist/src/components/kemet-carousel/kemet-carousel-link.js +0 -64
  168. package/dist/src/components/kemet-carousel/kemet-carousel-link.js.map +0 -1
  169. package/dist/src/components/kemet-carousel/kemet-carousel-next.d.ts +0 -25
  170. package/dist/src/components/kemet-carousel/kemet-carousel-next.js +0 -50
  171. package/dist/src/components/kemet-carousel/kemet-carousel-next.js.map +0 -1
  172. package/dist/src/components/kemet-carousel/kemet-carousel-prev.d.ts +0 -25
  173. package/dist/src/components/kemet-carousel/kemet-carousel-prev.js +0 -50
  174. package/dist/src/components/kemet-carousel/kemet-carousel-prev.js.map +0 -1
  175. package/dist/src/components/kemet-carousel/kemet-carousel-slide.d.ts +0 -29
  176. package/dist/src/components/kemet-carousel/kemet-carousel-slide.js +0 -53
  177. package/dist/src/components/kemet-carousel/kemet-carousel-slide.js.map +0 -1
  178. package/dist/src/components/kemet-carousel/kemet-carousel-total.d.ts +0 -26
  179. package/dist/src/components/kemet-carousel/kemet-carousel-total.js +0 -44
  180. package/dist/src/components/kemet-carousel/kemet-carousel-total.js.map +0 -1
  181. package/dist/src/components/kemet-carousel/kemet-carousel.d.ts +0 -114
  182. package/dist/src/components/kemet-carousel/kemet-carousel.js +0 -410
  183. package/dist/src/components/kemet-carousel/kemet-carousel.js.map +0 -1
  184. package/dist/src/components/kemet-carousel/styles.d.ts +0 -1
  185. package/dist/src/components/kemet-carousel/styles.js +0 -66
  186. package/dist/src/components/kemet-carousel/styles.js.map +0 -1
  187. package/dist/src/components/kemet-carousel/types.d.ts +0 -21
  188. package/dist/src/components/kemet-carousel/types.js +0 -2
  189. package/dist/src/components/kemet-carousel/types.js.map +0 -1
  190. package/dist/src/components/kemet-checkbox/docs/stories.js.map +0 -1
  191. package/dist/src/components/kemet-checkbox/kemet-checkbox.d.ts +0 -71
  192. package/dist/src/components/kemet-checkbox/kemet-checkbox.js +0 -192
  193. package/dist/src/components/kemet-checkbox/kemet-checkbox.js.map +0 -1
  194. package/dist/src/components/kemet-checkbox/styles.d.ts +0 -1
  195. package/dist/src/components/kemet-checkbox/styles.js +0 -83
  196. package/dist/src/components/kemet-checkbox/styles.js.map +0 -1
  197. package/dist/src/components/kemet-checkbox/types.d.ts +0 -15
  198. package/dist/src/components/kemet-checkbox/types.js +0 -2
  199. package/dist/src/components/kemet-checkbox/types.js.map +0 -1
  200. package/dist/src/components/kemet-combo/docs/stories.js.map +0 -1
  201. package/dist/src/components/kemet-combo/kemet-combo.d.ts +0 -50
  202. package/dist/src/components/kemet-combo/kemet-combo.js +0 -162
  203. package/dist/src/components/kemet-combo/kemet-combo.js.map +0 -1
  204. package/dist/src/components/kemet-combo/styles.d.ts +0 -1
  205. package/dist/src/components/kemet-combo/styles.js +0 -44
  206. package/dist/src/components/kemet-combo/styles.js.map +0 -1
  207. package/dist/src/components/kemet-combo/types.d.ts +0 -5
  208. package/dist/src/components/kemet-combo/types.js +0 -2
  209. package/dist/src/components/kemet-combo/types.js.map +0 -1
  210. package/dist/src/components/kemet-count/docs/stories.js.map +0 -1
  211. package/dist/src/components/kemet-count/kemet-count.d.ts +0 -39
  212. package/dist/src/components/kemet-count/kemet-count.js +0 -98
  213. package/dist/src/components/kemet-count/kemet-count.js.map +0 -1
  214. package/dist/src/components/kemet-draggable/docs/stories.js.map +0 -1
  215. package/dist/src/components/kemet-draggable/kemet-draggable.d.ts +0 -49
  216. package/dist/src/components/kemet-draggable/kemet-draggable.js +0 -137
  217. package/dist/src/components/kemet-draggable/kemet-draggable.js.map +0 -1
  218. package/dist/src/components/kemet-draggable/types.d.ts +0 -6
  219. package/dist/src/components/kemet-draggable/types.js +0 -2
  220. package/dist/src/components/kemet-draggable/types.js.map +0 -1
  221. package/dist/src/components/kemet-drawer/docs/stories.js.map +0 -1
  222. package/dist/src/components/kemet-drawer/kemet-drawer.d.ts +0 -48
  223. package/dist/src/components/kemet-drawer/kemet-drawer.js +0 -95
  224. package/dist/src/components/kemet-drawer/kemet-drawer.js.map +0 -1
  225. package/dist/src/components/kemet-drawer/styles.d.ts +0 -2
  226. package/dist/src/components/kemet-drawer/styles.js +0 -314
  227. package/dist/src/components/kemet-drawer/styles.js.map +0 -1
  228. package/dist/src/components/kemet-drawer/types.d.ts +0 -8
  229. package/dist/src/components/kemet-drawer/types.js +0 -2
  230. package/dist/src/components/kemet-drawer/types.js.map +0 -1
  231. package/dist/src/components/kemet-fab/docs/stories.js.map +0 -1
  232. package/dist/src/components/kemet-fab/kemet-fab.d.ts +0 -49
  233. package/dist/src/components/kemet-fab/kemet-fab.js +0 -107
  234. package/dist/src/components/kemet-fab/kemet-fab.js.map +0 -1
  235. package/dist/src/components/kemet-fab/styles.d.ts +0 -1
  236. package/dist/src/components/kemet-fab/styles.js +0 -95
  237. package/dist/src/components/kemet-fab/styles.js.map +0 -1
  238. package/dist/src/components/kemet-fab/types.d.ts +0 -8
  239. package/dist/src/components/kemet-fab/types.js +0 -2
  240. package/dist/src/components/kemet-fab/types.js.map +0 -1
  241. package/dist/src/components/kemet-field/docs/stories.js.map +0 -1
  242. package/dist/src/components/kemet-field/kemet-field.d.ts +0 -61
  243. package/dist/src/components/kemet-field/kemet-field.js +0 -144
  244. package/dist/src/components/kemet-field/kemet-field.js.map +0 -1
  245. package/dist/src/components/kemet-field/styles.d.ts +0 -1
  246. package/dist/src/components/kemet-field/styles.js +0 -61
  247. package/dist/src/components/kemet-field/styles.js.map +0 -1
  248. package/dist/src/components/kemet-field/types.d.ts +0 -13
  249. package/dist/src/components/kemet-field/types.js +0 -2
  250. package/dist/src/components/kemet-field/types.js.map +0 -1
  251. package/dist/src/components/kemet-flipcard/docs/stories.js.map +0 -1
  252. package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.d.ts +0 -21
  253. package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.js +0 -42
  254. package/dist/src/components/kemet-flipcard/kemet-flipcard-trigger.js.map +0 -1
  255. package/dist/src/components/kemet-flipcard/kemet-flipcard.d.ts +0 -52
  256. package/dist/src/components/kemet-flipcard/kemet-flipcard.js +0 -131
  257. package/dist/src/components/kemet-flipcard/kemet-flipcard.js.map +0 -1
  258. package/dist/src/components/kemet-flipcard/styles.d.ts +0 -1
  259. package/dist/src/components/kemet-flipcard/styles.js +0 -85
  260. package/dist/src/components/kemet-flipcard/styles.js.map +0 -1
  261. package/dist/src/components/kemet-flipcard/types.d.ts +0 -7
  262. package/dist/src/components/kemet-flipcard/types.js +0 -2
  263. package/dist/src/components/kemet-flipcard/types.js.map +0 -1
  264. package/dist/src/components/kemet-icon/docs/stories.js.map +0 -1
  265. package/dist/src/components/kemet-icon/kemet-icon.d.ts +0 -28
  266. package/dist/src/components/kemet-icon/kemet-icon.js +0 -114
  267. package/dist/src/components/kemet-icon/kemet-icon.js.map +0 -1
  268. package/dist/src/components/kemet-icon/styles.d.ts +0 -1
  269. package/dist/src/components/kemet-icon/styles.js +0 -9
  270. package/dist/src/components/kemet-icon/styles.js.map +0 -1
  271. package/dist/src/components/kemet-icon/types.d.ts +0 -5
  272. package/dist/src/components/kemet-icon/types.js +0 -2
  273. package/dist/src/components/kemet-icon/types.js.map +0 -1
  274. package/dist/src/components/kemet-input/docs/stories.js.map +0 -1
  275. package/dist/src/components/kemet-input/kemet-input.d.ts +0 -193
  276. package/dist/src/components/kemet-input/kemet-input.js +0 -417
  277. package/dist/src/components/kemet-input/kemet-input.js.map +0 -1
  278. package/dist/src/components/kemet-input/styles.d.ts +0 -1
  279. package/dist/src/components/kemet-input/styles.js +0 -115
  280. package/dist/src/components/kemet-input/styles.js.map +0 -1
  281. package/dist/src/components/kemet-input/types.d.ts +0 -35
  282. package/dist/src/components/kemet-input/types.js +0 -2
  283. package/dist/src/components/kemet-input/types.js.map +0 -1
  284. package/dist/src/components/kemet-modal/docs/stories.js.map +0 -1
  285. package/dist/src/components/kemet-modal/kemet-modal-close.d.ts +0 -21
  286. package/dist/src/components/kemet-modal/kemet-modal-close.js +0 -40
  287. package/dist/src/components/kemet-modal/kemet-modal-close.js.map +0 -1
  288. package/dist/src/components/kemet-modal/kemet-modal.d.ts +0 -49
  289. package/dist/src/components/kemet-modal/kemet-modal.js +0 -131
  290. package/dist/src/components/kemet-modal/kemet-modal.js.map +0 -1
  291. package/dist/src/components/kemet-modal/styles.d.ts +0 -2
  292. package/dist/src/components/kemet-modal/styles.js +0 -267
  293. package/dist/src/components/kemet-modal/styles.js.map +0 -1
  294. package/dist/src/components/kemet-modal/types.d.ts +0 -8
  295. package/dist/src/components/kemet-modal/types.js +0 -2
  296. package/dist/src/components/kemet-modal/types.js.map +0 -1
  297. package/dist/src/components/kemet-password/docs/stories.js.map +0 -1
  298. package/dist/src/components/kemet-password/kemet-password.d.ts +0 -77
  299. package/dist/src/components/kemet-password/kemet-password.js +0 -184
  300. package/dist/src/components/kemet-password/kemet-password.js.map +0 -1
  301. package/dist/src/components/kemet-password/styles.d.ts +0 -1
  302. package/dist/src/components/kemet-password/styles.js +0 -80
  303. package/dist/src/components/kemet-password/styles.js.map +0 -1
  304. package/dist/src/components/kemet-password/types.d.ts +0 -10
  305. package/dist/src/components/kemet-password/types.js +0 -2
  306. package/dist/src/components/kemet-password/types.js.map +0 -1
  307. package/dist/src/components/kemet-popper/docs/stories.js.map +0 -1
  308. package/dist/src/components/kemet-popper/kemet-popper-close.d.ts +0 -22
  309. package/dist/src/components/kemet-popper/kemet-popper-close.js +0 -49
  310. package/dist/src/components/kemet-popper/kemet-popper-close.js.map +0 -1
  311. package/dist/src/components/kemet-popper/kemet-popper.d.ts +0 -63
  312. package/dist/src/components/kemet-popper/kemet-popper.js +0 -182
  313. package/dist/src/components/kemet-popper/kemet-popper.js.map +0 -1
  314. package/dist/src/components/kemet-popper/styles.d.ts +0 -1
  315. package/dist/src/components/kemet-popper/styles.effects.d.ts +0 -8
  316. package/dist/src/components/kemet-popper/styles.effects.js +0 -306
  317. package/dist/src/components/kemet-popper/styles.effects.js.map +0 -1
  318. package/dist/src/components/kemet-popper/styles.js +0 -28
  319. package/dist/src/components/kemet-popper/styles.js.map +0 -1
  320. package/dist/src/components/kemet-popper/types.d.ts +0 -3
  321. package/dist/src/components/kemet-popper/types.js +0 -2
  322. package/dist/src/components/kemet-popper/types.js.map +0 -1
  323. package/dist/src/components/kemet-radio/docs/stories.js.map +0 -1
  324. package/dist/src/components/kemet-radio/kemet-radio.d.ts +0 -56
  325. package/dist/src/components/kemet-radio/kemet-radio.js +0 -129
  326. package/dist/src/components/kemet-radio/kemet-radio.js.map +0 -1
  327. package/dist/src/components/kemet-radio/kemet-radios.d.ts +0 -49
  328. package/dist/src/components/kemet-radio/kemet-radios.js +0 -143
  329. package/dist/src/components/kemet-radio/kemet-radios.js.map +0 -1
  330. package/dist/src/components/kemet-radio/styles.d.ts +0 -2
  331. package/dist/src/components/kemet-radio/styles.js +0 -102
  332. package/dist/src/components/kemet-radio/styles.js.map +0 -1
  333. package/dist/src/components/kemet-radio/types.d.ts +0 -20
  334. package/dist/src/components/kemet-radio/types.js +0 -2
  335. package/dist/src/components/kemet-radio/types.js.map +0 -1
  336. package/dist/src/components/kemet-rotator/docs/stories.js.map +0 -1
  337. package/dist/src/components/kemet-rotator/kemet-rotator.d.ts +0 -40
  338. package/dist/src/components/kemet-rotator/kemet-rotator.js +0 -122
  339. package/dist/src/components/kemet-rotator/kemet-rotator.js.map +0 -1
  340. package/dist/src/components/kemet-rotator/styles.d.ts +0 -1
  341. package/dist/src/components/kemet-rotator/styles.js +0 -72
  342. package/dist/src/components/kemet-rotator/styles.js.map +0 -1
  343. package/dist/src/components/kemet-rotator/types.d.ts +0 -9
  344. package/dist/src/components/kemet-rotator/types.js +0 -2
  345. package/dist/src/components/kemet-rotator/types.js.map +0 -1
  346. package/dist/src/components/kemet-scroll-link/docs/stories.js.map +0 -1
  347. package/dist/src/components/kemet-scroll-link/kemet-scroll-link.d.ts +0 -31
  348. package/dist/src/components/kemet-scroll-link/kemet-scroll-link.js +0 -82
  349. package/dist/src/components/kemet-scroll-link/kemet-scroll-link.js.map +0 -1
  350. package/dist/src/components/kemet-scroll-link/types.d.ts +0 -6
  351. package/dist/src/components/kemet-scroll-link/types.js +0 -2
  352. package/dist/src/components/kemet-scroll-link/types.js.map +0 -1
  353. package/dist/src/components/kemet-scroll-nav/docs/stories.js.map +0 -1
  354. package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +0 -34
  355. package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.js +0 -70
  356. package/dist/src/components/kemet-scroll-nav/kemet-scroll-nav.js.map +0 -1
  357. package/dist/src/components/kemet-scroll-nav/styles.d.ts +0 -1
  358. package/dist/src/components/kemet-scroll-nav/styles.js +0 -27
  359. package/dist/src/components/kemet-scroll-nav/styles.js.map +0 -1
  360. package/dist/src/components/kemet-scroll-nav/types.d.ts +0 -6
  361. package/dist/src/components/kemet-scroll-nav/types.js +0 -2
  362. package/dist/src/components/kemet-scroll-nav/types.js.map +0 -1
  363. package/dist/src/components/kemet-scroll-snap/docs/stories.js.map +0 -1
  364. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +0 -44
  365. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +0 -120
  366. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +0 -1
  367. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.d.ts +0 -30
  368. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.js +0 -53
  369. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap-slide.js.map +0 -1
  370. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +0 -46
  371. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.js +0 -122
  372. package/dist/src/components/kemet-scroll-snap/kemet-scroll-snap.js.map +0 -1
  373. package/dist/src/components/kemet-scroll-snap/styles.d.ts +0 -2
  374. package/dist/src/components/kemet-scroll-snap/styles.js +0 -74
  375. package/dist/src/components/kemet-scroll-snap/styles.js.map +0 -1
  376. package/dist/src/components/kemet-scroll-snap/types.d.ts +0 -20
  377. package/dist/src/components/kemet-scroll-snap/types.js +0 -2
  378. package/dist/src/components/kemet-scroll-snap/types.js.map +0 -1
  379. package/dist/src/components/kemet-select/docs/stories.js.map +0 -1
  380. package/dist/src/components/kemet-select/kemet-option.d.ts +0 -29
  381. package/dist/src/components/kemet-select/kemet-option.js +0 -45
  382. package/dist/src/components/kemet-select/kemet-option.js.map +0 -1
  383. package/dist/src/components/kemet-select/kemet-select.d.ts +0 -110
  384. package/dist/src/components/kemet-select/kemet-select.js +0 -239
  385. package/dist/src/components/kemet-select/kemet-select.js.map +0 -1
  386. package/dist/src/components/kemet-select/styles.d.ts +0 -1
  387. package/dist/src/components/kemet-select/styles.js +0 -73
  388. package/dist/src/components/kemet-select/styles.js.map +0 -1
  389. package/dist/src/components/kemet-select/types.d.ts +0 -20
  390. package/dist/src/components/kemet-select/types.js +0 -2
  391. package/dist/src/components/kemet-select/types.js.map +0 -1
  392. package/dist/src/components/kemet-sortable/docs/stories.js.map +0 -1
  393. package/dist/src/components/kemet-sortable/kemet-sortable-item.d.ts +0 -21
  394. package/dist/src/components/kemet-sortable/kemet-sortable-item.js +0 -30
  395. package/dist/src/components/kemet-sortable/kemet-sortable-item.js.map +0 -1
  396. package/dist/src/components/kemet-sortable/kemet-sortable.d.ts +0 -25
  397. package/dist/src/components/kemet-sortable/kemet-sortable.js +0 -77
  398. package/dist/src/components/kemet-sortable/kemet-sortable.js.map +0 -1
  399. package/dist/src/components/kemet-sortable/styles.d.ts +0 -2
  400. package/dist/src/components/kemet-sortable/styles.js +0 -22
  401. package/dist/src/components/kemet-sortable/styles.js.map +0 -1
  402. package/dist/src/components/kemet-sortable/types.d.ts +0 -3
  403. package/dist/src/components/kemet-sortable/types.js +0 -2
  404. package/dist/src/components/kemet-sortable/types.js.map +0 -1
  405. package/dist/src/components/kemet-svgs/docs/stories.js.map +0 -1
  406. package/dist/src/components/kemet-svgs/kemet-svg.d.ts +0 -38
  407. package/dist/src/components/kemet-svgs/kemet-svg.js +0 -97
  408. package/dist/src/components/kemet-svgs/kemet-svg.js.map +0 -1
  409. package/dist/src/components/kemet-svgs/kemet-svgs.d.ts +0 -27
  410. package/dist/src/components/kemet-svgs/kemet-svgs.js +0 -51
  411. package/dist/src/components/kemet-svgs/kemet-svgs.js.map +0 -1
  412. package/dist/src/components/kemet-svgs/types.d.ts +0 -10
  413. package/dist/src/components/kemet-svgs/types.js +0 -2
  414. package/dist/src/components/kemet-svgs/types.js.map +0 -1
  415. package/dist/src/components/kemet-tabs/docs/stories.js.map +0 -1
  416. package/dist/src/components/kemet-tabs/kemet-tab-panel.d.ts +0 -27
  417. package/dist/src/components/kemet-tabs/kemet-tab-panel.js +0 -52
  418. package/dist/src/components/kemet-tabs/kemet-tab-panel.js.map +0 -1
  419. package/dist/src/components/kemet-tabs/kemet-tab.d.ts +0 -37
  420. package/dist/src/components/kemet-tabs/kemet-tab.js +0 -79
  421. package/dist/src/components/kemet-tabs/kemet-tab.js.map +0 -1
  422. package/dist/src/components/kemet-tabs/kemet-tabs.d.ts +0 -91
  423. package/dist/src/components/kemet-tabs/kemet-tabs.js +0 -523
  424. package/dist/src/components/kemet-tabs/kemet-tabs.js.map +0 -1
  425. package/dist/src/components/kemet-tabs/styles.d.ts +0 -3
  426. package/dist/src/components/kemet-tabs/styles.js +0 -268
  427. package/dist/src/components/kemet-tabs/styles.js.map +0 -1
  428. package/dist/src/components/kemet-tabs/types.d.ts +0 -27
  429. package/dist/src/components/kemet-tabs/types.js +0 -2
  430. package/dist/src/components/kemet-tabs/types.js.map +0 -1
  431. package/dist/src/components/kemet-textarea/docs/stories.js.map +0 -1
  432. package/dist/src/components/kemet-textarea/kemet-textarea.d.ts +0 -123
  433. package/dist/src/components/kemet-textarea/kemet-textarea.js +0 -293
  434. package/dist/src/components/kemet-textarea/kemet-textarea.js.map +0 -1
  435. package/dist/src/components/kemet-textarea/styles.d.ts +0 -1
  436. package/dist/src/components/kemet-textarea/styles.js +0 -69
  437. package/dist/src/components/kemet-textarea/styles.js.map +0 -1
  438. package/dist/src/components/kemet-textarea/types.d.ts +0 -20
  439. package/dist/src/components/kemet-textarea/types.js +0 -2
  440. package/dist/src/components/kemet-textarea/types.js.map +0 -1
  441. package/dist/src/components/kemet-toggle/docs/stories.js.map +0 -1
  442. package/dist/src/components/kemet-toggle/kemet-toggle.d.ts +0 -60
  443. package/dist/src/components/kemet-toggle/kemet-toggle.js +0 -130
  444. package/dist/src/components/kemet-toggle/kemet-toggle.js.map +0 -1
  445. package/dist/src/components/kemet-toggle/styles.d.ts +0 -1
  446. package/dist/src/components/kemet-toggle/styles.js +0 -84
  447. package/dist/src/components/kemet-toggle/styles.js.map +0 -1
  448. package/dist/src/components/kemet-toggle/types.d.ts +0 -10
  449. package/dist/src/components/kemet-toggle/types.js +0 -2
  450. package/dist/src/components/kemet-toggle/types.js.map +0 -1
  451. package/dist/src/components/kemet-tooltip/docs/stories.js.map +0 -1
  452. package/dist/src/components/kemet-tooltip/kemet-tooltip.d.ts +0 -33
  453. package/dist/src/components/kemet-tooltip/kemet-tooltip.js +0 -68
  454. package/dist/src/components/kemet-tooltip/kemet-tooltip.js.map +0 -1
  455. package/dist/src/components/kemet-tooltip/styles.d.ts +0 -1
  456. package/dist/src/components/kemet-tooltip/styles.js +0 -61
  457. package/dist/src/components/kemet-tooltip/styles.js.map +0 -1
  458. package/dist/src/components/kemet-tooltip/types.d.ts +0 -3
  459. package/dist/src/components/kemet-tooltip/types.js +0 -2
  460. package/dist/src/components/kemet-tooltip/types.js.map +0 -1
  461. package/dist/src/components/kemet-tracker/docs/stories.js.map +0 -1
  462. package/dist/src/components/kemet-tracker/kemet-tracker-step.d.ts +0 -63
  463. package/dist/src/components/kemet-tracker/kemet-tracker-step.js +0 -127
  464. package/dist/src/components/kemet-tracker/kemet-tracker-step.js.map +0 -1
  465. package/dist/src/components/kemet-tracker/kemet-tracker.d.ts +0 -26
  466. package/dist/src/components/kemet-tracker/kemet-tracker.js +0 -70
  467. package/dist/src/components/kemet-tracker/kemet-tracker.js.map +0 -1
  468. package/dist/src/components/kemet-tracker/styles.d.ts +0 -1
  469. package/dist/src/components/kemet-tracker/styles.js +0 -111
  470. package/dist/src/components/kemet-tracker/styles.js.map +0 -1
  471. package/dist/src/components/kemet-tracker/types.d.ts +0 -13
  472. package/dist/src/components/kemet-tracker/types.js +0 -2
  473. package/dist/src/components/kemet-tracker/types.js.map +0 -1
  474. package/dist/src/components/kemet-upload/docs/stories.js.map +0 -1
  475. package/dist/src/components/kemet-upload/kemet-upload-file.d.ts +0 -46
  476. package/dist/src/components/kemet-upload/kemet-upload-file.js +0 -110
  477. package/dist/src/components/kemet-upload/kemet-upload-file.js.map +0 -1
  478. package/dist/src/components/kemet-upload/kemet-upload.d.ts +0 -58
  479. package/dist/src/components/kemet-upload/kemet-upload.js +0 -154
  480. package/dist/src/components/kemet-upload/kemet-upload.js.map +0 -1
  481. package/dist/src/components/kemet-upload/styles.d.ts +0 -3
  482. package/dist/src/components/kemet-upload/styles.js +0 -169
  483. package/dist/src/components/kemet-upload/styles.js.map +0 -1
  484. package/dist/src/components/kemet-upload/types.d.ts +0 -21
  485. package/dist/src/components/kemet-upload/types.js +0 -2
  486. package/dist/src/components/kemet-upload/types.js.map +0 -1
  487. package/dist/src/stories/styles/borders/borders.stories.d.ts +0 -5
  488. package/dist/src/stories/styles/borders/borders.stories.js +0 -46
  489. package/dist/src/stories/styles/borders/borders.stories.js.map +0 -1
  490. package/dist/src/stories/styles/borders/stories.d.ts +0 -5
  491. package/dist/src/stories/styles/borders/stories.js +0 -46
  492. package/dist/src/stories/styles/borders/stories.js.map +0 -1
  493. package/dist/src/stories/styles/borders.stories.d.ts +0 -5
  494. package/dist/src/stories/styles/borders.stories.js +0 -46
  495. package/dist/src/stories/styles/borders.stories.js.map +0 -1
  496. package/dist/src/stories/styles/elevation/elevation.stories.d.ts +0 -1
  497. package/dist/src/stories/styles/elevation/elevation.stories.js +0 -15
  498. package/dist/src/stories/styles/elevation/elevation.stories.js.map +0 -1
  499. package/dist/src/stories/styles/elevation/stories.d.ts +0 -5
  500. package/dist/src/stories/styles/elevation/stories.js +0 -21
  501. package/dist/src/stories/styles/elevation/stories.js.map +0 -1
  502. package/dist/src/stories/styles/flexcolumn/stories.d.ts +0 -6
  503. package/dist/src/stories/styles/flexcolumn/stories.js +0 -44
  504. package/dist/src/stories/styles/flexcolumn/stories.js.map +0 -1
  505. package/dist/src/stories/styles/flexgrid/stories.d.ts +0 -6
  506. package/dist/src/stories/styles/flexgrid/stories.js +0 -44
  507. package/dist/src/stories/styles/flexgrid/stories.js.map +0 -1
  508. package/dist/src/stories/styles/flexlist/stories.d.ts +0 -7
  509. package/dist/src/stories/styles/flexlist/stories.js +0 -45
  510. package/dist/src/stories/styles/flexlist/stories.js.map +0 -1
  511. package/dist/src/stories/styles/flexrow/stories.d.ts +0 -10
  512. package/dist/src/stories/styles/flexrow/stories.js +0 -77
  513. package/dist/src/stories/styles/flexrow/stories.js.map +0 -1
  514. package/dist/src/stories/styles/spacing/stories.d.ts +0 -6
  515. package/dist/src/stories/styles/spacing/stories.js +0 -49
  516. package/dist/src/stories/styles/spacing/stories.js.map +0 -1
  517. package/dist/src/stories/styles/typealignment/stories.d.ts +0 -5
  518. package/dist/src/stories/styles/typealignment/stories.js +0 -14
  519. package/dist/src/stories/styles/typealignment/stories.js.map +0 -1
  520. package/dist/src/stories/styles/typography/stories.d.ts +0 -6
  521. package/dist/src/stories/styles/typography/stories.js +0 -41
  522. package/dist/src/stories/styles/typography/stories.js.map +0 -1
  523. package/dist/src/stories/styles/visibility/stories.d.ts +0 -6
  524. package/dist/src/stories/styles/visibility/stories.js +0 -60
  525. package/dist/src/stories/styles/visibility/stories.js.map +0 -1
  526. package/dist/src/stories/templates/bootstrap/stories.d.ts +0 -6
  527. package/dist/src/stories/templates/bootstrap/stories.js +0 -159
  528. package/dist/src/stories/templates/bootstrap/stories.js.map +0 -1
  529. package/dist/src/stories/templates/foundation/stories.d.ts +0 -8
  530. package/dist/src/stories/templates/foundation/stories.js +0 -911
  531. package/dist/src/stories/templates/foundation/stories.js.map +0 -1
  532. package/dist/src/utilities/controllers/forms.d.ts +0 -11
  533. package/dist/src/utilities/controllers/forms.js +0 -102
  534. package/dist/src/utilities/controllers/forms.js.map +0 -1
  535. package/dist/src/utilities/misc/constants.d.ts +0 -5
  536. package/dist/src/utilities/misc/constants.js +0 -6
  537. package/dist/src/utilities/misc/constants.js.map +0 -1
  538. package/dist/src/utilities/misc/events.d.ts +0 -1
  539. package/dist/src/utilities/misc/events.js +0 -4
  540. package/dist/src/utilities/misc/events.js.map +0 -1
  541. package/dist/utilities/misc/decorators.d.ts +0 -1
  542. package/dist/utilities/misc/decorators.js +0 -5
  543. package/dist/utilities/misc/decorators.js.map +0 -1
  544. /package/dist/{src/components → components}/kemet-card/docs/stories.d.ts +0 -0
  545. /package/dist/{src/components → components}/kemet-card/docs/stories.js +0 -0
  546. /package/dist/{src/components → components}/kemet-carousel/docs/stories.d.ts +0 -0
  547. /package/dist/{src/components → components}/kemet-carousel/docs/stories.js +0 -0
  548. /package/dist/{src/components → components}/kemet-checkbox/docs/stories.d.ts +0 -0
  549. /package/dist/{src/components → components}/kemet-checkbox/docs/stories.js +0 -0
  550. /package/dist/{src/components → components}/kemet-combo/docs/stories.d.ts +0 -0
  551. /package/dist/{src/components → components}/kemet-combo/docs/stories.js +0 -0
  552. /package/dist/{src/components → components}/kemet-count/docs/stories.d.ts +0 -0
  553. /package/dist/{src/components → components}/kemet-count/docs/stories.js +0 -0
  554. /package/dist/{src/components → components}/kemet-draggable/docs/stories.d.ts +0 -0
  555. /package/dist/{src/components → components}/kemet-draggable/docs/stories.js +0 -0
  556. /package/dist/{src/components → components}/kemet-drawer/docs/stories.d.ts +0 -0
  557. /package/dist/{src/components → components}/kemet-drawer/docs/stories.js +0 -0
  558. /package/dist/{src/components → components}/kemet-fab/docs/stories.d.ts +0 -0
  559. /package/dist/{src/components → components}/kemet-fab/docs/stories.js +0 -0
  560. /package/dist/{src/components → components}/kemet-field/docs/stories.d.ts +0 -0
  561. /package/dist/{src/components → components}/kemet-field/docs/stories.js +0 -0
  562. /package/dist/{src/components → components}/kemet-flipcard/docs/stories.d.ts +0 -0
  563. /package/dist/{src/components → components}/kemet-flipcard/docs/stories.js +0 -0
  564. /package/dist/{src/components → components}/kemet-icon/docs/stories.d.ts +0 -0
  565. /package/dist/{src/components → components}/kemet-icon/docs/stories.js +0 -0
  566. /package/dist/{src/components → components}/kemet-input/docs/stories.d.ts +0 -0
  567. /package/dist/{src/components → components}/kemet-input/docs/stories.js +0 -0
  568. /package/dist/{src/components → components}/kemet-modal/docs/stories.d.ts +0 -0
  569. /package/dist/{src/components → components}/kemet-modal/docs/stories.js +0 -0
  570. /package/dist/{src/components → components}/kemet-password/docs/stories.d.ts +0 -0
  571. /package/dist/{src/components → components}/kemet-password/docs/stories.js +0 -0
  572. /package/dist/{src/components → components}/kemet-popper/docs/stories.d.ts +0 -0
  573. /package/dist/{src/components → components}/kemet-popper/docs/stories.js +0 -0
  574. /package/dist/{src/components → components}/kemet-radio/docs/stories.d.ts +0 -0
  575. /package/dist/{src/components → components}/kemet-radio/docs/stories.js +0 -0
  576. /package/dist/{src/components → components}/kemet-rotator/docs/stories.d.ts +0 -0
  577. /package/dist/{src/components → components}/kemet-rotator/docs/stories.js +0 -0
  578. /package/dist/{src/components → components}/kemet-scroll-link/docs/stories.d.ts +0 -0
  579. /package/dist/{src/components → components}/kemet-scroll-link/docs/stories.js +0 -0
  580. /package/dist/{src/components → components}/kemet-scroll-nav/docs/stories.d.ts +0 -0
  581. /package/dist/{src/components → components}/kemet-scroll-nav/docs/stories.js +0 -0
  582. /package/dist/{src/components → components}/kemet-scroll-snap/docs/stories.d.ts +0 -0
  583. /package/dist/{src/components → components}/kemet-scroll-snap/docs/stories.js +0 -0
  584. /package/dist/{src/components → components}/kemet-select/docs/stories.d.ts +0 -0
  585. /package/dist/{src/components → components}/kemet-select/docs/stories.js +0 -0
  586. /package/dist/{src/components → components}/kemet-sortable/docs/stories.d.ts +0 -0
  587. /package/dist/{src/components → components}/kemet-sortable/docs/stories.js +0 -0
  588. /package/dist/{src/components → components}/kemet-svgs/docs/stories.d.ts +0 -0
  589. /package/dist/{src/components → components}/kemet-svgs/docs/stories.js +0 -0
  590. /package/dist/{src/components → components}/kemet-tabs/docs/stories.d.ts +0 -0
  591. /package/dist/{src/components → components}/kemet-tabs/docs/stories.js +0 -0
  592. /package/dist/{src/components → components}/kemet-textarea/docs/stories.d.ts +0 -0
  593. /package/dist/{src/components → components}/kemet-textarea/docs/stories.js +0 -0
  594. /package/dist/{src/components → components}/kemet-toggle/docs/stories.d.ts +0 -0
  595. /package/dist/{src/components → components}/kemet-toggle/docs/stories.js +0 -0
  596. /package/dist/{src/components → components}/kemet-tooltip/docs/stories.d.ts +0 -0
  597. /package/dist/{src/components → components}/kemet-tooltip/docs/stories.js +0 -0
  598. /package/dist/{src/components → components}/kemet-tracker/docs/stories.d.ts +0 -0
  599. /package/dist/{src/components → components}/kemet-tracker/docs/stories.js +0 -0
  600. /package/dist/{src/components → components}/kemet-upload/docs/stories.d.ts +0 -0
  601. /package/dist/{src/components → components}/kemet-upload/docs/stories.js +0 -0
@@ -1,523 +0,0 @@
1
- import { __decorate } from "tslib";
2
- /* eslint-disable no-lonely-if */
3
- /* eslint-disable no-case-declarations */
4
- import { LitElement, html } from 'lit';
5
- import { stylesKemetTabs } from './styles';
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
- */
47
- let KemetTabs = class KemetTabs extends LitElement {
48
- constructor() {
49
- super();
50
- this.selectedIndex = 0;
51
- this.panelPosition = 0;
52
- this.panelEffect = 'none';
53
- this.placement = 'top';
54
- this.tabsAlign = 'center';
55
- this.hideInk = false;
56
- this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));
57
- this.addEventListener('kemet-tab-close', this.handleTabClose.bind(this));
58
- window.addEventListener('resize', this.handleResize.bind(this));
59
- }
60
- firstUpdated() {
61
- // standard properties
62
- this.tabs = [];
63
- this.panels = [];
64
- this.xDown = null;
65
- this.yDown = null;
66
- this.links = this.shadowRoot.getElementById('links');
67
- }
68
- render() {
69
- return html `
70
- ${this.makeLeftArrow()}
71
- ${this.makeRightArrow()}
72
- <div id="links" part="links">
73
- <div part='tablist' role="tablist">
74
- <slot name="tab" @slotchange=${() => this.handleLinksSlotChange()}></slot>
75
- </div>
76
- ${this.makeInk('links')}
77
- </div>
78
- ${this.makeInk('host')}
79
- ${this.makeDivider()}
80
- <section id="panels" part="panels" style="transform:translateX(${this.panelPosition}px);">
81
- <div>
82
- <slot name="panel" @slotchange=${() => this.handlePanelsSlotChange()}></slot>
83
- </div>
84
- </section>
85
- `;
86
- }
87
- updated() {
88
- this.determineFade();
89
- this.determineStacked();
90
- }
91
- handleLinksSlotChange() {
92
- const tabs = this.querySelectorAll('kemet-tab');
93
- let index = 0;
94
- tabs.forEach((tab) => {
95
- // give each tab an index to select by if link/panel is not used
96
- tab.index = index;
97
- index += 1;
98
- // store the list of tabs
99
- this.tabs = this.tabs.concat(tab);
100
- // add keyboard support
101
- tab.addEventListener('keydown', event => this.handleTabKeydown(event));
102
- });
103
- // default to the first tab/panel selected
104
- if (this.tabs.length > 0)
105
- this.tabs[0].selected = true;
106
- setTimeout(() => {
107
- this.selectTab();
108
- }, 1);
109
- this.determineOverflow();
110
- }
111
- handlePanelsSlotChange() {
112
- const panels = this.querySelectorAll('kemet-tab-panel');
113
- const panelElement = this.shadowRoot.getElementById('panels');
114
- let index = 0;
115
- panels.forEach((panel) => {
116
- // give each panel an index to select by if link/panel is not used
117
- panel.index = index;
118
- index += 1;
119
- // store the list of panels
120
- this.panels = this.panels.concat(panel);
121
- });
122
- // default to the first tab/panel selected
123
- if (this.panels.length > 0)
124
- this.panels[0].selected = true;
125
- // add swipe support
126
- if (this.swipe) {
127
- panelElement.addEventListener('touchstart', event => this.handleTouchStart(event), false);
128
- panelElement.addEventListener('touchmove', event => this.handleTouchMove(event), false);
129
- }
130
- this.selectPanel();
131
- }
132
- handleLeftArrow() {
133
- const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[0];
134
- const previousElement = selectedElement.previousElementSibling;
135
- const selectedIndex = this.tabs.findIndex(tab => tab.selected);
136
- if (this.selected) {
137
- this.selected = previousElement ? previousElement.link : selectedElement.link;
138
- }
139
- else {
140
- this.selectedIndex = selectedIndex > 0 ? selectedIndex - 1 : 0;
141
- }
142
- if (previousElement) {
143
- this.links.scrollLeft = previousElement.offsetLeft - 20;
144
- }
145
- this.selectTab();
146
- this.selectPanel();
147
- }
148
- handleRightArrow() {
149
- const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[this.tabs.length - 1];
150
- const nextElement = selectedElement.nextElementSibling;
151
- const selectedIndex = this.tabs.findIndex(tab => tab.selected);
152
- if (this.selected) {
153
- this.selected = nextElement ? nextElement.link : selectedElement.link;
154
- }
155
- else {
156
- this.selectedIndex = selectedIndex < this.tabs.length - 1
157
- ? selectedIndex + 1
158
- : this.tabs.length - 1;
159
- }
160
- if (nextElement) {
161
- this.links.scrollLeft = nextElement.offsetLeft - 20;
162
- }
163
- this.selectTab();
164
- this.selectPanel();
165
- }
166
- handleTabClose(event) {
167
- const tab = event.detail;
168
- const panel = this.panels[tab.index];
169
- this.selected = this.tabs[0].link;
170
- this.selectedIndex = 0;
171
- panel.remove();
172
- tab.remove();
173
- }
174
- makeInk(location) {
175
- if (this.hideInk) {
176
- return null;
177
- }
178
- if ((this.placement === 'top' || this.placement === 'bottom') && this.ink && location === 'links') {
179
- return html `<div part="ink" style="width:${this.ink.width}; transform:translateX(${this.ink.positionX})"></div>`;
180
- }
181
- if ((this.placement === 'left' || this.placement === 'right') && this.ink && location === 'host') {
182
- return html `<div part="ink" style="height:${this.ink.height}; transform:translateY(${this.ink.positionY})"></div>`;
183
- }
184
- return null;
185
- }
186
- makeDivider() {
187
- if (this.divider) {
188
- return html `<div part="divider"></div>`;
189
- }
190
- return null;
191
- }
192
- makeLeftArrow() {
193
- if (this.overflow) {
194
- return html `<kemet-icon icon='chevron-left' size="20" @click=${() => this.handleLeftArrow()}></kemet-icon>`;
195
- }
196
- return null;
197
- }
198
- makeRightArrow() {
199
- if (this.overflow) {
200
- return html `<kemet-icon icon='chevron-right' size="20" @click=${() => this.handleRightArrow()}></kemet-icon>`;
201
- }
202
- return null;
203
- }
204
- selectTab() {
205
- const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;
206
- const overflowOffset = this.overflow ? marginLeft : 0;
207
- // if the user uses the selected attribute select by it
208
- if (this.selected) {
209
- this.tabs.forEach((tab) => {
210
- const tabName = tab.getAttribute('link');
211
- if (tabName === this.selected) {
212
- tab.selected = true;
213
- this.selected = tabName;
214
- this.ink = {
215
- width: `${tab.offsetWidth}px`,
216
- height: `${tab.offsetHeight}px`,
217
- positionX: `${tab.offsetLeft - overflowOffset}px`,
218
- positionY: `${tab.offsetTop}px`,
219
- };
220
- this.links.scrollLeft = tab.offsetLeft - overflowOffset;
221
- }
222
- else {
223
- tab.selected = false;
224
- }
225
- });
226
- // otherwise select by index
227
- }
228
- else {
229
- this.tabs.forEach((tab) => {
230
- if (this.selectedIndex === tab.index) {
231
- tab.selected = true;
232
- this.ink = {
233
- width: `${tab.offsetWidth}px`,
234
- height: `${tab.offsetHeight}px`,
235
- positionX: `${tab.offsetLeft - overflowOffset}px`,
236
- positionY: `${tab.offsetTop}px`,
237
- };
238
- this.links.scrollLeft = tab.offsetLeft - overflowOffset;
239
- }
240
- else {
241
- tab.selected = false;
242
- }
243
- });
244
- }
245
- }
246
- selectPanel() {
247
- // if the user uses the selected attribute select by it
248
- if (this.selected) {
249
- this.panels.forEach((panel) => {
250
- const panelName = panel.getAttribute('panel');
251
- if (this.panelEffect === 'fade' && panel.index !== 0) {
252
- panel.classList.add('push');
253
- }
254
- if (this.placement === 'left' || this.placement === 'right') {
255
- panel.classList.add('vertical');
256
- }
257
- if (panelName === this.selected) {
258
- panel.selected = true;
259
- this.animatePanel(panelName, null);
260
- }
261
- else {
262
- panel.selected = false;
263
- }
264
- });
265
- // otherwise select by index
266
- }
267
- else {
268
- this.panels.forEach((panel) => {
269
- if (this.panelEffect === 'fade' && panel.index !== 0) {
270
- panel.classList.add('push');
271
- }
272
- if (this.placement === 'left' || this.placement === 'right') {
273
- panel.classList.add('vertical');
274
- }
275
- if (this.selectedIndex === panel.index) {
276
- panel.selected = true;
277
- this.animatePanel(null, panel.index);
278
- }
279
- else {
280
- panel.selected = false;
281
- }
282
- });
283
- }
284
- }
285
- dispatchTabChange() {
286
- const details = {
287
- currentTabName: this.selected,
288
- currentTabIndex: this.selectedIndex,
289
- };
290
- emitEvent(this, 'kemet-tab-changed', details);
291
- }
292
- tabSelectedChange(event) {
293
- if (this.selected) {
294
- // if selected has been set, use the string attribute
295
- this.selected = event.detail.getAttribute('link');
296
- }
297
- else {
298
- // otherwise use the generated index
299
- this.selectedIndex = event.detail.index;
300
- }
301
- this.selectTab();
302
- this.selectPanel();
303
- this.dispatchTabChange();
304
- }
305
- determineFade() {
306
- this.panels.forEach((panel) => {
307
- // add fade class if panel effect is fade
308
- if (this.panelEffect === 'fade')
309
- panel.classList.add('fade');
310
- });
311
- }
312
- determineStacked() {
313
- this.panels.forEach((panel) => {
314
- // add fade class if panel effect is fade
315
- if (this.panelEffect === 'stacked')
316
- panel.classList.add('stacked');
317
- });
318
- }
319
- determineOverflow() {
320
- const tabsContainerWidth = this.offsetWidth;
321
- const tabElements = this.querySelectorAll('kemet-tab');
322
- let totalTabsWidth = 0;
323
- tabElements.forEach((tab) => {
324
- totalTabsWidth += tab.offsetWidth;
325
- });
326
- if (totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom')) {
327
- this.overflow = true;
328
- }
329
- else {
330
- this.overflow = false;
331
- }
332
- }
333
- handleResize() {
334
- if (this.tabs && this.panels) {
335
- const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;
336
- const overflowOffset = this.overflow ? marginLeft : 0;
337
- const selectedElement = this.tabs.find(tab => tab.selected);
338
- if (selectedElement) {
339
- this.ink = {
340
- width: `${selectedElement.offsetWidth}px`,
341
- height: `${selectedElement.offsetHeight}px`,
342
- positionX: `${selectedElement.offsetLeft - overflowOffset}px`,
343
- positionY: `${selectedElement.offsetTop}px`,
344
- };
345
- }
346
- this.determineOverflow();
347
- if (this.selected) {
348
- this.animatePanel(this.selected, null);
349
- }
350
- else {
351
- this.animatePanel(null, this.selectedIndex);
352
- }
353
- }
354
- }
355
- animatePanel(panelName, panelIndex) {
356
- if (panelName) {
357
- const selectedPanel = this.querySelector(`[panel="${panelName}"]`);
358
- if (selectedPanel)
359
- this.panelPosition = selectedPanel.offsetLeft * -1;
360
- }
361
- else {
362
- if (this.panels[panelIndex])
363
- this.panelPosition = this.panels[panelIndex].offsetLeft * -1;
364
- }
365
- }
366
- handleTabKeydown(event) {
367
- if (this.selected) {
368
- switch (event.key) {
369
- case 'Home':
370
- this.selected = this.tabs[0].getAttribute('link');
371
- break;
372
- case 'End':
373
- this.selected = this.tabs[this.tabs.length - 1].getAttribute('link');
374
- break;
375
- case 'ArrowRight':
376
- const nextLinkElement = this.querySelector('kemet-tab[selected]').nextElementSibling;
377
- const nextLink = nextLinkElement ? nextLinkElement.getAttribute('link') : false;
378
- if (nextLink) {
379
- this.selected = nextLink;
380
- }
381
- break;
382
- case 'ArrowLeft':
383
- const previousLinkElement = this.querySelector('kemet-tab[selected]').previousElementSibling;
384
- const previousLink = previousLinkElement ? previousLinkElement.getAttribute('link') : false;
385
- if (previousLink) {
386
- this.selected = previousLink;
387
- }
388
- break;
389
- default: break;
390
- }
391
- this.tabs.find(tab => tab.link === this.selected).focus();
392
- }
393
- else {
394
- switch (event.key) {
395
- case 'Home':
396
- this.selectedIndex = 0;
397
- break;
398
- case 'End':
399
- this.selectedIndex = this.tabs.length - 1;
400
- break;
401
- case 'ArrowRight':
402
- if (this.selectedIndex < this.tabs.length - 1) {
403
- this.selectedIndex += 1;
404
- }
405
- else {
406
- this.selectedIndex = this.tabs.length - 1;
407
- }
408
- break;
409
- case 'ArrowLeft':
410
- if (this.selectedIndex < 1) {
411
- this.selectedIndex = 0;
412
- }
413
- else {
414
- this.selectedIndex -= 1;
415
- }
416
- break;
417
- default: break;
418
- }
419
- this.tabs[this.selectedIndex].focus();
420
- }
421
- }
422
- handleTouchStart(event) {
423
- this.xDown = event.touches[0].clientX;
424
- this.yDown = event.touches[0].clientY;
425
- }
426
- handleTouchMove(event) {
427
- var _a, _b;
428
- if (!this.xDown || !this.yDown) {
429
- return;
430
- }
431
- const xUp = event.touches[0].clientX;
432
- const yUp = event.touches[0].clientY;
433
- const xDiff = this.xDown - xUp;
434
- const yDiff = this.yDown - yUp;
435
- const nextElement = (_a = this.querySelector('kemet-tab-panel[selected]')) === null || _a === void 0 ? void 0 : _a.nextElementSibling;
436
- const next = nextElement ? nextElement.getAttribute('panel') : false;
437
- const previousElement = (_b = this.querySelector('kemet-tab-panel[selected]')) === null || _b === void 0 ? void 0 : _b.previousElementSibling;
438
- const previous = previousElement ? previousElement.getAttribute('panel') : false;
439
- if (Math.abs(xDiff) > Math.abs(yDiff)) {
440
- if (xDiff > 0) {
441
- if (this.selected) {
442
- if (next)
443
- this.selected = next;
444
- }
445
- else {
446
- if (this.selectedIndex < this.tabs.length)
447
- this.selectedIndex += 1;
448
- }
449
- }
450
- else {
451
- if (this.selected) {
452
- if (previous)
453
- this.selected = previous;
454
- }
455
- else {
456
- if (this.selectedIndex > 0)
457
- this.selectedIndex -= 1;
458
- }
459
- }
460
- this.selectTab();
461
- this.selectPanel();
462
- }
463
- this.xDown = null;
464
- this.yDown = null;
465
- }
466
- };
467
- KemetTabs.styles = [stylesKemetTabs];
468
- __decorate([
469
- property({ type: String, reflect: true })
470
- ], KemetTabs.prototype, "selected", void 0);
471
- __decorate([
472
- property({ type: Number })
473
- ], KemetTabs.prototype, "selectedIndex", void 0);
474
- __decorate([
475
- property({ type: Number })
476
- ], KemetTabs.prototype, "panelPosition", void 0);
477
- __decorate([
478
- property({ type: String, reflect: true, attribute: 'panel-effect' })
479
- ], KemetTabs.prototype, "panelEffect", void 0);
480
- __decorate([
481
- property({ type: Boolean })
482
- ], KemetTabs.prototype, "swipe", void 0);
483
- __decorate([
484
- property({ type: String, reflect: true })
485
- ], KemetTabs.prototype, "placement", void 0);
486
- __decorate([
487
- property({ type: Boolean })
488
- ], KemetTabs.prototype, "divider", void 0);
489
- __decorate([
490
- property({ type: String, reflect: true, attribute: 'tabs-align' })
491
- ], KemetTabs.prototype, "tabsAlign", void 0);
492
- __decorate([
493
- property({ type: Object })
494
- ], KemetTabs.prototype, "ink", void 0);
495
- __decorate([
496
- property({ type: Boolean, attribute: 'hide-ink' })
497
- ], KemetTabs.prototype, "hideInk", void 0);
498
- __decorate([
499
- property({ type: Boolean, reflect: true })
500
- ], KemetTabs.prototype, "overflow", void 0);
501
- __decorate([
502
- state()
503
- ], KemetTabs.prototype, "tabs", void 0);
504
- __decorate([
505
- state()
506
- ], KemetTabs.prototype, "panels", void 0);
507
- __decorate([
508
- state()
509
- ], KemetTabs.prototype, "xDown", void 0);
510
- __decorate([
511
- state()
512
- ], KemetTabs.prototype, "yDown", void 0);
513
- __decorate([
514
- state()
515
- ], KemetTabs.prototype, "links", void 0);
516
- __decorate([
517
- query('#panels')
518
- ], KemetTabs.prototype, "panelsElement", void 0);
519
- KemetTabs = __decorate([
520
- customElement('kemet-tabs')
521
- ], KemetTabs);
522
- export default KemetTabs;
523
- //# sourceMappingURL=kemet-tabs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kemet-tabs.js","sourceRoot":"","sources":["../../../../src/components/kemet-tabs/kemet-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-lonely-if */\n/* eslint-disable no-case-declarations */\nimport { LitElement, html } from 'lit';\nimport { stylesKemetTabs } from './styles';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { KemetTabInterface, KemetTabPanelInterface, TypePanelEffect, TypePlacement, TypeTabsAlign } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-tabs\n * @summary A group of tabs and panels.\n *\n * @prop {string} selected - The selected tab by name\n * @prop {number} selectedIndex - The selected tab by index\n * @prop {number} panelPosition - Positions the current panel\n * @prop {string} panelEffect - The transition effect for panels\n * @prop {boolean} swipe - Determines whether or not to enable swipe behavior\n * @prop {string} placement - Places the tabs to the top, right, bottom, or left\n * @prop {boolean} divider - Determines whether or not to show a divider line\n * @prop {string} tabsAlign - Spacing alignment of the tabs\n * @prop {object} ink - An object that contains information about the ink\n * @prop {boolean} hideInk - Determines whether or not to hide the ink\n * @prop {boolean} overflow - Is true when the space of the tabs is larger than it's container\n *\n * @slot tab - Place the tabs here.\n * @slot panel - Place the panels here.\n *\n * @csspart links - The container for the tablist.\n * @csspart tablist - Contains the tabs.\n * @csspart panels - Contains the panels.\n * @csspart ink - The ink element.\n * @csspart divider - The divider element.\n *\n * @cssproperty --kemet-tabs-ink-size - The thickness of the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-radius - The radius on the ink. Default: 6px.\n * @cssproperty --kemet-tabs-ink-color - The color of the ink. Default: var(--kemet-color-background).\n * @cssproperty --kemet-tabs-divider-size - The thickness of the divider. Default: 1px.\n * @cssproperty --kemet-tabs-divider-color - The color of the divider. Default: var(--kemet-color-gray4).\n * @cssproperty --kemet-tabs-transition-speed - The transition speed of the panels. Default: 0.5s.\n * @cssproperty --kemet-tabs-spacer - The space between tabs and panels. Default: 1rem.\n *\n * @event kemet-tab-changed - Fires when a tab is changed\n *\n */\n\n@customElement('kemet-tabs')\nexport default class KemetTabs extends LitElement {\n static styles = [stylesKemetTabs];\n\n @property({ type: String, reflect: true })\n selected: string;\n\n @property({ type: Number })\n selectedIndex: number = 0;\n\n @property({ type: Number })\n panelPosition: number = 0;\n\n @property({ type: String, reflect: true, attribute: 'panel-effect' })\n panelEffect: TypePanelEffect = 'none';\n\n @property({ type: Boolean })\n swipe: boolean;\n\n @property({ type: String, reflect: true })\n placement: TypePlacement = 'top';\n\n @property({ type: Boolean })\n divider: boolean;\n\n @property({ type: String, reflect: true, attribute: 'tabs-align' })\n tabsAlign: TypeTabsAlign = 'center';\n\n @property({ type: Object })\n ink: any;\n\n @property({ type: Boolean, attribute: 'hide-ink' })\n hideInk: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n overflow: boolean;\n\n @state()\n tabs: any[];\n\n @state()\n panels: any[];\n\n @state()\n xDown: number | null;\n\n @state()\n yDown: number | null;\n\n @state()\n links: HTMLElement;\n\n @query('#panels')\n panelsElement: HTMLElement;\n\n\n constructor() {\n super();\n\n this.addEventListener('kemet-tab-selected', this.tabSelectedChange.bind(this));\n this.addEventListener('kemet-tab-close', this.handleTabClose.bind(this));\n window.addEventListener('resize', this.handleResize.bind(this));\n }\n\n firstUpdated() {\n // standard properties\n this.tabs = [];\n this.panels = [];\n this.xDown = null;\n this.yDown = null;\n\n this.links = this.shadowRoot.getElementById('links');\n }\n\n render() {\n return html`\n ${this.makeLeftArrow()}\n ${this.makeRightArrow()}\n <div id=\"links\" part=\"links\">\n <div part='tablist' role=\"tablist\">\n <slot name=\"tab\" @slotchange=${() => this.handleLinksSlotChange()}></slot>\n </div>\n ${this.makeInk('links')}\n </div>\n ${this.makeInk('host')}\n ${this.makeDivider()}\n <section id=\"panels\" part=\"panels\" style=\"transform:translateX(${this.panelPosition}px);\">\n <div>\n <slot name=\"panel\" @slotchange=${() => this.handlePanelsSlotChange()}></slot>\n </div>\n </section>\n `;\n }\n\n updated() {\n this.determineFade();\n this.determineStacked();\n }\n\n handleLinksSlotChange() {\n const tabs = this.querySelectorAll('kemet-tab');\n let index = 0;\n\n tabs.forEach((tab: KemetTabInterface) => {\n // give each tab an index to select by if link/panel is not used\n tab.index = index;\n index += 1;\n\n // store the list of tabs\n this.tabs = this.tabs.concat(tab);\n\n // add keyboard support\n tab.addEventListener('keydown', event => this.handleTabKeydown(event));\n });\n\n // default to the first tab/panel selected\n if (this.tabs.length > 0) this.tabs[0].selected = true;\n\n setTimeout(() => {\n this.selectTab();\n }, 1);\n this.determineOverflow();\n }\n\n handlePanelsSlotChange() {\n const panels = this.querySelectorAll('kemet-tab-panel');\n const panelElement = this.shadowRoot.getElementById('panels');\n let index = 0;\n\n panels.forEach((panel: KemetTabPanelInterface) => {\n // give each panel an index to select by if link/panel is not used\n panel.index = index;\n index += 1;\n\n // store the list of panels\n this.panels = this.panels.concat(panel);\n });\n\n // default to the first tab/panel selected\n if (this.panels.length > 0) this.panels[0].selected = true;\n\n // add swipe support\n if (this.swipe) {\n panelElement.addEventListener('touchstart', event => this.handleTouchStart(event), false);\n panelElement.addEventListener('touchmove', event => this.handleTouchMove(event), false);\n }\n\n this.selectPanel();\n }\n\n handleLeftArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[0];\n const previousElement = selectedElement.previousElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = previousElement ? previousElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex > 0 ? selectedIndex - 1 : 0;\n }\n\n if (previousElement) {\n this.links.scrollLeft = previousElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleRightArrow() {\n const selectedElement = this.tabs.find(tab => tab.selected) || this.tabs[this.tabs.length - 1];\n const nextElement = selectedElement.nextElementSibling;\n const selectedIndex = this.tabs.findIndex(tab => tab.selected);\n\n if (this.selected) {\n this.selected = nextElement ? nextElement.link : selectedElement.link;\n } else {\n this.selectedIndex = selectedIndex < this.tabs.length - 1\n ? selectedIndex + 1\n : this.tabs.length - 1;\n }\n\n if (nextElement) {\n this.links.scrollLeft = nextElement.offsetLeft - 20;\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n handleTabClose(event) {\n const tab = event.detail;\n const panel = this.panels[tab.index];\n\n this.selected = this.tabs[0].link;\n this.selectedIndex = 0;\n\n panel.remove();\n tab.remove();\n }\n\n makeInk(location) {\n if (this.hideInk) {\n return null;\n }\n\n if ((this.placement === 'top' || this.placement === 'bottom') && this.ink && location === 'links') {\n return html`<div part=\"ink\" style=\"width:${this.ink.width}; transform:translateX(${this.ink.positionX})\"></div>`;\n }\n\n if ((this.placement === 'left' || this.placement === 'right') && this.ink && location === 'host') {\n return html`<div part=\"ink\" style=\"height:${this.ink.height}; transform:translateY(${this.ink.positionY})\"></div>`;\n }\n\n return null;\n }\n\n makeDivider() {\n if (this.divider) {\n return html`<div part=\"divider\"></div>`;\n }\n\n return null;\n }\n\n makeLeftArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-left' size=\"20\" @click=${() => this.handleLeftArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n makeRightArrow() {\n if (this.overflow) {\n return html`<kemet-icon icon='chevron-right' size=\"20\" @click=${() => this.handleRightArrow()}></kemet-icon>`;\n }\n\n return null;\n }\n\n selectTab() {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.tabs.forEach((tab) => {\n const tabName = tab.getAttribute('link');\n\n if (tabName === this.selected) {\n tab.selected = true;\n this.selected = tabName;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.tabs.forEach((tab) => {\n if (this.selectedIndex === tab.index) {\n tab.selected = true;\n\n this.ink = {\n width: `${tab.offsetWidth}px`,\n height: `${tab.offsetHeight}px`,\n positionX: `${tab.offsetLeft - overflowOffset}px`,\n positionY: `${tab.offsetTop}px`,\n };\n\n this.links.scrollLeft = tab.offsetLeft - overflowOffset;\n } else {\n tab.selected = false;\n }\n });\n }\n }\n\n selectPanel() {\n // if the user uses the selected attribute select by it\n if (this.selected) {\n this.panels.forEach((panel) => {\n const panelName = panel.getAttribute('panel');\n\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (panelName === this.selected) {\n panel.selected = true;\n this.animatePanel(panelName, null);\n } else {\n panel.selected = false;\n }\n });\n\n // otherwise select by index\n } else {\n this.panels.forEach((panel) => {\n if (this.panelEffect === 'fade' && panel.index !== 0) {\n panel.classList.add('push');\n }\n\n if (this.placement === 'left' || this.placement === 'right') {\n panel.classList.add('vertical');\n }\n\n if (this.selectedIndex === panel.index) {\n panel.selected = true;\n this.animatePanel(null, panel.index);\n } else {\n panel.selected = false;\n }\n });\n }\n }\n\n dispatchTabChange() {\n const details = {\n currentTabName: this.selected,\n currentTabIndex: this.selectedIndex,\n };\n\n emitEvent(this, 'kemet-tab-changed', details);\n }\n\n tabSelectedChange(event) {\n if (this.selected) {\n // if selected has been set, use the string attribute\n this.selected = event.detail.getAttribute('link');\n } else {\n // otherwise use the generated index\n this.selectedIndex = event.detail.index;\n }\n\n this.selectTab();\n this.selectPanel();\n this.dispatchTabChange();\n }\n\n\n determineFade() {\n this.panels.forEach((panel) => {\n // add fade class if panel effect is fade\n if (this.panelEffect === 'fade') panel.classList.add('fade');\n });\n }\n\n determineStacked() {\n this.panels.forEach((panel) => {\n // add fade class if panel effect is fade\n if (this.panelEffect === 'stacked') panel.classList.add('stacked');\n });\n }\n\n determineOverflow() {\n const tabsContainerWidth = this.offsetWidth;\n const tabElements = this.querySelectorAll('kemet-tab');\n\n let totalTabsWidth = 0;\n\n tabElements.forEach((tab) => {\n totalTabsWidth += tab.offsetWidth;\n });\n\n if (totalTabsWidth > tabsContainerWidth && (this.placement === 'top' || this.placement === 'bottom')) {\n this.overflow = true;\n } else {\n this.overflow = false;\n }\n }\n\n handleResize() {\n if (this.tabs && this.panels) {\n const marginLeft = this.links ? parseInt(window.getComputedStyle(this.links).marginLeft.replace('px', ''), 10) : 0;\n const overflowOffset = this.overflow ? marginLeft : 0;\n const selectedElement = this.tabs.find(tab => tab.selected);\n\n if (selectedElement) {\n this.ink = {\n width: `${selectedElement.offsetWidth}px`,\n height: `${selectedElement.offsetHeight}px`,\n positionX: `${selectedElement.offsetLeft - overflowOffset}px`,\n positionY: `${selectedElement.offsetTop}px`,\n };\n }\n\n this.determineOverflow();\n\n if (this.selected) {\n this.animatePanel(this.selected, null);\n } else {\n this.animatePanel(null, this.selectedIndex);\n }\n }\n }\n\n animatePanel(panelName, panelIndex) {\n if (panelName) {\n const selectedPanel = this.querySelector(`[panel=\"${panelName}\"]`) as KemetTabPanelInterface;\n if (selectedPanel) this.panelPosition = selectedPanel.offsetLeft * -1;\n } else {\n if (this.panels[panelIndex]) this.panelPosition = this.panels[panelIndex].offsetLeft * -1;\n }\n }\n\n handleTabKeydown(event) {\n if (this.selected) {\n switch (event.key) {\n case 'Home':\n this.selected = this.tabs[0].getAttribute('link');\n break;\n case 'End':\n this.selected = this.tabs[this.tabs.length - 1].getAttribute('link');\n break;\n case 'ArrowRight':\n const nextLinkElement = this.querySelector('kemet-tab[selected]').nextElementSibling;\n const nextLink = nextLinkElement ? nextLinkElement.getAttribute('link') : false;\n\n if (nextLink) {\n this.selected = nextLink;\n }\n break;\n case 'ArrowLeft':\n const previousLinkElement = this.querySelector('kemet-tab[selected]').previousElementSibling;\n const previousLink = previousLinkElement ? previousLinkElement.getAttribute('link') : false;\n\n if (previousLink) {\n this.selected = previousLink;\n }\n break;\n default: break;\n }\n\n this.tabs.find(tab => tab.link === this.selected).focus();\n } else {\n switch (event.key) {\n case 'Home':\n this.selectedIndex = 0;\n break;\n case 'End':\n this.selectedIndex = this.tabs.length - 1;\n break;\n case 'ArrowRight':\n if (this.selectedIndex < this.tabs.length - 1) {\n this.selectedIndex += 1;\n } else {\n this.selectedIndex = this.tabs.length - 1;\n }\n break;\n case 'ArrowLeft':\n if (this.selectedIndex < 1) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex -= 1;\n }\n break;\n default: break;\n }\n\n this.tabs[this.selectedIndex].focus();\n }\n }\n\n handleTouchStart(event) {\n this.xDown = event.touches[0].clientX;\n this.yDown = event.touches[0].clientY;\n }\n\n handleTouchMove(event) {\n if (!this.xDown || !this.yDown) {\n return;\n }\n\n const xUp = event.touches[0].clientX;\n const yUp = event.touches[0].clientY;\n const xDiff = this.xDown - xUp;\n const yDiff = this.yDown - yUp;\n\n const nextElement = this.querySelector('kemet-tab-panel[selected]')?.nextElementSibling;\n const next = nextElement ? nextElement.getAttribute('panel') : false;\n const previousElement = this.querySelector('kemet-tab-panel[selected]')?.previousElementSibling;\n const previous = previousElement ? previousElement.getAttribute('panel') : false;\n\n if (Math.abs(xDiff) > Math.abs(yDiff)) {\n if (xDiff > 0) {\n if (this.selected) {\n if (next) this.selected = next;\n } else {\n if (this.selectedIndex < this.tabs.length) this.selectedIndex += 1;\n }\n } else {\n if (this.selected) {\n if (previous) this.selected = previous;\n } else {\n if (this.selectedIndex > 0) this.selectedIndex -= 1;\n }\n }\n\n this.selectTab();\n this.selectPanel();\n }\n\n this.xDown = null;\n this.yDown = null;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-tabs': KemetTabs\n }\n}\n"]}
@@ -1,3 +0,0 @@
1
- export declare const stylesKemetTabs: import("lit").CSSResult;
2
- export declare const stylesKemetTab: import("lit").CSSResult;
3
- export declare const stylesKemetTabPanel: import("lit").CSSResult;