@progress/kendo-themes-html 6.3.1-dev.0 → 6.4.0-dev.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 (253) hide show
  1. package/dist/bottom-nav/bottom-nav-item.js +234 -0
  2. package/dist/bottom-nav/bottom-nav-item.js.map +7 -0
  3. package/dist/bottom-nav/bottom-nav.spec.js +122 -0
  4. package/dist/bottom-nav/bottom-nav.spec.js.map +7 -0
  5. package/dist/bottom-nav/tests/bottom-nav-colors.js +269 -358
  6. package/dist/bottom-nav/tests/bottom-nav-colors.js.map +4 -4
  7. package/dist/bottom-nav/tests/bottom-nav-items.js +168 -53
  8. package/dist/bottom-nav/tests/bottom-nav-items.js.map +4 -4
  9. package/dist/bottom-nav/tests/bottom-nav-rtl.js +153 -50
  10. package/dist/bottom-nav/tests/bottom-nav-rtl.js.map +4 -4
  11. package/dist/bottom-nav/tests/bottom-nav.js +167 -76
  12. package/dist/bottom-nav/tests/bottom-nav.js.map +4 -4
  13. package/dist/breadcrumb/breadcrumb-container.js +76 -0
  14. package/dist/breadcrumb/breadcrumb-container.js.map +7 -0
  15. package/dist/breadcrumb/breadcrumb-input-container.js +65 -0
  16. package/dist/breadcrumb/breadcrumb-input-container.js.map +7 -0
  17. package/dist/breadcrumb/breadcrumb-item-text.js +70 -0
  18. package/dist/breadcrumb/breadcrumb-item-text.js.map +7 -0
  19. package/dist/breadcrumb/breadcrumb-item.js +75 -0
  20. package/dist/breadcrumb/breadcrumb-item.js.map +7 -0
  21. package/dist/breadcrumb/breadcrumb-link.js +132 -0
  22. package/dist/breadcrumb/breadcrumb-link.js.map +7 -0
  23. package/dist/breadcrumb/breadcrumb-root-item-container.js +65 -0
  24. package/dist/breadcrumb/breadcrumb-root-item-container.js.map +7 -0
  25. package/dist/breadcrumb/breadcrumb.spec.js +125 -0
  26. package/dist/breadcrumb/breadcrumb.spec.js.map +7 -0
  27. package/dist/breadcrumb/tests/breadcrumb-rtl.js +349 -153
  28. package/dist/breadcrumb/tests/breadcrumb-rtl.js.map +4 -4
  29. package/dist/breadcrumb/tests/breadcrumb.js +349 -153
  30. package/dist/breadcrumb/tests/breadcrumb.js.map +4 -4
  31. package/dist/coloreditor/color-editor.spec.js +1586 -0
  32. package/dist/coloreditor/color-editor.spec.js.map +7 -0
  33. package/dist/coloreditor/tests/coloreditor-focused-colorgradient.js +821 -176
  34. package/dist/coloreditor/tests/coloreditor-focused-colorgradient.js.map +4 -4
  35. package/dist/coloreditor/tests/coloreditor-rtl.js +727 -265
  36. package/dist/coloreditor/tests/coloreditor-rtl.js.map +4 -4
  37. package/dist/coloreditor/tests/coloreditor-states.js +821 -176
  38. package/dist/coloreditor/tests/coloreditor-states.js.map +4 -4
  39. package/dist/coloreditor/tests/coloreditor-views.js +727 -265
  40. package/dist/coloreditor/tests/coloreditor-views.js.map +4 -4
  41. package/dist/coloreditor/tests/coloreditor.js +821 -176
  42. package/dist/coloreditor/tests/coloreditor.js.map +4 -4
  43. package/dist/colorgradient/color-contrast.js +199 -0
  44. package/dist/colorgradient/color-contrast.js.map +7 -0
  45. package/dist/colorgradient/color-gradient.spec.js +1246 -0
  46. package/dist/colorgradient/color-gradient.spec.js.map +7 -0
  47. package/dist/colorgradient/color-input.js +1029 -0
  48. package/dist/colorgradient/color-input.js.map +7 -0
  49. package/dist/colorgradient/tests/colorgradient-contrast.js +532 -155
  50. package/dist/colorgradient/tests/colorgradient-contrast.js.map +4 -4
  51. package/dist/colorgradient/tests/colorgradient-draghandle.js +536 -202
  52. package/dist/colorgradient/tests/colorgradient-draghandle.js.map +4 -4
  53. package/dist/colorgradient/tests/colorgradient-modes.js +433 -260
  54. package/dist/colorgradient/tests/colorgradient-modes.js.map +4 -4
  55. package/dist/colorgradient/tests/colorgradient-rtl.js +532 -155
  56. package/dist/colorgradient/tests/colorgradient-rtl.js.map +4 -4
  57. package/dist/colorgradient/tests/colorgradient-states.js +536 -132
  58. package/dist/colorgradient/tests/colorgradient-states.js.map +4 -4
  59. package/dist/colorgradient/tests/colorgradient.js +532 -132
  60. package/dist/colorgradient/tests/colorgradient.js.map +4 -4
  61. package/dist/colorpalette/colorpalette.spec.js +1 -1
  62. package/dist/colorpalette/colorpalette.spec.js.map +2 -2
  63. package/dist/colorpalette/tests/colorpalette-states.js +1 -1
  64. package/dist/colorpalette/tests/colorpalette-states.js.map +2 -2
  65. package/dist/colorpalette/tests/colorpalette-variants.js +1 -1
  66. package/dist/colorpalette/tests/colorpalette-variants.js.map +2 -2
  67. package/dist/colorpalette/tests/colorpalette.js +1 -1
  68. package/dist/colorpalette/tests/colorpalette.js.map +2 -2
  69. package/dist/colorpicker/tests/colorpicker-dropdown.js +757 -185
  70. package/dist/colorpicker/tests/colorpicker-dropdown.js.map +4 -4
  71. package/dist/editor/tests/editor-table-wizard.js +1984 -0
  72. package/dist/editor/tests/editor-table-wizard.js.map +7 -0
  73. package/dist/expansion-panel/expansion-panel.spec.js +253 -0
  74. package/dist/expansion-panel/expansion-panel.spec.js.map +7 -0
  75. package/dist/expansion-panel/tests/expansion-panel-rtl.js +100 -83
  76. package/dist/expansion-panel/tests/expansion-panel-rtl.js.map +4 -4
  77. package/dist/expansion-panel/tests/expansion-panel.js +100 -83
  78. package/dist/expansion-panel/tests/expansion-panel.js.map +4 -4
  79. package/dist/filemanager/tests/filemanager-contextmenu.js +492 -340
  80. package/dist/filemanager/tests/filemanager-contextmenu.js.map +4 -4
  81. package/dist/filemanager/tests/filemanager-drag-hint.js +468 -316
  82. package/dist/filemanager/tests/filemanager-drag-hint.js.map +4 -4
  83. package/dist/filemanager/tests/filemanager-gridview.js +533 -381
  84. package/dist/filemanager/tests/filemanager-gridview.js.map +4 -4
  85. package/dist/filemanager/tests/filemanager-listview.js +487 -335
  86. package/dist/filemanager/tests/filemanager-listview.js.map +4 -4
  87. package/dist/filemanager/tests/filemanager-preview.js +586 -434
  88. package/dist/filemanager/tests/filemanager-preview.js.map +4 -4
  89. package/dist/grid/tests/grid-column-menu-rtl.js +15 -15
  90. package/dist/grid/tests/grid-column-menu-rtl.js.map +2 -2
  91. package/dist/grid/tests/grid-column-menu.js +15 -15
  92. package/dist/grid/tests/grid-column-menu.js.map +2 -2
  93. package/dist/index.js +2131 -1244
  94. package/dist/index.js.map +4 -4
  95. package/dist/multiselecttree/multiselecttree.spec.js +1003 -0
  96. package/dist/multiselecttree/multiselecttree.spec.js.map +7 -0
  97. package/dist/multiselecttree/tests/multiselecttree-flat.js +1208 -0
  98. package/dist/multiselecttree/tests/multiselecttree-flat.js.map +7 -0
  99. package/dist/{editor/tests/editor-table-wizard-accessibility.js → multiselecttree/tests/multiselecttree-opened.js} +646 -645
  100. package/dist/multiselecttree/tests/multiselecttree-opened.js.map +7 -0
  101. package/dist/multiselecttree/tests/multiselecttree-outline.js +1208 -0
  102. package/dist/multiselecttree/tests/multiselecttree-outline.js.map +7 -0
  103. package/dist/multiselecttree/tests/multiselecttree-size.js +1107 -0
  104. package/dist/multiselecttree/tests/multiselecttree-size.js.map +7 -0
  105. package/dist/multiselecttree/tests/multiselecttree.js +1194 -0
  106. package/dist/multiselecttree/tests/multiselecttree.js.map +7 -0
  107. package/dist/pivotgrid/tests/pivotgrid-column-menus.js +8 -8
  108. package/dist/pivotgrid/tests/pivotgrid-column-menus.js.map +2 -2
  109. package/dist/scheduler/tests/scheduler-adaptive-agenda.js +6 -4
  110. package/dist/scheduler/tests/scheduler-adaptive-agenda.js.map +2 -2
  111. package/dist/scheduler/tests/scheduler-adaptive-day-resource-group.js +6 -4
  112. package/dist/scheduler/tests/scheduler-adaptive-day-resource-group.js.map +2 -2
  113. package/dist/scheduler/tests/scheduler-adaptive-day.js +6 -4
  114. package/dist/scheduler/tests/scheduler-adaptive-day.js.map +2 -2
  115. package/dist/scheduler/tests/scheduler-adaptive-month.js +6 -4
  116. package/dist/scheduler/tests/scheduler-adaptive-month.js.map +2 -2
  117. package/dist/scheduler/tests/scheduler-angular-agenda-rtl.js +8 -11
  118. package/dist/scheduler/tests/scheduler-angular-agenda-rtl.js.map +2 -2
  119. package/dist/scheduler/tests/scheduler-angular-agenda.js +8 -11
  120. package/dist/scheduler/tests/scheduler-angular-agenda.js.map +2 -2
  121. package/dist/scheduler/tests/scheduler-angular-day-rtl.js +8 -11
  122. package/dist/scheduler/tests/scheduler-angular-day-rtl.js.map +2 -2
  123. package/dist/scheduler/tests/scheduler-angular-month-rtl.js +8 -11
  124. package/dist/scheduler/tests/scheduler-angular-month-rtl.js.map +2 -2
  125. package/dist/scheduler/tests/scheduler-angular-month.js +8 -11
  126. package/dist/scheduler/tests/scheduler-angular-month.js.map +2 -2
  127. package/dist/scheduler/tests/scheduler-angular-rtl.js +8 -11
  128. package/dist/scheduler/tests/scheduler-angular-rtl.js.map +2 -2
  129. package/dist/scheduler/tests/scheduler-angular.js +8 -11
  130. package/dist/scheduler/tests/scheduler-angular.js.map +2 -2
  131. package/dist/scheduler/tests/scheduler-flex-layout.js +7 -10
  132. package/dist/scheduler/tests/scheduler-flex-layout.js.map +2 -2
  133. package/dist/scheduler/tests/scheduler-jquery-agenda.js +7 -10
  134. package/dist/scheduler/tests/scheduler-jquery-agenda.js.map +2 -2
  135. package/dist/scheduler/tests/scheduler-jquery-month.js +7 -10
  136. package/dist/scheduler/tests/scheduler-jquery-month.js.map +2 -2
  137. package/dist/scheduler/tests/scheduler-react-agenda.js +7 -10
  138. package/dist/scheduler/tests/scheduler-react-agenda.js.map +2 -2
  139. package/dist/scheduler/tests/scheduler-react-day.js +7 -10
  140. package/dist/scheduler/tests/scheduler-react-day.js.map +2 -2
  141. package/dist/scheduler/tests/scheduler-react-month.js +7 -10
  142. package/dist/scheduler/tests/scheduler-react-month.js.map +2 -2
  143. package/dist/scheduler/tests/scheduler-react-timeline-multi.js +7 -10
  144. package/dist/scheduler/tests/scheduler-react-timeline-multi.js.map +2 -2
  145. package/dist/scheduler/tests/scheduler-react-timeline.js +14 -20
  146. package/dist/scheduler/tests/scheduler-react-timeline.js.map +2 -2
  147. package/dist/scheduler/tests/scheduler-react-week.js +7 -10
  148. package/dist/scheduler/tests/scheduler-react-week.js.map +2 -2
  149. package/dist/scheduler/tests/scheduler-year.js +6 -9
  150. package/dist/scheduler/tests/scheduler-year.js.map +2 -2
  151. package/dist/scheduler/tests/scheduler.js +13 -19
  152. package/dist/scheduler/tests/scheduler.js.map +2 -2
  153. package/dist/slider/slider-tick.js +48 -0
  154. package/dist/slider/slider-tick.js.map +7 -0
  155. package/dist/slider/slider.spec.js +411 -0
  156. package/dist/slider/slider.spec.js.map +7 -0
  157. package/dist/slider/tests/slider-css-vars.js +300 -268
  158. package/dist/slider/tests/slider-css-vars.js.map +4 -4
  159. package/dist/slider/tests/slider-tick-absolute-position.js +155 -36
  160. package/dist/slider/tests/slider-tick-absolute-position.js.map +4 -4
  161. package/dist/slider/tests/slider.js +235 -209
  162. package/dist/slider/tests/slider.js.map +4 -4
  163. package/dist/spreadsheet/tests/spreadsheet-filter-menu.js +2 -2
  164. package/dist/spreadsheet/tests/spreadsheet-filter-menu.js.map +2 -2
  165. package/package.json +2 -2
  166. package/src/bottom-nav/bottom-nav-item.tsx +62 -0
  167. package/src/bottom-nav/bottom-nav.spec.tsx +76 -0
  168. package/src/bottom-nav/index.ts +2 -0
  169. package/src/bottom-nav/tests/bottom-nav-colors.tsx +109 -325
  170. package/src/bottom-nav/tests/bottom-nav-items.tsx +12 -22
  171. package/src/bottom-nav/tests/bottom-nav-rtl.tsx +13 -37
  172. package/src/bottom-nav/tests/bottom-nav.tsx +29 -77
  173. package/src/breadcrumb/breadcrumb-container.tsx +36 -0
  174. package/src/breadcrumb/breadcrumb-input-container.tsx +22 -0
  175. package/src/breadcrumb/breadcrumb-item-text.tsx +32 -0
  176. package/src/breadcrumb/breadcrumb-item.tsx +34 -0
  177. package/src/breadcrumb/breadcrumb-link.tsx +55 -0
  178. package/src/breadcrumb/breadcrumb-root-item-container.tsx +22 -0
  179. package/src/breadcrumb/breadcrumb.spec.tsx +55 -0
  180. package/src/breadcrumb/index.ts +7 -0
  181. package/src/breadcrumb/tests/breadcrumb-rtl.tsx +275 -231
  182. package/src/breadcrumb/tests/breadcrumb.tsx +274 -231
  183. package/src/coloreditor/color-editor.spec.tsx +93 -0
  184. package/src/coloreditor/index.ts +1 -0
  185. package/src/coloreditor/tests/coloreditor-focused-colorgradient.tsx +2 -76
  186. package/src/coloreditor/tests/coloreditor-rtl.tsx +3 -107
  187. package/src/coloreditor/tests/coloreditor-states.tsx +2 -77
  188. package/src/coloreditor/tests/coloreditor-views.tsx +3 -107
  189. package/src/coloreditor/tests/coloreditor.tsx +2 -77
  190. package/src/colorgradient/color-contrast.tsx +44 -0
  191. package/src/colorgradient/color-gradient.spec.tsx +102 -0
  192. package/src/colorgradient/color-input.tsx +123 -0
  193. package/src/colorgradient/index.ts +4 -0
  194. package/src/colorgradient/tests/colorgradient-contrast.tsx +2 -83
  195. package/src/colorgradient/tests/colorgradient-draghandle.tsx +4 -146
  196. package/src/colorgradient/tests/colorgradient-modes.tsx +6 -214
  197. package/src/colorgradient/tests/colorgradient-rtl.tsx +2 -74
  198. package/src/colorgradient/tests/colorgradient-states.tsx +14 -51
  199. package/src/colorgradient/tests/colorgradient.tsx +2 -55
  200. package/src/colorpalette/colorpalette.spec.tsx +5 -5
  201. package/src/colorpicker/tests/colorpicker-dropdown.tsx +7 -184
  202. package/src/editor/tests/editor-table-wizard.tsx +280 -0
  203. package/src/expansion-panel/expansion-panel.spec.tsx +86 -0
  204. package/src/expansion-panel/index.ts +1 -0
  205. package/src/expansion-panel/tests/expansion-panel-rtl.tsx +48 -111
  206. package/src/expansion-panel/tests/expansion-panel.tsx +49 -111
  207. package/src/filemanager/tests/filemanager-contextmenu.tsx +9 -8
  208. package/src/filemanager/tests/filemanager-drag-hint.tsx +9 -8
  209. package/src/filemanager/tests/filemanager-gridview.tsx +17 -16
  210. package/src/filemanager/tests/filemanager-listview.tsx +17 -16
  211. package/src/filemanager/tests/filemanager-preview.tsx +25 -24
  212. package/src/grid/tests/grid-column-menu-rtl.tsx +45 -15
  213. package/src/grid/tests/grid-column-menu.tsx +45 -15
  214. package/src/index.ts +7 -4
  215. package/src/multiselecttree/index.ts +1 -0
  216. package/src/multiselecttree/multiselecttree.spec.tsx +150 -0
  217. package/src/multiselecttree/tests/multiselecttree-flat.tsx +179 -0
  218. package/src/multiselecttree/tests/multiselecttree-opened.tsx +119 -0
  219. package/src/multiselecttree/tests/multiselecttree-outline.tsx +179 -0
  220. package/src/multiselecttree/tests/multiselecttree-size.tsx +54 -0
  221. package/src/multiselecttree/tests/multiselecttree.tsx +179 -0
  222. package/src/pivotgrid/tests/pivotgrid-column-menus.tsx +24 -8
  223. package/src/scheduler/tests/scheduler-adaptive-agenda.tsx +13 -14
  224. package/src/scheduler/tests/scheduler-adaptive-day-resource-group.tsx +13 -14
  225. package/src/scheduler/tests/scheduler-adaptive-day.tsx +13 -14
  226. package/src/scheduler/tests/scheduler-adaptive-month.tsx +13 -14
  227. package/src/scheduler/tests/scheduler-angular-agenda-rtl.tsx +13 -17
  228. package/src/scheduler/tests/scheduler-angular-agenda.tsx +13 -17
  229. package/src/scheduler/tests/scheduler-angular-day-rtl.tsx +13 -17
  230. package/src/scheduler/tests/scheduler-angular-month-rtl.tsx +13 -17
  231. package/src/scheduler/tests/scheduler-angular-month.tsx +13 -17
  232. package/src/scheduler/tests/scheduler-angular-rtl.tsx +13 -17
  233. package/src/scheduler/tests/scheduler-angular.tsx +13 -17
  234. package/src/scheduler/tests/scheduler-flex-layout.tsx +10 -14
  235. package/src/scheduler/tests/scheduler-jquery-agenda.tsx +10 -14
  236. package/src/scheduler/tests/scheduler-jquery-month.tsx +10 -14
  237. package/src/scheduler/tests/scheduler-react-agenda.tsx +10 -14
  238. package/src/scheduler/tests/scheduler-react-day.tsx +10 -14
  239. package/src/scheduler/tests/scheduler-react-month.tsx +10 -14
  240. package/src/scheduler/tests/scheduler-react-timeline-multi.tsx +10 -14
  241. package/src/scheduler/tests/scheduler-react-timeline.tsx +19 -28
  242. package/src/scheduler/tests/scheduler-react-week.tsx +10 -14
  243. package/src/scheduler/tests/scheduler-year.tsx +9 -13
  244. package/src/scheduler/tests/scheduler.tsx +20 -27
  245. package/src/slider/index.ts +2 -0
  246. package/src/slider/slider-tick.tsx +52 -0
  247. package/src/slider/slider.spec.tsx +120 -0
  248. package/src/slider/tests/slider-css-vars.tsx +185 -349
  249. package/src/slider/tests/slider-tick-absolute-position.tsx +40 -64
  250. package/src/slider/tests/slider.tsx +118 -262
  251. package/src/spreadsheet/tests/spreadsheet-filter-menu.tsx +6 -2
  252. package/dist/editor/tests/editor-table-wizard-accessibility.js.map +0 -7
  253. package/src/editor/tests/editor-table-wizard-accessibility.tsx +0 -69
