@540deg/ds 0.0.0-stage → 0.1.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 (350) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +13 -0
  3. package/README.md +207 -2
  4. package/dist/assets/samples/captura.js +4 -0
  5. package/dist/assets/samples/charla-david.js +4 -0
  6. package/dist/assets/samples/charla-escultura.js +4 -0
  7. package/dist/assets/samples/charla-fachada.js +4 -0
  8. package/dist/assets/samples/charla-pintura.js +4 -0
  9. package/dist/assets/samples/charla-placa.js +4 -0
  10. package/dist/assets/samples/charla-teclado.js +4 -0
  11. package/dist/assets/samples/logo-540-claro.js +4 -0
  12. package/dist/assets/samples/logo-540-portada-claro.js +4 -0
  13. package/dist/assets/samples/logo-540-portada-oscuro.js +4 -0
  14. package/dist/assets/samples/logos/cliente-1.js +4 -0
  15. package/dist/assets/samples/logos/cliente-2.js +4 -0
  16. package/dist/assets/samples/logos/cliente-3.js +4 -0
  17. package/dist/assets/samples/logos/cliente-4.js +4 -0
  18. package/dist/assets/samples/logos/cliente-5.js +4 -0
  19. package/dist/assets/samples/logos/cliente-6.js +4 -0
  20. package/dist/assets/samples/logos/cliente-7.js +4 -0
  21. package/dist/assets/samples/logos/cliente-8.js +4 -0
  22. package/dist/assets/samples/logos/cliente-9.js +4 -0
  23. package/dist/assets/samples/retrato.js +4 -0
  24. package/dist/components/atoms/Bullets/Bullets.d.ts +6 -0
  25. package/dist/components/atoms/Bullets/Bullets.js +34 -0
  26. package/dist/components/atoms/Bullets/Bullets.module.js +13 -0
  27. package/dist/components/atoms/Bullets/index.d.ts +3 -0
  28. package/dist/components/atoms/Bullets/types.d.ts +23 -0
  29. package/dist/components/atoms/Bullets/types.js +9 -0
  30. package/dist/components/atoms/Button/Button.d.ts +6 -0
  31. package/dist/components/atoms/Button/Button.js +46 -0
  32. package/dist/components/atoms/Button/Button.module.js +24 -0
  33. package/dist/components/atoms/Button/index.d.ts +3 -0
  34. package/dist/components/atoms/Button/types.d.ts +38 -0
  35. package/dist/components/atoms/Button/types.js +14 -0
  36. package/dist/components/atoms/Count/Count.d.ts +6 -0
  37. package/dist/components/atoms/Count/Count.js +51 -0
  38. package/dist/components/atoms/Count/Count.module.js +9 -0
  39. package/dist/components/atoms/Count/index.d.ts +3 -0
  40. package/dist/components/atoms/Count/types.d.ts +17 -0
  41. package/dist/components/atoms/Count/types.js +8 -0
  42. package/dist/components/atoms/Image/Image.d.ts +6 -0
  43. package/dist/components/atoms/Image/Image.js +30 -0
  44. package/dist/components/atoms/Image/Image.module.js +11 -0
  45. package/dist/components/atoms/Image/index.d.ts +3 -0
  46. package/dist/components/atoms/Image/types.d.ts +16 -0
  47. package/dist/components/atoms/Image/types.js +13 -0
  48. package/dist/components/atoms/Logo/Logo.d.ts +6 -0
  49. package/dist/components/atoms/Logo/Logo.js +32 -0
  50. package/dist/components/atoms/Logo/Logo.module.js +10 -0
  51. package/dist/components/atoms/Logo/index.d.ts +3 -0
  52. package/dist/components/atoms/Logo/paths.d.ts +2 -0
  53. package/dist/components/atoms/Logo/paths.js +11 -0
  54. package/dist/components/atoms/Logo/types.d.ts +14 -0
  55. package/dist/components/atoms/Logo/types.js +12 -0
  56. package/dist/components/atoms/MenuItem/MenuItem.d.ts +6 -0
  57. package/dist/components/atoms/MenuItem/MenuItem.js +28 -0
  58. package/dist/components/atoms/MenuItem/MenuItem.module.js +19 -0
  59. package/dist/components/atoms/MenuItem/index.d.ts +3 -0
  60. package/dist/components/atoms/MenuItem/types.d.ts +18 -0
  61. package/dist/components/atoms/MenuItem/types.js +8 -0
  62. package/dist/components/atoms/SocialIcon/SocialIcon.d.ts +6 -0
  63. package/dist/components/atoms/SocialIcon/SocialIcon.js +26 -0
  64. package/dist/components/atoms/SocialIcon/SocialIcon.module.js +9 -0
  65. package/dist/components/atoms/SocialIcon/index.d.ts +3 -0
  66. package/dist/components/atoms/SocialIcon/paths.d.ts +7 -0
  67. package/dist/components/atoms/SocialIcon/paths.js +10 -0
  68. package/dist/components/atoms/SocialIcon/types.d.ts +15 -0
  69. package/dist/components/atoms/SocialIcon/types.js +11 -0
  70. package/dist/components/atoms/Text/Text.d.ts +6 -0
  71. package/dist/components/atoms/Text/Text.js +28 -0
  72. package/dist/components/atoms/Text/Text.module.js +32 -0
  73. package/dist/components/atoms/Text/index.d.ts +3 -0
  74. package/dist/components/atoms/Text/types.d.ts +39 -0
  75. package/dist/components/atoms/Text/types.js +54 -0
  76. package/dist/components/atoms/ThemeToggle/ThemeToggle.d.ts +6 -0
  77. package/dist/components/atoms/ThemeToggle/ThemeToggle.js +30 -0
  78. package/dist/components/atoms/ThemeToggle/ThemeToggle.module.js +17 -0
  79. package/dist/components/atoms/ThemeToggle/index.d.ts +3 -0
  80. package/dist/components/atoms/ThemeToggle/types.d.ts +13 -0
  81. package/dist/components/atoms/ThemeToggle/types.js +4 -0
  82. package/dist/components/molecules/Card/Card.d.ts +6 -0
  83. package/dist/components/molecules/Card/Card.js +82 -0
  84. package/dist/components/molecules/Card/Card.module.js +33 -0
  85. package/dist/components/molecules/Card/index.d.ts +3 -0
  86. package/dist/components/molecules/Card/types.d.ts +48 -0
  87. package/dist/components/molecules/Card/types.js +17 -0
  88. package/dist/components/molecules/Carousel/Carousel.d.ts +5 -0
  89. package/dist/components/molecules/Carousel/Carousel.js +148 -0
  90. package/dist/components/molecules/Carousel/Carousel.module.js +29 -0
  91. package/dist/components/molecules/Carousel/index.d.ts +3 -0
  92. package/dist/components/molecules/Carousel/types.d.ts +24 -0
  93. package/dist/components/molecules/Carousel/types.js +12 -0
  94. package/dist/components/molecules/CaseItem/CaseItem.d.ts +6 -0
  95. package/dist/components/molecules/CaseItem/CaseItem.js +54 -0
  96. package/dist/components/molecules/CaseItem/CaseItem.module.js +19 -0
  97. package/dist/components/molecules/CaseItem/index.d.ts +3 -0
  98. package/dist/components/molecules/CaseItem/types.d.ts +20 -0
  99. package/dist/components/molecules/CaseItem/types.js +7 -0
  100. package/dist/components/molecules/Dialog/Dialog.d.ts +6 -0
  101. package/dist/components/molecules/Dialog/Dialog.js +81 -0
  102. package/dist/components/molecules/Dialog/Dialog.module.js +19 -0
  103. package/dist/components/molecules/Dialog/index.d.ts +2 -0
  104. package/dist/components/molecules/Dialog/types.d.ts +22 -0
  105. package/dist/components/molecules/Field/Field.d.ts +6 -0
  106. package/dist/components/molecules/Field/Field.js +47 -0
  107. package/dist/components/molecules/Field/Field.module.js +15 -0
  108. package/dist/components/molecules/Field/index.d.ts +3 -0
  109. package/dist/components/molecules/Field/types.d.ts +24 -0
  110. package/dist/components/molecules/Field/types.js +5 -0
  111. package/dist/components/molecules/Footer/Footer.d.ts +6 -0
  112. package/dist/components/molecules/Footer/Footer.js +102 -0
  113. package/dist/components/molecules/Footer/Footer.module.js +33 -0
  114. package/dist/components/molecules/Footer/index.d.ts +3 -0
  115. package/dist/components/molecules/Footer/types.d.ts +46 -0
  116. package/dist/components/molecules/Footer/types.js +8 -0
  117. package/dist/components/molecules/Grid/Grid.d.ts +5 -0
  118. package/dist/components/molecules/Grid/Grid.js +32 -0
  119. package/dist/components/molecules/Grid/Grid.module.js +29 -0
  120. package/dist/components/molecules/Grid/index.d.ts +3 -0
  121. package/dist/components/molecules/Grid/types.d.ts +28 -0
  122. package/dist/components/molecules/Grid/types.js +14 -0
  123. package/dist/components/molecules/Lists/Lists.d.ts +7 -0
  124. package/dist/components/molecules/Lists/Lists.js +54 -0
  125. package/dist/components/molecules/Lists/Lists.module.js +15 -0
  126. package/dist/components/molecules/Lists/index.d.ts +2 -0
  127. package/dist/components/molecules/Lists/types.d.ts +22 -0
  128. package/dist/components/molecules/Menu/Menu.d.ts +6 -0
  129. package/dist/components/molecules/Menu/Menu.js +43 -0
  130. package/dist/components/molecules/Menu/Menu.module.js +13 -0
  131. package/dist/components/molecules/Menu/index.d.ts +3 -0
  132. package/dist/components/molecules/Menu/types.d.ts +27 -0
  133. package/dist/components/molecules/Menu/types.js +8 -0
  134. package/dist/components/molecules/Metric/Metric.d.ts +5 -0
  135. package/dist/components/molecules/Metric/Metric.js +40 -0
  136. package/dist/components/molecules/Metric/Metric.module.js +11 -0
  137. package/dist/components/molecules/Metric/index.d.ts +2 -0
  138. package/dist/components/molecules/Metric/types.d.ts +15 -0
  139. package/dist/components/molecules/NavMobile/NavMobile.d.ts +6 -0
  140. package/dist/components/molecules/NavMobile/NavMobile.js +95 -0
  141. package/dist/components/molecules/NavMobile/NavMobile.module.js +17 -0
  142. package/dist/components/molecules/NavMobile/index.d.ts +3 -0
  143. package/dist/components/molecules/NavMobile/types.d.ts +20 -0
  144. package/dist/components/molecules/NavMobile/types.js +8 -0
  145. package/dist/components/molecules/Question/Question.d.ts +3 -0
  146. package/dist/components/molecules/Question/Question.js +22 -0
  147. package/dist/components/molecules/Question/Question.module.js +5 -0
  148. package/dist/components/molecules/Question/index.d.ts +2 -0
  149. package/dist/components/molecules/Question/types.d.ts +8 -0
  150. package/dist/components/molecules/Screenshot/Screenshot.d.ts +3 -0
  151. package/dist/components/molecules/Screenshot/Screenshot.js +17 -0
  152. package/dist/components/molecules/Screenshot/Screenshot.module.js +5 -0
  153. package/dist/components/molecules/Screenshot/index.d.ts +2 -0
  154. package/dist/components/molecules/Screenshot/types.d.ts +12 -0
  155. package/dist/components/molecules/Section/Section.d.ts +6 -0
  156. package/dist/components/molecules/Section/Section.js +25 -0
  157. package/dist/components/molecules/Section/Section.module.js +11 -0
  158. package/dist/components/molecules/Section/index.d.ts +3 -0
  159. package/dist/components/molecules/Section/types.d.ts +13 -0
  160. package/dist/components/molecules/Section/types.js +5 -0
  161. package/dist/components/molecules/SectionHeader/SectionHeader.d.ts +6 -0
  162. package/dist/components/molecules/SectionHeader/SectionHeader.js +34 -0
  163. package/dist/components/molecules/SectionHeader/SectionHeader.module.js +9 -0
  164. package/dist/components/molecules/SectionHeader/index.d.ts +3 -0
  165. package/dist/components/molecules/SectionHeader/types.d.ts +22 -0
  166. package/dist/components/molecules/SectionHeader/types.js +14 -0
  167. package/dist/components/molecules/Stack/Stack.d.ts +6 -0
  168. package/dist/components/molecules/Stack/Stack.js +22 -0
  169. package/dist/components/molecules/Stack/Stack.module.js +12 -0
  170. package/dist/components/molecules/Stack/index.d.ts +3 -0
  171. package/dist/components/molecules/Stack/types.d.ts +18 -0
  172. package/dist/components/molecules/Stack/types.js +17 -0
  173. package/dist/components/molecules/TeamMember/TeamMember.d.ts +6 -0
  174. package/dist/components/molecules/TeamMember/TeamMember.js +55 -0
  175. package/dist/components/molecules/TeamMember/TeamMember.module.js +13 -0
  176. package/dist/components/molecules/TeamMember/index.d.ts +3 -0
  177. package/dist/components/molecules/TeamMember/types.d.ts +24 -0
  178. package/dist/components/molecules/TeamMember/types.js +8 -0
  179. package/dist/components/organisms/Bars/Bars.d.ts +6 -0
  180. package/dist/components/organisms/Bars/Bars.js +94 -0
  181. package/dist/components/organisms/Bars/Bars.module.js +26 -0
  182. package/dist/components/organisms/Bars/index.d.ts +3 -0
  183. package/dist/components/organisms/Bars/types.d.ts +43 -0
  184. package/dist/components/organisms/Bars/types.js +12 -0
  185. package/dist/components/organisms/Blobs/Blobs.d.ts +3 -0
  186. package/dist/components/organisms/Blobs/Blobs.js +14 -0
  187. package/dist/components/organisms/Blobs/Blobs.module.js +15 -0
  188. package/dist/components/organisms/Blobs/index.d.ts +2 -0
  189. package/dist/components/organisms/Blobs/types.d.ts +3 -0
  190. package/dist/components/organisms/BlockTitle/BlockTitle.d.ts +6 -0
  191. package/dist/components/organisms/BlockTitle/BlockTitle.js +46 -0
  192. package/dist/components/organisms/BlockTitle/BlockTitle.module.js +15 -0
  193. package/dist/components/organisms/BlockTitle/index.d.ts +2 -0
  194. package/dist/components/organisms/BlockTitle/types.d.ts +18 -0
  195. package/dist/components/organisms/CardList/CardList.d.ts +6 -0
  196. package/dist/components/organisms/CardList/CardList.js +15 -0
  197. package/dist/components/organisms/CardList/CardList.module.js +5 -0
  198. package/dist/components/organisms/CardList/index.d.ts +2 -0
  199. package/dist/components/organisms/CardList/types.d.ts +6 -0
  200. package/dist/components/organisms/Closing/Closing.d.ts +6 -0
  201. package/dist/components/organisms/Closing/Closing.js +42 -0
  202. package/dist/components/organisms/Closing/Closing.module.js +9 -0
  203. package/dist/components/organisms/Closing/index.d.ts +3 -0
  204. package/dist/components/organisms/Closing/types.d.ts +15 -0
  205. package/dist/components/organisms/Closing/types.js +4 -0
  206. package/dist/components/organisms/Cover/Cover.d.ts +6 -0
  207. package/dist/components/organisms/Cover/Cover.js +85 -0
  208. package/dist/components/organisms/Cover/Cover.module.js +21 -0
  209. package/dist/components/organisms/Cover/index.d.ts +3 -0
  210. package/dist/components/organisms/Cover/types.d.ts +33 -0
  211. package/dist/components/organisms/Cover/types.js +4 -0
  212. package/dist/components/organisms/Cycle/Cycle.d.ts +6 -0
  213. package/dist/components/organisms/Cycle/Cycle.js +79 -0
  214. package/dist/components/organisms/Cycle/Cycle.module.js +17 -0
  215. package/dist/components/organisms/Cycle/index.d.ts +3 -0
  216. package/dist/components/organisms/Cycle/types.d.ts +18 -0
  217. package/dist/components/organisms/Cycle/types.js +9 -0
  218. package/dist/components/organisms/Deck/Deck.d.ts +6 -0
  219. package/dist/components/organisms/Deck/Deck.js +159 -0
  220. package/dist/components/organisms/Deck/Deck.module.js +19 -0
  221. package/dist/components/organisms/Deck/index.d.ts +4 -0
  222. package/dist/components/organisms/Deck/types.d.ts +37 -0
  223. package/dist/components/organisms/Deck/types.js +13 -0
  224. package/dist/components/organisms/Deck/useDeckNavigation.d.ts +15 -0
  225. package/dist/components/organisms/Deck/useDeckNavigation.js +218 -0
  226. package/dist/components/organisms/DeckFooter/DeckFooter.d.ts +6 -0
  227. package/dist/components/organisms/DeckFooter/DeckFooter.js +75 -0
  228. package/dist/components/organisms/DeckFooter/DeckFooter.module.js +25 -0
  229. package/dist/components/organisms/DeckFooter/index.d.ts +3 -0
  230. package/dist/components/organisms/DeckFooter/types.d.ts +22 -0
  231. package/dist/components/organisms/DeckFooter/types.js +8 -0
  232. package/dist/components/organisms/Flow/Flow.d.ts +6 -0
  233. package/dist/components/organisms/Flow/Flow.js +26 -0
  234. package/dist/components/organisms/Flow/Flow.module.js +13 -0
  235. package/dist/components/organisms/Flow/index.d.ts +3 -0
  236. package/dist/components/organisms/Flow/types.d.ts +17 -0
  237. package/dist/components/organisms/Flow/types.js +4 -0
  238. package/dist/components/organisms/Form/Form.d.ts +6 -0
  239. package/dist/components/organisms/Form/Form.js +28 -0
  240. package/dist/components/organisms/Form/Form.module.js +13 -0
  241. package/dist/components/organisms/Form/index.d.ts +3 -0
  242. package/dist/components/organisms/Form/types.d.ts +16 -0
  243. package/dist/components/organisms/Form/types.js +8 -0
  244. package/dist/components/organisms/Heartbeat/Heartbeat.d.ts +3 -0
  245. package/dist/components/organisms/Heartbeat/Heartbeat.js +17 -0
  246. package/dist/components/organisms/Heartbeat/Heartbeat.module.js +13 -0
  247. package/dist/components/organisms/Heartbeat/index.d.ts +2 -0
  248. package/dist/components/organisms/Heartbeat/types.d.ts +3 -0
  249. package/dist/components/organisms/LogoCarousel/LogoCarousel.d.ts +6 -0
  250. package/dist/components/organisms/LogoCarousel/LogoCarousel.js +72 -0
  251. package/dist/components/organisms/LogoCarousel/LogoCarousel.module.js +13 -0
  252. package/dist/components/organisms/LogoCarousel/index.d.ts +3 -0
  253. package/dist/components/organisms/LogoCarousel/types.d.ts +18 -0
  254. package/dist/components/organisms/LogoCarousel/types.js +4 -0
  255. package/dist/components/organisms/Marquee/Marquee.d.ts +7 -0
  256. package/dist/components/organisms/Marquee/Marquee.js +57 -0
  257. package/dist/components/organisms/Marquee/Marquee.module.js +15 -0
  258. package/dist/components/organisms/Marquee/index.d.ts +3 -0
  259. package/dist/components/organisms/Marquee/types.d.ts +11 -0
  260. package/dist/components/organisms/Marquee/types.js +4 -0
  261. package/dist/components/organisms/ProgressBar/ProgressBar.d.ts +6 -0
  262. package/dist/components/organisms/ProgressBar/ProgressBar.js +56 -0
  263. package/dist/components/organisms/ProgressBar/ProgressBar.module.js +17 -0
  264. package/dist/components/organisms/ProgressBar/index.d.ts +3 -0
  265. package/dist/components/organisms/ProgressBar/types.d.ts +20 -0
  266. package/dist/components/organisms/ProgressBar/types.js +7 -0
  267. package/dist/components/organisms/Punchline/Punchline.d.ts +6 -0
  268. package/dist/components/organisms/Punchline/Punchline.js +41 -0
  269. package/dist/components/organisms/Punchline/Punchline.module.js +11 -0
  270. package/dist/components/organisms/Punchline/index.d.ts +3 -0
  271. package/dist/components/organisms/Punchline/types.d.ts +15 -0
  272. package/dist/components/organisms/Punchline/types.js +4 -0
  273. package/dist/components/organisms/Quote/Quote.d.ts +3 -0
  274. package/dist/components/organisms/Quote/Quote.js +33 -0
  275. package/dist/components/organisms/Quote/Quote.module.js +5 -0
  276. package/dist/components/organisms/Quote/index.d.ts +3 -0
  277. package/dist/components/organisms/Quote/types.d.ts +15 -0
  278. package/dist/components/organisms/Quote/types.js +4 -0
  279. package/dist/components/organisms/Schema/Schema.d.ts +54 -0
  280. package/dist/components/organisms/Schema/Schema.js +117 -0
  281. package/dist/components/organisms/Schema/Schema.module.js +87 -0
  282. package/dist/components/organisms/Schema/index.d.ts +2 -0
  283. package/dist/components/organisms/Schema/types.d.ts +32 -0
  284. package/dist/components/organisms/Share/Share.d.ts +6 -0
  285. package/dist/components/organisms/Share/Share.js +68 -0
  286. package/dist/components/organisms/Share/Share.module.js +22 -0
  287. package/dist/components/organisms/Share/index.d.ts +3 -0
  288. package/dist/components/organisms/Share/types.d.ts +24 -0
  289. package/dist/components/organisms/Share/types.js +4 -0
  290. package/dist/components/organisms/Sheet/Sheet.d.ts +2 -0
  291. package/dist/components/organisms/Sheet/Sheet.js +92 -0
  292. package/dist/components/organisms/Sheet/Sheet.module.js +15 -0
  293. package/dist/components/organisms/Sheet/index.d.ts +3 -0
  294. package/dist/components/organisms/Sheet/types.d.ts +15 -0
  295. package/dist/components/organisms/Sheet/types.js +4 -0
  296. package/dist/components/organisms/Slide/Slide.d.ts +6 -0
  297. package/dist/components/organisms/Slide/Slide.js +29 -0
  298. package/dist/components/organisms/Slide/Slide.module.js +13 -0
  299. package/dist/components/organisms/Slide/index.d.ts +3 -0
  300. package/dist/components/organisms/Slide/types.d.ts +18 -0
  301. package/dist/components/organisms/Slide/types.js +8 -0
  302. package/dist/components/organisms/Spotlight/Spotlight.d.ts +7 -0
  303. package/dist/components/organisms/Spotlight/Spotlight.js +39 -0
  304. package/dist/components/organisms/Spotlight/Spotlight.module.js +5 -0
  305. package/dist/components/organisms/Spotlight/index.d.ts +2 -0
  306. package/dist/components/organisms/Spotlight/types.d.ts +6 -0
  307. package/dist/components/organisms/Statements/Statements.d.ts +7 -0
  308. package/dist/components/organisms/Statements/Statements.js +50 -0
  309. package/dist/components/organisms/Statements/Statements.module.js +11 -0
  310. package/dist/components/organisms/Statements/index.d.ts +3 -0
  311. package/dist/components/organisms/Statements/types.d.ts +14 -0
  312. package/dist/components/organisms/Statements/types.js +7 -0
  313. package/dist/components/organisms/Steps/Steps.d.ts +15 -0
  314. package/dist/components/organisms/Steps/Steps.js +117 -0
  315. package/dist/components/organisms/Steps/Steps.module.js +13 -0
  316. package/dist/components/organisms/Steps/StepsContext.d.ts +11 -0
  317. package/dist/components/organisms/Steps/StepsContext.js +18 -0
  318. package/dist/components/organisms/Steps/index.d.ts +3 -0
  319. package/dist/components/organisms/Steps/types.d.ts +22 -0
  320. package/dist/components/organisms/Story/Story.d.ts +6 -0
  321. package/dist/components/organisms/Story/Story.js +43 -0
  322. package/dist/components/organisms/Story/Story.module.js +5 -0
  323. package/dist/components/organisms/Story/index.d.ts +3 -0
  324. package/dist/components/organisms/Story/types.d.ts +20 -0
  325. package/dist/components/organisms/Story/types.js +7 -0
  326. package/dist/components/organisms/Timeline/Timeline.d.ts +7 -0
  327. package/dist/components/organisms/Timeline/Timeline.js +67 -0
  328. package/dist/components/organisms/Timeline/Timeline.module.js +19 -0
  329. package/dist/components/organisms/Timeline/index.d.ts +3 -0
  330. package/dist/components/organisms/Timeline/types.d.ts +25 -0
  331. package/dist/components/organisms/Timeline/types.js +4 -0
  332. package/dist/components/organisms/Tools/Tools.d.ts +6 -0
  333. package/dist/components/organisms/Tools/Tools.js +47 -0
  334. package/dist/components/organisms/Tools/Tools.module.js +17 -0
  335. package/dist/components/organisms/Tools/index.d.ts +3 -0
  336. package/dist/components/organisms/Tools/types.d.ts +23 -0
  337. package/dist/components/organisms/Tools/types.js +4 -0
  338. package/dist/fonts/OFL.txt +93 -0
  339. package/dist/fonts/dm-sans-latin-opsz-normal.woff2 +0 -0
  340. package/dist/hooks/useCenterState.d.ts +9 -0
  341. package/dist/hooks/useCenterState.js +40 -0
  342. package/dist/hooks/useReveal.d.ts +7 -0
  343. package/dist/hooks/useReveal.js +34 -0
  344. package/dist/index.d.ts +54 -0
  345. package/dist/index.js +98 -0
  346. package/dist/styles.css +3441 -0
  347. package/dist/templates/TalkTemplate/TalkTemplate.d.ts +7 -0
  348. package/dist/templates/TalkTemplate/TalkTemplate.js +1392 -0
  349. package/dist/templates/TalkTemplate/index.d.ts +2 -0
  350. package/package.json +86 -4
