wave-ui 3.27.2 → 4.0.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.
Files changed (98) hide show
  1. package/dist/types/types/$waveui.d.ts +21 -1
  2. package/dist/types/types/colors.d.ts +2 -0
  3. package/dist/types/types/components/WAccordion.d.ts +99 -6
  4. package/dist/types/types/components/WAutocomplete.d.ts +437 -0
  5. package/dist/types/types/components/WBreadcrumbs.d.ts +7 -0
  6. package/dist/types/types/components/WButton.d.ts +7 -0
  7. package/dist/types/types/components/WCheckbox.d.ts +34 -0
  8. package/dist/types/types/components/WCheckboxes.d.ts +30 -0
  9. package/dist/types/types/components/WInput.d.ts +34 -0
  10. package/dist/types/types/components/WList.d.ts +7 -0
  11. package/dist/types/types/components/WMenu.d.ts +12 -6
  12. package/dist/types/types/components/WRadio.d.ts +34 -0
  13. package/dist/types/types/components/WRadios.d.ts +30 -0
  14. package/dist/types/types/components/WScrollable.d.ts +143 -0
  15. package/dist/types/types/components/WScrollable.js +2 -0
  16. package/dist/types/types/components/WSelect.d.ts +34 -0
  17. package/dist/types/types/components/WSwitch.d.ts +34 -0
  18. package/dist/types/types/components/WTable.d.ts +7 -0
  19. package/dist/types/types/components/WTabs.d.ts +7 -0
  20. package/dist/types/types/components/WTag.d.ts +7 -0
  21. package/dist/types/types/components/WTooltip.d.ts +20 -7
  22. package/dist/types/types/components/WTransitions.d.ts +104 -0
  23. package/dist/types/types/components/WTransitions.js +2 -0
  24. package/dist/types/types/components/WTree.d.ts +7 -0
  25. package/dist/types/types/components/index.d.ts +3 -1
  26. package/dist/wave-ui.cjs.js +3 -3
  27. package/dist/wave-ui.css +1 -1
  28. package/dist/wave-ui.esm.js +2190 -1350
  29. package/dist/wave-ui.umd.js +3 -3
  30. package/package.json +6 -6
  31. package/src/wave-ui/components/index.js +0 -1
  32. package/src/wave-ui/components/transitions/w-transition-bounce.vue +2 -1
  33. package/src/wave-ui/components/transitions/w-transition-expand.vue +3 -2
  34. package/src/wave-ui/components/transitions/w-transition-fade.vue +2 -1
  35. package/src/wave-ui/components/transitions/w-transition-scale-fade.vue +2 -1
  36. package/src/wave-ui/components/transitions/w-transition-scale.vue +2 -1
  37. package/src/wave-ui/components/transitions/w-transition-slide-fade.vue +2 -1
  38. package/src/wave-ui/components/transitions/w-transition-slide.vue +2 -1
  39. package/src/wave-ui/components/transitions/w-transition-twist.vue +2 -1
  40. package/src/wave-ui/components/w-accordion/index.vue +15 -6
  41. package/src/wave-ui/components/w-accordion/item.vue +71 -26
  42. package/src/wave-ui/components/w-alert.vue +27 -29
  43. package/src/wave-ui/components/w-autocomplete.vue +626 -192
  44. package/src/wave-ui/components/w-badge.vue +54 -53
  45. package/src/wave-ui/components/w-breadcrumbs.vue +20 -11
  46. package/src/wave-ui/components/w-button/button.vue +36 -24
  47. package/src/wave-ui/components/w-button/index.vue +6 -5
  48. package/src/wave-ui/components/w-card.vue +8 -7
  49. package/src/wave-ui/components/w-checkbox.vue +31 -11
  50. package/src/wave-ui/components/w-checkboxes.vue +21 -3
  51. package/src/wave-ui/components/w-confirm.vue +22 -22
  52. package/src/wave-ui/components/w-dialog.vue +1 -1
  53. package/src/wave-ui/components/w-divider.vue +5 -5
  54. package/src/wave-ui/components/w-drawer.vue +3 -3
  55. package/src/wave-ui/components/w-form-element.vue +2 -2
  56. package/src/wave-ui/components/w-icon.vue +12 -14
  57. package/src/wave-ui/components/w-image.vue +1 -1
  58. package/src/wave-ui/components/w-input.vue +43 -25
  59. package/src/wave-ui/components/w-list.vue +23 -12
  60. package/src/wave-ui/components/w-menu.vue +57 -55
  61. package/src/wave-ui/components/w-notification.vue +4 -4
  62. package/src/wave-ui/components/w-progress.vue +6 -7
  63. package/src/wave-ui/components/w-radio.vue +32 -7
  64. package/src/wave-ui/components/w-radios.vue +28 -3
  65. package/src/wave-ui/components/w-rating.vue +7 -9
  66. package/src/wave-ui/components/w-scrollable.vue +670 -97
  67. package/src/wave-ui/components/w-select.vue +119 -101
  68. package/src/wave-ui/components/w-slider.vue +26 -26
  69. package/src/wave-ui/components/w-spinner.vue +5 -7
  70. package/src/wave-ui/components/w-switch.vue +71 -47
  71. package/src/wave-ui/components/w-table.vue +69 -36
  72. package/src/wave-ui/components/w-tabs/index.vue +31 -24
  73. package/src/wave-ui/components/w-tag.vue +49 -38
  74. package/src/wave-ui/components/w-textarea.vue +22 -22
  75. package/src/wave-ui/components/w-timeline.vue +6 -6
  76. package/src/wave-ui/components/w-toolbar.vue +8 -8
  77. package/src/wave-ui/components/w-tooltip.vue +30 -25
  78. package/src/wave-ui/components/w-tree.vue +35 -16
  79. package/src/wave-ui/core.js +11 -1
  80. package/src/wave-ui/mixins/detachable.js +98 -43
  81. package/src/wave-ui/mixins/ripple.js +39 -0
  82. package/src/wave-ui/scss/_base.scss +82 -17
  83. package/src/wave-ui/scss/_colors.scss +6 -75
  84. package/src/wave-ui/scss/_layout.scss +39 -47
  85. package/src/wave-ui/scss/_ripple.scss +37 -0
  86. package/src/wave-ui/scss/_transitions.scss +19 -19
  87. package/src/wave-ui/scss/_typography.scss +8 -9
  88. package/src/wave-ui/scss/index.scss +1 -0
  89. package/src/wave-ui/scss/variables/_mixins.scss +24 -25
  90. package/src/wave-ui/scss/variables/_variables.scss +4 -151
  91. package/src/wave-ui/utils/colors.js +7 -4
  92. package/src/wave-ui/utils/config.js +5 -4
  93. package/src/wave-ui/utils/dynamic-css.js +42 -20
  94. package/src/wave-ui/utils/ripple.js +72 -0
  95. package/src/wave-ui/utils/wave-ripple-directive.js +40 -0
  96. package/dist/types/types/components/WApp.d.ts +0 -83
  97. package/src/wave-ui/components/w-app.vue +0 -24
  98. /package/dist/types/types/components/{WApp.js → WAutocomplete.js} +0 -0
