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
|
@@ -15,12 +15,11 @@ A field holds a variable-length list the user adds to, reorders or removes from.
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { KeyValueEditor } from "themelia-ui/base/repeaters"
|
|
18
|
-
import "themelia-ui/base/repeaters.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
22
21
|
|
|
23
|
-
This module composes `base/buttons`, `base/choice-inputs`, `base/display`, `base/forms`, `base/structure`, `base/text-inputs`.
|
|
22
|
+
This module composes `base/buttons`, `base/choice-inputs`, `base/display`, `base/forms`, `base/structure`, `base/text-inputs`, `base/typography`.
|
|
24
23
|
|
|
25
24
|
Application policy—routing, fetching, persistence, permissions, and translation—stays
|
|
26
25
|
outside the package and arrives through the public props, callbacks, slots, or accessors below.
|
|
@@ -421,7 +420,7 @@ export default function RepeaterExample() {
|
|
|
421
420
|
})
|
|
422
421
|
|
|
423
422
|
return (
|
|
424
|
-
<Stack style={{ maxWidth: "34rem", width: "100%" }}>
|
|
423
|
+
<Stack gap="sm" style={{ maxWidth: "34rem", width: "100%" }}>
|
|
425
424
|
<FormField htmlFor={false} label="Contacts" helperText="Drag a handle, or focus it and press ↑ / ↓.">
|
|
426
425
|
<Repeater
|
|
427
426
|
items={contacts}
|
|
@@ -438,7 +437,7 @@ export default function RepeaterExample() {
|
|
|
438
437
|
onMove={move}
|
|
439
438
|
>
|
|
440
439
|
{(contact, { index }) => (
|
|
441
|
-
<Stack direction="horizontal" gap="
|
|
440
|
+
<Stack direction="horizontal" gap="sm" style={{ width: "100%" }}>
|
|
442
441
|
<Input
|
|
443
442
|
value={contact.name}
|
|
444
443
|
aria-label="Name"
|
|
@@ -486,7 +485,7 @@ export default function StringRepeaterExample() {
|
|
|
486
485
|
const [domains, setDomains] = useState(["acme.com", "acme.dev"])
|
|
487
486
|
|
|
488
487
|
return (
|
|
489
|
-
<Stack
|
|
488
|
+
<Stack style={{ maxWidth: "26rem", width: "100%" }}>
|
|
490
489
|
<FormField htmlFor={false} label="Allowed domains" helperText="Drag the handle, or focus it and press ↑ / ↓.">
|
|
491
490
|
<StringRepeater
|
|
492
491
|
value={domains}
|
|
@@ -521,7 +520,7 @@ export default function KeyValue() {
|
|
|
521
520
|
])
|
|
522
521
|
|
|
523
522
|
return (
|
|
524
|
-
<Stack style={{ maxWidth: "34rem", width: "100%" }}>
|
|
523
|
+
<Stack gap="sm" style={{ maxWidth: "34rem", width: "100%" }}>
|
|
525
524
|
<FormField htmlFor={false} label="Request headers" helperText="Try entering the same key twice.">
|
|
526
525
|
<KeyValueEditor value={headers} onValueChange={setHeaders} sortable />
|
|
527
526
|
</FormField>
|
|
@@ -549,7 +548,7 @@ export default function Localized() {
|
|
|
549
548
|
const [name, setName] = useState<LocalizedValue>({ en: "Invoice", nl: "Factuur" })
|
|
550
549
|
|
|
551
550
|
return (
|
|
552
|
-
<Stack style={{ maxWidth: "26rem", width: "100%" }}>
|
|
551
|
+
<Stack gap="sm" style={{ maxWidth: "26rem", width: "100%" }}>
|
|
553
552
|
<FormField htmlFor={false} label="Display name" helperText="Switch locale — the value follows.">
|
|
554
553
|
<LocalizedStringField locales={LOCALES} value={name} onValueChange={setName} />
|
|
555
554
|
</FormField>
|
|
@@ -15,7 +15,6 @@ The user sets the split between panes and the size should persist.
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { ResizableHandle } from "themelia-ui/base/resizable"
|
|
18
|
-
import "themelia-ui/base/resizable.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -109,13 +108,13 @@ export default function Resizable() {
|
|
|
109
108
|
<div style={FRAME}>
|
|
110
109
|
<ResizablePanelGroup orientation="horizontal">
|
|
111
110
|
<ResizablePanel defaultSize="65%">
|
|
112
|
-
<div style={{ padding: "var(--
|
|
111
|
+
<div style={{ padding: "var(--padding)" }}>
|
|
113
112
|
<Text size="sm" type="secondary">The document</Text>
|
|
114
113
|
</div>
|
|
115
114
|
</ResizablePanel>
|
|
116
115
|
<ResizableHandle withHandle />
|
|
117
116
|
<ResizablePanel defaultSize="35%">
|
|
118
|
-
<div style={{ padding: "var(--
|
|
117
|
+
<div style={{ padding: "var(--padding)" }}>
|
|
119
118
|
<Text size="sm" type="secondary">The inspector</Text>
|
|
120
119
|
</div>
|
|
121
120
|
</ResizablePanel>
|
|
@@ -15,7 +15,6 @@ Documenting the sheet anatomy, or inside base where features/overlays cannot be
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { SheetContent } from "themelia-ui/base/sheet"
|
|
18
|
-
import "themelia-ui/base/sheet.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -33,7 +32,7 @@ Kind: callable.
|
|
|
33
32
|
|
|
34
33
|
OverlayContent at an edge. `side` is OverlayContent's `placement` minus centre — logical,
|
|
35
34
|
so it follows the writing mode — and the sheet adds a default shape: `side="inline-end"`,
|
|
36
|
-
`size="
|
|
35
|
+
`size="default"`, `length="full"` and `inset={false}`. `UIProvider`'s `defaults.sheet` takes
|
|
37
36
|
the same four, for a product that decides the shape once.
|
|
38
37
|
|
|
39
38
|
`modality`, `surface`, `dismissal`, `initialFocusRef` and `showCloseButton` pass through
|
|
@@ -83,9 +82,9 @@ import { Input } from "themelia-ui/base/text-inputs"
|
|
|
83
82
|
|
|
84
83
|
export default function Sheet() {
|
|
85
84
|
return (
|
|
86
|
-
<Stack direction="horizontal">
|
|
85
|
+
<Stack gap="sm" direction="horizontal">
|
|
87
86
|
<Overlay>
|
|
88
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
87
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
89
88
|
Open sheet
|
|
90
89
|
</OverlayTrigger>
|
|
91
90
|
<SheetContent side="inline-end">
|
|
@@ -94,7 +93,7 @@ export default function Sheet() {
|
|
|
94
93
|
<OverlayDescription>Native top layer — the list behind stays in view and cannot clip it.</OverlayDescription>
|
|
95
94
|
</OverlayHeader>
|
|
96
95
|
<OverlayBody>
|
|
97
|
-
<Stack gap="
|
|
96
|
+
<Stack gap="sm">
|
|
98
97
|
<FormField label="Venue">
|
|
99
98
|
<Input defaultValue="Marlow Hall" />
|
|
100
99
|
</FormField>
|
|
@@ -104,7 +103,7 @@ export default function Sheet() {
|
|
|
104
103
|
</Stack>
|
|
105
104
|
</OverlayBody>
|
|
106
105
|
<OverlayFooter>
|
|
107
|
-
<OverlayClose render={<Button tone="neutral"
|
|
106
|
+
<OverlayClose render={<Button tone="neutral" appearance="outline" />}>
|
|
108
107
|
Cancel
|
|
109
108
|
</OverlayClose>
|
|
110
109
|
<OverlayClose render={<Button />}>
|
|
@@ -131,9 +130,9 @@ import { Text } from "themelia-ui/base/typography"
|
|
|
131
130
|
|
|
132
131
|
export default function SheetShape() {
|
|
133
132
|
return (
|
|
134
|
-
<Stack direction="horizontal"
|
|
133
|
+
<Stack direction="horizontal" wrap align="center">
|
|
135
134
|
<Overlay>
|
|
136
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
135
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
137
136
|
Flush, size="sm"
|
|
138
137
|
</OverlayTrigger>
|
|
139
138
|
<SheetContent side="inline-end" size="sm">
|
|
@@ -148,7 +147,7 @@ export default function SheetShape() {
|
|
|
148
147
|
</Overlay>
|
|
149
148
|
|
|
150
149
|
<Overlay>
|
|
151
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
150
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
152
151
|
Inset
|
|
153
152
|
</OverlayTrigger>
|
|
154
153
|
<SheetContent side="inline-end" size="28rem" inset>
|
|
@@ -167,7 +166,7 @@ export default function SheetShape() {
|
|
|
167
166
|
</Overlay>
|
|
168
167
|
|
|
169
168
|
<Overlay>
|
|
170
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
169
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
171
170
|
Inset from block-end
|
|
172
171
|
</OverlayTrigger>
|
|
173
172
|
<SheetContent side="block-end" size="60%" length="70%" inset="1.5rem">
|
|
@@ -205,9 +204,9 @@ import { UIProvider } from "themelia-ui/ui-provider"
|
|
|
205
204
|
|
|
206
205
|
export default function SheetProvider() {
|
|
207
206
|
return (
|
|
208
|
-
<Stack direction="horizontal"
|
|
207
|
+
<Stack direction="horizontal" wrap align="center">
|
|
209
208
|
<Overlay>
|
|
210
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
209
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
211
210
|
Kit default
|
|
212
211
|
</OverlayTrigger>
|
|
213
212
|
<SheetContent>
|
|
@@ -223,7 +222,7 @@ export default function SheetProvider() {
|
|
|
223
222
|
|
|
224
223
|
<UIProvider config={{ defaults: { sheet: { size: "26rem", inset: true } } }}>
|
|
225
224
|
<Overlay>
|
|
226
|
-
<OverlayTrigger render={<Button tone="neutral"
|
|
225
|
+
<OverlayTrigger render={<Button tone="neutral" appearance="outline" />}>
|
|
227
226
|
Under a provider
|
|
228
227
|
</OverlayTrigger>
|
|
229
228
|
<SheetContent>
|
|
@@ -15,7 +15,6 @@ Composing a collapsible sidebar from its parts, including the mobile presentatio
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { Sidebar } from "themelia-ui/base/sidebar"
|
|
18
|
-
import "themelia-ui/base/sidebar.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -222,7 +221,7 @@ Kind: callable.
|
|
|
222
221
|
The row's control: a button, or through `render` a router link.
|
|
223
222
|
|
|
224
223
|
```text
|
|
225
|
-
({ size, active,
|
|
224
|
+
({ size, active, appearance, render, closeOnSelectMobile, tooltip, className, children, onClick, ...props }: SidebarMenuButtonProps) => React.JSX.Element
|
|
226
225
|
```
|
|
227
226
|
|
|
228
227
|
### `SidebarMenuButtonProps`
|
|
@@ -233,9 +232,9 @@ Extends: `Omit<ComponentProps<"button">, "size">`.
|
|
|
233
232
|
|
|
234
233
|
| member | required | type | description / documented default |
|
|
235
234
|
| --- | :-: | --- | --- |
|
|
236
|
-
| `size` | no | `SidebarMenuButtonSize` | The row's height
|
|
235
|
+
| `size` | no | `SidebarMenuButtonSize` | The row's height: a control's by default, the small control's for a secondary row<br>(`sm`), with its label a type step smaller. |
|
|
237
236
|
| `active` | no | `boolean` | Marks the row as the current page. |
|
|
238
|
-
| `
|
|
237
|
+
| `appearance` | no | `"default" \| "outline"` | `outline` gives the row its own frame — for a switcher that must read as a control. |
|
|
239
238
|
| `render` | no | `React.ReactElement` | The element this row becomes instead of a `button` — usually a router link, so the row<br>navigates the app's own way. `children` stays the row's content. |
|
|
240
239
|
| `closeOnSelectMobile` | no | `boolean` | Dismisses the mobile sheet when the row is activated. Turn it off for a row that opens<br>something else (a switcher, a submenu toggle). |
|
|
241
240
|
| `tooltip` | no | `React.ReactNode` | The row's name, shown beside it while the sidebar is collapsed to its icon rail, where<br>the label is clipped away. Ignored while expanded and on phones. |
|
|
@@ -244,11 +243,10 @@ Extends: `Omit<ComponentProps<"button">, "size">`.
|
|
|
244
243
|
|
|
245
244
|
Kind: type.
|
|
246
245
|
|
|
247
|
-
|
|
248
|
-
`sm` a secondary row.
|
|
246
|
+
The row's height: `default`, or `sm` for a secondary row.
|
|
249
247
|
|
|
250
248
|
```text
|
|
251
|
-
"
|
|
249
|
+
"default" | "sm"
|
|
252
250
|
```
|
|
253
251
|
|
|
254
252
|
### `SidebarMenuItem`
|
|
@@ -311,7 +309,7 @@ Extends: `ComponentProps<"a">`.
|
|
|
311
309
|
|
|
312
310
|
| member | required | type | description / documented default |
|
|
313
311
|
| --- | :-: | --- | --- |
|
|
314
|
-
| `size` | no | `"
|
|
312
|
+
| `size` | no | `"default" \| "sm"` | The nested row's height: `default`, or `sm` for a denser list. |
|
|
315
313
|
| `active` | no | `boolean` | Marks the row as the current page. |
|
|
316
314
|
| `closeOnSelectMobile` | no | `boolean` | Dismisses the mobile sheet when the row is activated. See SidebarMenuButton. |
|
|
317
315
|
| `render` | no | `React.ReactElement` | The element this row becomes instead of an `a` or `button` — usually a router link, so<br>the row navigates the app's own way. `children` stays the row's content. |
|
|
@@ -416,7 +414,7 @@ The button that toggles the panel. It reads the provider, so it works from anywh
|
|
|
416
414
|
inside it; pair it with the rail, which does the same job from the panel's edge.
|
|
417
415
|
|
|
418
416
|
```text
|
|
419
|
-
({ className, onClick, tone,
|
|
417
|
+
({ className, onClick, tone, appearance, iconOnly, ...props }: ComponentProps<typeof Button>) => React.JSX.Element
|
|
420
418
|
```
|
|
421
419
|
|
|
422
420
|
### `SidebarVariant`
|
|
@@ -474,7 +472,7 @@ export default function SidebarControlled() {
|
|
|
474
472
|
const [open, setOpen] = useState(true)
|
|
475
473
|
|
|
476
474
|
return (
|
|
477
|
-
<Stack gap="
|
|
475
|
+
<Stack gap="sm">
|
|
478
476
|
<Text size="xs" type="secondary">
|
|
479
477
|
open: {String(open)}
|
|
480
478
|
</Text>
|
|
@@ -508,7 +506,7 @@ export default function SidebarControlled() {
|
|
|
508
506
|
</Sidebar>
|
|
509
507
|
{/* embedded in a docs page, so the page's own <main> stays the only one */}
|
|
510
508
|
<SidebarInset render={<div />}>
|
|
511
|
-
<Stack style={{ padding: "var(--
|
|
509
|
+
<Stack gap="sm" style={{ padding: "var(--padding)" }}>
|
|
512
510
|
<SidebarTrigger />
|
|
513
511
|
</Stack>
|
|
514
512
|
</SidebarInset>
|
|
@@ -15,12 +15,11 @@ A placeholder should hold the eventual layout's shape while data loads.
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { ContentSkeleton } from "themelia-ui/base/skeleton"
|
|
18
|
-
import "themelia-ui/base/skeleton.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
22
21
|
|
|
23
|
-
This module composes `base/display`.
|
|
22
|
+
This module composes `base/display`, `base/typography`.
|
|
24
23
|
|
|
25
24
|
Application policy—routing, fetching, persistence, permissions, and translation—stays
|
|
26
25
|
outside the package and arrives through the public props, callbacks, slots, or accessors below.
|
|
@@ -183,20 +182,20 @@ import { Text } from "themelia-ui/base/typography"
|
|
|
183
182
|
|
|
184
183
|
export default function Composed() {
|
|
185
184
|
return (
|
|
186
|
-
<Stack
|
|
187
|
-
<Stack gap="
|
|
185
|
+
<Stack style={{ width: "100%" }}>
|
|
186
|
+
<Stack gap="sm">
|
|
188
187
|
<Text size="xs" type="secondary">ContentSkeleton</Text>
|
|
189
188
|
<ContentSkeleton lines={3} />
|
|
190
189
|
</Stack>
|
|
191
|
-
<Stack gap="
|
|
190
|
+
<Stack gap="sm">
|
|
192
191
|
<Text size="xs" type="secondary">TableSkeleton</Text>
|
|
193
192
|
<TableSkeleton rows={4} columns={3} />
|
|
194
193
|
</Stack>
|
|
195
|
-
<Stack gap="
|
|
194
|
+
<Stack gap="sm">
|
|
196
195
|
<Text size="xs" type="secondary">PageSkeleton</Text>
|
|
197
196
|
<PageSkeleton blocks={2} />
|
|
198
197
|
</Stack>
|
|
199
|
-
<Stack gap="
|
|
198
|
+
<Stack gap="sm">
|
|
200
199
|
<Text size="xs" type="secondary">TwoColumnPageSkeleton</Text>
|
|
201
200
|
<TwoColumnPageSkeleton />
|
|
202
201
|
</Stack>
|
|
@@ -49,7 +49,7 @@ import { Text } from "themelia-ui/base/typography"
|
|
|
49
49
|
|
|
50
50
|
export default function DirectionSlot() {
|
|
51
51
|
return (
|
|
52
|
-
<Stack
|
|
52
|
+
<Stack>
|
|
53
53
|
<DirectionProvider direction="rtl">
|
|
54
54
|
<div dir="rtl">
|
|
55
55
|
<ContentBlock surface="card" title="اتجاه من اليمين إلى اليسار">
|
|
@@ -15,7 +15,6 @@ A wait is short and has no layout to preview.
|
|
|
15
15
|
|
|
16
16
|
```tsx fragment — import-only example
|
|
17
17
|
import { Spinner } from "themelia-ui/base/spinner"
|
|
18
|
-
import "themelia-ui/base/spinner.css"
|
|
19
18
|
```
|
|
20
19
|
|
|
21
20
|
## Composition
|
|
@@ -43,7 +42,7 @@ Extends: `Omit<React.ComponentProps<"span">, "children">`.
|
|
|
43
42
|
|
|
44
43
|
| member | required | type | description / documented default |
|
|
45
44
|
| --- | :-: | --- | --- |
|
|
46
|
-
| `size` | no | `ComponentScale` | The ring's size: `
|
|
45
|
+
| `size` | no | `ComponentScale` | The ring's size: `default`, or `sm` inside a dense row. A spinner keeps a size prop: it<br>has no content to scale with. |
|
|
47
46
|
| `tone` | no | `SemanticTone` | Borrows the button tone contract, so a spinner inside or beside an action matches it<br>rather than sitting on it in the primary hue. |
|
|
48
47
|
| `label` | no | `React.ReactNode` | Visible label beside the ring, and the announced status. Without one the spinner is<br>decorative and hidden from assistive technology. |
|
|
49
48
|
|
|
@@ -61,7 +60,7 @@ import { Demo } from "./_shared"
|
|
|
61
60
|
|
|
62
61
|
export default function SpinnerExample() {
|
|
63
62
|
return (
|
|
64
|
-
<Stack direction="horizontal"
|
|
63
|
+
<Stack direction="horizontal" align="end">
|
|
65
64
|
<Demo caption='label="Saving…"'>
|
|
66
65
|
<Spinner label="Saving…" />
|
|
67
66
|
</Demo>
|
|
@@ -83,10 +82,9 @@ import { Demo } from "./_shared"
|
|
|
83
82
|
|
|
84
83
|
export default function SpinnerSize() {
|
|
85
84
|
return (
|
|
86
|
-
<Stack direction="horizontal"
|
|
85
|
+
<Stack direction="horizontal" align="end">
|
|
87
86
|
<Demo caption='size="sm"'><Spinner size="sm" /></Demo>
|
|
88
|
-
<Demo caption=
|
|
89
|
-
<Demo caption='size="lg"'><Spinner size="lg" /></Demo>
|
|
87
|
+
<Demo caption="default"><Spinner /></Demo>
|
|
90
88
|
</Stack>
|
|
91
89
|
)
|
|
92
90
|
}
|
|
@@ -102,7 +100,7 @@ import { Demo } from "./_shared"
|
|
|
102
100
|
|
|
103
101
|
export default function SpinnerTone() {
|
|
104
102
|
return (
|
|
105
|
-
<Stack direction="horizontal"
|
|
103
|
+
<Stack direction="horizontal" align="end">
|
|
106
104
|
<Demo caption='tone="primary" — default'><Spinner /></Demo>
|
|
107
105
|
<Demo caption='tone="neutral"'><Spinner tone="neutral" /></Demo>
|
|
108
106
|
<Demo caption='tone="success"'><Spinner tone="success" /></Demo>
|