vue-devui 1.0.0-rc.5 → 1.0.0-rc.8

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 (153) hide show
  1. package/README.md +22 -8
  2. package/alert/index.es.js +37 -11
  3. package/alert/index.umd.js +1 -1
  4. package/alert/style.css +1 -1
  5. package/auto-complete/index.es.js +72 -26
  6. package/auto-complete/index.umd.js +5 -5
  7. package/auto-complete/style.css +1 -1
  8. package/avatar/index.es.js +32 -6
  9. package/avatar/index.umd.js +1 -1
  10. package/avatar/style.css +1 -1
  11. package/badge/index.es.js +29 -4
  12. package/badge/index.umd.js +1 -1
  13. package/badge/style.css +1 -1
  14. package/button/index.es.js +5548 -76
  15. package/button/index.umd.js +27 -1
  16. package/button/style.css +1 -1
  17. package/card/index.es.js +56 -29
  18. package/card/index.umd.js +1 -1
  19. package/card/style.css +1 -1
  20. package/checkbox/index.es.js +48 -30
  21. package/checkbox/index.umd.js +1 -1
  22. package/checkbox/style.css +1 -1
  23. package/date-picker/index.es.js +91 -145
  24. package/date-picker/index.umd.js +1 -1
  25. package/date-picker/style.css +1 -1
  26. package/drawer/index.es.js +28 -3
  27. package/drawer/index.umd.js +1 -1
  28. package/drawer/style.css +1 -1
  29. package/dropdown/index.es.js +39 -13
  30. package/dropdown/index.umd.js +1 -1
  31. package/dropdown/style.css +1 -1
  32. package/editable-select/index.es.js +14 -14
  33. package/editable-select/index.umd.js +1 -1
  34. package/editable-select/style.css +1 -1
  35. package/form/index.es.js +958 -1200
  36. package/form/index.umd.js +18 -18
  37. package/form/style.css +1 -1
  38. package/fullscreen/index.es.js +29 -5
  39. package/fullscreen/index.umd.js +1 -1
  40. package/fullscreen/style.css +1 -1
  41. package/grid/index.es.js +68 -49
  42. package/grid/index.umd.js +1 -1
  43. package/grid/style.css +1 -1
  44. package/image-preview/index.es.js +34 -11
  45. package/image-preview/index.umd.js +1 -1
  46. package/image-preview/style.css +1 -1
  47. package/input/index.es.js +91 -145
  48. package/input/index.umd.js +1 -1
  49. package/input/style.css +1 -1
  50. package/input-number/index.es.js +27 -5
  51. package/input-number/index.umd.js +1 -1
  52. package/input-number/style.css +1 -1
  53. package/layout/index.es.js +34 -6
  54. package/layout/index.umd.js +1 -1
  55. package/layout/style.css +1 -1
  56. package/loading/index.es.js +34 -10
  57. package/loading/index.umd.js +1 -1
  58. package/loading/style.css +1 -1
  59. package/modal/index.es.js +41 -15
  60. package/modal/index.umd.js +1 -1
  61. package/modal/style.css +1 -1
  62. package/notification/index.es.js +40 -13
  63. package/notification/index.umd.js +1 -1
  64. package/notification/style.css +1 -1
  65. package/nuxt/components/ButtonGroup.js +3 -0
  66. package/nuxt/components/CheckboxGroup.js +3 -0
  67. package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
  68. package/nuxt/components/FORM_TOKEN.js +3 -0
  69. package/nuxt/components/Tree.js +3 -0
  70. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  71. package/nuxt/components/buttonGroupProps.js +3 -0
  72. package/nuxt/components/formControlProps.js +3 -0
  73. package/nuxt/components/formItemProps.js +3 -0
  74. package/nuxt/components/formProps.js +3 -0
  75. package/nuxt/components/treeProps.js +3 -0
  76. package/overlay/index.es.js +31 -9
  77. package/overlay/index.umd.js +1 -1
  78. package/overlay/style.css +1 -1
  79. package/package.json +1 -1
  80. package/pagination/index.es.js +135 -124
  81. package/pagination/index.umd.js +1 -1
  82. package/pagination/style.css +1 -1
  83. package/popover/index.es.js +53 -24
  84. package/popover/index.umd.js +13 -13
  85. package/popover/style.css +1 -1
  86. package/progress/index.es.js +76 -20
  87. package/progress/index.umd.js +3 -3
  88. package/progress/style.css +1 -1
  89. package/radio/index.es.js +32 -7
  90. package/radio/index.umd.js +1 -1
  91. package/radio/style.css +1 -1
  92. package/rate/index.es.js +34 -10
  93. package/rate/index.umd.js +1 -1
  94. package/rate/style.css +1 -1
  95. package/search/index.es.js +103 -153
  96. package/search/index.umd.js +14 -14
  97. package/search/style.css +1 -1
  98. package/select/index.es.js +74 -51
  99. package/select/index.umd.js +1 -1
  100. package/select/style.css +1 -1
  101. package/skeleton/index.es.js +37 -12
  102. package/skeleton/index.umd.js +1 -1
  103. package/skeleton/style.css +1 -1
  104. package/slider/index.es.js +52 -16
  105. package/slider/index.umd.js +1 -1
  106. package/slider/style.css +1 -1
  107. package/splitter/index.es.js +52 -24
  108. package/splitter/index.umd.js +15 -15
  109. package/splitter/style.css +1 -1
  110. package/status/index.es.js +26 -2
  111. package/status/index.umd.js +1 -1
  112. package/status/style.css +1 -1
  113. package/style.css +1 -1
  114. package/switch/index.es.js +30 -6
  115. package/switch/index.umd.js +1 -1
  116. package/switch/style.css +1 -1
  117. package/table/index.es.js +6267 -536
  118. package/table/index.umd.js +27 -1
  119. package/table/style.css +1 -1
  120. package/tabs/index.es.js +32 -8
  121. package/tabs/index.umd.js +1 -1
  122. package/tabs/style.css +1 -1
  123. package/tag/index.es.js +27 -2
  124. package/tag/index.umd.js +1 -1
  125. package/tag/style.css +1 -1
  126. package/textarea/index.es.js +93 -76
  127. package/textarea/index.umd.js +1 -1
  128. package/textarea/style.css +1 -1
  129. package/tooltip/index.es.js +42 -15
  130. package/tooltip/index.umd.js +12 -12
  131. package/tooltip/style.css +1 -1
  132. package/{comment → tree}/index.d.ts +0 -0
  133. package/tree/index.es.js +1030 -0
  134. package/tree/index.umd.js +1 -0
  135. package/{comment → tree}/package.json +1 -1
  136. package/tree/style.css +1 -0
  137. package/upload/index.es.js +53 -22
  138. package/upload/index.umd.js +1 -1
  139. package/upload/style.css +1 -1
  140. package/vue-devui.es.js +5296 -4916
  141. package/vue-devui.umd.js +22 -22
  142. package/comment/index.es.js +0 -84
  143. package/comment/index.umd.js +0 -1
  144. package/comment/style.css +0 -1
  145. package/nuxt/components/Comment.js +0 -3
  146. package/nuxt/components/ReadTip.js +0 -3
  147. package/nuxt/components/commentProps.js +0 -3
  148. package/nuxt/components/readTipProps.js +0 -3
  149. package/read-tip/index.d.ts +0 -7
  150. package/read-tip/index.es.js +0 -261
  151. package/read-tip/index.umd.js +0 -1
  152. package/read-tip/package.json +0 -7
  153. package/read-tip/style.css +0 -1
