themelia-ui 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/themelia-ui/SKILL.md +27 -29
- package/.agents/skills/themelia-ui/references/api-compatibility.md +3 -3
- package/.agents/skills/themelia-ui/references/composition.md +2 -18
- package/.agents/skills/themelia-ui/references/framework-wiring.md +8 -8
- package/.agents/skills/themelia-ui/references/imports.md +104 -104
- package/.agents/skills/themelia-ui/references/installation.md +55 -27
- package/.agents/skills/themelia-ui/references/migration.md +136 -5
- package/.agents/skills/themelia-ui/references/provider-and-scoping.md +13 -19
- package/.agents/skills/themelia-ui/references/theming.md +170 -131
- package/.agents/skills/themelia-ui/references/troubleshooting.md +62 -27
- package/.agents/skills/themelia-ui/references/verification.md +2 -3
- package/CHANGELOG.md +187 -0
- package/README.md +45 -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-Bmo1YrTm.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-DdiICdMM.js +279 -0
- package/dist/chart-BkK3Xm10.js +201 -0
- package/dist/choice-inputs-CCw-0gD6.js +694 -0
- package/dist/combobox-Byu8N-Oe.js +274 -0
- package/dist/command-CnB_IZSo.js +156 -0
- package/dist/comments-C6Y_ddMt.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/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 +3 -2
- package/dist/components/base/structure/grid.d.ts +2 -2
- package/dist/components/base/structure/index.d.ts +1 -1
- package/dist/components/base/structure/split.d.ts +3 -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/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-C2HgjpFU.js +685 -0
- package/dist/{dialog-CtFCuTUF.js → dialog-0nRFg5Zs.js} +1 -1
- package/dist/display-BGN834xV.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 +119 -117
- 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-geLuSlFL.js} +386 -383
- package/dist/forms-NxbJK4Mh.js +250 -0
- package/dist/forms-numeric-C6NMdj6G.js +582 -0
- package/dist/index.js +2 -2
- package/dist/input-group-HS_Z0Ei_.js +119 -0
- package/dist/item-CuUJyETl.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 +43 -43
- 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/{mentions-BbsEHlcH.js → mentions-oeYNv_j1.js} +113 -111
- package/dist/navigation-BTX5Ti0Z.js +622 -0
- package/dist/navigation-WYKjDhZq.js +216 -0
- package/dist/overlay-C8RAgi2_.js +356 -0
- package/dist/{overlays-DvVoS3td.js → overlays-9BxwFTou.js} +77 -75
- package/dist/popover-CA7SP_iz.js +127 -0
- package/dist/popover-menu-DcLeiw9r.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-DfptvbGA.js +445 -0
- package/dist/rich-text-editor-D_Ppm8yh.js +491 -0
- package/dist/{sheet-CKcmRbJ9.js → sheet-D-DVZH_b.js} +3 -3
- package/dist/sidebar-DXQOy_Cb.js +421 -0
- package/dist/skeleton-CubvHel9.js +173 -0
- package/dist/spinner-Tc1QCnxM.js +30 -0
- package/dist/{structure-D0WGQAP3.js → structure-B9Y5NkP_.js} +15 -22
- package/dist/style.css +1 -1
- package/dist/styles/TOKENS.md +115 -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-DT_20ity.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-BRZbSdhf.js} +57 -49
- package/dist/{timelines-BB7550mz.js → timelines-DczZKW5p.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-C_6mlbfl.js +968 -0
- package/dist/use-async-preview-BFwf9ElY.js +188 -0
- package/dist/value-inputs-CnO6RZeT.js +728 -0
- package/docs/README.md +2 -2
- package/docs/build/recipes.md +10992 -10628
- package/docs/generated/component-index.json +11133 -11624
- 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 +12 -13
- 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 +264 -65
- 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 +279 -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} +5 -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} +13 -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 +4 -5
- package/docs/generated/components/features--comments.md +0 -1
- package/docs/generated/components/features--data-view.md +4 -5
- package/docs/generated/components/features--event-calendar.md +1 -2
- package/docs/generated/components/features--filters.md +1 -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 +37 -38
- package/docs/generated/components/features--mentions.md +7 -7
- package/docs/generated/components/features--overlays.md +21 -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 +4 -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 +10 -11
- package/docs/generated/components/layout--auth.md +8 -9
- package/docs/generated/components/layout--containers.md +0 -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 +3 -4
- package/docs/generated/components/layout--settings.md +0 -1
- package/docs/generated/components/layout--sidebar.md +6 -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 +95 -77
- 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 +585 -810
- package/docs/learn/api-compatibility.md +3 -3
- package/docs/learn/composition.md +2 -18
- package/docs/learn/framework-wiring.md +8 -8
- package/docs/learn/installation.md +55 -27
- package/docs/learn/migration.md +136 -5
- package/docs/learn/provider-and-scoping.md +13 -19
- package/docs/learn/theming.md +170 -131
- package/docs/learn/troubleshooting.md +62 -27
- package/docs/learn/verification.md +2 -3
- package/package.json +39 -473
- package/scripts/consumer/codemod.mjs +51 -12
- package/scripts/consumer/find-component.mjs +2 -4
- package/src/styles/TOKENS.md +115 -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
|
@@ -3,6 +3,134 @@
|
|
|
3
3
|
What changes between versions, what to do when you upgrade, and which changes a stable major
|
|
4
4
|
allows.
|
|
5
5
|
|
|
6
|
+
## Upgrading to 3.1
|
|
7
|
+
|
|
8
|
+
3.1 renames and removes public API as well as adding to it. Upgrade deliberately, not
|
|
9
|
+
through a caret range: pin `themelia-ui` to `~3.0.0` until you have run the codemod and fixed
|
|
10
|
+
what TypeScript reports.
|
|
11
|
+
|
|
12
|
+
**Blocks are published under `blocks/`.** The tier the documentation, the component index
|
|
13
|
+
and the finder call Blocks now has subpaths that say so:
|
|
14
|
+
|
|
15
|
+
| was | is |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| `themelia-ui/patterns/analytics` | `themelia-ui/blocks/analytics` |
|
|
18
|
+
| `themelia-ui/patterns/onboarding` | `themelia-ui/blocks/onboarding` |
|
|
19
|
+
| `themelia-ui/patterns/timelines` | `themelia-ui/blocks/timelines` |
|
|
20
|
+
| `themelia-ui/admin/patterns/access` | `themelia-ui/blocks/admin/access` |
|
|
21
|
+
| `themelia-ui/admin/patterns/commerce` | `themelia-ui/blocks/admin/commerce` |
|
|
22
|
+
|
|
23
|
+
Module stylesheet subpaths are removed. Importing a component in a bundled app brings its CSS.
|
|
24
|
+
|
|
25
|
+
**Components bring their own CSS.** In a bundled app, importing a component now brings its
|
|
26
|
+
stylesheet, once, and a module you never import brings none. To upgrade:
|
|
27
|
+
|
|
28
|
+
1. Run the codemod over each directory that holds application code: `src/`, and `app/` or
|
|
29
|
+
`.storybook/` where you have them.
|
|
30
|
+
It removes JavaScript imports of `themelia-ui/style.css` and of module stylesheets, which would
|
|
31
|
+
now load the CSS twice.
|
|
32
|
+
2. The codemod removes obsolete module CSS `@import`s. Review any remaining stylesheet
|
|
33
|
+
references it reports. With Tailwind, keep `@import "tailwindcss"` and the bridge, and drop
|
|
34
|
+
`@import "themelia-ui/style.css"` or `@import "themelia-ui/core.css"` from the Tailwind entry.
|
|
35
|
+
3. If the application renders on the server with Vite (Astro, React Router, TanStack Start, Vike),
|
|
36
|
+
list `themelia-ui`, and any installed package that imports it, in `ssr.noExternal`; Astro
|
|
37
|
+
renders the kit unstyled without it. See
|
|
38
|
+
[Server rendering with Vite](installation.md#server-rendering-with-vite).
|
|
39
|
+
4. If your bundler config sets its own resolve conditions, keep `module` in them.
|
|
40
|
+
5. Pages that link stylesheets without a bundler link `style.css`.
|
|
41
|
+
|
|
42
|
+
**Fill style is `appearance`.** `tone` is colour, `appearance` is fill and `variant` is
|
|
43
|
+
structure, on every component. TypeScript reports each rename:
|
|
44
|
+
|
|
45
|
+
| was | is |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `buttonStyle` on a Button, a Button-like component or an action definition | `appearance` |
|
|
48
|
+
| `ButtonStyle`, `ActionButtonStyle` | `ButtonAppearance`, `ActionAppearance` |
|
|
49
|
+
| `defaults: { button: { buttonStyle } }` | `defaults: { button: { appearance } }` |
|
|
50
|
+
| `variant` on `Badge`, `Toggle` and `SidebarMenuButton` | `appearance` |
|
|
51
|
+
| `BadgeVariant` | `BadgeAppearance` |
|
|
52
|
+
| `badgeVariants({ tone, variant })` on your own element | `<Badge tone appearance render={<a … />}>` |
|
|
53
|
+
| `badgeVariant` on a metadata badge value | `badgeAppearance` |
|
|
54
|
+
| `confirmStyle` on an overlay or an action modality | `confirmAppearance` |
|
|
55
|
+
|
|
56
|
+
Button renders `data-appearance` instead of `data-style`, and Toggle `data-appearance`
|
|
57
|
+
instead of `data-variant`: update CSS that selects either.
|
|
58
|
+
|
|
59
|
+
**Two steps for every size.** A size, padding or gap prop offers `default` and `sm`. `md` is
|
|
60
|
+
`default`, which is also what leaving the prop out gives you; a step larger than the default
|
|
61
|
+
is gone. The gaps map like this:
|
|
62
|
+
|
|
63
|
+
| was | is |
|
|
64
|
+
| --- | --- |
|
|
65
|
+
| `gap="2xs"`, `"xs"`, `"sm"`, `"md"` | `gap="sm"` (8px) |
|
|
66
|
+
| `gap="lg"`, `"xl"`, `"2xl"` | `gap="default"` (16px), or no `gap` |
|
|
67
|
+
| no `gap` on a `Stack` or `Split` (8px) | 16px; write `gap="sm"` to keep 8px |
|
|
68
|
+
|
|
69
|
+
Widths take `default`, `sm`, `full`, `none` or a CSS length such as `"48rem"`, and a free
|
|
70
|
+
string no longer type-checks. `Slider` and `SliderField` lose `size`, `InputGroupButton`
|
|
71
|
+
takes `iconOnly` instead of its icon sizes, and an action modality's `size`, which nothing
|
|
72
|
+
read, is gone.
|
|
73
|
+
|
|
74
|
+
**`density` belongs to the provider.** `MetadataList density="compact"` becomes
|
|
75
|
+
`size="sm"`, `MediaLibrary density="compact"` becomes `size="sm"`, `ActivityFeed density`
|
|
76
|
+
becomes `variant`, and `AiTask density="expanded"` becomes `defaultExpanded`. CSS that
|
|
77
|
+
selects `[data-row-density]`, `[data-media-density]` or `[data-activity-density]` selects
|
|
78
|
+
`[data-size]` or `[data-variant]`.
|
|
79
|
+
|
|
80
|
+
`Text` drops `size="xxs"` and `weight="regular"`: write `xs` and `normal`.
|
|
81
|
+
|
|
82
|
+
**The theme is one level.** It is about eighty variables, declared once at `:root`, each
|
|
83
|
+
colour a `light-dark(light, dark)` pair. For a theme of your own:
|
|
84
|
+
|
|
85
|
+
- Declare it on `:root` alone. The selector list 3.0 asked for (`:root, [data-ui-scope],
|
|
86
|
+
[data-density], [data-theme], .light, .dark`) is not needed: nothing below `:root` declares a
|
|
87
|
+
theme variable again.
|
|
88
|
+
- Write a dark value into the colour's pair, `--primary: light-dark(#2563eb, #60a5fa)`, rather
|
|
89
|
+
than a `.dark { … }` block, which colours a dark page but misses a dark region inside a light
|
|
90
|
+
one.
|
|
91
|
+
- The palette, the alpha steps, the spacing ladder, the control, icon and avatar ladders, the
|
|
92
|
+
derived role variables and the scale factors are gone. The codemod renames a variable that
|
|
93
|
+
has a successor and reports the rest:
|
|
94
|
+
|
|
95
|
+
| was | is |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| `--space-2xs` to `--space-md` | `--gap-sm` between things, `--padding-sm` for an inset |
|
|
98
|
+
| `--space-lg` to `--space-2xl` | `--gap` between things, `--padding` for an inset |
|
|
99
|
+
| `--surface-px`, `--surface-py`; `--row-px`, `--row-py` | `--padding`; `--padding-sm` |
|
|
100
|
+
| `--control-h`, `--control-h-sm` | `--control-height`, `--control-height-sm` |
|
|
101
|
+
| `--size-icon`, `--size-icon-sm` | `--icon-size`, `--icon-size-sm` |
|
|
102
|
+
| `--primary-10` and every other alpha step | `color-mix(in oklab, var(--primary) var(--tint), transparent)`; a line takes `--tint-strong` |
|
|
103
|
+
| `--accent-50`, `--border-60`, `--muted-50` | `--accent`, `--border`, `--muted` |
|
|
104
|
+
| `--control-border`, `--focus-ring-color`, `--link-color` | `--input`, `--ring`, `--link` |
|
|
105
|
+
| `--shadow-xs`, `--shadow-sm`; `--shadow-md` to `--shadow-2xl`, `--popover-shadow` | `--shadow`; `--shadow-lg` |
|
|
106
|
+
| `--duration-normal`, `--duration-instant`, `--ease-out` | `--duration`, `--duration-fast`, `--ease` |
|
|
107
|
+
| `--leading-*`, `--weight-*`, `--tracking-*` | Text's `lineHeight`, `weight` and `caps` |
|
|
108
|
+
| `--scale`, `--density-scale` | the provider's `scale` and `density` |
|
|
109
|
+
| `--inverse-*` | a nested provider with `colorScheme: "dark"` |
|
|
110
|
+
| `--animate-spin` and the other `--animate-*` | `--keyframes-spin` and the others, which hold the name alone: `animation: var(--keyframes-spin) 1s linear infinite` |
|
|
111
|
+
|
|
112
|
+
`--text-scale` stays, and Text multiplies each step by it. A component variable you set from
|
|
113
|
+
outside, such as `--content-block-p`, `--overlay-region-p`, `--field-label-width` or
|
|
114
|
+
`--chart-aspect`, is the component's own now: set the theme variable it reads, or style the
|
|
115
|
+
component through `className`. With Tailwind, `p-padding` and `gap-gap-sm` replace `p-md` and
|
|
116
|
+
the other spacing keys, and `rounded` is the container radius.
|
|
117
|
+
|
|
118
|
+
**A browser floor for `light-dark()`.** Safari 17.5 or newer; Chrome and Edge 125 and Firefox
|
|
119
|
+
121 are unchanged.
|
|
120
|
+
|
|
121
|
+
Run the codemod from your project over each directory that holds application code, dry
|
|
122
|
+
first; the commands below show `src/`. It rewrites the moved subpaths, removes the
|
|
123
|
+
stylesheet imports components now bring, renames each theme variable that has a successor,
|
|
124
|
+
and reports the rest:
|
|
125
|
+
|
|
126
|
+
```sh
|
|
127
|
+
node node_modules/themelia-ui/scripts/consumer/codemod.mjs --dry-run src/
|
|
128
|
+
node node_modules/themelia-ui/scripts/consumer/codemod.mjs src/
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Every change with its replacement is listed in the
|
|
132
|
+
migration reference (`node_modules/themelia-ui/docs/generated/migration.md`).
|
|
133
|
+
|
|
6
134
|
## Upgrading to 3.0
|
|
7
135
|
|
|
8
136
|
3.0 changes how the package loads, and gives a few props one shape.
|
|
@@ -16,6 +144,9 @@ the package as it is. Server rendering and test runners need no configuration fo
|
|
|
16
144
|
CommonJS code on Node 20.19 or later can `require()` it. Jest still needs the package
|
|
17
145
|
exempted in `transformIgnorePatterns`.
|
|
18
146
|
|
|
147
|
+
From 3.1, components bring their own CSS again, and server rendering with Vite lists the
|
|
148
|
+
package in `ssr.noExternal`; see [Upgrading to 3.1](#upgrading-to-31).
|
|
149
|
+
|
|
19
150
|
TypeScript flags the rest:
|
|
20
151
|
|
|
21
152
|
- `Scope` takes `render` instead of `as`: `<Scope vars={vars} render={<section />}>`.
|
|
@@ -201,14 +332,14 @@ Every change is one of:
|
|
|
201
332
|
- **additive**: a new export, a new optional prop
|
|
202
333
|
- **documentation-only**: no runtime or type change
|
|
203
334
|
- **behaviour-preserving internal**: a refactor whose observable behaviour is identical
|
|
204
|
-
- **deprecation**:
|
|
335
|
+
- **deprecation**: an old name still works while a replacement is available
|
|
205
336
|
- **breaking**: anything else
|
|
206
337
|
|
|
207
|
-
##
|
|
338
|
+
## Upgrade policy
|
|
208
339
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
340
|
+
3.1 removes obsolete aliases and adapters without retaining them for another release. Pin the
|
|
341
|
+
installed version until the application is ready to apply the migration guide, type-check and
|
|
342
|
+
build. Breaking changes are recorded before the API snapshot is updated.
|
|
212
343
|
|
|
213
344
|
## Import paths
|
|
214
345
|
|
|
@@ -65,37 +65,31 @@ below a slice as well as at it:
|
|
|
65
65
|
</UIProvider>
|
|
66
66
|
```
|
|
67
67
|
|
|
68
|
-
This applies to every record-shaped field: `theme.colors`, `theme.
|
|
69
|
-
`typography.
|
|
70
|
-
|
|
68
|
+
This applies to every record-shaped field: `theme.colors`, `theme.vars`, `typography.fonts`,
|
|
69
|
+
`typography.sizes` and `motion.durations`. Below them a record is a flat map of variable to
|
|
70
|
+
value, and a value is replaced, not merged.
|
|
71
71
|
|
|
72
72
|
That is the configuration components read, and the CSS follows it: each scope writes the
|
|
73
73
|
merged overrides on its element, so inside the nested scope above `--primary` is red and
|
|
74
|
-
`--secondary` is green.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
colour across one of those, set it through `theme.palette` or declare it at the boundary
|
|
78
|
-
list; see [Theming](theming.md#setting-a-theme).
|
|
74
|
+
`--secondary` is green. Nothing below `:root` declares a theme variable again, so every value
|
|
75
|
+
inherits through any element, a `Scope` or a `data-density` region included; see
|
|
76
|
+
[Theming](theming.md#setting-a-theme).
|
|
79
77
|
|
|
80
78
|
## Scope — tokens only
|
|
81
79
|
|
|
82
|
-
|
|
80
|
+
`Scope` sets theme variables on a region, without the config machinery:
|
|
83
81
|
|
|
84
82
|
```tsx fragment — shape only, not a program
|
|
85
|
-
<Scope vars={{ "--
|
|
83
|
+
<Scope vars={{ "--control-height": "2.5rem" }}>
|
|
86
84
|
<Toolbar />
|
|
87
85
|
</Scope>
|
|
88
86
|
```
|
|
89
87
|
|
|
90
88
|
`Scope` renders a `div` without layout. `render` picks another element, as on every
|
|
91
|
-
component (`render={<section />}`), and `transparent={false}` gives it a box.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
`<div style={{ "--density-scale": 0.8 }}>` sets the variable and nothing reads it: the
|
|
96
|
-
measurements above it already resolved against the old value. `Scope` renders
|
|
97
|
-
`data-ui-scope`, which puts the element on that list and makes every derived token
|
|
98
|
-
re-compute.
|
|
89
|
+
component (`render={<section />}`), and `transparent={false}` gives it a box. Every
|
|
90
|
+
component inside reads the variables it sets, because components compute from the theme where
|
|
91
|
+
they use it; any element with a `style` does the same, and `Scope` only adds the missing
|
|
92
|
+
layout rule and the `data-ui-scope` marker.
|
|
99
93
|
|
|
100
94
|
## Portals and scopes
|
|
101
95
|
|
|
@@ -175,7 +169,7 @@ ship the scrollbar rule in the consuming application's stylesheet:
|
|
|
175
169
|
```
|
|
176
170
|
|
|
177
171
|
`disableStyleElements` does not disable kit behavior; it moves those small rules into the
|
|
178
|
-
consuming app. It does not
|
|
172
|
+
consuming app. It does not change how the kit's CSS loads.
|
|
179
173
|
|
|
180
174
|
## Reading the config
|
|
181
175
|
|