@proyecto-viviana/ui 0.3.4 → 0.4.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 (438) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -157
  3. package/dist/ActionButton.d.ts +2 -0
  4. package/dist/ActionButton.d.ts.map +1 -0
  5. package/dist/ActionButton.js +1 -0
  6. package/dist/ActionButton.jsx +1 -0
  7. package/dist/ActionMenu.d.ts +2 -0
  8. package/dist/ActionMenu.d.ts.map +1 -0
  9. package/dist/ActionMenu.js +1 -0
  10. package/dist/ActionMenu.jsx +1 -0
  11. package/dist/Breadcrumbs.d.ts +2 -0
  12. package/dist/Breadcrumbs.d.ts.map +1 -0
  13. package/dist/Breadcrumbs.js +1 -0
  14. package/dist/Breadcrumbs.jsx +1 -0
  15. package/dist/Button.d.ts +2 -0
  16. package/dist/Button.d.ts.map +1 -0
  17. package/dist/Button.js +1 -0
  18. package/dist/Button.jsx +1 -0
  19. package/dist/Calendar.d.ts +2 -0
  20. package/dist/Calendar.d.ts.map +1 -0
  21. package/dist/Calendar.js +1 -0
  22. package/dist/Calendar.jsx +1 -0
  23. package/dist/CalendarCard.d.ts +2 -0
  24. package/dist/CalendarCard.d.ts.map +1 -0
  25. package/dist/CalendarCard.js +97 -0
  26. package/dist/CalendarCard.js.map +1 -0
  27. package/dist/CalendarCard.jsx +51 -0
  28. package/dist/CalendarCard.jsx.map +1 -0
  29. package/dist/Card.d.ts +2 -0
  30. package/dist/Card.d.ts.map +1 -0
  31. package/dist/Card.js +1 -0
  32. package/dist/Card.jsx +1 -0
  33. package/dist/CardView.d.ts +2 -0
  34. package/dist/CardView.d.ts.map +1 -0
  35. package/dist/CardView.js +1 -0
  36. package/dist/CardView.jsx +1 -0
  37. package/dist/CenterBaseline.d.ts +2 -0
  38. package/dist/CenterBaseline.d.ts.map +1 -0
  39. package/dist/CenterBaseline.js +1 -0
  40. package/dist/CenterBaseline.jsx +1 -0
  41. package/dist/Chip.d.ts +2 -0
  42. package/dist/Chip.d.ts.map +1 -0
  43. package/dist/Chip.js +2 -0
  44. package/dist/Chip.jsx +2 -0
  45. package/dist/ColorArea.d.ts +2 -0
  46. package/dist/ColorArea.d.ts.map +1 -0
  47. package/dist/ColorArea.js +1 -0
  48. package/dist/ColorArea.jsx +1 -0
  49. package/dist/ColorField.d.ts +2 -0
  50. package/dist/ColorField.d.ts.map +1 -0
  51. package/dist/ColorField.js +1 -0
  52. package/dist/ColorField.jsx +1 -0
  53. package/dist/ColorSlider.d.ts +2 -0
  54. package/dist/ColorSlider.d.ts.map +1 -0
  55. package/dist/ColorSlider.js +1 -0
  56. package/dist/ColorSlider.jsx +1 -0
  57. package/dist/ColorSwatch.d.ts +2 -0
  58. package/dist/ColorSwatch.d.ts.map +1 -0
  59. package/dist/ColorSwatch.js +1 -0
  60. package/dist/ColorSwatch.jsx +1 -0
  61. package/dist/ColorSwatchPicker.d.ts +2 -0
  62. package/dist/ColorSwatchPicker.d.ts.map +1 -0
  63. package/dist/ColorSwatchPicker.js +1 -0
  64. package/dist/ColorSwatchPicker.jsx +1 -0
  65. package/dist/ColorWheel.d.ts +2 -0
  66. package/dist/ColorWheel.d.ts.map +1 -0
  67. package/dist/ColorWheel.js +1 -0
  68. package/dist/ColorWheel.jsx +1 -0
  69. package/dist/ContrastIcon.d.ts +3 -0
  70. package/dist/ContrastIcon.d.ts.map +1 -0
  71. package/dist/ContrastIcon.js +3 -0
  72. package/dist/ContrastIcon.jsx +3 -0
  73. package/dist/Conversation.d.ts +2 -0
  74. package/dist/Conversation.d.ts.map +1 -0
  75. package/dist/Conversation.js +177 -0
  76. package/dist/Conversation.js.map +1 -0
  77. package/dist/Conversation.jsx +107 -0
  78. package/dist/Conversation.jsx.map +1 -0
  79. package/dist/Disclosure.d.ts +2 -0
  80. package/dist/Disclosure.d.ts.map +1 -0
  81. package/dist/Disclosure.js +1 -0
  82. package/dist/Disclosure.jsx +1 -0
  83. package/dist/EventCard.d.ts +2 -0
  84. package/dist/EventCard.d.ts.map +1 -0
  85. package/dist/EventCard.js +173 -0
  86. package/dist/EventCard.js.map +1 -0
  87. package/dist/EventCard.jsx +96 -0
  88. package/dist/EventCard.jsx.map +1 -0
  89. package/dist/FileTrigger.d.ts +2 -0
  90. package/dist/FileTrigger.d.ts.map +1 -0
  91. package/dist/FileTrigger.js +1 -0
  92. package/dist/FileTrigger.jsx +1 -0
  93. package/dist/GitHubIcon.d.ts +2 -0
  94. package/dist/GitHubIcon.d.ts.map +1 -0
  95. package/dist/GitHubIcon.js +1 -0
  96. package/dist/GitHubIcon.jsx +1 -0
  97. package/dist/LightenIcon.d.ts +3 -0
  98. package/dist/LightenIcon.d.ts.map +1 -0
  99. package/dist/LightenIcon.js +3 -0
  100. package/dist/LightenIcon.jsx +3 -0
  101. package/dist/LinkButton.d.ts +2 -0
  102. package/dist/LinkButton.d.ts.map +1 -0
  103. package/dist/LinkButton.js +1 -0
  104. package/dist/LinkButton.jsx +1 -0
  105. package/dist/ListView.d.ts +2 -0
  106. package/dist/ListView.d.ts.map +1 -0
  107. package/dist/ListView.js +1 -0
  108. package/dist/ListView.jsx +1 -0
  109. package/dist/Logo.d.ts +2 -0
  110. package/dist/Logo.d.ts.map +1 -0
  111. package/dist/Logo.js +116 -0
  112. package/dist/Logo.js.map +1 -0
  113. package/dist/Logo.jsx +101 -0
  114. package/dist/Logo.jsx.map +1 -0
  115. package/dist/Menu.d.ts +2 -0
  116. package/dist/Menu.d.ts.map +1 -0
  117. package/dist/Menu.js +1 -0
  118. package/dist/Menu.jsx +1 -0
  119. package/dist/PageLayout.d.ts +2 -0
  120. package/dist/PageLayout.d.ts.map +1 -0
  121. package/dist/PageLayout.js +31 -0
  122. package/dist/PageLayout.js.map +1 -0
  123. package/dist/PageLayout.jsx +23 -0
  124. package/dist/PageLayout.jsx.map +1 -0
  125. package/dist/Picker.d.ts +2 -0
  126. package/dist/Picker.d.ts.map +1 -0
  127. package/dist/Picker.js +1 -0
  128. package/dist/Picker.jsx +1 -0
  129. package/dist/ProfileCard.d.ts +2 -0
  130. package/dist/ProfileCard.d.ts.map +1 -0
  131. package/dist/ProfileCard.js +78 -0
  132. package/dist/ProfileCard.js.map +1 -0
  133. package/dist/ProfileCard.jsx +53 -0
  134. package/dist/ProfileCard.jsx.map +1 -0
  135. package/dist/ProjectCard.d.ts +2 -0
  136. package/dist/ProjectCard.d.ts.map +1 -0
  137. package/dist/ProjectCard.js +164 -0
  138. package/dist/ProjectCard.js.map +1 -0
  139. package/dist/ProjectCard.jsx +133 -0
  140. package/dist/ProjectCard.jsx.map +1 -0
  141. package/dist/Provider.d.ts +2 -0
  142. package/dist/Provider.d.ts.map +1 -0
  143. package/dist/Provider.js +1 -0
  144. package/dist/Provider.jsx +1 -0
  145. package/dist/RangeCalendar.d.ts +2 -0
  146. package/dist/RangeCalendar.d.ts.map +1 -0
  147. package/dist/RangeCalendar.js +1 -0
  148. package/dist/RangeCalendar.jsx +1 -0
  149. package/dist/SearchField.d.ts +2 -0
  150. package/dist/SearchField.d.ts.map +1 -0
  151. package/dist/SearchField.js +1 -0
  152. package/dist/SearchField.jsx +1 -0
  153. package/dist/SegmentedControl.d.ts +2 -0
  154. package/dist/SegmentedControl.d.ts.map +1 -0
  155. package/dist/SegmentedControl.js +1 -0
  156. package/dist/SegmentedControl.jsx +1 -0
  157. package/dist/Switch.d.ts +2 -0
  158. package/dist/Switch.d.ts.map +1 -0
  159. package/dist/Switch.js +1 -0
  160. package/dist/Switch.jsx +1 -0
  161. package/dist/Tabs.d.ts +2 -0
  162. package/dist/Tabs.d.ts.map +1 -0
  163. package/dist/Tabs.js +1 -0
  164. package/dist/Tabs.jsx +1 -0
  165. package/dist/TextArea.d.ts +2 -0
  166. package/dist/TextArea.d.ts.map +1 -0
  167. package/dist/TextArea.js +1 -0
  168. package/dist/TextArea.jsx +1 -0
  169. package/dist/TextField.d.ts +2 -0
  170. package/dist/TextField.d.ts.map +1 -0
  171. package/dist/TextField.js +1 -0
  172. package/dist/TextField.jsx +1 -0
  173. package/dist/TimelineItem.d.ts +2 -0
  174. package/dist/TimelineItem.d.ts.map +1 -0
  175. package/dist/TimelineItem.js +137 -0
  176. package/dist/TimelineItem.js.map +1 -0
  177. package/dist/TimelineItem.jsx +70 -0
  178. package/dist/TimelineItem.jsx.map +1 -0
  179. package/dist/TreeView.d.ts +2 -0
  180. package/dist/TreeView.d.ts.map +1 -0
  181. package/dist/TreeView.js +1 -0
  182. package/dist/TreeView.jsx +1 -0
  183. package/dist/chip2.js +82 -0
  184. package/dist/chip2.js.map +1 -0
  185. package/dist/chip2.jsx +68 -0
  186. package/dist/chip2.jsx.map +1 -0
  187. package/dist/components.css +2 -1077
  188. package/dist/custom/calendar-card/index.d.ts.map +1 -1
  189. package/dist/custom/chip/index.d.ts +2 -2
  190. package/dist/custom/chip/index.d.ts.map +1 -1
  191. package/dist/custom/conversation/index.d.ts +2 -2
  192. package/dist/custom/conversation/index.d.ts.map +1 -1
  193. package/dist/custom/event-card/index.d.ts +1 -1
  194. package/dist/custom/event-card/index.d.ts.map +1 -1
  195. package/dist/custom/header/index.d.ts +2 -6
  196. package/dist/custom/header/index.d.ts.map +1 -1
  197. package/dist/custom/lateral-nav/index.d.ts +1 -1
  198. package/dist/custom/lateral-nav/index.d.ts.map +1 -1
  199. package/dist/custom/logo/index.d.ts +1 -18
  200. package/dist/custom/logo/index.d.ts.map +1 -1
  201. package/dist/custom/nav-header/index.d.ts +2 -1
  202. package/dist/custom/nav-header/index.d.ts.map +1 -1
  203. package/dist/custom/page-layout/index.d.ts +1 -7
  204. package/dist/custom/page-layout/index.d.ts.map +1 -1
  205. package/dist/custom/profile-card/index.d.ts +1 -1
  206. package/dist/custom/profile-card/index.d.ts.map +1 -1
  207. package/dist/custom/project-card/index.d.ts +2 -13
  208. package/dist/custom/project-card/index.d.ts.map +1 -1
  209. package/dist/custom/timeline-item/index.d.ts +2 -2
  210. package/dist/custom/timeline-item/index.d.ts.map +1 -1
  211. package/dist/font-faces.css +1 -0
  212. package/dist/index.d.ts +1 -104
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js +1 -8222
  215. package/dist/index.jsx +1 -0
  216. package/dist/style/runtime.d.ts +2 -0
  217. package/dist/style/runtime.d.ts.map +1 -0
  218. package/dist/style/runtime.js +1 -0
  219. package/dist/style/runtime.jsx +1 -0
  220. package/dist/style.d.ts +2 -0
  221. package/dist/style.d.ts.map +1 -0
  222. package/dist/style.js +1 -0
  223. package/dist/style.jsx +1 -0
  224. package/dist/styles.css +9 -450
  225. package/dist/theme.css +2 -101
  226. package/dist/vite.d.ts +15 -0
  227. package/dist/vite.d.ts.map +1 -0
  228. package/dist/vite.js +74 -0
  229. package/dist/vite.js.map +1 -0
  230. package/dist/vite.jsx +74 -0
  231. package/dist/vite.jsx.map +1 -0
  232. package/dist/viviana-tokens.css +318 -0
  233. package/package.json +300 -44
  234. package/src/ActionButton.ts +1 -0
  235. package/src/ActionMenu.ts +1 -0
  236. package/src/Breadcrumbs.ts +1 -0
  237. package/src/Button.ts +1 -0
  238. package/src/Calendar.ts +1 -0
  239. package/src/CalendarCard.ts +1 -0
  240. package/src/Card.ts +1 -0
  241. package/src/CardView.ts +1 -0
  242. package/src/CenterBaseline.ts +1 -0
  243. package/src/Chip.ts +1 -0
  244. package/src/ColorArea.ts +1 -0
  245. package/src/ColorField.ts +1 -0
  246. package/src/ColorSlider.ts +1 -0
  247. package/src/ColorSwatch.ts +1 -0
  248. package/src/ColorSwatchPicker.ts +1 -0
  249. package/src/ColorWheel.ts +1 -0
  250. package/src/ContrastIcon.ts +2 -0
  251. package/src/Conversation.ts +1 -0
  252. package/src/Disclosure.ts +1 -0
  253. package/src/EventCard.ts +1 -0
  254. package/src/FileTrigger.ts +1 -0
  255. package/src/GitHubIcon.ts +1 -0
  256. package/src/LightenIcon.ts +2 -0
  257. package/src/LinkButton.ts +1 -0
  258. package/src/ListView.ts +1 -0
  259. package/src/Logo.ts +1 -0
  260. package/src/Menu.ts +1 -0
  261. package/src/PageLayout.ts +1 -0
  262. package/src/Picker.ts +1 -0
  263. package/src/ProfileCard.ts +1 -0
  264. package/src/ProjectCard.ts +1 -0
  265. package/src/Provider.ts +1 -0
  266. package/src/RangeCalendar.ts +1 -0
  267. package/src/SearchField.ts +1 -0
  268. package/src/SegmentedControl.ts +1 -0
  269. package/src/Switch.ts +1 -0
  270. package/src/Tabs.ts +1 -0
  271. package/src/TextArea.ts +1 -0
  272. package/src/TextField.ts +1 -0
  273. package/src/TimelineItem.ts +1 -0
  274. package/src/TreeView.ts +1 -0
  275. package/src/components.css +2 -1077
  276. package/src/custom/calendar-card/index.tsx +99 -50
  277. package/src/custom/chip/index.tsx +59 -27
  278. package/src/custom/conversation/index.tsx +149 -55
  279. package/src/custom/event-card/index.tsx +174 -74
  280. package/src/custom/header/index.tsx +64 -33
  281. package/src/custom/lateral-nav/index.tsx +84 -38
  282. package/src/custom/logo/index.tsx +34 -39
  283. package/src/custom/nav-header/index.tsx +81 -25
  284. package/src/custom/page-layout/index.tsx +23 -19
  285. package/src/custom/profile-card/index.tsx +85 -35
  286. package/src/custom/project-card/index.tsx +57 -40
  287. package/src/custom/timeline-item/index.tsx +83 -48
  288. package/src/font-faces.css +1 -0
  289. package/src/index.ts +8 -322
  290. package/src/style/runtime.ts +2 -0
  291. package/src/style.ts +5 -0
  292. package/src/styles.css +6 -450
  293. package/src/theme.css +2 -101
  294. package/src/vite.ts +152 -0
  295. package/src/viviana-tokens.css +318 -0
  296. package/dist/alert/index.d.ts +0 -12
  297. package/dist/alert/index.d.ts.map +0 -1
  298. package/dist/autocomplete/index.d.ts +0 -89
  299. package/dist/autocomplete/index.d.ts.map +0 -1
  300. package/dist/avatar/index.d.ts +0 -17
  301. package/dist/avatar/index.d.ts.map +0 -1
  302. package/dist/badge/index.d.ts +0 -12
  303. package/dist/badge/index.d.ts.map +0 -1
  304. package/dist/breadcrumbs/index.d.ts +0 -38
  305. package/dist/breadcrumbs/index.d.ts.map +0 -1
  306. package/dist/button/Button.d.ts +0 -19
  307. package/dist/button/Button.d.ts.map +0 -1
  308. package/dist/button/index.d.ts +0 -3
  309. package/dist/button/index.d.ts.map +0 -1
  310. package/dist/button/types.d.ts +0 -23
  311. package/dist/button/types.d.ts.map +0 -1
  312. package/dist/calendar/DateField.d.ts +0 -47
  313. package/dist/calendar/DateField.d.ts.map +0 -1
  314. package/dist/calendar/DatePicker.d.ts +0 -48
  315. package/dist/calendar/DatePicker.d.ts.map +0 -1
  316. package/dist/calendar/RangeCalendar.d.ts +0 -42
  317. package/dist/calendar/RangeCalendar.d.ts.map +0 -1
  318. package/dist/calendar/TimeField.d.ts +0 -44
  319. package/dist/calendar/TimeField.d.ts.map +0 -1
  320. package/dist/calendar/index.d.ts +0 -50
  321. package/dist/calendar/index.d.ts.map +0 -1
  322. package/dist/checkbox/index.d.ts +0 -43
  323. package/dist/checkbox/index.d.ts.map +0 -1
  324. package/dist/color/index.d.ts +0 -228
  325. package/dist/color/index.d.ts.map +0 -1
  326. package/dist/combobox/index.d.ts +0 -81
  327. package/dist/combobox/index.d.ts.map +0 -1
  328. package/dist/dialog/Dialog.d.ts +0 -67
  329. package/dist/dialog/Dialog.d.ts.map +0 -1
  330. package/dist/dialog/index.d.ts +0 -3
  331. package/dist/dialog/index.d.ts.map +0 -1
  332. package/dist/disclosure/index.d.ts +0 -84
  333. package/dist/disclosure/index.d.ts.map +0 -1
  334. package/dist/gridlist/index.d.ts +0 -92
  335. package/dist/gridlist/index.d.ts.map +0 -1
  336. package/dist/icon/icons/GitHubIcon.d.ts +0 -7
  337. package/dist/icon/icons/GitHubIcon.d.ts.map +0 -1
  338. package/dist/icon/index.d.ts +0 -28
  339. package/dist/icon/index.d.ts.map +0 -1
  340. package/dist/index.js.map +0 -7
  341. package/dist/index.ssr.js +0 -6631
  342. package/dist/index.ssr.js.map +0 -7
  343. package/dist/landmark/index.d.ts +0 -83
  344. package/dist/landmark/index.d.ts.map +0 -1
  345. package/dist/link/index.d.ts +0 -39
  346. package/dist/link/index.d.ts.map +0 -1
  347. package/dist/listbox/index.d.ts +0 -47
  348. package/dist/listbox/index.d.ts.map +0 -1
  349. package/dist/menu/index.d.ts +0 -74
  350. package/dist/menu/index.d.ts.map +0 -1
  351. package/dist/meter/index.d.ts +0 -49
  352. package/dist/meter/index.d.ts.map +0 -1
  353. package/dist/numberfield/index.d.ts +0 -50
  354. package/dist/numberfield/index.d.ts.map +0 -1
  355. package/dist/popover/index.d.ts +0 -85
  356. package/dist/popover/index.d.ts.map +0 -1
  357. package/dist/progress-bar/index.d.ts +0 -49
  358. package/dist/progress-bar/index.d.ts.map +0 -1
  359. package/dist/radio/index.d.ts +0 -46
  360. package/dist/radio/index.d.ts.map +0 -1
  361. package/dist/searchfield/index.d.ts +0 -44
  362. package/dist/searchfield/index.d.ts.map +0 -1
  363. package/dist/select/index.d.ts +0 -72
  364. package/dist/select/index.d.ts.map +0 -1
  365. package/dist/separator/index.d.ts +0 -42
  366. package/dist/separator/index.d.ts.map +0 -1
  367. package/dist/slider/index.d.ts +0 -53
  368. package/dist/slider/index.d.ts.map +0 -1
  369. package/dist/switch/ToggleSwitch.d.ts +0 -28
  370. package/dist/switch/ToggleSwitch.d.ts.map +0 -1
  371. package/dist/switch/index.d.ts +0 -26
  372. package/dist/switch/index.d.ts.map +0 -1
  373. package/dist/table/index.d.ts +0 -140
  374. package/dist/table/index.d.ts.map +0 -1
  375. package/dist/tabs/index.d.ts +0 -56
  376. package/dist/tabs/index.d.ts.map +0 -1
  377. package/dist/tag-group/index.d.ts +0 -80
  378. package/dist/tag-group/index.d.ts.map +0 -1
  379. package/dist/test-utils/index.d.ts +0 -44
  380. package/dist/test-utils/index.d.ts.map +0 -1
  381. package/dist/textfield/index.d.ts +0 -31
  382. package/dist/textfield/index.d.ts.map +0 -1
  383. package/dist/toast/index.d.ts +0 -101
  384. package/dist/toast/index.d.ts.map +0 -1
  385. package/dist/toolbar/index.d.ts +0 -42
  386. package/dist/toolbar/index.d.ts.map +0 -1
  387. package/dist/tooltip/index.d.ts +0 -78
  388. package/dist/tooltip/index.d.ts.map +0 -1
  389. package/dist/tree/index.d.ts +0 -99
  390. package/dist/tree/index.d.ts.map +0 -1
  391. package/src/alert/index.tsx +0 -48
  392. package/src/assets/favicon.png +0 -0
  393. package/src/assets/fire.gif +0 -0
  394. package/src/autocomplete/index.tsx +0 -313
  395. package/src/avatar/index.tsx +0 -75
  396. package/src/badge/index.tsx +0 -43
  397. package/src/breadcrumbs/index.tsx +0 -207
  398. package/src/button/Button.tsx +0 -74
  399. package/src/button/index.ts +0 -2
  400. package/src/button/types.ts +0 -24
  401. package/src/calendar/DateField.tsx +0 -200
  402. package/src/calendar/DatePicker.tsx +0 -298
  403. package/src/calendar/RangeCalendar.tsx +0 -236
  404. package/src/calendar/TimeField.tsx +0 -196
  405. package/src/calendar/index.tsx +0 -223
  406. package/src/checkbox/index.tsx +0 -257
  407. package/src/color/index.tsx +0 -687
  408. package/src/combobox/index.tsx +0 -383
  409. package/src/dialog/Dialog.tsx +0 -260
  410. package/src/dialog/index.tsx +0 -3
  411. package/src/disclosure/index.tsx +0 -307
  412. package/src/gridlist/index.tsx +0 -403
  413. package/src/icon/icons/GitHubIcon.tsx +0 -20
  414. package/src/icon/index.tsx +0 -48
  415. package/src/landmark/index.tsx +0 -231
  416. package/src/link/index.tsx +0 -130
  417. package/src/listbox/index.tsx +0 -231
  418. package/src/menu/index.tsx +0 -297
  419. package/src/meter/index.tsx +0 -163
  420. package/src/numberfield/index.tsx +0 -482
  421. package/src/popover/index.tsx +0 -260
  422. package/src/progress-bar/index.tsx +0 -169
  423. package/src/radio/index.tsx +0 -173
  424. package/src/searchfield/index.tsx +0 -453
  425. package/src/select/index.tsx +0 -349
  426. package/src/separator/index.tsx +0 -141
  427. package/src/slider/index.tsx +0 -382
  428. package/src/switch/ToggleSwitch.tsx +0 -112
  429. package/src/switch/index.tsx +0 -90
  430. package/src/table/index.tsx +0 -531
  431. package/src/tabs/index.tsx +0 -273
  432. package/src/tag-group/index.tsx +0 -240
  433. package/src/test-utils/index.ts +0 -40
  434. package/src/textfield/index.tsx +0 -211
  435. package/src/toast/index.tsx +0 -324
  436. package/src/toolbar/index.tsx +0 -108
  437. package/src/tooltip/index.tsx +0 -197
  438. package/src/tree/index.tsx +0 -494
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorField";
@@ -0,0 +1,2 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSlider";
2
+ //# sourceMappingURL=ColorSlider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSlider.d.ts","sourceRoot":"","sources":["../src/ColorSlider.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSlider";
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSlider";
@@ -0,0 +1,2 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatch";
2
+ //# sourceMappingURL=ColorSwatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatch.d.ts","sourceRoot":"","sources":["../src/ColorSwatch.ts"],"names":[],"mappings":"AAAA,cAAc,8CAA8C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatch";
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatch";
@@ -0,0 +1,2 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatchPicker";
2
+ //# sourceMappingURL=ColorSwatchPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorSwatchPicker.d.ts","sourceRoot":"","sources":["../src/ColorSwatchPicker.ts"],"names":[],"mappings":"AAAA,cAAc,oDAAoD,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatchPicker";
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorSwatchPicker";
@@ -0,0 +1,2 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorWheel";
2
+ //# sourceMappingURL=ColorWheel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorWheel.d.ts","sourceRoot":"","sources":["../src/ColorWheel.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorWheel";
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ColorWheel";
@@ -0,0 +1,3 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/ContrastIcon";
2
+ export { default } from "@proyecto-viviana/solid-spectrum/ContrastIcon";
3
+ //# sourceMappingURL=ContrastIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContrastIcon.d.ts","sourceRoot":"","sources":["../src/ContrastIcon.ts"],"names":[],"mappings":"AAAA,cAAc,+CAA+C,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import ContrastIcon_default from "@proyecto-viviana/solid-spectrum/ContrastIcon";
2
+ export * from "@proyecto-viviana/solid-spectrum/ContrastIcon";
3
+ export { ContrastIcon_default as default };
@@ -0,0 +1,3 @@
1
+ import ContrastIcon_default from "@proyecto-viviana/solid-spectrum/ContrastIcon";
2
+ export * from "@proyecto-viviana/solid-spectrum/ContrastIcon";
3
+ export { ContrastIcon_default as default };
@@ -0,0 +1,2 @@
1
+ export * from "./custom/conversation";
2
+ //# sourceMappingURL=Conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Conversation.d.ts","sourceRoot":"","sources":["../src/Conversation.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,177 @@
1
+ /* empty css */
2
+ import { Avatar } from "@proyecto-viviana/solid-spectrum";
3
+ import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, template } from "solid-js/web";
4
+ import { For, Show } from "solid-js";
5
+ import { Button } from "@proyecto-viviana/solidaria-components";
6
+ //#region src/custom/conversation/index.tsx
7
+ var _tmpl$ = /*#__PURE__*/ template(`<span class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xc13 _xa13 xfd13 _xfa13 xfX0cczbc13 _xfX0cczba13 _Fd13 _FnuYUweb13 pcoywsd13 _va13">`), _tmpl$2 = /*#__PURE__*/ template(`<p class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13 _Nc13 Pc13 _Yb13 _7c13">`), _tmpl$3 = /*#__PURE__*/ template(`<div class=" sd13 _ta13 Ua13 qa13 _ub13 Na13"><div class=" sd13 eb13 _Ce13 Ue13 qe13"><span class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-c13 vx13 xd13 _xa13 xX0cczbc13 _xX0cczba13 _Fd13 _FnuYUweb13 pXDQpyb13 _Nc13 Pc13 _Yb13 _7c13"></span><!$><!/></div><!$><!/>`), _tmpl$4 = /*#__PURE__*/ template(`<span class=" sd13 eb13 _Ca13 _va13 Zm13 Fn13 og13 ng13 kg13 jg13 uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xd13 _xa13 xX0cczbc13 _xX0cczba13 _Fd13 _FnuYUweb13 pTloWE13 gj1j4Pd13">`), _tmpl$5 = /*#__PURE__*/ template(`<span>`), _tmpl$6 = /*#__PURE__*/ template(`<div><div><p></p><!$><!/>`), _tmpl$7 = /*#__PURE__*/ template(`<div>`);
8
+ const preview = " sd13 eb13 Ug13 qg13 Za13 Te13 Qe13 Se13 Re13 oc13 nc13 kc13 jc13 _Wd13 ry13 g913 _je13";
9
+ function ConversationPreview(props) {
10
+ return createComponent(Button, {
11
+ type: "button",
12
+ get ["class"]() {
13
+ return `${preview} ${props.class ?? ""}`;
14
+ },
15
+ onPress: () => props.onClick?.(),
16
+ get children() {
17
+ return [
18
+ createComponent(Avatar, {
19
+ get src() {
20
+ return props.user.avatar;
21
+ },
22
+ get alt() {
23
+ return props.user.name;
24
+ },
25
+ get online() {
26
+ return props.user.online;
27
+ },
28
+ size: "md"
29
+ }),
30
+ (() => {
31
+ var _el$ = getNextElement(_tmpl$3), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling, [_el$6, _co$] = getNextMarker(_el$5.nextSibling), _el$8 = _el$2.nextSibling, [_el$9, _co$2] = getNextMarker(_el$8.nextSibling);
32
+ insert(_el$3, () => props.user.name);
33
+ insert(_el$2, createComponent(Show, {
34
+ get when() {
35
+ return props.timestamp;
36
+ },
37
+ get children() {
38
+ var _el$4 = getNextElement(_tmpl$);
39
+ insert(_el$4, () => props.timestamp);
40
+ return _el$4;
41
+ }
42
+ }), _el$6, _co$);
43
+ insert(_el$, createComponent(Show, {
44
+ get when() {
45
+ return props.lastMessage;
46
+ },
47
+ get children() {
48
+ var _el$7 = getNextElement(_tmpl$2);
49
+ insert(_el$7, () => props.lastMessage);
50
+ return _el$7;
51
+ }
52
+ }), _el$9, _co$2);
53
+ return _el$;
54
+ })(),
55
+ createComponent(Show, {
56
+ get when() {
57
+ return memo(() => !!props.unreadCount)() && props.unreadCount > 0;
58
+ },
59
+ get children() {
60
+ var _el$0 = getNextElement(_tmpl$4);
61
+ insert(_el$0, () => props.unreadCount);
62
+ return _el$0;
63
+ }
64
+ })
65
+ ];
66
+ }
67
+ });
68
+ }
69
+ const bubbleRow = function anonymous(props) {
70
+ let rules = " ";
71
+ rules += " sd13";
72
+ if (props.isUser) rules += " _Cb13";
73
+ else rules += " _Cg13";
74
+ return rules;
75
+ };
76
+ const bubble = function anonymous(props) {
77
+ let rules = " ";
78
+ rules += " sd13";
79
+ rules += " _ta13";
80
+ rules += " Ua13";
81
+ rules += " qa13";
82
+ rules += " LbmOfn13";
83
+ rules += " Sf13";
84
+ rules += " Rf13";
85
+ rules += " Tt13";
86
+ rules += " Qt13";
87
+ rules += " oc13";
88
+ rules += " nc13";
89
+ rules += " kc13";
90
+ rules += " jc13";
91
+ if (props.isUser) rules += " gj1j4Pd13";
92
+ else rules += " gg0eWE13";
93
+ if (props.isUser) rules += " pTloWE13";
94
+ else rules += " pXDQpyb13";
95
+ return rules;
96
+ };
97
+ const bubbleTime = function anonymous(props) {
98
+ let rules = " ";
99
+ rules += " uk13";
100
+ rules += " ucJ9TBTb13";
101
+ rules += " ud3Euai13";
102
+ rules += " uea13";
103
+ rules += " ugb13";
104
+ rules += " uhd13";
105
+ rules += " uje13";
106
+ rules += " u2NhKxcl13";
107
+ rules += " uic13";
108
+ rules += " -_6BNtrc-b13";
109
+ rules += " vx13";
110
+ rules += " xc13";
111
+ rules += " _xa13";
112
+ rules += " xfd13";
113
+ rules += " _xfa13";
114
+ rules += " xfX0cczbc13";
115
+ rules += " _xfX0cczba13";
116
+ rules += " _Fd13";
117
+ rules += " _FnuYUweb13";
118
+ if (props.isUser) rules += " pg0eWE13";
119
+ else rules += " pcoywsd13";
120
+ return rules;
121
+ };
122
+ function ConversationBubble(props) {
123
+ const isUser = () => props.sender === "user";
124
+ return (() => {
125
+ var _el$1 = getNextElement(_tmpl$6), _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$13 = _el$11.nextSibling, [_el$14, _co$3] = getNextMarker(_el$13.nextSibling);
126
+ insert(_el$11, () => props.content);
127
+ insert(_el$10, createComponent(Show, {
128
+ get when() {
129
+ return props.timestamp;
130
+ },
131
+ get children() {
132
+ var _el$12 = getNextElement(_tmpl$5);
133
+ insert(_el$12, () => props.timestamp);
134
+ effect(() => className(_el$12, bubbleTime({ isUser: isUser() })));
135
+ return _el$12;
136
+ }
137
+ }), _el$14, _co$3);
138
+ effect((_p$) => {
139
+ var _v$ = `${bubbleRow({ isUser: isUser() })} ${props.class ?? ""}`, _v$2 = bubble({ isUser: isUser() });
140
+ _v$ !== _p$.e && className(_el$1, _p$.e = _v$);
141
+ _v$2 !== _p$.t && className(_el$10, _p$.t = _v$2);
142
+ return _p$;
143
+ }, {
144
+ e: void 0,
145
+ t: void 0
146
+ });
147
+ return _el$1;
148
+ })();
149
+ }
150
+ const thread = " sd13 _ta13 Ue13 qe13 Tf13 Qf13 Sf13 Rf13";
151
+ function Conversation(props) {
152
+ return (() => {
153
+ var _el$15 = getNextElement(_tmpl$7);
154
+ insert(_el$15, createComponent(For, {
155
+ get each() {
156
+ return props.messages;
157
+ },
158
+ children: (message) => createComponent(ConversationBubble, {
159
+ get content() {
160
+ return message.content;
161
+ },
162
+ get sender() {
163
+ return message.sender;
164
+ },
165
+ get timestamp() {
166
+ return message.timestamp;
167
+ }
168
+ })
169
+ }));
170
+ effect(() => className(_el$15, `${thread} ${props.class ?? ""}`));
171
+ return _el$15;
172
+ })();
173
+ }
174
+ //#endregion
175
+ export { Conversation, ConversationBubble, ConversationPreview };
176
+
177
+ //# sourceMappingURL=Conversation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Conversation.js","names":[],"sources":["../src/custom/conversation/index.tsx"],"sourcesContent":["import { Show, For } from \"solid-js\";\nimport { Avatar } from \"@proyecto-viviana/solid-spectrum\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). A conversation preview row, message bubbles, and a thread\n// list, on the S2 spacing/radius ramps in Silapse colors.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport interface Message {\n id: string;\n content: string;\n sender: \"user\" | \"other\";\n timestamp?: string;\n}\n\nexport interface ConversationPreviewProps {\n user: {\n name: string;\n avatar?: string;\n online?: boolean;\n };\n lastMessage?: string;\n unreadCount?: number;\n timestamp?: string;\n onClick?: () => void;\n class?: string;\n}\n\nconst preview = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n width: \"full\",\n padding: 12,\n borderRadius: \"lg\",\n textAlign: \"start\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n borderStyle: \"none\",\n});\n\nconst previewBody = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n flexGrow: 1,\n minWidth: 0,\n});\n\nconst previewTop = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: 8,\n});\n\nconst previewName = style({\n font: \"ui\",\n fontWeight: \"bold\",\n color: \"[var(--color-primary-100)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst previewTime = style({\n font: \"detail-sm\",\n color: \"[var(--color-text-muted)]\",\n flexShrink: 0,\n});\n\nconst previewMessage = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst unread = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n width: 20,\n height: 20,\n borderRadius: \"full\",\n font: \"detail-sm\",\n fontWeight: \"bold\",\n backgroundColor: \"[var(--color-accent)]\",\n color: \"[var(--color-bg-400)]\",\n});\n\nexport function ConversationPreview(props: ConversationPreviewProps) {\n return (\n <HeadlessButton\n type=\"button\"\n class={`${preview} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Avatar src={props.user.avatar} alt={props.user.name} online={props.user.online} size=\"md\" />\n <div class={previewBody}>\n <div class={previewTop}>\n <span class={previewName}>{props.user.name}</span>\n <Show when={props.timestamp}>\n <span class={previewTime}>{props.timestamp}</span>\n </Show>\n </div>\n <Show when={props.lastMessage}>\n <p class={previewMessage}>{props.lastMessage}</p>\n </Show>\n </div>\n <Show when={props.unreadCount && props.unreadCount > 0}>\n <span class={unread}>{props.unreadCount}</span>\n </Show>\n </HeadlessButton>\n );\n}\n\nexport interface ConversationBubbleProps {\n content: string;\n sender: \"user\" | \"other\";\n timestamp?: string;\n class?: string;\n}\n\nconst bubbleRow = style<{ isUser: boolean }>({\n display: \"flex\",\n justifyContent: { default: \"start\", isUser: \"end\" },\n});\n\nconst bubble = style<{ isUser: boolean }>({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n maxWidth: \"[70%]\",\n paddingX: 16,\n paddingY: 8,\n borderRadius: \"lg\",\n backgroundColor: {\n default: \"[var(--color-bg-300)]\",\n isUser: \"[var(--color-accent)]\",\n },\n color: {\n default: \"[var(--color-primary-100)]\",\n isUser: \"[var(--color-bg-400)]\",\n },\n});\n\nconst bubbleTime = style<{ isUser: boolean }>({\n font: \"detail-sm\",\n color: {\n default: \"[var(--color-text-muted)]\",\n isUser: \"[var(--color-bg-300)]\",\n },\n});\n\nexport function ConversationBubble(props: ConversationBubbleProps) {\n const isUser = () => props.sender === \"user\";\n\n return (\n <div class={`${bubbleRow({ isUser: isUser() })} ${props.class ?? \"\"}`}>\n <div class={bubble({ isUser: isUser() })}>\n <p>{props.content}</p>\n <Show when={props.timestamp}>\n <span class={bubbleTime({ isUser: isUser() })}>{props.timestamp}</span>\n </Show>\n </div>\n </div>\n );\n}\n\nexport interface ConversationProps {\n messages: Message[];\n class?: string;\n}\n\nconst thread = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n padding: 16,\n});\n\nexport function Conversation(props: ConversationProps) {\n return (\n <div class={`${thread} ${props.class ?? \"\"}`}>\n <For each={props.messages}>\n {(message) => (\n <ConversationBubble\n content={message.content}\n sender={message.sender}\n timestamp={message.timestamp}\n />\n )}\n </For>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /* empty css */
2
+ import { Avatar } from "@proyecto-viviana/solid-spectrum";
3
+ import { For, Show } from "solid-js";
4
+ import { Button } from "@proyecto-viviana/solidaria-components";
5
+ //#region src/custom/conversation/index.tsx
6
+ const preview = " sd13 eb13 Ug13 qg13 Za13 Te13 Qe13 Se13 Re13 oc13 nc13 kc13 jc13 _Wd13 ry13 g913 _je13";
7
+ const previewBody = " sd13 _ta13 Ua13 qa13 _ub13 Na13";
8
+ const previewTop = " sd13 eb13 _Ce13 Ue13 qe13";
9
+ const previewName = " uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-c13 vx13 xd13 _xa13 xX0cczbc13 _xX0cczba13 _Fd13 _FnuYUweb13 pXDQpyb13 _Nc13 Pc13 _Yb13 _7c13";
10
+ const previewTime = " uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xc13 _xa13 xfd13 _xfa13 xfX0cczbc13 _xfX0cczba13 _Fd13 _FnuYUweb13 pcoywsd13 _va13";
11
+ const previewMessage = " uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13 _Nc13 Pc13 _Yb13 _7c13";
12
+ const unread = " sd13 eb13 _Ca13 _va13 Zm13 Fn13 og13 ng13 kg13 jg13 uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xd13 _xa13 xX0cczbc13 _xX0cczba13 _Fd13 _FnuYUweb13 pTloWE13 gj1j4Pd13";
13
+ function ConversationPreview(props) {
14
+ return <Button type="button" class={`${preview} ${props.class ?? ""}`} onPress={() => props.onClick?.()}>
15
+ <Avatar src={props.user.avatar} alt={props.user.name} online={props.user.online} size="md" />
16
+ <div class={previewBody}>
17
+ <div class={previewTop}>
18
+ <span class={previewName}>{props.user.name}</span>
19
+ <Show when={props.timestamp}>
20
+ <span class={previewTime}>{props.timestamp}</span>
21
+ </Show>
22
+ </div>
23
+ <Show when={props.lastMessage}>
24
+ <p class={previewMessage}>{props.lastMessage}</p>
25
+ </Show>
26
+ </div>
27
+ <Show when={props.unreadCount && props.unreadCount > 0}>
28
+ <span class={unread}>{props.unreadCount}</span>
29
+ </Show>
30
+ </Button>;
31
+ }
32
+ const bubbleRow = function anonymous(props) {
33
+ let rules = " ";
34
+ rules += " sd13";
35
+ if (props.isUser) rules += " _Cb13";
36
+ else rules += " _Cg13";
37
+ return rules;
38
+ };
39
+ const bubble = function anonymous(props) {
40
+ let rules = " ";
41
+ rules += " sd13";
42
+ rules += " _ta13";
43
+ rules += " Ua13";
44
+ rules += " qa13";
45
+ rules += " LbmOfn13";
46
+ rules += " Sf13";
47
+ rules += " Rf13";
48
+ rules += " Tt13";
49
+ rules += " Qt13";
50
+ rules += " oc13";
51
+ rules += " nc13";
52
+ rules += " kc13";
53
+ rules += " jc13";
54
+ if (props.isUser) rules += " gj1j4Pd13";
55
+ else rules += " gg0eWE13";
56
+ if (props.isUser) rules += " pTloWE13";
57
+ else rules += " pXDQpyb13";
58
+ return rules;
59
+ };
60
+ const bubbleTime = function anonymous(props) {
61
+ let rules = " ";
62
+ rules += " uk13";
63
+ rules += " ucJ9TBTb13";
64
+ rules += " ud3Euai13";
65
+ rules += " uea13";
66
+ rules += " ugb13";
67
+ rules += " uhd13";
68
+ rules += " uje13";
69
+ rules += " u2NhKxcl13";
70
+ rules += " uic13";
71
+ rules += " -_6BNtrc-b13";
72
+ rules += " vx13";
73
+ rules += " xc13";
74
+ rules += " _xa13";
75
+ rules += " xfd13";
76
+ rules += " _xfa13";
77
+ rules += " xfX0cczbc13";
78
+ rules += " _xfX0cczba13";
79
+ rules += " _Fd13";
80
+ rules += " _FnuYUweb13";
81
+ if (props.isUser) rules += " pg0eWE13";
82
+ else rules += " pcoywsd13";
83
+ return rules;
84
+ };
85
+ function ConversationBubble(props) {
86
+ const isUser = () => props.sender === "user";
87
+ return <div class={`${bubbleRow({ isUser: isUser() })} ${props.class ?? ""}`}>
88
+ <div class={bubble({ isUser: isUser() })}>
89
+ <p>{props.content}</p>
90
+ <Show when={props.timestamp}>
91
+ <span class={bubbleTime({ isUser: isUser() })}>{props.timestamp}</span>
92
+ </Show>
93
+ </div>
94
+ </div>;
95
+ }
96
+ const thread = " sd13 _ta13 Ue13 qe13 Tf13 Qf13 Sf13 Rf13";
97
+ function Conversation(props) {
98
+ return <div class={`${thread} ${props.class ?? ""}`}>
99
+ <For each={props.messages}>
100
+ {(message) => <ConversationBubble content={message.content} sender={message.sender} timestamp={message.timestamp} />}
101
+ </For>
102
+ </div>;
103
+ }
104
+ //#endregion
105
+ export { Conversation, ConversationBubble, ConversationPreview };
106
+
107
+ //# sourceMappingURL=Conversation.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Conversation.jsx","names":[],"sources":["../src/custom/conversation/index.tsx"],"sourcesContent":["import { Show, For } from \"solid-js\";\nimport { Avatar } from \"@proyecto-viviana/solid-spectrum\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). A conversation preview row, message bubbles, and a thread\n// list, on the S2 spacing/radius ramps in Silapse colors.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport interface Message {\n id: string;\n content: string;\n sender: \"user\" | \"other\";\n timestamp?: string;\n}\n\nexport interface ConversationPreviewProps {\n user: {\n name: string;\n avatar?: string;\n online?: boolean;\n };\n lastMessage?: string;\n unreadCount?: number;\n timestamp?: string;\n onClick?: () => void;\n class?: string;\n}\n\nconst preview = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n width: \"full\",\n padding: 12,\n borderRadius: \"lg\",\n textAlign: \"start\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n borderStyle: \"none\",\n});\n\nconst previewBody = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n flexGrow: 1,\n minWidth: 0,\n});\n\nconst previewTop = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: 8,\n});\n\nconst previewName = style({\n font: \"ui\",\n fontWeight: \"bold\",\n color: \"[var(--color-primary-100)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst previewTime = style({\n font: \"detail-sm\",\n color: \"[var(--color-text-muted)]\",\n flexShrink: 0,\n});\n\nconst previewMessage = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst unread = style({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n width: 20,\n height: 20,\n borderRadius: \"full\",\n font: \"detail-sm\",\n fontWeight: \"bold\",\n backgroundColor: \"[var(--color-accent)]\",\n color: \"[var(--color-bg-400)]\",\n});\n\nexport function ConversationPreview(props: ConversationPreviewProps) {\n return (\n <HeadlessButton\n type=\"button\"\n class={`${preview} ${props.class ?? \"\"}`}\n onPress={() => props.onClick?.()}\n >\n <Avatar src={props.user.avatar} alt={props.user.name} online={props.user.online} size=\"md\" />\n <div class={previewBody}>\n <div class={previewTop}>\n <span class={previewName}>{props.user.name}</span>\n <Show when={props.timestamp}>\n <span class={previewTime}>{props.timestamp}</span>\n </Show>\n </div>\n <Show when={props.lastMessage}>\n <p class={previewMessage}>{props.lastMessage}</p>\n </Show>\n </div>\n <Show when={props.unreadCount && props.unreadCount > 0}>\n <span class={unread}>{props.unreadCount}</span>\n </Show>\n </HeadlessButton>\n );\n}\n\nexport interface ConversationBubbleProps {\n content: string;\n sender: \"user\" | \"other\";\n timestamp?: string;\n class?: string;\n}\n\nconst bubbleRow = style<{ isUser: boolean }>({\n display: \"flex\",\n justifyContent: { default: \"start\", isUser: \"end\" },\n});\n\nconst bubble = style<{ isUser: boolean }>({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 2,\n maxWidth: \"[70%]\",\n paddingX: 16,\n paddingY: 8,\n borderRadius: \"lg\",\n backgroundColor: {\n default: \"[var(--color-bg-300)]\",\n isUser: \"[var(--color-accent)]\",\n },\n color: {\n default: \"[var(--color-primary-100)]\",\n isUser: \"[var(--color-bg-400)]\",\n },\n});\n\nconst bubbleTime = style<{ isUser: boolean }>({\n font: \"detail-sm\",\n color: {\n default: \"[var(--color-text-muted)]\",\n isUser: \"[var(--color-bg-300)]\",\n },\n});\n\nexport function ConversationBubble(props: ConversationBubbleProps) {\n const isUser = () => props.sender === \"user\";\n\n return (\n <div class={`${bubbleRow({ isUser: isUser() })} ${props.class ?? \"\"}`}>\n <div class={bubble({ isUser: isUser() })}>\n <p>{props.content}</p>\n <Show when={props.timestamp}>\n <span class={bubbleTime({ isUser: isUser() })}>{props.timestamp}</span>\n </Show>\n </div>\n </div>\n );\n}\n\nexport interface ConversationProps {\n messages: Message[];\n class?: string;\n}\n\nconst thread = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n padding: 16,\n});\n\nexport function Conversation(props: ConversationProps) {\n return (\n <div class={`${thread} ${props.class ?? \"\"}`}>\n <For each={props.messages}>\n {(message) => (\n <ConversationBubble\n content={message.content}\n sender={message.sender}\n timestamp={message.timestamp}\n />\n )}\n </For>\n </div>\n );\n}\n"],"mappings":";;;;;;;;AA4BA,MAAM,cAAA;AAaN,MAAM,cAAA;AAQN,MAAM,iBAAA;AAON,MAAM,SAAA;AASN,SAAM,oBAAA,OAAA;CAMN,OAAM,CAAA,OAAA,cAAA,OAAA,GAAA,QAAA,GAAA,MAAA,SAAA,MAAA,eAAA,MAAA,UAAA,GAAA;MAQA,CAAA,OAAA,KAAA,MAAA,KAAA,QAAA,KAAA,MAAA,KAAA,MAAA,QAAA,MAAA,KAAA,QAAA,YAAA;MAcN,CAAA,IAAgB,OAAA,aAAoB;QAC3B,CACJ,IAAA,OACC,YACA;UAGC,CAAA,KAAO,OAAK,cAAW,MAAa,KAAA,KAAM,EAAK,KAAM;UACrD,CAAI,KAAA,MAAO,MAAA,WAAa;YACtB,CAAI,KAAA,OAAO,cAAY,MAAA,UAAA,EAAA,KAAA;UACtB,EAAC,KAAK;UACN,IAAC;cACE,MAAK,MAAO,aAAc;UAC7B,CAAA,EAAE,OAAK,iBAAA,MAAA,YAAA,EAAA,EAAA;QACT,EAAE,KAAI;QACN,IAAC;YACE,MAAE,MAAO,eAAiB,MAAM,cAAgB,GAAA;QACnD,CAAA,KAAE,OAAK,SAAA,MAAA,YAAA,EAAA,KAAA;MACT,EAAE,KAAI;MACN;;MAEA,YAAO,SAAA,UAAA,OAAA;KACT,QAAE;CAEN,SAAA;CASA,IAAA,MAAM,QAAA,SAAA;;;;;;;CAKN,SAAM;;;;;;;;;;;;;;;;;;;;;CAkBN,SAAM;;;;;;;;;;;;;;;;;;;;;;;;;MAQN,CAAA,IAAgB,OAAA,OAAA,EAAA,QAAiD,OAAA,EAAA,CAAA,GAAA;QACzD,CAAA,GAAA,MAAA,QAAe,EAAM,EAAA;QAEpB,CACJ,KAAI,MAAO,MAAG,WAAY;UACxB,CAAI,KAAA,OAAO,WAAS,EAAQ,QAAS,OAAI,EAAA,CAAA,IAAA,MAAA,UAAA,EAAA,KAAA;QACxC,EAAC,KAAG;QACJ,IAAC;;;MAGH,SAAM;SACN,aAAA,OAAA;CAEN,OAAA,CAAA,IAAA,OAAA,GAAA,OAAA,GAAA,MAAA,SAAA,MAAA;MAOM,CAAA,IAAA,MAAA,MAAA,UAAA;UAOU,YAAa,CAAA,mBAAwB,SAAA,QAAA,SAAA,QAAA,QAAA,QAAA,WAAA,QAAA,cAAA;MACnD,EAAO,IACJ;MACC;;;AAWN,SAAA,cAAA,oBAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/Disclosure";
2
+ //# sourceMappingURL=Disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Disclosure.d.ts","sourceRoot":"","sources":["../src/Disclosure.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/Disclosure";
@@ -0,0 +1 @@
1
+ export * from "@proyecto-viviana/solid-spectrum/Disclosure";
@@ -0,0 +1,2 @@
1
+ export * from "./custom/event-card";
2
+ //# sourceMappingURL=EventCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventCard.d.ts","sourceRoot":"","sources":["../src/EventCard.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,173 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ /* empty css */
4
+ import { Avatar } from "@proyecto-viviana/solid-spectrum";
5
+ import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, setAttribute, template } from "solid-js/web";
6
+ import { For, Show } from "solid-js";
7
+ import { Button } from "@proyecto-viviana/solidaria-components";
8
+ //#region src/custom/event-card/index.tsx
9
+ var _tmpl$ = /*#__PURE__*/ template(`<img class=" _Pa13 WJ13 _zI13 ZC13 Fx13 _Ha13"alt>`), _tmpl$2 = /*#__PURE__*/ template(`<img class=" Za13 fu4qurc13 _Hb13">`), _tmpl$3 = /*#__PURE__*/ template(`<div class=" sd13 eb13 Ub13 qb13"><span class=" pj1j4Pd13">@</span><span>`), _tmpl$4 = /*#__PURE__*/ template(`<div class=" sd13 eb13 Ub13 qb13"><span class=" pj1j4Pd13">⏱</span><span>`), _tmpl$5 = /*#__PURE__*/ template(`<div class=" sd13 eb13 Ul13 ql13 uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13"><!$><!/><!$><!/>`), _tmpl$6 = /*#__PURE__*/ template(`<span class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13">+<!$><!/> más`), _tmpl$7 = /*#__PURE__*/ template(`<div class=" sd13 eb13 Ue13 qe13"><div class=" sd13 eb13 Ub13 qb13"></div><!$><!/>`), _tmpl$8 = /*#__PURE__*/ template(`<div class=" sd13 Ue13 qe13">`), _tmpl$9 = /*#__PURE__*/ template(`<div><!$><!/><!$><!/><div class=" sd13 _ta13 Ug13 qg13 Tf13 Qf13 Sf13 Rf13"><h3 class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-g13 vx13 xe13 _xa13 xX0cczbd13 _xX0cczba13 xfe13 _xfa13 xfX0cczbd13 _xfX0cczba13 _Fd13 _FnuYUweb13 pj1j4Pd13"></h3><!$><!/><!$><!/><!$><!/>`), _tmpl$0 = /*#__PURE__*/ template(`<img class=" ZF13 Fz13 _va13 ob13 nb13 kb13 jb13 _Hb13">`), _tmpl$1 = /*#__PURE__*/ template(`<p class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-b13 vx13 xb13 _xa13 _Fd13 _FnuYUweb13 pxeCuqc13 _Nc13 Pc13 _Yb13 _7c13">`), _tmpl$10 = /*#__PURE__*/ template(`<div class=" sd13 _ta13 _ub13 Na13"><h4 class=" uk13 ucJ9TBTb13 ud3Euai13 uea13 ugb13 uhd13 uje13 u2NhKxcl13 uic13 -_6BNtrc-c13 vx13 xc13 _xa13 _Fd13 _FnuYUweb13 pXDQpyb13 _Nc13 Pc13 _Yb13 _7c13"></h4><!$><!/>`);
10
+ const card = " _Pc13 sd13 _ta13 _Nc13 Pc13 oe13 ne13 ke13 je13 gDE5VE13 _nLeasBb13";
11
+ function EventCard(props) {
12
+ const displayedAttendees = () => props.attendees?.slice(0, 3) ?? [];
13
+ const remainingCount = () => {
14
+ return (props.attendeeCount ?? props.attendees?.length ?? 0) - displayedAttendees().length;
15
+ };
16
+ return (() => {
17
+ var _el$ = getNextElement(_tmpl$9), _el$31 = _el$.firstChild, [_el$32, _co$8] = getNextMarker(_el$31.nextSibling), _el$33 = _el$32.nextSibling, [_el$34, _co$9] = getNextMarker(_el$33.nextSibling), _el$4 = _el$34.nextSibling, _el$5 = _el$4.firstChild, _el$25 = _el$5.nextSibling, [_el$26, _co$5] = getNextMarker(_el$25.nextSibling), _el$27 = _el$26.nextSibling, [_el$28, _co$6] = getNextMarker(_el$27.nextSibling), _el$29 = _el$28.nextSibling, [_el$30, _co$7] = getNextMarker(_el$29.nextSibling);
18
+ insert(_el$, createComponent(Show, {
19
+ get when() {
20
+ return props.decorationImage;
21
+ },
22
+ get children() {
23
+ var _el$2 = getNextElement(_tmpl$);
24
+ effect(() => setAttribute(_el$2, "src", props.decorationImage));
25
+ return _el$2;
26
+ }
27
+ }), _el$32, _co$8);
28
+ insert(_el$, createComponent(Show, {
29
+ get when() {
30
+ return props.image;
31
+ },
32
+ get children() {
33
+ var _el$3 = getNextElement(_tmpl$2);
34
+ effect((_p$) => {
35
+ var _v$ = props.image, _v$2 = props.title;
36
+ _v$ !== _p$.e && setAttribute(_el$3, "src", _p$.e = _v$);
37
+ _v$2 !== _p$.t && setAttribute(_el$3, "alt", _p$.t = _v$2);
38
+ return _p$;
39
+ }, {
40
+ e: void 0,
41
+ t: void 0
42
+ });
43
+ return _el$3;
44
+ }
45
+ }), _el$34, _co$9);
46
+ insert(_el$5, () => props.title);
47
+ insert(_el$4, createComponent(Show, {
48
+ get when() {
49
+ return props.date || props.author;
50
+ },
51
+ get children() {
52
+ var _el$6 = getNextElement(_tmpl$5), _el$11 = _el$6.firstChild, [_el$12, _co$] = getNextMarker(_el$11.nextSibling), _el$13 = _el$12.nextSibling, [_el$14, _co$2] = getNextMarker(_el$13.nextSibling);
53
+ insert(_el$6, createComponent(Show, {
54
+ get when() {
55
+ return props.author;
56
+ },
57
+ get children() {
58
+ var _el$7 = getNextElement(_tmpl$3), _el$9 = _el$7.firstChild.nextSibling;
59
+ insert(_el$9, () => props.author);
60
+ return _el$7;
61
+ }
62
+ }), _el$12, _co$);
63
+ insert(_el$6, createComponent(Show, {
64
+ get when() {
65
+ return props.date;
66
+ },
67
+ get children() {
68
+ var _el$0 = getNextElement(_tmpl$4), _el$10 = _el$0.firstChild.nextSibling;
69
+ insert(_el$10, () => props.date);
70
+ return _el$0;
71
+ }
72
+ }), _el$14, _co$2);
73
+ return _el$6;
74
+ }
75
+ }), _el$26, _co$5);
76
+ insert(_el$4, createComponent(Show, {
77
+ get when() {
78
+ return displayedAttendees().length > 0;
79
+ },
80
+ get children() {
81
+ var _el$15 = getNextElement(_tmpl$7), _el$16 = _el$15.firstChild, _el$22 = _el$16.nextSibling, [_el$23, _co$4] = getNextMarker(_el$22.nextSibling);
82
+ insert(_el$16, createComponent(For, {
83
+ get each() {
84
+ return displayedAttendees();
85
+ },
86
+ children: (attendee) => createComponent(Avatar, {
87
+ get src() {
88
+ return attendee.avatar;
89
+ },
90
+ get alt() {
91
+ return attendee.name;
92
+ },
93
+ size: "sm"
94
+ })
95
+ }));
96
+ insert(_el$15, createComponent(Show, {
97
+ get when() {
98
+ return remainingCount() > 0;
99
+ },
100
+ get children() {
101
+ var _el$17 = getNextElement(_tmpl$6), _el$20 = _el$17.firstChild.nextSibling, [_el$21, _co$3] = getNextMarker(_el$20.nextSibling);
102
+ _el$21.nextSibling;
103
+ insert(_el$17, remainingCount, _el$21, _co$3);
104
+ return _el$17;
105
+ }
106
+ }), _el$23, _co$4);
107
+ return _el$15;
108
+ }
109
+ }), _el$28, _co$6);
110
+ insert(_el$4, createComponent(Show, {
111
+ get when() {
112
+ return props.actions;
113
+ },
114
+ get children() {
115
+ var _el$24 = getNextElement(_tmpl$8);
116
+ insert(_el$24, (() => {
117
+ var _c$ = memo(() => typeof props.actions === "function");
118
+ return () => _c$() ? props.actions() : props.actions;
119
+ })());
120
+ return _el$24;
121
+ }
122
+ }), _el$30, _co$7);
123
+ effect(() => className(_el$, `${card} ${props.class ?? ""}`));
124
+ return _el$;
125
+ })();
126
+ }
127
+ const listItem = " sd13 eb13 Ug13 qg13 Za13 Tt13 Qt13 St13 Rt13 oc13 nc13 kc13 jc13 _Wd13 ry13 g913 _je13";
128
+ function EventListItem(props) {
129
+ return createComponent(Button, {
130
+ get ["class"]() {
131
+ return `${listItem} ${props.class ?? ""}`;
132
+ },
133
+ onPress: () => props.onClick?.(),
134
+ get children() {
135
+ return [createComponent(Show, {
136
+ get when() {
137
+ return props.image;
138
+ },
139
+ get children() {
140
+ var _el$35 = getNextElement(_tmpl$0);
141
+ effect((_p$) => {
142
+ var _v$3 = props.image, _v$4 = props.title;
143
+ _v$3 !== _p$.e && setAttribute(_el$35, "src", _p$.e = _v$3);
144
+ _v$4 !== _p$.t && setAttribute(_el$35, "alt", _p$.t = _v$4);
145
+ return _p$;
146
+ }, {
147
+ e: void 0,
148
+ t: void 0
149
+ });
150
+ return _el$35;
151
+ }
152
+ }), (() => {
153
+ var _el$36 = getNextElement(_tmpl$10), _el$37 = _el$36.firstChild, _el$39 = _el$37.nextSibling, [_el$40, _co$0] = getNextMarker(_el$39.nextSibling);
154
+ insert(_el$37, () => props.title);
155
+ insert(_el$36, createComponent(Show, {
156
+ get when() {
157
+ return props.subtitle;
158
+ },
159
+ get children() {
160
+ var _el$38 = getNextElement(_tmpl$1);
161
+ insert(_el$38, () => props.subtitle);
162
+ return _el$38;
163
+ }
164
+ }), _el$40, _co$0);
165
+ return _el$36;
166
+ })()];
167
+ }
168
+ });
169
+ }
170
+ //#endregion
171
+ export { EventCard, EventListItem };
172
+
173
+ //# sourceMappingURL=EventCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventCard.js","names":[],"sources":["../src/custom/event-card/index.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { Show, For } from \"solid-js\";\nimport { Avatar } from \"@proyecto-viviana/solid-spectrum\";\nimport { Button as HeadlessButton } from \"@proyecto-viviana/solidaria-components\";\n// Styled via the S2 style() macro through viviana's own seam (../../style →\n// src/style.ts). An event summary card (S2 Card shape: preview + content +\n// footer) plus a compact list-item variant, on the S2 ramps in Silapse colors.\nimport { style } from \"../../style\" with { type: \"macro\" };\n\nexport interface EventCardProps {\n title: string;\n image?: string;\n date?: string;\n author?: string;\n authorAvatar?: string;\n attendees?: { avatar?: string; name: string }[];\n attendeeCount?: number;\n decorationImage?: string;\n /**\n * Actions to display below the event.\n * Use a function returning JSX for SSR compatibility: `actions={() => <Button>...</Button>}`\n */\n actions?: JSX.Element | (() => JSX.Element);\n class?: string;\n}\n\nconst card = style({\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n borderRadius: \"xl\",\n backgroundColor: \"[var(--color-bg-200)]\",\n boxShadow: \"elevated\",\n});\n\nconst decoration = style({\n position: \"absolute\",\n top: 8,\n insetEnd: 8,\n width: 32,\n height: 32,\n objectFit: \"contain\",\n});\n\nconst preview = style({\n width: \"full\",\n aspectRatio: \"16/9\",\n objectFit: \"cover\",\n});\n\nconst body = style({\n display: \"flex\",\n flexDirection: \"column\",\n gap: 12,\n padding: 16,\n});\n\nconst title = style({\n font: \"heading\",\n color: \"[var(--color-accent)]\",\n});\n\nconst meta = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 16,\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst metaItem = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 4,\n});\n\nconst metaIcon = style({\n color: \"[var(--color-accent)]\",\n});\n\nconst attendeesRow = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 8,\n});\n\nconst avatars = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 4,\n});\n\nconst more = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n});\n\nconst actionRow = style({\n display: \"flex\",\n gap: 8,\n});\n\nexport function EventCard(props: EventCardProps) {\n const displayedAttendees = () => props.attendees?.slice(0, 3) ?? [];\n const remainingCount = () => {\n const total = props.attendeeCount ?? props.attendees?.length ?? 0;\n const displayed = displayedAttendees().length;\n return total - displayed;\n };\n\n return (\n <div class={`${card} ${props.class ?? \"\"}`}>\n <Show when={props.decorationImage}>\n <img class={decoration} src={props.decorationImage} alt=\"\" />\n </Show>\n\n <Show when={props.image}>\n <img class={preview} src={props.image} alt={props.title} />\n </Show>\n\n <div class={body}>\n <h3 class={title}>{props.title}</h3>\n\n <Show when={props.date || props.author}>\n <div class={meta}>\n <Show when={props.author}>\n <div class={metaItem}>\n <span class={metaIcon}>@</span>\n <span>{props.author}</span>\n </div>\n </Show>\n <Show when={props.date}>\n <div class={metaItem}>\n <span class={metaIcon}>⏱</span>\n <span>{props.date}</span>\n </div>\n </Show>\n </div>\n </Show>\n\n <Show when={displayedAttendees().length > 0}>\n <div class={attendeesRow}>\n <div class={avatars}>\n <For each={displayedAttendees()}>\n {(attendee) => <Avatar src={attendee.avatar} alt={attendee.name} size=\"sm\" />}\n </For>\n </div>\n <Show when={remainingCount() > 0}>\n <span class={more}>+{remainingCount()} más</span>\n </Show>\n </div>\n </Show>\n\n <Show when={props.actions}>\n <div class={actionRow}>\n {typeof props.actions === \"function\" ? props.actions() : props.actions}\n </div>\n </Show>\n </div>\n </div>\n );\n}\n\nexport interface EventListItemProps {\n title: string;\n image?: string;\n subtitle?: string;\n onClick?: () => void;\n class?: string;\n}\n\nconst listItem = style({\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n width: \"full\",\n padding: 8,\n borderRadius: \"lg\",\n textAlign: \"start\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n borderStyle: \"none\",\n});\n\nconst thumb = style({\n width: 48,\n height: 48,\n flexShrink: 0,\n borderRadius: \"default\",\n objectFit: \"cover\",\n});\n\nconst listBody = style({\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1,\n minWidth: 0,\n});\n\nconst listTitle = style({\n font: \"ui\",\n fontWeight: \"medium\",\n color: \"[var(--color-primary-100)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nconst listSubtitle = style({\n font: \"ui-sm\",\n color: \"[var(--color-text-secondary)]\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n});\n\nexport function EventListItem(props: EventListItemProps) {\n return (\n <HeadlessButton class={`${listItem} ${props.class ?? \"\"}`} onPress={() => props.onClick?.()}>\n <Show when={props.image}>\n <img class={thumb} src={props.image} alt={props.title} />\n </Show>\n <div class={listBody}>\n <h4 class={listTitle}>{props.title}</h4>\n <Show when={props.subtitle}>\n <p class={listSubtitle}>{props.subtitle}</p>\n </Show>\n </div>\n </HeadlessButton>\n );\n}\n"],"mappings":"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"}