@proyecto-viviana/ui 0.3.5 → 0.4.1

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 +96 -0
  26. package/dist/CalendarCard.js.map +1 -0
  27. package/dist/CalendarCard.jsx +50 -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 +176 -0
  76. package/dist/Conversation.js.map +1 -0
  77. package/dist/Conversation.jsx +106 -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 +171 -0
  86. package/dist/EventCard.js.map +1 -0
  87. package/dist/EventCard.jsx +94 -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 +77 -0
  132. package/dist/ProfileCard.js.map +1 -0
  133. package/dist/ProfileCard.jsx +52 -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 +162 -0
  138. package/dist/ProjectCard.js.map +1 -0
  139. package/dist/ProjectCard.jsx +131 -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 +16 -0
  227. package/dist/vite.d.ts.map +1 -0
  228. package/dist/vite.js +82 -0
  229. package/dist/vite.js.map +1 -0
  230. package/dist/vite.jsx +82 -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 +108 -50
  277. package/src/custom/chip/index.tsx +63 -27
  278. package/src/custom/conversation/index.tsx +166 -55
  279. package/src/custom/event-card/index.tsx +195 -74
  280. package/src/custom/header/index.tsx +64 -33
  281. package/src/custom/lateral-nav/index.tsx +93 -38
  282. package/src/custom/logo/index.tsx +41 -39
  283. package/src/custom/nav-header/index.tsx +89 -25
  284. package/src/custom/page-layout/index.tsx +23 -19
  285. package/src/custom/profile-card/index.tsx +94 -35
  286. package/src/custom/project-card/index.tsx +57 -40
  287. package/src/custom/timeline-item/index.tsx +91 -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 +164 -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
