@mediquo/medicore 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (907) hide show
  1. package/README.md +89 -0
  2. package/dist/components/advisor-contact/advisor-contact.d.ts +39 -0
  3. package/dist/components/advisor-contact/advisor-contact.js +94 -0
  4. package/dist/components/advisor-contact/advisor-contact.js.map +1 -0
  5. package/dist/components/advisor-contact/index.d.ts +1 -0
  6. package/dist/components/announcement/announcement-dialog.d.ts +39 -0
  7. package/dist/components/announcement/announcement-dialog.js +107 -0
  8. package/dist/components/announcement/announcement-dialog.js.map +1 -0
  9. package/dist/components/announcement/announcement-illustration.d.ts +9 -0
  10. package/dist/components/announcement/announcement-illustration.js +58 -0
  11. package/dist/components/announcement/announcement-illustration.js.map +1 -0
  12. package/dist/components/announcement/index.d.ts +2 -0
  13. package/dist/components/app-shell/app-shell.d.ts +74 -0
  14. package/dist/components/app-shell/app-shell.js +208 -0
  15. package/dist/components/app-shell/app-shell.js.map +1 -0
  16. package/dist/components/app-shell/index.d.ts +1 -0
  17. package/dist/components/appointment-row/appointment-row.d.ts +59 -0
  18. package/dist/components/appointment-row/appointment-row.js +160 -0
  19. package/dist/components/appointment-row/appointment-row.js.map +1 -0
  20. package/dist/components/appointment-row/index.d.ts +1 -0
  21. package/dist/components/auth-panel/auth-panel.d.ts +20 -0
  22. package/dist/components/auth-panel/auth-panel.js +36 -0
  23. package/dist/components/auth-panel/auth-panel.js.map +1 -0
  24. package/dist/components/auth-panel/index.d.ts +1 -0
  25. package/dist/components/availability-column/availability-column.d.ts +28 -0
  26. package/dist/components/availability-column/availability-column.js +57 -0
  27. package/dist/components/availability-column/availability-column.js.map +1 -0
  28. package/dist/components/availability-column/index.d.ts +1 -0
  29. package/dist/components/availability-row/availability-row.d.ts +36 -0
  30. package/dist/components/availability-row/availability-row.js +60 -0
  31. package/dist/components/availability-row/availability-row.js.map +1 -0
  32. package/dist/components/availability-row/index.d.ts +1 -0
  33. package/dist/components/avatar/avatar.d.ts +57 -0
  34. package/dist/components/avatar/avatar.js +115 -0
  35. package/dist/components/avatar/avatar.js.map +1 -0
  36. package/dist/components/avatar/index.d.ts +1 -0
  37. package/dist/components/badge/badge.d.ts +20 -0
  38. package/dist/components/badge/badge.js +42 -0
  39. package/dist/components/badge/badge.js.map +1 -0
  40. package/dist/components/badge/index.d.ts +1 -0
  41. package/dist/components/banner/banner.d.ts +32 -0
  42. package/dist/components/banner/banner.js +93 -0
  43. package/dist/components/banner/banner.js.map +1 -0
  44. package/dist/components/banner/index.d.ts +1 -0
  45. package/dist/components/bottom-bar/bottom-bar.d.ts +41 -0
  46. package/dist/components/bottom-bar/bottom-bar.js +76 -0
  47. package/dist/components/bottom-bar/bottom-bar.js.map +1 -0
  48. package/dist/components/bottom-bar/index.d.ts +1 -0
  49. package/dist/components/brand-mark/brand-mark.d.ts +22 -0
  50. package/dist/components/brand-mark/brand-mark.js +72 -0
  51. package/dist/components/brand-mark/brand-mark.js.map +1 -0
  52. package/dist/components/brand-mark/index.d.ts +1 -0
  53. package/dist/components/breadcrumb/breadcrumb.d.ts +36 -0
  54. package/dist/components/breadcrumb/breadcrumb.js +70 -0
  55. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  56. package/dist/components/breadcrumb/index.d.ts +1 -0
  57. package/dist/components/button/button.d.ts +29 -0
  58. package/dist/components/button/button.js +104 -0
  59. package/dist/components/button/button.js.map +1 -0
  60. package/dist/components/button/index.d.ts +1 -0
  61. package/dist/components/card/card.d.ts +84 -0
  62. package/dist/components/card/card.js +157 -0
  63. package/dist/components/card/card.js.map +1 -0
  64. package/dist/components/card/index.d.ts +1 -0
  65. package/dist/components/card-appointment/card-appointment.d.ts +58 -0
  66. package/dist/components/card-appointment/card-appointment.js +136 -0
  67. package/dist/components/card-appointment/card-appointment.js.map +1 -0
  68. package/dist/components/card-appointment/index.d.ts +1 -0
  69. package/dist/components/card-article/card-article.d.ts +28 -0
  70. package/dist/components/card-article/card-article.js +46 -0
  71. package/dist/components/card-article/card-article.js.map +1 -0
  72. package/dist/components/card-article/index.d.ts +1 -0
  73. package/dist/components/card-professional/card-professional.d.ts +56 -0
  74. package/dist/components/card-professional/card-professional.js +77 -0
  75. package/dist/components/card-professional/card-professional.js.map +1 -0
  76. package/dist/components/card-professional/index.d.ts +1 -0
  77. package/dist/components/card-professional-mini/card-professional-mini.d.ts +22 -0
  78. package/dist/components/card-professional-mini/card-professional-mini.js +37 -0
  79. package/dist/components/card-professional-mini/card-professional-mini.js.map +1 -0
  80. package/dist/components/card-professional-mini/index.d.ts +1 -0
  81. package/dist/components/card-program/card-program.d.ts +45 -0
  82. package/dist/components/card-program/card-program.js +142 -0
  83. package/dist/components/card-program/card-program.js.map +1 -0
  84. package/dist/components/card-program/index.d.ts +1 -0
  85. package/dist/components/card-service-option/card-service-option.d.ts +33 -0
  86. package/dist/components/card-service-option/card-service-option.js +49 -0
  87. package/dist/components/card-service-option/card-service-option.js.map +1 -0
  88. package/dist/components/card-service-option/index.d.ts +1 -0
  89. package/dist/components/card-testimonial/card-testimonial.d.ts +17 -0
  90. package/dist/components/card-testimonial/card-testimonial.js +36 -0
  91. package/dist/components/card-testimonial/card-testimonial.js.map +1 -0
  92. package/dist/components/card-testimonial/index.d.ts +1 -0
  93. package/dist/components/chat/chat-attachment.d.ts +34 -0
  94. package/dist/components/chat/chat-attachment.js +90 -0
  95. package/dist/components/chat/chat-attachment.js.map +1 -0
  96. package/dist/components/chat/chat-bubble.d.ts +49 -0
  97. package/dist/components/chat/chat-bubble.js +102 -0
  98. package/dist/components/chat/chat-bubble.js.map +1 -0
  99. package/dist/components/chat/chat-composer.d.ts +40 -0
  100. package/dist/components/chat/chat-composer.js +114 -0
  101. package/dist/components/chat/chat-composer.js.map +1 -0
  102. package/dist/components/chat/chat-conversation-row.d.ts +42 -0
  103. package/dist/components/chat/chat-conversation-row.js +104 -0
  104. package/dist/components/chat/chat-conversation-row.js.map +1 -0
  105. package/dist/components/chat/chat-date-separator.d.ts +15 -0
  106. package/dist/components/chat/chat-date-separator.js +29 -0
  107. package/dist/components/chat/chat-date-separator.js.map +1 -0
  108. package/dist/components/chat/chat-delivery-status.d.ts +21 -0
  109. package/dist/components/chat/chat-delivery-status.js +43 -0
  110. package/dist/components/chat/chat-delivery-status.js.map +1 -0
  111. package/dist/components/chat/chat-launcher.d.ts +24 -0
  112. package/dist/components/chat/chat-launcher.js +52 -0
  113. package/dist/components/chat/chat-launcher.js.map +1 -0
  114. package/dist/components/chat/chat-message-list.d.ts +13 -0
  115. package/dist/components/chat/chat-message-list.js +23 -0
  116. package/dist/components/chat/chat-message-list.js.map +1 -0
  117. package/dist/components/chat/chat-room-header.d.ts +33 -0
  118. package/dist/components/chat/chat-room-header.js +53 -0
  119. package/dist/components/chat/chat-room-header.js.map +1 -0
  120. package/dist/components/chat/chat-typing-indicator.d.ts +20 -0
  121. package/dist/components/chat/chat-typing-indicator.js +61 -0
  122. package/dist/components/chat/chat-typing-indicator.js.map +1 -0
  123. package/dist/components/chat/index.d.ts +10 -0
  124. package/dist/components/checkbox/checkbox-field.d.ts +25 -0
  125. package/dist/components/checkbox/checkbox-field.js +62 -0
  126. package/dist/components/checkbox/checkbox-field.js.map +1 -0
  127. package/dist/components/checkbox/checkbox.d.ts +28 -0
  128. package/dist/components/checkbox/checkbox.js +62 -0
  129. package/dist/components/checkbox/checkbox.js.map +1 -0
  130. package/dist/components/checkbox/index.d.ts +2 -0
  131. package/dist/components/chip/chip.d.ts +60 -0
  132. package/dist/components/chip/chip.js +101 -0
  133. package/dist/components/chip/chip.js.map +1 -0
  134. package/dist/components/chip/index.d.ts +1 -0
  135. package/dist/components/date-badge/date-badge.d.ts +15 -0
  136. package/dist/components/date-badge/date-badge.js +35 -0
  137. package/dist/components/date-badge/date-badge.js.map +1 -0
  138. package/dist/components/date-badge/index.d.ts +1 -0
  139. package/dist/components/day-cell/day-cell.d.ts +45 -0
  140. package/dist/components/day-cell/day-cell.js +124 -0
  141. package/dist/components/day-cell/day-cell.js.map +1 -0
  142. package/dist/components/day-cell/index.d.ts +1 -0
  143. package/dist/components/divider/divider.d.ts +23 -0
  144. package/dist/components/divider/divider.js +49 -0
  145. package/dist/components/divider/divider.js.map +1 -0
  146. package/dist/components/divider/index.d.ts +1 -0
  147. package/dist/components/empty-state/empty-state.d.ts +53 -0
  148. package/dist/components/empty-state/empty-state.js +57 -0
  149. package/dist/components/empty-state/empty-state.js.map +1 -0
  150. package/dist/components/empty-state/index.d.ts +1 -0
  151. package/dist/components/field/field-context.d.ts +19 -0
  152. package/dist/components/field/field-context.js +10 -0
  153. package/dist/components/field/field-context.js.map +1 -0
  154. package/dist/components/field/field.d.ts +47 -0
  155. package/dist/components/field/field.js +116 -0
  156. package/dist/components/field/field.js.map +1 -0
  157. package/dist/components/field/index.d.ts +1 -0
  158. package/dist/components/footer/footer.d.ts +29 -0
  159. package/dist/components/footer/footer.js +88 -0
  160. package/dist/components/footer/footer.js.map +1 -0
  161. package/dist/components/footer/index.d.ts +1 -0
  162. package/dist/components/health-record/health-record.d.ts +88 -0
  163. package/dist/components/health-record/health-record.js +255 -0
  164. package/dist/components/health-record/health-record.js.map +1 -0
  165. package/dist/components/health-record/index.d.ts +1 -0
  166. package/dist/components/hero-greeting/hero-greeting.d.ts +17 -0
  167. package/dist/components/hero-greeting/hero-greeting.js +29 -0
  168. package/dist/components/hero-greeting/hero-greeting.js.map +1 -0
  169. package/dist/components/hero-greeting/index.d.ts +1 -0
  170. package/dist/components/icon-button/icon-button.d.ts +37 -0
  171. package/dist/components/icon-button/icon-button.js +64 -0
  172. package/dist/components/icon-button/icon-button.js.map +1 -0
  173. package/dist/components/icon-button/index.d.ts +1 -0
  174. package/dist/components/icon-container/icon-container.d.ts +29 -0
  175. package/dist/components/icon-container/icon-container.js +49 -0
  176. package/dist/components/icon-container/icon-container.js.map +1 -0
  177. package/dist/components/icon-container/index.d.ts +1 -0
  178. package/dist/components/included-item/included-item.d.ts +10 -0
  179. package/dist/components/included-item/included-item.js +37 -0
  180. package/dist/components/included-item/included-item.js.map +1 -0
  181. package/dist/components/included-item/index.d.ts +1 -0
  182. package/dist/components/input/control-styles.d.ts +34 -0
  183. package/dist/components/input/control-styles.js +36 -0
  184. package/dist/components/input/control-styles.js.map +1 -0
  185. package/dist/components/input/index.d.ts +1 -0
  186. package/dist/components/input/input.d.ts +35 -0
  187. package/dist/components/input/input.js +123 -0
  188. package/dist/components/input/input.js.map +1 -0
  189. package/dist/components/link/index.d.ts +1 -0
  190. package/dist/components/link/link.d.ts +52 -0
  191. package/dist/components/link/link.js +94 -0
  192. package/dist/components/link/link.js.map +1 -0
  193. package/dist/components/list-row/index.d.ts +1 -0
  194. package/dist/components/list-row/list-row.d.ts +47 -0
  195. package/dist/components/list-row/list-row.js +71 -0
  196. package/dist/components/list-row/list-row.js.map +1 -0
  197. package/dist/components/logo/index.d.ts +1 -0
  198. package/dist/components/logo/logo.d.ts +13 -0
  199. package/dist/components/logo/logo.js +48 -0
  200. package/dist/components/logo/logo.js.map +1 -0
  201. package/dist/components/menu/index.d.ts +1 -0
  202. package/dist/components/menu/menu.d.ts +79 -0
  203. package/dist/components/menu/menu.js +250 -0
  204. package/dist/components/menu/menu.js.map +1 -0
  205. package/dist/components/mobile-header/index.d.ts +1 -0
  206. package/dist/components/mobile-header/mobile-header.d.ts +49 -0
  207. package/dist/components/mobile-header/mobile-header.js +84 -0
  208. package/dist/components/mobile-header/mobile-header.js.map +1 -0
  209. package/dist/components/modal/confirm-modal.d.ts +32 -0
  210. package/dist/components/modal/confirm-modal.js +78 -0
  211. package/dist/components/modal/confirm-modal.js.map +1 -0
  212. package/dist/components/modal/index.d.ts +2 -0
  213. package/dist/components/modal/modal.d.ts +103 -0
  214. package/dist/components/modal/modal.js +248 -0
  215. package/dist/components/modal/modal.js.map +1 -0
  216. package/dist/components/modal/use-media-query.d.ts +7 -0
  217. package/dist/components/modal/use-media-query.js +22 -0
  218. package/dist/components/modal/use-media-query.js.map +1 -0
  219. package/dist/components/nav-item/index.d.ts +1 -0
  220. package/dist/components/nav-item/nav-item.d.ts +54 -0
  221. package/dist/components/nav-item/nav-item.js +124 -0
  222. package/dist/components/nav-item/nav-item.js.map +1 -0
  223. package/dist/components/otp-input/index.d.ts +1 -0
  224. package/dist/components/otp-input/otp-input.d.ts +40 -0
  225. package/dist/components/otp-input/otp-input.js +152 -0
  226. package/dist/components/otp-input/otp-input.js.map +1 -0
  227. package/dist/components/page-header/index.d.ts +1 -0
  228. package/dist/components/page-header/page-header.d.ts +24 -0
  229. package/dist/components/page-header/page-header.js +41 -0
  230. package/dist/components/page-header/page-header.js.map +1 -0
  231. package/dist/components/phone-input/index.d.ts +1 -0
  232. package/dist/components/phone-input/phone-input.d.ts +46 -0
  233. package/dist/components/phone-input/phone-input.js +219 -0
  234. package/dist/components/phone-input/phone-input.js.map +1 -0
  235. package/dist/components/promo-app/index.d.ts +1 -0
  236. package/dist/components/promo-app/promo-app.d.ts +29 -0
  237. package/dist/components/promo-app/promo-app.js +51 -0
  238. package/dist/components/promo-app/promo-app.js.map +1 -0
  239. package/dist/components/radio/field-item-label.d.ts +13 -0
  240. package/dist/components/radio/field-item-label.js +29 -0
  241. package/dist/components/radio/field-item-label.js.map +1 -0
  242. package/dist/components/radio/index.d.ts +1 -0
  243. package/dist/components/radio/radio.d.ts +38 -0
  244. package/dist/components/radio/radio.js +90 -0
  245. package/dist/components/radio/radio.js.map +1 -0
  246. package/dist/components/radio/use-field-group-label.d.ts +7 -0
  247. package/dist/components/radio/use-field-group-label.js +16 -0
  248. package/dist/components/radio/use-field-group-label.js.map +1 -0
  249. package/dist/components/rating/index.d.ts +1 -0
  250. package/dist/components/rating/rating.d.ts +23 -0
  251. package/dist/components/rating/rating.js +93 -0
  252. package/dist/components/rating/rating.js.map +1 -0
  253. package/dist/components/section-header/index.d.ts +1 -0
  254. package/dist/components/section-header/section-header.d.ts +37 -0
  255. package/dist/components/section-header/section-header.js +60 -0
  256. package/dist/components/section-header/section-header.js.map +1 -0
  257. package/dist/components/segmented-control/index.d.ts +1 -0
  258. package/dist/components/segmented-control/segmented-control.d.ts +34 -0
  259. package/dist/components/segmented-control/segmented-control.js +51 -0
  260. package/dist/components/segmented-control/segmented-control.js.map +1 -0
  261. package/dist/components/select/index.d.ts +2 -0
  262. package/dist/components/select/native-select.d.ts +30 -0
  263. package/dist/components/select/native-select.js +83 -0
  264. package/dist/components/select/native-select.js.map +1 -0
  265. package/dist/components/select/select.d.ts +49 -0
  266. package/dist/components/select/select.js +125 -0
  267. package/dist/components/select/select.js.map +1 -0
  268. package/dist/components/selection-card/index.d.ts +1 -0
  269. package/dist/components/selection-card/selection-card.d.ts +31 -0
  270. package/dist/components/selection-card/selection-card.js +90 -0
  271. package/dist/components/selection-card/selection-card.js.map +1 -0
  272. package/dist/components/severity-indicator/index.d.ts +1 -0
  273. package/dist/components/severity-indicator/severity-indicator.d.ts +18 -0
  274. package/dist/components/severity-indicator/severity-indicator.js +64 -0
  275. package/dist/components/severity-indicator/severity-indicator.js.map +1 -0
  276. package/dist/components/severity-scale/index.d.ts +1 -0
  277. package/dist/components/severity-scale/severity-scale.d.ts +17 -0
  278. package/dist/components/severity-scale/severity-scale.js +22 -0
  279. package/dist/components/severity-scale/severity-scale.js.map +1 -0
  280. package/dist/components/sidebar/index.d.ts +1 -0
  281. package/dist/components/sidebar/sidebar.d.ts +99 -0
  282. package/dist/components/sidebar/sidebar.js +228 -0
  283. package/dist/components/sidebar/sidebar.js.map +1 -0
  284. package/dist/components/skeleton/index.d.ts +1 -0
  285. package/dist/components/skeleton/skeleton.d.ts +33 -0
  286. package/dist/components/skeleton/skeleton.js +47 -0
  287. package/dist/components/skeleton/skeleton.js.map +1 -0
  288. package/dist/components/social-button/index.d.ts +1 -0
  289. package/dist/components/social-button/social-button.d.ts +29 -0
  290. package/dist/components/social-button/social-button.js +53 -0
  291. package/dist/components/social-button/social-button.js.map +1 -0
  292. package/dist/components/spinner/index.d.ts +1 -0
  293. package/dist/components/spinner/spinner.d.ts +20 -0
  294. package/dist/components/spinner/spinner.js +54 -0
  295. package/dist/components/spinner/spinner.js.map +1 -0
  296. package/dist/components/stat-tile/index.d.ts +1 -0
  297. package/dist/components/stat-tile/stat-tile.d.ts +15 -0
  298. package/dist/components/stat-tile/stat-tile.js +28 -0
  299. package/dist/components/stat-tile/stat-tile.js.map +1 -0
  300. package/dist/components/step-indicator/index.d.ts +1 -0
  301. package/dist/components/step-indicator/step-indicator.d.ts +17 -0
  302. package/dist/components/step-indicator/step-indicator.js +35 -0
  303. package/dist/components/step-indicator/step-indicator.js.map +1 -0
  304. package/dist/components/store-badge/index.d.ts +1 -0
  305. package/dist/components/store-badge/store-badge.d.ts +22 -0
  306. package/dist/components/store-badge/store-badge.js +40 -0
  307. package/dist/components/store-badge/store-badge.js.map +1 -0
  308. package/dist/components/switch/index.d.ts +1 -0
  309. package/dist/components/switch/switch.d.ts +23 -0
  310. package/dist/components/switch/switch.js +67 -0
  311. package/dist/components/switch/switch.js.map +1 -0
  312. package/dist/components/table/index.d.ts +1 -0
  313. package/dist/components/table/table.d.ts +85 -0
  314. package/dist/components/table/table.js +175 -0
  315. package/dist/components/table/table.js.map +1 -0
  316. package/dist/components/tabs/index.d.ts +1 -0
  317. package/dist/components/tabs/tabs.d.ts +58 -0
  318. package/dist/components/tabs/tabs.js +89 -0
  319. package/dist/components/tabs/tabs.js.map +1 -0
  320. package/dist/components/textarea/index.d.ts +1 -0
  321. package/dist/components/textarea/textarea.d.ts +25 -0
  322. package/dist/components/textarea/textarea.js +79 -0
  323. package/dist/components/textarea/textarea.js.map +1 -0
  324. package/dist/components/time-slot/index.d.ts +1 -0
  325. package/dist/components/time-slot/time-slot.d.ts +50 -0
  326. package/dist/components/time-slot/time-slot.js +75 -0
  327. package/dist/components/time-slot/time-slot.js.map +1 -0
  328. package/dist/components/toast/index.d.ts +1 -0
  329. package/dist/components/toast/toast.d.ts +60 -0
  330. package/dist/components/toast/toast.js +159 -0
  331. package/dist/components/toast/toast.js.map +1 -0
  332. package/dist/components/tooltip/index.d.ts +1 -0
  333. package/dist/components/tooltip/tooltip.d.ts +40 -0
  334. package/dist/components/tooltip/tooltip.js +110 -0
  335. package/dist/components/tooltip/tooltip.js.map +1 -0
  336. package/dist/components/video/index.d.ts +4 -0
  337. package/dist/components/video/video-control-button.d.ts +33 -0
  338. package/dist/components/video/video-control-button.js +119 -0
  339. package/dist/components/video/video-control-button.js.map +1 -0
  340. package/dist/components/video/video-label.d.ts +14 -0
  341. package/dist/components/video/video-label.js +25 -0
  342. package/dist/components/video/video-label.js.map +1 -0
  343. package/dist/components/video/video-stage.d.ts +39 -0
  344. package/dist/components/video/video-stage.js +96 -0
  345. package/dist/components/video/video-stage.js.map +1 -0
  346. package/dist/components/video/video-tile.d.ts +37 -0
  347. package/dist/components/video/video-tile.js +61 -0
  348. package/dist/components/video/video-tile.js.map +1 -0
  349. package/dist/icons/create-icon.d.ts +18 -0
  350. package/dist/icons/create-icon.js +46 -0
  351. package/dist/icons/create-icon.js.map +1 -0
  352. package/dist/icons/generated/activity-heart.d.ts +1 -0
  353. package/dist/icons/generated/activity-heart.js +10 -0
  354. package/dist/icons/generated/activity-heart.js.map +1 -0
  355. package/dist/icons/generated/activity.d.ts +1 -0
  356. package/dist/icons/generated/activity.js +10 -0
  357. package/dist/icons/generated/activity.js.map +1 -0
  358. package/dist/icons/generated/alert-circle.d.ts +1 -0
  359. package/dist/icons/generated/alert-circle.js +10 -0
  360. package/dist/icons/generated/alert-circle.js.map +1 -0
  361. package/dist/icons/generated/alert-triangle.d.ts +1 -0
  362. package/dist/icons/generated/alert-triangle.js +10 -0
  363. package/dist/icons/generated/alert-triangle.js.map +1 -0
  364. package/dist/icons/generated/allergy-peanut.d.ts +1 -0
  365. package/dist/icons/generated/allergy-peanut.js +16 -0
  366. package/dist/icons/generated/allergy-peanut.js.map +1 -0
  367. package/dist/icons/generated/annotation-alert.d.ts +1 -0
  368. package/dist/icons/generated/annotation-alert.js +10 -0
  369. package/dist/icons/generated/annotation-alert.js.map +1 -0
  370. package/dist/icons/generated/annotation-check.d.ts +1 -0
  371. package/dist/icons/generated/annotation-check.js +10 -0
  372. package/dist/icons/generated/annotation-check.js.map +1 -0
  373. package/dist/icons/generated/annotation-info.d.ts +1 -0
  374. package/dist/icons/generated/annotation-info.js +10 -0
  375. package/dist/icons/generated/annotation-info.js.map +1 -0
  376. package/dist/icons/generated/annotation-question.d.ts +1 -0
  377. package/dist/icons/generated/annotation-question.js +10 -0
  378. package/dist/icons/generated/annotation-question.js.map +1 -0
  379. package/dist/icons/generated/annotation.d.ts +1 -0
  380. package/dist/icons/generated/annotation.js +10 -0
  381. package/dist/icons/generated/annotation.js.map +1 -0
  382. package/dist/icons/generated/arrow-circle-down.d.ts +1 -0
  383. package/dist/icons/generated/arrow-circle-down.js +10 -0
  384. package/dist/icons/generated/arrow-circle-down.js.map +1 -0
  385. package/dist/icons/generated/arrow-circle-left.d.ts +1 -0
  386. package/dist/icons/generated/arrow-circle-left.js +10 -0
  387. package/dist/icons/generated/arrow-circle-left.js.map +1 -0
  388. package/dist/icons/generated/arrow-circle-right.d.ts +1 -0
  389. package/dist/icons/generated/arrow-circle-right.js +10 -0
  390. package/dist/icons/generated/arrow-circle-right.js.map +1 -0
  391. package/dist/icons/generated/arrow-circle-up.d.ts +1 -0
  392. package/dist/icons/generated/arrow-circle-up.js +10 -0
  393. package/dist/icons/generated/arrow-circle-up.js.map +1 -0
  394. package/dist/icons/generated/arrow-narrow-down.d.ts +1 -0
  395. package/dist/icons/generated/arrow-narrow-down.js +10 -0
  396. package/dist/icons/generated/arrow-narrow-down.js.map +1 -0
  397. package/dist/icons/generated/arrow-narrow-left.d.ts +1 -0
  398. package/dist/icons/generated/arrow-narrow-left.js +10 -0
  399. package/dist/icons/generated/arrow-narrow-left.js.map +1 -0
  400. package/dist/icons/generated/arrow-narrow-right.d.ts +1 -0
  401. package/dist/icons/generated/arrow-narrow-right.js +10 -0
  402. package/dist/icons/generated/arrow-narrow-right.js.map +1 -0
  403. package/dist/icons/generated/arrow-narrow-up.d.ts +1 -0
  404. package/dist/icons/generated/arrow-narrow-up.js +10 -0
  405. package/dist/icons/generated/arrow-narrow-up.js.map +1 -0
  406. package/dist/icons/generated/arrow-right.d.ts +1 -0
  407. package/dist/icons/generated/arrow-right.js +10 -0
  408. package/dist/icons/generated/arrow-right.js.map +1 -0
  409. package/dist/icons/generated/bar-chart-01.d.ts +1 -0
  410. package/dist/icons/generated/bar-chart-01.js +10 -0
  411. package/dist/icons/generated/bar-chart-01.js.map +1 -0
  412. package/dist/icons/generated/bar-chart-02.d.ts +1 -0
  413. package/dist/icons/generated/bar-chart-02.js +10 -0
  414. package/dist/icons/generated/bar-chart-02.js.map +1 -0
  415. package/dist/icons/generated/bar-chart-03.d.ts +1 -0
  416. package/dist/icons/generated/bar-chart-03.js +10 -0
  417. package/dist/icons/generated/bar-chart-03.js.map +1 -0
  418. package/dist/icons/generated/bell-01.d.ts +1 -0
  419. package/dist/icons/generated/bell-01.js +10 -0
  420. package/dist/icons/generated/bell-01.js.map +1 -0
  421. package/dist/icons/generated/bell-02.d.ts +1 -0
  422. package/dist/icons/generated/bell-02.js +10 -0
  423. package/dist/icons/generated/bell-02.js.map +1 -0
  424. package/dist/icons/generated/bookmark.d.ts +1 -0
  425. package/dist/icons/generated/bookmark.js +10 -0
  426. package/dist/icons/generated/bookmark.js.map +1 -0
  427. package/dist/icons/generated/broken-heart.d.ts +1 -0
  428. package/dist/icons/generated/broken-heart.js +10 -0
  429. package/dist/icons/generated/broken-heart.js.map +1 -0
  430. package/dist/icons/generated/calendar-chat.d.ts +1 -0
  431. package/dist/icons/generated/calendar-chat.js +13 -0
  432. package/dist/icons/generated/calendar-chat.js.map +1 -0
  433. package/dist/icons/generated/calendar-check-01.d.ts +1 -0
  434. package/dist/icons/generated/calendar-check-01.js +10 -0
  435. package/dist/icons/generated/calendar-check-01.js.map +1 -0
  436. package/dist/icons/generated/calendar-check-02.d.ts +1 -0
  437. package/dist/icons/generated/calendar-check-02.js +10 -0
  438. package/dist/icons/generated/calendar-check-02.js.map +1 -0
  439. package/dist/icons/generated/calendar-heart-01.d.ts +1 -0
  440. package/dist/icons/generated/calendar-heart-01.js +10 -0
  441. package/dist/icons/generated/calendar-heart-01.js.map +1 -0
  442. package/dist/icons/generated/calendar-minus-01.d.ts +1 -0
  443. package/dist/icons/generated/calendar-minus-01.js +10 -0
  444. package/dist/icons/generated/calendar-minus-01.js.map +1 -0
  445. package/dist/icons/generated/calendar-minus-02.d.ts +1 -0
  446. package/dist/icons/generated/calendar-minus-02.js +10 -0
  447. package/dist/icons/generated/calendar-minus-02.js.map +1 -0
  448. package/dist/icons/generated/calendar-plus-01.d.ts +1 -0
  449. package/dist/icons/generated/calendar-plus-01.js +10 -0
  450. package/dist/icons/generated/calendar-plus-01.js.map +1 -0
  451. package/dist/icons/generated/calendar-plus-02.d.ts +1 -0
  452. package/dist/icons/generated/calendar-plus-02.js +10 -0
  453. package/dist/icons/generated/calendar-plus-02.js.map +1 -0
  454. package/dist/icons/generated/calendar.d.ts +1 -0
  455. package/dist/icons/generated/calendar.js +10 -0
  456. package/dist/icons/generated/calendar.js.map +1 -0
  457. package/dist/icons/generated/camera-01.d.ts +1 -0
  458. package/dist/icons/generated/camera-01.js +13 -0
  459. package/dist/icons/generated/camera-01.js.map +1 -0
  460. package/dist/icons/generated/camera-off.d.ts +1 -0
  461. package/dist/icons/generated/camera-off.js +10 -0
  462. package/dist/icons/generated/camera-off.js.map +1 -0
  463. package/dist/icons/generated/certificate-02.d.ts +1 -0
  464. package/dist/icons/generated/certificate-02.js +10 -0
  465. package/dist/icons/generated/certificate-02.js.map +1 -0
  466. package/dist/icons/generated/check-circle.d.ts +1 -0
  467. package/dist/icons/generated/check-circle.js +10 -0
  468. package/dist/icons/generated/check-circle.js.map +1 -0
  469. package/dist/icons/generated/check-heart.d.ts +1 -0
  470. package/dist/icons/generated/check-heart.js +10 -0
  471. package/dist/icons/generated/check-heart.js.map +1 -0
  472. package/dist/icons/generated/check-square.d.ts +1 -0
  473. package/dist/icons/generated/check-square.js +10 -0
  474. package/dist/icons/generated/check-square.js.map +1 -0
  475. package/dist/icons/generated/check-verified-02.d.ts +1 -0
  476. package/dist/icons/generated/check-verified-02.js +10 -0
  477. package/dist/icons/generated/check-verified-02.js.map +1 -0
  478. package/dist/icons/generated/check.d.ts +1 -0
  479. package/dist/icons/generated/check.js +7 -0
  480. package/dist/icons/generated/check.js.map +1 -0
  481. package/dist/icons/generated/chevron-down.d.ts +1 -0
  482. package/dist/icons/generated/chevron-down.js +10 -0
  483. package/dist/icons/generated/chevron-down.js.map +1 -0
  484. package/dist/icons/generated/chevron-left.d.ts +1 -0
  485. package/dist/icons/generated/chevron-left.js +10 -0
  486. package/dist/icons/generated/chevron-left.js.map +1 -0
  487. package/dist/icons/generated/chevron-right.d.ts +1 -0
  488. package/dist/icons/generated/chevron-right.js +10 -0
  489. package/dist/icons/generated/chevron-right.js.map +1 -0
  490. package/dist/icons/generated/chevron-up.d.ts +1 -0
  491. package/dist/icons/generated/chevron-up.js +10 -0
  492. package/dist/icons/generated/chevron-up.js.map +1 -0
  493. package/dist/icons/generated/clipboard-check.d.ts +1 -0
  494. package/dist/icons/generated/clipboard-check.js +10 -0
  495. package/dist/icons/generated/clipboard-check.js.map +1 -0
  496. package/dist/icons/generated/clock.d.ts +1 -0
  497. package/dist/icons/generated/clock.js +10 -0
  498. package/dist/icons/generated/clock.js.map +1 -0
  499. package/dist/icons/generated/copy-01.d.ts +1 -0
  500. package/dist/icons/generated/copy-01.js +10 -0
  501. package/dist/icons/generated/copy-01.js.map +1 -0
  502. package/dist/icons/generated/credit-card-01.d.ts +1 -0
  503. package/dist/icons/generated/credit-card-01.js +10 -0
  504. package/dist/icons/generated/credit-card-01.js.map +1 -0
  505. package/dist/icons/generated/credit-card-02.d.ts +1 -0
  506. package/dist/icons/generated/credit-card-02.js +10 -0
  507. package/dist/icons/generated/credit-card-02.js.map +1 -0
  508. package/dist/icons/generated/credit-card-check.d.ts +1 -0
  509. package/dist/icons/generated/credit-card-check.js +10 -0
  510. package/dist/icons/generated/credit-card-check.js.map +1 -0
  511. package/dist/icons/generated/currency-euro.d.ts +1 -0
  512. package/dist/icons/generated/currency-euro.js +10 -0
  513. package/dist/icons/generated/currency-euro.js.map +1 -0
  514. package/dist/icons/generated/dots-horizontal.d.ts +1 -0
  515. package/dist/icons/generated/dots-horizontal.js +14 -0
  516. package/dist/icons/generated/dots-horizontal.js.map +1 -0
  517. package/dist/icons/generated/dots-vertical.d.ts +1 -0
  518. package/dist/icons/generated/dots-vertical.js +14 -0
  519. package/dist/icons/generated/dots-vertical.js.map +1 -0
  520. package/dist/icons/generated/download-02.d.ts +1 -0
  521. package/dist/icons/generated/download-02.js +10 -0
  522. package/dist/icons/generated/download-02.js.map +1 -0
  523. package/dist/icons/generated/download-cloud-01.d.ts +1 -0
  524. package/dist/icons/generated/download-cloud-01.js +10 -0
  525. package/dist/icons/generated/download-cloud-01.js.map +1 -0
  526. package/dist/icons/generated/edit-01.d.ts +1 -0
  527. package/dist/icons/generated/edit-01.js +10 -0
  528. package/dist/icons/generated/edit-01.js.map +1 -0
  529. package/dist/icons/generated/edit-05.d.ts +1 -0
  530. package/dist/icons/generated/edit-05.js +10 -0
  531. package/dist/icons/generated/edit-05.js.map +1 -0
  532. package/dist/icons/generated/eye-off.d.ts +1 -0
  533. package/dist/icons/generated/eye-off.js +10 -0
  534. package/dist/icons/generated/eye-off.js.map +1 -0
  535. package/dist/icons/generated/eye.d.ts +1 -0
  536. package/dist/icons/generated/eye.js +13 -0
  537. package/dist/icons/generated/eye.js.map +1 -0
  538. package/dist/icons/generated/face-content.d.ts +1 -0
  539. package/dist/icons/generated/face-content.js +10 -0
  540. package/dist/icons/generated/face-content.js.map +1 -0
  541. package/dist/icons/generated/face-frown.d.ts +1 -0
  542. package/dist/icons/generated/face-frown.js +10 -0
  543. package/dist/icons/generated/face-frown.js.map +1 -0
  544. package/dist/icons/generated/face-happy.d.ts +1 -0
  545. package/dist/icons/generated/face-happy.js +10 -0
  546. package/dist/icons/generated/face-happy.js.map +1 -0
  547. package/dist/icons/generated/face-id.d.ts +1 -0
  548. package/dist/icons/generated/face-id.js +10 -0
  549. package/dist/icons/generated/face-id.js.map +1 -0
  550. package/dist/icons/generated/female.d.ts +1 -0
  551. package/dist/icons/generated/female.js +10 -0
  552. package/dist/icons/generated/female.js.map +1 -0
  553. package/dist/icons/generated/file-06.d.ts +1 -0
  554. package/dist/icons/generated/file-06.js +10 -0
  555. package/dist/icons/generated/file-06.js.map +1 -0
  556. package/dist/icons/generated/file-lock-02.d.ts +1 -0
  557. package/dist/icons/generated/file-lock-02.js +10 -0
  558. package/dist/icons/generated/file-lock-02.js.map +1 -0
  559. package/dist/icons/generated/filter-funnel-01.d.ts +1 -0
  560. package/dist/icons/generated/filter-funnel-01.js +10 -0
  561. package/dist/icons/generated/filter-funnel-01.js.map +1 -0
  562. package/dist/icons/generated/filter-lines.d.ts +1 -0
  563. package/dist/icons/generated/filter-lines.js +10 -0
  564. package/dist/icons/generated/filter-lines.js.map +1 -0
  565. package/dist/icons/generated/fingerprint-01.d.ts +1 -0
  566. package/dist/icons/generated/fingerprint-01.js +10 -0
  567. package/dist/icons/generated/fingerprint-01.js.map +1 -0
  568. package/dist/icons/generated/fingerprint-04.d.ts +1 -0
  569. package/dist/icons/generated/fingerprint-04.js +10 -0
  570. package/dist/icons/generated/fingerprint-04.js.map +1 -0
  571. package/dist/icons/generated/flag-01.d.ts +1 -0
  572. package/dist/icons/generated/flag-01.js +10 -0
  573. package/dist/icons/generated/flag-01.js.map +1 -0
  574. package/dist/icons/generated/flash-off.d.ts +1 -0
  575. package/dist/icons/generated/flash-off.js +10 -0
  576. package/dist/icons/generated/flash-off.js.map +1 -0
  577. package/dist/icons/generated/flash.d.ts +1 -0
  578. package/dist/icons/generated/flash.js +10 -0
  579. package/dist/icons/generated/flash.js.map +1 -0
  580. package/dist/icons/generated/flip-backward.d.ts +1 -0
  581. package/dist/icons/generated/flip-backward.js +10 -0
  582. package/dist/icons/generated/flip-backward.js.map +1 -0
  583. package/dist/icons/generated/globe-01.d.ts +1 -0
  584. package/dist/icons/generated/globe-01.js +10 -0
  585. package/dist/icons/generated/globe-01.js.map +1 -0
  586. package/dist/icons/generated/globe-04.d.ts +1 -0
  587. package/dist/icons/generated/globe-04.js +10 -0
  588. package/dist/icons/generated/globe-04.js.map +1 -0
  589. package/dist/icons/generated/heart.d.ts +1 -0
  590. package/dist/icons/generated/heart.js +17 -0
  591. package/dist/icons/generated/heart.js.map +1 -0
  592. package/dist/icons/generated/help-circle.d.ts +1 -0
  593. package/dist/icons/generated/help-circle.js +10 -0
  594. package/dist/icons/generated/help-circle.js.map +1 -0
  595. package/dist/icons/generated/help-square.d.ts +1 -0
  596. package/dist/icons/generated/help-square.js +10 -0
  597. package/dist/icons/generated/help-square.js.map +1 -0
  598. package/dist/icons/generated/home-02.d.ts +1 -0
  599. package/dist/icons/generated/home-02.js +10 -0
  600. package/dist/icons/generated/home-02.js.map +1 -0
  601. package/dist/icons/generated/hourglass-01.d.ts +1 -0
  602. package/dist/icons/generated/hourglass-01.js +10 -0
  603. package/dist/icons/generated/hourglass-01.js.map +1 -0
  604. package/dist/icons/generated/image-01.d.ts +1 -0
  605. package/dist/icons/generated/image-01.js +10 -0
  606. package/dist/icons/generated/image-01.js.map +1 -0
  607. package/dist/icons/generated/image-03.d.ts +1 -0
  608. package/dist/icons/generated/image-03.js +10 -0
  609. package/dist/icons/generated/image-03.js.map +1 -0
  610. package/dist/icons/generated/image-check.d.ts +1 -0
  611. package/dist/icons/generated/image-check.js +10 -0
  612. package/dist/icons/generated/image-check.js.map +1 -0
  613. package/dist/icons/generated/image-plus.d.ts +1 -0
  614. package/dist/icons/generated/image-plus.js +10 -0
  615. package/dist/icons/generated/image-plus.js.map +1 -0
  616. package/dist/icons/generated/inbox-01.d.ts +1 -0
  617. package/dist/icons/generated/inbox-01.js +10 -0
  618. package/dist/icons/generated/inbox-01.js.map +1 -0
  619. package/dist/icons/generated/info-circle.d.ts +1 -0
  620. package/dist/icons/generated/info-circle.js +10 -0
  621. package/dist/icons/generated/info-circle.js.map +1 -0
  622. package/dist/icons/generated/info-square.d.ts +1 -0
  623. package/dist/icons/generated/info-square.js +10 -0
  624. package/dist/icons/generated/info-square.js.map +1 -0
  625. package/dist/icons/generated/key-02.d.ts +1 -0
  626. package/dist/icons/generated/key-02.js +10 -0
  627. package/dist/icons/generated/key-02.js.map +1 -0
  628. package/dist/icons/generated/link-01.d.ts +1 -0
  629. package/dist/icons/generated/link-01.js +10 -0
  630. package/dist/icons/generated/link-01.js.map +1 -0
  631. package/dist/icons/generated/link-03.d.ts +1 -0
  632. package/dist/icons/generated/link-03.js +10 -0
  633. package/dist/icons/generated/link-03.js.map +1 -0
  634. package/dist/icons/generated/link-broken-01.d.ts +1 -0
  635. package/dist/icons/generated/link-broken-01.js +10 -0
  636. package/dist/icons/generated/link-broken-01.js.map +1 -0
  637. package/dist/icons/generated/link-external-01.d.ts +1 -0
  638. package/dist/icons/generated/link-external-01.js +10 -0
  639. package/dist/icons/generated/link-external-01.js.map +1 -0
  640. package/dist/icons/generated/loading-01.d.ts +1 -0
  641. package/dist/icons/generated/loading-01.js +10 -0
  642. package/dist/icons/generated/loading-01.js.map +1 -0
  643. package/dist/icons/generated/lock-01.d.ts +1 -0
  644. package/dist/icons/generated/lock-01.js +10 -0
  645. package/dist/icons/generated/lock-01.js.map +1 -0
  646. package/dist/icons/generated/lock-03.d.ts +1 -0
  647. package/dist/icons/generated/lock-03.js +10 -0
  648. package/dist/icons/generated/lock-03.js.map +1 -0
  649. package/dist/icons/generated/lock-unlocked-01.d.ts +1 -0
  650. package/dist/icons/generated/lock-unlocked-01.js +10 -0
  651. package/dist/icons/generated/lock-unlocked-01.js.map +1 -0
  652. package/dist/icons/generated/log-in-01.d.ts +1 -0
  653. package/dist/icons/generated/log-in-01.js +10 -0
  654. package/dist/icons/generated/log-in-01.js.map +1 -0
  655. package/dist/icons/generated/log-out-01.d.ts +1 -0
  656. package/dist/icons/generated/log-out-01.js +10 -0
  657. package/dist/icons/generated/log-out-01.js.map +1 -0
  658. package/dist/icons/generated/mail-01.d.ts +1 -0
  659. package/dist/icons/generated/mail-01.js +10 -0
  660. package/dist/icons/generated/mail-01.js.map +1 -0
  661. package/dist/icons/generated/mail-02.d.ts +1 -0
  662. package/dist/icons/generated/mail-02.js +10 -0
  663. package/dist/icons/generated/mail-02.js.map +1 -0
  664. package/dist/icons/generated/male.d.ts +1 -0
  665. package/dist/icons/generated/male.js +10 -0
  666. package/dist/icons/generated/male.js.map +1 -0
  667. package/dist/icons/generated/marker-pin-01.d.ts +1 -0
  668. package/dist/icons/generated/marker-pin-01.js +13 -0
  669. package/dist/icons/generated/marker-pin-01.js.map +1 -0
  670. package/dist/icons/generated/medical-circle.d.ts +1 -0
  671. package/dist/icons/generated/medical-circle.js +13 -0
  672. package/dist/icons/generated/medical-circle.js.map +1 -0
  673. package/dist/icons/generated/medical-cross.d.ts +1 -0
  674. package/dist/icons/generated/medical-cross.js +10 -0
  675. package/dist/icons/generated/medical-cross.js.map +1 -0
  676. package/dist/icons/generated/medical-square.d.ts +1 -0
  677. package/dist/icons/generated/medical-square.js +13 -0
  678. package/dist/icons/generated/medical-square.js.map +1 -0
  679. package/dist/icons/generated/menu-01.d.ts +1 -0
  680. package/dist/icons/generated/menu-01.js +10 -0
  681. package/dist/icons/generated/menu-01.js.map +1 -0
  682. package/dist/icons/generated/message-alert-square.d.ts +1 -0
  683. package/dist/icons/generated/message-alert-square.js +10 -0
  684. package/dist/icons/generated/message-alert-square.js.map +1 -0
  685. package/dist/icons/generated/message-check-square.d.ts +1 -0
  686. package/dist/icons/generated/message-check-square.js +10 -0
  687. package/dist/icons/generated/message-check-square.js.map +1 -0
  688. package/dist/icons/generated/message-notification-square.d.ts +1 -0
  689. package/dist/icons/generated/message-notification-square.js +10 -0
  690. package/dist/icons/generated/message-notification-square.js.map +1 -0
  691. package/dist/icons/generated/message-plus-square.d.ts +1 -0
  692. package/dist/icons/generated/message-plus-square.js +10 -0
  693. package/dist/icons/generated/message-plus-square.js.map +1 -0
  694. package/dist/icons/generated/message-question-square.d.ts +1 -0
  695. package/dist/icons/generated/message-question-square.js +10 -0
  696. package/dist/icons/generated/message-question-square.js.map +1 -0
  697. package/dist/icons/generated/message-smile-square.d.ts +1 -0
  698. package/dist/icons/generated/message-smile-square.js +10 -0
  699. package/dist/icons/generated/message-smile-square.js.map +1 -0
  700. package/dist/icons/generated/message-x-square.d.ts +1 -0
  701. package/dist/icons/generated/message-x-square.js +10 -0
  702. package/dist/icons/generated/message-x-square.js.map +1 -0
  703. package/dist/icons/generated/message.d.ts +1 -0
  704. package/dist/icons/generated/message.js +10 -0
  705. package/dist/icons/generated/message.js.map +1 -0
  706. package/dist/icons/generated/microphone-01.d.ts +1 -0
  707. package/dist/icons/generated/microphone-01.js +10 -0
  708. package/dist/icons/generated/microphone-01.js.map +1 -0
  709. package/dist/icons/generated/microphone-off-01.d.ts +1 -0
  710. package/dist/icons/generated/microphone-off-01.js +10 -0
  711. package/dist/icons/generated/microphone-off-01.js.map +1 -0
  712. package/dist/icons/generated/microscope.d.ts +1 -0
  713. package/dist/icons/generated/microscope.js +10 -0
  714. package/dist/icons/generated/microscope.js.map +1 -0
  715. package/dist/icons/generated/minus.d.ts +1 -0
  716. package/dist/icons/generated/minus.js +7 -0
  717. package/dist/icons/generated/minus.js.map +1 -0
  718. package/dist/icons/generated/paperclip.d.ts +1 -0
  719. package/dist/icons/generated/paperclip.js +10 -0
  720. package/dist/icons/generated/paperclip.js.map +1 -0
  721. package/dist/icons/generated/passport.d.ts +1 -0
  722. package/dist/icons/generated/passport.js +10 -0
  723. package/dist/icons/generated/passport.js.map +1 -0
  724. package/dist/icons/generated/pause-circle.d.ts +1 -0
  725. package/dist/icons/generated/pause-circle.js +10 -0
  726. package/dist/icons/generated/pause-circle.js.map +1 -0
  727. package/dist/icons/generated/phone-02.d.ts +1 -0
  728. package/dist/icons/generated/phone-02.js +10 -0
  729. package/dist/icons/generated/phone-02.js.map +1 -0
  730. package/dist/icons/generated/phone.d.ts +1 -0
  731. package/dist/icons/generated/phone.js +10 -0
  732. package/dist/icons/generated/phone.js.map +1 -0
  733. package/dist/icons/generated/pill.d.ts +1 -0
  734. package/dist/icons/generated/pill.js +10 -0
  735. package/dist/icons/generated/pill.js.map +1 -0
  736. package/dist/icons/generated/pin-01.d.ts +1 -0
  737. package/dist/icons/generated/pin-01.js +10 -0
  738. package/dist/icons/generated/pin-01.js.map +1 -0
  739. package/dist/icons/generated/pin-02.d.ts +1 -0
  740. package/dist/icons/generated/pin-02.js +10 -0
  741. package/dist/icons/generated/pin-02.js.map +1 -0
  742. package/dist/icons/generated/play.d.ts +1 -0
  743. package/dist/icons/generated/play.js +10 -0
  744. package/dist/icons/generated/play.js.map +1 -0
  745. package/dist/icons/generated/plus-circle.d.ts +1 -0
  746. package/dist/icons/generated/plus-circle.js +10 -0
  747. package/dist/icons/generated/plus-circle.js.map +1 -0
  748. package/dist/icons/generated/plus-square.d.ts +1 -0
  749. package/dist/icons/generated/plus-square.js +10 -0
  750. package/dist/icons/generated/plus-square.js.map +1 -0
  751. package/dist/icons/generated/plus.d.ts +1 -0
  752. package/dist/icons/generated/plus.js +7 -0
  753. package/dist/icons/generated/plus.js.map +1 -0
  754. package/dist/icons/generated/prescription.d.ts +1 -0
  755. package/dist/icons/generated/prescription.js +10 -0
  756. package/dist/icons/generated/prescription.js.map +1 -0
  757. package/dist/icons/generated/receipt-check.d.ts +1 -0
  758. package/dist/icons/generated/receipt-check.js +10 -0
  759. package/dist/icons/generated/receipt-check.js.map +1 -0
  760. package/dist/icons/generated/receipt.d.ts +1 -0
  761. package/dist/icons/generated/receipt.js +10 -0
  762. package/dist/icons/generated/receipt.js.map +1 -0
  763. package/dist/icons/generated/refresh-ccw-01.d.ts +1 -0
  764. package/dist/icons/generated/refresh-ccw-01.js +10 -0
  765. package/dist/icons/generated/refresh-ccw-01.js.map +1 -0
  766. package/dist/icons/generated/refresh-ccw-02.d.ts +1 -0
  767. package/dist/icons/generated/refresh-ccw-02.js +10 -0
  768. package/dist/icons/generated/refresh-ccw-02.js.map +1 -0
  769. package/dist/icons/generated/reverse-left.d.ts +1 -0
  770. package/dist/icons/generated/reverse-left.js +10 -0
  771. package/dist/icons/generated/reverse-left.js.map +1 -0
  772. package/dist/icons/generated/scan.d.ts +1 -0
  773. package/dist/icons/generated/scan.js +10 -0
  774. package/dist/icons/generated/scan.js.map +1 -0
  775. package/dist/icons/generated/search-lg.d.ts +1 -0
  776. package/dist/icons/generated/search-lg.js +10 -0
  777. package/dist/icons/generated/search-lg.js.map +1 -0
  778. package/dist/icons/generated/search-md.d.ts +1 -0
  779. package/dist/icons/generated/search-md.js +10 -0
  780. package/dist/icons/generated/search-md.js.map +1 -0
  781. package/dist/icons/generated/search-sm.d.ts +1 -0
  782. package/dist/icons/generated/search-sm.js +10 -0
  783. package/dist/icons/generated/search-sm.js.map +1 -0
  784. package/dist/icons/generated/send-01.d.ts +1 -0
  785. package/dist/icons/generated/send-01.js +10 -0
  786. package/dist/icons/generated/send-01.js.map +1 -0
  787. package/dist/icons/generated/settings-02.d.ts +1 -0
  788. package/dist/icons/generated/settings-02.js +13 -0
  789. package/dist/icons/generated/settings-02.js.map +1 -0
  790. package/dist/icons/generated/settings-04.d.ts +1 -0
  791. package/dist/icons/generated/settings-04.js +10 -0
  792. package/dist/icons/generated/settings-04.js.map +1 -0
  793. package/dist/icons/generated/share-01.d.ts +1 -0
  794. package/dist/icons/generated/share-01.js +10 -0
  795. package/dist/icons/generated/share-01.js.map +1 -0
  796. package/dist/icons/generated/share-03.d.ts +1 -0
  797. package/dist/icons/generated/share-03.js +10 -0
  798. package/dist/icons/generated/share-03.js.map +1 -0
  799. package/dist/icons/generated/share-06.d.ts +1 -0
  800. package/dist/icons/generated/share-06.js +10 -0
  801. package/dist/icons/generated/share-06.js.map +1 -0
  802. package/dist/icons/generated/share-07.d.ts +1 -0
  803. package/dist/icons/generated/share-07.js +10 -0
  804. package/dist/icons/generated/share-07.js.map +1 -0
  805. package/dist/icons/generated/shield-tick.d.ts +1 -0
  806. package/dist/icons/generated/shield-tick.js +10 -0
  807. package/dist/icons/generated/shield-tick.js.map +1 -0
  808. package/dist/icons/generated/slash-circle-01.d.ts +1 -0
  809. package/dist/icons/generated/slash-circle-01.js +10 -0
  810. package/dist/icons/generated/slash-circle-01.js.map +1 -0
  811. package/dist/icons/generated/star-01.d.ts +1 -0
  812. package/dist/icons/generated/star-01.js +10 -0
  813. package/dist/icons/generated/star-01.js.map +1 -0
  814. package/dist/icons/generated/star-04.d.ts +1 -0
  815. package/dist/icons/generated/star-04.js +10 -0
  816. package/dist/icons/generated/star-04.js.map +1 -0
  817. package/dist/icons/generated/star-06.d.ts +1 -0
  818. package/dist/icons/generated/star-06.js +10 -0
  819. package/dist/icons/generated/star-06.js.map +1 -0
  820. package/dist/icons/generated/stethoscope-doctor.d.ts +1 -0
  821. package/dist/icons/generated/stethoscope-doctor.js +14 -0
  822. package/dist/icons/generated/stethoscope-doctor.js.map +1 -0
  823. package/dist/icons/generated/tag-01.d.ts +1 -0
  824. package/dist/icons/generated/tag-01.js +10 -0
  825. package/dist/icons/generated/tag-01.js.map +1 -0
  826. package/dist/icons/generated/thumbs-down.d.ts +1 -0
  827. package/dist/icons/generated/thumbs-down.js +10 -0
  828. package/dist/icons/generated/thumbs-down.js.map +1 -0
  829. package/dist/icons/generated/thumbs-up.d.ts +1 -0
  830. package/dist/icons/generated/thumbs-up.js +10 -0
  831. package/dist/icons/generated/thumbs-up.js.map +1 -0
  832. package/dist/icons/generated/trash-01.d.ts +1 -0
  833. package/dist/icons/generated/trash-01.js +10 -0
  834. package/dist/icons/generated/trash-01.js.map +1 -0
  835. package/dist/icons/generated/trash-02.d.ts +1 -0
  836. package/dist/icons/generated/trash-02.js +10 -0
  837. package/dist/icons/generated/trash-02.js.map +1 -0
  838. package/dist/icons/generated/upload-01.d.ts +1 -0
  839. package/dist/icons/generated/upload-01.js +10 -0
  840. package/dist/icons/generated/upload-01.js.map +1 -0
  841. package/dist/icons/generated/user-01.d.ts +1 -0
  842. package/dist/icons/generated/user-01.js +10 -0
  843. package/dist/icons/generated/user-01.js.map +1 -0
  844. package/dist/icons/generated/user-03.d.ts +1 -0
  845. package/dist/icons/generated/user-03.js +10 -0
  846. package/dist/icons/generated/user-03.js.map +1 -0
  847. package/dist/icons/generated/user-check-01.d.ts +1 -0
  848. package/dist/icons/generated/user-check-01.js +10 -0
  849. package/dist/icons/generated/user-check-01.js.map +1 -0
  850. package/dist/icons/generated/user-check-02.d.ts +1 -0
  851. package/dist/icons/generated/user-check-02.js +10 -0
  852. package/dist/icons/generated/user-check-02.js.map +1 -0
  853. package/dist/icons/generated/user-edit.d.ts +1 -0
  854. package/dist/icons/generated/user-edit.js +10 -0
  855. package/dist/icons/generated/user-edit.js.map +1 -0
  856. package/dist/icons/generated/user-plus-01.d.ts +1 -0
  857. package/dist/icons/generated/user-plus-01.js +10 -0
  858. package/dist/icons/generated/user-plus-01.js.map +1 -0
  859. package/dist/icons/generated/user-square.d.ts +1 -0
  860. package/dist/icons/generated/user-square.js +10 -0
  861. package/dist/icons/generated/user-square.js.map +1 -0
  862. package/dist/icons/generated/users-02.d.ts +1 -0
  863. package/dist/icons/generated/users-02.js +10 -0
  864. package/dist/icons/generated/users-02.js.map +1 -0
  865. package/dist/icons/generated/video-recorder-off.d.ts +1 -0
  866. package/dist/icons/generated/video-recorder-off.js +10 -0
  867. package/dist/icons/generated/video-recorder-off.js.map +1 -0
  868. package/dist/icons/generated/video-recorder.d.ts +1 -0
  869. package/dist/icons/generated/video-recorder.js +13 -0
  870. package/dist/icons/generated/video-recorder.js.map +1 -0
  871. package/dist/icons/generated/virus.d.ts +1 -0
  872. package/dist/icons/generated/virus.js +10 -0
  873. package/dist/icons/generated/virus.js.map +1 -0
  874. package/dist/icons/generated/weight.d.ts +1 -0
  875. package/dist/icons/generated/weight.js +15 -0
  876. package/dist/icons/generated/weight.js.map +1 -0
  877. package/dist/icons/generated/x-close.d.ts +1 -0
  878. package/dist/icons/generated/x-close.js +10 -0
  879. package/dist/icons/generated/x-close.js.map +1 -0
  880. package/dist/icons/generated/x.d.ts +1 -0
  881. package/dist/icons/generated/x.js +7 -0
  882. package/dist/icons/generated/x.js.map +1 -0
  883. package/dist/icons/generated/zap.d.ts +1 -0
  884. package/dist/icons/generated/zap.js +10 -0
  885. package/dist/icons/generated/zap.js.map +1 -0
  886. package/dist/icons/index.d.ts +182 -0
  887. package/dist/icons/index.js +542 -0
  888. package/dist/icons/index.js.map +1 -0
  889. package/dist/index.d.ts +73 -0
  890. package/dist/index.js +263 -0
  891. package/dist/index.js.map +1 -0
  892. package/dist/lib/cn.d.ts +2 -0
  893. package/dist/lib/cn.js +51 -0
  894. package/dist/lib/cn.js.map +1 -0
  895. package/dist/provider/index.d.ts +2 -0
  896. package/dist/provider/labels.d.ts +97 -0
  897. package/dist/provider/labels.js +99 -0
  898. package/dist/provider/labels.js.map +1 -0
  899. package/dist/provider/medicore-provider.d.ts +10 -0
  900. package/dist/provider/medicore-provider.js +19 -0
  901. package/dist/provider/medicore-provider.js.map +1 -0
  902. package/dist/styles/primitives.css +59 -0
  903. package/dist/styles/theme.css +15 -0
  904. package/dist/styles/tokens.css +253 -0
  905. package/dist/styles/typography.css +115 -0
  906. package/dist/styles/utilities.css +37 -0
  907. package/package.json +80 -0
