@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 @@
|
|
|
1
|
+
{"version":3,"file":"promo-app.js","sources":["../../../src/components/promo-app/promo-app.tsx"],"sourcesContent":["import { type ComponentProps, type ReactNode, useId } from \"react\";\n\nimport { CheckIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\n\nexport type PromoAppHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface PromoAppProps\n extends Omit<ComponentProps<\"section\">, \"title\"> {\n /** \"APP DE MEDIQUO\". */\n eyebrow?: ReactNode;\n /** \"Tu seguimiento en la app\". Heading/h2 look. */\n title: ReactNode;\n /** \"La misma cuenta en el navegador y en el móvil: mismas citas, documentos e historial.\" */\n description?: ReactNode;\n /**\n * Only benefits the app has TODAY (\"Pide cita y entra a la videoconsulta.\"):\n * nothing about uploading documents.\n */\n benefits?: string[];\n /** The two `StoreBadge`s. */\n stores?: ReactNode;\n /** A screenshot of the app (`<img alt=\"…\" />`). Desktop only. */\n image?: ReactNode;\n /** Default 2. */\n headingLevel?: PromoAppHeadingLevel;\n}\n\n/**\n * The block that takes the patient to the app, at the end of the home. `brand-dark`\n * background and white text in both modes. Not shown inside the native app.\n *\n * Figma `Layout` is not a prop: from 800px wide the screenshot sits on the right\n * (Desktop); below it the block stacks and the screenshot is left out (Mobile).\n */\nexport function PromoApp({\n eyebrow,\n title,\n description,\n benefits,\n stores,\n image,\n headingLevel = 2,\n className,\n ...props\n}: PromoAppProps): React.JSX.Element {\n const titleId = useId();\n const Heading = `h${headingLevel}` as const;\n\n return (\n <section\n data-slot=\"promo-app\"\n aria-labelledby={titleId}\n className={cn(\"@container rounded-2xl bg-brand-dark\", className)}\n {...props}\n >\n <div className=\"flex flex-col gap-10 p-6 @min-[800px]:flex-row @min-[800px]:items-center @min-[800px]:p-12\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-4\">\n {eyebrow && (\n <p className=\"text-label-small text-text-inverse-secondary\">\n {eyebrow}\n </p>\n )}\n <Heading id={titleId} className=\"text-heading-h2 text-text-inverse\">\n {title}\n </Heading>\n {description && (\n <p className=\"text-body-default text-text-inverse-secondary\">\n {description}\n </p>\n )}\n {benefits && benefits.length > 0 && (\n <ul className=\"flex flex-col gap-2\">\n {benefits.map((benefit) => (\n <li\n key={benefit}\n className=\"flex items-start gap-3 text-body-small text-text-inverse\"\n >\n <CheckIcon size=\"md\" />\n <span className=\"min-w-0 flex-1\">{benefit}</span>\n </li>\n ))}\n </ul>\n )}\n {stores && <div className=\"flex flex-wrap gap-3\">{stores}</div>}\n </div>\n {image && (\n <div className=\"hidden h-75 w-90 shrink-0 overflow-hidden rounded-xl bg-overlay-light-subtle @min-[800px]:block [&>img]:size-full [&>img]:object-cover\">\n {image}\n </div>\n )}\n </div>\n </section>\n );\n}\n"],"names":[],"mappings":";;;;AAmCO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,QAAM,UAAU,MAAA;AAChB,QAAM,UAAU,IAAI,YAAY;AAEhC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,mBAAiB;AAAA,MACjB,WAAW,GAAG,wCAAwC,SAAS;AAAA,MAC9D,GAAG;AAAA,MAEJ,UAAA,qBAAC,OAAA,EAAI,WAAU,8FACb,UAAA;AAAA,QAAA,qBAAC,OAAA,EAAI,WAAU,sCACZ,UAAA;AAAA,UAAA,WACC,oBAAC,KAAA,EAAE,WAAU,gDACV,UAAA,SACH;AAAA,8BAED,SAAA,EAAQ,IAAI,SAAS,WAAU,qCAC7B,UAAA,OACH;AAAA,UACC,eACC,oBAAC,KAAA,EAAE,WAAU,iDACV,UAAA,aACH;AAAA,UAED,YAAY,SAAS,SAAS,KAC7B,oBAAC,MAAA,EAAG,WAAU,uBACX,UAAA,SAAS,IAAI,CAAC,YACb;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAU;AAAA,cAEV,UAAA;AAAA,gBAAA,oBAAC,WAAA,EAAU,MAAK,KAAA,CAAK;AAAA,gBACrB,oBAAC,QAAA,EAAK,WAAU,kBAAkB,UAAA,QAAA,CAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,YAJrC;AAAA,UAAA,CAMR,GACH;AAAA,UAED,UAAU,oBAAC,OAAA,EAAI,WAAU,wBAAwB,UAAA,OAAA,CAAO;AAAA,QAAA,GAC3D;AAAA,QACC,SACC,oBAAC,OAAA,EAAI,WAAU,0IACZ,UAAA,MAAA,CACH;AAAA,MAAA,EAAA,CAEJ;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface FieldItemLabelProps {
|
|
3
|
+
"data-slot"?: string;
|
|
4
|
+
className?: string;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* The `<label>` that wraps one option (a radio, a checkbox) and its text. Inside a
|
|
9
|
+
* MediCore `Field` it is rendered as a Base UI `Field.Item`, which gives the control
|
|
10
|
+
* its own id and its own label; without it every option would take the Field's id
|
|
11
|
+
* and be named by the Field label. Internal.
|
|
12
|
+
*/
|
|
13
|
+
export declare function FieldItemLabel({ className, children, ...props }: FieldItemLabelProps): React.JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Field } from "@base-ui/react/field";
|
|
3
|
+
import { useFieldContext } from "../field/field-context.js";
|
|
4
|
+
function FieldItemLabel({
|
|
5
|
+
className,
|
|
6
|
+
children,
|
|
7
|
+
...props
|
|
8
|
+
}) {
|
|
9
|
+
const insideField = useFieldContext() !== null;
|
|
10
|
+
if (!insideField) {
|
|
11
|
+
return (
|
|
12
|
+
// biome-ignore lint/a11y/noLabelWithoutControl: the Base UI control among the children renders its own input.
|
|
13
|
+
/* @__PURE__ */ jsx("label", { className, ...props, children })
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
Field.Item,
|
|
18
|
+
{
|
|
19
|
+
render: /* @__PURE__ */ jsx("label", {}),
|
|
20
|
+
className,
|
|
21
|
+
...props,
|
|
22
|
+
children
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
FieldItemLabel
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=field-item-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-item-label.js","sources":["../../../src/components/radio/field-item-label.tsx"],"sourcesContent":["import { Field as BaseField } from \"@base-ui/react/field\";\nimport type { ReactNode } from \"react\";\n\nimport { useFieldContext } from \"../field/field-context\";\n\nexport interface FieldItemLabelProps {\n \"data-slot\"?: string;\n className?: string;\n children: ReactNode;\n}\n\n/**\n * The `<label>` that wraps one option (a radio, a checkbox) and its text. Inside a\n * MediCore `Field` it is rendered as a Base UI `Field.Item`, which gives the control\n * its own id and its own label; without it every option would take the Field's id\n * and be named by the Field label. Internal.\n */\nexport function FieldItemLabel({\n className,\n children,\n ...props\n}: FieldItemLabelProps): React.JSX.Element {\n const insideField = useFieldContext() !== null;\n\n if (!insideField) {\n return (\n // biome-ignore lint/a11y/noLabelWithoutControl: the Base UI control among the children renders its own input.\n <label className={className} {...props}>\n {children}\n </label>\n );\n }\n\n return (\n <BaseField.Item\n // biome-ignore lint/a11y/noLabelWithoutControl: the Base UI control among the children renders its own input.\n render={<label />}\n className={className}\n {...props}\n >\n {children}\n </BaseField.Item>\n );\n}\n"],"names":["BaseField"],"mappings":";;;AAiBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2C;AACzC,QAAM,cAAc,sBAAsB;AAE1C,MAAI,CAAC,aAAa;AAChB;AAAA;AAAA,MAEE,oBAAC,SAAA,EAAM,WAAuB,GAAG,OAC9B,SAAA,CACH;AAAA;AAAA,EAEJ;AAEA,SACE;AAAA,IAACA,MAAU;AAAA,IAAV;AAAA,MAEC,4BAAS,SAAA,EAAM;AAAA,MACf;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Radio, RadioField, type RadioFieldProps, RadioGroup, type RadioGroupProps, type RadioProps, radioVariants, } from "./radio";
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Radio as BaseRadio } from "@base-ui/react/radio";
|
|
2
|
+
import { RadioGroup as BaseRadioGroup } from "@base-ui/react/radio-group";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
export declare const radioVariants: (props?: ({
|
|
5
|
+
standalone?: boolean | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
/** The dot of a checked radio: 8px in text-inverse. */
|
|
8
|
+
export declare function RadioDot(): React.JSX.Element;
|
|
9
|
+
export interface RadioProps<Value = string> extends Omit<BaseRadio.Root.Props<Value>, "className" | "children"> {
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Single choice inside a `RadioGroup`. The label lives outside: use `RadioField`, or
|
|
14
|
+
* wrap radio and text in a `<label>`.
|
|
15
|
+
*
|
|
16
|
+
* A radio never unticks itself. If the person can go back to "none", that is a
|
|
17
|
+
* Checkbox or an explicit "Ninguna" option. The drawing is 20×20; the hit area is
|
|
18
|
+
* 44×44, and the whole row with `RadioField`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function Radio<Value = string>({ className, ...props }: RadioProps<Value>): React.JSX.Element;
|
|
21
|
+
export interface RadioFieldProps<Value = string> extends RadioProps<Value> {
|
|
22
|
+
/** The option's text. */
|
|
23
|
+
label: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Radio with its label: a row at least 44px high, all of it pressable, with the
|
|
27
|
+
* text 8px after the radio.
|
|
28
|
+
*/
|
|
29
|
+
export declare function RadioField<Value = string>({ label, className, ...props }: RadioFieldProps<Value>): React.JSX.Element;
|
|
30
|
+
export interface RadioGroupProps<Value = string> extends Omit<BaseRadioGroup.Props<Value>, "className"> {
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Group of radios with arrow-key navigation. Name it with `aria-labelledby`, or put
|
|
35
|
+
* it inside `Field` (Control=Custom), which labels it and shows the message under it.
|
|
36
|
+
* Don't preselect an option unless there is a real default.
|
|
37
|
+
*/
|
|
38
|
+
export declare function RadioGroup<Value = string>({ className, ...props }: RadioGroupProps<Value>): React.JSX.Element;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Radio as Radio$1 } from "@base-ui/react/radio";
|
|
3
|
+
import { RadioGroup as RadioGroup$1 } from "@base-ui/react/radio-group";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { cn } from "../../lib/cn.js";
|
|
6
|
+
import { FieldItemLabel } from "./field-item-label.js";
|
|
7
|
+
import { useFieldGroupLabel } from "./use-field-group-label.js";
|
|
8
|
+
const radioVariants = cva(
|
|
9
|
+
[
|
|
10
|
+
"inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-full border",
|
|
11
|
+
"border-border-input bg-background transition-colors",
|
|
12
|
+
"data-checked:border-brand data-checked:bg-brand",
|
|
13
|
+
"data-invalid:data-unchecked:border-error",
|
|
14
|
+
"data-disabled:cursor-not-allowed data-disabled:border-border data-disabled:bg-surface",
|
|
15
|
+
"data-disabled:data-checked:border-border-strong data-disabled:data-checked:bg-border-strong"
|
|
16
|
+
],
|
|
17
|
+
{
|
|
18
|
+
variants: {
|
|
19
|
+
// Off when the focus ring and the hit area belong to a bigger container that
|
|
20
|
+
// wraps the radio (SelectionCard).
|
|
21
|
+
standalone: {
|
|
22
|
+
true: "focus-ring touch-target",
|
|
23
|
+
false: ""
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
standalone: true
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
function RadioDot() {
|
|
32
|
+
return /* @__PURE__ */ jsx(Radio$1.Indicator, { className: "size-2 rounded-full bg-text-inverse" });
|
|
33
|
+
}
|
|
34
|
+
function Radio({
|
|
35
|
+
className,
|
|
36
|
+
...props
|
|
37
|
+
}) {
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
Radio$1.Root,
|
|
40
|
+
{
|
|
41
|
+
"data-slot": "radio",
|
|
42
|
+
className: cn(radioVariants(), className),
|
|
43
|
+
...props,
|
|
44
|
+
children: /* @__PURE__ */ jsx(RadioDot, {})
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
function RadioField({
|
|
49
|
+
label,
|
|
50
|
+
className,
|
|
51
|
+
...props
|
|
52
|
+
}) {
|
|
53
|
+
return /* @__PURE__ */ jsxs(
|
|
54
|
+
FieldItemLabel,
|
|
55
|
+
{
|
|
56
|
+
"data-slot": "radio-field",
|
|
57
|
+
className: cn(
|
|
58
|
+
"flex min-h-11 cursor-pointer items-start gap-2 py-3 text-label-default text-text-primary",
|
|
59
|
+
"has-data-disabled:cursor-not-allowed has-data-disabled:text-text-disabled",
|
|
60
|
+
className
|
|
61
|
+
),
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ jsx(Radio, { ...props }),
|
|
64
|
+
/* @__PURE__ */ jsx("span", { children: label })
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
function RadioGroup({
|
|
70
|
+
className,
|
|
71
|
+
...props
|
|
72
|
+
}) {
|
|
73
|
+
useFieldGroupLabel();
|
|
74
|
+
return /* @__PURE__ */ jsx(
|
|
75
|
+
RadioGroup$1,
|
|
76
|
+
{
|
|
77
|
+
"data-slot": "radio-group",
|
|
78
|
+
className: cn("flex flex-col", className),
|
|
79
|
+
...props
|
|
80
|
+
}
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
export {
|
|
84
|
+
Radio,
|
|
85
|
+
RadioDot,
|
|
86
|
+
RadioField,
|
|
87
|
+
RadioGroup,
|
|
88
|
+
radioVariants
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.js","sources":["../../../src/components/radio/radio.tsx"],"sourcesContent":["import { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { cva } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\nimport { FieldItemLabel } from \"./field-item-label\";\nimport { useFieldGroupLabel } from \"./use-field-group-label\";\n\nexport const radioVariants = cva(\n [\n \"inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-full border\",\n \"border-border-input bg-background transition-colors\",\n \"data-checked:border-brand data-checked:bg-brand\",\n \"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 ],\n {\n variants: {\n // Off when the focus ring and the hit area belong to a bigger container that\n // wraps the radio (SelectionCard).\n standalone: {\n true: \"focus-ring touch-target\",\n false: \"\",\n },\n },\n defaultVariants: {\n standalone: true,\n },\n },\n);\n\n/** The dot of a checked radio: 8px in text-inverse. */\nexport function RadioDot(): React.JSX.Element {\n return (\n <BaseRadio.Indicator className=\"size-2 rounded-full bg-text-inverse\" />\n );\n}\n\nexport interface RadioProps<Value = string>\n extends Omit<BaseRadio.Root.Props<Value>, \"className\" | \"children\"> {\n className?: string;\n}\n\n/**\n * Single choice inside a `RadioGroup`. The label lives outside: use `RadioField`, or\n * wrap radio and text in a `<label>`.\n *\n * A radio never unticks itself. If the person can go back to \"none\", that is a\n * Checkbox or an explicit \"Ninguna\" option. The drawing is 20×20; the hit area is\n * 44×44, and the whole row with `RadioField`.\n */\nexport function Radio<Value = string>({\n className,\n ...props\n}: RadioProps<Value>): React.JSX.Element {\n return (\n <BaseRadio.Root\n data-slot=\"radio\"\n className={cn(radioVariants(), className)}\n {...props}\n >\n <RadioDot />\n </BaseRadio.Root>\n );\n}\n\nexport interface RadioFieldProps<Value = string> extends RadioProps<Value> {\n /** The option's text. */\n label: ReactNode;\n}\n\n/**\n * Radio with its label: a row at least 44px high, all of it pressable, with the\n * text 8px after the radio.\n */\nexport function RadioField<Value = string>({\n label,\n className,\n ...props\n}: RadioFieldProps<Value>): React.JSX.Element {\n return (\n <FieldItemLabel\n data-slot=\"radio-field\"\n className={cn(\n \"flex min-h-11 cursor-pointer items-start gap-2 py-3 text-label-default text-text-primary\",\n \"has-data-disabled:cursor-not-allowed has-data-disabled:text-text-disabled\",\n className,\n )}\n >\n <Radio {...props} />\n <span>{label}</span>\n </FieldItemLabel>\n );\n}\n\nexport interface RadioGroupProps<Value = string>\n extends Omit<BaseRadioGroup.Props<Value>, \"className\"> {\n className?: string;\n}\n\n/**\n * Group of radios with arrow-key navigation. Name it with `aria-labelledby`, or put\n * it inside `Field` (Control=Custom), which labels it and shows the message under it.\n * Don't preselect an option unless there is a real default.\n */\nexport function RadioGroup<Value = string>({\n className,\n ...props\n}: RadioGroupProps<Value>): React.JSX.Element {\n useFieldGroupLabel();\n\n return (\n <BaseRadioGroup\n data-slot=\"radio-group\"\n className={cn(\"flex flex-col\", className)}\n {...props}\n />\n );\n}\n"],"names":["BaseRadio","BaseRadioGroup"],"mappings":";;;;;;;AASO,MAAM,gBAAgB;AAAA,EAC3B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF;AAAA,IACE,UAAU;AAAA;AAAA;AAAA,MAGR,YAAY;AAAA,QACV,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,IAEF,iBAAiB;AAAA,MACf,YAAY;AAAA,IAAA;AAAA,EACd;AAEJ;AAGO,SAAS,WAA8B;AAC5C,SACE,oBAACA,QAAU,WAAV,EAAoB,WAAU,sCAAA,CAAsC;AAEzE;AAeO,SAAS,MAAsB;AAAA,EACpC;AAAA,EACA,GAAG;AACL,GAAyC;AACvC,SACE;AAAA,IAACA,QAAU;AAAA,IAAV;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,cAAA,GAAiB,SAAS;AAAA,MACvC,GAAG;AAAA,MAEJ,8BAAC,UAAA,CAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAGhB;AAWO,SAAS,WAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8C;AAC5C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,oBAAC,OAAA,EAAO,GAAG,OAAO;AAAA,QAClB,oBAAC,UAAM,UAAA,MAAA,CAAM;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGnB;AAYO,SAAS,WAA2B;AAAA,EACzC;AAAA,EACA,GAAG;AACL,GAA8C;AAC5C,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,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inside a MediCore `Field`, a group of options (radios, checkboxes, stars) is named
|
|
3
|
+
* by the Field label through `aria-labelledby`. That label must not be a native
|
|
4
|
+
* `<label>`: it can only point at one input, and a click on it would tick an option.
|
|
5
|
+
* Internal to MediCore's group controls.
|
|
6
|
+
*/
|
|
7
|
+
export declare function useFieldGroupLabel(): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useFieldContext } from "../field/field-context.js";
|
|
3
|
+
function useFieldGroupLabel() {
|
|
4
|
+
const setNativeLabel = useFieldContext()?.setNativeLabel;
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!setNativeLabel) {
|
|
7
|
+
return void 0;
|
|
8
|
+
}
|
|
9
|
+
setNativeLabel(false);
|
|
10
|
+
return () => setNativeLabel(true);
|
|
11
|
+
}, [setNativeLabel]);
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
useFieldGroupLabel
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=use-field-group-label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field-group-label.js","sources":["../../../src/components/radio/use-field-group-label.ts"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { useFieldContext } from \"../field/field-context\";\n\n/**\n * Inside a MediCore `Field`, a group of options (radios, checkboxes, stars) is named\n * by the Field label through `aria-labelledby`. That label must not be a native\n * `<label>`: it can only point at one input, and a click on it would tick an option.\n * Internal to MediCore's group controls.\n */\nexport function useFieldGroupLabel(): void {\n const setNativeLabel = useFieldContext()?.setNativeLabel;\n\n useEffect(() => {\n if (!setNativeLabel) {\n return undefined;\n }\n setNativeLabel(false);\n return () => setNativeLabel(true);\n }, [setNativeLabel]);\n}\n"],"names":[],"mappings":";;AAUO,SAAS,qBAA2B;AACzC,QAAM,iBAAiB,mBAAmB;AAE1C,YAAU,MAAM;AACd,QAAI,CAAC,gBAAgB;AACnB,aAAO;AAAA,IACT;AACA,mBAAe,KAAK;AACpB,WAAO,MAAM,eAAe,IAAI;AAAA,EAClC,GAAG,CAAC,cAAc,CAAC;AACrB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Rating, type RatingProps } from "./rating";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { RadioGroup as BaseRadioGroup } from "@base-ui/react/radio-group";
|
|
2
|
+
export interface RatingProps extends Omit<BaseRadioGroup.Props<number | null>, "className" | "children" | "value" | "defaultValue" | "onValueChange"> {
|
|
3
|
+
/** 1–5, or `null` for no rating yet. */
|
|
4
|
+
value?: number | null;
|
|
5
|
+
/** Leave it empty: a rating that starts at 5 measures nothing. */
|
|
6
|
+
defaultValue?: number | null;
|
|
7
|
+
onValueChange?: (value: number, eventDetails: BaseRadioGroup.ChangeEventDetails) => void;
|
|
8
|
+
/**
|
|
9
|
+
* Display only: a still image of the stars named "4 de 5 estrellas", with no
|
|
10
|
+
* radios. Decimals are rounded.
|
|
11
|
+
*/
|
|
12
|
+
readOnly?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 1-to-5 rating after a consultation. Interactive, it is a radio group (arrow keys
|
|
17
|
+
* move and select) with one accessible name per star ("4 de 5 estrellas", from
|
|
18
|
+
* `labels.rating`); name the group with `aria-label` or `aria-labelledby`.
|
|
19
|
+
*
|
|
20
|
+
* Every star has a 44×44 area although it is drawn at 28: it is tapped with the
|
|
21
|
+
* thumb, one-handed, right after the video call. Starts with no star selected.
|
|
22
|
+
*/
|
|
23
|
+
export declare function Rating({ value, defaultValue, onValueChange, readOnly, className, ...props }: RatingProps): React.JSX.Element;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Field } from "@base-ui/react/field";
|
|
3
|
+
import { Radio } from "@base-ui/react/radio";
|
|
4
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { Star01Icon } from "../../icons/generated/star-01.js";
|
|
7
|
+
import { cn } from "../../lib/cn.js";
|
|
8
|
+
import { useFieldContext } from "../field/field-context.js";
|
|
9
|
+
import { useFieldGroupLabel } from "../radio/use-field-group-label.js";
|
|
10
|
+
import { useMediCoreLabels } from "../../provider/medicore-provider.js";
|
|
11
|
+
const MAX = 5;
|
|
12
|
+
const STARS = [1, 2, 3, 4, 5];
|
|
13
|
+
function Star({ filled }) {
|
|
14
|
+
return /* @__PURE__ */ jsx(
|
|
15
|
+
Star01Icon,
|
|
16
|
+
{
|
|
17
|
+
className: cn(
|
|
18
|
+
"size-7",
|
|
19
|
+
filled ? "fill-current text-text-brand" : "text-border-input"
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
function Rating({
|
|
25
|
+
value,
|
|
26
|
+
defaultValue = null,
|
|
27
|
+
onValueChange,
|
|
28
|
+
readOnly = false,
|
|
29
|
+
className,
|
|
30
|
+
...props
|
|
31
|
+
}) {
|
|
32
|
+
const labels = useMediCoreLabels();
|
|
33
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
|
|
34
|
+
const current = value !== void 0 ? value : uncontrolledValue;
|
|
35
|
+
const rounded = current === null ? 0 : Math.round(current);
|
|
36
|
+
const insideField = useFieldContext() !== null;
|
|
37
|
+
useFieldGroupLabel();
|
|
38
|
+
if (readOnly) {
|
|
39
|
+
return /* @__PURE__ */ jsx(
|
|
40
|
+
"span",
|
|
41
|
+
{
|
|
42
|
+
"data-slot": "rating",
|
|
43
|
+
role: "img",
|
|
44
|
+
"aria-label": labels.rating(rounded, MAX),
|
|
45
|
+
className: cn("inline-flex", className),
|
|
46
|
+
children: STARS.map((star) => /* @__PURE__ */ jsx(
|
|
47
|
+
"span",
|
|
48
|
+
{
|
|
49
|
+
className: "inline-flex size-11 items-center justify-center",
|
|
50
|
+
children: /* @__PURE__ */ jsx(Star, { filled: star <= rounded })
|
|
51
|
+
},
|
|
52
|
+
star
|
|
53
|
+
))
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
return /* @__PURE__ */ jsx(
|
|
58
|
+
RadioGroup,
|
|
59
|
+
{
|
|
60
|
+
"data-slot": "rating",
|
|
61
|
+
value: current,
|
|
62
|
+
onValueChange: (next, eventDetails) => {
|
|
63
|
+
if (next === null) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
setUncontrolledValue(next);
|
|
67
|
+
onValueChange?.(next, eventDetails);
|
|
68
|
+
},
|
|
69
|
+
className: cn("inline-flex", className),
|
|
70
|
+
...props,
|
|
71
|
+
children: STARS.map((star) => {
|
|
72
|
+
const radio = /* @__PURE__ */ jsx(
|
|
73
|
+
Radio.Root,
|
|
74
|
+
{
|
|
75
|
+
value: star,
|
|
76
|
+
"aria-label": labels.rating(star, MAX),
|
|
77
|
+
className: cn(
|
|
78
|
+
"inline-flex size-11 cursor-pointer items-center justify-center rounded-lg focus-ring",
|
|
79
|
+
"data-disabled:cursor-not-allowed data-disabled:[&_svg]:text-text-disabled"
|
|
80
|
+
),
|
|
81
|
+
children: /* @__PURE__ */ jsx(Star, { filled: star <= rounded })
|
|
82
|
+
},
|
|
83
|
+
star
|
|
84
|
+
);
|
|
85
|
+
return insideField ? /* @__PURE__ */ jsx(Field.Item, { className: "flex", children: radio }, star) : radio;
|
|
86
|
+
})
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
export {
|
|
91
|
+
Rating
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=rating.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rating.js","sources":["../../../src/components/rating/rating.tsx"],"sourcesContent":["import { Field as BaseField } from \"@base-ui/react/field\";\nimport { Radio as BaseRadio } from \"@base-ui/react/radio\";\nimport { RadioGroup as BaseRadioGroup } from \"@base-ui/react/radio-group\";\nimport { useState } from \"react\";\n\nimport { Star01Icon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { useMediCoreLabels } from \"../../provider\";\nimport { useFieldContext } from \"../field/field-context\";\nimport { useFieldGroupLabel } from \"../radio/use-field-group-label\";\n\nconst MAX = 5;\nconst STARS = [1, 2, 3, 4, 5] as const;\n\n// Filled in brand with a fill, empty only outlined in border-input (5.41:1): the\n// difference is the shape, not just the colour. The typical amber gives 2.36:1.\nfunction Star({ filled }: { filled: boolean }): React.JSX.Element {\n return (\n <Star01Icon\n className={cn(\n \"size-7\",\n filled ? \"fill-current text-text-brand\" : \"text-border-input\",\n )}\n />\n );\n}\n\nexport interface RatingProps\n extends Omit<\n BaseRadioGroup.Props<number | null>,\n \"className\" | \"children\" | \"value\" | \"defaultValue\" | \"onValueChange\"\n > {\n /** 1–5, or `null` for no rating yet. */\n value?: number | null;\n /** Leave it empty: a rating that starts at 5 measures nothing. */\n defaultValue?: number | null;\n onValueChange?: (\n value: number,\n eventDetails: BaseRadioGroup.ChangeEventDetails,\n ) => void;\n /**\n * Display only: a still image of the stars named \"4 de 5 estrellas\", with no\n * radios. Decimals are rounded.\n */\n readOnly?: boolean;\n className?: string;\n}\n\n/**\n * 1-to-5 rating after a consultation. Interactive, it is a radio group (arrow keys\n * move and select) with one accessible name per star (\"4 de 5 estrellas\", from\n * `labels.rating`); name the group with `aria-label` or `aria-labelledby`.\n *\n * Every star has a 44×44 area although it is drawn at 28: it is tapped with the\n * thumb, one-handed, right after the video call. Starts with no star selected.\n */\nexport function Rating({\n value,\n defaultValue = null,\n onValueChange,\n readOnly = false,\n className,\n ...props\n}: RatingProps): React.JSX.Element {\n const labels = useMediCoreLabels();\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const current = value !== undefined ? value : uncontrolledValue;\n const rounded = current === null ? 0 : Math.round(current);\n const insideField = useFieldContext() !== null;\n useFieldGroupLabel();\n\n if (readOnly) {\n return (\n <span\n data-slot=\"rating\"\n role=\"img\"\n aria-label={labels.rating(rounded, MAX)}\n className={cn(\"inline-flex\", className)}\n >\n {STARS.map((star) => (\n <span\n key={star}\n className=\"inline-flex size-11 items-center justify-center\"\n >\n <Star filled={star <= rounded} />\n </span>\n ))}\n </span>\n );\n }\n\n return (\n <BaseRadioGroup<number | null>\n data-slot=\"rating\"\n value={current}\n onValueChange={(next, eventDetails) => {\n if (next === null) {\n return;\n }\n setUncontrolledValue(next);\n onValueChange?.(next, eventDetails);\n }}\n className={cn(\"inline-flex\", className)}\n {...props}\n >\n {STARS.map((star) => {\n const radio = (\n <BaseRadio.Root\n key={star}\n value={star}\n aria-label={labels.rating(star, MAX)}\n className={cn(\n \"inline-flex size-11 cursor-pointer items-center justify-center rounded-lg focus-ring\",\n \"data-disabled:cursor-not-allowed data-disabled:[&_svg]:text-text-disabled\",\n )}\n >\n <Star filled={star <= rounded} />\n </BaseRadio.Root>\n );\n // Inside a Field, Field.Item keeps each star's own id instead of the Field's.\n return insideField ? (\n <BaseField.Item key={star} className=\"flex\">\n {radio}\n </BaseField.Item>\n ) : (\n radio\n );\n })}\n </BaseRadioGroup>\n );\n}\n"],"names":["BaseRadioGroup","BaseRadio","BaseField"],"mappings":";;;;;;;;;;AAWA,MAAM,MAAM;AACZ,MAAM,QAAQ,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAI5B,SAAS,KAAK,EAAE,UAAkD;AAChE,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,SAAS,iCAAiC;AAAA,MAAA;AAAA,IAC5C;AAAA,EAAA;AAGN;AA+BO,SAAS,OAAO;AAAA,EACrB;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,SAAS,kBAAA;AACf,QAAM,CAAC,mBAAmB,oBAAoB,IAAI,SAAS,YAAY;AACvE,QAAM,UAAU,UAAU,SAAY,QAAQ;AAC9C,QAAM,UAAU,YAAY,OAAO,IAAI,KAAK,MAAM,OAAO;AACzD,QAAM,cAAc,sBAAsB;AAC1C,qBAAA;AAEA,MAAI,UAAU;AACZ,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,MAAK;AAAA,QACL,cAAY,OAAO,OAAO,SAAS,GAAG;AAAA,QACtC,WAAW,GAAG,eAAe,SAAS;AAAA,QAErC,UAAA,MAAM,IAAI,CAAC,SACV;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YAEV,UAAA,oBAAC,MAAA,EAAK,QAAQ,QAAQ,QAAA,CAAS;AAAA,UAAA;AAAA,UAH1B;AAAA,QAAA,CAKR;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AAEA,SACE;AAAA,IAACA;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,OAAO;AAAA,MACP,eAAe,CAAC,MAAM,iBAAiB;AACrC,YAAI,SAAS,MAAM;AACjB;AAAA,QACF;AACA,6BAAqB,IAAI;AACzB,wBAAgB,MAAM,YAAY;AAAA,MACpC;AAAA,MACA,WAAW,GAAG,eAAe,SAAS;AAAA,MACrC,GAAG;AAAA,MAEH,UAAA,MAAM,IAAI,CAAC,SAAS;AACnB,cAAM,QACJ;AAAA,UAACC,MAAU;AAAA,UAAV;AAAA,YAEC,OAAO;AAAA,YACP,cAAY,OAAO,OAAO,MAAM,GAAG;AAAA,YACnC,WAAW;AAAA,cACT;AAAA,cACA;AAAA,YAAA;AAAA,YAGF,UAAA,oBAAC,MAAA,EAAK,QAAQ,QAAQ,QAAA,CAAS;AAAA,UAAA;AAAA,UAR1B;AAAA,QAAA;AAYT,eAAO,kCACJC,MAAU,MAAV,EAA0B,WAAU,QAClC,UAAA,SADkB,IAErB,IAEA;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SectionHeader, SectionHeaderAction, type SectionHeaderActionProps, type SectionHeaderHeadingLevel, type SectionHeaderProps, } from "./section-header";
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
import type { ComponentProps, ReactNode } from "react";
|
|
3
|
+
export type SectionHeaderHeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
4
|
+
export interface SectionHeaderProps extends Omit<ComponentProps<"div">, "title"> {
|
|
5
|
+
title: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* Heading level (h2–h6) for the page outline. The look is always Body/Default
|
|
8
|
+
* Strong; the level comes from the context. Default 2.
|
|
9
|
+
*/
|
|
10
|
+
headingLevel?: SectionHeaderHeadingLevel;
|
|
11
|
+
/**
|
|
12
|
+
* "Ver todas": a `SectionHeaderAction`. Leave it out when the section has nowhere
|
|
13
|
+
* to go — a "Ver todas" that opens a list of three things is worse than none.
|
|
14
|
+
*/
|
|
15
|
+
action?: ReactNode;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Section header: title on the left, optional "Ver todas" on the right. The home
|
|
19
|
+
* has five of these.
|
|
20
|
+
*
|
|
21
|
+
* The title is Body/Default Strong (16 Medium), not a heading style: an h3/h4 look
|
|
22
|
+
* here would compete with the page title. The real level is `headingLevel`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function SectionHeader({ title, headingLevel, action, className, ...props }: SectionHeaderProps): React.JSX.Element;
|
|
25
|
+
export interface SectionHeaderActionProps extends useRender.ComponentProps<"a"> {
|
|
26
|
+
/** Default `arrow-right`. */
|
|
27
|
+
trailingIcon?: ReactNode;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The "Ver todas" of a `SectionHeader`: a real link (`href`, or
|
|
31
|
+
* `render={<Link to="…" />}` for the router) drawn as a ghost small `Button` with an
|
|
32
|
+
* arrow — not a text link. A loose link that is a main action needs a hit area (36
|
|
33
|
+
* drawn, 44 to the touch), and an inline Link can't have one without breaking the
|
|
34
|
+
* line height. Not underlined either: it's a control on its own row, its position
|
|
35
|
+
* already sets it apart.
|
|
36
|
+
*/
|
|
37
|
+
export declare function SectionHeaderAction({ render, ref, trailingIcon, className, children, ...props }: SectionHeaderActionProps): React.JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
+
import { ArrowRightIcon } from "../../icons/generated/arrow-right.js";
|
|
4
|
+
import { cn } from "../../lib/cn.js";
|
|
5
|
+
import { buttonVariants } from "../button/button.js";
|
|
6
|
+
function SectionHeader({
|
|
7
|
+
title,
|
|
8
|
+
headingLevel = 2,
|
|
9
|
+
action,
|
|
10
|
+
className,
|
|
11
|
+
...props
|
|
12
|
+
}) {
|
|
13
|
+
const Heading = `h${headingLevel}`;
|
|
14
|
+
return /* @__PURE__ */ jsxs(
|
|
15
|
+
"div",
|
|
16
|
+
{
|
|
17
|
+
"data-slot": "section-header",
|
|
18
|
+
className: cn(
|
|
19
|
+
"flex min-h-10 w-full items-center justify-between gap-4 px-1",
|
|
20
|
+
className
|
|
21
|
+
),
|
|
22
|
+
...props,
|
|
23
|
+
children: [
|
|
24
|
+
/* @__PURE__ */ jsx(Heading, { className: "min-w-0 text-body-default-strong text-text-primary", children: title }),
|
|
25
|
+
action
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
function SectionHeaderAction({
|
|
31
|
+
render,
|
|
32
|
+
ref,
|
|
33
|
+
trailingIcon = /* @__PURE__ */ jsx(ArrowRightIcon, {}),
|
|
34
|
+
className,
|
|
35
|
+
children,
|
|
36
|
+
...props
|
|
37
|
+
}) {
|
|
38
|
+
return useRender({
|
|
39
|
+
render,
|
|
40
|
+
ref,
|
|
41
|
+
defaultTagName: "a",
|
|
42
|
+
props: {
|
|
43
|
+
"data-slot": "section-header-action",
|
|
44
|
+
className: cn(
|
|
45
|
+
buttonVariants({ variant: "ghost", size: "small" }),
|
|
46
|
+
className
|
|
47
|
+
),
|
|
48
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
49
|
+
children,
|
|
50
|
+
trailingIcon
|
|
51
|
+
] }),
|
|
52
|
+
...props
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
SectionHeader,
|
|
58
|
+
SectionHeaderAction
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=section-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.js","sources":["../../../src/components/section-header/section-header.tsx"],"sourcesContent":["import { useRender } from \"@base-ui/react/use-render\";\nimport type { ComponentProps, ReactNode } from \"react\";\n\nimport { ArrowRightIcon } from \"../../icons\";\nimport { cn } from \"../../lib/cn\";\nimport { buttonVariants } from \"../button\";\n\nexport type SectionHeaderHeadingLevel = 2 | 3 | 4 | 5 | 6;\n\nexport interface SectionHeaderProps\n extends Omit<ComponentProps<\"div\">, \"title\"> {\n title: ReactNode;\n /**\n * Heading level (h2–h6) for the page outline. The look is always Body/Default\n * Strong; the level comes from the context. Default 2.\n */\n headingLevel?: SectionHeaderHeadingLevel;\n /**\n * \"Ver todas\": a `SectionHeaderAction`. Leave it out when the section has nowhere\n * to go — a \"Ver todas\" that opens a list of three things is worse than none.\n */\n action?: ReactNode;\n}\n\n/**\n * Section header: title on the left, optional \"Ver todas\" on the right. The home\n * has five of these.\n *\n * The title is Body/Default Strong (16 Medium), not a heading style: an h3/h4 look\n * here would compete with the page title. The real level is `headingLevel`.\n */\nexport function SectionHeader({\n title,\n headingLevel = 2,\n action,\n className,\n ...props\n}: SectionHeaderProps): React.JSX.Element {\n const Heading = `h${headingLevel}` as const;\n\n return (\n <div\n data-slot=\"section-header\"\n className={cn(\n \"flex min-h-10 w-full items-center justify-between gap-4 px-1\",\n className,\n )}\n {...props}\n >\n <Heading className=\"min-w-0 text-body-default-strong text-text-primary\">\n {title}\n </Heading>\n {action}\n </div>\n );\n}\n\nexport interface SectionHeaderActionProps\n extends useRender.ComponentProps<\"a\"> {\n /** Default `arrow-right`. */\n trailingIcon?: ReactNode;\n}\n\n/**\n * The \"Ver todas\" of a `SectionHeader`: a real link (`href`, or\n * `render={<Link to=\"…\" />}` for the router) drawn as a ghost small `Button` with an\n * arrow — not a text link. A loose link that is a main action needs a hit area (36\n * drawn, 44 to the touch), and an inline Link can't have one without breaking the\n * line height. Not underlined either: it's a control on its own row, its position\n * already sets it apart.\n */\nexport function SectionHeaderAction({\n render,\n ref,\n trailingIcon = <ArrowRightIcon />,\n className,\n children,\n ...props\n}: SectionHeaderActionProps): React.JSX.Element {\n return useRender({\n render,\n ref,\n defaultTagName: \"a\",\n props: {\n \"data-slot\": \"section-header-action\",\n className: cn(\n buttonVariants({ variant: \"ghost\", size: \"small\" }),\n className,\n ),\n children: (\n <>\n {children}\n {trailingIcon}\n </>\n ),\n ...props,\n },\n });\n}\n"],"names":[],"mappings":";;;;;AA+BO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA,eAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0C;AACxC,QAAM,UAAU,IAAI,YAAY;AAEhC,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAA,oBAAC,SAAA,EAAQ,WAAU,sDAChB,UAAA,OACH;AAAA,QACC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AAgBO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA,mCAAgB,gBAAA,EAAe;AAAA,EAC/B;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAgD;AAC9C,SAAO,UAAU;AAAA,IACf;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,OAAO;AAAA,MACL,aAAa;AAAA,MACb,WAAW;AAAA,QACT,eAAe,EAAE,SAAS,SAAS,MAAM,SAAS;AAAA,QAClD;AAAA,MAAA;AAAA,MAEF,UACE,qBAAA,UAAA,EACG,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,MAAA,GACH;AAAA,MAEF,GAAG;AAAA,IAAA;AAAA,EACL,CACD;AACH;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { SegmentedControl, type SegmentedControlOption, type SegmentedControlOptions, type SegmentedControlProps, } from "./segmented-control";
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
export interface SegmentedControlOption<Value extends string = string> {
|
|
4
|
+
value: Value;
|
|
5
|
+
/** Short: one or two words. With long labels the segments get cut on mobile. */
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
/** Two or three segments, never more: the type doesn't let you build a fourth. */
|
|
10
|
+
export type SegmentedControlOptions<Value extends string = string> = readonly [SegmentedControlOption<Value>, SegmentedControlOption<Value>] | readonly [
|
|
11
|
+
SegmentedControlOption<Value>,
|
|
12
|
+
SegmentedControlOption<Value>,
|
|
13
|
+
SegmentedControlOption<Value>
|
|
14
|
+
];
|
|
15
|
+
export interface SegmentedControlProps<Value extends string = string> extends Omit<RadioGroup.Props<Value>, "className" | "children"> {
|
|
16
|
+
/** 2 or 3 options. For more use a `Select` or a row of `Chip`s. */
|
|
17
|
+
options: SegmentedControlOptions<Value>;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Exclusive filter of the SAME list: Todos / No leídos in Chats.
|
|
22
|
+
*
|
|
23
|
+
* - It filters, it doesn't switch views: it's a `radiogroup` of `radio`s with
|
|
24
|
+
* `aria-checked` (←/→ move the selection), not a tablist. To change what you are
|
|
25
|
+
* looking at, use `Tabs`.
|
|
26
|
+
* - Name it with `aria-label` ("Filtrar chats") or `aria-labelledby`.
|
|
27
|
+
* - The active segment is told apart by shape, not only colour: the only white pill
|
|
28
|
+
* with a shadow on the grey track, label in Medium. Inactive `text-secondary` on
|
|
29
|
+
* `surface-raised` is 4.60:1 — don't lighten the track.
|
|
30
|
+
* - Every segment is the same width even if the labels aren't, so the control
|
|
31
|
+
* doesn't jump when the language changes. It hugs the longest label; pass
|
|
32
|
+
* `className="w-full"` to fill its container.
|
|
33
|
+
*/
|
|
34
|
+
export declare function SegmentedControl<Value extends string>({ options, className, ...props }: SegmentedControlProps<Value>): React.JSX.Element;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Radio } from "@base-ui/react/radio";
|
|
3
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
4
|
+
import { cn } from "../../lib/cn.js";
|
|
5
|
+
function SegmentedControl({
|
|
6
|
+
options,
|
|
7
|
+
className,
|
|
8
|
+
...props
|
|
9
|
+
}) {
|
|
10
|
+
return /* @__PURE__ */ jsx(
|
|
11
|
+
RadioGroup,
|
|
12
|
+
{
|
|
13
|
+
"data-slot": "segmented-control",
|
|
14
|
+
className: cn(
|
|
15
|
+
"relative inline-grid h-control-md auto-cols-fr grid-flow-col gap-1 rounded-lg bg-surface-raised p-1",
|
|
16
|
+
className
|
|
17
|
+
),
|
|
18
|
+
...props,
|
|
19
|
+
children: options.map((option) => /* @__PURE__ */ jsx(
|
|
20
|
+
Radio.Root,
|
|
21
|
+
{
|
|
22
|
+
value: option.value,
|
|
23
|
+
disabled: option.disabled,
|
|
24
|
+
"data-slot": "segmented-control-segment",
|
|
25
|
+
className: cn(
|
|
26
|
+
"inline-flex min-w-0 cursor-pointer select-none items-center justify-center rounded-md px-3",
|
|
27
|
+
"text-label-default text-text-secondary transition-colors",
|
|
28
|
+
"not-data-disabled:not-data-checked:hover:text-text-primary",
|
|
29
|
+
"data-checked:bg-background data-checked:text-label-strong data-checked:text-text-primary data-checked:shadow-xs",
|
|
30
|
+
"data-disabled:cursor-not-allowed data-disabled:text-text-disabled",
|
|
31
|
+
// 32px drawn, 44px hit area.
|
|
32
|
+
"focus-ring touch-target"
|
|
33
|
+
),
|
|
34
|
+
children: /* @__PURE__ */ jsx(
|
|
35
|
+
"span",
|
|
36
|
+
{
|
|
37
|
+
"data-label": typeof option.label === "string" ? option.label : void 0,
|
|
38
|
+
className: "flex min-w-0 flex-col after:invisible after:h-0 after:overflow-hidden after:text-label-strong after:content-[attr(data-label)]",
|
|
39
|
+
children: /* @__PURE__ */ jsx("span", { className: "truncate", children: option.label })
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
},
|
|
43
|
+
option.value
|
|
44
|
+
))
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
SegmentedControl
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=segmented-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control.js","sources":["../../../src/components/segmented-control/segmented-control.tsx"],"sourcesContent":["import { Radio } from \"@base-ui/react/radio\";\nimport { RadioGroup } from \"@base-ui/react/radio-group\";\nimport type { ReactNode } from \"react\";\n\nimport { cn } from \"../../lib/cn\";\n\nexport interface SegmentedControlOption<Value extends string = string> {\n value: Value;\n /** Short: one or two words. With long labels the segments get cut on mobile. */\n label: ReactNode;\n disabled?: boolean;\n}\n\n/** Two or three segments, never more: the type doesn't let you build a fourth. */\nexport type SegmentedControlOptions<Value extends string = string> =\n | readonly [SegmentedControlOption<Value>, SegmentedControlOption<Value>]\n | readonly [\n SegmentedControlOption<Value>,\n SegmentedControlOption<Value>,\n SegmentedControlOption<Value>,\n ];\n\nexport interface SegmentedControlProps<Value extends string = string>\n extends Omit<RadioGroup.Props<Value>, \"className\" | \"children\"> {\n /** 2 or 3 options. For more use a `Select` or a row of `Chip`s. */\n options: SegmentedControlOptions<Value>;\n className?: string;\n}\n\n/**\n * Exclusive filter of the SAME list: Todos / No leídos in Chats.\n *\n * - It filters, it doesn't switch views: it's a `radiogroup` of `radio`s with\n * `aria-checked` (←/→ move the selection), not a tablist. To change what you are\n * looking at, use `Tabs`.\n * - Name it with `aria-label` (\"Filtrar chats\") or `aria-labelledby`.\n * - The active segment is told apart by shape, not only colour: the only white pill\n * with a shadow on the grey track, label in Medium. Inactive `text-secondary` on\n * `surface-raised` is 4.60:1 — don't lighten the track.\n * - Every segment is the same width even if the labels aren't, so the control\n * doesn't jump when the language changes. It hugs the longest label; pass\n * `className=\"w-full\"` to fill its container.\n */\nexport function SegmentedControl<Value extends string>({\n options,\n className,\n ...props\n}: SegmentedControlProps<Value>): React.JSX.Element {\n return (\n <RadioGroup\n data-slot=\"segmented-control\"\n className={cn(\n \"relative inline-grid h-control-md auto-cols-fr grid-flow-col gap-1 rounded-lg bg-surface-raised p-1\",\n className,\n )}\n {...props}\n >\n {options.map((option) => (\n <Radio.Root\n key={option.value}\n value={option.value}\n disabled={option.disabled}\n data-slot=\"segmented-control-segment\"\n className={cn(\n \"inline-flex min-w-0 cursor-pointer select-none items-center justify-center rounded-md px-3\",\n \"text-label-default text-text-secondary transition-colors\",\n \"not-data-disabled:not-data-checked:hover:text-text-primary\",\n \"data-checked:bg-background data-checked:text-label-strong data-checked:text-text-primary data-checked:shadow-xs\",\n \"data-disabled:cursor-not-allowed data-disabled:text-text-disabled\",\n // 32px drawn, 44px hit area.\n \"focus-ring touch-target\",\n )}\n >\n <span\n // An invisible Medium copy of the label reserves the selected width, so\n // the control doesn't jump when the selection changes.\n data-label={\n typeof option.label === \"string\" ? option.label : undefined\n }\n className=\"flex min-w-0 flex-col after:invisible after:h-0 after:overflow-hidden after:text-label-strong after:content-[attr(data-label)]\"\n >\n <span className=\"truncate\">{option.label}</span>\n </span>\n </Radio.Root>\n ))}\n </RadioGroup>\n );\n}\n"],"names":[],"mappings":";;;;AA2CO,SAAS,iBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAoD;AAClD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,MAED,GAAG;AAAA,MAEH,UAAA,QAAQ,IAAI,CAAC,WACZ;AAAA,QAAC,MAAM;AAAA,QAAN;AAAA,UAEC,OAAO,OAAO;AAAA,UACd,UAAU,OAAO;AAAA,UACjB,aAAU;AAAA,UACV,WAAW;AAAA,YACT;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,YAEA;AAAA,UAAA;AAAA,UAGF,UAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cAGC,cACE,OAAO,OAAO,UAAU,WAAW,OAAO,QAAQ;AAAA,cAEpD,WAAU;AAAA,cAEV,UAAA,oBAAC,QAAA,EAAK,WAAU,YAAY,iBAAO,MAAA,CAAM;AAAA,YAAA;AAAA,UAAA;AAAA,QAC3C;AAAA,QAvBK,OAAO;AAAA,MAAA,CAyBf;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode, Ref } from "react";
|
|
2
|
+
import { type ControlSize } from "../input/control-styles";
|
|
3
|
+
export interface NativeSelectProps extends Omit<ComponentProps<"select">, "className" | "size" | "ref"> {
|
|
4
|
+
ref?: Ref<HTMLSelectElement>;
|
|
5
|
+
/** `default` 40px, `small` 36px: the same heights as Input and Button. */
|
|
6
|
+
size?: ControlSize;
|
|
7
|
+
/** Red 2px border and `aria-invalid`. The message goes under it, in `Field`. */
|
|
8
|
+
invalid?: boolean;
|
|
9
|
+
/** Content icon before the value. The chevron is structure, not a prop. */
|
|
10
|
+
leadingIcon?: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* First, unselectable option shown in text-secondary while nothing is chosen
|
|
13
|
+
* ("Elige una opción"). Without `value`/`defaultValue` the select starts on it.
|
|
14
|
+
*/
|
|
15
|
+
placeholder?: string;
|
|
16
|
+
/** Called with the chosen option's value. */
|
|
17
|
+
onValueChange?: (value: string) => void;
|
|
18
|
+
/** Applied to the box: use it for the width. */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Dropdown on a native `<select>` with the geometry of Input. The default choice,
|
|
23
|
+
* and the only one on mobile: it opens the operating system's picker and is
|
|
24
|
+
* accessible out of the box (keyboard, screen reader, type to search). GOV.UK uses it
|
|
25
|
+
* by rule; Doctolib on mobile.
|
|
26
|
+
*
|
|
27
|
+
* Options are plain `<option>` / `<optgroup>` children. For a list styled like
|
|
28
|
+
* MediCore on desktop use `Select`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function NativeSelect({ size, invalid, leadingIcon, placeholder, className, children, id, name, value, defaultValue, disabled, onValueChange, "aria-describedby": ariaDescribedBy, ref, ...props }: NativeSelectProps): React.JSX.Element;
|