@sondor-technology/sondor-components 1.0.9 → 1.0.10

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 (431) hide show
  1. package/dist/components/accordion/accordion.constants.d.ts +5 -0
  2. package/dist/components/accordion/accordion.constants.d.ts.map +1 -0
  3. package/dist/components/accordion/accordion.constants.js +3 -0
  4. package/dist/components/accordion/accordion.constants.js.map +1 -0
  5. package/dist/components/accordion/accordion.d.ts +29 -0
  6. package/dist/components/accordion/accordion.d.ts.map +1 -0
  7. package/dist/components/accordion/accordion.js +226 -0
  8. package/dist/components/accordion/accordion.js.map +1 -0
  9. package/dist/components/alert/alert.constants.d.ts +2 -0
  10. package/dist/components/alert/alert.constants.d.ts.map +1 -1
  11. package/dist/components/alert/alert.d.ts +50 -2
  12. package/dist/components/alert/alert.d.ts.map +1 -1
  13. package/dist/components/alert/alert.js +285 -16
  14. package/dist/components/alert/alert.js.map +1 -1
  15. package/dist/components/avatar/avatar.d.ts +20 -0
  16. package/dist/components/avatar/avatar.d.ts.map +1 -0
  17. package/dist/components/avatar/avatar.js +100 -0
  18. package/dist/components/avatar/avatar.js.map +1 -0
  19. package/dist/components/back-to-top/back-to-top.d.ts +29 -0
  20. package/dist/components/back-to-top/back-to-top.d.ts.map +1 -0
  21. package/dist/components/back-to-top/back-to-top.js +149 -0
  22. package/dist/components/back-to-top/back-to-top.js.map +1 -0
  23. package/dist/components/bar-chart/bar-chart.d.ts +42 -0
  24. package/dist/components/bar-chart/bar-chart.d.ts.map +1 -0
  25. package/dist/components/bar-chart/bar-chart.js +298 -0
  26. package/dist/components/bar-chart/bar-chart.js.map +1 -0
  27. package/dist/components/breadcrumb/breadcrumb.js +2 -2
  28. package/dist/components/button/button.d.ts +1 -0
  29. package/dist/components/button/button.d.ts.map +1 -1
  30. package/dist/components/button/button.js +8 -8
  31. package/dist/components/button/button.js.map +1 -1
  32. package/dist/components/button-group/button-group.js +4 -4
  33. package/dist/components/calendar/calendar.d.ts.map +1 -1
  34. package/dist/components/calendar/calendar.js +11 -9
  35. package/dist/components/calendar/calendar.js.map +1 -1
  36. package/dist/components/chart/chart-base.d.ts +59 -0
  37. package/dist/components/chart/chart-base.d.ts.map +1 -0
  38. package/dist/components/chart/chart-base.js +261 -0
  39. package/dist/components/chart/chart-base.js.map +1 -0
  40. package/dist/components/chart/chart.utils.d.ts +27 -0
  41. package/dist/components/chart/chart.utils.d.ts.map +1 -0
  42. package/dist/components/chart/chart.utils.js +117 -0
  43. package/dist/components/chart/chart.utils.js.map +1 -0
  44. package/dist/components/code-block/code-block.d.ts +5 -0
  45. package/dist/components/code-block/code-block.d.ts.map +1 -1
  46. package/dist/components/code-block/code-block.js +34 -24
  47. package/dist/components/code-block/code-block.js.map +1 -1
  48. package/dist/components/consent/consent.d.ts +63 -0
  49. package/dist/components/consent/consent.d.ts.map +1 -0
  50. package/dist/components/consent/consent.js +327 -0
  51. package/dist/components/consent/consent.js.map +1 -0
  52. package/dist/components/consent/consent.utils.d.ts +36 -0
  53. package/dist/components/consent/consent.utils.d.ts.map +1 -0
  54. package/dist/components/consent/consent.utils.js +82 -0
  55. package/dist/components/consent/consent.utils.js.map +1 -0
  56. package/dist/components/contact/contact.d.ts +22 -0
  57. package/dist/components/contact/contact.d.ts.map +1 -0
  58. package/dist/components/contact/contact.js +83 -0
  59. package/dist/components/contact/contact.js.map +1 -0
  60. package/dist/components/container/container.d.ts +20 -0
  61. package/dist/components/container/container.d.ts.map +1 -0
  62. package/dist/components/container/container.js +68 -0
  63. package/dist/components/container/container.js.map +1 -0
  64. package/dist/components/content-card/content-card.js +4 -4
  65. package/dist/components/context-menu/context-menu.d.ts +89 -0
  66. package/dist/components/context-menu/context-menu.d.ts.map +1 -0
  67. package/dist/components/context-menu/context-menu.js +414 -0
  68. package/dist/components/context-menu/context-menu.js.map +1 -0
  69. package/dist/components/cron-builder/cron-builder.d.ts.map +1 -1
  70. package/dist/components/cron-builder/cron-builder.js +13 -11
  71. package/dist/components/cron-builder/cron-builder.js.map +1 -1
  72. package/dist/components/cta/cta.d.ts +20 -0
  73. package/dist/components/cta/cta.d.ts.map +1 -0
  74. package/dist/components/cta/cta.js +64 -0
  75. package/dist/components/cta/cta.js.map +1 -0
  76. package/dist/components/drawer/drawer.js +6 -6
  77. package/dist/components/faq/faq-item.d.ts +22 -0
  78. package/dist/components/faq/faq-item.d.ts.map +1 -0
  79. package/dist/components/faq/faq-item.js +117 -0
  80. package/dist/components/faq/faq-item.js.map +1 -0
  81. package/dist/components/faq/faq.d.ts +18 -0
  82. package/dist/components/faq/faq.d.ts.map +1 -0
  83. package/dist/components/faq/faq.js +38 -0
  84. package/dist/components/faq/faq.js.map +1 -0
  85. package/dist/components/feature-grid/feature-grid.d.ts +22 -0
  86. package/dist/components/feature-grid/feature-grid.d.ts.map +1 -0
  87. package/dist/components/feature-grid/feature-grid.js +55 -0
  88. package/dist/components/feature-grid/feature-grid.js.map +1 -0
  89. package/dist/components/feature-grid/feature.d.ts +18 -0
  90. package/dist/components/feature-grid/feature.d.ts.map +1 -0
  91. package/dist/components/feature-grid/feature.js +91 -0
  92. package/dist/components/feature-grid/feature.js.map +1 -0
  93. package/dist/components/field/field.js +2 -2
  94. package/dist/components/footer/footer.js +4 -4
  95. package/dist/components/form/form-reset.d.ts +7 -0
  96. package/dist/components/form/form-reset.d.ts.map +1 -0
  97. package/dist/components/form/form-reset.js +47 -0
  98. package/dist/components/form/form-reset.js.map +1 -0
  99. package/dist/components/form/form.d.ts +5 -0
  100. package/dist/components/form/form.d.ts.map +1 -1
  101. package/dist/components/form/form.js +17 -3
  102. package/dist/components/form/form.js.map +1 -1
  103. package/dist/components/grid/grid.d.ts +5 -0
  104. package/dist/components/grid/grid.d.ts.map +1 -1
  105. package/dist/components/grid/grid.js +86 -4
  106. package/dist/components/grid/grid.js.map +1 -1
  107. package/dist/components/heat-map/heat-map.d.ts +39 -0
  108. package/dist/components/heat-map/heat-map.d.ts.map +1 -0
  109. package/dist/components/heat-map/heat-map.js +306 -0
  110. package/dist/components/heat-map/heat-map.js.map +1 -0
  111. package/dist/components/hero/hero.d.ts +26 -0
  112. package/dist/components/hero/hero.d.ts.map +1 -0
  113. package/dist/components/hero/hero.js +132 -0
  114. package/dist/components/hero/hero.js.map +1 -0
  115. package/dist/components/icon/icon-paths.d.ts +84 -0
  116. package/dist/components/icon/icon-paths.d.ts.map +1 -1
  117. package/dist/components/icon/icon-paths.js +89 -0
  118. package/dist/components/icon/icon-paths.js.map +1 -1
  119. package/dist/components/icon/icon.d.ts +2 -0
  120. package/dist/components/icon/icon.d.ts.map +1 -1
  121. package/dist/components/icon/icon.js +10 -1
  122. package/dist/components/icon/icon.js.map +1 -1
  123. package/dist/components/image/image.d.ts +31 -0
  124. package/dist/components/image/image.d.ts.map +1 -0
  125. package/dist/components/image/image.js +179 -0
  126. package/dist/components/image/image.js.map +1 -0
  127. package/dist/components/input/input.js +4 -4
  128. package/dist/components/lazy/lazy.d.ts +34 -0
  129. package/dist/components/lazy/lazy.d.ts.map +1 -0
  130. package/dist/components/lazy/lazy.js +104 -0
  131. package/dist/components/lazy/lazy.js.map +1 -0
  132. package/dist/components/line-chart/line-chart.d.ts +37 -0
  133. package/dist/components/line-chart/line-chart.d.ts.map +1 -0
  134. package/dist/components/line-chart/line-chart.js +271 -0
  135. package/dist/components/line-chart/line-chart.js.map +1 -0
  136. package/dist/components/list/list-item.d.ts +45 -0
  137. package/dist/components/list/list-item.d.ts.map +1 -0
  138. package/dist/components/list/list-item.js +263 -0
  139. package/dist/components/list/list-item.js.map +1 -0
  140. package/dist/components/list/list.d.ts +50 -0
  141. package/dist/components/list/list.d.ts.map +1 -0
  142. package/dist/components/list/list.js +161 -0
  143. package/dist/components/list/list.js.map +1 -0
  144. package/dist/components/logo-cloud/logo-cloud.d.ts +19 -0
  145. package/dist/components/logo-cloud/logo-cloud.d.ts.map +1 -0
  146. package/dist/components/logo-cloud/logo-cloud.js +66 -0
  147. package/dist/components/logo-cloud/logo-cloud.js.map +1 -0
  148. package/dist/components/modal/modal.d.ts +12 -0
  149. package/dist/components/modal/modal.d.ts.map +1 -1
  150. package/dist/components/modal/modal.js +40 -11
  151. package/dist/components/modal/modal.js.map +1 -1
  152. package/dist/components/page-layout/page-layout.js +8 -8
  153. package/dist/components/pagination/pagination.d.ts +15 -0
  154. package/dist/components/pagination/pagination.d.ts.map +1 -0
  155. package/dist/components/pagination/pagination.js +126 -0
  156. package/dist/components/pagination/pagination.js.map +1 -0
  157. package/dist/components/pagination/pagination.utils.d.ts +3 -0
  158. package/dist/components/pagination/pagination.utils.d.ts.map +1 -0
  159. package/dist/components/pagination/pagination.utils.js +19 -0
  160. package/dist/components/pagination/pagination.utils.js.map +1 -0
  161. package/dist/components/pie-chart/pie-chart.d.ts +33 -0
  162. package/dist/components/pie-chart/pie-chart.d.ts.map +1 -0
  163. package/dist/components/pie-chart/pie-chart.js +233 -0
  164. package/dist/components/pie-chart/pie-chart.js.map +1 -0
  165. package/dist/components/pin-input/pin-input.js +4 -4
  166. package/dist/components/popover/popover.d.ts.map +1 -1
  167. package/dist/components/popover/popover.js +1 -3
  168. package/dist/components/popover/popover.js.map +1 -1
  169. package/dist/components/post-list/post-card.d.ts +16 -0
  170. package/dist/components/post-list/post-card.d.ts.map +1 -0
  171. package/dist/components/post-list/post-card.js +22 -0
  172. package/dist/components/post-list/post-card.js.map +1 -0
  173. package/dist/components/post-list/post-list.d.ts +17 -0
  174. package/dist/components/post-list/post-list.d.ts.map +1 -0
  175. package/dist/components/post-list/post-list.js +23 -0
  176. package/dist/components/post-list/post-list.js.map +1 -0
  177. package/dist/components/pricing/pricing-tier.d.ts +23 -0
  178. package/dist/components/pricing/pricing-tier.d.ts.map +1 -0
  179. package/dist/components/pricing/pricing-tier.js +144 -0
  180. package/dist/components/pricing/pricing-tier.js.map +1 -0
  181. package/dist/components/pricing/pricing.d.ts +18 -0
  182. package/dist/components/pricing/pricing.d.ts.map +1 -0
  183. package/dist/components/pricing/pricing.js +38 -0
  184. package/dist/components/pricing/pricing.js.map +1 -0
  185. package/dist/components/progress/progress.d.ts +17 -0
  186. package/dist/components/progress/progress.d.ts.map +1 -0
  187. package/dist/components/progress/progress.js +109 -0
  188. package/dist/components/progress/progress.js.map +1 -0
  189. package/dist/components/project-grid/project-card.d.ts +17 -0
  190. package/dist/components/project-grid/project-card.d.ts.map +1 -0
  191. package/dist/components/project-grid/project-card.js +23 -0
  192. package/dist/components/project-grid/project-card.js.map +1 -0
  193. package/dist/components/project-grid/project-grid.d.ts +17 -0
  194. package/dist/components/project-grid/project-grid.d.ts.map +1 -0
  195. package/dist/components/project-grid/project-grid.js +23 -0
  196. package/dist/components/project-grid/project-grid.js.map +1 -0
  197. package/dist/components/radio/radio.js +1 -1
  198. package/dist/components/reveal/reveal.constants.d.ts +10 -0
  199. package/dist/components/reveal/reveal.constants.d.ts.map +1 -0
  200. package/dist/components/reveal/reveal.constants.js +11 -0
  201. package/dist/components/reveal/reveal.constants.js.map +1 -0
  202. package/dist/components/reveal/reveal.d.ts +64 -0
  203. package/dist/components/reveal/reveal.d.ts.map +1 -0
  204. package/dist/components/reveal/reveal.js +352 -0
  205. package/dist/components/reveal/reveal.js.map +1 -0
  206. package/dist/components/scroll-progress/scroll-progress.d.ts +32 -0
  207. package/dist/components/scroll-progress/scroll-progress.d.ts.map +1 -0
  208. package/dist/components/scroll-progress/scroll-progress.js +120 -0
  209. package/dist/components/scroll-progress/scroll-progress.js.map +1 -0
  210. package/dist/components/section/card-row.d.ts +30 -0
  211. package/dist/components/section/card-row.d.ts.map +1 -0
  212. package/dist/components/section/card-row.js +174 -0
  213. package/dist/components/section/card-row.js.map +1 -0
  214. package/dist/components/section/card.d.ts +27 -0
  215. package/dist/components/section/card.d.ts.map +1 -0
  216. package/dist/components/section/card.js +205 -0
  217. package/dist/components/section/card.js.map +1 -0
  218. package/dist/components/section/row-item.d.ts +22 -0
  219. package/dist/components/section/row-item.d.ts.map +1 -0
  220. package/dist/components/section/row-item.js +53 -0
  221. package/dist/components/section/row-item.js.map +1 -0
  222. package/dist/components/section/section.d.ts +70 -0
  223. package/dist/components/section/section.d.ts.map +1 -0
  224. package/dist/components/section/section.js +240 -0
  225. package/dist/components/section/section.js.map +1 -0
  226. package/dist/components/select/select.js +3 -3
  227. package/dist/components/series-nav/series-nav.d.ts +29 -0
  228. package/dist/components/series-nav/series-nav.d.ts.map +1 -0
  229. package/dist/components/series-nav/series-nav.js +178 -0
  230. package/dist/components/series-nav/series-nav.js.map +1 -0
  231. package/dist/components/site-header/site-header.d.ts +51 -0
  232. package/dist/components/site-header/site-header.d.ts.map +1 -0
  233. package/dist/components/site-header/site-header.js +296 -0
  234. package/dist/components/site-header/site-header.js.map +1 -0
  235. package/dist/components/skeleton/skeleton.js +7 -7
  236. package/dist/components/sparkline/sparkline.d.ts +19 -0
  237. package/dist/components/sparkline/sparkline.d.ts.map +1 -0
  238. package/dist/components/sparkline/sparkline.js +99 -0
  239. package/dist/components/sparkline/sparkline.js.map +1 -0
  240. package/dist/components/spinner/spinner.d.ts +13 -0
  241. package/dist/components/spinner/spinner.d.ts.map +1 -0
  242. package/dist/components/spinner/spinner.js +65 -0
  243. package/dist/components/spinner/spinner.js.map +1 -0
  244. package/dist/components/split/split.d.ts +23 -0
  245. package/dist/components/split/split.d.ts.map +1 -0
  246. package/dist/components/split/split.js +104 -0
  247. package/dist/components/split/split.js.map +1 -0
  248. package/dist/components/stack/stack.d.ts +21 -0
  249. package/dist/components/stack/stack.d.ts.map +1 -0
  250. package/dist/components/stack/stack.js +102 -0
  251. package/dist/components/stack/stack.js.map +1 -0
  252. package/dist/components/stat-card/stat-card.d.ts +35 -0
  253. package/dist/components/stat-card/stat-card.d.ts.map +1 -0
  254. package/dist/components/stat-card/stat-card.js +199 -0
  255. package/dist/components/stat-card/stat-card.js.map +1 -0
  256. package/dist/components/stats/stat.d.ts +16 -0
  257. package/dist/components/stats/stat.d.ts.map +1 -0
  258. package/dist/components/stats/stat.js +51 -0
  259. package/dist/components/stats/stat.js.map +1 -0
  260. package/dist/components/stats/stats.d.ts +19 -0
  261. package/dist/components/stats/stats.d.ts.map +1 -0
  262. package/dist/components/stats/stats.js +45 -0
  263. package/dist/components/stats/stats.js.map +1 -0
  264. package/dist/components/switch/switch.js +2 -2
  265. package/dist/components/table/data-table.d.ts +115 -27
  266. package/dist/components/table/data-table.d.ts.map +1 -1
  267. package/dist/components/table/data-table.js +1012 -411
  268. package/dist/components/table/data-table.js.map +1 -1
  269. package/dist/components/table/data-table.utils.d.ts +81 -0
  270. package/dist/components/table/data-table.utils.d.ts.map +1 -0
  271. package/dist/components/table/data-table.utils.js +208 -0
  272. package/dist/components/table/data-table.utils.js.map +1 -0
  273. package/dist/components/table/table.d.ts +28 -0
  274. package/dist/components/table/table.d.ts.map +1 -1
  275. package/dist/components/table/table.js +161 -33
  276. package/dist/components/table/table.js.map +1 -1
  277. package/dist/components/team/person.d.ts +19 -0
  278. package/dist/components/team/person.d.ts.map +1 -0
  279. package/dist/components/team/person.js +123 -0
  280. package/dist/components/team/person.js.map +1 -0
  281. package/dist/components/team/team.d.ts +18 -0
  282. package/dist/components/team/team.d.ts.map +1 -0
  283. package/dist/components/team/team.js +36 -0
  284. package/dist/components/team/team.js.map +1 -0
  285. package/dist/components/testimonials/testimonial.d.ts +18 -0
  286. package/dist/components/testimonials/testimonial.d.ts.map +1 -0
  287. package/dist/components/testimonials/testimonial.js +115 -0
  288. package/dist/components/testimonials/testimonial.js.map +1 -0
  289. package/dist/components/testimonials/testimonials.d.ts +18 -0
  290. package/dist/components/testimonials/testimonials.d.ts.map +1 -0
  291. package/dist/components/testimonials/testimonials.js +36 -0
  292. package/dist/components/testimonials/testimonials.js.map +1 -0
  293. package/dist/components/textarea/textarea.js +3 -3
  294. package/dist/components/theme-toggle/theme-toggle.js +1 -1
  295. package/dist/components/time-picker/time-picker.js +3 -3
  296. package/dist/components/timeline/timeline-item.d.ts +18 -0
  297. package/dist/components/timeline/timeline-item.d.ts.map +1 -0
  298. package/dist/components/timeline/timeline-item.js +102 -0
  299. package/dist/components/timeline/timeline-item.js.map +1 -0
  300. package/dist/components/timeline/timeline.d.ts +18 -0
  301. package/dist/components/timeline/timeline.d.ts.map +1 -0
  302. package/dist/components/timeline/timeline.js +30 -0
  303. package/dist/components/timeline/timeline.js.map +1 -0
  304. package/dist/components/toast/toast.d.ts +33 -0
  305. package/dist/components/toast/toast.d.ts.map +1 -0
  306. package/dist/components/toast/toast.js +147 -0
  307. package/dist/components/toast/toast.js.map +1 -0
  308. package/dist/components/toggle-group/toggle-button.d.ts +2 -0
  309. package/dist/components/toggle-group/toggle-button.d.ts.map +1 -1
  310. package/dist/components/toggle-group/toggle-button.js +12 -4
  311. package/dist/components/toggle-group/toggle-button.js.map +1 -1
  312. package/dist/components/toggle-group/toggle-group.js +4 -4
  313. package/dist/components/tooltip/tooltip.js +21 -21
  314. package/dist/components/vertical-nav/vertical-nav-group.js +3 -3
  315. package/dist/components/vertical-nav/vertical-nav-item.js +4 -4
  316. package/dist/components/video-embed/video-embed.d.ts +37 -0
  317. package/dist/components/video-embed/video-embed.d.ts.map +1 -0
  318. package/dist/components/video-embed/video-embed.js +183 -0
  319. package/dist/components/video-embed/video-embed.js.map +1 -0
  320. package/dist/index.d.ts +107 -0
  321. package/dist/index.d.ts.map +1 -0
  322. package/dist/index.js +104 -0
  323. package/dist/index.js.map +1 -0
  324. package/dist/styles/index.css +205 -2
  325. package/dist/styles/reset.d.ts.map +1 -1
  326. package/dist/styles/reset.js +5 -0
  327. package/dist/styles/reset.js.map +1 -1
  328. package/package.json +210 -7
  329. package/src/components/accordion/accordion.constants.ts +5 -0
  330. package/src/components/accordion/accordion.ts +209 -0
  331. package/src/components/alert/alert.constants.ts +3 -0
  332. package/src/components/alert/alert.ts +284 -17
  333. package/src/components/avatar/avatar.ts +84 -0
  334. package/src/components/back-to-top/back-to-top.ts +140 -0
  335. package/src/components/bar-chart/bar-chart.ts +295 -0
  336. package/src/components/breadcrumb/breadcrumb.ts +2 -2
  337. package/src/components/button/button.ts +9 -8
  338. package/src/components/button-group/button-group.ts +4 -4
  339. package/src/components/calendar/calendar.ts +12 -9
  340. package/src/components/chart/chart-base.ts +275 -0
  341. package/src/components/chart/chart.utils.ts +140 -0
  342. package/src/components/code-block/code-block.ts +35 -24
  343. package/src/components/consent/consent.ts +312 -0
  344. package/src/components/consent/consent.utils.ts +110 -0
  345. package/src/components/contact/contact.ts +83 -0
  346. package/src/components/container/container.ts +60 -0
  347. package/src/components/content-card/content-card.ts +4 -4
  348. package/src/components/context-menu/context-menu.ts +426 -0
  349. package/src/components/cron-builder/cron-builder.ts +21 -18
  350. package/src/components/cta/cta.ts +64 -0
  351. package/src/components/drawer/drawer.ts +6 -6
  352. package/src/components/faq/faq-item.ts +110 -0
  353. package/src/components/faq/faq.ts +40 -0
  354. package/src/components/feature-grid/feature-grid.ts +52 -0
  355. package/src/components/feature-grid/feature.ts +84 -0
  356. package/src/components/field/field.ts +2 -2
  357. package/src/components/footer/footer.ts +4 -4
  358. package/src/components/form/form-reset.ts +45 -0
  359. package/src/components/form/form.ts +17 -3
  360. package/src/components/grid/grid.ts +73 -4
  361. package/src/components/heat-map/heat-map.ts +292 -0
  362. package/src/components/hero/hero.ts +132 -0
  363. package/src/components/icon/icon-paths.ts +92 -1
  364. package/src/components/icon/icon.ts +8 -1
  365. package/src/components/image/image.ts +165 -0
  366. package/src/components/input/input.ts +4 -4
  367. package/src/components/lazy/lazy.ts +94 -0
  368. package/src/components/line-chart/line-chart.ts +271 -0
  369. package/src/components/list/list-item.ts +225 -0
  370. package/src/components/list/list.ts +157 -0
  371. package/src/components/logo-cloud/logo-cloud.ts +65 -0
  372. package/src/components/modal/modal.ts +37 -11
  373. package/src/components/page-layout/page-layout.ts +8 -8
  374. package/src/components/pagination/pagination.ts +120 -0
  375. package/src/components/pagination/pagination.utils.ts +14 -0
  376. package/src/components/pie-chart/pie-chart.ts +230 -0
  377. package/src/components/pin-input/pin-input.ts +4 -4
  378. package/src/components/popover/popover.ts +1 -3
  379. package/src/components/post-list/post-card.ts +18 -0
  380. package/src/components/post-list/post-list.ts +19 -0
  381. package/src/components/pricing/pricing-tier.ts +132 -0
  382. package/src/components/pricing/pricing.ts +39 -0
  383. package/src/components/progress/progress.ts +95 -0
  384. package/src/components/project-grid/project-card.ts +19 -0
  385. package/src/components/project-grid/project-grid.ts +19 -0
  386. package/src/components/radio/radio.ts +1 -1
  387. package/src/components/reveal/reveal.constants.ts +20 -0
  388. package/src/components/reveal/reveal.ts +344 -0
  389. package/src/components/scroll-progress/scroll-progress.ts +119 -0
  390. package/src/components/section/card-row.ts +152 -0
  391. package/src/components/section/card.ts +197 -0
  392. package/src/components/section/row-item.ts +38 -0
  393. package/src/components/section/section.ts +232 -0
  394. package/src/components/select/select.ts +3 -3
  395. package/src/components/series-nav/series-nav.ts +164 -0
  396. package/src/components/site-header/site-header.ts +276 -0
  397. package/src/components/skeleton/skeleton.ts +7 -7
  398. package/src/components/sparkline/sparkline.ts +83 -0
  399. package/src/components/spinner/spinner.ts +55 -0
  400. package/src/components/split/split.ts +106 -0
  401. package/src/components/stack/stack.ts +88 -0
  402. package/src/components/stat-card/stat-card.ts +179 -0
  403. package/src/components/stats/stat.ts +49 -0
  404. package/src/components/stats/stats.ts +47 -0
  405. package/src/components/switch/switch.ts +2 -2
  406. package/src/components/table/data-table.ts +1015 -425
  407. package/src/components/table/data-table.utils.ts +276 -0
  408. package/src/components/table/table.ts +168 -38
  409. package/src/components/team/person.ts +113 -0
  410. package/src/components/team/team.ts +37 -0
  411. package/src/components/testimonials/testimonial.ts +108 -0
  412. package/src/components/testimonials/testimonials.ts +37 -0
  413. package/src/components/textarea/textarea.ts +3 -3
  414. package/src/components/theme-toggle/theme-toggle.ts +1 -1
  415. package/src/components/time-picker/time-picker.ts +3 -3
  416. package/src/components/timeline/timeline-item.ts +100 -0
  417. package/src/components/timeline/timeline.ts +31 -0
  418. package/src/components/toast/toast.ts +153 -0
  419. package/src/components/toggle-group/toggle-button.ts +9 -4
  420. package/src/components/toggle-group/toggle-group.ts +4 -4
  421. package/src/components/tooltip/tooltip.ts +21 -21
  422. package/src/components/vertical-nav/vertical-nav-group.ts +3 -3
  423. package/src/components/vertical-nav/vertical-nav-item.ts +4 -4
  424. package/src/components/video-embed/video-embed.ts +162 -0
  425. package/src/index.ts +108 -0
  426. package/src/styles/globals.css +63 -0
  427. package/src/styles/index.css +3 -1
  428. package/src/styles/prose.css +154 -0
  429. package/src/styles/reset.ts +5 -0
  430. package/src/styles/theme.css +53 -1
  431. package/src/styles/typography.css +1 -0
