@varlet/ui 3.16.2 → 3.17.1

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 (43) hide show
  1. package/README.md +1 -1
  2. package/README.zh-CN.md +1 -1
  3. package/es/action-sheet/style/index.mjs +1 -1
  4. package/es/index.bundle.mjs +13 -1
  5. package/es/index.mjs +11 -1
  6. package/es/segmented-button/SegmentedButton.mjs +141 -0
  7. package/es/segmented-button/SegmentedButtonSfc.css +0 -0
  8. package/es/segmented-button/index.mjs +12 -0
  9. package/es/segmented-button/props.mjs +17 -0
  10. package/es/segmented-button/provide.mjs +16 -0
  11. package/es/segmented-button/segmentedButton.css +1 -0
  12. package/es/segmented-button/style/index.mjs +5 -0
  13. package/es/segmented-buttons/SegmentedButtons.mjs +218 -0
  14. package/es/segmented-buttons/SegmentedButtonsSfc.css +0 -0
  15. package/es/segmented-buttons/index.mjs +12 -0
  16. package/es/segmented-buttons/props.mjs +38 -0
  17. package/es/segmented-buttons/provide.mjs +16 -0
  18. package/es/segmented-buttons/segmentedButtons.css +1 -0
  19. package/es/segmented-buttons/style/index.mjs +7 -0
  20. package/es/snackbar/style/index.mjs +1 -1
  21. package/es/style.mjs +2 -0
  22. package/es/themes/dark/index.mjs +4 -2
  23. package/es/themes/dark/segmentedButton.mjs +22 -0
  24. package/es/themes/dark/segmentedButtons.mjs +11 -0
  25. package/es/themes/md3-dark/index.mjs +4 -2
  26. package/es/themes/md3-dark/segmentedButton.mjs +22 -0
  27. package/es/themes/md3-dark/segmentedButtons.mjs +11 -0
  28. package/es/themes/md3-light/index.mjs +4 -2
  29. package/es/themes/md3-light/segmentedButton.mjs +22 -0
  30. package/es/themes/md3-light/segmentedButtons.mjs +11 -0
  31. package/es/utils/components.mjs +1 -1
  32. package/es/varlet.css +1 -1
  33. package/es/varlet.esm.js +7721 -8288
  34. package/highlight/web-types.en-US.json +156 -1
  35. package/highlight/web-types.zh-CN.json +156 -1
  36. package/lib/varlet.cjs.js +1985 -2667
  37. package/lib/varlet.css +1 -1
  38. package/package.json +7 -7
  39. package/types/index.d.ts +4 -0
  40. package/types/segmentedButton.d.ts +33 -0
  41. package/types/segmentedButtons.d.ts +58 -0
  42. package/types/styleVars.d.ts +23 -0
  43. package/umd/varlet.js +7 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varlet/ui",
3
- "version": "3.16.2",
3
+ "version": "3.17.1",
4
4
  "description": "A Vue3 component library based on Material Design 2 and 3, supporting mobile and desktop.",
