kemet-ui 2.0.2 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/custom-elements.json +540 -553
  2. package/dist/components/kemet-accordion/kemet-accordion-panel.d.ts +1 -2
  3. package/dist/components/kemet-accordion/kemet-accordion-panel.js +3 -2
  4. package/dist/components/kemet-accordion/kemet-accordion-panel.js.map +1 -1
  5. package/dist/components/kemet-accordion/kemet-accordion.d.ts +3 -2
  6. package/dist/components/kemet-accordion/kemet-accordion.js +12 -4
  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 +4 -5
  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 +21 -21
  45. package/dist/components/kemet-button/kemet-button.js +22 -22
  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 +15 -15
  55. package/dist/components/kemet-card/kemet-card.js +15 -15
  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-total.d.ts +2 -2
  65. package/dist/components/kemet-carousel/kemet-carousel-total.js.map +1 -1
  66. package/dist/components/kemet-carousel/kemet-carousel.d.ts +15 -15
  67. package/dist/components/kemet-carousel/kemet-carousel.js +15 -15
  68. package/dist/components/kemet-carousel/kemet-carousel.js.map +1 -1
  69. package/dist/components/kemet-carousel/styles.js +31 -15
  70. package/dist/components/kemet-carousel/styles.js.map +1 -1
  71. package/dist/components/kemet-checkbox/docs/stories.d.ts +4 -0
  72. package/dist/components/kemet-checkbox/docs/stories.js +28 -28
  73. package/dist/components/kemet-checkbox/docs/stories.js.map +1 -1
  74. package/dist/components/kemet-checkbox/kemet-checkbox.d.ts +6 -6
  75. package/dist/components/kemet-checkbox/kemet-checkbox.js +6 -6
  76. package/dist/components/kemet-checkbox/kemet-checkbox.js.map +1 -1
  77. package/dist/components/kemet-checkbox/styles.js +20 -13
  78. package/dist/components/kemet-checkbox/styles.js.map +1 -1
  79. package/dist/components/kemet-combo/docs/stories.js +14 -12
  80. package/dist/components/kemet-combo/docs/stories.js.map +1 -1
  81. package/dist/components/kemet-combo/kemet-combo.d.ts +9 -9
  82. package/dist/components/kemet-combo/kemet-combo.js +9 -9
  83. package/dist/components/kemet-combo/kemet-combo.js.map +1 -1
  84. package/dist/components/kemet-combo/styles.js +21 -9
  85. package/dist/components/kemet-combo/styles.js.map +1 -1
  86. package/dist/components/kemet-count/docs/stories.js +10 -25
  87. package/dist/components/kemet-count/docs/stories.js.map +1 -1
  88. package/dist/components/kemet-draggable/docs/stories.d.ts +1 -0
  89. package/dist/components/kemet-draggable/docs/stories.js +8 -15
  90. package/dist/components/kemet-draggable/docs/stories.js.map +1 -1
  91. package/dist/components/kemet-drawer/docs/stories.d.ts +6 -0
  92. package/dist/components/kemet-drawer/docs/stories.js +59 -60
  93. package/dist/components/kemet-drawer/docs/stories.js.map +1 -1
  94. package/dist/components/kemet-drawer/kemet-drawer.d.ts +5 -5
  95. package/dist/components/kemet-drawer/kemet-drawer.js +5 -5
  96. package/dist/components/kemet-drawer/kemet-drawer.js.map +1 -1
  97. package/dist/components/kemet-drawer/styles.js +31 -25
  98. package/dist/components/kemet-drawer/styles.js.map +1 -1
  99. package/dist/components/kemet-drawer/types.d.ts +0 -6
  100. package/dist/components/kemet-drawer/types.js.map +1 -1
  101. package/dist/components/kemet-fab/docs/stories.d.ts +3 -0
  102. package/dist/components/kemet-fab/docs/stories.js +23 -32
  103. package/dist/components/kemet-fab/docs/stories.js.map +1 -1
  104. package/dist/components/kemet-fab/kemet-fab.d.ts +6 -6
  105. package/dist/components/kemet-fab/kemet-fab.js +6 -6
  106. package/dist/components/kemet-fab/kemet-fab.js.map +1 -1
  107. package/dist/components/kemet-fab/styles.js +19 -10
  108. package/dist/components/kemet-fab/styles.js.map +1 -1
  109. package/dist/components/kemet-field/docs/stories.d.ts +1 -1
  110. package/dist/components/kemet-field/docs/stories.js +19 -69
  111. package/dist/components/kemet-field/docs/stories.js.map +1 -1
  112. package/dist/components/kemet-field/kemet-field.d.ts +5 -5
  113. package/dist/components/kemet-field/kemet-field.js.map +1 -1
  114. package/dist/components/kemet-field/styles.js +6 -6
  115. package/dist/components/kemet-field/styles.js.map +1 -1
  116. package/dist/components/kemet-flipcard/docs/stories.d.ts +3 -0
  117. package/dist/components/kemet-flipcard/docs/stories.js +29 -78
  118. package/dist/components/kemet-flipcard/docs/stories.js.map +1 -1
  119. package/dist/components/kemet-flipcard/kemet-flipcard.d.ts +7 -7
  120. package/dist/components/kemet-flipcard/kemet-flipcard.js +7 -7
  121. package/dist/components/kemet-flipcard/kemet-flipcard.js.map +1 -1
  122. package/dist/components/kemet-flipcard/styles.js +20 -10
  123. package/dist/components/kemet-flipcard/styles.js.map +1 -1
  124. package/dist/components/kemet-icon/docs/stories.js +8 -15
  125. package/dist/components/kemet-icon/docs/stories.js.map +1 -1
  126. package/dist/components/kemet-input/docs/stories.d.ts +4 -0
  127. package/dist/components/kemet-input/docs/stories.js +54 -113
  128. package/dist/components/kemet-input/docs/stories.js.map +1 -1
  129. package/dist/components/kemet-input/kemet-input.d.ts +15 -15
  130. package/dist/components/kemet-input/kemet-input.js +15 -15
  131. package/dist/components/kemet-input/kemet-input.js.map +1 -1
  132. package/dist/components/kemet-input/styles.js +38 -21
  133. package/dist/components/kemet-input/styles.js.map +1 -1
  134. package/dist/components/kemet-modal/docs/stories.d.ts +2 -0
  135. package/dist/components/kemet-modal/docs/stories.js +25 -68
  136. package/dist/components/kemet-modal/docs/stories.js.map +1 -1
  137. package/dist/components/kemet-modal/kemet-modal-close.js +1 -1
  138. package/dist/components/kemet-modal/kemet-modal-close.js.map +1 -1
  139. package/dist/components/kemet-modal/kemet-modal.d.ts +16 -6
  140. package/dist/components/kemet-modal/kemet-modal.js +37 -18
  141. package/dist/components/kemet-modal/kemet-modal.js.map +1 -1
  142. package/dist/components/kemet-modal/styles.js +77 -48
  143. package/dist/components/kemet-modal/styles.js.map +1 -1
  144. package/dist/components/kemet-password/docs/stories.js +10 -18
  145. package/dist/components/kemet-password/docs/stories.js.map +1 -1
  146. package/dist/components/kemet-password/styles.js +7 -7
  147. package/dist/components/kemet-password/styles.js.map +1 -1
  148. package/dist/components/kemet-popper/docs/stories.d.ts +2 -0
  149. package/dist/components/kemet-popper/docs/stories.js +32 -39
  150. package/dist/components/kemet-popper/docs/stories.js.map +1 -1
  151. package/dist/components/kemet-popper/kemet-popper.d.ts +1 -3
  152. package/dist/components/kemet-popper/kemet-popper.js +3 -8
  153. package/dist/components/kemet-popper/kemet-popper.js.map +1 -1
  154. package/dist/components/kemet-popper/styles.js +14 -5
  155. package/dist/components/kemet-popper/styles.js.map +1 -1
  156. package/dist/components/kemet-radio/docs/stories.d.ts +2 -0
  157. package/dist/components/kemet-radio/docs/stories.js +24 -20
  158. package/dist/components/kemet-radio/docs/stories.js.map +1 -1
  159. package/dist/components/kemet-radio/kemet-radio.d.ts +7 -6
  160. package/dist/components/kemet-radio/kemet-radio.js +7 -6
  161. package/dist/components/kemet-radio/kemet-radio.js.map +1 -1
  162. package/dist/components/kemet-radio/kemet-radios.d.ts +1 -1
  163. package/dist/components/kemet-radio/kemet-radios.js +1 -1
  164. package/dist/components/kemet-radio/kemet-radios.js.map +1 -1
  165. package/dist/components/kemet-radio/styles.js +26 -16
  166. package/dist/components/kemet-radio/styles.js.map +1 -1
  167. package/dist/components/kemet-rotator/docs/stories.d.ts +1 -0
  168. package/dist/components/kemet-rotator/docs/stories.js +16 -28
  169. package/dist/components/kemet-rotator/docs/stories.js.map +1 -1
  170. package/dist/components/kemet-rotator/kemet-rotator.d.ts +2 -2
  171. package/dist/components/kemet-rotator/kemet-rotator.js +1 -1
  172. package/dist/components/kemet-rotator/kemet-rotator.js.map +1 -1
  173. package/dist/components/kemet-rotator/styles.js +4 -2
  174. package/dist/components/kemet-rotator/styles.js.map +1 -1
  175. package/dist/components/kemet-scroll-link/docs/stories.js +2 -2
  176. package/dist/components/kemet-scroll-link/docs/stories.js.map +1 -1
  177. package/dist/components/kemet-scroll-nav/docs/stories.js +5 -5
  178. package/dist/components/kemet-scroll-nav/docs/stories.js.map +1 -1
  179. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.d.ts +5 -5
  180. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js +5 -5
  181. package/dist/components/kemet-scroll-nav/kemet-scroll-nav.js.map +1 -1
  182. package/dist/components/kemet-scroll-nav/styles.js +10 -4
  183. package/dist/components/kemet-scroll-nav/styles.js.map +1 -1
  184. package/dist/components/kemet-scroll-snap/docs/stories.d.ts +6 -0
  185. package/dist/components/kemet-scroll-snap/docs/stories.js +72 -82
  186. package/dist/components/kemet-scroll-snap/docs/stories.js.map +1 -1
  187. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.d.ts +3 -3
  188. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js +3 -3
  189. package/dist/components/kemet-scroll-snap/kemet-scroll-snap-paginator.js.map +1 -1
  190. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.d.ts +4 -4
  191. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js +4 -4
  192. package/dist/components/kemet-scroll-snap/kemet-scroll-snap.js.map +1 -1
  193. package/dist/components/kemet-scroll-snap/styles.js +14 -6
  194. package/dist/components/kemet-scroll-snap/styles.js.map +1 -1
  195. package/dist/components/kemet-select/docs/stories.d.ts +3 -0
  196. package/dist/components/kemet-select/docs/stories.js +25 -33
  197. package/dist/components/kemet-select/docs/stories.js.map +1 -1
  198. package/dist/components/kemet-select/kemet-select.d.ts +13 -13
  199. package/dist/components/kemet-select/kemet-select.js +13 -13
  200. package/dist/components/kemet-select/kemet-select.js.map +1 -1
  201. package/dist/components/kemet-select/styles.js +32 -16
  202. package/dist/components/kemet-select/styles.js.map +1 -1
  203. package/dist/components/kemet-sortable/docs/stories.js +5 -10
  204. package/dist/components/kemet-sortable/docs/stories.js.map +1 -1
  205. package/dist/components/kemet-sortable/styles.js +1 -1
  206. package/dist/components/kemet-sortable/styles.js.map +1 -1
  207. package/dist/components/kemet-svgs/docs/stories.js +11 -11
  208. package/dist/components/kemet-svgs/docs/stories.js.map +1 -1
  209. package/dist/components/kemet-tabs/docs/stories.d.ts +9 -0
  210. package/dist/components/kemet-tabs/docs/stories.js +78 -78
  211. package/dist/components/kemet-tabs/docs/stories.js.map +1 -1
  212. package/dist/components/kemet-tabs/kemet-tab-panel.d.ts +1 -1
  213. package/dist/components/kemet-tabs/kemet-tab-panel.js +1 -1
  214. package/dist/components/kemet-tabs/kemet-tab-panel.js.map +1 -1
  215. package/dist/components/kemet-tabs/kemet-tab.d.ts +2 -2
  216. package/dist/components/kemet-tabs/kemet-tab.js +2 -2
  217. package/dist/components/kemet-tabs/kemet-tab.js.map +1 -1
  218. package/dist/components/kemet-tabs/kemet-tabs.d.ts +8 -8
  219. package/dist/components/kemet-tabs/kemet-tabs.js +16 -8
  220. package/dist/components/kemet-tabs/kemet-tabs.js.map +1 -1
  221. package/dist/components/kemet-tabs/styles.js +12 -5
  222. package/dist/components/kemet-tabs/styles.js.map +1 -1
  223. package/dist/components/kemet-textarea/docs/stories.d.ts +3 -0
  224. package/dist/components/kemet-textarea/docs/stories.js +37 -67
  225. package/dist/components/kemet-textarea/docs/stories.js.map +1 -1
  226. package/dist/components/kemet-textarea/kemet-textarea.d.ts +12 -12
  227. package/dist/components/kemet-textarea/kemet-textarea.js +12 -12
  228. package/dist/components/kemet-textarea/kemet-textarea.js.map +1 -1
  229. package/dist/components/kemet-textarea/styles.js +31 -16
  230. package/dist/components/kemet-textarea/styles.js.map +1 -1
  231. package/dist/components/kemet-toggle/docs/stories.d.ts +2 -0
  232. package/dist/components/kemet-toggle/docs/stories.js +21 -36
  233. package/dist/components/kemet-toggle/docs/stories.js.map +1 -1
  234. package/dist/components/kemet-toggle/kemet-toggle.d.ts +9 -9
  235. package/dist/components/kemet-toggle/kemet-toggle.js +9 -9
  236. package/dist/components/kemet-toggle/kemet-toggle.js.map +1 -1
  237. package/dist/components/kemet-toggle/styles.js +12 -6
  238. package/dist/components/kemet-toggle/styles.js.map +1 -1
  239. package/dist/components/kemet-tooltip/docs/stories.d.ts +4 -0
  240. package/dist/components/kemet-tooltip/docs/stories.js +58 -33
  241. package/dist/components/kemet-tooltip/docs/stories.js.map +1 -1
  242. package/dist/components/kemet-tooltip/styles.js +2 -2
  243. package/dist/components/kemet-tooltip/styles.js.map +1 -1
  244. package/dist/components/kemet-tracker/docs/stories.d.ts +1 -0
  245. package/dist/components/kemet-tracker/docs/stories.js +18 -22
  246. package/dist/components/kemet-tracker/docs/stories.js.map +1 -1
  247. package/dist/components/kemet-tracker/kemet-tracker-step.d.ts +16 -16
  248. package/dist/components/kemet-tracker/kemet-tracker-step.js +16 -16
  249. package/dist/components/kemet-tracker/kemet-tracker-step.js.map +1 -1
  250. package/dist/components/kemet-tracker/styles.js +23 -12
  251. package/dist/components/kemet-tracker/styles.js.map +1 -1
  252. package/dist/components/kemet-upload/docs/stories.js +17 -22
  253. package/dist/components/kemet-upload/docs/stories.js.map +1 -1
  254. package/dist/components/kemet-upload/kemet-upload-file.d.ts +3 -3
  255. package/dist/components/kemet-upload/kemet-upload-file.js +3 -3
  256. package/dist/components/kemet-upload/kemet-upload-file.js.map +1 -1
  257. package/dist/components/kemet-upload/kemet-upload.d.ts +4 -4
  258. package/dist/components/kemet-upload/kemet-upload.js +4 -4
  259. package/dist/components/kemet-upload/kemet-upload.js.map +1 -1
  260. package/dist/components/kemet-upload/styles.js +27 -18
  261. package/dist/components/kemet-upload/styles.js.map +1 -1
  262. package/dist/kemet-components.bundle.js +16 -17
  263. package/dist/kemet-components.bundle.js.map +1 -1
  264. package/dist/kemet-components.cjs +6866 -6753
  265. package/dist/kemet-components.js +6866 -6753
  266. package/dist/styles/kemet.base.css +255 -78
  267. package/dist/styles/kemet.base.css.map +1 -1
  268. package/dist/styles/kemet.base.scss +6 -5
  269. package/dist/styles/kemet.components.css +1 -16
  270. package/dist/styles/kemet.components.css.map +1 -1
  271. package/dist/styles/kemet.components.scss +0 -2
  272. package/dist/styles/kemet.core.css +5729 -1737
  273. package/dist/styles/kemet.core.css.map +1 -1
  274. package/dist/styles/shared/_config.scss +306 -93
  275. package/dist/styles/shared/_helpers.scss +88 -16
  276. package/dist/tsconfig.tsbuildinfo +1 -1
  277. package/package.json +13 -12
  278. package/dist/components/kemet-accordion/types.d.ts +0 -9
  279. package/dist/components/kemet-accordion/types.js +0 -2
  280. package/dist/components/kemet-accordion/types.js.map +0 -1
  281. package/dist/components/kemet-avatar/types.d.ts +0 -8
  282. package/dist/components/kemet-avatar/types.js +0 -2
  283. package/dist/components/kemet-avatar/types.js.map +0 -1
  284. package/dist/components/kemet-card/types.d.ts +0 -3
  285. package/dist/components/kemet-card/types.js +0 -2
  286. package/dist/components/kemet-card/types.js.map +0 -1
  287. package/dist/components/kemet-carousel/types.d.ts +0 -21
  288. package/dist/components/kemet-carousel/types.js +0 -2
  289. package/dist/components/kemet-carousel/types.js.map +0 -1
  290. package/dist/components/kemet-combo/types.d.ts +0 -5
  291. package/dist/components/kemet-combo/types.js +0 -2
  292. package/dist/components/kemet-combo/types.js.map +0 -1
  293. package/dist/components/kemet-draggable/types.d.ts +0 -6
  294. package/dist/components/kemet-draggable/types.js +0 -2
  295. package/dist/components/kemet-draggable/types.js.map +0 -1
  296. package/dist/styles/components/drawer.scss +0 -11
  297. package/dist/styles/components/modal.scss +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-carousel/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\n\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-carousel';\nimport '../kemet-carousel-link';\nimport '../kemet-carousel-first';\nimport '../kemet-carousel-last';\nimport '../kemet-carousel-next';\nimport '../kemet-carousel-prev';\nimport '../kemet-carousel-slide';\nimport '../kemet-carousel-current';\nimport '../kemet-carousel-total';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Carousel',\n component: 'kemet-carousel',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n numOfSlides = 5,\n toolbar = 'description',\n index = 0,\n inner = false,\n arrows = false,\n options,\n breakpoints,\n}) => {\n const makeSlides = () => {\n const slides = [];\n\n for (let i = 0; i < numOfSlides; i += 1) {\n const slideNumber = i + 1;\n\n slides.push(html`\n <kemet-carousel-slide slot=\"slides\">\n <figure kemet-border=\"all-1 solid gray1\" kemet-margin=\"tiny:none\" kemet-padding=\"tiny:normal\" kemet-elevation=\"layer4\">\n <h3 kemet-margin=\"tiny:none\">Slide ${slideNumber}</h3>\n <img src=\"https://via.placeholder.com/1920x1080\" alt=\"a placeholder\" style=\"max-width:100%\" />\n <figcaption>An image in a carousel.</figcaption>\n </figure>\n <span slot=\"information\"><a href=\"https://google.com\" target=\"_blank\">Title</a>. An image of slide ${slideNumber}. </span>\n </kemet-carousel-slide>\n `);\n }\n\n return slides;\n };\n\n const makePrevArrow = () => {\n if (arrows) {\n return html`\n <kemet-carousel-prev slot=\"prev\">\n <kemet-icon icon=\"chevron-left\" size=\"72\"></kemet-icon>\n </kemet-carousel-prev>\n `;\n }\n\n return null;\n };\n\n const makeNextArrow = () => {\n if (arrows) {\n return html`\n <kemet-carousel-next slot=\"next\">\n <kemet-icon icon=\"chevron-right\" size=\"72\"></kemet-icon>\n </kemet-carousel-next>\n `;\n }\n\n return null;\n };\n\n const makePagination = () => {\n if (toolbar === 'pagination') {\n const pages = [];\n\n for (let i = 0; i < numOfSlides; i += 1) {\n pages.push(html`\n <kemet-carousel-link slide=\"${i}\" slot=\"toolbar\">${i + 1}</kemet-carousel-link>\n `);\n }\n\n return html`\n <kemet-carousel-first slot=\"toolbar\">\n <kemet-icon icon=\"chevron-double-left\"></kemet-icon>\n </kemet-carousel-first>\n <kemet-carousel-prev slot=\"toolbar\">\n <kemet-icon icon=\"chevron-left\"></kemet-icon>\n </kemet-carousel-prev>\n ${pages}\n <kemet-carousel-next slot=\"toolbar\">\n <kemet-icon icon=\"chevron-right\"></kemet-icon>\n </kemet-carousel-next>\n <kemet-carousel-last slot=\"toolbar\">\n <kemet-icon icon=\"chevron-double-right\"></kemet-icon>\n </kemet-carousel-last>\n `;\n }\n\n return null;\n };\n\n const makeDescription = () => {\n if (toolbar === 'description') {\n return html`\n <div slot=\"toolbar\" kemet-layout=\"flexrow\" kemet-align=\"middle\" kemet-gutters>\n <div>\n <kemet-carousel-current></kemet-carousel-current>\n &nbsp;of&nbsp;\n <kemet-carousel-total></kemet-carousel-total>\n :&nbsp;\n <kemet-carousel-information></kemet-carousel-information>\n </div>\n <kemet-carousel-prev kemet-breakpoint=\"tiny:content\">\n <kemet-badge circle><kemet-icon icon=\"chevron-left\"></kemet-icon></kemet-badge>\n </kemet-carousel-prev>\n <kemet-carousel-next kemet-breakpoint=\"tiny:content\">\n <kemet-badge circle><kemet-icon icon=\"chevron-right\"></kemet-icon></kemet-badge>\n </kemet-carousel-next>\n </div>\n `;\n }\n\n return null;\n };\n\n return html`\n <kemet-carousel index=\"${index}\" ?inner=${inner} .options=${options} .breakpoints=${breakpoints}>\n ${makePrevArrow()}\n ${makeSlides()}\n ${makeNextArrow()}\n ${makePagination()}\n ${makeDescription()}\n </kemet-carousel>\n `;\n};\n\nexport const Standard: Story = {\n render: (args: any) => Template(args),\n args: {\n numOfSlides: 5,\n toolbar: 'pagination',\n index: 0,\n inner: false,\n arrows: false,\n options: {\n perView: 1,\n perMove: 1,\n gap: 12,\n slideshow: 0,\n rewind: true,\n center: false,\n },\n breakpoints: {\n 768: {\n perView: 2,\n gap: 24,\n rewind: false,\n },\n 1280: {\n perView: 2.5,\n center: true,\n },\n },\n },\n argTypes: {\n numOfSlides: {\n control: { type: 'number' },\n },\n toolbar: {\n control: { type: 'radio' },\n options: ['none', 'pagination', 'description'],\n },\n index: {\n control: { type: 'number' },\n },\n inner: {\n control: { type: 'boolean' },\n },\n arrows: {\n control: { type: 'boolean' },\n },\n options: {\n control: { type: 'object' },\n },\n breakpoints: {\n control: { type: 'object' },\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-carousel/docs/stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\n\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-carousel';\nimport '../kemet-carousel-link';\nimport '../kemet-carousel-first';\nimport '../kemet-carousel-last';\nimport '../kemet-carousel-next';\nimport '../kemet-carousel-prev';\nimport '../kemet-carousel-slide';\nimport '../kemet-carousel-current';\nimport '../kemet-carousel-total';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nimport '../../kemet-badge/kemet-badge';\nimport '../../kemet-icon/kemet-icon';\n\nconst meta: Meta = {\n title: 'Components / Carousel',\n component: 'kemet-carousel',\n args: {\n numOfSlides: 5,\n toolbarType: 'none',\n options: {\n perView: 1,\n perMove: 1,\n gap: 12,\n slideshow: 0,\n rewind: true,\n center: false,\n },\n breakpoints: {\n 768: {\n perView: 2,\n gap: 24,\n rewind: false,\n },\n 1280: {\n perView: 2.5,\n center: true,\n },\n },\n },\n argTypes: {\n toolbarType: {\n control: { type: 'radio' },\n options: ['none', 'pagination', 'description'],\n },\n options: {\n control: { type: 'object' },\n },\n breakpoints: {\n control: { type: 'object' },\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => {\n const makeSlides = () => {\n const slides = [];\n\n for (let i = 0; i < args.numOfSlides; i += 1) {\n const slideNumber = i + 1;\n\n slides.push(html`\n <kemet-carousel-slide slot=\"slides\">\n <figure kemet-border=\"all-1 solid gray-50\" kemet-margin=\"none\" kemet-padding=\"2xl\" kemet-elevation=\"layer-4\">\n <h3 kemet-margin=\"none\">Slide ${slideNumber}</h3>\n <img src=\"https://via.placeholder.com/1920x1080\" alt=\"a placeholder\" style=\"max-width:100%\" />\n <figcaption>An image in a carousel.</figcaption>\n </figure>\n <span slot=\"information\"><a href=\"https://google.com\" target=\"_blank\">Title</a>. An image of slide ${slideNumber}. </span>\n </kemet-carousel-slide>\n `);\n }\n\n return slides;\n };\n\n const makePrevArrow = () => {\n if (args.arrows) {\n return html`\n <kemet-carousel-prev slot=\"prev\">\n <kemet-icon icon=\"chevron-left\" size=\"72\"></kemet-icon>\n </kemet-carousel-prev>\n `;\n }\n\n return null;\n };\n\n const makeNextArrow = () => {\n if (args.arrows) {\n return html`\n <kemet-carousel-next slot=\"next\">\n <kemet-icon icon=\"chevron-right\" size=\"72\"></kemet-icon>\n </kemet-carousel-next>\n `;\n }\n\n return null;\n };\n\n const makePagination = () => {\n if (args.toolbarType === 'pagination') {\n const pages = [];\n\n for (let i = 0; i < args.numOfSlides; i += 1) {\n pages.push(html`\n <kemet-carousel-link slide=\"${i}\" slot=\"toolbar\">${i + 1}</kemet-carousel-link>\n `);\n }\n\n return html`\n <kemet-carousel-first slot=\"toolbar\">\n <kemet-icon icon=\"chevron-double-left\"></kemet-icon>\n </kemet-carousel-first>\n <kemet-carousel-prev slot=\"toolbar\">\n <kemet-icon icon=\"chevron-left\"></kemet-icon>\n </kemet-carousel-prev>\n ${pages}\n <kemet-carousel-next slot=\"toolbar\">\n <kemet-icon icon=\"chevron-right\"></kemet-icon>\n </kemet-carousel-next>\n <kemet-carousel-last slot=\"toolbar\">\n <kemet-icon icon=\"chevron-double-right\"></kemet-icon>\n </kemet-carousel-last>\n `;\n }\n\n return null;\n };\n\n const makeDescription = () => {\n if (args.toolbarType === 'description') {\n return html`\n <div slot=\"toolbar\" kemet-layout=\"flexrow\" kemet-align=\"middle\" kemet-gutters>\n <div>\n <kemet-carousel-current></kemet-carousel-current>\n &nbsp;of&nbsp;\n <kemet-carousel-total></kemet-carousel-total>\n :&nbsp;\n <kemet-carousel-information></kemet-carousel-information>\n </div>\n <kemet-carousel-prev kemet-breakpoint=\"tiny:content\">\n <kemet-badge circle kemet-padding=\"sm\"><kemet-icon icon=\"chevron-left\"></kemet-icon></kemet-badge>\n </kemet-carousel-prev>\n <kemet-carousel-next kemet-breakpoint=\"tiny:content\">\n <kemet-badge circle kemet-padding=\"sm\"><kemet-icon icon=\"chevron-right\"></kemet-icon></kemet-badge>\n </kemet-carousel-next>\n </div>\n `;\n }\n\n return null;\n };\n\n return html`\n <kemet-carousel index=\"${args.index}\" ?inner=${args.inner} .options=${args.options} .breakpoints=${args.breakpoints}>\n ${makePrevArrow()}\n ${makeSlides()}\n ${makeNextArrow()}\n ${makePagination()}\n ${makeDescription()}\n </kemet-carousel>\n `;\n};\n\nexport const Standard: Story = {\n render: (args: any) => Template(args),\n};\n\nexport const DescriptionToolbar: Story = {\n render: (args: any) => Template(args),\n args: {\n toolbarType: 'description',\n }\n};\n\nexport const PaginationToolbar: Story = {\n render: (args: any) => Template(args),\n args: {\n toolbarType: 'pagination',\n }\n};\n\nexport const InnerToolbar: Story = {\n render: (args: any) => Template(args),\n args: {\n inner: true,\n toolbarType: 'pagination',\n }\n};\n\nexport const Arrows: Story = {\n render: (args: any) => Template(args),\n args: {\n arrows: true,\n }\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- import { KemetCarouselInterface } from './types';
2
+ import KemetCarousel from './kemet-carousel';
3
3
  /**
4
4
  *
5
5
  * @since 1.1.0
@@ -14,7 +14,7 @@ import { KemetCarouselInterface } from './types';
14
14
  export default class KemetCarouselCurrent extends LitElement {
15
15
  static styles: import("lit").CSSResult[];
16
16
  current: number;
17
- carousel: KemetCarouselInterface | null;
17
+ carousel: KemetCarousel | null;
18
18
  firstUpdated(): void;
19
19
  updated(): void;
20
20
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-carousel-current.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel-current.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGnE;;;;;;;;;;GAUG;AAGH,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,UAAU;IAgB1D,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAe,IAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF,CAAA;AA1BQ,2BAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;CACF,CAAC;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACX;AAGhB;IADC,KAAK,EAAE;sDACgC;AAbrB,oBAAoB;IADxC,aAAa,CAAC,wBAAwB,CAAC;GACnB,oBAAoB,CA2BxC;eA3BoB,oBAAoB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { KemetCarouselInterface } from './types';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel-current\n * @summary Displays the active slide number.\n *\n * @prop {number} current - The current slide number.\n *\n */\n\n@customElement('kemet-carousel-current')\nexport default class KemetCarouselCurrent extends LitElement {\n static styles = [\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n\n @property({ type: Number })\n current: number;\n\n @state()\n carousel: KemetCarouselInterface | null;\n\n\n firstUpdated() {\n this.carousel = this.closest('kemet-carousel');\n }\n\n updated() {\n this.current = this.carousel?.index as number + 1;\n }\n\n render() {\n return html`${this.current}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel-current': KemetCarouselCurrent\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-carousel-current.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel-current.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGnE;;;;;;;;;;GAUG;AAGH,IAAqB,oBAAoB,GAAzC,MAAqB,oBAAqB,SAAQ,UAAU;IAgB1D,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAe,IAAG,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF,CAAA;AA1BQ,2BAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;CACF,CAAC;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACX;AAGhB;IADC,KAAK,EAAE;sDACuB;AAbZ,oBAAoB;IADxC,aAAa,CAAC,wBAAwB,CAAC;GACnB,oBAAoB,CA2BxC;eA3BoB,oBAAoB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport KemetCarousel from './kemet-carousel';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel-current\n * @summary Displays the active slide number.\n *\n * @prop {number} current - The current slide number.\n *\n */\n\n@customElement('kemet-carousel-current')\nexport default class KemetCarouselCurrent extends LitElement {\n static styles = [\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n\n @property({ type: Number })\n current: number;\n\n @state()\n carousel: KemetCarousel | null;\n\n\n firstUpdated() {\n this.carousel = this.closest('kemet-carousel');\n }\n\n updated() {\n this.current = this.carousel?.index as number + 1;\n }\n\n render() {\n return html`${this.current}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel-current': KemetCarouselCurrent\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { LitElement } from 'lit';
2
- import { KemetCarouselInterface } from './types';
2
+ import KemetCarousel from './kemet-carousel';
3
3
  /**
4
4
  *
5
5
  * @since 1.1.0
@@ -14,7 +14,7 @@ import { KemetCarouselInterface } from './types';
14
14
  export default class KemetCarouselTotal extends LitElement {
15
15
  static styles: import("lit").CSSResult[];
16
16
  total: number | undefined;
17
- carousel: KemetCarouselInterface | null;
17
+ carousel: KemetCarousel | null;
18
18
  firstUpdated(): void;
19
19
  updated(): void;
20
20
  render(): import("lit-html").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-carousel-total.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel-total.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGnE;;;;;;;;;;GAUG;AAGH,IAAqB,kBAAkB,GAAvC,MAAqB,kBAAmB,SAAQ,UAAU;IAexD,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AAzBQ,yBAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;CACF,CAAC;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACD;AAG1B;IADC,KAAK,EAAE;oDACgC;AAbrB,kBAAkB;IADtC,aAAa,CAAC,sBAAsB,CAAC;GACjB,kBAAkB,CA0BtC;eA1BoB,kBAAkB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { KemetCarouselInterface } from './types';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel-total\n * @summary Displays the total slide number.\n *\n * @prop {number} total - The total number of slides.\n *\n */\n\n@customElement('kemet-carousel-total')\nexport default class KemetCarouselTotal extends LitElement {\n static styles = [\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n\n @property({ type: Number })\n total: number | undefined;\n\n @state()\n carousel: KemetCarouselInterface | null;\n\n firstUpdated() {\n this.carousel = this.closest('kemet-carousel');\n }\n\n updated() {\n this.total = this.carousel?.total;\n }\n\n render() {\n return html`${this.total}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel-total': KemetCarouselTotal\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-carousel-total.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel-total.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGnE;;;;;;;;;;GAUG;AAGH,IAAqB,kBAAkB,GAAvC,MAAqB,kBAAmB,SAAQ,UAAU;IAexD,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;;QACL,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF,CAAA;AAzBQ,yBAAM,GAAG;IACd,GAAG,CAAA;;;;KAIF;CACF,CAAC;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDACD;AAG1B;IADC,KAAK,EAAE;oDACuB;AAbZ,kBAAkB;IADtC,aAAa,CAAC,sBAAsB,CAAC;GACjB,kBAAkB,CA0BtC;eA1BoB,kBAAkB","sourcesContent":["import { html, css, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport KemetCarousel from './kemet-carousel';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel-total\n * @summary Displays the total slide number.\n *\n * @prop {number} total - The total number of slides.\n *\n */\n\n@customElement('kemet-carousel-total')\nexport default class KemetCarouselTotal extends LitElement {\n static styles = [\n css`\n :host {\n display: inline-block;\n }\n `,\n ];\n\n @property({ type: Number })\n total: number | undefined;\n\n @state()\n carousel: KemetCarousel | null;\n\n firstUpdated() {\n this.carousel = this.closest('kemet-carousel');\n }\n\n updated() {\n this.total = this.carousel?.total;\n }\n\n render() {\n return html`${this.total}`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel-total': KemetCarouselTotal\n }\n}\n"]}
@@ -25,21 +25,21 @@ import { LitElement } from 'lit';
25
25
  * @slot next - A slot for the next arrow.
26
26
  * @slot information - Allows you to enter custom HTML such as a slide description to be used in the toolbar.
27
27
  *
28
- * @cssproperty --kemet-carousel-width - The width of the carousel. Default: 100%.
29
- * @cssproperty --kemet-carousel-height - The height of the carousel. Default: auto.
30
- * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar. Default: 1rem.
31
- * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar. Default: center.
32
- * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar. Default: 1rem.
33
- * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width. Default: 100%.
34
- * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar. Default: 0.
35
- * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar. Default: auto.
36
- * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color. Default: var(--kemet-color-white).
37
- * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color. Default: rgba(0, 0, 0, 0.4).
38
- * @cssproperty --kemet-carousel-slides-border - The border around the slides. Default: 1px solid var(--kemet-color-gray1).
39
- * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides. Default: 300ms.
40
- * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity. Default: 0.25.
41
- * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity. Default: 1.
42
- * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed. Default: 300ms.
28
+ * @cssproperty --kemet-carousel-width - The width of the carousel.
29
+ * @cssproperty --kemet-carousel-height - The height of the carousel.
30
+ * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar.
31
+ * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar.
32
+ * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar.
33
+ * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width.
34
+ * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar.
35
+ * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar.
36
+ * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color.
37
+ * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color.
38
+ * @cssproperty --kemet-carousel-slides-border - The border around the slides.
39
+ * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides.
40
+ * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity.
41
+ * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity.
42
+ * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed.
43
43
  *
44
44
  * @csspart container - Contains the slides and toolbar.
45
45
  * @csspart slides - Wrapper for the slider.
@@ -29,21 +29,21 @@ import { stylesCarousel } from './styles';
29
29
  * @slot next - A slot for the next arrow.
30
30
  * @slot information - Allows you to enter custom HTML such as a slide description to be used in the toolbar.
31
31
  *
32
- * @cssproperty --kemet-carousel-width - The width of the carousel. Default: 100%.
33
- * @cssproperty --kemet-carousel-height - The height of the carousel. Default: auto.
34
- * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar. Default: 1rem.
35
- * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar. Default: center.
36
- * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar. Default: 1rem.
37
- * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width. Default: 100%.
38
- * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar. Default: 0.
39
- * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar. Default: auto.
40
- * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color. Default: var(--kemet-color-white).
41
- * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color. Default: rgba(0, 0, 0, 0.4).
42
- * @cssproperty --kemet-carousel-slides-border - The border around the slides. Default: 1px solid var(--kemet-color-gray1).
43
- * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides. Default: 300ms.
44
- * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity. Default: 0.25.
45
- * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity. Default: 1.
46
- * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed. Default: 300ms.
32
+ * @cssproperty --kemet-carousel-width - The width of the carousel.
33
+ * @cssproperty --kemet-carousel-height - The height of the carousel.
34
+ * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar.
35
+ * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar.
36
+ * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar.
37
+ * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width.
38
+ * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar.
39
+ * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar.
40
+ * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color.
41
+ * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color.
42
+ * @cssproperty --kemet-carousel-slides-border - The border around the slides.
43
+ * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides.
44
+ * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity.
45
+ * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity.
46
+ * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed.
47
47
  *
48
48
  * @csspart container - Contains the slides and toolbar.
49
49
  * @csspart slides - Wrapper for the slider.
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-carousel.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAGH,IAAqB,aAAa,GAAlC,MAAqB,aAAc,SAAQ,UAAU;IAiGnD;QACE,KAAK,EAAE,CAAC;QA9FV,UAAK,GAAW,CAAC,CAAC;QAGlB,UAAK,GAAW,CAAC,CAAC;QAGlB,gBAAW,GAAW,MAAM,CAAC;QAG7B,qBAAgB,GAAW,GAAG,CAAC;QAG/B,UAAK,GAAY,KAAK,CAAC;QAGvB,WAAM,GAAY,KAAK,CAAC;QAGxB,YAAO,GAAW;YAChB,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;SACd,CAAC;QAGF,gBAAW,GAAW;YACpB,GAAG,EAAE;gBACH,OAAO,EAAE,CAAC;gBACV,GAAG,EAAE,EAAE;gBACP,MAAM,EAAE,KAAK;aACd;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,GAAG;gBACZ,MAAM,EAAE,IAAI;aACb;SACF,CAAC;QAEF,gBAAgB;QAEhB,WAAM,GAAU,EAAE,CAAC;QAEnB,gBAAgB;QAEhB,UAAK,GAAU,EAAE,CAAC;QAkDhB,WAAW;QACX,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY;;QACV,WAAW;QACX,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAE3E,SAAS;QACT,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,MAAA,IAAI,CAAC,aAAa,0CAAE,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3F,UAAU;QACV,IAAI,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE;YACzB,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE7C,IAAI,CAAC,gBAAgB,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,IAAI,CAAC;QAC/E,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACpC;QACH,CAAC,CAAC;QAEF,QAAQ;QACR,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,SAAS;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC;SACtE;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;sCACuB,IAAI,CAAC,YAAY;;;;;;uBAMhC,IAAI,CAAC,UAAU;qBACjB,IAAI,CAAC,QAAQ;wBACV,IAAI,CAAC,UAAU;sBACjB,IAAI,CAAC,QAAQ;wBACX,IAAI,CAAC,UAAU;;uEAEgC,IAAI,CAAC,WAAW,0BAA0B,IAAI,CAAC,gBAAgB;+CACvF,IAAI,CAAC,gBAAgB;;;UAG1D,IAAI,CAAC,WAAW,EAAE;;sCAEU,IAAI,CAAC,YAAY;KAClD,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAEnE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,WAAW,CAAC,KAAK;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QACjF,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACjC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;QAEhD,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAErB,IAAI,YAAY,IAAI,SAAS,KAAK,OAAO,EAAE;YACzC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAC5E;QAED,IAAI,YAAY,IAAI,SAAS,KAAK,MAAM,EAAE;YACxC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAC7C;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED,YAAY;;QACV,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,WAAqB,IAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAE3F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC1D,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YAC3D,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;IACjE,CAAC;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,EAAE;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;SAChD;IACH,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,OAAO,IAAI,CAAA;;;;OAIV,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAA4C,CAAC;QACxG,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAA2C,CAAC;QAErG,gBAAgB;QAChB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEnC,eAAe;QACf,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,UAAU;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU;QACR,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC5B,QAAQ,GAAG,CAAC,CAAC;aACd;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;aACvB;SACF;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,UAAU;QACR,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,8BAA8B;QAC9B,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;aACnC;iBAAM;gBACL,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;aACvB;SACF;QAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW,CAAC,QAAQ;QAClB,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEvC,iCAAiC;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,wDAAwD;QACxD,IAAI,CAAC,WAAW,EAAE;YAChB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SAC5B;QAED,+BAA+B;QAC/B,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAEjD,8BAA8B;YAC9B,IAAI,QAAQ,GAAG,CAAC,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAClD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;aACvB;iBAAM;gBACL,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;gBAC3G,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;aAChB;YAED,OAAO;YACP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAE3B,mBAAmB;YACnB,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,YAAY,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAElD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC5B,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;YAE7B,mCAAmC;YACnC,SAAS,CAAC,IAAI,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC;YAErD,6BAA6B;YAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;IACH,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAErF,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;aACpE;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,SAAS,GAAG,EAAE,CAAC;aACxC;SACF;IACH,CAAC;IAED,SAAS,CAAC,KAAK;QACb,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACrC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,GAAG,MAAM,IAAI,CAAC;SAChG;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;SAC/D;IACH,CAAC;IAED,mBAAmB;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAkC,CAAC;QAErG,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SACzC;QAED,SAAS,CAAC,IAAI,EAAE,gCAAgC,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,UAAU,CAAC,KAAK;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,SAAS,CAAC,MAAM;QACd,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEjC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,UAAU,KAAK,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE;gBACnH,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;aAC9C;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAzZQ,oBAAM,GAAG,CAAC,cAAc,CAAC,CAAC;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CACxB;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACT;AAGlB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACE;AAG7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACI;AAG/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CACpB;AAGvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CACnB;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAQzB;AAGF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAWzB;AAIF;IADC,KAAK,EAAE;6CACW;AAInB;IADC,KAAK,EAAE;4CACU;AAIlB;IADC,KAAK,EAAE;yDAC+B;AAIvC;IADC,KAAK,EAAE;yDAC+B;AAIvC;IADC,KAAK,EAAE;gDACmB;AAI3B;IADC,KAAK,EAAE;sDACa;AAIrB;IADC,KAAK,EAAE;6CACO;AAIf;IADC,KAAK,EAAE;iDACW;AAInB;IADC,KAAK,EAAE;sDACqB;AAI7B;IADC,KAAK,CAAC,YAAY,CAAC;uDACU;AAI9B;IADC,KAAK,CAAC,SAAS,CAAC;oDACU;AAI3B;IADC,KAAK,CAAC,SAAS,CAAC;oDACU;AAI3B;IADC,KAAK,CAAC,UAAU,CAAC;qDACU;AA9FT,aAAa;IADjC,aAAa,CAAC,gBAAgB,CAAC;GACX,aAAa,CA0ZjC;eA1ZoB,aAAa","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesCarousel } from './styles';\nimport { KemetCarouselCurrentInterface, KemetCarouselLinkInterface, KemetCarouselSlideInterface } from './types';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel\n * @summary The Carousel allows you to click or swipe through content.\n *\n * @prop {number} index - The current slide index.\n * @prop {number} total - The total amount of slides.\n * @prop {string} sliderWidth - The width of the slider.\n * @prop {string} sliderTranslateX - The X position of the slider.\n * @prop {boolean} inner - Displays the toolbar inside the carousel container.\n * @prop {boolean} arrows - Determines whether or not to display arrows.\n * @prop {object} options - Default options for the carousel.\n * @prop {object} breakpoints - Options at different breakpoints for the carousel. Is mobile first.\n *\n * @event kemet-carousel-change-start - Fires with the a slide has begun to change.\n * @event kemet-carousel-change-finished - Fires when a slide has changed and finished animating\n *\n * @slot slides - Place the slide elements here.\n * @slot toolbar - Allows you to construct a toolbar within the carousel. Place things like pagination here.\n * @slot prev - A slot for the previous arrow.\n * @slot next - A slot for the next arrow.\n * @slot information - Allows you to enter custom HTML such as a slide description to be used in the toolbar.\n *\n * @cssproperty --kemet-carousel-width - The width of the carousel. Default: 100%.\n * @cssproperty --kemet-carousel-height - The height of the carousel. Default: auto.\n * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar. Default: 1rem.\n * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar. Default: center.\n * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar. Default: 1rem.\n * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width. Default: 100%.\n * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar. Default: 0.\n * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar. Default: auto.\n * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color. Default: var(--kemet-color-white).\n * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color. Default: rgba(0, 0, 0, 0.4).\n * @cssproperty --kemet-carousel-slides-border - The border around the slides. Default: 1px solid var(--kemet-color-gray1).\n * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides. Default: 300ms.\n * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity. Default: 0.25.\n * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity. Default: 1.\n * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed. Default: 300ms.\n *\n * @csspart container - Contains the slides and toolbar.\n * @csspart slides - Wrapper for the slider.\n * @csspart slider - Contains the slides.\n * @csspart toolbar - Contains the toolbar.\n *\n */\n\n@customElement('kemet-carousel')\nexport default class KemetCarousel extends LitElement {\n static styles = [stylesCarousel];\n\n @property({ type: Number, reflect: true })\n index: number = 0;\n\n @property({ type: Number })\n total: number = 0;\n\n @property({ type: String })\n sliderWidth: string = 'auto';\n\n @property({ type: String })\n sliderTranslateX: string = '0';\n\n @property({ type: Boolean, reflect: true })\n inner: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n arrows: boolean = false;\n\n @property({ type: Object })\n options: object = {\n perView: 1,\n perMove: 1,\n gap: 12,\n slideshow: 0,\n rewind: true,\n center: false,\n };\n\n @property({ type: Object })\n breakpoints: object = {\n 768: {\n perView: 2,\n gap: 24,\n rewind: false,\n },\n 1280: {\n perView: 2.5,\n center: true,\n },\n };\n\n /** @internal */\n @state()\n slides: any[] = [];\n\n /** @internal */\n @state()\n links: any[] = [];\n\n /** @internal */\n @state()\n toolbarSlotElement: HTMLElement | null;\n\n /** @internal */\n @state()\n informationElement: HTMLElement | null;\n\n /** @internal */\n @state()\n swipeMove: (event) => void;\n\n /** @internal */\n @state()\n handleSlideShow: any;\n\n /** @internal */\n @state()\n startX: number;\n\n /** @internal */\n @state()\n slideWidth: number;\n\n /** @internal */\n @state()\n informationSlot: HTMLElement;\n\n /** @internal */\n @query('#container')\n containerElement: HTMLElement;\n\n /** @internal */\n @query('#slides')\n slidesElement: HTMLElement;\n\n /** @internal */\n @query('#slider')\n sliderElement: HTMLElement;\n\n /** @internal */\n @query('#toolbar')\n toolbarElement: HTMLElement;\n\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-carousel-first', this.handleFirst.bind(this));\n this.addEventListener('kemet-carousel-last', this.handleLast.bind(this));\n this.addEventListener('kemet-carousel-next', this.handleNext.bind(this));\n this.addEventListener('kemet-carousel-prev', this.handlePrev.bind(this));\n this.addEventListener('kemet-carousel-link', this.handleLink.bind(this));\n }\n\n firstUpdated() {\n // elements\n this.toolbarSlotElement = this.querySelector('[slot=\"toolbar\"]');\n this.informationElement = this.querySelector('kemet-carousel-information');\n\n // events\n window.addEventListener('resize', () => {\n this.setSlideSize();\n this.setToolbarSize();\n this.updateIndex(this.index);\n });\n\n this.sliderElement?.addEventListener('transitionend', this.handleTransitionEnd.bind(this));\n\n // methods\n this.swipeMove = (event) => {\n event.preventDefault();\n\n const pageX = event.touches ? event.touches[0].pageX : event.pageX;\n const currentSlide = this.slides[this.index];\n\n this.sliderTranslateX = `${pageX - this.startX - currentSlide.offsetLeft}px`;\n };\n\n this.handleSlideShow = () => {\n if (this.getOption('slideshow') > 0) {\n this.updateIndex(this.index + 1);\n clearTimeout(this.handleSlideShow);\n }\n };\n\n // setup\n this.setSlideSize();\n this.goToSlide(this.index);\n }\n\n updated(prevProps) {\n this.setSlideSize();\n this.setToolbarSize();\n\n if (prevProps.has('index')) {\n this.updateIndex(this.index);\n setTimeout(this.handleSlideShow, this.getOption('slideshow') * 1000);\n }\n }\n\n render() {\n return html`\n <slot name=\"prev\" @slotchange=${this.handleArrows}></slot>\n <div id=\"container\" class=\"container\" part=\"container\">\n <section\n id=\"slides\"\n class=\"slides\"\n part=\"slides\"\n @mousedown=${this.swipeStart}\n @mouseup=${this.swipeEnd}\n @touchstart=${this.swipeStart}\n @touchend=${this.swipeEnd}\n @mouseleave=${this.swipeLeave}\n >\n <div id=\"slider\" class=\"slider\" part=\"slider\" style=\"width:${this.sliderWidth}; transform:translateX(${this.sliderTranslateX});\">\n <slot name=\"slides\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n </section>\n ${this.makeToolbar()}\n </div>\n <slot name=\"next\" @slotchange=${this.handleArrows}></slot>\n `;\n }\n\n swipeStart(event) {\n this.startX = event.touches ? event.touches[0].pageX : event.pageX;\n\n this.addEventListener('mousemove', this.swipeMove);\n this.addEventListener('touchmove', this.swipeMove);\n }\n\n swipeEnd(event) {\n this.updateIndex(this.swipeUpdate(event));\n this.removeEventListener('mousemove', this.swipeMove, false);\n this.removeEventListener('touchmove', this.swipeMove, false);\n }\n\n swipeUpdate(event) {\n const pageX = event.changedTouches ? event.changedTouches[0].pageX : event.pageX;\n const direction = this.startX > pageX ? 'right' : 'left';\n const threshold = this.slidesElement.offsetWidth / 3;\n const diff = this.startX - pageX;\n const shouldUpdate = Math.abs(diff) > threshold;\n\n let { index } = this;\n\n if (shouldUpdate && direction === 'right') {\n index = this.index >= this.slides.length - 1 ? this.index : this.index + 1;\n }\n\n if (shouldUpdate && direction === 'left') {\n index = this.index < 1 ? 0 : this.index - 1;\n }\n\n return index;\n }\n\n swipeLeave() {\n this.updateIndex(this.index);\n this.removeEventListener('mousemove', this.swipeMove, false);\n this.removeEventListener('touchmove', this.swipeMove, false);\n }\n\n setSlideSize() {\n this.slideWidth = this.containerElement?.offsetWidth as number / this.getOption('perView');\n\n this.slides.forEach((slide) => {\n slide.style.marginLeft = `${this.getOption('gap') / 2}px`;\n slide.style.marginRight = `${this.getOption('gap') / 2}px`;\n slide.style.width = `${this.slideWidth - this.getOption('gap')}px`;\n });\n\n this.sliderWidth = `${this.slideWidth * this.slides.length}px`;\n }\n\n setToolbarSize() {\n if (this.inner && this.toolbarElement) {\n const width = this.slidesElement.offsetWidth;\n this.toolbarElement.style.width = `${width}px`;\n }\n }\n\n makeToolbar() {\n if (this.toolbarSlotElement) {\n return html`\n <section id=\"toolbar\" class=\"toolbar\" part=\"toolbar\">\n <slot name=\"toolbar\"></slot>\n </section>\n `;\n }\n\n return null;\n }\n\n handleSlotChange() {\n const slides = this.querySelectorAll('kemet-carousel-slide') as NodeListOf<KemetCarouselSlideInterface>;\n const links = this.querySelectorAll('kemet-carousel-link') as NodeListOf<KemetCarouselLinkInterface>;\n\n // handle slides\n slides.forEach((slide) => {\n this.slides.push(slide);\n });\n\n this.updateInformation();\n this.total = slides.length;\n slides[this.index].selected = true;\n\n // handle links\n links.forEach((link) => {\n this.links.push(link);\n });\n }\n\n handleArrows() {\n this.arrows = true;\n }\n\n handleFirst() {\n this.updateIndex(0);\n }\n\n handleLast() {\n this.updateIndex(this.slides.length - 1);\n }\n\n handleNext() {\n let newIndex = this.index + this.getOption('perMove');\n\n if (newIndex >= this.slides.length) {\n if (this.getOption('rewind')) {\n newIndex = 0;\n } else {\n newIndex = this.index;\n }\n }\n\n this.updateIndex(newIndex);\n }\n\n handlePrev() {\n let newIndex = this.index - this.getOption('perMove');\n\n // send them to the last slide\n if (newIndex < 0) {\n if (this.getOption('rewind')) {\n newIndex = this.slides.length - 1;\n } else {\n newIndex = this.index;\n }\n }\n\n this.updateIndex(newIndex);\n }\n\n updateIndex(newIndex) {\n let currentSlide = this.slides[this.index];\n let currentLink = this.links[newIndex];\n\n // remove selected from all links\n this.links.forEach((link) => {\n link.selected = false;\n });\n\n // if current link is invalid assume it's the first link\n if (!currentLink) {\n [currentLink] = this.links;\n }\n\n // add selected to current link\n if (currentLink) {\n currentLink.selected = true;\n }\n\n if (currentSlide) {\n currentSlide.setAttribute('aria-hidden', 'true');\n\n // correct for invalid indexes\n if (newIndex > -1 && newIndex < this.slides.length) {\n this.index = newIndex;\n } else {\n // eslint-disable-next-line no-console\n console.warn('An invalid index number was entered. The kemet-carousel has been reset to the first slide.');\n this.index = 0;\n }\n\n // move\n this.goToSlide(this.index);\n\n // update new slide\n currentSlide = this.slides[this.index];\n currentSlide.setAttribute('aria-hidden', 'false');\n\n this.slides.forEach((slide) => {\n slide.selected = false;\n });\n\n currentSlide.selected = true;\n\n // notify consumers of slide change\n emitEvent(this, 'kemet-carousel-change-start', this);\n\n // update information element\n this.updateInformation();\n }\n }\n\n updateInformation() {\n this.informationSlot = this.slides[this.index].querySelector('[slot=\"information\"]');\n\n if (this.informationElement) {\n if (this.informationSlot) {\n this.informationElement.innerHTML = this.informationSlot.outerHTML;\n } else {\n this.informationElement.innerHTML = '';\n }\n }\n }\n\n goToSlide(index) {\n if (this.getOption('center') === true) {\n const slidesCenter = this.slidesElement.offsetWidth / 2;\n const slideX = this.slideWidth * index;\n this.sliderTranslateX = `${slideX - (slideX - slidesCenter) - this.slideWidth / 2 - slideX}px`;\n } else {\n this.sliderTranslateX = `${(this.slideWidth * index) * -1}px`;\n }\n }\n\n handleTransitionEnd() {\n const currentElement = this.querySelector('kemet-carousel-current') as KemetCarouselCurrentInterface;\n\n if (currentElement) {\n currentElement.current = this.index + 1;\n }\n\n emitEvent(this, 'kemet-carousel-change-finished', this);\n }\n\n handleLink(event) {\n this.updateIndex(event.detail.slide);\n }\n\n getOption(option) {\n const breakpoints = Object.keys(this.breakpoints);\n let value = this.options[option];\n\n breakpoints.forEach((breakpoint) => {\n if (window.matchMedia(`(min-width: ${breakpoint}px)`).matches && this.breakpoints[breakpoint][option] !== undefined) {\n value = this.breakpoints[breakpoint][option];\n }\n\n return value;\n });\n\n return value;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel': KemetCarousel\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-carousel.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/kemet-carousel.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { emitEvent } from '../../utilities/misc/events';\nimport { stylesCarousel } from './styles';\n\nimport KemetCarouselCurrent from './kemet-carousel-current';\nimport KemetCarouselLink from './kemet-carousel-link';\nimport KemetCarouselSlide from './kemet-carousel-slide';\n\n/**\n *\n * @since 1.1.0\n * @status stable\n *\n * @tagname kemet-carousel\n * @summary The Carousel allows you to click or swipe through content.\n *\n * @prop {number} index - The current slide index.\n * @prop {number} total - The total amount of slides.\n * @prop {string} sliderWidth - The width of the slider.\n * @prop {string} sliderTranslateX - The X position of the slider.\n * @prop {boolean} inner - Displays the toolbar inside the carousel container.\n * @prop {boolean} arrows - Determines whether or not to display arrows.\n * @prop {object} options - Default options for the carousel.\n * @prop {object} breakpoints - Options at different breakpoints for the carousel. Is mobile first.\n *\n * @event kemet-carousel-change-start - Fires with the a slide has begun to change.\n * @event kemet-carousel-change-finished - Fires when a slide has changed and finished animating\n *\n * @slot slides - Place the slide elements here.\n * @slot toolbar - Allows you to construct a toolbar within the carousel. Place things like pagination here.\n * @slot prev - A slot for the previous arrow.\n * @slot next - A slot for the next arrow.\n * @slot information - Allows you to enter custom HTML such as a slide description to be used in the toolbar.\n *\n * @cssproperty --kemet-carousel-width - The width of the carousel.\n * @cssproperty --kemet-carousel-height - The height of the carousel.\n * @cssproperty --kemet-carousel-toolbar-gap - The space between items in the toolbar.\n * @cssproperty --kemet-carousel-toolbar-justify-content - The cross axis alignment of the toolbar.\n * @cssproperty --kemet-carousel-toolbar-padding - The padding of the toolbar.\n * @cssproperty --kemet-carousel-toolbar-inner-width - The inner toolbar width.\n * @cssproperty --kemet-carousel-toolbar-inner-bottom - The bottom position of the inner toolbar.\n * @cssproperty --kemet-carousel-toolbar-inner-top - The top position of the inner toolbar.\n * @cssproperty --kemet-carousel-toolbar-inner-color - The inner toolbar text color.\n * @cssproperty --kemet-carousel-toolbar-inner-background-color - The inner toolbar background color.\n * @cssproperty --kemet-carousel-slides-border - The border around the slides.\n * @cssproperty --kemet-carousel-transition-speed - The transition speed of the slides.\n * @cssproperty --kemet-carousel-arrows-opacity - The arrows start opacity.\n * @cssproperty --kemet-carousel-arrows-opacity-hover - The arrows however opacity.\n * @cssproperty --kemet-carousel-arrows-transition-speed - The arrows transition speed.\n *\n * @csspart container - Contains the slides and toolbar.\n * @csspart slides - Wrapper for the slider.\n * @csspart slider - Contains the slides.\n * @csspart toolbar - Contains the toolbar.\n *\n */\n\n@customElement('kemet-carousel')\nexport default class KemetCarousel extends LitElement {\n static styles = [stylesCarousel];\n\n @property({ type: Number, reflect: true })\n index: number = 0;\n\n @property({ type: Number })\n total: number = 0;\n\n @property({ type: String })\n sliderWidth: string = 'auto';\n\n @property({ type: String })\n sliderTranslateX: string = '0';\n\n @property({ type: Boolean, reflect: true })\n inner: boolean = false;\n\n @property({ type: Boolean, reflect: true })\n arrows: boolean = false;\n\n @property({ type: Object })\n options: object = {\n perView: 1,\n perMove: 1,\n gap: 12,\n slideshow: 0,\n rewind: true,\n center: false,\n };\n\n @property({ type: Object })\n breakpoints: object = {\n 768: {\n perView: 2,\n gap: 24,\n rewind: false,\n },\n 1280: {\n perView: 2.5,\n center: true,\n },\n };\n\n /** @internal */\n @state()\n slides: any[] = [];\n\n /** @internal */\n @state()\n links: any[] = [];\n\n /** @internal */\n @state()\n toolbarSlotElement: HTMLElement | null;\n\n /** @internal */\n @state()\n informationElement: HTMLElement | null;\n\n /** @internal */\n @state()\n swipeMove: (event) => void;\n\n /** @internal */\n @state()\n handleSlideShow: any;\n\n /** @internal */\n @state()\n startX: number;\n\n /** @internal */\n @state()\n slideWidth: number;\n\n /** @internal */\n @state()\n informationSlot: HTMLElement;\n\n /** @internal */\n @query('#container')\n containerElement: HTMLElement;\n\n /** @internal */\n @query('#slides')\n slidesElement: HTMLElement;\n\n /** @internal */\n @query('#slider')\n sliderElement: HTMLElement;\n\n /** @internal */\n @query('#toolbar')\n toolbarElement: HTMLElement;\n\n\n constructor() {\n super();\n\n // bindings\n this.addEventListener('kemet-carousel-first', this.handleFirst.bind(this));\n this.addEventListener('kemet-carousel-last', this.handleLast.bind(this));\n this.addEventListener('kemet-carousel-next', this.handleNext.bind(this));\n this.addEventListener('kemet-carousel-prev', this.handlePrev.bind(this));\n this.addEventListener('kemet-carousel-link', this.handleLink.bind(this));\n }\n\n firstUpdated() {\n // elements\n this.toolbarSlotElement = this.querySelector('[slot=\"toolbar\"]');\n this.informationElement = this.querySelector('kemet-carousel-information');\n\n // events\n window.addEventListener('resize', () => {\n this.setSlideSize();\n this.setToolbarSize();\n this.updateIndex(this.index);\n });\n\n this.sliderElement?.addEventListener('transitionend', this.handleTransitionEnd.bind(this));\n\n // methods\n this.swipeMove = (event) => {\n event.preventDefault();\n\n const pageX = event.touches ? event.touches[0].pageX : event.pageX;\n const currentSlide = this.slides[this.index];\n\n this.sliderTranslateX = `${pageX - this.startX - currentSlide.offsetLeft}px`;\n };\n\n this.handleSlideShow = () => {\n if (this.getOption('slideshow') > 0) {\n this.updateIndex(this.index + 1);\n clearTimeout(this.handleSlideShow);\n }\n };\n\n // setup\n this.setSlideSize();\n this.goToSlide(this.index);\n }\n\n updated(prevProps) {\n this.setSlideSize();\n this.setToolbarSize();\n\n if (prevProps.has('index')) {\n this.updateIndex(this.index);\n setTimeout(this.handleSlideShow, this.getOption('slideshow') * 1000);\n }\n }\n\n render() {\n return html`\n <slot name=\"prev\" @slotchange=${this.handleArrows}></slot>\n <div id=\"container\" class=\"container\" part=\"container\">\n <section\n id=\"slides\"\n class=\"slides\"\n part=\"slides\"\n @mousedown=${this.swipeStart}\n @mouseup=${this.swipeEnd}\n @touchstart=${this.swipeStart}\n @touchend=${this.swipeEnd}\n @mouseleave=${this.swipeLeave}\n >\n <div id=\"slider\" class=\"slider\" part=\"slider\" style=\"width:${this.sliderWidth}; transform:translateX(${this.sliderTranslateX});\">\n <slot name=\"slides\" @slotchange=\"${this.handleSlotChange}\"></slot>\n </div>\n </section>\n ${this.makeToolbar()}\n </div>\n <slot name=\"next\" @slotchange=${this.handleArrows}></slot>\n `;\n }\n\n swipeStart(event) {\n this.startX = event.touches ? event.touches[0].pageX : event.pageX;\n\n this.addEventListener('mousemove', this.swipeMove);\n this.addEventListener('touchmove', this.swipeMove);\n }\n\n swipeEnd(event) {\n this.updateIndex(this.swipeUpdate(event));\n this.removeEventListener('mousemove', this.swipeMove, false);\n this.removeEventListener('touchmove', this.swipeMove, false);\n }\n\n swipeUpdate(event) {\n const pageX = event.changedTouches ? event.changedTouches[0].pageX : event.pageX;\n const direction = this.startX > pageX ? 'right' : 'left';\n const threshold = this.slidesElement.offsetWidth / 3;\n const diff = this.startX - pageX;\n const shouldUpdate = Math.abs(diff) > threshold;\n\n let { index } = this;\n\n if (shouldUpdate && direction === 'right') {\n index = this.index >= this.slides.length - 1 ? this.index : this.index + 1;\n }\n\n if (shouldUpdate && direction === 'left') {\n index = this.index < 1 ? 0 : this.index - 1;\n }\n\n return index;\n }\n\n swipeLeave() {\n this.updateIndex(this.index);\n this.removeEventListener('mousemove', this.swipeMove, false);\n this.removeEventListener('touchmove', this.swipeMove, false);\n }\n\n setSlideSize() {\n this.slideWidth = this.containerElement?.offsetWidth as number / this.getOption('perView');\n\n this.slides.forEach((slide) => {\n slide.style.marginLeft = `${this.getOption('gap') / 2}px`;\n slide.style.marginRight = `${this.getOption('gap') / 2}px`;\n slide.style.width = `${this.slideWidth - this.getOption('gap')}px`;\n });\n\n this.sliderWidth = `${this.slideWidth * this.slides.length}px`;\n }\n\n setToolbarSize() {\n if (this.inner && this.toolbarElement) {\n const width = this.slidesElement.offsetWidth;\n this.toolbarElement.style.width = `${width}px`;\n }\n }\n\n makeToolbar() {\n if (this.toolbarSlotElement) {\n return html`\n <section id=\"toolbar\" class=\"toolbar\" part=\"toolbar\">\n <slot name=\"toolbar\"></slot>\n </section>\n `;\n }\n\n return null;\n }\n\n handleSlotChange() {\n const slides = this.querySelectorAll('kemet-carousel-slide') as NodeListOf<KemetCarouselSlide>;\n const links = this.querySelectorAll('kemet-carousel-link') as NodeListOf<KemetCarouselLink>;\n\n // handle slides\n slides.forEach((slide) => {\n this.slides.push(slide);\n });\n\n this.updateInformation();\n this.total = slides.length;\n slides[this.index].selected = true;\n\n // handle links\n links.forEach((link) => {\n this.links.push(link);\n });\n }\n\n handleArrows() {\n this.arrows = true;\n }\n\n handleFirst() {\n this.updateIndex(0);\n }\n\n handleLast() {\n this.updateIndex(this.slides.length - 1);\n }\n\n handleNext() {\n let newIndex = this.index + this.getOption('perMove');\n\n if (newIndex >= this.slides.length) {\n if (this.getOption('rewind')) {\n newIndex = 0;\n } else {\n newIndex = this.index;\n }\n }\n\n this.updateIndex(newIndex);\n }\n\n handlePrev() {\n let newIndex = this.index - this.getOption('perMove');\n\n // send them to the last slide\n if (newIndex < 0) {\n if (this.getOption('rewind')) {\n newIndex = this.slides.length - 1;\n } else {\n newIndex = this.index;\n }\n }\n\n this.updateIndex(newIndex);\n }\n\n updateIndex(newIndex) {\n let currentSlide = this.slides[this.index];\n let currentLink = this.links[newIndex];\n\n // remove selected from all links\n this.links.forEach((link) => {\n link.selected = false;\n });\n\n // if current link is invalid assume it's the first link\n if (!currentLink) {\n [currentLink] = this.links;\n }\n\n // add selected to current link\n if (currentLink) {\n currentLink.selected = true;\n }\n\n if (currentSlide) {\n currentSlide.setAttribute('aria-hidden', 'true');\n\n // correct for invalid indexes\n if (newIndex > -1 && newIndex < this.slides.length) {\n this.index = newIndex;\n } else {\n // eslint-disable-next-line no-console\n console.warn('An invalid index number was entered. The kemet-carousel has been reset to the first slide.');\n this.index = 0;\n }\n\n // move\n this.goToSlide(this.index);\n\n // update new slide\n currentSlide = this.slides[this.index];\n currentSlide.setAttribute('aria-hidden', 'false');\n\n this.slides.forEach((slide) => {\n slide.selected = false;\n });\n\n currentSlide.selected = true;\n\n // notify consumers of slide change\n emitEvent(this, 'kemet-carousel-change-start', this);\n\n // update information element\n this.updateInformation();\n }\n }\n\n updateInformation() {\n this.informationSlot = this.slides[this.index].querySelector('[slot=\"information\"]');\n\n if (this.informationElement) {\n if (this.informationSlot) {\n this.informationElement.innerHTML = this.informationSlot.outerHTML;\n } else {\n this.informationElement.innerHTML = '';\n }\n }\n }\n\n goToSlide(index) {\n if (this.getOption('center') === true) {\n const slidesCenter = this.slidesElement.offsetWidth / 2;\n const slideX = this.slideWidth * index;\n this.sliderTranslateX = `${slideX - (slideX - slidesCenter) - this.slideWidth / 2 - slideX}px`;\n } else {\n this.sliderTranslateX = `${(this.slideWidth * index) * -1}px`;\n }\n }\n\n handleTransitionEnd() {\n const currentElement = this.querySelector('kemet-carousel-current') as KemetCarouselCurrent;\n\n if (currentElement) {\n currentElement.current = this.index + 1;\n }\n\n emitEvent(this, 'kemet-carousel-change-finished', this);\n }\n\n handleLink(event) {\n this.updateIndex(event.detail.slide);\n }\n\n getOption(option) {\n const breakpoints = Object.keys(this.breakpoints);\n let value = this.options[option];\n\n breakpoints.forEach((breakpoint) => {\n if (window.matchMedia(`(min-width: ${breakpoint}px)`).matches && this.breakpoints[breakpoint][option] !== undefined) {\n value = this.breakpoints[breakpoint][option];\n }\n\n return value;\n });\n\n return value;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-carousel': KemetCarousel\n }\n}\n"]}
@@ -8,12 +8,28 @@ export const stylesCarousel = css `
8
8
  }
9
9
 
10
10
  :host {
11
+ --kemet-carousel-width: 100%;
12
+ --kemet-carousel-height: auto;
13
+ --kemet-carousel-toolbar-gap: 1rem;
14
+ --kemet-carousel-toolbar-justify-content: center;
15
+ --kemet-carousel-toolbar-padding: 1rem;
16
+ --kemet-carousel-toolbar-inner-width: 100%;
17
+ --kemet-carousel-toolbar-inner-bottom: 0;
18
+ --kemet-carousel-toolbar-inner-top: auto;
19
+ --kemet-carousel-toolbar-inner-color: rgb(var(--kemet-color-white));
20
+ --kemet-carousel-toolbar-inner-background-color: rgb(var(--kemet-color-black) / 40%);
21
+ --kemet-carousel-slides-border: 1px solid rgb(var(--kemet-color-gray-50));
22
+ --kemet-carousel-transition-speed: 300ms;
23
+ --kemet-carousel-arrows-opacity: 0.25;
24
+ --kemet-carousel-arrows-transition-speed: 300ms;
25
+ --kemet-carousel-arrows-opacity-hover: 1;
26
+
11
27
  position: relative;
12
28
  display: grid;
13
29
  grid-template-columns: minmax(0, 1fr);
14
30
  align-items: center;
15
- width: var(--kemet-carousel-width, 100%);
16
- height: var(--kemet-carousel-height, auto);
31
+ width: var(--kemet-carousel-width);
32
+ height: var(--kemet-carousel-height);
17
33
  overflow: visible;
18
34
  }
19
35
 
@@ -23,44 +39,44 @@ export const stylesCarousel = css `
23
39
 
24
40
  .toolbar {
25
41
  display: flex;
26
- gap: var(--kemet-carousel-toolbar-gap, 1rem);
42
+ gap: var(--kemet-carousel-toolbar-gap);
27
43
  align-items: center;
28
- justify-content: var(--kemet-carousel-toolbar-justify-content, center);
44
+ justify-content: var(--kemet-carousel-toolbar-justify-content);
29
45
  line-height: 1;
30
- padding: var(--kemet-carousel-toolbar-padding, 1rem);
46
+ padding: var(--kemet-carousel-toolbar-padding);
31
47
  }
32
48
 
33
49
  :host([inner]) .toolbar {
34
- width: var(--kemet-carousel-toolbar-inner-width, 100%);
50
+ width: var(--kemet-carousel-toolbar-inner-width);
35
51
  position: absolute;
36
- bottom: var(--kemet-carousel-toolbar-inner-bottom, 0);
37
- top: var(--kemet-carousel-toolbar-inner-top, auto);
38
- color: var(--kemet-carousel-toolbar-inner-color, var(--kemet-color-white));
39
- background-color: var(--kemet-carousel-toolbar-inner-background-color, rgba(0, 0, 0, 0.4));
52
+ bottom: var(--kemet-carousel-toolbar-inner-bottom);
53
+ top: var(--kemet-carousel-toolbar-inner-top);
54
+ color: var(--kemet-carousel-toolbar-inner-color);
55
+ background-color: var(--kemet-carousel-toolbar-inner-background-color);
40
56
  }
41
57
 
42
58
  .slides {
43
59
  overflow: hidden;
44
60
  position: relative;
45
61
  padding: 1rem 0;
46
- border: var(--kemet-carousel-slides-border, 1px solid var(--kemet-color-gray1));
62
+ border: var(--kemet-carousel-slides-border);
47
63
  }
48
64
 
49
65
  .slider {
50
66
  display: flex;
51
67
  flex-wrap: nowrap;
52
- transition: transform var(--kemet-carousel-transition-speed, 300ms) ease;
68
+ transition: transform var(--kemet-carousel-transition-speed) ease;
53
69
  }
54
70
 
55
71
  ::slotted([slot='next']),
56
72
  ::slotted([slot='prev']) {
57
- opacity: var(--kemet-carousel-arrows-opacity, 0.25);
58
- transition: opacity var(--kemet-carousel-arrows-transition-speed, 300ms) ease-in-out;
73
+ opacity: var(--kemet-carousel-arrows-opacity);
74
+ transition: opacity var(--kemet-carousel-arrows-transition-speed) ease-in-out;
59
75
  }
60
76
 
61
77
  :host(:hover) ::slotted([slot='next']),
62
78
  :host(:hover) ::slotted([slot='prev']) {
63
- opacity: var(--kemet-carousel-arrows-opacity-hover, 1);
79
+ opacity: var(--kemet-carousel-arrows-opacity-hover);
64
80
  }
65
81
  `;
66
82
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DhC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesCarousel = css`\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n position: relative;\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n align-items: center;\n width: var(--kemet-carousel-width, 100%);\n height: var(--kemet-carousel-height, auto);\n overflow: visible;\n }\n\n :host([arrows]) {\n grid-template-columns: auto minmax(0, 1fr) auto;\n }\n\n .toolbar {\n display: flex;\n gap: var(--kemet-carousel-toolbar-gap, 1rem);\n align-items: center;\n justify-content: var(--kemet-carousel-toolbar-justify-content, center);\n line-height: 1;\n padding: var(--kemet-carousel-toolbar-padding, 1rem);\n }\n\n :host([inner]) .toolbar {\n width: var(--kemet-carousel-toolbar-inner-width, 100%);\n position: absolute;\n bottom: var(--kemet-carousel-toolbar-inner-bottom, 0);\n top: var(--kemet-carousel-toolbar-inner-top, auto);\n color: var(--kemet-carousel-toolbar-inner-color, var(--kemet-color-white));\n background-color: var(--kemet-carousel-toolbar-inner-background-color, rgba(0, 0, 0, 0.4));\n }\n\n .slides {\n overflow: hidden;\n position: relative;\n padding: 1rem 0;\n border: var(--kemet-carousel-slides-border, 1px solid var(--kemet-color-gray1));\n }\n\n .slider {\n display: flex;\n flex-wrap: nowrap;\n transition: transform var(--kemet-carousel-transition-speed, 300ms) ease;\n }\n\n ::slotted([slot='next']),\n ::slotted([slot='prev']) {\n opacity: var(--kemet-carousel-arrows-opacity, 0.25);\n transition: opacity var(--kemet-carousel-arrows-transition-speed, 300ms) ease-in-out;\n }\n\n :host(:hover) ::slotted([slot='next']),\n :host(:hover) ::slotted([slot='prev']) {\n opacity: var(--kemet-carousel-arrows-opacity-hover, 1);\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-carousel/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+EhC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesCarousel = css`\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n --kemet-carousel-width: 100%;\n --kemet-carousel-height: auto;\n --kemet-carousel-toolbar-gap: 1rem;\n --kemet-carousel-toolbar-justify-content: center;\n --kemet-carousel-toolbar-padding: 1rem;\n --kemet-carousel-toolbar-inner-width: 100%;\n --kemet-carousel-toolbar-inner-bottom: 0;\n --kemet-carousel-toolbar-inner-top: auto;\n --kemet-carousel-toolbar-inner-color: rgb(var(--kemet-color-white));\n --kemet-carousel-toolbar-inner-background-color: rgb(var(--kemet-color-black) / 40%);\n --kemet-carousel-slides-border: 1px solid rgb(var(--kemet-color-gray-50));\n --kemet-carousel-transition-speed: 300ms;\n --kemet-carousel-arrows-opacity: 0.25;\n --kemet-carousel-arrows-transition-speed: 300ms;\n --kemet-carousel-arrows-opacity-hover: 1;\n\n position: relative;\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n align-items: center;\n width: var(--kemet-carousel-width);\n height: var(--kemet-carousel-height);\n overflow: visible;\n }\n\n :host([arrows]) {\n grid-template-columns: auto minmax(0, 1fr) auto;\n }\n\n .toolbar {\n display: flex;\n gap: var(--kemet-carousel-toolbar-gap);\n align-items: center;\n justify-content: var(--kemet-carousel-toolbar-justify-content);\n line-height: 1;\n padding: var(--kemet-carousel-toolbar-padding);\n }\n\n :host([inner]) .toolbar {\n width: var(--kemet-carousel-toolbar-inner-width);\n position: absolute;\n bottom: var(--kemet-carousel-toolbar-inner-bottom);\n top: var(--kemet-carousel-toolbar-inner-top);\n color: var(--kemet-carousel-toolbar-inner-color);\n background-color: var(--kemet-carousel-toolbar-inner-background-color);\n }\n\n .slides {\n overflow: hidden;\n position: relative;\n padding: 1rem 0;\n border: var(--kemet-carousel-slides-border);\n }\n\n .slider {\n display: flex;\n flex-wrap: nowrap;\n transition: transform var(--kemet-carousel-transition-speed) ease;\n }\n\n ::slotted([slot='next']),\n ::slotted([slot='prev']) {\n opacity: var(--kemet-carousel-arrows-opacity);\n transition: opacity var(--kemet-carousel-arrows-transition-speed) ease-in-out;\n }\n\n :host(:hover) ::slotted([slot='next']),\n :host(:hover) ::slotted([slot='prev']) {\n opacity: var(--kemet-carousel-arrows-opacity-hover);\n }\n`;\n"]}
@@ -7,3 +7,7 @@ declare const meta: Meta;
7
7
  export default meta;
8
8
  declare type Story = StoryObj;
9
9
  export declare const Standard: Story;
10
+ export declare const Indeterminate: Story;
11
+ export declare const Disabled: Story;
12
+ export declare const Rounded: Story;
13
+ export declare const Filled: Story;
@@ -6,40 +6,40 @@ import '../../kemet-tabs/kemet-tab-panel';
6
6
  const meta = {
7
7
  title: 'Components / Checkbox',
8
8
  component: 'kemet-checkbox',
9
+ args: {
10
+ label: 'Label',
11
+ },
9
12
  };
10
13
  export default meta;
11
- const Template = ({ label = 'Label', checked = false, indeterminate = false, disabled = false, rounded = false, filled = false, }) => html `
12
- <kemet-checkbox label=${label} ?checked=${checked} ?indeterminate=${indeterminate} ?disabled=${disabled} ?rounded=${rounded} ?filled=${filled}></kemet-checkbox>
14
+ const Template = (args) => html `
15
+ <kemet-checkbox label=${args.label} ?checked=${args.checked} ?indeterminate=${args.indeterminate} ?disabled=${args.disabled} ?rounded=${args.rounded} ?filled=${args.filled}></kemet-checkbox>
13
16
  `;
14
17
  export const Standard = {
15
18
  render: args => Template(args),
19
+ };
20
+ export const Indeterminate = {
21
+ render: args => Template(args),
16
22
  args: {
17
- label: 'Label',
18
- checked: false,
19
- indeterminate: false,
20
- disabled: false,
21
- rounded: false,
22
- filled: false,
23
- },
24
- argTypes: {
25
- label: {
26
- control: 'text',
27
- },
28
- checked: {
29
- control: 'boolean',
30
- },
31
- indeterminate: {
32
- control: 'boolean',
33
- },
34
- disabled: {
35
- control: 'boolean',
36
- },
37
- rounded: {
38
- control: 'boolean',
39
- },
40
- filled: {
41
- control: 'boolean',
42
- },
23
+ indeterminate: true,
24
+ }
25
+ };
26
+ export const Disabled = {
27
+ render: args => Template(args),
28
+ args: {
29
+ disabled: true,
30
+ }
31
+ };
32
+ export const Rounded = {
33
+ render: args => Template(args),
34
+ args: {
35
+ rounded: true,
36
+ }
37
+ };
38
+ export const Filled = {
39
+ render: args => Template(args),
40
+ args: {
41
+ checked: true,
42
+ filled: true,
43
43
  }
44
44
  };
45
45
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-checkbox/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;CAC5B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,GAAG,OAAO,EACf,OAAO,GAAG,KAAK,EACf,aAAa,GAAG,KAAK,EACrB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,KAAK,EACf,MAAM,GAAG,KAAK,GACf,EAAE,EAAE,CAAC,IAAI,CAAA;0BACgB,KAAK,aAAa,OAAO,mBAAmB,aAAa,cAAc,QAAQ,aAAa,OAAO,YAAY,MAAM;CAC9I,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;KACd;IACD,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;SAChB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;SACnB;QACD,aAAa,EAAE;YACb,OAAO,EAAE,SAAS;SACnB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,SAAS;SACnB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,SAAS;SACnB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,SAAS;SACnB;KACF;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-checkbox';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Checkbox',\n component: 'kemet-checkbox',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n label = 'Label',\n checked = false,\n indeterminate = false,\n disabled = false,\n rounded = false,\n filled = false,\n}) => html`\n <kemet-checkbox label=${label} ?checked=${checked} ?indeterminate=${indeterminate} ?disabled=${disabled} ?rounded=${rounded} ?filled=${filled}></kemet-checkbox>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n label: 'Label',\n checked: false,\n indeterminate: false,\n disabled: false,\n rounded: false,\n filled: false,\n },\n argTypes: {\n label: {\n control: 'text',\n },\n checked: {\n control: 'boolean',\n },\n indeterminate: {\n control: 'boolean',\n },\n disabled: {\n control: 'boolean',\n },\n rounded: {\n control: 'boolean',\n },\n filled: {\n control: 'boolean',\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-checkbox/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,mBAAmB,CAAC;AAE3B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE;QACJ,KAAK,EAAE,OAAO;KACf;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;0BACL,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,mBAAmB,IAAI,CAAC,aAAa,cAAc,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,OAAO,YAAY,IAAI,CAAC,MAAM;CAC5K,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IAClC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,aAAa,EAAE,IAAI;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;KACb;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-checkbox';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Checkbox',\n component: 'kemet-checkbox',\n args: {\n label: 'Label',\n },\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-checkbox label=${args.label} ?checked=${args.checked} ?indeterminate=${args.indeterminate} ?disabled=${args.disabled} ?rounded=${args.rounded} ?filled=${args.filled}></kemet-checkbox>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Indeterminate: Story = {\n render: args => Template(args),\n args: {\n indeterminate: true,\n }\n};\n\nexport const Disabled: Story = {\n render: args => Template(args),\n args: {\n disabled: true,\n }\n};\n\nexport const Rounded: Story = {\n render: args => Template(args),\n args: {\n rounded: true,\n }\n};\n\nexport const Filled: Story = {\n render: args => Template(args),\n args: {\n checked: true,\n filled: true,\n }\n};\n"]}
@@ -25,12 +25,12 @@ import { TypeStatus } from './types';
25
25
  * @csspart text - The the label's text.
26
26
  * @csspart mark - The icon of the check mark.
27
27
  *
28
- * @cssproperty --kemet-checkbox-size - The width and height of the checkbox. Default: 18px.
29
- * @cssproperty --kemet-checkbox-color - The color of the checkbox's mark. Default: var(--kemet-color-primary).
30
- * @cssproperty --kemet-checkbox-border - The border of the checkbox. Default: 1px solid var(--kemet-color-primary).
31
- * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox. Default: 4px.
32
- * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox's mark. Default: var(--kemet-color-white).
33
- * @cssproperty --kemet-checkbox-filled-background-color - The filled background color. Default: var(--kemet-color-primary).
28
+ * @cssproperty --kemet-checkbox-size - The width and height of the checkbox.
29
+ * @cssproperty --kemet-checkbox-color - The color of the checkbox's mark.
30
+ * @cssproperty --kemet-checkbox-border - The border of the checkbox.
31
+ * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox.
32
+ * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox's mark.
33
+ * @cssproperty --kemet-checkbox-filled-background-color - The filled background color.
34
34
  *
35
35
  * @event kemet-checkbox-change - Fires when the state of the checkbox changes
36
36
  * @event kemet-checkbox-focused - Fires when the checkbox loses or receives focus
@@ -30,12 +30,12 @@ import { stylesBase } from './styles';
30
30
  * @csspart text - The the label's text.
31
31
  * @csspart mark - The icon of the check mark.
32
32
  *
33
- * @cssproperty --kemet-checkbox-size - The width and height of the checkbox. Default: 18px.
34
- * @cssproperty --kemet-checkbox-color - The color of the checkbox's mark. Default: var(--kemet-color-primary).
35
- * @cssproperty --kemet-checkbox-border - The border of the checkbox. Default: 1px solid var(--kemet-color-primary).
36
- * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox. Default: 4px.
37
- * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox's mark. Default: var(--kemet-color-white).
38
- * @cssproperty --kemet-checkbox-filled-background-color - The filled background color. Default: var(--kemet-color-primary).
33
+ * @cssproperty --kemet-checkbox-size - The width and height of the checkbox.
34
+ * @cssproperty --kemet-checkbox-color - The color of the checkbox's mark.
35
+ * @cssproperty --kemet-checkbox-border - The border of the checkbox.
36
+ * @cssproperty --kemet-checkbox-border-radius - The border radius of the checkbox.
37
+ * @cssproperty --kemet-checkbox-filled-color - The filled color of the checkbox's mark.
38
+ * @cssproperty --kemet-checkbox-filled-background-color - The filled background color.
39
39
  *
40
40
  * @event kemet-checkbox-change - Fires when the state of the checkbox changes
41
41
  * @event kemet-checkbox-focused - Fires when the checkbox loses or receives focus