jb-textarea 1.1.1 → 2.0.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.
package/README.md CHANGED
@@ -69,4 +69,6 @@ if you want to set a custom style to this web-component all you need is to set c
69
69
  | --jb-textarea-min-height | minimum height of text area defualt is `80px` |
70
70
  | --jb-textarea-max-height | minimum height of text area defualt is `none` |
71
71
  | --jb-textarea-placeholder-color | placeholder color defualt is 'initial' |
72
- | --jb-textarea-placeholder-font-size | placeholder font-size defualt is `initial` |
72
+ | --jb-textarea-placeholder-font-size | placeholder font-size defualt is `initial` |
73
+ | --jb-textarea-label-color | label color defualt is `#1f1735` |
74
+ | --jb-textarea-value-color | value color |
@@ -0,0 +1,31 @@
1
+ import { JBTextareaValidationItem, ValidationResult, ValidationResultSummary } from './Types';
2
+ export declare class JBTextareaWebComponent extends HTMLElement {
3
+ #private;
4
+ get value(): string;
5
+ set value(value: string);
6
+ constructor();
7
+ initWebComponent(): void;
8
+ registerEventListener(): void;
9
+ validationList: JBTextareaValidationItem[];
10
+ autoHeight: boolean;
11
+ validation: ValidationResultSummary;
12
+ initProp(): void;
13
+ static get observedAttributes(): string[];
14
+ attributeChangedCallback(name: any, oldValue: any, newValue: any): void;
15
+ onAttributeChange(name: any, value: any): void;
16
+ changeHeightToContentSize(): void;
17
+ onInputKeyDown(e: any): void;
18
+ onInputKeyPress(): void;
19
+ onInputInput(): void;
20
+ onInputKeyup(e: any): void;
21
+ onInputChange(e: any): void;
22
+ triggerInputValidation(showError?: boolean): ValidationResult;
23
+ checkInputValidation(inputText: any): ValidationResult;
24
+ checkValidation(text: any, validation: any): {
25
+ isValid: boolean;
26
+ message: any;
27
+ validation: any;
28
+ };
29
+ showValidationError(error: any): void;
30
+ clearValidationError(): void;
31
+ }
@@ -1,49 +1,378 @@
1
- var HTML = "<div class=\"jb-textarea-web-component\">\r\n <label class=\"--hide\"><span class=\"label-value\"></span><span>:</span></label>\r\n <div class=\"textarea-box\">\r\n <textarea class=\"textarea-input\"></textarea>\r\n </div>\r\n <div class=\"message-box\"></div>\r\n</div>";
1
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
2
2
 
3
- var css_248z = ".jb-textarea-web-component {\n width: 100%;\n margin: var(--jb-textarea-margin, 12px 0); }\n .jb-textarea-web-component label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-textarea-label-font-size, 0.8em);\n color: #1f1735; }\n .jb-textarea-web-component label.--hide {\n display: none; }\n .jb-textarea-web-component .textarea-box {\n width: 100%;\n box-sizing: border-box;\n border: solid var(--jb-textarea-border-width, 1px) var(--jb-textarea-border-color, #f7f6f6);\n background-color: var(--jb-textarea-bgcolor, #f7f6f6);\n border-bottom: solid var(--jb-textarea-border-botton-width, 3px) var(--jb-textarea-border-color, #f7f6f6);\n border-radius: var(--jb-textarea-border-radius, 16px);\n display: block;\n transition: ease 0.3s all;\n overflow: hidden;\n display: flex;\n justify-content: space-between; }\n .jb-textarea-web-component .textarea-box:focus-within {\n border-color: var(--jb-textarea-border-color-focus, #1e2832); }\n .jb-textarea-web-component .textarea-box textarea {\n border: none;\n width: 100%;\n box-sizing: border-box;\n min-height: var(--jb-textarea-min-height, 80px);\n height: var(--jb-textarea-min-height, 80px);\n max-height: var(--jb-textarea-max-height, none);\n background-color: transparent;\n padding: 6px 12px 4px 12px;\n display: block;\n font-family: inherit;\n font-size: var(--jb-textarea-value-font-size, 1.1em);\n color: #1f1735;\n margin: 0;\n border-radius: 0;\n resize: vertical;\n color: var(--jb-textarea-value-color, initial); }\n .jb-textarea-web-component .textarea-box textarea:focus {\n outline: none; }\n .jb-textarea-web-component .textarea-box textarea::placeholder {\n color: var(--jb-textarea-placeholder-color, initial);\n font-size: var(--jb-textarea-placeholder-font-size, initial); }\n .jb-textarea-web-component .message-box {\n font-size: var(--jb-textarea-message-font-size, 0.7em);\n padding: 2px 8px;\n color: #929292; }\n .jb-textarea-web-component .message-box:empty {\n padding: 0; }\n .jb-textarea-web-component .message-box.error {\n color: var(--jb-textarea-message-error-color, red); }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkpCVGV4dGFyZWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCx5Q0FBeUMsRUFBRTtFQUMzQztJQUNFLFdBQVc7SUFDWCxlQUFlO0lBQ2YsY0FBYztJQUNkLG9EQUFvRDtJQUNwRCxjQUFjLEVBQUU7SUFDaEI7TUFDRSxhQUFhLEVBQUU7RUFDbkI7SUFDRSxXQUFXO0lBQ1gsc0JBQXNCO0lBQ3RCLDJGQUEyRjtJQUMzRixxREFBcUQ7SUFDckQseUdBQXlHO0lBQ3pHLHFEQUFxRDtJQUNyRCxjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsOEJBQThCLEVBQUU7SUFDaEM7TUFDRSw0REFBNEQsRUFBRTtJQUNoRTtNQUNFLFlBQVk7TUFDWixXQUFXO01BQ1gsc0JBQXNCO01BQ3RCLCtDQUErQztNQUMvQywyQ0FBMkM7TUFDM0MsK0NBQStDO01BQy9DLDZCQUE2QjtNQUM3QiwwQkFBMEI7TUFDMUIsY0FBYztNQUNkLG9CQUFvQjtNQUNwQixvREFBb0Q7TUFDcEQsY0FBYztNQUNkLFNBQVM7TUFDVCxnQkFBZ0I7TUFDaEIsZ0JBQWdCO01BQ2hCLDhDQUE4QyxFQUFFO01BQ2hEO1FBQ0UsYUFBYSxFQUFFO01BQ2pCO1FBQ0Usb0RBQW9EO1FBQ3BELDREQUE0RCxFQUFFO0VBQ3BFO0lBQ0Usc0RBQXNEO0lBQ3RELGdCQUFnQjtJQUNoQixjQUFjLEVBQUU7SUFDaEI7TUFDRSxVQUFVLEVBQUU7SUFDZDtNQUNFLGtEQUFrRCxFQUFFIiwiZmlsZSI6IkpCVGV4dGFyZWEuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogdmFyKC0tamItdGV4dGFyZWEtbWFyZ2luLCAxMnB4IDApOyB9XG4gIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDRweCAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiB2YXIoLS1qYi10ZXh0YXJlYS1sYWJlbC1mb250LXNpemUsIDAuOGVtKTtcbiAgICBjb2xvcjogIzFmMTczNTsgfVxuICAgIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IGxhYmVsLi0taGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IC50ZXh0YXJlYS1ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiBzb2xpZCB2YXIoLS1qYi10ZXh0YXJlYS1ib3JkZXItd2lkdGgsIDFweCkgdmFyKC0tamItdGV4dGFyZWEtYm9yZGVyLWNvbG9yLCAjZjdmNmY2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1qYi10ZXh0YXJlYS1iZ2NvbG9yLCAjZjdmNmY2KTtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1qYi10ZXh0YXJlYS1ib3JkZXItYm90dG9uLXdpZHRoLCAzcHgpIHZhcigtLWpiLXRleHRhcmVhLWJvcmRlci1jb2xvciwgI2Y3ZjZmNik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tamItdGV4dGFyZWEtYm9yZGVyLXJhZGl1cywgMTZweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogZWFzZSAwLjNzIGFsbDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLnRleHRhcmVhLWJveDpmb2N1cy13aXRoaW4ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1qYi10ZXh0YXJlYS1ib3JkZXItY29sb3ItZm9jdXMsICMxZTI4MzIpOyB9XG4gICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLnRleHRhcmVhLWJveCB0ZXh0YXJlYSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtaW4taGVpZ2h0OiB2YXIoLS1qYi10ZXh0YXJlYS1taW4taGVpZ2h0LCA4MHB4KTtcbiAgICAgIGhlaWdodDogdmFyKC0tamItdGV4dGFyZWEtbWluLWhlaWdodCwgODBweCk7XG4gICAgICBtYXgtaGVpZ2h0OiB2YXIoLS1qYi10ZXh0YXJlYS1tYXgtaGVpZ2h0LCBub25lKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNnB4IDEycHggNHB4IDEycHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1qYi10ZXh0YXJlYS12YWx1ZS1mb250LXNpemUsIDEuMWVtKTtcbiAgICAgIGNvbG9yOiAjMWYxNzM1O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICBjb2xvcjogdmFyKC0tamItdGV4dGFyZWEtdmFsdWUtY29sb3IsIGluaXRpYWwpOyB9XG4gICAgICAuamItdGV4dGFyZWEtd2ViLWNvbXBvbmVudCAudGV4dGFyZWEtYm94IHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLnRleHRhcmVhLWJveCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tamItdGV4dGFyZWEtcGxhY2Vob2xkZXItY29sb3IsIGluaXRpYWwpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWpiLXRleHRhcmVhLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSwgaW5pdGlhbCk7IH1cbiAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLm1lc3NhZ2UtYm94IHtcbiAgICBmb250LXNpemU6IHZhcigtLWpiLXRleHRhcmVhLW1lc3NhZ2UtZm9udC1zaXplLCAwLjdlbSk7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuICAgIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IC5tZXNzYWdlLWJveDplbXB0eSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLm1lc3NhZ2UtYm94LmVycm9yIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1qYi10ZXh0YXJlYS1tZXNzYWdlLWVycm9yLWNvbG9yLCByZWQpOyB9XG4iXX0= */";
3
+ function createCommonjsModule(fn, basedir, module) {
4
+ return module = {
5
+ path: basedir,
6
+ exports: {},
7
+ require: function (path, base) {
8
+ return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
9
+ }
10
+ }, fn(module, module.exports), module.exports;
11
+ }
4
12
 
