@volverjs/ui-vue 0.0.10-beta.1 → 0.0.10-beta.11

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 (182) hide show
  1. package/README.md +64 -1
  2. package/auto-imports.d.ts +1 -1
  3. package/bin/icons.cjs +1 -1
  4. package/bin/icons.js +34 -19
  5. package/dist/components/VvAccordion/VvAccordion.es.js +33 -4
  6. package/dist/components/VvAccordion/VvAccordion.umd.js +1 -1
  7. package/dist/components/VvAccordion/VvAccordion.vue.d.ts +4 -4
  8. package/dist/components/VvAccordion/index.d.ts +1 -1
  9. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +75 -27
  10. package/dist/components/VvAccordionGroup/VvAccordionGroup.umd.js +1 -1
  11. package/dist/components/VvAccordionGroup/VvAccordionGroup.vue.d.ts +5 -5
  12. package/dist/components/VvAction/VvAction.es.js +26 -4
  13. package/dist/components/VvAction/VvAction.umd.js +1 -1
  14. package/dist/components/VvAction/VvAction.vue.d.ts +17 -4
  15. package/dist/components/VvAction/index.d.ts +5 -0
  16. package/dist/components/VvAlert/VvAlert.es.js +96 -45
  17. package/dist/components/VvAlert/VvAlert.umd.js +1 -1
  18. package/dist/components/VvAlert/VvAlert.vue.d.ts +4 -4
  19. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +136 -66
  20. package/dist/components/VvAlertGroup/VvAlertGroup.umd.js +1 -1
  21. package/dist/components/VvAlertGroup/VvAlertGroup.vue.d.ts +4 -4
  22. package/dist/components/VvAvatar/VvAvatar.es.js +22 -1
  23. package/dist/components/VvAvatar/VvAvatar.umd.js +1 -1
  24. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +79 -28
  25. package/dist/components/VvAvatarGroup/VvAvatarGroup.umd.js +1 -1
  26. package/dist/components/VvBadge/VvBadge.es.js +39 -8
  27. package/dist/components/VvBadge/VvBadge.umd.js +1 -1
  28. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +224 -41
  29. package/dist/components/VvBreadcrumb/VvBreadcrumb.umd.js +1 -1
  30. package/dist/components/VvBreadcrumb/VvBreadcrumb.vue.d.ts +15 -3
  31. package/dist/components/VvBreadcrumb/index.d.ts +2 -9
  32. package/dist/components/VvButton/VvButton.es.js +67 -22
  33. package/dist/components/VvButton/VvButton.umd.js +1 -1
  34. package/dist/components/VvButton/VvButton.vue.d.ts +25 -9
  35. package/dist/components/VvButton/index.d.ts +5 -0
  36. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +33 -6
  37. package/dist/components/VvButtonGroup/VvButtonGroup.umd.js +1 -1
  38. package/dist/components/VvButtonGroup/VvButtonGroup.vue.d.ts +6 -6
  39. package/dist/components/VvCard/VvCard.es.js +47 -16
  40. package/dist/components/VvCard/VvCard.umd.js +1 -1
  41. package/dist/components/VvCheckbox/VvCheckbox.es.js +32 -4
  42. package/dist/components/VvCheckbox/VvCheckbox.umd.js +1 -1
  43. package/dist/components/VvCheckbox/VvCheckbox.vue.d.ts +8 -8
  44. package/dist/components/VvCheckbox/index.d.ts +1 -1
  45. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +101 -46
  46. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.umd.js +1 -1
  47. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.vue.d.ts +7 -7
  48. package/dist/components/VvCheckboxGroup/index.d.ts +1 -1
  49. package/dist/components/VvCombobox/VvCombobox.es.js +625 -379
  50. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  51. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +112 -112
  52. package/dist/components/VvCombobox/index.d.ts +32 -32
  53. package/dist/components/VvDialog/VvDialog.es.js +65 -27
  54. package/dist/components/VvDialog/VvDialog.umd.js +1 -1
  55. package/dist/components/VvDialog/VvDialog.vue.d.ts +4 -4
  56. package/dist/components/VvDropdown/VvDropdown.es.js +87 -46
  57. package/dist/components/VvDropdown/VvDropdown.umd.js +1 -1
  58. package/dist/components/VvDropdown/VvDropdown.vue.d.ts +203 -189
  59. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +12 -0
  60. package/dist/components/VvDropdown/index.d.ts +32 -32
  61. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +46 -12
  62. package/dist/components/VvDropdownAction/VvDropdownAction.umd.js +1 -1
  63. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +13 -7
  64. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +28 -1
  65. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  66. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +40 -8
  67. package/dist/components/VvDropdownOption/VvDropdownOption.umd.js +1 -1
  68. package/dist/components/VvIcon/VvIcon.es.js +1 -1
  69. package/dist/components/VvIcon/VvIcon.umd.js +1 -1
  70. package/dist/components/VvInputText/VvInputClearAction.d.ts +1 -1
  71. package/dist/components/VvInputText/VvInputText.es.js +149 -99
  72. package/dist/components/VvInputText/VvInputText.umd.js +1 -1
  73. package/dist/components/VvInputText/VvInputText.vue.d.ts +10 -10
  74. package/dist/components/VvInputText/index.d.ts +8 -2
  75. package/dist/components/VvNav/VvNav.es.js +115 -63
  76. package/dist/components/VvNav/VvNav.umd.js +1 -1
  77. package/dist/components/VvNav/VvNav.vue.d.ts +32 -12
  78. package/dist/components/VvNav/VvNavItem.vue.d.ts +9 -0
  79. package/dist/components/VvNav/index.d.ts +1 -12
  80. package/dist/components/VvNavItem/VvNavItem.es.js +413 -0
  81. package/dist/components/VvNavItem/VvNavItem.umd.js +1 -0
  82. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +24 -0
  83. package/dist/components/VvNavSeparator/VvNavSeparator.umd.js +1 -0
  84. package/dist/components/VvProgress/VvProgress.es.js +33 -6
  85. package/dist/components/VvProgress/VvProgress.umd.js +1 -1
  86. package/dist/components/VvRadio/VvRadio.es.js +32 -4
  87. package/dist/components/VvRadio/VvRadio.umd.js +1 -1
  88. package/dist/components/VvRadio/VvRadio.vue.d.ts +8 -8
  89. package/dist/components/VvRadio/index.d.ts +1 -1
  90. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +101 -46
  91. package/dist/components/VvRadioGroup/VvRadioGroup.umd.js +1 -1
  92. package/dist/components/VvRadioGroup/VvRadioGroup.vue.d.ts +7 -7
  93. package/dist/components/VvRadioGroup/index.d.ts +1 -1
  94. package/dist/components/VvSelect/VvSelect.es.js +156 -96
  95. package/dist/components/VvSelect/VvSelect.umd.js +1 -1
  96. package/dist/components/VvSelect/VvSelect.vue.d.ts +13 -13
  97. package/dist/components/VvSelect/index.d.ts +1 -1
  98. package/dist/components/VvTab/VvTab.es.js +214 -99
  99. package/dist/components/VvTab/VvTab.umd.js +1 -1
  100. package/dist/components/VvTab/VvTab.vue.d.ts +40 -11
  101. package/dist/components/VvTab/index.d.ts +9 -3
  102. package/dist/components/VvTextarea/VvTextarea.es.js +123 -77
  103. package/dist/components/VvTextarea/VvTextarea.umd.js +1 -1
  104. package/dist/components/VvTextarea/VvTextarea.vue.d.ts +10 -10
  105. package/dist/components/VvTooltip/VvTooltip.es.js +40 -9
  106. package/dist/components/VvTooltip/VvTooltip.umd.js +1 -1
  107. package/dist/components/index.d.ts +9 -0
  108. package/dist/components/index.es.js +2015 -1012
  109. package/dist/components/index.umd.js +1 -1
  110. package/dist/composables/group/useInjectedGroupState.d.ts +1 -1
  111. package/dist/composables/useVolver.d.ts +1 -1
  112. package/dist/directives/index.d.ts +3 -5
  113. package/dist/directives/index.es.js +60 -23
  114. package/dist/directives/index.umd.js +1 -1
  115. package/dist/directives/v-tooltip.es.js +58 -18
  116. package/dist/directives/v-tooltip.umd.js +1 -1
  117. package/dist/icons.es.js +3 -3
  118. package/dist/icons.umd.js +1 -1
  119. package/dist/index.d.ts +3 -1
  120. package/dist/index.es.js +19 -16
  121. package/dist/index.umd.js +1 -1
  122. package/dist/props/index.d.ts +58 -34
  123. package/dist/resolvers/unplugin.d.ts +6 -1
  124. package/dist/resolvers/unplugin.es.js +20 -5
  125. package/dist/resolvers/unplugin.umd.js +1 -1
  126. package/dist/stories/AccordionGroup/AccordionGroup.stories.d.ts +50 -15
  127. package/dist/stories/AccordionGroup/AccordionGroupSlots.stories.d.ts +332 -83
  128. package/dist/stories/Combobox/Combobox.settings.d.ts +8 -0
  129. package/dist/stories/Tab/Tab.settings.d.ts +4 -37
  130. package/dist/types/alert.d.ts +13 -0
  131. package/dist/types/floating-ui.d.ts +6 -0
  132. package/dist/types/generic.d.ts +4 -0
  133. package/dist/types/group.d.ts +37 -0
  134. package/dist/types/index.d.ts +5 -0
  135. package/dist/types/nav.d.ts +18 -0
  136. package/package.json +60 -51
  137. package/src/Volver.ts +22 -16
  138. package/src/assets/icons/detailed.json +1 -1
  139. package/src/assets/icons/normal.json +1 -1
  140. package/src/assets/icons/simple.json +1 -1
  141. package/src/components/VvAccordion/VvAccordion.vue +2 -2
  142. package/src/components/VvAction/VvAction.vue +5 -2
  143. package/src/components/VvBreadcrumb/VvBreadcrumb.vue +20 -19
  144. package/src/components/VvBreadcrumb/index.ts +2 -8
  145. package/src/components/VvCombobox/VvCombobox.vue +19 -8
  146. package/src/components/VvCombobox/index.ts +4 -0
  147. package/src/components/VvInputText/VvInputText.vue +2 -2
  148. package/src/components/VvNav/VvNav.vue +30 -50
  149. package/src/components/VvNav/VvNavItem.vue +18 -0
  150. package/src/components/VvNav/VvNavSeparator.vue +11 -0
  151. package/src/components/VvNav/index.ts +2 -15
  152. package/src/components/VvTab/VvTab.vue +63 -35
  153. package/src/components/VvTab/index.ts +10 -4
  154. package/src/components/VvTextarea/VvTextarea.vue +1 -1
  155. package/src/components/index.ts +9 -0
  156. package/src/composables/useUniqueId.ts +2 -2
  157. package/src/directives/index.ts +1 -4
  158. package/src/directives/v-tooltip.ts +19 -10
  159. package/src/index.ts +3 -1
  160. package/src/props/index.ts +27 -3
  161. package/src/resolvers/unplugin.ts +22 -2
  162. package/src/stories/Button/ButtonModifiers.stories.ts +4 -14
  163. package/src/stories/Combobox/Combobox.settings.ts +8 -0
  164. package/src/stories/Nav/Nav.settings.ts +3 -4
  165. package/src/stories/Nav/Nav.test.ts +4 -15
  166. package/src/stories/Tab/Tab.settings.ts +9 -9
  167. package/src/stories/Tab/Tab.stories.ts +2 -2
  168. package/src/stories/Tab/Tab.test.ts +6 -14
  169. package/src/stories/argTypes.ts +1 -1
  170. package/src/types/generic.ts +6 -0
  171. package/src/types/index.ts +5 -0
  172. package/src/types/nav.ts +20 -0
  173. package/dist/components/VvNav/VvNavItemTitle.vue.d.ts +0 -6
  174. package/dist/components/VvNavItemTitle/VvNavItemTitle.es.js +0 -19
  175. package/dist/components/VvNavItemTitle/VvNavItemTitle.umd.js +0 -1
  176. package/src/components/VvNav/VvNavItemTitle.vue +0 -11
  177. package/src/components/VvNav/VvNavSeparator.ts +0 -8
  178. package/src/types/generic.d.ts +0 -6
  179. /package/dist/components/VvNav/{VvNavSeparator.d.ts → VvNavSeparator.vue.d.ts} +0 -0
  180. /package/src/types/{alert.d.ts → alert.ts} +0 -0
  181. /package/src/types/{floating-ui.d.ts → floating-ui.ts} +0 -0
  182. /package/src/types/{group.d.ts → group.ts} +0 -0
