@redseed/redseed-ui-vue3 1.2.0 → 1.3.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/index.js CHANGED
@@ -1,12 +1,20 @@
1
+ import ButtonDanger from './src/components/Button/ButtonDanger.vue'
2
+ import ButtonDangerFull from './src/components/Button/ButtonDangerFull.vue'
3
+ import ButtonDangerFullRounded from './src/components/Button/ButtonDangerFullRounded.vue'
4
+ import ButtonDangerRounded from './src/components/Button/ButtonDangerRounded.vue'
1
5
  import ButtonPrimary from './src/components/Button/ButtonPrimary.vue'
2
- import ButtonPrimaryLight from './src/components/Button/ButtonPrimaryLight.vue'
3
- import ButtonPrimaryLightRounded from './src/components/Button/ButtonPrimaryLightRounded.vue'
6
+ import ButtonPrimaryFull from './src/components/Button/ButtonPrimaryFull.vue'
7
+ import ButtonPrimaryFullRounded from './src/components/Button/ButtonPrimaryFullRounded.vue'
4
8
  import ButtonPrimaryRounded from './src/components/Button/ButtonPrimaryRounded.vue'
5
9
  import ButtonSecondary from './src/components/Button/ButtonSecondary.vue'
6
- import ButtonSecondaryLight from './src/components/Button/ButtonSecondaryLight.vue'
7
- import ButtonSecondaryLightRounded from './src/components/Button/ButtonSecondaryLightRounded.vue'
10
+ import ButtonSecondaryFull from './src/components/Button/ButtonSecondaryFull.vue'
11
+ import ButtonSecondaryFullRounded from './src/components/Button/ButtonSecondaryFullRounded.vue'
8
12
  import ButtonSecondaryRounded from './src/components/Button/ButtonSecondaryRounded.vue'
9
13
  import ButtonSlot from './src/components/Button/ButtonSlot.vue'
14
+ import ButtonTertiary from './src/components/Button/ButtonTertiary.vue'
15
+ import ButtonTertiaryFull from './src/components/Button/ButtonTertiaryFull.vue'
16
+ import ButtonTertiaryFullRounded from './src/components/Button/ButtonTertiaryFullRounded.vue'
17
+ import ButtonTertiaryRounded from './src/components/Button/ButtonTertiaryRounded.vue'
10
18
  import Card from './src/components/Card/Card.vue'
11
19
  import FormFieldCheckbox from './src/components/FormField/FormFieldCheckbox.vue'
12
20
  import FormFieldEmail from './src/components/FormField/FormFieldEmail.vue'
@@ -35,15 +43,23 @@ import SignUpWithGoogle from './src/components/Social/SignUpWithGoogle.vue'
35
43
  import TwoColumnLayout from './src/components/TwoColumnLayout/TwoColumnLayout.vue'
36
44
 