@@ -0,0 +1,44 @@
1
+ import { classNames } from '../utils';
2
+ import { Icon } from '../icon';
3
+
4
+ const COLOR_CONTRAST_CLASSNAME = 'k-colorgradient-color-contrast';
5
+
6
+ const states = [];
7
+
8
+ const options = {};
9
+
10
+ const defaultProps = {};
11
+
12
+ export const ColorContrast = (
13
+ ) => (
14
+ <div className={classNames(COLOR_CONTRAST_CLASSNAME, 'k-vbox')}>
15
+ <div className="k-contrast-ratio">
16
+ <span className="k-contrast-ratio-text">Contrast ratio: 7.1</span>
17
+ <span className="k-contrast-validation !k-text-success">
18
+ <Icon name="check" />
19
+ <Icon name="check" />
20
+ </span>
21
+ </div>
22
+ <div>
23
+ <span>AA: 4.5</span>
24
+ <span className="k-contrast-validation !k-text-success">
25
+ Pass
26
+ <Icon name="check" />
27
+ </span>
28
+ </div>
29
+ <div>
30
+ <span>AAA: 7.0</span>
31
+ <span className="k-contrast-validation !k-text-error">
32
+ Fail
33
+ <Icon name="x" />
34
+ </span>
35
+ </div>
36
+ </div>
37
+ );
38
+
39
+ ColorContrast.states = states;
40
+ ColorContrast.options = options;
41
+ ColorContrast.className = COLOR_CONTRAST_CLASSNAME;
42
+ ColorContrast.defaultProps = defaultProps;
43
+
44
+ export default ColorContrast;
@@ -0,0 +1,102 @@
1
+ import { classNames, stateClassNames, States } from '../utils';
2
+ import { Slider } from '../slider';
3
+ import { ColorInput } from './color-input';
4
+ import { ColorContrast } from './color-contrast';
5
+
6
+ const COLOR_GRADIENT_CLASSNAME = 'k-colorgradient';
7
+
8
+ const states = [
9
+ States.hover,
10
+ States.focus,
11
+ States.readonly,
12
+ States.disabled,
13
+ ];
14
+
15
+ const options = {};
16
+
17
+ export type KendoColorGradientProps = {
18
+ mode: 'rgba' | 'rgb' | 'hsva' | 'hsv' | 'hex'
19
+ dir?: 'ltr' | 'rtl';
20
+ contrast?: boolean;
21
+ hoverHandle?: boolean;
22
+ focusHandle?: boolean;
23
+ gradientStyle?: React.CSSProperties;
24
+ dragHandleStyle?: React.CSSProperties;
25
+ alphaStyle?: React.CSSProperties;
26
+ };
27
+
28
+ export type KendoColorGradientState = { [K in (typeof states)[number]]?: boolean };
29
+
30
+ const defaultProps = {
31
+ mode: 'rgba',
32
+ readonly: false,
33
+ disabled: false,
34
+ contrast: false,
35
+ gradientStyle: { background: "rgb(255, 0, 0 )" },
36
+ dragHandleStyle: { top: "50px", left: "73px" },
37
+ alphaStyle: { background: "linear-gradient(to top, transparent, rgb(255, 0, 0))" }
38
+ };
39
+
40
+ export const ColorGradient = (
41
+ props: KendoColorGradientProps &
42
+ KendoColorGradientState &
43
+ React.HTMLAttributes<HTMLDivElement>
44
+ ) => {
45
+ const {
46
+ mode = defaultProps.mode,
47
+ readonly = defaultProps.readonly,
48
+ disabled = defaultProps.disabled,
49
+ dir,
50
+ contrast = defaultProps.contrast,
51
+ hover,
52
+ focus,
53
+ hoverHandle,
54
+ focusHandle,
55
+ gradientStyle = defaultProps.gradientStyle,
56
+ dragHandleStyle = defaultProps.dragHandleStyle,
57
+ alphaStyle = defaultProps.alphaStyle,
58
+ } = props;
59
+
60
+ return (
61
+ <div className={classNames(
62
+ props.className,
63
+ COLOR_GRADIENT_CLASSNAME,
64
+ stateClassNames(COLOR_GRADIENT_CLASSNAME, {
65
+ hover,
66
+ focus,
67
+ readonly,
68
+ disabled
69
+ })
70
+ )} dir={dir}>
71
+ <div className="k-colorgradient-canvas k-hstack">
72
+ <div className="k-hsv-rectangle" style={gradientStyle}>
73
+ <div className="k-hsv-gradient">
74
+ <div className={classNames(
75
+ 'k-hsv-draghandle',
76
+ 'k-draghandle',
77
+ {
78
+ 'k-hover': hoverHandle,
79
+ 'k-focus': focusHandle
80
+ }
81
+ )} style={dragHandleStyle} ></div>
82
+ </div>
83
+ </div>
84
+ <div className="k-hsv-controls k-hstack">
85
+ <Slider type="gradient" orientation="vertical" className="k-hue-slider" hover={hoverHandle} focus={focusHandle} />
86
+ {
87
+ mode !== 'rgb' && mode !== 'hsv' && <Slider type="gradient" orientation="vertical" className="k-alpha-slider" hover={hoverHandle} focus={focusHandle} trackStyle={alphaStyle}/>
88
+ }
89
+ </div>
90
+ </div>
91
+ <ColorInput mode={props.mode} />
92
+ { contrast && <ColorContrast /> }
93
+ </div>
94
+ );
95
+ };
96
+
97
+ ColorGradient.states = states;
98
+ ColorGradient.options = options;
99
+ ColorGradient.className = COLOR_GRADIENT_CLASSNAME;
100
+ ColorGradient.defaultProps = defaultProps;
101
+
102
+ export default ColorGradient;
@@ -0,0 +1,123 @@
1
+ import { classNames } from '../utils';
2
+ import { Button } from '../button';
3
+ import { NumericTextbox } from '../numerictextbox';
4
+ import { Textbox } from '../textbox';
5
+
6
+ const COLOR_INPUT_CLASSNAME = 'k-colorgradient-inputs';
7
+
8
+ const states = [];
9
+
10
+ const options = {};
11
+
12
+ export type KendoColorInputOptions = {
13
+ mode: 'rgba' | 'rgb' | 'hsva' | 'hsv' | 'hex'
14
+ };
15
+
16
+ const defaultProps = {
17
+ mode: 'rgba'
18
+ };
19
+
20
+ export const ColorInput = (
21
+ props: KendoColorInputOptions &
22
+ React.HTMLAttributes<HTMLDivElement>
23
+
24
+ ) => {
25
+ const {
26
+ mode = defaultProps.mode,
27
+ } = props;
28
+
29
+ return (
30
+ <div className={classNames(COLOR_INPUT_CLASSNAME, 'k-hstack')}>
31
+ <div className="k-vstack">
32
+ <Button fillMode="flat" icon="arrows-kpi" className="k-cologradient-toggle-mode" />
33
+ </div>
34
+ { mode === 'rgba' &&
35
+ <>
36
+ <div className="k-vstack">
37
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
38
+ <label className="k-colorgradient-input-label">R</label>
39
+ </div>
40
+ <div className="k-vstack">
41
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
42
+ <label className="k-colorgradient-input-label">G</label>
43
+ </div>
44
+ <div className="k-vstack">
45
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
46
+ <label className="k-colorgradient-input-label">B</label>
47
+ </div>
48
+ <div className="k-vstack">
49
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
50
+ <label className="k-colorgradient-input-label">A</label>
51
+ </div>
52
+ </>
53
+ }
54
+ { mode === 'rgb' &&
55
+ <>
56
+ <div className="k-vstack">
57
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
58
+ <label className="k-colorgradient-input-label">R</label>
59
+ </div>
60
+ <div className="k-vstack">
61
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
62
+ <label className="k-colorgradient-input-label">G</label>
63
+ </div>
64
+ <div className="k-vstack">
65
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
66
+ <label className="k-colorgradient-input-label">B</label>
67
+ </div>
68
+ </>
69
+ }
70
+ { mode === 'hsva' &&
71
+ <>
72
+ <div className="k-vstack">
73
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
74
+ <label className="k-colorgradient-input-label">H</label>
75
+ </div>
76
+ <div className="k-vstack">
77
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
78
+ <label className="k-colorgradient-input-label">S</label>
79
+ </div>
80
+ <div className="k-vstack">
81
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
82
+ <label className="k-colorgradient-input-label">V</label>
83
+ </div>
84
+ <div className="k-vstack">
85
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
86
+ <label className="k-colorgradient-input-label">A</label>
87
+ </div>
88
+ </>
89
+ }
90
+ { mode === 'hsv' &&
91
+ <>
92
+ <div className="k-vstack">
93
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
94
+ <label className="k-colorgradient-input-label">H</label>
95
+ </div>
96
+ <div className="k-vstack">
97
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
98
+ <label className="k-colorgradient-input-label">S</label>
99
+ </div>
100
+ <div className="k-vstack">
101
+ <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
102
+ <label className="k-colorgradient-input-label">V</label>
103
+ </div>
104
+ </>
105
+ }
106
+ { mode === 'hex' &&
107
+ <>
108
+ <div className="k-vstack k-flex-1">
109
+ <Textbox showClearButton={false} value="#b88484AA" className="k-hex-value" />
110
+ <label className="k-colorgradient-input-label">HEX</label>
111
+ </div>
112
+ </>
113
+ }
114
+ </div>
115
+ );
116
+ };
117
+
118
+ ColorInput.states = states;
119
+ ColorInput.options = options;
120
+ ColorInput.className = COLOR_INPUT_CLASSNAME;
121
+ ColorInput.defaultProps = defaultProps;
122
+
123
+ export default ColorInput;
@@ -0,0 +1,4 @@
1
+ export * from './color-gradient.spec';
2
+ export * from './color-input';
3
+ export * from './color-contrast';
4
+
@@ -1,7 +1,5 @@
1
1
  import ReactDOM from 'react-dom/client';
