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-rotator/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,kBAAkB,CAAC;AAE1B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;CAC3B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,EAChB,QAAQ,GAAG,0DAA0D,EACrE,QAAQ,GAAG,8BAA8B,EACzC,QAAQ,GAAG,yEAAyE,EACpF,MAAM,GAAG,MAAM,EACf,aAAa,GAAG,CAAC,GAClB,EAAE,EAAE,CAAC,IAAI,CAAA;;cAEI,MAAM;sBACE,aAAa;iBAClB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;;CAE9C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,QAAQ,EAAE,0DAA0D;QACpE,QAAQ,EAAE,8BAA8B;QACxC,QAAQ,EAAE,yEAAyE;QACnF,MAAM,EAAE,MAAM;QACd,aAAa,EAAE,CAAC;KACjB;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SAC1B;QACD,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC1B;QACD,aAAa,EAAE;YACb,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC5B;KACF;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-rotator';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Rotator',\n component: 'kemet-rotator',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = ({\n message1 = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n message2 = 'Praesent ornare porta nulla.',\n message3 = 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.',\n effect = 'fade',\n rotationSpeed = 3,\n}) => html`\n <kemet-rotator\n effect=\"${effect}\"\n .rotation-speed=${rotationSpeed}\n .messages=\"${[message1, message2, message3]}\">\n </kemet-rotator>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n args: {\n message1: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n message2: 'Praesent ornare porta nulla.',\n message3: 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.',\n effect: 'fade',\n rotationSpeed: 3,\n },\n argTypes: {\n message1: {\n control: { type: 'text' },\n },\n message2: {\n control: { type: 'text' },\n },\n message3: {\n control: { type: 'text' },\n },\n effect: {\n control: { type: 'select' },\n options: ['fade', 'flip'],\n },\n rotationSpeed: {\n control: { type: 'number' },\n },\n }\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-rotator/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,kBAAkB,CAAC;AAE1B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE;QACJ,aAAa,EAAE,CAAC;QAChB,QAAQ,EAAE,CAAC,0DAA0D,EAAE,8BAA8B,EAAE,yEAAyE,CAAC;KAClL;IACD,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC1B;KACF;CACF,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;2BACJ,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAI,CAAC,aAAa,eAAe,IAAI,CAAC,QAAQ;CACnH,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,IAAI,GAAU;IACzB,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9B,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC","sourcesContent":["import { html } from 'lit';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-rotator';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Rotator',\n component: 'kemet-rotator',\n args: {\n rotationSpeed: 3,\n messages: ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Praesent ornare porta nulla.', 'Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa.']\n },\n argTypes: {\n effect: {\n control: { type: 'radio' },\n options: ['fade', 'flip'],\n },\n }\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = (args) => html`\n <kemet-rotator effect=\"${ifDefined(args.effect)}\" .rotation-speed=${args.rotationSpeed} .messages=\"${args.messages}\"></kemet-rotator>\n`;\n\nexport const Standard: Story = {\n render: args => Template(args),\n};\n\nexport const Flip: Story = {\n render: args => Template(args),\n args: {\n effect: 'flip',\n },\n};\n"]}
@@ -14,7 +14,7 @@ import { TypeEffect } from './types';
14
14
  * @prop {string} effect - The transition effect type.
15
15
  * @prop {number} rotationSpeed - How fast, in seconds, each slide lasts. Stop the rotator with 0.
16
16
  *
17
- * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts. Default: 500ms.
17
+ * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts.
18
18
  *
19
19
  */
20
20
  export default class KemetRotator extends LitElement {
@@ -22,7 +22,7 @@ export default class KemetRotator extends LitElement {
22
22
  activeSlide: number;
23
23
  width: string;
24
24
  height: string;
25
- messages: any[];
25
+ messages: string[];
26
26
  effect: TypeEffect;
27
27
  rotationSpeed: number;
28
28
  prevSlide: number | null;
@@ -17,7 +17,7 @@ import { stylesRotator } from './styles';
17
17
  * @prop {string} effect - The transition effect type.
18
18
  * @prop {number} rotationSpeed - How fast, in seconds, each slide lasts. Stop the rotator with 0.
19
19
  *
20
- * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts. Default: 500ms.
20
+ * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts.
21
21
  *
22
22
  */
23
23
  let KemetRotator = class KemetRotator extends LitElement {
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-rotator.js","sourceRoot":"","sources":["../../../src/components/kemet-rotator/kemet-rotator.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { stylesRotator } from './styles';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-rotator\n * @summary A component that rotates through an array of text.\n *\n * @prop {number} activeSlide - The index number for the current slide.\n * @prop {string} width - The width of the rotator block.\n * @prop {string} height - The height of the rotator block.\n * @prop {array} messages - Text in the rotator. Supports HTML.\n * @prop {string} effect - The transition effect type.\n * @prop {number} rotationSpeed - How fast, in seconds, each slide lasts. Stop the rotator with 0.\n *\n * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts. Default: 500ms.\n *\n */\n\n@customElement('kemet-rotator')\nexport default class KemetRotator extends LitElement {\n static styles = [stylesRotator];\n\n @property({ type: Number })\n activeSlide: number = 0;\n\n @property({ type: String })\n width: string = 'auto';\n\n @property({ type: String })\n height: string = 'auto';\n\n @property({ type: Array })\n messages: any[] = [];\n\n @property({ type: String, reflect: true })\n effect: TypeEffect = 'fade';\n\n @property({ type: Number, attribute: 'rotation-speed' })\n rotationSpeed: number = 3;\n\n @state()\n prevSlide: number | null;\n\n\n firstUpdated() {\n // standard properties\n this.prevSlide = null;\n\n window.addEventListener('resize', this.setDimensions.bind(this));\n }\n\n updated(changed) {\n const widthHasChanged = !!changed.get('width');\n const heightHasChanged = !!changed.get('height');\n\n this.setDimensions();\n\n // only trigger slide updates when width and height has not changed\n if (!widthHasChanged && !heightHasChanged) {\n setTimeout(() => {\n if (this.rotationSpeed > 0) {\n this.nextSlide();\n }\n }, this.rotationSpeed * 1000);\n }\n }\n\n render() {\n const setWidth = this.effect === 'flip' ? `width:${this.width};` : '';\n const setHeight = this.effect === 'flip' ? `height:${this.height};` : '';\n\n return html`\n <span class=\"rotator\" style=\"${setWidth} ${setHeight}\">\n ${this.makeMessages()}\n </span>\n `;\n }\n\n makeMessages() {\n const messages = this.messages.map((message, index) => {\n const setActiveClass = this.activeSlide === index ? 'rotator__slide--active' : '';\n const setPrevClass = this.prevSlide === index ? 'rotator__slide--prev' : '';\n\n return html`\n <span class=\"rotator__slide ${setActiveClass} ${setPrevClass}\">\n ${unsafeHTML(message)}\n </span>\n `;\n });\n\n return messages;\n }\n\n setDimensions() {\n if (this.effect === 'flip') {\n this.width = `${this.offsetWidth}px`;\n\n const slides = this.shadowRoot.querySelectorAll('.rotator__slide');\n let tallest = 0;\n\n slides.forEach((slide: HTMLElement) => {\n if (slide.offsetHeight > tallest) {\n tallest = slide.offsetHeight;\n }\n });\n\n this.height = `${tallest}px`;\n }\n }\n\n nextSlide() {\n if (this.activeSlide < this.messages.length - 1) {\n this.activeSlide += 1;\n this.prevSlide = this.activeSlide - 1;\n } else {\n this.activeSlide = 0;\n this.prevSlide = this.messages.length - 1;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-rotator': KemetRotator\n }\n}\n"]}
1
+ {"version":3,"file":"kemet-rotator.js","sourceRoot":"","sources":["../../../src/components/kemet-rotator/kemet-rotator.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { stylesRotator } from './styles';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-rotator\n * @summary A component that rotates through an array of text.\n *\n * @prop {number} activeSlide - The index number for the current slide.\n * @prop {string} width - The width of the rotator block.\n * @prop {string} height - The height of the rotator block.\n * @prop {array} messages - Text in the rotator. Supports HTML.\n * @prop {string} effect - The transition effect type.\n * @prop {number} rotationSpeed - How fast, in seconds, each slide lasts. Stop the rotator with 0.\n *\n * @cssproperty --kemet-rotator-transition-speed - How long, in css time units, the transition effect lasts.\n *\n */\n\n@customElement('kemet-rotator')\nexport default class KemetRotator extends LitElement {\n static styles = [stylesRotator];\n\n @property({ type: Number })\n activeSlide: number = 0;\n\n @property({ type: String })\n width: string = 'auto';\n\n @property({ type: String })\n height: string = 'auto';\n\n @property({ type: Array })\n messages: string[] = [];\n\n @property({ type: String, reflect: true })\n effect: TypeEffect = 'fade';\n\n @property({ type: Number, attribute: 'rotation-speed' })\n rotationSpeed: number = 3;\n\n @state()\n prevSlide: number | null;\n\n\n firstUpdated() {\n // standard properties\n this.prevSlide = null;\n\n window.addEventListener('resize', this.setDimensions.bind(this));\n }\n\n updated(changed) {\n const widthHasChanged = !!changed.get('width');\n const heightHasChanged = !!changed.get('height');\n\n this.setDimensions();\n\n // only trigger slide updates when width and height has not changed\n if (!widthHasChanged && !heightHasChanged) {\n setTimeout(() => {\n if (this.rotationSpeed > 0) {\n this.nextSlide();\n }\n }, this.rotationSpeed * 1000);\n }\n }\n\n render() {\n const setWidth = this.effect === 'flip' ? `width:${this.width};` : '';\n const setHeight = this.effect === 'flip' ? `height:${this.height};` : '';\n\n return html`\n <span class=\"rotator\" style=\"${setWidth} ${setHeight}\">\n ${this.makeMessages()}\n </span>\n `;\n }\n\n makeMessages() {\n const messages = this.messages.map((message, index) => {\n const setActiveClass = this.activeSlide === index ? 'rotator__slide--active' : '';\n const setPrevClass = this.prevSlide === index ? 'rotator__slide--prev' : '';\n\n return html`\n <span class=\"rotator__slide ${setActiveClass} ${setPrevClass}\">\n ${unsafeHTML(message)}\n </span>\n `;\n });\n\n return messages;\n }\n\n setDimensions() {\n if (this.effect === 'flip') {\n this.width = `${this.offsetWidth}px`;\n\n const slides = this.shadowRoot.querySelectorAll('.rotator__slide');\n let tallest = 0;\n\n slides.forEach((slide: HTMLElement) => {\n if (slide.offsetHeight > tallest) {\n tallest = slide.offsetHeight;\n }\n });\n\n this.height = `${tallest}px`;\n }\n }\n\n nextSlide() {\n if (this.activeSlide < this.messages.length - 1) {\n this.activeSlide += 1;\n this.prevSlide = this.activeSlide - 1;\n } else {\n this.activeSlide = 0;\n this.prevSlide = this.messages.length - 1;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-rotator': KemetRotator\n }\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  import { css } from 'lit';
2
2
  export const stylesRotator = css `
3
3
  :host {
4
+ --kemet-rotator-transition-speed: 500ms;
5
+
4
6
  display: flex;
5
7
  }
6
8
 
@@ -24,7 +26,7 @@ export const stylesRotator = css `
24
26
  flex: none;
25
27
  opacity: 0;
26
28
  box-sizing: border-box;
27
- transition: all var(--kemet-rotator-transition-speed, 500ms) ease;
29
+ transition: all var(--kemet-rotator-transition-speed) ease;
28
30
  }
29
31
 
30
32
  :host([effect="fade"]) .rotator__slide:not(:first-child) {
@@ -54,7 +56,7 @@ export const stylesRotator = css `
54
56
 
55
57
  transform: rotateX(90deg);
56
58
  transform-origin: 0% 0%;
57
- transition: all var(--kemet-rotator-transition-speed, 500ms) ease;
59
+ transition: all var(--kemet-rotator-transition-speed) ease;
58
60
  }
59
61
 
60
62
  :host([effect="flip"]) .rotator__slide--active {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-rotator/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE/B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesRotator = css`\n :host {\n display: flex;\n }\n\n .rotator__slide {\n pointer-events: none;\n }\n\n .rotator__slide--active {\n pointer-events: auto;\n }\n\n /* fade effect */\n :host([effect=\"fade\"]) .rotator {\n display: inline-flex;\n flex-wrap: nowrap;\n flex-direction: row;\n }\n\n :host([effect=\"fade\"]) .rotator__slide {\n width: 100%;\n flex: none;\n opacity: 0;\n box-sizing: border-box;\n transition: all var(--kemet-rotator-transition-speed, 500ms) ease;\n }\n\n :host([effect=\"fade\"]) .rotator__slide:not(:first-child) {\n margin-left: -100%; /* this is the bulk of the overlay trick */\n }\n\n :host([effect=\"fade\"]) .rotator__slide--active {\n opacity: 1;\n }\n\n /* flip effect */\n :host([effect=\"flip\"]) .rotator {\n display: flex;\n position: relative;\n\n perspective: 500;\n }\n\n :host([effect=\"flip\"]) .rotator__slide {\n display: block;\n width: auto;\n position: absolute;\n top: -20px;\n left: 0;\n\n opacity: 0;\n\n transform: rotateX(90deg);\n transform-origin: 0% 0%;\n transition: all var(--kemet-rotator-transition-speed, 500ms) ease;\n }\n\n :host([effect=\"flip\"]) .rotator__slide--active {\n top: 0;\n opacity: 1;\n\n transform: rotateX(0deg);\n }\n\n :host([effect=\"flip\"]) .rotator__slide--prev {\n top: 40px;;\n transform: rotateX(-90deg);\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-rotator/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE/B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesRotator = css`\n :host {\n --kemet-rotator-transition-speed: 500ms;\n\n display: flex;\n }\n\n .rotator__slide {\n pointer-events: none;\n }\n\n .rotator__slide--active {\n pointer-events: auto;\n }\n\n /* fade effect */\n :host([effect=\"fade\"]) .rotator {\n display: inline-flex;\n flex-wrap: nowrap;\n flex-direction: row;\n }\n\n :host([effect=\"fade\"]) .rotator__slide {\n width: 100%;\n flex: none;\n opacity: 0;\n box-sizing: border-box;\n transition: all var(--kemet-rotator-transition-speed) ease;\n }\n\n :host([effect=\"fade\"]) .rotator__slide:not(:first-child) {\n margin-left: -100%; /* this is the bulk of the overlay trick */\n }\n\n :host([effect=\"fade\"]) .rotator__slide--active {\n opacity: 1;\n }\n\n /* flip effect */\n :host([effect=\"flip\"]) .rotator {\n display: flex;\n position: relative;\n\n perspective: 500;\n }\n\n :host([effect=\"flip\"]) .rotator__slide {\n display: block;\n width: auto;\n position: absolute;\n top: -20px;\n left: 0;\n\n opacity: 0;\n\n transform: rotateX(90deg);\n transform-origin: 0% 0%;\n transition: all var(--kemet-rotator-transition-speed) ease;\n }\n\n :host([effect=\"flip\"]) .rotator__slide--active {\n top: 0;\n opacity: 1;\n\n transform: rotateX(0deg);\n }\n\n :host([effect=\"flip\"]) .rotator__slide--prev {\n top: 40px;;\n transform: rotateX(-90deg);\n }\n`;\n"]}
@@ -33,7 +33,7 @@ const Template = () => {
33
33
  width: 100%;
34
34
  height: var(--nav-height);
35
35
  border-bottom: 1px solid gray;
36
- background-color: var(--kemet-color-white-to-black);
36
+ background-color: rgb(var(--kemet-color-white-to-black));
37
37
  }
38
38
 
39
39
  article {
@@ -41,7 +41,7 @@ const Template = () => {
41
41
  }
42
42
 
43
43
  kemet-scroll-link {
44
- color: var(--kemet-color-background);
44
+ color: rgb(var(--kemet-color-foreground));
45
45
  }
46
46
 
47
47
  .docs-story nav {
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-link/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAG1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAElD,WAAW,CAAC,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;CACzB,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\nimport { KemetScrollLinkInterface } from '../types';\n\nimport '../kemet-scroll-link';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\n\nconst meta: Meta = {\n title: 'Components / Scroll Link',\n component: 'kemet-scroll-link',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = () => {\n const scrollLinks = document.querySelectorAll('nav > kemet-scroll-link');\n const article = document.querySelector('article');\n\n scrollLinks.forEach((link: KemetScrollLinkInterface) => {\n link.yOffset = -72;\n link.target = article.querySelector(`#${link.dataset.target}`);\n });\n\n return html`\n <style>\n body {\n --nav-height: 72px;\n line-height: 1.5;\n }\n\n nav {\n position: fixed;\n top: 0;\n left: 0;\n padding: 0 2rem;\n display: flex;\n gap: 2rem;\n align-items: center;\n width: 100%;\n height: var(--nav-height);\n border-bottom: 1px solid gray;\n background-color: var(--kemet-color-white-to-black);\n }\n\n article {\n margin-top: var(--nav-height);\n }\n\n kemet-scroll-link {\n color: var(--kemet-color-background);\n }\n\n .docs-story nav {\n display: none;\n }\n </style>\n\n <nav>\n <kemet-scroll-link data-target=\"heading-1\">Heading 1</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-2\">Heading 2</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-3\">Heading 3</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-4\">Heading 4</kemet-scroll-link>\n </nav>\n\n <article>\n <h2 id=\"heading-1\">Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-2\">Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-3\">Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-4\">Heading 4</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n\n <kemet-scroll-link>\n <kemet-button>Scroll to Top</kemet-button>\n </kemet-scroll-link>\n `;\n};\n\nexport const Standard: Story = {\n render: () => Template(),\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-link/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAI3B,OAAO,sBAAsB,CAAC;AAE9B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAG1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,mBAAmB;CAC/B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAElD,WAAW,CAAC,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;QACrD,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0EV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;CACzB,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\nimport { KemetScrollLinkInterface } from '../types';\n\nimport '../kemet-scroll-link';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\n\nconst meta: Meta = {\n title: 'Components / Scroll Link',\n component: 'kemet-scroll-link',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst Template = () => {\n const scrollLinks = document.querySelectorAll('nav > kemet-scroll-link');\n const article = document.querySelector('article');\n\n scrollLinks.forEach((link: KemetScrollLinkInterface) => {\n link.yOffset = -72;\n link.target = article.querySelector(`#${link.dataset.target}`);\n });\n\n return html`\n <style>\n body {\n --nav-height: 72px;\n line-height: 1.5;\n }\n\n nav {\n position: fixed;\n top: 0;\n left: 0;\n padding: 0 2rem;\n display: flex;\n gap: 2rem;\n align-items: center;\n width: 100%;\n height: var(--nav-height);\n border-bottom: 1px solid gray;\n background-color: rgb(var(--kemet-color-white-to-black));\n }\n\n article {\n margin-top: var(--nav-height);\n }\n\n kemet-scroll-link {\n color: rgb(var(--kemet-color-foreground));\n }\n\n .docs-story nav {\n display: none;\n }\n </style>\n\n <nav>\n <kemet-scroll-link data-target=\"heading-1\">Heading 1</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-2\">Heading 2</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-3\">Heading 3</kemet-scroll-link>\n <kemet-scroll-link data-target=\"heading-4\">Heading 4</kemet-scroll-link>\n </nav>\n\n <article>\n <h2 id=\"heading-1\">Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-2\">Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-3\">Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2 id=\"heading-4\">Heading 4</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n\n <kemet-scroll-link>\n <kemet-button>Scroll to Top</kemet-button>\n </kemet-scroll-link>\n `;\n};\n\nexport const Standard: Story = {\n render: () => Template(),\n};\n"]}
@@ -14,7 +14,7 @@ const TemplateResize = () => html `
14
14
  color: #fafafa;
15
15
  padding: 2rem;
16
16
  line-height: 1.5;
17
- background-color: var(--kemet-color-primary);
17
+ background-color: rgb(var(--kemet-color-primary));
18
18
  padding-top: 400px; /* should be the height of kemet-scroll-nav */
19
19
  }
20
20
 
@@ -27,7 +27,7 @@ const TemplateResize = () => html `
27
27
 
28
28
  kemet-scroll-nav a {
29
29
  text-decoration: none;
30
- color: var(--kemet-color-primary);
30
+ color: rgb(var(--kemet-color-primary));
31
31
  }
32
32
 
33
33
  kemet-scroll-nav .links {
@@ -84,7 +84,7 @@ const TemplateSticky = () => html `
84
84
  color: #fafafa;
85
85
  padding: 2rem;
86
86
  line-height: 1.5;
87
- background-color: var(--kemet-color-primary);
87
+ background-color: rgb(var(--kemet-color-primary));
88
88
  }
89
89
 
90
90
  kemet-scroll-nav {
@@ -96,7 +96,7 @@ const TemplateSticky = () => html `
96
96
 
97
97
  kemet-scroll-nav a {
98
98
  text-decoration: none;
99
- color: var(--kemet-color-primary);
99
+ color: rgb(var(--kemet-color-primary));
100
100
  }
101
101
 
102
102
  kemet-scroll-nav .links {
@@ -112,7 +112,7 @@ const TemplateSticky = () => html `
112
112
  </style>
113
113
  <section class="kemet-scroll-nav-demo sticky">
114
114
  <header>
115
- <h1 kemet-type-size="plus-6">Kemet Scroll Nav</h1>
115
+ <h1 kemet-type-size="3xl">Kemet Scroll Nav</h1>
116
116
  <aside>
117
117
  <p>Scroll down to see this nav stick to the top! This is the default behavior.</p>
118
118
  </aside>
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-nav/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,qBAAqB,CAAC;AAE7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-scroll-nav';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Scroll Nav',\n component: 'kemet-scroll-nav',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst TemplateResize = () => html`\n <style>\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: var(--kemet-color-primary);\n padding-top: 400px; /* should be the height of kemet-scroll-nav */\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo resize\">\n <kemet-scroll-nav effect=\"resize\" offset=\"-250\">\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\nconst TemplateSticky = () => html`\n <style>\n header,\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: var(--kemet-color-primary);\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo sticky\">\n <header>\n <h1 kemet-type-size=\"plus-6\">Kemet Scroll Nav</h1>\n <aside>\n <p>Scroll down to see this nav stick to the top! This is the default behavior.</p>\n </aside>\n </header>\n\n <kemet-scroll-nav>\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\n\nexport const Resize: Story = {\n render: () => TemplateResize(),\n};\n\nexport const Sticky: Story = {\n render: () => TemplateSticky(),\n};\n"]}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../src/components/kemet-scroll-nav/docs/stories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B,OAAO,qBAAqB,CAAC;AAE7B,OAAO,6BAA6B,CAAC;AACrC,OAAO,4BAA4B,CAAC;AACpC,OAAO,kCAAkC,CAAC;AAE1C,MAAM,IAAI,GAAS;IACjB,KAAK,EAAE,yBAAyB;IAChC,SAAS,EAAE,kBAAkB;CAC9B,CAAC;AACF,eAAe,IAAI,CAAC;AAIpB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEhC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EhC,CAAC;AAGF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAU;IAC3B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,EAAE;CAC/B,CAAC","sourcesContent":["import { html } from 'lit';\nimport type { Meta, StoryObj } from '@storybook/web-components';\n\nimport '../kemet-scroll-nav';\n\nimport '../../kemet-tabs/kemet-tabs';\nimport '../../kemet-tabs/kemet-tab';\nimport '../../kemet-tabs/kemet-tab-panel';\n\nconst meta: Meta = {\n title: 'Components / Scroll Nav',\n component: 'kemet-scroll-nav',\n};\nexport default meta;\n\ntype Story = StoryObj;\n\nconst TemplateResize = () => html`\n <style>\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: rgb(var(--kemet-color-primary));\n padding-top: 400px; /* should be the height of kemet-scroll-nav */\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: rgb(var(--kemet-color-primary));\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo resize\">\n <kemet-scroll-nav effect=\"resize\" offset=\"-250\">\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\nconst TemplateSticky = () => html`\n <style>\n header,\n article {\n color: #fafafa;\n padding: 2rem;\n line-height: 1.5;\n background-color: rgb(var(--kemet-color-primary));\n }\n\n kemet-scroll-nav {\n display: grid;\n gap: 1rem;\n grid-template-columns: 1fr auto;\n align-items: flex-end;\n }\n\n kemet-scroll-nav a {\n text-decoration: none;\n color: rgb(var(--kemet-color-primary));\n }\n\n kemet-scroll-nav .links {\n display: flex;\n gap: 1rem;\n list-style: none;\n padding: 0;\n }\n\n #docs-root .kemet-scroll-nav-demo {\n display: none;\n }\n </style>\n <section class=\"kemet-scroll-nav-demo sticky\">\n <header>\n <h1 kemet-type-size=\"3xl\">Kemet Scroll Nav</h1>\n <aside>\n <p>Scroll down to see this nav stick to the top! This is the default behavior.</p>\n </aside>\n </header>\n\n <kemet-scroll-nav>\n <div class=\"logo\">\n <img src=\"https://kemet.dev/assets/images/storybook.png\" alt=\"Kemet UI\" />\n </div>\n <ul class=\"links\">\n <li><a href=\"#\" title=\"Link 1\">Link 1</a></li>\n <li><a href=\"#\" title=\"Link 2\">Link 2</a></li>\n <li><a href=\"#\" title=\"Link 3\">Link 3</a></li>\n </ul>\n </kemet-scroll-nav>\n\n <article>\n <h2>Heading 1</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 2</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n\n <h2>Heading 3</h2>\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent ornare porta nulla. Nulla ipsum felis, aliquet nec nisl sit amet, suscipit facilisis massa. Suspendisse consectetur lorem id odio fringilla pretium. Curabitur finibus nulla augue. Fusce vitae ornare lorem. Vivamus quis lacus ullamcorper, vehicula felis pretium, iaculis leo. Duis eget condimentum enim. Praesent vel est ut nisl pulvinar suscipit sit amet in sapien. Donec euismod odio ornare nisi luctus dignissim. Pellentesque vehicula, elit vitae maximus dapibus, erat nunc ultrices leo, nec pretium felis odio ut ex. Phasellus sapien felis, lobortis eu aliquam quis, semper quis neque. Aliquam vestibulum arcu ut nisl lacinia, in placerat dolor congue. Vivamus varius tincidunt odio, at pellentesque eros cursus nec. Donec viverra nec tellus vitae placerat. Cras id gravida mauris. Quisque sit amet imperdiet nisi.</p>\n <p>Sed eros ligula, blandit et iaculis et, faucibus in libero. Nunc augue dui, laoreet at porta ut, ultrices ac est. Duis at viverra metus. Phasellus pulvinar ligula sed aliquet pretium. Vestibulum erat risus, elementum ac imperdiet sed, semper eu sapien. Proin lobortis mauris ut ante tempor mattis. Donec dapibus interdum risus, eget malesuada arcu. Nulla facilisi. Maecenas aliquet ullamcorper tortor quis dapibus. Nunc facilisis augue vitae dictum semper. Etiam vehicula nec tortor non lobortis. Morbi hendrerit in nibh nec maximus. Nam convallis erat metus. In fermentum efficitur condimentum.</p>\n <p>Vestibulum accumsan vulputate consectetur. Quisque ut malesuada arcu. Mauris ligula odio, commodo nec eros ultricies, semper varius dui. Donec facilisis a odio nec imperdiet. Pellentesque molestie leo in mi maximus feugiat. Sed quis arcu a velit laoreet viverra. Etiam suscipit lacus lacus, a pretium justo tincidunt in. Fusce eget mi turpis.</p>\n <p>Ut molestie augue in eros eleifend hendrerit. Donec et laoreet lorem, sed porta arcu. Duis pharetra rhoncus ipsum eu pellentesque. Praesent bibendum bibendum risus maximus convallis. Curabitur nec libero eu velit cursus aliquam. Integer dapibus in eros pretium dignissim. Sed tortor justo, semper in pellentesque in, aliquet pellentesque sapien. Aliquam sem quam, pellentesque a erat ac, aliquet sagittis turpis. Suspendisse dignissim ante ante. Proin ac urna porta, auctor odio convallis, mollis orci. Donec scelerisque mauris non varius dapibus. Proin sollicitudin placerat consectetur.</p>\n <p>Etiam egestas vulputate sem a dictum. Curabitur mattis ex ut turpis vehicula, nec auctor eros facilisis. Duis nisl augue, varius feugiat sem et, iaculis gravida enim. Nam luctus purus et dapibus mattis. Curabitur hendrerit risus non velit aliquet hendrerit. Nullam faucibus, sapien vitae egestas congue, metus lacus rhoncus leo, non malesuada justo ipsum eu felis. Aenean venenatis metus non tincidunt sollicitudin.</p>\n </article>\n </section>\n`;\n\n\nexport const Resize: Story = {\n render: () => TemplateResize(),\n};\n\nexport const Sticky: Story = {\n render: () => TemplateSticky(),\n};\n"]}
@@ -11,11 +11,11 @@ import { TypeEffect } from './types';
11
11
  * @prop {boolean} transform - Whether or not the nav has shifted into a new state.
12
12
  * @prop {number} offset - Allows for an arbitrary adjustment of the transform point in pixels. Works with negative values.
13
13
  *
14
- * @cssproperty --kemet-scroll-nav-padding - The padding of the nav. Default: 1rem 2rem.
15
- * @cssproperty --kemet-scroll-nav-background - The background color of the nav. Default: #fafafa.
16
- * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation. Default: 300ms.
17
- * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav. Default: 400px.
18
- * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav. Default: 100px.
14
+ * @cssproperty --kemet-scroll-nav-padding - The padding of the nav.
15
+ * @cssproperty --kemet-scroll-nav-background - The background color of the nav.
16
+ * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation.
17
+ * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav.
18
+ * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav.
19
19
  *
20
20
  */
21
21
  export default class KemetScrollNav extends LitElement {
@@ -13,11 +13,11 @@ import { stylesScrollNav } from './styles';
13
13
  * @prop {boolean} transform - Whether or not the nav has shifted into a new state.
14
14
  * @prop {number} offset - Allows for an arbitrary adjustment of the transform point in pixels. Works with negative values.
15
15
  *
16
- * @cssproperty --kemet-scroll-nav-padding - The padding of the nav. Default: 1rem 2rem.
17
- * @cssproperty --kemet-scroll-nav-background - The background color of the nav. Default: #fafafa.
18
- * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation. Default: 300ms.
19
- * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav. Default: 400px.
20
- * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav. Default: 100px.
16
+ * @cssproperty --kemet-scroll-nav-padding - The padding of the nav.
17
+ * @cssproperty --kemet-scroll-nav-background - The background color of the nav.
18
+ * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation.
19
+ * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav.
20
+ * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav.
21
21
  *
22
22
  */
23
23
  let KemetScrollNav = class KemetScrollNav extends LitElement {
@@ -1 +1 @@
1
- {"version":3,"file":"kemet-scroll-nav.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/kemet-scroll-nav.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AAGH,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,UAAU;IAAtD;;QAIE,WAAM,GAAe,QAAQ,CAAC;QAG9B,cAAS,GAAY,KAAK,CAAC;QAG3B,WAAM,GAAW,CAAC,CAAC;IA+BrB,CAAC;IA5BC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,YAAY;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QAExC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,6DAA6D;YAC7D,2DAA2D;YAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,UAAU,EAAE,aAAa;QACpC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC/C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;YAC1B,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,MAAM,CAAC,WAAW,IAAI,cAAc,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;CACF,CAAA;AAxCQ,qBAAM,GAAG,CAAC,eAAe,CAAC,CAAC;AAGlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CACZ;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAChB;AAG3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACR;AAVA,cAAc;IADlC,aAAa,CAAC,kBAAkB,CAAC;GACb,cAAc,CAyClC;eAzCoB,cAAc","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesScrollNav } from './styles';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-nav\n * @summary An element that transforms at a scroll point.\n *\n * @prop {string} effect - Determines where the transform point is activated. Values include: (sticky | resize)\n * @prop {boolean} transform - Whether or not the nav has shifted into a new state.\n * @prop {number} offset - Allows for an arbitrary adjustment of the transform point in pixels. Works with negative values.\n *\n * @cssproperty --kemet-scroll-nav-padding - The padding of the nav. Default: 1rem 2rem.\n * @cssproperty --kemet-scroll-nav-background - The background color of the nav. Default: #fafafa.\n * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation. Default: 300ms.\n * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav. Default: 400px.\n * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav. Default: 100px.\n *\n */\n\n@customElement('kemet-scroll-nav')\nexport default class KemetScrollNav extends LitElement {\n static styles = [stylesScrollNav];\n\n @property({ type: String, reflect: true })\n effect: TypeEffect = 'sticky';\n\n @property({ type: Boolean, reflect: true })\n transform: boolean = false;\n\n @property({ type: Number })\n offset: number = 0;\n\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n firstUpdated() {\n const stickPoint = this.offsetTop;\n const elementHeight = this.offsetHeight;\n\n window.addEventListener('scroll', () => {\n // we pass stickPoint and elementHeight as recorded constants\n // so that it does not update for each call to handleScroll\n this.handleScroll(stickPoint, elementHeight);\n });\n }\n\n handleScroll(stickPoint, elementHeight) {\n const transformPoint = (this.effect === 'sticky')\n ? stickPoint + this.offset\n : elementHeight + this.offset;\n\n if (window.pageYOffset >= transformPoint) {\n this.transform = true;\n } else {\n this.transform = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-scroll-nav': KemetScrollNav\n }\n}\n\n"]}
1
+ {"version":3,"file":"kemet-scroll-nav.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/kemet-scroll-nav.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C;;;;;;;;;;;;;;;;;GAiBG;AAGH,IAAqB,cAAc,GAAnC,MAAqB,cAAe,SAAQ,UAAU;IAAtD;;QAIE,WAAM,GAAe,QAAQ,CAAC;QAG9B,cAAS,GAAY,KAAK,CAAC;QAG3B,WAAM,GAAW,CAAC,CAAC;IA+BrB,CAAC;IA5BC,MAAM;QACJ,OAAO,IAAI,CAAA;;KAEV,CAAC;IACJ,CAAC;IAED,YAAY;QACV,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QAExC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACrC,6DAA6D;YAC7D,2DAA2D;YAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,UAAU,EAAE,aAAa;QACpC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;YAC/C,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM;YAC1B,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;QAEhC,IAAI,MAAM,CAAC,WAAW,IAAI,cAAc,EAAE;YACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;SACxB;IACH,CAAC;CACF,CAAA;AAxCQ,qBAAM,GAAG,CAAC,eAAe,CAAC,CAAC;AAGlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CACZ;AAG9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAChB;AAG3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACR;AAVA,cAAc;IADlC,aAAa,CAAC,kBAAkB,CAAC;GACb,cAAc,CAyClC;eAzCoB,cAAc","sourcesContent":["import { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { stylesScrollNav } from './styles';\nimport { TypeEffect } from './types';\n\n/**\n * @since 1.0.0\n * @status stable\n *\n * @tagname kemet-scroll-nav\n * @summary An element that transforms at a scroll point.\n *\n * @prop {string} effect - Determines where the transform point is activated. Values include: (sticky | resize)\n * @prop {boolean} transform - Whether or not the nav has shifted into a new state.\n * @prop {number} offset - Allows for an arbitrary adjustment of the transform point in pixels. Works with negative values.\n *\n * @cssproperty --kemet-scroll-nav-padding - The padding of the nav.\n * @cssproperty --kemet-scroll-nav-background - The background color of the nav.\n * @cssproperty --kemet-scroll-nav-transition - The transition speed of the transformation.\n * @cssproperty --kemet-scroll-nav-resize-height - The height of the pre-transformed nav.\n * @cssproperty --kemet-scroll-nav-resize-height-transformed - The height of the transformed nav.\n *\n */\n\n@customElement('kemet-scroll-nav')\nexport default class KemetScrollNav extends LitElement {\n static styles = [stylesScrollNav];\n\n @property({ type: String, reflect: true })\n effect: TypeEffect = 'sticky';\n\n @property({ type: Boolean, reflect: true })\n transform: boolean = false;\n\n @property({ type: Number })\n offset: number = 0;\n\n\n render() {\n return html`\n <slot></slot>\n `;\n }\n\n firstUpdated() {\n const stickPoint = this.offsetTop;\n const elementHeight = this.offsetHeight;\n\n window.addEventListener('scroll', () => {\n // we pass stickPoint and elementHeight as recorded constants\n // so that it does not update for each call to handleScroll\n this.handleScroll(stickPoint, elementHeight);\n });\n }\n\n handleScroll(stickPoint, elementHeight) {\n const transformPoint = (this.effect === 'sticky')\n ? stickPoint + this.offset\n : elementHeight + this.offset;\n\n if (window.pageYOffset >= transformPoint) {\n this.transform = true;\n } else {\n this.transform = false;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kemet-scroll-nav': KemetScrollNav\n }\n}\n\n"]}
@@ -1,10 +1,16 @@
1
1
  import { css } from 'lit';
2
2
  export const stylesScrollNav = css `
3
3
  :host {
4
+ --kemet-scroll-nav-padding: 1rem 2rem;
5
+ --kemet-scroll-nav-background: rgb(var(--kemet-color-gray-50));
6
+ --kemet-scroll-nav-transition: 300ms;
7
+ --kemet-scroll-nav-resize-height: 400px;
8
+ --kemet-scroll-nav-resize-height-transformed: 100px;
9
+
4
10
  display: block;
5
11
  box-sizing: border-box;
6
- padding: var(--kemet-scroll-nav-padding, 1rem 2rem);
7
- background-color: var(--kemet-scroll-nav-background, #fafafa);
12
+ padding: var(--kemet-scroll-nav-padding);
13
+ background-color: var(--kemet-scroll-nav-background);
8
14
  transition: all var(--kemet-scroll-nav-transition, 300ms) ease;
9
15
  }
10
16
 
@@ -17,11 +23,11 @@ export const stylesScrollNav = css `
17
23
  }
18
24
 
19
25
  :host([effect="resize"]) {
20
- height: var(--kemet-scroll-nav-resize-height, 400px);
26
+ height: var(--kemet-scroll-nav-resize-height);
21
27
  }
22
28
 
23
29
  :host([transform][effect="resize"]) {
24
- height: var(--kemet-scroll-nav-resize-height-transformed, 100px);
30
+ height: var(--kemet-scroll-nav-resize-height-transformed);
25
31
  }
26
32
  `;
27
33
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBjC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesScrollNav = css`\n :host {\n display: block;\n box-sizing: border-box;\n padding: var(--kemet-scroll-nav-padding, 1rem 2rem);\n background-color: var(--kemet-scroll-nav-background, #fafafa);\n transition: all var(--kemet-scroll-nav-transition, 300ms) ease;\n }\n\n :host([transform]),\n :host([effect=\"resize\"]) {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n }\n\n :host([effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height, 400px);\n }\n\n :host([transform][effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height-transformed, 100px);\n }\n`;\n"]}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/components/kemet-scroll-nav/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BjC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const stylesScrollNav = css`\n :host {\n --kemet-scroll-nav-padding: 1rem 2rem;\n --kemet-scroll-nav-background: rgb(var(--kemet-color-gray-50));\n --kemet-scroll-nav-transition: 300ms;\n --kemet-scroll-nav-resize-height: 400px;\n --kemet-scroll-nav-resize-height-transformed: 100px;\n\n display: block;\n box-sizing: border-box;\n padding: var(--kemet-scroll-nav-padding);\n background-color: var(--kemet-scroll-nav-background);\n transition: all var(--kemet-scroll-nav-transition, 300ms) ease;\n }\n\n :host([transform]),\n :host([effect=\"resize\"]) {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n }\n\n :host([effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height);\n }\n\n :host([transform][effect=\"resize\"]) {\n height: var(--kemet-scroll-nav-resize-height-transformed);\n }\n`;\n"]}
@@ -5,7 +5,13 @@ import '../kemet-scroll-snap-paginator';
5
5
  import '../../kemet-tabs/kemet-tabs';
6
6
  import '../../kemet-tabs/kemet-tab';
7
7
  import '../../kemet-tabs/kemet-tab-panel';
8
+ import '../../kemet-icon/kemet-icon';
8
9
  declare const meta: Meta;
9
10
  export default meta;
10
11
  declare type Story = StoryObj;
11
12
  export declare const Standard: Story;
13
+ export declare const Vertical: Story;
14
+ export declare const Pagination: Story;
15
+ export declare const PaginationLabels: Story;
16
+ export declare const PaginationNumbers: Story;
17
+ export declare const MultipleSlides: Story;