@syncfusion/ej2-inputs 30.2.6 → 31.1.17

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 (99) hide show
  1. package/dist/ej2-inputs.min.js +2 -2
  2. package/dist/ej2-inputs.umd.min.js +2 -2
  3. package/dist/ej2-inputs.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-inputs.es2015.js +1 -1
  5. package/dist/es6/ej2-inputs.es2015.js.map +1 -1
  6. package/dist/es6/ej2-inputs.es5.js +1 -1
  7. package/dist/es6/ej2-inputs.es5.js.map +1 -1
  8. package/dist/global/ej2-inputs.min.js +2 -2
  9. package/dist/global/ej2-inputs.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/dist/ts/color-picker/color-picker-model.d.ts +186 -0
  12. package/dist/ts/color-picker/color-picker.d.ts +398 -0
  13. package/dist/ts/color-picker/color-picker.ts +2209 -0
  14. package/dist/ts/color-picker/index.d.ts +5 -0
  15. package/dist/ts/color-picker/index.ts +5 -0
  16. package/dist/ts/common/index.d.ts +4 -0
  17. package/dist/ts/common/index.ts +4 -0
  18. package/dist/ts/common/signature-base.d.ts +340 -0
  19. package/dist/ts/common/signature-base.ts +1170 -0
  20. package/dist/ts/form-validator/form-validator-model.d.ts +121 -0
  21. package/dist/ts/form-validator/form-validator.d.ts +312 -0
  22. package/dist/ts/form-validator/form-validator.ts +1068 -0
  23. package/dist/ts/form-validator/index.d.ts +5 -0
  24. package/dist/ts/form-validator/index.ts +5 -0
  25. package/dist/ts/index.d.ts +18 -0
  26. package/dist/ts/index.ts +18 -0
  27. package/dist/ts/input/index.d.ts +4 -0
  28. package/dist/ts/input/index.ts +4 -0
  29. package/dist/ts/input/input.d.ts +345 -0
  30. package/dist/ts/input/input.ts +1277 -0
  31. package/dist/ts/maskedtextbox/base/index.d.ts +4 -0
  32. package/dist/ts/maskedtextbox/base/index.ts +4 -0
  33. package/dist/ts/maskedtextbox/base/mask-base.d.ts +134 -0
  34. package/dist/ts/maskedtextbox/base/mask-base.ts +1207 -0
  35. package/dist/ts/maskedtextbox/index.d.ts +5 -0
  36. package/dist/ts/maskedtextbox/index.ts +5 -0
  37. package/dist/ts/maskedtextbox/maskedtextbox/index.d.ts +5 -0
  38. package/dist/ts/maskedtextbox/maskedtextbox/index.ts +5 -0
  39. package/dist/ts/maskedtextbox/maskedtextbox/maskedtextbox-model.d.ts +167 -0
  40. package/dist/ts/maskedtextbox/maskedtextbox/maskedtextbox.d.ts +307 -0
  41. package/dist/ts/maskedtextbox/maskedtextbox/maskedtextbox.ts +709 -0
  42. package/dist/ts/numerictextbox/index.d.ts +5 -0
  43. package/dist/ts/numerictextbox/index.ts +5 -0
  44. package/dist/ts/numerictextbox/numerictextbox-model.d.ts +228 -0
  45. package/dist/ts/numerictextbox/numerictextbox.d.ts +431 -0
  46. package/dist/ts/numerictextbox/numerictextbox.ts +1672 -0
  47. package/dist/ts/otp-input/index.d.ts +5 -0
  48. package/dist/ts/otp-input/index.ts +5 -0
  49. package/dist/ts/otp-input/otp-input-model.d.ts +165 -0
  50. package/dist/ts/otp-input/otp-input.d.ts +365 -0
  51. package/dist/ts/otp-input/otp-input.ts +924 -0
  52. package/dist/ts/rating/index.d.ts +5 -0
  53. package/dist/ts/rating/index.ts +5 -0
  54. package/dist/ts/rating/rating-model.d.ts +239 -0
  55. package/dist/ts/rating/rating.d.ts +416 -0
  56. package/dist/ts/rating/rating.ts +1101 -0
  57. package/dist/ts/signature/index.d.ts +5 -0
  58. package/dist/ts/signature/index.ts +5 -0
  59. package/dist/ts/signature/signature-model.d.ts +131 -0
  60. package/dist/ts/signature/signature.d.ts +167 -0
  61. package/dist/ts/signature/signature.ts +266 -0
  62. package/dist/ts/slider/index.d.ts +5 -0
  63. package/dist/ts/slider/index.ts +5 -0
  64. package/dist/ts/slider/slider-model.d.ts +401 -0
  65. package/dist/ts/slider/slider.d.ts +721 -0
  66. package/dist/ts/slider/slider.ts +3497 -0
  67. package/dist/ts/smart-textarea/caret-helper.d.ts +17 -0
  68. package/dist/ts/smart-textarea/caret-helper.ts +95 -0
  69. package/dist/ts/smart-textarea/index.d.ts +5 -0
  70. package/dist/ts/smart-textarea/index.ts +5 -0
  71. package/dist/ts/smart-textarea/smart-textarea-model.d.ts +44 -0
  72. package/dist/ts/smart-textarea/smart-textarea.d.ts +80 -0
  73. package/dist/ts/smart-textarea/smart-textarea.ts +518 -0
  74. package/dist/ts/speech-to-text/index.d.ts +5 -0
  75. package/dist/ts/speech-to-text/index.ts +5 -0
  76. package/dist/ts/speech-to-text/speech-to-text-model.d.ts +270 -0
  77. package/dist/ts/speech-to-text/speech-to-text.d.ts +487 -0
  78. package/dist/ts/speech-to-text/speech-to-text.ts +1008 -0
  79. package/dist/ts/textarea/index.d.ts +5 -0
  80. package/dist/ts/textarea/index.ts +5 -0
  81. package/dist/ts/textarea/textarea-model.d.ts +161 -0
  82. package/dist/ts/textarea/textarea.d.ts +237 -0
  83. package/dist/ts/textarea/textarea.ts +812 -0
  84. package/dist/ts/textbox/index.d.ts +5 -0
  85. package/dist/ts/textbox/index.ts +5 -0
  86. package/dist/ts/textbox/textbox-model.d.ts +155 -0
  87. package/dist/ts/textbox/textbox.d.ts +288 -0
  88. package/dist/ts/textbox/textbox.ts +872 -0
  89. package/dist/ts/uploader/index.d.ts +5 -0
  90. package/dist/ts/uploader/index.ts +5 -0
  91. package/dist/ts/uploader/uploader-model.d.ts +555 -0
  92. package/dist/ts/uploader/uploader.d.ts +1216 -0
  93. package/dist/ts/uploader/uploader.ts +4391 -0
  94. package/package.json +62 -12
  95. package/src/input/input.js +1 -1
  96. package/styles/input/_layout.scss +0 -1
  97. package/styles/input/tailwind3.css +0 -1
  98. package/styles/tailwind3-lite.css +0 -1
  99. package/styles/tailwind3.css +0 -1