@@ -1,12 +1,13 @@
1
1
  import type { PropType } from 'vue'
2
- import type { Option } from '../types/generic'
2
+ import type { Option } from '@/types/generic'
3
+ import type { NavItem } from '@/types/nav'
3
4
  import type {
4
5
  AutoPlacementOptions,
5
6
  FlipOptions,
6
7
  OffsetOptions,
7
8
  ShiftOptions,
8
9
  SizeOptions,
9
- } from '../types/floating-ui'
10
+ } from '@/types/floating-ui'
10
11
  import {
11
12
  Placement,
12
13
  Strategy,
@@ -14,7 +15,8 @@ import {
14
15
  Side,
15
16
  AnchorTarget,
16
17
  ButtonType,
17
- } from '../constants'
18
+ ActionTag,
19
+ } from '@/constants'
18
20
 
19
21
  export const LinkProps = {
20
22
  /**
@@ -102,6 +104,13 @@ export const ActiveProps = {
102
104
  active: Boolean,
103
105
  }
104
106
 
107
+ export const CurrentProps = {
108
+ /**
109
+ * Whether the item is current
110
+ */
111
+ current: Boolean,
112
+ }
113
+
105
114
  export const PressedProps = {
106
115
  /**
107
116
  * Whether the item is pressed
@@ -443,6 +452,7 @@ export const ActionProps = {
443
452
  ...LabelProps,
444
453
  ...PressedProps,
445
454
  ...ActiveProps,
455
+ ...CurrentProps,
446
456
  ...LinkProps,
447
457
  /**
448
458
  * Button type
@@ -460,4 +470,18 @@ export const ActionProps = {
460
470
  type: String,
461
471
  default: undefined,
462
472
  },
473
+ /**
474
+ * Default tag for the action
475
+ */
476
+ defaultTag: {
477
+ type: String,
478
+ default: ActionTag.button,
479
+ },
480
+ }
481
+
482
+ export const NavProps = {
483
+ items: {
484
+ type: Array as PropType<NavItem[]>,
485
+ default: () => [],
486
+ },
463
487
  }
