@king-design/vue 2.1.1 → 3.0.0-beta.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 (168) hide show
  1. package/__tests__/__snapshots__/Vue Next Demos.md +441 -313
  2. package/__tests__/index.ts +4 -4
  3. package/components/button/index.d.ts +1 -1
  4. package/components/button/index.js +1 -1
  5. package/components/button/styles.js +3 -3
  6. package/components/card/styles.js +10 -2
  7. package/components/checkbox/styles.js +21 -10
  8. package/components/collapse/styles.js +6 -1
  9. package/components/copy/index.d.ts +17 -0
  10. package/components/copy/index.js +43 -0
  11. package/components/copy/index.spec.d.ts +1 -0
  12. package/components/copy/index.spec.js +52 -0
  13. package/components/copy/index.vdt.js +45 -0
  14. package/components/copy/styles.d.ts +2 -0
  15. package/components/copy/styles.js +14 -0
  16. package/components/copy/useCopy.d.ts +4 -0
  17. package/components/copy/useCopy.js +90 -0
  18. package/components/datepicker/index.spec.js +1 -1
  19. package/components/datepicker/index.vdt.js +1 -1
  20. package/components/datepicker/styles.d.ts +1 -1
  21. package/components/datepicker/styles.js +5 -2
  22. package/components/diagram/shapes/callout.d.ts +1 -1
  23. package/components/diagram/shapes/circle.d.ts +1 -1
  24. package/components/diagram/shapes/document.d.ts +1 -1
  25. package/components/diagram/shapes/ellipse.d.ts +1 -1
  26. package/components/diagram/shapes/hexagon.d.ts +1 -1
  27. package/components/diagram/shapes/image.d.ts +1 -1
  28. package/components/diagram/shapes/parallelogram.d.ts +1 -1
  29. package/components/diagram/shapes/rectangle.d.ts +1 -1
  30. package/components/diagram/shapes/square.d.ts +1 -1
  31. package/components/diagram/shapes/text.d.ts +1 -1
  32. package/components/dialog/alert.vdt.js +6 -5
  33. package/components/dialog/base.vdt.js +5 -6
  34. package/components/dialog/index.spec.js +4 -4
  35. package/components/dialog/styles.js +16 -14
  36. package/components/drawer/styles.js +20 -5
  37. package/components/dropdown/styles.js +1 -1
  38. package/components/form/index.spec.js +4 -2
  39. package/components/form/item.vdt.js +2 -1
  40. package/components/form/styles.js +5 -5
  41. package/components/grid/useGutter.js +8 -8
  42. package/components/icon/index.d.ts +1 -0
  43. package/components/icon/index.js +2 -1
  44. package/components/icon/index.vdt.js +4 -2
  45. package/components/icon/styles.js +10 -2
  46. package/components/input/index.d.ts +1 -0
  47. package/components/input/index.js +4 -11
  48. package/components/input/index.vdt.js +4 -2
  49. package/components/input/styles.js +13 -11
  50. package/components/message/message.js +1 -1
  51. package/components/message/message.vdt.js +7 -6
  52. package/components/message/styles.js +8 -8
  53. package/components/pagination/index.d.ts +1 -1
  54. package/components/pagination/index.js +1 -1
  55. package/components/pagination/index.spec.js +4 -2
  56. package/components/pagination/index.vdt.js +16 -18
  57. package/components/pagination/styles.js +12 -3
  58. package/components/popover/content.d.ts +19 -0
  59. package/components/popover/content.js +31 -0
  60. package/components/popover/content.vdt.js +68 -0
  61. package/components/popover/index.d.ts +16 -0
  62. package/components/popover/index.js +44 -0
  63. package/components/popover/index.spec.d.ts +1 -0
  64. package/components/popover/index.spec.js +195 -0
  65. package/components/popover/styles.d.ts +1 -0
  66. package/components/popover/styles.js +22 -0
  67. package/components/progress/index.js +1 -1
  68. package/components/progress/index.vdt.js +46 -8
  69. package/components/progress/styles.js +19 -13
  70. package/components/radio/styles.js +16 -6
  71. package/components/rate/styles.js +1 -1
  72. package/components/select/base.d.ts +5 -2
  73. package/components/select/base.js +7 -3
  74. package/components/select/base.vdt.js +46 -38
  75. package/components/select/index.spec.js +2 -2
  76. package/components/select/menu.vdt.js +1 -1
  77. package/components/select/styles.js +14 -28
  78. package/components/select/useDraggble.d.ts +2 -0
  79. package/components/select/useDraggble.js +11 -0
  80. package/components/select/useNowrap.d.ts +3 -0
  81. package/components/select/useNowrap.js +19 -0
  82. package/components/slider/index.spec.js +48 -9
  83. package/components/slider/index.vdt.js +23 -12
  84. package/components/slider/styles.js +23 -14
  85. package/components/slider/useValue.d.ts +3 -1
  86. package/components/slider/useValue.js +12 -0
  87. package/components/spinner/index.d.ts +0 -1
  88. package/components/spinner/index.js +1 -19
  89. package/components/spinner/index.vdt.js +15 -8
  90. package/components/spinner/styles.js +33 -5
  91. package/components/spinner/useChange.d.ts +1 -1
  92. package/components/spinner/useChange.js +2 -2
  93. package/components/spinner/useValue.d.ts +1 -0
  94. package/components/spinner/useValue.js +16 -1
  95. package/components/split/index.vdt.js +32 -20
  96. package/components/split/memo.d.ts +9 -0
  97. package/components/split/memo.js +26 -0
  98. package/components/steps/index.d.ts +3 -2
  99. package/components/steps/index.js +4 -3
  100. package/components/steps/index.spec.js +1 -1
  101. package/components/steps/index.vdt.js +8 -4
  102. package/components/steps/step.vdt.js +17 -9
  103. package/components/steps/styles.d.ts +2 -1
  104. package/components/steps/styles.js +106 -72
  105. package/components/switch/index.spec.js +82 -65
  106. package/components/switch/styles.js +20 -34
  107. package/components/table/styles.js +9 -4
  108. package/components/table/useDraggable.js +3 -10
  109. package/components/table/useStickyScrollbar.js +2 -2
  110. package/components/table/useWidth.js +2 -2
  111. package/components/tabs/index.d.ts +1 -1
  112. package/components/tabs/index.js +1 -1
  113. package/components/tabs/index.spec.js +67 -0
  114. package/components/tabs/index.vdt.js +5 -5
  115. package/components/tabs/styles.js +73 -29
  116. package/components/tabs/useScroll.d.ts +1 -1
  117. package/components/tabs/useScroll.js +75 -48
  118. package/components/tag/base.d.ts +1 -0
  119. package/components/tag/base.js +2 -2
  120. package/components/tag/index.d.ts +1 -0
  121. package/components/tag/index.js +2 -1
  122. package/components/tag/index.spec.js +147 -4
  123. package/components/tag/styles.d.ts +67 -0
  124. package/components/tag/styles.js +42 -12
  125. package/components/tag/tags.d.ts +27 -0
  126. package/components/tag/tags.js +51 -0
  127. package/components/tag/tags.vdt.js +79 -0
  128. package/components/tag/useChildren.d.ts +2 -0
  129. package/components/tag/useChildren.js +39 -0
  130. package/components/tag/useDraggable.d.ts +3 -0
  131. package/components/tag/useDraggable.js +89 -0
  132. package/components/tag/useNowrap.d.ts +7 -0
  133. package/components/tag/useNowrap.js +115 -0
  134. package/components/timepicker/index.spec.js +1 -1
  135. package/components/tip/index.vdt.js +1 -3
  136. package/components/tip/styles.js +4 -3
  137. package/components/tooltip/content.d.ts +2 -2
  138. package/components/tooltip/content.vdt.js +23 -13
  139. package/components/tooltip/index.spec.js +56 -108
  140. package/components/tooltip/styles.d.ts +1 -0
  141. package/components/tooltip/styles.js +13 -8
  142. package/components/transfer/index.vdt.js +3 -1
  143. package/components/transfer/styles.js +1 -1
  144. package/components/transfer/useCheck.d.ts +1 -0
  145. package/components/transfer/useCheck.js +8 -1
  146. package/components/upload/index.spec.js +5 -6
  147. package/components/upload/index.vdt.js +24 -21
  148. package/components/upload/styles.js +22 -30
  149. package/components/utils.d.ts +2 -0
  150. package/components/utils.js +24 -3
  151. package/hooks/useResizeObserver.d.ts +1 -1
  152. package/hooks/useResizeObserver.js +19 -6
  153. package/i18n/en-US.d.ts +6 -2
  154. package/i18n/en-US.js +8 -3
  155. package/index.d.ts +4 -2
  156. package/index.js +4 -2
  157. package/package.json +1 -1
  158. package/styles/fonts/iconfont.eot +0 -0
  159. package/styles/fonts/iconfont.js +2 -2
  160. package/styles/fonts/iconfont.svg +189 -369
  161. package/styles/fonts/iconfont.ttf +0 -0
  162. package/styles/fonts/iconfont.woff +0 -0
  163. package/styles/fonts/ionicons.js +2 -2
  164. package/styles/global.js +1 -1
  165. package/styles/theme.d.ts +10 -2
  166. package/styles/theme.js +23 -21
  167. package/components/table/useResizeObserver.d.ts +0 -2
  168. package/components/table/useResizeObserver.js +0 -20