package/README.md ADDED
@@ -0,0 +1,89 @@
1
+ # MediCore Design System
2
+
3
+ Design system de las plataformas web de mediQuo — React 19 + TypeScript + Tailwind CSS v4 + [Base UI](https://base-ui.com), portado desde la librería de Figma **MediCore** (`https://www.figma.com/design/HQxFV7lE8QkJgpJZpuPEOy/MediCore`).
4
+
5
+ Se publica en npm como **`@mediquo/medicore`** (paquete público, igual que `@mediquo/elements`; el repo es privado). Lo consumen `mediquo-web-clinics` y el admin de clínicas.
6
+
7
+ ## Usarlo en una app
8
+
9
+ ```sh
10
+ pnpm add @mediquo/medicore
11
+ ```
12
+
13
+ La app tiene que usar **Tailwind CSS v4**. MediCore no trae CSS precompilado: publica sus tokens como `@theme` y le dice al Tailwind de la app que escanee sus componentes, así todo sale en una sola pasada y sin duplicados.
14
+
15
+ ```css
16
+ /* src/styles/index.css de la app */
17
+ @import "tailwindcss";
18
+ @import "@mediquo/medicore/theme.css";
19
+ ```
20
+
21
+ ```tsx
22
+ import { Button, MediCoreProvider } from "@mediquo/medicore";
23
+ import { CalendarIcon } from "@mediquo/medicore/icons";
24
+
25
+ <MediCoreProvider labels={{ close: t`Cerrar`, loading: t`Cargando` }}>
26
+ <Button leadingIcon={<CalendarIcon />}>Pedir cita</Button>
27
+ </MediCoreProvider>;
28
+ ```
29
+
30
+ - **Textos**: los componentes no llevan copy fijo. Los textos propios (nombres accesibles, "Paso 1 de 2"…) salen de `MediCoreProvider`, que la app traduce una vez (con Lingui en clinics). Sin provider, van en español.
31
+ - **Fuente**: los tokens piden `Scoop`, pero el paquete **no incluye la fuente** (tiene licencia). Cada app sirve sus `@font-face` (clinics ya lo hace desde `/fonts/scoop/`).
32
+ - **Modo oscuro**: sigue `prefers-color-scheme`. Para forzarlo, `data-theme="light"` o `data-theme="dark"` en `<html>`.
33
+ - **Marca por clínica**: los componentes usan solo tokens semánticos, así que el color de cada organización se aplica sobrescribiendo `--color-brand`, `--color-brand-strong`, `--color-brand-subtle`, `--color-text-brand` y `--color-border-focus` en `:root`.
34
+
35
+ ## Tokens
36
+
37
+ Todo está confirmado 1:1 contra las variables y estilos de Figma:
38
+
39
+ | Archivo | Qué hay |
40
+ |---|---|
41
+ | `src/styles/primitives.css` | Paleta primitiva (`--palette-*`). No se usa en componentes |
42
+ | `src/styles/tokens.css` | Tokens semánticos (`@theme`): color con modo oscuro, radios, sombras (Elevation), tamaños de icono/avatar/control, tipografía |
43
+ | `src/styles/typography.css` | Los 14 estilos de texto como utilidades (`text-heading-h2`, `text-body-small`…) |
44
+ | `src/styles/utilities.css` | `focus-ring`, `focus-ring-within` y `touch-target` (área pulsable de 44px) |
45
+
46
+ El **espaciado** usa la escala por defecto de Tailwind (1 = 4px), que ya cubre todos los `space-*` de Figma: `space-16` → `p-4`. Ver la tabla en [CONTRIBUTING.md](CONTRIBUTING.md).
47
+
48
+ ## Componentes
49
+
50
+ | Grupo | Componentes |
51
+ |---|---|
52
+ | Forms | Button, IconButton, Link, Input, Textarea, Select / NativeSelect, Field, Checkbox / CheckboxField / CheckboxGroup, Radio / RadioGroup / RadioField, Switch / SwitchField, SelectionCard, PhoneInput, OTPInput, Rating, SeverityScale |
53
+ | Overlays | Modal (centrado en escritorio, hoja inferior en móvil) / ConfirmModal, Toast (`ToastProvider` + `useToast`), Banner, Tooltip, Menu, AnnouncementDialog / AnnouncementIllustration |
54
+ | Navigation | AppShell, Sidebar, NavItem, BottomBar, MobileHeader, PageHeader, Breadcrumb, Tabs, SegmentedControl, StepIndicator |
55
+ | Content | Card / CardCallout / CardList, ListRow, Table (ordenable, responsive) |
56
+ | Agenda y citas | TimeSlot / TimeSlotGroup, DayCell / DayCellGroup, AvailabilityRow, AvailabilityColumn, CardAppointment, CardProfessional |
57
+ | Chat | ChatMessageList, ChatBubble, ChatDeliveryStatus, ChatAttachment, ChatDateSeparator, ChatTypingIndicator, ChatComposer, ChatRoomHeader, ChatConversationRow, ChatLauncher |
58
+ | Videollamada | VideoStage, VideoTile, VideoLabel, VideoControlButton |
59
+ | Historial | HealthRecordSection, HealthRecordHeader, HealthRecordRow, SeverityIndicator |
60
+ | Acceso | SocialButton, BrandMark (Google, Apple), AuthPanel |
61
+ | Home y programas | HeroGreeting, DateBadge, AppointmentRow, CardProgram, CardArticle, CardServiceOption, CardProfessionalMini, CardTestimonial, IncludedItem, AdvisorContact, StatTile, StoreBadge, PromoApp |
62
+ | Layout | Divider, Spinner, Badge, Chip / ChipGroup, IconContainer, SectionHeader, Footer |
63
+ | Media | Avatar (+ estado), Logo |
64
+ | States | Skeleton, EmptyState |
65
+ | Iconos | 178 iconos en `@mediquo/medicore/icons` (`pnpm icons` los regenera desde `scripts/icons/figma-icons.json`) |
66
+
67
+ Cubre todas las páginas `Components / *` del Figma. Las páginas `Patterns / *` (Chat, Pedir cita, Historial médico, Videollamada, Acceso, Inicio, Programas) están en Storybook como stories de pantallas completas (`src/patterns/`), montadas con estos componentes.
68
+
69
+ `StoreBadge` no incluye el arte oficial de App Store / Google Play (en Figma es un marcador): la app le pasa la imagen oficial por `src`.
70
+
71
+ ## Desarrollo
72
+
73
+ ```sh
74
+ pnpm install
75
+ pnpm dev # Storybook en http://localhost:6006
76
+ pnpm tc # tipos
77
+ pnpm format-and-lint # biome (mismas reglas que clinics)
78
+ pnpm test # cada story se renderiza en Chromium y pasa axe (a11y)
79
+ pnpm build # librería en dist/
80
+ ```
81
+
82
+ Cómo se construye un componente: [CONTRIBUTING.md](CONTRIBUTING.md).
83
+
84
+ ## Publicar una versión
85
+
86
+ 1. Sube la versión en `package.json` en un PR y mérgealo en `main`.
87
+ 2. Lanza a mano el workflow **Publish** desde GitHub Actions (necesita el secret `NPM_TOKEN` con permiso de publicación en la org `mediquo` de npm).
88
+
89
+ Es manual a propósito: publicar en npm es público y no se puede deshacer.
@@ -0,0 +1,39 @@
1
+ import type { useRender } from "@base-ui/react/use-render";
2
+ import type { ComponentProps, ReactNode } from "react";
3
+ export type AdvisorContactVariant = "hero" | "bar" | "callout";
4
+ export interface AdvisorContactProps extends Omit<ComponentProps<"div">, "title"> {
5
+ /**
6
+ * `hero` (default): on the home greeting (dark background) · `bar`: in the header of
7
+ * the programme pages, the whole bar opens the chat (`href`) · `callout`: inside a
8
+ * programme page, after the options. The callout stacks by itself (Figma
9
+ * `Stacked`) when its column is narrower than 560px.
10
+ */
11
+ variant?: AdvisorContactVariant;
12
+ /** Hero/Bar: "Víctor Martínez · Tu asesor de salud". Callout: "¿No sabes cuál elegir?". */
13
+ title: ReactNode;
14
+ /** "Hola, Marta. Cuéntame en qué te ayudo." / "¿Te ayudo a elegir?". */
15
+ message: ReactNode;
16
+ /** The advisor's photo. */
17
+ avatarSrc?: string;
18
+ /**
19
+ * Available right now: the green dot, named "Disponible ahora"
20
+ * (`advisorAvailable` label). If not, leave it out and say in `message` when they
21
+ * answer.
22
+ */
23
+ available?: boolean;
24
+ /**
25
+ * Hero: an `inverse-ghost` small `Button` "Escribir" with `MessageIcon`. Callout: a
26
+ * secondary `Button` "Escribir a Víctor". It opens the chat with the advisor.
27
+ */
28
+ action?: ReactNode;
29
+ /** Bar: the chat with the advisor. The whole bar is this link. */
30
+ href?: string;
31
+ /** Bar: router link, `render={<Link to="…" />}`. */
32
+ render?: useRender.RenderProp;
33
+ }
34
+ /**
35
+ * Access to the patient's health advisor: a real person from the team, not a
36
+ * doctor. Presented as "tu asesor de salud", never "asesor comercial": they help to
37
+ * choose, they don't sell, and they never give medical advice.
38
+ */
39
+ export declare function AdvisorContact({ variant, title, message, avatarSrc, available, action, href, render, className, ...props }: AdvisorContactProps): React.JSX.Element;
@@ -0,0 +1,94 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../../lib/cn.js";
3
+ import { useMediCoreLabels } from "../../provider/medicore-provider.js";
4
+ import { Avatar } from "../avatar/avatar.js";
5
+ import { CardLink } from "../card/card.js";
6
+ const avatarSizes = {
7
+ hero: 40,
8
+ bar: 32,
9
+ callout: 48
10
+ };
11
+ function AdvisorContact({
12
+ variant = "hero",
13
+ title,
14
+ message,
15
+ avatarSrc,
16
+ available = false,
17
+ action,
18
+ href,
19
+ render,
20
+ className,
21
+ ...props
22
+ }) {
23
+ const labels = useMediCoreLabels();
24
+ const avatar = available ? /* @__PURE__ */ jsx(
25
+ Avatar,
26
+ {
27
+ size: avatarSizes[variant],
28
+ src: avatarSrc,
29
+ status: "online",
30
+ statusLabel: labels.advisorAvailable
31
+ }
32
+ ) : /* @__PURE__ */ jsx(Avatar, { size: avatarSizes[variant], src: avatarSrc });
33
+ if (variant === "callout") {
34
+ return /* @__PURE__ */ jsx(
35
+ "div",
36
+ {
37
+ "data-slot": "advisor-contact",
38
+ "data-variant": "callout",
39
+ className: cn("@container rounded-xl bg-brand-subtle", className),
40
+ ...props,
41
+ children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 px-6 py-4 @min-[560px]:flex-row @min-[560px]:items-center", children: [
42
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-3 @min-[560px]:gap-4", children: [
43
+ avatar,
44
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
45
+ /* @__PURE__ */ jsx("p", { className: "text-label-strong text-text-primary", children: title }),
46
+ /* @__PURE__ */ jsx("p", { className: "text-body-small text-text-primary", children: message })
47
+ ] })
48
+ ] }),
49
+ action && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 *:flex-1 @min-[560px]:*:flex-none", children: action })
50
+ ] })
51
+ }
52
+ );
53
+ }
54
+ const hero = variant === "hero";
55
+ const isLink = !hero && Boolean(href || render);
56
+ return /* @__PURE__ */ jsxs(
57
+ "div",
58
+ {
59
+ "data-slot": "advisor-contact",
60
+ "data-variant": variant,
61
+ className: cn(
62
+ "relative flex min-w-0 items-center rounded-lg border px-3 py-2",
63
+ hero ? "gap-4 border-border-inverse" : "gap-3 border-border-subtle bg-background",
64
+ isLink && "transition-colors hover:bg-surface",
65
+ className
66
+ ),
67
+ ...props,
68
+ children: [
69
+ avatar,
70
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col gap-0.5", children: [
71
+ /* @__PURE__ */ jsx(
72
+ "p",
73
+ {
74
+ className: hero ? "text-label-small text-text-inverse-secondary" : "text-label-strong text-text-primary",
75
+ children: isLink ? /* @__PURE__ */ jsx(CardLink, { href, render, className: "after:rounded-lg", children: title }) : title
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsx(
79
+ "p",
80
+ {
81
+ className: hero ? "text-label-strong text-text-inverse" : "text-body-small text-text-secondary",
82
+ children: message
83
+ }
84
+ )
85
+ ] }),
86
+ action && /* @__PURE__ */ jsx("div", { className: "relative z-10 flex shrink-0", children: action })
87
+ ]
88
+ }
89
+ );
90
+ }
91
+ export {
92
+ AdvisorContact
93
+ };
94
+ //# sourceMappingURL=advisor-contact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advisor-contact.js","sources":["../../../src/components/advisor-contact/advisor-contact.tsx"],"sourcesContent":["import type { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps, ReactNode } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\nimport { Avatar, type AvatarSize } from \"../avatar\";\nimport { CardLink } from \"../card\";\n\nexport type AdvisorContactVariant = \"hero\" | \"bar\" | \"callout\";\n\nexport interface AdvisorContactProps\n extends Omit<ComponentProps<\"div\">, \"title\"> {\n /**\n * `hero` (default): on the home greeting (dark background) · `bar`: in the header of\n * the programme pages, the whole bar opens the chat (`href`) · `callout`: inside a\n * programme page, after the options. The callout stacks by itself (Figma\n * `Stacked`) when its column is narrower than 560px.\n */\n variant?: AdvisorContactVariant;\n /** Hero/Bar: \"Víctor Martínez · Tu asesor de salud\". Callout: \"¿No sabes cuál elegir?\". */\n title: ReactNode;\n /** \"Hola, Marta. Cuéntame en qué te ayudo.\" / \"¿Te ayudo a elegir?\". */\n message: ReactNode;\n /** The advisor's photo. */\n avatarSrc?: string;\n /**\n * Available right now: the green dot, named \"Disponible ahora\"\n * (`advisorAvailable` label). If not, leave it out and say in `message` when they\n * answer.\n */\n available?: boolean;\n /**\n * Hero: an `inverse-ghost` small `Button` \"Escribir\" with `MessageIcon`. Callout: a\n * secondary `Button` \"Escribir a Víctor\". It opens the chat with the advisor.\n */\n action?: ReactNode;\n /** Bar: the chat with the advisor. The whole bar is this link. */\n href?: string;\n /** Bar: router link, `render={<Link to=\"…\" />}`. */\n render?: useRender.RenderProp;\n}\n\nconst avatarSizes: Record<AdvisorContactVariant, AvatarSize> = {\n hero: 40,\n bar: 32,\n callout: 48,\n};\n\n/**\n * Access to the patient's health advisor: a real person from the team, not a\n * doctor. Presented as \"tu asesor de salud\", never \"asesor comercial\": they help to\n * choose, they don't sell, and they never give medical advice.\n */\nexport function AdvisorContact({\n variant = \"hero\",\n title,\n message,\n avatarSrc,\n available = false,\n action,\n href,\n render,\n className,\n ...props\n}: AdvisorContactProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n const avatar = available ? (\n <Avatar\n size={avatarSizes[variant]}\n src={avatarSrc}\n status=\"online\"\n statusLabel={labels.advisorAvailable}\n />\n ) : (\n <Avatar size={avatarSizes[variant]} src={avatarSrc} />\n );\n\n if (variant === \"callout\") {\n return (\n <div\n data-slot=\"advisor-contact\"\n data-variant=\"callout\"\n className={cn(\"@container rounded-xl bg-brand-subtle\", className)}\n {...props}\n >\n <div className=\"flex flex-col gap-4 px-6 py-4 @min-[560px]:flex-row @min-[560px]:items-center\">\n <div className=\"flex min-w-0 flex-1 items-center gap-3 @min-[560px]:gap-4\">\n {avatar}\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <p className=\"text-label-strong text-text-primary\">{title}</p>\n <p className=\"text-body-small text-text-primary\">{message}</p>\n </div>\n </div>\n {action && (\n <div className=\"flex shrink-0 *:flex-1 @min-[560px]:*:flex-none\">\n {action}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n const hero = variant === \"hero\";\n const isLink = !hero && Boolean(href || render);\n\n return (\n <div\n data-slot=\"advisor-contact\"\n data-variant={variant}\n className={cn(\n \"relative flex min-w-0 items-center rounded-lg border px-3 py-2\",\n hero\n ? \"gap-4 border-border-inverse\"\n : \"gap-3 border-border-subtle bg-background\",\n isLink && \"transition-colors hover:bg-surface\",\n className,\n )}\n {...props}\n >\n {avatar}\n <div className=\"flex min-w-0 flex-1 flex-col gap-0.5\">\n <p\n className={\n hero\n ? \"text-label-small text-text-inverse-secondary\"\n : \"text-label-strong text-text-primary\"\n }\n >\n {isLink ? (\n <CardLink href={href} render={render} className=\"after:rounded-lg\">\n {title}\n </CardLink>\n ) : (\n title\n )}\n </p>\n <p\n className={\n hero\n ? \"text-label-strong text-text-inverse\"\n : \"text-body-small text-text-secondary\"\n }\n >\n {message}\n </p>\n </div>\n {action && <div className=\"relative z-10 flex shrink-0\">{action}</div>}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AA0CA,MAAM,cAAyD;AAAA,EAC7D,MAAM;AAAA,EACN,KAAK;AAAA,EACL,SAAS;AACX;AAOO,SAAS,eAAe;AAAA,EAC7B,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2C;AACzC,QAAM,SAAS,kBAAA;AACf,QAAM,SAAS,YACb;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAM,YAAY,OAAO;AAAA,MACzB,KAAK;AAAA,MACL,QAAO;AAAA,MACP,aAAa,OAAO;AAAA,IAAA;AAAA,EAAA,wBAGrB,QAAA,EAAO,MAAM,YAAY,OAAO,GAAG,KAAK,WAAW;AAGtD,MAAI,YAAY,WAAW;AACzB,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,gBAAa;AAAA,QACb,WAAW,GAAG,yCAAyC,SAAS;AAAA,QAC/D,GAAG;AAAA,QAEJ,UAAA,qBAAC,OAAA,EAAI,WAAU,iFACb,UAAA;AAAA,UAAA,qBAAC,OAAA,EAAI,WAAU,6DACZ,UAAA;AAAA,YAAA;AAAA,YACD,qBAAC,OAAA,EAAI,WAAU,wCACb,UAAA;AAAA,cAAA,oBAAC,KAAA,EAAE,WAAU,uCAAuC,UAAA,OAAM;AAAA,cAC1D,oBAAC,KAAA,EAAE,WAAU,qCAAqC,UAAA,QAAA,CAAQ;AAAA,YAAA,EAAA,CAC5D;AAAA,UAAA,GACF;AAAA,UACC,UACC,oBAAC,OAAA,EAAI,WAAU,mDACZ,UAAA,OAAA,CACH;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AAEA,QAAM,OAAO,YAAY;AACzB,QAAM,SAAS,CAAC,QAAQ,QAAQ,QAAQ,MAAM;AAE9C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,QACA,OACI,gCACA;AAAA,QACJ,UAAU;AAAA,QACV;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACD,qBAAC,OAAA,EAAI,WAAU,wCACb,UAAA;AAAA,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WACE,OACI,iDACA;AAAA,cAGL,UAAA,6BACE,UAAA,EAAS,MAAY,QAAgB,WAAU,oBAC7C,iBACH,IAEA;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJ;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WACE,OACI,wCACA;AAAA,cAGL,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,GACF;AAAA,QACC,UAAU,oBAAC,OAAA,EAAI,WAAU,+BAA+B,UAAA,OAAA,CAAO;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGtE;"}
@@ -0,0 +1 @@
1
+ export { AdvisorContact, type AdvisorContactProps, type AdvisorContactVariant, } from "./advisor-contact";
@@ -0,0 +1,39 @@
1
+ import { type ReactElement, type ReactNode } from "react";
2
+ import { type ModalChangeEventDetails, type ModalLayout } from "../modal";
3
+ export interface AnnouncementStep {
4
+ /** "Novedades en mediQuo". */
5
+ title: ReactNode;
6
+ /**
7
+ * What the patient can do now, not what the team did: "Ahora puedes guardar tus
8
+ * alergias…", never "Estamos emocionados de anunciar…".
9
+ */
10
+ description: ReactNode;
11
+ /** Replaces the megaphone (`AnnouncementIllustration`) for this step. Decorative. */
12
+ illustration?: ReactNode;
13
+ }
14
+ export interface AnnouncementDialogProps {
15
+ /** One to three steps. */
16
+ steps: AnnouncementStep[];
17
+ /** The element that opens it. Usually omitted: it opens on arrival (`defaultOpen`). */
18
+ trigger?: ReactElement;
19
+ /** Runs on the last step's button ("Empezar"), before the dialog closes. */
20
+ onFinish?: () => void;
21
+ /** Overrides "Empezar". */
22
+ finishLabel?: ReactNode;
23
+ /** Unset: bottom sheet below `md`, centered dialog from `md` up (as `Modal`). */
24
+ layout?: ModalLayout;
25
+ open?: boolean;
26
+ defaultOpen?: boolean;
27
+ onOpenChange?: (open: boolean, eventDetails: ModalChangeEventDetails) => void;
28
+ onOpenChangeComplete?: (open: boolean) => void;
29
+ }
30
+ /**
31
+ * What's new, on arrival, in up to 3 steps. It appears once per novelty and never
32
+ * blocks: "Omitir", the X and Escape close it. The last step swaps "Siguiente" for
33
+ * "Empezar" and drops "Omitir".
34
+ *
35
+ * Built on `Modal`: it is a dialog named by its title, focus goes to the primary
36
+ * button and returns where it was on close. "1 de 3" is text, not only dots, and
37
+ * each new step is announced.
38
+ */
39
+ export declare function AnnouncementDialog({ steps, trigger, onFinish, finishLabel, onOpenChangeComplete, ...modalProps }: AnnouncementDialogProps): React.JSX.Element;
@@ -0,0 +1,107 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useRef, useState } from "react";
3
+ import { XCloseIcon } from "../../icons/generated/x-close.js";
4
+ import { cn } from "../../lib/cn.js";
5
+ import { AnnouncementIllustration } from "./announcement-illustration.js";
6
+ import { useMediCoreLabels } from "../../provider/medicore-provider.js";
7
+ import { Modal, ModalTrigger, ModalContent, ModalClose, ModalTitle, ModalBody } from "../modal/modal.js";
8
+ import { IconButton } from "../icon-button/icon-button.js";
9
+ import { Button } from "../button/button.js";
10
+ function AnnouncementDialog({
11
+ steps,
12
+ trigger,
13
+ onFinish,
14
+ finishLabel,
15
+ onOpenChangeComplete,
16
+ ...modalProps
17
+ }) {
18
+ const labels = useMediCoreLabels();
19
+ const actionsRef = useRef(null);
20
+ const primaryRef = useRef(null);
21
+ const [index, setIndex] = useState(0);
22
+ const total = steps.length;
23
+ const current = Math.min(index, total - 1);
24
+ const step = steps[current];
25
+ const last = current >= total - 1;
26
+ const handlePrimary = () => {
27
+ if (!last) {
28
+ setIndex(current + 1);
29
+ return;
30
+ }
31
+ onFinish?.();
32
+ actionsRef.current?.close();
33
+ };
34
+ return /* @__PURE__ */ jsxs(
35
+ Modal,
36
+ {
37
+ actionsRef,
38
+ onOpenChangeComplete: (open) => {
39
+ if (!open) {
40
+ setIndex(0);
41
+ }
42
+ onOpenChangeComplete?.(open);
43
+ },
44
+ ...modalProps,
45
+ children: [
46
+ trigger && /* @__PURE__ */ jsx(ModalTrigger, { render: trigger }),
47
+ /* @__PURE__ */ jsx(
48
+ ModalContent,
49
+ {
50
+ initialFocus: primaryRef,
51
+ className: "gap-0 overflow-x-hidden p-0 data-[layout=sheet]:pt-3",
52
+ children: /* @__PURE__ */ jsxs("div", { "data-slot": "announcement-dialog", className: "relative flex flex-col", children: [
53
+ /* @__PURE__ */ jsx("div", { className: "flex h-50 shrink-0 items-center justify-center bg-brand-subtle", children: step?.illustration ?? /* @__PURE__ */ jsx(AnnouncementIllustration, {}) }),
54
+ /* @__PURE__ */ jsx("div", { className: "absolute top-3 right-3 in-data-[layout=sheet]:hidden", children: /* @__PURE__ */ jsx(
55
+ ModalClose,
56
+ {
57
+ render: /* @__PURE__ */ jsx(
58
+ IconButton,
59
+ {
60
+ variant: "ghost",
61
+ size: "small",
62
+ icon: /* @__PURE__ */ jsx(XCloseIcon, {}),
63
+ "aria-label": labels.close
64
+ }
65
+ )
66
+ }
67
+ ) }),
68
+ /* @__PURE__ */ jsxs(
69
+ "div",
70
+ {
71
+ "aria-live": "polite",
72
+ className: "flex flex-col gap-2 px-6 pt-6 pb-2",
73
+ children: [
74
+ /* @__PURE__ */ jsx(ModalTitle, { children: step?.title }),
75
+ /* @__PURE__ */ jsx(ModalBody, { children: step?.description })
76
+ ]
77
+ }
78
+ ),
79
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-3 p-6", children: [
80
+ total > 1 && /* @__PURE__ */ jsxs("div", { className: "me-auto flex items-center gap-2", children: [
81
+ /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "flex gap-2", children: steps.map((_, position) => /* @__PURE__ */ jsx(
82
+ "span",
83
+ {
84
+ "data-current": position === current || void 0,
85
+ className: cn(
86
+ "size-2 rounded-full",
87
+ position === current ? "bg-text-brand" : "bg-text-disabled"
88
+ )
89
+ },
90
+ position
91
+ )) }),
92
+ /* @__PURE__ */ jsx("p", { className: "text-label-small text-text-secondary", children: labels.announcementStep(current + 1, total) })
93
+ ] }),
94
+ !last && /* @__PURE__ */ jsx(ModalClose, { render: /* @__PURE__ */ jsx(Button, { variant: "ghost" }), children: labels.announcementSkip }),
95
+ /* @__PURE__ */ jsx(Button, { ref: primaryRef, onClick: handlePrimary, children: last ? finishLabel ?? labels.announcementStart : labels.next })
96
+ ] })
97
+ ] })
98
+ }
99
+ )
100
+ ]
101
+ }
102
+ );
103
+ }
104
+ export {
105
+ AnnouncementDialog
106
+ };
107
+ //# sourceMappingURL=announcement-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcement-dialog.js","sources":["../../../src/components/announcement/announcement-dialog.tsx"],"sourcesContent":["import { type ReactElement, type ReactNode, useRef, useState } from \"react\";\n\nimport { XCloseIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\nimport { Button } from \"../button\";\nimport { IconButton } from \"../icon-button\";\nimport {\n Modal,\n type ModalActions,\n ModalBody,\n type ModalChangeEventDetails,\n ModalClose,\n ModalContent,\n type ModalLayout,\n ModalTitle,\n ModalTrigger,\n} from \"../modal\";\nimport { AnnouncementIllustration } from \"./announcement-illustration\";\n\nexport interface AnnouncementStep {\n /** \"Novedades en mediQuo\". */\n title: ReactNode;\n /**\n * What the patient can do now, not what the team did: \"Ahora puedes guardar tus\n * alergias…\", never \"Estamos emocionados de anunciar…\".\n */\n description: ReactNode;\n /** Replaces the megaphone (`AnnouncementIllustration`) for this step. Decorative. */\n illustration?: ReactNode;\n}\n\nexport interface AnnouncementDialogProps {\n /** One to three steps. */\n steps: AnnouncementStep[];\n /** The element that opens it. Usually omitted: it opens on arrival (`defaultOpen`). */\n trigger?: ReactElement;\n /** Runs on the last step's button (\"Empezar\"), before the dialog closes. */\n onFinish?: () => void;\n /** Overrides \"Empezar\". */\n finishLabel?: ReactNode;\n /** Unset: bottom sheet below `md`, centered dialog from `md` up (as `Modal`). */\n layout?: ModalLayout;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean, eventDetails: ModalChangeEventDetails) => void;\n onOpenChangeComplete?: (open: boolean) => void;\n}\n\n/**\n * What's new, on arrival, in up to 3 steps. It appears once per novelty and never\n * blocks: \"Omitir\", the X and Escape close it. The last step swaps \"Siguiente\" for\n * \"Empezar\" and drops \"Omitir\".\n *\n * Built on `Modal`: it is a dialog named by its title, focus goes to the primary\n * button and returns where it was on close. \"1 de 3\" is text, not only dots, and\n * each new step is announced.\n */\nexport function AnnouncementDialog({\n steps,\n trigger,\n onFinish,\n finishLabel,\n onOpenChangeComplete,\n ...modalProps\n}: AnnouncementDialogProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n const actionsRef = useRef<ModalActions | null>(null);\n const primaryRef = useRef<HTMLButtonElement | null>(null);\n const [index, setIndex] = useState(0);\n\n const total = steps.length;\n const current = Math.min(index, total - 1);\n const step = steps[current];\n const last = current >= total - 1;\n\n const handlePrimary = (): void => {\n if (!last) {\n setIndex(current + 1);\n return;\n }\n onFinish?.();\n actionsRef.current?.close();\n };\n\n return (\n <Modal\n actionsRef={actionsRef}\n onOpenChangeComplete={(open) => {\n // Next time it opens, it starts from the first step.\n if (!open) {\n setIndex(0);\n }\n onOpenChangeComplete?.(open);\n }}\n {...modalProps}\n >\n {trigger && <ModalTrigger render={trigger} />}\n <ModalContent\n initialFocus={primaryRef}\n className=\"gap-0 overflow-x-hidden p-0 data-[layout=sheet]:pt-3\"\n >\n <div data-slot=\"announcement-dialog\" className=\"relative flex flex-col\">\n <div className=\"flex h-50 shrink-0 items-center justify-center bg-brand-subtle\">\n {step?.illustration ?? <AnnouncementIllustration />}\n </div>\n {/* As in ModalHeader, the sheet has no X (it closes by swiping). The wrapper\n places it: the button's touch-target makes the button itself relative. */}\n <div className=\"absolute top-3 right-3 in-data-[layout=sheet]:hidden\">\n <ModalClose\n render={\n <IconButton\n variant=\"ghost\"\n size=\"small\"\n icon={<XCloseIcon />}\n aria-label={labels.close}\n />\n }\n />\n </div>\n\n <div\n aria-live=\"polite\"\n className=\"flex flex-col gap-2 px-6 pt-6 pb-2\"\n >\n <ModalTitle>{step?.title}</ModalTitle>\n <ModalBody>{step?.description}</ModalBody>\n </div>\n\n <div className=\"flex flex-wrap items-center justify-end gap-3 p-6\">\n {total > 1 && (\n <div className=\"me-auto flex items-center gap-2\">\n <span aria-hidden className=\"flex gap-2\">\n {steps.map((_, position) => (\n <span\n // biome-ignore lint/suspicious/noArrayIndexKey: the dots are positional and never reorder.\n key={position}\n data-current={position === current || undefined}\n className={cn(\n \"size-2 rounded-full\",\n position === current\n ? \"bg-text-brand\"\n : \"bg-text-disabled\",\n )}\n />\n ))}\n </span>\n <p className=\"text-label-small text-text-secondary\">\n {labels.announcementStep(current + 1, total)}\n </p>\n </div>\n )}\n {!last && (\n <ModalClose render={<Button variant=\"ghost\" />}>\n {labels.announcementSkip}\n </ModalClose>\n )}\n <Button ref={primaryRef} onClick={handlePrimary}>\n {last ? (finishLabel ?? labels.announcementStart) : labels.next}\n </Button>\n </div>\n </div>\n </ModalContent>\n </Modal>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AA0DO,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA+C;AAC7C,QAAM,SAAS,kBAAA;AACf,QAAM,aAAa,OAA4B,IAAI;AACnD,QAAM,aAAa,OAAiC,IAAI;AACxD,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,CAAC;AAEpC,QAAM,QAAQ,MAAM;AACpB,QAAM,UAAU,KAAK,IAAI,OAAO,QAAQ,CAAC;AACzC,QAAM,OAAO,MAAM,OAAO;AAC1B,QAAM,OAAO,WAAW,QAAQ;AAEhC,QAAM,gBAAgB,MAAY;AAChC,QAAI,CAAC,MAAM;AACT,eAAS,UAAU,CAAC;AACpB;AAAA,IACF;AACA,eAAA;AACA,eAAW,SAAS,MAAA;AAAA,EACtB;AAEA,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,sBAAsB,CAAC,SAAS;AAE9B,YAAI,CAAC,MAAM;AACT,mBAAS,CAAC;AAAA,QACZ;AACA,+BAAuB,IAAI;AAAA,MAC7B;AAAA,MACC,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA,WAAW,oBAAC,cAAA,EAAa,QAAQ,QAAA,CAAS;AAAA,QAC3C;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,cAAc;AAAA,YACd,WAAU;AAAA,YAEV,UAAA,qBAAC,OAAA,EAAI,aAAU,uBAAsB,WAAU,0BAC7C,UAAA;AAAA,cAAA,oBAAC,SAAI,WAAU,kEACZ,gBAAM,gBAAgB,oBAAC,4BAAyB,EAAA,CACnD;AAAA,cAGA,oBAAC,OAAA,EAAI,WAAU,wDACb,UAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,QACE;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,MAAK;AAAA,sBACL,0BAAO,YAAA,EAAW;AAAA,sBAClB,cAAY,OAAO;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACrB;AAAA,cAAA,GAGN;AAAA,cAEA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,aAAU;AAAA,kBACV,WAAU;AAAA,kBAEV,UAAA;AAAA,oBAAA,oBAAC,YAAA,EAAY,gBAAM,MAAA,CAAM;AAAA,oBACzB,oBAAC,WAAA,EAAW,UAAA,MAAM,YAAA,CAAY;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAAA;AAAA,cAGhC,qBAAC,OAAA,EAAI,WAAU,qDACZ,UAAA;AAAA,gBAAA,QAAQ,KACP,qBAAC,OAAA,EAAI,WAAU,mCACb,UAAA;AAAA,kBAAA,oBAAC,QAAA,EAAK,eAAW,MAAC,WAAU,cACzB,UAAA,MAAM,IAAI,CAAC,GAAG,aACb;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBAGC,gBAAc,aAAa,WAAW;AAAA,sBACtC,WAAW;AAAA,wBACT;AAAA,wBACA,aAAa,UACT,kBACA;AAAA,sBAAA;AAAA,oBACN;AAAA,oBAPK;AAAA,kBAAA,CASR,GACH;AAAA,kBACA,oBAAC,OAAE,WAAU,wCACV,iBAAO,iBAAiB,UAAU,GAAG,KAAK,EAAA,CAC7C;AAAA,gBAAA,GACF;AAAA,gBAED,CAAC,QACA,oBAAC,YAAA,EAAW,QAAQ,oBAAC,QAAA,EAAO,SAAQ,QAAA,CAAQ,GACzC,UAAA,OAAO,iBAAA,CACV;AAAA,gBAEF,oBAAC,QAAA,EAAO,KAAK,YAAY,SAAS,eAC/B,UAAA,OAAQ,eAAe,OAAO,oBAAqB,OAAO,KAAA,CAC7D;AAAA,cAAA,EAAA,CACF;AAAA,YAAA,EAAA,CACF;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,9 @@
1
+ import type { ComponentProps } from "react";
2
+ export interface AnnouncementIllustrationProps extends Omit<ComponentProps<"svg">, "children"> {
3
+ }
4
+ /**
5
+ * The "what's new" megaphone, from the Figma export. Decorative (hidden from screen
6
+ * readers) and coloured with tokens, so it follows the theme: body `brand`, white
7
+ * parts `background`, sound lines `text-brand`. 211×162; it sits on `brand-subtle`.
8
+ */
9
+ export declare function AnnouncementIllustration({ className, ...props }: AnnouncementIllustrationProps): React.JSX.Element;
@@ -0,0 +1,58 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../lib/cn.js";
3
+ function AnnouncementIllustration({
4
+ className,
5
+ ...props
6
+ }) {
7
+ return /* @__PURE__ */ jsxs(
8
+ "svg",
9
+ {
10
+ viewBox: "0 0 211 162",
11
+ fill: "none",
12
+ "aria-hidden": "true",
13
+ focusable: "false",
14
+ "data-slot": "announcement-illustration",
15
+ className: cn("h-40.5 w-52.75 shrink-0", className),
16
+ ...props,
17
+ children: [
18
+ /* @__PURE__ */ jsx(
19
+ "path",
20
+ {
21
+ d: "M30.7842 107.723L74.7136 11.2674L136.282 117.907L30.7842 107.723Z",
22
+ className: "fill-background"
23
+ }
24
+ ),
25
+ /* @__PURE__ */ jsx(
26
+ "path",
27
+ {
28
+ d: "M124.365 53.6945C107.244 24.0393 85.7438 4.39852 76.3439 9.82555C66.9441 15.2526 73.2036 43.6923 90.325 73.3475C107.446 103.003 128.946 122.643 138.346 117.216C147.746 111.789 141.486 83.3496 124.365 53.6945Z",
29
+ className: "fill-brand"
30
+ }
31
+ ),
32
+ /* @__PURE__ */ jsx(
33
+ "path",
34
+ {
35
+ d: "M108.115 54.985C103.051 53.628 97.8453 56.6333 96.4883 61.6976C95.1314 66.7619 98.1367 71.9673 103.201 73.3243C108.265 74.6812 113.471 71.6759 114.828 66.6116C116.185 61.5473 113.179 56.3419 108.115 54.985Z",
36
+ className: "fill-background"
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(
40
+ "path",
41
+ {
42
+ d: "M29.4766 125.676C22.8326 129.512 8.71701 104.709 15.208 100.962L44.102 84.2797L58.3706 108.994L29.4766 125.676Z",
43
+ className: "fill-background"
44
+ }
45
+ ),
46
+ /* @__PURE__ */ jsxs("g", { strokeWidth: "2", strokeLinecap: "round", className: "stroke-text-brand", children: [
47
+ /* @__PURE__ */ jsx("path", { d: "M210 75.6393L166.616 71.9717" }),
48
+ /* @__PURE__ */ jsx("path", { d: "M202.783 44.5194L162.058 59.9172" }),
49
+ /* @__PURE__ */ jsx("path", { d: "M187.877 14.4086L156.231 44.3109" })
50
+ ] })
51
+ ]
52
+ }
53
+ );
54
+ }
55
+ export {
56
+ AnnouncementIllustration
57
+ };
58
+ //# sourceMappingURL=announcement-illustration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcement-illustration.js","sources":["../../../src/components/announcement/announcement-illustration.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nexport interface AnnouncementIllustrationProps\n extends Omit<ComponentProps<\"svg\">, \"children\"> {}\n\n/**\n * The \"what's new\" megaphone, from the Figma export. Decorative (hidden from screen\n * readers) and coloured with tokens, so it follows the theme: body `brand`, white\n * parts `background`, sound lines `text-brand`. 211×162; it sits on `brand-subtle`.\n */\nexport function AnnouncementIllustration({\n className,\n ...props\n}: AnnouncementIllustrationProps): React.JSX.Element {\n return (\n <svg\n viewBox=\"0 0 211 162\"\n fill=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n data-slot=\"announcement-illustration\"\n className={cn(\"h-40.5 w-52.75 shrink-0\", className)}\n {...props}\n >\n <path\n d=\"M30.7842 107.723L74.7136 11.2674L136.282 117.907L30.7842 107.723Z\"\n className=\"fill-background\"\n />\n <path\n d=\"M124.365 53.6945C107.244 24.0393 85.7438 4.39852 76.3439 9.82555C66.9441 15.2526 73.2036 43.6923 90.325 73.3475C107.446 103.003 128.946 122.643 138.346 117.216C147.746 111.789 141.486 83.3496 124.365 53.6945Z\"\n className=\"fill-brand\"\n />\n <path\n d=\"M108.115 54.985C103.051 53.628 97.8453 56.6333 96.4883 61.6976C95.1314 66.7619 98.1367 71.9673 103.201 73.3243C108.265 74.6812 113.471 71.6759 114.828 66.6116C116.185 61.5473 113.179 56.3419 108.115 54.985Z\"\n className=\"fill-background\"\n />\n <path\n d=\"M29.4766 125.676C22.8326 129.512 8.71701 104.709 15.208 100.962L44.102 84.2797L58.3706 108.994L29.4766 125.676Z\"\n className=\"fill-background\"\n />\n <g strokeWidth=\"2\" strokeLinecap=\"round\" className=\"stroke-text-brand\">\n <path d=\"M210 75.6393L166.616 71.9717\" />\n <path d=\"M202.783 44.5194L162.058 59.9172\" />\n <path d=\"M187.877 14.4086L156.231 44.3109\" />\n </g>\n </svg>\n );\n}\n"],"names":[],"mappings":";;AAYO,SAAS,yBAAyB;AAAA,EACvC;AAAA,EACA,GAAG;AACL,GAAqD;AACnD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,WAAU;AAAA,MACV,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,MACjD,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,GAAE;AAAA,YACF,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,6BAEX,KAAA,EAAE,aAAY,KAAI,eAAc,SAAQ,WAAU,qBACjD,UAAA;AAAA,UAAA,oBAAC,QAAA,EAAK,GAAE,+BAAA,CAA+B;AAAA,UACvC,oBAAC,QAAA,EAAK,GAAE,mCAAA,CAAmC;AAAA,UAC3C,oBAAC,QAAA,EAAK,GAAE,mCAAA,CAAmC;AAAA,QAAA,EAAA,CAC7C;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,2 @@
1
+ export { AnnouncementDialog, type AnnouncementDialogProps, type AnnouncementStep, } from "./announcement-dialog";
2
+ export { AnnouncementIllustration, type AnnouncementIllustrationProps, } from "./announcement-illustration";
@@ -0,0 +1,74 @@
1
+ import { type ComponentProps, type ReactNode } from "react";
2
+ import { type MobileHeaderActionProps } from "../mobile-header";
3
+ export interface AppShellProps extends ComponentProps<"div"> {
4
+ /**
5
+ * The `Sidebar`, shown from the `lg` breakpoint (1024px), stuck to the left at full
6
+ * height. Below `lg` the same sidebar opens as the menu drawer (`AppShellMenuButton`).
7
+ */
8
+ sidebar?: ReactNode;
9
+ /** The `MobileHeader`, stuck to the top below `lg`. */
10
+ mobileHeader?: ReactNode;
11
+ /** The `BottomBar`, stuck to the bottom below `lg`. Leave it out on second-level screens. */
12
+ bottomBar?: ReactNode;
13
+ /** The `Footer`, at the end of the content column. */
14
+ footer?: ReactNode;
15
+ /**
16
+ * Text of the skip link, the first thing a keyboard reaches. Defaults to the
17
+ * `skipToContent` label when the provider has it, else "Saltar al contenido".
18
+ */
19
+ skipLinkLabel?: string;
20
+ /** The page: usually `PageHeader` + `AppShellContent`. It goes inside `<main>`. */
21
+ children: ReactNode;
22
+ }
23
+ /**
24
+ * The responsive frame of every screen, in both the patient app and the clinic admin.
25
+ * It lays out the pieces; the sections and the copy are the app's.
26
+ *
27
+ * ```tsx
28
+ * <AppShell
29
+ * sidebar={<Sidebar>…</Sidebar>}
30
+ * mobileHeader={<MobileHeader title="Agenda" leading={<AppShellMenuButton />} />}
31
+ * bottomBar={<BottomBar>…</BottomBar>}
32
+ * footer={<Footer holder="mediQuo">…</Footer>}
33
+ * >
34
+ * <PageHeader title="Agenda" />
35
+ * <AppShellContent>…</AppShellContent>
36
+ * </AppShell>
37
+ * ```
38
+ *
39
+ * - From `lg` (1024px): sidebar on the left + content column (PageHeader, content,
40
+ * footer). Below: mobile header on top, content, footer, bottom bar at the bottom.
41
+ * - The document scrolls (not an inner box), so the router's scroll restoration and
42
+ * the mobile browser bars work as usual; the side and top/bottom bars are sticky.
43
+ * - A skip link ("Saltar al contenido") comes first and moves focus to `<main>`.
44
+ *
45
+ * **No dead ends.** Every screen must offer a way to another one:
46
+ * - Root sections: the sidebar on desktop; on mobile, the bottom bar (up to five) AND
47
+ * the menu (`<AppShellMenuButton />` in the header's `leading`), which opens the
48
+ * full sidebar — the sections that don't fit in the bar must be reachable there.
49
+ * - Second-level screens (a programme, an appointment, a document): on mobile,
50
+ * `leading={<MobileHeaderBack render={<Link to="parent" />} />}` and usually no
51
+ * bottom bar; on desktop, the sidebar plus a `Breadcrumb` in `PageHeader`.
52
+ * - Flows (booking, onboarding): a back or close button on every step.
53
+ */
54
+ export declare function AppShell({ sidebar, mobileHeader, bottomBar, footer, skipLinkLabel, className, children, ...props }: AppShellProps): React.JSX.Element;
55
+ export interface AppShellMenuButtonProps extends Omit<MobileHeaderActionProps, "icon" | "aria-label" | "render"> {
56
+ /** Defaults to the `menu` label ("Menú"). */
57
+ "aria-label"?: string;
58
+ }
59
+ /**
60
+ * The `menu-01` button for `MobileHeader`'s `leading` slot on root screens: opens the
61
+ * AppShell's sidebar as a drawer from the left, with every section (the bottom bar
62
+ * only fits five). Focus is trapped inside while open and returns here on close.
63
+ * Renders nothing outside an `AppShell` with a `sidebar`.
64
+ */
65
+ export declare function AppShellMenuButton({ "aria-label": ariaLabel, ...props }: AppShellMenuButtonProps): React.JSX.Element | null;
66
+ export interface AppShellContentProps extends ComponentProps<"div"> {
67
+ }
68
+ /**
69
+ * The page's padded content area: the page gutter (16px on mobile, 24 on desktop, 60
70
+ * on wide screens as in the Figma patterns, the same as `PageHeader`), 24/32 on top,
71
+ * 32 at the bottom on mobile and 32/40 between blocks. Full-bleed pieces (a hero)
72
+ * go outside it, directly in `AppShell`.
73
+ */
74
+ export declare function AppShellContent({ className, ...props }: AppShellContentProps): React.JSX.Element;