@sdata/web-vue 1.7.1 → 1.9.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.
Files changed (155) hide show
  1. package/dist/sd.css +182 -1
  2. package/dist/sd.min.css +1 -1
  3. package/es/_components/input-label/input-label.js +30 -24
  4. package/es/_components/select-view/interface.d.ts +1 -0
  5. package/es/_components/select-view/select-view.d.ts +12 -3
  6. package/es/_components/select-view/select-view.js +38 -28
  7. package/es/_components/select-view/style/index.css +45 -0
  8. package/es/_hooks/use-allow-clear.d.ts +4 -0
  9. package/es/_hooks/use-allow-clear.js +20 -0
  10. package/es/_hooks/use-trigger.d.ts +4 -6
  11. package/es/_hooks/use-trigger.js +7 -5
  12. package/es/_utils/color.js +1 -18
  13. package/es/auto-complete/auto-complete.d.ts +1 -1
  14. package/es/auto-complete/auto-complete.js +4 -2
  15. package/es/auto-complete/index.d.ts +3 -3
  16. package/es/badge/badge.d.ts +1 -1
  17. package/es/badge/index.d.ts +3 -3
  18. package/es/carousel/carousel-arrow.vue.d.ts +1 -1
  19. package/es/carousel/carousel.d.ts +2 -2
  20. package/es/carousel/index.d.ts +6 -6
  21. package/es/cascader/cascader-panel.vue.d.ts +2 -2
  22. package/es/cascader/cascader.js +1 -1
  23. package/es/cascader/cascader.vue.d.ts +21 -11
  24. package/es/cascader/cascader.vue_vue_type_script_lang.js +4 -1
  25. package/es/cascader/index.d.ts +47 -26
  26. package/es/color-picker/color-picker.d.ts +115 -40
  27. package/es/color-picker/color-picker.js +146 -102
  28. package/es/color-picker/index.d.ts +217 -69
  29. package/es/color-picker/interface.d.ts +41 -0
  30. package/es/color-picker/palette.js +1 -1
  31. package/es/color-picker/panel.d.ts +73 -34
  32. package/es/color-picker/panel.js +423 -89
  33. package/es/color-picker/style/index.css +92 -1
  34. package/es/color-picker/style/index.scss +107 -1
  35. package/es/color-picker/utils.d.ts +89 -0
  36. package/es/color-picker/utils.js +456 -0
  37. package/es/config-provider/config-provider.vue.d.ts +10 -1
  38. package/es/config-provider/config-provider.vue_vue_type_script_lang.js +6 -1
  39. package/es/config-provider/context.d.ts +1 -0
  40. package/es/config-provider/index.d.ts +18 -3
  41. package/es/date-picker/index.d.ts +7 -6
  42. package/es/date-picker/picker.js +1 -1
  43. package/es/date-picker/picker.vue.d.ts +7 -6
  44. package/es/date-picker/picker.vue_vue_type_script_lang.js +4 -1
  45. package/es/date-picker/range-picker.js +1 -1
  46. package/es/date-picker/range-picker.vue.d.ts +7 -6
  47. package/es/date-picker/range-picker.vue_vue_type_script_lang.js +4 -1
  48. package/es/descriptions/descriptions.d.ts +2 -2
  49. package/es/descriptions/index.d.ts +6 -6
  50. package/es/drawer/drawer.vue_vue_type_script_lang.js +1 -1
  51. package/es/dropdown/dropdown-button.vue.d.ts +8 -8
  52. package/es/dropdown/dropdown-panel.vue.d.ts +2 -2
  53. package/es/dropdown/dropdown-submenu.vue.d.ts +8 -8
  54. package/es/dropdown/dropdown.vue.d.ts +8 -8
  55. package/es/dropdown/index.d.ts +32 -32
  56. package/es/ellipsis/ellipsis.vue.d.ts +13 -13
  57. package/es/ellipsis/ellipsis.vue_vue_type_script_lang.js +1 -1
  58. package/es/ellipsis/index.d.ts +56 -56
  59. package/es/ellipsis/performant-ellipsis.vue.d.ts +14 -14
  60. package/es/form/form-item-label.vue.d.ts +12 -12
  61. package/es/form/form-item.vue.d.ts +12 -12
  62. package/es/form/index.d.ts +12 -12
  63. package/es/grid/grid.vue.d.ts +1 -1
  64. package/es/grid/index.d.ts +3 -3
  65. package/es/image/image.vue.d.ts +12 -12
  66. package/es/image/preview-action.d.ts +12 -12
  67. package/es/image/preview-group.vue.d.ts +12 -12
  68. package/es/image/preview-toolbar.vue.d.ts +12 -12
  69. package/es/image/preview.vue.d.ts +12 -12
  70. package/es/index.css +182 -1
  71. package/es/index.js +2 -2
  72. package/es/input/input.js +4 -2
  73. package/es/input-number/input-number.js +4 -2
  74. package/es/input-tag/index.d.ts +6 -6
  75. package/es/input-tag/input-tag.d.ts +3 -3
  76. package/es/input-tag/input-tag.js +183 -32
  77. package/es/input-tag/style/index.css +45 -0
  78. package/es/input-tag/style/input-tag.scss +53 -0
  79. package/es/list/index.d.ts +3 -3
  80. package/es/list/list.d.ts +1 -1
  81. package/es/mention/mention.js +4 -2
  82. package/es/menu/sub-menu-pop.vue.d.ts +6 -6
  83. package/es/modal/modal.vue_vue_type_script_lang.js +1 -1
  84. package/es/overflow-list/index.d.ts +3 -3
  85. package/es/overflow-list/overflow-list.d.ts +1 -1
  86. package/es/pagination/page-options.vue.d.ts +188 -98
  87. package/es/popconfirm/index.d.ts +12 -12
  88. package/es/popconfirm/popconfirm.vue.d.ts +6 -6
  89. package/es/popover/index.d.ts +12 -12
  90. package/es/popover/popover.vue.d.ts +6 -6
  91. package/es/progress/index.d.ts +5 -5
  92. package/es/progress/line.vue.d.ts +1 -1
  93. package/es/progress/progress.vue.d.ts +2 -2
  94. package/es/rate/rate.js +4 -2
  95. package/es/scrollbar/index.d.ts +2 -2
  96. package/es/scrollbar/scrollbar.vue.d.ts +1 -1
  97. package/es/scrollbar/thumb.vue.d.ts +1 -1
  98. package/es/sd-vue.js +2 -2
  99. package/es/select/hooks/use-options.d.ts +9 -4
  100. package/es/select/hooks/use-options.js +2 -2
  101. package/es/select/hooks/use-select.d.ts +9 -4
  102. package/es/select/index.d.ts +188 -98
  103. package/es/select/interface.d.ts +57 -46
  104. package/es/select/select-dropdown.vue.d.ts +2 -2
  105. package/es/select/select.d.ts +107 -59
  106. package/es/select/select.js +182 -126
  107. package/es/select/utils.d.ts +1 -1
  108. package/es/select/utils.js +28 -10
  109. package/es/skeleton/index.d.ts +1 -1
  110. package/es/skeleton/line.vue.d.ts +1 -1
  111. package/es/slider/index.d.ts +27 -27
  112. package/es/slider/slider-button.vue.d.ts +12 -12
  113. package/es/slider/slider.vue.d.ts +13 -13
  114. package/es/space/index.d.ts +3 -3
  115. package/es/space/space.d.ts +1 -1
  116. package/es/statistic/index.d.ts +6 -6
  117. package/es/statistic/statistic.vue.d.ts +2 -2
  118. package/es/table/index.d.ts +6 -6
  119. package/es/table/table.d.ts +2 -2
  120. package/es/tabs/index.d.ts +9 -9
  121. package/es/tabs/tabs.d.ts +3 -3
  122. package/es/tag/index.d.ts +3 -3
  123. package/es/tag/tag.vue.d.ts +1 -1
  124. package/es/textarea/index.d.ts +3 -3
  125. package/es/textarea/textarea.vue.d.ts +1 -1
  126. package/es/textarea/textarea.vue_vue_type_script_lang.js +6 -2
  127. package/es/time-picker/index.d.ts +15 -12
  128. package/es/time-picker/time-picker.js +1 -1
  129. package/es/time-picker/time-picker.vue.d.ts +7 -6
  130. package/es/time-picker/time-picker.vue_vue_type_script_lang.js +4 -1
  131. package/es/tooltip/index.d.ts +12 -12
  132. package/es/tooltip/tooltip.vue.d.ts +6 -6
  133. package/es/transfer/index.d.ts +10 -10
  134. package/es/transfer/transfer-view.vue.d.ts +5 -5
  135. package/es/transfer/transfer.vue.d.ts +5 -5
  136. package/es/tree/index.d.ts +6 -6
  137. package/es/tree/tree.vue.d.ts +2 -2
  138. package/es/tree-select/hooks/use-selected-state.d.ts +2 -0
  139. package/es/tree-select/hooks/use-selected-state.js +26 -8
  140. package/es/tree-select/index.d.ts +268 -61
  141. package/es/tree-select/interface.d.ts +16 -3
  142. package/es/tree-select/panel.d.ts +6 -6
  143. package/es/tree-select/tree-select.js +29 -16
  144. package/es/tree-select/tree-select.vue.d.ts +144 -30
  145. package/es/tree-select/tree-select.vue_vue_type_script_lang.js +102 -22
  146. package/es/trigger/index.d.ts +6 -6
  147. package/es/trigger/trigger.d.ts +2 -2
  148. package/es/typography/operations.vue.d.ts +12 -12
  149. package/json/vetur-attributes.json +82 -178
  150. package/json/vetur-tags.json +24 -52
  151. package/json/web-types.json +164 -387
  152. package/package.json +9 -7
  153. package/es/color-picker/input-alpha.js +0 -32
  154. package/es/color-picker/input-hex.js +0 -73
  155. package/es/color-picker/input-rgb.js +0 -55
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdata/web-vue",
3
- "version": "1.7.1",
3
+ "version": "1.9.0",
4
4
  "description": "SD Design Vue: A Vue.js 3 UI Library",
