@progress/kendo-themes-html 14.5.1-dev.6 → 14.5.1-dev.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 (184) hide show
  1. package/dist/cjs/colorgradient/demos/colorgradient.js +1 -1
  2. package/dist/cjs/colorpicker/colorpicker.spec.js +1 -1
  3. package/dist/cjs/colorpicker/templates/colorpicker-adaptive.js +1 -1
  4. package/dist/cjs/colorpicker/templates/colorpicker-disabled.js +1 -1
  5. package/dist/cjs/colorpicker/templates/colorpicker-normal.js +1 -1
  6. package/dist/cjs/combobox/demos/combobox.js +1 -1
  7. package/dist/cjs/combobox/templates/combobox-grouping-modern-custom-value.js +1 -1
  8. package/dist/cjs/filemanager/filemanager-listview.spec.js +1 -1
  9. package/dist/cjs/floating-toolbar/floating-toolbar.spec.js +1 -1
  10. package/dist/cjs/imageeditor/imageeditor-option-list.js +1 -0
  11. package/dist/cjs/imageeditor/imageeditor-option-preview.js +1 -0
  12. package/dist/cjs/imageeditor/imageeditor-pane.js +1 -0
  13. package/dist/cjs/imageeditor/imageeditor-placeholder.js +1 -0
  14. package/dist/cjs/imageeditor/imageeditor-preview-thumbnail.js +1 -0
  15. package/dist/cjs/imageeditor/imageeditor-resize-handles.js +1 -0
  16. package/dist/cjs/imageeditor/imageeditor-sidebar.js +1 -0
  17. package/dist/cjs/imageeditor/imageeditor-toolbar.js +1 -1
  18. package/dist/cjs/imageeditor/imageeditor.spec.js +1 -1
  19. package/dist/cjs/imageeditor/templates/imageeditor-adjustments.js +1 -0
  20. package/dist/cjs/imageeditor/templates/imageeditor-blur.js +1 -0
  21. package/dist/cjs/imageeditor/templates/imageeditor-crop.js +1 -1
  22. package/dist/cjs/imageeditor/templates/imageeditor-disabled.js +1 -0
  23. package/dist/cjs/imageeditor/templates/imageeditor-filters.js +1 -0
  24. package/dist/cjs/imageeditor/templates/imageeditor-frames.js +1 -0
  25. package/dist/cjs/imageeditor/templates/imageeditor-insert-line.js +1 -0
  26. package/dist/cjs/imageeditor/templates/imageeditor-insert-shape.js +1 -0
  27. package/dist/cjs/imageeditor/templates/imageeditor-insert-text.js +1 -0
  28. package/dist/cjs/imageeditor/templates/imageeditor-normal.js +1 -1
  29. package/dist/cjs/imageeditor/templates/imageeditor-pixelate.js +1 -0
  30. package/dist/cjs/imageeditor/templates/imageeditor-resize.js +1 -1
  31. package/dist/cjs/imageeditor/templates/imageeditor-rotate.js +1 -0
  32. package/dist/cjs/imageeditor/templates/imageeditor-shadow.js +1 -0
  33. package/dist/cjs/index.js +8 -8
  34. package/dist/cjs/listview/demos/listview.js +1 -1
  35. package/dist/cjs/listview/listview.spec.js +1 -1
  36. package/dist/cjs/listview/templates/listview-no-data.js +1 -1
  37. package/dist/cjs/listview/templates/listview-normal.js +1 -1
  38. package/dist/cjs/listview/templates/listview-selectable.js +1 -1
  39. package/dist/cjs/pager/index.js +1 -1
  40. package/dist/cjs/prompt/templates/prompt-inline-input-only.js +1 -1
  41. package/dist/cjs/prompt/templates/prompt-inline.js +1 -1
  42. package/dist/cjs/prompt/templates/prompt-more-actions.js +1 -1
  43. package/dist/cjs/prompt/templates/prompt-normal.js +1 -1
  44. package/dist/cjs/prompt/templates/prompt-output.js +1 -1
  45. package/dist/cjs/prompt/templates/prompt-popup.js +1 -1
  46. package/dist/cjs/prompt/templates/prompt-settings.js +1 -1
  47. package/dist/cjs/prompt/templates/prompt-suggestions.js +1 -1
  48. package/dist/cjs/scheduler/scheduler-toolbar.spec.js +1 -1
  49. package/dist/cjs/signature/index.js +1 -1
  50. package/dist/cjs/signature/signature.spec.js +1 -1
  51. package/dist/cjs/signature/templates/signature-maximized.js +1 -1
  52. package/dist/cjs/signature/templates/signature-normal.js +1 -1
  53. package/dist/cjs/spreadsheet/spreadsheet-action-bar.js +1 -1
  54. package/dist/cjs/toolbar/demos/toolbar.js +1 -1
  55. package/dist/cjs/toolbar/templates/toolbar-scrollable-buttons-hidden.js +1 -1
  56. package/dist/cjs/toolbar/templates/toolbar-scrollable.js +1 -1
  57. package/dist/esm/colorgradient/demos/colorgradient.mjs +1 -1
  58. package/dist/esm/colorpicker/colorpicker.spec.mjs +1 -1
  59. package/dist/esm/colorpicker/templates/colorpicker-adaptive.mjs +1 -1
  60. package/dist/esm/colorpicker/templates/colorpicker-disabled.mjs +1 -1
  61. package/dist/esm/colorpicker/templates/colorpicker-normal.mjs +1 -1
  62. package/dist/esm/combobox/demos/combobox.mjs +1 -1
  63. package/dist/esm/combobox/templates/combobox-grouping-modern-custom-value.mjs +1 -1
  64. package/dist/esm/filemanager/filemanager-listview.spec.mjs +1 -1
  65. package/dist/esm/floating-toolbar/floating-toolbar.spec.mjs +1 -1
  66. package/dist/esm/imageeditor/imageeditor-option-list.mjs +1 -0
  67. package/dist/esm/imageeditor/imageeditor-option-preview.mjs +1 -0
  68. package/dist/esm/imageeditor/imageeditor-pane.mjs +1 -0
  69. package/dist/esm/imageeditor/imageeditor-placeholder.mjs +1 -0
  70. package/dist/esm/imageeditor/imageeditor-preview-thumbnail.mjs +1 -0
  71. package/dist/esm/imageeditor/imageeditor-resize-handles.mjs +1 -0
  72. package/dist/esm/imageeditor/imageeditor-sidebar.mjs +1 -0
  73. package/dist/esm/imageeditor/imageeditor-toolbar.mjs +1 -1
  74. package/dist/esm/imageeditor/imageeditor.spec.mjs +1 -1
  75. package/dist/esm/imageeditor/templates/imageeditor-adjustments.mjs +1 -0
  76. package/dist/esm/imageeditor/templates/imageeditor-blur.mjs +1 -0
  77. package/dist/esm/imageeditor/templates/imageeditor-crop.mjs +1 -1
  78. package/dist/esm/imageeditor/templates/imageeditor-disabled.mjs +1 -0
  79. package/dist/esm/imageeditor/templates/imageeditor-filters.mjs +1 -0
  80. package/dist/esm/imageeditor/templates/imageeditor-frames.mjs +1 -0
  81. package/dist/esm/imageeditor/templates/imageeditor-insert-line.mjs +1 -0
  82. package/dist/esm/imageeditor/templates/imageeditor-insert-shape.mjs +1 -0
  83. package/dist/esm/imageeditor/templates/imageeditor-insert-text.mjs +1 -0
  84. package/dist/esm/imageeditor/templates/imageeditor-normal.mjs +1 -1
  85. package/dist/esm/imageeditor/templates/imageeditor-pixelate.mjs +1 -0
  86. package/dist/esm/imageeditor/templates/imageeditor-resize.mjs +1 -1
  87. package/dist/esm/imageeditor/templates/imageeditor-rotate.mjs +1 -0
  88. package/dist/esm/imageeditor/templates/imageeditor-shadow.mjs +1 -0
  89. package/dist/esm/index.mjs +8 -8
  90. package/dist/esm/listview/demos/listview.mjs +1 -1
  91. package/dist/esm/listview/templates/listview-no-data.mjs +1 -1
  92. package/dist/esm/listview/templates/listview-normal.mjs +1 -1
  93. package/dist/esm/listview/templates/listview-selectable.mjs +1 -1
  94. package/dist/esm/pager/index.mjs +1 -1
  95. package/dist/esm/prompt/templates/prompt-inline-input-only.mjs +1 -1
  96. package/dist/esm/prompt/templates/prompt-inline.mjs +1 -1
  97. package/dist/esm/prompt/templates/prompt-more-actions.mjs +1 -1
  98. package/dist/esm/prompt/templates/prompt-normal.mjs +1 -1
  99. package/dist/esm/prompt/templates/prompt-output.mjs +1 -1
  100. package/dist/esm/prompt/templates/prompt-popup.mjs +1 -1
  101. package/dist/esm/prompt/templates/prompt-settings.mjs +1 -1
  102. package/dist/esm/prompt/templates/prompt-suggestions.mjs +1 -1
  103. package/dist/esm/scheduler/scheduler-toolbar.spec.mjs +1 -1
  104. package/dist/esm/signature/index.mjs +1 -1
  105. package/dist/esm/signature/signature.spec.mjs +1 -1
  106. package/dist/esm/signature/templates/signature-maximized.mjs +1 -1
  107. package/dist/esm/signature/templates/signature-normal.mjs +1 -1
  108. package/dist/esm/spreadsheet/spreadsheet-action-bar.mjs +1 -1
  109. package/dist/esm/toolbar/demos/toolbar.mjs +1 -1
  110. package/dist/esm/toolbar/templates/toolbar-scrollable-buttons-hidden.mjs +1 -1
  111. package/dist/esm/toolbar/templates/toolbar-scrollable.mjs +1 -1
  112. package/dist/types/combobox/combobox.spec.d.ts +1 -1
  113. package/dist/types/imageeditor/imageeditor-option-list.d.ts +18 -0
  114. package/dist/types/imageeditor/imageeditor-option-preview.d.ts +18 -0
  115. package/dist/types/imageeditor/imageeditor-pane.d.ts +21 -0
  116. package/dist/types/imageeditor/imageeditor-placeholder.d.ts +7 -0
  117. package/dist/types/imageeditor/imageeditor-preview-thumbnail.d.ts +12 -0
  118. package/dist/types/imageeditor/imageeditor-resize-handles.d.ts +14 -0
  119. package/dist/types/imageeditor/imageeditor-sidebar.d.ts +11 -0
  120. package/dist/types/imageeditor/imageeditor-toolbar.d.ts +1 -0
  121. package/dist/types/imageeditor/imageeditor.spec.d.ts +40 -4
  122. package/dist/types/imageeditor/index.d.ts +18 -0
  123. package/dist/types/imageeditor/templates/imageeditor-adjustments.d.ts +1 -0
  124. package/dist/types/imageeditor/templates/imageeditor-blur.d.ts +1 -0
  125. package/dist/types/imageeditor/templates/imageeditor-disabled.d.ts +1 -0
  126. package/dist/types/imageeditor/templates/imageeditor-filters.d.ts +6 -0
  127. package/dist/types/imageeditor/templates/imageeditor-frames.d.ts +1 -0
  128. package/dist/types/imageeditor/templates/imageeditor-insert-line.d.ts +2 -0
  129. package/dist/types/imageeditor/templates/imageeditor-insert-shape.d.ts +2 -0
  130. package/dist/types/imageeditor/templates/imageeditor-insert-text.d.ts +2 -0
  131. package/dist/types/imageeditor/templates/imageeditor-pixelate.d.ts +1 -0
  132. package/dist/types/imageeditor/templates/imageeditor-rotate.d.ts +1 -0
  133. package/dist/types/imageeditor/templates/imageeditor-shadow.d.ts +1 -0
  134. package/dist/types/numerictextbox/numerictextbox.spec.d.ts +1 -1
  135. package/package.json +5 -5
  136. package/src/combobox/combobox.spec.tsx +2 -2
  137. package/src/imageeditor/imageeditor-option-list.tsx +53 -0
  138. package/src/imageeditor/imageeditor-option-preview.tsx +56 -0
  139. package/src/imageeditor/imageeditor-pane.tsx +70 -0
  140. package/src/imageeditor/imageeditor-placeholder.tsx +51 -0
  141. package/src/imageeditor/imageeditor-preview-thumbnail.tsx +42 -0
  142. package/src/imageeditor/imageeditor-resize-handles.tsx +37 -0
  143. package/src/imageeditor/imageeditor-sidebar.tsx +66 -0
  144. package/src/imageeditor/imageeditor-toolbar.tsx +14 -13
  145. package/src/imageeditor/imageeditor.spec.tsx +79 -13
  146. package/src/imageeditor/index.ts +19 -0
  147. package/src/imageeditor/templates/imageeditor-adjustments.tsx +88 -0
  148. package/src/imageeditor/templates/imageeditor-blur.tsx +92 -0
  149. package/src/imageeditor/templates/imageeditor-crop.tsx +64 -59
  150. package/src/imageeditor/templates/imageeditor-disabled.tsx +45 -0
  151. package/src/imageeditor/templates/imageeditor-filters.tsx +98 -0
  152. package/src/imageeditor/templates/imageeditor-frames.tsx +180 -0
  153. package/src/imageeditor/templates/imageeditor-insert-line.tsx +141 -0
  154. package/src/imageeditor/templates/imageeditor-insert-shape.tsx +195 -0
  155. package/src/imageeditor/templates/imageeditor-insert-text.tsx +143 -0
  156. package/src/imageeditor/templates/imageeditor-normal.tsx +20 -1
  157. package/src/imageeditor/templates/imageeditor-pixelate.tsx +92 -0
  158. package/src/imageeditor/templates/imageeditor-resize.tsx +68 -50
  159. package/src/imageeditor/templates/imageeditor-rotate.tsx +98 -0
  160. package/src/imageeditor/templates/imageeditor-shadow.tsx +96 -0
  161. package/src/imageeditor/tests/imageeditor-adaptive-small.tsx +373 -0
  162. package/src/imageeditor/tests/imageeditor-adjustments-pane.tsx +14 -0
  163. package/src/imageeditor/tests/imageeditor-blur-pane.tsx +29 -0
  164. package/src/imageeditor/tests/imageeditor-crop-pane.tsx +3 -2
  165. package/src/imageeditor/tests/imageeditor-export-dialog.tsx +85 -0
  166. package/src/imageeditor/tests/imageeditor-filters-pane.tsx +14 -0
  167. package/src/imageeditor/tests/imageeditor-frames-pane.tsx +22 -0
  168. package/src/imageeditor/tests/imageeditor-insert-line-pane.tsx +52 -0
  169. package/src/imageeditor/tests/imageeditor-insert-shape-pane.tsx +57 -0
  170. package/src/imageeditor/tests/imageeditor-insert-text-pane.tsx +51 -0
  171. package/src/imageeditor/tests/imageeditor-interactive-states.tsx +79 -0
  172. package/src/imageeditor/tests/imageeditor-option-list-states.tsx +17 -0
  173. package/src/imageeditor/tests/imageeditor-pixelate-pane.tsx +29 -0
  174. package/src/imageeditor/tests/imageeditor-resize-pane.tsx +15 -1
  175. package/src/imageeditor/tests/imageeditor-responsive.tsx +71 -0
  176. package/src/imageeditor/tests/imageeditor-rotate-pane.tsx +27 -0
  177. package/src/imageeditor/tests/imageeditor-shadow-pane.tsx +14 -0
  178. package/src/imageeditor/tests/imageeditor-sidebar-scrollable.tsx +97 -0
  179. package/src/numerictextbox/numerictextbox.spec.tsx +2 -2
  180. package/src/signature/signature.spec.tsx +4 -17
  181. package/src/signature/tests/signature-flat.tsx +0 -3
  182. package/src/signature/tests/signature-outline.tsx +0 -3
  183. package/src/signature/tests/signature-solid.tsx +0 -3
  184. package/src/signature/tests/signature.tsx +0 -3