@@ -38,6 +38,11 @@ export interface VolverResolverOptions {
38
38
  * @default undefined
39
39
  */
40
40
  ignore?: string[]
41
+ /**
42
+ * cherry pick components from named exports
43
+ * @default undefined
44
+ */
45
+ cherryPick?: boolean
41
46
  }
42
47
 
43
48
  const STYLE_EXCLUDE = ['vv-icon', 'vv-action']
@@ -113,6 +118,7 @@ export function VolverResolver({
113
118
  importStyle,
114
119
  directives,
115
120
  ignore,
121
+ cherryPick,
116
122
  }: VolverResolverOptions = {}): ComponentResolver[] {
117
123
  return [
118
124
  {
@@ -134,9 +140,16 @@ export function VolverResolver({
134
140
  }
135
141
 
136
142
  // import component
143
+ if (cherryPick) {
144
+ return {
145
+ from: `@volverjs/ui-vue/${kebabName}`,
146
+ sideEffects: getSideEffects(kebabName, importStyle),
147
+ }
148
+ }
137
149
  return {
138
- from: `@volverjs/ui-vue/${kebabName}`,
150
+ from: '@volverjs/ui-vue/components',
139
151
  sideEffects: getSideEffects(kebabName, importStyle),
152
+ name,
140
153
  }
141
154
  },
142
155
  },
@@ -159,9 +172,16 @@ export function VolverResolver({
159
172
  }
160
173
 
161
174
  // import directive
175
+ if (cherryPick) {
176
+ return {
177
+ from: `@volverjs/ui-vue/${kebabName}`,
178
+ sideEffects: getSideEffects(kebabName, importStyle),
179
+ }
180
+ }
162
181
  return {
163
- from: `@volverjs/ui-vue/${kebabName}`,
182
+ from: '@volverjs/ui-vue/directives',
164
183
  sideEffects: getSideEffects(kebabName, importStyle),
184
+ name,
165
185
  }
166
186
  },
167
187
  },
@@ -3,7 +3,6 @@ import VvButton from '@/components/VvButton/VvButton.vue'
3
3
  import { Default } from './Button.stories'
4
4
  import { argTypes, defaultArgs } from './Button.settings'
5
5
 
6
-
7
6
  const meta: Meta<typeof VvButton> = {
8
7
  title: 'Components/Button/Modifiers',
9
8
  component: VvButton,
@@ -70,9 +69,6 @@ export const StaticLight: Story = {
70
69
  },
71
70
  render: (args) => ({
72
71
  components: { VvButton },
73
- backgrounds: {
74
- default: 'dark',
75
- },
76
72
  setup() {
77
73
  return { args }
78
74
  },
@@ -81,23 +77,18 @@ export const StaticLight: Story = {
81
77
  <vv-button v-bind="args" data-testId="element" />
82
78
  </div>
83
79
  `,
84
- })
85
-
80
+ }),
86
81
  }
87
82
 
88
-
89
83
  export const StaticDark: Story = {
90
84
  ...Default,
91
85
  args: {
92
86
  ...Default.args,
93
- label: 'Static light',
94
- modifiers: 'static-light',
87
+ label: 'Static dark',
88
+ modifiers: 'static-dark',
95
89
  },
96
90
  render: (args) => ({
97
91
  components: { VvButton },
98
- backgrounds: {
99
- default: 'dark',
100
- },
101
92
  setup() {
102
93
  return { args }
103
94
  },
@@ -106,7 +97,7 @@ export const StaticDark: Story = {
106
97
  <vv-button v-bind="args" data-testId="element" />
107
98
  </div>
108
99
  `,
109
- })
100
+ }),
110
101
  }
