@lovince/ui-vue 0.3.0 → 0.5.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/README.md CHANGED
@@ -6,7 +6,7 @@ effects run through [`@lovince/ui-dom`](../ui-dom). This package subscribes to
6
6
  the machine, feeds props in, and renders what `connect()` returns. It holds no
7
7
  behaviour of its own.
8
8
 
9
- > **Status: `0.3.0`, experimental.** The API may change before `1.0`.
9
+ > **Status: `0.5.0`, experimental.** The API may change before `1.0`.
10
10
 
11
11
  ```bash
12
12
  bun add @lovince/ui-vue
@@ -29,6 +29,7 @@ names never clash with your own components or native elements.
29
29
  | | Accordion | `LvAccordionRoot`, `LvAccordionItem`, `LvAccordionHeader`, `LvAccordionTrigger`, `LvAccordionContent` |
30
30
  | | Tabs | `LvTabsRoot`, `LvTabsList`, `LvTabsTrigger`, `LvTabsContent` |
31
31
  | Overlays | Dialog | `LvDialogRoot`, `LvDialogTrigger`, `LvDialogPortal`, `LvDialogOverlay`, `LvDialogContent`, `LvDialogTitle`, `LvDialogDescription`, `LvDialogClose` |
32
+ | | Lightbox | `LvLightboxRoot`, `LvLightboxTrigger`, `LvLightboxPortal`, `LvLightboxOverlay`, `LvLightboxContent`, `LvLightboxTitle`, `LvLightboxItem`, `LvLightboxPrevious`, `LvLightboxNext`, `LvLightboxCounter`, `LvLightboxClose` |
32
33
  | | Popover | `LvPopoverRoot`, `LvPopoverTrigger`, `LvPopoverAnchor`, `LvPopoverPortal`, `LvPopoverContent`, `LvPopoverClose` |
33
34
  | | Tooltip | `LvTooltipRoot`, `LvTooltipTrigger`, `LvTooltipPortal`, `LvTooltipContent` |
34
35
  | | Hover card | `LvHoverCardRoot`, `LvHoverCardTrigger`, `LvHoverCardPortal`, `LvHoverCardContent` |
@@ -43,10 +44,12 @@ names never clash with your own components or native elements.
43
44
  | | Command palette | `LvCommandRoot`, `LvCommandInput`, `LvCommandList`, `LvCommandGroup`, `LvCommandItem`, `LvCommandEmpty`, `LvCommandSeparator` |
44
45
  | | Emoji picker | `LvEmojiPickerRoot`, `LvEmojiPickerSearch`, `LvEmojiPickerList`, `LvEmojiPickerGroup`, `LvEmojiPickerItem`, `LvEmojiPickerNav`… |
45
46
  | Input | Slider | `LvSliderRoot`, `LvSliderTrack`, `LvSliderRange`, `LvSliderThumb` |
47
+ | | Angle Slider | `LvAngleSliderRoot`, `LvAngleSliderTrack`, `LvAngleSliderMarkers`, `LvAngleSliderIndicator`, `LvAngleSliderThumb`, `LvAngleSliderValue` |
46
48
  | | Number field | `LvNumberFieldRoot`, `LvNumberFieldInput`, `LvNumberFieldIncrement`, `LvNumberFieldDecrement` |
47
49
  | | PIN input | `LvPinInputRoot`, `LvPinInputInput` |
48
50
  | | Calendar | `LvCalendarRoot`, `LvCalendarHeading`, `LvCalendarPrev`, `LvCalendarNext`, `LvCalendarGrid`, `LvCalendarHeadCell`, `LvCalendarCell`, `LvCalendarDay` |
49
51
  | Forms | Field, Input, Textarea, Form, TagsInput, FileUpload, TimeField, PhoneInput | `LvFieldRoot`, `LvFieldLabel`, `LvTagsInputRoot`, `LvTagsInputInput`, `LvTagsInputItem`, `LvTagsInputRemove`, `LvFileUploadRoot`, `LvFileUploadInput`, `LvFileUploadItem`, `LvFileUploadRemove`, `LvTimeFieldRoot`, `LvTimeFieldInput`, `LvPhoneInputRoot`, `LvPhoneInputInput`, `LvPhoneInputCountrySelect` |
52
+ | | Clock Picker | `LvClockPickerRoot`, `LvClockPickerViewTrigger`, `LvClockPickerMeridiem`, `LvClockPickerDial`, `LvClockPickerHand` |
50
53
  | Layout | ScrollArea | `LvScrollAreaRoot`, `LvScrollAreaViewport`, `LvScrollAreaScrollbar`, `LvScrollAreaThumb` |
51
54
  | | Splitter | `LvSplitterGroup`, `LvSplitterPanel`, `LvSplitterHandle` |
52
55
  | | Tree | `LvTreeRoot`, `LvTreeItem`, `LvTreeGroup` |
@@ -54,6 +57,7 @@ names never clash with your own components or native elements.
54
57
  | | Sortable | `LvSortableRoot`, `LvSortableItem`, `LvSortableHandle` |
55
58
  | | Section | `LvSectionRoot`, `LvSectionHeader`, `LvSectionEyebrow`, `LvSectionTitle`, `LvSectionDescription`, `LvSectionContent` |
56
59
  | Display | Avatar, Progress | `LvAvatarRoot`, `LvAvatarImage`, `LvAvatarFallback`, `LvProgressRoot`, `LvProgressIndicator` |
60
+ | | Gauge, Countdown | `LvGauge`, `LvCountdownRoot`, `LvCountdownSegment` |
57
61
  | | Table | `LvTableContainer`, `LvTableRoot`, `LvTableCaption`, `LvTableHeader`, `LvTableBody`, `LvTableFooter`, `LvTableRow`, `LvTableHead`, `LvTableCell`, plus `LvDataTable` |
58
62
 
59
63
  ### Primitives
@@ -0,0 +1,127 @@
1
+ import { PropType } from 'vue';
2
+ import { CountdownUnit } from '@lovince/ui-headless';
3
+ export declare const LvCountdownRoot: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ to: {
5
+ type: PropType<Date | number | string>;
6
+ default: undefined;
7
+ };
8
+ duration: {
9
+ type: NumberConstructor;
10
+ default: number;
11
+ };
12
+ autoStart: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ paused: {
17
+ type: BooleanConstructor;
18
+ default: undefined;
19
+ };
20
+ units: {
21
+ type: PropType<readonly CountdownUnit[]>;
22
+ default: undefined;
23
+ };
24
+ label: {
25
+ type: StringConstructor;
26
+ default: undefined;
27
+ };
28
+ as: {
29
+ readonly type: PropType<string | import('vue').Component>;
30
+ readonly default: "div";
31
+ };
32
+ asChild: {
33
+ readonly type: BooleanConstructor;
34
+ readonly default: false;
35
+ };
36
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
37
+ [key: string]: any;
38
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
39
+ complete: () => true;
40
+ tick: (remaining: number) => boolean;
41
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
42
+ to: {
43
+ type: PropType<Date | number | string>;
44
+ default: undefined;
45
+ };
46
+ duration: {
47
+ type: NumberConstructor;
48
+ default: number;
49
+ };
50
+ autoStart: {
51
+ type: BooleanConstructor;
52
+ default: boolean;
53
+ };
54
+ paused: {
55
+ type: BooleanConstructor;
56
+ default: undefined;
57
+ };
58
+ units: {
59
+ type: PropType<readonly CountdownUnit[]>;
60
+ default: undefined;
61
+ };
62
+ label: {
63
+ type: StringConstructor;
64
+ default: undefined;
65
+ };
66
+ as: {
67
+ readonly type: PropType<string | import('vue').Component>;
68
+ readonly default: "div";
69
+ };
70
+ asChild: {
71
+ readonly type: BooleanConstructor;
72
+ readonly default: false;
73
+ };
74
+ }>> & Readonly<{
75
+ onComplete?: (() => any) | undefined;
76
+ onTick?: ((remaining: number) => any) | undefined;
77
+ }>, {
78
+ as: string | import('vue').Component;
79
+ asChild: boolean;
80
+ label: string;
81
+ to: string | number | Date;
82
+ duration: number;
83
+ paused: boolean;
84
+ autoStart: boolean;
85
+ units: readonly CountdownUnit[];
86
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
87
+ export declare const LvCountdownSegment: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
88
+ as: {
89
+ default: string;
90
+ type: PropType<string | import('vue').Component>;
91
+ };
92
+ unit: {
93
+ type: PropType<CountdownUnit>;
94
+ required: true;
95
+ };
96
+ pad: {
97
+ type: NumberConstructor;
98
+ default: number;
99
+ };
100
+ asChild: {
101
+ readonly type: BooleanConstructor;
102
+ readonly default: false;
103
+ };
104
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
105
+ [key: string]: any;
106
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
107
+ as: {
108
+ default: string;
109
+ type: PropType<string | import('vue').Component>;
110
+ };
111
+ unit: {
112
+ type: PropType<CountdownUnit>;
113
+ required: true;
114
+ };
115
+ pad: {
116
+ type: NumberConstructor;
117
+ default: number;
118
+ };
119
+ asChild: {
120
+ readonly type: BooleanConstructor;
121
+ readonly default: false;
122
+ };
123
+ }>> & Readonly<{}>, {
124
+ as: string | import('vue').Component;
125
+ asChild: boolean;
126
+ pad: number;
127
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,152 @@
1
+ import { PropType } from 'vue';
2
+ import { GaugeBand, GaugeSegment } from '@lovince/ui-headless';
3
+ export declare const LvGauge: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ value: {
5
+ type: NumberConstructor;
6
+ default: number;
7
+ };
8
+ min: {
9
+ type: NumberConstructor;
10
+ default: number;
11
+ };
12
+ max: {
13
+ type: NumberConstructor;
14
+ default: number;
15
+ };
16
+ startAngle: {
17
+ type: NumberConstructor;
18
+ default: number;
19
+ };
20
+ sweep: {
21
+ type: NumberConstructor;
22
+ default: number;
23
+ };
24
+ size: {
25
+ type: NumberConstructor;
26
+ default: number;
27
+ };
28
+ thickness: {
29
+ type: NumberConstructor;
30
+ default: number;
31
+ };
32
+ ticks: {
33
+ type: NumberConstructor;
34
+ default: number;
35
+ };
36
+ bands: {
37
+ type: PropType<readonly GaugeBand[]>;
38
+ default: undefined;
39
+ };
40
+ segments: {
41
+ type: PropType<readonly GaugeSegment[]>;
42
+ default: undefined;
43
+ };
44
+ gap: {
45
+ type: NumberConstructor;
46
+ default: number;
47
+ };
48
+ needle: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ label: {
53
+ type: StringConstructor;
54
+ default: undefined;
55
+ };
56
+ valueText: {
57
+ type: StringConstructor;
58
+ default: undefined;
59
+ };
60
+ as: {
61
+ readonly type: PropType<string | import('vue').Component>;
62
+ readonly default: "div";
63
+ };
64
+ asChild: {
65
+ readonly type: BooleanConstructor;
66
+ readonly default: false;
67
+ };
68
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
69
+ [key: string]: any;
70
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
71
+ value: {
72
+ type: NumberConstructor;
73
+ default: number;
74
+ };
75
+ min: {
76
+ type: NumberConstructor;
77
+ default: number;
78
+ };
79
+ max: {
80
+ type: NumberConstructor;
81
+ default: number;
82
+ };
83
+ startAngle: {
84
+ type: NumberConstructor;
85
+ default: number;
86
+ };
87
+ sweep: {
88
+ type: NumberConstructor;
89
+ default: number;
90
+ };
91
+ size: {
92
+ type: NumberConstructor;
93
+ default: number;
94
+ };
95
+ thickness: {
96
+ type: NumberConstructor;
97
+ default: number;
98
+ };
99
+ ticks: {
100
+ type: NumberConstructor;
101
+ default: number;
102
+ };
103
+ bands: {
104
+ type: PropType<readonly GaugeBand[]>;
105
+ default: undefined;
106
+ };
107
+ segments: {
108
+ type: PropType<readonly GaugeSegment[]>;
109
+ default: undefined;
110
+ };
111
+ gap: {
112
+ type: NumberConstructor;
113
+ default: number;
114
+ };
115
+ needle: {
116
+ type: BooleanConstructor;
117
+ default: boolean;
118
+ };
119
+ label: {
120
+ type: StringConstructor;
121
+ default: undefined;
122
+ };
123
+ valueText: {
124
+ type: StringConstructor;
125
+ default: undefined;
126
+ };
127
+ as: {
128
+ readonly type: PropType<string | import('vue').Component>;
129
+ readonly default: "div";
130
+ };
131
+ asChild: {
132
+ readonly type: BooleanConstructor;
133
+ readonly default: false;
134
+ };
135
+ }>> & Readonly<{}>, {
136
+ size: number;
137
+ as: string | import('vue').Component;
138
+ asChild: boolean;
139
+ label: string;
140
+ value: number;
141
+ min: number;
142
+ max: number;
143
+ ticks: number;
144
+ startAngle: number;
145
+ sweep: number;
146
+ valueText: string;
147
+ thickness: number;
148
+ gap: number;
149
+ bands: readonly GaugeBand[];
150
+ segments: readonly GaugeSegment[];
151
+ needle: boolean;
152
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,245 @@
1
+ import { PropType } from 'vue';
2
+ import { ClockView, Meridiem, TimeValue } from '@lovince/ui-headless';
3
+ export declare const LvClockPickerRoot: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
4
+ modelValue: {
5
+ type: PropType<TimeValue | null>;
6
+ default: undefined;
7
+ };
8
+ defaultValue: {
9
+ type: PropType<TimeValue | null>;
10
+ default: null;
11
+ };
12
+ view: {
13
+ type: PropType<ClockView>;
14
+ default: undefined;
15
+ };
16
+ defaultView: {
17
+ type: PropType<ClockView>;
18
+ default: string;
19
+ };
20
+ hour12: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ minuteStep: {
25
+ type: NumberConstructor;
26
+ default: number;
27
+ };
28
+ autoAdvance: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ disabled: {
33
+ type: BooleanConstructor;
34
+ default: boolean;
35
+ };
36
+ hoursLabel: {
37
+ type: StringConstructor;
38
+ default: string;
39
+ };
40
+ minutesLabel: {
41
+ type: StringConstructor;
42
+ default: string;
43
+ };
44
+ name: {
45
+ type: StringConstructor;
46
+ default: undefined;
47
+ };
48
+ as: {
49
+ readonly type: PropType<string | import('vue').Component>;
50
+ readonly default: "div";
51
+ };
52
+ asChild: {
53
+ readonly type: BooleanConstructor;
54
+ readonly default: false;
55
+ };
56
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
57
+ [key: string]: any;
58
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
59
+ 'update:modelValue': (value: TimeValue | null) => boolean;
60
+ 'update:view': (view: ClockView) => view is "hours" | "minutes";
61
+ commit: (value: TimeValue | null) => boolean;
62
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
63
+ modelValue: {
64
+ type: PropType<TimeValue | null>;
65
+ default: undefined;
66
+ };
67
+ defaultValue: {
68
+ type: PropType<TimeValue | null>;
69
+ default: null;
70
+ };
71
+ view: {
72
+ type: PropType<ClockView>;
73
+ default: undefined;
74
+ };
75
+ defaultView: {
76
+ type: PropType<ClockView>;
77
+ default: string;
78
+ };
79
+ hour12: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ minuteStep: {
84
+ type: NumberConstructor;
85
+ default: number;
86
+ };
87
+ autoAdvance: {
88
+ type: BooleanConstructor;
89
+ default: boolean;
90
+ };
91
+ disabled: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
95
+ hoursLabel: {
96
+ type: StringConstructor;
97
+ default: string;
98
+ };
99
+ minutesLabel: {
100
+ type: StringConstructor;
101
+ default: string;
102
+ };
103
+ name: {
104
+ type: StringConstructor;
105
+ default: undefined;
106
+ };
107
+ as: {
108
+ readonly type: PropType<string | import('vue').Component>;
109
+ readonly default: "div";
110
+ };
111
+ asChild: {
112
+ readonly type: BooleanConstructor;
113
+ readonly default: false;
114
+ };
115
+ }>> & Readonly<{
116
+ "onUpdate:modelValue"?: ((value: string | null) => any) | undefined;
117
+ onCommit?: ((value: string | null) => any) | undefined;
118
+ "onUpdate:view"?: ((view: ClockView) => any) | undefined;
119
+ }>, {
120
+ name: string;
121
+ as: string | import('vue').Component;
122
+ asChild: boolean;
123
+ disabled: boolean;
124
+ defaultView: ClockView;
125
+ view: ClockView;
126
+ hour12: boolean;
127
+ minuteStep: number;
128
+ autoAdvance: boolean;
129
+ modelValue: string | null;
130
+ defaultValue: string | null;
131
+ hoursLabel: string;
132
+ minutesLabel: string;
133
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
134
+ export declare const LvClockPickerViewTrigger: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
135
+ view: {
136
+ type: PropType<ClockView>;
137
+ required: true;
138
+ };
139
+ as: {
140
+ readonly default: "button";
141
+ readonly type: PropType<string | import('vue').Component>;
142
+ };
143
+ asChild: {
144
+ readonly type: BooleanConstructor;
145
+ readonly default: false;
146
+ };
147
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
148
+ [key: string]: any;
149
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
150
+ view: {
151
+ type: PropType<ClockView>;
152
+ required: true;
153
+ };
154
+ as: {
155
+ readonly default: "button";
156
+ readonly type: PropType<string | import('vue').Component>;
157
+ };
158
+ asChild: {
159
+ readonly type: BooleanConstructor;
160
+ readonly default: false;
161
+ };
162
+ }>> & Readonly<{}>, {
163
+ as: string | import('vue').Component;
164
+ asChild: boolean;
165
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
166
+ export declare const LvClockPickerMeridiem: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
167
+ meridiem: {
168
+ type: PropType<Meridiem>;
169
+ required: true;
170
+ };
171
+ as: {
172
+ readonly default: "button";
173
+ readonly type: PropType<string | import('vue').Component>;
174
+ };
175
+ asChild: {
176
+ readonly type: BooleanConstructor;
177
+ readonly default: false;
178
+ };
179
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
180
+ [key: string]: any;
181
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
182
+ meridiem: {
183
+ type: PropType<Meridiem>;
184
+ required: true;
185
+ };
186
+ as: {
187
+ readonly default: "button";
188
+ readonly type: PropType<string | import('vue').Component>;
189
+ };
190
+ asChild: {
191
+ readonly type: BooleanConstructor;
192
+ readonly default: false;
193
+ };
194
+ }>> & Readonly<{}>, {
195
+ as: string | import('vue').Component;
196
+ asChild: boolean;
197
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
198
+ export declare const LvClockPickerDial: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
199
+ readonly as: {
200
+ readonly type: PropType<string | import('vue').Component>;
201
+ readonly default: "div";
202
+ };
203
+ readonly asChild: {
204
+ readonly type: BooleanConstructor;
205
+ readonly default: false;
206
+ };
207
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
208
+ [key: string]: any;
209
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
210
+ readonly as: {
211
+ readonly type: PropType<string | import('vue').Component>;
212
+ readonly default: "div";
213
+ };
214
+ readonly asChild: {
215
+ readonly type: BooleanConstructor;
216
+ readonly default: false;
217
+ };
218
+ }>> & Readonly<{}>, {
219
+ readonly as: string | import('vue').Component;
220
+ readonly asChild: boolean;
221
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
222
+ export declare const LvClockPickerHand: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
223
+ as: {
224
+ default: string;
225
+ type: PropType<string | import('vue').Component>;
226
+ };
227
+ asChild: {
228
+ readonly type: BooleanConstructor;
229
+ readonly default: false;
230
+ };
231
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
232
+ [key: string]: any;
233
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
234
+ as: {
235
+ default: string;
236
+ type: PropType<string | import('vue').Component>;
237
+ };
238
+ asChild: {
239
+ readonly type: BooleanConstructor;
240
+ readonly default: false;
241
+ };
242
+ }>> & Readonly<{}>, {
243
+ as: string | import('vue').Component;
244
+ asChild: boolean;
245
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;