@destyler/toggle 0.0.3 → 0.0.4
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 +7 -0
- package/dist/component.cjs +254 -9
- package/dist/component.d.cts +549 -4
- package/dist/component.d.mts +549 -4
- package/dist/component.d.ts +549 -4
- package/dist/component.mjs +250 -6
- package/dist/index.cjs +12 -198
- package/dist/index.d.cts +4 -369
- package/dist/index.d.mts +4 -369
- package/dist/index.d.ts +4 -369
- package/dist/index.mjs +6 -199
- package/dist/resolver.cjs +5 -3
- package/dist/resolver.d.cts +2 -2
- package/dist/resolver.d.mts +2 -2
- package/dist/resolver.d.ts +2 -2
- package/dist/resolver.mjs +5 -3
- package/package.json +15 -17
package/dist/index.d.ts
CHANGED
|
@@ -1,369 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { ExtractPublicPropTypes, DataOrientation, Direction } from '@destyler/shared';
|
|
6
|
-
|
|
7
|
-
declare const destylerToggleProps: {
|
|
8
|
-
readonly as: {
|
|
9
|
-
readonly type: PropType<AsTag | Component>;
|
|
10
|
-
readonly required: false;
|
|
11
|
-
readonly default: "button";
|
|
12
|
-
};
|
|
13
|
-
readonly asChild: {
|
|
14
|
-
readonly type: PropType<boolean>;
|
|
15
|
-
readonly required: false;
|
|
16
|
-
readonly default: false;
|
|
17
|
-
};
|
|
18
|
-
readonly defaultValue: {
|
|
19
|
-
readonly type: PropType<boolean>;
|
|
20
|
-
readonly required: false;
|
|
21
|
-
};
|
|
22
|
-
readonly pressed: {
|
|
23
|
-
readonly type: PropType<boolean>;
|
|
24
|
-
readonly required: false;
|
|
25
|
-
readonly default: undefined;
|
|
26
|
-
};
|
|
27
|
-
readonly disabled: {
|
|
28
|
-
readonly type: PropType<boolean>;
|
|
29
|
-
readonly required: false;
|
|
30
|
-
readonly default: false;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
type DestylerToggleProps = ExtractPublicPropTypes<typeof destylerToggleProps>;
|
|
34
|
-
type DataState = 'on' | 'off';
|
|
35
|
-
declare const DestylerToggle: vue.DefineComponent<{
|
|
36
|
-
readonly as: {
|
|
37
|
-
readonly type: PropType<AsTag | Component>;
|
|
38
|
-
readonly required: false;
|
|
39
|
-
readonly default: "button";
|
|
40
|
-
};
|
|
41
|
-
readonly asChild: {
|
|
42
|
-
readonly type: PropType<boolean>;
|
|
43
|
-
readonly required: false;
|
|
44
|
-
readonly default: false;
|
|
45
|
-
};
|
|
46
|
-
readonly defaultValue: {
|
|
47
|
-
readonly type: PropType<boolean>;
|
|
48
|
-
readonly required: false;
|
|
49
|
-
};
|
|
50
|
-
readonly pressed: {
|
|
51
|
-
readonly type: PropType<boolean>;
|
|
52
|
-
readonly required: false;
|
|
53
|
-
readonly default: undefined;
|
|
54
|
-
};
|
|
55
|
-
readonly disabled: {
|
|
56
|
-
readonly type: PropType<boolean>;
|
|
57
|
-
readonly required: false;
|
|
58
|
-
readonly default: false;
|
|
59
|
-
};
|
|
60
|
-
}, {
|
|
61
|
-
pressed: vue.WritableComputedRef<boolean | undefined>;
|
|
62
|
-
togglePressed: () => void;
|
|
63
|
-
dataState: vue.ComputedRef<DataState>;
|
|
64
|
-
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, "update:pressed"[], "update:pressed", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
65
|
-
readonly as: {
|
|
66
|
-
readonly type: PropType<AsTag | Component>;
|
|
67
|
-
readonly required: false;
|
|
68
|
-
readonly default: "button";
|
|
69
|
-
};
|
|
70
|
-
readonly asChild: {
|
|
71
|
-
readonly type: PropType<boolean>;
|
|
72
|
-
readonly required: false;
|
|
73
|
-
readonly default: false;
|
|
74
|
-
};
|
|
75
|
-
readonly defaultValue: {
|
|
76
|
-
readonly type: PropType<boolean>;
|
|
77
|
-
readonly required: false;
|
|
78
|
-
};
|
|
79
|
-
readonly pressed: {
|
|
80
|
-
readonly type: PropType<boolean>;
|
|
81
|
-
readonly required: false;
|
|
82
|
-
readonly default: undefined;
|
|
83
|
-
};
|
|
84
|
-
readonly disabled: {
|
|
85
|
-
readonly type: PropType<boolean>;
|
|
86
|
-
readonly required: false;
|
|
87
|
-
readonly default: false;
|
|
88
|
-
};
|
|
89
|
-
}>> & {
|
|
90
|
-
"onUpdate:pressed"?: ((...args: any[]) => any) | undefined;
|
|
91
|
-
}, {
|
|
92
|
-
readonly as: AsTag | Component;
|
|
93
|
-
readonly asChild: boolean;
|
|
94
|
-
readonly pressed: boolean;
|
|
95
|
-
readonly disabled: boolean;
|
|
96
|
-
}, {}>;
|
|
97
|
-
|
|
98
|
-
type TypeEnum = 'single' | 'multiple';
|
|
99
|
-
declare const destylerToggleGroupRootProps: {
|
|
100
|
-
readonly as: {
|
|
101
|
-
readonly type: PropType<AsTag | Component>;
|
|
102
|
-
readonly required: false;
|
|
103
|
-
readonly default: "div";
|
|
104
|
-
};
|
|
105
|
-
readonly asChild: {
|
|
106
|
-
readonly type: PropType<boolean>;
|
|
107
|
-
readonly required: false;
|
|
108
|
-
readonly default: false;
|
|
109
|
-
};
|
|
110
|
-
readonly type: {
|
|
111
|
-
readonly type: PropType<TypeEnum>;
|
|
112
|
-
readonly required: false;
|
|
113
|
-
readonly default: "single";
|
|
114
|
-
};
|
|
115
|
-
readonly defaultValue: {
|
|
116
|
-
readonly type: PropType<string | string[]>;
|
|
117
|
-
readonly required: false;
|
|
118
|
-
};
|
|
119
|
-
readonly modelValue: {
|
|
120
|
-
readonly type: PropType<string | string[]>;
|
|
121
|
-
readonly required: false;
|
|
122
|
-
};
|
|
123
|
-
readonly rovingFocus: {
|
|
124
|
-
readonly type: PropType<boolean>;
|
|
125
|
-
readonly required: false;
|
|
126
|
-
readonly default: true;
|
|
127
|
-
};
|
|
128
|
-
readonly disabled: {
|
|
129
|
-
readonly type: PropType<boolean>;
|
|
130
|
-
readonly required: false;
|
|
131
|
-
readonly default: false;
|
|
132
|
-
};
|
|
133
|
-
readonly orientation: {
|
|
134
|
-
readonly type: PropType<DataOrientation>;
|
|
135
|
-
readonly required: false;
|
|
136
|
-
};
|
|
137
|
-
readonly dir: {
|
|
138
|
-
readonly type: PropType<Direction>;
|
|
139
|
-
readonly required: false;
|
|
140
|
-
};
|
|
141
|
-
readonly loop: {
|
|
142
|
-
readonly type: PropType<boolean>;
|
|
143
|
-
readonly required: false;
|
|
144
|
-
readonly default: true;
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
type DestylerToggleGroupRootProps = ExtractPublicPropTypes<typeof destylerToggleGroupRootProps>;
|
|
148
|
-
interface ToggleGroupRootContext {
|
|
149
|
-
type: TypeEnum;
|
|
150
|
-
modelValue: Ref<string | string[] | undefined>;
|
|
151
|
-
changeModelValue: (value: string) => void;
|
|
152
|
-
dir?: Ref<Direction>;
|
|
153
|
-
orientation?: DataOrientation;
|
|
154
|
-
loop: Ref<boolean>;
|
|
155
|
-
rovingFocus: Ref<boolean>;
|
|
156
|
-
disabled?: Ref<boolean>;
|
|
157
|
-
}
|
|
158
|
-
declare const DestylerToggleGroupRoot: vue.DefineComponent<{
|
|
159
|
-
readonly as: {
|
|
160
|
-
readonly type: PropType<AsTag | Component>;
|
|
161
|
-
readonly required: false;
|
|
162
|
-
readonly default: "div";
|
|
163
|
-
};
|
|
164
|
-
readonly asChild: {
|
|
165
|
-
readonly type: PropType<boolean>;
|
|
166
|
-
readonly required: false;
|
|
167
|
-
readonly default: false;
|
|
168
|
-
};
|
|
169
|
-
readonly type: {
|
|
170
|
-
readonly type: PropType<TypeEnum>;
|
|
171
|
-
readonly required: false;
|
|
172
|
-
readonly default: "single";
|
|
173
|
-
};
|
|
174
|
-
readonly defaultValue: {
|
|
175
|
-
readonly type: PropType<string | string[]>;
|
|
176
|
-
readonly required: false;
|
|
177
|
-
};
|
|
178
|
-
readonly modelValue: {
|
|
179
|
-
readonly type: PropType<string | string[]>;
|
|
180
|
-
readonly required: false;
|
|
181
|
-
};
|
|
182
|
-
readonly rovingFocus: {
|
|
183
|
-
readonly type: PropType<boolean>;
|
|
184
|
-
readonly required: false;
|
|
185
|
-
readonly default: true;
|
|
186
|
-
};
|
|
187
|
-
readonly disabled: {
|
|
188
|
-
readonly type: PropType<boolean>;
|
|
189
|
-
readonly required: false;
|
|
190
|
-
readonly default: false;
|
|
191
|
-
};
|
|
192
|
-
readonly orientation: {
|
|
193
|
-
readonly type: PropType<DataOrientation>;
|
|
194
|
-
readonly required: false;
|
|
195
|
-
};
|
|
196
|
-
readonly dir: {
|
|
197
|
-
readonly type: PropType<Direction>;
|
|
198
|
-
readonly required: false;
|
|
199
|
-
};
|
|
200
|
-
readonly loop: {
|
|
201
|
-
readonly type: PropType<boolean>;
|
|
202
|
-
readonly required: false;
|
|
203
|
-
readonly default: true;
|
|
204
|
-
};
|
|
205
|
-
}, {
|
|
206
|
-
rovingFocus: Ref<boolean>;
|
|
207
|
-
dir: vue.ComputedRef<Direction>;
|
|
208
|
-
loop: Ref<boolean>;
|
|
209
|
-
forwardRef: (ref: Element | vue.ComponentPublicInstance | null) => void;
|
|
210
|
-
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
211
|
-
readonly as: {
|
|
212
|
-
readonly type: PropType<AsTag | Component>;
|
|
213
|
-
readonly required: false;
|
|
214
|
-
readonly default: "div";
|
|
215
|
-
};
|
|
216
|
-
readonly asChild: {
|
|
217
|
-
readonly type: PropType<boolean>;
|
|
218
|
-
readonly required: false;
|
|
219
|
-
readonly default: false;
|
|
220
|
-
};
|
|
221
|
-
readonly type: {
|
|
222
|
-
readonly type: PropType<TypeEnum>;
|
|
223
|
-
readonly required: false;
|
|
224
|
-
readonly default: "single";
|
|
225
|
-
};
|
|
226
|
-
readonly defaultValue: {
|
|
227
|
-
readonly type: PropType<string | string[]>;
|
|
228
|
-
readonly required: false;
|
|
229
|
-
};
|
|
230
|
-
readonly modelValue: {
|
|
231
|
-
readonly type: PropType<string | string[]>;
|
|
232
|
-
readonly required: false;
|
|
233
|
-
};
|
|
234
|
-
readonly rovingFocus: {
|
|
235
|
-
readonly type: PropType<boolean>;
|
|
236
|
-
readonly required: false;
|
|
237
|
-
readonly default: true;
|
|
238
|
-
};
|
|
239
|
-
readonly disabled: {
|
|
240
|
-
readonly type: PropType<boolean>;
|
|
241
|
-
readonly required: false;
|
|
242
|
-
readonly default: false;
|
|
243
|
-
};
|
|
244
|
-
readonly orientation: {
|
|
245
|
-
readonly type: PropType<DataOrientation>;
|
|
246
|
-
readonly required: false;
|
|
247
|
-
};
|
|
248
|
-
readonly dir: {
|
|
249
|
-
readonly type: PropType<Direction>;
|
|
250
|
-
readonly required: false;
|
|
251
|
-
};
|
|
252
|
-
readonly loop: {
|
|
253
|
-
readonly type: PropType<boolean>;
|
|
254
|
-
readonly required: false;
|
|
255
|
-
readonly default: true;
|
|
256
|
-
};
|
|
257
|
-
}>> & {
|
|
258
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
259
|
-
}, {
|
|
260
|
-
readonly as: AsTag | Component;
|
|
261
|
-
readonly asChild: boolean;
|
|
262
|
-
readonly disabled: boolean;
|
|
263
|
-
readonly type: TypeEnum;
|
|
264
|
-
readonly rovingFocus: boolean;
|
|
265
|
-
readonly loop: boolean;
|
|
266
|
-
}, {}>;
|
|
267
|
-
|
|
268
|
-
declare const destylerToggleGroupItemProps: {
|
|
269
|
-
readonly value: {
|
|
270
|
-
readonly type: PropType<string>;
|
|
271
|
-
readonly required: true;
|
|
272
|
-
};
|
|
273
|
-
readonly as: {
|
|
274
|
-
readonly type: PropType<_destyler_primitive.AsTag | vue.Component>;
|
|
275
|
-
readonly required: false;
|
|
276
|
-
readonly default: "button";
|
|
277
|
-
};
|
|
278
|
-
readonly asChild: {
|
|
279
|
-
readonly type: PropType<boolean>;
|
|
280
|
-
readonly required: false;
|
|
281
|
-
readonly default: false;
|
|
282
|
-
};
|
|
283
|
-
readonly defaultValue: {
|
|
284
|
-
readonly type: PropType<boolean>;
|
|
285
|
-
readonly required: false;
|
|
286
|
-
};
|
|
287
|
-
readonly pressed: {
|
|
288
|
-
readonly type: PropType<boolean>;
|
|
289
|
-
readonly required: false;
|
|
290
|
-
readonly default: undefined;
|
|
291
|
-
};
|
|
292
|
-
readonly disabled: {
|
|
293
|
-
readonly type: PropType<boolean>;
|
|
294
|
-
readonly required: false;
|
|
295
|
-
readonly default: false;
|
|
296
|
-
};
|
|
297
|
-
};
|
|
298
|
-
type DestylerToggleGroupItemProps = ExtractPublicPropTypes<typeof destylerToggleGroupItemProps>;
|
|
299
|
-
declare const DestylerToggleGroupItem: vue.DefineComponent<{
|
|
300
|
-
readonly value: {
|
|
301
|
-
readonly type: PropType<string>;
|
|
302
|
-
readonly required: true;
|
|
303
|
-
};
|
|
304
|
-
readonly as: {
|
|
305
|
-
readonly type: PropType<_destyler_primitive.AsTag | vue.Component>;
|
|
306
|
-
readonly required: false;
|
|
307
|
-
readonly default: "button";
|
|
308
|
-
};
|
|
309
|
-
readonly asChild: {
|
|
310
|
-
readonly type: PropType<boolean>;
|
|
311
|
-
readonly required: false;
|
|
312
|
-
readonly default: false;
|
|
313
|
-
};
|
|
314
|
-
readonly defaultValue: {
|
|
315
|
-
readonly type: PropType<boolean>;
|
|
316
|
-
readonly required: false;
|
|
317
|
-
};
|
|
318
|
-
readonly pressed: {
|
|
319
|
-
readonly type: PropType<boolean>;
|
|
320
|
-
readonly required: false;
|
|
321
|
-
readonly default: undefined;
|
|
322
|
-
};
|
|
323
|
-
readonly disabled: {
|
|
324
|
-
readonly type: PropType<boolean>;
|
|
325
|
-
readonly required: false;
|
|
326
|
-
readonly default: false;
|
|
327
|
-
};
|
|
328
|
-
}, {
|
|
329
|
-
rootContext: ToggleGroupRootContext;
|
|
330
|
-
disabled: vue.ComputedRef<boolean>;
|
|
331
|
-
pressed: vue.ComputedRef<boolean | undefined>;
|
|
332
|
-
forwardRef: (ref: Element | vue.ComponentPublicInstance | null) => void;
|
|
333
|
-
}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
334
|
-
readonly value: {
|
|
335
|
-
readonly type: PropType<string>;
|
|
336
|
-
readonly required: true;
|
|
337
|
-
};
|
|
338
|
-
readonly as: {
|
|
339
|
-
readonly type: PropType<_destyler_primitive.AsTag | vue.Component>;
|
|
340
|
-
readonly required: false;
|
|
341
|
-
readonly default: "button";
|
|
342
|
-
};
|
|
343
|
-
readonly asChild: {
|
|
344
|
-
readonly type: PropType<boolean>;
|
|
345
|
-
readonly required: false;
|
|
346
|
-
readonly default: false;
|
|
347
|
-
};
|
|
348
|
-
readonly defaultValue: {
|
|
349
|
-
readonly type: PropType<boolean>;
|
|
350
|
-
readonly required: false;
|
|
351
|
-
};
|
|
352
|
-
readonly pressed: {
|
|
353
|
-
readonly type: PropType<boolean>;
|
|
354
|
-
readonly required: false;
|
|
355
|
-
readonly default: undefined;
|
|
356
|
-
};
|
|
357
|
-
readonly disabled: {
|
|
358
|
-
readonly type: PropType<boolean>;
|
|
359
|
-
readonly required: false;
|
|
360
|
-
readonly default: false;
|
|
361
|
-
};
|
|
362
|
-
}>>, {
|
|
363
|
-
readonly as: _destyler_primitive.AsTag | vue.Component;
|
|
364
|
-
readonly asChild: boolean;
|
|
365
|
-
readonly pressed: boolean;
|
|
366
|
-
readonly disabled: boolean;
|
|
367
|
-
}, {}>;
|
|
368
|
-
|
|
369
|
-
export { DestylerToggle, DestylerToggleGroupItem, type DestylerToggleGroupItemProps, DestylerToggleGroupRoot, type DestylerToggleGroupRootProps, type DestylerToggleProps };
|
|
1
|
+
export { Toggle, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupRoot, ToggleGroupRootProps, ToggleProps, toggleGroupItemProps, toggleGroupRootProps, toggleProps } from './component.js';
|
|
2
|
+
import 'vue';
|
|
3
|
+
import '@destyler/primitive';
|
|
4
|
+
import '@destyler/shared';
|
package/dist/index.mjs
CHANGED
|
@@ -1,199 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
const destylerToggleProps = {
|
|
8
|
-
as: {
|
|
9
|
-
type: [String, Object],
|
|
10
|
-
required: false,
|
|
11
|
-
default: "button"
|
|
12
|
-
},
|
|
13
|
-
asChild: {
|
|
14
|
-
type: Boolean,
|
|
15
|
-
required: false,
|
|
16
|
-
default: false
|
|
17
|
-
},
|
|
18
|
-
defaultValue: {
|
|
19
|
-
type: Boolean,
|
|
20
|
-
required: false
|
|
21
|
-
},
|
|
22
|
-
pressed: {
|
|
23
|
-
type: Boolean,
|
|
24
|
-
required: false,
|
|
25
|
-
default: void 0
|
|
26
|
-
},
|
|
27
|
-
disabled: {
|
|
28
|
-
type: Boolean,
|
|
29
|
-
required: false,
|
|
30
|
-
default: false
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
const DestylerToggle = defineComponent({
|
|
34
|
-
name: "DestylerToggle",
|
|
35
|
-
props: destylerToggleProps,
|
|
36
|
-
emits: ["update:pressed"],
|
|
37
|
-
setup(props, { emit }) {
|
|
38
|
-
useForwardExpose();
|
|
39
|
-
const pressed = useVModel(props, "pressed", emit, {
|
|
40
|
-
defaultValue: props.defaultValue,
|
|
41
|
-
passive: props.pressed === void 0
|
|
42
|
-
});
|
|
43
|
-
function togglePressed() {
|
|
44
|
-
pressed.value = !pressed.value;
|
|
45
|
-
}
|
|
46
|
-
const dataState = computed(() => {
|
|
47
|
-
return pressed.value ? "on" : "off";
|
|
48
|
-
});
|
|
49
|
-
return {
|
|
50
|
-
pressed,
|
|
51
|
-
togglePressed,
|
|
52
|
-
dataState
|
|
53
|
-
};
|
|
54
|
-
},
|
|
55
|
-
render() {
|
|
56
|
-
return h(DestylerPrimitive, {
|
|
57
|
-
"as": this.$props.as,
|
|
58
|
-
"asChild": this.$props.asChild,
|
|
59
|
-
"type": this.$props.as === "button" ? "button" : void 0,
|
|
60
|
-
"aria-pressed": this.pressed,
|
|
61
|
-
"data-state": this.dataState,
|
|
62
|
-
"data-disabled": this.$props.disabled ? "" : void 0,
|
|
63
|
-
"disabled": this.$props.disabled,
|
|
64
|
-
"onClick": () => {
|
|
65
|
-
this.togglePressed();
|
|
66
|
-
}
|
|
67
|
-
}, () => this.$slots.default?.());
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
const destylerToggleGroupRootProps = {
|
|
72
|
-
as: {
|
|
73
|
-
type: [String, Object],
|
|
74
|
-
required: false,
|
|
75
|
-
default: "div"
|
|
76
|
-
},
|
|
77
|
-
asChild: {
|
|
78
|
-
type: Boolean,
|
|
79
|
-
required: false,
|
|
80
|
-
default: false
|
|
81
|
-
},
|
|
82
|
-
type: {
|
|
83
|
-
type: String,
|
|
84
|
-
required: false,
|
|
85
|
-
default: "single"
|
|
86
|
-
},
|
|
87
|
-
defaultValue: {
|
|
88
|
-
type: [String, Array],
|
|
89
|
-
required: false
|
|
90
|
-
},
|
|
91
|
-
modelValue: {
|
|
92
|
-
type: [String, Array],
|
|
93
|
-
required: false
|
|
94
|
-
},
|
|
95
|
-
rovingFocus: {
|
|
96
|
-
type: Boolean,
|
|
97
|
-
required: false,
|
|
98
|
-
default: true
|
|
99
|
-
},
|
|
100
|
-
disabled: {
|
|
101
|
-
type: Boolean,
|
|
102
|
-
required: false,
|
|
103
|
-
default: false
|
|
104
|
-
},
|
|
105
|
-
orientation: {
|
|
106
|
-
type: String,
|
|
107
|
-
required: false
|
|
108
|
-
},
|
|
109
|
-
dir: {
|
|
110
|
-
type: String,
|
|
111
|
-
required: false
|
|
112
|
-
},
|
|
113
|
-
loop: {
|
|
114
|
-
type: Boolean,
|
|
115
|
-
required: false,
|
|
116
|
-
default: true
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
const [injectToggleGroupRootContext, provideToggleGroupRootContext] = createContext("DestylerToggleGroupRoot");
|
|
120
|
-
const DestylerToggleGroupRoot = defineComponent({
|
|
121
|
-
name: "DestylerToggleGroupRoot",
|
|
122
|
-
props: destylerToggleGroupRootProps,
|
|
123
|
-
emits: ["update:modelValue"],
|
|
124
|
-
setup(props, { emit }) {
|
|
125
|
-
const { loop, rovingFocus, disabled, dir: propDir } = toRefs(props);
|
|
126
|
-
const dir = useDirection(propDir);
|
|
127
|
-
const { forwardRef } = useForwardExpose();
|
|
128
|
-
const { modelValue, changeModelValue } = useSingleOrMultipleValue(props, emit);
|
|
129
|
-
provideToggleGroupRootContext({
|
|
130
|
-
type: props.type,
|
|
131
|
-
modelValue,
|
|
132
|
-
changeModelValue,
|
|
133
|
-
dir,
|
|
134
|
-
orientation: props.orientation,
|
|
135
|
-
loop,
|
|
136
|
-
rovingFocus,
|
|
137
|
-
disabled
|
|
138
|
-
});
|
|
139
|
-
return {
|
|
140
|
-
rovingFocus,
|
|
141
|
-
dir,
|
|
142
|
-
loop,
|
|
143
|
-
forwardRef
|
|
144
|
-
};
|
|
145
|
-
},
|
|
146
|
-
render() {
|
|
147
|
-
return h(this.rovingFocus ? DestylerRovingFocusGroup : DestylerPrimitive, {
|
|
148
|
-
asChild: true,
|
|
149
|
-
orientation: this.rovingFocus ? this.$props.orientation : void 0,
|
|
150
|
-
dir: this.dir,
|
|
151
|
-
loop: this.rovingFocus ? this.loop : void 0
|
|
152
|
-
}, () => h(DestylerPrimitive, {
|
|
153
|
-
ref: (el) => this.forwardRef(el),
|
|
154
|
-
role: "group",
|
|
155
|
-
as: this.$props.as,
|
|
156
|
-
asChild: this.$props.asChild
|
|
157
|
-
}, () => this.$slots.default?.()));
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
const destylerToggleGroupItemProps = {
|
|
162
|
-
...destylerToggleProps,
|
|
163
|
-
value: {
|
|
164
|
-
type: String,
|
|
165
|
-
required: true
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
const DestylerToggleGroupItem = defineComponent({
|
|
169
|
-
name: "DestylerToggleGroupItem",
|
|
170
|
-
props: destylerToggleGroupItemProps,
|
|
171
|
-
setup(props) {
|
|
172
|
-
const rootContext = injectToggleGroupRootContext();
|
|
173
|
-
const disabled = computed(() => rootContext.disabled?.value || props.disabled);
|
|
174
|
-
const pressed = computed(() => rootContext.modelValue.value?.includes(props.value));
|
|
175
|
-
const { forwardRef } = useForwardExpose();
|
|
176
|
-
return {
|
|
177
|
-
rootContext,
|
|
178
|
-
disabled,
|
|
179
|
-
pressed,
|
|
180
|
-
forwardRef
|
|
181
|
-
};
|
|
182
|
-
},
|
|
183
|
-
render() {
|
|
184
|
-
return h(this.rootContext.rovingFocus.value ? DestylerRovingFocusItem : DestylerPrimitive, {
|
|
185
|
-
asChild: true,
|
|
186
|
-
focusable: !this.disabled,
|
|
187
|
-
active: this.pressed
|
|
188
|
-
}, () => h(DestylerToggle, mergeProps(this.$props, {
|
|
189
|
-
"ref": (el) => this.forwardRef(el),
|
|
190
|
-
"disabled": this.disabled,
|
|
191
|
-
"pressed": this.rootContext.type === "single" ? this.rootContext.modelValue.value === this.$props.value : this.rootContext.modelValue.value?.includes(this.$props.value),
|
|
192
|
-
"onUpdate:pressed": () => {
|
|
193
|
-
this.rootContext.changeModelValue(this.$props.value);
|
|
194
|
-
}
|
|
195
|
-
}), () => this.$slots.default?.()));
|
|
196
|
-
}
|
|
197
|
-
});
|
|
198
|
-
|
|
199
|
-
export { DestylerToggle, DestylerToggleGroupItem, DestylerToggleGroupRoot };
|
|
1
|
+
export { Toggle, ToggleGroupItem, ToggleGroupRoot, toggleGroupItemProps, toggleGroupRootProps, toggleProps } from './component.mjs';
|
|
2
|
+
import 'vue';
|
|
3
|
+
import '@destyler/primitive';
|
|
4
|
+
import '@destyler/composition';
|
|
5
|
+
import '@destyler/shared';
|
|
6
|
+
import '@destyler/roving-focus';
|
package/dist/resolver.cjs
CHANGED
|
@@ -4,9 +4,11 @@ const name = "@destyler/toggle";
|
|
|
4
4
|
|
|
5
5
|
const packageName = name;
|
|
6
6
|
const toggleComponentName = [
|
|
7
|
-
"
|
|
7
|
+
"Toggle",
|
|
8
|
+
"ToggleGroupRoot",
|
|
9
|
+
"ToggleGroupItem"
|
|
8
10
|
];
|
|
9
|
-
function
|
|
11
|
+
function ToggleResolver() {
|
|
10
12
|
return {
|
|
11
13
|
type: "component",
|
|
12
14
|
resolve: (name2) => {
|
|
@@ -16,5 +18,5 @@ function DestylerToggleResolver() {
|
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
exports.
|
|
21
|
+
exports.ToggleResolver = ToggleResolver;
|
|
20
22
|
exports.toggleComponentName = toggleComponentName;
|
package/dist/resolver.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
2
|
|
|
3
3
|
declare const toggleComponentName: string[];
|
|
4
|
-
declare function
|
|
4
|
+
declare function ToggleResolver(): ComponentResolver;
|
|
5
5
|
|
|
6
|
-
export {
|
|
6
|
+
export { ToggleResolver, toggleComponentName };
|
package/dist/resolver.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
2
|
|
|
3
3
|
declare const toggleComponentName: string[];
|
|
4
|
-
declare function
|
|
4
|
+
declare function ToggleResolver(): ComponentResolver;
|
|
5
5
|
|
|
6
|
-
export {
|
|
6
|
+
export { ToggleResolver, toggleComponentName };
|
package/dist/resolver.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
2
|
|
|
3
3
|
declare const toggleComponentName: string[];
|
|
4
|
-
declare function
|
|
4
|
+
declare function ToggleResolver(): ComponentResolver;
|
|
5
5
|
|
|
6
|
-
export {
|
|
6
|
+
export { ToggleResolver, toggleComponentName };
|
package/dist/resolver.mjs
CHANGED
|
@@ -2,9 +2,11 @@ const name = "@destyler/toggle";
|
|
|
2
2
|
|
|
3
3
|
const packageName = name;
|
|
4
4
|
const toggleComponentName = [
|
|
5
|
-
"
|
|
5
|
+
"Toggle",
|
|
6
|
+
"ToggleGroupRoot",
|
|
7
|
+
"ToggleGroupItem"
|
|
6
8
|
];
|
|
7
|
-
function
|
|
9
|
+
function ToggleResolver() {
|
|
8
10
|
return {
|
|
9
11
|
type: "component",
|
|
10
12
|
resolve: (name2) => {
|
|
@@ -14,4 +16,4 @@ function DestylerToggleResolver() {
|
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
export {
|
|
19
|
+
export { ToggleResolver, toggleComponentName };
|