@@ -1,74 +0,0 @@
1
- /**
2
- * Button component for proyecto-viviana-ui
3
- *
4
- * A styled button component built on top of solidaria-components.
5
- * This component only handles styling - all behavior and accessibility
6
- * is provided by the headless Button from solidaria-components.
7
- */
8
-
9
- import { type JSX, splitProps, mergeProps as solidMergeProps } from 'solid-js';
10
- import { Button as HeadlessButton, type ButtonRenderProps } from '@proyecto-viviana/solidaria-components';
11
- import type { ButtonProps } from './types';
12
-
13
- /**
14
- * Buttons allow users to perform an action or to navigate to another page.
15
- * They have multiple styles for various needs, and are ideal for calling attention to
16
- * where a user needs to do something in order to move forward in a flow.
17
- *
18
- * Built on solidaria-components Button for full accessibility support.
19
- * Styles are defined in components.css using the vui-button class system.
20
- */
21
- export function Button(props: ButtonProps): JSX.Element {
22
- const defaultProps: Partial<ButtonProps> = {
23
- variant: 'primary',
24
- buttonStyle: 'fill',
25
- size: 'md',
26
- };
27
-
28
- const merged = solidMergeProps(defaultProps, props);
29
-
30
- const [local, headlessProps] = splitProps(merged, [
31
- 'variant',
32
- 'buttonStyle',
33
- 'size',
34
- 'fullWidth',
35
- 'staticColor',
36
- 'class',
37
- ]);
38
-
39
- // Generate class based on render props
40
- const getClassName = (renderProps: ButtonRenderProps): string => {
41
- const classList = [
42
- 'vui-button',
43
- `vui-button--${local.buttonStyle}`,
44
- `vui-button--${local.variant}`,
45
- `vui-button--${local.size}`,
46
- ];
47
-
48
- if (renderProps.isPressed) {
49
- classList.push('is-pressed');
50
- }
51
-
52
- if (local.fullWidth) {
53
- classList.push('vui-button--full-width');
54
- }
55
-
56
- if (local.class) {
57
- classList.push(local.class);
58
- }
59
-
60
- return classList.join(' ');
61
- };
62
-
63
- return (
64
- <HeadlessButton
65
- {...headlessProps}
66
- class={getClassName}
67
- data-variant={local.variant}
68
- data-style={local.buttonStyle}
69
- data-static-color={local.staticColor || undefined}
70
- >
71
- {props.children}
72
- </HeadlessButton>
73
- );
74
- }
@@ -1,2 +0,0 @@
1
- export { Button } from './Button';
2
- export type { ButtonProps, ButtonVariant, ButtonStyle, ButtonSize, StaticColor } from './types';
@@ -1,24 +0,0 @@
1
- import type { JSX } from 'solid-js';
2
- import type { ButtonProps as HeadlessButtonProps } from '@proyecto-viviana/solidaria-components';
3
-
4
- export type ButtonVariant = 'primary' | 'secondary' | 'accent' | 'positive' | 'negative' | 'ghost' | 'link';
5
- export type ButtonStyle = 'fill' | 'outline';
6
- export type ButtonSize = 'sm' | 'md' | 'lg';
7
- export type StaticColor = 'white' | 'black';
8
-
9
- export interface ButtonProps extends Omit<HeadlessButtonProps, 'class' | 'children' | 'style'> {
10
- /** The content to display in the button. */
11
- children?: JSX.Element;
12
- /** The visual style of the button. */
13
- variant?: ButtonVariant;
14
- /** The background style of the button. */
15
- buttonStyle?: ButtonStyle;
16
- /** The size of the button. */
17
- size?: ButtonSize;
18
- /** Whether the button should take up the full width of its container. */
19
- fullWidth?: boolean;
20
- /** The static color style to apply. Useful when the button appears over a color background. */
21
- staticColor?: StaticColor;
22
- /** Additional CSS class name. */
23
- class?: string;
24
- }
@@ -1,200 +0,0 @@
1
- /**
2
- * DateField component for proyecto-viviana-ui
3
- *
4
- * Styled date field component with segment-based editing.
5
- */
6
-
7
- import { type JSX, splitProps } from 'solid-js';
8
- import {
9
- DateField as HeadlessDateField,
10
- DateInput,
11
- DateSegment,
12
- type DateFieldProps as HeadlessDateFieldProps,
13
- type CalendarDate,
14
- type DateValue,
15
- } from '@proyecto-viviana/solidaria-components';
16
-
17
- // ============================================
18
- // TYPES
19
- // ============================================
20
-
21
- export type DateFieldSize = 'sm' | 'md' | 'lg';
22
-
23
- export interface DateFieldProps<T extends DateValue = DateValue>
24
- extends Omit<HeadlessDateFieldProps<T>, 'class' | 'style' | 'children'> {
25
- /** The size of the field. @default 'md' */
26
- size?: DateFieldSize;
27
- /** Additional CSS class name. */
28
- class?: string;
29
- /** Label for the field. */
30
- label?: string;
31
- /** Description text. */
32
- description?: string;
33
- /** Error message. */
34
- errorMessage?: string;
35
- }
36
-
37
- // ============================================
38
- // STYLES
39
- // ============================================
40
-
41
- const sizeStyles = {
42
- sm: {
43
- container: 'text-sm',
44
- input: 'px-2 py-1 gap-0.5',
45
- segment: 'px-0.5',
46
- label: 'text-xs',
47
- },
48
- md: {
49
- container: 'text-base',
50
- input: 'px-3 py-2 gap-1',
51
- segment: 'px-1',
52
- label: 'text-sm',
53
- },
54
- lg: {
55
- container: 'text-lg',
56
- input: 'px-4 py-3 gap-1.5',
57
- segment: 'px-1.5',
58
- label: 'text-base',
59
- },
60
- };
61
-
62
- // ============================================
63
- // DATE FIELD COMPONENT
64
- // ============================================
65
-
66
- /**
67
- * A date field allows users to enter and edit date values using a keyboard.
68
- *
69
- * @example
70
- * ```tsx
71
- * // Basic usage
72
- * <DateField label="Birth date" />
73
- *
74
- * // Controlled
75
- * const [date, setDate] = createSignal<CalendarDate | null>(null);
76
- * <DateField
77
- * label="Event date"
78
- * value={date()}
79
- * onChange={setDate}
80
- * />
81
- *
82
- * // With validation
83
- * <DateField
84
- * label="Future date"
85
- * minValue={today(getLocalTimeZone())}
86
- * errorMessage="Date must be in the future"
87
- * />
88
- * ```
89
- */
90
- export function DateField<T extends DateValue = CalendarDate>(
91
- props: DateFieldProps<T>
92
- ): JSX.Element {
93
- const [local, rest] = splitProps(props, [
94
- 'size',
95
- 'class',
96
- 'label',
97
- 'description',
98
- 'errorMessage',
99
- 'isInvalid',
100
- ]);
101
-
102
- const size = () => local.size ?? 'md';
103
- const sizeConfig = () => sizeStyles[size()];
104
- const isInvalid = () => local.isInvalid || !!local.errorMessage;
105
-
106
- return (
107
- <HeadlessDateField
108
- {...rest}
109
- isInvalid={isInvalid()}
110
- class={`
111
- flex flex-col gap-1
112
- ${sizeConfig().container}
113
- ${local.class ?? ''}
114
- `}
115
- >
116
- {/* Label */}
117
- {local.label && (
118
- <label class={`font-medium text-primary-200 ${sizeConfig().label}`}>
119
- {local.label}
120
- {rest.isRequired && <span class="text-red-500 ml-0.5">*</span>}
121
- </label>
122
- )}
123
-
124
- {/* Input container */}
125
- <DateInput
126
- class={({ isFocused, isDisabled }) => {
127
- const base = `
128
- inline-flex items-center
129
- ${sizeConfig().input}
130
- bg-bg-400 rounded-md border
131
- transition-colors duration-150
132
- `;
133
-
134
- let borderClass = 'border-primary-600';
135
- if (isInvalid()) {
136
- borderClass = 'border-red-500';
137
- } else if (isFocused) {
138
- borderClass = 'border-accent';
139
- }
140
-
141
- const disabledClass = isDisabled
142
- ? 'opacity-50 cursor-not-allowed'
143
- : '';
144
-
145
- const focusClass = isFocused
146
- ? 'ring-2 ring-accent/30'
147
- : '';
148
-
149
- return `${base} ${borderClass} ${disabledClass} ${focusClass}`.trim();
150
- }}
151
- >
152
- {(segment) => (
153
- <DateSegment
154
- segment={segment}
155
- class={({ isFocused, isPlaceholder, isEditable }) => {
156
- const base = `
157
- ${sizeConfig().segment}
158
- rounded
159
- outline-none
160
- tabular-nums
161
- `;
162
-
163
- let stateClass = '';
164
- if (segment.type === 'literal') {
165
- stateClass = 'text-primary-400';
166
- } else if (isPlaceholder) {
167
- stateClass = 'text-primary-500 italic';
168
- } else {
169
- stateClass = 'text-primary-100';
170
- }
171
-
172
- const focusClass = isFocused && isEditable
173
- ? 'bg-accent text-white'
174
- : '';
175
-
176
- return `${base} ${stateClass} ${focusClass}`.trim();
177
- }}
178
- />
179
- )}
180
- </DateInput>
181
-
182
- {/* Description */}
183
- {local.description && !isInvalid() && (
184
- <p class={`text-primary-400 ${sizeConfig().label}`}>
185
- {local.description}
186
- </p>
187
- )}
188
-
189
- {/* Error message */}
190
- {isInvalid() && local.errorMessage && (
191
- <p class={`text-red-500 ${sizeConfig().label}`}>
192
- {local.errorMessage}
193
- </p>
194
- )}
195
- </HeadlessDateField>
196
- );
197
- }
198
-
199
- // Re-export types
200
- export type { CalendarDate, DateValue };
@@ -1,298 +0,0 @@
1
- /**
2
- * DatePicker component for proyecto-viviana-ui
3
- *
4
- * Styled date picker component that combines a date field with a calendar popup.
5
- */
6
-
7
- import { type JSX, splitProps, Show } from 'solid-js';
8
- import {
9
- DatePicker as HeadlessDatePicker,
10
- DatePickerButton,
11
- DateInput,
12
- DateSegment,
13
- useDatePickerContext,
14
- type DatePickerProps as HeadlessDatePickerProps,
15
- type CalendarDate,
16
- type DateValue,
17
- } from '@proyecto-viviana/solidaria-components';
18
- import { Calendar } from './index';
19
-
20
- // Calendar icon component - use function to ensure consistent hydration
21
- function CalendarIcon(): JSX.Element {
22
- return (
23
- <svg
24
- viewBox="0 0 24 24"
25
- fill="none"
26
- stroke="currentColor"
27
- stroke-width="2"
28
- stroke-linecap="round"
29
- stroke-linejoin="round"
30
- class="w-5 h-5"
31
- aria-hidden="true"
32
- >
33
- <rect x="3" y="4" width="18" height="18" rx="2" ry="2" />
34
- <line x1="16" y1="2" x2="16" y2="6" />
35
- <line x1="8" y1="2" x2="8" y2="6" />
36
- <line x1="3" y1="10" x2="21" y2="10" />
37
- </svg>
38
- );
39
- }
40
-
41
- // ============================================
42
- // TYPES
43
- // ============================================
44
-
45
- export type DatePickerSize = 'sm' | 'md' | 'lg';
46
-
47
- export interface DatePickerProps<T extends DateValue = DateValue>
48
- extends Omit<HeadlessDatePickerProps<T>, 'class' | 'style' | 'children'> {
49
- /** The size of the picker. @default 'md' */
50
- size?: DatePickerSize;
51
- /** Additional CSS class name. */
52
- class?: string;
53
- /** Label for the field. */
54
- label?: string;
55
- /** Description text. */
56
- description?: string;
57
- /** Error message. */
58
- errorMessage?: string;
59
- /** Placeholder text. */
60
- placeholder?: string;
61
- }
62
-
63
- // ============================================
64
- // STYLES
65
- // ============================================
66
-
67
- const sizeStyles = {
68
- sm: {
69
- container: 'text-sm',
70
- input: 'px-2 py-1 gap-0.5',
71
- segment: 'px-0.5',
72
- label: 'text-xs',
73
- button: 'w-7 h-7',
74
- },
75
- md: {
76
- container: 'text-base',
77
- input: 'px-3 py-2 gap-1',
78
- segment: 'px-1',
79
- label: 'text-sm',
80
- button: 'w-9 h-9',
81
- },
82
- lg: {
83
- container: 'text-lg',
84
- input: 'px-4 py-3 gap-1.5',
85
- segment: 'px-1.5',
86
- label: 'text-base',
87
- button: 'w-11 h-11',
88
- },
89
- };
90
-
91
- // ============================================
92
- // DATE PICKER COMPONENT
93
- // ============================================
94
-
95
- /**
96
- * A date picker combines a date field and a calendar popup.
97
- *
98
- * @example
99
- * ```tsx
100
- * // Basic usage
101
- * <DatePicker label="Event date" />
102
- *
103
- * // Controlled
104
- * const [date, setDate] = createSignal<CalendarDate | null>(null);
105
- * <DatePicker
106
- * label="Appointment"
107
- * value={date()}
108
- * onChange={setDate}
109
- * />
110
- *
111
- * // With constraints
112
- * <DatePicker
113
- * label="Future booking"
114
- * minValue={today(getLocalTimeZone())}
115
- * />
116
- * ```
117
- */
118
- export function DatePicker<T extends DateValue = CalendarDate>(
119
- props: DatePickerProps<T>
120
- ): JSX.Element {
121
- const [local, rest] = splitProps(props, [
122
- 'size',
123
- 'class',
124
- 'label',
125
- 'description',
126
- 'errorMessage',
127
- 'isInvalid',
128
- 'placeholder',
129
- ]);
130
-
131
- const size = () => local.size ?? 'md';
132
- const sizeConfig = () => sizeStyles[size()];
133
- const isInvalid = () => local.isInvalid || !!local.errorMessage;
134
-
135
- return (
136
- <HeadlessDatePicker
137
- {...rest}
138
- isInvalid={isInvalid()}
139
- class={`
140
- flex flex-col gap-1 relative
141
- ${sizeConfig().container}
142
- ${local.class ?? ''}
143
- `}
144
- >
145
- {/* Label */}
146
- {local.label && (
147
- <label class={`font-medium text-primary-200 ${sizeConfig().label}`}>
148
- {local.label}
149
- {rest.isRequired && <span class="text-red-500 ml-0.5">*</span>}
150
- </label>
151
- )}
152
-
153
- {/* Input group */}
154
- <div class="relative flex items-center">
155
- {/* Date input */}
156
- <DateInput
157
- class={({ isFocused, isDisabled }) => {
158
- const base = `
159
- inline-flex items-center flex-1
160
- ${sizeConfig().input}
161
- bg-bg-400 rounded-l-md border-y border-l
162
- transition-colors duration-150
163
- `;
164
-
165
- let borderClass = 'border-primary-600';
166
- if (isInvalid()) {
167
- borderClass = 'border-red-500';
168
- } else if (isFocused) {
169
- borderClass = 'border-accent';
170
- }
171
-
172
- const disabledClass = isDisabled
173
- ? 'opacity-50 cursor-not-allowed'
174
- : '';
175
-
176
- const focusClass = isFocused
177
- ? 'ring-2 ring-accent/30'
178
- : '';
179
-
180
- return `${base} ${borderClass} ${disabledClass} ${focusClass}`.trim();
181
- }}
182
- >
183
- {(segment) => (
184
- <DateSegment
185
- segment={segment}
186
- class={({ isFocused, isPlaceholder, isEditable }) => {
187
- const base = `
188
- ${sizeConfig().segment}
189
- rounded
190
- outline-none
191
- tabular-nums
192
- `;
193
-
194
- let stateClass = '';
195
- if (segment.type === 'literal') {
196
- stateClass = 'text-primary-400';
197
- } else if (isPlaceholder) {
198
- stateClass = 'text-primary-500 italic';
199
- } else {
200
- stateClass = 'text-primary-100';
201
- }
202
-
203
- const focusClass = isFocused && isEditable
204
- ? 'bg-accent text-white'
205
- : '';
206
-
207
- return `${base} ${stateClass} ${focusClass}`.trim();
208
- }}
209
- />
210
- )}
211
- </DateInput>
212
-
213
- {/* Calendar button */}
214
- <DatePickerButton
215
- class={({ isDisabled, isOpen }) => {
216
- const base = `
217
- ${sizeConfig().button}
218
- flex items-center justify-center
219
- bg-bg-400 border-y border-r rounded-r-md
220
- text-primary-200
221
- transition-colors duration-150
222
- focus:outline-none focus:ring-2 focus:ring-accent/50
223
- `;
224
-
225
- let borderClass = 'border-primary-600';
226
- if (isInvalid()) {
227
- borderClass = 'border-red-500';
228
- } else if (isOpen) {
229
- borderClass = 'border-accent bg-bg-300';
230
- }
231
-
232
- const disabledClass = isDisabled
233
- ? 'opacity-50 cursor-not-allowed'
234
- : 'hover:bg-bg-300 cursor-pointer';
235
-
236
- return `${base} ${borderClass} ${disabledClass}`.trim();
237
- }}
238
- >
239
- <CalendarIcon />
240
- </DatePickerButton>
241
-
242
- {/* Calendar popup */}
243
- <DatePickerPopup size={size()} />
244
- </div>
245
-
246
- {/* Description */}
247
- {local.description && !isInvalid() && (
248
- <p class={`text-primary-400 ${sizeConfig().label}`}>
249
- {local.description}
250
- </p>
251
- )}
252
-
253
- {/* Error message */}
254
- {isInvalid() && local.errorMessage && (
255
- <p class={`text-red-500 ${sizeConfig().label}`}>
256
- {local.errorMessage}
257
- </p>
258
- )}
259
- </HeadlessDatePicker>
260
- );
261
- }
262
-
263
- // ============================================
264
- // POPUP COMPONENT (uses context)
265
- // ============================================
266
-
267
- function DatePickerPopup(props: { size: DatePickerSize }): JSX.Element {
268
- const context = useDatePickerContext();
269
-
270
- return (
271
- <Show when={context.overlayState.isOpen}>
272
- <div
273
- class={`
274
- absolute top-full left-0 z-50 mt-1
275
- shadow-lg rounded-lg
276
- `}
277
- >
278
- <Calendar
279
- value={context.calendarState.value()}
280
- onChange={(date) => {
281
- context.fieldState.setValue(date as any);
282
- context.overlayState.close();
283
- }}
284
- minValue={context.calendarState.visibleRange().start}
285
- size={props.size}
286
- />
287
- </div>
288
- {/* Backdrop */}
289
- <div
290
- class="fixed inset-0 z-40"
291
- onClick={() => context.overlayState.close()}
292
- />
293
- </Show>
294
- );
295
- }
296
-
297
- // Re-export types
298
- export type { CalendarDate, DateValue };