@@ -0,0 +1,17 @@
1
+ export declare type CaretPosition = {
2
+ left: number;
3
+ top: number;
4
+ height: number;
5
+ pos?: number;
6
+ elemStyle?: CSSStyleDeclaration;
7
+ };
8
+ export declare class CaretPositionHelper {
9
+ private static properties;
10
+ private static createStyledDiv;
11
+ private static createCaretMarker;
12
+ private static escapeHtml;
13
+ static getCaretPosition(target: HTMLInputElement | HTMLTextAreaElement): CaretPosition;
14
+ static adjustScrollToCaretPosition(element: HTMLInputElement | HTMLTextAreaElement): void;
15
+ static getTextAreaPosition(element: HTMLInputElement | HTMLTextAreaElement): CaretPosition;
16
+ static insertCharacter(element: HTMLInputElement | HTMLTextAreaElement, text: string): void;
17
+ }
@@ -0,0 +1,95 @@
1
+
2
+ type CSSProperties = { [key: string]: string | number };
3
+ export type CaretPosition = { left: number, top: number, height: number, pos?: number, elemStyle?: CSSStyleDeclaration };
4
+
5
+ export class CaretPositionHelper {
6
+ private static properties: string[] = [
7
+ 'borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopStyle',
8
+ 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle', 'borderTopWidth',
9
+ 'boxSizing', 'fontFamily', 'fontSize', 'fontWeight', 'height', 'letterSpacing',
10
+ 'lineHeight', 'marginBottom', 'marginLeft', 'marginRight', 'marginTop',
11
+ 'outlineWidth', 'overflow', 'overflowX', 'overflowY', 'paddingBottom',
12
+ 'paddingLeft', 'paddingRight', 'paddingTop', 'textAlign', 'textOverflow',
13
+ 'textTransform', 'whiteSpace', 'wordBreak', 'wordWrap', 'width'
14
+ ];
15
+
16
+ private static createStyledDiv(target: HTMLElement, htmlContent: string): HTMLDivElement {
17
+ const div: HTMLDivElement = document.createElement('div');
18
+ const styles: CSSProperties = {
19
+ position: 'absolute',
20
+ left: -9999,
21
+ top: 0,
22
+ zIndex: -2000
23
+ };
24
+ this.properties.forEach((prop: string) => {
25
+ styles[`${prop}`] = getComputedStyle(target)[prop as any];
26
+ });
27
+ Object.keys(styles).forEach((key: string) => {
28
+ div.style[`${key}` as any] = styles[`${key}`] as any;
29
+ });
30
+ const scrollbarWidth: number = target.offsetWidth - target.clientWidth;
31
+ div.style.width = (target.clientWidth + scrollbarWidth) + 'px';
32
+ div.innerHTML = htmlContent;
33
+ if (target && target.parentNode) {
34
+ target.parentNode.insertBefore(div, target.nextSibling);
35
+ }
36
+ return div;
37
+ }
38
+
39
+ private static createCaretMarker(target: HTMLElement, htmlContent: string): CaretPosition {
40
+ const div: HTMLDivElement = this.createStyledDiv(target, htmlContent);
41
+ const marker: HTMLElement = div.ownerDocument.getElementById('caret-position-marker');
42
+ const position: CaretPosition = {
43
+ left: marker!.offsetLeft,
44
+ top: marker!.offsetTop,
45
+ height: marker!.offsetHeight
46
+ };
47
+ if (div && div.parentNode) {
48
+ div.parentNode.removeChild(div);
49
+ }
50
+ return position;
51
+ }
52
+
53
+ private static escapeHtml(value: string): string {
54
+ return value.replace(/<|>|`|"|&/g, '?').replace(/\r\n|\r|\n/g, '<br/>');
55
+ }
56
+
57
+ static getCaretPosition(target: HTMLInputElement | HTMLTextAreaElement): CaretPosition {
58
+ const position: number = target.selectionStart || 0;
59
+ const textBeforeCaret: string = target.value.slice(0, position);
60
+ const textAfterCaret: string = target.value.slice(position);
61
+ let content: string = `<span style="position: relative; display: inline;">${this.escapeHtml(textBeforeCaret)}</span>`;
62
+ content += '<span id="caret-position-marker" style="position: relative; display: inline;">|</span>';
63
+ content += `<span style="position: relative; display: inline;">${this.escapeHtml(textAfterCaret)}</span>`;
64
+ const rect: CaretPosition = this.createCaretMarker(target, content);
65
+ rect.pos = position;
66
+ return rect;
67
+ }
68
+
69
+ static adjustScrollToCaretPosition(element: HTMLInputElement | HTMLTextAreaElement): void {
70
+ const caretPosition: CaretPosition = this.getCaretPosition(element);
71
+ const lineHeight: number = parseFloat(window.getComputedStyle(element).lineHeight);
72
+ if (caretPosition.top > element.clientHeight + element.scrollTop - lineHeight) {
73
+ element.scrollTop = caretPosition.top - element.clientHeight + lineHeight;
74
+ }
75
+ }
76
+
77
+ static getTextAreaPosition(element: HTMLInputElement | HTMLTextAreaElement): CaretPosition {
78
+ const computedStyle: CSSStyleDeclaration = window.getComputedStyle(element);
79
+ const position: CaretPosition = this.getCaretPosition(element);
80
+ return {
81
+ top: position.top + parseFloat(computedStyle.borderTopWidth) + element.offsetTop - element.scrollTop,
82
+ left: position.left + parseFloat(computedStyle.borderLeftWidth) + element.offsetLeft - element.scrollLeft - 0.25,
83
+ height: position.height,
84
+ elemStyle: computedStyle
85
+ };
86
+ }
87
+
88
+ static insertCharacter(element: HTMLInputElement | HTMLTextAreaElement, text: string): void {
89
+ let start: number = element.selectionStart;
90
+ const end: number = element.selectionEnd;
91
+ element.value = element.value.substring(0, start) + text + element.value.substring(end);
92
+ start += text.length;
93
+ element.setSelectionRange(start, start);
94
+ }
95
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Smart TextArea modules
3
+ */
4
+ export * from './smart-textarea';
5
+ export * from './smart-textarea-model';
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Smart TextArea modules
3
+ */
4
+ export * from './smart-textarea';
5
+ export * from './smart-textarea-model';
@@ -0,0 +1,44 @@
1
+ import { EventHandler, Property, createElement } from '@syncfusion/ej2-base';import { TextArea } from '../textarea/textarea';import { CaretPosition, CaretPositionHelper } from './caret-helper';
2
+ import {SuggestionMode} from "./smart-textarea";
3
+ import {TextAreaModel} from "../textarea/textarea-model";
4
+
5
+ /**
6
+ * Interface for a class SmartTextArea
7
+ */
8
+ export interface SmartTextAreaModel extends TextAreaModel{
9
+
10
+ /**
11
+ * Represents the user's role or designation, which can be used to provide role-specific suggestions or content within the smart textarea.
12
+ * Provide a string that describes who is typing and for what reason, optionally giving other contextual information.
13
+ *
14
+ * @default ''
15
+ */
16
+ userRole?: string;
17
+
18
+ /**
19
+ * Specifies a collection of phrases commonly used by the user, which can be leveraged for auto-completion and suggestions.
20
+ * Provide an array of string phrases commonly used by the user to enhance auto-completion and suggestions. Include preferred tone, voice, and any relevant information such as policies, URLs, or keywords for improved suggestions.
21
+ *
22
+ * @default []
23
+ */
24
+ UserPhrases?: string[];
25
+
26
+ /**
27
+ * Callback function to get suggestion text from server to display smart suggestion.
28
+ *
29
+ * @returns {string}
30
+ */
31
+ aiSuggestionHandler?: Function;
32
+
33
+ /**
34
+ * Specifies whether suggestions should appear in a popup or inline within the text area.
35
+ * possible values are:
36
+ * * `Enable` - Suggestions are always shown as a floating overlay, which can be tapped or clicked.
37
+ * * `Disable` - Suggestions are always shown inline and can be accepted by pressing `Tab` key.
38
+ * * `None` - Touch devices display suggestions as an overlay, while non-touch devices use inline suggestions.
39
+ *
40
+ * @default None
41
+ */
42
+ showSuggestionOnPopup?: SuggestionMode;
43
+
44
+ }
@@ -0,0 +1,80 @@
1
+ /// <reference path="../textarea/textarea-model.d.ts" />
2
+ import { TextArea } from '../textarea/textarea';
3
+ import { SmartTextAreaModel } from './smart-textarea-model';
4
+ export interface ChatParameters {
5
+ messages: ChatMessage[];
6
+ temperature?: number;
7
+ maxTokens?: number;
8
+ stopSequences: string[];
9
+ frequencyPenalty?: number;
10
+ presencePenalty?: number;
11
+ }
12
+ export declare enum ChatMessageRole {
13
+ System = "system",
14
+ User = "user",
15
+ Assistant = "assistant"
16
+ }
17
+ export interface ChatMessage {
18
+ role: ChatMessageRole;
19
+ content: string;
20
+ }
21
+ export declare type SuggestionMode = 'Enable' | 'Disable' | 'None';
22
+ export declare class SmartTextArea extends TextArea {
23
+ private pendingSuggestionAbort;
24
+ /**
25
+ * Represents the user's role or designation, which can be used to provide role-specific suggestions or content within the smart textarea.
26
+ * Provide a string that describes who is typing and for what reason, optionally giving other contextual information.
27
+ *
28
+ * @default ''
29
+ */
30
+ userRole: string;
31
+ /**
32
+ * Specifies a collection of phrases commonly used by the user, which can be leveraged for auto-completion and suggestions.
33
+ * Provide an array of string phrases commonly used by the user to enhance auto-completion and suggestions. Include preferred tone, voice, and any relevant information such as policies, URLs, or keywords for improved suggestions.
34
+ *
35
+ * @default []
36
+ */
37
+ UserPhrases: string[];
38
+ /**
39
+ * Callback function to get suggestion text from server to display smart suggestion.
40
+ *
41
+ * @returns {string}
42
+ */
43
+ aiSuggestionHandler: Function;
44
+ /**
45
+ * Specifies whether suggestions should appear in a popup or inline within the text area.
46
+ * possible values are:
47
+ * * `Enable` - Suggestions are always shown as a floating overlay, which can be tapped or clicked.
48
+ * * `Disable` - Suggestions are always shown inline and can be accepted by pressing `Tab` key.
49
+ * * `None` - Touch devices display suggestions as an overlay, while non-touch devices use inline suggestions.
50
+ *
51
+ * @default None
52
+ */
53
+ showSuggestionOnPopup: SuggestionMode;
54
+ /**
55
+ * Constructor for creating the widget
56
+ *
57
+ * @private
58
+ * @param {SmartTextArea} options - Specifies Smart text area model
59
+ * @param {string | HTMLTextAreaElement} element - Specifies target element
60
+ */
61
+ constructor(options?: SmartTextAreaModel, element?: string | HTMLTextAreaElement);
62
+ private textArea;
63
+ private suggestionDisplay;
64
+ private typingDebounceTimeout;
65
+ render(): void;
66
+ protected wireEvents(): void;
67
+ protected unWireEvents(): void;
68
+ protected keydownHandler(): void;
69
+ private shouldShowInlineSuggestions;
70
+ private handleKeyDown;
71
+ private handleKeyUp;
72
+ private handleTypingPaused;
73
+ private removeExistingOrPendingSuggestion;
74
+ private createSuggestionPrompt;
75
+ private requestSuggestionAsync;
76
+ private validateSuggestion;
77
+ private indexOfAny;
78
+ getModuleName(): string;
79
+ destroy(): void;
80
+ }