@@ -12,8 +12,8 @@ mx.mxClient.IS_POINTER = false;
12
12
  const testsContext = require.context('./components/', true, /.*\.spec\.ts/);
13
13
  testsContext.keys().forEach(testsContext);
14
14
 
15
- const reactReq = require.context('~/components/', true, /^((?!(affix|code)).)*\/demos\/.*next\.vue$/);
16
- // const reactReq = require.context('~/components/', true, /button\/demos\/.*next\.vue$/);
15
+ const vueReq = require.context('~/components/', true, /^((?!(affix|code)).)*\/demos\/.*next\.vue$/);
16
+ // const vueReq = require.context('~/components/', true, /select\/demos\/.*next\.vue$/);
17
17
 
18
18
  describe('Vue Next Demos', () => {
19
19
  afterEach(() => unmount());
@@ -35,8 +35,8 @@ describe('Vue Next Demos', () => {
35
35
  }
36
36
  }
37
37
 
38
- testDemos(reactReq, async (Demo) => {
39
- const [instance, element] = mount(wrap(Demo as any));
38
+ testDemos(vueReq, async (Demo: any) => {
39
+ const [instance, element] = mount(wrap(Demo));
40
40
  await wait();
41
41
  // FIXME: I don't why the width of `autoWidth` input is an unexpected value
42
42
  // while we run test on Github Actions.
@@ -14,7 +14,7 @@ interface ButtonHTMLAttributes {
14
14
  download?: string;
15
15
  }
16
16
  export interface ButtonProps extends ButtonHTMLAttributes {
17
- type?: Colors | 'none' | 'secondary' | 'link';
17
+ type?: Colors | 'none' | 'secondary' | 'link' | 'flat';
18
18
  size?: Sizes;
19
19
  icon?: boolean;
20
20
  circle?: boolean;
@@ -7,7 +7,7 @@ import { bind } from '../utils';
7
7
  import { BUTTON_GROUP } from './constants';
8
8
  export * from './group';
9
9
  var typeDefs = {
10
- type: ['default', 'primary', 'warning', 'danger', 'success', 'none', 'secondary', 'link'],
10
+ type: ['default', 'primary', 'warning', 'danger', 'success', 'none', 'secondary', 'link', 'flat'],
11
11
  size: ['large', 'default', 'small', 'mini'],
12
12
  icon: Boolean,
13
13
  circle: Boolean,
@@ -7,7 +7,7 @@ export var types = ['primary', 'warning', 'danger', 'active', 'success'];
7
7
  var sizes = ['large', 'small', 'mini'];
8
8
  var btnStyles = {
9
9
  get color() {
10
- return theme.color.text;
10
+ return theme.color.lightBlack;
11
11
  },
12
12
 
13
13
  bgColor: '#fff',
@@ -235,10 +235,10 @@ export function makeButtonStyles(_ref) {
235
235
  return cx(
236
236
  /*#__PURE__*/
237
237
  // extract static styles to individual css method for performance
238
- css("display:inline-flex;align-items:center;justify-content:center;cursor:pointer;height:", button.height, ";padding:", button.padding, ";outline:none;vertical-align:middle;color:", button.color, ";background:", button.bgColor, ";border-radius:", button.borderRadius, ";border:1px solid ", button.borderColor, ";font-size:", button.fontSize, ";white-space:nowrap;transition:all ", button.transition, ";line-height:", button.lineHeight, ";&:hover,&:focus{border-color:", button.hoverBorderColor, ";color:", button.hoverColor, ";}&:active{background:", palette(theme.color.primary, -4), ";}.k-button-input{position:absolute;opacity:0;width:0;height:0;}", _mapInstanceProperty(types).call(types, function (type) {
238
+ css("display:inline-flex;align-items:center;justify-content:center;cursor:pointer;height:", button.height, ";padding:", button.padding, ";outline:none;vertical-align:middle;color:", button.color, ";background:", button.bgColor, ";border-radius:", button.borderRadius, ";border:1px solid ", button.borderColor, ";font-size:", button.fontSize, ";white-space:nowrap;transition:all ", button.transition, ";line-height:", button.lineHeight, ";.k-icon{color:inherit;}&:hover,&:focus{border-color:", button.hoverBorderColor, ";color:", button.hoverColor, ";}&:active{background:", palette(theme.color.primary, -4), ";}.k-button-input{position:absolute;opacity:0;width:0;height:0;}", _mapInstanceProperty(types).call(types, function (type) {
239
239
  var typeStyles = button[type];
240
240
  return /*#__PURE__*/css("&.k-", type, "{background:", typeStyles.bgColor, ";color:", typeStyles.color, ";border-color:", typeStyles.borderColor, ";&:hover,&:focus{background:", palette(typeStyles.bgColor, -1), ";border-color:", typeStyles.hoverBorderColor, ";color:", typeStyles.color, ";}&:active{background:", palette(typeStyles.bgColor, 1), ";border-color:", palette(typeStyles.borderColor, 1), ";}}");
241
- }), "&.k-secondary{color:", secondary.color, ";border-color:", secondary.borderColor, ";&:hover,&:focus{background:", secondary.hoverBgColor, ";}&:active{background:", secondary.activeBgColor, ";}}&.k-link{color:", link.color, ";&:hover{color:", link.hoverColor, ";background:", link.hoverBgColor, ";}}&.k-disabled{&,&:hover{color:", button.disabled.color, ";background:", button.disabled.bgColor, ";border-color:", button.disabled.borderColor, ";cursor:not-allowed;}}&.k-none,&.k-link{background:transparent;&,&:hover{border:none;}&.k-active{color:", theme.color.primary, ";}}&.k-none:hover{background:", button.none.hoverBgColor, ";}", _mapInstanceProperty(sizes).call(sizes, function (size) {
241
+ }), "&.k-secondary{color:", secondary.color, ";border-color:", secondary.borderColor, ";&:hover,&:focus{background:", secondary.hoverBgColor, ";}&:active{background:", secondary.activeBgColor, ";}}&.k-link{color:", link.color, ";&:hover{color:", link.hoverColor, ";background:", link.hoverBgColor, ";}}&.k-disabled{&,&:hover{color:", button.disabled.color, ";background:", button.disabled.bgColor, ";border-color:", button.disabled.borderColor, ";cursor:not-allowed;}}&.k-none,&.k-link,&.k-flat{background:transparent;&,&:hover{border:none;}&.k-active{color:", theme.color.primary, ";}}&.k-none:hover{background:", button.none.hoverBgColor, ";}&.k-flat{background:", button.none.hoverBgColor, ";}", _mapInstanceProperty(sizes).call(sizes, function (size) {
242
242
  var styles = button[size];
243
243
  return /*#__PURE__*/css("&.k-", size, "{font-size:", styles.fontSize, ";height:", styles.height, ";padding:", styles.padding, ";&.k-btn-icon{width:", styles.height, ";}}");
244
244
  }), "&.k-btn-icon{width:", button.height, ";padding:0;.k-icon{margin:0;}}&.k-fluid{width:100%;padding:0;}&.k-circle{border-radius:calc(", button.large.height, " / 2);}&.k-loading{", _mapInstanceProperty(types).call(types, function (type) {
@@ -5,7 +5,15 @@ import '../../styles/global';
5
5
  var defaults = {
6
6
  border: '1px solid #e5e5e5',
7
7
  padding: '16px',
8
- boxShadow: '0 0 8px 0 rgba(0, 0, 0, .05)',
8
+
9
+ get boxShadow() {
10
+ return theme.boxShadow;
11
+ },
12
+
13
+ get borderRadius() {
14
+ return theme.largeBorderRadius;
15
+ },
16
+
9
17
  headerHeight: '48px',
10
18
  headerFontSize: '14px',
11
19
  bgColor: '#fff'
@@ -17,5 +25,5 @@ setDefault(function () {
17
25
  }).card;
18
26
  });
19
27
  export function makeStyles() {
20
- return /*#__PURE__*/css("border-radius:", theme.borderRadius, ";background:", card.bgColor, ";.k-card-header{height:", card.headerHeight, ";line-height:", card.headerHeight, ";padding:0 ", card.padding, ";}.k-card-title{font-size:", card.headerFontSize, ";display:inline-block;}.k-card-extra{float:right;height:100%;display:flex;align-items:center;}.k-card-body{padding:0 ", card.padding, " ", card.padding, ";}&.k-shadow{box-shadow:", card.boxShadow, ";}&.k-none{box-shadow:none;}&.k-border{border:", card.border, ";.k-card-header{border-bottom:", card.border, ";}.k-card-body{padding-top:", card.padding, ";}}&.k-no-header{.k-card-body{padding-top:", card.padding, ";}}&.k-card-grid{.k-card-body{display:flex;padding:0;}&.k-border{.k-card-column:not(:last-of-type){border-right:", card.border, ";}}}.k-card-column{display:flex;align-items:center;padding:", card.padding, ";&.k-fluid{flex:1;}&.k-center{justify-content:center;}}");
28
+ return /*#__PURE__*/css("border-radius:", card.borderRadius, ";background:", card.bgColor, ";.k-card-header{height:", card.headerHeight, ";line-height:", card.headerHeight, ";padding:0 ", card.padding, ";}.k-card-title{font-size:", card.headerFontSize, ";display:inline-block;}.k-card-extra{float:right;height:100%;display:flex;align-items:center;}.k-card-body{padding:0 ", card.padding, " ", card.padding, ";}&.k-shadow{box-shadow:", card.boxShadow, ";}&.k-none{box-shadow:none;}&.k-border{border:", card.border, ";.k-card-header{border-bottom:", card.border, ";}.k-card-body{padding-top:", card.padding, ";}}&.k-no-header{.k-card-body{padding-top:", card.padding, ";}}&.k-card-grid{.k-card-body{display:flex;padding:0;}&.k-border{.k-card-column:not(:last-of-type){border-right:", card.border, ";}}}.k-card-column{display:flex;align-items:center;padding:", card.padding, ";&.k-fluid{flex:1;}&.k-center{justify-content:center;}}");
21
29
  }
@@ -1,12 +1,12 @@
1
1
  import { css } from '@emotion/css';
2
2
  import { theme, setDefault } from '../../styles/theme';
3
- import { deepDefaults } from '../../styles/utils';
3
+ import { deepDefaults, palette } from '../../styles/utils';
4
4
  import '../../styles/global';
5
5
  var defaults = {
6
- width: '14px',
6
+ width: '16px',
7
7
 
8
8
  get borderColor() {
9
- return theme.color.darkBorder;
9
+ return theme.color.border;
10
10
  },
11
11
 
12
12
  get borderRadius() {
@@ -17,6 +17,10 @@ var defaults = {
17
17
  return theme.transition.small;
18
18
  },
19
19
 
20
+ get hoverBorder() {
21
+ return "1px solid " + theme.color.primary;
22
+ },
23
+
20
24
  bgColor: '#fff',
21
25
  // text
22
26
  text: {
@@ -36,8 +40,8 @@ var defaults = {
36
40
  inner: {
37
41
  width: '5px',
38
42
  height: '10px',
39
- top: '-1px',
40
- left: '4px',
43
+ top: '0px',
44
+ left: '5px',
41
45
  border: '1px solid #fff'
42
46
  },
43
47
  // disabled
@@ -54,14 +58,21 @@ var defaults = {
54
58
  return theme.color.disabledBg;
55
59
  },
56
60
 
57
- get innerColor() {
58
- return theme.color.disabledBorder;
59
- }
61
+ innerColor: '#fff',
62
+ checked: {
63
+ get borderColor() {
64
+ return palette(theme.color.primary, -3);
65
+ },
66
+
67
+ get bgColor() {
68
+ return palette(theme.color.primary, -3);
69
+ }
60
70
 
71
+ }
61
72
  },
62
73
  // indeterminate
63
74
  indeterminate: {
64
- innerLeft: '3px'
75
+ innerLeft: '4px'
65
76
  }
66
77
  };
67
78
  var checkbox;
@@ -71,5 +82,5 @@ setDefault(function () {
71
82
  }).checkbox;
72
83
  });
73
84
  export default function makeStyles() {
74
- return /*#__PURE__*/css("display:inline-flex;align-items:center;cursor:pointer;vertical-align:middle;.k-checkbox-wrapper{width:", checkbox.width, ";height:", checkbox.width, ";border:1px solid ", checkbox.borderColor, ";border-radius:", checkbox.borderRadius, ";position:relative;transition:all ", checkbox.transition, ";background:", checkbox.bgColor, ";flex:0 0 auto;&:before{content:\"\";display:block;position:absolute;width:", checkbox.inner.width, ";height:", checkbox.inner.height, ";top:", checkbox.inner.top, ";left:", checkbox.inner.left, ";border:", checkbox.inner.border, ";border-top:0;border-left:0;transform:rotate(45deg) scale(0);transition:all ", checkbox.transition, ";}}input{width:100%;height:100%;opacity:0;cursor:pointer;position:absolute;left:0;top:0;margin:0;}.k-checkbox-text{margin-left:", checkbox.text.gap, ";flex:0 1 auto;}&.k-checked,&.k-indeterminate{.k-checkbox-wrapper{border-color:", checkbox.checked.borderColor, ";background:", checkbox.checked.bgColor, ";}}&.k-indeterminate{.k-checkbox-wrapper{&:before{transform:rotate(90deg) scale(1);border-bottom:0;left:", checkbox.indeterminate.innerLeft, ";}}}&.k-checked{.k-checkbox-wrapper{&:before{transform:rotate(45deg) scale(1);}}}&:focus{outline:none;.k-checkbox-wrapper{border-color:", checkbox.checked.borderColor, ";}}&.k-disabled{color:", checkbox.disabled.color, ";cursor:not-allowed;.k-checkbox-wrapper{border-color:", checkbox.disabled.borderColor, ";background:", checkbox.disabled.bgColor, ";&:before{border-color:", checkbox.disabled.innerColor, ";}}input{cursor:not-allowed;}}");
85
+ return /*#__PURE__*/css("display:inline-flex;align-items:center;cursor:pointer;vertical-align:middle;.k-checkbox-wrapper{width:", checkbox.width, ";height:", checkbox.width, ";border:1px solid ", checkbox.borderColor, ";border-radius:", checkbox.borderRadius, ";position:relative;transition:all ", checkbox.transition, ";background:", checkbox.bgColor, ";flex:0 0 auto;&:before{content:\"\";display:block;position:absolute;width:", checkbox.inner.width, ";height:", checkbox.inner.height, ";top:", checkbox.inner.top, ";left:", checkbox.inner.left, ";border:", checkbox.inner.border, ";border-top:0;border-left:0;transform:rotate(45deg) scale(0);transition:all ", checkbox.transition, ";}&:hover{border:", checkbox.hoverBorder, ";}}input{width:100%;height:100%;opacity:0;cursor:pointer;position:absolute;left:0;top:0;margin:0;}.k-checkbox-text{margin-left:", checkbox.text.gap, ";flex:0 1 auto;}&.k-checked,&.k-indeterminate{.k-checkbox-wrapper{border-color:", checkbox.checked.borderColor, ";background:", checkbox.checked.bgColor, ";}}&.k-indeterminate{.k-checkbox-wrapper{&:before{transform:rotate(90deg) scale(1);border-bottom:0;left:", checkbox.indeterminate.innerLeft, ";}}}&.k-checked{.k-checkbox-wrapper{&:before{transform:rotate(45deg) scale(1);}}}&:focus{outline:none;.k-checkbox-wrapper{border-color:", checkbox.checked.borderColor, ";}}&.k-disabled{color:", checkbox.disabled.color, ";cursor:not-allowed;.k-checkbox-wrapper{border-color:", checkbox.disabled.borderColor, ";background:", checkbox.disabled.bgColor, ";&:before{border-color:", checkbox.disabled.innerColor, ";}}input{cursor:not-allowed;}&.k-checked,&.k-indeterminate{.k-checkbox-wrapper{border-color:", checkbox.disabled.checked.borderColor, ";background:", checkbox.disabled.checked.bgColor, ";}}}");
75
86
  }
@@ -14,6 +14,11 @@ var defaults = {
14
14
  titleMarginRight: '8px',
15
15
  borderPadding: '0 24px',
16
16
  collBorder: '1px solid #eee',
17
+
18
+ get borderRadius() {
19
+ return theme.largeBorderRadius;
20
+ },
21
+
17
22
  item: {
18
23
  borderBottom: '1px solid #e5e5e5',
19
24
  titleHeight: '40px',
@@ -27,7 +32,7 @@ setDefault(function () {
27
32
  }).collapse;
28
33
  });
29
34
  export function makeStyles() {
30
- return /*#__PURE__*/css("font-size:", collapse.fontSize, ";&.k-left{.", kls('arrow'), "{float:left;margin-right:", collapse.titleMarginRight, ";transform-origin:center center 0;}}&.k-border{border-radius:", theme.borderRadius, ";padding:", collapse.borderPadding, ";border:", collapse.collBorder, ";}");
35
+ return /*#__PURE__*/css("font-size:", collapse.fontSize, ";&.k-left{.", kls('arrow'), "{float:left;margin-right:", collapse.titleMarginRight, ";transform-origin:center center 0;}}&.k-border{border-radius:", collapse.borderRadius, ";padding:", collapse.borderPadding, ";border:", collapse.collBorder, ";}");
31
36
  }
32
37
  export function makeItemStyles() {
33
38
  var collapseItem = collapse.item;
@@ -0,0 +1,17 @@
1
+ import { Component, TypeDefs } from 'intact-vue-next';
2
+ import { Events } from '../types';
3
+ export interface CopyProps {
4
+ text: string;
5
+ showMessage?: boolean;
6
+ }
7
+ export interface CopyEvents {
8
+ success: [string];
9
+ error: [];
10
+ }
11
+ export declare class Copy extends Component<CopyProps, CopyEvents> {
12
+ static template: string | import("intact").Template<any>;
13
+ static typeDefs: Required<TypeDefs<CopyProps>>;
14
+ static defaults: () => Partial<CopyProps>;
15
+ static events: Events<CopyEvents>;
16
+ private copy;
17
+ }
@@ -0,0 +1,43 @@
1
+ import _inheritsLoose from "@babel/runtime-corejs3/helpers/inheritsLoose";
2
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js/instance/concat";
3
+ import { Component } from 'intact-vue-next';
4
+ import template from './index.vdt';
5
+ import { useCopy } from './useCopy';
6
+ var typeDefs = {
7
+ text: String,
8
+ showMessage: Boolean
9
+ };
10
+
11
+ var defaults = function defaults() {
12
+ return {
13
+ showMessage: true
14
+ };
15
+ };
16
+
17
+ var events = {
18
+ success: true,
19
+ error: true
20
+ };
21
+ export var Copy = /*#__PURE__*/function (_Component) {
22
+ _inheritsLoose(Copy, _Component);
23
+
24
+ function Copy() {
25
+ var _context;
26
+
27
+ var _this;
28
+
29
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30
+ args[_key] = arguments[_key];
31
+ }
32
+
33
+ _this = _Component.call.apply(_Component, _concatInstanceProperty(_context = [this]).call(_context, args)) || this;
34
+ _this.copy = useCopy();
35
+ return _this;
36
+ }
37
+
38
+ return Copy;
39
+ }(Component);
40
+ Copy.template = template;
41
+ Copy.typeDefs = typeDefs;
42
+ Copy.defaults = defaults;
43
+ Copy.events = events;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ import _asyncToGenerator from "@babel/runtime-corejs3/helpers/asyncToGenerator";
2
+ import _regeneratorRuntime from "@babel/runtime-corejs3/regenerator";
3
+ import BasicDemo from '~/components/copy/demos/basic';
4
+ import { mount, unmount } from '../../test/utils';
5
+ describe('Copy', function () {
6
+ afterEach( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
7
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
8
+ while (1) {
9
+ switch (_context.prev = _context.next) {
10
+ case 0:
11
+ unmount();
12
+
13
+ case 1:
14
+ case "end":
15
+ return _context.stop();
16
+ }
17
+ }
18
+ }, _callee);
19
+ })));
20
+ it('should copy', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
21
+ var _mount, instance, element, text;
22
+
23
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
24
+ while (1) {
25
+ switch (_context2.prev = _context2.next) {
26
+ case 0:
27
+ _mount = mount(BasicDemo), instance = _mount[0], element = _mount[1];
28
+ element.click();
29
+ _context2.prev = 2;
30
+ _context2.next = 5;
31
+ return navigator.clipboard.readText();
32
+
33
+ case 5:
34
+ text = _context2.sent;
35
+ expect(text).to.eql('Hello King Desgin!');
36
+ _context2.next = 12;
37
+ break;
38
+
39
+ case 9:
40
+ _context2.prev = 9;
41
+ _context2.t0 = _context2["catch"](2);
42
+ // Read permisson denied
43
+ console.log(_context2.t0);
44
+
45
+ case 12:
46
+ case "end":
47
+ return _context2.stop();
48
+ }
49
+ }
50
+ }, _callee2, null, [[2, 9]]);
51
+ })));
52
+ });
@@ -0,0 +1,45 @@
1
+ import _extends from "@babel/runtime-corejs3/helpers/extends";
2
+ import { createUnknownComponentVNode as _$cc, className as _$cn } from 'intact-vue-next';
3
+ import { Icon } from '../icon';
4
+ import { getRestProps } from '../utils';
5
+ import { Virtual } from '../virtual';
6
+ import { Transition } from 'intact';
7
+ import { makeStyles } from './styles';
8
+ import { _$ } from '../../i18n';
9
+ var _$tmp0 = {
10
+ 'key': '2',
11
+ 'className': 'k-icon-truth',
12
+ 'hoverable': true,
13
+ 'color': 'success'
14
+ };
15
+ export default function ($props, $blocks, $__proto__) {
16
+ var _classNameObj;
17
+
18
+ $blocks || ($blocks = {});
19
+ $props || ($props = {});
20
+ var $this = this;
21
+
22
+ var _this$get = this.get(),
23
+ children = _this$get.children,
24
+ className = _this$get.className;
25
+
26
+ var _this$copy = this.copy,
27
+ startCopy = _this$copy.startCopy,
28
+ success = _this$copy.success;
29
+ var classNameObj = (_classNameObj = {}, _classNameObj["k-copy"] = true, _classNameObj[makeStyles()] = true, _classNameObj[className] = className, _classNameObj);
30
+ return _$cc(Transition, {
31
+ 'name': 'k-fade',
32
+ 'children': _$cc(Virtual, _extends({
33
+ 'ev-click': startCopy,
34
+ 'className': _$cn(classNameObj)
35
+ }, getRestProps(this), {
36
+ 'children': children ? children : !success.value ? _$cc(Icon, {
37
+ 'key': '1',
38
+ 'className': 'k-icon-clone',
39
+ 'hoverable': true,
40
+ 'title': _$('复制')
41
+ }, '1') : _$cc(Icon, _$tmp0, '2')
42
+ }))
43
+ });
44
+ }
45
+ ;
@@ -0,0 +1,2 @@
1
+ import '../../styles/global';
2
+ export declare function makeStyles(): string;
@@ -0,0 +1,14 @@
1
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
2
+
3
+ import { css } from '@emotion/css';
4
+ import '../../styles/global';
5
+ export function makeStyles() {
6
+ return /*#__PURE__*/css(process.env.NODE_ENV === "production" ? {
7
+ name: "t3aops",
8
+ styles: "cursor:pointer;vertical-align:middle"
9
+ } : {
10
+ name: "t3aops",
11
+ styles: "cursor:pointer;vertical-align:middle",
12
+ toString: _EMOTION_STRINGIFIED_CSS_ERROR__
13
+ });
14
+ }
@@ -0,0 +1,4 @@
1
+ export declare function useCopy(): {
2
+ startCopy: () => void;
3
+ success: import("../../hooks/useState").State<boolean>;
4
+ };
@@ -0,0 +1,90 @@
1
+ import { Message } from '../message';
2
+ import { useInstance } from 'intact-vue-next';
3
+ import { selectValue } from '../utils';
4
+ import { useState } from '../../hooks/useState';
5
+ import { _$ } from '../../i18n';
6
+ export function useCopy() {
7
+ var instance = useInstance();
8
+ var success = useState(false);
9
+ var timer;
10
+ return {
11
+ startCopy: function startCopy() {
12
+ var _instance$get = instance.get(),
13
+ text = _instance$get.text,
14
+ showMessage = _instance$get.showMessage;
15
+
16
+ if (clipboardCopy(text) || commandCopy(text)) {
17
+ showMessage && Message.success({
18
+ content: _$('复制成功')
19
+ });
20
+ success.set(true);
21
+ clearTimeout(timer);
22
+ timer = window.setTimeout(function () {
23
+ success.set(false);
24
+ }, 1000);
25
+ instance.trigger('success', text);
26
+ } else {
27
+ showMessage && Message.error({
28
+ content: _$('复制失败')
29
+ });
30
+ success.set(false);
31
+ instance.trigger('error');
32
+ }
33
+ },
34
+ success: success
35
+ };
36
+ } // @reference: https://github.com/zenorocha/clipboard.js/blob/master/src/common/create-fake-element.js
37
+
38
+ function createFakeElement(value) {
39
+ var isRTL = document.documentElement.getAttribute('dir') === 'rtl';
40
+ var fakeElement = document.createElement('textarea'); // Prevent zooming on iOS
41
+
42
+ fakeElement.style.fontSize = '12pt'; // Reset box model
43
+
44
+ fakeElement.style.border = '0';
45
+ fakeElement.style.padding = '0';
46
+ fakeElement.style.margin = '0'; // Move element out of screen horizontally
47
+
48
+ fakeElement.style.position = 'absolute';
49
+ fakeElement.style[isRTL ? 'right' : 'left'] = '-9999px'; // Move element to the same position vertically
50
+
51
+ var yPosition = window.pageYOffset || document.documentElement.scrollTop;
52
+ fakeElement.style.top = yPosition + "px";
53
+ fakeElement.setAttribute('readonly', '');
54
+ fakeElement.value = value;
55
+ return fakeElement;
56
+ }
57
+
58
+ function clipboardCopy(text) {
59
+ try {
60
+ navigator.clipboard.writeText(text);
61
+ return true;
62
+ } catch (e) {
63
+ if (process.env.NODE_ENV !== 'production') {
64
+ console.log(e);
65
+ }
66
+
67
+ return false;
68
+ }
69
+ }
70
+
71
+ function commandCopy(text) {
72
+ var fakeElement = createFakeElement(text);
73
+ document.body.appendChild(fakeElement);
74
+ selectValue(fakeElement);
75
+ var result;
76
+
77
+ try {
78
+ document.execCommand('copy');
79
+ result = true;
80
+ } catch (e) {
81
+ if (process.env.NODE_ENV !== 'production') {
82
+ console.log(e);
83
+ }
84
+
85
+ result = false;
86
+ }
87
+
88
+ document.body.removeChild(fakeElement);
89
+ return result;
90
+ }
@@ -496,7 +496,7 @@ describe('Datepicker', function () {
496
496
 
497
497
  case 14:
498
498
  // remove specified item
499
- close = element.querySelector('.k-select-close');
499
+ close = element.querySelector('.k-tag-close');
500
500
  close.click();
501
501
  expect(instance.get('date')).have.lengthOf(0);
502
502
  _context13.next = 19;
@@ -68,7 +68,7 @@ export default function ($props, $blocks, $__proto__) {
68
68
  }
69
69
 
70
70
  return _$cc(Tabs, {
71
- 'type': 'border-card',
71
+ 'type': 'card',
72
72
  'value': panel.value,
73
73
  'ev-$change:value': panel.set,
74
74
  'children': [_$cc(Tab, {
@@ -16,7 +16,7 @@ declare const defaults: {
16
16
  todayBorderColor: string;
17
17
  };
18
18
  disabled: {
19
- color: string;
19
+ readonly color: string;
20
20
  hoverBgColor: string;
21
21
  };
22
22
  range: {
@@ -35,7 +35,10 @@ var defaults = {
35
35
  todayBorderColor: "transparent"
36
36
  },
37
37
  disabled: {
38
- color: '#ccc',
38
+ get color() {
39
+ return theme.color.disabled;
40
+ },
41
+
39
42
  hoverBgColor: 'none'
40
43
  },
41
44
  range: {
@@ -80,7 +83,7 @@ export function makePanelStyles() {
80
83
  return /*#__PURE__*/css("display:flex;.k-datepicker-shortcuts{width:", datepicker.shortcuts.width, ";padding:", datepicker.shortcuts.padding, ";border-right:", datepicker.border, ";}.k-datepicker-shortcut{height:", datepicker.shortcuts.shortcut.height, ";line-height:", datepicker.shortcuts.shortcut.height, ";padding:", datepicker.shortcuts.shortcut.padding, ";cursor:pointer;&:hover{background:", datepicker.shortcuts.shortcut.hoverBgcolor, ";}}.k-datepicker-calendars{display:flex;}.k-datepicker-calendar-wrapper{&:nth-child(2){border-left:", datepicker.border, ";}.k-tabs{border:none;.k-tabs-wrapper{float:none;}.k-tab{width:50%;}}}.k-datepicker-footer{border-top:", datepicker.border, ";padding:", datepicker.footer.padding, ";text-align:right;}");
81
84
  }
82
85
  export function makeCalendarStyles() {
83
- return /*#__PURE__*/css("padding:", datepicker.padding, ";width:", datepicker.width, ";position:relative;.k-datepicker-month{display:flex;padding:", datepicker.month.padding, ";}.k-month-values{flex:1;font-size:14px;text-align:center;cursor:pointer;overflow:hidden;position:relative;}.k-month-value{margin:0 ", datepicker.month.valueGap, ";line-height:", theme.small.height, ";&:hover{color:", theme.color.primary, ";}},.k-weekdays{display:flex;border-bottom:", datepicker.border, ";padding:", datepicker.weekday.padding, ";}.k-weekday{flex:1;text-align:center;}.k-calendar-item{text-align:center;margin:", datepicker.item.gutter, ";aspect-ratio:1;display:flex;align-items:center;cursor:pointer;position:relative;border-radius:", datepicker.item.borderRadius, ";&.k-hover{background:", datepicker.item.hoverBgColor, ";}&.k-exceed{color:", datepicker.item.exceedColor, ";}&.k-today{border:", datepicker.item.todayBorder, ";}&.k-active{background:", datepicker.item.active.bgColor, ";color:", datepicker.item.active.color, ";&.k-today{border-color:", datepicker.item.active.todayBorderColor, ";}}&.k-disabled{color:", datepicker.item.disabled.color, ";cursor:not-allowed;background:", datepicker.item.disabled.hoverBgColor, ";}&.k-in-range:after{content:'';display:block;position:absolute;box-sizing:content-box;background:", datepicker.item.range.bgColor, ";width:100%;height:100%;left:-", datepicker.item.gutter, ";padding:0 ", datepicker.item.gutter, ";z-index:-1;}.k-value{flex:1;}}.k-days{display:grid;grid-template-columns:repeat(7, 1fr);}.k-years{display:grid;grid-template-columns:repeat(4, 1fr);}");
86
+ return /*#__PURE__*/css("padding:", datepicker.padding, ";width:", datepicker.width, ";position:relative;.k-datepicker-month{display:flex;padding:", datepicker.month.padding, ";}.k-month-values{flex:1;font-size:14px;text-align:center;cursor:pointer;overflow:hidden;position:relative;}.k-month-value{margin:0 ", datepicker.month.valueGap, ";line-height:", theme.small.height, ";&:hover{color:", theme.color.primary, ";}},.k-weekdays{display:flex;border-bottom:", datepicker.border, ";padding:", datepicker.weekday.padding, ";}.k-weekday{flex:1;text-align:center;}.k-calendar-item{text-align:center;margin:", datepicker.item.gutter, ";aspect-ratio:1;display:flex;align-items:center;cursor:pointer;position:relative;.k-value{border-radius:", datepicker.item.borderRadius, ";}&.k-hover .k-value{background:", datepicker.item.hoverBgColor, ";}&.k-exceed{color:", datepicker.item.exceedColor, ";}&.k-today .k-value{border:", datepicker.item.todayBorder, ";}&.k-active{background:", datepicker.item.active.bgColor, ";color:", datepicker.item.active.color, ";&.k-today .k-value{border-color:", datepicker.item.active.todayBorderColor, ";}}&.k-disabled{color:", datepicker.item.disabled.color, ";cursor:not-allowed;background:", datepicker.item.disabled.hoverBgColor, ";}&.k-in-range:after{content:'';display:block;position:absolute;box-sizing:content-box;background:", datepicker.item.range.bgColor, ";width:100%;height:100%;left:-", datepicker.item.gutter, ";padding:0 ", datepicker.item.gutter, ";z-index:-1;}.k-value{flex:1;display:flex;align-items:center;justify-content:center;height:100%;}}.k-days{display:grid;grid-template-columns:repeat(7, 1fr);}.k-years{display:grid;grid-template-columns:repeat(4, 1fr);}");
84
87
  }
85
88
  export function makeTimeStyles() {
86
89
  return /*#__PURE__*/css("display:flex;padding:", datepicker.padding, ";width:", datepicker.width, ";position:relative;.k-scroll-select{flex:1;height:305px;}");
@@ -12,7 +12,7 @@ export declare class DCallout extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -12,7 +12,7 @@ export declare class DCircle extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -12,7 +12,7 @@ export declare class DDocument extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -12,7 +12,7 @@ export declare class DEllipse extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -12,7 +12,7 @@ export declare class DHexagon extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -18,7 +18,7 @@ export declare class DImage extends DShape<DImageProps> {
18
18
  rotatable?: boolean | undefined;
19
19
  editable?: boolean | undefined;
20
20
  connectable?: boolean | undefined;
21
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
21
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
22
22
  label?: string | number | undefined;
23
23
  style?: Record<string, string | number> | undefined;
24
24
  data?: any;
@@ -12,7 +12,7 @@ export declare class DParallelogram extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;
@@ -18,7 +18,7 @@ export declare class DRectangle extends DShape<DRectangleProps> {
18
18
  rotatable?: boolean | undefined;
19
19
  editable?: boolean | undefined;
20
20
  connectable?: boolean | undefined;
21
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
21
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
22
22
  label?: string | number | undefined;
23
23
  style?: Record<string, string | number> | undefined;
24
24
  data?: any;
@@ -13,7 +13,7 @@ export declare class DSquare extends DRectangle {
13
13
  rotatable?: boolean | undefined;
14
14
  editable?: boolean | undefined;
15
15
  connectable?: boolean | undefined;
16
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
16
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
17
17
  label?: string | number | undefined;
18
18
  style?: Record<string, string | number> | undefined;
19
19
  data?: any;
@@ -12,7 +12,7 @@ export declare class DText extends DShape {
12
12
  rotatable?: boolean | undefined;
13
13
  editable?: boolean | undefined;
14
14
  connectable?: boolean | undefined;
15
- strokeStyle?: "dashed" | "dotted" | "solid" | undefined;
15
+ strokeStyle?: "solid" | "dashed" | "dotted" | undefined;
16
16
  label?: string | number | undefined;
17
17
  style?: Record<string, string | number> | undefined;
18
18
  data?: any;