@@ -68,6 +68,40 @@ export interface WaveCheckboxProps {
68
68
  * @see https://antoniandre.github.io/wave-ui/w-checkbox
69
69
  */
70
70
  round?: boolean;
71
+ /**
72
+ * Sets the checkbox size to extra small (~12 px at 14 px base font size).
73
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
74
+ * @property {boolean} xs
75
+ * @see https://antoniandre.github.io/wave-ui/w-checkbox
76
+ */
77
+ xs?: boolean;
78
+ /**
79
+ * Sets the checkbox size to small (~16 px at 14 px base font size).
80
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
81
+ * @property {boolean} sm
82
+ * @see https://antoniandre.github.io/wave-ui/w-checkbox
83
+ */
84
+ sm?: boolean;
85
+ /**
86
+ * Sets the checkbox size to medium, which is the same as the default size (~18 px at 14 px base font size).
87
+ * @property {boolean} md
88
+ * @see https://antoniandre.github.io/wave-ui/w-checkbox
89
+ */
90
+ md?: boolean;
91
+ /**
92
+ * Sets the checkbox size to large (~20 px at 14 px base font size).
93
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
94
+ * @property {boolean} lg
95
+ * @see https://antoniandre.github.io/wave-ui/w-checkbox
96
+ */
97
+ lg?: boolean;
98
+ /**
99
+ * Sets the checkbox size to extra large (~24 px at 14 px base font size).
100
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
101
+ * @property {boolean} xl
102
+ * @see https://antoniandre.github.io/wave-ui/w-checkbox
103
+ */
104
+ xl?: boolean;
71
105
  /**
72
106
  * TODO: Add Description
73
107
  * @property {boolean} dark
@@ -68,6 +68,36 @@ export interface WaveCheckboxesProps {
68
68
  * @see https://antoniandre.github.io/wave-ui/colors
69
69
  */
70
70
  labelColor?: string;
71
+ /**
72
+ * Sets all checkboxes to extra small (~12 px at 14 px base font size) via the cascading `--w-size` CSS variable.
73
+ * @property {boolean} xs
74
+ * @see https://antoniandre.github.io/wave-ui/w-checkboxes
75
+ */
76
+ xs?: boolean;
77
+ /**
78
+ * Sets all checkboxes to small (~16 px at 14 px base font size) via the cascading `--w-size` CSS variable.
79
+ * @property {boolean} sm
80
+ * @see https://antoniandre.github.io/wave-ui/w-checkboxes
81
+ */
82
+ sm?: boolean;
83
+ /**
84
+ * Sets all checkboxes to medium, which is the same as the default size (~18 px at 14 px base font size).
85
+ * @property {boolean} md
86
+ * @see https://antoniandre.github.io/wave-ui/w-checkboxes
87
+ */
88
+ md?: boolean;
89
+ /**
90
+ * Sets all checkboxes to large (~20 px at 14 px base font size) via the cascading `--w-size` CSS variable.
91
+ * @property {boolean} lg
92
+ * @see https://antoniandre.github.io/wave-ui/w-checkboxes
93
+ */
94
+ lg?: boolean;
95
+ /**
96
+ * Sets all checkboxes to extra large (~24 px at 14 px base font size) via the cascading `--w-size` CSS variable.
97
+ * @property {boolean} xl
98
+ * @see https://antoniandre.github.io/wave-ui/w-checkboxes
99
+ */
100
+ xl?: boolean;
71
101
  }