2
- import { Button } from '../../button';
3
- import { Icon } from '../../icon';
4
- import { NumericTextbox } from '../../numerictextbox';
2
+ import { ColorGradient } from '../../colorgradient';
5
3
 
6
4
  const root = ReactDOM.createRoot(
7
5
  document.getElementById('app') as HTMLElement
@@ -25,86 +23,7 @@ root.render(
25
23
 
26
24
  <span>Contrast Tool</span>
27
25
  <section>
28
- <div className="k-colorgradient">
29
- <div className="k-colorgradient-canvas k-hstack">
30
- <div className="k-hsv-rectangle" style={{ background: "rgb(255, 0, 0)" }}>
31
- <div className="k-hsv-gradient">
32
- <div className="k-hsv-draghandle k-draghandle" style={{ top: '50px', left: "73px" }}></div>
33
- </div>
34
- </div>
35
- <div className="k-hsv-controls k-hstack">
36
-
37
- <div className="k-slider k-slider-vertical k-hue-slider k-colorgradient-slider">
38
- <div className="k-slider-track-wrap">
39
- <div className="k-slider-track">
40
- <div className="k-slider-selection"></div>
41
- <a className="k-draghandle k-draghandle-end"></a>
42
- </div>
43
- </div>
44
- </div>
45
-
46
- <div className="k-slider k-slider-vertical k-alpha-slider k-colorgradient-slider">
47
- <div className="k-slider-track-wrap">
48
- <div className="k-slider-track" style={{ background: "linear-gradient(to top, transparent, rgb(255, 0, 0))" }}>
49
- <div className="k-slider-selection"></div>
50
- <a className="k-draghandle k-draghandle-end"></a>
51
- </div>
52
- </div>
53
- </div>
54
- </div>
55
- </div>
56
-
57
- <div className="k-colorgradient-inputs k-hstack">
58
- <div className="k-vstack">
59
- <Button fillMode="flat" icon="arrows-kpi" className="k-colorgradient-toggle-mode"></Button>
60
- </div>
61
-
62
- <div className="k-vstack">
63
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
64
- <label className="k-colorgradient-input-label">R</label>
65
- </div>
66
-
67
- <div className="k-vstack">
68
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
69
- <label className="k-colorgradient-input-label">G</label>
70
- </div>
71
-
72
- <div className="k-vstack">
73
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
74
- <label className="k-colorgradient-input-label">B</label>
75
- </div>
76
-
77
- <div className="k-vstack">
78
- <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
79
- <label className="k-colorgradient-input-label">A</label>
80
- </div>
81
- </div>
82
-
83
- <div className="k-colorgradient-color-contrast k-vbox">
84
- <div className="k-contrast-ratio">
85
- <span className="k-contrast-ratio-text">Contrast ratio: 7.1</span>
86
- <span className="k-contrast-validation !k-text-success">
87
- <Icon name="check" />
88
- <Icon name="check" />
89
- </span>
90
- </div>
91
- <div>
92
- <span>AA: 4.5</span>
93
- <span className="k-contrast-validation !k-text-success">
94
- Pass
95
- <Icon name="check" />
96
- </span>
97
- </div>
98
- <div>
99
- <span>AAA: 7.0</span>
100
- <span className="k-contrast-validation !k-text-error">
101
- Fail
102
- <Icon name="x" />
103
- </span>
104
- </div>
105
- </div>
106
- </div>
107
-
26
+ <ColorGradient contrast />
108
27
  </section>
109
28
 
110
29
  </div>
@@ -1,6 +1,5 @@
1
1
  import ReactDOM from 'react-dom/client';
2
- import { Button } from '../../button';
3
- import { NumericTextbox } from '../../numerictextbox';
2
+ import { ColorGradient } from '../../colorgradient';
4
3
 
5
4
  const root = ReactDOM.createRoot(
6
5
  document.getElementById('app') as HTMLElement
@@ -27,156 +26,15 @@ root.render(
27
26
  <span>DragHandle Hover</span>
28
27
 
29
28
  <section>
30
- <div className="k-colorgradient">
31
- <div className="k-colorgradient-canvas k-hstack">
32
- <div className="k-hsv-rectangle" style={{ background: "rgb(255, 0, 0)" }}>
33
- <div className="k-hsv-gradient">
34
- <div className="k-hsv-draghandle k-draghandle" style={{ top: '50px', left: "73px" }}></div>
35
- </div>
36
- </div>
37
- <div className="k-hsv-controls k-hstack">
38
- <div className="k-slider k-slider-vertical k-hue-slider k-colorgradient-slider">
39
- <div className="k-slider-track-wrap">
40
- <div className="k-slider-track">
41
- <div className="k-slider-selection"></div>
42
- <a className="k-draghandle k-draghandle-end"></a>
43
- </div>
44
- </div>
45
- </div>
46
- <div className="k-slider k-slider-vertical k-alpha-slider k-colorgradient-slider">
47
- <div className="k-slider-track-wrap">
48
- <div className="k-slider-track" style={{ background: "linear-gradient(to top, transparent, rgb(255, 0, 0))" }}>
49
- <div className="k-slider-selection"></div>
50
- <a className="k-draghandle k-draghandle-end"></a>
51
- </div>
52
- </div>
53
- </div>
54
- </div>
55
- </div>
56
- <div className="k-colorgradient-inputs k-hstack">
57
- <div className="k-vstack">
58
- <Button fillMode="flat" icon="arrows-kpi" className="k-colorgradient-toggle-mode"></Button>
59
- </div>
60
- <div className="k-vstack">
61
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
62
- <label className="k-colorgradient-input-label">R</label>
63
- </div>
64
- <div className="k-vstack">
65
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
66
- <label className="k-colorgradient-input-label">G</label>
67
- </div>
68
- <div className="k-vstack">
69
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
70
- <label className="k-colorgradient-input-label">B</label>
71
- </div>
72
- <div className="k-vstack">
73
- <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
74
- <label className="k-colorgradient-input-label">A</label>
75
- </div>
76
- </div>
77
- </div>
29
+ <ColorGradient />
78
30
  </section>
79
31
 
80
32
  <section>
81
- <div className="k-colorgradient">
82
- <div className="k-colorgradient-canvas k-hstack">
83
- <div className="k-hsv-rectangle" style={{ background: "rgb(255, 0, 0)" }}>
84
- <div className="k-hsv-gradient">
85
- <div className="k-hsv-draghandle k-draghandle k-focus" style={{ top: '50px', left: "73px" }}></div>
86
- </div>
87
- </div>
88
- <div className="k-hsv-controls k-hstack">
89
- <div className="k-slider k-slider-vertical k-hue-slider k-colorgradient-slider k-focus">
90
- <div className="k-slider-track-wrap">
91
- <div className="k-slider-track">
92
- <div className="k-slider-selection"></div>
93
- <a className="k-draghandle k-draghandle-end k-focus"></a>
94
- </div>
95
- </div>
96
- </div>
97
- <div className="k-slider k-slider-vertical k-alpha-slider k-colorgradient-slider k-focus" style={{ "--kendo-slider-end": "100" } as any }>
98
- <div className="k-slider-track-wrap">
99
- <div className="k-slider-track" style={{ background: "linear-gradient(to top, transparent, rgb(255, 0, 0))" }}>
100
- <div className="k-slider-selection"></div>
101
- <a className="k-draghandle k-draghandle-end k-focus"></a>
102
- </div>
103
- </div>
104
- </div>
105
- </div>
106
- </div>
107
- <div className="k-colorgradient-inputs k-hstack">
108
- <div className="k-vstack">
109
- <Button fillMode="flat" icon="arrows-kpi" className="k-colorgradient-toggle-mode"></Button>
110
- </div>
111
- <div className="k-vstack">
112
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
113
- <label className="k-colorgradient-input-label">R</label>
114
- </div>
115
- <div className="k-vstack">
116
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
117
- <label className="k-colorgradient-input-label">G</label>
118
- </div>
119
- <div className="k-vstack">
120
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
121
- <label className="k-colorgradient-input-label">B</label>
122
- </div>
123
- <div className="k-vstack">
124
- <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
125
- <label className="k-colorgradient-input-label">A</label>
126
- </div>
127
- </div>
128
- </div>
33
+ <ColorGradient focusHandle />
129
34
  </section>
130
35
 
131
36
  <section>
132
- <div className="k-colorgradient">
133
- <div className="k-colorgradient-canvas k-hstack">
134
- <div className="k-hsv-rectangle" style={{ background: "rgb(255, 0, 0)" }}>
135
- <div className="k-hsv-gradient">
136
- <div className="k-hsv-draghandle k-draghandle k-hover" style={{ top: '50px', left: "73px" }}></div>
137
- </div>
138
- </div>
139
- <div className="k-hsv-controls k-hstack">
140
- <div className="k-slider k-slider-vertical k-hue-slider k-colorgradient-slider k-hover">
141
- <div className="k-slider-track-wrap">
142
- <div className="k-slider-track">
143
- <div className="k-slider-selection"></div>
144
- <a className="k-draghandle k-draghandle-end k-hover"></a>
145
- </div>
146
- </div>
147
- </div>
148
- <div className="k-slider k-slider-vertical k-alpha-slider k-colorgradient-slider k-hover" style={{ "--kendo-slider-end": "100" } as any }>
149
- <div className="k-slider-track-wrap">
150
- <div className="k-slider-track" style={{ background: "linear-gradient(to top, transparent, rgb(255, 0, 0))" }}>
151
- <div className="k-slider-selection"></div>
152
- <a className="k-draghandle k-draghandle-end k-hover"></a>
153
- </div>
154
- </div>
155
- </div>
156
- </div>
157
- </div>
158
- <div className="k-colorgradient-inputs k-hstack">
159
- <div className="k-vstack">
160
- <Button fillMode="flat" icon="arrows-kpi" className="k-colorgradient-toggle-mode"></Button>
161
- </div>
162
- <div className="k-vstack">
163
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
164
- <label className="k-colorgradient-input-label">R</label>
165
- </div>
166
- <div className="k-vstack">
167
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
168
- <label className="k-colorgradient-input-label">G</label>
169
- </div>
170
- <div className="k-vstack">
171
- <NumericTextbox showSpinButton={false} showClearButton={false} value="132" />
172
- <label className="k-colorgradient-input-label">B</label>
173
- </div>
174
- <div className="k-vstack">
175
- <NumericTextbox showSpinButton={false} showClearButton={false} value="1.00" />
176
- <label className="k-colorgradient-input-label">A</label>
177
- </div>
178
- </div>
179
- </div>
37
+ <ColorGradient hoverHandle />
180
38
  </section>
181
39
  </div>
182
40
  </>