@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.
- package/README.md +89 -0
- package/dist/components/advisor-contact/advisor-contact.d.ts +39 -0
- package/dist/components/advisor-contact/advisor-contact.js +94 -0
- package/dist/components/advisor-contact/advisor-contact.js.map +1 -0
- package/dist/components/advisor-contact/index.d.ts +1 -0
- package/dist/components/announcement/announcement-dialog.d.ts +39 -0
- package/dist/components/announcement/announcement-dialog.js +107 -0
- package/dist/components/announcement/announcement-dialog.js.map +1 -0
- package/dist/components/announcement/announcement-illustration.d.ts +9 -0
- package/dist/components/announcement/announcement-illustration.js +58 -0
- package/dist/components/announcement/announcement-illustration.js.map +1 -0
- package/dist/components/announcement/index.d.ts +2 -0
- package/dist/components/app-shell/app-shell.d.ts +74 -0
- package/dist/components/app-shell/app-shell.js +208 -0
- package/dist/components/app-shell/app-shell.js.map +1 -0
- package/dist/components/app-shell/index.d.ts +1 -0
- package/dist/components/appointment-row/appointment-row.d.ts +59 -0
- package/dist/components/appointment-row/appointment-row.js +160 -0
- package/dist/components/appointment-row/appointment-row.js.map +1 -0
- package/dist/components/appointment-row/index.d.ts +1 -0
- package/dist/components/auth-panel/auth-panel.d.ts +20 -0
- package/dist/components/auth-panel/auth-panel.js +36 -0
- package/dist/components/auth-panel/auth-panel.js.map +1 -0
- package/dist/components/auth-panel/index.d.ts +1 -0
- package/dist/components/availability-column/availability-column.d.ts +28 -0
- package/dist/components/availability-column/availability-column.js +57 -0
- package/dist/components/availability-column/availability-column.js.map +1 -0
- package/dist/components/availability-column/index.d.ts +1 -0
- package/dist/components/availability-row/availability-row.d.ts +36 -0
- package/dist/components/availability-row/availability-row.js +60 -0
- package/dist/components/availability-row/availability-row.js.map +1 -0
- package/dist/components/availability-row/index.d.ts +1 -0
- package/dist/components/avatar/avatar.d.ts +57 -0
- package/dist/components/avatar/avatar.js +115 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/badge/badge.d.ts +20 -0
- package/dist/components/badge/badge.js +42 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/banner/banner.d.ts +32 -0
- package/dist/components/banner/banner.js +93 -0
- package/dist/components/banner/banner.js.map +1 -0
- package/dist/components/banner/index.d.ts +1 -0
- package/dist/components/bottom-bar/bottom-bar.d.ts +41 -0
- package/dist/components/bottom-bar/bottom-bar.js +76 -0
- package/dist/components/bottom-bar/bottom-bar.js.map +1 -0
- package/dist/components/bottom-bar/index.d.ts +1 -0
- package/dist/components/brand-mark/brand-mark.d.ts +22 -0
- package/dist/components/brand-mark/brand-mark.js +72 -0
- package/dist/components/brand-mark/brand-mark.js.map +1 -0
- package/dist/components/brand-mark/index.d.ts +1 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +36 -0
- package/dist/components/breadcrumb/breadcrumb.js +70 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +1 -0
- package/dist/components/button/button.d.ts +29 -0
- package/dist/components/button/button.js +104 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/card/card.d.ts +84 -0
- package/dist/components/card/card.js +157 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/card-appointment/card-appointment.d.ts +58 -0
- package/dist/components/card-appointment/card-appointment.js +136 -0
- package/dist/components/card-appointment/card-appointment.js.map +1 -0
- package/dist/components/card-appointment/index.d.ts +1 -0
- package/dist/components/card-article/card-article.d.ts +28 -0
- package/dist/components/card-article/card-article.js +46 -0
- package/dist/components/card-article/card-article.js.map +1 -0
- package/dist/components/card-article/index.d.ts +1 -0
- package/dist/components/card-professional/card-professional.d.ts +56 -0
- package/dist/components/card-professional/card-professional.js +77 -0
- package/dist/components/card-professional/card-professional.js.map +1 -0
- package/dist/components/card-professional/index.d.ts +1 -0
- package/dist/components/card-professional-mini/card-professional-mini.d.ts +22 -0
- package/dist/components/card-professional-mini/card-professional-mini.js +37 -0
- package/dist/components/card-professional-mini/card-professional-mini.js.map +1 -0
- package/dist/components/card-professional-mini/index.d.ts +1 -0
- package/dist/components/card-program/card-program.d.ts +45 -0
- package/dist/components/card-program/card-program.js +142 -0
- package/dist/components/card-program/card-program.js.map +1 -0
- package/dist/components/card-program/index.d.ts +1 -0
- package/dist/components/card-service-option/card-service-option.d.ts +33 -0
- package/dist/components/card-service-option/card-service-option.js +49 -0
- package/dist/components/card-service-option/card-service-option.js.map +1 -0
- package/dist/components/card-service-option/index.d.ts +1 -0
- package/dist/components/card-testimonial/card-testimonial.d.ts +17 -0
- package/dist/components/card-testimonial/card-testimonial.js +36 -0
- package/dist/components/card-testimonial/card-testimonial.js.map +1 -0
- package/dist/components/card-testimonial/index.d.ts +1 -0
- package/dist/components/chat/chat-attachment.d.ts +34 -0
- package/dist/components/chat/chat-attachment.js +90 -0
- package/dist/components/chat/chat-attachment.js.map +1 -0
- package/dist/components/chat/chat-bubble.d.ts +49 -0
- package/dist/components/chat/chat-bubble.js +102 -0
- package/dist/components/chat/chat-bubble.js.map +1 -0
- package/dist/components/chat/chat-composer.d.ts +40 -0
- package/dist/components/chat/chat-composer.js +114 -0
- package/dist/components/chat/chat-composer.js.map +1 -0
- package/dist/components/chat/chat-conversation-row.d.ts +42 -0
- package/dist/components/chat/chat-conversation-row.js +104 -0
- package/dist/components/chat/chat-conversation-row.js.map +1 -0
- package/dist/components/chat/chat-date-separator.d.ts +15 -0
- package/dist/components/chat/chat-date-separator.js +29 -0
- package/dist/components/chat/chat-date-separator.js.map +1 -0
- package/dist/components/chat/chat-delivery-status.d.ts +21 -0
- package/dist/components/chat/chat-delivery-status.js +43 -0
- package/dist/components/chat/chat-delivery-status.js.map +1 -0
- package/dist/components/chat/chat-launcher.d.ts +24 -0
- package/dist/components/chat/chat-launcher.js +52 -0
- package/dist/components/chat/chat-launcher.js.map +1 -0
- package/dist/components/chat/chat-message-list.d.ts +13 -0
- package/dist/components/chat/chat-message-list.js +23 -0
- package/dist/components/chat/chat-message-list.js.map +1 -0
- package/dist/components/chat/chat-room-header.d.ts +33 -0
- package/dist/components/chat/chat-room-header.js +53 -0
- package/dist/components/chat/chat-room-header.js.map +1 -0
- package/dist/components/chat/chat-typing-indicator.d.ts +20 -0
- package/dist/components/chat/chat-typing-indicator.js +61 -0
- package/dist/components/chat/chat-typing-indicator.js.map +1 -0
- package/dist/components/chat/index.d.ts +10 -0
- package/dist/components/checkbox/checkbox-field.d.ts +25 -0
- package/dist/components/checkbox/checkbox-field.js +62 -0
- package/dist/components/checkbox/checkbox-field.js.map +1 -0
- package/dist/components/checkbox/checkbox.d.ts +28 -0
- package/dist/components/checkbox/checkbox.js +62 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/chip/chip.d.ts +60 -0
- package/dist/components/chip/chip.js +101 -0
- package/dist/components/chip/chip.js.map +1 -0
- package/dist/components/chip/index.d.ts +1 -0
- package/dist/components/date-badge/date-badge.d.ts +15 -0
- package/dist/components/date-badge/date-badge.js +35 -0
- package/dist/components/date-badge/date-badge.js.map +1 -0
- package/dist/components/date-badge/index.d.ts +1 -0
- package/dist/components/day-cell/day-cell.d.ts +45 -0
- package/dist/components/day-cell/day-cell.js +124 -0
- package/dist/components/day-cell/day-cell.js.map +1 -0
- package/dist/components/day-cell/index.d.ts +1 -0
- package/dist/components/divider/divider.d.ts +23 -0
- package/dist/components/divider/divider.js +49 -0
- package/dist/components/divider/divider.js.map +1 -0
- package/dist/components/divider/index.d.ts +1 -0
- package/dist/components/empty-state/empty-state.d.ts +53 -0
- package/dist/components/empty-state/empty-state.js +57 -0
- package/dist/components/empty-state/empty-state.js.map +1 -0
- package/dist/components/empty-state/index.d.ts +1 -0
- package/dist/components/field/field-context.d.ts +19 -0
- package/dist/components/field/field-context.js +10 -0
- package/dist/components/field/field-context.js.map +1 -0
- package/dist/components/field/field.d.ts +47 -0
- package/dist/components/field/field.js +116 -0
- package/dist/components/field/field.js.map +1 -0
- package/dist/components/field/index.d.ts +1 -0
- package/dist/components/footer/footer.d.ts +29 -0
- package/dist/components/footer/footer.js +88 -0
- package/dist/components/footer/footer.js.map +1 -0
- package/dist/components/footer/index.d.ts +1 -0
- package/dist/components/health-record/health-record.d.ts +88 -0
- package/dist/components/health-record/health-record.js +255 -0
- package/dist/components/health-record/health-record.js.map +1 -0
- package/dist/components/health-record/index.d.ts +1 -0
- package/dist/components/hero-greeting/hero-greeting.d.ts +17 -0
- package/dist/components/hero-greeting/hero-greeting.js +29 -0
- package/dist/components/hero-greeting/hero-greeting.js.map +1 -0
- package/dist/components/hero-greeting/index.d.ts +1 -0
- package/dist/components/icon-button/icon-button.d.ts +37 -0
- package/dist/components/icon-button/icon-button.js +64 -0
- package/dist/components/icon-button/icon-button.js.map +1 -0
- package/dist/components/icon-button/index.d.ts +1 -0
- package/dist/components/icon-container/icon-container.d.ts +29 -0
- package/dist/components/icon-container/icon-container.js +49 -0
- package/dist/components/icon-container/icon-container.js.map +1 -0
- package/dist/components/icon-container/index.d.ts +1 -0
- package/dist/components/included-item/included-item.d.ts +10 -0
- package/dist/components/included-item/included-item.js +37 -0
- package/dist/components/included-item/included-item.js.map +1 -0
- package/dist/components/included-item/index.d.ts +1 -0
- package/dist/components/input/control-styles.d.ts +34 -0
- package/dist/components/input/control-styles.js +36 -0
- package/dist/components/input/control-styles.js.map +1 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/input.d.ts +35 -0
- package/dist/components/input/input.js +123 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/link.d.ts +52 -0
- package/dist/components/link/link.js +94 -0
- package/dist/components/link/link.js.map +1 -0
- package/dist/components/list-row/index.d.ts +1 -0
- package/dist/components/list-row/list-row.d.ts +47 -0
- package/dist/components/list-row/list-row.js +71 -0
- package/dist/components/list-row/list-row.js.map +1 -0
- package/dist/components/logo/index.d.ts +1 -0
- package/dist/components/logo/logo.d.ts +13 -0
- package/dist/components/logo/logo.js +48 -0
- package/dist/components/logo/logo.js.map +1 -0
- package/dist/components/menu/index.d.ts +1 -0
- package/dist/components/menu/menu.d.ts +79 -0
- package/dist/components/menu/menu.js +250 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/mobile-header/index.d.ts +1 -0
- package/dist/components/mobile-header/mobile-header.d.ts +49 -0
- package/dist/components/mobile-header/mobile-header.js +84 -0
- package/dist/components/mobile-header/mobile-header.js.map +1 -0
- package/dist/components/modal/confirm-modal.d.ts +32 -0
- package/dist/components/modal/confirm-modal.js +78 -0
- package/dist/components/modal/confirm-modal.js.map +1 -0
- package/dist/components/modal/index.d.ts +2 -0
- package/dist/components/modal/modal.d.ts +103 -0
- package/dist/components/modal/modal.js +248 -0
- package/dist/components/modal/modal.js.map +1 -0
- package/dist/components/modal/use-media-query.d.ts +7 -0
- package/dist/components/modal/use-media-query.js +22 -0
- package/dist/components/modal/use-media-query.js.map +1 -0
- package/dist/components/nav-item/index.d.ts +1 -0
- package/dist/components/nav-item/nav-item.d.ts +54 -0
- package/dist/components/nav-item/nav-item.js +124 -0
- package/dist/components/nav-item/nav-item.js.map +1 -0
- package/dist/components/otp-input/index.d.ts +1 -0
- package/dist/components/otp-input/otp-input.d.ts +40 -0
- package/dist/components/otp-input/otp-input.js +152 -0
- package/dist/components/otp-input/otp-input.js.map +1 -0
- package/dist/components/page-header/index.d.ts +1 -0
- package/dist/components/page-header/page-header.d.ts +24 -0
- package/dist/components/page-header/page-header.js +41 -0
- package/dist/components/page-header/page-header.js.map +1 -0
- package/dist/components/phone-input/index.d.ts +1 -0
- package/dist/components/phone-input/phone-input.d.ts +46 -0
- package/dist/components/phone-input/phone-input.js +219 -0
- package/dist/components/phone-input/phone-input.js.map +1 -0
- package/dist/components/promo-app/index.d.ts +1 -0
- package/dist/components/promo-app/promo-app.d.ts +29 -0
- package/dist/components/promo-app/promo-app.js +51 -0
- package/dist/components/promo-app/promo-app.js.map +1 -0
- package/dist/components/radio/field-item-label.d.ts +13 -0
- package/dist/components/radio/field-item-label.js +29 -0
- package/dist/components/radio/field-item-label.js.map +1 -0
- package/dist/components/radio/index.d.ts +1 -0
- package/dist/components/radio/radio.d.ts +38 -0
- package/dist/components/radio/radio.js +90 -0
- package/dist/components/radio/radio.js.map +1 -0
- package/dist/components/radio/use-field-group-label.d.ts +7 -0
- package/dist/components/radio/use-field-group-label.js +16 -0
- package/dist/components/radio/use-field-group-label.js.map +1 -0
- package/dist/components/rating/index.d.ts +1 -0
- package/dist/components/rating/rating.d.ts +23 -0
- package/dist/components/rating/rating.js +93 -0
- package/dist/components/rating/rating.js.map +1 -0
- package/dist/components/section-header/index.d.ts +1 -0
- package/dist/components/section-header/section-header.d.ts +37 -0
- package/dist/components/section-header/section-header.js +60 -0
- package/dist/components/section-header/section-header.js.map +1 -0
- package/dist/components/segmented-control/index.d.ts +1 -0
- package/dist/components/segmented-control/segmented-control.d.ts +34 -0
- package/dist/components/segmented-control/segmented-control.js +51 -0
- package/dist/components/segmented-control/segmented-control.js.map +1 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/native-select.d.ts +30 -0
- package/dist/components/select/native-select.js +83 -0
- package/dist/components/select/native-select.js.map +1 -0
- package/dist/components/select/select.d.ts +49 -0
- package/dist/components/select/select.js +125 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/selection-card/index.d.ts +1 -0
- package/dist/components/selection-card/selection-card.d.ts +31 -0
- package/dist/components/selection-card/selection-card.js +90 -0
- package/dist/components/selection-card/selection-card.js.map +1 -0
- package/dist/components/severity-indicator/index.d.ts +1 -0
- package/dist/components/severity-indicator/severity-indicator.d.ts +18 -0
- package/dist/components/severity-indicator/severity-indicator.js +64 -0
- package/dist/components/severity-indicator/severity-indicator.js.map +1 -0
- package/dist/components/severity-scale/index.d.ts +1 -0
- package/dist/components/severity-scale/severity-scale.d.ts +17 -0
- package/dist/components/severity-scale/severity-scale.js +22 -0
- package/dist/components/severity-scale/severity-scale.js.map +1 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/sidebar.d.ts +99 -0
- package/dist/components/sidebar/sidebar.js +228 -0
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +1 -0
- package/dist/components/skeleton/skeleton.d.ts +33 -0
- package/dist/components/skeleton/skeleton.js +47 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/social-button/index.d.ts +1 -0
- package/dist/components/social-button/social-button.d.ts +29 -0
- package/dist/components/social-button/social-button.js +53 -0
- package/dist/components/social-button/social-button.js.map +1 -0
- package/dist/components/spinner/index.d.ts +1 -0
- package/dist/components/spinner/spinner.d.ts +20 -0
- package/dist/components/spinner/spinner.js +54 -0
- package/dist/components/spinner/spinner.js.map +1 -0
- package/dist/components/stat-tile/index.d.ts +1 -0
- package/dist/components/stat-tile/stat-tile.d.ts +15 -0
- package/dist/components/stat-tile/stat-tile.js +28 -0
- package/dist/components/stat-tile/stat-tile.js.map +1 -0
- package/dist/components/step-indicator/index.d.ts +1 -0
- package/dist/components/step-indicator/step-indicator.d.ts +17 -0
- package/dist/components/step-indicator/step-indicator.js +35 -0
- package/dist/components/step-indicator/step-indicator.js.map +1 -0
- package/dist/components/store-badge/index.d.ts +1 -0
- package/dist/components/store-badge/store-badge.d.ts +22 -0
- package/dist/components/store-badge/store-badge.js +40 -0
- package/dist/components/store-badge/store-badge.js.map +1 -0
- package/dist/components/switch/index.d.ts +1 -0
- package/dist/components/switch/switch.d.ts +23 -0
- package/dist/components/switch/switch.js +67 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/table.d.ts +85 -0
- package/dist/components/table/table.js +175 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/tabs.d.ts +58 -0
- package/dist/components/tabs/tabs.js +89 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/textarea.d.ts +25 -0
- package/dist/components/textarea/textarea.js +79 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/time-slot/index.d.ts +1 -0
- package/dist/components/time-slot/time-slot.d.ts +50 -0
- package/dist/components/time-slot/time-slot.js +75 -0
- package/dist/components/time-slot/time-slot.js.map +1 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/toast.d.ts +60 -0
- package/dist/components/toast/toast.js +159 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/tooltip.d.ts +40 -0
- package/dist/components/tooltip/tooltip.js +110 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/video/index.d.ts +4 -0
- package/dist/components/video/video-control-button.d.ts +33 -0
- package/dist/components/video/video-control-button.js +119 -0
- package/dist/components/video/video-control-button.js.map +1 -0
- package/dist/components/video/video-label.d.ts +14 -0
- package/dist/components/video/video-label.js +25 -0
- package/dist/components/video/video-label.js.map +1 -0
- package/dist/components/video/video-stage.d.ts +39 -0
- package/dist/components/video/video-stage.js +96 -0
- package/dist/components/video/video-stage.js.map +1 -0
- package/dist/components/video/video-tile.d.ts +37 -0
- package/dist/components/video/video-tile.js +61 -0
- package/dist/components/video/video-tile.js.map +1 -0
- package/dist/icons/create-icon.d.ts +18 -0
- package/dist/icons/create-icon.js +46 -0
- package/dist/icons/create-icon.js.map +1 -0
- package/dist/icons/generated/activity-heart.d.ts +1 -0
- package/dist/icons/generated/activity-heart.js +10 -0
- package/dist/icons/generated/activity-heart.js.map +1 -0
- package/dist/icons/generated/activity.d.ts +1 -0
- package/dist/icons/generated/activity.js +10 -0
- package/dist/icons/generated/activity.js.map +1 -0
- package/dist/icons/generated/alert-circle.d.ts +1 -0
- package/dist/icons/generated/alert-circle.js +10 -0
- package/dist/icons/generated/alert-circle.js.map +1 -0
- package/dist/icons/generated/alert-triangle.d.ts +1 -0
- package/dist/icons/generated/alert-triangle.js +10 -0
- package/dist/icons/generated/alert-triangle.js.map +1 -0
- package/dist/icons/generated/allergy-peanut.d.ts +1 -0
- package/dist/icons/generated/allergy-peanut.js +16 -0
- package/dist/icons/generated/allergy-peanut.js.map +1 -0
- package/dist/icons/generated/annotation-alert.d.ts +1 -0
- package/dist/icons/generated/annotation-alert.js +10 -0
- package/dist/icons/generated/annotation-alert.js.map +1 -0
- package/dist/icons/generated/annotation-check.d.ts +1 -0
- package/dist/icons/generated/annotation-check.js +10 -0
- package/dist/icons/generated/annotation-check.js.map +1 -0
- package/dist/icons/generated/annotation-info.d.ts +1 -0
- package/dist/icons/generated/annotation-info.js +10 -0
- package/dist/icons/generated/annotation-info.js.map +1 -0
- package/dist/icons/generated/annotation-question.d.ts +1 -0
- package/dist/icons/generated/annotation-question.js +10 -0
- package/dist/icons/generated/annotation-question.js.map +1 -0
- package/dist/icons/generated/annotation.d.ts +1 -0
- package/dist/icons/generated/annotation.js +10 -0
- package/dist/icons/generated/annotation.js.map +1 -0
- package/dist/icons/generated/arrow-circle-down.d.ts +1 -0
- package/dist/icons/generated/arrow-circle-down.js +10 -0
- package/dist/icons/generated/arrow-circle-down.js.map +1 -0
- package/dist/icons/generated/arrow-circle-left.d.ts +1 -0
- package/dist/icons/generated/arrow-circle-left.js +10 -0
- package/dist/icons/generated/arrow-circle-left.js.map +1 -0
- package/dist/icons/generated/arrow-circle-right.d.ts +1 -0
- package/dist/icons/generated/arrow-circle-right.js +10 -0
- package/dist/icons/generated/arrow-circle-right.js.map +1 -0
- package/dist/icons/generated/arrow-circle-up.d.ts +1 -0
- package/dist/icons/generated/arrow-circle-up.js +10 -0
- package/dist/icons/generated/arrow-circle-up.js.map +1 -0
- package/dist/icons/generated/arrow-narrow-down.d.ts +1 -0
- package/dist/icons/generated/arrow-narrow-down.js +10 -0
- package/dist/icons/generated/arrow-narrow-down.js.map +1 -0
- package/dist/icons/generated/arrow-narrow-left.d.ts +1 -0
- package/dist/icons/generated/arrow-narrow-left.js +10 -0
- package/dist/icons/generated/arrow-narrow-left.js.map +1 -0
- package/dist/icons/generated/arrow-narrow-right.d.ts +1 -0
- package/dist/icons/generated/arrow-narrow-right.js +10 -0
- package/dist/icons/generated/arrow-narrow-right.js.map +1 -0
- package/dist/icons/generated/arrow-narrow-up.d.ts +1 -0
- package/dist/icons/generated/arrow-narrow-up.js +10 -0
- package/dist/icons/generated/arrow-narrow-up.js.map +1 -0
- package/dist/icons/generated/arrow-right.d.ts +1 -0
- package/dist/icons/generated/arrow-right.js +10 -0
- package/dist/icons/generated/arrow-right.js.map +1 -0
- package/dist/icons/generated/bar-chart-01.d.ts +1 -0
- package/dist/icons/generated/bar-chart-01.js +10 -0
- package/dist/icons/generated/bar-chart-01.js.map +1 -0
- package/dist/icons/generated/bar-chart-02.d.ts +1 -0
- package/dist/icons/generated/bar-chart-02.js +10 -0
- package/dist/icons/generated/bar-chart-02.js.map +1 -0
- package/dist/icons/generated/bar-chart-03.d.ts +1 -0
- package/dist/icons/generated/bar-chart-03.js +10 -0
- package/dist/icons/generated/bar-chart-03.js.map +1 -0
- package/dist/icons/generated/bell-01.d.ts +1 -0
- package/dist/icons/generated/bell-01.js +10 -0
- package/dist/icons/generated/bell-01.js.map +1 -0
- package/dist/icons/generated/bell-02.d.ts +1 -0
- package/dist/icons/generated/bell-02.js +10 -0
- package/dist/icons/generated/bell-02.js.map +1 -0
- package/dist/icons/generated/bookmark.d.ts +1 -0
- package/dist/icons/generated/bookmark.js +10 -0
- package/dist/icons/generated/bookmark.js.map +1 -0
- package/dist/icons/generated/broken-heart.d.ts +1 -0
- package/dist/icons/generated/broken-heart.js +10 -0
- package/dist/icons/generated/broken-heart.js.map +1 -0
- package/dist/icons/generated/calendar-chat.d.ts +1 -0
- package/dist/icons/generated/calendar-chat.js +13 -0
- package/dist/icons/generated/calendar-chat.js.map +1 -0
- package/dist/icons/generated/calendar-check-01.d.ts +1 -0
- package/dist/icons/generated/calendar-check-01.js +10 -0
- package/dist/icons/generated/calendar-check-01.js.map +1 -0
- package/dist/icons/generated/calendar-check-02.d.ts +1 -0
- package/dist/icons/generated/calendar-check-02.js +10 -0
- package/dist/icons/generated/calendar-check-02.js.map +1 -0
- package/dist/icons/generated/calendar-heart-01.d.ts +1 -0
- package/dist/icons/generated/calendar-heart-01.js +10 -0
- package/dist/icons/generated/calendar-heart-01.js.map +1 -0
- package/dist/icons/generated/calendar-minus-01.d.ts +1 -0
- package/dist/icons/generated/calendar-minus-01.js +10 -0
- package/dist/icons/generated/calendar-minus-01.js.map +1 -0
- package/dist/icons/generated/calendar-minus-02.d.ts +1 -0
- package/dist/icons/generated/calendar-minus-02.js +10 -0
- package/dist/icons/generated/calendar-minus-02.js.map +1 -0
- package/dist/icons/generated/calendar-plus-01.d.ts +1 -0
- package/dist/icons/generated/calendar-plus-01.js +10 -0
- package/dist/icons/generated/calendar-plus-01.js.map +1 -0
- package/dist/icons/generated/calendar-plus-02.d.ts +1 -0
- package/dist/icons/generated/calendar-plus-02.js +10 -0
- package/dist/icons/generated/calendar-plus-02.js.map +1 -0
- package/dist/icons/generated/calendar.d.ts +1 -0
- package/dist/icons/generated/calendar.js +10 -0
- package/dist/icons/generated/calendar.js.map +1 -0
- package/dist/icons/generated/camera-01.d.ts +1 -0
- package/dist/icons/generated/camera-01.js +13 -0
- package/dist/icons/generated/camera-01.js.map +1 -0
- package/dist/icons/generated/camera-off.d.ts +1 -0
- package/dist/icons/generated/camera-off.js +10 -0
- package/dist/icons/generated/camera-off.js.map +1 -0
- package/dist/icons/generated/certificate-02.d.ts +1 -0
- package/dist/icons/generated/certificate-02.js +10 -0
- package/dist/icons/generated/certificate-02.js.map +1 -0
- package/dist/icons/generated/check-circle.d.ts +1 -0
- package/dist/icons/generated/check-circle.js +10 -0
- package/dist/icons/generated/check-circle.js.map +1 -0
- package/dist/icons/generated/check-heart.d.ts +1 -0
- package/dist/icons/generated/check-heart.js +10 -0
- package/dist/icons/generated/check-heart.js.map +1 -0
- package/dist/icons/generated/check-square.d.ts +1 -0
- package/dist/icons/generated/check-square.js +10 -0
- package/dist/icons/generated/check-square.js.map +1 -0
- package/dist/icons/generated/check-verified-02.d.ts +1 -0
- package/dist/icons/generated/check-verified-02.js +10 -0
- package/dist/icons/generated/check-verified-02.js.map +1 -0
- package/dist/icons/generated/check.d.ts +1 -0
- package/dist/icons/generated/check.js +7 -0
- package/dist/icons/generated/check.js.map +1 -0
- package/dist/icons/generated/chevron-down.d.ts +1 -0
- package/dist/icons/generated/chevron-down.js +10 -0
- package/dist/icons/generated/chevron-down.js.map +1 -0
- package/dist/icons/generated/chevron-left.d.ts +1 -0
- package/dist/icons/generated/chevron-left.js +10 -0
- package/dist/icons/generated/chevron-left.js.map +1 -0
- package/dist/icons/generated/chevron-right.d.ts +1 -0
- package/dist/icons/generated/chevron-right.js +10 -0
- package/dist/icons/generated/chevron-right.js.map +1 -0
- package/dist/icons/generated/chevron-up.d.ts +1 -0
- package/dist/icons/generated/chevron-up.js +10 -0
- package/dist/icons/generated/chevron-up.js.map +1 -0
- package/dist/icons/generated/clipboard-check.d.ts +1 -0
- package/dist/icons/generated/clipboard-check.js +10 -0
- package/dist/icons/generated/clipboard-check.js.map +1 -0
- package/dist/icons/generated/clock.d.ts +1 -0
- package/dist/icons/generated/clock.js +10 -0
- package/dist/icons/generated/clock.js.map +1 -0
- package/dist/icons/generated/copy-01.d.ts +1 -0
- package/dist/icons/generated/copy-01.js +10 -0
- package/dist/icons/generated/copy-01.js.map +1 -0
- package/dist/icons/generated/credit-card-01.d.ts +1 -0
- package/dist/icons/generated/credit-card-01.js +10 -0
- package/dist/icons/generated/credit-card-01.js.map +1 -0
- package/dist/icons/generated/credit-card-02.d.ts +1 -0
- package/dist/icons/generated/credit-card-02.js +10 -0
- package/dist/icons/generated/credit-card-02.js.map +1 -0
- package/dist/icons/generated/credit-card-check.d.ts +1 -0
- package/dist/icons/generated/credit-card-check.js +10 -0
- package/dist/icons/generated/credit-card-check.js.map +1 -0
- package/dist/icons/generated/currency-euro.d.ts +1 -0
- package/dist/icons/generated/currency-euro.js +10 -0
- package/dist/icons/generated/currency-euro.js.map +1 -0
- package/dist/icons/generated/dots-horizontal.d.ts +1 -0
- package/dist/icons/generated/dots-horizontal.js +14 -0
- package/dist/icons/generated/dots-horizontal.js.map +1 -0
- package/dist/icons/generated/dots-vertical.d.ts +1 -0
- package/dist/icons/generated/dots-vertical.js +14 -0
- package/dist/icons/generated/dots-vertical.js.map +1 -0
- package/dist/icons/generated/download-02.d.ts +1 -0
- package/dist/icons/generated/download-02.js +10 -0
- package/dist/icons/generated/download-02.js.map +1 -0
- package/dist/icons/generated/download-cloud-01.d.ts +1 -0
- package/dist/icons/generated/download-cloud-01.js +10 -0
- package/dist/icons/generated/download-cloud-01.js.map +1 -0
- package/dist/icons/generated/edit-01.d.ts +1 -0
- package/dist/icons/generated/edit-01.js +10 -0
- package/dist/icons/generated/edit-01.js.map +1 -0
- package/dist/icons/generated/edit-05.d.ts +1 -0
- package/dist/icons/generated/edit-05.js +10 -0
- package/dist/icons/generated/edit-05.js.map +1 -0
- package/dist/icons/generated/eye-off.d.ts +1 -0
- package/dist/icons/generated/eye-off.js +10 -0
- package/dist/icons/generated/eye-off.js.map +1 -0
- package/dist/icons/generated/eye.d.ts +1 -0
- package/dist/icons/generated/eye.js +13 -0
- package/dist/icons/generated/eye.js.map +1 -0
- package/dist/icons/generated/face-content.d.ts +1 -0
- package/dist/icons/generated/face-content.js +10 -0
- package/dist/icons/generated/face-content.js.map +1 -0
- package/dist/icons/generated/face-frown.d.ts +1 -0
- package/dist/icons/generated/face-frown.js +10 -0
- package/dist/icons/generated/face-frown.js.map +1 -0
- package/dist/icons/generated/face-happy.d.ts +1 -0
- package/dist/icons/generated/face-happy.js +10 -0
- package/dist/icons/generated/face-happy.js.map +1 -0
- package/dist/icons/generated/face-id.d.ts +1 -0
- package/dist/icons/generated/face-id.js +10 -0
- package/dist/icons/generated/face-id.js.map +1 -0
- package/dist/icons/generated/female.d.ts +1 -0
- package/dist/icons/generated/female.js +10 -0
- package/dist/icons/generated/female.js.map +1 -0
- package/dist/icons/generated/file-06.d.ts +1 -0
- package/dist/icons/generated/file-06.js +10 -0
- package/dist/icons/generated/file-06.js.map +1 -0
- package/dist/icons/generated/file-lock-02.d.ts +1 -0
- package/dist/icons/generated/file-lock-02.js +10 -0
- package/dist/icons/generated/file-lock-02.js.map +1 -0
- package/dist/icons/generated/filter-funnel-01.d.ts +1 -0
- package/dist/icons/generated/filter-funnel-01.js +10 -0
- package/dist/icons/generated/filter-funnel-01.js.map +1 -0
- package/dist/icons/generated/filter-lines.d.ts +1 -0
- package/dist/icons/generated/filter-lines.js +10 -0
- package/dist/icons/generated/filter-lines.js.map +1 -0
- package/dist/icons/generated/fingerprint-01.d.ts +1 -0
- package/dist/icons/generated/fingerprint-01.js +10 -0
- package/dist/icons/generated/fingerprint-01.js.map +1 -0
- package/dist/icons/generated/fingerprint-04.d.ts +1 -0
- package/dist/icons/generated/fingerprint-04.js +10 -0
- package/dist/icons/generated/fingerprint-04.js.map +1 -0
- package/dist/icons/generated/flag-01.d.ts +1 -0
- package/dist/icons/generated/flag-01.js +10 -0
- package/dist/icons/generated/flag-01.js.map +1 -0
- package/dist/icons/generated/flash-off.d.ts +1 -0
- package/dist/icons/generated/flash-off.js +10 -0
- package/dist/icons/generated/flash-off.js.map +1 -0
- package/dist/icons/generated/flash.d.ts +1 -0
- package/dist/icons/generated/flash.js +10 -0
- package/dist/icons/generated/flash.js.map +1 -0
- package/dist/icons/generated/flip-backward.d.ts +1 -0
- package/dist/icons/generated/flip-backward.js +10 -0
- package/dist/icons/generated/flip-backward.js.map +1 -0
- package/dist/icons/generated/globe-01.d.ts +1 -0
- package/dist/icons/generated/globe-01.js +10 -0
- package/dist/icons/generated/globe-01.js.map +1 -0
- package/dist/icons/generated/globe-04.d.ts +1 -0
- package/dist/icons/generated/globe-04.js +10 -0
- package/dist/icons/generated/globe-04.js.map +1 -0
- package/dist/icons/generated/heart.d.ts +1 -0
- package/dist/icons/generated/heart.js +17 -0
- package/dist/icons/generated/heart.js.map +1 -0
- package/dist/icons/generated/help-circle.d.ts +1 -0
- package/dist/icons/generated/help-circle.js +10 -0
- package/dist/icons/generated/help-circle.js.map +1 -0
- package/dist/icons/generated/help-square.d.ts +1 -0
- package/dist/icons/generated/help-square.js +10 -0
- package/dist/icons/generated/help-square.js.map +1 -0
- package/dist/icons/generated/home-02.d.ts +1 -0
- package/dist/icons/generated/home-02.js +10 -0
- package/dist/icons/generated/home-02.js.map +1 -0
- package/dist/icons/generated/hourglass-01.d.ts +1 -0
- package/dist/icons/generated/hourglass-01.js +10 -0
- package/dist/icons/generated/hourglass-01.js.map +1 -0
- package/dist/icons/generated/image-01.d.ts +1 -0
- package/dist/icons/generated/image-01.js +10 -0
- package/dist/icons/generated/image-01.js.map +1 -0
- package/dist/icons/generated/image-03.d.ts +1 -0
- package/dist/icons/generated/image-03.js +10 -0
- package/dist/icons/generated/image-03.js.map +1 -0
- package/dist/icons/generated/image-check.d.ts +1 -0
- package/dist/icons/generated/image-check.js +10 -0
- package/dist/icons/generated/image-check.js.map +1 -0
- package/dist/icons/generated/image-plus.d.ts +1 -0
- package/dist/icons/generated/image-plus.js +10 -0
- package/dist/icons/generated/image-plus.js.map +1 -0
- package/dist/icons/generated/inbox-01.d.ts +1 -0
- package/dist/icons/generated/inbox-01.js +10 -0
- package/dist/icons/generated/inbox-01.js.map +1 -0
- package/dist/icons/generated/info-circle.d.ts +1 -0
- package/dist/icons/generated/info-circle.js +10 -0
- package/dist/icons/generated/info-circle.js.map +1 -0
- package/dist/icons/generated/info-square.d.ts +1 -0
- package/dist/icons/generated/info-square.js +10 -0
- package/dist/icons/generated/info-square.js.map +1 -0
- package/dist/icons/generated/key-02.d.ts +1 -0
- package/dist/icons/generated/key-02.js +10 -0
- package/dist/icons/generated/key-02.js.map +1 -0
- package/dist/icons/generated/link-01.d.ts +1 -0
- package/dist/icons/generated/link-01.js +10 -0
- package/dist/icons/generated/link-01.js.map +1 -0
- package/dist/icons/generated/link-03.d.ts +1 -0
- package/dist/icons/generated/link-03.js +10 -0
- package/dist/icons/generated/link-03.js.map +1 -0
- package/dist/icons/generated/link-broken-01.d.ts +1 -0
- package/dist/icons/generated/link-broken-01.js +10 -0
- package/dist/icons/generated/link-broken-01.js.map +1 -0
- package/dist/icons/generated/link-external-01.d.ts +1 -0
- package/dist/icons/generated/link-external-01.js +10 -0
- package/dist/icons/generated/link-external-01.js.map +1 -0
- package/dist/icons/generated/loading-01.d.ts +1 -0
- package/dist/icons/generated/loading-01.js +10 -0
- package/dist/icons/generated/loading-01.js.map +1 -0
- package/dist/icons/generated/lock-01.d.ts +1 -0
- package/dist/icons/generated/lock-01.js +10 -0
- package/dist/icons/generated/lock-01.js.map +1 -0
- package/dist/icons/generated/lock-03.d.ts +1 -0
- package/dist/icons/generated/lock-03.js +10 -0
- package/dist/icons/generated/lock-03.js.map +1 -0
- package/dist/icons/generated/lock-unlocked-01.d.ts +1 -0
- package/dist/icons/generated/lock-unlocked-01.js +10 -0
- package/dist/icons/generated/lock-unlocked-01.js.map +1 -0
- package/dist/icons/generated/log-in-01.d.ts +1 -0
- package/dist/icons/generated/log-in-01.js +10 -0
- package/dist/icons/generated/log-in-01.js.map +1 -0
- package/dist/icons/generated/log-out-01.d.ts +1 -0
- package/dist/icons/generated/log-out-01.js +10 -0
- package/dist/icons/generated/log-out-01.js.map +1 -0
- package/dist/icons/generated/mail-01.d.ts +1 -0
- package/dist/icons/generated/mail-01.js +10 -0
- package/dist/icons/generated/mail-01.js.map +1 -0
- package/dist/icons/generated/mail-02.d.ts +1 -0
- package/dist/icons/generated/mail-02.js +10 -0
- package/dist/icons/generated/mail-02.js.map +1 -0
- package/dist/icons/generated/male.d.ts +1 -0
- package/dist/icons/generated/male.js +10 -0
- package/dist/icons/generated/male.js.map +1 -0
- package/dist/icons/generated/marker-pin-01.d.ts +1 -0
- package/dist/icons/generated/marker-pin-01.js +13 -0
- package/dist/icons/generated/marker-pin-01.js.map +1 -0
- package/dist/icons/generated/medical-circle.d.ts +1 -0
- package/dist/icons/generated/medical-circle.js +13 -0
- package/dist/icons/generated/medical-circle.js.map +1 -0
- package/dist/icons/generated/medical-cross.d.ts +1 -0
- package/dist/icons/generated/medical-cross.js +10 -0
- package/dist/icons/generated/medical-cross.js.map +1 -0
- package/dist/icons/generated/medical-square.d.ts +1 -0
- package/dist/icons/generated/medical-square.js +13 -0
- package/dist/icons/generated/medical-square.js.map +1 -0
- package/dist/icons/generated/menu-01.d.ts +1 -0
- package/dist/icons/generated/menu-01.js +10 -0
- package/dist/icons/generated/menu-01.js.map +1 -0
- package/dist/icons/generated/message-alert-square.d.ts +1 -0
- package/dist/icons/generated/message-alert-square.js +10 -0
- package/dist/icons/generated/message-alert-square.js.map +1 -0
- package/dist/icons/generated/message-check-square.d.ts +1 -0
- package/dist/icons/generated/message-check-square.js +10 -0
- package/dist/icons/generated/message-check-square.js.map +1 -0
- package/dist/icons/generated/message-notification-square.d.ts +1 -0
- package/dist/icons/generated/message-notification-square.js +10 -0
- package/dist/icons/generated/message-notification-square.js.map +1 -0
- package/dist/icons/generated/message-plus-square.d.ts +1 -0
- package/dist/icons/generated/message-plus-square.js +10 -0
- package/dist/icons/generated/message-plus-square.js.map +1 -0
- package/dist/icons/generated/message-question-square.d.ts +1 -0
- package/dist/icons/generated/message-question-square.js +10 -0
- package/dist/icons/generated/message-question-square.js.map +1 -0
- package/dist/icons/generated/message-smile-square.d.ts +1 -0
- package/dist/icons/generated/message-smile-square.js +10 -0
- package/dist/icons/generated/message-smile-square.js.map +1 -0
- package/dist/icons/generated/message-x-square.d.ts +1 -0
- package/dist/icons/generated/message-x-square.js +10 -0
- package/dist/icons/generated/message-x-square.js.map +1 -0
- package/dist/icons/generated/message.d.ts +1 -0
- package/dist/icons/generated/message.js +10 -0
- package/dist/icons/generated/message.js.map +1 -0
- package/dist/icons/generated/microphone-01.d.ts +1 -0
- package/dist/icons/generated/microphone-01.js +10 -0
- package/dist/icons/generated/microphone-01.js.map +1 -0
- package/dist/icons/generated/microphone-off-01.d.ts +1 -0
- package/dist/icons/generated/microphone-off-01.js +10 -0
- package/dist/icons/generated/microphone-off-01.js.map +1 -0
- package/dist/icons/generated/microscope.d.ts +1 -0
- package/dist/icons/generated/microscope.js +10 -0
- package/dist/icons/generated/microscope.js.map +1 -0
- package/dist/icons/generated/minus.d.ts +1 -0
- package/dist/icons/generated/minus.js +7 -0
- package/dist/icons/generated/minus.js.map +1 -0
- package/dist/icons/generated/paperclip.d.ts +1 -0
- package/dist/icons/generated/paperclip.js +10 -0
- package/dist/icons/generated/paperclip.js.map +1 -0
- package/dist/icons/generated/passport.d.ts +1 -0
- package/dist/icons/generated/passport.js +10 -0
- package/dist/icons/generated/passport.js.map +1 -0
- package/dist/icons/generated/pause-circle.d.ts +1 -0
- package/dist/icons/generated/pause-circle.js +10 -0
- package/dist/icons/generated/pause-circle.js.map +1 -0
- package/dist/icons/generated/phone-02.d.ts +1 -0
- package/dist/icons/generated/phone-02.js +10 -0
- package/dist/icons/generated/phone-02.js.map +1 -0
- package/dist/icons/generated/phone.d.ts +1 -0
- package/dist/icons/generated/phone.js +10 -0
- package/dist/icons/generated/phone.js.map +1 -0
- package/dist/icons/generated/pill.d.ts +1 -0
- package/dist/icons/generated/pill.js +10 -0
- package/dist/icons/generated/pill.js.map +1 -0
- package/dist/icons/generated/pin-01.d.ts +1 -0
- package/dist/icons/generated/pin-01.js +10 -0
- package/dist/icons/generated/pin-01.js.map +1 -0
- package/dist/icons/generated/pin-02.d.ts +1 -0
- package/dist/icons/generated/pin-02.js +10 -0
- package/dist/icons/generated/pin-02.js.map +1 -0
- package/dist/icons/generated/play.d.ts +1 -0
- package/dist/icons/generated/play.js +10 -0
- package/dist/icons/generated/play.js.map +1 -0
- package/dist/icons/generated/plus-circle.d.ts +1 -0
- package/dist/icons/generated/plus-circle.js +10 -0
- package/dist/icons/generated/plus-circle.js.map +1 -0
- package/dist/icons/generated/plus-square.d.ts +1 -0
- package/dist/icons/generated/plus-square.js +10 -0
- package/dist/icons/generated/plus-square.js.map +1 -0
- package/dist/icons/generated/plus.d.ts +1 -0
- package/dist/icons/generated/plus.js +7 -0
- package/dist/icons/generated/plus.js.map +1 -0
- package/dist/icons/generated/prescription.d.ts +1 -0
- package/dist/icons/generated/prescription.js +10 -0
- package/dist/icons/generated/prescription.js.map +1 -0
- package/dist/icons/generated/receipt-check.d.ts +1 -0
- package/dist/icons/generated/receipt-check.js +10 -0
- package/dist/icons/generated/receipt-check.js.map +1 -0
- package/dist/icons/generated/receipt.d.ts +1 -0
- package/dist/icons/generated/receipt.js +10 -0
- package/dist/icons/generated/receipt.js.map +1 -0
- package/dist/icons/generated/refresh-ccw-01.d.ts +1 -0
- package/dist/icons/generated/refresh-ccw-01.js +10 -0
- package/dist/icons/generated/refresh-ccw-01.js.map +1 -0
- package/dist/icons/generated/refresh-ccw-02.d.ts +1 -0
- package/dist/icons/generated/refresh-ccw-02.js +10 -0
- package/dist/icons/generated/refresh-ccw-02.js.map +1 -0
- package/dist/icons/generated/reverse-left.d.ts +1 -0
- package/dist/icons/generated/reverse-left.js +10 -0
- package/dist/icons/generated/reverse-left.js.map +1 -0
- package/dist/icons/generated/scan.d.ts +1 -0
- package/dist/icons/generated/scan.js +10 -0
- package/dist/icons/generated/scan.js.map +1 -0
- package/dist/icons/generated/search-lg.d.ts +1 -0
- package/dist/icons/generated/search-lg.js +10 -0
- package/dist/icons/generated/search-lg.js.map +1 -0
- package/dist/icons/generated/search-md.d.ts +1 -0
- package/dist/icons/generated/search-md.js +10 -0
- package/dist/icons/generated/search-md.js.map +1 -0
- package/dist/icons/generated/search-sm.d.ts +1 -0
- package/dist/icons/generated/search-sm.js +10 -0
- package/dist/icons/generated/search-sm.js.map +1 -0
- package/dist/icons/generated/send-01.d.ts +1 -0
- package/dist/icons/generated/send-01.js +10 -0
- package/dist/icons/generated/send-01.js.map +1 -0
- package/dist/icons/generated/settings-02.d.ts +1 -0
- package/dist/icons/generated/settings-02.js +13 -0
- package/dist/icons/generated/settings-02.js.map +1 -0
- package/dist/icons/generated/settings-04.d.ts +1 -0
- package/dist/icons/generated/settings-04.js +10 -0
- package/dist/icons/generated/settings-04.js.map +1 -0
- package/dist/icons/generated/share-01.d.ts +1 -0
- package/dist/icons/generated/share-01.js +10 -0
- package/dist/icons/generated/share-01.js.map +1 -0
- package/dist/icons/generated/share-03.d.ts +1 -0
- package/dist/icons/generated/share-03.js +10 -0
- package/dist/icons/generated/share-03.js.map +1 -0
- package/dist/icons/generated/share-06.d.ts +1 -0
- package/dist/icons/generated/share-06.js +10 -0
- package/dist/icons/generated/share-06.js.map +1 -0
- package/dist/icons/generated/share-07.d.ts +1 -0
- package/dist/icons/generated/share-07.js +10 -0
- package/dist/icons/generated/share-07.js.map +1 -0
- package/dist/icons/generated/shield-tick.d.ts +1 -0
- package/dist/icons/generated/shield-tick.js +10 -0
- package/dist/icons/generated/shield-tick.js.map +1 -0
- package/dist/icons/generated/slash-circle-01.d.ts +1 -0
- package/dist/icons/generated/slash-circle-01.js +10 -0
- package/dist/icons/generated/slash-circle-01.js.map +1 -0
- package/dist/icons/generated/star-01.d.ts +1 -0
- package/dist/icons/generated/star-01.js +10 -0
- package/dist/icons/generated/star-01.js.map +1 -0
- package/dist/icons/generated/star-04.d.ts +1 -0
- package/dist/icons/generated/star-04.js +10 -0
- package/dist/icons/generated/star-04.js.map +1 -0
- package/dist/icons/generated/star-06.d.ts +1 -0
- package/dist/icons/generated/star-06.js +10 -0
- package/dist/icons/generated/star-06.js.map +1 -0
- package/dist/icons/generated/stethoscope-doctor.d.ts +1 -0
- package/dist/icons/generated/stethoscope-doctor.js +14 -0
- package/dist/icons/generated/stethoscope-doctor.js.map +1 -0
- package/dist/icons/generated/tag-01.d.ts +1 -0
- package/dist/icons/generated/tag-01.js +10 -0
- package/dist/icons/generated/tag-01.js.map +1 -0
- package/dist/icons/generated/thumbs-down.d.ts +1 -0
- package/dist/icons/generated/thumbs-down.js +10 -0
- package/dist/icons/generated/thumbs-down.js.map +1 -0
- package/dist/icons/generated/thumbs-up.d.ts +1 -0
- package/dist/icons/generated/thumbs-up.js +10 -0
- package/dist/icons/generated/thumbs-up.js.map +1 -0
- package/dist/icons/generated/trash-01.d.ts +1 -0
- package/dist/icons/generated/trash-01.js +10 -0
- package/dist/icons/generated/trash-01.js.map +1 -0
- package/dist/icons/generated/trash-02.d.ts +1 -0
- package/dist/icons/generated/trash-02.js +10 -0
- package/dist/icons/generated/trash-02.js.map +1 -0
- package/dist/icons/generated/upload-01.d.ts +1 -0
- package/dist/icons/generated/upload-01.js +10 -0
- package/dist/icons/generated/upload-01.js.map +1 -0
- package/dist/icons/generated/user-01.d.ts +1 -0
- package/dist/icons/generated/user-01.js +10 -0
- package/dist/icons/generated/user-01.js.map +1 -0
- package/dist/icons/generated/user-03.d.ts +1 -0
- package/dist/icons/generated/user-03.js +10 -0
- package/dist/icons/generated/user-03.js.map +1 -0
- package/dist/icons/generated/user-check-01.d.ts +1 -0
- package/dist/icons/generated/user-check-01.js +10 -0
- package/dist/icons/generated/user-check-01.js.map +1 -0
- package/dist/icons/generated/user-check-02.d.ts +1 -0
- package/dist/icons/generated/user-check-02.js +10 -0
- package/dist/icons/generated/user-check-02.js.map +1 -0
- package/dist/icons/generated/user-edit.d.ts +1 -0
- package/dist/icons/generated/user-edit.js +10 -0
- package/dist/icons/generated/user-edit.js.map +1 -0
- package/dist/icons/generated/user-plus-01.d.ts +1 -0
- package/dist/icons/generated/user-plus-01.js +10 -0
- package/dist/icons/generated/user-plus-01.js.map +1 -0
- package/dist/icons/generated/user-square.d.ts +1 -0
- package/dist/icons/generated/user-square.js +10 -0
- package/dist/icons/generated/user-square.js.map +1 -0
- package/dist/icons/generated/users-02.d.ts +1 -0
- package/dist/icons/generated/users-02.js +10 -0
- package/dist/icons/generated/users-02.js.map +1 -0
- package/dist/icons/generated/video-recorder-off.d.ts +1 -0
- package/dist/icons/generated/video-recorder-off.js +10 -0
- package/dist/icons/generated/video-recorder-off.js.map +1 -0
- package/dist/icons/generated/video-recorder.d.ts +1 -0
- package/dist/icons/generated/video-recorder.js +13 -0
- package/dist/icons/generated/video-recorder.js.map +1 -0
- package/dist/icons/generated/virus.d.ts +1 -0
- package/dist/icons/generated/virus.js +10 -0
- package/dist/icons/generated/virus.js.map +1 -0
- package/dist/icons/generated/weight.d.ts +1 -0
- package/dist/icons/generated/weight.js +15 -0
- package/dist/icons/generated/weight.js.map +1 -0
- package/dist/icons/generated/x-close.d.ts +1 -0
- package/dist/icons/generated/x-close.js +10 -0
- package/dist/icons/generated/x-close.js.map +1 -0
- package/dist/icons/generated/x.d.ts +1 -0
- package/dist/icons/generated/x.js +7 -0
- package/dist/icons/generated/x.js.map +1 -0
- package/dist/icons/generated/zap.d.ts +1 -0
- package/dist/icons/generated/zap.js +10 -0
- package/dist/icons/generated/zap.js.map +1 -0
- package/dist/icons/index.d.ts +182 -0
- package/dist/icons/index.js +542 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +73 -0
- package/dist/index.js +263 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/cn.d.ts +2 -0
- package/dist/lib/cn.js +51 -0
- package/dist/lib/cn.js.map +1 -0
- package/dist/provider/index.d.ts +2 -0
- package/dist/provider/labels.d.ts +97 -0
- package/dist/provider/labels.js +99 -0
- package/dist/provider/labels.js.map +1 -0
- package/dist/provider/medicore-provider.d.ts +10 -0
- package/dist/provider/medicore-provider.js +19 -0
- package/dist/provider/medicore-provider.js.map +1 -0
- package/dist/styles/primitives.css +59 -0
- package/dist/styles/theme.css +15 -0
- package/dist/styles/tokens.css +253 -0
- package/dist/styles/typography.css +115 -0
- package/dist/styles/utilities.css +37 -0
- package/package.json +80 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Button as BaseButton } from "@base-ui/react/button";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
export interface ChatLauncherProps extends Omit<BaseButton.Props, "className" | "children"> {
|
|
4
|
+
/** Visible label: "Chat". */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* New messages. Above 0 the red dot appears and the button's name says it
|
|
8
|
+
* ("Chat, 1 mensaje nuevo"): the dot alone isn't read.
|
|
9
|
+
*/
|
|
10
|
+
unreadCount?: number;
|
|
11
|
+
/** Default `stethoscope-doctor`: it's the chat with the professional. */
|
|
12
|
+
icon?: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Floating access to the chat with the professional from screens that aren't the
|
|
17
|
+
* chat: the video call on desktop and the rating afterwards. Place it in the
|
|
18
|
+
* bottom-right corner, 24px from the edges (`className="fixed right-6 bottom-6"`).
|
|
19
|
+
*
|
|
20
|
+
* It is a button, not a navigation link: it opens the chat in a side panel without
|
|
21
|
+
* leaving the call (pass `aria-expanded` for that panel). Not used on mobile: there
|
|
22
|
+
* the chat is a `VideoControlButton control="chat"`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function ChatLauncher({ children, unreadCount, icon, className, type, ...props }: ChatLauncherProps): React.JSX.Element;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@base-ui/react/button";
|
|
3
|
+
import { StethoscopeDoctorIcon } from "../../icons/generated/stethoscope-doctor.js";
|
|
4
|
+
import { cn } from "../../lib/cn.js";
|
|
5
|
+
import { useMediCoreLabels } from "../../provider/medicore-provider.js";
|
|
6
|
+
function ChatLauncher({
|
|
7
|
+
children,
|
|
8
|
+
unreadCount = 0,
|
|
9
|
+
icon = /* @__PURE__ */ jsx(StethoscopeDoctorIcon, {}),
|
|
10
|
+
className,
|
|
11
|
+
type = "button",
|
|
12
|
+
...props
|
|
13
|
+
}) {
|
|
14
|
+
const labels = useMediCoreLabels();
|
|
15
|
+
const unread = unreadCount > 0;
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
Button,
|
|
18
|
+
{
|
|
19
|
+
"data-slot": "chat-launcher",
|
|
20
|
+
"data-unread": unread || void 0,
|
|
21
|
+
type,
|
|
22
|
+
className: cn(
|
|
23
|
+
"inline-flex h-12 shrink-0 cursor-pointer items-center gap-3 rounded-full bg-brand-subtle pe-6",
|
|
24
|
+
"text-label-strong text-text-brand shadow-md transition-shadow focus-ring",
|
|
25
|
+
"hover:shadow-lg",
|
|
26
|
+
className
|
|
27
|
+
),
|
|
28
|
+
...props,
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ jsxs("span", { className: "relative flex size-12 shrink-0 items-center justify-center rounded-full bg-brand text-text-inverse [&_svg]:size-icon-lg", children: [
|
|
31
|
+
icon,
|
|
32
|
+
unread && /* @__PURE__ */ jsx(
|
|
33
|
+
"span",
|
|
34
|
+
{
|
|
35
|
+
"data-slot": "chat-launcher-unread",
|
|
36
|
+
className: "absolute top-0.5 right-0.5 size-3 rounded-full bg-error ring-2 ring-background"
|
|
37
|
+
}
|
|
38
|
+
)
|
|
39
|
+
] }),
|
|
40
|
+
children,
|
|
41
|
+
unread && /* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
|
|
42
|
+
", ",
|
|
43
|
+
labels.chatNewMessages(unreadCount)
|
|
44
|
+
] })
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
ChatLauncher
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=chat-launcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-launcher.js","sources":["../../../src/components/chat/chat-launcher.tsx"],"sourcesContent":["import { Button as BaseButton } from \"@base-ui/react/button\";\nimport type { ReactNode } from \"react\";\n\nimport { StethoscopeDoctorIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\n\nexport interface ChatLauncherProps\n extends Omit<BaseButton.Props, \"className\" | \"children\"> {\n /** Visible label: \"Chat\". */\n children: ReactNode;\n /**\n * New messages. Above 0 the red dot appears and the button's name says it\n * (\"Chat, 1 mensaje nuevo\"): the dot alone isn't read.\n */\n unreadCount?: number;\n /** Default `stethoscope-doctor`: it's the chat with the professional. */\n icon?: ReactNode;\n className?: string;\n}\n\n/**\n * Floating access to the chat with the professional from screens that aren't the\n * chat: the video call on desktop and the rating afterwards. Place it in the\n * bottom-right corner, 24px from the edges (`className=\"fixed right-6 bottom-6\"`).\n *\n * It is a button, not a navigation link: it opens the chat in a side panel without\n * leaving the call (pass `aria-expanded` for that panel). Not used on mobile: there\n * the chat is a `VideoControlButton control=\"chat\"`.\n */\nexport function ChatLauncher({\n children,\n unreadCount = 0,\n icon = <StethoscopeDoctorIcon />,\n className,\n type = \"button\",\n ...props\n}: ChatLauncherProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n const unread = unreadCount > 0;\n\n return (\n <BaseButton\n data-slot=\"chat-launcher\"\n data-unread={unread || undefined}\n type={type}\n className={cn(\n \"inline-flex h-12 shrink-0 cursor-pointer items-center gap-3 rounded-full bg-brand-subtle pe-6\",\n \"text-label-strong text-text-brand shadow-md transition-shadow focus-ring\",\n \"hover:shadow-lg\",\n className,\n )}\n {...props}\n >\n <span className=\"relative flex size-12 shrink-0 items-center justify-center rounded-full bg-brand text-text-inverse [&_svg]:size-icon-lg\">\n {icon}\n {unread && (\n <span\n data-slot=\"chat-launcher-unread\"\n className=\"absolute top-0.5 right-0.5 size-3 rounded-full bg-error ring-2 ring-background\"\n />\n )}\n </span>\n {children}\n {unread && (\n <span className=\"sr-only\">, {labels.chatNewMessages(unreadCount)}</span>\n )}\n </BaseButton>\n );\n}\n"],"names":["BaseButton"],"mappings":";;;;;AA8BO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,cAAc;AAAA,EACd,2BAAQ,uBAAA,EAAsB;AAAA,EAC9B;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,GAAyC;AACvC,QAAM,SAAS,kBAAA;AACf,QAAM,SAAS,cAAc;AAE7B,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAa,UAAU;AAAA,MACvB;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA,qBAAC,QAAA,EAAK,WAAU,2HACb,UAAA;AAAA,UAAA;AAAA,UACA,UACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,aAAU;AAAA,cACV,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ,GAEJ;AAAA,QACC;AAAA,QACA,UACC,qBAAC,QAAA,EAAK,WAAU,WAAU,UAAA;AAAA,UAAA;AAAA,UAAG,OAAO,gBAAgB,WAAW;AAAA,QAAA,EAAA,CAAE;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIzE;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
export interface ChatMessageListProps extends ComponentProps<"div"> {
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* The conversation: `ChatDateSeparator`s, `ChatBubble`s and `ChatAttachment`s in
|
|
6
|
+
* order, 8px apart. It is a `role="log"` named "Mensajes", so screen readers
|
|
7
|
+
* announce new messages as they arrive without moving focus.
|
|
8
|
+
*
|
|
9
|
+
* It doesn't scroll by itself: put it in the scrolling area of the screen, with the
|
|
10
|
+
* `ChatTypingIndicator` right after it (outside the log, so typing isn't announced
|
|
11
|
+
* twice).
|
|
12
|
+
*/
|
|
13
|
+
export declare function ChatMessageList({ className, ...props }: ChatMessageListProps): React.JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../lib/cn.js";
|
|
3
|
+
import { useMediCoreLabels } from "../../provider/medicore-provider.js";
|
|
4
|
+
function ChatMessageList({
|
|
5
|
+
className,
|
|
6
|
+
...props
|
|
7
|
+
}) {
|
|
8
|
+
const labels = useMediCoreLabels();
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "chat-message-list",
|
|
13
|
+
role: "log",
|
|
14
|
+
"aria-label": labels.chatMessages,
|
|
15
|
+
className: cn("flex flex-col gap-2", className),
|
|
16
|
+
...props
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
ChatMessageList
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=chat-message-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-message-list.js","sources":["../../../src/components/chat/chat-message-list.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\n\nexport interface ChatMessageListProps extends ComponentProps<\"div\"> {}\n\n/**\n * The conversation: `ChatDateSeparator`s, `ChatBubble`s and `ChatAttachment`s in\n * order, 8px apart. It is a `role=\"log\"` named \"Mensajes\", so screen readers\n * announce new messages as they arrive without moving focus.\n *\n * It doesn't scroll by itself: put it in the scrolling area of the screen, with the\n * `ChatTypingIndicator` right after it (outside the log, so typing isn't announced\n * twice).\n */\nexport function ChatMessageList({\n className,\n ...props\n}: ChatMessageListProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n\n return (\n <div\n data-slot=\"chat-message-list\"\n role=\"log\"\n aria-label={labels.chatMessages}\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n />\n );\n}\n"],"names":[],"mappings":";;;AAgBO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,GAAG;AACL,GAA4C;AAC1C,QAAM,SAAS,kBAAA;AAEf,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,cAAY,OAAO;AAAA,MACnB,WAAW,GAAG,uBAAuB,SAAS;AAAA,MAC7C,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ComponentProps, MouseEventHandler, ReactNode } from "react";
|
|
2
|
+
export interface ChatRoomHeaderProps extends Omit<ComponentProps<"div">, "title"> {
|
|
3
|
+
/** The professional: "Dra. Laura Martín". One line. */
|
|
4
|
+
name: ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* The most useful line on the screen: whether they are there and what they are.
|
|
7
|
+
* "En línea · Medicina general", "En consulta · te responderá en cuanto termine",
|
|
8
|
+
* "Respondió hace 2 h". It repeats the avatar's status dot in words.
|
|
9
|
+
*/
|
|
10
|
+
subtitle?: ReactNode;
|
|
11
|
+
/** `<Avatar size={40} src alt status statusLabel />` with its availability dot. */
|
|
12
|
+
avatar?: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Mobile only: `<MobileHeaderBack render={<Link to="/chats" />} />`. Leave it out on
|
|
15
|
+
* desktop, where the conversation list is on the left.
|
|
16
|
+
*/
|
|
17
|
+
back?: ReactNode;
|
|
18
|
+
/**
|
|
19
|
+
* Shows the video call button ("Iniciar videollamada"). Only when the consultation
|
|
20
|
+
* allows it: a button that is always there and sometimes doesn't work teaches
|
|
21
|
+
* people not to press it.
|
|
22
|
+
*/
|
|
23
|
+
onVideoCall?: MouseEventHandler<HTMLButtonElement>;
|
|
24
|
+
/** The "⋮" menu: a `Menu` whose trigger is a ghost small `IconButton`. */
|
|
25
|
+
action?: ReactNode;
|
|
26
|
+
/** Heading level of the name. Default `h2`; `h1` when it heads the screen (mobile). */
|
|
27
|
+
titleAs?: "h1" | "h2" | "h3" | "p";
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Header of a conversation: back · avatar · name + subtitle · video call · menu.
|
|
31
|
+
* 64px high, white with a bottom border.
|
|
32
|
+
*/
|
|
33
|
+
export declare function ChatRoomHeader({ name, subtitle, avatar, back, onVideoCall, action, titleAs: Title, className, ...props }: ChatRoomHeaderProps): React.JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { VideoRecorderIcon } from "../../icons/generated/video-recorder.js";
|
|
3
|
+
import { cn } from "../../lib/cn.js";
|
|
4
|
+
import { useMediCoreLabels } from "../../provider/medicore-provider.js";
|
|
5
|
+
import { IconButton } from "../icon-button/icon-button.js";
|
|
6
|
+
function ChatRoomHeader({
|
|
7
|
+
name,
|
|
8
|
+
subtitle,
|
|
9
|
+
avatar,
|
|
10
|
+
back,
|
|
11
|
+
onVideoCall,
|
|
12
|
+
action,
|
|
13
|
+
titleAs: Title = "h2",
|
|
14
|
+
className,
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
const labels = useMediCoreLabels();
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
"div",
|
|
20
|
+
{
|
|
21
|
+
"data-slot": "chat-room-header",
|
|
22
|
+
className: cn(
|
|
23
|
+
"flex h-16 shrink-0 items-center gap-2 border-border-subtle border-b bg-background px-2",
|
|
24
|
+
!back && "ps-4",
|
|
25
|
+
className
|
|
26
|
+
),
|
|
27
|
+
...props,
|
|
28
|
+
children: [
|
|
29
|
+
back,
|
|
30
|
+
avatar,
|
|
31
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 flex-col", children: [
|
|
32
|
+
/* @__PURE__ */ jsx(Title, { className: "truncate text-label-strong text-text-primary", children: name }),
|
|
33
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate text-caption-default text-text-secondary", children: subtitle })
|
|
34
|
+
] }),
|
|
35
|
+
onVideoCall && /* @__PURE__ */ jsx(
|
|
36
|
+
IconButton,
|
|
37
|
+
{
|
|
38
|
+
variant: "ghost",
|
|
39
|
+
size: "small",
|
|
40
|
+
icon: /* @__PURE__ */ jsx(VideoRecorderIcon, {}),
|
|
41
|
+
"aria-label": labels.chatVideoCall,
|
|
42
|
+
onClick: onVideoCall
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
action
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
ChatRoomHeader
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=chat-room-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-room-header.js","sources":["../../../src/components/chat/chat-room-header.tsx"],"sourcesContent":["import type { ComponentProps, MouseEventHandler, ReactNode } from \"react\";\n\nimport { VideoRecorderIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\nimport { IconButton } from \"../icon-button\";\n\nexport interface ChatRoomHeaderProps\n extends Omit<ComponentProps<\"div\">, \"title\"> {\n /** The professional: \"Dra. Laura Martín\". One line. */\n name: ReactNode;\n /**\n * The most useful line on the screen: whether they are there and what they are.\n * \"En línea · Medicina general\", \"En consulta · te responderá en cuanto termine\",\n * \"Respondió hace 2 h\". It repeats the avatar's status dot in words.\n */\n subtitle?: ReactNode;\n /** `<Avatar size={40} src alt status statusLabel />` with its availability dot. */\n avatar?: ReactNode;\n /**\n * Mobile only: `<MobileHeaderBack render={<Link to=\"/chats\" />} />`. Leave it out on\n * desktop, where the conversation list is on the left.\n */\n back?: ReactNode;\n /**\n * Shows the video call button (\"Iniciar videollamada\"). Only when the consultation\n * allows it: a button that is always there and sometimes doesn't work teaches\n * people not to press it.\n */\n onVideoCall?: MouseEventHandler<HTMLButtonElement>;\n /** The \"⋮\" menu: a `Menu` whose trigger is a ghost small `IconButton`. */\n action?: ReactNode;\n /** Heading level of the name. Default `h2`; `h1` when it heads the screen (mobile). */\n titleAs?: \"h1\" | \"h2\" | \"h3\" | \"p\";\n}\n\n/**\n * Header of a conversation: back · avatar · name + subtitle · video call · menu.\n * 64px high, white with a bottom border.\n */\nexport function ChatRoomHeader({\n name,\n subtitle,\n avatar,\n back,\n onVideoCall,\n action,\n titleAs: Title = \"h2\",\n className,\n ...props\n}: ChatRoomHeaderProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n\n return (\n <div\n data-slot=\"chat-room-header\"\n className={cn(\n \"flex h-16 shrink-0 items-center gap-2 border-border-subtle border-b bg-background px-2\",\n !back && \"ps-4\",\n className,\n )}\n {...props}\n >\n {back}\n {avatar}\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <Title className=\"truncate text-label-strong text-text-primary\">\n {name}\n </Title>\n {subtitle && (\n <p className=\"truncate text-caption-default text-text-secondary\">\n {subtitle}\n </p>\n )}\n </div>\n {onVideoCall && (\n <IconButton\n variant=\"ghost\"\n size=\"small\"\n icon={<VideoRecorderIcon />}\n aria-label={labels.chatVideoCall}\n onClick={onVideoCall}\n />\n )}\n {action}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AAwCO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,QAAQ;AAAA,EACjB;AAAA,EACA,GAAG;AACL,GAA2C;AACzC,QAAM,SAAS,kBAAA;AAEf,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA,CAAC,QAAQ;AAAA,QACT;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEH,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,QACD,qBAAC,OAAA,EAAI,WAAU,gCACb,UAAA;AAAA,UAAA,oBAAC,OAAA,EAAM,WAAU,gDACd,UAAA,MACH;AAAA,UACC,YACC,oBAAC,KAAA,EAAE,WAAU,qDACV,UAAA,SAAA,CACH;AAAA,QAAA,GAEJ;AAAA,QACC,eACC;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,0BAAO,mBAAA,EAAkB;AAAA,YACzB,cAAY,OAAO;AAAA,YACnB,SAAS;AAAA,UAAA;AAAA,QAAA;AAAA,QAGZ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode } from "react";
|
|
2
|
+
export interface ChatTypingIndicatorProps extends Omit<ComponentProps<"div">, "children"> {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the professional is typing. Keep the component mounted and toggle this:
|
|
5
|
+
* the live region has to exist before its text changes to be announced.
|
|
6
|
+
*/
|
|
7
|
+
active?: boolean;
|
|
8
|
+
/** The sentence with the name: "La Dra. Martín está escribiendo…". Default "Escribiendo…". */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Tells the patient the professional is typing. Without it, someone who wrote and
|
|
13
|
+
* sees no answer for a minute closes the chat and calls.
|
|
14
|
+
*
|
|
15
|
+
* Three dots AND the sentence: the dots alone are an icon not everyone reads. The
|
|
16
|
+
* dots pulse (1.2 s loop) unless the person prefers reduced motion. The sentence is
|
|
17
|
+
* in an `aria-live="polite"` region and is announced once, when typing starts —
|
|
18
|
+
* not on every keystroke. Place it right after the `ChatMessageList`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function ChatTypingIndicator({ active, children, className, ...props }: ChatTypingIndicatorProps): React.JSX.Element;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../lib/cn.js";
|
|
3
|
+
import { chatBubbleVariants } from "./chat-bubble.js";
|
|
4
|
+
import { useMediCoreLabels } from "../../provider/medicore-provider.js";
|
|
5
|
+
const dots = [
|
|
6
|
+
{ id: "first", className: "" },
|
|
7
|
+
{
|
|
8
|
+
id: "second",
|
|
9
|
+
className: "[animation-delay:200ms] motion-reduce:opacity-60"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
id: "third",
|
|
13
|
+
className: "[animation-delay:400ms] motion-reduce:opacity-30"
|
|
14
|
+
}
|
|
15
|
+
];
|
|
16
|
+
function ChatTypingIndicator({
|
|
17
|
+
active = true,
|
|
18
|
+
children,
|
|
19
|
+
className,
|
|
20
|
+
...props
|
|
21
|
+
}) {
|
|
22
|
+
const labels = useMediCoreLabels();
|
|
23
|
+
return /* @__PURE__ */ jsx(
|
|
24
|
+
"div",
|
|
25
|
+
{
|
|
26
|
+
"data-slot": "chat-typing-indicator",
|
|
27
|
+
"data-active": active || void 0,
|
|
28
|
+
"aria-live": "polite",
|
|
29
|
+
className: cn(active && "flex items-center gap-2", className),
|
|
30
|
+
...props,
|
|
31
|
+
children: active && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
|
+
/* @__PURE__ */ jsx(
|
|
33
|
+
"span",
|
|
34
|
+
{
|
|
35
|
+
"aria-hidden": true,
|
|
36
|
+
className: cn(
|
|
37
|
+
chatBubbleVariants({ direction: "incoming" }),
|
|
38
|
+
"flex-row items-center gap-1 p-3"
|
|
39
|
+
),
|
|
40
|
+
children: dots.map((dot) => /* @__PURE__ */ jsx(
|
|
41
|
+
"span",
|
|
42
|
+
{
|
|
43
|
+
className: cn(
|
|
44
|
+
"size-2 rounded-full bg-text-secondary",
|
|
45
|
+
"motion-safe:animate-pulse motion-safe:[animation-duration:1.2s]",
|
|
46
|
+
dot.className
|
|
47
|
+
)
|
|
48
|
+
},
|
|
49
|
+
dot.id
|
|
50
|
+
))
|
|
51
|
+
}
|
|
52
|
+
),
|
|
53
|
+
/* @__PURE__ */ jsx("p", { className: "min-w-0 truncate text-caption-default text-text-secondary", children: children ?? labels.chatTyping })
|
|
54
|
+
] })
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
ChatTypingIndicator
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=chat-typing-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-typing-indicator.js","sources":["../../../src/components/chat/chat-typing-indicator.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\nimport { chatBubbleVariants } from \"./chat-bubble\";\n\nexport interface ChatTypingIndicatorProps\n extends Omit<ComponentProps<\"div\">, \"children\"> {\n /**\n * Whether the professional is typing. Keep the component mounted and toggle this:\n * the live region has to exist before its text changes to be announced.\n */\n active?: boolean;\n /** The sentence with the name: \"La Dra. Martín está escribiendo…\". Default \"Escribiendo…\". */\n children?: ReactNode;\n}\n\n// Staggered pulse; with reduced motion they stay still, fading 1 → 0.6 → 0.3 as in Figma.\nconst dots = [\n { id: \"first\", className: \"\" },\n {\n id: \"second\",\n className: \"[animation-delay:200ms] motion-reduce:opacity-60\",\n },\n {\n id: \"third\",\n className: \"[animation-delay:400ms] motion-reduce:opacity-30\",\n },\n];\n\n/**\n * Tells the patient the professional is typing. Without it, someone who wrote and\n * sees no answer for a minute closes the chat and calls.\n *\n * Three dots AND the sentence: the dots alone are an icon not everyone reads. The\n * dots pulse (1.2 s loop) unless the person prefers reduced motion. The sentence is\n * in an `aria-live=\"polite\"` region and is announced once, when typing starts —\n * not on every keystroke. Place it right after the `ChatMessageList`.\n */\nexport function ChatTypingIndicator({\n active = true,\n children,\n className,\n ...props\n}: ChatTypingIndicatorProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n\n return (\n <div\n data-slot=\"chat-typing-indicator\"\n data-active={active || undefined}\n aria-live=\"polite\"\n className={cn(active && \"flex items-center gap-2\", className)}\n {...props}\n >\n {active && (\n <>\n <span\n aria-hidden\n className={cn(\n chatBubbleVariants({ direction: \"incoming\" }),\n \"flex-row items-center gap-1 p-3\",\n )}\n >\n {dots.map((dot) => (\n <span\n key={dot.id}\n className={cn(\n \"size-2 rounded-full bg-text-secondary\",\n \"motion-safe:animate-pulse motion-safe:[animation-duration:1.2s]\",\n dot.className,\n )}\n />\n ))}\n </span>\n <p className=\"min-w-0 truncate text-caption-default text-text-secondary\">\n {children ?? labels.chatTyping}\n </p>\n </>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;AAkBA,MAAM,OAAO;AAAA,EACX,EAAE,IAAI,SAAS,WAAW,GAAA;AAAA,EAC1B;AAAA,IACE,IAAI;AAAA,IACJ,WAAW;AAAA,EAAA;AAAA,EAEb;AAAA,IACE,IAAI;AAAA,IACJ,WAAW;AAAA,EAAA;AAEf;AAWO,SAAS,oBAAoB;AAAA,EAClC,SAAS;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAgD;AAC9C,QAAM,SAAS,kBAAA;AAEf,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAa,UAAU;AAAA,MACvB,aAAU;AAAA,MACV,WAAW,GAAG,UAAU,2BAA2B,SAAS;AAAA,MAC3D,GAAG;AAAA,MAEH,oBACC,qBAAA,UAAA,EACE,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,WAAW;AAAA,cACT,mBAAmB,EAAE,WAAW,YAAY;AAAA,cAC5C;AAAA,YAAA;AAAA,YAGD,UAAA,KAAK,IAAI,CAAC,QACT;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAW;AAAA,kBACT;AAAA,kBACA;AAAA,kBACA,IAAI;AAAA,gBAAA;AAAA,cACN;AAAA,cALK,IAAI;AAAA,YAAA,CAOZ;AAAA,UAAA;AAAA,QAAA;AAAA,4BAEF,KAAA,EAAE,WAAU,6DACV,UAAA,YAAY,OAAO,WAAA,CACtB;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { ChatAttachment, type ChatAttachmentProps, } from "./chat-attachment";
|
|
2
|
+
export { ChatBubble, type ChatBubbleProps, type ChatMessageDirection, type ChatMessageStatus, chatBubbleVariants, } from "./chat-bubble";
|
|
3
|
+
export { ChatComposer, type ChatComposerProps, } from "./chat-composer";
|
|
4
|
+
export { ChatConversationRow, type ChatConversationRowProps, type ChatConversationState, } from "./chat-conversation-row";
|
|
5
|
+
export { ChatDateSeparator, type ChatDateSeparatorProps, } from "./chat-date-separator";
|
|
6
|
+
export { type ChatDeliveryState, ChatDeliveryStatus, type ChatDeliveryStatusProps, } from "./chat-delivery-status";
|
|
7
|
+
export { ChatLauncher, type ChatLauncherProps, } from "./chat-launcher";
|
|
8
|
+
export { ChatMessageList, type ChatMessageListProps, } from "./chat-message-list";
|
|
9
|
+
export { ChatRoomHeader, type ChatRoomHeaderProps, } from "./chat-room-header";
|
|
10
|
+
export { ChatTypingIndicator, type ChatTypingIndicatorProps, } from "./chat-typing-indicator";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import { type CheckboxProps } from "./checkbox";
|
|
3
|
+
export interface CheckboxFieldProps extends CheckboxProps {
|
|
4
|
+
/** The text next to the box: "Acepto la". */
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* A `Link` after the label: "Política de privacidad". Make it `external` — it opens
|
|
8
|
+
* the document in a new tab and clicking it doesn't tick the box.
|
|
9
|
+
*/
|
|
10
|
+
link?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Error message under the row (Body/Small, text-error); it also paints the box red.
|
|
13
|
+
* In a group, put the message under the group and use `invalid` on each box.
|
|
14
|
+
*/
|
|
15
|
+
error?: ReactNode;
|
|
16
|
+
/** Applies to the root, which holds the row and the message. */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Checkbox with its label. The row is at least 44px high and all of it is pressable
|
|
21
|
+
* (the `<label>` wraps box and text), which is what makes a 20×20 box compliant.
|
|
22
|
+
*
|
|
23
|
+
* Never pre-tick a consent.
|
|
24
|
+
*/
|
|
25
|
+
export declare function CheckboxField({ label, link, error, invalid, className, onCheckedChange, ...props }: CheckboxFieldProps): React.JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useId, useRef } from "react";
|
|
3
|
+
import { cn } from "../../lib/cn.js";
|
|
4
|
+
import { FieldItemLabel } from "../radio/field-item-label.js";
|
|
5
|
+
import { Checkbox } from "./checkbox.js";
|
|
6
|
+
function CheckboxField({
|
|
7
|
+
label,
|
|
8
|
+
link,
|
|
9
|
+
error,
|
|
10
|
+
invalid = false,
|
|
11
|
+
className,
|
|
12
|
+
onCheckedChange,
|
|
13
|
+
...props
|
|
14
|
+
}) {
|
|
15
|
+
const errorId = useId();
|
|
16
|
+
const hasError = error !== void 0 && error !== null && error !== false;
|
|
17
|
+
const linkClicked = useRef(false);
|
|
18
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "checkbox-field", className: cn("flex flex-col", className), children: [
|
|
19
|
+
/* @__PURE__ */ jsxs(FieldItemLabel, { className: "flex min-h-11 cursor-pointer items-start gap-3 py-3 has-data-disabled:cursor-not-allowed", children: [
|
|
20
|
+
/* @__PURE__ */ jsx(
|
|
21
|
+
Checkbox,
|
|
22
|
+
{
|
|
23
|
+
className: "peer",
|
|
24
|
+
invalid: invalid || hasError,
|
|
25
|
+
"aria-describedby": hasError ? errorId : void 0,
|
|
26
|
+
onCheckedChange: (checked, eventDetails) => {
|
|
27
|
+
if (linkClicked.current) {
|
|
28
|
+
linkClicked.current = false;
|
|
29
|
+
eventDetails.cancel();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
onCheckedChange?.(checked, eventDetails);
|
|
33
|
+
},
|
|
34
|
+
...props
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ jsxs("span", { className: "text-label-default text-text-primary peer-data-disabled:text-text-disabled", children: [
|
|
38
|
+
label,
|
|
39
|
+
link && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
40
|
+
" ",
|
|
41
|
+
/* @__PURE__ */ jsx(
|
|
42
|
+
"span",
|
|
43
|
+
{
|
|
44
|
+
onClickCapture: () => {
|
|
45
|
+
linkClicked.current = true;
|
|
46
|
+
requestAnimationFrame(() => {
|
|
47
|
+
linkClicked.current = false;
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
children: link
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] })
|
|
54
|
+
] })
|
|
55
|
+
] }),
|
|
56
|
+
hasError && /* @__PURE__ */ jsx("p", { id: errorId, className: "text-body-small text-text-error", children: error })
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
CheckboxField
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=checkbox-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-field.js","sources":["../../../src/components/checkbox/checkbox-field.tsx"],"sourcesContent":["import { type ReactNode, useId, useRef } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { FieldItemLabel } from \"../radio/field-item-label\";\nimport { Checkbox, type CheckboxProps } from \"./checkbox\";\n\nexport interface CheckboxFieldProps extends CheckboxProps {\n /** The text next to the box: \"Acepto la\". */\n label: ReactNode;\n /**\n * A `Link` after the label: \"Política de privacidad\". Make it `external` — it opens\n * the document in a new tab and clicking it doesn't tick the box.\n */\n link?: ReactNode;\n /**\n * Error message under the row (Body/Small, text-error); it also paints the box red.\n * In a group, put the message under the group and use `invalid` on each box.\n */\n error?: ReactNode;\n /** Applies to the root, which holds the row and the message. */\n className?: string;\n}\n\n/**\n * Checkbox with its label. The row is at least 44px high and all of it is pressable\n * (the `<label>` wraps box and text), which is what makes a 20×20 box compliant.\n *\n * Never pre-tick a consent.\n */\nexport function CheckboxField({\n label,\n link,\n error,\n invalid = false,\n className,\n onCheckedChange,\n ...props\n}: CheckboxFieldProps): React.JSX.Element {\n const errorId = useId();\n const hasError = error !== undefined && error !== null && error !== false;\n // The link lives inside the <label>, so the browser activates the box when the\n // link is clicked. Remember that click and cancel the change it causes.\n const linkClicked = useRef(false);\n\n return (\n <div data-slot=\"checkbox-field\" className={cn(\"flex flex-col\", className)}>\n <FieldItemLabel className=\"flex min-h-11 cursor-pointer items-start gap-3 py-3 has-data-disabled:cursor-not-allowed\">\n <Checkbox\n className=\"peer\"\n invalid={invalid || hasError}\n aria-describedby={hasError ? errorId : undefined}\n onCheckedChange={(checked, eventDetails) => {\n if (linkClicked.current) {\n linkClicked.current = false;\n eventDetails.cancel();\n return;\n }\n onCheckedChange?.(checked, eventDetails);\n }}\n {...props}\n />\n <span className=\"text-label-default text-text-primary peer-data-disabled:text-text-disabled\">\n {label}\n {link && (\n <>\n {\" \"}\n <span\n onClickCapture={() => {\n linkClicked.current = true;\n requestAnimationFrame(() => {\n linkClicked.current = false;\n });\n }}\n >\n {link}\n </span>\n </>\n )}\n </span>\n </FieldItemLabel>\n {hasError && (\n <p id={errorId} className=\"text-body-small text-text-error\">\n {error}\n </p>\n )}\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AA6BO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0C;AACxC,QAAM,UAAU,MAAA;AAChB,QAAM,WAAW,UAAU,UAAa,UAAU,QAAQ,UAAU;AAGpE,QAAM,cAAc,OAAO,KAAK;AAEhC,SACE,qBAAC,SAAI,aAAU,kBAAiB,WAAW,GAAG,iBAAiB,SAAS,GACtE,UAAA;AAAA,IAAA,qBAAC,gBAAA,EAAe,WAAU,4FACxB,UAAA;AAAA,MAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS,WAAW;AAAA,UACpB,oBAAkB,WAAW,UAAU;AAAA,UACvC,iBAAiB,CAAC,SAAS,iBAAiB;AAC1C,gBAAI,YAAY,SAAS;AACvB,0BAAY,UAAU;AACtB,2BAAa,OAAA;AACb;AAAA,YACF;AACA,8BAAkB,SAAS,YAAY;AAAA,UACzC;AAAA,UACC,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAEN,qBAAC,QAAA,EAAK,WAAU,8EACb,UAAA;AAAA,QAAA;AAAA,QACA,QACC,qBAAA,UAAA,EACG,UAAA;AAAA,UAAA;AAAA,UACD;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,gBAAgB,MAAM;AACpB,4BAAY,UAAU;AACtB,sCAAsB,MAAM;AAC1B,8BAAY,UAAU;AAAA,gBACxB,CAAC;AAAA,cACH;AAAA,cAEC,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QACH,EAAA,CACF;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA,GACF;AAAA,IACC,YACC,oBAAC,KAAA,EAAE,IAAI,SAAS,WAAU,mCACvB,UAAA,MAAA,CACH;AAAA,EAAA,GAEJ;AAEJ;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Checkbox as BaseCheckbox } from "@base-ui/react/checkbox";
|
|
2
|
+
import { CheckboxGroup as BaseCheckboxGroup } from "@base-ui/react/checkbox-group";
|
|
3
|
+
export declare const checkboxVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
4
|
+
export interface CheckboxProps extends Omit<BaseCheckbox.Root.Props, "className" | "children"> {
|
|
5
|
+
/** Red border on the empty box. The message goes under the group, not on each box. */
|
|
6
|
+
invalid?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Checkbox, without a label: the text goes outside so it can be Body/Small or
|
|
11
|
+
* Label/Default depending on the context. With a label, use `CheckboxField` (or wrap
|
|
12
|
+
* both in a `<label>`); without a visible one, pass `aria-label`.
|
|
13
|
+
*
|
|
14
|
+
* - `indeterminate` is for the parent of a partially ticked group, never a third
|
|
15
|
+
* option the user picks.
|
|
16
|
+
* - The drawing is 20×20; the hit area is 44×44, and the whole label when there is one.
|
|
17
|
+
*/
|
|
18
|
+
export declare function Checkbox({ invalid, className, ...props }: CheckboxProps): React.JSX.Element;
|
|
19
|
+
export interface CheckboxGroupProps extends Omit<BaseCheckboxGroup.Props, "className"> {
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Shared state for a list of checkboxes (`value` is the array of ticked `value`s).
|
|
24
|
+
* Name it with `aria-labelledby` or put it inside `Field` (Control=Custom), whose
|
|
25
|
+
* message goes under the group. On submit with an error, move focus to the first
|
|
26
|
+
* unticked box.
|
|
27
|
+
*/
|
|
28
|
+
export declare function CheckboxGroup({ className, ...props }: CheckboxGroupProps): React.JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Checkbox as Checkbox$1 } from "@base-ui/react/checkbox";
|
|
3
|
+
import { CheckboxGroup as CheckboxGroup$1 } from "@base-ui/react/checkbox-group";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { CheckIcon } from "../../icons/generated/check.js";
|
|
6
|
+
import { cn } from "../../lib/cn.js";
|
|
7
|
+
import { useFieldGroupLabel } from "../radio/use-field-group-label.js";
|
|
8
|
+
const checkboxVariants = cva([
|
|
9
|
+
"inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border-2",
|
|
10
|
+
"border-border-input bg-background text-text-inverse transition-colors",
|
|
11
|
+
// The control is 20px; the hit area is 44 (and the whole label when there is one).
|
|
12
|
+
"focus-ring touch-target",
|
|
13
|
+
"data-checked:border-brand data-checked:bg-brand",
|
|
14
|
+
"data-indeterminate:border-brand data-indeterminate:bg-brand",
|
|
15
|
+
// Error only paints the empty box: a ticked one already says it is filled in.
|
|
16
|
+
"aria-invalid:data-unchecked:border-error data-invalid:data-unchecked:border-error",
|
|
17
|
+
"data-disabled:cursor-not-allowed data-disabled:border-border data-disabled:bg-surface",
|
|
18
|
+
"data-disabled:data-checked:border-border-strong data-disabled:data-checked:bg-border-strong",
|
|
19
|
+
"data-disabled:data-indeterminate:border-border-strong data-disabled:data-indeterminate:bg-border-strong"
|
|
20
|
+
]);
|
|
21
|
+
function Checkbox({
|
|
22
|
+
invalid = false,
|
|
23
|
+
className,
|
|
24
|
+
...props
|
|
25
|
+
}) {
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
Checkbox$1.Root,
|
|
28
|
+
{
|
|
29
|
+
"data-slot": "checkbox",
|
|
30
|
+
"aria-invalid": invalid || void 0,
|
|
31
|
+
className: cn(checkboxVariants(), className),
|
|
32
|
+
...props,
|
|
33
|
+
children: /* @__PURE__ */ jsx(
|
|
34
|
+
Checkbox$1.Indicator,
|
|
35
|
+
{
|
|
36
|
+
className: "flex items-center justify-center",
|
|
37
|
+
render: (indicatorProps, state) => /* @__PURE__ */ jsx("span", { ...indicatorProps, children: state.indeterminate ? /* @__PURE__ */ jsx("span", { className: "h-0.5 w-2.5 rounded-full bg-current" }) : /* @__PURE__ */ jsx(CheckIcon, { size: "sm" }) })
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
function CheckboxGroup({
|
|
44
|
+
className,
|
|
45
|
+
...props
|
|
46
|
+
}) {
|
|
47
|
+
useFieldGroupLabel();
|
|
48
|
+
return /* @__PURE__ */ jsx(
|
|
49
|
+
CheckboxGroup$1,
|
|
50
|
+
{
|
|
51
|
+
"data-slot": "checkbox-group",
|
|
52
|
+
className: cn("flex flex-col", className),
|
|
53
|
+
...props
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
Checkbox,
|
|
59
|
+
CheckboxGroup,
|
|
60
|
+
checkboxVariants
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import { Checkbox as BaseCheckbox } from \"@base-ui/react/checkbox\";\nimport { CheckboxGroup as BaseCheckboxGroup } from \"@base-ui/react/checkbox-group\";\nimport { cva } from \"class-variance-authority\";\n\nimport { CheckIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { useFieldGroupLabel } from \"../radio/use-field-group-label\";\n\nexport const checkboxVariants = cva([\n \"inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm border-2\",\n \"border-border-input bg-background text-text-inverse transition-colors\",\n // The control is 20px; the hit area is 44 (and the whole label when there is one).\n \"focus-ring touch-target\",\n \"data-checked:border-brand data-checked:bg-brand\",\n \"data-indeterminate:border-brand data-indeterminate:bg-brand\",\n // Error only paints the empty box: a ticked one already says it is filled in.\n \"aria-invalid:data-unchecked:border-error data-invalid:data-unchecked:border-error\",\n \"data-disabled:cursor-not-allowed data-disabled:border-border data-disabled:bg-surface\",\n \"data-disabled:data-checked:border-border-strong data-disabled:data-checked:bg-border-strong\",\n \"data-disabled:data-indeterminate:border-border-strong data-disabled:data-indeterminate:bg-border-strong\",\n]);\n\nexport interface CheckboxProps\n extends Omit<BaseCheckbox.Root.Props, \"className\" | \"children\"> {\n /** Red border on the empty box. The message goes under the group, not on each box. */\n invalid?: boolean;\n className?: string;\n}\n\n/**\n * Checkbox, without a label: the text goes outside so it can be Body/Small or\n * Label/Default depending on the context. With a label, use `CheckboxField` (or wrap\n * both in a `<label>`); without a visible one, pass `aria-label`.\n *\n * - `indeterminate` is for the parent of a partially ticked group, never a third\n * option the user picks.\n * - The drawing is 20×20; the hit area is 44×44, and the whole label when there is one.\n */\nexport function Checkbox({\n invalid = false,\n className,\n ...props\n}: CheckboxProps): React.JSX.Element {\n return (\n <BaseCheckbox.Root\n data-slot=\"checkbox\"\n aria-invalid={invalid || undefined}\n className={cn(checkboxVariants(), className)}\n {...props}\n >\n <BaseCheckbox.Indicator\n className=\"flex items-center justify-center\"\n render={(indicatorProps, state) => (\n <span {...indicatorProps}>\n {state.indeterminate ? (\n <span className=\"h-0.5 w-2.5 rounded-full bg-current\" />\n ) : (\n <CheckIcon size=\"sm\" />\n )}\n </span>\n )}\n />\n </BaseCheckbox.Root>\n );\n}\n\nexport interface CheckboxGroupProps\n extends Omit<BaseCheckboxGroup.Props, \"className\"> {\n className?: string;\n}\n\n/**\n * Shared state for a list of checkboxes (`value` is the array of ticked `value`s).\n * Name it with `aria-labelledby` or put it inside `Field` (Control=Custom), whose\n * message goes under the group. On submit with an error, move focus to the first\n * unticked box.\n */\nexport function CheckboxGroup({\n className,\n ...props\n}: CheckboxGroupProps): React.JSX.Element {\n useFieldGroupLabel();\n\n return (\n <BaseCheckboxGroup\n data-slot=\"checkbox-group\"\n className={cn(\"flex flex-col\", className)}\n {...props}\n />\n );\n}\n"],"names":["BaseCheckbox","BaseCheckboxGroup"],"mappings":";;;;;;;AAQO,MAAM,mBAAmB,IAAI;AAAA,EAClC;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAkBM,SAAS,SAAS;AAAA,EACvB,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,SACE;AAAA,IAACA,WAAa;AAAA,IAAb;AAAA,MACC,aAAU;AAAA,MACV,gBAAc,WAAW;AAAA,MACzB,WAAW,GAAG,iBAAA,GAAoB,SAAS;AAAA,MAC1C,GAAG;AAAA,MAEJ,UAAA;AAAA,QAACA,WAAa;AAAA,QAAb;AAAA,UACC,WAAU;AAAA,UACV,QAAQ,CAAC,gBAAgB,UACvB,oBAAC,QAAA,EAAM,GAAG,gBACP,UAAA,MAAM,gBACL,oBAAC,QAAA,EAAK,WAAU,uCAAsC,wBAErD,WAAA,EAAU,MAAK,MAAK,EAAA,CAEzB;AAAA,QAAA;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;AAaO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,GAAG;AACL,GAA0C;AACxC,qBAAA;AAEA,SACE;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACvC,GAAG;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Button as BaseButton } from "@base-ui/react/button";
|
|
2
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
3
|
+
import { ToggleGroup } from "@base-ui/react/toggle-group";
|
|
4
|
+
import type { ReactNode } from "react";
|
|
5
|
+
export declare const chipVariants: (props?: ({
|
|
6
|
+
size?: "small" | "default" | null | undefined;
|
|
7
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
+
export type ChipSize = "default" | "small";
|
|
9
|
+
interface ChipOwnProps {
|
|
10
|
+
/**
|
|
11
|
+
* `small` only for dense metadata, never as the main filter: at 24px it relies on
|
|
12
|
+
* the invisible hit area to reach 44.
|
|
13
|
+
*/
|
|
14
|
+
size?: ChipSize;
|
|
15
|
+
/** A MediCore icon before the label. While selected the check takes its place. */
|
|
16
|
+
leadingIcon?: ReactNode;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ChipToggleProps extends Omit<Toggle.Props<string>, "className">, ChipOwnProps {
|
|
20
|
+
onRemove?: undefined;
|
|
21
|
+
}
|
|
22
|
+
export interface ChipRemovableProps extends Omit<BaseButton.Props, "className" | "onClick">, ChipOwnProps {
|
|
23
|
+
/**
|
|
24
|
+
* Turns the chip into a remove button for an applied filter: pressing anywhere on
|
|
25
|
+
* it calls this. Its accessible name becomes "Quitar <label>" (`remove` label).
|
|
26
|
+
* A removable chip is not a toggle.
|
|
27
|
+
*/
|
|
28
|
+
onRemove: () => void;
|
|
29
|
+
pressed?: undefined;
|
|
30
|
+
defaultPressed?: undefined;
|
|
31
|
+
onPressedChange?: undefined;
|
|
32
|
+
}
|
|
33
|
+
export type ChipProps = ChipToggleProps | ChipRemovableProps;
|
|
34
|
+
/**
|
|
35
|
+
* Pressable filter ("Dermatología"). The filter row of lists and the admin.
|
|
36
|
+
*
|
|
37
|
+
* - **A Chip is not a Badge.** A Badge tells a state and can't be pressed
|
|
38
|
+
* ("Receta", "Cancelada"); a Chip filters and is pressed. If it doesn't respond to
|
|
39
|
+
* a tap, it's a Badge.
|
|
40
|
+
* - It is a `<button aria-pressed>` (Base UI Toggle): `pressed` / `defaultPressed` /
|
|
41
|
+
* `onPressedChange`, or `value` inside a `ChipGroup`.
|
|
42
|
+
* - With `onRemove` it is a remove button for an applied filter instead.
|
|
43
|
+
*/
|
|
44
|
+
export declare function Chip(props: ChipProps): React.JSX.Element;
|
|
45
|
+
export interface ChipGroupProps<Value extends string = string> extends Omit<ToggleGroup.Props<Value>, "className"> {
|
|
46
|
+
/**
|
|
47
|
+
* `wrap` (default) breaks into lines; `scroll` keeps one line that scrolls
|
|
48
|
+
* sideways — the usual filter row on mobile.
|
|
49
|
+
*/
|
|
50
|
+
overflow?: "wrap" | "scroll";
|
|
51
|
+
className?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A row of filter chips with shared state: `value` is the array of pressed chips.
|
|
55
|
+
* Multi-select by default (`multiple={false}` for one at a time — but an exclusive
|
|
56
|
+
* choice between 2–3 options is a `SegmentedControl`). One tab stop; ←/→ move
|
|
57
|
+
* between chips. Name it with `aria-label` ("Filtrar por especialidad").
|
|
58
|
+
*/
|
|
59
|
+
export declare function ChipGroup<Value extends string>({ overflow, multiple, className, ...props }: ChipGroupProps<Value>): React.JSX.Element;
|
|
60
|
+
export {};
|