@@ -0,0 +1,85 @@
1
+ import { ImageEditor } from '..';
2
+ import { Button } from '../../button';
3
+ import { Dialog } from '../../dialog';
4
+ import { Form, FormField, FormHint } from '../../form';
5
+ import { Textbox } from '../../textbox';
6
+ import { RadioGroup, RadioItem, RadioButtonWithLabelAfter } from '../../radio';
7
+
8
+ const styles = `
9
+ .k-dialog-wrapper {
10
+ position: absolute;
11
+ }
12
+ .k-overlay {
13
+ position: absolute;
14
+ }
15
+ `;
16
+
17
+ export default () => (
18
+ <>
19
+ <style>{styles}</style>
20
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
21
+
22
+ <h4>Image Editor Export Dialog</h4>
23
+
24
+ <div className="k-pos-relative">
25
+ <ImageEditor contentHeight="482px">
26
+ <canvas
27
+ width="860"
28
+ height="430"
29
+ role="img"
30
+ aria-label="Image being edited"
31
+ style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}
32
+ ></canvas>
33
+ </ImageEditor>
34
+
35
+ <Dialog
36
+ title="Export Image"
37
+ actions={[ 'x' ]}
38
+ actionButtonsAlign="end"
39
+ style={{ width: "520px" }}
40
+ actionButtons={
41
+ <>
42
+ <Button>Cancel</Button>
43
+ <Button themeColor="primary">Export</Button>
44
+ </>
45
+ }
46
+ >
47
+ <div className="k-imageeditor-dialog-row">
48
+ <div>
49
+ <img
50
+ src="/packages/html/assets/sofia.jpg"
51
+ alt="Preview of the exported image"
52
+ style={{ width: "144px", height: "144px", objectFit: "cover", borderRadius: "4px", border: "1px solid var(--kendo-color-secondary, #9c27b0)" }}
53
+ />
54
+ <FormHint>Size: 12.34 MB</FormHint>
55
+ </div>
56
+ <Form tag="div" style={{ flex: "1" }}>
57
+ <FormField
58
+ label="File Name"
59
+ editorId="export-file-name"
60
+ editor={ <Textbox id="export-file-name" showClearButton={false} value="sofia" /> }
61
+ />
62
+ <FormField
63
+ label="File Format"
64
+ editor={
65
+ <RadioGroup layout="horizontal">
66
+ <RadioItem>
67
+ <RadioButtonWithLabelAfter id="export-format-jpeg" name="export-format" checked>JPEG</RadioButtonWithLabelAfter>
68
+ </RadioItem>
69
+ <RadioItem>
70
+ <RadioButtonWithLabelAfter id="export-format-png" name="export-format">PNG</RadioButtonWithLabelAfter>
71
+ </RadioItem>
72
+ <RadioItem>
73
+ <RadioButtonWithLabelAfter id="export-format-webp" name="export-format">WebP</RadioButtonWithLabelAfter>
74
+ </RadioItem>
75
+ </RadioGroup>
76
+ }
77
+ />
78
+ </Form>
79
+ </div>
80
+ </Dialog>
81
+ </div>
82
+
83
+ </div>
84
+ </>
85
+ );
@@ -0,0 +1,14 @@
1
+ import { ImageEditorFilters } from '..';
2
+
3
+
4
+ export default () => (
5
+ <>
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <h4>Image Editor Filters Pane &mdash; None Selected</h4>
9
+
10
+ <ImageEditorFilters contentHeight="640px" preset="none" />
11
+
12
+ </div>
13
+ </>
14
+ );
@@ -0,0 +1,22 @@
1
+ import { ImageEditorFrames } from '..';
2
+
3
+
4
+ export default () => (
5
+ <>
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <h4>Image Editor Frames Pane - None</h4>
9
+
10
+ <ImageEditorFrames contentHeight="640px" style="none" />
11
+
12
+ <h4>Image Editor Frames Pane - Single</h4>
13
+
14
+ <ImageEditorFrames contentHeight="640px" style="single" />
15
+
16
+ <h4>Image Editor Frames Pane - Multiple</h4>
17
+
18
+ <ImageEditorFrames contentHeight="640px" style="multiple" />
19
+
20
+ </div>
21
+ </>
22
+ );
@@ -0,0 +1,52 @@
1
+ import { ImageEditorInsertLine } from '..';
2
+ import { Button } from '../../button';
3
+ import { FloatingToolbar } from '../../floating-toolbar/floating-toolbar.spec';
4
+
5
+
6
+ export default () => (
7
+ <>
8
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
9
+
10
+ <h4>Image Editor Insert Line Pane</h4>
11
+
12
+ <ImageEditorInsertLine contentHeight="640px">
13
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
14
+ <div style={{ position: "absolute", top: "150px", left: "90px", width: "220px", height: "0" }}>
15
+ <div style={{
16
+ position: "absolute", left: "0", right: "0", top: "-1px", height: "2px",
17
+ background: "#5558e8"
18
+ }}></div>
19
+ <div style={{
20
+ position: "absolute", left: "0", right: "0", top: "-4px", height: "8px",
21
+ backgroundImage: "radial-gradient(circle, #b0e855 45%, transparent 46%)",
22
+ backgroundSize: "16px 8px", backgroundRepeat: "repeat-x", backgroundPosition: "left center"
23
+ }}></div>
24
+ <span style={{
25
+ position: "absolute", left: "-7px", top: "-7px",
26
+ width: "14px", height: "14px", borderRadius: "50%",
27
+ background: "#fff", border: "2px solid #5558e8", boxSizing: "border-box"
28
+ }}></span>
29
+ <span style={{
30
+ position: "absolute", right: "-9px", top: "-9px",
31
+ width: "18px", height: "18px", transform: "rotate(45deg)",
32
+ background: "#b0e855", border: "2px solid #5558e8", boxSizing: "border-box"
33
+ }}>
34
+ <span style={{
35
+ position: "absolute", left: "50%", top: "50%",
36
+ width: "5px", height: "5px", borderRadius: "50%",
37
+ background: "#fff", transform: "translate(-50%, -50%)"
38
+ }}></span>
39
+ </span>
40
+ <FloatingToolbar fillMode="flat" resizable offset={{ top: "36px", left: "-10px" }}>
41
+ <Button fillMode="flat" icon="copy" aria-label="Duplicate"></Button>
42
+ <Button fillMode="flat" icon="pencil" aria-label="Edit"></Button>
43
+ <Button fillMode="flat" icon="flip-horizontal" aria-label="Flip Horizontal"></Button>
44
+ <Button fillMode="flat" icon="flip-vertical" aria-label="Flip Vertical"></Button>
45
+ <Button fillMode="flat" icon="trash" aria-label="Delete"></Button>
46
+ </FloatingToolbar>
47
+ </div>
48
+ </ImageEditorInsertLine>
49
+
50
+ </div>
51
+ </>
52
+ );
@@ -0,0 +1,57 @@
1
+ import { ImageEditorInsertShape } from '..';
2
+ import { Button } from '../../button';
3
+ import { FloatingToolbar } from '../../floating-toolbar/floating-toolbar.spec';
4
+
5
+
6
+ export default () => (
7
+ <>
8
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
9
+
10
+ <h4>Image Editor Insert Shape Pane</h4>
11
+
12
+ <ImageEditorInsertShape contentHeight="860px">
13
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
14
+ <div className="k-imageeditor-resize" style={{ width: "165px", height: "54px", top: "140px", left: "165px" }}>
15
+ <div style={{
16
+ width: "100%",
17
+ height: "100%",
18
+ borderRadius: "50%",
19
+ background: "#eae382",
20
+ border: "2px solid #b0e855",
21
+ boxSizing: "border-box"
22
+ }}>
23
+ <p style={{
24
+ margin: 0,
25
+ width: "100%",
26
+ height: "100%",
27
+ display: "flex",
28
+ alignItems: "center",
29
+ justifyContent: "center",
30
+ fontFamily: "'Trebuchet MS', sans-serif",
31
+ fontSize: "16px",
32
+ lineHeight: 1,
33
+ color: "#4a4500",
34
+ whiteSpace: "nowrap"
35
+ }}>Shape text</p>
36
+ </div>
37
+ <span className="k-scale-handle k-resize-nw"></span>
38
+ <span className="k-scale-handle k-resize-ne"></span>
39
+ <span className="k-scale-handle k-resize-sw"></span>
40
+ <span className="k-scale-handle k-resize-se"></span>
41
+ <span className="k-resize-handle k-resize-n"></span>
42
+ <span className="k-resize-handle k-resize-s"></span>
43
+ <span className="k-resize-handle k-resize-w"></span>
44
+ <span className="k-resize-handle k-resize-e"></span>
45
+ <FloatingToolbar fillMode="flat" resizable offset={{ top: "62px", left: "0" }}>
46
+ <Button fillMode="flat" icon="copy" aria-label="Duplicate"></Button>
47
+ <Button fillMode="flat" icon="pencil" aria-label="Edit"></Button>
48
+ <Button fillMode="flat" icon="flip-horizontal" aria-label="Flip Horizontal"></Button>
49
+ <Button fillMode="flat" icon="flip-vertical" aria-label="Flip Vertical"></Button>
50
+ <Button fillMode="flat" icon="trash" aria-label="Delete"></Button>
51
+ </FloatingToolbar>
52
+ </div>
53
+ </ImageEditorInsertShape>
54
+
55
+ </div>
56
+ </>
57
+ );
@@ -0,0 +1,51 @@
1
+ import { ImageEditorInsertText } from '..';
2
+ import { Button } from '../../button';
3
+ import { FloatingToolbar } from '../../floating-toolbar/floating-toolbar.spec';
4
+
5
+
6
+ export default () => (
7
+ <>
8
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
9
+
10
+ <h4>Image Editor Insert Text Pane</h4>
11
+
12
+ <ImageEditorInsertText contentHeight="640px">
13
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
14
+ <div className="k-imageeditor-resize" style={{ width: "270px", height: "64px", top: "122px", left: "112px" }}>
15
+ <p style={{
16
+ margin: 0,
17
+ width: "100%",
18
+ height: "100%",
19
+ display: "flex",
20
+ alignItems: "center",
21
+ justifyContent: "center",
22
+ fontFamily: "'Trebuchet MS', sans-serif",
23
+ fontWeight: "bold",
24
+ fontSize: "38px",
25
+ lineHeight: 1,
26
+ color: "#f5e93d",
27
+ opacity: 0.7,
28
+ textTransform: "uppercase",
29
+ whiteSpace: "nowrap"
30
+ }}>Text Example</p>
31
+ <span className="k-scale-handle k-resize-nw"></span>
32
+ <span className="k-scale-handle k-resize-ne"></span>
33
+ <span className="k-scale-handle k-resize-sw"></span>
34
+ <span className="k-scale-handle k-resize-se"></span>
35
+ <span className="k-resize-handle k-resize-n"></span>
36
+ <span className="k-resize-handle k-resize-s"></span>
37
+ <span className="k-resize-handle k-resize-w"></span>
38
+ <span className="k-resize-handle k-resize-e"></span>
39
+ <FloatingToolbar fillMode="flat" offset={{ top: "72px", left: "0" }}>
40
+ <Button fillMode="flat" icon="copy" aria-label="Duplicate"></Button>
41
+ <Button fillMode="flat" icon="pencil" aria-label="Edit"></Button>
42
+ <Button fillMode="flat" icon="flip-horizontal" aria-label="Flip Horizontal"></Button>
43
+ <Button fillMode="flat" icon="flip-vertical" aria-label="Flip Vertical"></Button>
44
+ <Button fillMode="flat" icon="trash" aria-label="Delete"></Button>
45
+ </FloatingToolbar>
46
+ </div>
47
+ </ImageEditorInsertText>
48
+
49
+ </div>
50
+ </>
51
+ );
@@ -0,0 +1,79 @@
1
+ import { ImageEditor, ImageEditorDisabled } from '..';
2
+ import { ImageEditorPlaceholder } from '../imageeditor-placeholder';
3
+ import { Loader } from '../../loader';
4
+
5
+ export default () => (
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <span>Empty</span>
9
+ <ImageEditorDisabled
10
+ contentHeight="260px"
11
+ placeholder={
12
+ <ImageEditorPlaceholder
13
+ icon="image-add"
14
+ title="Ready to create?"
15
+ text="Upload a JPEG or PNG image to unlock the full capabilities of ImageEditor."
16
+ />
17
+ }
18
+ />
19
+
20
+ <span>Loading</span>
21
+ <ImageEditorDisabled
22
+ contentHeight="260px"
23
+ placeholder={
24
+ <ImageEditorPlaceholder>
25
+ <Loader
26
+ animation="pulsing"
27
+ themeColor="secondary"
28
+ size="large"
29
+ className="k-imageeditor-placeholder-loader"
30
+ />
31
+ <div className="k-imageeditor-placeholder-hint">
32
+ <div className="k-imageeditor-placeholder-title">Getting your canvas ready...</div>
33
+ <div className="k-imageeditor-placeholder-text">Just a moment while we load your image!</div>
34
+ </div>
35
+ </ImageEditorPlaceholder>
36
+ }
37
+ />
38
+
39
+ <span>Exporting</span>
40
+ <ImageEditor contentHeight="260px" exporting>
41
+ <canvas
42
+ width="400"
43
+ height="200"
44
+ role="img"
45
+ aria-label="Image being edited"
46
+ style={{
47
+ backgroundImage: "url('/packages/html/assets/sofia.jpg')",
48
+ backgroundSize: "cover",
49
+ backgroundPosition: "center"
50
+ }}
51
+ ></canvas>
52
+ </ImageEditor>
53
+
54
+ <span>Error - Failed Upload</span>
55
+ <ImageEditorDisabled
56
+ contentHeight="260px"
57
+ placeholder={
58
+ <ImageEditorPlaceholder
59
+ icon="file-error"
60
+ title="Upload failed!"
61
+ text="Try again so you can get back to creating."
62
+ />
63
+ }
64
+ />
65
+
66
+ <span>Error - Unsupported File Format</span>
67
+ <ImageEditorDisabled
68
+ contentHeight="260px"
69
+ placeholder={
70
+ <ImageEditorPlaceholder
71
+ icon="file-error"
72
+ title="Unsupported file format"
73
+ text="Please upload a JPEG or PNG file."
74
+ />
75
+ }
76
+ />
77
+
78
+ </div>
79
+ );
@@ -0,0 +1,17 @@
1
+ import { ImageEditorOptionList, ImageEditorOptionPreview } from '..';
2
+
3
+ export default () => (
4
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
5
+
6
+ <h4>Option List / States</h4>
7
+ <ImageEditorOptionList>
8
+ <ImageEditorOptionPreview label="Normal" />
9
+ <ImageEditorOptionPreview label="Hover" hover />
10
+ <ImageEditorOptionPreview label="Focused" focus />
11
+ <ImageEditorOptionPreview label="Selected" selected />
12
+ <ImageEditorOptionPreview label="Selected + Hover" selected hover />
13
+ <ImageEditorOptionPreview label="Selected + Focused" selected focus />
14
+ </ImageEditorOptionList>
15
+
16
+ </div>
17
+ );
@@ -0,0 +1,29 @@
1
+ import { ImageEditorPixelate } from '..';
2
+
3
+
4
+ export default () =>(
5
+ <>
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <h4>Image Editor Pixelate Pane &mdash; Rectangular Markee</h4>
9
+
10
+ <ImageEditorPixelate contentHeight="482px" shape="rectangular" intensity={24}>
11
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia-pixelated.jpg')", backgroundSize: "cover", imageRendering: "pixelated" }}></canvas>
12
+ <div className="k-imageeditor-crop-overlay">
13
+ <div className="k-imageeditor-crop" style={{ borderStyle: "dashed" }}></div>
14
+ </div>
15
+ </ImageEditorPixelate>
16
+
17
+ <h4>Image Editor Pixelate Pane &mdash; Elliptical Markee</h4>
18
+
19
+ <ImageEditorPixelate contentHeight="482px" shape="elliptical" intensity={24}>
20
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
21
+ <canvas width="494" height="307" aria-hidden="true" style={{ position: "absolute", insetBlockStart: 0, insetInlineStart: 0, backgroundImage: "url('/packages/html/assets/sofia-pixelated.jpg')", backgroundSize: "cover", imageRendering: "pixelated", clipPath: "ellipse(160px 98.5px at center)" }}></canvas>
22
+ <div className="k-imageeditor-crop-overlay">
23
+ <div className="k-imageeditor-crop" style={{ width: "320px", height: "197px", borderStyle: "dashed", borderRadius: "50%", insetInlineStart: "50%", insetBlockStart: "50%", transform: "translate(-50%, -50%)" }}></div>
24
+ </div>
25
+ </ImageEditorPixelate>
26
+
27
+ </div>
28
+ </>
29
+ );
@@ -6,7 +6,21 @@ export default () =>(
6
6
  <div id="test-area" className="k-d-grid k-grid-cols-1">
7
7
 
8
8
  <h4>Image Editor Resize Pane</h4>
9
- <ImageEditorResize contentHeight="482px"></ImageEditorResize>
9
+
10
+ <ImageEditorResize contentHeight="482px">
11
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
12
+ <div className="k-imageeditor-resize">
13
+ <span className="k-scale-handle k-resize-nw"></span>
14
+ <span className="k-scale-handle k-resize-ne"></span>
15
+ <span className="k-scale-handle k-resize-sw"></span>
16
+ <span className="k-scale-handle k-resize-se"></span>
17
+ <span className="k-resize-handle k-resize-n"></span>
18
+ <span className="k-resize-handle k-resize-s"></span>
19
+ <span className="k-resize-handle k-resize-w"></span>
20
+ <span className="k-resize-handle k-resize-e"></span>
21
+ </div>
22
+ </ImageEditorResize>
23
+
10
24
  </div>
11
25
  </>
12
26
  );