@@ -27,8 +27,35 @@ const sliderProps = {
27
27
  tipsRenderer: {
28
28
  type: String,
29
29
  default: ""
30
+ },
31
+ color: {
32
+ type: String,
33
+ default: ""
30
34
  }
31
35
  };
36
+ function createBem(namespace, element, modifier) {
37
+ let cls = namespace;
38
+ if (element) {
39
+ cls += `__${element}`;
40
+ }
41
+ if (modifier) {
42
+ cls += `--${modifier}`;
43
+ }
44
+ return cls;
45
+ }
46
+ function useNamespace(block) {
47
+ const namespace = `devui-${block}`;
48
+ const b = () => createBem(namespace);
49
+ const e = (element) => element ? createBem(namespace, element) : "";
50
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
51
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
52
+ return {
53
+ b,
54
+ e,
55
+ m,
56
+ em
57
+ };
58
+ }
32
59
  var slider = "";
33
60
  var Slider = defineComponent({
34
61
  name: "DSlider",
@@ -38,6 +65,7 @@ var Slider = defineComponent({
38
65
  let isClick = true;
39
66
  let startPosition = 0;
40
67
  let startX = 0;
68
+ const ns = useNamespace("slider");
41
69
  const popoverShow = ref(false);
42
70
  const sliderRunway = ref(null);
43
71
  const inputValue = ref(props.modelValue);
@@ -61,7 +89,8 @@ var Slider = defineComponent({
61
89
  }
62
90
  }
63
91
  function setPostion(newPosition) {
64
- const sliderWidth = Math.round(sliderRunway.value.clientWidth);
92
+ const clientWidth = !!sliderRunway.value ? sliderRunway.value.clientWidth : 0;
93
+ const sliderWidth = Math.round(clientWidth);
65
94
  if (newPosition < 0) {
66
95
  newPosition = 0;
67
96
  }
@@ -103,10 +132,11 @@ var Slider = defineComponent({
103
132
  }
104
133
  const renderShowInput = () => {
105
134
  return props.showInput ? createVNode("div", {
106
- "class": "devui-input__out-wrap"
135
+ "class": ns.e("input-wrap")
107
136
  }, [createVNode("input", {
108
137
  "onInput": handleOnInput,
109
- "value": inputValue.value + ""
138
+ "value": inputValue.value + "",
139
+ "disabled": props.disabled
110
140
  }, null)]) : "";
111
141
  };
112
142
  if (props.modelValue > props.max) {
@@ -117,7 +147,7 @@ var Slider = defineComponent({
117
147
  percentDispaly.value = (props.modelValue - props.min) * 100 / (props.max - props.min) + "%";
118
148
  }
119
149
  onMounted(() => {
120
- const sliderWidth = sliderRunway.value.clientWidth;
150
+ const sliderWidth = !!sliderRunway.value ? sliderRunway.value.clientWidth : 0;
121
151
  currentPosition.value = sliderWidth * (inputValue.value - props.min) / (props.max - props.min);
122
152
  });
123
153
  function handleButtonMousedown(event) {
@@ -132,7 +162,8 @@ var Slider = defineComponent({
132
162
  }
133
163
  function handleRunwayMousedown(event) {
134
164
  if (!props.disabled && isClick) {
135
- startX = event.target.getBoundingClientRect().left;
165
+ const _e = event.target;
166
+ startX = _e.getBoundingClientRect().left;
136
167
  const currentX = event.clientX;
137
168
  setPostion(currentX - startX);
138
169
  handleButtonMousedown(event);
@@ -145,41 +176,46 @@ var Slider = defineComponent({
145
176
  });
146
177
  const popover = () => {
147
178
  return createVNode("div", {
148
- "class": "devui-slider_popover",
179
+ "class": ns.e("popover"),
149
180
  "style": {
150
181
  left: percentDispaly.value,
151
182
  opacity: popoverShow.value ? 1 : 0
152
183
  }
153
184
  }, [createVNode("div", {
154
- "class": "devui-slider_popover-arrow"
185
+ "class": ns.e("popover-arrow")
155
186
  }, null), createVNode("div", {
156
- "class": "devui-slider_popover-content"
187
+ "class": ns.e("popover-content")
157
188
  }, [inputValue.value + " " + props.tipsRenderer])]);
158
189
  };
190
+ const color = computed(() => {
191
+ return props.disabled ? "" : props.color;
192
+ });
159
193
  return () => createVNode("div", {
160
- "class": "devui-slider"
194
+ "class": ns.b()
161
195
  }, [createVNode("div", {
162
196
  "ref": sliderRunway,
163
- "class": "devui-slider__runway" + disableClass.value,
197
+ "class": [ns.e("runway"), disableClass.value],
164
198
  "onMousedown": handleRunwayMousedown,
165
199
  "onMouseout": () => popoverShow.value = false
166
200
  }, [createVNode("div", {
167
- "class": "devui-slider__bar" + disableClass.value,
201
+ "class": [ns.e("bar"), disableClass.value],
168
202
  "style": {
169
- width: percentDispaly.value
203
+ width: percentDispaly.value,
204
+ backgroundColor: color.value
170
205
  }
171
206
  }, null), createVNode("div", {
172
- "class": "devui-slider__button" + disableClass.value,
207
+ "class": [ns.e("button"), disableClass.value],
173
208
  "style": {
174
- left: percentDispaly.value
209
+ left: percentDispaly.value,
210
+ borderColor: color.value
175
211
  },
176
212
  "onMousedown": handleButtonMousedown,
177
213
  "onMouseenter": () => popoverShow.value = true,
178
214
  "onMouseout": () => popoverShow.value = false
179
215
  }, null), props.tipsRenderer === "null" ? "" : popover()]), createVNode("span", {
180
- "class": "devui-min_count"
216
+ "class": ns.e("min-count")
181
217
  }, [props.min]), createVNode("span", {
182
- "class": "devui-max_count"
218
+ "class": ns.e("max-count")
183
219
  }, [props.max]), renderShowInput()]);
184
220
  }
185
221
  });
@@ -1 +1 @@
1
- (function(u,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(u=typeof globalThis!="undefined"?globalThis:u||self,t(u.index={},u.Vue))})(this,function(u,t){"use strict";const M={disabled:{type:Boolean,default:!1},max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:0},showInput:{type:Boolean,default:!1},step:{type:Number,default:1},tipsRenderer:{type:String,default:""}};var R="",c=t.defineComponent({name:"DSlider",props:M,emits:["update:modelValue"],setup(e,v){let m=!0,f=0,o=0;const d=t.ref(!1),V=t.ref(null),l=t.ref(e.modelValue),s=t.ref(0),h=t.ref(0),a=t.ref("");function S(n){if(l.value=parseInt(n.target.value),!l.value)l.value=e.min,a.value="0%";else{if(l.value<e.min||l.value>e.max)return;/^(?:[1-9]?\d|100)$/.test(`${l.value}`)&&(a.value=(l.value-e.min)*100/(e.max-e.min)+"%",v.emit("update:modelValue",l.value))}}function N(n){const i=Math.round(V.value.clientWidth);n<0&&(n=0);const r=i/((e.max-e.min)/e.step),y=Math.round(n/r)*r;if(Math.round(y)>=i){s.value=i,l.value=e.max,a.value="100%",v.emit("update:modelValue",e.max);return}a.value=Math.round(y*100/i)+"%",l.value=Math.round(y*(e.max-e.min)/i)+e.min,s.value=n,v.emit("update:modelValue",l.value)}function E(n){m=!1,o=n.clientX,f=s.value,h.value=f}function _(n){d.value=!0;const r=n.clientX-o;h.value=f+r,N(h.value)}function b(){d.value=!1,setTimeout(()=>{m=!0},100),window.removeEventListener("mousemove",_),window.removeEventListener("mouseup",b)}const X=()=>e.showInput?t.createVNode("div",{class:"devui-input__out-wrap"},[t.createVNode("input",{onInput:S,value:l.value+""},null)]):"";e.modelValue>e.max?a.value="100%":e.modelValue<e.min?a.value="0%":a.value=(e.modelValue-e.min)*100/(e.max-e.min)+"%",t.onMounted(()=>{const n=V.value.clientWidth;s.value=n*(l.value-e.min)/(e.max-e.min)});function g(n){d.value=!0,!e.disabled&&(n.preventDefault(),E(n),window.addEventListener("mousemove",_),window.addEventListener("mouseup",b))}function D(n){if(!e.disabled&&m){o=n.target.getBoundingClientRect().left;const i=n.clientX;N(i-o),g(n)}else return}const w=t.computed(()=>e.disabled?" disabled":""),I=()=>t.createVNode("div",{class:"devui-slider_popover",style:{left:a.value,opacity:d.value?1:0}},[t.createVNode("div",{class:"devui-slider_popover-arrow"},null),t.createVNode("div",{class:"devui-slider_popover-content"},[l.value+" "+e.tipsRenderer])]);return()=>t.createVNode("div",{class:"devui-slider"},[t.createVNode("div",{ref:V,class:"devui-slider__runway"+w.value,onMousedown:D,onMouseout:()=>d.value=!1},[t.createVNode("div",{class:"devui-slider__bar"+w.value,style:{width:a.value}},null),t.createVNode("div",{class:"devui-slider__button"+w.value,style:{left:a.value},onMousedown:g,onMouseenter:()=>d.value=!0,onMouseout:()=>d.value=!1},null),e.tipsRenderer==="null"?"":I()]),t.createVNode("span",{class:"devui-min_count"},[e.min]),t.createVNode("span",{class:"devui-max_count"},[e.max]),X()])}}),x={title:"Slider \u6ED1\u5757",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(c.name,c)}};u.Slider=c,u.default=x,u.sliderProps=M,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
1
+ (function(o,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(o=typeof globalThis!="undefined"?globalThis:o||self,t(o.index={},o.Vue))})(this,function(o,t){"use strict";const g={disabled:{type:Boolean,default:!1},max:{type:Number,default:100},min:{type:Number,default:0},modelValue:{type:Number,default:0},showInput:{type:Boolean,default:!1},step:{type:Number,default:1},tipsRenderer:{type:String,default:""},color:{type:String,default:""}};function v(e,u,m){let r=e;return u&&(r+=`__${u}`),m&&(r+=`--${m}`),r}function D(e){const u=`devui-${e}`;return{b:()=>v(u),e:a=>a?v(u,a):"",m:a=>a?v(u,"",a):"",em:(a,c)=>a&&c?v(u,a,c):""}}var W="",V=t.defineComponent({name:"DSlider",props:g,emits:["update:modelValue"],setup(e,u){let m=!0,r=0,f=0;const d=D("slider"),a=t.ref(!1),c=t.ref(null),l=t.ref(e.modelValue),b=t.ref(0),y=t.ref(0),i=t.ref("");function R(n){if(l.value=parseInt(n.target.value),!l.value)l.value=e.min,i.value="0%";else{if(l.value<e.min||l.value>e.max)return;/^(?:[1-9]?\d|100)$/.test(`${l.value}`)&&(i.value=(l.value-e.min)*100/(e.max-e.min)+"%",u.emit("update:modelValue",l.value))}}function M(n){const h=c.value?c.value.clientWidth:0,s=Math.round(h);n<0&&(n=0);const C=s/((e.max-e.min)/e.step),N=Math.round(n/C)*C;if(Math.round(N)>=s){b.value=s,l.value=e.max,i.value="100%",u.emit("update:modelValue",e.max);return}i.value=Math.round(N*100/s)+"%",l.value=Math.round(N*(e.max-e.min)/s)+e.min,b.value=n,u.emit("update:modelValue",l.value)}function _(n){m=!1,f=n.clientX,r=b.value,y.value=r}function x(n){a.value=!0;const s=n.clientX-f;y.value=r+s,M(y.value)}function S(){a.value=!1,setTimeout(()=>{m=!0},100),window.removeEventListener("mousemove",x),window.removeEventListener("mouseup",S)}const B=()=>e.showInput?t.createVNode("div",{class:d.e("input-wrap")},[t.createVNode("input",{onInput:R,value:l.value+"",disabled:e.disabled},null)]):"";e.modelValue>e.max?i.value="100%":e.modelValue<e.min?i.value="0%":i.value=(e.modelValue-e.min)*100/(e.max-e.min)+"%",t.onMounted(()=>{const n=c.value?c.value.clientWidth:0;b.value=n*(l.value-e.min)/(e.max-e.min)});function E(n){a.value=!0,!e.disabled&&(n.preventDefault(),_(n),window.addEventListener("mousemove",x),window.addEventListener("mouseup",S))}function L(n){if(!e.disabled&&m){f=n.target.getBoundingClientRect().left;const s=n.clientX;M(s-f),E(n)}else return}const w=t.computed(()=>e.disabled?" disabled":""),P=()=>t.createVNode("div",{class:d.e("popover"),style:{left:i.value,opacity:a.value?1:0}},[t.createVNode("div",{class:d.e("popover-arrow")},null),t.createVNode("div",{class:d.e("popover-content")},[l.value+" "+e.tipsRenderer])]),X=t.computed(()=>e.disabled?"":e.color);return()=>t.createVNode("div",{class:d.b()},[t.createVNode("div",{ref:c,class:[d.e("runway"),w.value],onMousedown:L,onMouseout:()=>a.value=!1},[t.createVNode("div",{class:[d.e("bar"),w.value],style:{width:i.value,backgroundColor:X.value}},null),t.createVNode("div",{class:[d.e("button"),w.value],style:{left:i.value,borderColor:X.value},onMousedown:E,onMouseenter:()=>a.value=!0,onMouseout:()=>a.value=!1},null),e.tipsRenderer==="null"?"":P()]),t.createVNode("span",{class:d.e("min-count")},[e.min]),t.createVNode("span",{class:d.e("max-count")},[e.max]),B()])}}),I={title:"Slider \u6ED1\u5757",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(V.name,V)}};o.Slider=V,o.default=I,o.sliderProps=g,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
package/slider/style.css CHANGED
@@ -1 +1 @@
1
- .devui-slider{position:relative;width:90%;display:block}.devui-slider.disabled{cursor:not-allowed;background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway{position:relative;width:100%;padding:4px 0;margin:4px 0;cursor:pointer;box-sizing:border-box;height:5px;display:flex;align-items:center;background-color:var(--devui-default-bg, #f3f6f8)}.devui-slider__runway.disabled{cursor:not-allowed}.devui-slider__runway .devui-slider__bar{height:6px;background-color:var(--devui-default-line, #5e7ce0);border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);position:absolute}.devui-slider__runway .devui-slider__bar.disabled{background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__bar.disabled:hover{cursor:not-allowed}.devui-slider__runway .devui-slider__button{position:absolute;width:14px;height:14px;border:2px solid var(--devui-default-line, #5e7ce0);background-color:var(--devui-base-bg, #ffffff);border-radius:50%;margin-left:-7px;transition:transform .2s ease-in-out}.devui-slider__runway .devui-slider__button:hover{transform:scale(1.2)}.devui-slider__runway .devui-slider__button.disabled{background-color:var(--devui-base-bg, #ffffff);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__button.disabled:hover{cursor:not-allowed;transform:none}.devui-slider__runway .devui-slider_popover{position:relative;bottom:26px;transform:translate(-50%);border-radius:var(--devui-border-radius-feedback, 4px);font-size:var(--devui-font-size-sm, 12px);color:var(--devui-feedback-overlay-text, #dfe1e6)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-arrow{position:absolute;left:50%;margin-left:-4px;bottom:-4px;width:8px;height:8px;transform:rotate(45deg);display:block;z-index:-1;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider__runway .devui-slider_popover .devui-slider_popover-content{padding:5px 14px;text-align:center;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider .devui-min_count{position:absolute;top:15px;left:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-max_count{position:absolute;top:15px;right:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-input__out-wrap{font-size:var(--devui-font-size, 12px);position:absolute;right:-60px;top:-12px;padding:5px 10px;cursor:text;margin-left:20px}.devui-slider .devui-input__out-wrap input{width:40px;text-align:center}
1
+ .devui-slider{position:relative;width:90%;display:block}.devui-slider.disabled{cursor:not-allowed;background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway{position:relative;width:100%;padding:4px 0;margin:4px 0;cursor:pointer;box-sizing:border-box;height:5px;display:flex;align-items:center;background-color:var(--devui-default-bg, #f3f6f8)}.devui-slider__runway.disabled{cursor:not-allowed}.devui-slider__runway .devui-slider__bar{height:6px;background-color:var(--devui-default-line, #5e7ce0);border-top-left-radius:var(--devui-border-radius, 2px);border-bottom-left-radius:var(--devui-border-radius, 2px);position:absolute}.devui-slider__runway .devui-slider__bar.disabled{background-color:var(--devui-disabled-line, #dfe1e6);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__bar.disabled:hover{cursor:not-allowed}.devui-slider__runway .devui-slider__button{position:absolute;width:14px;height:14px;border:2px solid var(--devui-default-line, #5e7ce0);background-color:var(--devui-base-bg, #ffffff);border-radius:50%;margin-left:-7px;transition:transform .2s ease-in-out}.devui-slider__runway .devui-slider__button:hover{transform:scale(1.2)}.devui-slider__runway .devui-slider__button.disabled{background-color:var(--devui-base-bg, #ffffff);border-color:var(--devui-disabled-line, #dfe1e6)}.devui-slider__runway .devui-slider__button.disabled:hover{cursor:not-allowed;transform:none}.devui-slider__runway .devui-slider__popover{position:relative;bottom:26px;transform:translate(-50%);border-radius:var(--devui-border-radius-feedback, 4px);font-size:var(--devui-font-size-sm, 12px);color:var(--devui-feedback-overlay-text, #dfe1e6)}.devui-slider__runway .devui-slider__popover .devui-slider__popover-arrow{position:absolute;left:50%;margin-left:-4px;bottom:-4px;width:8px;height:8px;transform:rotate(45deg);display:block;z-index:-1;background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider__runway .devui-slider__popover .devui-slider__popover-content{padding:5px 14px;text-align:center;border-radius:var(--devui-border-radius-feedback, 4px);background-color:var(--devui-feedback-overlay-bg, #464d6e)}.devui-slider .devui-slider__min-count{position:absolute;top:15px;left:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-slider__max-count{position:absolute;top:15px;right:0;font-size:var(--devui-font-size, 12px);color:var(--devui-text, #252b3a)}.devui-slider .devui-slider__input-wrap{font-size:var(--devui-font-size, 12px);position:absolute;right:-60px;top:-12px;padding:5px 10px;cursor:text;margin-left:20px}.devui-slider .devui-slider__input-wrap input{width:40px;text-align:center}
@@ -23,19 +23,43 @@ var __publicField = (obj, key, value) => {
23
23
  };
24
24
  import { defineComponent, createVNode, Teleport, Transition, renderSlot, isVNode, computed, onMounted, watch, onUnmounted, ref, unref, nextTick, mergeProps, toRefs, Fragment, inject, reactive, withDirectives, provide, resolveComponent, onUpdated } from "vue";
25
25
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
26
+ function createBem(namespace, element, modifier) {
27
+ let cls = namespace;
28
+ if (element) {
29
+ cls += `__${element}`;
30
+ }
31
+ if (modifier) {
32
+ cls += `--${modifier}`;
33
+ }
34
+ return cls;
35
+ }
36
+ function useNamespace(block) {
37
+ const namespace = `devui-${block}`;
38
+ const b = () => createBem(namespace);
39
+ const e = (element) => element ? createBem(namespace, element) : "";
40
+ const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
41
+ const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
42
+ return {
43
+ b,
44
+ e,
45
+ m,
46
+ em
47
+ };
48
+ }
26
49
  var baseOverlay = "";
27
50
  function _isSlot(s) {
28
51
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
29
52
  }
30
53
  const CommonOverlay = defineComponent({
31
54
  setup(props, ctx) {
55
+ const ns = useNamespace("overlay");
32
56
  return () => {
33
57
  let _slot;
34
58
  return createVNode(Teleport, {
35
59
  "to": "#d-overlay-anchor"
36
60
  }, {
37
61
  default: () => [createVNode(Transition, {
38
- "name": "devui-overlay-fade"
62
+ "name": ns.e("fade")
39
63
  }, _isSlot(_slot = renderSlot(ctx.slots, "default")) ? _slot : {
40
64
  default: () => [_slot]
41
65
  })]
@@ -78,15 +102,12 @@ const fixedOverlayProps = __spreadProps(__spreadValues({}, overlayProps), {
78
102
  });
79
103
  const overlayEmits = ["update:visible", "backdropClick"];
80
104
  function useOverlayLogic(props, ctx) {
105
+ const ns = useNamespace("overlay");
81
106
  const backgroundClass = computed(() => {
82
- return [
83
- "devui-overlay-background",
84
- props.backgroundClass,
85
- !props.hasBackdrop ? "devui-overlay-background__disabled" : "devui-overlay-background__color"
86
- ];
107
+ return [ns.e("background"), props.backgroundClass, !props.hasBackdrop ? ns.em("background", "disabled") : ns.em("background", "color")];
87
108
  });
88
109
  const overlayClass = computed(() => {
89
- return "devui-overlay";
110
+ return ns.b();
90
111
  });
91
112
  const handleBackdropClick = (event) => {
92
113
  var _a;
@@ -296,6 +317,7 @@ const FlexibleOverlay = defineComponent({
296
317
  emit,
297
318
  expose
298
319
  }) {
320
+ const ns = useNamespace("flexible-overlay");
299
321
  const {
300
322
  arrowRef,
301
323
  overlayRef,
@@ -308,10 +330,10 @@ const FlexibleOverlay = defineComponent({
308
330
  var _a;
309
331
  return props.modelValue && createVNode("div", mergeProps({
310
332
  "ref": overlayRef,
311
- "class": "devui-flexible-overlay"
333
+ "class": ns.b()
312
334
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots), props.showArrow && createVNode("div", {
313
335
  "ref": arrowRef,
314
- "class": "devui-flexible-overlay-arrow"
336
+ "class": ns.e("arrow")
315
337
  }, null)]);
316
338
  };
317
339
  }
@@ -5786,7 +5808,7 @@ function useTooltip(origin, props) {
5786
5808
  origin.value.addEventListener("mouseenter", onMouseenter);
5787
5809
  origin.value.addEventListener("mouseleave", onMouseleave);
5788
5810
  });
5789
- return { visible, placement, positionArr, overlayStyles, onPositionChange };
5811
+ return { visible, placement, positionArr, overlayStyles, onPositionChange, onMouseenter, onMouseleave };
5790
5812
  }
5791
5813
  var tooltip = "";
5792
5814
  var DToolTip = defineComponent({
@@ -5806,13 +5828,16 @@ var DToolTip = defineComponent({
5806
5828
  placement,
5807
5829
  positionArr,
5808
5830
  overlayStyles,
5809
- onPositionChange
5831
+ onPositionChange,
5832
+ onMouseenter,
5833
+ onMouseleave
5810
5834
  } = useTooltip(origin, props);
5835
+ const ns = useNamespace("tooltip");
5811
5836
  return () => {
5812
5837
  var _a;
5813
5838
  return createVNode(Fragment, null, [createVNode("div", {
5814
5839
  "ref": origin,
5815
- "class": "devui-tooltip-reference"
5840
+ "class": ns.e("reference")
5816
5841
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), createVNode(Teleport, {
5817
5842
  "to": "body"
5818
5843
  }, {
@@ -5823,13 +5848,15 @@ var DToolTip = defineComponent({
5823
5848
  "modelValue": visible.value,
5824
5849
  "onUpdate:modelValue": ($event) => visible.value = $event,
5825
5850
  "ref": tooltipRef,
5826
- "class": "devui-tooltip",
5851
+ "class": ns.b(),
5827
5852
  "origin": origin.value,
5828
5853
  "position": positionArr.value,
5829
5854
  "offset": 6,
5830
5855
  "show-arrow": true,
5831
5856
  "style": overlayStyles.value,
5832
- "onPositionChange": onPositionChange
5857
+ "onPositionChange": onPositionChange,
5858
+ "onMouseenter": onMouseenter,
5859
+ "onMouseleave": onMouseleave
5833
5860
  }, {
5834
5861
  default: () => [createVNode("span", {
5835
5862
  "innerHTML": content.value
@@ -5957,9 +5984,10 @@ var DSplitterBar = defineComponent({
5957
5984
  },
5958
5985
  props: splitterBarProps,
5959
5986
  setup(props) {
5987
+ const ns = useNamespace("splitter");
5960
5988
  const store = inject("splitterStore");
5961
5989
  const state = reactive({
5962
- wrapperClass: `devui-splitter-bar devui-splitter-bar-${props.orientation}`
5990
+ wrapperClass: `${ns.e("bar")} ${ns.em("bar", props.orientation)} `
5963
5991
  });
5964
5992
  const domRef = ref();
5965
5993
  watch([() => props.splitBarSize, domRef], ([curSplitBarSize, ele]) => {
@@ -6003,7 +6031,7 @@ var DSplitterBar = defineComponent({
6003
6031
  const isCollapsed = (_d = (_c = pane == null ? void 0 : pane.component) == null ? void 0 : _c.props) == null ? void 0 : _d.collapsed;
6004
6032
  const isNearPaneCollapsed = nearPane == null ? void 0 : nearPane.collapsed;
6005
6033
  return {
6006
- "devui-collapse": isCollapsible,
6034
+ [ns.e("collapse")]: isCollapsible,
6007
6035
  collapsed: isCollapsed,
6008
6036
  hidden: isNearPaneCollapsed
6009
6037
  };
@@ -6158,9 +6186,7 @@ var DSplitterBar = defineComponent({
6158
6186
  handleCollapsePrePane();
6159
6187
  }
6160
6188
  }, null)]
6161
- }), createVNode("div", {
6162
- "class": "devui-resize-handle"
6163
- }, null), props.showCollapseButton && createVNode(DToolTip, {
6189
+ }), props.showCollapseButton && createVNode(DToolTip, {
6164
6190
  "content": renderCollapsedTip()
6165
6191
  }, {
6166
6192
  default: () => [createVNode("div", {
@@ -6313,6 +6339,7 @@ var Splitter = defineComponent({
6313
6339
  const state = reactive({
6314
6340
  panes: []
6315
6341
  });
6342
+ const ns = useNamespace("splitter");
6316
6343
  state.panes = ((_b = (_a = ctx.slots).DSplitterPane) == null ? void 0 : _b.call(_a)) || [];
6317
6344
  store.setPanes({
6318
6345
  panes: state.panes
@@ -6353,7 +6380,7 @@ var Splitter = defineComponent({
6353
6380
  orientation,
6354
6381
  showCollapseButton
6355
6382
  } = props;
6356
- const wrapperClass = ["devui-splitter", `devui-splitter-${orientation}`];
6383
+ const wrapperClass = [ns.b(), ns.m(orientation)];
6357
6384
  return createVNode("div", {
6358
6385
  "class": wrapperClass,
6359
6386
  "ref": domRef
@@ -6417,6 +6444,7 @@ var SplitterPane = defineComponent({
6417
6444
  const store = inject("splitterStore");
6418
6445
  const domRef = ref();
6419
6446
  const orderRef = ref();
6447
+ const ns = useNamespace("splitter");
6420
6448
  watch([orderRef, domRef], ([order, ele]) => {
6421
6449
  if (!ele) {
6422
6450
  return;
@@ -6430,7 +6458,7 @@ var SplitterPane = defineComponent({
6430
6458
  return;
6431
6459
  }
6432
6460
  ele.style.flexBasis = curSize;
6433
- const paneFixedClass = "devui-splitter-pane-fixed";
6461
+ const paneFixedClass = ns.em("pane", "fixed");
6434
6462
  if (curSize) {
6435
6463
  addClass(ele, paneFixedClass);
6436
6464
  } else {
@@ -6478,7 +6506,7 @@ var SplitterPane = defineComponent({
6478
6506
  if (!ele) {
6479
6507
  return;
6480
6508
  }
6481
- const paneHiddenClass = "devui-splitter-pane-hidden";
6509
+ const paneHiddenClass = ns.em("pane", "hidden");
6482
6510
  if (!collapsed) {
6483
6511
  removeClass(ele, paneHiddenClass);
6484
6512
  } else {
@@ -6502,7 +6530,7 @@ var SplitterPane = defineComponent({
6502
6530
  if (!(ele instanceof HTMLElement)) {
6503
6531
  return;
6504
6532
  }
6505
- const flexGrowClass = "devui-splitter-pane-grow";
6533
+ const flexGrowClass = ns.em("pane", "grow");
6506
6534
  if (hasClass(ele, flexGrowClass)) {
6507
6535
  removeClass(ele, flexGrowClass);
6508
6536
  } else if (collapsed) {
@@ -6517,7 +6545,7 @@ var SplitterPane = defineComponent({
6517
6545
  return () => {
6518
6546
  var _a;
6519
6547
  return createVNode("div", {
6520
- "class": "devui-splitter-pane",
6548
+ "class": ns.e("pane"),
6521
6549
  "ref": domRef
6522
6550
  }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
6523
6551
  };