@@ -0,0 +1,75 @@
1
+ import { Logo } from "../../atoms/Logo/Logo.js";
2
+ import { SocialIcon } from "../../atoms/SocialIcon/SocialIcon.js";
3
+ import { Text } from "../../atoms/Text/Text.js";
4
+ import DeckFooter_module_default from "./DeckFooter.module.js";
5
+ import { DECK_FOOTER_DEFAULTS } from "./types.js";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ //#region src/components/organisms/DeckFooter/DeckFooter.tsx
8
+ /**
9
+ * DeckFooter is the last stop of a talk: a full screen with the halo, the logo, the tagline,
10
+ * the networks, the thanks and the signature, all centered.
11
+ */
12
+ function DeckFooter({ tagline, networks = [], thanks = DECK_FOOTER_DEFAULTS.thanks, copyright, homeHref = DECK_FOOTER_DEFAULTS.homeHref, homeLabel = DECK_FOOTER_DEFAULTS.homeLabel, className }) {
13
+ const classes = [DeckFooter_module_default.pie, className ?? ""].filter(Boolean).join(" ");
14
+ return /* @__PURE__ */ jsxs("div", {
15
+ className: classes,
16
+ "data-deck-footer": "",
17
+ children: [/* @__PURE__ */ jsx("div", {
18
+ className: DeckFooter_module_default.halo,
19
+ "aria-hidden": "true"
20
+ }), /* @__PURE__ */ jsx("div", {
21
+ className: DeckFooter_module_default.column,
22
+ children: /* @__PURE__ */ jsxs("footer", {
23
+ className: DeckFooter_module_default.footer,
24
+ children: [
25
+ /* @__PURE__ */ jsxs("div", {
26
+ className: DeckFooter_module_default.brand,
27
+ children: [/* @__PURE__ */ jsx("a", {
28
+ className: DeckFooter_module_default.home,
29
+ href: homeHref,
30
+ "aria-label": homeLabel,
31
+ children: /* @__PURE__ */ jsx(Logo, {
32
+ size: "xs",
33
+ label: ""
34
+ })
35
+ }), /* @__PURE__ */ jsx(Text, {
36
+ variant: "body-m",
37
+ tone: "secondary",
38
+ wrap: "balance",
39
+ className: DeckFooter_module_default.tagline,
40
+ children: tagline
41
+ })]
42
+ }),
43
+ networks.length > 0 ? /* @__PURE__ */ jsx("ul", {
44
+ className: DeckFooter_module_default.networks,
45
+ children: networks.map((n) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx("a", {
46
+ className: DeckFooter_module_default.network,
47
+ href: n.href,
48
+ "aria-label": n.label,
49
+ children: /* @__PURE__ */ jsx(SocialIcon, {
50
+ network: n.network,
51
+ size: "sm"
52
+ })
53
+ }) }, n.network))
54
+ }) : null,
55
+ thanks ? /* @__PURE__ */ jsx(Text, {
56
+ variant: "body-l",
57
+ tone: "secondary",
58
+ style: { fontWeight: "var(--540-font-weight-light)" },
59
+ children: thanks
60
+ }) : null,
61
+ /* @__PURE__ */ jsx("div", {
62
+ className: DeckFooter_module_default.closing,
63
+ children: /* @__PURE__ */ jsx(Text, {
64
+ variant: "micro-light",
65
+ tone: "secondary",
66
+ children: copyright
67
+ })
68
+ })
69
+ ]
70
+ })
71
+ })]
72
+ });
73
+ }
74
+ //#endregion
75
+ export { DeckFooter };
@@ -0,0 +1,25 @@
1
+ //#region src/components/organisms/DeckFooter/DeckFooter.module.css
2
+ var pie = "_pie_m97tq_4";
3
+ var halo = "_halo_m97tq_13";
4
+ var column = "_column_m97tq_24";
5
+ var footer = "_footer_m97tq_32";
6
+ var brand = "_brand_m97tq_39";
7
+ var home = "_home_m97tq_45";
8
+ var tagline = "_tagline_m97tq_55";
9
+ var networks = "_networks_m97tq_59";
10
+ var network = "_network_m97tq_59";
11
+ var closing = "_closing_m97tq_86";
12
+ var DeckFooter_module_default = {
13
+ pie,
14
+ halo,
15
+ column,
16
+ footer,
17
+ brand,
18
+ home,
19
+ tagline,
20
+ networks,
21
+ network,
22
+ closing
23
+ };
24
+ //#endregion
25
+ export { brand, closing, column, DeckFooter_module_default as default, footer, halo, home, network, networks, pie, tagline };
@@ -0,0 +1,3 @@
1
+ export { DeckFooter } from './DeckFooter';
2
+ export { DECK_FOOTER_DEFAULTS } from './types';
3
+ export type { DeckFooterProps } from './types';
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { FooterNetwork } from '../../molecules/Footer';
3
+ export type DeckFooterProps = {
4
+ /** One line about the talk, at 38 characters. */
5
+ tagline: ReactNode;
6
+ /** The networks, each with its name. */
7
+ networks?: FooterNetwork[];
8
+ /** The thanks line. */
9
+ thanks?: ReactNode;
10
+ /** The signature. */
11
+ copyright: ReactNode;
12
+ /** Where the logo links to: the cover. */
13
+ homeHref?: string;
14
+ /** Accessible name of the logo link. */
15
+ homeLabel?: string;
16
+ className?: string;
17
+ };
18
+ export declare const DECK_FOOTER_DEFAULTS: {
19
+ readonly thanks: "¡Gracias!";
20
+ readonly homeHref: "#portada";
21
+ readonly homeLabel: "540, ir al inicio";
22
+ };
@@ -0,0 +1,8 @@
1
+ //#region src/components/organisms/DeckFooter/types.ts
2
+ var DECK_FOOTER_DEFAULTS = {
3
+ thanks: "¡Gracias!",
4
+ homeHref: "#portada",
5
+ homeLabel: "540, ir al inicio"
6
+ };
7
+ //#endregion
8
+ export { DECK_FOOTER_DEFAULTS };
@@ -0,0 +1,6 @@
1
+ import type { FlowProps } from './types';
2
+ /**
3
+ * Flow is a chain of steps: pills with an arrow centered in the gap between them.
4
+ * A column on narrow screens, a row from 600 px. One step can be highlighted.
5
+ */
6
+ export declare function Flow({ steps, label, className }: FlowProps): import("react").JSX.Element;
@@ -0,0 +1,26 @@
1
+ import { Text } from "../../atoms/Text/Text.js";
2
+ import Flow_module_default from "./Flow.module.js";
3
+ import { FLOW_DEFAULTS } from "./types.js";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/organisms/Flow/Flow.tsx
6
+ /**
7
+ * Flow is a chain of steps: pills with an arrow centered in the gap between them.
8
+ * A column on narrow screens, a row from 600 px. One step can be highlighted.
9
+ */
10
+ function Flow({ steps, label = FLOW_DEFAULTS.label, className }) {
11
+ return /* @__PURE__ */ jsx("ol", {
12
+ className: [Flow_module_default.flow, className ?? ""].filter(Boolean).join(" "),
13
+ "aria-label": label,
14
+ children: steps.map((step, i) => /* @__PURE__ */ jsx("li", {
15
+ className: [Flow_module_default.step, step.highlighted ? Flow_module_default.highlighted : ""].filter(Boolean).join(" "),
16
+ children: /* @__PURE__ */ jsx(Text, {
17
+ as: "span",
18
+ variant: "body-s",
19
+ className: Flow_module_default.label,
20
+ children: step.label
21
+ })
22
+ }, i))
23
+ });
24
+ }
25
+ //#endregion
26
+ export { Flow };
@@ -0,0 +1,13 @@
1
+ //#region src/components/organisms/Flow/Flow.module.css
2
+ var flow = "_flow_1fjzk_4";
3
+ var step = "_step_1fjzk_14";
4
+ var highlighted = "_highlighted_1fjzk_22";
5
+ var label = "_label_1fjzk_27";
6
+ var Flow_module_default = {
7
+ flow,
8
+ step,
9
+ highlighted,
10
+ label
11
+ };
12
+ //#endregion
13
+ export { Flow_module_default as default, flow, highlighted, label, step };
@@ -0,0 +1,3 @@
1
+ export { Flow } from './Flow';
2
+ export { FLOW_DEFAULTS } from './types';
3
+ export type { FlowProps, FlowStep } from './types';
@@ -0,0 +1,17 @@
1
+ import type { ReactNode } from 'react';
2
+ export type FlowStep = {
3
+ /** The name of the step. Two or three words. */
4
+ label: ReactNode;
5
+ /** The highlighted step: filled with the inverse background. */
6
+ highlighted?: boolean;
7
+ };
8
+ export type FlowProps = {
9
+ /** The steps, in order. */
10
+ steps: FlowStep[];
11
+ /** Accessible name of the list. */
12
+ label?: string;
13
+ className?: string;
14
+ };
15
+ export declare const FLOW_DEFAULTS: {
16
+ readonly label: "Pasos";
17
+ };
@@ -0,0 +1,4 @@
1
+ //#region src/components/organisms/Flow/types.ts
2
+ var FLOW_DEFAULTS = { label: "Pasos" };
3
+ //#endregion
4
+ export { FLOW_DEFAULTS };
@@ -0,0 +1,6 @@
1
+ import type { FormProps } from './types';
2
+ /**
3
+ * Form is the wrapper of a form: it places the fields and puts the submit. The fields come
4
+ * from whoever uses it. noValidate by default so the system's messages win over the browser's.
5
+ */
6
+ export declare function Form({ children, submitLabel, align, className, noValidate, ...rest }: FormProps): import("react").JSX.Element;
@@ -0,0 +1,28 @@
1
+ import { Button } from "../../atoms/Button/Button.js";
2
+ import Form_module_default from "./Form.module.js";
3
+ import { FORM_DEFAULTS } from "./types.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/organisms/Form/Form.tsx
6
+ /**
7
+ * Form is the wrapper of a form: it places the fields and puts the submit. The fields come
8
+ * from whoever uses it. noValidate by default so the system's messages win over the browser's.
9
+ */
10
+ function Form({ children, submitLabel, align = FORM_DEFAULTS.align, className, noValidate = FORM_DEFAULTS.noValidate, ...rest }) {
11
+ return /* @__PURE__ */ jsxs("form", {
12
+ className: [Form_module_default.form, className ?? ""].filter(Boolean).join(" "),
13
+ noValidate,
14
+ ...rest,
15
+ children: [/* @__PURE__ */ jsx("div", {
16
+ className: Form_module_default.fields,
17
+ children
18
+ }), /* @__PURE__ */ jsx("div", {
19
+ className: [Form_module_default.submit, align === "center" ? Form_module_default.center : ""].filter(Boolean).join(" "),
20
+ children: /* @__PURE__ */ jsx(Button, {
21
+ type: "submit",
22
+ children: submitLabel
23
+ })
24
+ })]
25
+ });
26
+ }
27
+ //#endregion
28
+ export { Form };
@@ -0,0 +1,13 @@
1
+ //#region src/components/organisms/Form/Form.module.css
2
+ var form = "_form_du2ma_4";
3
+ var fields = "_fields_du2ma_9";
4
+ var submit = "_submit_du2ma_14";
5
+ var center = "_center_du2ma_19";
6
+ var Form_module_default = {
7
+ form,
8
+ fields,
9
+ submit,
10
+ center
11
+ };
12
+ //#endregion
13
+ export { center, Form_module_default as default, fields, form, submit };
@@ -0,0 +1,3 @@
1
+ export { Form } from './Form';
2
+ export { FORM_ALIGNS, FORM_DEFAULTS } from './types';
3
+ export type { FormAlign, FormProps } from './types';
@@ -0,0 +1,16 @@
1
+ import type { ComponentPropsWithoutRef, ReactNode } from 'react';
2
+ export declare const FORM_ALIGNS: readonly ["end", "center"];
3
+ export type FormAlign = (typeof FORM_ALIGNS)[number];
4
+ export type FormProps = {
5
+ /** The fields, usually Field. */
6
+ children: ReactNode;
7
+ /** The verb and the object of the submit button: "Enviar mensaje". */
8
+ submitLabel: string;
9
+ /** Where the submit goes: end of the row (web) or centered (a talk, where everything is centered). */
10
+ align?: FormAlign;
11
+ className?: string;
12
+ } & Omit<ComponentPropsWithoutRef<'form'>, 'className' | 'children'>;
13
+ export declare const FORM_DEFAULTS: {
14
+ readonly noValidate: true;
15
+ readonly align: "end";
16
+ };
@@ -0,0 +1,8 @@
1
+ //#region src/components/organisms/Form/types.ts
2
+ var FORM_ALIGNS = ["end", "center"];
3
+ var FORM_DEFAULTS = {
4
+ noValidate: true,
5
+ align: "end"
6
+ };
7
+ //#endregion
8
+ export { FORM_ALIGNS, FORM_DEFAULTS };
@@ -0,0 +1,3 @@
1
+ import type { HeartbeatProps } from './types';
2
+ /** Heartbeat is a red heart that beats with a wave around it: "la maquineta" alive. Decoration. */
3
+ export declare function Heartbeat({ className }: HeartbeatProps): import("react").JSX.Element;
@@ -0,0 +1,17 @@
1
+ import Heartbeat_module_default from "./Heartbeat.module.js";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/components/organisms/Heartbeat/Heartbeat.tsx
4
+ /** Heartbeat is a red heart that beats with a wave around it: "la maquineta" alive. Decoration. */
5
+ function Heartbeat({ className }) {
6
+ return /* @__PURE__ */ jsxs("div", {
7
+ className: [Heartbeat_module_default.heartbeat, className ?? ""].filter(Boolean).join(" "),
8
+ "aria-hidden": "true",
9
+ children: [/* @__PURE__ */ jsx("span", { className: Heartbeat_module_default.wave }), /* @__PURE__ */ jsx("svg", {
10
+ viewBox: "0 0 48 44",
11
+ className: Heartbeat_module_default.heart,
12
+ children: /* @__PURE__ */ jsx("path", { d: "M24 41C24 41 3 27.5 3 14.5C3 7.6 8.6 2 15.5 2C19.8 2 22.6 4.2 24 6.6C25.4 4.2 28.2 2 32.5 2C39.4 2 45 7.6 45 14.5C45 27.5 24 41 24 41Z" })
13
+ })]
14
+ });
15
+ }
16
+ //#endregion
17
+ export { Heartbeat };
@@ -0,0 +1,13 @@
1
+ //#region src/components/organisms/Heartbeat/Heartbeat.module.css
2
+ var heartbeat = "_heartbeat_13f55_3";
3
+ var wave = "_wave_13f55_13";
4
+ var heart = "_heart_13f55_3";
5
+ var beat = "_beat_13f55_1";
6
+ var Heartbeat_module_default = {
7
+ heartbeat,
8
+ wave,
9
+ heart,
10
+ beat
11
+ };
12
+ //#endregion
13
+ export { beat, Heartbeat_module_default as default, heart, heartbeat, wave };
@@ -0,0 +1,2 @@
1
+ export { Heartbeat } from './Heartbeat';
2
+ export type { HeartbeatProps } from './types';
@@ -0,0 +1,3 @@
1
+ export type HeartbeatProps = {
2
+ className?: string;
3
+ };
@@ -0,0 +1,6 @@
1
+ import type { LogoCarouselProps } from './types';
2
+ /**
3
+ * LogoCarousel is the strip of client logos: equal slots, an odd number so there is always one
4
+ * in the center, at full ink and 8 % bigger. Steps by itself; pauses on hover and focus.
5
+ */
6
+ export declare function LogoCarousel({ logos, label, interval, className }: LogoCarouselProps): import("react").JSX.Element;
@@ -0,0 +1,72 @@
1
+ import LogoCarousel_module_default from "./LogoCarousel.module.js";
2
+ import { LOGO_CAROUSEL_DEFAULTS } from "./types.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { useEffect, useRef, useState } from "react";
5
+ //#region src/components/organisms/LogoCarousel/LogoCarousel.tsx
6
+ /**
7
+ * LogoCarousel is the strip of client logos: equal slots, an odd number so there is always one
8
+ * in the center, at full ink and 8 % bigger. Steps by itself; pauses on hover and focus.
9
+ */
10
+ function LogoCarousel({ logos, label, interval = LOGO_CAROUSEL_DEFAULTS.interval, className }) {
11
+ const n = logos.length;
12
+ const [offset, setOffset] = useState(0);
13
+ const [jump, setJump] = useState(false);
14
+ const [paused, setPaused] = useState(false);
15
+ const trackRef = useRef(null);
16
+ useEffect(() => {
17
+ if (n < 2 || paused) return;
18
+ if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
19
+ const id = window.setInterval(() => setOffset((o) => o + 1), interval);
20
+ return () => window.clearInterval(id);
21
+ }, [
22
+ n,
23
+ paused,
24
+ interval
25
+ ]);
26
+ useEffect(() => {
27
+ if (offset < n) return;
28
+ const track = trackRef.current;
29
+ const onEnd = () => {
30
+ setJump(true);
31
+ setOffset((o) => o - n);
32
+ requestAnimationFrame(() => requestAnimationFrame(() => setJump(false)));
33
+ };
34
+ track?.addEventListener("transitionend", onEnd, { once: true });
35
+ return () => track?.removeEventListener("transitionend", onEnd);
36
+ }, [offset, n]);
37
+ const items = [
38
+ ...logos,
39
+ ...logos,
40
+ ...logos
41
+ ];
42
+ return /* @__PURE__ */ jsx("section", {
43
+ className: [LogoCarousel_module_default.carousel, className ?? ""].filter(Boolean).join(" "),
44
+ role: "region",
45
+ "aria-roledescription": "carrusel",
46
+ "aria-label": label,
47
+ onMouseEnter: () => setPaused(true),
48
+ onMouseLeave: () => setPaused(false),
49
+ onFocus: () => setPaused(true),
50
+ onBlur: () => setPaused(false),
51
+ tabIndex: 0,
52
+ children: /* @__PURE__ */ jsx("div", {
53
+ ref: trackRef,
54
+ className: LogoCarousel_module_default.track,
55
+ "data-jump": jump ? "" : void 0,
56
+ style: { "--offset": offset },
57
+ children: items.map((logo, i) => /* @__PURE__ */ jsx("div", {
58
+ className: LogoCarousel_module_default.slot,
59
+ "data-pos": i - offset,
60
+ "aria-hidden": i >= n ? true : void 0,
61
+ children: /* @__PURE__ */ jsx("img", {
62
+ className: LogoCarousel_module_default.logo,
63
+ src: logo.src,
64
+ alt: i < n ? logo.name : "",
65
+ loading: "lazy"
66
+ })
67
+ }, i))
68
+ })
69
+ });
70
+ }
71
+ //#endregion
72
+ export { LogoCarousel };
@@ -0,0 +1,13 @@
1
+ //#region src/components/organisms/LogoCarousel/LogoCarousel.module.css
2
+ var carousel = "_carousel_w1h3y_4";
3
+ var track = "_track_w1h3y_21";
4
+ var slot = "_slot_w1h3y_32";
5
+ var logo = "_logo_w1h3y_42";
6
+ var LogoCarousel_module_default = {
7
+ carousel,
8
+ track,
9
+ slot,
10
+ logo
11
+ };
12
+ //#endregion
13
+ export { carousel, LogoCarousel_module_default as default, logo, slot, track };
@@ -0,0 +1,3 @@
1
+ export { LogoCarousel } from './LogoCarousel';
2
+ export { LOGO_CAROUSEL_DEFAULTS } from './types';
3
+ export type { ClientLogo, LogoCarouselProps } from './types';
@@ -0,0 +1,18 @@
1
+ export type ClientLogo = {
2
+ /** Path or URL of the logo file. */
3
+ src: string;
4
+ /** The name of the client. */
5
+ name: string;
6
+ };
7
+ export type LogoCarouselProps = {
8
+ /** The client logos, in order. */
9
+ logos: ClientLogo[];
10
+ /** Accessible name of the carousel. */
11
+ label: string;
12
+ /** Milliseconds between steps. Off with prefers-reduced-motion. */
13
+ interval?: number;
14
+ className?: string;
15
+ };
16
+ export declare const LOGO_CAROUSEL_DEFAULTS: {
17
+ readonly interval: 2400;
18
+ };
@@ -0,0 +1,4 @@
1
+ //#region src/components/organisms/LogoCarousel/types.ts
2
+ var LOGO_CAROUSEL_DEFAULTS = { interval: 2400 };
3
+ //#endregion
4
+ export { LOGO_CAROUSEL_DEFAULTS };
@@ -0,0 +1,7 @@
1
+ import type { MarqueeProps } from './types';
2
+ /**
3
+ * Marquee is a strip of short pieces that scrolls endlessly between two hairlines, edge to edge.
4
+ * The pieces are repeated until one round covers the window, then doubled (the copies hidden from
5
+ * screen readers), so the loop never shows its end. The speed stays the same however many repeats.
6
+ */
7
+ export declare function Marquee({ items, duration, className }: MarqueeProps): import("react").JSX.Element;
@@ -0,0 +1,57 @@
1
+ import { Text } from "../../atoms/Text/Text.js";
2
+ import Marquee_module_default from "./Marquee.module.js";
3
+ import { MARQUEE_DEFAULTS } from "./types.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { useEffect, useRef, useState } from "react";
6
+ //#region src/components/organisms/Marquee/Marquee.tsx
7
+ /**
8
+ * Marquee is a strip of short pieces that scrolls endlessly between two hairlines, edge to edge.
9
+ * The pieces are repeated until one round covers the window, then doubled (the copies hidden from
10
+ * screen readers), so the loop never shows its end. The speed stays the same however many repeats.
11
+ */
12
+ function Marquee({ items, duration = MARQUEE_DEFAULTS.duration, className }) {
13
+ const frame = useRef(null);
14
+ const round = useRef(null);
15
+ const [repeats, setRepeats] = useState(1);
16
+ useEffect(() => {
17
+ const f = frame.current;
18
+ const r = round.current;
19
+ if (!f || !r || typeof ResizeObserver === "undefined") return;
20
+ const fit = () => {
21
+ const one = r.scrollWidth / repeats;
22
+ if (one > 0) setRepeats(Math.max(1, Math.ceil(f.clientWidth / one)));
23
+ };
24
+ const ro = new ResizeObserver(fit);
25
+ ro.observe(f);
26
+ fit();
27
+ return () => ro.disconnect();
28
+ }, [repeats, items]);
29
+ const pieces = (copy) => items.map((item, i) => /* @__PURE__ */ jsx(Text, {
30
+ as: "span",
31
+ variant: "body-m",
32
+ tone: "secondary",
33
+ className: Marquee_module_default.piece,
34
+ "aria-hidden": copy > 0 ? true : void 0,
35
+ children: item
36
+ }, `${copy}-${i}`));
37
+ const roundOf = (offset) => Array.from({ length: repeats }, (_, k) => pieces(offset + k));
38
+ return /* @__PURE__ */ jsx("div", {
39
+ ref: frame,
40
+ className: [Marquee_module_default.marquee, className ?? ""].filter(Boolean).join(" "),
41
+ children: /* @__PURE__ */ jsxs("div", {
42
+ className: Marquee_module_default.strip,
43
+ style: { "--marquee-duration": `${duration * repeats}s` },
44
+ children: [/* @__PURE__ */ jsx("div", {
45
+ ref: round,
46
+ className: Marquee_module_default.round,
47
+ children: roundOf(0)
48
+ }), /* @__PURE__ */ jsx("div", {
49
+ className: Marquee_module_default.round,
50
+ "aria-hidden": "true",
51
+ children: roundOf(repeats)
52
+ })]
53
+ })
54
+ });
55
+ }
56
+ //#endregion
57
+ export { Marquee };
@@ -0,0 +1,15 @@
1
+ //#region src/components/organisms/Marquee/Marquee.module.css
2
+ var marquee = "_marquee_19w0s_3";
3
+ var strip = "_strip_19w0s_12";
4
+ var scroll = "_scroll_19w0s_1";
5
+ var round = "_round_19w0s_18";
6
+ var piece = "_piece_19w0s_23";
7
+ var Marquee_module_default = {
8
+ marquee,
9
+ strip,
10
+ scroll,
11
+ round,
12
+ piece
13
+ };
14
+ //#endregion
15
+ export { Marquee_module_default as default, marquee, piece, round, scroll, strip };
@@ -0,0 +1,3 @@
1
+ export { Marquee } from './Marquee';
2
+ export { MARQUEE_DEFAULTS } from './types';
3
+ export type { MarqueeProps } from './types';
@@ -0,0 +1,11 @@
1
+ import type { ReactNode } from 'react';
2
+ export type MarqueeProps = {
3
+ /** The pieces that scroll. They are repeated to loop. */
4
+ items: ReactNode[];
5
+ /** Seconds for a full loop. */
6
+ duration?: number;
7
+ className?: string;
8
+ };
9
+ export declare const MARQUEE_DEFAULTS: {
10
+ readonly duration: 40;
11
+ };
@@ -0,0 +1,4 @@
1
+ //#region src/components/organisms/Marquee/types.ts
2
+ var MARQUEE_DEFAULTS = { duration: 40 };
3
+ //#endregion
4
+ export { MARQUEE_DEFAULTS };
@@ -0,0 +1,6 @@
1
+ import type { ProgressBarProps } from './types';
2
+ /**
3
+ * ProgressBar is a time bar or an adoption bar: a track with a fill that grows from the left,
4
+ * labels at both ends and, optionally, milestones that light up as they are reached.
5
+ */
6
+ export declare function ProgressBar({ value, start, end, milestones, reached, label, className }: ProgressBarProps): import("react").JSX.Element;
@@ -0,0 +1,56 @@
1
+ import { Text } from "../../atoms/Text/Text.js";
2
+ import ProgressBar_module_default from "./ProgressBar.module.js";
3
+ import { PROGRESS_BAR_DEFAULTS } from "./types.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/organisms/ProgressBar/ProgressBar.tsx
6
+ /**
7
+ * ProgressBar is a time bar or an adoption bar: a track with a fill that grows from the left,
8
+ * labels at both ends and, optionally, milestones that light up as they are reached.
9
+ */
10
+ function ProgressBar({ value, start, end, milestones = PROGRESS_BAR_DEFAULTS.milestones, reached = PROGRESS_BAR_DEFAULTS.reached, label, className }) {
11
+ const v = Math.max(0, Math.min(1, value));
12
+ return /* @__PURE__ */ jsxs("div", {
13
+ className: [ProgressBar_module_default.bar, className ?? ""].filter(Boolean).join(" "),
14
+ role: "progressbar",
15
+ "aria-label": label,
16
+ "aria-valuemin": 0,
17
+ "aria-valuemax": 100,
18
+ "aria-valuenow": Math.round(v * 100),
19
+ children: [/* @__PURE__ */ jsxs("div", {
20
+ className: ProgressBar_module_default.track,
21
+ children: [
22
+ /* @__PURE__ */ jsx("div", {
23
+ className: ProgressBar_module_default.fill,
24
+ style: { transform: `scaleX(${v})` }
25
+ }),
26
+ /* @__PURE__ */ jsx("span", {
27
+ className: ProgressBar_module_default.dot,
28
+ style: { left: 0 },
29
+ "aria-hidden": "true"
30
+ }),
31
+ Array.from({ length: milestones }, (_, i) => /* @__PURE__ */ jsx("span", {
32
+ className: [ProgressBar_module_default.dot, ProgressBar_module_default.milestone].join(" "),
33
+ style: { left: `${(i + 1) / (milestones + 1) * 100}%` },
34
+ "data-on": i < reached ? "" : void 0,
35
+ "aria-hidden": "true"
36
+ }, i)),
37
+ /* @__PURE__ */ jsx("span", {
38
+ className: ProgressBar_module_default.dot,
39
+ style: { left: "100%" },
40
+ "aria-hidden": "true"
41
+ })
42
+ ]
43
+ }), start || end ? /* @__PURE__ */ jsxs("div", {
44
+ className: ProgressBar_module_default.ends,
45
+ children: [/* @__PURE__ */ jsx(Text, {
46
+ variant: "body-s",
47
+ children: start
48
+ }), /* @__PURE__ */ jsx(Text, {
49
+ variant: "body-s",
50
+ children: end
51
+ })]
52
+ }) : null]
53
+ });
54
+ }
55
+ //#endregion
56
+ export { ProgressBar };