fds-vue-core 2.1.8 → 2.1.10

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 (44) hide show
  1. package/dist/fds-vue-core.cjs.js +1 -1
  2. package/dist/fds-vue-core.cjs.js.map +1 -1
  3. package/dist/fds-vue-core.es.js +1 -1
  4. package/dist/fds-vue-core.es.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/App.vue +2 -2
  7. package/src/components/Blocks/FdsBlockAlert/FdsBlockAlert.vue +6 -17
  8. package/src/components/Blocks/FdsBlockContent/FdsBlockContent.vue +3 -10
  9. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.stories.ts +1 -1
  10. package/src/components/Blocks/FdsBlockExpander/FdsBlockExpander.vue +8 -26
  11. package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.stories.ts +1 -1
  12. package/src/components/Blocks/FdsBlockInfo/FdsBlockInfo.vue +2 -2
  13. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.stories.ts +2 -2
  14. package/src/components/Blocks/FdsBlockLink/FdsBlockLink.vue +7 -25
  15. package/src/components/Buttons/FdsButtonCopy/FdsButtonCopy.vue +4 -7
  16. package/src/components/Buttons/FdsButtonDownload/FdsButtonDownload.vue +5 -15
  17. package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.stories.ts +1 -1
  18. package/src/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue +3 -12
  19. package/src/components/Buttons/FdsButtonIcon/types.ts +1 -1
  20. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.stories.ts +1 -1
  21. package/src/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue +7 -21
  22. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.stories.ts +1 -1
  23. package/src/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue +7 -20
  24. package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.stories.ts +1 -1
  25. package/src/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue +7 -20
  26. package/src/components/FdsIcon/FdsIcon.stories.ts +1 -1
  27. package/src/components/FdsIcon/FdsIcon.vue +1 -1
  28. package/src/components/FdsModal/FdsModal.stories.ts +2 -2
  29. package/src/components/FdsModal/FdsModal.vue +8 -29
  30. package/src/components/FdsPagination/FdsPagination.vue +8 -27
  31. package/src/components/FdsSearchSelect/FdsSearchSelect.vue +6 -6
  32. package/src/components/FdsTreeView/FdsTreeView.vue +4 -4
  33. package/src/components/FdsTreeView/TreeNode.vue +3 -3
  34. package/src/components/FdsTreeView/useTreeState.ts +1 -1
  35. package/src/components/FdsTruncatedText/FdsTruncatedText.vue +2 -2
  36. package/src/components/Form/FdsCheckbox/FdsCheckbox.vue +1 -1
  37. package/src/components/Form/FdsInput/FdsInput.vue +3 -3
  38. package/src/components/Form/FdsRadio/FdsRadio.vue +1 -1
  39. package/src/components/Form/FdsSelect/FdsSelect.vue +7 -21
  40. package/src/components/Form/FdsTextarea/FdsTextarea.vue +8 -25
  41. package/src/components/Table/FdsTable/FdsTable.stories.ts +1 -1
  42. package/src/components/Table/FdsTableHead/FdsTableHead.vue +2 -2
  43. package/src/components/Tabs/FdsTabs/FdsTabs.stories.ts +2 -2
  44. package/src/components/Typography/FdsListHeading/FdsListHeading.vue +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fds-vue-core",
3
- "version": "2.1.8",
3
+ "version": "2.1.10",
4
4
  "description": "FDS Vue Core Component Library",
5
5
  "type": "module",
6
6
  "main": "./dist/fds-vue-core.cjs.js",
package/src/App.vue CHANGED
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import FdsTreeView from '@/components/FdsTreeView/FdsTreeView.vue'
3
- import type { FdsTreeNode } from '@/components/FdsTreeView/types'
4
2
  import { ref } from 'vue'
3
+ import FdsTreeView from './components/FdsTreeView/FdsTreeView.vue'
4
+ import type { FdsTreeNode } from './components/FdsTreeView/types'
5
5
 