5
5
  "keywords": [
6
6
  "Vue3",
@@ -44,9 +44,9 @@
44
44
  "@popperjs/core": "^2.11.6",
45
45
  "dayjs": "^1.10.4",
46
46
  "decimal.js": "^10.2.1",
47
- "@varlet/icons": "3.16.2",
48
- "@varlet/use": "3.16.2",
49
- "@varlet/shared": "3.16.2"
47
+ "@varlet/icons": "3.17.1",
48
+ "@varlet/use": "3.17.1",
49
+ "@varlet/shared": "3.17.1"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@types/node": "^20.19.0",
@@ -62,9 +62,9 @@
62
62
  "vue": "3.5.21",
63
63
  "vue-router": "4.5.1",
64
64
  "zod": "^3.23.8",
65
- "@varlet/ui": "3.16.2",
66
- "@varlet/cli": "3.16.2",
67
- "@varlet/touch-emulator": "3.16.2"
65
+ "@varlet/ui": "3.17.1",
66
+ "@varlet/cli": "3.17.1",
67
+ "@varlet/touch-emulator": "3.17.1"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "vue": "^3.2.0"
package/types/index.d.ts CHANGED
@@ -74,6 +74,8 @@ export * from './rate'
74
74
  export * from './result'
75
75
  export * from './ripple'
76
76
  export * from './row'
77
+ export * from './segmentedButton'
78
+ export * from './segmentedButtons'
77
79
  export * from './select'
78
80
  export * from './signature'
79
81
  export * from './skeleton'
@@ -171,6 +173,8 @@ declare module 'vue' {
171
173
  VarRate: typeof import('@varlet/ui')['_RateComponent']
172
174
  VarResult: typeof import('@varlet/ui')['_ResultComponent']
173
175
  VarRow: typeof import('@varlet/ui')['_RowComponent']
176
+ VarSegmentedButton: typeof import('@varlet/ui')['_SegmentedButtonComponent']
177
+ VarSegmentedButtons: typeof import('@varlet/ui')['_SegmentedButtonsComponent']
174
178
  VarSelect: typeof import('@varlet/ui')['_SelectComponent']
175
179
  VarSignature: typeof import('@varlet/ui')['_SignatureComponent']
176
180
  VarSkeleton: typeof import('@varlet/ui')['_SkeletonComponent']
@@ -0,0 +1,33 @@
1
+ import { VNode } from 'vue'
2
+ import { BasicAttributes, ListenerProp, SetPropsDefaults, VarComponent } from './varComponent'
3
+
4
+ export declare const segmentedButtonProps: Record<keyof SegmentedButtonProps, any>
5
+
6
+ export interface SegmentedButtonProps extends BasicAttributes {
7
+ checkedValue?: any
8
+ disabled?: boolean
9
+ readonly?: boolean
10
+ ripple?: boolean
11
+ onClick?: ListenerProp<(e: Event) => void>
12
+ }
13
+
14
+ export interface SegmentedButtonDefaultData {
15
+ checked: boolean
16
+ }
17
+
18
+ export interface SegmentedButtonCheckmarkData {
19
+ checked: boolean
20
+ }
21
+
22
+ export class SegmentedButton extends VarComponent {
23
+ static setPropsDefaults: SetPropsDefaults<SegmentedButtonProps>
24
+
25
+ $props: SegmentedButtonProps
26
+
27
+ $slots: {
28
+ checkmark(data: SegmentedButtonCheckmarkData): VNode[]
29
+ default(data: SegmentedButtonDefaultData): VNode[]
30
+ }
31
+ }
32
+
33
+ export class _SegmentedButtonComponent extends SegmentedButton {}
@@ -0,0 +1,58 @@
1
+ import { VNode, VNodeChild } from 'vue'
2
+ import {
3
+ BasicAttributes,
4
+ ListenerProp,
5
+ Rules as SegmentedButtonsRules,
6
+ SetPropsDefaults,
7
+ Size as SegmentedButtonsSize,
8
+ VarComponent,
9
+ } from './varComponent'
10
+
11
+ export declare const segmentedButtonsProps: Record<keyof SegmentedButtonsProps, any>
12
+
13
+ export type SegmentedButtonsValidateTrigger = 'onClick' | 'onChange'
14
+
15
+ export type SegmentedButtonsOptionLabelRender = (option: SegmentedButtonsOption, checked: boolean) => VNodeChild
16
+
17
+ export interface SegmentedButtonsOption {
18
+ label?: string | VNode | SegmentedButtonsOptionLabelRender
19
+ value?: any
20
+ disabled?: boolean
21
+ ripple?: boolean
22
+
23
+ [key: PropertyKey]: any
24
+ }
25
+
26
+ export { SegmentedButtonsSize }
27
+
28
+ export interface SegmentedButtonsProps extends BasicAttributes {
29
+ modelValue?: any | any[]
30
+ options?: SegmentedButtonsOption[]
31
+ labelKey?: string
32
+ valueKey?: string
33
+ multiple?: boolean
34
+ checkmark?: boolean
35
+ size?: SegmentedButtonsSize
36
+ validateTrigger?: SegmentedButtonsValidateTrigger[]
37
+ rules?: SegmentedButtonsRules
38
+ onChange?: ListenerProp<(value: any | any[]) => void>
39
+ 'onUpdate:modelValue'?: ListenerProp<(value: any | any[]) => void>
40
+ }
41
+
42
+ export class SegmentedButtons extends VarComponent {
43
+ static setPropsDefaults: SetPropsDefaults<SegmentedButtonsProps>
44
+
45
+ $props: SegmentedButtonsProps
46
+
47
+ $slots: {
48
+ default(): VNode[]
49
+ }
50
+
51
+ validate(): Promise<boolean>
52
+
53
+ resetValidation(): void
54
+
55
+ reset(): void
56
+ }
57
+
58
+ export class _SegmentedButtonsComponent extends SegmentedButtons {}
@@ -592,6 +592,29 @@ interface BaseStyleVars {
592
592
  '--result-description-line-height'?: string
593
593
  '--ripple-cubic-bezier'?: string
594
594
  '--ripple-color'?: string
595
+ '--segmented-buttons-border-color'?: string
596
+ '--segmented-buttons-border-radius'?: string
597
+ '--segmented-buttons-border-width'?: string
598
+ '--segmented-buttons-error-border-color'?: string
599
+ '--segmented-buttons-error-color'?: string
600
+ '--segmented-buttons-error-checked-background'?: string
601
+ '--segmented-button-text-color'?: string
602
+ '--segmented-button-checked-background'?: string
603
+ '--segmented-button-checked-text-color'?: string
604
+ '--segmented-button-disabled-background'?: string
605
+ '--segmented-button-disabled-color'?: string
606
+ '--segmented-button-mini-padding'?: string
607
+ '--segmented-button-small-padding'?: string
608
+ '--segmented-button-normal-padding'?: string
609
+ '--segmented-button-large-padding'?: string
610
+ '--segmented-button-mini-height'?: string
611
+ '--segmented-button-small-height'?: string
612
+ '--segmented-button-normal-height'?: string
613
+ '--segmented-button-large-height'?: string
614
+ '--segmented-button-mini-font-size'?: string
615
+ '--segmented-button-small-font-size'?: string
616
+ '--segmented-button-normal-font-size'?: string
617
+ '--segmented-button-large-font-size'?: string
595
618
  '--select-scroller-background'?: string
596
619
  '--select-scroller-padding'?: string
597
620
  '--select-scroller-max-height'?: string