72
102
  export interface WaveCheckboxesEmits {
73
103
  /**
@@ -172,6 +172,40 @@ export interface WaveInputProps {
172
172
  * @see https://antoniandre.github.io/wave-ui/w-input
173
173
  */
174
174
  files?: Array<any>;
175
+ /**
176
+ * Sets the height of the input field to extra small (~20 px at 14 px base font size).
177
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
178
+ * @property {boolean} xs
179
+ * @see https://antoniandre.github.io/wave-ui/w-input
180
+ */
181
+ xs?: boolean;
182
+ /**
183
+ * Sets the height of the input field to small (~24 px at 14 px base font size).
184
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
185
+ * @property {boolean} sm
186
+ * @see https://antoniandre.github.io/wave-ui/w-input
187
+ */
188
+ sm?: boolean;
189
+ /**
190
+ * Sets the height of the input field to medium, which is the same as the default height (~28 px at 14 px base font size).
191
+ * @property {boolean} md
192
+ * @see https://antoniandre.github.io/wave-ui/w-input
193
+ */
194
+ md?: boolean;
195
+ /**
196
+ * Sets the height of the input field to large (~32 px at 14 px base font size).
197
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
198
+ * @property {boolean} lg
199
+ * @see https://antoniandre.github.io/wave-ui/w-input
200
+ */
201
+ lg?: boolean;
202
+ /**
203
+ * Sets the height of the input field to extra large (~38 px at 14 px base font size).
204
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
205
+ * @property {boolean} xl
206
+ * @see https://antoniandre.github.io/wave-ui/w-input
207
+ */
208
+ xl?: boolean;
175
209
  /**
176
210
  * TODO: Add Description
177
211
  * @property {boolean} dark
@@ -145,6 +145,13 @@ export interface WaveListProps {
145
145
  * @see https://antoniandre.github.io/wave-ui/w-list
146
146
  */
147
147
  arrowsNavigation?: boolean;
148
+ /**
149
+ * When `true`, disables the pointer ripple on interactive rows for this list only.
150
+ * Global default still follows `$waveui.config.ripple`.
151
+ * @property {boolean} noRipple
152
+ * @see https://antoniandre.github.io/wave-ui/w-list
153
+ */
154
+ noRipple?: boolean;
148
155
  }
