themelia-ui 3.0.0 → 3.2.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/.agents/skills/themelia-ui/SKILL.md +60 -33
- package/.agents/skills/themelia-ui/manifest.json +23 -0
- package/.agents/skills/themelia-ui/references/api-compatibility.md +5 -4
- package/.agents/skills/themelia-ui/references/blocks.md +123 -0
- package/.agents/skills/themelia-ui/references/composition-ladder.md +8 -8
- package/.agents/skills/themelia-ui/references/composition.md +100 -19
- package/.agents/skills/themelia-ui/references/forms.md +23 -3
- package/.agents/skills/themelia-ui/references/framework-wiring.md +41 -13
- package/.agents/skills/themelia-ui/references/i18n.md +4 -2
- package/.agents/skills/themelia-ui/references/imports.md +104 -104
- package/.agents/skills/themelia-ui/references/installation.md +60 -31
- package/.agents/skills/themelia-ui/references/migration.md +156 -5
- package/.agents/skills/themelia-ui/references/provider-and-scoping.md +37 -25
- package/.agents/skills/themelia-ui/references/reference-workflows.md +43 -0
- package/.agents/skills/themelia-ui/references/structure-and-spacing.md +147 -0
- package/.agents/skills/themelia-ui/references/theming.md +174 -131
- package/.agents/skills/themelia-ui/references/troubleshooting.md +88 -30
- package/.agents/skills/themelia-ui/references/verification.md +60 -5
- package/CHANGELOG.md +212 -0
- package/README.md +48 -60
- package/dist/accordion-CHuzMmWL.js +143 -0
- package/dist/{action-menu-BNLURfMK.js → action-menu-BwiL_F6I.js} +35 -33
- package/dist/{alert-dialog-BMVo6Z-8.js → alert-dialog-Cg2HhuBe.js} +1 -1
- package/dist/avatar-Dc_BNYfB.js +93 -0
- package/dist/badge-VlJVZjdm.js +45 -0
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/alert-dialog.js +1 -1
- package/dist/base/aspect-ratio.js +3 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +2 -2
- package/dist/base/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +1 -1
- package/dist/base/carousel.js +6 -4
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/context-menu.js +22 -21
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +1 -1
- package/dist/base/dialog.js +1 -1
- package/dist/base/display.js +1 -1
- package/dist/base/dropdown-menu.js +1 -1
- package/dist/base/feedback.js +1 -1
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +1 -1
- package/dist/base/hover-card.js +26 -23
- package/dist/base/input-group.js +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/label.js +1 -1
- package/dist/base/menubar.js +20 -14
- package/dist/base/navigation-menu.js +47 -38
- package/dist/base/navigation.js +1 -1
- package/dist/base/otp-input.js +36 -30
- package/dist/base/overlay.js +1 -1
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +51 -47
- package/dist/base/repeaters.js +1 -1
- package/dist/base/resizable.js +2 -0
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +1 -1
- package/dist/base/timeline.js +1 -1
- package/dist/base/toaster.js +1 -1
- package/dist/base/toggle.js +21 -15
- package/dist/base/toolbar.js +1 -1
- package/dist/base/tooltip.js +1 -1
- package/dist/base/typography.js +2 -2
- package/dist/base/upload.js +1 -1
- package/dist/base/value-inputs.js +1 -1
- package/dist/{batch-action-bar-BZYNKXdV.js → batch-action-bar-DZVMVW83.js} +11 -8
- package/dist/{admin/patterns → blocks/admin}/access.js +79 -76
- package/dist/blocks/admin/commerce.js +2493 -0
- package/dist/{patterns → blocks}/analytics.js +312 -303
- package/dist/{patterns → blocks}/onboarding.js +27 -23
- package/dist/{patterns → blocks}/timelines.js +1 -1
- package/dist/buttons-BX2JfL5X.js +173 -0
- package/dist/cards-Ddhz43Bz.js +279 -0
- package/dist/chart-BkK3Xm10.js +201 -0
- package/dist/choice-inputs-NwRxvmZN.js +694 -0
- package/dist/combobox-519ubijc.js +292 -0
- package/dist/command-JjApYFds.js +156 -0
- package/dist/comments-CCQ2QRaU.js +1443 -0
- package/dist/components/base/action-menu/action-menu.d.ts +1 -1
- package/dist/components/base/action-menu/action-menu.types.d.ts +2 -2
- package/dist/components/base/avatar/avatar.d.ts +5 -2
- package/dist/components/base/badge/badge.d.ts +10 -10
- package/dist/components/base/badge/badge.variants.d.ts +1 -2
- package/dist/components/base/badge/index.d.ts +1 -2
- package/dist/components/base/buttons/button.d.ts +9 -8
- package/dist/components/base/buttons/button.types.d.ts +2 -2
- package/dist/components/base/buttons/index.d.ts +1 -1
- package/dist/components/base/buttons/text-button.d.ts +1 -1
- package/dist/components/base/cards/card-actions.d.ts +1 -1
- package/dist/components/base/cards/card.d.ts +3 -1
- package/dist/components/base/cards/partials/card-header.d.ts +2 -1
- package/dist/components/base/choice-inputs/choice.types.d.ts +2 -2
- package/dist/components/base/choice-inputs/partials/choice-parts.d.ts +3 -3
- package/dist/components/base/command/command.d.ts +5 -2
- package/dist/components/base/display/icon-badge.d.ts +5 -3
- package/dist/components/base/display/index.d.ts +1 -1
- package/dist/components/base/display/metadata-list.d.ts +6 -6
- package/dist/components/base/display/metadata-value.d.ts +1 -1
- package/dist/components/base/display/separator.d.ts +2 -2
- package/dist/components/base/feedback/alert.d.ts +3 -2
- package/dist/components/base/feedback/empty.d.ts +5 -4
- package/dist/components/base/feedback/progress-circle.d.ts +2 -2
- package/dist/components/base/feedback/progress.d.ts +3 -1
- package/dist/components/base/forms/form-field.d.ts +2 -2
- package/dist/components/base/input-group/input-group.d.ts +8 -10
- package/dist/components/base/item/item.d.ts +2 -2
- package/dist/components/base/overlay/index.d.ts +1 -1
- package/dist/components/base/overlay/overlay.types.d.ts +7 -5
- package/dist/components/base/qr-code/qr-code.d.ts +4 -4
- package/dist/components/base/sheet/sheet.d.ts +1 -1
- package/dist/components/base/sidebar/sidebar.d.ts +9 -13
- package/dist/components/base/spinner/spinner.d.ts +2 -2
- package/dist/components/base/structure/adaptive-grid.d.ts +3 -3
- package/dist/components/base/structure/bleed.d.ts +4 -2
- package/dist/components/base/structure/grid.d.ts +10 -4
- package/dist/components/base/structure/index.d.ts +1 -1
- package/dist/components/base/structure/split.d.ts +4 -3
- package/dist/components/base/structure/stack.d.ts +5 -5
- package/dist/components/base/structure/structure.maps.d.ts +2 -1
- package/dist/components/base/structure/structure.types.d.ts +10 -4
- package/dist/components/base/toggle/toggle.d.ts +2 -2
- package/dist/components/base/toolbar/toolbar.d.ts +3 -3
- package/dist/components/base/typography/index.d.ts +2 -0
- package/dist/components/base/typography/rich-text/rich-text.variants.d.ts +9 -0
- package/dist/components/base/typography/text/index.d.ts +1 -0
- package/dist/components/base/typography/text/text.d.ts +15 -8
- package/dist/components/base/typography/text/text.variants.d.ts +41 -0
- package/dist/components/base/value-inputs/color-input.d.ts +1 -7
- package/dist/components/base/value-inputs/slider.d.ts +2 -7
- package/dist/components/{admin/patterns → blocks/admin}/commerce/vendor-profile.d.ts +2 -1
- package/dist/components/{patterns → blocks}/analytics/analytics.strings.d.ts +2 -5
- package/dist/components/features/actions/action-adapters.d.ts +3 -3
- package/dist/components/features/actions/actions.types.d.ts +3 -5
- package/dist/components/features/actions/index.d.ts +1 -1
- package/dist/components/features/activities/activities-feed.d.ts +1 -1
- package/dist/components/features/activities/activities.types.d.ts +4 -4
- package/dist/components/features/activities/activity-parts.d.ts +3 -3
- package/dist/components/features/activities/activity-row.d.ts +4 -4
- package/dist/components/features/activities/index.d.ts +1 -1
- package/dist/components/features/ai-chat/ai-chat.types.d.ts +10 -3
- package/dist/components/features/ai-chat/ai-message-surfaces.d.ts +1 -1
- package/dist/components/features/ai-chat/ai-work-surfaces.d.ts +1 -1
- package/dist/components/features/combobox/combobox.strings.d.ts +2 -2
- package/dist/components/features/combobox/fetching-combobox.d.ts +2 -1
- package/dist/components/features/combobox/resource-combobox.d.ts +3 -0
- package/dist/components/features/combobox/use-suggestions.d.ts +7 -0
- package/dist/components/features/event-calendar/event-calendar.types.d.ts +3 -0
- package/dist/components/features/media-library/index.d.ts +1 -1
- package/dist/components/features/media-library/media-library-parts.d.ts +4 -3
- package/dist/components/features/media-library/media-library-views.d.ts +4 -3
- package/dist/components/features/media-library/media-library.d.ts +1 -1
- package/dist/components/features/media-library/media-library.strings.d.ts +12 -13
- package/dist/components/features/media-library/media-library.types.d.ts +11 -9
- package/dist/components/features/media-library/media-resource-gallery.d.ts +1 -1
- package/dist/components/features/media-library/use-media-library.d.ts +1 -4
- package/dist/components/features/overlays/action-overlay-frame.d.ts +1 -1
- package/dist/components/features/overlays/index.d.ts +1 -1
- package/dist/components/features/overlays/overlay-parts.d.ts +3 -3
- package/dist/components/features/overlays/overlays.types.d.ts +8 -7
- package/dist/components/features/rich-text-editor/index.d.ts +0 -1
- package/dist/components/features/table/data-table-body.d.ts +1 -1
- package/dist/components/features/table/data-table-expanded-row.d.ts +27 -0
- package/dist/components/features/table/data-table-header.d.ts +1 -1
- package/dist/components/features/table/data-table-size.d.ts +1 -1
- package/dist/components/features/table/data-table.d.ts +1 -1
- package/dist/components/features/table/index.d.ts +1 -1
- package/dist/components/features/table/table-helpers.d.ts +9 -3
- package/dist/components/features/table/table.strings.d.ts +11 -0
- package/dist/components/features/table/table.types.d.ts +60 -2
- package/dist/components/features/theme-tweaker/index.d.ts +1 -1
- package/dist/components/features/theme-tweaker/theme-tweaker.strings.d.ts +1 -1
- package/dist/components/features/theme-tweaker/theme-tweaker.types.d.ts +6 -10
- package/dist/components/features/theme-tweaker/theme-tweaker.utils.d.ts +22 -6
- package/dist/components/layout/app-shell/topbar-sidebar-layout.d.ts +1 -1
- package/dist/components/layout/auth/auth.d.ts +1 -1
- package/dist/components/layout/auth/auth.types.d.ts +1 -1
- package/dist/components/primitives/value.d.ts +3 -1
- package/dist/containers-B8d8U9GS.js +2 -0
- package/dist/{copyable-H1TUEY-H.js → copyable-D9Okb1w6.js} +12 -11
- package/dist/core.css +2 -2
- package/dist/css/access.css +2 -1
- package/dist/css/accordion.css +2 -1
- package/dist/css/action-menu.css +2 -1
- package/dist/css/activities.css +2 -1
- package/dist/css/ai-chat.css +2 -1
- package/dist/css/analytics.css +2 -1
- package/dist/css/app-shell.css +2 -1
- package/dist/css/aspect-ratio.css +2 -1
- package/dist/css/async-preview.css +2 -1
- package/dist/css/auth.css +2 -1
- package/dist/css/avatar.css +2 -1
- package/dist/css/badge.css +2 -1
- package/dist/css/batch-action-bar.css +2 -1
- package/dist/css/buttons.css +2 -1
- package/dist/css/cards.css +2 -1
- package/dist/css/carousel.css +2 -1
- package/dist/css/chart.css +2 -1
- package/dist/css/choice-inputs.css +2 -1
- package/dist/css/combobox.css +2 -1
- package/dist/css/combobox2.css +2 -1
- package/dist/css/command.css +2 -1
- package/dist/css/comments.css +2 -1
- package/dist/css/commerce.css +2 -1
- package/dist/css/containers.css +2 -1
- package/dist/css/copyable.css +2 -1
- package/dist/css/data-view.css +2 -1
- package/dist/css/date-pickers.css +2 -1
- package/dist/css/display.css +2 -1
- package/dist/css/dropdown-menu.css +2 -1
- package/dist/css/event-calendar.css +2 -1
- package/dist/css/feedback.css +2 -1
- package/dist/css/filters.css +2 -1
- package/dist/css/forms-numeric.css +2 -1
- package/dist/css/forms.css +2 -1
- package/dist/css/global-search.css +2 -1
- package/dist/css/header.css +2 -1
- package/dist/css/hover-card.css +2 -1
- package/dist/css/input-group.css +2 -1
- package/dist/css/item.css +2 -1
- package/dist/css/kanban.css +2 -1
- package/dist/css/label.css +2 -1
- package/dist/css/map.css +2 -1
- package/dist/css/media-library.css +2 -1
- package/dist/css/mentions.css +2 -1
- package/dist/css/menubar.css +2 -1
- package/dist/css/navigation-menu.css +2 -1
- package/dist/css/navigation.css +2 -1
- package/dist/css/navigation2.css +2 -1
- package/dist/css/onboarding.css +2 -1
- package/dist/css/otp-input.css +2 -1
- package/dist/css/overlay.css +2 -1
- package/dist/css/overlays.css +2 -1
- package/dist/css/page.css +2 -1
- package/dist/css/popover-menu.css +2 -1
- package/dist/css/popover.css +2 -1
- package/dist/css/primitives.css +2 -1
- package/dist/css/products.css +2 -1
- package/dist/css/qr-code.css +2 -1
- package/dist/css/repeaters.css +2 -1
- package/dist/css/resizable.css +2 -1
- package/dist/css/resource-assignment.css +2 -1
- package/dist/css/resource.css +2 -1
- package/dist/css/rich-text-editor.css +2 -1
- package/dist/css/schema-form.css +2 -1
- package/dist/css/sidebar.css +2 -1
- package/dist/css/sidebar2.css +2 -1
- package/dist/css/skeleton.css +2 -1
- package/dist/css/spinner.css +2 -1
- package/dist/css/structure.css +2 -1
- package/dist/css/sync.css +2 -1
- package/dist/css/table.css +2 -1
- package/dist/css/table2.css +2 -1
- package/dist/css/text-inputs.css +2 -1
- package/dist/css/theme-tweaker.css +2 -1
- package/dist/css/timeline.css +2 -1
- package/dist/css/timelines.css +2 -1
- package/dist/css/toaster.css +2 -1
- package/dist/css/toggle.css +2 -1
- package/dist/css/toolbar.css +2 -1
- package/dist/css/tooltip.css +2 -1
- package/dist/css/typography.css +2 -1
- package/dist/css/upload.css +2 -1
- package/dist/css/value-inputs.css +2 -1
- package/dist/css/workspace.css +2 -1
- package/dist/css-graph.json +1027 -0
- package/dist/date-pickers-BwCwKIVM.js +685 -0
- package/dist/{dialog-CtFCuTUF.js → dialog-CAnwRNrm.js} +1 -1
- package/dist/display-a7AoX_u7.js +664 -0
- package/dist/dropdown-menu-Br8kvjrF.js +235 -0
- package/dist/empty.js +0 -0
- package/dist/features/actions.js +6 -6
- package/dist/features/activities.js +219 -216
- package/dist/features/ai-chat.js +593 -565
- package/dist/features/async-preview.js +105 -286
- package/dist/features/combobox.js +328 -314
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +56 -55
- package/dist/features/event-calendar.js +189 -185
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +259 -260
- package/dist/features/kanban.js +39 -37
- package/dist/features/map.js +357 -354
- package/dist/features/media-library.js +931 -931
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +950 -942
- package/dist/features/resource-assignment.js +39 -37
- package/dist/features/resource.js +70 -71
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +342 -338
- package/dist/features/sync.js +14 -12
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +1002 -962
- package/dist/feedback-D4qVsKlD.js +430 -0
- package/dist/{filters-DOLKRSmb.js → filters-BhsTkWpZ.js} +386 -383
- package/dist/forms-C0WeNPFF.js +250 -0
- package/dist/forms-numeric-IwQ1ltNf.js +582 -0
- package/dist/hooks/use-native-dialog.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/input-group-HS_Z0Ei_.js +119 -0
- package/dist/item-M2pmpWXh.js +150 -0
- package/dist/{label-DumoMDm6.js → label-HOBXAscw.js} +7 -5
- package/dist/layout/app-shell.js +4 -2
- package/dist/layout/auth.js +102 -100
- package/dist/layout/header.js +190 -180
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +18 -16
- package/dist/layout/settings.js +2 -2
- package/dist/layout/sidebar.js +50 -46
- package/dist/layout/workspace.js +71 -69
- package/dist/lib/action-presentation.d.ts +3 -3
- package/dist/lib/component-vocabulary.d.ts +2 -2
- package/dist/lib/css-length.d.ts +2 -0
- package/dist/lib/responsive.d.ts +1 -1
- package/dist/lib/theming/index.d.ts +1 -0
- package/dist/lib/theming/recipes.d.ts +2 -2
- package/dist/lib/theming/themes/dense.d.ts +3 -0
- package/dist/lib/theming/themes/editorial.d.ts +3 -0
- package/dist/lib/theming/themes/index.d.ts +8 -0
- package/dist/lib/theming/themes/pair.d.ts +7 -0
- package/dist/lib/theming/themes/sharp.d.ts +3 -0
- package/dist/lib/theming/themes/soft.d.ts +3 -0
- package/dist/lib/theming/themes/types.d.ts +12 -0
- package/dist/lib/ui-provider/index.d.ts +1 -1
- package/dist/lib/ui-provider/scope.d.ts +5 -8
- package/dist/lib/ui-provider/tokens.d.ts +11 -3
- package/dist/lib/ui-provider/tokens.generated.d.ts +6 -4
- package/dist/lib/ui-provider/types.d.ts +17 -19
- package/dist/lib/ui-provider/ui-scope.d.ts +1 -1
- package/dist/{mentions-BbsEHlcH.js → mentions-BOxbigwp.js} +113 -111
- package/dist/navigation-Bgu7Vc0M.js +622 -0
- package/dist/navigation-DiYACqpE.js +216 -0
- package/dist/overlay-BuQOl8aP.js +356 -0
- package/dist/{overlays-DvVoS3td.js → overlays-1sULyytH.js} +77 -75
- package/dist/popover-CA7SP_iz.js +127 -0
- package/dist/popover-menu-QXgQeWeG.js +192 -0
- package/dist/{primitives-D0bdDozz.js → primitives-BskKlf35.js} +181 -178
- package/dist/primitives.js +1 -1
- package/dist/profiles/admin.json +6 -36
- package/dist/profiles/general.json +6 -96
- package/dist/repeaters-CeH20dvr.js +445 -0
- package/dist/rich-text-editor-D_Ppm8yh.js +491 -0
- package/dist/{sheet-CKcmRbJ9.js → sheet-CJ1-OAla.js} +3 -3
- package/dist/sidebar-D8uGqxio.js +421 -0
- package/dist/skeleton-BTKNKTdj.js +173 -0
- package/dist/spinner-Tc1QCnxM.js +30 -0
- package/dist/{structure-D0WGQAP3.js → structure-CynEZ-OY.js} +15 -23
- package/dist/style.css +1 -1
- package/dist/styles/TOKENS.md +116 -275
- package/dist/styles/animation.css +114 -0
- package/dist/styles/base.css +7 -6
- package/dist/styles/fields.css +45 -63
- package/dist/styles/focus.css +12 -0
- package/dist/styles/forced-colors.css +11 -10
- package/dist/styles/index.css +23 -30
- package/dist/styles/map.css +45 -34
- package/dist/styles/mentions.css +14 -52
- package/dist/styles/overlays.css +7 -7
- package/dist/styles/tailwind.css +76 -127
- package/dist/styles/targets.css +3 -3
- package/dist/styles/theme/colour.css +86 -0
- package/dist/styles/theme/density.css +31 -0
- package/dist/styles/theme/elevation.css +9 -0
- package/dist/styles/theme/layout.css +18 -0
- package/dist/styles/theme/motion.css +18 -0
- package/dist/styles/theme/shape.css +12 -0
- package/dist/styles/theme/size.css +10 -0
- package/dist/styles/theme/spacing.css +11 -0
- package/dist/styles/theme/typography.css +20 -0
- package/dist/styles/tone.css +61 -0
- package/dist/table-B7dtIFUx.js +1262 -0
- package/dist/table-Ds_eO9av.js +191 -0
- package/dist/tailwind.css +76 -127
- package/dist/text-inputs-BboE77nZ.js +395 -0
- package/dist/theming-C5ygF5uf.js +292 -0
- package/dist/theming.js +2 -2
- package/dist/{timeline-BdaGRyj-.js → timeline-BR_jNgvz.js} +57 -49
- package/dist/{timelines-BB7550mz.js → timelines-DXG1BfIN.js} +69 -67
- package/dist/{toaster-bBMgXm8z.js → toaster-CXL8L7Mm.js} +106 -99
- package/dist/tokens.json +1027 -636
- package/dist/toolbar-DBK-c4yy.js +74 -0
- package/dist/tooltip-BPYP-jUm.js +76 -0
- package/dist/{typography-BkxEiwQ1.js → typography-DmeR05Er.js} +87 -53
- package/dist/{ui-provider-Cmoq6i_D.js → ui-provider-DpzLUD12.js} +117 -69
- package/dist/ui-provider.js +1 -1
- package/dist/upload-CYuoJykZ.js +968 -0
- package/dist/use-async-preview-BFwf9ElY.js +188 -0
- package/dist/value-inputs-ng8aVJJZ.js +728 -0
- package/docs/README.md +13 -3
- package/docs/build/browser-composition-fixture.ts +28 -0
- package/docs/build/recipes.md +11484 -10723
- package/docs/generated/component-index.json +9809 -9169
- package/docs/generated/components/INDEX.md +5 -5
- package/docs/generated/components/base--accordion.md +51 -2
- package/docs/generated/components/base--action-menu.md +14 -15
- package/docs/generated/components/base--alert-dialog.md +3 -4
- package/docs/generated/components/base--aspect-ratio.md +3 -4
- package/docs/generated/components/base--avatar.md +7 -7
- package/docs/generated/components/base--badge.md +159 -27
- package/docs/generated/components/base--batch-action-bar.md +6 -7
- package/docs/generated/components/base--buttons.md +151 -47
- package/docs/generated/components/base--cards.md +107 -14
- package/docs/generated/components/base--carousel.md +1 -2
- package/docs/generated/components/base--chart.md +44 -8
- package/docs/generated/components/base--choice-inputs.md +10 -11
- package/docs/generated/components/base--combobox.md +3 -4
- package/docs/generated/components/base--command.md +6 -6
- package/docs/generated/components/base--context-menu.md +1 -2
- package/docs/generated/components/base--copyable.md +6 -7
- package/docs/generated/components/base--date-pickers.md +6 -7
- package/docs/generated/components/base--dialog.md +6 -7
- package/docs/generated/components/base--direction.md +1 -1
- package/docs/generated/components/base--display.md +234 -54
- package/docs/generated/components/base--dropdown-menu.md +6 -7
- package/docs/generated/components/base--feedback.md +71 -18
- package/docs/generated/components/base--forms-numeric.md +6 -7
- package/docs/generated/components/base--forms.md +84 -14
- package/docs/generated/components/base--hover-card.md +3 -4
- package/docs/generated/components/base--input-group.md +27 -30
- package/docs/generated/components/base--item.md +8 -9
- package/docs/generated/components/base--label.md +2 -3
- package/docs/generated/components/base--menubar.md +2 -4
- package/docs/generated/components/base--navigation-menu.md +2 -3
- package/docs/generated/components/base--navigation.md +2 -3
- package/docs/generated/components/base--otp-input.md +3 -4
- package/docs/generated/components/base--overlay.md +56 -47
- package/docs/generated/components/base--popover-menu.md +7 -8
- package/docs/generated/components/base--popover.md +9 -10
- package/docs/generated/components/base--qr-code.md +7 -8
- package/docs/generated/components/base--repeaters.md +6 -7
- package/docs/generated/components/base--resizable.md +2 -3
- package/docs/generated/components/base--sheet.md +12 -13
- package/docs/generated/components/base--sidebar.md +9 -11
- package/docs/generated/components/base--skeleton.md +6 -7
- package/docs/generated/components/base--slot.md +1 -1
- package/docs/generated/components/base--spinner.md +5 -7
- package/docs/generated/components/base--structure.md +320 -70
- package/docs/generated/components/base--table.md +61 -3
- package/docs/generated/components/base--text-inputs.md +17 -18
- package/docs/generated/components/base--timeline.md +45 -4
- package/docs/generated/components/base--toaster.md +43 -12
- package/docs/generated/components/base--toggle.md +11 -12
- package/docs/generated/components/base--toolbar.md +7 -8
- package/docs/generated/components/base--tooltip.md +5 -6
- package/docs/generated/components/base--typography.md +317 -32
- package/docs/generated/components/base--upload.md +8 -9
- package/docs/generated/components/base--value-inputs.md +9 -38
- package/docs/generated/components/{admin--patterns--access.md → blocks--admin--access.md} +15 -6
- package/docs/generated/components/{admin--patterns--commerce.md → blocks--admin--commerce.md} +40 -41
- package/docs/generated/components/{patterns--analytics.md → blocks--analytics.md} +57 -14
- package/docs/generated/components/{patterns--onboarding.md → blocks--onboarding.md} +6 -7
- package/docs/generated/components/{patterns--timelines.md → blocks--timelines.md} +6 -7
- package/docs/generated/components/features--actions.md +8 -18
- package/docs/generated/components/features--activities.md +31 -32
- package/docs/generated/components/features--ai-chat.md +15 -15
- package/docs/generated/components/features--async-preview.md +5 -6
- package/docs/generated/components/features--combobox.md +71 -5
- package/docs/generated/components/features--comments.md +0 -1
- package/docs/generated/components/features--data-view.md +63 -8
- package/docs/generated/components/features--event-calendar.md +1 -2
- package/docs/generated/components/features--filters.md +11 -2
- package/docs/generated/components/features--global-search.md +1 -2
- package/docs/generated/components/features--kanban.md +1 -2
- package/docs/generated/components/features--map.md +1 -2
- package/docs/generated/components/features--media-library.md +105 -38
- package/docs/generated/components/features--mentions.md +7 -7
- package/docs/generated/components/features--overlays.md +75 -22
- package/docs/generated/components/features--products.md +10 -11
- package/docs/generated/components/features--resource-assignment.md +2 -3
- package/docs/generated/components/features--resource.md +3 -4
- package/docs/generated/components/features--rich-text-editor.md +42 -13
- package/docs/generated/components/features--schema-form.md +1 -2
- package/docs/generated/components/features--sync.md +2 -3
- package/docs/generated/components/features--table.md +162 -12
- package/docs/generated/components/features--theme-tweaker.md +30 -15
- package/docs/generated/components/forms.md +2 -2
- package/docs/generated/components/layout--app-shell.md +41 -11
- package/docs/generated/components/layout--auth.md +8 -9
- package/docs/generated/components/layout--containers.md +40 -1
- package/docs/generated/components/layout--header.md +2 -3
- package/docs/generated/components/layout--navigation.md +0 -1
- package/docs/generated/components/layout--page.md +33 -5
- package/docs/generated/components/layout--settings.md +0 -1
- package/docs/generated/components/layout--sidebar.md +47 -7
- package/docs/generated/components/layout--workspace.md +3 -4
- package/docs/generated/components/primitives.md +128 -17
- package/docs/generated/components/theming.md +147 -4
- package/docs/generated/components/ui-provider.md +96 -78
- package/docs/generated/composition-ladder.md +8 -8
- package/docs/generated/consumer-contract.json +5736 -0
- package/docs/generated/imports.md +104 -104
- package/docs/generated/migration-broad-imports.json +267 -90
- package/docs/generated/migration-broad-imports.md +266 -101
- package/docs/generated/migration-codemod.json +365 -70
- package/docs/generated/migration.md +665 -95
- package/docs/generated/profiles.md +27 -27
- package/docs/generated/public-api.md +104 -102
- package/docs/generated/recipes.json +755 -810
- package/docs/generated/workflows/communications-overview/analytics/communications-reference.tsx +19 -0
- package/docs/generated/workflows/index.json +691 -0
- package/docs/generated/workflows/media-picking/media-library/media-picking-reference.tsx +63 -0
- package/docs/generated/workflows/media-picking/media-library/reference-data.ts +3 -0
- package/docs/generated/workflows/multi-section-form/form-workflow/multi-section-reference.tsx +46 -0
- package/docs/generated/workflows/nested-action-flow/action-overlays/nested-action-reference.tsx +39 -0
- package/docs/generated/workflows/record-detail/page-layout/record-detail-reference.tsx +24 -0
- package/docs/generated/workflows/resource-index/data-view/resource-index-reference.tsx +51 -0
- package/docs/generated/workflows/scoped-resource-selection/combobox/scoped-resource-reference.tsx +50 -0
- package/docs/generated/workflows/website-content-editor/media-library/reference-data.ts +3 -0
- package/docs/generated/workflows/website-content-editor/rich-text-editor/website-content-reference.tsx +33 -0
- package/docs/generated/workflows/workspace-navigation/app-shell/workspace-navigation-reference.tsx +26 -0
- package/docs/learn/api-compatibility.md +5 -4
- package/docs/learn/blocks.md +123 -0
- package/docs/learn/composition.md +100 -19
- package/docs/learn/forms.md +23 -3
- package/docs/learn/framework-wiring.md +41 -13
- package/docs/learn/i18n.md +4 -2
- package/docs/learn/installation.md +60 -31
- package/docs/learn/migration.md +156 -5
- package/docs/learn/provider-and-scoping.md +37 -25
- package/docs/learn/reference-workflows.md +43 -0
- package/docs/learn/structure-and-spacing.md +147 -0
- package/docs/learn/theming.md +174 -131
- package/docs/learn/troubleshooting.md +88 -30
- package/docs/learn/verification.md +60 -5
- package/package.json +42 -473
- package/scripts/consumer/codemod.mjs +50 -32
- package/scripts/consumer/contract-reader.mjs +42 -0
- package/scripts/consumer/css-scan.mjs +51 -0
- package/scripts/consumer/diagnose.mjs +136 -0
- package/scripts/consumer/find-component.mjs +30 -17
- package/scripts/consumer/install-skill.mjs +93 -11
- package/src/styles/TOKENS.md +116 -275
- package/dist/accordion-6YPJ9XRO.js +0 -135
- package/dist/admin/patterns/access.css +0 -15
- package/dist/admin/patterns/commerce.css +0 -29
- package/dist/admin/patterns/commerce.js +0 -2493
- package/dist/avatar-CS7zow2q.js +0 -85
- package/dist/badge-CxOuTfVr.js +0 -63
- package/dist/base/accordion.css +0 -3
- package/dist/base/action-menu.css +0 -6
- package/dist/base/alert-dialog.css +0 -4
- package/dist/base/aspect-ratio.css +0 -2
- package/dist/base/avatar.css +0 -4
- package/dist/base/badge.css +0 -2
- package/dist/base/batch-action-bar.css +0 -5
- package/dist/base/buttons.css +0 -4
- package/dist/base/cards.css +0 -13
- package/dist/base/carousel.css +0 -5
- package/dist/base/chart.css +0 -2
- package/dist/base/choice-inputs.css +0 -10
- package/dist/base/combobox.css +0 -3
- package/dist/base/command.css +0 -9
- package/dist/base/context-menu.css +0 -2
- package/dist/base/copyable.css +0 -6
- package/dist/base/date-pickers.css +0 -11
- package/dist/base/dialog.css +0 -4
- package/dist/base/display.css +0 -8
- package/dist/base/dropdown-menu.css +0 -2
- package/dist/base/feedback.css +0 -5
- package/dist/base/forms-numeric.css +0 -12
- package/dist/base/forms.css +0 -14
- package/dist/base/hover-card.css +0 -2
- package/dist/base/input-group.css +0 -6
- package/dist/base/item.css +0 -9
- package/dist/base/label.css +0 -3
- package/dist/base/menubar.css +0 -2
- package/dist/base/navigation-menu.css +0 -2
- package/dist/base/navigation.css +0 -12
- package/dist/base/otp-input.css +0 -9
- package/dist/base/overlay.css +0 -4
- package/dist/base/popover-menu.css +0 -11
- package/dist/base/popover.css +0 -3
- package/dist/base/qr-code.css +0 -2
- package/dist/base/repeaters.css +0 -18
- package/dist/base/resizable.css +0 -2
- package/dist/base/sheet.css +0 -4
- package/dist/base/sidebar.css +0 -12
- package/dist/base/skeleton.css +0 -9
- package/dist/base/spinner.css +0 -2
- package/dist/base/structure.css +0 -2
- package/dist/base/table.css +0 -3
- package/dist/base/text-inputs.css +0 -2
- package/dist/base/timeline.css +0 -9
- package/dist/base/toaster.css +0 -2
- package/dist/base/toggle.css +0 -2
- package/dist/base/toolbar.css +0 -5
- package/dist/base/tooltip.css +0 -2
- package/dist/base/typography.css +0 -2
- package/dist/base/upload.css +0 -10
- package/dist/base/value-inputs.css +0 -14
- package/dist/buttons-CqXKWty3.js +0 -179
- package/dist/cards-C6Ulbkw7.js +0 -271
- package/dist/chart-nomhJ87z.js +0 -193
- package/dist/choice-inputs-OUDn0kQw.js +0 -680
- package/dist/combobox-C8oP92bT.js +0 -266
- package/dist/command-Bp3B6pUu.js +0 -143
- package/dist/comments-CAnDlyXO.js +0 -1438
- package/dist/components/admin/patterns/index.d.ts +0 -2
- package/dist/components/features/rich-text-editor/exec-command-engine.d.ts +0 -2
- package/dist/components/patterns/index.d.ts +0 -3
- package/dist/css/styles.css +0 -1
- package/dist/date-pickers-DOwIT-Nk.js +0 -661
- package/dist/display-B3Q17h5z.js +0 -645
- package/dist/dropdown-menu-TyNLCLML.js +0 -223
- package/dist/features/actions.css +0 -11
- package/dist/features/activities.css +0 -25
- package/dist/features/ai-chat.css +0 -14
- package/dist/features/async-preview.css +0 -10
- package/dist/features/combobox.css +0 -12
- package/dist/features/comments.css +0 -24
- package/dist/features/data-view.css +0 -31
- package/dist/features/event-calendar.css +0 -17
- package/dist/features/filters.css +0 -24
- package/dist/features/global-search.css +0 -19
- package/dist/features/kanban.css +0 -7
- package/dist/features/map.css +0 -15
- package/dist/features/media-library.css +0 -27
- package/dist/features/mentions.css +0 -17
- package/dist/features/overlays.css +0 -11
- package/dist/features/products.css +0 -29
- package/dist/features/resource-assignment.css +0 -14
- package/dist/features/resource.css +0 -15
- package/dist/features/rich-text-editor.css +0 -8
- package/dist/features/schema-form.css +0 -22
- package/dist/features/sync.css +0 -11
- package/dist/features/table.css +0 -20
- package/dist/features/theme-tweaker.css +0 -27
- package/dist/feedback-DRerHGuV.js +0 -469
- package/dist/forms-CPrGGif_.js +0 -242
- package/dist/forms-numeric-CPVsL7Vf.js +0 -569
- package/dist/index.css +0 -3
- package/dist/input-group-BYe0rhoB.js +0 -126
- package/dist/item-B3yQ26as.js +0 -146
- package/dist/layout/app-shell.css +0 -13
- package/dist/layout/auth.css +0 -14
- package/dist/layout/containers.css +0 -2
- package/dist/layout/header.css +0 -20
- package/dist/layout/navigation.css +0 -11
- package/dist/layout/page.css +0 -15
- package/dist/layout/settings.css +0 -16
- package/dist/layout/sidebar.css +0 -16
- package/dist/layout/workspace.css +0 -15
- package/dist/navigation-CsqTA16F.js +0 -614
- package/dist/navigation-DzxzPuwg.js +0 -202
- package/dist/overlay-WQOsLd69.js +0 -345
- package/dist/patterns/analytics.css +0 -15
- package/dist/patterns/onboarding.css +0 -11
- package/dist/patterns/timelines.css +0 -11
- package/dist/popover-DriLnIFc.js +0 -123
- package/dist/popover-menu-C2UCMAe7.js +0 -189
- package/dist/primitives.css +0 -3
- package/dist/repeaters-DuP1N0nw.js +0 -438
- package/dist/rich-text-editor-BQXFe9oN.js +0 -595
- package/dist/sidebar-D0N6ckJL.js +0 -412
- package/dist/skeleton-DGR9df28.js +0 -172
- package/dist/spinner-CUAVFecI.js +0 -52
- package/dist/styles/FACTORS.md +0 -36
- package/dist/styles/SCOPES.md +0 -86
- package/dist/styles/themes/default.css +0 -164
- package/dist/styles/theming/animation.css +0 -143
- package/dist/styles/theming/colors.css +0 -97
- package/dist/styles/theming/feedback.css +0 -17
- package/dist/styles/theming/field.css +0 -21
- package/dist/styles/theming/focus.css +0 -88
- package/dist/styles/theming/layers.css +0 -13
- package/dist/styles/theming/layout.css +0 -21
- package/dist/styles/theming/motion.css +0 -42
- package/dist/styles/theming/overlay.css +0 -52
- package/dist/styles/theming/sizing.css +0 -118
- package/dist/styles/theming/text.css +0 -30
- package/dist/styles/theming/typography.css +0 -26
- package/dist/styles/tokens/components.css +0 -22
- package/dist/styles/tokens/foundation.css +0 -80
- package/dist/styles/tokens/layout.css +0 -19
- package/dist/styles/tokens/palette.css +0 -88
- package/dist/styles/tokens/primitives.css +0 -18
- package/dist/styles/tokens/states.css +0 -77
- package/dist/table-BC4qqsUb.js +0 -180
- package/dist/table-BHDpjajL.js +0 -982
- package/dist/text-inputs-DF_lD7pA.js +0 -385
- package/dist/theming-D6KRU7hO.js +0 -104
- package/dist/toolbar-DWRywF0R.js +0 -68
- package/dist/tooltip-t1VQQ2tZ.js +0 -73
- package/dist/upload-B38YZeFJ.js +0 -938
- package/dist/value-inputs-Q4ymjXlV.js +0 -716
- package/src/styles/FACTORS.md +0 -36
- package/src/styles/SCOPES.md +0 -86
- /package/dist/components/{admin/patterns → blocks/admin}/access/admin.strings.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/credential-list.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/index.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/role-permissions.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/access/sensitive-action.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/account.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/address-lines.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/booking.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/cart.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.strings.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/commerce.types.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/format-amount.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/index.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/inventory-section.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/invoice.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/loyalty.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-customer.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-detail.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-line-item.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order-transactions.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/order.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-listing.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/seo-score.d.ts +0 -0
- /package/dist/components/{admin/patterns → blocks/admin}/commerce/summary-panel.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/activity-heatmap.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/analytics.types.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/chart-card.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/format-metric-value.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-bar.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-comparison.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-gradient.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-grid.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-micro-grid.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-skeleton.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric-trend-chip.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/metric.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/analytics/time-ruler.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/checklist.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/onboarding/onboarding.strings.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/changelog-timeline.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/index.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/milestones-timeline.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/steps.d.ts +0 -0
- /package/dist/components/{patterns → blocks}/timelines/timelines.strings.d.ts +0 -0
- /package/dist/styles/{theming/breakpoints.css → breakpoints.css} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
|
|
2
2
|
|
|
3
|
-
# `
|
|
3
|
+
# `blocks/analytics`
|
|
4
4
|
|
|
5
5
|
Figures are summarised — metric tiles, trends, comparisons, a heatmap or a titled chart card.
|
|
6
6
|
|
|
@@ -14,8 +14,7 @@ Figures are summarised — metric tiles, trends, comparisons, a heatmap or a tit
|
|
|
14
14
|
## Import
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
|
-
import { ActivityHeatmap } from "themelia-ui/
|
|
18
|
-
import "themelia-ui/patterns/analytics.css"
|
|
17
|
+
import { ActivityHeatmap } from "themelia-ui/blocks/analytics"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Optional peers
|
|
@@ -96,7 +95,7 @@ date-fns locale: the heatmap needs abbreviations sized to its columns.
|
|
|
96
95
|
| --- | :-: | --- | --- |
|
|
97
96
|
| `metricErrorLabel` | yes | `string` | Shown in place of the figure when `error` is set. |
|
|
98
97
|
| `metricProgressLabel` | yes | `(label: string) => string` | Names the `colored` variant's progress bar for a screen reader. |
|
|
99
|
-
| `metricInfoLabel` |
|
|
98
|
+
| `metricInfoLabel` | yes | `string` | Names the info affordance beside a label that carries a `tooltip`. |
|
|
100
99
|
|
|
101
100
|
### `ChartCard`
|
|
102
101
|
|
|
@@ -162,6 +161,16 @@ Kind: callable.
|
|
|
162
161
|
|
|
163
162
|
Kind: callable.
|
|
164
163
|
|
|
164
|
+
**Use when:** One quantitative measure needs value hierarchy and optional comparison, trend or progress.
|
|
165
|
+
|
|
166
|
+
**Avoid when:** An ordinary fact or a group that MetricGrid already arranges.
|
|
167
|
+
|
|
168
|
+
**Compose:** Read MetricProps for state and surface variants; they are not shared by every analytics export. The analytics module requires recharts.
|
|
169
|
+
|
|
170
|
+
**Capabilities:** single quantitative measure; metric comparison trend.
|
|
171
|
+
|
|
172
|
+
**Alternatives:** MetricGrid, MetadataList.
|
|
173
|
+
|
|
165
174
|
```text
|
|
166
175
|
({ data, variant, tone, showSparkline, showChange, showIcon, loading, error, strings, progress, className, ...props }: MetricProps) => import("react").JSX.Element
|
|
167
176
|
```
|
|
@@ -319,6 +328,16 @@ Four pairs off the categorical ramp. Named for the look, not for a meaning.
|
|
|
319
328
|
|
|
320
329
|
Kind: callable.
|
|
321
330
|
|
|
331
|
+
**Use when:** Several quantitative measures need responsive tiles with comparison or trend.
|
|
332
|
+
|
|
333
|
+
**Avoid when:** Ordinary label/value facts, identifiers or prose summaries.
|
|
334
|
+
|
|
335
|
+
**Compose:** Pass MetricData and the period context. Use null for an unavailable quantity, zero for measured zero. The module requires recharts and already owns tile arrangement.
|
|
336
|
+
|
|
337
|
+
**Capabilities:** quantitative metrics; dashboard figures; responsive metric tiles.
|
|
338
|
+
|
|
339
|
+
**Alternatives:** Metric, MetadataList.
|
|
340
|
+
|
|
322
341
|
```text
|
|
323
342
|
({ metrics, variant, tone, columns, showSparklines, showChanges, showIcons, loading, className, ...props }: MetricGridProps) => import("react").JSX.Element
|
|
324
343
|
```
|
|
@@ -570,10 +589,34 @@ Kind: interface.
|
|
|
570
589
|
|
|
571
590
|
Preview route: Analytics — `/analytics`
|
|
572
591
|
|
|
592
|
+
### Communications overview reference
|
|
593
|
+
|
|
594
|
+
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
595
|
+
import { useState } from "react"
|
|
596
|
+
import { Button } from "themelia-ui/base/buttons"
|
|
597
|
+
import { Card } from "themelia-ui/base/cards"
|
|
598
|
+
import { MetadataList } from "themelia-ui/base/display"
|
|
599
|
+
import { Stack } from "themelia-ui/base/structure"
|
|
600
|
+
import { Text } from "themelia-ui/base/typography"
|
|
601
|
+
import { MetricGrid } from "themelia-ui/blocks/analytics"
|
|
602
|
+
|
|
603
|
+
export default function CommunicationsReference() {
|
|
604
|
+
const [retried, setRetried] = useState(false)
|
|
605
|
+
return <Stack>
|
|
606
|
+
<MetricGrid metrics={[{ id: "delivered", label: "Messages delivered during the selected reporting period", value: 128, valueType: "number" }, { id: "retry", label: "Messages awaiting retry", value: retried ? 0 : 3, valueType: "number" }]} variant="card" />
|
|
607
|
+
<Card title="Latest communication" headerAction={<Button disabled={retried} onClick={() => setRetried(true)}>Retry delivery</Button>}>
|
|
608
|
+
<MetadataList items={[{ id: "subject", label: "Subject", value: "Workspace invitation" }, { id: "status", label: "Delivery state", value: retried ? "Delivered" : "Retry available" }, { id: "recipient", label: "Recipient", value: "member@example.test" }, { id: "time", label: "Last attempt", value: { kind: "datetime", value: "2026-09-01T09:30:00Z" } }, { id: "opened", label: "Opened", value: "Unknown; tracking unavailable" }]} />
|
|
609
|
+
<Text>The application owns delivery policy and permission checks. Metrics describe quantities; this subject and its delivery facts stay in a record surface.</Text>
|
|
610
|
+
</Card>
|
|
611
|
+
<Text role="status">{retried ? "Mock retry completed" : "Mock delivery is waiting"}</Text>
|
|
612
|
+
</Stack>
|
|
613
|
+
}
|
|
614
|
+
```
|
|
615
|
+
|
|
573
616
|
### Metric bar
|
|
574
617
|
|
|
575
618
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
576
|
-
import { MetricBar } from "themelia-ui/
|
|
619
|
+
import { MetricBar } from "themelia-ui/blocks/analytics"
|
|
577
620
|
|
|
578
621
|
import { METRICS } from "./data"
|
|
579
622
|
|
|
@@ -591,7 +634,7 @@ export default function AnalyticsBar() {
|
|
|
591
634
|
### Metric grid
|
|
592
635
|
|
|
593
636
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
594
|
-
import { MetricGrid } from "themelia-ui/
|
|
637
|
+
import { MetricGrid } from "themelia-ui/blocks/analytics"
|
|
595
638
|
|
|
596
639
|
import { METRICS } from "./data"
|
|
597
640
|
|
|
@@ -606,13 +649,13 @@ export default function AnalyticsGrid() {
|
|
|
606
649
|
|
|
607
650
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
608
651
|
import { Stack } from "themelia-ui/base/structure"
|
|
609
|
-
import { Metric, MetricGrid } from "themelia-ui/
|
|
652
|
+
import { Metric, MetricGrid } from "themelia-ui/blocks/analytics"
|
|
610
653
|
|
|
611
654
|
import { CHURN, FULFILMENT, ORDERS, REVENUE } from "./data"
|
|
612
655
|
|
|
613
656
|
export default function AnalyticsVariants() {
|
|
614
657
|
return (
|
|
615
|
-
<Stack
|
|
658
|
+
<Stack>
|
|
616
659
|
<MetricGrid metrics={[REVENUE, CHURN]} variant="bordered" columns={2} />
|
|
617
660
|
<MetricGrid metrics={[ORDERS, FULFILMENT]} variant="compact" columns={2} />
|
|
618
661
|
<MetricGrid metrics={[REVENUE, CHURN]} variant="accent" columns={2} />
|
|
@@ -626,7 +669,7 @@ export default function AnalyticsVariants() {
|
|
|
626
669
|
### Comparison
|
|
627
670
|
|
|
628
671
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
629
|
-
import { MetricComparison } from "themelia-ui/
|
|
672
|
+
import { MetricComparison } from "themelia-ui/blocks/analytics"
|
|
630
673
|
|
|
631
674
|
export default function AnalyticsComparison() {
|
|
632
675
|
return (
|
|
@@ -643,7 +686,7 @@ export default function AnalyticsComparison() {
|
|
|
643
686
|
### Gradient hero
|
|
644
687
|
|
|
645
688
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
646
|
-
import { MetricGradient } from "themelia-ui/
|
|
689
|
+
import { MetricGradient } from "themelia-ui/blocks/analytics"
|
|
647
690
|
|
|
648
691
|
import { SERIES } from "./data"
|
|
649
692
|
|
|
@@ -666,7 +709,7 @@ export default function AnalyticsHero() {
|
|
|
666
709
|
### Micro grid
|
|
667
710
|
|
|
668
711
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
669
|
-
import { MetricMicroGrid } from "themelia-ui/
|
|
712
|
+
import { MetricMicroGrid } from "themelia-ui/blocks/analytics"
|
|
670
713
|
|
|
671
714
|
const MICRO = [
|
|
672
715
|
{ label: "Sessions", value: "18.2k", data: [4, 9, 6, 12, 10, 17] },
|
|
@@ -690,7 +733,7 @@ export default function AnalyticsMicro() {
|
|
|
690
733
|
import { Area, AreaChart, CartesianGrid, XAxis } from "recharts"
|
|
691
734
|
|
|
692
735
|
import type { ChartConfig } from "themelia-ui/base/chart"
|
|
693
|
-
import { ChartCard } from "themelia-ui/
|
|
736
|
+
import { ChartCard } from "themelia-ui/blocks/analytics"
|
|
694
737
|
|
|
695
738
|
import { SERIES } from "./data"
|
|
696
739
|
|
|
@@ -721,7 +764,7 @@ export default function AnalyticsChartCard() {
|
|
|
721
764
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
722
765
|
import {
|
|
723
766
|
ActivityHeatmap, type ActivityHeatmapDay, type ActivityLevel,
|
|
724
|
-
} from "themelia-ui/
|
|
767
|
+
} from "themelia-ui/blocks/analytics"
|
|
725
768
|
|
|
726
769
|
/* A fixed, cyclic pattern, not random data, for stable visual baselines. */
|
|
727
770
|
const HEATMAP: ActivityHeatmapDay[] = Array.from({ length: 182 }, (_, index) => {
|
|
@@ -742,7 +785,7 @@ export default function AnalyticsHeatmap() {
|
|
|
742
785
|
### Time ruler
|
|
743
786
|
|
|
744
787
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
745
|
-
import { TimeRuler } from "themelia-ui/
|
|
788
|
+
import { TimeRuler } from "themelia-ui/blocks/analytics"
|
|
746
789
|
|
|
747
790
|
const HOURS = [
|
|
748
791
|
0, 0, 0, 0, 1, 2, 5, 9, 14, 18, 22, 25,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
|
|
2
2
|
|
|
3
|
-
# `
|
|
3
|
+
# `blocks/onboarding`
|
|
4
4
|
|
|
5
5
|
A checklist tracks setup tasks the user completes over time.
|
|
6
6
|
|
|
@@ -8,14 +8,13 @@ A checklist tracks setup tasks the user completes over time.
|
|
|
8
8
|
|
|
9
9
|
- **Use when:** A checklist tracks setup tasks the user completes over time.
|
|
10
10
|
- **Avoid when:** The steps are one linear flow with a current position.
|
|
11
|
-
- **Consider instead:** `
|
|
11
|
+
- **Consider instead:** `blocks/timelines`
|
|
12
12
|
- **Stability:** stable.
|
|
13
13
|
|
|
14
14
|
## Import
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
|
-
import { Checklist } from "themelia-ui/
|
|
18
|
-
import "themelia-ui/patterns/onboarding.css"
|
|
17
|
+
import { Checklist } from "themelia-ui/blocks/onboarding"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -106,7 +105,7 @@ import { Badge } from "themelia-ui/base/badge"
|
|
|
106
105
|
import { Button } from "themelia-ui/base/buttons"
|
|
107
106
|
import { Stack } from "themelia-ui/base/structure"
|
|
108
107
|
import { Text } from "themelia-ui/base/typography"
|
|
109
|
-
import { Checklist } from "themelia-ui/
|
|
108
|
+
import { Checklist } from "themelia-ui/blocks/onboarding"
|
|
110
109
|
|
|
111
110
|
export default function BlocksChecklist() {
|
|
112
111
|
return (
|
|
@@ -120,11 +119,11 @@ export default function BlocksChecklist() {
|
|
|
120
119
|
title: "Connect a data source",
|
|
121
120
|
badge: <Badge tone="warning">Required</Badge>,
|
|
122
121
|
content: (
|
|
123
|
-
<Stack gap="
|
|
122
|
+
<Stack gap="sm">
|
|
124
123
|
<Text type="secondary">Pick where your data lives. You can add more later.</Text>
|
|
125
124
|
<Stack direction="horizontal" gap="sm" wrap>
|
|
126
125
|
<Button tone="primary">Connect Postgres</Button>
|
|
127
|
-
<Button tone="secondary"
|
|
126
|
+
<Button tone="secondary" appearance="outline">Upload a CSV</Button>
|
|
128
127
|
</Stack>
|
|
129
128
|
</Stack>
|
|
130
129
|
),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<!-- GENERATED by scripts/gen-consumer-docs.mjs — do not edit. -->
|
|
2
2
|
|
|
3
|
-
# `
|
|
3
|
+
# `blocks/timelines`
|
|
4
4
|
|
|
5
5
|
A sequence is presented as changelog entries, milestones, or a step tracker.
|
|
6
6
|
|
|
@@ -14,8 +14,7 @@ A sequence is presented as changelog entries, milestones, or a step tracker.
|
|
|
14
14
|
## Import
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
|
-
import { ChangelogTimeline } from "themelia-ui/
|
|
18
|
-
import "themelia-ui/patterns/timelines.css"
|
|
17
|
+
import { ChangelogTimeline } from "themelia-ui/blocks/timelines"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -231,7 +230,7 @@ Preview route: Timelines, onboarding & admin — `/blocks-admin`
|
|
|
231
230
|
### Changelog
|
|
232
231
|
|
|
233
232
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
234
|
-
import { ChangelogTimeline, type ChangelogEntry } from "themelia-ui/
|
|
233
|
+
import { ChangelogTimeline, type ChangelogEntry } from "themelia-ui/blocks/timelines"
|
|
235
234
|
|
|
236
235
|
const CHANGELOG: ChangelogEntry[] = [
|
|
237
236
|
{
|
|
@@ -277,7 +276,7 @@ export default function BlocksChangelog() {
|
|
|
277
276
|
### Milestones
|
|
278
277
|
|
|
279
278
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
280
|
-
import { MilestonesTimeline, type Milestone } from "themelia-ui/
|
|
279
|
+
import { MilestonesTimeline, type Milestone } from "themelia-ui/blocks/timelines"
|
|
281
280
|
|
|
282
281
|
const MILESTONES: Milestone[] = [
|
|
283
282
|
{ id: "1", title: "Discovery", description: "Interviews with eight teams.", status: "completed", dueDate: "12 Jun" },
|
|
@@ -298,7 +297,7 @@ export default function BlocksMilestones() {
|
|
|
298
297
|
|
|
299
298
|
```tsx fragment — excerpt from the live preview; surrounding values are supplied by the application
|
|
300
299
|
import { Stack } from "themelia-ui/base/structure"
|
|
301
|
-
import { Steps, StepsBar, type Step } from "themelia-ui/
|
|
300
|
+
import { Steps, StepsBar, type Step } from "themelia-ui/blocks/timelines"
|
|
302
301
|
|
|
303
302
|
const STEPS: Step[] = [
|
|
304
303
|
{ id: "1", title: "Create your workspace", description: "Name it and pick a region.", status: "completed", timestamp: "Done 14 Aug" },
|
|
@@ -309,7 +308,7 @@ const STEPS: Step[] = [
|
|
|
309
308
|
|
|
310
309
|
export default function BlocksSteps() {
|
|
311
310
|
return (
|
|
312
|
-
<Stack
|
|
311
|
+
<Stack>
|
|
313
312
|
<StepsBar steps={STEPS} />
|
|
314
313
|
<Steps steps={STEPS} />
|
|
315
314
|
</Stack>
|
|
@@ -15,7 +15,6 @@ The same operation runs from a table row, a card menu and the command palette, a
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { ActionHttpError } from "themelia-ui/features/actions"
|
|
18
|
-
import "themelia-ui/features/actions.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -35,12 +34,12 @@ Kind: const.
|
|
|
35
34
|
unknown
|
|
36
35
|
```
|
|
37
36
|
|
|
38
|
-
### `
|
|
37
|
+
### `ActionAppearance`
|
|
39
38
|
|
|
40
39
|
Kind: type.
|
|
41
40
|
|
|
42
41
|
```text
|
|
43
|
-
(typeof
|
|
42
|
+
(typeof ACTION_APPEARANCES)[number]
|
|
44
43
|
```
|
|
45
44
|
|
|
46
45
|
### `ActionContext`
|
|
@@ -266,7 +265,6 @@ Kind: interface.
|
|
|
266
265
|
| `confirmLabel` | no | `ActionMessage<TPayload, TValues, TResult>` | |
|
|
267
266
|
| `cancelLabel` | no | `ActionMessage<TPayload, TValues, TResult>` | |
|
|
268
267
|
| `tone` | no | `ActionTone` | |
|
|
269
|
-
| `size` | no | `ActionOverlaySize` | |
|
|
270
268
|
| `drawerDirection` | no | `ActionDrawerDirection` | |
|
|
271
269
|
| `formId` | no | `string` | |
|
|
272
270
|
| `showCancel` | no | `boolean` | |
|
|
@@ -281,7 +279,7 @@ Kind: interface.
|
|
|
281
279
|
| `closeOnEscape` | no | `boolean` | |
|
|
282
280
|
| `closeOnSuccess` | no | `boolean` | |
|
|
283
281
|
| `closeOnBackdropClick` | no | `boolean` | |
|
|
284
|
-
| `
|
|
282
|
+
| `confirmAppearance` | no | `Extract<ActionAppearance, 'solid' \| 'outline'>` | |
|
|
285
283
|
| `footer` | no | `ReactNode` | |
|
|
286
284
|
| `alertMessage` | no | `ActionMessage<TPayload, TValues, TResult>` | |
|
|
287
285
|
| `render` | no | `BivariantCallback<[ context: ActionRenderContext<TPayload, TValues> ], ReactNode>` | |
|
|
@@ -313,14 +311,6 @@ Kind: interface.
|
|
|
313
311
|
| --- | :-: | --- | --- |
|
|
314
312
|
| `strings` | no | `StringsProp<ActionOverlayStrings>` | |
|
|
315
313
|
|
|
316
|
-
### `ActionOverlaySize`
|
|
317
|
-
|
|
318
|
-
Kind: type.
|
|
319
|
-
|
|
320
|
-
```text
|
|
321
|
-
'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | 'full'
|
|
322
|
-
```
|
|
323
|
-
|
|
324
314
|
### `ActionOverlayStrings`
|
|
325
315
|
|
|
326
316
|
Kind: interface.
|
|
@@ -787,7 +777,7 @@ Kind: callable.
|
|
|
787
777
|
Kind: callable.
|
|
788
778
|
|
|
789
779
|
```text
|
|
790
|
-
(action: ResolvedAction<TPayload, TValues, TResult>) => { label: string; onClick: () => void; disabled: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string;
|
|
780
|
+
(action: ResolvedAction<TPayload, TValues, TResult>) => { label: string; onClick: () => void; disabled: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string; appearance: string | undefined; }
|
|
791
781
|
```
|
|
792
782
|
|
|
793
783
|
### `toPageAction`
|
|
@@ -795,7 +785,7 @@ Kind: callable.
|
|
|
795
785
|
Kind: callable.
|
|
796
786
|
|
|
797
787
|
```text
|
|
798
|
-
(action: ResolvedAction<TPayload, TValues, TResult>) => { id: string; label: import('react').ReactNode; onClick: () => void; disabled: boolean; loading: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string | undefined;
|
|
788
|
+
(action: ResolvedAction<TPayload, TValues, TResult>) => { id: string; label: import('react').ReactNode; onClick: () => void; disabled: boolean; loading: boolean; icon: import('react').ComponentType<{ className?: string; }> | undefined; tone: string | undefined; appearance: string | undefined; visible: boolean; group: string | undefined; placement: ActionPlacement; }
|
|
799
789
|
```
|
|
800
790
|
|
|
801
791
|
### `toTableAction`
|
|
@@ -803,7 +793,7 @@ Kind: callable.
|
|
|
803
793
|
Kind: callable.
|
|
804
794
|
|
|
805
795
|
```text
|
|
806
|
-
(action: ResolvedAction<TData>) => { id: string; label: string; onClick: (row: TData) => void; disabled: boolean; isDisabled: () => boolean; isVisible: () => boolean; icon: import('react').ReactElement<{ className?: string; }, string | import('react').JSXElementConstructor<any>> | undefined; tone: string;
|
|
796
|
+
(action: ResolvedAction<TData>) => { id: string; label: string; onClick: (row: TData) => void; disabled: boolean; isDisabled: () => boolean; isVisible: () => boolean; icon: import('react').ReactElement<{ className?: string; }, string | import('react').JSXElementConstructor<any>> | undefined; tone: string; appearance: string | undefined; }
|
|
807
797
|
```
|
|
808
798
|
|
|
809
799
|
### `useAction`
|
|
@@ -970,8 +960,8 @@ function ActionsDemo() {
|
|
|
970
960
|
const cardActions = useActionSurface({ surface: "card", scope: "invoice", payload: "INV-4418" })
|
|
971
961
|
|
|
972
962
|
return (
|
|
973
|
-
<Stack
|
|
974
|
-
<Stack direction="horizontal" gap="
|
|
963
|
+
<Stack style={{ width: "100%" }}>
|
|
964
|
+
<Stack direction="horizontal" gap="sm" align="center">
|
|
975
965
|
{pageActions.map((action) => (
|
|
976
966
|
<Button
|
|
977
967
|
key={action.key}
|
|
@@ -8,14 +8,13 @@ An audit or activity log renders actor, change and time, grouped by day.
|
|
|
8
8
|
|
|
9
9
|
- **Use when:** An audit or activity log renders actor, change and time, grouped by day.
|
|
10
10
|
- **Avoid when:** The entries are milestones or a changelog, or the thread is a discussion.
|
|
11
|
-
- **Consider instead:** `
|
|
11
|
+
- **Consider instead:** `blocks/timelines`, `features/comments`
|
|
12
12
|
- **Stability:** stable.
|
|
13
13
|
|
|
14
14
|
## Import
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { ActivityActionsMenu } from "themelia-ui/features/activities"
|
|
18
|
-
import "themelia-ui/features/activities.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Optional peers
|
|
@@ -144,20 +143,6 @@ renders nothing.
|
|
|
144
143
|
({ label, first, className, }: { label: string; first: boolean; className?: string; }) => import("react").JSX.Element | null
|
|
145
144
|
```
|
|
146
145
|
|
|
147
|
-
### `ActivityDensity`
|
|
148
|
-
|
|
149
|
-
Kind: type.
|
|
150
|
-
|
|
151
|
-
How much of a row is drawn.
|
|
152
|
-
|
|
153
|
-
`compact` a dot and one line, for an audit trail read by scanning.
|
|
154
|
-
`default` an icon and a second line, for a record's own history.
|
|
155
|
-
`rich` the whole row: metadata, changes, resources, actions.
|
|
156
|
-
|
|
157
|
-
```text
|
|
158
|
-
"compact" | "default" | "rich"
|
|
159
|
-
```
|
|
160
|
-
|
|
161
146
|
### `ActivityEmptyState`
|
|
162
147
|
|
|
163
148
|
Kind: callable.
|
|
@@ -254,7 +239,7 @@ The timeline of events, grouped by date on one rail.
|
|
|
254
239
|
**Alternatives:** Comments, ActivityLog.
|
|
255
240
|
|
|
256
241
|
```text
|
|
257
|
-
({ activities,
|
|
242
|
+
({ activities, variant, itemSpacing, groupByDate, expandedByDefault, detailsCollapsible, defaultExpandedIds, expandedIds, onExpandedIdsChange, currentUserId, loading, error, onRetry, eventConfig, strings, slots, rowClassNames, className, locale, formatRelativeTime, formatAbsoluteTime, formatDateGroupLabel, getSourceLabel, actionsForActivity, onActivityClick, onActorClick, onResourceClick, onAction, onActivityExpandedChange, resources, onResourcesChange, }: ActivityFeedProps<TData>) => import("react").JSX.Element
|
|
258
243
|
```
|
|
259
244
|
|
|
260
245
|
### `ActivityFeedAccessors`
|
|
@@ -291,7 +276,7 @@ Extends: `ActivityFeedAccessors<TData>`, `ActivityFeedCallbacks<TData>`, `Activi
|
|
|
291
276
|
| member | required | type | description / documented default |
|
|
292
277
|
| --- | :-: | --- | --- |
|
|
293
278
|
| `activities` | no | `ReadonlyArray<ActivityItem<TData>>` | In display order. Grouped by date as they come, not bucketed — bucketing would silently<br>reorder a feed sorted by something other than date. |
|
|
294
|
-
| `
|
|
279
|
+
| `variant` | no | `ActivityVariant` | How much of a row is drawn. `rich` adds metadata, changes, resources, and actions. |
|
|
295
280
|
| `itemSpacing` | no | `ActivityItemSpacing` | The rhythm between rows, independent of how much each row draws. |
|
|
296
281
|
| `groupByDate` | no | `boolean` | |
|
|
297
282
|
| `expandedByDefault` | no | `boolean` | |
|
|
@@ -391,7 +376,7 @@ Kind: type.
|
|
|
391
376
|
The rhythm between rows, independent of how much each row draws.
|
|
392
377
|
|
|
393
378
|
```text
|
|
394
|
-
"
|
|
379
|
+
"default" | "sm"
|
|
395
380
|
```
|
|
396
381
|
|
|
397
382
|
### `ActivityKeyedItem`
|
|
@@ -595,7 +580,7 @@ The dot on the rail. It knows whether it is last, because the connector below it
|
|
|
595
580
|
tells a reader the run has ended.
|
|
596
581
|
|
|
597
582
|
```text
|
|
598
|
-
({ icon, tone,
|
|
583
|
+
({ icon, tone, variant, last, className }: ActivityMarkerProps) => import("react").JSX.Element
|
|
599
584
|
```
|
|
600
585
|
|
|
601
586
|
### `ActivityMarkerProps`
|
|
@@ -606,7 +591,7 @@ Kind: interface.
|
|
|
606
591
|
| --- | :-: | --- | --- |
|
|
607
592
|
| `icon` | yes | `ReactNode` | |
|
|
608
593
|
| `tone` | yes | `ActivityTone` | |
|
|
609
|
-
| `
|
|
594
|
+
| `variant` | yes | `ActivityVariant` | |
|
|
610
595
|
| `last` | yes | `boolean` | The rail stops at the last row rather than running into nothing. |
|
|
611
596
|
| `className` | no | `string` | |
|
|
612
597
|
|
|
@@ -618,7 +603,7 @@ Everything a custom renderer needs about where its row sits.
|
|
|
618
603
|
|
|
619
604
|
| member | required | type | description / documented default |
|
|
620
605
|
| --- | :-: | --- | --- |
|
|
621
|
-
| `
|
|
606
|
+
| `variant` | yes | `ActivityVariant` | |
|
|
622
607
|
| `isLast` | yes | `boolean` | |
|
|
623
608
|
| `isFirstInGroup` | yes | `boolean` | |
|
|
624
609
|
| `activity` | yes | `ActivityItem<TData>` | |
|
|
@@ -704,12 +689,12 @@ Kind: interface.
|
|
|
704
689
|
|
|
705
690
|
Kind: callable.
|
|
706
691
|
|
|
707
|
-
One entry on the rail.
|
|
692
|
+
One entry on the rail. The variant changes the marker size and the row rhythm together —
|
|
708
693
|
changing one without the other is what makes a compact feed look mis-aligned rather than
|
|
709
694
|
dense.
|
|
710
695
|
|
|
711
696
|
```text
|
|
712
|
-
({ activity,
|
|
697
|
+
({ activity, variant, itemSpacing, eventConfig, tone, last, expanded, onExpandedChange, detailsCollapsible, detailLabels, relativeTime, absoluteTime, sourceLabel, youLabel, showChangesLabel, hideChangesLabel, moreLabel, actionsLabel, currentUserId, actions, onActivityClick, onActorClick, onResourceClick, onAction, getResourceConfig, headlineOverride, markerOverride, customDetails, rowClassName, markerClassName, contentClassName, detailsClassName, }: ActivityRowProps<TData>) => import("react").JSX.Element
|
|
713
698
|
```
|
|
714
699
|
|
|
715
700
|
### `ActivityRowClassNames`
|
|
@@ -740,7 +725,7 @@ Kind: interface.
|
|
|
740
725
|
| member | required | type | description / documented default |
|
|
741
726
|
| --- | :-: | --- | --- |
|
|
742
727
|
| `activity` | yes | `ActivityItem<TData>` | |
|
|
743
|
-
| `
|
|
728
|
+
| `variant` | yes | `ActivityVariant` | |
|
|
744
729
|
| `itemSpacing` | yes | `ActivityItemSpacing` | |
|
|
745
730
|
| `eventConfig` | yes | `ActivityEventConfig` | |
|
|
746
731
|
| `tone` | yes | `ActivityTone` | |
|
|
@@ -780,6 +765,20 @@ Kind: type.
|
|
|
780
765
|
SemanticTone
|
|
781
766
|
```
|
|
782
767
|
|
|
768
|
+
### `ActivityVariant`
|
|
769
|
+
|
|
770
|
+
Kind: type.
|
|
771
|
+
|
|
772
|
+
How much of a row is drawn.
|
|
773
|
+
|
|
774
|
+
`compact` a dot and one line, for an audit trail read by scanning.
|
|
775
|
+
`default` an icon and a second line, for a record's own history.
|
|
776
|
+
`rich` the whole row: metadata, changes, resources, actions.
|
|
777
|
+
|
|
778
|
+
```text
|
|
779
|
+
"compact" | "default" | "rich"
|
|
780
|
+
```
|
|
781
|
+
|
|
783
782
|
### `createActivityEventAdapter`
|
|
784
783
|
|
|
785
784
|
Kind: callable.
|
|
@@ -926,13 +925,13 @@ import { ExternalLinkIcon, RotateCwIcon } from "lucide-react"
|
|
|
926
925
|
import { PillRadioGroup, Select } from "themelia-ui/base/choice-inputs"
|
|
927
926
|
import { Stack } from "themelia-ui/base/structure"
|
|
928
927
|
import { Text } from "themelia-ui/base/typography"
|
|
929
|
-
import { ActivityFeed, type
|
|
928
|
+
import { ActivityFeed, type ActivityVariant } from "themelia-ui/features/activities"
|
|
930
929
|
|
|
931
930
|
import styles from "./activities.module.css"
|
|
932
931
|
import { ACTIVITIES, REGISTRY } from "./data"
|
|
933
932
|
|
|
934
933
|
export default function ActivityFeedExample() {
|
|
935
|
-
const [
|
|
934
|
+
const [variant, setVariant] = useState<ActivityVariant>("rich")
|
|
936
935
|
const [activities, setActivities] = useState(ACTIVITIES)
|
|
937
936
|
const [feedState, setFeedState] = useState("ready")
|
|
938
937
|
const [log, setLog] = useState<string[]>([])
|
|
@@ -943,8 +942,8 @@ export default function ActivityFeedExample() {
|
|
|
943
942
|
<>
|
|
944
943
|
<Stack direction="horizontal" gap="sm" wrap>
|
|
945
944
|
<PillRadioGroup
|
|
946
|
-
value={
|
|
947
|
-
onValueChange={(next) => next &&
|
|
945
|
+
value={variant}
|
|
946
|
+
onValueChange={(next) => next && setVariant(next as ActivityVariant)}
|
|
948
947
|
options={[
|
|
949
948
|
{ value: "compact", label: "compact" },
|
|
950
949
|
{ value: "default", label: "default" },
|
|
@@ -965,7 +964,7 @@ export default function ActivityFeedExample() {
|
|
|
965
964
|
loading={feedState === "refreshing" || feedState === "loading"}
|
|
966
965
|
error={feedState === "error" || feedState === "initial-error" ? "The activity service is unavailable. Try again to reload history." : undefined}
|
|
967
966
|
onRetry={() => setFeedState("ready")}
|
|
968
|
-
|
|
967
|
+
variant={variant}
|
|
969
968
|
currentUserId="u1"
|
|
970
969
|
resources={REGISTRY}
|
|
971
970
|
onActorClick={(actor) => note(`actor: ${actor.name}`)}
|
|
@@ -1041,8 +1040,8 @@ export default function ActivityLogExample() {
|
|
|
1041
1040
|
return (
|
|
1042
1041
|
<>
|
|
1043
1042
|
<Stack direction="horizontal" gap="sm" wrap>
|
|
1044
|
-
<Button tone="neutral"
|
|
1045
|
-
<Button tone="neutral"
|
|
1043
|
+
<Button tone="neutral" appearance="outline" onClick={() => setEntries([])} disabled={entries.length === 0}>Show empty log</Button>
|
|
1044
|
+
<Button tone="neutral" appearance="outline" onClick={() => setEntries(ENTRIES)}>Restore sample</Button>
|
|
1046
1045
|
<Select aria-label="Log state" value={logState} className={styles.stateSelect}
|
|
1047
1046
|
options={[{ value: "ready", label: "Loaded" }, { value: "loading", label: "Updating" }, { value: "error", label: "Failed" }]}
|
|
1048
1047
|
onValueChange={(value) => value && setLogState(value)} />
|
|
@@ -15,7 +15,6 @@ A conversational surface streams assistant messages, tool calls, artifacts and a
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { AiAgent } from "themelia-ui/features/ai-chat"
|
|
18
|
-
import "themelia-ui/features/ai-chat.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -814,7 +813,7 @@ waiting on. It paints through `background-clip`, so its colour is transparent by
|
|
|
814
813
|
contrast probe reading `color` alone will call it a 1:1 failure.
|
|
815
814
|
|
|
816
815
|
```text
|
|
817
|
-
({ children, paused, duration, className, }: AiShimmerProps) => import("react").JSX.Element
|
|
816
|
+
({ children, paused, duration, size, className, }: AiShimmerProps) => import("react").JSX.Element
|
|
818
817
|
```
|
|
819
818
|
|
|
820
819
|
### `AiShimmerProps`
|
|
@@ -826,6 +825,7 @@ Kind: interface.
|
|
|
826
825
|
| `children` | no | `ReactNode` | Defaults to the "Thinking…" placeholder. |
|
|
827
826
|
| `paused` | no | `boolean` | Renders the text still, in the muted foreground. |
|
|
828
827
|
| `duration` | no | `number` | Sweep duration, in seconds. |
|
|
828
|
+
| `size` | no | `TextProps["size"]` | Step on the type scale, as on `Text`. Unset, the provider's default size. |
|
|
829
829
|
| `className` | no | `string` | |
|
|
830
830
|
|
|
831
831
|
### `AiSourceItem`
|
|
@@ -895,7 +895,7 @@ One task of an agent's plan, with its status and its sub-tasks. A task reports w
|
|
|
895
895
|
done, not merely that something is.
|
|
896
896
|
|
|
897
897
|
```text
|
|
898
|
-
({ task,
|
|
898
|
+
({ task, defaultExpanded, indent, className, strings, }: AiTaskProps) => import("react").JSX.Element
|
|
899
899
|
```
|
|
900
900
|
|
|
901
901
|
### `AiTaskItem`
|
|
@@ -919,8 +919,8 @@ Kind: interface.
|
|
|
919
919
|
| member | required | type | description / documented default |
|
|
920
920
|
| --- | :-: | --- | --- |
|
|
921
921
|
| `task` | yes | `AiTaskItem` | |
|
|
922
|
-
| `
|
|
923
|
-
| `indent` | no | `number` | Indent per nesting level, as a multiple of `--
|
|
922
|
+
| `defaultExpanded` | no | `boolean` | Opens every level of sub-tasks at first. Off, only the top level starts open and the rest<br>sit behind their toggles. @default false |
|
|
923
|
+
| `indent` | no | `number` | Indent per nesting level, as a multiple of `--padding`. |
|
|
924
924
|
| `className` | no | `string` | |
|
|
925
925
|
| `strings` | no | `Partial<Strings.AiTaskStrings>` | |
|
|
926
926
|
|
|
@@ -1249,7 +1249,7 @@ export default function Chat() {
|
|
|
1249
1249
|
status: streaming ? "working" : "idle",
|
|
1250
1250
|
}}
|
|
1251
1251
|
headerActions={
|
|
1252
|
-
<Button type="button" tone="neutral"
|
|
1252
|
+
<Button type="button" tone="neutral" appearance="ghost" onClick={() => note("settings")}>
|
|
1253
1253
|
Settings
|
|
1254
1254
|
</Button>
|
|
1255
1255
|
}
|
|
@@ -1294,7 +1294,7 @@ export default function Turn() {
|
|
|
1294
1294
|
|
|
1295
1295
|
return (
|
|
1296
1296
|
<>
|
|
1297
|
-
<Stack
|
|
1297
|
+
<Stack>
|
|
1298
1298
|
<AiMessageBubble
|
|
1299
1299
|
role="user"
|
|
1300
1300
|
authorName="You"
|
|
@@ -1357,7 +1357,7 @@ const CHAIN = [
|
|
|
1357
1357
|
|
|
1358
1358
|
export default function Thinking() {
|
|
1359
1359
|
return (
|
|
1360
|
-
<Stack
|
|
1360
|
+
<Stack>
|
|
1361
1361
|
<AiReasoning durationSeconds={4}>
|
|
1362
1362
|
The totals are summed as floats. 0.1 + 0.2 is 0.30000000000000004, and rounding
|
|
1363
1363
|
each line before summing compounds the error across a long invoice.
|
|
@@ -1366,7 +1366,7 @@ export default function Thinking() {
|
|
|
1366
1366
|
Checking whether the backfill needs to run per tenant…
|
|
1367
1367
|
</AiReasoning>
|
|
1368
1368
|
<AiChainOfThought steps={CHAIN} streaming />
|
|
1369
|
-
<AiTask task={PLAN}
|
|
1369
|
+
<AiTask task={PLAN} defaultExpanded />
|
|
1370
1370
|
</Stack>
|
|
1371
1371
|
)
|
|
1372
1372
|
}
|
|
@@ -1382,7 +1382,7 @@ import { AiToolCall } from "themelia-ui/features/ai-chat"
|
|
|
1382
1382
|
|
|
1383
1383
|
export default function Tools() {
|
|
1384
1384
|
return (
|
|
1385
|
-
<Stack gap="
|
|
1385
|
+
<Stack gap="sm">
|
|
1386
1386
|
<AiToolCall name="read_file" status="pending" />
|
|
1387
1387
|
<AiToolCall
|
|
1388
1388
|
name="search_codebase"
|
|
@@ -1432,7 +1432,7 @@ export default function Output() {
|
|
|
1432
1432
|
|
|
1433
1433
|
return (
|
|
1434
1434
|
<>
|
|
1435
|
-
<Stack
|
|
1435
|
+
<Stack>
|
|
1436
1436
|
<AiArtifact
|
|
1437
1437
|
title="totals.ts"
|
|
1438
1438
|
subtitle="TypeScript · 11 lines"
|
|
@@ -1453,7 +1453,7 @@ export default function Output() {
|
|
|
1453
1453
|
<AiSources sources={SOURCES} defaultExpanded />
|
|
1454
1454
|
<AiSources sources={SOURCES} variant="avatars" />
|
|
1455
1455
|
|
|
1456
|
-
<Stack direction="horizontal" gap="
|
|
1456
|
+
<Stack direction="horizontal" gap="sm" wrap>
|
|
1457
1457
|
{attachments.map((attachment) => (
|
|
1458
1458
|
<AiAttachment
|
|
1459
1459
|
key={attachment.id}
|
|
@@ -1497,7 +1497,7 @@ export default function Approval() {
|
|
|
1497
1497
|
const [approval, setApproval] = useState<"pending" | "approved" | "rejected">("pending")
|
|
1498
1498
|
|
|
1499
1499
|
return (
|
|
1500
|
-
<Stack
|
|
1500
|
+
<Stack>
|
|
1501
1501
|
<AiConfirmation
|
|
1502
1502
|
title="Run the backfill on 4,102 invoices"
|
|
1503
1503
|
description="Rewrites every stored amount into cents. There is no undo."
|
|
@@ -1507,8 +1507,8 @@ export default function Approval() {
|
|
|
1507
1507
|
onReject={() => setApproval("rejected")}
|
|
1508
1508
|
/>
|
|
1509
1509
|
{approval !== "pending" && (
|
|
1510
|
-
<Stack direction="horizontal" gap="
|
|
1511
|
-
<Button type="button" tone="neutral"
|
|
1510
|
+
<Stack direction="horizontal" gap="sm">
|
|
1511
|
+
<Button type="button" tone="neutral" appearance="outline" onClick={() => setApproval("pending")}>
|
|
1512
1512
|
Ask again
|
|
1513
1513
|
</Button>
|
|
1514
1514
|
</Stack>
|