111
102
 
112
103
  export const Block: Story = {
@@ -137,7 +128,6 @@ export const FullBleed: Story = {
137
128
  },
138
129
  }
139
130
 
140
-
141
131
  export const Action: Story = {
142
132
  ...Default,
143
133
  args: {
@@ -392,4 +392,12 @@ export const argTypes = {
392
392
  },
393
393
  },
394
394
  },
395
+ 'update:search': {
396
+ table: {
397
+ category: 'Events',
398
+ type: {
399
+ summary: 'string',
400
+ },
401
+ },
402
+ },
395
403
  }
@@ -7,16 +7,15 @@ export const defaultArgs: Meta<typeof VvNav>['args'] = {
7
7
  ...propsToObject(VvNavProps),
8
8
  items: [
9
9
  {
10
- title: 'Item 1',
10
+ label: 'Item 1',
11
11
  href: 'javascript:void(0)',
12
12
  },
13
13
  {
14
- title: 'Item 2',
14
+ label: 'Item 2',
15
15
  to: 'about',
16
16
  },
17
17
  {
18
- title: 'Item 3',
19
- to: 'contacts',
18
+ label: 'Item 3',
20
19
  on: {
21
20
  click: () => {
22
21
  // eslint-disable-next-line no-console
@@ -1,31 +1,20 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within, userEvent } from '@storybook/testing-library'
3
+ import { within } from '@storybook/testing-library'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
7
7
  'element',
8
8
  )) as HTMLElement
9
9
 
10
+ const menuEl = element.getElementsByClassName('vv-nav__menu')[0]
11
+
10
12
  if (!args.items || !args.items?.length) {
11
13
  throw new Error('No items passed')
12
14
  }
13
15
 
14
16
  // check children number the same of items prop
15
- expect(element.children?.[0].children.length).toEqual(args.items?.length)
16
-
17
- // take firse and second elements
18
- const firstEl = await element.getElementsByTagName('a')?.[0]
19
- const secondEl = await element.getElementsByTagName('router-link')?.[1]
20
- // check they have not current class
21
- const secondElHasCurrentClass = secondEl.classList.contains('current')
22
- const firstElHasCurrentClass = firstEl.classList.contains('current')
23
-
24
- await expect(firstElHasCurrentClass).toBe(false)
25
- await expect(secondElHasCurrentClass).toBe(false)
26
- // click first item and check "current" css class
27
- await userEvent.click(firstEl)
28
- await expect(firstEl).toHaveClass('current')
17
+ expect(menuEl.children.length).toEqual(args.items?.length)
29
18
 
30
19
  // check accessibility
31
20
  await expect(element).toHaveNoViolations()
@@ -1,20 +1,20 @@
1
+ import type { ArgTypes, Meta } from '@storybook/vue3'
2
+ import type { VvTab } from '@/components'
1
3
  import { VvTabProps } from '@/components/VvTab'
2
4
 
3
- export const defaultArgs = {
5
+ export const defaultArgs: Meta<typeof VvTab>['args'] = {
4
6
  ...propsToObject(VvTabProps),
5
7
  items: [
6
8
  {
7
- title: 'Item 1',
8
- href: 'javascript:void(0)',
9
+ tab: 'tab-1',
10
+ label: 'Item 1',
9
11
  },
10
12
  {
11
- title: 'Item 2',
12
- to: 'about',
13
+ tab: 'tab-2',
14
+ label: 'Item 2',
13
15
  },
14
16
  {
15
- id: 'tab-3',
16
- title: 'Item 3',
17
- to: 'contacts',
17
+ label: 'Item 3',
18
18
  on: {
19
19
  click: () => {
20
20
  // eslint-disable-next-line no-console
@@ -25,7 +25,7 @@ export const defaultArgs = {
25
25
  ],
26
26
  }
27
27
 
28
- export const defaultArgTypes = {
28
+ export const defaultArgTypes: ArgTypes = {
29
29
  tabId: {
30
30
  description: 'Slot by tab-id',
31
31
  control: {
@@ -27,7 +27,7 @@ export const Default: Story = {
27
27
  template: /* html */ `
28
28
  <div class="m-md w-1/2">
29
29
  <vv-tab v-bind="args" data-testId="element">
30
- <template #tab-item_0>
30
+ <template #panel::tab-1>
31
31
  <span class="text-20 font-semibold">Tab 1</span>
32
32
  <p>
33
33
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla
@@ -39,7 +39,7 @@ export const Default: Story = {
39
39
  elit libero, a pharetra augue.
40
40
  </p>
41
41
  </template>
42
- <template #tab-item_1>
42
+ <template #panel::tab-2>
43
43
  <span class="text-20 font-semibold">Tab 2</span>
44
44
  <p>
45
45
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla
@@ -1,6 +1,6 @@
1
1
  import type { PlayAttributes } from '@/test/types'
2
2
  import { expect } from '@/test/expect'
3
- import { within, userEvent } from '@storybook/testing-library'
3
+ import { within } from '@storybook/testing-library'
4
4
 
5
5
  export async function defaultTest({ canvasElement, args }: PlayAttributes) {
6
6
  const element = (await within(canvasElement).findByTestId(
@@ -16,21 +16,13 @@ export async function defaultTest({ canvasElement, args }: PlayAttributes) {
16
16
  expect(childrenEls?.children[0].children.length).toEqual(args.items?.length)
17
17
 
18
18
  // take firse and second elements
19
- const firstEl = await element.getElementsByTagName('a')?.[0]
20
- const secondEl = await element.getElementsByTagName('router-link')?.[1]
21
- // check they have not current class
22
- const secondElHasCurrentClass = secondEl.classList.contains('current')
23
- const firstElHasCurrentClass = firstEl.classList.contains('current')
24
-
25
- await expect(firstElHasCurrentClass).toBe(false)
26
- await expect(secondElHasCurrentClass).toBe(false)
27
- // click first item and check "current" css class
28
- await userEvent.click(firstEl)
29
- await expect(firstEl).toHaveClass('current')
19
+ const firstNavItemLabelEl =
20
+ await element.getElementsByClassName('vv-nav__item-label')?.[0]
21
+ await expect(firstNavItemLabelEl.classList.contains('current')).toBe(true)
30
22
 
31
23
  // check tab content to include "Tab 1"
32
- const tabPanelEl = element.getElementsByClassName('vv-tab__panel')?.[0]
33
- await expect(tabPanelEl.innerHTML.includes('Tab 1')).toBe(true)
24
+ const firstTabPanelEl = element.getElementsByClassName('vv-tab__panel')?.[0]
25
+ await expect(firstTabPanelEl.classList.contains('target')).toBe(true)
34
26
 
35
27
  // check accessibility
36
28
  await expect(element).toHaveNoViolations()
@@ -238,7 +238,7 @@ export const IdNameArgTypes = {
238
238
  },
239
239
  table: {
240
240
  defaultValue: {
241
- summary: 'nanoid',
241
+ summary: 'uid',
242
242
  },
243
243
  },
244
244
  },
@@ -0,0 +1,6 @@
1
+ export type Nullable<T> = T | null | undefined
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+ export type Option = Record<string | number | symbol, any> & {
5
+ options?: Option[]
6
+ }
@@ -0,0 +1,5 @@
1
+ export * from './alert'
2
+ export * from './floating-ui'
3
+ export * from './generic'
4
+ export * from './group'
5
+ export * from './nav'
@@ -0,0 +1,20 @@
1
+ import type { AnchorTarget } from '@/constants'
2
+
3
+ export type NavItem = {
4
+ label: string
5
+ ariaLabel?: string
6
+ title?: string
7
+ to?: string | Record<string, unknown>
8
+ href?: string
9
+ target?: `${AnchorTarget}`
10
+ rel?: string
11
+ disabled?: boolean
12
+ current?: boolean
13
+ class?: string | string[]
14
+ on?: Record<'click' | string, () => void>
15
+ data?: Record<string, unknown>
16
+ }
17
+
18
+ export type NavItemTab = NavItem & {
19
+ tab?: string
20
+ }
@@ -1,6 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- title: StringConstructor;
3
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
4
- title: StringConstructor;
5
- }>>, {}, {}>;
6
- export default _default;
@@ -1,19 +0,0 @@
1
- import { defineComponent, openBlock, createElementBlock, toDisplayString } from "vue";
2
- const _hoisted_1 = {
3
- class: "vv-nav__heading-label",
4
- "aria-hidden": "true"
5
- };
6
- const _sfc_main = /* @__PURE__ */ defineComponent({
7
- __name: "VvNavItemTitle",
8
- props: {
9
- title: String
10
- },
11
- setup(__props) {
12
- return (_ctx, _cache) => {
13
- return openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(__props.title), 1);
14
- };
15
- }
16
- });
17
- export {
18
- _sfc_main as default
19
- };
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self).VvNavItemTitle=t(e.vue)}(this,(function(e){"use strict";const t={class:"vv-nav__heading-label","aria-hidden":"true"};return e.defineComponent({__name:"VvNavItemTitle",props:{title:String},setup:n=>(i,o)=>(e.openBlock(),e.createElementBlock("span",t,e.toDisplayString(n.title),1))})}));
@@ -1,11 +0,0 @@
1
- <script setup lang="ts">
2
- defineProps({
3
- title: String,
4
- })
5
- </script>
6
-
7
- <template>
8
- <span class="vv-nav__heading-label" aria-hidden="true">
9
- {{ title }}
10
- </span>
11
- </template>
@@ -1,8 +0,0 @@
1
- export default defineComponent({
2
- render() {
3
- return h('li', {
4
- class: 'vv-nav__divider',
5
- role: 'separator',
6
- })
7
- },
8
- })
@@ -1,6 +0,0 @@
1
- export type Nullable<T> = T | null | undefined
2
-
3
- export type Option = {
4
- options?: Option[],
5
- [key: string]: unknown,
6
- }
File without changes
File without changes
File without changes