5
5
  "keywords": [
6
6
  "sd",
@@ -69,21 +69,23 @@
69
69
  "@semantic-release/git": "^10.0.1",
70
70
  "@semantic-release/github": "^12.0.6",
71
71
  "@semantic-release/release-notes-generator": "^14.1.0",
72
+ "@types/clean-css": "^4.2.11",
72
73
  "@vitejs/plugin-vue": "^6.0.6",
73
74
  "@vitejs/plugin-vue-jsx": "^5.1.5",
74
- "@vue/test-utils": "^2.4.6",
75
+ "@vue/test-utils": "^2.4.10",
76
+ "@vueuse/core": "^14.2.1",
75
77
  "clean-css": "^5.3.3",
76
78
  "fast-glob": "^3.3.3",
77
79
  "glob": "^13.0.6",
78
80
  "jest-serializer-vue": "^3.1.0",
79
- "jsdom": "^29.0.2",
80
- "sass": "^1.94.0",
81
+ "jsdom": "^29.1.1",
82
+ "sass": "^1.99.0",
81
83
  "semantic-release": "^25.0.3",
82
84
  "svgo": "^4.0.1",
83
- "typescript": "^6.0.2",
85
+ "typescript": "^6.0.3",
84
86
  "vite": "^8.0.8",
85
- "vite-plus": "^0.1.17",
86
- "vitest": "^4.1.4",
87
+ "vite-plus": "^0.1.20",
88
+ "vitest": "^4.1.5",
87
89
  "vue-docgen-api": "4.79.2",
88
90
  "vue-tsc": "^3.2.6"
89
91
  },