5
- class JBTextareaWebComponent extends HTMLElement {
6
- get value() {
7
- return this._value;
13
+ function commonjsRequire () {
14
+ throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
15
+ }
16
+
17
+ var tslib = createCommonjsModule(function (module) {
18
+ /*! *****************************************************************************
19
+ Copyright (c) Microsoft Corporation.
20
+
21
+ Permission to use, copy, modify, and/or distribute this software for any
22
+ purpose with or without fee is hereby granted.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
25
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
26
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
27
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
28
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
29
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
30
+ PERFORMANCE OF THIS SOFTWARE.
31
+ ***************************************************************************** */
32
+ /* global global, define, System, Reflect, Promise */
33
+ var __extends;
34
+ var __assign;
35
+ var __rest;
36
+ var __decorate;
37
+ var __param;
38
+ var __metadata;
39
+ var __awaiter;
40
+ var __generator;
41
+ var __exportStar;
42
+ var __values;
43
+ var __read;
44
+ var __spread;
45
+ var __spreadArrays;
46
+ var __spreadArray;
47
+ var __await;
48
+ var __asyncGenerator;
49
+ var __asyncDelegator;
50
+ var __asyncValues;
51
+ var __makeTemplateObject;
52
+ var __importStar;
53
+ var __importDefault;
54
+ var __classPrivateFieldGet;
55
+ var __classPrivateFieldSet;
56
+ var __createBinding;
57
+ (function (factory) {
58
+ var root = typeof commonjsGlobal === "object" ? commonjsGlobal : typeof self === "object" ? self : typeof this === "object" ? this : {};
59
+ {
60
+ factory(createExporter(root, createExporter(module.exports)));
8
61
  }
9
- set value(value) {
10
- this._value = value;
11
- this._textareaElement.value = value;
12
- if(this.autoHeight){
13
- this.changeHeightToContentSize();
62
+ function createExporter(exports, previous) {
63
+ if (exports !== root) {
64
+ if (typeof Object.create === "function") {
65
+ Object.defineProperty(exports, "__esModule", { value: true });
66
+ }
67
+ else {
68
+ exports.__esModule = true;
69
+ }
14
70
  }
71
+ return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
15
72
  }
73
+ })
74
+ (function (exporter) {
75
+ var extendStatics = Object.setPrototypeOf ||
76
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
77
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
78
+
79
+ __extends = function (d, b) {
80
+ if (typeof b !== "function" && b !== null)
81
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
82
+ extendStatics(d, b);
83
+ function __() { this.constructor = d; }
84
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
85
+ };
86
+
87
+ __assign = Object.assign || function (t) {
88
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
89
+ s = arguments[i];
90
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
91
+ }
92
+ return t;
93
+ };
94
+
95
+ __rest = function (s, e) {
96
+ var t = {};
97
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
98
+ t[p] = s[p];
99
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
100
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
101
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
102
+ t[p[i]] = s[p[i]];
103
+ }
104
+ return t;
105
+ };
106
+
107
+ __decorate = function (decorators, target, key, desc) {
108
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
109
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
110
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
111
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
112
+ };
113
+
114
+ __param = function (paramIndex, decorator) {
115
+ return function (target, key) { decorator(target, key, paramIndex); }
116
+ };
117
+
118
+ __metadata = function (metadataKey, metadataValue) {
119
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
120
+ };
121
+
122
+ __awaiter = function (thisArg, _arguments, P, generator) {
123
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
124
+ return new (P || (P = Promise))(function (resolve, reject) {
125
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
126
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
127
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
128
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
129
+ });
130
+ };
131
+
132
+ __generator = function (thisArg, body) {
133
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
134
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
135
+ function verb(n) { return function (v) { return step([n, v]); }; }
136
+ function step(op) {
137
+ if (f) throw new TypeError("Generator is already executing.");
138
+ while (_) try {
139
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
140
+ if (y = 0, t) op = [op[0] & 2, t.value];
141
+ switch (op[0]) {
142
+ case 0: case 1: t = op; break;
143
+ case 4: _.label++; return { value: op[1], done: false };
144
+ case 5: _.label++; y = op[1]; op = [0]; continue;
145
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
146
+ default:
147
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
148
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
149
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
150
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
151
+ if (t[2]) _.ops.pop();
152
+ _.trys.pop(); continue;
153
+ }
154
+ op = body.call(thisArg, _);
155
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
156
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
157
+ }
158
+ };
159
+
160
+ __exportStar = function(m, o) {
161
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
162
+ };
163
+
164
+ __createBinding = Object.create ? (function(o, m, k, k2) {
165
+ if (k2 === undefined) k2 = k;
166
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
167
+ }) : (function(o, m, k, k2) {
168
+ if (k2 === undefined) k2 = k;
169
+ o[k2] = m[k];
170
+ });
171
+
172
+ __values = function (o) {
173
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
174
+ if (m) return m.call(o);
175
+ if (o && typeof o.length === "number") return {
176
+ next: function () {
177
+ if (o && i >= o.length) o = void 0;
178
+ return { value: o && o[i++], done: !o };
179
+ }
180
+ };
181
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
182
+ };
183
+
184
+ __read = function (o, n) {
185
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
186
+ if (!m) return o;
187
+ var i = m.call(o), r, ar = [], e;
188
+ try {
189
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
190
+ }
191
+ catch (error) { e = { error: error }; }
192
+ finally {
193
+ try {
194
+ if (r && !r.done && (m = i["return"])) m.call(i);
195
+ }
196
+ finally { if (e) throw e.error; }
197
+ }
198
+ return ar;
199
+ };
200
+
201
+ /** @deprecated */
202
+ __spread = function () {
203
+ for (var ar = [], i = 0; i < arguments.length; i++)
204
+ ar = ar.concat(__read(arguments[i]));
205
+ return ar;
206
+ };
207
+
208
+ /** @deprecated */
209
+ __spreadArrays = function () {
210
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
211
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
212
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
213
+ r[k] = a[j];
214
+ return r;
215
+ };
216
+
217
+ __spreadArray = function (to, from, pack) {
218
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
219
+ if (ar || !(i in from)) {
220
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
221
+ ar[i] = from[i];
222
+ }
223
+ }
224
+ return to.concat(ar || Array.prototype.slice.call(from));
225
+ };
226
+
227
+ __await = function (v) {
228
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
229
+ };
230
+
231
+ __asyncGenerator = function (thisArg, _arguments, generator) {
232
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
233
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
234
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
235
+ function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
236
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
237
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
238
+ function fulfill(value) { resume("next", value); }
239
+ function reject(value) { resume("throw", value); }
240
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
241
+ };
242
+
243
+ __asyncDelegator = function (o) {
244
+ var i, p;
245
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
246
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
247
+ };
248
+
249
+ __asyncValues = function (o) {
250
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
251
+ var m = o[Symbol.asyncIterator], i;
252
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
253
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
254
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
255
+ };
256
+
257
+ __makeTemplateObject = function (cooked, raw) {
258
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
259
+ return cooked;
260
+ };
261
+
262
+ var __setModuleDefault = Object.create ? (function(o, v) {
263
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
264
+ }) : function(o, v) {
265
+ o["default"] = v;
266
+ };
267
+
268
+ __importStar = function (mod) {
269
+ if (mod && mod.__esModule) return mod;
270
+ var result = {};
271
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
272
+ __setModuleDefault(result, mod);
273
+ return result;
274
+ };
275
+
276
+ __importDefault = function (mod) {
277
+ return (mod && mod.__esModule) ? mod : { "default": mod };
278
+ };
279
+
280
+ __classPrivateFieldGet = function (receiver, state, kind, f) {
281
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
282
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
283
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
284
+ };
285
+
286
+ __classPrivateFieldSet = function (receiver, state, value, kind, f) {
287
+ if (kind === "m") throw new TypeError("Private method is not writable");
288
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
289
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
290
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
291
+ };
292
+
293
+ exporter("__extends", __extends);
294
+ exporter("__assign", __assign);
295
+ exporter("__rest", __rest);
296
+ exporter("__decorate", __decorate);
297
+ exporter("__param", __param);
298
+ exporter("__metadata", __metadata);
299
+ exporter("__awaiter", __awaiter);
300
+ exporter("__generator", __generator);
301
+ exporter("__exportStar", __exportStar);
302
+ exporter("__createBinding", __createBinding);
303
+ exporter("__values", __values);
304
+ exporter("__read", __read);
305
+ exporter("__spread", __spread);
306
+ exporter("__spreadArrays", __spreadArrays);
307
+ exporter("__spreadArray", __spreadArray);
308
+ exporter("__await", __await);
309
+ exporter("__asyncGenerator", __asyncGenerator);
310
+ exporter("__asyncDelegator", __asyncDelegator);
311
+ exporter("__asyncValues", __asyncValues);
312
+ exporter("__makeTemplateObject", __makeTemplateObject);
313
+ exporter("__importStar", __importStar);
314
+ exporter("__importDefault", __importDefault);
315
+ exporter("__classPrivateFieldGet", __classPrivateFieldGet);
316
+ exporter("__classPrivateFieldSet", __classPrivateFieldSet);
317
+ });
318
+ });
319
+
320
+ var HTML = "<div class=\"jb-textarea-web-component\">\r\n <label class=\"--hide\"><span class=\"label-value\"></span><span>:</span></label>\r\n <div class=\"textarea-box\">\r\n <textarea class=\"textarea-input\"></textarea>\r\n </div>\r\n <div class=\"message-box\"></div>\r\n</div>";
321
+
322
+ var css_248z = ".jb-textarea-web-component {\n width: 100%;\n margin: var(--jb-textarea-margin, 12px 0); }\n .jb-textarea-web-component label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-textarea-label-font-size, 0.8em);\n color: var(--jb-textarea-label-color, #1f1735); }\n .jb-textarea-web-component label.--hide {\n display: none; }\n .jb-textarea-web-component .textarea-box {\n width: 100%;\n box-sizing: border-box;\n border: solid var(--jb-textarea-border-width, 1px) var(--jb-textarea-border-color, #f7f6f6);\n background-color: var(--jb-textarea-bgcolor, #f7f6f6);\n border-bottom: solid var(--jb-textarea-border-botton-width, 3px) var(--jb-textarea-border-color, #f7f6f6);\n border-radius: var(--jb-textarea-border-radius, 16px);\n display: block;\n transition: ease 0.3s all;\n overflow: hidden;\n display: flex;\n justify-content: space-between; }\n .jb-textarea-web-component .textarea-box:focus-within {\n border-color: var(--jb-textarea-border-color-focus, #1e2832); }\n .jb-textarea-web-component .textarea-box textarea {\n border: none;\n width: 100%;\n box-sizing: border-box;\n min-height: var(--jb-textarea-min-height, 80px);\n height: var(--jb-textarea-min-height, 80px);\n max-height: var(--jb-textarea-max-height, none);\n background-color: transparent;\n padding: 6px 12px 4px 12px;\n display: block;\n font-family: inherit;\n font-size: var(--jb-textarea-value-font-size, 1.1em);\n color: var(--jb-textarea-value-color, #1f1735);\n margin: 0;\n border-radius: 0;\n resize: vertical;\n color: var(--jb-textarea-value-color, initial); }\n .jb-textarea-web-component .textarea-box textarea:focus {\n outline: none; }\n .jb-textarea-web-component .textarea-box textarea::placeholder {\n color: var(--jb-textarea-placeholder-color, initial);\n font-size: var(--jb-textarea-placeholder-font-size, initial); }\n .jb-textarea-web-component .message-box {\n font-size: var(--jb-textarea-message-font-size, 0.7em);\n padding: 2px 8px;\n color: #929292; }\n .jb-textarea-web-component .message-box:empty {\n padding: 0; }\n .jb-textarea-web-component .message-box.error {\n color: var(--jb-textarea-message-error-color, red); }\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkpCVGV4dGFyZWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFdBQVc7RUFDWCx5Q0FBeUMsRUFBRTtFQUMzQztJQUNFLFdBQVc7SUFDWCxlQUFlO0lBQ2YsY0FBYztJQUNkLG9EQUFvRDtJQUNwRCw4Q0FBOEMsRUFBRTtJQUNoRDtNQUNFLGFBQWEsRUFBRTtFQUNuQjtJQUNFLFdBQVc7SUFDWCxzQkFBc0I7SUFDdEIsMkZBQTJGO0lBQzNGLHFEQUFxRDtJQUNyRCx5R0FBeUc7SUFDekcscURBQXFEO0lBQ3JELGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYiw4QkFBOEIsRUFBRTtJQUNoQztNQUNFLDREQUE0RCxFQUFFO0lBQ2hFO01BQ0UsWUFBWTtNQUNaLFdBQVc7TUFDWCxzQkFBc0I7TUFDdEIsK0NBQStDO01BQy9DLDJDQUEyQztNQUMzQywrQ0FBK0M7TUFDL0MsNkJBQTZCO01BQzdCLDBCQUEwQjtNQUMxQixjQUFjO01BQ2Qsb0JBQW9CO01BQ3BCLG9EQUFvRDtNQUNwRCw4Q0FBOEM7TUFDOUMsU0FBUztNQUNULGdCQUFnQjtNQUNoQixnQkFBZ0I7TUFDaEIsOENBQThDLEVBQUU7TUFDaEQ7UUFDRSxhQUFhLEVBQUU7TUFDakI7UUFDRSxvREFBb0Q7UUFDcEQsNERBQTRELEVBQUU7RUFDcEU7SUFDRSxzREFBc0Q7SUFDdEQsZ0JBQWdCO0lBQ2hCLGNBQWMsRUFBRTtJQUNoQjtNQUNFLFVBQVUsRUFBRTtJQUNkO01BQ0Usa0RBQWtELEVBQUUiLCJmaWxlIjoiSkJUZXh0YXJlYS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiB2YXIoLS1qYi10ZXh0YXJlYS1tYXJnaW4sIDEycHggMCk7IH1cbiAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNHB4IDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHZhcigtLWpiLXRleHRhcmVhLWxhYmVsLWZvbnQtc2l6ZSwgMC44ZW0pO1xuICAgIGNvbG9yOiB2YXIoLS1qYi10ZXh0YXJlYS1sYWJlbC1jb2xvciwgIzFmMTczNSk7IH1cbiAgICAuamItdGV4dGFyZWEtd2ViLWNvbXBvbmVudCBsYWJlbC4tLWhpZGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuamItdGV4dGFyZWEtd2ViLWNvbXBvbmVudCAudGV4dGFyZWEtYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJvcmRlcjogc29saWQgdmFyKC0tamItdGV4dGFyZWEtYm9yZGVyLXdpZHRoLCAxcHgpIHZhcigtLWpiLXRleHRhcmVhLWJvcmRlci1jb2xvciwgI2Y3ZjZmNik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamItdGV4dGFyZWEtYmdjb2xvciwgI2Y3ZjZmNik7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgdmFyKC0tamItdGV4dGFyZWEtYm9yZGVyLWJvdHRvbi13aWR0aCwgM3B4KSB2YXIoLS1qYi10ZXh0YXJlYS1ib3JkZXItY29sb3IsICNmN2Y2ZjYpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWpiLXRleHRhcmVhLWJvcmRlci1yYWRpdXMsIDE2cHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGVhc2UgMC4zcyBhbGw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IC50ZXh0YXJlYS1ib3g6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tamItdGV4dGFyZWEtYm9yZGVyLWNvbG9yLWZvY3VzLCAjMWUyODMyKTsgfVxuICAgIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IC50ZXh0YXJlYS1ib3ggdGV4dGFyZWEge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWluLWhlaWdodDogdmFyKC0tamItdGV4dGFyZWEtbWluLWhlaWdodCwgODBweCk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWpiLXRleHRhcmVhLW1pbi1oZWlnaHQsIDgwcHgpO1xuICAgICAgbWF4LWhlaWdodDogdmFyKC0tamItdGV4dGFyZWEtbWF4LWhlaWdodCwgbm9uZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDZweCAxMnB4IDRweCAxMnB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tamItdGV4dGFyZWEtdmFsdWUtZm9udC1zaXplLCAxLjFlbSk7XG4gICAgICBjb2xvcjogdmFyKC0tamItdGV4dGFyZWEtdmFsdWUtY29sb3IsICMxZjE3MzUpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICBjb2xvcjogdmFyKC0tamItdGV4dGFyZWEtdmFsdWUtY29sb3IsIGluaXRpYWwpOyB9XG4gICAgICAuamItdGV4dGFyZWEtd2ViLWNvbXBvbmVudCAudGV4dGFyZWEtYm94IHRleHRhcmVhOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLnRleHRhcmVhLWJveCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tamItdGV4dGFyZWEtcGxhY2Vob2xkZXItY29sb3IsIGluaXRpYWwpO1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWpiLXRleHRhcmVhLXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSwgaW5pdGlhbCk7IH1cbiAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLm1lc3NhZ2UtYm94IHtcbiAgICBmb250LXNpemU6IHZhcigtLWpiLXRleHRhcmVhLW1lc3NhZ2UtZm9udC1zaXplLCAwLjdlbSk7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuICAgIC5qYi10ZXh0YXJlYS13ZWItY29tcG9uZW50IC5tZXNzYWdlLWJveDplbXB0eSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmpiLXRleHRhcmVhLXdlYi1jb21wb25lbnQgLm1lc3NhZ2UtYm94LmVycm9yIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1qYi10ZXh0YXJlYS1tZXNzYWdlLWVycm9yLWNvbG9yLCByZWQpOyB9XG4iXX0= */";
323
+
324
+ var _JBTextareaWebComponent_value, _JBTextareaWebComponent_textareaElement, _JBTextareaWebComponent_elements;
325
+ class JBTextareaWebComponent extends HTMLElement {
16
326
  constructor() {
17
327
  super();
328
+ _JBTextareaWebComponent_value.set(this, '');
329
+ _JBTextareaWebComponent_textareaElement.set(this, void 0);
330
+ _JBTextareaWebComponent_elements.set(this, void 0);
331
+ this.validationList = [];
332
+ this.autoHeight = false;
333
+ this.validation = {
334
+ isValid: null,
335
+ message: null
336
+ };
18
337
  this.initWebComponent();
19
338
  this.initProp();
20
339
  }
340
+ get value() {
341
+ return tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_value, "f");
342
+ }
343
+ set value(value) {
344
+ tslib.__classPrivateFieldSet(this, _JBTextareaWebComponent_value, value, "f");
345
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").value = value;
346
+ if (this.autoHeight) {
347
+ this.changeHeightToContentSize();
348
+ }
349
+ }
21
350
  initWebComponent() {
22
- this._shadowRoot = this.attachShadow({
351
+ const shadowRoot = this.attachShadow({
23
352
  mode: 'open'
24
353
  });
25
- this._html = `<style>${css_248z}</style>` + '\n' + HTML;
26
- this._element = document.createElement('template');
27
- this._element.innerHTML = this._html;
28
- this._shadowRoot.appendChild(this._element.content.cloneNode(true));
29
- this._textareaElement = this._shadowRoot.querySelector('.textarea-box textarea');
354
+ const html = `<style>${css_248z}</style>` + '\n' + HTML;
355
+ const element = document.createElement('template');
356
+ element.innerHTML = html;
357
+ shadowRoot.appendChild(element.content.cloneNode(true));
358
+ tslib.__classPrivateFieldSet(this, _JBTextareaWebComponent_textareaElement, shadowRoot.querySelector('.textarea-box textarea'), "f");
359
+ tslib.__classPrivateFieldSet(this, _JBTextareaWebComponent_elements, {
360
+ textarea: tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f"),
361
+ label: shadowRoot.querySelector('label'),
362
+ labelValue: shadowRoot.querySelector('label .label-value'),
363
+ messageBox: shadowRoot.querySelector('.message-box')
364
+ }, "f");
30
365
  this.registerEventListener();
31
366
  }
32
367
  registerEventListener() {
33
- this._textareaElement.addEventListener('change', this.onInputChange.bind(this));
34
- this._textareaElement.addEventListener('keypress', this.onInputKeyPress.bind(this));
35
- this._textareaElement.addEventListener('keyup', this.onInputKeyup.bind(this));
36
- this._textareaElement.addEventListener('keydown', this.onInputKeyDown.bind(this));
37
- this._textareaElement.addEventListener('input', this.onInputInput.bind(this));
368
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").addEventListener('change', this.onInputChange.bind(this));
369
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").addEventListener('keypress', this.onInputKeyPress.bind(this));
370
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").addEventListener('keyup', this.onInputKeyup.bind(this));
371
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").addEventListener('keydown', this.onInputKeyDown.bind(this));
372
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").addEventListener('input', this.onInputInput.bind(this));
38
373
  }
39
374
  initProp() {
40
- this.validationList = [];
41
375
  this.value = this.getAttribute('value') || '';
42
- this.autoHeight = false;
43
- this.validation = {
44
- isValid: null,
45
- message: null
46
- };
47
376
  }
48
377
  static get observedAttributes() {
49
378
  return ['label', 'message', 'value', 'placeholder'];
@@ -55,44 +384,44 @@ class JBTextareaWebComponent extends HTMLElement {
55
384
  onAttributeChange(name, value) {
56
385
  switch (name) {
57
386
  case 'label':
58
- this._shadowRoot.querySelector('label .label-value').innerHTML = value;
59
- if(value == null || value == undefined || value == ""){
60
- this._shadowRoot.querySelector('label').classList.add('--hide');
61
- }else {
62
- this._shadowRoot.querySelector('label').classList.remove('--hide');
387
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").labelValue.innerHTML = value;
388
+ if (value == null || value == undefined || value == "") {
389
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").label.classList.add('--hide');
390
+ }
391
+ else {
392
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").label.classList.remove('--hide');
63
393
  }
64
394
  break;
65
395
  case 'message':
66
- this._shadowRoot.querySelector('.message-box').innerHTML = value;
396
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").messageBox.innerHTML = value;
67
397
  break;
68
398
  case 'placeholder':
69
- this._textareaElement.setAttribute('placeholder', value);
399
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").setAttribute('placeholder', value);
70
400
  break;
71
401
  case 'value':
72
402
  this.value = value;
73
403
  break;
74
404
  }
75
-
76
405
  }
77
406
  changeHeightToContentSize() {
78
- this._textareaElement.style.height = "4px";
79
- this._textareaElement.style.height = (this._textareaElement.scrollHeight)+"px";
407
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").style.height = "4px";
408
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").style.height = (tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").scrollHeight) + "px";
80
409
  }
81
- onInputKeyDown(e){
410
+ onInputKeyDown(e) {
82
411
  const keyDownnInitObj = {
83
- key:e.key,
84
- keyCode:e.keyCode,
85
- code:e.code,
86
- ctrlKey:e.ctrlKey,
87
- shiftKey:e.shiftKey,
88
- altKey:e.altKey,
89
- charCode:e.charCode,
90
- which:e.which,
412
+ key: e.key,
413
+ keyCode: e.keyCode,
414
+ code: e.code,
415
+ ctrlKey: e.ctrlKey,
416
+ shiftKey: e.shiftKey,
417
+ altKey: e.altKey,
418
+ charCode: e.charCode,
419
+ which: e.which,
91
420
  cancelable: true,
92
421
  };
93
- const event = new KeyboardEvent("keydown",keyDownnInitObj);
422
+ const event = new KeyboardEvent("keydown", keyDownnInitObj);
94
423
  const isEventNotPrevented = this.dispatchEvent(event);
95
- if(!isEventNotPrevented){
424
+ if (!isEventNotPrevented) {
96
425
  //if event prevented by e.preventDefault();
97
426
  e.preventDefault();
98
427
  }
@@ -102,39 +431,39 @@ class JBTextareaWebComponent extends HTMLElement {
102
431
  const event = new CustomEvent('keypress');
103
432
  this.dispatchEvent(event);
104
433
  }
105
- onInputInput(){
106
- if(this.autoHeight){
434
+ onInputInput() {
435
+ if (this.autoHeight) {
107
436
  this.changeHeightToContentSize();
108
437
  }
109
438
  }
110
439
  onInputKeyup(e) {
111
440
  const inputText = e.target.value;
112
441
  //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom
113
- this._value = inputText;
442
+ tslib.__classPrivateFieldSet(this, _JBTextareaWebComponent_value, inputText, "f");
114
443
  this.triggerInputValidation(false);
115
444
  const keyUpInitObj = {
116
- key:e.key,
117
- keyCode:e.keyCode,
118
- code:e.code,
119
- ctrlKey:e.ctrlKey,
120
- shiftKey:e.shiftKey,
121
- altKey:e.altKey,
122
- charCode:e.charCode,
123
- which:e.which,
445
+ key: e.key,
446
+ keyCode: e.keyCode,
447
+ code: e.code,
448
+ ctrlKey: e.ctrlKey,
449
+ shiftKey: e.shiftKey,
450
+ altKey: e.altKey,
451
+ charCode: e.charCode,
452
+ which: e.which,
124
453
  };
125
- const event = new KeyboardEvent('keyup',keyUpInitObj);
454
+ const event = new KeyboardEvent('keyup', keyUpInitObj);
126
455
  this.dispatchEvent(event);
127
456
  }
128
457
  onInputChange(e) {
129
458
  const inputText = e.target.value;
130
459
  this.triggerInputValidation(true);
131
460
  //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom
132
- this._value = inputText;
461
+ tslib.__classPrivateFieldSet(this, _JBTextareaWebComponent_value, inputText, "f");
133
462
  const validationObject = this.checkInputValidation(inputText);
134
- const event = new CustomEvent('change',{
463
+ const event = new CustomEvent('change', {
135
464
  detail: {
136
465
  isValid: validationObject.isAllValid,
137
- validationObject:validationObject,
466
+ validationObject: validationObject,
138
467
  },
139
468
  });
140
469
  this.dispatchEvent(event);
@@ -142,17 +471,20 @@ class JBTextareaWebComponent extends HTMLElement {
142
471
  triggerInputValidation(showError = true) {
143
472
  // this method is for use out of component for example if user click on submit button and developer want to check if all fields are valid
144
473
  //takeAction determine if we want to show user error in web component difualtManner or developer will handle it by himself
145
- const inputText = this._textareaElement.value;
474
+ const inputText = tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_textareaElement, "f").value;
146
475
  const validationResult = this.checkInputValidation(inputText);
147
476
  if (showError == true && !validationResult.isAllValid) {
148
477
  const firstFault = validationResult.validationList.find(x => !x.isValid);
149
- this.showValidationError(firstFault.message);
150
- } else if (validationResult.isAllValid) {
478
+ if (firstFault) {
479
+ this.showValidationError(firstFault.message);
480
+ }
481
+ }
482
+ else if (validationResult.isAllValid) {
151
483
  this.clearValidationError();
152
484
  }
153
485
  return validationResult;
154
486
  }
155
- checkInputValidation(inputText){
487
+ checkInputValidation(inputText) {
156
488
  const validationResult = {
157
489
  validationList: [],
158
490
  isAllValid: true
@@ -167,7 +499,7 @@ class JBTextareaWebComponent extends HTMLElement {
167
499
  return validationResult;
168
500
  }
169
501
  checkValidation(text, validation) {
170
- var testRes = validation.validator.test(text);
502
+ const testRes = validation.validator.test(text);
171
503
  validation.validator.lastIndex = 0;
172
504
  if (!testRes) {
173
505
  return {
@@ -187,8 +519,8 @@ class JBTextareaWebComponent extends HTMLElement {
187
519
  isValid: false,
188
520
  message: error
189
521
  };
190
- this._shadowRoot.querySelector('.message-box').innerHTML = error;
191
- this._shadowRoot.querySelector('.message-box').classList.add('error');
522
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").messageBox.innerHTML = error;
523
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").messageBox.classList.add('error');
192
524
  }
193
525
  clearValidationError() {
194
526
  this.validation = {
@@ -196,14 +528,16 @@ class JBTextareaWebComponent extends HTMLElement {
196
528
  message: null
197
529
  };
198
530
  const text = this.getAttribute('message') || '';
199
- this._shadowRoot.querySelector('.message-box').innerHTML = text;
200
- this._shadowRoot.querySelector('.message-box').classList.remove('error');
531
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").messageBox.innerHTML = text;
532
+ tslib.__classPrivateFieldGet(this, _JBTextareaWebComponent_elements, "f").messageBox.classList.remove('error');
201
533
  }
202
534
  }
203
-
535
+ _JBTextareaWebComponent_value = new WeakMap(), _JBTextareaWebComponent_textareaElement = new WeakMap(), _JBTextareaWebComponent_elements = new WeakMap();
204
536
  const myElementNotExists = !customElements.get('jb-textarea');
205
- if(myElementNotExists){
537
+ if (myElementNotExists) {
206
538
  //prevent duplicate registering
207
539
  window.customElements.define('jb-textarea', JBTextareaWebComponent);
208
540
  }
541
+
542
+ export { JBTextareaWebComponent };
209
543
  //# sourceMappingURL=JBTextarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JBTextarea.js","sources":["../lib/JBTextarea.js"],"sourcesContent":["import HTML from './JBTextarea.html';\r\nimport CSS from './JBTextarea.scss';\r\nclass JBTextareaWebComponent extends HTMLElement {\r\n get value() {\r\n return this._value;\r\n }\r\n set value(value) {\r\n this._value = value;\r\n this._textareaElement.value = value;\r\n if(this.autoHeight){\r\n this.changeHeightToContentSize();\r\n }\r\n }\r\n constructor() {\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n }\r\n initWebComponent() {\r\n this._shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n this._html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n this._element = document.createElement('template');\r\n this._element.innerHTML = this._html;\r\n this._shadowRoot.appendChild(this._element.content.cloneNode(true));\r\n this._textareaElement = this._shadowRoot.querySelector('.textarea-box textarea');\r\n this.registerEventListener();\r\n }\r\n registerEventListener() {\r\n this._textareaElement.addEventListener('change', this.onInputChange.bind(this));\r\n this._textareaElement.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this._textareaElement.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this._textareaElement.addEventListener('keydown', this.onInputKeyDown.bind(this));\r\n this._textareaElement.addEventListener('input', this.onInputInput.bind(this));\r\n }\r\n initProp() {\r\n this.validationList = [];\r\n this.value = this.getAttribute('value') || '';\r\n this.autoHeight = false;\r\n this.validation = {\r\n isValid: null,\r\n message: null\r\n };\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this._shadowRoot.querySelector('label .label-value').innerHTML = value;\r\n if(value == null || value == undefined || value == \"\"){\r\n this._shadowRoot.querySelector('label').classList.add('--hide');\r\n }else{\r\n this._shadowRoot.querySelector('label').classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this._shadowRoot.querySelector('.message-box').innerHTML = value;\r\n break;\r\n case 'placeholder':\r\n this._textareaElement.setAttribute('placeholder', value);\r\n break;\r\n case 'value':\r\n this.value = value;\r\n break;\r\n }\r\n\r\n }\r\n changeHeightToContentSize() {\r\n this._textareaElement.style.height = \"4px\";\r\n this._textareaElement.style.height = (this._textareaElement.scrollHeight)+\"px\";\r\n }\r\n onInputKeyDown(e){\r\n const keyDownnInitObj = {\r\n key:e.key,\r\n keyCode:e.keyCode,\r\n code:e.code,\r\n ctrlKey:e.ctrlKey,\r\n shiftKey:e.shiftKey,\r\n altKey:e.altKey,\r\n charCode:e.charCode,\r\n which:e.which,\r\n cancelable: true,\r\n };\r\n const event = new KeyboardEvent(\"keydown\",keyDownnInitObj);\r\n const isEventNotPrevented = this.dispatchEvent(event);\r\n if(!isEventNotPrevented){\r\n //if event prevented by e.preventDefault();\r\n e.preventDefault();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n const event = new CustomEvent('keypress');\r\n this.dispatchEvent(event);\r\n }\r\n onInputInput(){\r\n if(this.autoHeight){\r\n this.changeHeightToContentSize();\r\n }\r\n }\r\n onInputKeyup(e) {\r\n const inputText = e.target.value;\r\n //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom\r\n this._value = inputText;\r\n this.triggerInputValidation(false);\r\n const keyUpInitObj = {\r\n key:e.key,\r\n keyCode:e.keyCode,\r\n code:e.code,\r\n ctrlKey:e.ctrlKey,\r\n shiftKey:e.shiftKey,\r\n altKey:e.altKey,\r\n charCode:e.charCode,\r\n which:e.which,\r\n };\r\n const event = new KeyboardEvent('keyup',keyUpInitObj);\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e) {\r\n const inputText = e.target.value;\r\n this.triggerInputValidation(true);\r\n //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom\r\n this._value = inputText;\r\n const validationObject = this.checkInputValidation(inputText);\r\n const event = new CustomEvent('change',{\r\n detail: {\r\n isValid: validationObject.isAllValid,\r\n validationObject:validationObject,\r\n },\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is for use out of component for example if user click on submit button and developer want to check if all fields are valid\r\n //takeAction determine if we want to show user error in web component difualtManner or developer will handle it by himself\r\n const inputText = this._textareaElement.value;\r\n const validationResult = this.checkInputValidation(inputText);\r\n if (showError == true && !validationResult.isAllValid) {\r\n const firstFault = validationResult.validationList.find(x => !x.isValid);\r\n this.showValidationError(firstFault.message);\r\n } else if (validationResult.isAllValid) {\r\n this.clearValidationError();\r\n }\r\n return validationResult;\r\n }\r\n checkInputValidation(inputText){\r\n const validationResult = {\r\n validationList: [],\r\n isAllValid: true\r\n };\r\n this.validationList.forEach((validation) => {\r\n const res = this.checkValidation(inputText, validation);\r\n validationResult.validationList.push(res);\r\n if (!res.isValid) {\r\n validationResult.isAllValid = false;\r\n }\r\n });\r\n return validationResult;\r\n }\r\n checkValidation(text, validation) {\r\n var testRes = validation.validator.test(text);\r\n validation.validator.lastIndex = 0;\r\n if (!testRes) {\r\n return {\r\n isValid: false,\r\n message: validation.message,\r\n validation: validation\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n message: '',\r\n validation: validation\r\n };\r\n }\r\n showValidationError(error) {\r\n this.validation = {\r\n isValid: false,\r\n message: error\r\n };\r\n this._shadowRoot.querySelector('.message-box').innerHTML = error;\r\n this._shadowRoot.querySelector('.message-box').classList.add('error');\r\n }\r\n clearValidationError() {\r\n this.validation = {\r\n isValid: true,\r\n message: null\r\n };\r\n const text = this.getAttribute('message') || '';\r\n this._shadowRoot.querySelector('.message-box').innerHTML = text;\r\n this._shadowRoot.querySelector('.message-box').classList.remove('error');\r\n }\r\n}\r\n\r\nconst myElementNotExists = !customElements.get('jb-textarea');\r\nif(myElementNotExists){\r\n //prevent duplicate registering\r\n window.customElements.define('jb-textarea', JBTextareaWebComponent);\r\n}"],"names":["CSS"],"mappings":"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"}
1
+ {"version":3,"file":"JBTextarea.js","sources":["../../../node_modules/tslib/tslib.js","../lib/JBTextarea.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n if (typeof define === \"function\" && define.amd) {\r\n define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n }\r\n else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n factory(createExporter(root, createExporter(module.exports)));\r\n }\r\n else {\r\n factory(createExporter(root));\r\n }\r\n function createExporter(exports, previous) {\r\n if (exports !== root) {\r\n if (typeof Object.create === \"function\") {\r\n Object.defineProperty(exports, \"__esModule\", { value: true });\r\n }\r\n else {\r\n exports.__esModule = true;\r\n }\r\n }\r\n return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n }\r\n})\r\n(function (exporter) {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n __extends = function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n\r\n __assign = Object.assign || function (t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n\r\n __rest = function (s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n };\r\n\r\n __decorate = function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n };\r\n\r\n __param = function (paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n };\r\n\r\n __metadata = function (metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n };\r\n\r\n __awaiter = function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n };\r\n\r\n __generator = function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n };\r\n\r\n __exportStar = function(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n };\r\n\r\n __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n }) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n });\r\n\r\n __values = function (o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n };\r\n\r\n __read = function (o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spread = function () {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n };\r\n\r\n /** @deprecated */\r\n __spreadArrays = function () {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n };\r\n\r\n __spreadArray = function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n };\r\n\r\n __await = function (v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n };\r\n\r\n __asyncGenerator = function (thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n };\r\n\r\n __asyncDelegator = function (o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n };\r\n\r\n __asyncValues = function (o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n };\r\n\r\n __makeTemplateObject = function (cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n };\r\n\r\n var __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n }) : function(o, v) {\r\n o[\"default\"] = v;\r\n };\r\n\r\n __importStar = function (mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n };\r\n\r\n __importDefault = function (mod) {\r\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n };\r\n\r\n __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n };\r\n\r\n __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n };\r\n\r\n exporter(\"__extends\", __extends);\r\n exporter(\"__assign\", __assign);\r\n exporter(\"__rest\", __rest);\r\n exporter(\"__decorate\", __decorate);\r\n exporter(\"__param\", __param);\r\n exporter(\"__metadata\", __metadata);\r\n exporter(\"__awaiter\", __awaiter);\r\n exporter(\"__generator\", __generator);\r\n exporter(\"__exportStar\", __exportStar);\r\n exporter(\"__createBinding\", __createBinding);\r\n exporter(\"__values\", __values);\r\n exporter(\"__read\", __read);\r\n exporter(\"__spread\", __spread);\r\n exporter(\"__spreadArrays\", __spreadArrays);\r\n exporter(\"__spreadArray\", __spreadArray);\r\n exporter(\"__await\", __await);\r\n exporter(\"__asyncGenerator\", __asyncGenerator);\r\n exporter(\"__asyncDelegator\", __asyncDelegator);\r\n exporter(\"__asyncValues\", __asyncValues);\r\n exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n exporter(\"__importStar\", __importStar);\r\n exporter(\"__importDefault\", __importDefault);\r\n exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n","import HTML from './JBTextarea.html';\r\nimport CSS from './JBTextarea.scss';\r\nimport { JBTextareaElements, JBTextareaValidationItem, ValidationResult, ValidationResultItem, ValidationResultSummary } from './Types';\r\nexport class JBTextareaWebComponent extends HTMLElement {\r\n #value = '';\r\n get value() {\r\n return this.#value;\r\n }\r\n set value(value) {\r\n this.#value = value;\r\n this.#textareaElement.value = value;\r\n if(this.autoHeight){\r\n this.changeHeightToContentSize();\r\n }\r\n }\r\n constructor() {\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n }\r\n #textareaElement!: HTMLTextAreaElement;\r\n #elements!: JBTextareaElements;\r\n initWebComponent() {\r\n const shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n const html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n const element = document.createElement('template');\r\n element.innerHTML = html;\r\n shadowRoot.appendChild(element.content.cloneNode(true));\r\n this.#textareaElement = shadowRoot.querySelector('.textarea-box textarea')!;\r\n this.#elements = {\r\n textarea: this.#textareaElement,\r\n label: shadowRoot.querySelector('label')!,\r\n labelValue:shadowRoot.querySelector('label .label-value')!,\r\n messageBox:shadowRoot.querySelector('.message-box')!\r\n }\r\n this.registerEventListener();\r\n }\r\n registerEventListener() {\r\n this.#textareaElement.addEventListener('change', this.onInputChange.bind(this));\r\n this.#textareaElement.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this.#textareaElement.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this.#textareaElement.addEventListener('keydown', this.onInputKeyDown.bind(this));\r\n this.#textareaElement.addEventListener('input', this.onInputInput.bind(this));\r\n }\r\n validationList:JBTextareaValidationItem[] = [];\r\n autoHeight = false;\r\n validation:ValidationResultSummary = {\r\n isValid: null,\r\n message: null\r\n }\r\n initProp() {\r\n this.value = this.getAttribute('value') || '';\r\n\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this.#elements.labelValue.innerHTML = value;\r\n if(value == null || value == undefined || value == \"\"){\r\n this.#elements.label.classList.add('--hide');\r\n }else{\r\n this.#elements.label.classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this.#elements.messageBox.innerHTML = value;\r\n break;\r\n case 'placeholder':\r\n this.#textareaElement.setAttribute('placeholder', value);\r\n break;\r\n case 'value':\r\n this.value = value;\r\n break;\r\n }\r\n\r\n }\r\n changeHeightToContentSize() {\r\n this.#textareaElement.style.height = \"4px\";\r\n this.#textareaElement.style.height = (this.#textareaElement.scrollHeight)+\"px\";\r\n }\r\n onInputKeyDown(e){\r\n const keyDownnInitObj = {\r\n key:e.key,\r\n keyCode:e.keyCode,\r\n code:e.code,\r\n ctrlKey:e.ctrlKey,\r\n shiftKey:e.shiftKey,\r\n altKey:e.altKey,\r\n charCode:e.charCode,\r\n which:e.which,\r\n cancelable: true,\r\n };\r\n const event = new KeyboardEvent(\"keydown\",keyDownnInitObj);\r\n const isEventNotPrevented = this.dispatchEvent(event);\r\n if(!isEventNotPrevented){\r\n //if event prevented by e.preventDefault();\r\n e.preventDefault();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n const event = new CustomEvent('keypress');\r\n this.dispatchEvent(event);\r\n }\r\n onInputInput(){\r\n if(this.autoHeight){\r\n this.changeHeightToContentSize();\r\n }\r\n }\r\n onInputKeyup(e) {\r\n const inputText = e.target.value;\r\n //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom\r\n this.#value = inputText;\r\n this.triggerInputValidation(false);\r\n const keyUpInitObj = {\r\n key:e.key,\r\n keyCode:e.keyCode,\r\n code:e.code,\r\n ctrlKey:e.ctrlKey,\r\n shiftKey:e.shiftKey,\r\n altKey:e.altKey,\r\n charCode:e.charCode,\r\n which:e.which,\r\n };\r\n const event = new KeyboardEvent('keyup',keyUpInitObj);\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e) {\r\n const inputText = e.target.value;\r\n this.triggerInputValidation(true);\r\n //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom\r\n this.#value = inputText;\r\n const validationObject = this.checkInputValidation(inputText);\r\n const event = new CustomEvent('change',{\r\n detail: {\r\n isValid: validationObject.isAllValid,\r\n validationObject:validationObject,\r\n },\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is for use out of component for example if user click on submit button and developer want to check if all fields are valid\r\n //takeAction determine if we want to show user error in web component difualtManner or developer will handle it by himself\r\n const inputText = this.#textareaElement.value;\r\n const validationResult = this.checkInputValidation(inputText);\r\n if (showError == true && !validationResult.isAllValid) {\r\n const firstFault = validationResult.validationList.find(x => !x.isValid);\r\n if(firstFault){\r\n this.showValidationError(firstFault.message);\r\n }\r\n } else if (validationResult.isAllValid) {\r\n this.clearValidationError();\r\n }\r\n return validationResult;\r\n }\r\n checkInputValidation(inputText):ValidationResult{\r\n const validationResult:ValidationResult = {\r\n validationList: [],\r\n isAllValid: true\r\n };\r\n this.validationList.forEach((validation) => {\r\n const res = this.checkValidation(inputText, validation);\r\n validationResult.validationList.push(res);\r\n if (!res.isValid) {\r\n validationResult.isAllValid = false;\r\n }\r\n });\r\n return validationResult;\r\n }\r\n checkValidation(text, validation) {\r\n const testRes = validation.validator.test(text);\r\n validation.validator.lastIndex = 0;\r\n if (!testRes) {\r\n return {\r\n isValid: false,\r\n message: validation.message,\r\n validation: validation\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n message: '',\r\n validation: validation\r\n };\r\n }\r\n showValidationError(error) {\r\n this.validation = {\r\n isValid: false,\r\n message: error\r\n };\r\n this.#elements.messageBox.innerHTML = error;\r\n this.#elements.messageBox.classList.add('error');\r\n }\r\n clearValidationError() {\r\n this.validation = {\r\n isValid: true,\r\n message: null\r\n };\r\n const text = this.getAttribute('message') || '';\r\n this.#elements.messageBox.innerHTML = text;\r\n this.#elements.messageBox.classList.remove('error');\r\n }\r\n}\r\n\r\nconst myElementNotExists = !customElements.get('jb-textarea');\r\nif(myElementNotExists){\r\n //prevent duplicate registering\r\n window.customElements.define('jb-textarea', JBTextareaWebComponent);\r\n}"],"names":["global","__classPrivateFieldGet","__classPrivateFieldSet","CSS"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare type JBTextareaElements = {
2
+ textarea: HTMLTextAreaElement;
3
+ label: HTMLLabelElement;
4
+ labelValue: HTMLSpanElement;
5
+ messageBox: HTMLDivElement;
6
+ };
7
+ export declare type ValidationResultSummary = {
8
+ isValid: boolean | null;
9
+ message: string | null;
10
+ };
11
+ export declare type ValidationResultItem = {
12
+ isValid: boolean | null;
13
+ message: string | null;
14
+ validation: JBTextareaValidationItem;
15
+ };
16
+ export declare type ValidationResult = {
17
+ validationList: ValidationResultItem[];
18
+ isAllValid: boolean;
19
+ };
20
+ export declare type JBTextareaValidationItem = {
21
+ validator: RegExp | ((value: string) => boolean);
22
+ message: string;
23
+ };
package/index.js CHANGED
@@ -1 +1 @@
1
- import './dist/JBTextarea';
1
+ import './dist/JBTextarea.js';
@@ -6,7 +6,7 @@
6
6
  margin: 4px 0px;
7
7
  display: block;
8
8
  font-size: var(--jb-textarea-label-font-size , 0.8em);
9
- color: #1f1735;
9
+ color: var(--jb-textarea-label-color, #1f1735);
10
10
  &.--hide{
11
11
  display: none;
12
12
  }
@@ -41,7 +41,7 @@
41
41
  display: block;
42
42
  font-family: inherit;
43
43
  font-size: var(--jb-textarea-value-font-size , 1.1em);
44
- color: #1f1735;
44
+ color: var(--jb-textarea-value-color, #1f1735);
45
45
  margin: 0;
46
46
  border-radius: 0;
47
47
  resize: vertical;
@@ -1,12 +1,14 @@
1
1
  import HTML from './JBTextarea.html';
2
2
  import CSS from './JBTextarea.scss';
3
- class JBTextareaWebComponent extends HTMLElement {
3
+ import { JBTextareaElements, JBTextareaValidationItem, ValidationResult, ValidationResultItem, ValidationResultSummary } from './Types';
4
+ export class JBTextareaWebComponent extends HTMLElement {
5
+ #value = '';
4
6
  get value() {
5
- return this._value;
7
+ return this.#value;
6
8
  }
7
9
  set value(value) {
8
- this._value = value;
9
- this._textareaElement.value = value;
10
+ this.#value = value;
11
+ this.#textareaElement.value = value;
10
12
  if(this.autoHeight){
11
13
  this.changeHeightToContentSize();
12
14
  }
@@ -16,32 +18,41 @@ class JBTextareaWebComponent extends HTMLElement {
16
18
  this.initWebComponent();
17
19
  this.initProp();
18
20
  }
21
+ #textareaElement!: HTMLTextAreaElement;
22
+ #elements!: JBTextareaElements;
19
23
  initWebComponent() {
20
- this._shadowRoot = this.attachShadow({
24
+ const shadowRoot = this.attachShadow({
21
25
  mode: 'open'
22
26
  });
23
- this._html = `<style>${CSS}</style>` + '\n' + HTML;
24
- this._element = document.createElement('template');
25
- this._element.innerHTML = this._html;
26
- this._shadowRoot.appendChild(this._element.content.cloneNode(true));
27
- this._textareaElement = this._shadowRoot.querySelector('.textarea-box textarea');
27
+ const html = `<style>${CSS}</style>` + '\n' + HTML;
28
+ const element = document.createElement('template');
29
+ element.innerHTML = html;
30
+ shadowRoot.appendChild(element.content.cloneNode(true));
31
+ this.#textareaElement = shadowRoot.querySelector('.textarea-box textarea')!;
32
+ this.#elements = {
33
+ textarea: this.#textareaElement,
34
+ label: shadowRoot.querySelector('label')!,
35
+ labelValue:shadowRoot.querySelector('label .label-value')!,
36
+ messageBox:shadowRoot.querySelector('.message-box')!
37
+ }
28
38
  this.registerEventListener();
29
39
  }
30
40
  registerEventListener() {
31
- this._textareaElement.addEventListener('change', this.onInputChange.bind(this));
32
- this._textareaElement.addEventListener('keypress', this.onInputKeyPress.bind(this));
33
- this._textareaElement.addEventListener('keyup', this.onInputKeyup.bind(this));
34
- this._textareaElement.addEventListener('keydown', this.onInputKeyDown.bind(this));
35
- this._textareaElement.addEventListener('input', this.onInputInput.bind(this));
41
+ this.#textareaElement.addEventListener('change', this.onInputChange.bind(this));
42
+ this.#textareaElement.addEventListener('keypress', this.onInputKeyPress.bind(this));
43
+ this.#textareaElement.addEventListener('keyup', this.onInputKeyup.bind(this));
44
+ this.#textareaElement.addEventListener('keydown', this.onInputKeyDown.bind(this));
45
+ this.#textareaElement.addEventListener('input', this.onInputInput.bind(this));
46
+ }
47
+ validationList:JBTextareaValidationItem[] = [];
48
+ autoHeight = false;
49
+ validation:ValidationResultSummary = {
50
+ isValid: null,
51
+ message: null
36
52
  }
37
53
  initProp() {
38
- this.validationList = [];
39
54
  this.value = this.getAttribute('value') || '';
40
- this.autoHeight = false;
41
- this.validation = {
42
- isValid: null,
43
- message: null
44
- };
55
+
45
56
  }
46
57
  static get observedAttributes() {
47
58
  return ['label', 'message', 'value', 'placeholder'];
@@ -53,18 +64,18 @@ class JBTextareaWebComponent extends HTMLElement {
53
64
  onAttributeChange(name, value) {
54
65
  switch (name) {
55
66
  case 'label':
56
- this._shadowRoot.querySelector('label .label-value').innerHTML = value;
67
+ this.#elements.labelValue.innerHTML = value;
57
68
  if(value == null || value == undefined || value == ""){
58
- this._shadowRoot.querySelector('label').classList.add('--hide');
69
+ this.#elements.label.classList.add('--hide');
59
70
  }else{
60
- this._shadowRoot.querySelector('label').classList.remove('--hide');
71
+ this.#elements.label.classList.remove('--hide');
61
72
  }
62
73
  break;
63
74
  case 'message':
64
- this._shadowRoot.querySelector('.message-box').innerHTML = value;
75
+ this.#elements.messageBox.innerHTML = value;
65
76
  break;
66
77
  case 'placeholder':
67
- this._textareaElement.setAttribute('placeholder', value);
78
+ this.#textareaElement.setAttribute('placeholder', value);
68
79
  break;
69
80
  case 'value':
70
81
  this.value = value;
@@ -73,8 +84,8 @@ class JBTextareaWebComponent extends HTMLElement {
73
84
 
74
85
  }
75
86
  changeHeightToContentSize() {
76
- this._textareaElement.style.height = "4px";
77
- this._textareaElement.style.height = (this._textareaElement.scrollHeight)+"px";
87
+ this.#textareaElement.style.height = "4px";
88
+ this.#textareaElement.style.height = (this.#textareaElement.scrollHeight)+"px";
78
89
  }
79
90
  onInputKeyDown(e){
80
91
  const keyDownnInitObj = {
@@ -108,7 +119,7 @@ class JBTextareaWebComponent extends HTMLElement {
108
119
  onInputKeyup(e) {
109
120
  const inputText = e.target.value;
110
121
  //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom
111
- this._value = inputText;
122
+ this.#value = inputText;
112
123
  this.triggerInputValidation(false);
113
124
  const keyUpInitObj = {
114
125
  key:e.key,
@@ -127,7 +138,7 @@ class JBTextareaWebComponent extends HTMLElement {
127
138
  const inputText = e.target.value;
128
139
  this.triggerInputValidation(true);
129
140
  //here is the rare time we update _value directly becuase we want trigger event that may read value directly from dom
130
- this._value = inputText;
141
+ this.#value = inputText;
131
142
  const validationObject = this.checkInputValidation(inputText);
132
143
  const event = new CustomEvent('change',{
133
144
  detail: {
@@ -140,18 +151,20 @@ class JBTextareaWebComponent extends HTMLElement {
140
151
  triggerInputValidation(showError = true) {
141
152
  // this method is for use out of component for example if user click on submit button and developer want to check if all fields are valid
142
153
  //takeAction determine if we want to show user error in web component difualtManner or developer will handle it by himself
143
- const inputText = this._textareaElement.value;
154
+ const inputText = this.#textareaElement.value;
144
155
  const validationResult = this.checkInputValidation(inputText);
145
156
  if (showError == true && !validationResult.isAllValid) {
146
157
  const firstFault = validationResult.validationList.find(x => !x.isValid);
147
- this.showValidationError(firstFault.message);
158
+ if(firstFault){
159
+ this.showValidationError(firstFault.message);
160
+ }
148
161
  } else if (validationResult.isAllValid) {
149
162
  this.clearValidationError();
150
163
  }
151
164
  return validationResult;
152
165
  }
153
- checkInputValidation(inputText){
154
- const validationResult = {
166
+ checkInputValidation(inputText):ValidationResult{
167
+ const validationResult:ValidationResult = {
155
168
  validationList: [],
156
169
  isAllValid: true
157
170
  };
@@ -165,7 +178,7 @@ class JBTextareaWebComponent extends HTMLElement {
165
178
  return validationResult;
166
179
  }
167
180
  checkValidation(text, validation) {
168
- var testRes = validation.validator.test(text);
181
+ const testRes = validation.validator.test(text);
169
182
  validation.validator.lastIndex = 0;
170
183
  if (!testRes) {
171
184
  return {
@@ -185,8 +198,8 @@ class JBTextareaWebComponent extends HTMLElement {
185
198
  isValid: false,
186
199
  message: error
187
200
  };
188
- this._shadowRoot.querySelector('.message-box').innerHTML = error;
189
- this._shadowRoot.querySelector('.message-box').classList.add('error');
201
+ this.#elements.messageBox.innerHTML = error;
202
+ this.#elements.messageBox.classList.add('error');
190
203
  }
191
204
  clearValidationError() {
192
205
  this.validation = {
@@ -194,8 +207,8 @@ class JBTextareaWebComponent extends HTMLElement {
194
207
  message: null
195
208
  };
196
209
  const text = this.getAttribute('message') || '';
197
- this._shadowRoot.querySelector('.message-box').innerHTML = text;
198
- this._shadowRoot.querySelector('.message-box').classList.remove('error');
210
+ this.#elements.messageBox.innerHTML = text;
211
+ this.#elements.messageBox.classList.remove('error');
199
212
  }
200
213
  }
201
214
 
package/lib/Types.ts ADDED
@@ -0,0 +1,23 @@
1
+ export type JBTextareaElements = {
2
+ textarea: HTMLTextAreaElement;
3
+ label: HTMLLabelElement;
4
+ labelValue: HTMLSpanElement;
5
+ messageBox: HTMLDivElement;
6
+ }
7
+ export type ValidationResultSummary = {
8
+ isValid:boolean | null;
9
+ message:string | null;
10
+ }
11
+ export type ValidationResultItem = {
12
+ isValid:boolean | null;
13
+ message:string | null;
14
+ validation:JBTextareaValidationItem;
15
+ }
16
+ export type ValidationResult = {
17
+ validationList:ValidationResultItem[];
18
+ isAllValid:boolean;
19
+ }
20
+ export type JBTextareaValidationItem = {
21
+ validator: RegExp | ((value:string)=>boolean);
22
+ message:string;
23
+ }
@@ -0,0 +1,11 @@
1
+ type FileStringModule = {
2
+ readonly default: string;
3
+ }
4
+ declare module '*.scss' {
5
+ const value: FileStringModule;
6
+ export default value;
7
+ }
8
+ declare module '*.html' {
9
+ const value: FileStringModule;
10
+ export default value.default
11
+ }
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "jb-textarea",
3
3
  "description": "textarea web component",
4
+ "type": "module",
4
5
  "author": {
5
6
  "name": "mohammad javad bathaei",
6
7
  "email": "javadbat@gmail.com"
@@ -11,7 +12,7 @@
11
12
  "select",
12
13
  "web component"
13
14
  ],
14
- "version": "1.1.1",
15
+ "version": "2.0.0",
15
16
  "bugs": "https://github.com/javadbat/jb-textarea/issues",
16
17
  "license": "MIT",
17
18
  "files": [
@@ -21,6 +22,7 @@
21
22
  "dist/"
22
23
  ],
23
24
  "main": "index.js",
25
+ "types": "./dist/JBTextarea.d.ts",
24
26
  "repository": {
25
27
  "type": "git",
26
28
  "url": "git@github.com:javadbat/jb-textarea.git"