@proyecto-viviana/silapse 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 (394) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +192 -0
  3. package/dist/accordion/index.d.ts +6 -0
  4. package/dist/accordion/index.d.ts.map +1 -0
  5. package/dist/actionbar/index.d.ts +34 -0
  6. package/dist/actionbar/index.d.ts.map +1 -0
  7. package/dist/actiongroup/index.d.ts +42 -0
  8. package/dist/actiongroup/index.d.ts.map +1 -0
  9. package/dist/alert/index.d.ts +13 -0
  10. package/dist/alert/index.d.ts.map +1 -0
  11. package/dist/autocomplete/index.d.ts +51 -0
  12. package/dist/autocomplete/index.d.ts.map +1 -0
  13. package/dist/avatar/index.d.ts +18 -0
  14. package/dist/avatar/index.d.ts.map +1 -0
  15. package/dist/badge/index.d.ts +12 -0
  16. package/dist/badge/index.d.ts.map +1 -0
  17. package/dist/breadcrumbs/index.d.ts +38 -0
  18. package/dist/breadcrumbs/index.d.ts.map +1 -0
  19. package/dist/button/ActionButton.d.ts +21 -0
  20. package/dist/button/ActionButton.d.ts.map +1 -0
  21. package/dist/button/Button.d.ts +19 -0
  22. package/dist/button/Button.d.ts.map +1 -0
  23. package/dist/button/ClearButton.d.ts +19 -0
  24. package/dist/button/ClearButton.d.ts.map +1 -0
  25. package/dist/button/FieldButton.d.ts +16 -0
  26. package/dist/button/FieldButton.d.ts.map +1 -0
  27. package/dist/button/LogicButton.d.ts +16 -0
  28. package/dist/button/LogicButton.d.ts.map +1 -0
  29. package/dist/button/ToggleButton.d.ts +19 -0
  30. package/dist/button/ToggleButton.d.ts.map +1 -0
  31. package/dist/button/index.d.ts +13 -0
  32. package/dist/button/index.d.ts.map +1 -0
  33. package/dist/button/types.d.ts +23 -0
  34. package/dist/button/types.d.ts.map +1 -0
  35. package/dist/buttongroup/index.d.ts +11 -0
  36. package/dist/buttongroup/index.d.ts.map +1 -0
  37. package/dist/calendar/DateField.d.ts +47 -0
  38. package/dist/calendar/DateField.d.ts.map +1 -0
  39. package/dist/calendar/DatePicker.d.ts +28 -0
  40. package/dist/calendar/DatePicker.d.ts.map +1 -0
  41. package/dist/calendar/DateRangePicker.d.ts +26 -0
  42. package/dist/calendar/DateRangePicker.d.ts.map +1 -0
  43. package/dist/calendar/RangeCalendar.d.ts +42 -0
  44. package/dist/calendar/RangeCalendar.d.ts.map +1 -0
  45. package/dist/calendar/TimeField.d.ts +44 -0
  46. package/dist/calendar/TimeField.d.ts.map +1 -0
  47. package/dist/calendar/index.d.ts +50 -0
  48. package/dist/calendar/index.d.ts.map +1 -0
  49. package/dist/card/index.d.ts +11 -0
  50. package/dist/card/index.d.ts.map +1 -0
  51. package/dist/checkbox/index.d.ts +43 -0
  52. package/dist/checkbox/index.d.ts.map +1 -0
  53. package/dist/color/ColorEditor.d.ts +17 -0
  54. package/dist/color/ColorEditor.d.ts.map +1 -0
  55. package/dist/color/ColorSwatchPicker.d.ts +36 -0
  56. package/dist/color/ColorSwatchPicker.d.ts.map +1 -0
  57. package/dist/color/index.d.ts +233 -0
  58. package/dist/color/index.d.ts.map +1 -0
  59. package/dist/combobox/index.d.ts +81 -0
  60. package/dist/combobox/index.d.ts.map +1 -0
  61. package/dist/components.css +1152 -0
  62. package/dist/contextualhelp/index.d.ts +18 -0
  63. package/dist/contextualhelp/index.d.ts.map +1 -0
  64. package/dist/custom/calendar-card/index.d.ts +12 -0
  65. package/dist/custom/calendar-card/index.d.ts.map +1 -0
  66. package/dist/custom/chip/index.d.ts +16 -0
  67. package/dist/custom/chip/index.d.ts.map +1 -0
  68. package/dist/custom/conversation/index.d.ts +32 -0
  69. package/dist/custom/conversation/index.d.ts.map +1 -0
  70. package/dist/custom/event-card/index.d.ts +30 -0
  71. package/dist/custom/event-card/index.d.ts.map +1 -0
  72. package/dist/custom/header/index.d.ts +16 -0
  73. package/dist/custom/header/index.d.ts.map +1 -0
  74. package/dist/custom/lateral-nav/index.d.ts +32 -0
  75. package/dist/custom/lateral-nav/index.d.ts.map +1 -0
  76. package/dist/custom/logo/index.d.ts +28 -0
  77. package/dist/custom/logo/index.d.ts.map +1 -0
  78. package/dist/custom/nav-header/index.d.ts +13 -0
  79. package/dist/custom/nav-header/index.d.ts.map +1 -0
  80. package/dist/custom/page-layout/index.d.ts +13 -0
  81. package/dist/custom/page-layout/index.d.ts.map +1 -0
  82. package/dist/custom/profile-card/index.d.ts +16 -0
  83. package/dist/custom/profile-card/index.d.ts.map +1 -0
  84. package/dist/custom/project-card/index.d.ts +24 -0
  85. package/dist/custom/project-card/index.d.ts.map +1 -0
  86. package/dist/custom/timeline-item/index.d.ts +28 -0
  87. package/dist/custom/timeline-item/index.d.ts.map +1 -0
  88. package/dist/datepicker/index.d.ts +10 -0
  89. package/dist/datepicker/index.d.ts.map +1 -0
  90. package/dist/dialog/AlertDialog.d.ts +41 -0
  91. package/dist/dialog/AlertDialog.d.ts.map +1 -0
  92. package/dist/dialog/Dialog.d.ts +62 -0
  93. package/dist/dialog/Dialog.d.ts.map +1 -0
  94. package/dist/dialog/index.d.ts +5 -0
  95. package/dist/dialog/index.d.ts.map +1 -0
  96. package/dist/disclosure/index.d.ts +84 -0
  97. package/dist/disclosure/index.d.ts.map +1 -0
  98. package/dist/divider/index.d.ts +6 -0
  99. package/dist/divider/index.d.ts.map +1 -0
  100. package/dist/dnd/index.d.ts +7 -0
  101. package/dist/dnd/index.d.ts.map +1 -0
  102. package/dist/dropzone/index.d.ts +13 -0
  103. package/dist/dropzone/index.d.ts.map +1 -0
  104. package/dist/filetrigger/index.d.ts +13 -0
  105. package/dist/filetrigger/index.d.ts.map +1 -0
  106. package/dist/form/Field.d.ts +35 -0
  107. package/dist/form/Field.d.ts.map +1 -0
  108. package/dist/form/HelpText.d.ts +23 -0
  109. package/dist/form/HelpText.d.ts.map +1 -0
  110. package/dist/form/index.d.ts +20 -0
  111. package/dist/form/index.d.ts.map +1 -0
  112. package/dist/gridlist/index.d.ts +92 -0
  113. package/dist/gridlist/index.d.ts.map +1 -0
  114. package/dist/icon/Illustration.d.ts +22 -0
  115. package/dist/icon/Illustration.d.ts.map +1 -0
  116. package/dist/icon/UIIcon.d.ts +24 -0
  117. package/dist/icon/UIIcon.d.ts.map +1 -0
  118. package/dist/icon/icons/GitHubIcon.d.ts +8 -0
  119. package/dist/icon/icons/GitHubIcon.d.ts.map +1 -0
  120. package/dist/icon/index.d.ts +40 -0
  121. package/dist/icon/index.d.ts.map +1 -0
  122. package/dist/illustratedmessage/index.d.ts +14 -0
  123. package/dist/illustratedmessage/index.d.ts.map +1 -0
  124. package/dist/image/index.d.ts +11 -0
  125. package/dist/image/index.d.ts.map +1 -0
  126. package/dist/index.d.ts +231 -0
  127. package/dist/index.d.ts.map +1 -0
  128. package/dist/index.js +10697 -0
  129. package/dist/index.js.map +1 -0
  130. package/dist/index.ssr.js +8944 -0
  131. package/dist/index.ssr.js.map +1 -0
  132. package/dist/inlinealert/index.d.ts +6 -0
  133. package/dist/inlinealert/index.d.ts.map +1 -0
  134. package/dist/label/index.d.ts +14 -0
  135. package/dist/label/index.d.ts.map +1 -0
  136. package/dist/labeledvalue/index.d.ts +25 -0
  137. package/dist/labeledvalue/index.d.ts.map +1 -0
  138. package/dist/landmark/index.d.ts +83 -0
  139. package/dist/landmark/index.d.ts.map +1 -0
  140. package/dist/layout/Flex.d.ts +29 -0
  141. package/dist/layout/Flex.d.ts.map +1 -0
  142. package/dist/layout/Grid.d.ts +37 -0
  143. package/dist/layout/Grid.d.ts.map +1 -0
  144. package/dist/layout/css-utils.d.ts +23 -0
  145. package/dist/layout/css-utils.d.ts.map +1 -0
  146. package/dist/layout/index.d.ts +11 -0
  147. package/dist/layout/index.d.ts.map +1 -0
  148. package/dist/link/index.d.ts +39 -0
  149. package/dist/link/index.d.ts.map +1 -0
  150. package/dist/list/index.d.ts +6 -0
  151. package/dist/list/index.d.ts.map +1 -0
  152. package/dist/listbox/index.d.ts +47 -0
  153. package/dist/listbox/index.d.ts.map +1 -0
  154. package/dist/menu/ActionMenu.d.ts +24 -0
  155. package/dist/menu/ActionMenu.d.ts.map +1 -0
  156. package/dist/menu/ContextualHelpTrigger.d.ts +36 -0
  157. package/dist/menu/ContextualHelpTrigger.d.ts.map +1 -0
  158. package/dist/menu/SubmenuTrigger.d.ts +14 -0
  159. package/dist/menu/SubmenuTrigger.d.ts.map +1 -0
  160. package/dist/menu/index.d.ts +80 -0
  161. package/dist/menu/index.d.ts.map +1 -0
  162. package/dist/meter/index.d.ts +51 -0
  163. package/dist/meter/index.d.ts.map +1 -0
  164. package/dist/numberfield/index.d.ts +32 -0
  165. package/dist/numberfield/index.d.ts.map +1 -0
  166. package/dist/overlays/Modal.d.ts +21 -0
  167. package/dist/overlays/Modal.d.ts.map +1 -0
  168. package/dist/overlays/OpenTransition.d.ts +46 -0
  169. package/dist/overlays/OpenTransition.d.ts.map +1 -0
  170. package/dist/overlays/Overlay.d.ts +21 -0
  171. package/dist/overlays/Overlay.d.ts.map +1 -0
  172. package/dist/overlays/Tray.d.ts +18 -0
  173. package/dist/overlays/Tray.d.ts.map +1 -0
  174. package/dist/overlays/index.d.ts +18 -0
  175. package/dist/overlays/index.d.ts.map +1 -0
  176. package/dist/picker/index.d.ts +6 -0
  177. package/dist/picker/index.d.ts.map +1 -0
  178. package/dist/popover/index.d.ts +86 -0
  179. package/dist/popover/index.d.ts.map +1 -0
  180. package/dist/progress/ProgressCircle.d.ts +31 -0
  181. package/dist/progress/ProgressCircle.d.ts.map +1 -0
  182. package/dist/progress/index.d.ts +8 -0
  183. package/dist/progress/index.d.ts.map +1 -0
  184. package/dist/progress-bar/index.d.ts +51 -0
  185. package/dist/progress-bar/index.d.ts.map +1 -0
  186. package/dist/provider/index.d.ts +77 -0
  187. package/dist/provider/index.d.ts.map +1 -0
  188. package/dist/radio/index.d.ts +39 -0
  189. package/dist/radio/index.d.ts.map +1 -0
  190. package/dist/searchfield/index.d.ts +29 -0
  191. package/dist/searchfield/index.d.ts.map +1 -0
  192. package/dist/select/index.d.ts +72 -0
  193. package/dist/select/index.d.ts.map +1 -0
  194. package/dist/separator/index.d.ts +38 -0
  195. package/dist/separator/index.d.ts.map +1 -0
  196. package/dist/shared-element/index.d.ts +10 -0
  197. package/dist/shared-element/index.d.ts.map +1 -0
  198. package/dist/slider/RangeSlider.d.ts +48 -0
  199. package/dist/slider/RangeSlider.d.ts.map +1 -0
  200. package/dist/slider/index.d.ts +32 -0
  201. package/dist/slider/index.d.ts.map +1 -0
  202. package/dist/statuslight/index.d.ts +22 -0
  203. package/dist/statuslight/index.d.ts.map +1 -0
  204. package/dist/steplist/index.d.ts +15 -0
  205. package/dist/steplist/index.d.ts.map +1 -0
  206. package/dist/story-utils/ErrorBoundary.d.ts +17 -0
  207. package/dist/story-utils/ErrorBoundary.d.ts.map +1 -0
  208. package/dist/story-utils/generatePowerset.d.ts +32 -0
  209. package/dist/story-utils/generatePowerset.d.ts.map +1 -0
  210. package/dist/story-utils/index.d.ts +9 -0
  211. package/dist/story-utils/index.d.ts.map +1 -0
  212. package/dist/style-macro-s1/index.d.ts +5 -0
  213. package/dist/style-macro-s1/index.d.ts.map +1 -0
  214. package/dist/styles.css +487 -0
  215. package/dist/switch/ToggleSwitch.d.ts +28 -0
  216. package/dist/switch/ToggleSwitch.d.ts.map +1 -0
  217. package/dist/switch/index.d.ts +26 -0
  218. package/dist/switch/index.d.ts.map +1 -0
  219. package/dist/table/index.d.ts +140 -0
  220. package/dist/table/index.d.ts.map +1 -0
  221. package/dist/tabs/index.d.ts +56 -0
  222. package/dist/tabs/index.d.ts.map +1 -0
  223. package/dist/tag/index.d.ts +6 -0
  224. package/dist/tag/index.d.ts.map +1 -0
  225. package/dist/tag-group/index.d.ts +84 -0
  226. package/dist/tag-group/index.d.ts.map +1 -0
  227. package/dist/text/Heading.d.ts +22 -0
  228. package/dist/text/Heading.d.ts.map +1 -0
  229. package/dist/text/Keyboard.d.ts +16 -0
  230. package/dist/text/Keyboard.d.ts.map +1 -0
  231. package/dist/text/index.d.ts +20 -0
  232. package/dist/text/index.d.ts.map +1 -0
  233. package/dist/textfield/TextArea.d.ts +30 -0
  234. package/dist/textfield/TextArea.d.ts.map +1 -0
  235. package/dist/textfield/index.d.ts +27 -0
  236. package/dist/textfield/index.d.ts.map +1 -0
  237. package/dist/theme/types.d.ts +10 -0
  238. package/dist/theme/types.d.ts.map +1 -0
  239. package/dist/theme-dark/index.d.ts +10 -0
  240. package/dist/theme-dark/index.d.ts.map +1 -0
  241. package/dist/theme-default/index.d.ts +8 -0
  242. package/dist/theme-default/index.d.ts.map +1 -0
  243. package/dist/theme-express/index.d.ts +5 -0
  244. package/dist/theme-express/index.d.ts.map +1 -0
  245. package/dist/theme-light/index.d.ts +10 -0
  246. package/dist/theme-light/index.d.ts.map +1 -0
  247. package/dist/theme.css +360 -0
  248. package/dist/toast/index.d.ts +101 -0
  249. package/dist/toast/index.d.ts.map +1 -0
  250. package/dist/toolbar/index.d.ts +42 -0
  251. package/dist/toolbar/index.d.ts.map +1 -0
  252. package/dist/tooltip/index.d.ts +78 -0
  253. package/dist/tooltip/index.d.ts.map +1 -0
  254. package/dist/tree/index.d.ts +99 -0
  255. package/dist/tree/index.d.ts.map +1 -0
  256. package/dist/view/Content.d.ts +37 -0
  257. package/dist/view/Content.d.ts.map +1 -0
  258. package/dist/view/index.d.ts +13 -0
  259. package/dist/view/index.d.ts.map +1 -0
  260. package/dist/well/index.d.ts +11 -0
  261. package/dist/well/index.d.ts.map +1 -0
  262. package/package.json +67 -0
  263. package/src/accordion/index.tsx +19 -0
  264. package/src/actionbar/index.tsx +92 -0
  265. package/src/actiongroup/index.tsx +110 -0
  266. package/src/alert/index.tsx +59 -0
  267. package/src/assets/favicon.png +0 -0
  268. package/src/assets/fire.gif +0 -0
  269. package/src/autocomplete/index.tsx +151 -0
  270. package/src/avatar/index.tsx +75 -0
  271. package/src/badge/index.tsx +43 -0
  272. package/src/breadcrumbs/index.tsx +212 -0
  273. package/src/button/ActionButton.tsx +80 -0
  274. package/src/button/Button.tsx +76 -0
  275. package/src/button/ClearButton.tsx +81 -0
  276. package/src/button/FieldButton.tsx +60 -0
  277. package/src/button/LogicButton.tsx +62 -0
  278. package/src/button/ToggleButton.tsx +77 -0
  279. package/src/button/index.ts +12 -0
  280. package/src/button/types.ts +24 -0
  281. package/src/buttongroup/index.tsx +25 -0
  282. package/src/calendar/DateField.tsx +208 -0
  283. package/src/calendar/DatePicker.tsx +257 -0
  284. package/src/calendar/DateRangePicker.tsx +254 -0
  285. package/src/calendar/RangeCalendar.tsx +238 -0
  286. package/src/calendar/TimeField.tsx +204 -0
  287. package/src/calendar/index.tsx +225 -0
  288. package/src/card/index.tsx +24 -0
  289. package/src/checkbox/index.tsx +259 -0
  290. package/src/color/ColorEditor.tsx +60 -0
  291. package/src/color/ColorSwatchPicker.tsx +169 -0
  292. package/src/color/index.tsx +725 -0
  293. package/src/combobox/index.tsx +398 -0
  294. package/src/components.css +1152 -0
  295. package/src/contextualhelp/index.tsx +42 -0
  296. package/src/custom/calendar-card/index.tsx +66 -0
  297. package/src/custom/chip/index.tsx +47 -0
  298. package/src/custom/conversation/index.tsx +107 -0
  299. package/src/custom/event-card/index.tsx +133 -0
  300. package/src/custom/header/index.tsx +33 -0
  301. package/src/custom/lateral-nav/index.tsx +88 -0
  302. package/src/custom/logo/index.tsx +58 -0
  303. package/src/custom/nav-header/index.tsx +45 -0
  304. package/src/custom/page-layout/index.tsx +29 -0
  305. package/src/custom/profile-card/index.tsx +64 -0
  306. package/src/custom/project-card/index.tsx +59 -0
  307. package/src/custom/timeline-item/index.tsx +105 -0
  308. package/src/datepicker/index.tsx +23 -0
  309. package/src/dialog/AlertDialog.tsx +140 -0
  310. package/src/dialog/Dialog.tsx +195 -0
  311. package/src/dialog/index.tsx +5 -0
  312. package/src/disclosure/index.tsx +310 -0
  313. package/src/divider/index.tsx +11 -0
  314. package/src/dnd/index.tsx +23 -0
  315. package/src/dropzone/index.tsx +48 -0
  316. package/src/filetrigger/index.tsx +28 -0
  317. package/src/form/Field.tsx +94 -0
  318. package/src/form/HelpText.tsx +48 -0
  319. package/src/form/index.tsx +48 -0
  320. package/src/gridlist/index.tsx +403 -0
  321. package/src/icon/Illustration.tsx +55 -0
  322. package/src/icon/UIIcon.tsx +59 -0
  323. package/src/icon/icons/GitHubIcon.tsx +22 -0
  324. package/src/icon/index.tsx +81 -0
  325. package/src/illustratedmessage/index.tsx +44 -0
  326. package/src/image/index.tsx +22 -0
  327. package/src/index.ts +666 -0
  328. package/src/inlinealert/index.tsx +10 -0
  329. package/src/label/index.tsx +36 -0
  330. package/src/labeledvalue/index.tsx +62 -0
  331. package/src/landmark/index.tsx +231 -0
  332. package/src/layout/Flex.tsx +94 -0
  333. package/src/layout/Grid.tsx +98 -0
  334. package/src/layout/css-utils.ts +31 -0
  335. package/src/layout/index.tsx +12 -0
  336. package/src/link/index.tsx +132 -0
  337. package/src/list/index.tsx +17 -0
  338. package/src/listbox/index.tsx +251 -0
  339. package/src/menu/ActionMenu.tsx +117 -0
  340. package/src/menu/ContextualHelpTrigger.tsx +122 -0
  341. package/src/menu/SubmenuTrigger.tsx +28 -0
  342. package/src/menu/index.tsx +309 -0
  343. package/src/meter/index.tsx +141 -0
  344. package/src/numberfield/index.tsx +282 -0
  345. package/src/overlays/Modal.tsx +64 -0
  346. package/src/overlays/OpenTransition.tsx +110 -0
  347. package/src/overlays/Overlay.tsx +47 -0
  348. package/src/overlays/Tray.tsx +48 -0
  349. package/src/overlays/index.tsx +55 -0
  350. package/src/picker/index.tsx +20 -0
  351. package/src/popover/index.tsx +261 -0
  352. package/src/progress/ProgressCircle.tsx +114 -0
  353. package/src/progress/index.tsx +14 -0
  354. package/src/progress-bar/index.tsx +144 -0
  355. package/src/provider/index.tsx +358 -0
  356. package/src/radio/index.tsx +192 -0
  357. package/src/searchfield/index.tsx +274 -0
  358. package/src/select/index.tsx +366 -0
  359. package/src/separator/index.tsx +110 -0
  360. package/src/shared-element/index.tsx +38 -0
  361. package/src/slider/RangeSlider.tsx +344 -0
  362. package/src/slider/index.tsx +232 -0
  363. package/src/statuslight/index.tsx +54 -0
  364. package/src/steplist/index.tsx +40 -0
  365. package/src/story-utils/ErrorBoundary.tsx +50 -0
  366. package/src/story-utils/generatePowerset.ts +63 -0
  367. package/src/story-utils/index.ts +13 -0
  368. package/src/style-macro-s1/index.ts +8 -0
  369. package/src/styles.css +487 -0
  370. package/src/switch/ToggleSwitch.tsx +114 -0
  371. package/src/switch/index.tsx +95 -0
  372. package/src/table/index.tsx +534 -0
  373. package/src/tabs/index.tsx +276 -0
  374. package/src/tag/index.tsx +12 -0
  375. package/src/tag-group/index.tsx +246 -0
  376. package/src/test-utils/index.ts +40 -0
  377. package/src/text/Heading.tsx +61 -0
  378. package/src/text/Keyboard.tsx +38 -0
  379. package/src/text/index.tsx +52 -0
  380. package/src/textfield/TextArea.tsx +193 -0
  381. package/src/textfield/index.tsx +191 -0
  382. package/src/theme/types.ts +10 -0
  383. package/src/theme-dark/index.ts +63 -0
  384. package/src/theme-default/index.ts +8 -0
  385. package/src/theme-express/index.ts +6 -0
  386. package/src/theme-light/index.ts +63 -0
  387. package/src/theme.css +360 -0
  388. package/src/toast/index.tsx +328 -0
  389. package/src/toolbar/index.tsx +110 -0
  390. package/src/tooltip/index.tsx +197 -0
  391. package/src/tree/index.tsx +496 -0
  392. package/src/view/Content.tsx +76 -0
  393. package/src/view/index.tsx +28 -0
  394. package/src/well/index.tsx +24 -0
