@clicoh/orion-library 1.2.0-beta.2 → 1.2.0-beta.21
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/assets/avatares/caja-chispa.png +0 -0
- package/assets/avatares/caja.png +0 -0
- package/assets/avatares/cohete.png +0 -0
- package/assets/avatares/dino.png +0 -0
- package/assets/avatares/pulpo-lentes.png +0 -0
- package/assets/avatares/pulpo-verde.png +0 -0
- package/assets/avatares/pulpo.png +0 -0
- package/assets/cifras/alerta.png +0 -0
- package/assets/cifras/duda.png +0 -0
- package/assets/cifras/error.png +0 -0
- package/assets/cifras/monedas.png +0 -0
- package/assets/cifras/reloj.png +0 -0
- package/assets/cifras/visto.png +0 -0
- package/assets/css/expresivo.css +1069 -0
- package/assets/logos/oculus-icon.svg +1 -0
- package/assets/logos/oculus-logo-sm-dark.svg +1 -0
- package/assets/logos/oculus-logo-sm.svg +1 -0
- package/assets/mascotas/svg/bugi-mascota-01-alerta.svg +39 -0
- package/assets/mascotas/svg/bugi-mascota-02-investigando.svg +36 -0
- package/assets/mascotas/svg/bugi-mascota-05-sorprendido.svg +38 -0
- package/assets/mascotas/svg/oculus-mascota-01-feliz.svg +52 -0
- package/assets/mascotas/svg/oculus-mascota-02-investigando.svg +51 -0
- package/assets/mascotas/svg/oculus-mascota-03-dudando.svg +51 -0
- package/assets/mascotas/svg/oculus-mascota-04-analizando-documento.svg +53 -0
- package/assets/mascotas/svg/oculus-mascota-06-celebrando.svg +54 -0
- package/assets/mascotas/svg/oculus-mascota-07-buscando-rapido.svg +57 -0
- package/assets/mascotas/svg/oculus-mascota-08-satisfecho.svg +55 -0
- package/assets/mascotas/webp/fixi-mascota-01-feliz-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-02-investigando-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-03-dudando-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-04-reparando-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-05-sorprendido-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-06-celebrando-sm.webp +0 -0
- package/assets/mascotas/webp/fixi-mascota-07-corriendo-sm.webp +0 -0
- package/dist/components/01-atoms/Button/Button.d.ts +21 -1
- package/dist/components/01-atoms/Button/Button.d.ts.map +1 -1
- package/dist/components/01-atoms/Button/Button.jsx +38 -4
- package/dist/components/01-atoms/Button/Button.jsx.map +1 -1
- package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts +56 -0
- package/dist/components/01-atoms/CodeBlock/CodeBlock.d.ts.map +1 -0
- package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx +97 -0
- package/dist/components/01-atoms/CodeBlock/CodeBlock.jsx.map +1 -0
- package/dist/components/01-atoms/CodeBlock/index.d.ts +2 -0
- package/dist/components/01-atoms/CodeBlock/index.d.ts.map +1 -0
- package/dist/components/01-atoms/CodeBlock/index.js +2 -0
- package/dist/components/01-atoms/CodeBlock/index.js.map +1 -0
- package/dist/components/01-atoms/Heading/Heading.jsx +1 -1
- package/dist/components/01-atoms/Heading/Heading.jsx.map +1 -1
- package/dist/components/01-atoms/IconButton/IconButton.d.ts +28 -0
- package/dist/components/01-atoms/IconButton/IconButton.d.ts.map +1 -0
- package/dist/components/01-atoms/IconButton/IconButton.jsx +32 -0
- package/dist/components/01-atoms/IconButton/IconButton.jsx.map +1 -0
- package/dist/components/01-atoms/IconButton/index.d.ts +2 -0
- package/dist/components/01-atoms/IconButton/index.d.ts.map +1 -0
- package/dist/components/01-atoms/IconButton/index.js +2 -0
- package/dist/components/01-atoms/IconButton/index.js.map +1 -0
- package/dist/components/01-atoms/Input/Input.d.ts +1 -1
- package/dist/components/01-atoms/Input/Input.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/Input.jsx +13 -9
- package/dist/components/01-atoms/Input/Input.jsx.map +1 -1
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.d.ts.map +1 -1
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx +1 -1
- package/dist/components/01-atoms/Input/utils/RenderErrorOrHelperText.jsx.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx +2 -1
- package/dist/components/01-atoms/MultiSelect/MultiSelect.jsx.map +1 -1
- package/dist/components/01-atoms/ProgressBar/ProgressBar.d.ts +12 -1
- package/dist/components/01-atoms/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/components/01-atoms/ProgressBar/ProgressBar.jsx +18 -2
- package/dist/components/01-atoms/ProgressBar/ProgressBar.jsx.map +1 -1
- package/dist/components/01-atoms/Select/Select.d.ts +7 -1
- package/dist/components/01-atoms/Select/Select.d.ts.map +1 -1
- package/dist/components/01-atoms/Select/Select.jsx +61 -13
- package/dist/components/01-atoms/Select/Select.jsx.map +1 -1
- package/dist/components/01-atoms/Select/SelectList.d.ts +41 -0
- package/dist/components/01-atoms/Select/SelectList.d.ts.map +1 -0
- package/dist/components/01-atoms/Select/SelectList.jsx +116 -0
- package/dist/components/01-atoms/Select/SelectList.jsx.map +1 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.d.ts.map +1 -1
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx +1 -0
- package/dist/components/01-atoms/SmallInput/SmallInput.jsx.map +1 -1
- package/dist/components/01-atoms/Spinner/Spinner.d.ts +24 -3
- package/dist/components/01-atoms/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/01-atoms/Spinner/Spinner.jsx +30 -4
- package/dist/components/01-atoms/Spinner/Spinner.jsx.map +1 -1
- package/dist/components/01-atoms/Spinner/index.d.ts +1 -0
- package/dist/components/01-atoms/Spinner/index.d.ts.map +1 -1
- package/dist/components/01-atoms/Stat/Stat.d.ts +47 -0
- package/dist/components/01-atoms/Stat/Stat.d.ts.map +1 -0
- package/dist/components/01-atoms/Stat/Stat.jsx +64 -0
- package/dist/components/01-atoms/Stat/Stat.jsx.map +1 -0
- package/dist/components/01-atoms/Stat/index.d.ts +2 -0
- package/dist/components/01-atoms/Stat/index.d.ts.map +1 -0
- package/dist/components/01-atoms/Stat/index.js +2 -0
- package/dist/components/01-atoms/Stat/index.js.map +1 -0
- package/dist/components/01-atoms/Switch/Switch.d.ts +5 -2
- package/dist/components/01-atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/01-atoms/Switch/Switch.jsx +15 -12
- package/dist/components/01-atoms/Switch/Switch.jsx.map +1 -1
- package/dist/components/01-atoms/Textarea/Textarea.d.ts +38 -0
- package/dist/components/01-atoms/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/01-atoms/Textarea/Textarea.jsx +50 -0
- package/dist/components/01-atoms/Textarea/Textarea.jsx.map +1 -0
- package/dist/components/01-atoms/Textarea/index.d.ts +2 -0
- package/dist/components/01-atoms/Textarea/index.d.ts.map +1 -0
- package/dist/components/01-atoms/Textarea/index.js +2 -0
- package/dist/components/01-atoms/Textarea/index.js.map +1 -0
- package/dist/components/01-atoms/Toast/Toast.d.ts.map +1 -1
- package/dist/components/01-atoms/Toast/Toast.jsx +3 -1
- package/dist/components/01-atoms/Toast/Toast.jsx.map +1 -1
- package/dist/components/01-atoms/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/01-atoms/Tooltip/Tooltip.jsx +4 -1
- package/dist/components/01-atoms/Tooltip/Tooltip.jsx.map +1 -1
- package/dist/components/01-atoms/index.d.ts +4 -0
- package/dist/components/01-atoms/index.d.ts.map +1 -1
- package/dist/components/01-atoms/index.js +4 -0
- package/dist/components/01-atoms/index.js.map +1 -1
- package/dist/components/02-molecules/Accordion/Accordion.d.ts +15 -4
- package/dist/components/02-molecules/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/Accordion.jsx +20 -6
- package/dist/components/02-molecules/Accordion/Accordion.jsx.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionContext.d.ts +5 -1
- package/dist/components/02-molecules/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionContext.jsx +7 -6
- package/dist/components/02-molecules/Accordion/AccordionContext.jsx.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.d.ts +2 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx +62 -11
- package/dist/components/02-molecules/Accordion/AccordionSection.jsx.map +1 -1
- package/dist/components/02-molecules/Accordion/index.d.ts +1 -0
- package/dist/components/02-molecules/Accordion/index.d.ts.map +1 -1
- package/dist/components/02-molecules/Accordion/index.js.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts +4 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx +34 -15
- package/dist/components/02-molecules/Autocomplete/Autocomplete.jsx.map +1 -1
- package/dist/components/02-molecules/Card/Card.d.ts +74 -0
- package/dist/components/02-molecules/Card/Card.d.ts.map +1 -0
- package/dist/components/02-molecules/Card/Card.jsx +87 -0
- package/dist/components/02-molecules/Card/Card.jsx.map +1 -0
- package/dist/components/02-molecules/Card/index.d.ts +2 -0
- package/dist/components/02-molecules/Card/index.d.ts.map +1 -0
- package/dist/components/02-molecules/Card/index.js +2 -0
- package/dist/components/02-molecules/Card/index.js.map +1 -0
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts +41 -3
- package/dist/components/02-molecules/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx +190 -34
- package/dist/components/02-molecules/DatePicker/DatePicker.jsx.map +1 -1
- package/dist/components/02-molecules/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx +1 -0
- package/dist/components/02-molecules/Dropdown/Dropdown.jsx.map +1 -1
- package/dist/components/02-molecules/EmptyState/EmptyState.d.ts +52 -0
- package/dist/components/02-molecules/EmptyState/EmptyState.d.ts.map +1 -0
- package/dist/components/02-molecules/EmptyState/EmptyState.jsx +66 -0
- package/dist/components/02-molecules/EmptyState/EmptyState.jsx.map +1 -0
- package/dist/components/02-molecules/EmptyState/index.d.ts +2 -0
- package/dist/components/02-molecules/EmptyState/index.d.ts.map +1 -0
- package/dist/components/02-molecules/EmptyState/index.js +2 -0
- package/dist/components/02-molecules/EmptyState/index.js.map +1 -0
- package/dist/components/02-molecules/Filter/Filter.d.ts +8 -1
- package/dist/components/02-molecules/Filter/Filter.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/Filter.jsx +35 -11
- package/dist/components/02-molecules/Filter/Filter.jsx.map +1 -1
- package/dist/components/02-molecules/Filter/index.d.ts +1 -0
- package/dist/components/02-molecules/Filter/index.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/index.js +1 -0
- package/dist/components/02-molecules/Filter/index.js.map +1 -1
- package/dist/components/02-molecules/Filter/types.d.ts +24 -5
- package/dist/components/02-molecules/Filter/types.d.ts.map +1 -1
- package/dist/components/02-molecules/Filter/utils/pruneOrphanValues.d.ts +34 -0
- package/dist/components/02-molecules/Filter/utils/pruneOrphanValues.d.ts.map +1 -0
- package/dist/components/02-molecules/Filter/utils/pruneOrphanValues.js +70 -0
- package/dist/components/02-molecules/Filter/utils/pruneOrphanValues.js.map +1 -0
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts +55 -5
- package/dist/components/02-molecules/ImageViewer/ImageViewer.d.ts.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx +118 -27
- package/dist/components/02-molecules/ImageViewer/ImageViewer.jsx.map +1 -1
- package/dist/components/02-molecules/ImageViewer/ImageViewerImage.d.ts +40 -0
- package/dist/components/02-molecules/ImageViewer/ImageViewerImage.d.ts.map +1 -0
- package/dist/components/02-molecules/ImageViewer/ImageViewerImage.jsx +109 -0
- package/dist/components/02-molecules/ImageViewer/ImageViewerImage.jsx.map +1 -0
- package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts +15 -1
- package/dist/components/02-molecules/InlineMessage/InlineMessage.d.ts.map +1 -1
- package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx +18 -3
- package/dist/components/02-molecules/InlineMessage/InlineMessage.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuItem.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuItem.jsx +2 -2
- package/dist/components/02-molecules/Menu/MenuItem.jsx.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.d.ts.map +1 -1
- package/dist/components/02-molecules/Menu/MenuList.jsx +1 -1
- package/dist/components/02-molecules/Menu/MenuList.jsx.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts +5 -1
- package/dist/components/02-molecules/Modal/Modal.d.ts.map +1 -1
- package/dist/components/02-molecules/Modal/Modal.jsx +4 -2
- package/dist/components/02-molecules/Modal/Modal.jsx.map +1 -1
- package/dist/components/02-molecules/MultiAutocomplete/MultiAutocomplete.d.ts +80 -0
- package/dist/components/02-molecules/MultiAutocomplete/MultiAutocomplete.d.ts.map +1 -0
- package/dist/components/02-molecules/MultiAutocomplete/MultiAutocomplete.jsx +261 -0
- package/dist/components/02-molecules/MultiAutocomplete/MultiAutocomplete.jsx.map +1 -0
- package/dist/components/02-molecules/MultiAutocomplete/index.d.ts +2 -0
- package/dist/components/02-molecules/MultiAutocomplete/index.d.ts.map +1 -0
- package/dist/components/02-molecules/MultiAutocomplete/index.js +2 -0
- package/dist/components/02-molecules/MultiAutocomplete/index.js.map +1 -0
- package/dist/components/02-molecules/Stepper/Stepper.d.ts +70 -0
- package/dist/components/02-molecules/Stepper/Stepper.d.ts.map +1 -0
- package/dist/components/02-molecules/Stepper/Stepper.jsx +204 -0
- package/dist/components/02-molecules/Stepper/Stepper.jsx.map +1 -0
- package/dist/components/02-molecules/Stepper/index.d.ts +2 -0
- package/dist/components/02-molecules/Stepper/index.d.ts.map +1 -0
- package/dist/components/02-molecules/Stepper/index.js +2 -0
- package/dist/components/02-molecules/Stepper/index.js.map +1 -0
- package/dist/components/02-molecules/Table/Table.d.ts +3 -1
- package/dist/components/02-molecules/Table/Table.d.ts.map +1 -1
- package/dist/components/02-molecules/Table/Table.jsx +6 -5
- package/dist/components/02-molecules/Table/Table.jsx.map +1 -1
- package/dist/components/02-molecules/Timeline/Timeline.d.ts +47 -0
- package/dist/components/02-molecules/Timeline/Timeline.d.ts.map +1 -0
- package/dist/components/02-molecules/Timeline/Timeline.jsx +65 -0
- package/dist/components/02-molecules/Timeline/Timeline.jsx.map +1 -0
- package/dist/components/02-molecules/Timeline/index.d.ts +2 -0
- package/dist/components/02-molecules/Timeline/index.d.ts.map +1 -0
- package/dist/components/02-molecules/Timeline/index.js +2 -0
- package/dist/components/02-molecules/Timeline/index.js.map +1 -0
- package/dist/components/02-molecules/index.d.ts +5 -0
- package/dist/components/02-molecules/index.d.ts.map +1 -1
- package/dist/components/02-molecules/index.js +5 -0
- package/dist/components/02-molecules/index.js.map +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.d.ts +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.d.ts.map +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.jsx +1 -1
- package/dist/components/03-organisms/DataTable/DataTable.jsx.map +1 -1
- package/dist/components/03-organisms/Header/Header.d.ts +3 -1
- package/dist/components/03-organisms/Header/Header.d.ts.map +1 -1
- package/dist/components/03-organisms/Header/Header.jsx +4 -5
- package/dist/components/03-organisms/Header/Header.jsx.map +1 -1
- package/dist/components/03-organisms/MapView/MapView.d.ts +14 -3
- package/dist/components/03-organisms/MapView/MapView.d.ts.map +1 -1
- package/dist/components/03-organisms/MapView/MapView.jsx +40 -9
- package/dist/components/03-organisms/MapView/MapView.jsx.map +1 -1
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.d.ts.map +1 -1
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.jsx +1 -0
- package/dist/components/03-organisms/ModalMultiple/ModalMultiple.jsx.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts +36 -4
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx +44 -10
- package/dist/components/04-templates/DashboardTemplate/DashboardTemplate.jsx.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.d.ts +6 -2
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.d.ts.map +1 -1
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.jsx +7 -3
- package/dist/components/04-templates/DashboardTemplate/HeadingWithTitle.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts +66 -3
- package/dist/components/04-templates/LoginTemplate/LoginForm.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx +80 -16
- package/dist/components/04-templates/LoginTemplate/LoginForm.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts +24 -4
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx +27 -7
- package/dist/components/04-templates/LoginTemplate/LoginTemplate.jsx.map +1 -1
- package/dist/components/04-templates/LoginTemplate/index.d.ts +1 -0
- package/dist/components/04-templates/LoginTemplate/index.d.ts.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.d.ts.map +1 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx +4 -1
- package/dist/components/04-templates/SideFilterTemplate/SideFilterTemplate.jsx.map +1 -1
- package/dist/hooks/useSegments.d.ts.map +1 -1
- package/dist/hooks/useSegments.js +2 -3
- package/dist/hooks/useSegments.js.map +1 -1
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTheme.jsx +1 -0
- package/dist/hooks/useTheme.jsx.map +1 -1
- package/expresivo/ExpBubble/ExpBubble.d.ts +51 -0
- package/expresivo/ExpBubble/ExpBubble.d.ts.map +1 -0
- package/expresivo/ExpBubble/ExpBubble.jsx +74 -0
- package/expresivo/ExpBubble/ExpBubble.jsx.map +1 -0
- package/expresivo/ExpBubble/index.d.ts +3 -0
- package/expresivo/ExpBubble/index.d.ts.map +1 -0
- package/expresivo/ExpBubble/index.js +2 -0
- package/expresivo/ExpBubble/index.js.map +1 -0
- package/expresivo/ExpChip/ExpChip.d.ts +40 -0
- package/expresivo/ExpChip/ExpChip.d.ts.map +1 -0
- package/expresivo/ExpChip/ExpChip.jsx +67 -0
- package/expresivo/ExpChip/ExpChip.jsx.map +1 -0
- package/expresivo/ExpChip/index.d.ts +3 -0
- package/expresivo/ExpChip/index.d.ts.map +1 -0
- package/expresivo/ExpChip/index.js +2 -0
- package/expresivo/ExpChip/index.js.map +1 -0
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts +37 -0
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.d.ts.map +1 -0
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx +43 -0
- package/expresivo/ExpCollapseToggle/ExpCollapseToggle.jsx.map +1 -0
- package/expresivo/ExpCollapseToggle/index.d.ts +3 -0
- package/expresivo/ExpCollapseToggle/index.d.ts.map +1 -0
- package/expresivo/ExpCollapseToggle/index.js +2 -0
- package/expresivo/ExpCollapseToggle/index.js.map +1 -0
- package/expresivo/ExpEnterIcon/ExpEnterIcon.d.ts +32 -0
- package/expresivo/ExpEnterIcon/ExpEnterIcon.d.ts.map +1 -0
- package/expresivo/ExpEnterIcon/ExpEnterIcon.jsx +32 -0
- package/expresivo/ExpEnterIcon/ExpEnterIcon.jsx.map +1 -0
- package/expresivo/ExpEnterIcon/index.d.ts +3 -0
- package/expresivo/ExpEnterIcon/index.d.ts.map +1 -0
- package/expresivo/ExpEnterIcon/index.js +2 -0
- package/expresivo/ExpEnterIcon/index.js.map +1 -0
- package/expresivo/ExpGrowBar/ExpGrowBar.d.ts +26 -0
- package/expresivo/ExpGrowBar/ExpGrowBar.d.ts.map +1 -0
- package/expresivo/ExpGrowBar/ExpGrowBar.jsx +39 -0
- package/expresivo/ExpGrowBar/ExpGrowBar.jsx.map +1 -0
- package/expresivo/ExpGrowBar/index.d.ts +3 -0
- package/expresivo/ExpGrowBar/index.d.ts.map +1 -0
- package/expresivo/ExpGrowBar/index.js +2 -0
- package/expresivo/ExpGrowBar/index.js.map +1 -0
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts +69 -0
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.d.ts.map +1 -0
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx +160 -0
- package/expresivo/ExpJourneyTrack/ExpJourneyTrack.jsx.map +1 -0
- package/expresivo/ExpJourneyTrack/index.d.ts +3 -0
- package/expresivo/ExpJourneyTrack/index.d.ts.map +1 -0
- package/expresivo/ExpJourneyTrack/index.js +2 -0
- package/expresivo/ExpJourneyTrack/index.js.map +1 -0
- package/expresivo/ExpKeyButton/ExpKeyButton.d.ts +49 -0
- package/expresivo/ExpKeyButton/ExpKeyButton.d.ts.map +1 -0
- package/expresivo/ExpKeyButton/ExpKeyButton.jsx +60 -0
- package/expresivo/ExpKeyButton/ExpKeyButton.jsx.map +1 -0
- package/expresivo/ExpKeyButton/index.d.ts +3 -0
- package/expresivo/ExpKeyButton/index.d.ts.map +1 -0
- package/expresivo/ExpKeyButton/index.js +2 -0
- package/expresivo/ExpKeyButton/index.js.map +1 -0
- package/expresivo/ExpLadder/ExpLadder.d.ts +42 -0
- package/expresivo/ExpLadder/ExpLadder.d.ts.map +1 -0
- package/expresivo/ExpLadder/ExpLadder.jsx +82 -0
- package/expresivo/ExpLadder/ExpLadder.jsx.map +1 -0
- package/expresivo/ExpLadder/index.d.ts +3 -0
- package/expresivo/ExpLadder/index.d.ts.map +1 -0
- package/expresivo/ExpLadder/index.js +2 -0
- package/expresivo/ExpLadder/index.js.map +1 -0
- package/expresivo/ExpLensIcon/ExpLensIcon.d.ts +29 -0
- package/expresivo/ExpLensIcon/ExpLensIcon.d.ts.map +1 -0
- package/expresivo/ExpLensIcon/ExpLensIcon.jsx +29 -0
- package/expresivo/ExpLensIcon/ExpLensIcon.jsx.map +1 -0
- package/expresivo/ExpLensIcon/index.d.ts +3 -0
- package/expresivo/ExpLensIcon/index.d.ts.map +1 -0
- package/expresivo/ExpLensIcon/index.js +2 -0
- package/expresivo/ExpLensIcon/index.js.map +1 -0
- package/expresivo/ExpLogo/ExpLogo.d.ts +33 -0
- package/expresivo/ExpLogo/ExpLogo.d.ts.map +1 -0
- package/expresivo/ExpLogo/ExpLogo.jsx +42 -0
- package/expresivo/ExpLogo/ExpLogo.jsx.map +1 -0
- package/expresivo/ExpLogo/catalog.d.ts +17 -0
- package/expresivo/ExpLogo/catalog.d.ts.map +1 -0
- package/expresivo/ExpLogo/catalog.js +11 -0
- package/expresivo/ExpLogo/catalog.js.map +1 -0
- package/expresivo/ExpLogo/index.d.ts +4 -0
- package/expresivo/ExpLogo/index.d.ts.map +1 -0
- package/expresivo/ExpLogo/index.js +2 -0
- package/expresivo/ExpLogo/index.js.map +1 -0
- package/expresivo/ExpMascot/ExpMascot.d.ts +42 -0
- package/expresivo/ExpMascot/ExpMascot.d.ts.map +1 -0
- package/expresivo/ExpMascot/ExpMascot.jsx +46 -0
- package/expresivo/ExpMascot/ExpMascot.jsx.map +1 -0
- package/expresivo/ExpMascot/catalog.d.ts +12 -0
- package/expresivo/ExpMascot/catalog.d.ts.map +1 -0
- package/expresivo/ExpMascot/catalog.js +41 -0
- package/expresivo/ExpMascot/catalog.js.map +1 -0
- package/expresivo/ExpMascot/index.d.ts +4 -0
- package/expresivo/ExpMascot/index.d.ts.map +1 -0
- package/expresivo/ExpMascot/index.js +2 -0
- package/expresivo/ExpMascot/index.js.map +1 -0
- package/expresivo/ExpMedalBadge/ExpMedalBadge.d.ts +29 -0
- package/expresivo/ExpMedalBadge/ExpMedalBadge.d.ts.map +1 -0
- package/expresivo/ExpMedalBadge/ExpMedalBadge.jsx +87 -0
- package/expresivo/ExpMedalBadge/ExpMedalBadge.jsx.map +1 -0
- package/expresivo/ExpMedalBadge/index.d.ts +3 -0
- package/expresivo/ExpMedalBadge/index.d.ts.map +1 -0
- package/expresivo/ExpMedalBadge/index.js +2 -0
- package/expresivo/ExpMedalBadge/index.js.map +1 -0
- package/expresivo/ExpPageHero/ExpPageHero.d.ts +82 -0
- package/expresivo/ExpPageHero/ExpPageHero.d.ts.map +1 -0
- package/expresivo/ExpPageHero/ExpPageHero.jsx +113 -0
- package/expresivo/ExpPageHero/ExpPageHero.jsx.map +1 -0
- package/expresivo/ExpPageHero/index.d.ts +3 -0
- package/expresivo/ExpPageHero/index.d.ts.map +1 -0
- package/expresivo/ExpPageHero/index.js +2 -0
- package/expresivo/ExpPageHero/index.js.map +1 -0
- package/expresivo/ExpPeek/ExpPeek.d.ts +56 -0
- package/expresivo/ExpPeek/ExpPeek.d.ts.map +1 -0
- package/expresivo/ExpPeek/ExpPeek.jsx +131 -0
- package/expresivo/ExpPeek/ExpPeek.jsx.map +1 -0
- package/expresivo/ExpPeek/index.d.ts +3 -0
- package/expresivo/ExpPeek/index.d.ts.map +1 -0
- package/expresivo/ExpPeek/index.js +2 -0
- package/expresivo/ExpPeek/index.js.map +1 -0
- package/expresivo/ExpPillButton/ExpPillButton.d.ts +47 -0
- package/expresivo/ExpPillButton/ExpPillButton.d.ts.map +1 -0
- package/expresivo/ExpPillButton/ExpPillButton.jsx +77 -0
- package/expresivo/ExpPillButton/ExpPillButton.jsx.map +1 -0
- package/expresivo/ExpPillButton/index.d.ts +3 -0
- package/expresivo/ExpPillButton/index.d.ts.map +1 -0
- package/expresivo/ExpPillButton/index.js +2 -0
- package/expresivo/ExpPillButton/index.js.map +1 -0
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts +28 -0
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.d.ts.map +1 -0
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx +32 -0
- package/expresivo/ExpRepoAvatar/ExpRepoAvatar.jsx.map +1 -0
- package/expresivo/ExpRepoAvatar/catalog.d.ts +6 -0
- package/expresivo/ExpRepoAvatar/catalog.d.ts.map +1 -0
- package/expresivo/ExpRepoAvatar/catalog.js +18 -0
- package/expresivo/ExpRepoAvatar/catalog.js.map +1 -0
- package/expresivo/ExpRepoAvatar/index.d.ts +4 -0
- package/expresivo/ExpRepoAvatar/index.d.ts.map +1 -0
- package/expresivo/ExpRepoAvatar/index.js +2 -0
- package/expresivo/ExpRepoAvatar/index.js.map +1 -0
- package/expresivo/ExpScope/ExpScope.d.ts +63 -0
- package/expresivo/ExpScope/ExpScope.d.ts.map +1 -0
- package/expresivo/ExpScope/ExpScope.jsx +67 -0
- package/expresivo/ExpScope/ExpScope.jsx.map +1 -0
- package/expresivo/ExpScope/index.d.ts +3 -0
- package/expresivo/ExpScope/index.d.ts.map +1 -0
- package/expresivo/ExpScope/index.js +2 -0
- package/expresivo/ExpScope/index.js.map +1 -0
- package/expresivo/ExpScoreRing/ExpScoreRing.d.ts +35 -0
- package/expresivo/ExpScoreRing/ExpScoreRing.d.ts.map +1 -0
- package/expresivo/ExpScoreRing/ExpScoreRing.jsx +67 -0
- package/expresivo/ExpScoreRing/ExpScoreRing.jsx.map +1 -0
- package/expresivo/ExpScoreRing/index.d.ts +3 -0
- package/expresivo/ExpScoreRing/index.d.ts.map +1 -0
- package/expresivo/ExpScoreRing/index.js +2 -0
- package/expresivo/ExpScoreRing/index.js.map +1 -0
- package/expresivo/ExpSearchField/ExpSearchField.d.ts +49 -0
- package/expresivo/ExpSearchField/ExpSearchField.d.ts.map +1 -0
- package/expresivo/ExpSearchField/ExpSearchField.jsx +81 -0
- package/expresivo/ExpSearchField/ExpSearchField.jsx.map +1 -0
- package/expresivo/ExpSearchField/index.d.ts +3 -0
- package/expresivo/ExpSearchField/index.d.ts.map +1 -0
- package/expresivo/ExpSearchField/index.js +2 -0
- package/expresivo/ExpSearchField/index.js.map +1 -0
- package/expresivo/ExpStatIcon/ExpStatIcon.d.ts +25 -0
- package/expresivo/ExpStatIcon/ExpStatIcon.d.ts.map +1 -0
- package/expresivo/ExpStatIcon/ExpStatIcon.jsx +29 -0
- package/expresivo/ExpStatIcon/ExpStatIcon.jsx.map +1 -0
- package/expresivo/ExpStatIcon/catalog.d.ts +6 -0
- package/expresivo/ExpStatIcon/catalog.d.ts.map +1 -0
- package/expresivo/ExpStatIcon/catalog.js +16 -0
- package/expresivo/ExpStatIcon/catalog.js.map +1 -0
- package/expresivo/ExpStatIcon/index.d.ts +4 -0
- package/expresivo/ExpStatIcon/index.d.ts.map +1 -0
- package/expresivo/ExpStatIcon/index.js +2 -0
- package/expresivo/ExpStatIcon/index.js.map +1 -0
- package/expresivo/ExpStepBadge/ExpStepBadge.d.ts +25 -0
- package/expresivo/ExpStepBadge/ExpStepBadge.d.ts.map +1 -0
- package/expresivo/ExpStepBadge/ExpStepBadge.jsx +30 -0
- package/expresivo/ExpStepBadge/ExpStepBadge.jsx.map +1 -0
- package/expresivo/ExpStepBadge/index.d.ts +2 -0
- package/expresivo/ExpStepBadge/index.d.ts.map +1 -0
- package/expresivo/ExpStepBadge/index.js +2 -0
- package/expresivo/ExpStepBadge/index.js.map +1 -0
- package/expresivo/index.d.ts +22 -0
- package/expresivo/index.d.ts.map +1 -0
- package/expresivo/index.js +22 -0
- package/expresivo/index.js.map +1 -0
- package/expresivo/shared/glyphs.d.ts +20 -0
- package/expresivo/shared/glyphs.d.ts.map +1 -0
- package/expresivo/shared/glyphs.jsx +60 -0
- package/expresivo/shared/glyphs.jsx.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { Logo } from '@clicoh/orion-library';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { useExpScope } from '../ExpScope/ExpScope';
|
|
5
|
+
import { logoCatalog } from './catalog';
|
|
6
|
+
/**
|
|
7
|
+
* Logo of a clicOH product, for `Header.logo`. From `lg` up it shows the full
|
|
8
|
+
* logo, light or dark after the `dark` class on `<html>` (not the system
|
|
9
|
+
* preference); below `lg`, only the symbol. The files are drawn at their own
|
|
10
|
+
* size: never redrawn, recolored, stretched or padded.
|
|
11
|
+
*
|
|
12
|
+
* Outside an `ExpScope` it falls back to the core clicOH `Logo`.
|
|
13
|
+
*
|
|
14
|
+
* @component
|
|
15
|
+
* @example
|
|
16
|
+
* <DashboardTemplate
|
|
17
|
+
* headerProps={{ logo: <ExpLogo name="oculus" alt="Oculus clicOH" /> }}
|
|
18
|
+
* >
|
|
19
|
+
* {children}
|
|
20
|
+
* </DashboardTemplate>
|
|
21
|
+
*
|
|
22
|
+
* @param {ExpLogoProps} props - The properties of the ExpLogo component.
|
|
23
|
+
* @param {ExpLogoName} props.name - Product whose logo is shown.
|
|
24
|
+
* @param {string} props.alt - Accessible name of the logo.
|
|
25
|
+
* @param {string} [props.className] - Classes for the wrapper.
|
|
26
|
+
*
|
|
27
|
+
* @returns {ReactNode} The product logo, or the core `Logo` outside an `ExpScope`.
|
|
28
|
+
*/
|
|
29
|
+
export function ExpLogo({ name, alt, className }) {
|
|
30
|
+
const inScope = useExpScope();
|
|
31
|
+
if (!inScope)
|
|
32
|
+
return <Logo aria-label={alt} className={className}/>;
|
|
33
|
+
const { light, dark, icon } = logoCatalog[name];
|
|
34
|
+
return (<span className={clsx('inline-flex shrink-0 items-center', className)}>
|
|
35
|
+
<span className="hidden lg:block">
|
|
36
|
+
<img src={light.src} alt={alt} width={light.width} height={light.height} draggable={false} className="block dark:hidden"/>
|
|
37
|
+
<img src={dark.src} alt={alt} width={dark.width} height={dark.height} draggable={false} className="hidden dark:block"/>
|
|
38
|
+
</span>
|
|
39
|
+
<img src={icon.src} alt={alt} width={icon.width} height={icon.height} draggable={false} className="block lg:hidden"/>
|
|
40
|
+
</span>);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ExpLogo.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpLogo.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/ExpLogo.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAoB,WAAW,EAAE,MAAM,WAAW,CAAC;AAS1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAgB;IAC5D,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,EAAG,CAAC;IAErE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhD,OAAO,CACL,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mCAAmC,EAAE,SAAS,CAAC,CAAC,CACpE;MAAA,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAC/B;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CACf,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CACnB,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CACrB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAE/B;QAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,mBAAmB,EAEjC;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CACd,GAAG,CAAC,CAAC,GAAG,CAAC,CACT,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,iBAAiB,EAE/B;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { StaticImageData } from 'next/image';
|
|
2
|
+
/** clicOH products with a logo of their own, named like their files. */
|
|
3
|
+
export type ExpLogoName = 'oculus';
|
|
4
|
+
export type ExpLogoFiles = {
|
|
5
|
+
/** Full logo for light backgrounds, shown from `lg` up. */
|
|
6
|
+
light: StaticImageData;
|
|
7
|
+
/** The same logo with white lettering, for dark backgrounds. */
|
|
8
|
+
dark: StaticImageData;
|
|
9
|
+
/** Only the symbol, shown below `lg`. One file for light and dark. */
|
|
10
|
+
icon: StaticImageData;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The files come from a generator and go through SVGO: they are not edited by
|
|
14
|
+
* hand. When one has to change, ask design to generate it again.
|
|
15
|
+
*/
|
|
16
|
+
export declare const logoCatalog: Record<ExpLogoName, ExpLogoFiles>;
|
|
17
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKlD,wEAAwE;AACxE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEnC,MAAM,MAAM,YAAY,GAAG;IACzB,2DAA2D;IAC3D,KAAK,EAAE,eAAe,CAAC;IACvB,gEAAgE;IAChE,IAAI,EAAE,eAAe,CAAC;IACtB,sEAAsE;IACtE,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CAEzD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import oculusIcon from '@clicoh/orion-library/assets/logos/oculus-icon.svg';
|
|
2
|
+
import oculusLogoDark from '@clicoh/orion-library/assets/logos/oculus-logo-sm-dark.svg';
|
|
3
|
+
import oculusLogo from '@clicoh/orion-library/assets/logos/oculus-logo-sm.svg';
|
|
4
|
+
/**
|
|
5
|
+
* The files come from a generator and go through SVGO: they are not edited by
|
|
6
|
+
* hand. When one has to change, ask design to generate it again.
|
|
7
|
+
*/
|
|
8
|
+
export const logoCatalog = {
|
|
9
|
+
oculus: { light: oculusLogo, dark: oculusLogoDark, icon: oculusIcon },
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/catalog.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,oDAAoD,CAAC;AAC5E,OAAO,cAAc,MAAM,4DAA4D,CAAC;AACxF,OAAO,UAAU,MAAM,uDAAuD,CAAC;AAc/E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsC;IAC5D,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE;CACtE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpLogo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type ExpMascotName } from './catalog';
|
|
3
|
+
export type ExpMascotMotion = 'still' | 'float' | 'hang';
|
|
4
|
+
export type ExpMascotProps = {
|
|
5
|
+
name: ExpMascotName;
|
|
6
|
+
/** Width and height on screen, in pixels. */
|
|
7
|
+
size?: number;
|
|
8
|
+
motion?: ExpMascotMotion;
|
|
9
|
+
} & Omit<HTMLAttributes<HTMLSpanElement>, 'children'>;
|
|
10
|
+
/**
|
|
11
|
+
* One of the official clicOH mascots, drawn from its file as is: never
|
|
12
|
+
* redrawn, recolored or cropped.
|
|
13
|
+
*
|
|
14
|
+
* Mascots are decorative and hidden from screen readers, so the text next to
|
|
15
|
+
* them must carry the message. Use one per state (empty, loading, error, no
|
|
16
|
+
* permission, success), above the title and the copy, or one in the page
|
|
17
|
+
* header (`ExpPageHero`), even when the page shows data; never among the data
|
|
18
|
+
* itself (rows, cards, charts). Suggested sizes: 96–128px for desktop empty
|
|
19
|
+
* states, 80px on small screens, 48–64px inside a message or a toast.
|
|
20
|
+
*
|
|
21
|
+
* In dark mode Bugi sits on a light disc so it reads on the dark background;
|
|
22
|
+
* Oculus and Fixi need none.
|
|
23
|
+
*
|
|
24
|
+
* Renders nothing outside an `ExpScope`, or when the scope hides mascots.
|
|
25
|
+
*
|
|
26
|
+
* @component
|
|
27
|
+
* @example
|
|
28
|
+
* <ExpMascot name="oculus-01-feliz" size={112} />
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* // Hanging from a thread, swinging gently
|
|
32
|
+
* <ExpMascot name="fixi-06-celebrando" size={56} motion="hang" />
|
|
33
|
+
*
|
|
34
|
+
* @param {Object} props - The properties of the ExpMascot component.
|
|
35
|
+
* @param {ExpMascotName} props.name - Mascot and pose, as in `oculus-01-feliz`.
|
|
36
|
+
* @param {number} [props.size=112] - Width and height on screen, in pixels.
|
|
37
|
+
* @param {'still' | 'float' | 'hang'} [props.motion='still'] - `float` bobs up and down; `hang` hangs it from a thread and swings it. Both stop with reduced motion.
|
|
38
|
+
*
|
|
39
|
+
* @returns {ReactNode} The mascot, or `null` outside an `ExpScope`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function ExpMascot({ name, size, motion, ...restProps }: ExpMascotProps): ReactNode;
|
|
42
|
+
//# sourceMappingURL=ExpMascot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpMascot.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,WAAW,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,aAAa,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,IAAU,EACV,MAAgB,EAChB,GAAG,SAAS,EACb,EAAE,cAAc,GAAG,SAAS,CAiC5B"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { useExpScopeOptions } from '../ExpScope/ExpScope';
|
|
4
|
+
import { mascotCatalog } from './catalog';
|
|
5
|
+
/**
|
|
6
|
+
* One of the official clicOH mascots, drawn from its file as is: never
|
|
7
|
+
* redrawn, recolored or cropped.
|
|
8
|
+
*
|
|
9
|
+
* Mascots are decorative and hidden from screen readers, so the text next to
|
|
10
|
+
* them must carry the message. Use one per state (empty, loading, error, no
|
|
11
|
+
* permission, success), above the title and the copy, or one in the page
|
|
12
|
+
* header (`ExpPageHero`), even when the page shows data; never among the data
|
|
13
|
+
* itself (rows, cards, charts). Suggested sizes: 96–128px for desktop empty
|
|
14
|
+
* states, 80px on small screens, 48–64px inside a message or a toast.
|
|
15
|
+
*
|
|
16
|
+
* In dark mode Bugi sits on a light disc so it reads on the dark background;
|
|
17
|
+
* Oculus and Fixi need none.
|
|
18
|
+
*
|
|
19
|
+
* Renders nothing outside an `ExpScope`, or when the scope hides mascots.
|
|
20
|
+
*
|
|
21
|
+
* @component
|
|
22
|
+
* @example
|
|
23
|
+
* <ExpMascot name="oculus-01-feliz" size={112} />
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* // Hanging from a thread, swinging gently
|
|
27
|
+
* <ExpMascot name="fixi-06-celebrando" size={56} motion="hang" />
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} props - The properties of the ExpMascot component.
|
|
30
|
+
* @param {ExpMascotName} props.name - Mascot and pose, as in `oculus-01-feliz`.
|
|
31
|
+
* @param {number} [props.size=112] - Width and height on screen, in pixels.
|
|
32
|
+
* @param {'still' | 'float' | 'hang'} [props.motion='still'] - `float` bobs up and down; `hang` hangs it from a thread and swings it. Both stop with reduced motion.
|
|
33
|
+
*
|
|
34
|
+
* @returns {ReactNode} The mascot, or `null` outside an `ExpScope`.
|
|
35
|
+
*/
|
|
36
|
+
export function ExpMascot({ name, size = 112, motion = 'still', ...restProps }) {
|
|
37
|
+
const options = useExpScopeOptions();
|
|
38
|
+
if (!options || options.mascots === 'hidden')
|
|
39
|
+
return null;
|
|
40
|
+
return (<span {...restProps} aria-hidden="true" className={clsx('inline-flex shrink-0 flex-col items-center', motion === 'float' && 'exp-float', motion === 'hang' && 'exp-hang', restProps.className)}>
|
|
41
|
+
{motion === 'hang' && (<span className="bg-lavender-1 dark:bg-lavender-dark-1 h-3.5 w-[1.5px]"/>)}
|
|
42
|
+
<img src={mascotCatalog[name].src} alt="" width={size} height={size} draggable={false} className={clsx('block object-contain', name.startsWith('bugi-') &&
|
|
43
|
+
'dark:bg-gray-6 dark:rounded-full dark:p-[8%]')}/>
|
|
44
|
+
</span>);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=ExpMascot.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpMascot.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/ExpMascot.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAsB,aAAa,EAAE,MAAM,WAAW,CAAC;AAW9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,SAAS,CAAC,EACxB,IAAI,EACJ,IAAI,GAAG,GAAG,EACV,MAAM,GAAG,OAAO,EAChB,GAAG,SAAS,EACG;IACf,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IAErC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1D,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,WAAW,CAAC,MAAM,CAClB,SAAS,CAAC,CAAC,IAAI,CACb,4CAA4C,EAC5C,MAAM,KAAK,OAAO,IAAI,WAAW,EACjC,MAAM,KAAK,MAAM,IAAI,UAAU,EAC/B,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,MAAM,KAAK,MAAM,IAAI,CACpB,CAAC,IAAI,CAAC,SAAS,CAAC,uDAAuD,EAAG,CAC3E,CACD;MAAA,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC7B,GAAG,CAAC,EAAE,CACN,KAAK,CAAC,CAAC,IAAI,CAAC,CACZ,MAAM,CAAC,CAAC,IAAI,CAAC,CACb,SAAS,CAAC,CAAC,KAAK,CAAC,CACjB,SAAS,CAAC,CAAC,IAAI,CACb,sBAAsB,EACtB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,8CAA8C,CACjD,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { StaticImageData } from 'next/image';
|
|
2
|
+
/**
|
|
3
|
+
* Official clicOH mascots, named `<mascot>-<NN>-<pose>` like their files.
|
|
4
|
+
* `oculus` is the agent, `bugi` the problem and `fixi` the fix.
|
|
5
|
+
*/
|
|
6
|
+
export type ExpMascotName = 'oculus-01-feliz' | 'oculus-02-investigando' | 'oculus-03-dudando' | 'oculus-04-analizando-documento' | 'oculus-06-celebrando' | 'oculus-07-buscando-rapido' | 'oculus-08-satisfecho' | 'bugi-01-alerta' | 'bugi-02-investigando' | 'bugi-05-sorprendido' | 'fixi-01-feliz' | 'fixi-02-investigando' | 'fixi-03-dudando' | 'fixi-04-reparando' | 'fixi-05-sorprendido' | 'fixi-06-celebrando' | 'fixi-07-corriendo';
|
|
7
|
+
/**
|
|
8
|
+
* Oculus and Bugi are vectors. Fixi is a 256px WebP, sharp up to 128px on
|
|
9
|
+
* high-density screens.
|
|
10
|
+
*/
|
|
11
|
+
export declare const mascotCatalog: Record<ExpMascotName, StaticImageData>;
|
|
12
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAmBlD;;;GAGG;AACH,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,wBAAwB,GACxB,mBAAmB,GACnB,gCAAgC,GAChC,sBAAsB,GACtB,2BAA2B,GAC3B,sBAAsB,GACtB,gBAAgB,GAChB,sBAAsB,GACtB,qBAAqB,GACrB,eAAe,GACf,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,eAAe,CAkBhE,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import bugi01 from '@clicoh/orion-library/assets/mascotas/svg/bugi-mascota-01-alerta.svg';
|
|
2
|
+
import bugi02 from '@clicoh/orion-library/assets/mascotas/svg/bugi-mascota-02-investigando.svg';
|
|
3
|
+
import bugi05 from '@clicoh/orion-library/assets/mascotas/svg/bugi-mascota-05-sorprendido.svg';
|
|
4
|
+
import oculus01 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-01-feliz.svg';
|
|
5
|
+
import oculus02 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-02-investigando.svg';
|
|
6
|
+
import oculus03 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-03-dudando.svg';
|
|
7
|
+
import oculus04 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-04-analizando-documento.svg';
|
|
8
|
+
import oculus06 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-06-celebrando.svg';
|
|
9
|
+
import oculus07 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-07-buscando-rapido.svg';
|
|
10
|
+
import oculus08 from '@clicoh/orion-library/assets/mascotas/svg/oculus-mascota-08-satisfecho.svg';
|
|
11
|
+
import fixi01 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-01-feliz-sm.webp';
|
|
12
|
+
import fixi02 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-02-investigando-sm.webp';
|
|
13
|
+
import fixi03 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-03-dudando-sm.webp';
|
|
14
|
+
import fixi04 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-04-reparando-sm.webp';
|
|
15
|
+
import fixi05 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-05-sorprendido-sm.webp';
|
|
16
|
+
import fixi06 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-06-celebrando-sm.webp';
|
|
17
|
+
import fixi07 from '@clicoh/orion-library/assets/mascotas/webp/fixi-mascota-07-corriendo-sm.webp';
|
|
18
|
+
/**
|
|
19
|
+
* Oculus and Bugi are vectors. Fixi is a 256px WebP, sharp up to 128px on
|
|
20
|
+
* high-density screens.
|
|
21
|
+
*/
|
|
22
|
+
export const mascotCatalog = {
|
|
23
|
+
'oculus-01-feliz': oculus01,
|
|
24
|
+
'oculus-02-investigando': oculus02,
|
|
25
|
+
'oculus-03-dudando': oculus03,
|
|
26
|
+
'oculus-04-analizando-documento': oculus04,
|
|
27
|
+
'oculus-06-celebrando': oculus06,
|
|
28
|
+
'oculus-07-buscando-rapido': oculus07,
|
|
29
|
+
'oculus-08-satisfecho': oculus08,
|
|
30
|
+
'bugi-01-alerta': bugi01,
|
|
31
|
+
'bugi-02-investigando': bugi02,
|
|
32
|
+
'bugi-05-sorprendido': bugi05,
|
|
33
|
+
'fixi-01-feliz': fixi01,
|
|
34
|
+
'fixi-02-investigando': fixi02,
|
|
35
|
+
'fixi-03-dudando': fixi03,
|
|
36
|
+
'fixi-04-reparando': fixi04,
|
|
37
|
+
'fixi-05-sorprendido': fixi05,
|
|
38
|
+
'fixi-06-celebrando': fixi06,
|
|
39
|
+
'fixi-07-corriendo': fixi07,
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/catalog.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,sEAAsE,CAAC;AAC1F,OAAO,MAAM,MAAM,4EAA4E,CAAC;AAChG,OAAO,MAAM,MAAM,2EAA2E,CAAC;AAC/F,OAAO,QAAQ,MAAM,uEAAuE,CAAC;AAC7F,OAAO,QAAQ,MAAM,8EAA8E,CAAC;AACpG,OAAO,QAAQ,MAAM,yEAAyE,CAAC;AAC/F,OAAO,QAAQ,MAAM,sFAAsF,CAAC;AAC5G,OAAO,QAAQ,MAAM,4EAA4E,CAAC;AAClG,OAAO,QAAQ,MAAM,iFAAiF,CAAC;AACvG,OAAO,QAAQ,MAAM,4EAA4E,CAAC;AAClG,OAAO,MAAM,MAAM,0EAA0E,CAAC;AAC9F,OAAO,MAAM,MAAM,iFAAiF,CAAC;AACrG,OAAO,MAAM,MAAM,4EAA4E,CAAC;AAChG,OAAO,MAAM,MAAM,8EAA8E,CAAC;AAClG,OAAO,MAAM,MAAM,gFAAgF,CAAC;AACpG,OAAO,MAAM,MAAM,+EAA+E,CAAC;AACnG,OAAO,MAAM,MAAM,8EAA8E,CAAC;AAyBlG;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAA2C;IACnE,iBAAiB,EAAE,QAAQ;IAC3B,wBAAwB,EAAE,QAAQ;IAClC,mBAAmB,EAAE,QAAQ;IAC7B,gCAAgC,EAAE,QAAQ;IAC1C,sBAAsB,EAAE,QAAQ;IAChC,2BAA2B,EAAE,QAAQ;IACrC,sBAAsB,EAAE,QAAQ;IAChC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,MAAM;IAC9B,qBAAqB,EAAE,MAAM;IAC7B,eAAe,EAAE,MAAM;IACvB,sBAAsB,EAAE,MAAM;IAC9B,iBAAiB,EAAE,MAAM;IACzB,mBAAmB,EAAE,MAAM;IAC3B,qBAAqB,EAAE,MAAM;IAC7B,oBAAoB,EAAE,MAAM;IAC5B,mBAAmB,EAAE,MAAM;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpMascot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type ExpMedalBadgeModifier = 'success' | 'warning' | 'error' | 'info' | 'progress' | 'disabled';
|
|
3
|
+
export type ExpMedalBadgeProps = {
|
|
4
|
+
modifier: ExpMedalBadgeModifier;
|
|
5
|
+
/** One character or a tiny icon inside the medal. */
|
|
6
|
+
glyph?: ReactNode;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
} & Omit<HTMLAttributes<HTMLSpanElement>, 'children'>;
|
|
9
|
+
/**
|
|
10
|
+
* Status badge drawn as an octagonal medal with a ribbon, pinned to a tinted
|
|
11
|
+
* pill. Same status modifiers as the core `Badge`; the label carries the
|
|
12
|
+
* message and the medal only decorates it.
|
|
13
|
+
*
|
|
14
|
+
* Outside an `ExpScope` it falls back to the core `Badge` with the same
|
|
15
|
+
* `modifier`.
|
|
16
|
+
*
|
|
17
|
+
* @component
|
|
18
|
+
* @example
|
|
19
|
+
* <ExpMedalBadge modifier="success" glyph="✓">Passed</ExpMedalBadge>
|
|
20
|
+
*
|
|
21
|
+
* @param {Object} props - The properties of the ExpMedalBadge component.
|
|
22
|
+
* @param {'success' | 'warning' | 'error' | 'info' | 'progress' | 'disabled'} props.modifier - Status color.
|
|
23
|
+
* @param {ReactNode} [props.glyph='•'] - One character or a tiny icon inside the medal.
|
|
24
|
+
* @param {ReactNode} props.children - Label of the status.
|
|
25
|
+
*
|
|
26
|
+
* @returns {ReactNode} The medal badge, or a core `Badge` outside an `ExpScope`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function ExpMedalBadge({ modifier, glyph, children, ...restProps }: ExpMedalBadgeProps): ReactNode;
|
|
29
|
+
//# sourceMappingURL=ExpMedalBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpMedalBadge.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMedalBadge/ExpMedalBadge.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,MAAM,MAAM,qBAAqB,GAC7B,SAAS,GACT,SAAS,GACT,OAAO,GACP,MAAM,GACN,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,qBAAqB,CAAC;IAChC,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,CAAC;AAgDtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAW,EACX,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,kBAAkB,GAAG,SAAS,CAkDhC"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import clsx from 'clsx';
|
|
3
|
+
import { Badge } from '@clicoh/orion-library';
|
|
4
|
+
import { useExpScope } from '../ExpScope/ExpScope';
|
|
5
|
+
// The ribbon and the pill label use the strong shade: the base `warning`
|
|
6
|
+
// and `success` hues sit below 4.5:1 on their tint.
|
|
7
|
+
const colorMap = {
|
|
8
|
+
success: {
|
|
9
|
+
ring: 'bg-success',
|
|
10
|
+
ribbon: 'bg-success-strong',
|
|
11
|
+
pill: 'border-success bg-success-1 text-success-strong dark:bg-success/16 dark:text-success',
|
|
12
|
+
},
|
|
13
|
+
warning: {
|
|
14
|
+
ring: 'bg-amber',
|
|
15
|
+
ribbon: 'bg-amber-strong',
|
|
16
|
+
pill: 'border-amber bg-warning-1 text-amber-strong dark:bg-warning/16 dark:text-amber',
|
|
17
|
+
},
|
|
18
|
+
error: {
|
|
19
|
+
ring: 'bg-error',
|
|
20
|
+
ribbon: 'bg-error-strong',
|
|
21
|
+
pill: 'border-error bg-error-1 text-error-strong dark:bg-error/16 dark:text-error',
|
|
22
|
+
},
|
|
23
|
+
info: {
|
|
24
|
+
ring: 'bg-info',
|
|
25
|
+
ribbon: 'bg-info-dark-3 dark:bg-info',
|
|
26
|
+
pill: 'border-info bg-info-1 text-info-dark-3 dark:bg-info/16 dark:text-info',
|
|
27
|
+
},
|
|
28
|
+
progress: {
|
|
29
|
+
ring: 'bg-lavender',
|
|
30
|
+
ribbon: 'bg-lavender',
|
|
31
|
+
pill: 'border-lavender bg-lavender-2 text-lavender dark:bg-lavender/18 dark:text-lavender',
|
|
32
|
+
},
|
|
33
|
+
disabled: {
|
|
34
|
+
ring: 'bg-gray-1',
|
|
35
|
+
ribbon: 'bg-gray-1',
|
|
36
|
+
pill: 'border-gray-1 bg-gray-6 text-gray-1 dark:bg-gray-2/16 dark:text-gray-2',
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
const glyphColorMap = {
|
|
40
|
+
success: 'text-success',
|
|
41
|
+
warning: 'text-amber',
|
|
42
|
+
error: 'text-error',
|
|
43
|
+
info: 'text-info',
|
|
44
|
+
progress: 'text-lavender',
|
|
45
|
+
disabled: 'text-gray-1 dark:text-gray-2',
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Status badge drawn as an octagonal medal with a ribbon, pinned to a tinted
|
|
49
|
+
* pill. Same status modifiers as the core `Badge`; the label carries the
|
|
50
|
+
* message and the medal only decorates it.
|
|
51
|
+
*
|
|
52
|
+
* Outside an `ExpScope` it falls back to the core `Badge` with the same
|
|
53
|
+
* `modifier`.
|
|
54
|
+
*
|
|
55
|
+
* @component
|
|
56
|
+
* @example
|
|
57
|
+
* <ExpMedalBadge modifier="success" glyph="✓">Passed</ExpMedalBadge>
|
|
58
|
+
*
|
|
59
|
+
* @param {Object} props - The properties of the ExpMedalBadge component.
|
|
60
|
+
* @param {'success' | 'warning' | 'error' | 'info' | 'progress' | 'disabled'} props.modifier - Status color.
|
|
61
|
+
* @param {ReactNode} [props.glyph='•'] - One character or a tiny icon inside the medal.
|
|
62
|
+
* @param {ReactNode} props.children - Label of the status.
|
|
63
|
+
*
|
|
64
|
+
* @returns {ReactNode} The medal badge, or a core `Badge` outside an `ExpScope`.
|
|
65
|
+
*/
|
|
66
|
+
export function ExpMedalBadge({ modifier, glyph = '•', children, ...restProps }) {
|
|
67
|
+
const inScope = useExpScope();
|
|
68
|
+
if (!inScope) {
|
|
69
|
+
return (<Badge {...restProps} modifier={modifier}>
|
|
70
|
+
{children}
|
|
71
|
+
</Badge>);
|
|
72
|
+
}
|
|
73
|
+
const colors = colorMap[modifier];
|
|
74
|
+
return (<span {...restProps} className={clsx('relative inline-flex h-[22px] items-center pl-2.5 whitespace-nowrap', restProps.className)}>
|
|
75
|
+
<span className={clsx('inline-flex h-[18px] items-center rounded-full border pr-2 pl-3.5 text-[11px] leading-4 font-semibold', colors.pill)}>
|
|
76
|
+
{children}
|
|
77
|
+
</span>
|
|
78
|
+
<span aria-hidden="true" className="absolute top-px left-0 size-5">
|
|
79
|
+
<span className={clsx('exp-medal-ribbon absolute top-3 left-[5px] h-[11px] w-2.5', colors.ribbon)}/>
|
|
80
|
+
<span className={clsx('exp-medal-octagon absolute inset-0', colors.ring)}/>
|
|
81
|
+
<span className={clsx('exp-medal-octagon absolute inset-0.5 flex items-center justify-center bg-white text-[10px] leading-none font-extrabold dark:bg-black', glyphColorMap[modifier])}>
|
|
82
|
+
{glyph}
|
|
83
|
+
</span>
|
|
84
|
+
</span>
|
|
85
|
+
</span>);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=ExpMedalBadge.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpMedalBadge.jsx","sourceRoot":"","sources":["../../src/expresivo/ExpMedalBadge/ExpMedalBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAmBnD,yEAAyE;AACzE,oDAAoD;AACpD,MAAM,QAAQ,GAA+C;IAC3D,OAAO,EAAE;QACP,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,mBAAmB;QAC3B,IAAI,EAAE,sFAAsF;KAC7F;IACD,OAAO,EAAE;QACP,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,gFAAgF;KACvF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,iBAAiB;QACzB,IAAI,EAAE,4EAA4E;KACnF;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,6BAA6B;QACrC,IAAI,EAAE,uEAAuE;KAC9E;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,aAAa;QACrB,IAAI,EAAE,oFAAoF;KAC3F;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,WAAW;QACnB,IAAI,EAAE,wEAAwE;KAC/E;CACF,CAAC;AAEF,MAAM,aAAa,GAA0C;IAC3D,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,YAAY;IACrB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,WAAW;IACjB,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,8BAA8B;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,GAAG,GAAG,EACX,QAAQ,EACR,GAAG,SAAS,EACO;IACnB,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAE9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CACL,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACvC;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,KAAK,CAAC,CACT,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAElC,OAAO,CACL,CAAC,IAAI,CACH,IAAI,SAAS,CAAC,CACd,SAAS,CAAC,CAAC,IAAI,CACb,qEAAqE,EACrE,SAAS,CAAC,SAAS,CACpB,CAAC,CAEF;MAAA,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,CACb,uGAAuG,EACvG,MAAM,CAAC,IAAI,CACZ,CAAC,CAEF;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,+BAA+B,CAChE;QAAA,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,CACb,2DAA2D,EAC3D,MAAM,CAAC,MAAM,CACd,CAAC,EAEJ;QAAA,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,CAAC,oCAAoC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAErE;QAAA,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,IAAI,CACb,sIAAsI,EACtI,aAAa,CAAC,QAAQ,CAAC,CACxB,CAAC,CAEF;UAAA,CAAC,KAAK,CACR;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpMedalBadge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EACV,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/expresivo/ExpMedalBadge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import type { ExpMascotName } from '../ExpMascot/catalog';
|
|
3
|
+
export type ExpPageHeroLevel = 'h3' | 'h4' | 'h5';
|
|
4
|
+
export type ExpPageHeroBubble = {
|
|
5
|
+
title?: ReactNode;
|
|
6
|
+
text?: ReactNode;
|
|
7
|
+
badge?: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export type ExpPageHeroCollapse = {
|
|
10
|
+
collapsed: boolean;
|
|
11
|
+
onToggle: () => void;
|
|
12
|
+
/** Accessible name while collapsed, such as "Expand header". */
|
|
13
|
+
expandLabel: string;
|
|
14
|
+
/** Accessible name while expanded, such as "Collapse header". */
|
|
15
|
+
collapseLabel: string;
|
|
16
|
+
};
|
|
17
|
+
export type ExpPageHeroProps = {
|
|
18
|
+
title: ReactNode;
|
|
19
|
+
eyebrow?: ReactNode;
|
|
20
|
+
headingLevel?: ExpPageHeroLevel;
|
|
21
|
+
titleAdornment?: ReactNode;
|
|
22
|
+
description?: ReactNode;
|
|
23
|
+
/** Content under the description, such as stat chips or a data line. */
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
actions?: ReactNode;
|
|
26
|
+
mascot?: ExpMascotName;
|
|
27
|
+
bubble?: ExpPageHeroBubble;
|
|
28
|
+
collapse?: ExpPageHeroCollapse;
|
|
29
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children'>;
|
|
30
|
+
/**
|
|
31
|
+
* Page header for the top of a screen, meant for the `heading` slot of
|
|
32
|
+
* `DashboardTemplate`: an eyebrow, the title, a description, optional content
|
|
33
|
+
* under it, and a mascot with a speech bubble on the right.
|
|
34
|
+
*
|
|
35
|
+
* On wide screens it draws a band with a dotted lavender background. With
|
|
36
|
+
* `collapse`, a corner button tucks it down to the title, and the mascot hangs
|
|
37
|
+
* from a thread instead; the consumer keeps the state. On small screens it is
|
|
38
|
+
* a plain title row without eyebrow, description, mascot or bubble, and
|
|
39
|
+
* `collapse` has no effect. Children still show there.
|
|
40
|
+
*
|
|
41
|
+
* Outside an `ExpScope` it renders the core title row of `DashboardTemplate`:
|
|
42
|
+
* title, adornment, description, children and actions.
|
|
43
|
+
*
|
|
44
|
+
* @component
|
|
45
|
+
* @example
|
|
46
|
+
* <ExpPageHero
|
|
47
|
+
* eyebrow="Case memory"
|
|
48
|
+
* title="Cases"
|
|
49
|
+
* description="Review past diagnoses before starting from scratch."
|
|
50
|
+
* mascot="fixi-02-investigando"
|
|
51
|
+
* bubble={{ title: 'Lead found', text: 'Search by ticket or symptom.' }}
|
|
52
|
+
* />
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // Collapsible, with the state kept by the consumer
|
|
56
|
+
* <ExpPageHero
|
|
57
|
+
* title="Cases"
|
|
58
|
+
* mascot="fixi-02-investigando"
|
|
59
|
+
* collapse={{
|
|
60
|
+
* collapsed,
|
|
61
|
+
* onToggle: () => setCollapsed(!collapsed),
|
|
62
|
+
* expandLabel: 'Expand header',
|
|
63
|
+
* collapseLabel: 'Collapse header',
|
|
64
|
+
* }}
|
|
65
|
+
* />
|
|
66
|
+
*
|
|
67
|
+
* @param {Object} props - The properties of the ExpPageHero component.
|
|
68
|
+
* @param {ReactNode} props.title - Page title.
|
|
69
|
+
* @param {ReactNode} [props.eyebrow] - Short uppercase line above the title, only on wide screens.
|
|
70
|
+
* @param {'h3' | 'h4' | 'h5'} [props.headingLevel='h3'] - Heading level of the title.
|
|
71
|
+
* @param {ReactNode} [props.titleAdornment] - Content next to the title, such as a `Badge`.
|
|
72
|
+
* @param {ReactNode} [props.description] - Text under the title, only on wide screens; hidden while collapsed.
|
|
73
|
+
* @param {ReactNode} [props.children] - Content under the description, such as stat chips; hidden while collapsed.
|
|
74
|
+
* @param {ReactNode} [props.actions] - Content on the right, such as buttons; it moves under the title on small screens.
|
|
75
|
+
* @param {ExpMascotName} [props.mascot] - Mascot on the right, 104px; 56px and hanging while collapsed.
|
|
76
|
+
* @param {ExpPageHeroBubble} [props.bubble] - Speech bubble next to the mascot: `title`, `text` and `badge`.
|
|
77
|
+
* @param {ExpPageHeroCollapse} [props.collapse] - Makes the header collapsible: `collapsed`, `onToggle`, `expandLabel` and `collapseLabel`.
|
|
78
|
+
*
|
|
79
|
+
* @returns {ReactNode} The page header.
|
|
80
|
+
*/
|
|
81
|
+
export declare function ExpPageHero({ title, eyebrow, headingLevel, titleAdornment, description, children, actions, mascot, bubble, collapse, ...restProps }: ExpPageHeroProps): ReactNode;
|
|
82
|
+
//# sourceMappingURL=ExpPageHero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpPageHero.d.ts","sourceRoot":"","sources":["../../src/expresivo/ExpPageHero/ExpPageHero.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAS,MAAM,OAAO,CAAC;AAKnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,YAAmB,EACnB,cAAc,EACd,WAAW,EACX,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,SAAS,EACb,EAAE,gBAAgB,GAAG,SAAS,CAmH9B"}
|