6
6
  // Mock tree data
7
7
  const mockTreeData: FdsTreeNode<Record<string, unknown>>[] = [
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import { useHasSlot } from '@/composables/useHasSlots'
3
2
  import { computed, ref, watch } from 'vue'
4
- import FdsButtonIcon from '@/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue'
5
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
3
+ import { useHasSlot } from '../../../composables/useHasSlots'
4
+ import FdsButtonIcon from '../../Buttons/FdsButtonIcon/FdsButtonIcon.vue'
5
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
6
6
  import type { FdsAlertBlockProps } from './types'
7
7
 
8
8
  const props = withDefaults(defineProps<FdsAlertBlockProps>(), {
@@ -57,11 +57,7 @@ function handleToggle() {
57
57
  </script>
58
58
 
59
59
  <template>
60
- <div
61
- v-if="isVisible"
62
- :id="alertId"
63
- :class="alertClasses"
64
- >
60
+ <div v-if="isVisible" :id="alertId" :class="alertClasses">
65
61
  <div>
66
62
  <div>
67
63
  <div
@@ -70,11 +66,7 @@ function handleToggle() {
70
66
  :class="{ 'mb-4': (isExpanded || !collapsable) && hasSlot }"
71
67
  >
72
68
  <div class="flex items-center gap-2">
73
- <FdsIcon
74
- name="alert"
75
- :size="24"
76
- class="fill-yellow-700"
77
- />
69
+ <FdsIcon name="alert" :size="24" class="fill-yellow-700" />
78
70
  <span>{{ label }}</span>
79
71
  </div>
80
72
  <div class="relative">
@@ -100,10 +92,7 @@ function handleToggle() {
100
92
  />
101
93
  </div>
102
94
  </div>
103
- <div
104
- v-if="isExpanded || !collapsable"
105
- class="fds-block-alert-slot mb-0-last-child"
106
- >
95
+ <div v-if="isExpanded || !collapsable" class="fds-block-alert-slot mb-0-last-child">
107
96
  <slot />
108
97
  </div>
109
98
  </div>
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, type Slot } from 'vue'
3
+ import { useHasSlot } from '../../../composables/useHasSlots'
3
4
  import type { FdsContentBlockProps } from './types'
4
- import { useHasSlot } from '@/composables/useHasSlots'
5
5
 
6
6
  const hasSlot = useHasSlot()
7
7
 
@@ -43,15 +43,8 @@ defineSlots<{
43
43
  </script>
44
44
 
45
45
  <template>
46
- <div
47
- :id="contentBlockId"
48
- :class="contentClasses"
49
- :style="borderLeftStyle"
50
- >
51
- <header
52
- v-if="heading"
53
- class="flex items-start justify-between gap-4"
54
- >
46
+ <div :id="contentBlockId" :class="contentClasses" :style="borderLeftStyle">
47
+ <header v-if="heading" class="flex items-start justify-between gap-4">
55
48
  <div class="flex items-center gap-3">
56
49
  <h3 :class="headerClasses">{{ heading }}</h3>
57
50
  </div>
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
- import icons from '@/assets/icons'
2
+ import icons from '../../../assets/icons'
3
3
  import FdsBlockExpander from './FdsBlockExpander.vue'
4
4
 
5
5
  const meta: Meta<typeof FdsBlockExpander> = {
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, ref, watch } from 'vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
4
  import type { FdsExpanderBlockProps } from './types'
5
5
 
6
6
  const props = withDefaults(defineProps<FdsExpanderBlockProps>(), {
@@ -44,29 +44,15 @@ function handleToggle() {
44
44
 
45
45
  <template>
46
46
  <div :class="expanderClasses">
47
- <button
48
- type="button"
49
- :class="headerClasses"
50
- @click="handleToggle"
51
- >
47
+ <button type="button" :class="headerClasses" @click="handleToggle">
52
48
  <span class="inline-flex items-center">
53
- <span
54
- v-if="preIcon"
55
- class="flex items-center mr-4"
56
- >
57
- <FdsIcon
58
- :name="preIcon"
59
- :size="24"
60
- class="fill-blue-500"
61
- :class="{ 'fill-gray-500': disabled }"
62
- />
49
+ <span v-if="preIcon" class="flex items-center mr-4">
50
+ <FdsIcon :name="preIcon" :size="24" class="fill-blue-500" :class="{ 'fill-gray-500': disabled }" />
63
51
  </span>
64
52
  <span class="inline-flex items-center">
65
- <span
66
- class="font-bold font-heading text-lg leading-md"
67
- :class="{ 'text-gray-500': disabled }"
68
- >{{ label }}</span
69
- >
53
+ <span class="font-bold font-heading text-lg leading-md" :class="{ 'text-gray-500': disabled }">
54
+ {{ label }}
55
+ </span>
70
56
  </span>
71
57
  </span>
72
58
  <FdsIcon
@@ -76,11 +62,7 @@ function handleToggle() {
76
62
  :class="{ 'rotate-180': isOpen, 'fill-gray-500': disabled }"
77
63
  />
78
64
  </button>
79
- <div
80
- :aria-hidden="!isOpen"
81
- class="mb-0-last-child block px-4 pb-6 rounded-b-2xl bg-white"
82
- v-show="isOpen"
83
- >
65
+ <div :aria-hidden="!isOpen" class="mb-0-last-child block px-4 pb-6 rounded-b-2xl bg-white" v-show="isOpen">
84
66
  <slot />
85
67
  </div>
86
68
  </div>
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
- import icons from '@/assets/icons'
2
+ import icons from '../../../assets/icons'
3
3
  import FdsBlockInfo from './FdsBlockInfo.vue'
4
4
 
5
5
  const meta: Meta<typeof FdsBlockInfo> = {
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
3
- import { useHasSlot } from '@/composables/useHasSlots'
4
2
  import { computed, type Slot } from 'vue'
3
+ import { useHasSlot } from '../../../composables/useHasSlots'
4
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
5
5
  import type { FdsBlockInfoProps } from './types'
6
6
 
7
7
  const props = withDefaults(defineProps<FdsBlockInfoProps>(), {
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
- import icons from '@/assets/icons'
3
- import FdsSticker from '@/components/FdsSticker/FdsSticker.vue'
2
+ import icons from '../../../assets/icons'
3
+ import FdsSticker from '../../FdsSticker/FdsSticker.vue'
4
4
  import FdsBlockLink from './FdsBlockLink.vue'
5
5
 
6
6
  const meta: Meta<typeof FdsBlockLink> = {
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { useHasSlot } from '@/composables/useHasSlots'
3
2
  import { computed, useAttrs } from 'vue'
4
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
3
+ import { useHasSlot } from '../../../composables/useHasSlots'
4
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
5
5
  import type { FdsInteractionBlockProps } from './types'
6
6
 
7
7
  defineOptions({
@@ -99,10 +99,7 @@ const componentType = computed(() => {
99
99
  @click="handleClick"
100
100
  @keydown="handleKeydown"
101
101
  >
102
- <div
103
- class="flex w-full flex-1"
104
- :class="contentClasses"
105
- >
102
+ <div class="flex w-full flex-1" :class="contentClasses">
106
103
  <FdsIcon
107
104
  v-if="icon"
108
105
  :name="icon"
@@ -114,14 +111,8 @@ const componentType = computed(() => {
114
111
  class="flex flex-col text-gray-700 font-normal text-base leading-6 tracking-normal"
115
112
  :class="containerClasses"
116
113
  >
117
- <div
118
- class="flex items-center gap-4"
119
- :class="headerClasses"
120
- >
121
- <h3
122
- class="flex-1 font-heading text-lg tracking-normal m-0 leading-md"
123
- :class="headerTextClasses"
124
- >
114
+ <div class="flex items-center gap-4" :class="headerClasses">
115
+ <h3 class="flex-1 font-heading text-lg tracking-normal m-0 leading-md" :class="headerTextClasses">
125
116
  {{ label }}
126
117
  </h3>
127
118
  </div>
@@ -129,21 +120,12 @@ const componentType = computed(() => {
129
120
  <div class="mb-0-last-child">
130
121
  <slot />
131
122
  </div>
132
- <div
133
- v-if="hasStickerSlot"
134
- class="flex items-end"
135
- >
123
+ <div v-if="hasStickerSlot" class="flex items-end">
136
124
  <slot name="sticker" />
137
125
  </div>
138
126
  </div>
139
127
  </div>
140
128
  </div>
141
- <FdsIcon
142
- v-if="arrow"
143
- name="arrowRight"
144
- :size="20"
145
- class="ml-3 fill-blue-500"
146
- :class="arrowClasses"
147
- />
129
+ <FdsIcon v-if="arrow" name="arrowRight" :size="20" class="ml-3 fill-blue-500" :class="arrowClasses" />
148
130
  </component>
149
131
  </template>
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
- import { ref, onMounted } from 'vue'
3
- import FdsButtonMinor from '@/components/Buttons/FdsButtonMinor/FdsButtonMinor.vue'
4
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
2
+ import { onMounted, ref } from 'vue'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
+ import FdsButtonMinor from '../FdsButtonMinor/FdsButtonMinor.vue'
5
5
  import type { FdsCopyButtonProps } from './types'
6
6
 
7
7
  const props = withDefaults(defineProps<FdsCopyButtonProps>(), {
@@ -69,10 +69,7 @@ defineEmits<{ (e: 'click'): void }>()
69
69
  </script>
70
70
 
71
71
  <template>
72
- <div
73
- v-if="isCopied"
74
- class="flex items-center gap-2 h-7"
75
- >
72
+ <div v-if="isCopied" class="flex items-center gap-2 h-7">
76
73
  <FdsIcon name="bigSuccess" />
77
74
  <span>{{ props.copiedLabel }}</span>
78
75
  </div>
@@ -1,7 +1,7 @@
1
1
  <script setup lang="ts">
2
2
  import { computed, ref } from 'vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
4
- import type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
+ import type { FdsButtonBaseProps } from '../ButtonBaseProps'
5
5
 
6
6
  defineOptions({
7
7
  inheritAttrs: false,
@@ -160,10 +160,7 @@ function onClick(ev: MouseEvent) {
160
160
  </script>
161
161
 
162
162
  <template>
163
- <div
164
- :class="rootClasses"
165
- :aria-disabled="disabled ? 'true' : undefined"
166
- >
163
+ <div :class="rootClasses" :aria-disabled="disabled ? 'true' : undefined">
167
164
  <button
168
165
  v-bind="$attrs"
169
166
  :class="buttonClasses"
@@ -171,15 +168,8 @@ function onClick(ev: MouseEvent) {
171
168
  type="button"
172
169
  @click="onClick"
173
170
  >
174
- <span
175
- :class="iconOrderClasses"
176
- aria-hidden="true"
177
- >
178
- <FdsIcon
179
- :class="iconFillClass"
180
- name="download"
181
- :size="24"
182
- />
171
+ <span :class="iconOrderClasses" aria-hidden="true">
172
+ <FdsIcon :class="iconFillClass" name="download" :size="24" />
183
173
  </span>
184
174
  {{ text }}
185
175
  </button>
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import FdsButtonIcon from './FdsButtonIcon.vue'
3
- import icons from '@/assets/icons'
3
+ import icons from '../../../assets/icons'
4
4
 
5
5
  const meta: Meta<typeof FdsButtonIcon> = {
6
6
  title: 'FDS/Buttons/FdsButtonIcon',
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
4
  import type { FdsIconButtonProps } from './types'
5
5
 
6
6
  const props = withDefaults(defineProps<FdsIconButtonProps>(), {
@@ -42,16 +42,7 @@ function onClick(ev: MouseEvent) {
42
42
  :class="buttonClasses"
43
43
  @click="onClick"
44
44
  >
45
- <FdsIcon
46
- v-if="!loading"
47
- :size="iconSize"
48
- :name="icon"
49
- />
50
- <FdsIcon
51
- v-else
52
- :size="iconSize"
53
- name="spinner"
54
- class="animate-spin"
55
- />
45
+ <FdsIcon v-if="!loading" :size="iconSize" :name="icon" />
46
+ <FdsIcon v-else :size="iconSize" name="spinner" class="animate-spin" />
56
47
  </button>
57
48
  </template>
@@ -1,4 +1,4 @@
1
- import type { FdsIconName } from '@/components/FdsIcon/types'
1
+ import type { FdsIconName } from '../../FdsIcon/types'
2
2
 
3
3
  export interface FdsIconButtonProps {
4
4
  icon: FdsIconName
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import FdsButtonMinor from './FdsButtonMinor.vue'
3
- import icons from '@/assets/icons'
3
+ import icons from '../../../assets/icons'
4
4
 
5
5
  const meta: Meta<typeof FdsButtonMinor> = {
6
6
  title: 'FDS/Buttons/FdsButtonMinor',
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
4
- import FdsSpinner from '@/components/FdsSpinner/FdsSpinner.vue'
5
2
  import { computed, useAttrs } from 'vue'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
+ import FdsSpinner from '../../FdsSpinner/FdsSpinner.vue'
5
+ import type { FdsButtonBaseProps } from '../ButtonBaseProps'
6
6
 
7
7
  defineOptions({
8
8
  inheritAttrs: false,
@@ -85,10 +85,7 @@ const componentAttrs = computed(() => ({
85
85
  </script>
86
86
 
87
87
  <template>
88
- <div
89
- :class="rootClasses"
90
- :aria-disabled="disabled ? 'true' : undefined"
91
- >
88
+ <div :class="rootClasses" :aria-disabled="disabled ? 'true' : undefined">
92
89
  <component
93
90
  :is="as"
94
91
  v-bind="componentAttrs"
@@ -100,22 +97,11 @@ const componentAttrs = computed(() => ({
100
97
  @click="onClick"
101
98
  >
102
99
  <template v-if="loading">
103
- <FdsSpinner
104
- class="mr-2"
105
- size="24px"
106
- color="inherit"
107
- />
100
+ <FdsSpinner class="mr-2" size="24px" color="inherit" />
108
101
  </template>
109
102
  <template v-else-if="icon">
110
- <span
111
- :class="iconOrderClasses"
112
- aria-hidden="true"
113
- >
114
- <FdsIcon
115
- :class="iconFillClass"
116
- :name="icon"
117
- :size="24"
118
- />
103
+ <span :class="iconOrderClasses" aria-hidden="true">
104
+ <FdsIcon :class="iconFillClass" :name="icon" :size="24" />
119
105
  </span>
120
106
  </template>
121
107
  <span class="pt-0.5">
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import FdsButtonPrimary from './FdsButtonPrimary.vue'
3
- import icons from '@/assets/icons'
3
+ import icons from '../../../assets/icons'
4
4
 
5
5
  const meta: Meta<typeof FdsButtonPrimary> = {
6
6
  title: 'FDS/Buttons/FdsButtonPrimary',
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
4
- import FdsSpinner from '@/components/FdsSpinner/FdsSpinner.vue'
5
- import type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
+ import FdsSpinner from '../../FdsSpinner/FdsSpinner.vue'
5
+ import type { FdsButtonBaseProps } from '../ButtonBaseProps'
6
6
 
7
7
  const props = withDefaults(defineProps<FdsButtonBaseProps>(), {
8
8
  loading: false,
@@ -71,10 +71,7 @@ const linkAttrs = computed(() => {
71
71
  </script>
72
72
 
73
73
  <template>
74
- <div
75
- :class="rootClasses"
76
- :aria-disabled="disabled ? 'true' : undefined"
77
- >
74
+ <div :class="rootClasses" :aria-disabled="disabled ? 'true' : undefined">
78
75
  <component
79
76
  :is="as"
80
77
  v-bind="linkAttrs"
@@ -84,21 +81,11 @@ const linkAttrs = computed(() => {
84
81
  @click="onClick"
85
82
  >
86
83
  <template v-if="loading">
87
- <FdsSpinner
88
- size="24px"
89
- color="inherit"
90
- />
84
+ <FdsSpinner size="24px" color="inherit" />
91
85
  </template>
92
86
  <template v-else-if="icon">
93
- <span
94
- :class="iconOrderClasses"
95
- aria-hidden="true"
96
- >
97
- <FdsIcon
98
- :class="iconFillClass"
99
- :name="icon"
100
- :size="24"
101
- />
87
+ <span :class="iconOrderClasses" aria-hidden="true">
88
+ <FdsIcon :class="iconFillClass" :name="icon" :size="24" />
102
89
  </span>
103
90
  </template>
104
91
  <span v-if="text">{{ text }}</span>
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import FdsButtonSecondary from './FdsButtonSecondary.vue'
3
- import icons from '@/assets/icons'
3
+ import icons from '../../../assets/icons'
4
4
 
5
5
  const meta: Meta<typeof FdsButtonSecondary> = {
6
6
  title: 'FDS/Buttons/FdsButtonSecondary',
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
2
  import { computed } from 'vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
4
- import FdsSpinner from '@/components/FdsSpinner/FdsSpinner.vue'
5
- import type { FdsButtonBaseProps } from '@/components/Buttons/ButtonBaseProps'
3
+ import FdsIcon from '../../FdsIcon/FdsIcon.vue'
4
+ import FdsSpinner from '../../FdsSpinner/FdsSpinner.vue'
5
+ import type { FdsButtonBaseProps } from '../ButtonBaseProps'
6
6
 
7
7
  const props = withDefaults(defineProps<FdsButtonBaseProps>(), {
8
8
  loading: false,
@@ -71,10 +71,7 @@ const linkAttrs = computed(() => {
71
71
  </script>
72
72
 
73
73
  <template>
74
- <div
75
- :class="rootClasses"
76
- :aria-disabled="disabled ? 'true' : undefined"
77
- >
74
+ <div :class="rootClasses" :aria-disabled="disabled ? 'true' : undefined">
78
75
  <component
79
76
  :is="as"
80
77
  v-bind="linkAttrs"
@@ -84,21 +81,11 @@ const linkAttrs = computed(() => {
84
81
  @click="onClick"
85
82
  >
86
83
  <template v-if="loading">
87
- <FdsSpinner
88
- size="24px"
89
- color="inherit"
90
- />
84
+ <FdsSpinner size="24px" color="inherit" />
91
85
  </template>
92
86
  <template v-else-if="icon">
93
- <span
94
- :class="iconOrderClasses"
95
- aria-hidden="true"
96
- >
97
- <FdsIcon
98
- :class="iconFillClass"
99
- :name="icon"
100
- :size="24"
101
- />
87
+ <span :class="iconOrderClasses" aria-hidden="true">
88
+ <FdsIcon :class="iconFillClass" :name="icon" :size="24" />
102
89
  </span>
103
90
  </template>
104
91
  <span v-if="text">{{ text }}</span>
@@ -1,6 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import { computed, ref } from 'vue'
3
- import icons from '@/assets/icons'
3
+ import icons from '../../assets/icons'
4
4
  import FdsIcon from './FdsIcon.vue'
5
5
  import type { FdsIconName } from './types'
6
6
 
@@ -1,5 +1,5 @@
1
1
  <script setup lang="ts">
2
- import icons, { type IconMap } from '@/assets/icons'
2
+ import icons, { type IconMap } from '../../assets/icons'
3
3
  import { computed } from 'vue'
4
4
  import type { FdsIconProps } from './types'
5
5
 
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/vue3'
2
2
  import { ref } from 'vue'
3
- import FdsButtonPrimary from '@/components/Buttons/FdsButtonPrimary/FdsButtonPrimary.vue'
4
- import FdsButtonSecondary from '@/components/Buttons/FdsButtonSecondary/FdsButtonSecondary.vue'
3
+ import FdsButtonPrimary from '../Buttons/FdsButtonPrimary/FdsButtonPrimary.vue'
4
+ import FdsButtonSecondary from '../Buttons/FdsButtonSecondary/FdsButtonSecondary.vue'
5
5
  import FdsModal from './FdsModal.vue'
6
6
 
7
7
  const meta: Meta<typeof FdsModal> = {
@@ -1,8 +1,8 @@
1
1
  <script setup lang="ts">
2
- import FdsButtonIcon from '@/components/Buttons/FdsButtonIcon/FdsButtonIcon.vue'
3
- import FdsIcon from '@/components/FdsIcon/FdsIcon.vue'
4
- import { useHasSlot } from '@/composables/useHasSlots'
5
2
  import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
3
+ import { useHasSlot } from '../../composables/useHasSlots'
4
+ import FdsButtonIcon from '../Buttons/FdsButtonIcon/FdsButtonIcon.vue'
5
+ import FdsIcon from '../FdsIcon/FdsIcon.vue'
6
6
  import type { FdsModalProps } from './types'
7
7
 
8
8
  const props = withDefaults(defineProps<FdsModalProps>(), {
@@ -211,34 +211,16 @@ onBeforeUnmount(() => {
211
211
 
212
212
  <template>
213
213
  <Teleport to="body">
214
- <div
215
- v-if="isOpen"
216
- @click="handleBackdropClick"
217
- :class="modalOuterClasses"
218
- >
214
+ <div v-if="isOpen" @click="handleBackdropClick" :class="modalOuterClasses">
219
215
  <!-- Backdrop -->
220
216
  <div class="fixed top-0 left-0 w-full h-full bg-black/34 z-99"></div>
221
217
 
222
218
  <!-- Modal Inner -->
223
- <div
224
- class="fds-modal-inner"
225
- :class="modalInnerClasses"
226
- role="alertdialog"
227
- aria-modal="true"
228
- @click.stop
229
- >
219
+ <div class="fds-modal-inner" :class="modalInnerClasses" role="alertdialog" aria-modal="true" @click.stop>
230
220
  <!-- Header -->
231
221
  <div class="flex justify-between mb-4">
232
- <h3
233
- tabindex="-1"
234
- :class="headerTitleClasses"
235
- >
236
- <FdsIcon
237
- v-if="iconName"
238
- :name="iconName"
239
- :size="24"
240
- :class="iconClasses"
241
- />
222
+ <h3 tabindex="-1" :class="headerTitleClasses">
223
+ <FdsIcon v-if="iconName" :name="iconName" :size="24" :class="iconClasses" />
242
224
  {{ heading }}
243
225
  </h3>
244
226
  <FdsButtonIcon
@@ -257,10 +239,7 @@ onBeforeUnmount(() => {
257
239
  </div>
258
240
 
259
241
  <!-- Footer -->
260
- <div
261
- v-if="hasFooterSlot"
262
- :class="footerClasses"
263
- >
242
+ <div v-if="hasFooterSlot" :class="footerClasses">
264
243
  <slot name="modal-footer" />
265
244
  </div>
266
245
  </div>