@@ -0,0 +1,71 @@
1
+ import { ImageEditorNormal, ImageEditorInsertShape, ImageEditorResizeHandles } from '..';
2
+ import { Button } from '../../button';
3
+ import { FloatingToolbar } from '../../floating-toolbar/floating-toolbar.spec';
4
+
5
+ // Tablet-width container (768px) - the plain desktop layout (left icon sidebar, right side panel)
6
+ // simply reflows into the available width; no adaptive/bottom-sheet behaviour kicks in here.
7
+ const styles = `
8
+ #test-area {
9
+ display: flex;
10
+ gap: 24px;
11
+ flex-wrap: wrap;
12
+ }
13
+ #test-area .k-imageeditor {
14
+ width: 768px;
15
+ }
16
+ `;
17
+
18
+ export default () => (
19
+ <>
20
+ <style>{styles}</style>
21
+ <div id="test-area">
22
+
23
+ <div>
24
+ <h4>Tablet / Responsive / Unselected Tool</h4>
25
+ <ImageEditorNormal contentHeight="841px">
26
+ <canvas width="659" height="410" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover", backgroundPosition: "center", backgroundRepeat: "no-repeat" }}></canvas>
27
+ </ImageEditorNormal>
28
+ </div>
29
+
30
+ <div>
31
+ <h4>Tablet / Responsive / Selected Tool / Panel Opened</h4>
32
+ <ImageEditorInsertShape contentHeight="841px">
33
+ <canvas width="338" height="211" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover", backgroundPosition: "center", backgroundRepeat: "no-repeat" }}></canvas>
34
+ <div className="k-imageeditor-resize" style={{ width: "130px", height: "43px", top: "84px", left: "105px" }}>
35
+ <div style={{
36
+ width: "100%",
37
+ height: "100%",
38
+ borderRadius: "50%",
39
+ background: "#eae382",
40
+ border: "2px solid #b0e855",
41
+ boxSizing: "border-box"
42
+ }}>
43
+ <p style={{
44
+ margin: 0,
45
+ width: "100%",
46
+ height: "100%",
47
+ display: "flex",
48
+ alignItems: "center",
49
+ justifyContent: "center",
50
+ fontFamily: "'Trebuchet MS', sans-serif",
51
+ fontSize: "13px",
52
+ lineHeight: 1,
53
+ color: "#4a4500",
54
+ whiteSpace: "nowrap"
55
+ }}>Shape text</p>
56
+ </div>
57
+ <ImageEditorResizeHandles variant="mixed" />
58
+ <FloatingToolbar fillMode="flat" resizable offset={{ top: "51px", left: "0" }}>
59
+ <Button fillMode="flat" icon="copy" aria-label="Duplicate"></Button>
60
+ <Button fillMode="flat" icon="pencil" aria-label="Edit"></Button>
61
+ <Button fillMode="flat" icon="flip-horizontal" aria-label="Flip Horizontal"></Button>
62
+ <Button fillMode="flat" icon="flip-vertical" aria-label="Flip Vertical"></Button>
63
+ <Button fillMode="flat" icon="trash" aria-label="Delete"></Button>
64
+ </FloatingToolbar>
65
+ </div>
66
+ </ImageEditorInsertShape>
67
+ </div>
68
+
69
+ </div>
70
+ </>
71
+ );
@@ -0,0 +1,27 @@
1
+ import { ImageEditorRotate } from '..';
2
+
3
+
4
+ export default () =>(
5
+ <>
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <h4>Image Editor Rotate Pane</h4>
9
+
10
+ <ImageEditorRotate contentHeight="482px">
11
+ <canvas width="494" height="307" role="img" aria-label="Image being edited" style={{ backgroundImage: "url('/packages/html/assets/sofia.jpg')", backgroundSize: "cover" }}></canvas>
12
+ <div className="k-imageeditor-rotate">
13
+ <div className="k-imageeditor-crop-grid"></div>
14
+ <span className="k-scale-handle k-resize-nw"></span>
15
+ <span className="k-scale-handle k-resize-n"></span>
16
+ <span className="k-scale-handle k-resize-ne"></span>
17
+ <span className="k-scale-handle k-resize-w"></span>
18
+ <span className="k-scale-handle k-resize-e"></span>
19
+ <span className="k-scale-handle k-resize-sw"></span>
20
+ <span className="k-scale-handle k-resize-s"></span>
21
+ <span className="k-scale-handle k-resize-se"></span>
22
+ </div>
23
+ </ImageEditorRotate>
24
+
25
+ </div>
26
+ </>
27
+ );
@@ -0,0 +1,14 @@
1
+ import { ImageEditorShadow } from '..';
2
+
3
+
4
+ export default () => (
5
+ <>
6
+ <div id="test-area" className="k-d-grid k-grid-cols-1">
7
+
8
+ <h4>Image Editor Shadow Pane</h4>
9
+
10
+ <ImageEditorShadow contentHeight="640px" />
11
+
12
+ </div>
13
+ </>
14
+ );