149
156
  export interface WaveListEmits {
150
157
  /**
@@ -234,19 +234,25 @@ export interface WaveMenuMethods extends MethodOptions {
234
234
  }
235
235
  export type WaveMenuSlots = SlotsType<{
236
236
  /**
237
- * `This slot is required and must have the `v-on="on"` directive set on it for the menu to toggle correctly.`
237
+ * Place the element that triggers the menu inside this slot. Event listeners are attached
238
+ * automatically — no `v-on="on"` binding is required on the activator element.
238
239
  * The activator can be any visible DOM element or mounted component.
239
- * @param {any} on TODO: Describe me!
240
+ * When this slot is used (legacy API), the default slot becomes the menu content.
240
241
  * @see https://antoniandre.github.io/wave-ui/w-menu
241
242
  */
242
- 'activator': (_: {
243
- on: any;
244
- }) => any;
243
+ 'activator': () => any;
245
244
  /**
246
- * The menu content.
245
+ * **New API:** When no `#activator` slot is used, the default slot is the activator element.
246
+ * **Legacy API:** When an `#activator` slot is provided, the default slot is the menu content.
247
247
  * @see https://antoniandre.github.io/wave-ui/w-menu
248
248
  */
249
249
  'default': () => any;
250
+ /**
251
+ * The menu body content. Used with the new API (default slot = activator).
252
+ * When `custom` is `false` (default), the content is placed inside a `w-card`.
253
+ * @see https://antoniandre.github.io/wave-ui/w-menu
254
+ */
255
+ 'content': () => any;
250
256
  /**
251
257
  * By default (when `custom` is set to false), the menu uses a `w-card`. This slot allows a custom title for the `w-card`.
252
258
  * @see https://antoniandre.github.io/wave-ui/w-menu
@@ -56,6 +56,40 @@ export interface WaveRadioProps {
56
56
  * @see https://antoniandre.github.io/wave-ui/w-radio
57
57
  */
58
58
  noRipple?: boolean;
59
+ /**
60
+ * Sets the radio button size to extra small (~12 px at 14 px base font size).
61
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
62
+ * @property {boolean} xs
63
+ * @see https://antoniandre.github.io/wave-ui/w-radio
64
+ */
65
+ xs?: boolean;
66
+ /**
67
+ * Sets the radio button size to small (~16 px at 14 px base font size).
68
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
69
+ * @property {boolean} sm
70
+ * @see https://antoniandre.github.io/wave-ui/w-radio
71
+ */
72
+ sm?: boolean;
73
+ /**
74
+ * Sets the radio button size to medium, which is the same as the default size (~18 px at 14 px base font size).
75
+ * @property {boolean} md
76
+ * @see https://antoniandre.github.io/wave-ui/w-radio
77
+ */
78
+ md?: boolean;
79
+ /**
80
+ * Sets the radio button size to large (~20 px at 14 px base font size).
81
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
82
+ * @property {boolean} lg
83
+ * @see https://antoniandre.github.io/wave-ui/w-radio
84
+ */
85
+ lg?: boolean;
86
+ /**
87
+ * Sets the radio button size to extra large (~24 px at 14 px base font size).
88
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
89
+ * @property {boolean} xl
90
+ * @see https://antoniandre.github.io/wave-ui/w-radio
91
+ */
92
+ xl?: boolean;
59
93
  /**
60
94
  * TODO: Add Description
61
95
  * @property {boolean} dark
@@ -62,6 +62,36 @@ export interface WaveRadiosProps {
62
62
  * @see https://antoniandre.github.io/wave-ui/colors
63
63
  */
64
64
  labelColor?: string;
65
+ /**
66
+ * Sets all radio buttons to extra small (~12 px at 14 px base font size) via the cascading `--w-size` CSS variable.
67
+ * @property {boolean} xs
68
+ * @see https://antoniandre.github.io/wave-ui/w-radios
69
+ */
70
+ xs?: boolean;
71
+ /**
72
+ * Sets all radio buttons to small (~16 px at 14 px base font size) via the cascading `--w-size` CSS variable.
73
+ * @property {boolean} sm
74
+ * @see https://antoniandre.github.io/wave-ui/w-radios
75
+ */
76
+ sm?: boolean;
77
+ /**
78
+ * Sets all radio buttons to medium, which is the same as the default size (~18 px at 14 px base font size).
79
+ * @property {boolean} md
80
+ * @see https://antoniandre.github.io/wave-ui/w-radios
81
+ */
82
+ md?: boolean;
83
+ /**
84
+ * Sets all radio buttons to large (~20 px at 14 px base font size) via the cascading `--w-size` CSS variable.
85
+ * @property {boolean} lg
86
+ * @see https://antoniandre.github.io/wave-ui/w-radios
87
+ */
88
+ lg?: boolean;
89
+ /**
90
+ * Sets all radio buttons to extra large (~24 px at 14 px base font size) via the cascading `--w-size` CSS variable.
91
+ * @property {boolean} xl
92
+ * @see https://antoniandre.github.io/wave-ui/w-radios
93
+ */
94
+ xl?: boolean;
65
95
  }