@@ -0,0 +1,12 @@
1
+ export { Button } from './Button';
2
+ export type { ButtonProps, ButtonVariant, ButtonStyle, ButtonSize, StaticColor } from './types';
3
+ export { ToggleButton } from './ToggleButton';
4
+ export type { ToggleButtonProps, ToggleButtonSize } from './ToggleButton';
5
+ export { ActionButton } from './ActionButton';
6
+ export type { ActionButtonProps, ActionButtonSize } from './ActionButton';
7
+ export { ClearButton } from './ClearButton';
8
+ export type { ClearButtonProps, ClearButtonSize } from './ClearButton';
9
+ export { FieldButton } from './FieldButton';
10
+ export type { FieldButtonProps } from './FieldButton';
11
+ export { LogicButton } from './LogicButton';
12
+ export type { LogicButtonProps } from './LogicButton';
@@ -0,0 +1,24 @@
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
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * ButtonGroup component for proyecto-viviana-silapse.
3
+ *
4
+ * Styling-only button grouping primitive.
5
+ */
6
+
7
+ import { type JSX, splitProps } from 'solid-js';
8
+
9
+ export interface ButtonGroupProps extends JSX.HTMLAttributes<HTMLDivElement> {
10
+ class?: string;
11
+ }
12
+
13
+ export function ButtonGroup(props: ButtonGroupProps): JSX.Element {
14
+ const [local, domProps] = splitProps(props, ['class', 'children']);
15
+ return (
16
+ <div
17
+ {...domProps}
18
+ role={domProps.role ?? 'group'}
19
+ class={`inline-flex items-center gap-2 ${local.class ?? ''}`}
20
+ >
21
+ {local.children}
22
+ </div>
23
+ );
24
+ }
25
+
@@ -0,0 +1,208 @@
1
+ /**
2
+ * DateField component for proyecto-viviana-silapse
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
+ DateFieldLabel,
11
+ DateFieldDescription,
12
+ DateFieldErrorMessage,
13
+ DateInput,
14
+ DateSegment,
15
+ type DateFieldProps as HeadlessDateFieldProps,
16
+ type CalendarDate,
17
+ type DateValue,
18
+ } from '@proyecto-viviana/solidaria-components';
19
+ import { useProviderProps } from '../provider';
20
+
21
+ // ============================================
22
+ // TYPES
23
+ // ============================================
24
+
25
+ export type DateFieldSize = 'sm' | 'md' | 'lg';
26
+
27
+ export interface DateFieldProps<T extends DateValue = DateValue>
28
+ extends Omit<HeadlessDateFieldProps<T>, 'class' | 'style' | 'children'> {
29
+ /** The size of the field. @default 'md' */
30
+ size?: DateFieldSize;
31
+ /** Additional CSS class name. */
32
+ class?: string;
33
+ /** Label for the field. */
34
+ label?: string;
35
+ /** Description text. */
36
+ description?: string;
37
+ /** Error message. */
38
+ errorMessage?: string;
39
+ }
40
+
41
+ // ============================================
42
+ // STYLES
43
+ // ============================================
44
+
45
+ const sizeStyles = {
46
+ sm: {
47
+ container: 'text-sm',
48
+ input: 'px-2 py-1 gap-0.5',
49
+ segment: 'px-0.5',
50
+ label: 'text-xs',
51
+ },
52
+ md: {
53
+ container: 'text-base',
54
+ input: 'px-3 py-2 gap-1',
55
+ segment: 'px-1',
56
+ label: 'text-sm',
57
+ },
58
+ lg: {
59
+ container: 'text-lg',
60
+ input: 'px-4 py-3 gap-1.5',
61
+ segment: 'px-1.5',
62
+ label: 'text-base',
63
+ },
64
+ };
65
+
66
+ // ============================================
67
+ // DATE FIELD COMPONENT
68
+ // ============================================
69
+
70
+ /**
71
+ * A date field allows users to enter and edit date values using a keyboard.
72
+ *
73
+ * @example
74
+ * ```tsx
75
+ * // Basic usage
76
+ * <DateField label="Birth date" />
77
+ *
78
+ * // Controlled
79
+ * const [date, setDate] = createSignal<CalendarDate | null>(null);
80
+ * <DateField
81
+ * label="Event date"
82
+ * value={date()}
83
+ * onChange={setDate}
84
+ * />
85
+ *
86
+ * // With validation
87
+ * <DateField
88
+ * label="Future date"
89
+ * minValue={today(getLocalTimeZone())}
90
+ * errorMessage="Date must be in the future"
91
+ * />
92
+ * ```
93
+ */
94
+ export function DateField<T extends DateValue = CalendarDate>(
95
+ props: DateFieldProps<T>
96
+ ): JSX.Element {
97
+ const mergedProps = useProviderProps(props);
98
+ const [local, rest] = splitProps(mergedProps, [
99
+ 'size',
100
+ 'class',
101
+ 'label',
102
+ 'description',
103
+ 'errorMessage',
104
+ 'isInvalid',
105
+ ]);
106
+
107
+ const size = () => local.size ?? 'md';
108
+ const sizeConfig = () => sizeStyles[size()];
109
+ const isInvalid = () => local.isInvalid || !!local.errorMessage;
110
+
111
+ return (
112
+ <HeadlessDateField
113
+ {...rest}
114
+ label={local.label}
115
+ description={local.description}
116
+ errorMessage={local.errorMessage}
117
+ isInvalid={isInvalid()}
118
+ class={`
119
+ flex flex-col gap-1
120
+ ${sizeConfig().container}
121
+ ${local.class ?? ''}
122
+ `}
123
+ >
124
+ {/* Label */}
125
+ {local.label && (
126
+ <DateFieldLabel class={`font-medium text-primary-200 ${sizeConfig().label}`}>
127
+ {local.label}
128
+ {rest.isRequired && <span class="text-red-500 ml-0.5">*</span>}
129
+ </DateFieldLabel>
130
+ )}
131
+
132
+ {/* Input container */}
133
+ <DateInput
134
+ class={({ isFocused, isDisabled }) => {
135
+ const base = `
136
+ inline-flex items-center
137
+ ${sizeConfig().input}
138
+ bg-bg-400 rounded-md border
139
+ transition-colors duration-150
140
+ `;
141
+
142
+ let borderClass = 'border-primary-600';
143
+ if (isInvalid()) {
144
+ borderClass = 'border-red-500';
145
+ } else if (isFocused) {
146
+ borderClass = 'border-accent';
147
+ }
148
+
149
+ const disabledClass = isDisabled
150
+ ? 'opacity-50 cursor-not-allowed'
151
+ : '';
152
+
153
+ const focusClass = isFocused
154
+ ? 'ring-2 ring-accent/30'
155
+ : '';
156
+
157
+ return `${base} ${borderClass} ${disabledClass} ${focusClass}`.trim();
158
+ }}
159
+ >
160
+ {(segment) => (
161
+ <DateSegment
162
+ segment={segment}
163
+ class={({ isFocused, isPlaceholder, isEditable }) => {
164
+ const base = `
165
+ ${sizeConfig().segment}
166
+ rounded
167
+ outline-none
168
+ tabular-nums
169
+ `;
170
+
171
+ let stateClass = '';
172
+ if (segment.type === 'literal') {
173
+ stateClass = 'text-primary-400';
174
+ } else if (isPlaceholder) {
175
+ stateClass = 'text-primary-500 italic';
176
+ } else {
177
+ stateClass = 'text-primary-100';
178
+ }
179
+
180
+ const focusClass = isFocused && isEditable
181
+ ? 'bg-accent text-bg-400'
182
+ : '';
183
+
184
+ return `${base} ${stateClass} ${focusClass}`.trim();
185
+ }}
186
+ />
187
+ )}
188
+ </DateInput>
189
+
190
+ {/* Description */}
191
+ {local.description && !isInvalid() && (
192
+ <DateFieldDescription class={`text-primary-400 ${sizeConfig().label}`}>
193
+ {local.description}
194
+ </DateFieldDescription>
195
+ )}
196
+
197
+ {/* Error message */}
198
+ {isInvalid() && local.errorMessage && (
199
+ <DateFieldErrorMessage class={`text-red-500 ${sizeConfig().label}`}>
200
+ {local.errorMessage}
201
+ </DateFieldErrorMessage>
202
+ )}
203
+ </HeadlessDateField>
204
+ );
205
+ }
206
+
207
+ // Re-export types
208
+ export type { CalendarDate, DateValue };
@@ -0,0 +1,257 @@
1
+ /**
2
+ * DatePicker component for proyecto-viviana-silapse
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
+ DatePickerLabel as HeadlessDatePickerLabel,
11
+ DatePickerDescription as HeadlessDatePickerDescription,
12
+ DatePickerErrorMessage as HeadlessDatePickerErrorMessage,
13
+ DatePickerButton,
14
+ DatePickerContent,
15
+ DateInput,
16
+ DateSegment,
17
+ type DatePickerProps as HeadlessDatePickerProps,
18
+ type CalendarDate,
19
+ type DateValue,
20
+ } from '@proyecto-viviana/solidaria-components'
21
+ import { Calendar } from './index'
22
+ import { useProviderProps } from '../provider'
23
+
24
+ // Calendar icon component - use function to ensure consistent hydration
25
+ function CalendarIcon(): JSX.Element {
26
+ return (
27
+ <svg
28
+ viewBox="0 0 24 24"
29
+ fill="none"
30
+ stroke="currentColor"
31
+ stroke-width="2"
32
+ stroke-linecap="round"
33
+ stroke-linejoin="round"
34
+ class="w-5 h-5"
35
+ aria-hidden="true"
36
+ >
37
+ <rect x="3" y="4" width="18" height="18" rx="2" ry="2" />
38
+ <line x1="16" y1="2" x2="16" y2="6" />
39
+ <line x1="8" y1="2" x2="8" y2="6" />
40
+ <line x1="3" y1="10" x2="21" y2="10" />
41
+ </svg>
42
+ )
43
+ }
44
+
45
+ // ============================================
46
+ // TYPES
47
+ // ============================================
48
+
49
+ export type DatePickerSize = 'sm' | 'md' | 'lg'
50
+
51
+ export interface DatePickerProps<T extends DateValue = DateValue>
52
+ extends Omit<HeadlessDatePickerProps<T>, 'class' | 'style' | 'children'> {
53
+ /** The size of the picker. @default 'md' */
54
+ size?: DatePickerSize
55
+ /** Additional CSS class name. */
56
+ class?: string
57
+ /** Label for the field. */
58
+ label?: string
59
+ /** Description text. */
60
+ description?: string
61
+ /** Error message. */
62
+ errorMessage?: string
63
+ /** Placeholder text. */
64
+ placeholder?: string
65
+ }
66
+
67
+ // ============================================
68
+ // STYLES
69
+ // ============================================
70
+
71
+ const sizeStyles = {
72
+ sm: {
73
+ container: 'text-sm',
74
+ input: 'px-2 py-1 gap-0.5',
75
+ segment: 'px-0.5',
76
+ label: 'text-xs',
77
+ button: 'w-7 h-7',
78
+ },
79
+ md: {
80
+ container: 'text-base',
81
+ input: 'px-3 py-2 gap-1',
82
+ segment: 'px-1',
83
+ label: 'text-sm',
84
+ button: 'w-9 h-9',
85
+ },
86
+ lg: {
87
+ container: 'text-lg',
88
+ input: 'px-4 py-3 gap-1.5',
89
+ segment: 'px-1.5',
90
+ label: 'text-base',
91
+ button: 'w-11 h-11',
92
+ },
93
+ }
94
+
95
+ // ============================================
96
+ // DATE PICKER COMPONENT
97
+ // ============================================
98
+
99
+ /**
100
+ * A date picker combines a date field and a calendar popup.
101
+ */
102
+ export function DatePicker<T extends DateValue = CalendarDate>(
103
+ props: DatePickerProps<T>
104
+ ): JSX.Element {
105
+ const mergedProps = useProviderProps(props)
106
+ const [local, rest] = splitProps(mergedProps, [
107
+ 'size',
108
+ 'class',
109
+ 'label',
110
+ 'description',
111
+ 'errorMessage',
112
+ 'isInvalid',
113
+ 'placeholder',
114
+ ])
115
+
116
+ const size = () => local.size ?? 'md'
117
+ const sizeConfig = () => sizeStyles[size()]
118
+ const isInvalid = () => local.isInvalid || !!local.errorMessage
119
+
120
+ return (
121
+ <HeadlessDatePicker
122
+ {...rest}
123
+ label={local.label}
124
+ description={local.description}
125
+ errorMessage={local.errorMessage}
126
+ isInvalid={isInvalid()}
127
+ class={`flex flex-col gap-1 relative ${sizeConfig().container} ${local.class ?? ''}`}
128
+ >
129
+ <Show when={local.label}>
130
+ <HeadlessDatePickerLabel class={`font-medium text-primary-200 ${sizeConfig().label}`}>
131
+ {local.label}
132
+ <Show when={rest.isRequired}>
133
+ <span class="text-red-500 ml-0.5">*</span>
134
+ </Show>
135
+ </HeadlessDatePickerLabel>
136
+ </Show>
137
+
138
+ <div class="relative flex items-center">
139
+ <DateInput
140
+ class={({ isFocused, isDisabled }) => {
141
+ const base = `
142
+ inline-flex items-center flex-1
143
+ ${sizeConfig().input}
144
+ bg-bg-400 rounded-l-md border-y border-l
145
+ transition-colors duration-150
146
+ `
147
+
148
+ let borderClass = 'border-primary-600'
149
+ if (isInvalid()) {
150
+ borderClass = 'border-red-500'
151
+ } else if (isFocused) {
152
+ borderClass = 'border-accent'
153
+ }
154
+
155
+ const disabledClass = isDisabled
156
+ ? 'opacity-50 cursor-not-allowed'
157
+ : ''
158
+
159
+ const focusClass = isFocused
160
+ ? 'ring-2 ring-accent/30'
161
+ : ''
162
+
163
+ return `${base} ${borderClass} ${disabledClass} ${focusClass}`.trim()
164
+ }}
165
+ >
166
+ {(segment) => (
167
+ <DateSegment
168
+ segment={segment}
169
+ class={({ isFocused, isPlaceholder, isEditable }) => {
170
+ const base = `
171
+ ${sizeConfig().segment}
172
+ rounded
173
+ outline-none
174
+ tabular-nums
175
+ `
176
+
177
+ let stateClass = ''
178
+ if (segment.type === 'literal') {
179
+ stateClass = 'text-primary-400'
180
+ } else if (isPlaceholder) {
181
+ stateClass = 'text-primary-500 italic'
182
+ } else {
183
+ stateClass = 'text-primary-100'
184
+ }
185
+
186
+ const focusClass = isFocused && isEditable
187
+ ? 'bg-accent text-bg-400'
188
+ : ''
189
+
190
+ return `${base} ${stateClass} ${focusClass}`.trim()
191
+ }}
192
+ />
193
+ )}
194
+ </DateInput>
195
+
196
+ <DatePickerButton
197
+ class={({ isDisabled, isOpen }) => {
198
+ const base = `
199
+ ${sizeConfig().button}
200
+ flex items-center justify-center
201
+ bg-bg-400 border-y border-r rounded-r-md
202
+ text-primary-200
203
+ transition-colors duration-150
204
+ focus:outline-none focus:ring-2 focus:ring-accent/50
205
+ `
206
+
207
+ let borderClass = 'border-primary-600'
208
+ if (isInvalid()) {
209
+ borderClass = 'border-red-500'
210
+ } else if (isOpen) {
211
+ borderClass = 'border-accent bg-bg-300'
212
+ }
213
+
214
+ const disabledClass = isDisabled
215
+ ? 'opacity-50 cursor-not-allowed'
216
+ : 'hover:bg-bg-300 cursor-pointer'
217
+
218
+ return `${base} ${borderClass} ${disabledClass}`.trim()
219
+ }}
220
+ >
221
+ <CalendarIcon />
222
+ </DatePickerButton>
223
+
224
+ <DatePickerPopup size={size()} />
225
+ </div>
226
+
227
+ <Show when={local.description && !isInvalid()}>
228
+ <HeadlessDatePickerDescription class={`text-primary-400 ${sizeConfig().label}`}>
229
+ {local.description}
230
+ </HeadlessDatePickerDescription>
231
+ </Show>
232
+
233
+ <Show when={isInvalid() && local.errorMessage}>
234
+ <HeadlessDatePickerErrorMessage class={`text-red-500 ${sizeConfig().label}`}>
235
+ {local.errorMessage}
236
+ </HeadlessDatePickerErrorMessage>
237
+ </Show>
238
+ </HeadlessDatePicker>
239
+ )
240
+ }
241
+
242
+ // ============================================
243
+ // POPUP COMPONENT (uses context)
244
+ // ============================================
245
+
246
+ function DatePickerPopup(props: { size: DatePickerSize }): JSX.Element {
247
+ return (
248
+ <DatePickerContent
249
+ class="z-50 shadow-lg rounded-lg"
250
+ >
251
+ <Calendar size={props.size} />
252
+ </DatePickerContent>
253
+ )
254
+ }
255
+
256
+ // Re-export types
257
+ export type { CalendarDate, DateValue }