@progress/kendo-themes-html 14.5.1-dev.7 → 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.
- package/dist/cjs/colorgradient/demos/colorgradient.js +1 -1
- package/dist/cjs/colorpicker/colorpicker.spec.js +1 -1
- package/dist/cjs/colorpicker/templates/colorpicker-adaptive.js +1 -1
- package/dist/cjs/colorpicker/templates/colorpicker-disabled.js +1 -1
- package/dist/cjs/colorpicker/templates/colorpicker-normal.js +1 -1
- package/dist/cjs/combobox/demos/combobox.js +1 -1
- package/dist/cjs/combobox/templates/combobox-grouping-modern-custom-value.js +1 -1
- package/dist/cjs/filemanager/filemanager-listview.spec.js +1 -1
- package/dist/cjs/floating-toolbar/floating-toolbar.spec.js +1 -1
- package/dist/cjs/imageeditor/imageeditor-option-list.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-option-preview.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-pane.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-placeholder.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-preview-thumbnail.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-resize-handles.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-sidebar.js +1 -0
- package/dist/cjs/imageeditor/imageeditor-toolbar.js +1 -1
- package/dist/cjs/imageeditor/imageeditor.spec.js +1 -1
- package/dist/cjs/imageeditor/templates/imageeditor-adjustments.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-blur.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-crop.js +1 -1
- package/dist/cjs/imageeditor/templates/imageeditor-disabled.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-filters.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-frames.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-insert-line.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-insert-shape.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-insert-text.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-normal.js +1 -1
- package/dist/cjs/imageeditor/templates/imageeditor-pixelate.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-resize.js +1 -1
- package/dist/cjs/imageeditor/templates/imageeditor-rotate.js +1 -0
- package/dist/cjs/imageeditor/templates/imageeditor-shadow.js +1 -0
- package/dist/cjs/index.js +8 -8
- package/dist/cjs/listview/demos/listview.js +1 -1
- package/dist/cjs/listview/listview.spec.js +1 -1
- package/dist/cjs/listview/templates/listview-no-data.js +1 -1
- package/dist/cjs/listview/templates/listview-normal.js +1 -1
- package/dist/cjs/listview/templates/listview-selectable.js +1 -1
- package/dist/cjs/pager/index.js +1 -1
- package/dist/cjs/prompt/templates/prompt-inline-input-only.js +1 -1
- package/dist/cjs/prompt/templates/prompt-inline.js +1 -1
- package/dist/cjs/prompt/templates/prompt-more-actions.js +1 -1
- package/dist/cjs/prompt/templates/prompt-normal.js +1 -1
- package/dist/cjs/prompt/templates/prompt-output.js +1 -1
- package/dist/cjs/prompt/templates/prompt-popup.js +1 -1
- package/dist/cjs/prompt/templates/prompt-settings.js +1 -1
- package/dist/cjs/prompt/templates/prompt-suggestions.js +1 -1
- package/dist/cjs/scheduler/scheduler-toolbar.spec.js +1 -1
- package/dist/cjs/spreadsheet/spreadsheet-action-bar.js +1 -1
- package/dist/cjs/toolbar/demos/toolbar.js +1 -1
- package/dist/cjs/toolbar/templates/toolbar-scrollable-buttons-hidden.js +1 -1
- package/dist/cjs/toolbar/templates/toolbar-scrollable.js +1 -1
- package/dist/esm/colorgradient/demos/colorgradient.mjs +1 -1
- package/dist/esm/colorpicker/colorpicker.spec.mjs +1 -1
- package/dist/esm/colorpicker/templates/colorpicker-adaptive.mjs +1 -1
- package/dist/esm/colorpicker/templates/colorpicker-disabled.mjs +1 -1
- package/dist/esm/colorpicker/templates/colorpicker-normal.mjs +1 -1
- package/dist/esm/combobox/demos/combobox.mjs +1 -1
- package/dist/esm/combobox/templates/combobox-grouping-modern-custom-value.mjs +1 -1
- package/dist/esm/filemanager/filemanager-listview.spec.mjs +1 -1
- package/dist/esm/floating-toolbar/floating-toolbar.spec.mjs +1 -1
- package/dist/esm/imageeditor/imageeditor-option-list.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-option-preview.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-pane.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-placeholder.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-preview-thumbnail.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-resize-handles.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-sidebar.mjs +1 -0
- package/dist/esm/imageeditor/imageeditor-toolbar.mjs +1 -1
- package/dist/esm/imageeditor/imageeditor.spec.mjs +1 -1
- package/dist/esm/imageeditor/templates/imageeditor-adjustments.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-blur.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-crop.mjs +1 -1
- package/dist/esm/imageeditor/templates/imageeditor-disabled.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-filters.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-frames.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-insert-line.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-insert-shape.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-insert-text.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-normal.mjs +1 -1
- package/dist/esm/imageeditor/templates/imageeditor-pixelate.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-resize.mjs +1 -1
- package/dist/esm/imageeditor/templates/imageeditor-rotate.mjs +1 -0
- package/dist/esm/imageeditor/templates/imageeditor-shadow.mjs +1 -0
- package/dist/esm/index.mjs +8 -8
- package/dist/esm/listview/demos/listview.mjs +1 -1
- package/dist/esm/listview/templates/listview-no-data.mjs +1 -1
- package/dist/esm/listview/templates/listview-normal.mjs +1 -1
- package/dist/esm/listview/templates/listview-selectable.mjs +1 -1
- package/dist/esm/pager/index.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-inline-input-only.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-inline.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-more-actions.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-normal.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-output.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-popup.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-settings.mjs +1 -1
- package/dist/esm/prompt/templates/prompt-suggestions.mjs +1 -1
- package/dist/esm/scheduler/scheduler-toolbar.spec.mjs +1 -1
- package/dist/esm/spreadsheet/spreadsheet-action-bar.mjs +1 -1
- package/dist/esm/toolbar/demos/toolbar.mjs +1 -1
- package/dist/esm/toolbar/templates/toolbar-scrollable-buttons-hidden.mjs +1 -1
- package/dist/esm/toolbar/templates/toolbar-scrollable.mjs +1 -1
- package/dist/types/combobox/combobox.spec.d.ts +1 -1
- package/dist/types/imageeditor/imageeditor-option-list.d.ts +18 -0
- package/dist/types/imageeditor/imageeditor-option-preview.d.ts +18 -0
- package/dist/types/imageeditor/imageeditor-pane.d.ts +21 -0
- package/dist/types/imageeditor/imageeditor-placeholder.d.ts +7 -0
- package/dist/types/imageeditor/imageeditor-preview-thumbnail.d.ts +12 -0
- package/dist/types/imageeditor/imageeditor-resize-handles.d.ts +14 -0
- package/dist/types/imageeditor/imageeditor-sidebar.d.ts +11 -0
- package/dist/types/imageeditor/imageeditor-toolbar.d.ts +1 -0
- package/dist/types/imageeditor/imageeditor.spec.d.ts +40 -4
- package/dist/types/imageeditor/index.d.ts +18 -0
- package/dist/types/imageeditor/templates/imageeditor-adjustments.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-blur.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-disabled.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-filters.d.ts +6 -0
- package/dist/types/imageeditor/templates/imageeditor-frames.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-insert-line.d.ts +2 -0
- package/dist/types/imageeditor/templates/imageeditor-insert-shape.d.ts +2 -0
- package/dist/types/imageeditor/templates/imageeditor-insert-text.d.ts +2 -0
- package/dist/types/imageeditor/templates/imageeditor-pixelate.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-rotate.d.ts +1 -0
- package/dist/types/imageeditor/templates/imageeditor-shadow.d.ts +1 -0
- package/dist/types/numerictextbox/numerictextbox.spec.d.ts +1 -1
- package/package.json +4 -4
- package/src/combobox/combobox.spec.tsx +2 -2
- package/src/imageeditor/imageeditor-option-list.tsx +53 -0
- package/src/imageeditor/imageeditor-option-preview.tsx +56 -0
- package/src/imageeditor/imageeditor-pane.tsx +70 -0
- package/src/imageeditor/imageeditor-placeholder.tsx +51 -0
- package/src/imageeditor/imageeditor-preview-thumbnail.tsx +42 -0
- package/src/imageeditor/imageeditor-resize-handles.tsx +37 -0
- package/src/imageeditor/imageeditor-sidebar.tsx +66 -0
- package/src/imageeditor/imageeditor-toolbar.tsx +14 -13
- package/src/imageeditor/imageeditor.spec.tsx +79 -13
- package/src/imageeditor/index.ts +19 -0
- package/src/imageeditor/templates/imageeditor-adjustments.tsx +88 -0
- package/src/imageeditor/templates/imageeditor-blur.tsx +92 -0
- package/src/imageeditor/templates/imageeditor-crop.tsx +64 -59
- package/src/imageeditor/templates/imageeditor-disabled.tsx +45 -0
- package/src/imageeditor/templates/imageeditor-filters.tsx +98 -0
- package/src/imageeditor/templates/imageeditor-frames.tsx +180 -0
- package/src/imageeditor/templates/imageeditor-insert-line.tsx +141 -0
- package/src/imageeditor/templates/imageeditor-insert-shape.tsx +195 -0
- package/src/imageeditor/templates/imageeditor-insert-text.tsx +143 -0
- package/src/imageeditor/templates/imageeditor-normal.tsx +20 -1
- package/src/imageeditor/templates/imageeditor-pixelate.tsx +92 -0
- package/src/imageeditor/templates/imageeditor-resize.tsx +68 -50
- package/src/imageeditor/templates/imageeditor-rotate.tsx +98 -0
- package/src/imageeditor/templates/imageeditor-shadow.tsx +96 -0
- package/src/imageeditor/tests/imageeditor-adaptive-small.tsx +373 -0
- package/src/imageeditor/tests/imageeditor-adjustments-pane.tsx +14 -0
- package/src/imageeditor/tests/imageeditor-blur-pane.tsx +29 -0
- package/src/imageeditor/tests/imageeditor-crop-pane.tsx +3 -2
- package/src/imageeditor/tests/imageeditor-export-dialog.tsx +85 -0
- package/src/imageeditor/tests/imageeditor-filters-pane.tsx +14 -0
- package/src/imageeditor/tests/imageeditor-frames-pane.tsx +22 -0
- package/src/imageeditor/tests/imageeditor-insert-line-pane.tsx +52 -0
- package/src/imageeditor/tests/imageeditor-insert-shape-pane.tsx +57 -0
- package/src/imageeditor/tests/imageeditor-insert-text-pane.tsx +51 -0
- package/src/imageeditor/tests/imageeditor-interactive-states.tsx +79 -0
- package/src/imageeditor/tests/imageeditor-option-list-states.tsx +17 -0
- package/src/imageeditor/tests/imageeditor-pixelate-pane.tsx +29 -0
- package/src/imageeditor/tests/imageeditor-resize-pane.tsx +15 -1
- package/src/imageeditor/tests/imageeditor-responsive.tsx +71 -0
- package/src/imageeditor/tests/imageeditor-rotate-pane.tsx +27 -0
- package/src/imageeditor/tests/imageeditor-shadow-pane.tsx +14 -0
- package/src/imageeditor/tests/imageeditor-sidebar-scrollable.tsx +97 -0
- package/src/numerictextbox/numerictextbox.spec.tsx +2 -2
|
@@ -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 — 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 — 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
|
-
|
|
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,97 @@
|
|
|
1
|
+
import { ImageEditor } from '..';
|
|
2
|
+
import { Button } from '../../button';
|
|
3
|
+
|
|
4
|
+
const sidebarItems = [
|
|
5
|
+
<Button fillMode="flat" key="sidebar-button-1" icon="image-resize" aria-label="Resize" />,
|
|
6
|
+
<Button fillMode="flat" key="sidebar-button-2" icon="crop" aria-label="Crop" />,
|
|
7
|
+
<Button fillMode="flat" key="sidebar-button-3" icon="rotate" aria-label="Rotate" />,
|
|
8
|
+
<div className="k-separator" key="sidebar-separator-1" />,
|
|
9
|
+
<Button fillMode="flat" key="sidebar-button-4" icon="free-text" aria-label="Text" />,
|
|
10
|
+
<Button fillMode="flat" key="sidebar-button-5" icon="shapes" aria-label="Shapes" />,
|
|
11
|
+
<Button fillMode="flat" key="sidebar-button-6" icon="drop-half-pixelated" aria-label="Blur" />,
|
|
12
|
+
<Button fillMode="flat" key="sidebar-button-7" icon="sliders-horizontal" aria-label="Adjustments" />,
|
|
13
|
+
<Button fillMode="flat" key="sidebar-button-8" icon="circles-three-intersecting" aria-label="Filters" />,
|
|
14
|
+
<div className="k-separator" key="sidebar-separator-2" />,
|
|
15
|
+
<Button fillMode="flat" key="sidebar-button-9" icon="frame-corners" aria-label="Frame" />,
|
|
16
|
+
<Button fillMode="flat" key="sidebar-button-10" icon="circle-half-tilted" aria-label="Shadow" />,
|
|
17
|
+
<Button fillMode="flat" key="sidebar-button-11" icon="image-resize" aria-label="Resize 2" />,
|
|
18
|
+
<Button fillMode="flat" key="sidebar-button-12" icon="crop" aria-label="Crop 2" />,
|
|
19
|
+
<Button fillMode="flat" key="sidebar-button-13" icon="rotate" aria-label="Rotate 2" />,
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
const styles = `
|
|
23
|
+
.k-imageeditor {
|
|
24
|
+
width: 500px;
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
|
|
28
|
+
export default () =>(
|
|
29
|
+
<>
|
|
30
|
+
<style>{styles}</style>
|
|
31
|
+
<div id="test-area" className="k-d-grid k-grid-cols-1" style={{ gap: '40px' }}>
|
|
32
|
+
|
|
33
|
+
<div>
|
|
34
|
+
<h3>Vertical Scrollable Sidebar (Scroll Start)</h3>
|
|
35
|
+
<ImageEditor
|
|
36
|
+
sidebarItems={sidebarItems}
|
|
37
|
+
sidebarScrollable
|
|
38
|
+
sidebarScrollingPosition="start"
|
|
39
|
+
contentHeight="300px"
|
|
40
|
+
/>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div>
|
|
44
|
+
<h3>Vertical Scrollable Sidebar (Scroll End)</h3>
|
|
45
|
+
<ImageEditor
|
|
46
|
+
sidebarItems={sidebarItems}
|
|
47
|
+
sidebarScrollable
|
|
48
|
+
sidebarScrollingPosition="end"
|
|
49
|
+
contentHeight="300px"
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div>
|
|
54
|
+
<h3>Vertical Scrollable Sidebar (Scroll Both)</h3>
|
|
55
|
+
<ImageEditor
|
|
56
|
+
sidebarItems={sidebarItems}
|
|
57
|
+
sidebarScrollable
|
|
58
|
+
sidebarScrollingPosition="both"
|
|
59
|
+
contentHeight="300px"
|
|
60
|
+
/>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div>
|
|
64
|
+
<h3>Horizontal Scrollable Sidebar - Adaptive (Scroll Start)</h3>
|
|
65
|
+
<ImageEditor
|
|
66
|
+
adaptive
|
|
67
|
+
sidebarItems={sidebarItems}
|
|
68
|
+
sidebarScrollable
|
|
69
|
+
sidebarScrollingPosition="start"
|
|
70
|
+
contentHeight="300px"
|
|
71
|
+
/>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div>
|
|
75
|
+
<h3>Horizontal Scrollable Sidebar - Adaptive (Scroll End)</h3>
|
|
76
|
+
<ImageEditor
|
|
77
|
+
adaptive
|
|
78
|
+
sidebarItems={sidebarItems}
|
|
79
|
+
sidebarScrollable
|
|
80
|
+
sidebarScrollingPosition="end"
|
|
81
|
+
contentHeight="300px"
|
|
82
|
+
/>
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
<div>
|
|
86
|
+
<h3>Horizontal Scrollable Sidebar - Adaptive (Scroll Both)</h3>
|
|
87
|
+
<ImageEditor
|
|
88
|
+
adaptive
|
|
89
|
+
sidebarItems={sidebarItems}
|
|
90
|
+
sidebarScrollable
|
|
91
|
+
sidebarScrollingPosition="both"
|
|
92
|
+
contentHeight="300px"
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</>
|
|
97
|
+
);
|
|
@@ -73,10 +73,10 @@ const defaultOptions = {
|
|
|
73
73
|
* @ux {Format} The value is displayed using the configured number format.
|
|
74
74
|
* @ux {Disabled state} When disabled, the input and spin buttons are non-interactive.
|
|
75
75
|
*/
|
|
76
|
-
export const NumericTextbox: KendoComponent<KendoNumericTextboxProps & KendoNumericTextboxState & React.HTMLAttributes<HTMLSpanElement>> = (
|
|
76
|
+
export const NumericTextbox: KendoComponent<KendoNumericTextboxProps & KendoNumericTextboxState & Omit<React.HTMLAttributes<HTMLSpanElement>, 'prefix'>> = (
|
|
77
77
|
props: KendoNumericTextboxProps &
|
|
78
78
|
KendoNumericTextboxState &
|
|
79
|
-
React.HTMLAttributes<HTMLSpanElement>
|
|
79
|
+
Omit<React.HTMLAttributes<HTMLSpanElement>, 'prefix'>
|
|
80
80
|
) => {
|
|
81
81
|
const {
|
|
82
82
|
size,
|