wave-ui 3.27.1 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/types/$waveui.d.ts +6 -0
- package/dist/types/types/components/WAccordion.d.ts +7 -0
- package/dist/types/types/components/WBreadcrumbs.d.ts +7 -0
- package/dist/types/types/components/WButton.d.ts +7 -0
- package/dist/types/types/components/WList.d.ts +7 -0
- package/dist/types/types/components/WScrollable.d.ts +143 -0
- package/dist/types/types/components/WScrollable.js +2 -0
- package/dist/types/types/components/WTabs.d.ts +7 -0
- package/dist/types/types/components/WTag.d.ts +7 -0
- package/dist/types/types/components/index.d.ts +1 -0
- package/dist/wave-ui.cjs.js +3 -3
- package/dist/wave-ui.css +1 -1
- package/dist/wave-ui.esm.js +1440 -939
- package/dist/wave-ui.umd.js +3 -3
- package/package.json +6 -6
- package/src/wave-ui/components/w-accordion/index.vue +5 -1
- package/src/wave-ui/components/w-accordion/item.vue +42 -12
- package/src/wave-ui/components/w-breadcrumbs.vue +13 -2
- package/src/wave-ui/components/w-button/button.vue +15 -1
- package/src/wave-ui/components/w-button/index.vue +2 -1
- package/src/wave-ui/components/w-checkbox.vue +5 -1
- package/src/wave-ui/components/w-checkboxes.vue +5 -1
- package/src/wave-ui/components/w-input.vue +5 -1
- package/src/wave-ui/components/w-list.vue +12 -0
- package/src/wave-ui/components/w-radio.vue +6 -1
- package/src/wave-ui/components/w-radios.vue +5 -1
- package/src/wave-ui/components/w-rating.vue +5 -1
- package/src/wave-ui/components/w-scrollable.vue +667 -94
- package/src/wave-ui/components/w-select.vue +11 -7
- package/src/wave-ui/components/w-slider.vue +5 -1
- package/src/wave-ui/components/w-switch.vue +5 -1
- package/src/wave-ui/components/w-tabs/index.vue +10 -0
- package/src/wave-ui/components/w-tag.vue +14 -0
- package/src/wave-ui/components/w-textarea.vue +5 -1
- package/src/wave-ui/core.js +2 -0
- package/src/wave-ui/mixins/form-elements.js +5 -8
- package/src/wave-ui/mixins/ripple.js +39 -0
- package/src/wave-ui/scss/_ripple.scss +37 -0
- package/src/wave-ui/scss/index.scss +1 -0
- package/src/wave-ui/scss/variables/_variables.scss +0 -2
- package/src/wave-ui/utils/config.js +2 -0
- package/src/wave-ui/utils/ripple.js +71 -0
- package/src/wave-ui/utils/wave-ripple-directive.js +40 -0
|
@@ -202,6 +202,12 @@ export interface $waveui {
|
|
|
202
202
|
*/
|
|
203
203
|
transition: false | 'default' | 'bounce' | 'scale' | 'twist' | 'fade' | 'slide-fade-left' | 'slide-fade-right' | 'slide-fade-up' | 'slide-fade-down';
|
|
204
204
|
};
|
|
205
|
+
/**
|
|
206
|
+
* Default pointer ripple for supported components and for `v-wave-ripple` when the binding is not `false`.
|
|
207
|
+
* @property {boolean} ripple - Default: true
|
|
208
|
+
* @see https://antoniandre.github.io/wave-ui/options-presets-and-waveui
|
|
209
|
+
*/
|
|
210
|
+
ripple: boolean;
|
|
205
211
|
/**
|
|
206
212
|
* Component presets
|
|
207
213
|
* @property presets
|
|
@@ -146,6 +146,13 @@ export interface WaveAccordionProps {
|
|
|
146
146
|
* @see https://antoniandre.github.io/wave-ui/w-accordion
|
|
147
147
|
*/
|
|
148
148
|
keepInDom?: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* When `true`, disables the accordion title pointer ripple for all items.
|
|
151
|
+
* Global default still follows `$waveui.config.ripple`. Per-item override: set `no-ripple` on `w-accordion-item`.
|
|
152
|
+
* @property {boolean} noRipple
|
|
153
|
+
* @see https://antoniandre.github.io/wave-ui/w-accordion
|
|
154
|
+
*/
|
|
155
|
+
noRipple?: boolean;
|
|
149
156
|
}
|
|
150
157
|
export interface WaveAccordionEmits {
|
|
151
158
|
/**
|
|
@@ -80,6 +80,13 @@ export interface WaveBreadcrumbsProps {
|
|
|
80
80
|
* @see https://antoniandre.github.io/wave-ui/w-breadcrumbs
|
|
81
81
|
*/
|
|
82
82
|
xl?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* When `true`, disables the pointer ripple on link items for this breadcrumbs only.
|
|
85
|
+
* Global default still follows `$waveui.config.ripple`.
|
|
86
|
+
* @property {boolean} noRipple
|
|
87
|
+
* @see https://antoniandre.github.io/wave-ui/w-breadcrumbs
|
|
88
|
+
*/
|
|
89
|
+
noRipple?: boolean;
|
|
83
90
|
}
|
|
84
91
|
export type WaveBreadcrumbsEmits = {};
|
|
85
92
|
export interface WaveBreadcrumbsComputeds extends ComputedOptions {
|
|
@@ -196,6 +196,13 @@ export interface WaveButtonProps {
|
|
|
196
196
|
* @see https://antoniandre.github.io/wave-ui/w-button
|
|
197
197
|
*/
|
|
198
198
|
xl?: boolean;
|
|
199
|
+
/**
|
|
200
|
+
* When `true`, disables the pointer ripple on this button only.
|
|
201
|
+
* Global default still follows `$waveui.config.ripple`.
|
|
202
|
+
* @property {boolean} noRipple
|
|
203
|
+
* @see https://antoniandre.github.io/wave-ui/w-button
|
|
204
|
+
*/
|
|
205
|
+
noRipple?: boolean;
|
|
199
206
|
}
|
|
200
207
|
export type WaveButtonEmits = {};
|
|
201
208
|
export interface WaveButtonComputeds extends ComputedOptions {
|
|
@@ -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
|
/**
|
|
@@ -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>;
|
|
@@ -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
|
/**
|
|
@@ -27,6 +27,7 @@ export { WProgress } from './WProgress';
|
|
|
27
27
|
export { WRadio } from './WRadio';
|
|
28
28
|
export { WRadios } from './WRadios';
|
|
29
29
|
export { WRating } from './WRating';
|
|
30
|
+
export { WScrollable, type WaveScrollableScrollbar, type WaveScrollableScrollPayload, type WaveScrollableScrollPosition, type WaveScrollableScrollPositionInput, type WaveScrollableScrollSource } from './WScrollable';
|
|
30
31
|
export { WSelect, WSelectDropdownItem } from './WSelect';
|
|
31
32
|
export { WSlider } from './WSlider';
|
|
32
33
|
export { WSpinner } from './WSpinner';
|