@nexxtmove/ui 0.1.31 → 0.1.33

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.
Files changed (58) hide show
  1. package/dist/index.d.ts +124 -17
  2. package/dist/index.js +1079 -980
  3. package/dist/nuxt.js +8 -7
  4. package/package.json +1 -1
  5. package/src/components/Calendar/_CalendarDayView.vue +1 -1
  6. package/src/components/Chip/Chip.vue +9 -4
  7. package/src/components/Pagination/Pagination.vue +93 -0
  8. package/src/components/Table/Table.vue +2 -2
  9. package/src/components.json +1 -0
  10. package/src/index.ts +1 -0
  11. package/src/components/AnimatedNumber/AnimatedNumber.stories.ts +0 -15
  12. package/src/components/AnimatedNumber/AnimatedNumber.test.ts +0 -56
  13. package/src/components/Avatar/Avatar.stories.ts +0 -28
  14. package/src/components/Avatar/Avatar.test.ts +0 -55
  15. package/src/components/Button/Button.stories.ts +0 -212
  16. package/src/components/Button/Button.test.ts +0 -318
  17. package/src/components/Calendar/Calendar.stories.ts +0 -91
  18. package/src/components/Calendar/Calendar.test.ts +0 -279
  19. package/src/components/Calendar/_CalendarDayView.test.ts +0 -104
  20. package/src/components/Calendar/_CalendarHeader.test.ts +0 -86
  21. package/src/components/Calendar/_CalendarMonthView.test.ts +0 -52
  22. package/src/components/Calendar/_CalendarYearView.test.ts +0 -56
  23. package/src/components/Checkbox/Checkbox.stories.ts +0 -35
  24. package/src/components/Checkbox/Checkbox.test.ts +0 -55
  25. package/src/components/Chip/Chip.stories.ts +0 -42
  26. package/src/components/Chip/Chip.test.ts +0 -51
  27. package/src/components/CustomerJourneyTile/CustomerJourneyTile.stories.ts +0 -86
  28. package/src/components/CustomerJourneyTile/CustomerJourneyTile.test.ts +0 -178
  29. package/src/components/DatePicker/DatePicker.stories.ts +0 -149
  30. package/src/components/DatePicker/DatePicker.test.ts +0 -191
  31. package/src/components/DropdownButton/DropdownButton.stories.ts +0 -68
  32. package/src/components/DropdownButton/DropdownButton.test.ts +0 -124
  33. package/src/components/Header/Header.stories.ts +0 -54
  34. package/src/components/Header/Header.test.ts +0 -183
  35. package/src/components/Icon/Icon.stories.ts +0 -50
  36. package/src/components/Icon/Icon.test.ts +0 -73
  37. package/src/components/InfoBlock/InfoBlock.stories.ts +0 -90
  38. package/src/components/InfoBlock/InfoBlock.test.ts +0 -101
  39. package/src/components/ProgressBar/ProgressBar.stories.ts +0 -30
  40. package/src/components/ProgressBar/ProgressBar.test.ts +0 -314
  41. package/src/components/SocialIcons/SocialIcons.stories.ts +0 -34
  42. package/src/components/SocialIcons/SocialIcons.test.ts +0 -58
  43. package/src/components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.stories.ts +0 -11
  44. package/src/components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.test.ts +0 -131
  45. package/src/components/SocialMediaTemplate/SocialMediaTemplate.stories.ts +0 -71
  46. package/src/components/SocialMediaTemplate/SocialMediaTemplate.test.ts +0 -466
  47. package/src/components/SocialMediaType/SocialMediaType.stories.ts +0 -43
  48. package/src/components/SocialMediaType/SocialMediaType.test.ts +0 -126
  49. package/src/components/StepperHeader/StepperHeader.stories.ts +0 -47
  50. package/src/components/StepperHeader/StepperHeader.test.ts +0 -244
  51. package/src/components/Table/Table.stories.ts +0 -283
  52. package/src/components/Table/Table.test.ts +0 -220
  53. package/src/components/TimelineEvent/TimelineEvent.stories.ts +0 -291
  54. package/src/components/TimelineEvent/TimelineEvent.test.ts +0 -166
  55. package/src/components/TimelinePhaseblock/TimelinePhaseblock.stories.ts +0 -198
  56. package/src/components/TimelinePhaseblock/TimelinePhaseblock.test.ts +0 -283
  57. package/src/components/Tooltip/Tooltip.stories.ts +0 -146
  58. package/src/components/Tooltip/Tooltip.test.ts +0 -122