66
96
  export interface WaveRadiosEmits {
67
97
  /**
@@ -0,0 +1,143 @@
1
+ import type { ComputedGetter, ComputedOptions, DefineComponent, EmitsOptions, ExtractDefaultPropTypes, MethodOptions, SlotsType } from 'vue';
2
+ import type { PublicProps, ResolveProps } from '../extra-vue-types';
3
+ export type WaveScrollableScrollSource = 'native' | 'wheel' | 'keyboard' | 'api' | 'drag';
4
+ export interface WaveScrollableScrollPayload {
5
+ top: number;
6
+ left: number;
7
+ maxTop: number;
8
+ maxLeft: number;
9
+ topPercent: number;
10
+ leftPercent: number;
11
+ source: WaveScrollableScrollSource;
12
+ }
13
+ /** Per-axis pixel offsets for the `scroll-position` prop. */
14
+ export interface WaveScrollableScrollPosition {
15
+ top?: number;
16
+ left?: number;
17
+ }
18
+ /** `scroll-position` prop: a number is the primary axis (`top` when vertical, `left` when horizontal), or set one or both axes with an object. */
19
+ export type WaveScrollableScrollPositionInput = number | WaveScrollableScrollPosition;
20
+ /** Accepted `scrollbar` prop values. */
21
+ export type WaveScrollableScrollbar = 0 | 1 | '0' | '1' | 'hover' | 'interaction';
22
+ export interface WaveScrollableProps {
23
+ /**
24
+ * Applies a color to the scrollbar thumb.
25
+ * @property {string} color - Default: 'primary'
26
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
27
+ */
28
+ color?: string;
29
+ /**
30
+ * Applies a color to the scrollbar track.
31
+ * @property {string} bgColor
32
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
33
+ */
34
+ bgColor?: string;
35
+ /**
36
+ * Limits the component width.
37
+ * @property {number|string} width
38
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
39
+ */
40
+ width?: number | string;
41
+ /**
42
+ * Limits the component height.
43
+ * @property {number|string} height
44
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
45
+ */
46
+ height?: number | string;
47
+ /**
48
+ * Classes applied to the inner scroll container (padding, typography, etc.).
49
+ * @property {string|object|array} contentClass
50
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
51
+ */
52
+ contentClass?: string | Record<string, boolean> | (string | Record<string, boolean>)[];
53
+ /**
54
+ * Fully inert: no keyboard, wheel, or custom drag; root gets aria-disabled and tabindex -1.
55
+ * @property {boolean} disabled - Default: false
56
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
57
+ */
58
+ disabled?: boolean;
59
+ /**
60
+ * Sets the root tabindex.
61
+ * @property {number|string} tabindex - Default: 0
62
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
63
+ */
64
+ tabindex?: number | string;
65
+ /**
66
+ * Defines the wheel and arrow-key step in pixels.
67
+ * @property {number} wheelStep - Default: 40
68
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
69
+ */
70
+ wheelStep?: number;
71
+ /**
72
+ * When true, scrolling is along X (`scrollLeft`); default false is vertical (`scrollTop`).
73
+ * @property {boolean} horizontal - Default: false
74
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
75
+ */
76
+ horizontal?: boolean;
77
+ /**
78
+ * Custom scrollbar: `1` (default, shown when there is overflow), `0` (hide track), `'hover'`, `'interaction'`.
79
+ * @property {WaveScrollableScrollbar} scrollbar - Default: 1
80
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
81
+ */
82
+ scrollbar?: WaveScrollableScrollbar;
83
+ /**
84
+ * Programmatic scroll: applied on change (deep watch for objects) and after first layout.
85
+ * A number sets the primary axis; an object sets `top` and/or `left` when those keys are present.
86
+ * @property {WaveScrollableScrollPositionInput|null} scrollPosition - Default: null
87
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
88
+ */
89
+ scrollPosition?: WaveScrollableScrollPositionInput | null;
90
+ }
91
+ export interface WaveScrollableEmits {
92
+ /**
93
+ * Emitted on each scroll update.
94
+ * @param payload - Current scroll position and source.
95
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
96
+ */
97
+ 'onScroll'?: (payload: WaveScrollableScrollPayload) => void;
98
+ /**
99
+ * Emitted when a scroll sequence starts.
100
+ * @param payload - Current scroll position and source.
101
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
102
+ */
103
+ 'onScrollStart'?: (payload: WaveScrollableScrollPayload) => void;
104
+ /**
105
+ * Emitted when scrolling has settled after the last event.
106
+ * @param payload - Current scroll position; `source` is often `'native'`.
107
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
108
+ */
109
+ 'onScrollEnd'?: (payload: WaveScrollableScrollPayload) => void;
110
+ }
111
+ export interface WaveScrollableComputeds extends ComputedOptions {
112
+ hasOverflow: ComputedGetter<boolean>;
113
+ isHorizontal: ComputedGetter<boolean>;
114
+ }
115
+ export interface WaveScrollableMethods extends MethodOptions {
116
+ scroll(value?: number | {
117
+ top?: number;
118
+ left?: number;
119
+ behavior?: 'auto' | 'smooth';
120
+ }): void;
121
+ scrollTo(options?: {
122
+ top?: number;
123
+ left?: number;
124
+ behavior?: 'auto' | 'smooth';
125
+ }): void;
126
+ scrollBy(options?: {
127
+ top?: number;
128
+ left?: number;
129
+ behavior?: 'auto' | 'smooth';
130
+ }): void;
131
+ scrollToStart(): void;
132
+ scrollToEnd(): void;
133
+ focus(): void;
134
+ refresh(): void;
135
+ }
136
+ export type WaveScrollableSlots = SlotsType<{
137
+ /**
138
+ * Scrollable content.
139
+ * @see https://antoniandre.github.io/wave-ui/w-scrollable
140
+ */
141
+ 'default': () => any;
142
+ }>;
143
+ export type WScrollable = DefineComponent<WaveScrollableProps, {}, {}, WaveScrollableComputeds, WaveScrollableMethods, {}, {}, WaveScrollableEmits & EmitsOptions, string, PublicProps, ResolveProps<WaveScrollableProps & WaveScrollableEmits, EmitsOptions>, ExtractDefaultPropTypes<WaveScrollableProps>, WaveScrollableSlots>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -211,6 +211,40 @@ export interface WaveSelectProps {
211
211
  * @see https://antoniandre.github.io/wave-ui/w-select
212
212
  */
213
213
  fitToContent?: boolean;
214
+ /**
215
+ * Sets the height of the select field to extra small (~20 px at 14 px base font size).
216
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
217
+ * @property {boolean} xs
218
+ * @see https://antoniandre.github.io/wave-ui/w-select
219
+ */
220
+ xs?: boolean;
221
+ /**
222
+ * Sets the height of the select field to small (~24 px at 14 px base font size).
223
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
224
+ * @property {boolean} sm
225
+ * @see https://antoniandre.github.io/wave-ui/w-select
226
+ */
227
+ sm?: boolean;
228
+ /**
229
+ * Sets the height of the select field to medium, which is the same as the default height (~28 px at 14 px base font size).
230
+ * @property {boolean} md
231
+ * @see https://antoniandre.github.io/wave-ui/w-select
232
+ */
233
+ md?: boolean;
234
+ /**
235
+ * Sets the height of the select field to large (~32 px at 14 px base font size).
236
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
237
+ * @property {boolean} lg
238
+ * @see https://antoniandre.github.io/wave-ui/w-select
239
+ */
240
+ lg?: boolean;
241
+ /**
242
+ * Sets the height of the select field to extra large (~38 px at 14 px base font size).
243
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
244
+ * @property {boolean} xl
245
+ * @see https://antoniandre.github.io/wave-ui/w-select
246
+ */
247
+ xl?: boolean;
214
248
  }
215
249
  export interface WaveSelectEmits {
216
250
  /**
@@ -55,6 +55,40 @@ export interface WaveSwitchProps {
55
55
  * @see https://antoniandre.github.io/wave-ui/w-switch
56
56
  */
57
57
  loading?: boolean | number;
58
+ /**
59
+ * Sets the switch size to extra small (~12 px thumb at 14 px base font size).
60
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
61
+ * @property {boolean} xs
62
+ * @see https://antoniandre.github.io/wave-ui/w-switch
63
+ */
64
+ xs?: boolean;
65
+ /**
66
+ * Sets the switch size to small (~16 px thumb at 14 px base font size).
67
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
68
+ * @property {boolean} sm
69
+ * @see https://antoniandre.github.io/wave-ui/w-switch
70
+ */
71
+ sm?: boolean;
72
+ /**
73
+ * Sets the switch size to medium, which is the same as the default size (~18 px thumb at 14 px base font size).
74
+ * @property {boolean} md
75
+ * @see https://antoniandre.github.io/wave-ui/w-switch
76
+ */
77
+ md?: boolean;
78
+ /**
79
+ * Sets the switch size to large (~20 px thumb at 14 px base font size).
80
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
81
+ * @property {boolean} lg
82
+ * @see https://antoniandre.github.io/wave-ui/w-switch
83
+ */
84
+ lg?: boolean;
85
+ /**
86
+ * Sets the switch size to extra large (~24 px thumb at 14 px base font size).
87
+ * Equivalent to setting the CSS variable `--w-size` to the corresponding value.
88
+ * @property {boolean} xl
89
+ * @see https://antoniandre.github.io/wave-ui/w-switch
90
+ */
91
+ xl?: boolean;
58
92
  /**
59
93
  * TODO: Add Description
60
94
  * @property {boolean} dark
@@ -169,6 +169,13 @@ export interface WaveTableProps {
169
169
  * @see https://antoniandre.github.io/wave-ui/w-table
170
170
  */
171
171
  forceSelection?: boolean;
172
+ /**
173
+ * When `true`, disables the pointer ripple on sortable headers and interactive row cells for this table only.
174
+ * Global default still follows `$waveui.config.ripple`.
175
+ * @property {boolean} noRipple
176
+ * @see https://antoniandre.github.io/wave-ui/w-table
177
+ */
178
+ noRipple?: boolean;
172
179
  /**
173
180
  * In order to keep the same row selected after sorting or filtering, each row is assigned a unique identifier.
174
181
  * By default the expanded rows array will use an `id` key, if present in the item object, or will assign an
@@ -169,6 +169,13 @@ export interface WaveTabsProps {
169
169
  * @see https://antoniandre.github.io/wave-ui/w-tabs
170
170
  */
171
171
  keepInDom?: boolean;
172
+ /**
173
+ * When `true`, disables the tab bar pointer ripple on this tabs instance only.
174
+ * Global default still follows `$waveui.config.ripple`.
175
+ * @property {boolean} noRipple
176
+ * @see https://antoniandre.github.io/wave-ui/w-tabs
177
+ */
178
+ noRipple?: boolean;
172
179
  }
173
180
  export interface WaveTabsEmits {
174
181
  /**
@@ -116,6 +116,13 @@ export interface WaveTagProps {
116
116
  * @see https://antoniandre.github.io/wave-ui/w-tag
117
117
  */
118
118
  light?: boolean;
119
+ /**
120
+ * When `true`, disables the pointer ripple for clickable tags on this instance.
121
+ * Global default still follows `$waveui.config.ripple`.
122
+ * @property {boolean} noRipple
123
+ * @see https://antoniandre.github.io/wave-ui/w-tag
124
+ */
125
+ noRipple?: boolean;
119
126
  }
120
127
  export interface WaveTagEmits {
121
128
  /**
@@ -8,6 +8,12 @@ export interface WaveTooltipProps {
8
8
  * @see https://antoniandre.github.io/wave-ui/w-tooltip
9
9
  */
10
10
  modelValue?: any;
11
+ /**
12
+ * Simple string content for the tooltip. For rich/complex content, use the `#tooltip` slot instead.
13
+ * @property {string} tooltip
14
+ * @see https://antoniandre.github.io/wave-ui/w-tooltip
15
+ */
16
+ tooltip?: string;
11
17
  /**
12
18
  * Triggers the tooltip apparition on activator click instead of hover by default. Another click on the activator will hide the tooltip.
13
19
  * @property {boolean} showOnClick
@@ -159,18 +165,25 @@ export interface WaveTooltipMethods extends MethodOptions {
159
165
  }
160
166
  export type WaveTooltipSlots = SlotsType<{
161
167
  /**
162
- * `This slot is required and must have the `v-on="on"` directive set on it for the tooltip to toggle correctly.`
163
- * The activator can be any visible DOM element or mounted component.
164
- * @param {any} on TODO: Describe me!
168
+ * The activator element the element the tooltip appears around on hover/click.
169
+ * When using the new API (without `#activator`), pass the activator as the default slot
170
+ * and use the `tooltip` prop or `#tooltip` named slot for the tooltip content.
171
+ * When using the legacy API, pass the activator here and put the tooltip content in the
172
+ * default slot.
165
173
  * @see https://antoniandre.github.io/wave-ui/w-tooltip
166
174
  */
167
- 'activator': (_: {
168
- on: any;
169
- }) => any;
175
+ 'activator': () => any;
170
176
  /**
171
- * The tooltip content.
177
+ * **New API:** When no `#activator` slot is used, the default slot is the activator element.
178
+ * **Legacy API:** When an `#activator` slot is provided, the default slot is the tooltip content.
172
179
  * @see https://antoniandre.github.io/wave-ui/w-tooltip
173
180
  */
174
181
  'default': () => any;
182
+ /**
183
+ * Rich tooltip content. Use this slot instead of the `tooltip` prop when the content is
184
+ * complex (HTML, components, multi-line, etc.). Only used with the new API (default slot = activator).
185
+ * @see https://antoniandre.github.io/wave-ui/w-tooltip
186
+ */
187
+ 'tooltip': () => any;
175
188
  }>;
176
189
  export type WTooltip = DefineComponent<WaveTooltipProps, {}, {}, WaveTooltipComputeds, WaveTooltipMethods, {}, {}, WaveTooltipEmits & EmitsOptions, string, PublicProps, ResolveProps<WaveTooltipProps & WaveTooltipEmits, EmitsOptions>, ExtractDefaultPropTypes<WaveTooltipProps>, WaveTooltipSlots>;