37
45
  export {
46
+ ButtonDanger,
47
+ ButtonDangerFull,
48
+ ButtonDangerFullRounded,
49
+ ButtonDangerRounded,
38
50
  ButtonPrimary,
39
- ButtonPrimaryLight,
40
- ButtonPrimaryLightRounded,
51
+ ButtonPrimaryFull,
52
+ ButtonPrimaryFullRounded,
41
53
  ButtonPrimaryRounded,
42
54
  ButtonSecondary,
43
- ButtonSecondaryLight,
44
- ButtonSecondaryLightRounded,
55
+ ButtonSecondaryFull,
56
+ ButtonSecondaryFullRounded,
45
57
  ButtonSecondaryRounded,
46
58
  ButtonSlot,
59
+ ButtonTertiary,
60
+ ButtonTertiaryFull,
61
+ ButtonTertiaryFullRounded,
62
+ ButtonTertiaryRounded,
47
63
  Card,
48
64
  FormFieldCheckbox,
49
65
  FormFieldEmail,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redseed/redseed-ui-vue3",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "RedSeed UI Vue 3 components",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,40 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonSlot from './ButtonSlot.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+
9
+ const buttonClass = computed(() => [
10
+ 'button-danger',
11
+ ])
12
+ </script>
13
+ <template>
14
+ <ButtonSlot
15
+ :class="buttonClass"
16
+ v-bind="$attrs"
17
+ >
18
+ <template #icon v-if="$slots.icon">
19
+ <slot name="icon"></slot>
20
+ </template>
21
+ <template #label v-if="$slots.default">
22
+ <slot></slot>
23
+ </template>
24
+ </ButtonSlot>
25
+ </template>
26
+ <style lang="scss" scoped>
27
+ .button-danger {
28
+ // default colors
29
+ @apply bg-white text-danger ring-danger/20 border-danger;
30
+ // default hover state
31
+ @apply hover:bg-white hover:text-danger-dark hover:border-danger-dark;
32
+ // default focus state
33
+ @apply focus-visible:border-transparent focus-visible:text-danger;
34
+ // default active state
35
+ @apply active:ring-0 active:text-danger active:border-danger;
36
+ // default disabled state
37
+ @apply disabled:text-danger/30 disabled:border-danger/30 disabled:bg-white;
38
+ @apply disabled:active:ring-0 disabled:focus:ring-0;
39
+ }
40
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonDanger from './ButtonDanger.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonDanger
11
+ full
12
+ v-bind="$attrs"
13
+ >
14
+ <template #icon v-if="$slots.icon">
15
+ <slot name="icon"></slot>
16
+ </template>
17
+
18
+ <template #default v-if="$slots.default">
19
+ <slot></slot>
20
+ </template>
21
+ </ButtonDanger>
22
+ </template>
23
+ <style lang="scss" scoped>
24
+ </style>
@@ -0,0 +1,25 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonDanger from './ButtonDanger.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonDanger
11
+ full
12
+ rounded
13
+ v-bind="$attrs"
14
+ >
15
+ <template #icon v-if="$slots.icon">
16
+ <slot name="icon"></slot>
17
+ </template>
18
+
19
+ <template #default v-if="$slots.default">
20
+ <slot></slot>
21
+ </template>
22
+ </ButtonDanger>
23
+ </template>
24
+ <style lang="scss" scoped>
25
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonDanger from './ButtonDanger.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonDanger
11
+ rounded
12
+ v-bind="$attrs"
13
+ >
14
+ <template #icon v-if="$slots.icon">
15
+ <slot name="icon"></slot>
16
+ </template>
17
+
18
+ <template #default v-if="$slots.default">
19
+ <slot></slot>
20
+ </template>
21
+ </ButtonDanger>
22
+ </template>
23
+ <style lang="scss" scoped>
24
+ </style>
@@ -6,23 +6,13 @@ defineOptions({
6
6
  inheritAttrs: false,
7
7
  })
8
8
 
9
- const props = defineProps({
10
- light: {
11
- type: Boolean,
12
- default: false,
13
- },
14
- })
15
-
16
- const buttonPrimaryClass = computed(() => [
9
+ const buttonClass = computed(() => [
17
10
  'button-primary',
18
- {
19
- 'button-primary--light': props.light,
20
- },
21
11
  ])
22
12
  </script>
23
13
  <template>
24
14
  <ButtonSlot
25
- :class="buttonPrimaryClass"
15
+ :class="buttonClass"
26
16
  v-bind="$attrs"
27
17
  >
28
18
  <template #icon v-if="$slots.icon">
@@ -44,14 +34,5 @@ const buttonPrimaryClass = computed(() => [
44
34
  // default disabled state
45
35
  @apply disabled:bg-primary/20 disabled:border-transparent;
46
36
  @apply disabled:active:ring-0 disabled:focus:ring-0;
47
-
48
- &--light {
49
- @apply bg-white text-primary;
50
- @apply hover:bg-white hover:text-primary-dark;
51
- @apply focus-visible:border-transparent;
52
- @apply active:ring-0 active:text-primary;
53
- @apply disabled:text-primary/30 disabled:border-primary/30 disabled:bg-white;
54
- @apply disabled:active:ring-0 disabled:focus:ring-0;
55
- }
56
37
  }
57
38
  </style>
@@ -8,7 +8,7 @@ defineOptions({
8
8
  </script>
9
9
  <template>
10
10
  <ButtonPrimary
11
- light
11
+ full
12
12
  v-bind="$attrs"
13
13
  >
14
14
  <template #icon v-if="$slots.icon">
@@ -8,7 +8,7 @@ defineOptions({
8
8
  </script>
9
9
  <template>
10
10
  <ButtonPrimary
11
- light
11
+ full
12
12
  rounded
13
13
  v-bind="$attrs"
14
14
  >
@@ -6,23 +6,13 @@ defineOptions({
6
6
  inheritAttrs: false,
7
7
  })
8
8
 
9
- const props = defineProps({
10
- light: {
11
- type: Boolean,
12
- default: false,
13
- },
14
- })
15
-
16
- const buttonSecondaryClass = computed(() => [
9
+ const buttonClass = computed(() => [
17
10
  'button-secondary',
18
- {
19
- 'button-secondary--light': props.light,
20
- },
21
11
  ])
22
12
  </script>
23
13
  <template>
24
14
  <ButtonSlot
25
- :class="buttonSecondaryClass"
15
+ :class="buttonClass"
26
16
  v-bind="$attrs"
27
17
  >
28
18
  <template #icon v-if="$slots.icon">
@@ -44,14 +34,5 @@ const buttonSecondaryClass = computed(() => [
44
34
  // default disabled state
45
35
  @apply disabled:bg-secondary/20 disabled:border-transparent;
46
36
  @apply disabled:active:ring-0 disabled:focus:ring-0;
47
-
48
- &--light {
49
- @apply bg-white text-secondary;
50
- @apply hover:bg-white hover:text-secondary-dark;
51
- @apply focus-visible:border-transparent;
52
- @apply active:ring-0 active:text-secondary;
53
- @apply disabled:text-secondary/30 disabled:border-secondary/30 disabled:bg-white;
54
- @apply disabled:active:ring-0 disabled:focus:ring-0;
55
- }
56
37
  }
57
38
  </style>
@@ -8,7 +8,7 @@ defineOptions({
8
8
  </script>
9
9
  <template>
10
10
  <ButtonSecondary
11
- light
11
+ full
12
12
  v-bind="$attrs"
13
13
  >
14
14
  <template #icon v-if="$slots.icon">
@@ -8,7 +8,7 @@ defineOptions({
8
8
  </script>
9
9
  <template>
10
10
  <ButtonSecondary
11
- light
11
+ full
12
12
  rounded
13
13
  v-bind="$attrs"
14
14
  >
@@ -0,0 +1,40 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonSlot from './ButtonSlot.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+
9
+ const buttonClass = computed(() => [
10
+ 'button-tertiary',
11
+ ])
12
+ </script>
13
+ <template>
14
+ <ButtonSlot
15
+ :class="buttonClass"
16
+ v-bind="$attrs"
17
+ >
18
+ <template #icon v-if="$slots.icon">
19
+ <slot name="icon"></slot>
20
+ </template>
21
+ <template #label v-if="$slots.default">
22
+ <slot></slot>
23
+ </template>
24
+ </ButtonSlot>
25
+ </template>
26
+ <style lang="scss" scoped>
27
+ .button-tertiary {
28
+ // default colors
29
+ @apply bg-white text-tertiary-dark ring-tertiary-dark/20 border-tertiary-dark;
30
+ // default hover state
31
+ @apply hover:bg-white hover:text-tertiary hover:border-tertiary;
32
+ // default focus state
33
+ @apply focus-visible:border-transparent focus-visible:text-tertiary;
34
+ // default active state
35
+ @apply active:ring-0 active:text-tertiary-dark active:border-tertiary-dark;
36
+ // default disabled state
37
+ @apply disabled:text-tertiary-dark/30 disabled:border-tertiary-dark/30 disabled:bg-white;
38
+ @apply disabled:active:ring-0 disabled:focus:ring-0;
39
+ }
40
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonTertiary from './ButtonTertiary.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonTertiary
11
+ full
12
+ v-bind="$attrs"
13
+ >
14
+ <template #icon v-if="$slots.icon">
15
+ <slot name="icon"></slot>
16
+ </template>
17
+
18
+ <template #default v-if="$slots.default">
19
+ <slot></slot>
20
+ </template>
21
+ </ButtonTertiary>
22
+ </template>
23
+ <style lang="scss" scoped>
24
+ </style>
@@ -0,0 +1,25 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonTertiary from './ButtonTertiary.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonTertiary
11
+ full
12
+ rounded
13
+ v-bind="$attrs"
14
+ >
15
+ <template #icon v-if="$slots.icon">
16
+ <slot name="icon"></slot>
17
+ </template>
18
+
19
+ <template #default v-if="$slots.default">
20
+ <slot></slot>
21
+ </template>
22
+ </ButtonTertiary>
23
+ </template>
24
+ <style lang="scss" scoped>
25
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup>
2
+ import { computed } from 'vue'
3
+ import ButtonTertiary from './ButtonTertiary.vue'
4
+
5
+ defineOptions({
6
+ inheritAttrs: false,
7
+ })
8
+ </script>
9
+ <template>
10
+ <ButtonTertiary
11
+ rounded
12
+ v-bind="$attrs"
13
+ >
14
+ <template #icon v-if="$slots.icon">
15
+ <slot name="icon"></slot>
16
+ </template>
17
+
18
+ <template #default v-if="$slots.default">
19
+ <slot></slot>
20
+ </template>
21
+ </ButtonTertiary>
22
+ </template>
23
+ <style lang="scss" scoped>
24
+ </style>
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { ref } from 'vue'
3
- import ButtonPrimary from '../Button/ButtonPrimary.vue'
3
+ import ButtonPrimaryFull from '../Button/ButtonPrimaryFull.vue'
4
4
  import FormFieldEmail from '../FormField/FormFieldEmail.vue'
5
5
  import FormFieldPassword from '../FormField/FormFieldPassword.vue'
6
6
  import FormFieldSlot from '../FormField/FormFieldSlot.vue'
@@ -67,11 +67,11 @@ const formRef = ref(props.form)
67
67
  <slot name="submit"
68
68
  :formRef="formRef"
69
69
  >
70
- <ButtonPrimary full lg submit :disabled="form.processing">
70
+ <ButtonPrimaryFull lg submit :disabled="form.processing">
71
71
  <slot name="submit-label">
72
72
  Log in
73
73
  </slot>
74
- </ButtonPrimary>
74
+ </ButtonPrimaryFull>
75
75
  </slot>
76
76
 
77
77
  <div v-if="$slots.signup" class="form-login__signup">
@@ -1,6 +1,6 @@
1
1
  <script setup>
2
2
  import { ref } from 'vue'
3
- import ButtonPrimary from '../Button/ButtonPrimary.vue'
3
+ import ButtonPrimaryFull from '../Button/ButtonPrimaryFull.vue'
4
4
  import FormFieldCheckbox from '../FormField/FormFieldCheckbox.vue'
5
5
  import FormFieldEmail from '../FormField/FormFieldEmail.vue'
6
6
  import FormFieldPasswordToggle from '../FormField/FormFieldPasswordToggle.vue'
@@ -99,11 +99,11 @@ const formRef = ref(props.form)
99
99
  <slot name="submit"
100
100
  :formRef="formRef"
101
101
  >
102
- <ButtonPrimary full lg submit :disabled="form.processing">
102
+ <ButtonPrimaryFull lg submit :disabled="form.processing">
103
103
  <slot name="submit-label">
104
104
  Register
105
105
  </slot>
106
- </ButtonPrimary>
106
+ </ButtonPrimaryFull>
107
107
  </slot>
108
108
 
109
109
  <div v-if="$slots.signin" class="form-register__signin">
@@ -1,7 +1,7 @@
1
1
  <script setup>
2
2
  import { ref, computed } from 'vue'
3
3
  import Modal from '../Modal/Modal.vue'
4
- import ButtonSecondaryLight from '../Button/ButtonSecondaryLight.vue'
4
+ import ButtonTertiary from '../Button/ButtonTertiary.vue'
5
5
 
6
6
  const showMetaModal = ref(false)
7
7
  </script>
@@ -29,9 +29,9 @@ const showMetaModal = ref(false)
29
29
  <div v-if="$slots['meta-action-label'] && $slots['meta']"
30
30
  class="page-heading__meta-action"
31
31
  >
32
- <ButtonSecondaryLight @click="showMetaModal = true">
32
+ <ButtonTertiary @click="showMetaModal = true">
33
33
  <slot name="meta-action-label"></slot>
34
- </ButtonSecondaryLight>
34
+ </ButtonTertiary>
35
35
 
36
36
  <Modal v-if="$slots['meta']"
37
37
  class="page-heading__meta-modal"
@@ -55,9 +55,9 @@ const showMetaModal = ref(false)
55
55
  <slot name="meta-modal-footer"></slot>
56
56
  </div>
57
57
 
58
- <ButtonSecondaryLight @click="showMetaModal = false">
58
+ <ButtonTertiary @click="showMetaModal = false">
59
59
  <slot name="meta-modal-close-label"></slot>
60
- </ButtonSecondaryLight>
60
+ </ButtonTertiary>
61
61
  </template>
62
62
  </Modal>
63
63
  </div>