package/dist/nuxt.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineNuxtModule as c, addComponent as s, addTemplate as a } from "@nuxt/kit";
2
- const i = "components/AnimatedNumber/AnimatedNumber.vue", m = "components/Avatar/Avatar.vue", x = "components/Button/Button.vue", u = "components/Calendar/Calendar.vue", p = "components/Checkbox/Checkbox.vue", l = "components/Chip/Chip.vue", r = "components/CustomerJourneyTile/CustomerJourneyTile.vue", d = "components/DatePicker/DatePicker.vue", v = "components/DropdownButton/DropdownButton.vue", N = "components/Header/Header.vue", T = "components/Icon/Icon.vue", C = "components/InfoBlock/InfoBlock.vue", S = "components/ProgressBar/ProgressBar.vue", b = "components/SocialIcons/SocialIcons.vue", f = "components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.vue", h = "components/SocialMediaTemplate/SocialMediaTemplate.vue", k = "components/SocialMediaType/SocialMediaType.vue", B = "components/StepperHeader/StepperHeader.vue", M = "components/Table/Table.vue", P = "components/TimelineEvent/TimelineEvent.vue", I = "components/TimelinePhaseblock/TimelinePhaseblock.vue", y = "components/Tooltip/Tooltip.vue", A = {
2
+ const i = "components/AnimatedNumber/AnimatedNumber.vue", m = "components/Avatar/Avatar.vue", x = "components/Button/Button.vue", u = "components/Calendar/Calendar.vue", p = "components/Checkbox/Checkbox.vue", l = "components/Chip/Chip.vue", r = "components/CustomerJourneyTile/CustomerJourneyTile.vue", d = "components/DatePicker/DatePicker.vue", v = "components/DropdownButton/DropdownButton.vue", N = "components/Header/Header.vue", T = "components/Icon/Icon.vue", C = "components/InfoBlock/InfoBlock.vue", S = "components/Pagination/Pagination.vue", b = "components/ProgressBar/ProgressBar.vue", f = "components/SocialIcons/SocialIcons.vue", h = "components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.vue", P = "components/SocialMediaTemplate/SocialMediaTemplate.vue", k = "components/SocialMediaType/SocialMediaType.vue", B = "components/StepperHeader/StepperHeader.vue", M = "components/Table/Table.vue", I = "components/TimelineEvent/TimelineEvent.vue", g = "components/TimelinePhaseblock/TimelinePhaseblock.vue", y = "components/Tooltip/Tooltip.vue", A = {
3
3
  NexxtAnimatedNumber: i,
4
4
  NexxtAvatar: m,
5
5
  NexxtButton: x,
@@ -12,15 +12,16 @@ const i = "components/AnimatedNumber/AnimatedNumber.vue", m = "components/Avatar
12
12
  NexxtHeader: N,
13
13
  NexxtIcon: T,
14
14
  NexxtInfoBlock: C,
15
- NexxtProgressBar: S,
16
- NexxtSocialIcons: b,
17
- NexxtSocialMediaCustomTemplate: f,
18
- NexxtSocialMediaTemplate: h,
15
+ NexxtPagination: S,
16
+ NexxtProgressBar: b,
17
+ NexxtSocialIcons: f,
18
+ NexxtSocialMediaCustomTemplate: h,
19
+ NexxtSocialMediaTemplate: P,
19
20
  NexxtSocialMediaType: k,
20
21
  NexxtStepperHeader: B,
21
22
  NexxtTable: M,
22
- NexxtTimelineEvent: P,
23
- NexxtTimelinePhaseblock: I,
23
+ NexxtTimelineEvent: I,
24
+ NexxtTimelinePhaseblock: g,
24
25
  NexxtTooltip: y
25
26
  }, H = c({
26
27
  meta: {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexxtmove/ui",
3
3
  "type": "module",
4
- "version": "0.1.31",
4
+ "version": "0.1.33",
5
5
  "exports": {
6
6
  ".": {
7
7
  "types": "./dist/index.d.ts",
@@ -4,7 +4,7 @@ import { isSameDay, isSameMonth, format } from 'date-fns'
4
4
  import { toZonedTime } from 'date-fns-tz'
5
5
  import type { Locale } from 'date-fns'
6
6
 
7
- interface CalendarDayViewProps {
7
+ export interface CalendarDayViewProps {
8
8
  viewDate: Date
9
9
  calendarDays: Date[]
10
10
  modelValue: Date | null
@@ -1,8 +1,8 @@
1
- <script lang="ts" setup>
1
+ <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
3
 
4
4
  interface NexxtChipProps {
5
- variant?: 'default' | 'warning' | 'success' | 'danger'
5
+ variant?: 'default' | 'warning' | 'success' | 'danger' | 'ghost'
6
6
  }
7
7
 
8
8
  defineOptions({
@@ -19,6 +19,8 @@ const backgroundColor = computed(() => {
19
19
  return 'bg-green-500'
20
20
  case 'danger':
21
21
  return 'bg-brick-500'
22
+ case 'ghost':
23
+ return 'bg-cornflower-blue-50'
22
24
  default:
23
25
  return 'bg-cornflower-blue-600'
24
26
  }
@@ -28,9 +30,12 @@ const backgroundColor = computed(() => {
28
30
  <template>
29
31
  <span
30
32
  class="inline-flex h-5 flex-col items-center justify-center gap-2.5 rounded-[200px] px-4"
31
- :class="backgroundColor"
33
+ :class="[backgroundColor, variant === 'ghost' ? 'border border-cornflower-blue-500' : '']"
32
34
  >
33
- <span class="justify-start text-center extra-small-semibold text-white">
35
+ <span
36
+ class="justify-start text-center extra-small-semibold"
37
+ :class="variant === 'ghost' ? 'text-cornflower-blue-500' : 'text-white'"
38
+ >
34
39
  <slot>Chip</slot>
35
40
  </span>
36
41
  </span>
@@ -0,0 +1,93 @@
1
+ <script setup lang="ts">
2
+ import NexxtIcon from '../Icon/Icon.vue'
3
+ import {
4
+ PaginationEllipsis,
5
+ PaginationFirst,
6
+ PaginationLast,
7
+ PaginationList,
8
+ PaginationListItem,
9
+ PaginationNext,
10
+ PaginationPrev,
11
+ PaginationRoot,
12
+ } from 'reka-ui'
13
+
14
+ interface NexxtPaginationProps {
15
+ total: number
16
+ itemsPerPage?: number
17
+ siblingCount?: number
18
+ showEdges?: boolean
19
+ disabled?: boolean
20
+ }
21
+
22
+ defineOptions({ name: 'NexxtPagination' })
23
+
24
+ const page = defineModel<number>('page', { default: 1 })
25
+
26
+ const {
27
+ total,
28
+ itemsPerPage = 10,
29
+ siblingCount = 1,
30
+ showEdges = true,
31
+ disabled = false,
32
+ } = defineProps<NexxtPaginationProps>()
33
+ </script>
34
+
35
+ <template>
36
+ <PaginationRoot
37
+ :total="total"
38
+ :items-per-page="itemsPerPage"
39
+ :sibling-count="siblingCount"
40
+ v-model:page="page"
41
+ :show-edges="showEdges"
42
+ >
43
+ <PaginationList
44
+ v-slot="{ items }"
45
+ class="flex items-center gap-1 text-gray-700 transition"
46
+ :class="{ 'pointer-events-none opacity-50': disabled }"
47
+ >
48
+ <PaginationFirst
49
+ class="flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-transparent transition hover:bg-cornflower-blue-50 disabled:cursor-not-allowed disabled:opacity-50"
50
+ :disabled="disabled"
51
+ >
52
+ <NexxtIcon name="angles-left" />
53
+ </PaginationFirst>
54
+ <PaginationPrev
55
+ class="mr-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-transparent transition hover:bg-cornflower-blue-50 disabled:cursor-not-allowed disabled:opacity-50"
56
+ :disabled="disabled"
57
+ >
58
+ <NexxtIcon name="chevron-left" />
59
+ </PaginationPrev>
60
+ <template v-for="(page, index) in items">
61
+ <PaginationListItem
62
+ v-if="page.type === 'page'"
63
+ :key="index"
64
+ :value="page.value"
65
+ :disabled="disabled"
66
+ class="h-8 w-8 cursor-pointer rounded-lg border border-gray-200 transition hover:bg-cornflower-blue-50 disabled:cursor-not-allowed data-selected:border-cornflower-blue-500 data-selected:bg-cornflower-blue-500 data-selected:text-white data-selected:shadow-sm"
67
+ >
68
+ {{ page.value }}
69
+ </PaginationListItem>
70
+ <PaginationEllipsis
71
+ v-else
72
+ :key="page.type"
73
+ :index="index"
74
+ class="flex h-8 w-8 items-center justify-center"
75
+ >
76
+ &#8230;
77
+ </PaginationEllipsis>
78
+ </template>
79
+ <PaginationNext
80
+ class="ml-4 flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-transparent transition hover:bg-cornflower-blue-50 disabled:cursor-not-allowed disabled:opacity-50"
81
+ :disabled="disabled"
82
+ >
83
+ <NexxtIcon name="chevron-right" />
84
+ </PaginationNext>
85
+ <PaginationLast
86
+ class="flex h-8 w-8 cursor-pointer items-center justify-center rounded-lg bg-transparent transition hover:bg-cornflower-blue-50 disabled:cursor-not-allowed disabled:opacity-50"
87
+ :disabled="disabled"
88
+ >
89
+ <NexxtIcon name="angles-right" />
90
+ </PaginationLast>
91
+ </PaginationList>
92
+ </PaginationRoot>
93
+ </template>
@@ -10,7 +10,7 @@ export interface TableColumn<K extends string = string> {
10
10
  width?: string
11
11
  }
12
12
 
13
- interface NexxtTableProps {
13
+ export interface NexxtTableProps<TKey extends string = string> {
14
14
  columns: TableColumn<TKey>[]
15
15
  rows: Record<TKey, unknown>[]
16
16
  sortKey?: TKey
@@ -23,7 +23,7 @@ const INTERACTIVE = ['a', 'button', 'input', 'select', 'textarea', 'label']
23
23
 
24
24
  defineOptions({ name: 'NexxtTable' })
25
25
 
26
- const props = withDefaults(defineProps<NexxtTableProps>(), {
26
+ const props = withDefaults(defineProps<NexxtTableProps<TKey>>(), {
27
27
  sortDirection: 'asc',
28
28
  })
29
29
  const emit = defineEmits<{
@@ -11,6 +11,7 @@
11
11
  "NexxtHeader": "components/Header/Header.vue",
12
12
  "NexxtIcon": "components/Icon/Icon.vue",
13
13
  "NexxtInfoBlock": "components/InfoBlock/InfoBlock.vue",
14
+ "NexxtPagination": "components/Pagination/Pagination.vue",
14
15
  "NexxtProgressBar": "components/ProgressBar/ProgressBar.vue",
15
16
  "NexxtSocialIcons": "components/SocialIcons/SocialIcons.vue",
16
17
  "NexxtSocialMediaCustomTemplate": "components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.vue",
package/src/index.ts CHANGED
@@ -11,6 +11,7 @@ export { default as NexxtDropdownButton } from './components/DropdownButton/Drop
11
11
  export { default as NexxtHeader } from './components/Header/Header.vue'
12
12
  export { default as NexxtIcon } from './components/Icon/Icon.vue'
13
13
  export { default as NexxtInfoBlock } from './components/InfoBlock/InfoBlock.vue'
14
+ export { default as NexxtPagination } from './components/Pagination/Pagination.vue'
14
15
  export { default as NexxtProgressBar } from './components/ProgressBar/ProgressBar.vue'
15
16
  export { default as NexxtSocialIcons } from './components/SocialIcons/SocialIcons.vue'
16
17
  export { default as NexxtSocialMediaCustomTemplate } from './components/SocialMediaCustomTemplate/SocialMediaCustomTemplate.vue'
@@ -1,15 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
- import AnimatedNumber from './AnimatedNumber.vue'
3
-
4
- export default {
5
- title: 'Components/Atoms/Animated Number',
6
- component: AnimatedNumber,
7
- } satisfies Meta<typeof AnimatedNumber>
8
-
9
- type Story = StoryObj<typeof AnimatedNumber>
10
-
11
- export const Default: Story = {
12
- args: {
13
- value: 4,
14
- },
15
- }
@@ -1,56 +0,0 @@
1
- import { describe, it, expect } from 'vitest'
2
- import { mount } from '@vue/test-utils'
3
- import AnimatedNumber from './AnimatedNumber.vue'
4
-
5
- describe('AnimatedNumber', () => {
6
- it('renders the number correctly', () => {
7
- const wrapper = mount(AnimatedNumber, {
8
- props: {
9
- value: 123,
10
- },
11
- })
12
-
13
- expect(wrapper.text()).toBe('123')
14
- expect(wrapper.attributes('aria-label')).toBe('123')
15
- })
16
-
17
- it('splits the number into digits', () => {
18
- const wrapper = mount(AnimatedNumber, {
19
- props: {
20
- value: 45,
21
- },
22
- })
23
-
24
- const digitWrappers = wrapper.findAll('.relative.inline-flex.h-\\[1\\.5em\\]')
25
- expect(digitWrappers).toHaveLength(2)
26
- expect(digitWrappers.at(0)?.text()).toBe('4')
27
- expect(digitWrappers.at(1)?.text()).toBe('5')
28
- })
29
-
30
- it('handles single digit values', () => {
31
- const wrapper = mount(AnimatedNumber, {
32
- props: {
33
- value: 7,
34
- },
35
- })
36
-
37
- const digitWrappers = wrapper.findAll('.relative.inline-flex.h-\\[1\\.5em\\]')
38
- expect(digitWrappers).toHaveLength(1)
39
- expect(digitWrappers.at(0)?.text()).toBe('7')
40
- })
41
-
42
- it('updates digits when value changes', async () => {
43
- const wrapper = mount(AnimatedNumber, {
44
- props: {
45
- value: 9,
46
- },
47
- })
48
-
49
- expect(wrapper.text()).toBe('9')
50
-
51
- await wrapper.setProps({ value: 10 })
52
-
53
- expect(wrapper.text()).toBe('10')
54
- expect(wrapper.findAll('.relative.inline-flex.h-\\[1\\.5em\\]')).toHaveLength(2)
55
- })
56
- })
@@ -1,28 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
- import Avatar from './Avatar.vue'
3
-
4
- export default {
5
- title: 'Components/Atoms/Avatar',
6
- component: Avatar,
7
- parameters: {
8
- design: {
9
- type: 'figma',
10
- url: 'https://www.figma.com/design/CdbFJ7qUga6mtjagcPDvYK/Design-System',
11
- },
12
- },
13
- argTypes: {
14
- size: {
15
- control: 'select',
16
- options: ['xs', 'sm', 'md', 'lg', 'xl'],
17
- },
18
- },
19
- } satisfies Meta<typeof Avatar>
20
-
21
- type Story = StoryObj<typeof Avatar>
22
-
23
- export const Default: Story = {
24
- args: {
25
- name: 'Peter van der Sloot',
26
- size: 'sm',
27
- },
28
- }
@@ -1,55 +0,0 @@
1
- import { describe, it, expect } from 'vitest'
2
- import { mount } from '@vue/test-utils'
3
- import Avatar from './Avatar.vue'
4
-
5
- describe('Avatar', () => {
6
- it('generates 2 character initials from name with multiple words', () => {
7
- const wrapper = mount(Avatar, {
8
- props: {
9
- name: 'Peter Vink',
10
- },
11
- })
12
-
13
- expect(wrapper.text()).toContain('PV')
14
- })
15
-
16
- it('generates 2 character initials from name with single word', () => {
17
- const wrapper = mount(Avatar, {
18
- props: {
19
- name: 'Peter',
20
- },
21
- })
22
-
23
- expect(wrapper.text()).toContain('PE')
24
- })
25
-
26
- it('generates 2 character initials picking first and last words for names with tussenvoegsels', () => {
27
- const wrapper = mount(Avatar, {
28
- props: {
29
- name: 'Peter van der Sloot',
30
- },
31
- })
32
-
33
- expect(wrapper.text()).toContain('PS')
34
- })
35
-
36
- it('handles empty strings gracefully by returning no text', () => {
37
- const wrapper = mount(Avatar, {
38
- props: {
39
- name: '',
40
- },
41
- })
42
-
43
- expect(wrapper.text()).toBe('')
44
- })
45
-
46
- it('handles whitespace-only strings gracefully by returning no text', () => {
47
- const wrapper = mount(Avatar, {
48
- props: {
49
- name: ' ',
50
- },
51
- })
52
-
53
- expect(wrapper.text()).toBe('')
54
- })
55
- })
@@ -1,212 +0,0 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
- import Button from './Button.vue'
3
-
4
- export default {
5
- title: 'Components/Atoms/Button',
6
- component: Button,
7
- parameters: {
8
- design: {
9
- type: 'figma',
10
- url: 'https://www.figma.com/design/CdbFJ7qUga6mtjagcPDvYK/Design-System?node-id=167-357&t=CbHvOQfEMIr7M5mO-4',
11
- },
12
- },
13
- } satisfies Meta<typeof Button>
14
-
15
- type Story = StoryObj<typeof Button>
16
-
17
- export const Primary: Story = {
18
- args: {
19
- default: 'Button',
20
- variant: 'primary',
21
- iconRight: false,
22
- disabled: false,
23
- loading: false,
24
- },
25
- }
26
-
27
- export const Secondary: Story = {
28
- args: {
29
- variant: 'secondary',
30
- default: 'Secondary Button',
31
- },
32
- }
33
-
34
- export const Success: Story = {
35
- args: {
36
- variant: 'success',
37
- default: 'Success Button',
38
- },
39
- }
40
-
41
- export const Danger: Story = {
42
- args: {
43
- variant: 'danger',
44
- default: 'Danger Button',
45
- },
46
- }
47
-
48
- export const Link: Story = {
49
- args: {
50
- variant: 'link',
51
- default: 'Link Button',
52
- },
53
- }
54
-
55
- export const WithIcon: Story = {
56
- args: {
57
- icon: 'star',
58
- default: 'With Icon',
59
- },
60
- }
61
-
62
- export const WithIconRight: Story = {
63
- args: {
64
- icon: 'arrow-right',
65
- iconRight: true,
66
- default: 'Next Step',
67
- },
68
- }
69
-
70
- export const WithIconSecondary: Story = {
71
- args: {
72
- variant: 'secondary',
73
- icon: 'download',
74
- default: 'Download',
75
- },
76
- }
77
-
78
- export const WithIconSuccess: Story = {
79
- args: {
80
- variant: 'success',
81
- icon: 'check',
82
- default: 'Success Button',
83
- },
84
- }
85
-
86
- export const WithIconDanger: Story = {
87
- args: {
88
- variant: 'danger',
89
- icon: 'trash',
90
- default: 'Danger Button',
91
- },
92
- }
93
-
94
- export const WithIconLink: Story = {
95
- args: {
96
- variant: 'link',
97
- icon: 'download',
98
- default: 'Download',
99
- },
100
- }
101
-
102
- export const IconOnly: Story = {
103
- args: {
104
- icon: 'plus',
105
- },
106
- }
107
-
108
- export const IconOnlySecondary: Story = {
109
- args: {
110
- variant: 'secondary',
111
- icon: 'plus',
112
- },
113
- }
114
-
115
- export const IconOnlySuccess: Story = {
116
- args: {
117
- variant: 'success',
118
- icon: 'check',
119
- },
120
- }
121
-
122
- export const IconOnlyDanger: Story = {
123
- args: {
124
- variant: 'danger',
125
- icon: 'trash',
126
- },
127
- }
128
-
129
- export const IconOnlyLink: Story = {
130
- args: {
131
- variant: 'link',
132
- icon: 'plus',
133
- },
134
- }
135
-
136
- export const Disabled: Story = {
137
- args: {
138
- default: 'Disabled',
139
- disabled: true,
140
- },
141
- }
142
-
143
- export const DisabledSecondary: Story = {
144
- args: {
145
- variant: 'secondary',
146
- default: 'Secondary Disabled',
147
- disabled: true,
148
- },
149
- }
150
-
151
- export const DisabledSuccess: Story = {
152
- args: {
153
- variant: 'success',
154
- default: 'Success Disabled',
155
- disabled: true,
156
- },
157
- }
158
-
159
- export const DisabledDanger: Story = {
160
- args: {
161
- variant: 'danger',
162
- default: 'Danger Disabled',
163
- disabled: true,
164
- },
165
- }
166
-
167
- export const DisabledLink: Story = {
168
- args: {
169
- variant: 'link',
170
- default: 'Link Disabled',
171
- disabled: true,
172
- },
173
- }
174
-
175
- export const Loading: Story = {
176
- args: {
177
- default: 'Loading',
178
- loading: true,
179
- },
180
- }
181
-
182
- export const LoadingSecondary: Story = {
183
- args: {
184
- variant: 'secondary',
185
- default: 'Loading',
186
- loading: true,
187
- },
188
- }
189
-
190
- export const LoadingSuccess: Story = {
191
- args: {
192
- variant: 'success',
193
- default: 'Loading',
194
- loading: true,
195
- },
196
- }
197
-
198
- export const LoadingDanger: Story = {
199
- args: {
200
- variant: 'danger',
201
- default: 'Loading',
202
- loading: true,
203
- },
204
- }
205
-
206
- export const LoadingLink: Story = {
207
- args: {
208
- variant: 'link',
209
- default: 'Link Button',
210
- loading: true,
211
- },
212
- }