@@ -0,0 +1,120 @@
1
+ import {LitElement, html, css} from "lit";
2
+ import {customElement, property} from "lit/decorators.js";
3
+ import {resetStyles} from "../../styles/reset.js";
4
+ import {buildPages} from "./pagination.utils.js";
5
+ import "../icon/icon.js";
6
+
7
+ @customElement("st-pagination")
8
+ export class StPagination extends LitElement {
9
+ @property({type: Number, reflect: true}) page = 1;
10
+ @property({type: Number, attribute: "total-pages"}) totalPages = 1;
11
+
12
+ static styles = [
13
+ resetStyles,
14
+ css`
15
+ :host {
16
+ display: block;
17
+ }
18
+ ul {
19
+ display: flex;
20
+ flex-wrap: wrap;
21
+ gap: 0.25rem;
22
+ list-style: none;
23
+ align-items: center;
24
+ }
25
+ button {
26
+ min-width: 2.25rem;
27
+ height: 2.25rem;
28
+ padding: 0 0.5rem;
29
+ display: inline-flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ border: 1px solid var(--st-color-border);
33
+ border-radius: 0.5rem;
34
+ background: var(--st-color-surface);
35
+ color: var(--st-color-text);
36
+ cursor: pointer;
37
+ }
38
+ button:hover:not(:disabled):not([aria-current="page"]) {
39
+ background: var(--st-color-surface-hover);
40
+ }
41
+ button:focus-visible {
42
+ outline: 2px solid var(--st-color-primary);
43
+ outline-offset: 2px;
44
+ }
45
+ button[aria-current="page"] {
46
+ background: var(--st-color-primary);
47
+ border-color: var(--st-color-primary);
48
+ color: var(--st-color-on-primary);
49
+ cursor: default;
50
+ }
51
+ button:disabled {
52
+ opacity: 0.5;
53
+ cursor: not-allowed;
54
+ }
55
+ .gap {
56
+ padding: 0 0.25rem;
57
+ color: var(--st-color-text-muted);
58
+ }
59
+ `,
60
+ ];
61
+
62
+ private _go(page: number) {
63
+ const next = Math.min(Math.max(page, 1), this.totalPages);
64
+ if (next === this.page) return;
65
+ this.page = next;
66
+ this.dispatchEvent(
67
+ new CustomEvent("st-page-change", {detail: {page: next}, bubbles: true, composed: true}),
68
+ );
69
+ }
70
+
71
+ render() {
72
+ const pages = buildPages(this.page, this.totalPages);
73
+ return html`
74
+ <nav aria-label="Pagination">
75
+ <ul>
76
+ <li>
77
+ <button
78
+ type="button"
79
+ aria-label="Previous page"
80
+ ?disabled=${this.page <= 1}
81
+ @click=${() => this._go(this.page - 1)}
82
+ >
83
+ <st-icon name="angle-left" size="sm" aria-hidden="true"></st-icon>
84
+ </button>
85
+ </li>
86
+ ${pages.map((p) =>
87
+ p === "…"
88
+ ? html`<li class="gap" aria-hidden="true">…</li>`
89
+ : html`<li>
90
+ <button
91
+ type="button"
92
+ aria-label="Page ${p}"
93
+ aria-current=${p === this.page ? "page" : "false"}
94
+ @click=${() => this._go(p)}
95
+ >
96
+ ${p}
97
+ </button>
98
+ </li>`,
99
+ )}
100
+ <li>
101
+ <button
102
+ type="button"
103
+ aria-label="Next page"
104
+ ?disabled=${this.page >= this.totalPages}
105
+ @click=${() => this._go(this.page + 1)}
106
+ >
107
+ <st-icon name="angle-right" size="sm" aria-hidden="true"></st-icon>
108
+ </button>
109
+ </li>
110
+ </ul>
111
+ </nav>
112
+ `;
113
+ }
114
+ }
115
+
116
+ declare global {
117
+ interface HTMLElementTagNameMap {
118
+ "st-pagination": StPagination;
119
+ }
120
+ }
@@ -0,0 +1,14 @@
1
+ /** Builds the visible page list, e.g. [1, "…", 4, 5, 6, "…", 12]. */
2
+ export function buildPages(current: number, total: number, siblings = 1): (number | "…")[] {
3
+ if (total <= 0) return [];
4
+ const range = (a: number, b: number) => Array.from({length: b - a + 1}, (_, i) => a + i);
5
+ if (total <= siblings * 2 + 5) return range(1, total);
6
+ const left = Math.max(current - siblings, 2);
7
+ const right = Math.min(current + siblings, total - 1);
8
+ const pages: (number | "…")[] = [1];
9
+ if (left > 2) pages.push("…");
10
+ pages.push(...range(left, right));
11
+ if (right < total - 1) pages.push("…");
12
+ pages.push(total);
13
+ return pages;
14
+ }
@@ -0,0 +1,230 @@
1
+ import {html, css, svg, nothing} from "lit";
2
+ import {customElement, property, state} from "lit/decorators.js";
3
+ import {resetStyles} from "../../styles/reset.js";
4
+ import {StChartBase} from "../chart/chart-base.js";
5
+ import {arcPath, chartColor, polar, stepIndex} from "../chart/chart.utils.js";
6
+
7
+ export interface PieDatum {
8
+ label: string;
9
+ value: number;
10
+ color?: string;
11
+ }
12
+
13
+ /** Pie chart, or donut with `donut`. Slices are hoverable, selectable and keyboard navigable. */
14
+ @customElement("st-pie-chart")
15
+ export class StPieChart extends StChartBase {
16
+ @property({type: Array}) data: PieDatum[] = [];
17
+ @property({type: Boolean}) donut = false;
18
+ /** Donut label shown above the total, e.g. "Total". */
19
+ @property({type: String, attribute: "center-label"}) centerLabel = "Total";
20
+ /** Index of the selected slice, or null. */
21
+ @property({type: Number, reflect: true}) selected: number | null = null;
22
+
23
+ @state() private _active: number | null = null;
24
+ @state() private _hidden = new Set<number>();
25
+
26
+ static styles = [
27
+ resetStyles,
28
+ StChartBase.baseStyles,
29
+ css`
30
+ .slice {
31
+ stroke: var(--st-color-bg);
32
+ stroke-width: 2;
33
+ cursor: default;
34
+ }
35
+ :host([selectable]) .slice {
36
+ cursor: pointer;
37
+ }
38
+ .slice.dim {
39
+ opacity: 0.5;
40
+ }
41
+ .center-value {
42
+ fill: var(--st-color-text);
43
+ font-size: var(--st-font-size-2xl);
44
+ font-weight: var(--st-font-weight-bold);
45
+ }
46
+ .center-label {
47
+ fill: var(--st-color-text-muted);
48
+ font-size: var(--st-font-size-xs);
49
+ }
50
+ `,
51
+ ];
52
+
53
+ private get _slices() {
54
+ const visible = this.data
55
+ .map((d, i) => ({d, i}))
56
+ .filter(({d, i}) => !this._hidden.has(i) && d.value > 0);
57
+ const total = visible.reduce((sum, {d}) => sum + d.value, 0);
58
+ let angle = 0;
59
+ return {
60
+ total,
61
+ slices: visible.map(({d, i}) => {
62
+ const start = angle;
63
+ angle += total ? (d.value / total) * Math.PI * 2 : 0;
64
+ return {...d, index: i, start, end: angle, percent: total ? (d.value / total) * 100 : 0};
65
+ }),
66
+ };
67
+ }
68
+
69
+ private _describe(index: number) {
70
+ const {total} = this._slices;
71
+ const d = this.data[index];
72
+ return {
73
+ index,
74
+ label: d.label,
75
+ value: d.value,
76
+ percent: total ? (d.value / total) * 100 : 0,
77
+ };
78
+ }
79
+
80
+ private _setActive(index: number | null) {
81
+ if (index === this._active) return;
82
+ this._active = index;
83
+ if (index === null) {
84
+ this.hideTooltip();
85
+ this.emit("st-chart-leave", {});
86
+ return;
87
+ }
88
+ const d = this._describe(index);
89
+ const slice = this._slices.slices.find((s) => s.index === index)!;
90
+ const r = this._radius();
91
+ const [x, y] = polar(this._width / 2, this.height / 2, r, (slice.start + slice.end) / 2);
92
+ const percent = `${d.percent.toFixed(1)}%`;
93
+ this.showTooltip(
94
+ {
95
+ x,
96
+ y,
97
+ title: d.label,
98
+ rows: [{label: percent, value: this.fmt(d.value), color: chartColor(index, this.data[index].color)}],
99
+ },
100
+ `${d.label}: ${this.fmt(d.value)}, ${percent}`,
101
+ );
102
+ this.emit("st-chart-hover", d);
103
+ }
104
+
105
+ private _select(index: number) {
106
+ if (!this.selectable) return;
107
+ this.selected = this.selected === index ? null : index;
108
+ this.emit("st-chart-select", {...this._describe(index), selected: this.selected === index});
109
+ }
110
+
111
+ private _radius() {
112
+ return Math.max(Math.min(this._width, this.height) / 2 - 12, 10);
113
+ }
114
+
115
+ private _onKeydown(e: KeyboardEvent) {
116
+ if (e.key === "Escape") return this._setActive(null);
117
+ if ((e.key === "Enter" || e.key === " ") && this._active !== null) {
118
+ e.preventDefault();
119
+ return this._select(this._active);
120
+ }
121
+ const order = this._slices.slices.map((s) => s.index);
122
+ const pos = this._active === null ? null : order.indexOf(this._active);
123
+ const next = stepIndex(e.key, pos === -1 ? null : pos, order.length);
124
+ if (next !== null) {
125
+ e.preventDefault();
126
+ this._setActive(order[next]);
127
+ }
128
+ }
129
+
130
+ private _toggleSlice(index: number) {
131
+ const hidden = new Set(this._hidden);
132
+ if (hidden.has(index)) hidden.delete(index);
133
+ else hidden.add(index);
134
+ this._hidden = hidden;
135
+ this._active = null;
136
+ this.hideTooltip();
137
+ this.emit("st-chart-legend-toggle", {
138
+ name: this.data[index].label,
139
+ index,
140
+ hidden: hidden.has(index),
141
+ });
142
+ }
143
+
144
+ private _renderPlot() {
145
+ const {total, slices} = this._slices;
146
+ const cx = this._width / 2;
147
+ const cy = this.height / 2;
148
+ const r = this._radius();
149
+ const inner = this.donut ? r * 0.6 : 0;
150
+ const emphasis = this._active ?? this.selected;
151
+ return svg`
152
+ <svg width=${this._width} height=${this.height} aria-hidden="true">
153
+ ${slices.map((s) => {
154
+ const [dx, dy] =
155
+ s.index === this.selected
156
+ ? polar(0, 0, 6, (s.start + s.end) / 2)
157
+ : [0, 0];
158
+ const dim = emphasis !== null && emphasis !== s.index ? "dim" : "";
159
+ return svg`
160
+ <path
161
+ class="slice animate ${dim}"
162
+ d=${arcPath(cx, cy, r, inner, s.start, s.end)}
163
+ transform="translate(${dx} ${dy})"
164
+ style="fill:${chartColor(s.index, s.color)}"
165
+ @pointerenter=${() => this._setActive(s.index)}
166
+ @pointerleave=${() => this._setActive(null)}
167
+ @click=${() => this._select(s.index)}
168
+ ></path>
169
+ `;
170
+ })}
171
+ ${this.donut
172
+ ? svg`
173
+ <text class="center-value" x=${cx} y=${cy + 4} text-anchor="middle">${this.fmtAxis(total)}</text>
174
+ <text class="center-label" x=${cx} y=${cy + 22} text-anchor="middle">${this.centerLabel}</text>
175
+ `
176
+ : nothing}
177
+ </svg>
178
+ `;
179
+ }
180
+
181
+ render() {
182
+ const total = this.data.reduce((sum, d) => sum + d.value, 0);
183
+ return html`
184
+ <div class="chart">
185
+ ${this._width > 0
186
+ ? html`
187
+ <div
188
+ class="plot"
189
+ tabindex="0"
190
+ role="group"
191
+ aria-roledescription=${this.donut ? "donut chart" : "pie chart"}
192
+ aria-label=${this.label || (this.donut ? "Donut chart" : "Pie chart")}
193
+ @keydown=${this._onKeydown}
194
+ @focus=${() => {
195
+ const first = this._slices.slices[0];
196
+ if (this._active === null && first) this._setActive(first.index);
197
+ }}
198
+ @blur=${() => this._setActive(null)}
199
+ >
200
+ ${this._renderPlot()} ${this.renderTooltip()}
201
+ </div>
202
+ `
203
+ : nothing}
204
+ ${this.renderLegend(
205
+ this.data.map((d, i) => ({
206
+ name: d.label,
207
+ color: chartColor(i, d.color),
208
+ hidden: this._hidden.has(i),
209
+ })),
210
+ (i) => this._toggleSlice(i),
211
+ )}
212
+ ${this.renderLiveRegion()}
213
+ ${this.renderDataTable(
214
+ ["Category", "Value", "Share"],
215
+ this.data.map((d) => [
216
+ d.label,
217
+ this.fmt(d.value),
218
+ total ? `${((d.value / total) * 100).toFixed(1)}%` : "0%",
219
+ ]),
220
+ )}
221
+ </div>
222
+ `;
223
+ }
224
+ }
225
+
226
+ declare global {
227
+ interface HTMLElementTagNameMap {
228
+ "st-pie-chart": StPieChart;
229
+ }
230
+ }
@@ -73,24 +73,24 @@ export class StPinInput extends LitElement {
73
73
  .pin-box:focus {
74
74
  outline: none;
75
75
  border-color: var(--st-color-primary);
76
- box-shadow: 0 0 0 2px var(--st-color-primary-muted, rgba(59, 130, 246, 0.25));
76
+ box-shadow: 0 0 0 2px var(--st-color-primary-muted);
77
77
  }
78
78
 
79
79
  .pin-box:disabled {
80
- background: var(--st-color-surface-muted, #f1f5f9);
80
+ background: var(--st-color-surface-muted);
81
81
  color: var(--st-color-text-muted);
82
82
  cursor: not-allowed;
83
83
  }
84
84
 
85
85
  .is-invalid .pin-box {
86
- border-color: var(--st-color-danger, #dc2626);
86
+ border-color: var(--st-color-danger);
87
87
  }
88
88
 
89
89
  .error-msg {
90
90
  display: block;
91
91
  margin-top: var(--st-spacing-xs);
92
92
  font-size: var(--st-font-size-xs);
93
- color: var(--st-color-danger, #dc2626);
93
+ color: var(--st-color-danger);
94
94
  }
95
95
  `,
96
96
  ];
@@ -45,9 +45,7 @@ export class StPopover extends LitElement {
45
45
  background: var(--st-color-surface);
46
46
  border: 1px solid var(--st-color-border);
47
47
  border-radius: var(--st-radius-md);
48
- box-shadow:
49
- 0 10px 15px -3px rgba(0, 0, 0, 0.1),
50
- 0 4px 6px -2px rgba(0, 0, 0, 0.05);
48
+ box-shadow: var(--st-shadow-lg);
51
49
  padding: var(--st-spacing-md);
52
50
  color: var(--st-color-text);
53
51
 
@@ -0,0 +1,18 @@
1
+ import {customElement} from "lit/decorators.js";
2
+ import {StCard} from "../section/card.js";
3
+
4
+ /**
5
+ * One blog post in a `st-post-list`: a picture, the date and reading time, a title linking to the
6
+ * post, and an excerpt.
7
+ *
8
+ * Slots: `image`, `meta` (date, reading time, tags), `title` (a heading containing the link),
9
+ * the default slot (the excerpt) and `footer`. Set `tags` (comma separated) for the list's filter.
10
+ */
11
+ @customElement("st-post-card")
12
+ export class StPostCard extends StCard {}
13
+
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ "st-post-card": StPostCard;
17
+ }
18
+ }
@@ -0,0 +1,19 @@
1
+ import {customElement} from "lit/decorators.js";
2
+ import {StCardRow} from "../section/card-row.js";
3
+ import "./post-card.js";
4
+
5
+ /**
6
+ * A row listing blog posts as `st-post-card` items, in a grid or one per row (`layout="list"`),
7
+ * optionally filtered by topic (`filterable`).
8
+ *
9
+ * Slots: `eyebrow`, `title`, `lead` and the default slot for the `st-post-card` items.
10
+ * Events: `st-filter` `{tag, count}` when a topic is chosen.
11
+ */
12
+ @customElement("st-post-list")
13
+ export class StPostList extends StCardRow {}
14
+
15
+ declare global {
16
+ interface HTMLElementTagNameMap {
17
+ "st-post-list": StPostList;
18
+ }
19
+ }
@@ -0,0 +1,132 @@
1
+ import {html, css, nothing} from "lit";
2
+ import {customElement, property, state} from "lit/decorators.js";
3
+ import {resetStyles} from "../../styles/reset.js";
4
+ import {StRowItem} from "../section/row-item.js";
5
+
6
+ /**
7
+ * One plan inside `st-pricing`: a name, a price, what is included and a button.
8
+ *
9
+ * Slots: `title` (the plan name, a real heading such as `<h3>`), `price` (such as `£29`), `period`
10
+ * (such as `per month`), the default slot (a short description, then a `<ul>` of what is included,
11
+ * which is marked with ticks) and `action` (the button).
12
+ */
13
+ @customElement("st-pricing-tier")
14
+ export class StPricingTier extends StRowItem {
15
+ /** Highlights the plan as the recommended one. */
16
+ @property({type: Boolean, reflect: true}) featured = false;
17
+ /** Label shown on the featured plan. */
18
+ @property({type: String, attribute: "featured-label"}) featuredLabel = "Most popular";
19
+
20
+ @state() private _hasAction = false;
21
+
22
+ static styles = [
23
+ resetStyles,
24
+ css`
25
+ :host {
26
+ display: block;
27
+ }
28
+
29
+ .tier {
30
+ position: relative;
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: var(--st-spacing-md);
34
+ height: 100%;
35
+ padding: var(--st-spacing-xl) var(--st-spacing-lg);
36
+ border: 1px solid var(--st-color-border);
37
+ border-radius: var(--st-radius-lg);
38
+ background: var(--st-row-card-bg, var(--st-color-surface));
39
+ }
40
+
41
+ :host([featured]) .tier {
42
+ border: 2px solid var(--st-color-primary);
43
+ box-shadow: var(--st-shadow-lg);
44
+ }
45
+
46
+ .badge {
47
+ position: absolute;
48
+ top: 0;
49
+ left: 50%;
50
+ padding: var(--st-spacing-xs) var(--st-spacing-md);
51
+ border-radius: 999px;
52
+ background: var(--st-color-primary);
53
+ color: var(--st-color-bg);
54
+ font-size: var(--st-font-size-sm);
55
+ font-weight: var(--st-font-weight-bold);
56
+ white-space: nowrap;
57
+ transform: translate(-50%, -50%);
58
+ }
59
+
60
+ ::slotted([slot="title"]) {
61
+ margin: 0 !important;
62
+ font-size: var(--st-font-size-xl) !important;
63
+ }
64
+
65
+ .price {
66
+ display: flex;
67
+ flex-wrap: wrap;
68
+ align-items: baseline;
69
+ gap: var(--st-spacing-sm);
70
+ }
71
+
72
+ ::slotted([slot="price"]) {
73
+ font-size: clamp(2rem, 5vw, 2.75rem);
74
+ font-weight: var(--st-font-weight-bold);
75
+ line-height: 1;
76
+ }
77
+
78
+ ::slotted([slot="period"]) {
79
+ color: var(--st-color-text-muted);
80
+ }
81
+
82
+ .body {
83
+ flex: 1;
84
+ color: var(--st-color-text-muted);
85
+ }
86
+
87
+ .body ::slotted(p) {
88
+ margin: 0 0 var(--st-spacing-md);
89
+ }
90
+
91
+ /* A string marker is inherited by the list items, so the ticks need no extra markup. */
92
+ .body ::slotted(ul) {
93
+ margin: 0;
94
+ padding-left: var(--st-spacing-lg);
95
+ list-style: "\\2713 ";
96
+ color: var(--st-color-text);
97
+ }
98
+
99
+ .action[hidden] {
100
+ display: none;
101
+ }
102
+
103
+ .action ::slotted(*) {
104
+ display: block;
105
+ width: 100%;
106
+ }
107
+ `,
108
+ ];
109
+
110
+ render() {
111
+ return this.frame(html`
112
+ <div class="tier">
113
+ ${this.featured ? html`<span class="badge">${this.featuredLabel}</span>` : nothing}
114
+ <slot name="title"></slot>
115
+ <div class="price"><slot name="price"></slot><slot name="period"></slot></div>
116
+ <div class="body"><slot></slot></div>
117
+ <div class="action" ?hidden=${!this._hasAction}>
118
+ <slot
119
+ name="action"
120
+ @slotchange=${(e: Event) => (this._hasAction = (e.target as HTMLSlotElement).assignedNodes().length > 0)}
121
+ ></slot>
122
+ </div>
123
+ </div>
124
+ `);
125
+ }
126
+ }
127
+
128
+ declare global {
129
+ interface HTMLElementTagNameMap {
130
+ "st-pricing-tier": StPricingTier;
131
+ }
132
+ }
@@ -0,0 +1,39 @@
1
+ import {html, css} from "lit";
2
+ import {customElement} from "lit/decorators.js";
3
+ import {StSection} from "../section/section.js";
4
+ import "./pricing-tier.js";
5
+
6
+ /**
7
+ * A row of plans side by side as `st-pricing-tier` cards. They wrap on narrow screens, and one
8
+ * can be marked `featured`.
9
+ *
10
+ * Slots: `eyebrow`, `title`, `lead` and the default slot for the `st-pricing-tier` items.
11
+ */
12
+ @customElement("st-pricing")
13
+ export class StPricing extends StSection {
14
+ static styles = [
15
+ ...StSection.styles,
16
+ css`
17
+ .items {
18
+ display: grid;
19
+ gap: var(--st-spacing-lg);
20
+ padding-top: var(--st-spacing-md);
21
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
22
+ align-items: stretch;
23
+ }
24
+ `,
25
+ ];
26
+
27
+ render() {
28
+ return this.frame(
29
+ html`<div class="items"><slot @slotchange=${this._onItemsChange}></slot></div>`,
30
+ {animated: false},
31
+ );
32
+ }
33
+ }
34
+
35
+ declare global {
36
+ interface HTMLElementTagNameMap {
37
+ "st-pricing": StPricing;
38
+ }
39
+ }