What this family solves
Semantic-first action family with a base Button component, visual wrappers, and purpose wrappers for canonical workflows.
Marwes documentation
Semantic-first action family with a base Button component, visual wrappers, and purpose wrappers for canonical workflows.
Semantic-first action family with a base Button component, visual wrappers, and purpose wrappers for canonical workflows.
Purpose-first buttons make action intent explicit; use the base Button as the deliberate escape hatch.
Default high-emphasis product action
Supporting action with reduced emphasis
Form submission with locked action semantics
Destructive action with explicit intent
Button styling with honest link semantics
Compact icon action with explicit accessible naming
Choose an adapter in the verified examples. The inventory below reflects each framework package exactly.
@marwes-ui/reactButton, CancelButton, CloseButton, ConfirmButton, CopyButton, CreateButton, DestructiveButton, DownloadButton, DropdownButton, EditButton, FilterButton, IconButton, LinkButton, PrimaryButton, RefreshButton, SaveButton, SearchButton, SecondaryButton, SortButton, SubmitButton, SuccessButton, TextButton, UploadButton, VerifyButton
ButtonProps, CancelButtonProps, CloseButtonProps, ConfirmButtonProps, CopyButtonProps, CreateButtonProps, DestructiveButtonProps, DownloadButtonProps, DropdownButtonProps, EditButtonProps, FilterButtonProps, IconButtonProps, LinkButtonProps, PrimaryButtonProps, RefreshButtonProps, SaveButtonProps, SearchButtonProps, SecondaryButtonProps, SortButtonProps, SubmitButtonProps, SuccessButtonProps, TextButtonProps, UploadButtonProps, VerifyButtonProps
ButtonAction, ButtonSize, ButtonVariant
@marwes-ui/vueButton, CancelButton, CloseButton, ConfirmButton, CopyButton, CreateButton, DestructiveButton, DownloadButton, DropdownButton, EditButton, FilterButton, IconButton, LinkButton, PrimaryButton, RefreshButton, SaveButton, SearchButton, SecondaryButton, SortButton, SubmitButton, SuccessButton, TextButton, UploadButton, VerifyButton
ButtonProps, CancelButtonProps, CloseButtonProps, ConfirmButtonProps, CopyButtonProps, CreateButtonProps, DestructiveButtonProps, DownloadButtonProps, DropdownButtonProps, EditButtonProps, FilterButtonProps, IconButtonProps, LinkButtonProps, PrimaryButtonProps, RefreshButtonProps, SaveButtonProps, SearchButtonProps, SecondaryButtonProps, SortButtonProps, SubmitButtonProps, SuccessButtonProps, TextButtonProps, UploadButtonProps, VerifyButtonProps
ButtonAction, ButtonSize, ButtonVariant
@marwes-ui/svelteButton, CancelButton, CloseButton, ConfirmButton, CopyButton, CreateButton, DestructiveButton, DownloadButton, DropdownButton, EditButton, FilterButton, IconButton, LinkButton, PrimaryButton, RefreshButton, SaveButton, SearchButton, SecondaryButton, SortButton, SubmitButton, SuccessButton, TextButton, UploadButton, VerifyButton
ButtonProps, CancelButtonProps, CloseButtonProps, ConfirmButtonProps, CopyButtonProps, CreateButtonProps, DestructiveButtonProps, DownloadButtonProps, DropdownButtonProps, EditButtonProps, FilterButtonProps, IconButtonProps, LinkButtonProps, PrimaryButtonProps, RefreshButtonProps, SaveButtonProps, SearchButtonProps, SecondaryButtonProps, SortButtonProps, SubmitButtonProps, SuccessButtonProps, TextButtonProps, UploadButtonProps, VerifyButtonProps
ButtonAction, ButtonSize, ButtonVariant
These examples come from the same fixtures verified by the repository checks.
import { Button, ButtonVariant } from "@marwes-ui/react"
export function Example() {
return (
<>
<Button>Label →</Button>
<Button variant={ButtonVariant.secondary}>Label →</Button>
<Button variant={ButtonVariant.text}>Label →</Button>
</>
)
}<script setup lang="ts">
import { Button } from "@marwes-ui/vue"
</script>
<template>
<Button>Label →</Button>
<Button variant="secondary">Label →</Button>
<Button variant="text">Label →</Button>
</template><script lang="ts">
import { Button } from "@marwes-ui/svelte"
</script>
<Button>Label →</Button>
<Button variant="secondary">Label →</Button>
<Button variant="text">Label →</Button>Button uses Marwes preset CSS and theme variables. Customize it through the theme passed to MarwesProvider; do not add a second component stylesheet. See the theming guide for configuration and token details.