cloud-ide-element 0.0.1

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.
@@ -0,0 +1,635 @@
1
+ import * as i3 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Pipe, Injectable, EventEmitter, forwardRef, Component, Input, Output } from '@angular/core';
5
+ import * as i4 from '@angular/forms';
6
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS, FormsModule } from '@angular/forms';
7
+ import { BehaviorSubject } from 'rxjs';
8
+
9
+ class CapitalizePipe {
10
+ transform(value, capitalizationMethod) {
11
+ if (value) {
12
+ if (capitalizationMethod === 'allUpperCase') {
13
+ return value.toUpperCase();
14
+ }
15
+ else if (capitalizationMethod === 'titleCase') {
16
+ const splitString = value
17
+ .split(' ')
18
+ .map((s) => `${s[0].toUpperCase()}${s.slice(1)}`);
19
+ return splitString.join(' ');
20
+ }
21
+ else if (capitalizationMethod === 'sentenceCase') {
22
+ const splitString = value.split('.').map((s) => {
23
+ const trimmedString = s.trim();
24
+ if (trimmedString.length > 0) {
25
+ return `${trimmedString[0].toUpperCase()}${trimmedString.slice(1)}`;
26
+ }
27
+ return '';
28
+ });
29
+ return splitString.join('. ');
30
+ }
31
+ }
32
+ return '';
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
35
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, isStandalone: true, name: "capitalize" }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CapitalizePipe, decorators: [{
38
+ type: Pipe,
39
+ args: [{
40
+ name: 'capitalize',
41
+ standalone: true
42
+ }]
43
+ }] });
44
+
45
+ class CideElementsService {
46
+ constructor() {
47
+ this.cide_element_data = {};
48
+ this.is_cide_element_data_updated = new BehaviorSubject(false);
49
+ }
50
+ async getElementData(body) {
51
+ return new Promise((resolve) => {
52
+ const cide_element_data = this.cide_element_data[body?.sype_key];
53
+ if (cide_element_data) {
54
+ resolve(cide_element_data);
55
+ }
56
+ else {
57
+ const subscription = this.is_cide_element_data_updated?.subscribe((is_cide_element_data_updated) => {
58
+ if (is_cide_element_data_updated) {
59
+ const cide_element_data = this.cide_element_data[body?.sype_key];
60
+ if (cide_element_data) {
61
+ subscription?.unsubscribe();
62
+ resolve(cide_element_data);
63
+ }
64
+ }
65
+ });
66
+ }
67
+ });
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, providedIn: 'root' }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideElementsService, decorators: [{
73
+ type: Injectable,
74
+ args: [{
75
+ providedIn: 'root'
76
+ }]
77
+ }] });
78
+
79
+ class CideInputComponent {
80
+ constructor(capitalizePipe, elementService) {
81
+ this.capitalizePipe = capitalizePipe;
82
+ this.elementService = elementService;
83
+ /*=======Set custom controls inputs to set components=========*/
84
+ /**
85
+ * @description to se the visual of control like solid control offerd by material design or outline with a border
86
+ * @options solid | outline | standard
87
+ */
88
+ this.fill = 'outline';
89
+ /** @description Lable of control (Title), Like Name, Email */
90
+ this.label = "";
91
+ /** @description to hide and show label */
92
+ this.labelHide = false;
93
+ /** @description is control Editable or Disabled */
94
+ this.disabled = false;
95
+ /** @description Is Clear Input Cross button is visible or not */
96
+ this.clearInput = false;
97
+ /** @description Position of Label 'floating' | 'fixed' */
98
+ this.labelPlacement = "fixed";
99
+ /** @description Lable direction from start of contrl or end of control */
100
+ this.labelDir = "start";
101
+ /** @description Place holder for control to display if there is no value */
102
+ this.placeholder = "";
103
+ /** @description it is to set leading icon, at the start of control */
104
+ this.leadingIcon = "";
105
+ /** @description it is to set trailing icon, at the end of control, for password type control eye is the trailing icon */
106
+ this.trailingIcon = "";
107
+ /** @description to display below the control for suggestion, if there is any error then error will bw the first to shoe in place of help text */
108
+ this.helperText = "";
109
+ /** @description default true to collapse when there is no help text or error text, if false then element area in DOM will be reserved never detroy */
110
+ this.helperTextCollapse = true;
111
+ /** @description show and hide helper text its forecfull */
112
+ this.hideHelperAndErrorText = false;
113
+ /** @description if found any error in control the error thext will be used to display error message, if there is help text still error text is having higher priority then helptext */
114
+ this.errorText = "";
115
+ /** @description maxlength for control */
116
+ this.maxlength = 0;
117
+ /** @description minlength for control */
118
+ this.minlength = 0;
119
+ /** @description is control is required or not input type is true | false */
120
+ this.required = false;
121
+ /** @description Auto capatalization for the value and applicable to word or to complete sentance */
122
+ this.autocapitalize = "off";
123
+ /** @description auto complete type to help reader what is the type of value */
124
+ this.autocomplete = "off";
125
+ /** @description type of control */
126
+ this.type = '';
127
+ /** @description width of control, default width is 100% */
128
+ this.width = '100%';
129
+ /** @description uniq id of control, used to differenciat the value also prevent value should not effect another values */
130
+ this.id = '';
131
+ /** @description to get input value using one way binding like: [ngModel] or by two way binding [(ngModel)] */
132
+ this.ngModel = '';
133
+ this.option = ["anksuh", "bhure"];
134
+ /**
135
+ * @description
136
+ * Holds the size of the component like Small, Extra small, Large
137
+ * by Default it takes small size
138
+ * or the size set by the project setup service
139
+ * or it will beset for individual component
140
+ *
141
+ * Size Appled
142
+ * Component level then setup service then finally default md
143
+ * Options: "2xs" | ""xs" | "sm" | "md" | "lg" | "xl" | "xxl"
144
+ */
145
+ this.size = "sm";
146
+ /** @description to set return value using one way binding like: (ngModelChanges) or by two way binding [(ngModel)] */
147
+ this.ngModelChange = new EventEmitter();
148
+ /*
149
+ internal Properties for input
150
+ */
151
+ /** @description is vale need to read from ngModel or from value(need to implement), it is detected and maild fals on value chnages */
152
+ this.isNgModel = this.ngModel ? true : false;
153
+ /** @description this is to set control value is valid or not, set by us inside validate callbck method called by angular */
154
+ this.isValid = true;
155
+ /** @description when control is touched then the will maid true by the us to check it is touched or not, when we will set this true we will call the onTouched callback method of angualr to inform angular that somthis is changed and control is touched */
156
+ this.isTouched = false;
157
+ /** @description we will take type of control in type but is may be not exactly which input's type so we need to get type and set actule type to our input, also when type is set password but in calse view in textt then inuut type need to change to text */
158
+ this.typeInternal = "text";
159
+ /** @description if traling is set the it is assigned by it, but some case tarling icon not as it is set need tro be changed at runtime, like password visibility hide and show */
160
+ this.trailingIconInternal = "";
161
+ /*
162
+ Properties connected with trailingIconInternal
163
+ */
164
+ this.isTrailingIconAllwedClick = false;
165
+ // Properties connected with id
166
+ this.idRandom = this.randomString();
167
+ // ==================================METHODS FOR CUSTOM FORM COMPONENT=============================
168
+ // FOR ANGULAR CALLED BY UI
169
+ /**
170
+ * @description Function to call when the HTML Chnage to tell Angular somthing is changed.
171
+ * @field value : inputType
172
+ */
173
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
174
+ this.onChange = (value) => { };
175
+ /** @description Function to call when the input is touched (clciked) to tell Angular somthing is changed. */
176
+ this.onTouched = () => { };
177
+ /** @description Function to call when the input is need to Validate to tell Angular somthing is changed (in case of some input dipendent validation). */
178
+ this.onValidate = () => { };
179
+ // Validate control
180
+ this.onValidate();
181
+ }
182
+ /**
183
+ * @description
184
+ * Method that performs synchronous validation against the provided control.
185
+ * Exicuted by Angular
186
+ *
187
+ * @param control The control to validate against.
188
+ *
189
+ * @returns A map of validation errors if validation fails,
190
+ * otherwise null.
191
+ */
192
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
193
+ validate(control) {
194
+ const validation_error = this.isControlValid(this.ngModel);
195
+ if (validation_error?.status) {
196
+ return validation_error;
197
+ }
198
+ else {
199
+ return null;
200
+ }
201
+ }
202
+ /**
203
+ * @description
204
+ * Registers a callback function to call when the validator inputs change.
205
+ * Exicuted by Angular
206
+ *
207
+ * @param fn The callback function
208
+ */
209
+ registerOnValidatorChange(fn) {
210
+ this.onValidate = fn;
211
+ }
212
+ /** @description when form control change from model side this method is implemented */
213
+ writeValue(value) {
214
+ if (!this.isNgModel) {
215
+ this.ngModel = this.autoCapitalizeByOption(value, this.type);
216
+ this.ngModelChange?.emit(value);
217
+ }
218
+ }
219
+ /** @description Allows Angular to register a function to call when the model changes. */
220
+ // Save the function as a property to call later here.
221
+ registerOnChange(fn) {
222
+ this.onChange = fn;
223
+ }
224
+ /** @description Allows Angular to register a function to call when the input has been touched. */
225
+ // Save the function as a property to call later here.
226
+ registerOnTouched(fn) {
227
+ this.onTouched = fn;
228
+ }
229
+ //==========================================================================
230
+ /*
231
+ Methods for input
232
+ */
233
+ /** @description Detect wether input propertires canged or not */
234
+ ngOnChanges(changes) {
235
+ if (changes?.['value']) {
236
+ this.isNgModel = true;
237
+ this.ngModel = this.processValue(this.ngModel, this.type);
238
+ }
239
+ if (this.isValidValueAndType(this.ngModel, this.type) || this.isTouched) {
240
+ this.isControlValid(this.ngModel);
241
+ }
242
+ // Ditect type change
243
+ if (changes?.['type']) {
244
+ this.detectTypeChange();
245
+ }
246
+ }
247
+ ngOnInit() {
248
+ if (this.id) {
249
+ this.getControlData();
250
+ }
251
+ }
252
+ /** @description custom method run when HTML changes, we call method registerd by angular to detect change */
253
+ upDateValue(value) {
254
+ const target = value.target;
255
+ this.isControlValid(target?.value);
256
+ const updatedValue = this.processValue(target?.value, this.type);
257
+ this.ngModel = updatedValue;
258
+ // console.log(target)
259
+ this.onChange(updatedValue);
260
+ }
261
+ /**
262
+ * @description method applicable in case of control type checkbox
263
+ *
264
+ * @param value boolean | string
265
+ */
266
+ updateValueCheckBox(value) {
267
+ // Convert string to boolean
268
+ this.ngModel = !this.ngModel;
269
+ value = (typeof value === 'boolean') ? value : (value === 'true' ? true : false);
270
+ this.ngModelChange?.emit(value);
271
+ this.onChange(value);
272
+ }
273
+ /** @description clear the value */
274
+ ClearInputValue() {
275
+ if (this.type == "text") {
276
+ this.upDateValue({ target: { value: "" } });
277
+ }
278
+ }
279
+ /** @description when HTML is focuesd */
280
+ focusControl() {
281
+ this.isTouched = true;
282
+ this.onTouched();
283
+ this.onValidate();
284
+ }
285
+ /** @description If control value need to be processed, like UPPERCASE */
286
+ processValue(value, type) {
287
+ value = this.autoCapitalizeByOption(value, type);
288
+ return value;
289
+ }
290
+ /** @description for capitalization */
291
+ autoCapitalizeByOption(value, type) {
292
+ if (type == 'text') {
293
+ if (this.autocapitalize == "on") {
294
+ return this.capitalizePipe?.transform(value, 'allUpperCase');
295
+ }
296
+ if (this.autocapitalize == "words") {
297
+ return this.capitalizePipe?.transform(value, 'titleCase');
298
+ }
299
+ if (this.autocapitalize == "sentences") {
300
+ return this.capitalizePipe?.transform(value, "sentenceCase");
301
+ }
302
+ }
303
+ return value;
304
+ }
305
+ /** @description It is used to return the value is valid or not */
306
+ isValidValueAndType(value, type) {
307
+ if (type == 'text') {
308
+ if (typeof (value) == 'string') {
309
+ if (value?.length > 0) {
310
+ return true;
311
+ }
312
+ else {
313
+ return false;
314
+ }
315
+ }
316
+ else {
317
+ return false;
318
+ }
319
+ }
320
+ else {
321
+ return false;
322
+ }
323
+ }
324
+ /** @description to check control is valid or not */
325
+ isControlValid(value) {
326
+ const validation_status = {
327
+ validation: {},
328
+ status: false
329
+ };
330
+ if (this.required) {
331
+ if (!value) {
332
+ validation_status.status = true;
333
+ validation_status.validation.required = `required!`;
334
+ }
335
+ }
336
+ if (this.type == 'text') {
337
+ if (typeof (value) == 'string') {
338
+ if (this.maxlength > 0) {
339
+ if (value?.length > this.maxlength) {
340
+ validation_status.status = true;
341
+ validation_status.validation.maxlength = `maximum length is ${this.maxlength}!`;
342
+ }
343
+ }
344
+ if (this.minlength > 0) {
345
+ if (value?.length < this.minlength) {
346
+ validation_status.status = true;
347
+ validation_status.validation.minlength = `minimum length is ${this.minlength}!`;
348
+ }
349
+ }
350
+ }
351
+ else {
352
+ validation_status.status = true;
353
+ validation_status.validation.required = `required!`;
354
+ }
355
+ }
356
+ this.isValid = !validation_status.status;
357
+ this.errorText = Object.values(validation_status.validation).at(0) || '';
358
+ return validation_status;
359
+ }
360
+ /** @description Allows Angular to disable the input. */
361
+ setDisabledState(isDisabled) {
362
+ this.disabled = isDisabled;
363
+ }
364
+ /** @description Method for trailing Icon Click */
365
+ trailingIconClick() {
366
+ if (this.type === 'password') {
367
+ if (this.typeInternal === 'password') {
368
+ this.typeInternal = 'text';
369
+ this.trailingIconInternal = 'visibility';
370
+ }
371
+ else {
372
+ this.typeInternal = 'password';
373
+ this.trailingIconInternal = 'visibility_off';
374
+ }
375
+ }
376
+ }
377
+ /**
378
+ * Method to generate Random String
379
+ * @param setupPrarameter { lenght: number, prefix: string }
380
+ * default lenght is 10, prefox is ""
381
+ * @returns string
382
+ */
383
+ randomString(setupPrarameter = { lenght: 10, prefix: "" }) {
384
+ //variable consisting alphabets in small and capital letter
385
+ const characters = "ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
386
+ //loop to select a new character in each iteration
387
+ let random_string = setupPrarameter?.prefix || "";
388
+ for (let i = 0; i < setupPrarameter?.lenght; i++) {
389
+ const rnum = Math.floor(Math.random() * characters.length);
390
+ random_string += characters.substring(rnum, rnum + 1);
391
+ }
392
+ //return the generated string
393
+ return random_string;
394
+ }
395
+ async getControlData() {
396
+ const cide_element_data = await this.elementService?.getElementData({ sype_key: this.id });
397
+ if (cide_element_data) {
398
+ this.label = cide_element_data?.sype_label;
399
+ this.labelPlacement = (cide_element_data?.sype_label_placement || 'floating');
400
+ this.type = (cide_element_data?.sype_type || 'text');
401
+ this.required = (cide_element_data?.sype_required || false);
402
+ this.size = (cide_element_data?.sype_size || 'md');
403
+ this.helperTextCollapse = (cide_element_data?.sype_helper_text_collapse || false);
404
+ this.maxlength = (cide_element_data?.sype_max_length);
405
+ this.minlength = (cide_element_data?.sype_min_length);
406
+ this.leadingIcon = (cide_element_data?.sype_leading_icon);
407
+ this.labelHide = (cide_element_data?.sype_label_hide);
408
+ this.hideHelperAndErrorText = (cide_element_data?.sype_hide_helper_and_error_text);
409
+ this.detectTypeChange();
410
+ // Validate control
411
+ this.onValidate();
412
+ }
413
+ }
414
+ /**
415
+ * @description use to detact the change in type if changes done this method is ued to run
416
+ */
417
+ detectTypeChange() {
418
+ if (this.type === 'password') {
419
+ this.typeInternal = "password";
420
+ this.trailingIconInternal = "visibility_off";
421
+ this.isTrailingIconAllwedClick = true;
422
+ }
423
+ else {
424
+ this.typeInternal = "text";
425
+ this.trailingIconInternal = this.trailingIcon;
426
+ }
427
+ }
428
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideInputComponent, deps: [{ token: CapitalizePipe }, { token: CideElementsService }], target: i0.ɵɵFactoryTarget.Component }); }
429
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CideInputComponent, isStandalone: true, selector: "cide-ele-input", inputs: { fill: "fill", label: "label", labelHide: "labelHide", disabled: "disabled", clearInput: "clearInput", labelPlacement: "labelPlacement", labelDir: "labelDir", placeholder: "placeholder", leadingIcon: "leadingIcon", trailingIcon: "trailingIcon", helperText: "helperText", helperTextCollapse: "helperTextCollapse", hideHelperAndErrorText: "hideHelperAndErrorText", errorText: "errorText", maxlength: "maxlength", minlength: "minlength", required: "required", autocapitalize: "autocapitalize", autocomplete: "autocomplete", type: "type", width: "width", id: "id", ngModel: "ngModel", option: "option", size: "size" }, outputs: { ngModelChange: "ngModelChange" }, providers: [
430
+ {
431
+ provide: NG_VALUE_ACCESSOR,
432
+ useExisting: forwardRef(() => CideInputComponent),
433
+ multi: true
434
+ },
435
+ /** @description to apply validations */
436
+ {
437
+ provide: NG_VALIDATORS,
438
+ multi: true,
439
+ useExisting: forwardRef(() => CideInputComponent),
440
+ },
441
+ CapitalizePipe
442
+ ], usesOnChanges: true, ngImport: i0, template: "<div class=\"cide-input\">\r\n <!------------------------------------------TEXT | PASSWORD------------------------------------------>\r\n <div *ngIf=\"type === 'text' || type === 'password'\">\r\n <div class=\"tw-w-full tw-relative\" [ngStyle]=\"{ width: width }\" [ngClass]=\"{\r\n 'cide-element-size-xxs': (size === '2xs'),\r\n 'cide-element-size-xs': (size === 'xs'),\r\n 'cide-element-size-sm': (size === 'sm'),\r\n 'cide-element-size-md': (size === 'md'),\r\n 'cide-element-size-lg': (size === 'lg'),\r\n 'cide-element-leading-icon': leadingIcon,\r\n 'cide-element-trailing-icon': trailingIconInternal,\r\n 'cide-element-clear-input': clearInput,\r\n 'cide-element-input-label-floating': (labelPlacement === 'floating'),\r\n 'cide-element-input-label-start': (labelDir === 'start'),\r\n 'cide-element-input-label-end': (labelDir === 'end'),\r\n 'cide-element-input-label-fixed': (labelPlacement === 'fixed'),\r\n 'cide-element-input-label-less': (!label || labelHide),\r\n 'cide-element-style-outline': (fill === 'outline'),\r\n 'cide-element-style-solid': (fill === 'solid'),\r\n 'cide-element-style-standard': (fill === 'standard'),\r\n }\">\r\n <!-- label -->\r\n <label [for]=\"id\" class=\"cide-input-label\" *ngIf=\"label && !labelHide\">{{label}}</label>\r\n\r\n <!-- all one line elemets which dose not affect with label and error text -->\r\n <div class=\"cide-element-input-wrapper\">\r\n <!-- Leading Icon -->\r\n <span class=\"cide-input-leading-icon-wrapper\" *ngIf=\"leadingIcon\">\r\n <span\r\n class=\"cide-input-leading-icon material-symbols-outlined tw-text-center\">{{leadingIcon}}</span>\r\n </span>\r\n\r\n <!-- Traling icon -->\r\n <span class=\"tw-absolute cide-input-trailing-icon -tw-bottom-1 tw-select-none tw-right-0\"\r\n *ngIf=\"trailingIconInternal\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"\r\n [ngClass]=\"{'tw-cursor-pointer': isTrailingIconAllwedClick}\" [attr.tabindex]=\"false\"\r\n (click)=\"trailingIconClick()\" (keyup)=\"trailingIconClick()\">{{trailingIconInternal}}</span>\r\n </span>\r\n\r\n <!-- Clear -->\r\n <button class=\"cide-input-clear\"\r\n *ngIf=\"clearInput && ngModel\" (click)=\"ClearInputValue()\">\r\n <span class=\"cide-input-clear-icon material-symbols-outlined\">close</span>\r\n </button>\r\n\r\n <!-- Input -->\r\n <input [placeholder]=\"placeholder\" [id]=\"id\"\r\n [ngClass]=\"[((label && labelPlacement === 'fixed') ? 'tw-rounded-e-md tw-rounded-es-md' : 'tw-rounded-md '), (!leadingIcon ? 'tw-pl-1' : ''), (trailingIconInternal ? 'tw-pr-8': ''), (!trailingIconInternal ? 'tw-pr-1' : ''), ((size === 'md') ? 'tw-h-8 tw-pt-0.5 tw-pb-0' : (size === 'sm' ? 'tw-h-7' : '')), (labelHide ? '!tw-mt-0' : '')]\"\r\n [(ngModel)]=\"ngModel\" [type]=\"typeInternal\" (input)=\"upDateValue($event)\" (focus)=\"focusControl()\"\r\n [autocomplete]=\"autocomplete\"\r\n class=\"tw-m-0 tw-w-full tw-bg-transparent tw-overflow-hidden tw-border-solid tw-p-0 cide-input-input tw-outline-none\" />\r\n </div>\r\n <!-- error text / helper text -->\r\n <span *ngIf=\"(errorText || helperText || !helperTextCollapse) && !hideHelperAndErrorText\"\r\n class=\"cide-input-help-error-text\">{{\r\n isValid\r\n ? helperText : (errorText ?\r\n (isTouched ? errorText : helperText)\r\n : helperText)}}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Input with tralling icon -->\r\n <!-- <div class=\"tw-inline-block tw-h-12 tw-w-64\">\r\n <div class=\"tw-w-fullh-full tw-relative\">\r\n <label\r\n class=\"tw-absolute -tw-top-1/3 tw-mx-2 tw-bg-white tw-px-0.5 tw-py-0 tw-text-sm tw-leading-4 tw-text-gray-700\">Name</label>\r\n <span class=\"tw-absolute -tw-bottom-px tw-right-0 -tw-z-10 tw-text-gray-400\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"> person </span>\r\n </span>\r\n <input\r\n class=\"tw-m-0 tw-h-8 tw-w-full tw-overflow-hidden tw-rounded-md tw-border-2 tw-border-solid tw-border-gray-300 tw-bg-transparent tw-p-0 tw-pb-0.5 tw-pl-1 tw-pr-8 tw-text-sm tw-text-gray-600 tw-outline-none hover:tw-border-blue-400 focus:tw-border-blue-400 focus:tw-text-gray-950\"\r\n value=\"Ankush Bhure\" />\r\n </div>\r\n </div> -->\r\n\r\n <!-- Input with leading icon -->\r\n <!-- <div class=\"tw-inline-block tw-h-12 tw-w-64\">\r\n <div class=\"tw-w-fullh-full tw-relative\">\r\n <label\r\n class=\"tw-absolute -tw-top-1/3 tw-mx-2 tw-bg-white tw-px-0.5 tw-py-0 tw-text-sm tw-leading-4 tw-text-gray-700\">Name</label>\r\n <span class=\"tw-absolute -tw-bottom-px tw-left-0 -tw-z-10 tw-text-gray-400\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"> person </span>\r\n </span>\r\n <input\r\n class=\"tw-m-0 tw-h-8 tw-w-full tw-overflow-hidden tw-rounded-md tw-border-2 tw-border-solid tw-border-gray-300 tw-bg-transparent tw-p-0 tw-pb-0.5 tw-pl-8 tw-pr-1 tw-text-sm tw-text-gray-600 tw-outline-none hover:tw-border-blue-400 focus:tw-border-blue-400 focus:tw-text-gray-950\"\r\n value=\"Ankush Bhure\" />\r\n </div>\r\n </div> -->\r\n\r\n <!------------------------------------------CHECKBOX------------------------------------------>\r\n <div *ngIf=\"type === 'checkbox'\" class=\"tw-flex\">\r\n <div class=\"cide-checkbox tw-relative\">\r\n <input [checked]=\"ngModel\" [value]=\"ngModel\" [id]=\"idRandom\" [type]=\"type\"\r\n class=\"tw-absolute tw-left-0 tw-invisible\" (click)=\"updateValueCheckBox(!ngModel); focusControl()\"\r\n [autocomplete]=\"autocomplete\" />\r\n <label class=\"cide-checkbox-label tw-cursor-pointer\" [for]=\"idRandom\">\r\n <span class=\"tw-border-2 tw-border-solid tw-relative tw-rounded-md\">\r\n <svg width=\"12px\" height=\"10px\" class=\"tw-absolute\">\r\n <use xlink:href=\"#sdfwiorfklasfjjalfjwerwr\"></use>\r\n </svg>\r\n </span>\r\n <span class=\"tw-text-sm tw-pl-2 tw-leading-[18px] tw-select-none tw-cursor-pointer\"\r\n *ngIf=\"!labelHide\">{{label}}</span>\r\n </label>\r\n <svg class=\"tw-absolute tw-h-0 tw-w-0 tw-select-none tw-pointer-events-none\">\r\n <!-- Element hidden and its xpath is used to display inside SVG -->\r\n <symbol id=\"sdfwiorfklasfjjalfjwerwr\" viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </symbol>\r\n </svg>\r\n </div>\r\n </div>\r\n\r\n <!-------------------------------------------SELECT------------------------------------------->\r\n <div *ngIf=\"type === 'select'\">sas\r\n <div class=\"tw-relative\">\r\n <div class=\"tw-absolute\">\r\n @for (item of option; track $index) {\r\n <div class=\"tw-w-full\">\r\n {{item}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".cide-element-style-standard .cide-input-input{border-color:transparent}.cide-element-input-wrapper{position:relative}.cide-input-label{color:var(--cide-input-label-color);-webkit-user-select:none;user-select:none;display:block}.cide-input-help-error-text{color:var(--cide-input-color-help-error-text);width:100%;display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:.125rem;padding-right:.125rem}.cide-input-leading-icon{color:var(--cide-input-leading-icon-color)}.cide-input-clear{color:var(--cide-input-clear-color);z-index:10;cursor:pointer;position:absolute;outline-width:0px;right:0;top:0}.cide-input-clear:hover{color:var(--cide-input-clear-color-hover)}.cide-input-trailing-icon{color:var(--cide-input-trailing-icon-color)}.cide-input-input{color:var(--cide-input-text-color);border-color:var(--cide-input-border)}.cide-input-input:hover{color:var(--cide-input-text-color-hover);border-color:var(--cide-input-border-hover)}.cide-input-input:focus{color:var(--cide-input-text-color-active);border-color:var(--cide-input-border-active)}.cide-element-input-label-floating .cide-input-label{position:absolute;z-index:1;margin-left:8px;margin-right:8px;background-color:#fff;padding:0 2px}.cide-element-input-label-floating .cide-element-input-label-start{left:0}.cide-element-input-label-floating .cide-element-input-label-start{right:0}.cide-element-input-label-fixed{margin-bottom:0}.cide-element-input-label-fixed .cide-element-input-label-start{text-align:start}.cide-element-input-label-fixed .cide-element-input-label-end{text-align:end}.ng-touched.ng-invalid>.cide-input .cide-input-clear{color:var(--cide-input-clear-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-clear:hover{color:var(--cide-input-clear-color-hover-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-leading-icon{color:var(--cide-input-leading-icon-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-help-error-text{color:var(--cide-input-color-help-error-text-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-trailing-icon{color:var(--cide-input-trailing-icon-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-label{color:var(--cide-input-label-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input{color:var(--cide-input-text-color-invalid);border-color:var(--cide-input-border-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input:hover{color:var(--cide-input-text-color-hover-invalid);border-color:var(--cide-input-border-hover-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input:focus{color:var(--cide-input-text-color-active-invalid);border-color:var(--cide-input-border-active-invalid)}.cide-element-size-xxs .cide-input-input{height:var(--cide-element-size-xxs);font-size:var(--cide-input-size-xxs);border-width:var(--cide-input-border-size-xxs)}.cide-element-size-xxs .cide-input-label{font-size:var(--cide-input-label-size-xxs);line-height:var(--cide-input-label-size-xxs)}.cide-element-size-xxs .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xxs);height:calc(var(--cide-input-error-helper-size-xxs) + 2px);line-height:var(--cide-input-error-helper-size-xxs)}.cide-element-size-xxs .cide-input-clear{top:var(--cide-input-border-size-xxs);width:var(--cide-element-size-xxs);height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xxs) + var(--cide-input-size-xxs) / 2);line-height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xxs);width:var(--cide-element-size-xxs);height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xxs) + var(--cide-input-size-xxs) / 2);line-height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xxs) / 2)}.cide-element-size-xxs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xxs) / 2 - var(--cide-input-label-size-xxs))}.cide-element-size-xxs.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs))}.cide-element-size-xxs.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs))}.cide-element-size-xxs.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xxs)}.cide-element-size-xs .cide-input-input{height:var(--cide-element-size-xs);font-size:var(--cide-input-size-xs);border-width:var(--cide-input-border-size-xs)}.cide-element-size-xs .cide-input-label{font-size:var(--cide-input-label-size-xs);line-height:var(--cide-input-label-size-xs)}.cide-element-size-xs .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xs);height:calc(var(--cide-input-error-helper-size-xs) + 2px);line-height:var(--cide-input-error-helper-size-xs)}.cide-element-size-xs .cide-input-clear{top:var(--cide-input-border-size-xs);width:var(--cide-element-size-xs);height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xs) + var(--cide-input-size-xs) / 2);line-height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xs);width:var(--cide-element-size-xs);height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xs) + var(--cide-input-size-xs) / 2);line-height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xs) / 2)}.cide-element-size-xs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xs) / 2 - var(--cide-input-label-size-xs))}.cide-element-size-xs.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs))}.cide-element-size-xs.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs))}.cide-element-size-xs.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xs)}.cide-element-size-sm .cide-input-input{height:var(--cide-element-size-sm);font-size:var(--cide-input-size-sm);border-width:var(--cide-input-border-size-sm)}.cide-element-size-sm .cide-input-label{font-size:var(--cide-input-label-size-sm);line-height:var(--cide-input-label-size-sm)}.cide-element-size-sm .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-sm);height:calc(var(--cide-input-error-helper-size-sm) + 2px);line-height:var(--cide-input-error-helper-size-sm)}.cide-element-size-sm .cide-input-clear{top:var(--cide-input-border-size-sm);width:var(--cide-element-size-sm);height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-sm) + var(--cide-input-size-sm) / 2);line-height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-sm);width:var(--cide-element-size-sm);height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-sm) + var(--cide-input-size-sm) / 2);line-height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-sm) / 2)}.cide-element-size-sm.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-sm) / 2 - var(--cide-input-label-size-sm))}.cide-element-size-sm.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm))}.cide-element-size-sm.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm))}.cide-element-size-sm.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-sm)}.cide-element-size-md .cide-input-input{height:var(--cide-element-size-md);font-size:var(--cide-input-size-md);border-width:var(--cide-input-border-size-md)}.cide-element-size-md .cide-input-label{font-size:var(--cide-input-label-size-md);line-height:var(--cide-input-label-size-md)}.cide-element-size-md .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-md);height:calc(var(--cide-input-error-helper-size-md) + 2px);line-height:var(--cide-input-error-helper-size-md)}.cide-element-size-md .cide-input-clear{top:var(--cide-input-border-size-md);width:var(--cide-element-size-md);height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-md) + var(--cide-input-size-md) / 2);line-height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-md);width:var(--cide-element-size-md);height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-md) + var(--cide-input-size-md) / 2);line-height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-md) / 2)}.cide-element-size-md.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-md) / 2 - var(--cide-input-label-size-md))}.cide-element-size-md.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md))}.cide-element-size-md.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md))}.cide-element-size-md.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-md)}.cide-element-size-lg .cide-input-input{height:var(--cide-element-size-lg);font-size:var(--cide-input-size-lg);border-width:var(--cide-input-border-size-lg)}.cide-element-size-lg .cide-input-label{font-size:var(--cide-input-label-size-lg);line-height:var(--cide-input-label-size-lg)}.cide-element-size-lg .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-lg);height:calc(var(--cide-input-error-helper-size-lg) + 2px);line-height:var(--cide-input-error-helper-size-lg)}.cide-element-size-lg .cide-input-clear{top:var(--cide-input-border-size-lg);width:var(--cide-element-size-lg);height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-lg) + var(--cide-input-size-lg) / 2);line-height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-lg);width:var(--cide-element-size-lg);height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-lg) + var(--cide-input-size-lg) / 2);line-height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-lg) / 2)}.cide-element-size-lg.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-lg) / 2 - var(--cide-input-label-size-lg))}.cide-element-size-lg.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg))}.cide-element-size-lg.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg))}.cide-element-size-lg.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-lg)}.cide-element-size-xl .cide-input-input{height:var(--cide-element-size-xl);font-size:var(--cide-input-size-xl);border-width:var(--cide-input-border-size-xl)}.cide-element-size-xl .cide-input-label{font-size:var(--cide-input-label-size-xl);line-height:var(--cide-input-label-size-xl)}.cide-element-size-xl .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xl);height:calc(var(--cide-input-error-helper-size-xl) + 2px);line-height:var(--cide-input-error-helper-size-xl)}.cide-element-size-xl .cide-input-clear{top:var(--cide-input-border-size-xl);width:var(--cide-element-size-xl);height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xl) + var(--cide-input-size-xl) / 2);line-height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xl);width:var(--cide-element-size-xl);height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xl) + var(--cide-input-size-xl) / 2);line-height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xl) / 2)}.cide-element-size-xl.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xl) / 2 - var(--cide-input-label-size-xl))}.cide-element-size-xl.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl))}.cide-element-size-xl.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl))}.cide-element-size-xl.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xl)}.cide-input-leading-icon-wrapper{position:absolute;bottom:0;left:0;z-index:-10;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type:
443
+ // directives
444
+ CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type:
445
+ // for ngModel
446
+ FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
447
+ }
448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideInputComponent, decorators: [{
449
+ type: Component,
450
+ args: [{ selector: 'cide-ele-input', standalone: true, imports: [
451
+ // directives
452
+ CommonModule,
453
+ // for ngModel
454
+ FormsModule
455
+ ], providers: [
456
+ {
457
+ provide: NG_VALUE_ACCESSOR,
458
+ useExisting: forwardRef(() => CideInputComponent),
459
+ multi: true
460
+ },
461
+ /** @description to apply validations */
462
+ {
463
+ provide: NG_VALIDATORS,
464
+ multi: true,
465
+ useExisting: forwardRef(() => CideInputComponent),
466
+ },
467
+ CapitalizePipe
468
+ ], template: "<div class=\"cide-input\">\r\n <!------------------------------------------TEXT | PASSWORD------------------------------------------>\r\n <div *ngIf=\"type === 'text' || type === 'password'\">\r\n <div class=\"tw-w-full tw-relative\" [ngStyle]=\"{ width: width }\" [ngClass]=\"{\r\n 'cide-element-size-xxs': (size === '2xs'),\r\n 'cide-element-size-xs': (size === 'xs'),\r\n 'cide-element-size-sm': (size === 'sm'),\r\n 'cide-element-size-md': (size === 'md'),\r\n 'cide-element-size-lg': (size === 'lg'),\r\n 'cide-element-leading-icon': leadingIcon,\r\n 'cide-element-trailing-icon': trailingIconInternal,\r\n 'cide-element-clear-input': clearInput,\r\n 'cide-element-input-label-floating': (labelPlacement === 'floating'),\r\n 'cide-element-input-label-start': (labelDir === 'start'),\r\n 'cide-element-input-label-end': (labelDir === 'end'),\r\n 'cide-element-input-label-fixed': (labelPlacement === 'fixed'),\r\n 'cide-element-input-label-less': (!label || labelHide),\r\n 'cide-element-style-outline': (fill === 'outline'),\r\n 'cide-element-style-solid': (fill === 'solid'),\r\n 'cide-element-style-standard': (fill === 'standard'),\r\n }\">\r\n <!-- label -->\r\n <label [for]=\"id\" class=\"cide-input-label\" *ngIf=\"label && !labelHide\">{{label}}</label>\r\n\r\n <!-- all one line elemets which dose not affect with label and error text -->\r\n <div class=\"cide-element-input-wrapper\">\r\n <!-- Leading Icon -->\r\n <span class=\"cide-input-leading-icon-wrapper\" *ngIf=\"leadingIcon\">\r\n <span\r\n class=\"cide-input-leading-icon material-symbols-outlined tw-text-center\">{{leadingIcon}}</span>\r\n </span>\r\n\r\n <!-- Traling icon -->\r\n <span class=\"tw-absolute cide-input-trailing-icon -tw-bottom-1 tw-select-none tw-right-0\"\r\n *ngIf=\"trailingIconInternal\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"\r\n [ngClass]=\"{'tw-cursor-pointer': isTrailingIconAllwedClick}\" [attr.tabindex]=\"false\"\r\n (click)=\"trailingIconClick()\" (keyup)=\"trailingIconClick()\">{{trailingIconInternal}}</span>\r\n </span>\r\n\r\n <!-- Clear -->\r\n <button class=\"cide-input-clear\"\r\n *ngIf=\"clearInput && ngModel\" (click)=\"ClearInputValue()\">\r\n <span class=\"cide-input-clear-icon material-symbols-outlined\">close</span>\r\n </button>\r\n\r\n <!-- Input -->\r\n <input [placeholder]=\"placeholder\" [id]=\"id\"\r\n [ngClass]=\"[((label && labelPlacement === 'fixed') ? 'tw-rounded-e-md tw-rounded-es-md' : 'tw-rounded-md '), (!leadingIcon ? 'tw-pl-1' : ''), (trailingIconInternal ? 'tw-pr-8': ''), (!trailingIconInternal ? 'tw-pr-1' : ''), ((size === 'md') ? 'tw-h-8 tw-pt-0.5 tw-pb-0' : (size === 'sm' ? 'tw-h-7' : '')), (labelHide ? '!tw-mt-0' : '')]\"\r\n [(ngModel)]=\"ngModel\" [type]=\"typeInternal\" (input)=\"upDateValue($event)\" (focus)=\"focusControl()\"\r\n [autocomplete]=\"autocomplete\"\r\n class=\"tw-m-0 tw-w-full tw-bg-transparent tw-overflow-hidden tw-border-solid tw-p-0 cide-input-input tw-outline-none\" />\r\n </div>\r\n <!-- error text / helper text -->\r\n <span *ngIf=\"(errorText || helperText || !helperTextCollapse) && !hideHelperAndErrorText\"\r\n class=\"cide-input-help-error-text\">{{\r\n isValid\r\n ? helperText : (errorText ?\r\n (isTouched ? errorText : helperText)\r\n : helperText)}}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Input with tralling icon -->\r\n <!-- <div class=\"tw-inline-block tw-h-12 tw-w-64\">\r\n <div class=\"tw-w-fullh-full tw-relative\">\r\n <label\r\n class=\"tw-absolute -tw-top-1/3 tw-mx-2 tw-bg-white tw-px-0.5 tw-py-0 tw-text-sm tw-leading-4 tw-text-gray-700\">Name</label>\r\n <span class=\"tw-absolute -tw-bottom-px tw-right-0 -tw-z-10 tw-text-gray-400\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"> person </span>\r\n </span>\r\n <input\r\n class=\"tw-m-0 tw-h-8 tw-w-full tw-overflow-hidden tw-rounded-md tw-border-2 tw-border-solid tw-border-gray-300 tw-bg-transparent tw-p-0 tw-pb-0.5 tw-pl-1 tw-pr-8 tw-text-sm tw-text-gray-600 tw-outline-none hover:tw-border-blue-400 focus:tw-border-blue-400 focus:tw-text-gray-950\"\r\n value=\"Ankush Bhure\" />\r\n </div>\r\n </div> -->\r\n\r\n <!-- Input with leading icon -->\r\n <!-- <div class=\"tw-inline-block tw-h-12 tw-w-64\">\r\n <div class=\"tw-w-fullh-full tw-relative\">\r\n <label\r\n class=\"tw-absolute -tw-top-1/3 tw-mx-2 tw-bg-white tw-px-0.5 tw-py-0 tw-text-sm tw-leading-4 tw-text-gray-700\">Name</label>\r\n <span class=\"tw-absolute -tw-bottom-px tw-left-0 -tw-z-10 tw-text-gray-400\">\r\n <span class=\"material-symbols-outlined tw-w-8 tw-text-center !tw-text-2xl\"> person </span>\r\n </span>\r\n <input\r\n class=\"tw-m-0 tw-h-8 tw-w-full tw-overflow-hidden tw-rounded-md tw-border-2 tw-border-solid tw-border-gray-300 tw-bg-transparent tw-p-0 tw-pb-0.5 tw-pl-8 tw-pr-1 tw-text-sm tw-text-gray-600 tw-outline-none hover:tw-border-blue-400 focus:tw-border-blue-400 focus:tw-text-gray-950\"\r\n value=\"Ankush Bhure\" />\r\n </div>\r\n </div> -->\r\n\r\n <!------------------------------------------CHECKBOX------------------------------------------>\r\n <div *ngIf=\"type === 'checkbox'\" class=\"tw-flex\">\r\n <div class=\"cide-checkbox tw-relative\">\r\n <input [checked]=\"ngModel\" [value]=\"ngModel\" [id]=\"idRandom\" [type]=\"type\"\r\n class=\"tw-absolute tw-left-0 tw-invisible\" (click)=\"updateValueCheckBox(!ngModel); focusControl()\"\r\n [autocomplete]=\"autocomplete\" />\r\n <label class=\"cide-checkbox-label tw-cursor-pointer\" [for]=\"idRandom\">\r\n <span class=\"tw-border-2 tw-border-solid tw-relative tw-rounded-md\">\r\n <svg width=\"12px\" height=\"10px\" class=\"tw-absolute\">\r\n <use xlink:href=\"#sdfwiorfklasfjjalfjwerwr\"></use>\r\n </svg>\r\n </span>\r\n <span class=\"tw-text-sm tw-pl-2 tw-leading-[18px] tw-select-none tw-cursor-pointer\"\r\n *ngIf=\"!labelHide\">{{label}}</span>\r\n </label>\r\n <svg class=\"tw-absolute tw-h-0 tw-w-0 tw-select-none tw-pointer-events-none\">\r\n <!-- Element hidden and its xpath is used to display inside SVG -->\r\n <symbol id=\"sdfwiorfklasfjjalfjwerwr\" viewbox=\"0 0 12 10\">\r\n <polyline points=\"1.5 6 4.5 9 10.5 1\"></polyline>\r\n </symbol>\r\n </svg>\r\n </div>\r\n </div>\r\n\r\n <!-------------------------------------------SELECT------------------------------------------->\r\n <div *ngIf=\"type === 'select'\">sas\r\n <div class=\"tw-relative\">\r\n <div class=\"tw-absolute\">\r\n @for (item of option; track $index) {\r\n <div class=\"tw-w-full\">\r\n {{item}}\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".cide-element-style-standard .cide-input-input{border-color:transparent}.cide-element-input-wrapper{position:relative}.cide-input-label{color:var(--cide-input-label-color);-webkit-user-select:none;user-select:none;display:block}.cide-input-help-error-text{color:var(--cide-input-color-help-error-text);width:100%;display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:.125rem;padding-right:.125rem}.cide-input-leading-icon{color:var(--cide-input-leading-icon-color)}.cide-input-clear{color:var(--cide-input-clear-color);z-index:10;cursor:pointer;position:absolute;outline-width:0px;right:0;top:0}.cide-input-clear:hover{color:var(--cide-input-clear-color-hover)}.cide-input-trailing-icon{color:var(--cide-input-trailing-icon-color)}.cide-input-input{color:var(--cide-input-text-color);border-color:var(--cide-input-border)}.cide-input-input:hover{color:var(--cide-input-text-color-hover);border-color:var(--cide-input-border-hover)}.cide-input-input:focus{color:var(--cide-input-text-color-active);border-color:var(--cide-input-border-active)}.cide-element-input-label-floating .cide-input-label{position:absolute;z-index:1;margin-left:8px;margin-right:8px;background-color:#fff;padding:0 2px}.cide-element-input-label-floating .cide-element-input-label-start{left:0}.cide-element-input-label-floating .cide-element-input-label-start{right:0}.cide-element-input-label-fixed{margin-bottom:0}.cide-element-input-label-fixed .cide-element-input-label-start{text-align:start}.cide-element-input-label-fixed .cide-element-input-label-end{text-align:end}.ng-touched.ng-invalid>.cide-input .cide-input-clear{color:var(--cide-input-clear-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-clear:hover{color:var(--cide-input-clear-color-hover-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-leading-icon{color:var(--cide-input-leading-icon-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-help-error-text{color:var(--cide-input-color-help-error-text-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-trailing-icon{color:var(--cide-input-trailing-icon-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-label{color:var(--cide-input-label-color-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input{color:var(--cide-input-text-color-invalid);border-color:var(--cide-input-border-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input:hover{color:var(--cide-input-text-color-hover-invalid);border-color:var(--cide-input-border-hover-invalid)}.ng-touched.ng-invalid>.cide-input .cide-input-input:focus{color:var(--cide-input-text-color-active-invalid);border-color:var(--cide-input-border-active-invalid)}.cide-element-size-xxs .cide-input-input{height:var(--cide-element-size-xxs);font-size:var(--cide-input-size-xxs);border-width:var(--cide-input-border-size-xxs)}.cide-element-size-xxs .cide-input-label{font-size:var(--cide-input-label-size-xxs);line-height:var(--cide-input-label-size-xxs)}.cide-element-size-xxs .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xxs);height:calc(var(--cide-input-error-helper-size-xxs) + 2px);line-height:var(--cide-input-error-helper-size-xxs)}.cide-element-size-xxs .cide-input-clear{top:var(--cide-input-border-size-xxs);width:var(--cide-element-size-xxs);height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xxs) + var(--cide-input-size-xxs) / 2);line-height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xxs);width:var(--cide-element-size-xxs);height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xxs) + var(--cide-input-size-xxs) / 2);line-height:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs) * 2)}.cide-element-size-xxs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xxs) / 2)}.cide-element-size-xxs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xxs) / 2 - var(--cide-input-label-size-xxs))}.cide-element-size-xxs.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs))}.cide-element-size-xxs.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xxs) - var(--cide-input-border-size-xxs))}.cide-element-size-xxs.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xxs)}.cide-element-size-xs .cide-input-input{height:var(--cide-element-size-xs);font-size:var(--cide-input-size-xs);border-width:var(--cide-input-border-size-xs)}.cide-element-size-xs .cide-input-label{font-size:var(--cide-input-label-size-xs);line-height:var(--cide-input-label-size-xs)}.cide-element-size-xs .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xs);height:calc(var(--cide-input-error-helper-size-xs) + 2px);line-height:var(--cide-input-error-helper-size-xs)}.cide-element-size-xs .cide-input-clear{top:var(--cide-input-border-size-xs);width:var(--cide-element-size-xs);height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xs) + var(--cide-input-size-xs) / 2);line-height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xs);width:var(--cide-element-size-xs);height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xs) + var(--cide-input-size-xs) / 2);line-height:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs) * 2)}.cide-element-size-xs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xs) / 2)}.cide-element-size-xs.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xs) / 2 - var(--cide-input-label-size-xs))}.cide-element-size-xs.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs))}.cide-element-size-xs.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xs) - var(--cide-input-border-size-xs))}.cide-element-size-xs.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xs)}.cide-element-size-sm .cide-input-input{height:var(--cide-element-size-sm);font-size:var(--cide-input-size-sm);border-width:var(--cide-input-border-size-sm)}.cide-element-size-sm .cide-input-label{font-size:var(--cide-input-label-size-sm);line-height:var(--cide-input-label-size-sm)}.cide-element-size-sm .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-sm);height:calc(var(--cide-input-error-helper-size-sm) + 2px);line-height:var(--cide-input-error-helper-size-sm)}.cide-element-size-sm .cide-input-clear{top:var(--cide-input-border-size-sm);width:var(--cide-element-size-sm);height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-sm) + var(--cide-input-size-sm) / 2);line-height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-sm);width:var(--cide-element-size-sm);height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-sm) + var(--cide-input-size-sm) / 2);line-height:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm) * 2)}.cide-element-size-sm.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-sm) / 2)}.cide-element-size-sm.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-sm) / 2 - var(--cide-input-label-size-sm))}.cide-element-size-sm.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm))}.cide-element-size-sm.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-sm) - var(--cide-input-border-size-sm))}.cide-element-size-sm.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-sm)}.cide-element-size-md .cide-input-input{height:var(--cide-element-size-md);font-size:var(--cide-input-size-md);border-width:var(--cide-input-border-size-md)}.cide-element-size-md .cide-input-label{font-size:var(--cide-input-label-size-md);line-height:var(--cide-input-label-size-md)}.cide-element-size-md .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-md);height:calc(var(--cide-input-error-helper-size-md) + 2px);line-height:var(--cide-input-error-helper-size-md)}.cide-element-size-md .cide-input-clear{top:var(--cide-input-border-size-md);width:var(--cide-element-size-md);height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-md) + var(--cide-input-size-md) / 2);line-height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-md);width:var(--cide-element-size-md);height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-md) + var(--cide-input-size-md) / 2);line-height:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md) * 2)}.cide-element-size-md.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-md) / 2)}.cide-element-size-md.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-md) / 2 - var(--cide-input-label-size-md))}.cide-element-size-md.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md))}.cide-element-size-md.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-md) - var(--cide-input-border-size-md))}.cide-element-size-md.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-md)}.cide-element-size-lg .cide-input-input{height:var(--cide-element-size-lg);font-size:var(--cide-input-size-lg);border-width:var(--cide-input-border-size-lg)}.cide-element-size-lg .cide-input-label{font-size:var(--cide-input-label-size-lg);line-height:var(--cide-input-label-size-lg)}.cide-element-size-lg .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-lg);height:calc(var(--cide-input-error-helper-size-lg) + 2px);line-height:var(--cide-input-error-helper-size-lg)}.cide-element-size-lg .cide-input-clear{top:var(--cide-input-border-size-lg);width:var(--cide-element-size-lg);height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-lg) + var(--cide-input-size-lg) / 2);line-height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-lg);width:var(--cide-element-size-lg);height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-lg) + var(--cide-input-size-lg) / 2);line-height:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg) * 2)}.cide-element-size-lg.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-lg) / 2)}.cide-element-size-lg.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-lg) / 2 - var(--cide-input-label-size-lg))}.cide-element-size-lg.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg))}.cide-element-size-lg.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-lg) - var(--cide-input-border-size-lg))}.cide-element-size-lg.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-lg)}.cide-element-size-xl .cide-input-input{height:var(--cide-element-size-xl);font-size:var(--cide-input-size-xl);border-width:var(--cide-input-border-size-xl)}.cide-element-size-xl .cide-input-label{font-size:var(--cide-input-label-size-xl);line-height:var(--cide-input-label-size-xl)}.cide-element-size-xl .cide-input-help-error-text{font-size:var(--cide-input-error-helper-size-xl);height:calc(var(--cide-input-error-helper-size-xl) + 2px);line-height:var(--cide-input-error-helper-size-xl)}.cide-element-size-xl .cide-input-clear{top:var(--cide-input-border-size-xl);width:var(--cide-element-size-xl);height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-clear .cide-input-clear-icon{font-size:calc(var(--cide-input-size-xl) + var(--cide-input-size-xl) / 2);line-height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-leading-icon-wrapper{top:var(--cide-input-border-size-xl);width:var(--cide-element-size-xl);height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl .cide-input-leading-icon-wrapper .cide-input-leading-icon{font-size:calc(var(--cide-input-size-xl) + var(--cide-input-size-xl) / 2);line-height:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl) * 2)}.cide-element-size-xl.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-element-input-wrapper{margin-top:calc(var(--cide-input-label-size-xl) / 2)}.cide-element-size-xl.cide-element-input-label-floating:not(.cide-element-input-label-less) .cide-input-label{top:calc(var(--cide-input-label-size-xl) / 2 - var(--cide-input-label-size-xl))}.cide-element-size-xl.cide-element-leading-icon .cide-input-input{padding-left:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl))}.cide-element-size-xl.cide-element-clear-input .cide-input-input{padding-right:calc(var(--cide-element-size-xl) - var(--cide-input-border-size-xl))}.cide-element-size-xl.cide-element-trailing-icon .cide-input-clear{right:var(--cide-element-size-xl)}.cide-input-leading-icon-wrapper{position:absolute;bottom:0;left:0;z-index:-10;text-align:center}\n"] }]
469
+ }], ctorParameters: () => [{ type: CapitalizePipe }, { type: CideElementsService }], propDecorators: { fill: [{
470
+ type: Input
471
+ }], label: [{
472
+ type: Input
473
+ }], labelHide: [{
474
+ type: Input
475
+ }], disabled: [{
476
+ type: Input
477
+ }], clearInput: [{
478
+ type: Input
479
+ }], labelPlacement: [{
480
+ type: Input
481
+ }], labelDir: [{
482
+ type: Input
483
+ }], placeholder: [{
484
+ type: Input
485
+ }], leadingIcon: [{
486
+ type: Input
487
+ }], trailingIcon: [{
488
+ type: Input
489
+ }], helperText: [{
490
+ type: Input
491
+ }], helperTextCollapse: [{
492
+ type: Input
493
+ }], hideHelperAndErrorText: [{
494
+ type: Input
495
+ }], errorText: [{
496
+ type: Input
497
+ }], maxlength: [{
498
+ type: Input
499
+ }], minlength: [{
500
+ type: Input
501
+ }], required: [{
502
+ type: Input
503
+ }], autocapitalize: [{
504
+ type: Input
505
+ }], autocomplete: [{
506
+ type: Input
507
+ }], type: [{
508
+ type: Input
509
+ }], width: [{
510
+ type: Input
511
+ }], id: [{
512
+ type: Input
513
+ }], ngModel: [{
514
+ type: Input
515
+ }], option: [{
516
+ type: Input
517
+ }], size: [{
518
+ type: Input
519
+ }], ngModelChange: [{
520
+ type: Output
521
+ }] } });
522
+
523
+ class CideSpinnerComponent {
524
+ constructor() {
525
+ /**
526
+ * @description
527
+ * Holds the size of the component like Small, Extra small, Large
528
+ * by Default it takes small size
529
+ * or the size set by the project setup service
530
+ * or it will beset for individual component
531
+ *
532
+ * Size Appled
533
+ * Component level then setup service then finally default md
534
+ * Options: "xs" | "sm" | "md" | "lg" | "xl" | "xxl"
535
+ */
536
+ this.size = "sm";
537
+ this.type = "pill-spinner";
538
+ }
539
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
540
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: CideSpinnerComponent, isStandalone: true, selector: "cide-ele-spinner", inputs: { size: "size", type: "type" }, ngImport: i0, template: "@if (type === \"spinner\") {\r\n<svg class=\"cide-spinner tw-m-auto\"\r\n [ngClass]=\"{'tw-max-w-6 tw-p-1': (size === 'xs'), 'tw-max-w-10 tw-p-2': (size === 'sm')}\" viewBox=\"0 0 24 24\">\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n</svg>\r\n}\r\n@else {\r\n<div class=\"cide-pill-loader tw-select-none\" [ngClass]=\"{'tw-h-4': (size === 'xs')}\">\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n</div>\r\n}", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
541
+ }
542
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideSpinnerComponent, decorators: [{
543
+ type: Component,
544
+ args: [{ selector: 'cide-ele-spinner', standalone: true, imports: [CommonModule], template: "@if (type === \"spinner\") {\r\n<svg class=\"cide-spinner tw-m-auto\"\r\n [ngClass]=\"{'tw-max-w-6 tw-p-1': (size === 'xs'), 'tw-max-w-10 tw-p-2': (size === 'sm')}\" viewBox=\"0 0 24 24\">\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n <circle class=\"cide-spinner__value\" cx=\"12\" cy=\"12\" r=\"10\" />\r\n</svg>\r\n}\r\n@else {\r\n<div class=\"cide-pill-loader tw-select-none\" [ngClass]=\"{'tw-h-4': (size === 'xs')}\">\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n <div class=\"cide-pill\" [ngClass]=\"{'tw-w-1 cide-pill-xs': (size === 'xs')}\"></div>\r\n</div>\r\n}" }]
545
+ }], propDecorators: { size: [{
546
+ type: Input
547
+ }], type: [{
548
+ type: Input
549
+ }] } });
550
+
551
+ class CideButtonComponent {
552
+ constructor(elementService) {
553
+ this.elementService = elementService;
554
+ // INPUTS
555
+ /**
556
+ * @description Lable of button like Submit, Update, Add, etc.
557
+ * note it is only used in case you was not set lebel between tags like button (ng-content),
558
+ * if lable is set ng contenet is not visisble
559
+ */
560
+ this.label = "";
561
+ /** @description button disabled or not use boolean type value */
562
+ this.disabled = false;
563
+ /** @description uniq id of control, used to differenciat the value also prevent value should not effect another values */
564
+ this.id = '';
565
+ /** @description to give the loading effect, diable button and enable loader */
566
+ this.loading = false;
567
+ // OUTPUTS
568
+ /**
569
+ * @description click event of button similler to onClick (this is not possible beacuse no-output-no-prefix eslint) of angular or click of DOM
570
+ */
571
+ this.onclick = new EventEmitter();
572
+ }
573
+ ngOnInit() {
574
+ if (this.id) {
575
+ this.getControlData();
576
+ }
577
+ }
578
+ async getControlData() {
579
+ const cide_element_data = await this.elementService?.getElementData({ sype_key: this.id });
580
+ if (cide_element_data) {
581
+ this.label = cide_element_data?.sype_label;
582
+ }
583
+ }
584
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideButtonComponent, deps: [{ token: CideElementsService }], target: i0.ɵɵFactoryTarget.Component }); }
585
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CideButtonComponent, isStandalone: true, selector: "cide-ele-button", inputs: { label: "label", disabled: "disabled", id: "id", loading: "loading" }, outputs: { onclick: "onclick" }, ngImport: i0, template: "<button class=\"cide-button tw-w-full tw-rounded-md tw-text-white tw-py-0.5 tw-select-none tw-justify-around tw-flex\"\r\n [ngClass]=\"{'cide-button-disabled': (disabled || loading)}\" [disabled]=\"(disabled || loading)\"\r\n (click)=\"onclick.emit()\" [id]=\"id\">\r\n <div class=\"tw-flex\">\r\n <cide-ele-spinner *ngIf=\"loading\" class=\"tw-inline-block tw-my-1 tw-mr-2\" size=\"xs\"\r\n [ngClass]=\"{'cide-pill-disabled': (disabled || loading)}\"></cide-ele-spinner>\r\n <span>{{label}}</span>\r\n <span *ngIf=\"!label\">\r\n <ng-content></ng-content>\r\n </span>\r\n <span *ngIf=\"loading\" class=\"tw-w-6 tw-p-1 tw-mr-2\"></span>\r\n </div>\r\n</button>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CideSpinnerComponent, selector: "cide-ele-spinner", inputs: ["size", "type"] }] }); }
586
+ }
587
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideButtonComponent, decorators: [{
588
+ type: Component,
589
+ args: [{ selector: 'cide-ele-button', standalone: true, imports: [
590
+ CommonModule,
591
+ CideSpinnerComponent
592
+ ], template: "<button class=\"cide-button tw-w-full tw-rounded-md tw-text-white tw-py-0.5 tw-select-none tw-justify-around tw-flex\"\r\n [ngClass]=\"{'cide-button-disabled': (disabled || loading)}\" [disabled]=\"(disabled || loading)\"\r\n (click)=\"onclick.emit()\" [id]=\"id\">\r\n <div class=\"tw-flex\">\r\n <cide-ele-spinner *ngIf=\"loading\" class=\"tw-inline-block tw-my-1 tw-mr-2\" size=\"xs\"\r\n [ngClass]=\"{'cide-pill-disabled': (disabled || loading)}\"></cide-ele-spinner>\r\n <span>{{label}}</span>\r\n <span *ngIf=\"!label\">\r\n <ng-content></ng-content>\r\n </span>\r\n <span *ngIf=\"loading\" class=\"tw-w-6 tw-p-1 tw-mr-2\"></span>\r\n </div>\r\n</button>" }]
593
+ }], ctorParameters: () => [{ type: CideElementsService }], propDecorators: { label: [{
594
+ type: Input
595
+ }], disabled: [{
596
+ type: Input
597
+ }], id: [{
598
+ type: Input
599
+ }], loading: [{
600
+ type: Input
601
+ }], onclick: [{
602
+ type: Output
603
+ }] } });
604
+
605
+ class CideIconComponent {
606
+ constructor() {
607
+ this.size = "xs";
608
+ this.type = "round";
609
+ this.toolTip = "";
610
+ }
611
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
612
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CideIconComponent, isStandalone: true, selector: "cide-ele-icon", inputs: { size: "size", type: "type", toolTip: "toolTip" }, ngImport: i0, template: "<button class=\"cide-icon tw-m-1 tw-overflow-hidden tw-inline-block tw-outline-none tw-relative\" [ngClass]=\"{\r\n 'tw-h-[23px] tw-w-[23px]': (size === 'sm'), \r\n 'tw-h-[19px] tw-w-[19px] !tw-m-[2px]': (size === 'xs'), \r\n 'tw-h-[14px] tw-w-[14px] !tw-m-[1px] cide-icon-2xs': (size === '2xs'), \r\n 'tw-h-[11px] tw-w-[11px] !tw-m-[1px] cide-icon-3xs': (size === '3xs'), \r\n 'tw-rounded-2xl' : (type === 'round'), 'tw-rounded-[0.2rem]' : (type === 'box') , \r\n 'tw-h-[15px] tw-w-[15px] none-type !tw-m-0': (type === 'none'),\r\n 'cide-tooltip': (toolTip),\r\n }\">\r\n <span class=\"cide-tooltip-content\">{{toolTip}}</span>\r\n\r\n <span class=\"material-symbols-outlined tw-absolute tw-top-0 tw-left-0 tw-right-0 tw-bottom-0\"\r\n [ngClass]=\"{'tw-text-[25px] -tw-ml-[1.5px] -tw-mt-[1px]': (size === 'sm'), 'tw-text-[18px] -tw-ml-[0.5px] tw-mt-[0.5px]' : (size === 'xs'), 'tw-text-[15px] -tw-ml-[0.5px] tw-mt-[0px] tw-block' : (size === '2xs'), 'tw-text-[11px] -tw-ml-[0px] tw-mt-[0px] tw-block' : (size === '3xs')}\"><ng-content></ng-content></span>\r\n</button>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
613
+ }
614
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CideIconComponent, decorators: [{
615
+ type: Component,
616
+ args: [{ selector: 'cide-ele-icon', standalone: true, imports: [CommonModule], template: "<button class=\"cide-icon tw-m-1 tw-overflow-hidden tw-inline-block tw-outline-none tw-relative\" [ngClass]=\"{\r\n 'tw-h-[23px] tw-w-[23px]': (size === 'sm'), \r\n 'tw-h-[19px] tw-w-[19px] !tw-m-[2px]': (size === 'xs'), \r\n 'tw-h-[14px] tw-w-[14px] !tw-m-[1px] cide-icon-2xs': (size === '2xs'), \r\n 'tw-h-[11px] tw-w-[11px] !tw-m-[1px] cide-icon-3xs': (size === '3xs'), \r\n 'tw-rounded-2xl' : (type === 'round'), 'tw-rounded-[0.2rem]' : (type === 'box') , \r\n 'tw-h-[15px] tw-w-[15px] none-type !tw-m-0': (type === 'none'),\r\n 'cide-tooltip': (toolTip),\r\n }\">\r\n <span class=\"cide-tooltip-content\">{{toolTip}}</span>\r\n\r\n <span class=\"material-symbols-outlined tw-absolute tw-top-0 tw-left-0 tw-right-0 tw-bottom-0\"\r\n [ngClass]=\"{'tw-text-[25px] -tw-ml-[1.5px] -tw-mt-[1px]': (size === 'sm'), 'tw-text-[18px] -tw-ml-[0.5px] tw-mt-[0.5px]' : (size === 'xs'), 'tw-text-[15px] -tw-ml-[0.5px] tw-mt-[0px] tw-block' : (size === '2xs'), 'tw-text-[11px] -tw-ml-[0px] tw-mt-[0px] tw-block' : (size === '3xs')}\"><ng-content></ng-content></span>\r\n</button>" }]
617
+ }], propDecorators: { size: [{
618
+ type: Input
619
+ }], type: [{
620
+ type: Input
621
+ }], toolTip: [{
622
+ type: Input
623
+ }] } });
624
+
625
+ /*
626
+ * Public API Surface of cloud-ide-element
627
+ * Here we can add what need to be exported from library
628
+ */
629
+
630
+ /**
631
+ * Generated bundle index. Do not edit.
632
+ */
633
+
634
+ export { CideButtonComponent, CideElementsService, CideIconComponent, CideInputComponent, CideSpinnerComponent };
635
+ //# sourceMappingURL=cloud-ide-element.mjs.map