@@ -1,32 +0,0 @@
1
- import { getPrefixCls } from "../_utils/global-config.js";
2
- import InputNumber from "../input-number/index.js";
3
- import { createVNode, defineComponent } from "vue";
4
- //#region components/color-picker/input-alpha.tsx
5
- var input_alpha_default = /* @__PURE__ */ defineComponent({
6
- name: "InputAlpha",
7
- props: {
8
- value: {
9
- type: Number,
10
- required: true
11
- },
12
- disabled: Boolean,
13
- onChange: Function
14
- },
15
- setup(props) {
16
- const prefixCls = getPrefixCls("color-picker");
17
- return () => createVNode(InputNumber, {
18
- "class": `${prefixCls}-input-alpha`,
19
- "size": "mini",
20
- "min": 0,
21
- "max": 100,
22
- "disabled": props.disabled,
23
- "modelValue": Math.round(props.value * 100),
24
- "onChange": (a = 100) => {
25
- var _props$onChange;
26
- return (_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, a / 100);
27
- }
28
- }, { suffix: () => "%" });
29
- }
30
- });
31
- //#endregion
32
- export { input_alpha_default as default };
@@ -1,73 +0,0 @@
1
- import { getPrefixCls } from "../_utils/global-config.js";
2
- import input_group_default from "../input/input-group.js";
3
- import useState from "../_hooks/use-state.js";
4
- import Input from "../input/index.js";
5
- import { hexToRgb, rgbToHsv } from "../_utils/color.js";
6
- import input_alpha_default from "./input-alpha.js";
7
- import { createVNode, defineComponent, toRefs, watch } from "vue";
8
- //#region components/color-picker/input-hex.tsx
9
- var input_hex_default = /* @__PURE__ */ defineComponent({
10
- name: "InputHex",
11
- props: {
12
- color: {
13
- type: Object,
14
- required: true
15
- },
16
- alpha: {
17
- type: Number,
18
- required: true
19
- },
20
- disabled: Boolean,
21
- disabledAlpha: Boolean,
22
- onHsvChange: Function,
23
- onAlphaChange: Function
24
- },
25
- setup(props) {
26
- const prefixCls = getPrefixCls("color-picker");
27
- const { color } = toRefs(props);
28
- const [hex, setHex] = useState(color.value.hex);
29
- const handlerChange = (value) => {
30
- var _props$onHsvChange;
31
- const _rgb = hexToRgb(value) || {
32
- r: 255,
33
- g: 0,
34
- b: 0
35
- };
36
- const hsv = rgbToHsv(_rgb.r, _rgb.g, _rgb.b);
37
- (_props$onHsvChange = props.onHsvChange) === null || _props$onHsvChange === void 0 || _props$onHsvChange.call(props, hsv);
38
- };
39
- const onInputChange = (value) => {
40
- var _value$match$join, _value$match;
41
- const matchValue = (_value$match$join = (_value$match = value.match(/[a-fA-F0-9]*/g)) === null || _value$match === void 0 ? void 0 : _value$match.join("")) !== null && _value$match$join !== void 0 ? _value$match$join : "";
42
- if (matchValue !== color.value.hex) handlerChange(matchValue.toUpperCase());
43
- };
44
- const onPaste = (ev) => {
45
- if (!ev.clipboardData) return;
46
- let text = ev.clipboardData.getData("Text");
47
- if (text.startsWith("#")) text = text.slice(1);
48
- onInputChange(text);
49
- ev.preventDefault();
50
- };
51
- watch(color, () => {
52
- if (color.value.hex !== hex.value) setHex(color.value.hex);
53
- });
54
- return () => createVNode(input_group_default, { "class": `${prefixCls}-input-group` }, { default: () => [createVNode(Input, {
55
- "class": `${prefixCls}-input-hex`,
56
- "size": "mini",
57
- "maxLength": 6,
58
- "disabled": props.disabled,
59
- "modelValue": hex.value,
60
- "onInput": setHex,
61
- "onChange": onInputChange,
62
- "onBlur": () => handlerChange,
63
- "onPressEnter": () => handlerChange,
64
- "onPaste": onPaste
65
- }, { prefix: () => "#" }), !props.disabledAlpha && createVNode(input_alpha_default, {
66
- "disabled": props.disabled,
67
- "value": props.alpha,
68
- "onChange": props.onAlphaChange
69
- }, null)] });
70
- }
71
- });
72
- //#endregion
73
- export { input_hex_default as default };
@@ -1,55 +0,0 @@
1
- import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.124.0/helpers/objectSpread2.js";
2
- import { getPrefixCls } from "../_utils/global-config.js";
3
- import input_group_default from "../input/input-group.js";
4
- import { rgbToHsv } from "../_utils/color.js";
5
- import InputNumber from "../input-number/index.js";
6
- import input_alpha_default from "./input-alpha.js";
7
- import { createVNode, defineComponent, toRefs } from "vue";
8
- //#region components/color-picker/input-rgb.tsx
9
- var input_rgb_default = /* @__PURE__ */ defineComponent({
10
- name: "InputRgb",
11
- props: {
12
- color: {
13
- type: Object,
14
- required: true
15
- },
16
- alpha: {
17
- type: Number,
18
- required: true
19
- },
20
- disabled: Boolean,
21
- disabledAlpha: Boolean,
22
- onHsvChange: Function,
23
- onAlphaChange: Function
24
- },
25
- setup(props) {
26
- const prefixCls = getPrefixCls("color-picker");
27
- const { color } = toRefs(props);
28
- const handleChange = (value) => {
29
- var _props$onHsvChange;
30
- const newRGB = _objectSpread2(_objectSpread2({}, color.value.rgb), value);
31
- const hsv = rgbToHsv(newRGB.r, newRGB.g, newRGB.b);
32
- (_props$onHsvChange = props.onHsvChange) === null || _props$onHsvChange === void 0 || _props$onHsvChange.call(props, hsv);
33
- };
34
- return () => createVNode(input_group_default, { "class": `${prefixCls}-input-group` }, { default: () => [[
35
- "r",
36
- "g",
37
- "b"
38
- ].map((channel) => createVNode(InputNumber, {
39
- "key": channel,
40
- "size": "mini",
41
- "min": 0,
42
- "max": 255,
43
- "disabled": props.disabled,
44
- "modelValue": color.value.rgb[channel],
45
- "hideButton": true,
46
- "onChange": (val = 0) => handleChange({ [channel]: val })
47
- }, null)), !props.disabledAlpha && createVNode(input_alpha_default, {
48
- "disabled": props.disabled,
49
- "value": props.alpha,
50
- "onChange": props.onAlphaChange
51
- }, null)] });
52
- }
53
- });
54
- //#endregion
55
- export { input_rgb_default as default };