diff --git a/apps/volt/doc/button/IconOnlyDoc.vue b/apps/volt/doc/button/IconOnlyDoc.vue
index c5f58efb7..1014eee63 100644
--- a/apps/volt/doc/button/IconOnlyDoc.vue
+++ b/apps/volt/doc/button/IconOnlyDoc.vue
@@ -9,56 +9,37 @@
-
-
-
-
-
-
-
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -66,6 +47,9 @@
diff --git a/apps/volt/doc/button/OutlinedDoc.vue b/apps/volt/doc/button/OutlinedDoc.vue
index 0f342b17f..aaccac7a9 100644
--- a/apps/volt/doc/button/OutlinedDoc.vue
+++ b/apps/volt/doc/button/OutlinedDoc.vue
@@ -4,37 +4,35 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/doc/button/RaisedDoc.vue b/apps/volt/doc/button/RaisedDoc.vue
index a3902a0d2..18dd821ab 100644
--- a/apps/volt/doc/button/RaisedDoc.vue
+++ b/apps/volt/doc/button/RaisedDoc.vue
@@ -4,37 +4,35 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/doc/button/RaisedTextDoc.vue b/apps/volt/doc/button/RaisedTextDoc.vue
index b37cb14bf..1d94027e9 100644
--- a/apps/volt/doc/button/RaisedTextDoc.vue
+++ b/apps/volt/doc/button/RaisedTextDoc.vue
@@ -4,37 +4,35 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/doc/button/RoundedDoc.vue b/apps/volt/doc/button/RoundedDoc.vue
index f2ce0140f..b191e8d0a 100644
--- a/apps/volt/doc/button/RoundedDoc.vue
+++ b/apps/volt/doc/button/RoundedDoc.vue
@@ -4,37 +4,35 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/doc/button/SeverityDoc.vue b/apps/volt/doc/button/SeverityDoc.vue
index 03abca029..a5d0faa1b 100644
--- a/apps/volt/doc/button/SeverityDoc.vue
+++ b/apps/volt/doc/button/SeverityDoc.vue
@@ -1,40 +1,38 @@
- The severity property defines the variant of a button.
+ Secondary, Contrast and Danger buttons are available as separate components for severity alternatives.
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/doc/button/TextDoc.vue b/apps/volt/doc/button/TextDoc.vue
index 199ef565a..14e92ff8a 100644
--- a/apps/volt/doc/button/TextDoc.vue
+++ b/apps/volt/doc/button/TextDoc.vue
@@ -4,37 +4,35 @@
-
-
-
-
-
-
-
+
+
+
diff --git a/apps/volt/pages/button/index.vue b/apps/volt/pages/button/index.vue
index 9c8b6b00f..2ed2a05ec 100644
--- a/apps/volt/pages/button/index.vue
+++ b/apps/volt/pages/button/index.vue
@@ -11,7 +11,6 @@ import HeadlessDoc from '@/doc/button/HeadlessDoc.vue';
import IconOnlyDoc from '@/doc/button/IconOnlyDoc.vue';
import IconsDoc from '@/doc/button/IconsDoc.vue';
import ImportDoc from '@/doc/button/ImportDoc.vue';
-import LinkDoc from '@/doc/button/LinkDoc.vue';
import LoadingDoc from '@/doc/button/LoadingDoc.vue';
import OutlinedDoc from '@/doc/button/OutlinedDoc.vue';
import RaisedDoc from '@/doc/button/RaisedDoc.vue';
@@ -45,11 +44,6 @@ const docs = ref([
label: 'Loading',
component: LoadingDoc
},
- {
- id: 'link',
- label: 'Link',
- component: LinkDoc
- },
{
id: 'severity',
label: 'Severity',
diff --git a/apps/volt/volt/button/contrast.vue b/apps/volt/volt/button/contrast.vue
new file mode 100644
index 000000000..4f6c285dd
--- /dev/null
+++ b/apps/volt/volt/button/contrast.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
diff --git a/apps/volt/volt/button/danger.vue b/apps/volt/volt/button/danger.vue
new file mode 100644
index 000000000..d202e16ae
--- /dev/null
+++ b/apps/volt/volt/button/danger.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
diff --git a/apps/volt/volt/button/index.vue b/apps/volt/volt/button/index.vue
index 014890d14..b6ef800a7 100644
--- a/apps/volt/volt/button/index.vue
+++ b/apps/volt/volt/button/index.vue
@@ -19,7 +19,7 @@ import { ptViewMerge } from '../utils';
const theme = ref({
root: `inline-flex cursor-pointer select-none items-center justify-center overflow-hidden relative
- px-3 py-2 gap-2 rounded-md disabled:pointer-events-none transition-colors duration-200
+ px-3 py-2 gap-2 rounded-md disabled:pointer-events-none disabled:opacity-60 transition-colors duration-200
bg-primary enabled:hover:bg-primary-emphasis enabled:active:bg-primary-emphasis-alt text-primary-contrast
border border-primary enabled:hover:border-primary-emphasis enabled:active:border-primary-emphasis-alt
focus-visible:outline focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-primary
@@ -29,6 +29,18 @@ const theme = ref({
p-small:text-sm p-small:px-[0.625rem] p-small:py-[0.375rem]
p-large:text-[1.125rem] p-large:px-[0.875rem] p-large:py-[0.625rem]
p-raised:shadow-sm p-rounded:rounded-[2rem]
+ p-outlined:bg-transparent enabled:hover:p-outlined:bg-primary-50 enabled:active:p-outlined:bg-primary-100
+ p-outlined:border-primary-200 enabled:hover:p-outlined:border-primary-200 enabled:active:p-outlined:border-primary-200
+ p-outlined:text-primary enabled:hover:p-outlined:text-primary enabled:active:p-outlined:text-primary
+ dark:p-outlined:bg-transparent dark:enabled:hover:p-outlined:bg-primary/5 dark:enabled:active:p-outlined:bg-primary/15
+ dark:p-outlined:border-primary-700 dark:enabled:hover:p-outlined:border-primary-700 dark:enabled:active:p-outlined:border-primary-700
+ dark:p-outlined:text-primary dark:enabled:hover:p-outlined:text-primary dark:enabled:active:p-outlined:text-primary
+ p-text:bg-transparent enabled:hover:p-text:bg-primary-50 enabled:active:p-text:bg-primary-100
+ p-text:border-transparent enabled:hover:p-text:border-transparent enabled:active:p-text:border-transparent
+ p-text:text-primary enabled:hover:p-text:text-primary enabled:active:p-text:text-primary
+ dark:p-text:bg-transparent dark:enabled:hover:p-text:bg-primary/5 dark:enabled:active:p-text:bg-primary/15
+ dark:p-text:border-transparent dark:enabled:hover:p-text:border-transparent dark:enabled:active:p-text:border-transparent
+ dark:p-text:text-primary dark:enabled:hover:p-text:text-primary dark:enabled:active:p-text:text-primary
`,
loadingIcon: ``,
icon: `p-right:order-1 p-bottom:order-2`,
diff --git a/apps/volt/volt/button/secondary.vue b/apps/volt/volt/button/secondary.vue
new file mode 100644
index 000000000..8daa9c68a
--- /dev/null
+++ b/apps/volt/volt/button/secondary.vue
@@ -0,0 +1,58 @@
+
+
+
+
+