@destyler/toggle 0.0.3 → 0.0.5

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/index.d.ts CHANGED
@@ -1,369 +1,4 @@
1
- import * as vue from 'vue';
2
- import { PropType, Component, Ref } from 'vue';
3
- import * as _destyler_primitive from '@destyler/primitive';
4
- import { AsTag } from '@destyler/primitive';
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
- import { defineComponent, computed, h, toRefs, mergeProps } from 'vue';
2
- import { DestylerPrimitive } from '@destyler/primitive';
3
- import { useForwardExpose, useVModel, useDirection, useSingleOrMultipleValue } from '@destyler/composition';
4
- import { createContext } from '@destyler/shared';
5
- import { DestylerRovingFocusGroup, DestylerRovingFocusItem } from '@destyler/roving-focus';
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
- "DestylerToggle"
7
+ "Toggle",
8
+ "ToggleGroupRoot",
9
+ "ToggleGroupItem"
8
10
  ];
9
- function DestylerToggleResolver() {
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.DestylerToggleResolver = DestylerToggleResolver;
21
+ exports.ToggleResolver = ToggleResolver;
20
22
  exports.toggleComponentName = toggleComponentName;
@@ -1,6 +1,6 @@
1
1
  import { ComponentResolver } from 'unplugin-vue-components';
2
2
 
3
3
  declare const toggleComponentName: string[];
4
- declare function DestylerToggleResolver(): ComponentResolver;
4
+ declare function ToggleResolver(): ComponentResolver;
5
5
 
6
- export { DestylerToggleResolver, toggleComponentName };
6
+ export { ToggleResolver, toggleComponentName };
@@ -1,6 +1,6 @@
1
1
  import { ComponentResolver } from 'unplugin-vue-components';
2
2
 
3
3
  declare const toggleComponentName: string[];
4
- declare function DestylerToggleResolver(): ComponentResolver;
4
+ declare function ToggleResolver(): ComponentResolver;
5
5
 
6
- export { DestylerToggleResolver, toggleComponentName };
6
+ export { ToggleResolver, toggleComponentName };
@@ -1,6 +1,6 @@
1
1
  import { ComponentResolver } from 'unplugin-vue-components';
2
2
 
3
3
  declare const toggleComponentName: string[];
4
- declare function DestylerToggleResolver(): ComponentResolver;
4
+ declare function ToggleResolver(): ComponentResolver;
5
5
 
6
- export { DestylerToggleResolver, toggleComponentName };
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
- "DestylerToggle"
5
+ "Toggle",
6
+ "ToggleGroupRoot",
7
+ "ToggleGroupItem"
6
8
  ];
7
- function DestylerToggleResolver() {
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 { DestylerToggleResolver, toggleComponentName };
19
+ export { ToggleResolver, toggleComponentName };