@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-75609.0 → 0.0.0-bugfix-dev-KB-75609.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.
- package/dist/cjs/DataBinder-aff1dcc7.js +445 -0
- package/dist/cjs/FocusResolver-885f2173.js +35 -0
- package/dist/cjs/ez-card-item_3.cjs.entry.js +8 -2
- package/dist/cjs/ez-combo-box.cjs.entry.js +46 -10
- package/dist/cjs/ez-date-input.cjs.entry.js +8 -2
- package/dist/cjs/ez-date-time-input.cjs.entry.js +8 -2
- package/dist/cjs/ez-dialog.cjs.entry.js +9 -1
- package/dist/cjs/ez-form.cjs.entry.js +3 -324
- package/dist/cjs/ez-grid.cjs.entry.js +254 -62
- package/dist/cjs/ez-number-input.cjs.entry.js +7 -0
- package/dist/cjs/ez-search.cjs.entry.js +27 -11
- package/dist/cjs/ez-text-area.cjs.entry.js +6 -0
- package/dist/cjs/ez-text-input.cjs.entry.js +7 -1
- package/dist/cjs/ez-time-input.cjs.entry.js +6 -0
- package/dist/cjs/ezui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/ez-combo-box/ez-combo-box.js +75 -14
- package/dist/collection/components/ez-date-input/ez-date-input.js +35 -4
- package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +35 -4
- package/dist/collection/components/ez-dialog/ez-dialog.js +9 -1
- package/dist/collection/components/ez-filter-input/ez-filter-input.js +35 -4
- package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +52 -14
- package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +3 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +166 -45
- package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +7 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +1 -0
- package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
- package/dist/collection/components/ez-grid/ez-grid.js +83 -1
- package/dist/collection/components/ez-number-input/ez-number-input.js +25 -0
- package/dist/collection/components/ez-search/ez-search.js +54 -13
- package/dist/collection/components/ez-text-area/ez-text-area.js +24 -0
- package/dist/collection/components/ez-text-input/ez-text-input.css +14 -38
- package/dist/collection/components/ez-text-input/ez-text-input.js +24 -0
- package/dist/collection/components/ez-time-input/ez-time-input.js +24 -0
- package/dist/collection/utils/FocusResolver.js +31 -0
- package/dist/collection/utils/form/DataBinder.js +18 -3
- package/dist/custom-elements/index.js +442 -102
- package/dist/esm/DataBinder-bd240826.js +441 -0
- package/dist/esm/FocusResolver-1ccbf850.js +33 -0
- package/dist/esm/ez-card-item_3.entry.js +8 -2
- package/dist/esm/ez-combo-box.entry.js +47 -11
- package/dist/esm/ez-date-input.entry.js +8 -2
- package/dist/esm/ez-date-time-input.entry.js +8 -2
- package/dist/esm/ez-dialog.entry.js +9 -1
- package/dist/esm/ez-form.entry.js +2 -323
- package/dist/esm/ez-grid.entry.js +253 -61
- package/dist/esm/ez-number-input.entry.js +7 -0
- package/dist/esm/ez-search.entry.js +27 -11
- package/dist/esm/ez-text-area.entry.js +6 -0
- package/dist/esm/ez-text-input.entry.js +7 -1
- package/dist/esm/ez-time-input.entry.js +6 -0
- package/dist/esm/ezui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/ezui/ezui.esm.js +1 -1
- package/dist/ezui/p-03a2c7d1.entry.js +1 -0
- package/dist/ezui/p-0a75bb05.entry.js +1 -0
- package/dist/ezui/{p-37219d42.entry.js → p-0db68715.entry.js} +1 -1
- package/dist/ezui/p-19098a3f.entry.js +1 -0
- package/dist/ezui/p-1f830a2f.entry.js +1 -0
- package/dist/ezui/p-3dd919b7.entry.js +1 -0
- package/dist/ezui/p-7bfae0fc.entry.js +1 -0
- package/dist/ezui/p-81f06699.js +1 -0
- package/dist/ezui/p-97af4b13.entry.js +1 -0
- package/dist/ezui/p-9ceefe4d.entry.js +1 -0
- package/dist/ezui/{p-c3c3d640.entry.js → p-b0a5c2cd.entry.js} +2 -2
- package/dist/ezui/p-d0ca26fe.entry.js +1 -0
- package/dist/ezui/p-dc628ed3.js +1 -0
- package/dist/ezui/p-ffd246f5.entry.js +1 -0
- package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +7 -1
- package/dist/types/components/ez-date-input/ez-date-input.d.ts +6 -1
- package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +6 -1
- package/dist/types/components/ez-dialog/ez-dialog.d.ts +2 -0
- package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +6 -1
- package/dist/types/components/ez-grid/controller/EzGridController.d.ts +10 -0
- package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +4 -0
- package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +18 -6
- package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +2 -0
- package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
- package/dist/types/components/ez-grid/ez-grid.d.ts +10 -0
- package/dist/types/components/ez-number-input/ez-number-input.d.ts +4 -0
- package/dist/types/components/ez-search/ez-search.d.ts +6 -1
- package/dist/types/components/ez-text-area/ez-text-area.d.ts +4 -0
- package/dist/types/components/ez-text-input/ez-text-input.d.ts +4 -0
- package/dist/types/components/ez-time-input/ez-time-input.d.ts +4 -0
- package/dist/types/components.d.ts +91 -6
- package/dist/types/utils/FocusResolver.d.ts +5 -0
- package/dist/types/utils/form/DataBinder.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/RecordValidationProcessor-10846595.js +0 -108
- package/dist/esm/RecordValidationProcessor-9c6cc267.js +0 -105
- package/dist/ezui/p-0f3b2e67.entry.js +0 -1
- package/dist/ezui/p-49456b34.entry.js +0 -1
- package/dist/ezui/p-5a90d7d1.entry.js +0 -1
- package/dist/ezui/p-62732269.entry.js +0 -1
- package/dist/ezui/p-b95632e8.entry.js +0 -1
- package/dist/ezui/p-c25f0e92.entry.js +0 -1
- package/dist/ezui/p-d2c06f38.entry.js +0 -1
- package/dist/ezui/p-e85c48d7.entry.js +0 -1
- package/dist/ezui/p-f0e2ce9d.entry.js +0 -1
- package/dist/ezui/p-f299c608.entry.js +0 -1
- package/dist/ezui/p-f42855b9.js +0 -1
|
@@ -15,6 +15,7 @@ import { ChartAxis, ChartType } from "./components/ez-chart/interfaces";
|
|
|
15
15
|
import { ChartSerie, SerieClickEvent } from "./components/ez-chart/interfaces/ChartSerie";
|
|
16
16
|
import { CheckMode } from "./components/ez-check/CheckMode";
|
|
17
17
|
import { IEzCheckBoxListPosition, IOption, ISearchArgument } from "./components/ez-combo-box/ez-combo-box";
|
|
18
|
+
import { TFocusOptions } from "./components/ez-text-input/ez-text-input";
|
|
18
19
|
import { ICustomEditor } from "./utils/customEditor/interfaces/ICustomEditor";
|
|
19
20
|
import { IFormViewField } from "./components/ez-form-view/interfaces";
|
|
20
21
|
import { DataUnit, Record, WaitingChange } from "@sankhyalabs/core";
|
|
@@ -31,7 +32,6 @@ import { IGuideItem } from "./components/ez-guide-navigator/interfaces";
|
|
|
31
32
|
import { ListGroup, ListItem, SlotBuilder as SlotBuilder1, TListMode } from "./components/ez-list/ez-list";
|
|
32
33
|
import { THeightMode } from "./components/ez-modal/ez-modal";
|
|
33
34
|
import { IMultiSelectionOption } from "./components/ez-multi-selection-list/interfaces/IMultiSelectionOption";
|
|
34
|
-
import { TFocusOptions } from "./components/ez-text-input/ez-text-input";
|
|
35
35
|
import { IEzPopoverAnchorOptions } from "./components/ez-popover/ez-popover";
|
|
36
36
|
import { Radio } from "./components/ez-radio-button/ez-radio-button";
|
|
37
37
|
import { EzScrollDirection } from "./components/ez-scroller/EzScrollDirection";
|
|
@@ -413,6 +413,10 @@ export namespace Components {
|
|
|
413
413
|
"value": boolean;
|
|
414
414
|
}
|
|
415
415
|
interface EzComboBox {
|
|
416
|
+
/**
|
|
417
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
418
|
+
*/
|
|
419
|
+
"autoFocus": boolean;
|
|
416
420
|
/**
|
|
417
421
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
418
422
|
*/
|
|
@@ -473,7 +477,7 @@ export namespace Components {
|
|
|
473
477
|
/**
|
|
474
478
|
* Aplica o foco no campo.
|
|
475
479
|
*/
|
|
476
|
-
"setFocus": () => Promise<void>;
|
|
480
|
+
"setFocus": (options?: TFocusOptions) => Promise<void>;
|
|
477
481
|
/**
|
|
478
482
|
* Se true cada opção na lista exibe o `value` junto com `label`.
|
|
479
483
|
*/
|
|
@@ -538,6 +542,10 @@ export namespace Components {
|
|
|
538
542
|
"value": any;
|
|
539
543
|
}
|
|
540
544
|
interface EzDateInput {
|
|
545
|
+
/**
|
|
546
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
547
|
+
*/
|
|
548
|
+
"autoFocus": boolean;
|
|
541
549
|
/**
|
|
542
550
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
543
551
|
*/
|
|
@@ -570,13 +578,17 @@ export namespace Components {
|
|
|
570
578
|
/**
|
|
571
579
|
* Aplica o foco no campo.
|
|
572
580
|
*/
|
|
573
|
-
"setFocus": () => Promise<void>;
|
|
581
|
+
"setFocus": (options?: TFocusOptions) => Promise<void>;
|
|
574
582
|
/**
|
|
575
583
|
* Define o valor do campo.
|
|
576
584
|
*/
|
|
577
585
|
"value": Date;
|
|
578
586
|
}
|
|
579
587
|
interface EzDateTimeInput {
|
|
588
|
+
/**
|
|
589
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
590
|
+
*/
|
|
591
|
+
"autoFocus": boolean;
|
|
580
592
|
/**
|
|
581
593
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
582
594
|
*/
|
|
@@ -609,7 +621,7 @@ export namespace Components {
|
|
|
609
621
|
/**
|
|
610
622
|
* Aplica o foco no campo.
|
|
611
623
|
*/
|
|
612
|
-
"setFocus": () => Promise<void>;
|
|
624
|
+
"setFocus": (options?: TFocusOptions) => Promise<void>;
|
|
613
625
|
/**
|
|
614
626
|
* Se true considera segundos.
|
|
615
627
|
*/
|
|
@@ -694,6 +706,10 @@ export namespace Components {
|
|
|
694
706
|
* Define se o campo irá funcionar de forma assíncrona.
|
|
695
707
|
*/
|
|
696
708
|
"asyncSearch": boolean;
|
|
709
|
+
/**
|
|
710
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
711
|
+
*/
|
|
712
|
+
"autoFocus": boolean;
|
|
697
713
|
/**
|
|
698
714
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
699
715
|
*/
|
|
@@ -733,7 +749,7 @@ export namespace Components {
|
|
|
733
749
|
/**
|
|
734
750
|
* Aplica o foco no campo.
|
|
735
751
|
*/
|
|
736
|
-
"setFocus": () => Promise<void>;
|
|
752
|
+
"setFocus": (options?: TFocusOptions) => Promise<void>;
|
|
737
753
|
/**
|
|
738
754
|
* Método responsável por setar um novo valor ao campo.
|
|
739
755
|
*/
|
|
@@ -821,6 +837,7 @@ export namespace Components {
|
|
|
821
837
|
* Define se a edição está habilitada na grid.
|
|
822
838
|
*/
|
|
823
839
|
"canEdit": boolean;
|
|
840
|
+
"checkStopEditOutsideClick": (event: MouseEvent) => Promise<void>;
|
|
824
841
|
/**
|
|
825
842
|
* Define um `IMultiSelectionListDataSource` responsável por alimentar o filtro de colunas.
|
|
826
843
|
*/
|
|
@@ -841,6 +858,10 @@ export namespace Components {
|
|
|
841
858
|
* Ativa inserção de registros no modo grade.
|
|
842
859
|
*/
|
|
843
860
|
"enableGridInsert"?: boolean;
|
|
861
|
+
/**
|
|
862
|
+
* Ativa inserção de registros no modo grade.
|
|
863
|
+
*/
|
|
864
|
+
"enableLockManger"?: boolean;
|
|
844
865
|
/**
|
|
845
866
|
* Usa um argumento para filtrar as colunas po label
|
|
846
867
|
*/
|
|
@@ -917,6 +938,10 @@ export namespace Components {
|
|
|
917
938
|
* Define um `IStatusResolver` responsável pelo estado da coluna de status.
|
|
918
939
|
*/
|
|
919
940
|
"statusResolver": IStatusResolver | StatusResolverFunction;
|
|
941
|
+
/**
|
|
942
|
+
* Para a edição da grade.
|
|
943
|
+
*/
|
|
944
|
+
"stopEdit": () => Promise<void>;
|
|
920
945
|
/**
|
|
921
946
|
* Quando verdadeiro, o ENTER fará a navegação como se fosse a tecla TAB na grade.
|
|
922
947
|
*/
|
|
@@ -1152,6 +1177,10 @@ export namespace Components {
|
|
|
1152
1177
|
* Se false, o input não aceitará números negativos.
|
|
1153
1178
|
*/
|
|
1154
1179
|
"allowNegative": boolean;
|
|
1180
|
+
/**
|
|
1181
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
1182
|
+
*/
|
|
1183
|
+
"autoFocus": boolean;
|
|
1155
1184
|
/**
|
|
1156
1185
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
1157
1186
|
*/
|
|
@@ -1299,6 +1328,10 @@ export namespace Components {
|
|
|
1299
1328
|
"locked": boolean;
|
|
1300
1329
|
}
|
|
1301
1330
|
interface EzSearch {
|
|
1331
|
+
/**
|
|
1332
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
1333
|
+
*/
|
|
1334
|
+
"autoFocus": boolean;
|
|
1302
1335
|
/**
|
|
1303
1336
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
1304
1337
|
*/
|
|
@@ -1363,7 +1396,7 @@ export namespace Components {
|
|
|
1363
1396
|
/**
|
|
1364
1397
|
* Aplica o foco no campo.
|
|
1365
1398
|
*/
|
|
1366
|
-
"setFocus": () => Promise<void>;
|
|
1399
|
+
"setFocus": (options?: TFocusOptions) => Promise<void>;
|
|
1367
1400
|
/**
|
|
1368
1401
|
* Se false cada opção na lista deve exibir somente o `label`.
|
|
1369
1402
|
*/
|
|
@@ -1568,6 +1601,10 @@ export namespace Components {
|
|
|
1568
1601
|
* @param text : texto que irá ser adicionado
|
|
1569
1602
|
*/
|
|
1570
1603
|
"appendTextToSelection": (text: string) => Promise<void>;
|
|
1604
|
+
/**
|
|
1605
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
1606
|
+
*/
|
|
1607
|
+
"autoFocus": boolean;
|
|
1571
1608
|
/**
|
|
1572
1609
|
* Ativa a opção de fazer as linhas do componente serem baseados na altura máxima.
|
|
1573
1610
|
*/
|
|
@@ -1632,6 +1669,10 @@ export namespace Components {
|
|
|
1632
1669
|
"value": string;
|
|
1633
1670
|
}
|
|
1634
1671
|
interface EzTextInput {
|
|
1672
|
+
/**
|
|
1673
|
+
* Se true o campo receberá o foco ao ser renderizado.
|
|
1674
|
+
*/
|
|
1675
|
+
"autoFocus": boolean;
|
|
1635
1676
|
/**
|
|
1636
1677
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
1637
1678
|
*/
|
|
@@ -1686,6 +1727,10 @@ export namespace Components {
|
|
|
1686
1727
|
"value": string;
|
|
1687
1728
|
}
|
|
1688
1729
|
interface EzTimeInput {
|
|
1730
|
+
/**
|
|
1731
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
1732
|
+
*/
|
|
1733
|
+
"autoFocus": boolean;
|
|
1689
1734
|
/**
|
|
1690
1735
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
1691
1736
|
*/
|
|
@@ -2802,6 +2847,10 @@ declare namespace LocalJSX {
|
|
|
2802
2847
|
"value"?: boolean;
|
|
2803
2848
|
}
|
|
2804
2849
|
interface EzComboBox {
|
|
2850
|
+
/**
|
|
2851
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
2852
|
+
*/
|
|
2853
|
+
"autoFocus"?: boolean;
|
|
2805
2854
|
/**
|
|
2806
2855
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
2807
2856
|
*/
|
|
@@ -2902,6 +2951,10 @@ declare namespace LocalJSX {
|
|
|
2902
2951
|
"value"?: any;
|
|
2903
2952
|
}
|
|
2904
2953
|
interface EzDateInput {
|
|
2954
|
+
/**
|
|
2955
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
2956
|
+
*/
|
|
2957
|
+
"autoFocus"?: boolean;
|
|
2905
2958
|
/**
|
|
2906
2959
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
2907
2960
|
*/
|
|
@@ -2940,6 +2993,10 @@ declare namespace LocalJSX {
|
|
|
2940
2993
|
"value"?: Date;
|
|
2941
2994
|
}
|
|
2942
2995
|
interface EzDateTimeInput {
|
|
2996
|
+
/**
|
|
2997
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
2998
|
+
*/
|
|
2999
|
+
"autoFocus"?: boolean;
|
|
2943
3000
|
/**
|
|
2944
3001
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
2945
3002
|
*/
|
|
@@ -3084,6 +3141,10 @@ declare namespace LocalJSX {
|
|
|
3084
3141
|
* Define se o campo irá funcionar de forma assíncrona.
|
|
3085
3142
|
*/
|
|
3086
3143
|
"asyncSearch"?: boolean;
|
|
3144
|
+
/**
|
|
3145
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
3146
|
+
*/
|
|
3147
|
+
"autoFocus"?: boolean;
|
|
3087
3148
|
/**
|
|
3088
3149
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
3089
3150
|
*/
|
|
@@ -3210,6 +3271,10 @@ declare namespace LocalJSX {
|
|
|
3210
3271
|
* Ativa inserção de registros no modo grade.
|
|
3211
3272
|
*/
|
|
3212
3273
|
"enableGridInsert"?: boolean;
|
|
3274
|
+
/**
|
|
3275
|
+
* Ativa inserção de registros no modo grade.
|
|
3276
|
+
*/
|
|
3277
|
+
"enableLockManger"?: boolean;
|
|
3213
3278
|
/**
|
|
3214
3279
|
* Habilita a seleção de várias linhas.
|
|
3215
3280
|
*/
|
|
@@ -3462,6 +3527,10 @@ declare namespace LocalJSX {
|
|
|
3462
3527
|
* Se false, o input não aceitará números negativos.
|
|
3463
3528
|
*/
|
|
3464
3529
|
"allowNegative"?: boolean;
|
|
3530
|
+
/**
|
|
3531
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
3532
|
+
*/
|
|
3533
|
+
"autoFocus"?: boolean;
|
|
3465
3534
|
/**
|
|
3466
3535
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
3467
3536
|
*/
|
|
@@ -3608,6 +3677,10 @@ declare namespace LocalJSX {
|
|
|
3608
3677
|
"locked"?: boolean;
|
|
3609
3678
|
}
|
|
3610
3679
|
interface EzSearch {
|
|
3680
|
+
/**
|
|
3681
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
3682
|
+
*/
|
|
3683
|
+
"autoFocus"?: boolean;
|
|
3611
3684
|
/**
|
|
3612
3685
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
3613
3686
|
*/
|
|
@@ -3857,6 +3930,10 @@ declare namespace LocalJSX {
|
|
|
3857
3930
|
"tabs"?: string | Array<Tab>;
|
|
3858
3931
|
}
|
|
3859
3932
|
interface EzTextArea {
|
|
3933
|
+
/**
|
|
3934
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
3935
|
+
*/
|
|
3936
|
+
"autoFocus"?: boolean;
|
|
3860
3937
|
/**
|
|
3861
3938
|
* Ativa a opção de fazer as linhas do componente serem baseados na altura máxima.
|
|
3862
3939
|
*/
|
|
@@ -3917,6 +3994,10 @@ declare namespace LocalJSX {
|
|
|
3917
3994
|
"value"?: string;
|
|
3918
3995
|
}
|
|
3919
3996
|
interface EzTextInput {
|
|
3997
|
+
/**
|
|
3998
|
+
* Se true o campo receberá o foco ao ser renderizado.
|
|
3999
|
+
*/
|
|
4000
|
+
"autoFocus"?: boolean;
|
|
3920
4001
|
/**
|
|
3921
4002
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
3922
4003
|
*/
|
|
@@ -3963,6 +4044,10 @@ declare namespace LocalJSX {
|
|
|
3963
4044
|
"value"?: string;
|
|
3964
4045
|
}
|
|
3965
4046
|
interface EzTimeInput {
|
|
4047
|
+
/**
|
|
4048
|
+
* Se true o campo de texto receberá o foco ao ser renderizado.
|
|
4049
|
+
*/
|
|
4050
|
+
"autoFocus"?: boolean;
|
|
3966
4051
|
/**
|
|
3967
4052
|
* Se false deixa de exibir a mensagem de erro dentro do campo.
|
|
3968
4053
|
*/
|
|
@@ -13,15 +13,18 @@ export default class DataBinder implements DUActionInterceptor {
|
|
|
13
13
|
private setContextDataBinder;
|
|
14
14
|
private applyDefaultValues;
|
|
15
15
|
bind(fields: Array<HTMLElement>, currentContextName: string, formMetadata: FormMetadata, recordsValidator: IRecordValidator): void;
|
|
16
|
+
getFormRequiredFields(): string[];
|
|
16
17
|
private disconnectDataUnit;
|
|
17
18
|
onDisconnectedCallback(): void;
|
|
18
19
|
private getCurrentRecordId;
|
|
19
20
|
markInvalid(field: IInvalidField): void;
|
|
20
21
|
setFocus(fieldName: string): void;
|
|
21
22
|
private clearInvalid;
|
|
23
|
+
private clearFieldError;
|
|
22
24
|
private updateValue;
|
|
23
25
|
validate(): Promise<void>;
|
|
24
26
|
static validateByDataunit(dataUnit: DataUnit): Promise<boolean>;
|
|
27
|
+
static getDataBindersByDataUnit(dataUnit: DataUnit): Array<DataBinder>;
|
|
25
28
|
private updateErrorMessage;
|
|
26
29
|
private getErrorMessage;
|
|
27
30
|
private updateBind;
|
package/package.json
CHANGED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const core = require('@sankhyalabs/core');
|
|
4
|
-
const ApplicationUtils = require('./ApplicationUtils-c9d1205c.js');
|
|
5
|
-
|
|
6
|
-
const buildFieldMetadata = (descriptor, config) => {
|
|
7
|
-
let { name, label, group } = Object.assign({}, config);
|
|
8
|
-
let { readOnly, required } = Object.assign({}, config);
|
|
9
|
-
let props;
|
|
10
|
-
let userInterface;
|
|
11
|
-
if (descriptor) {
|
|
12
|
-
label = label || descriptor.label;
|
|
13
|
-
name = name || descriptor.name;
|
|
14
|
-
required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
|
|
15
|
-
readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
|
|
16
|
-
props = descriptor.properties;
|
|
17
|
-
userInterface = descriptor.userInterface;
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
name, label, group,
|
|
21
|
-
readOnly, required,
|
|
22
|
-
props,
|
|
23
|
-
userInterface: userInterface || core.UserInterface.SHORTTEXT
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
class RecordValidationProcessor {
|
|
28
|
-
constructor(dataUnit, validationSource, validator) {
|
|
29
|
-
this._dataUnit = dataUnit;
|
|
30
|
-
this._validationSource = validationSource;
|
|
31
|
-
this._validator = validator;
|
|
32
|
-
}
|
|
33
|
-
validate(isSaving = true) {
|
|
34
|
-
return new Promise((accept, reject) => {
|
|
35
|
-
const records = this._dataUnit.getModifiedRecords();
|
|
36
|
-
for (let i = 0; i < records.length; i++) {
|
|
37
|
-
const record = records[i];
|
|
38
|
-
const invalidResults = [];
|
|
39
|
-
let validationResult = this.validateRequired(record);
|
|
40
|
-
if (validationResult && !validationResult.isValid) {
|
|
41
|
-
invalidResults.push(validationResult);
|
|
42
|
-
}
|
|
43
|
-
if (this._validator) {
|
|
44
|
-
validationResult = this._validator.validateRecord(record);
|
|
45
|
-
if (validationResult && !validationResult.isValid) {
|
|
46
|
-
invalidResults.push(validationResult);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
if (invalidResults.length > 0) {
|
|
50
|
-
if (!isSaving && invalidResults[0].invalidFields.length > 0) {
|
|
51
|
-
this._validationSource.markAsInvalid(invalidResults[0].invalidFields[0], record.__record__id__);
|
|
52
|
-
reject();
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
this.processValidationResult(invalidResults, record.__record__id__);
|
|
56
|
-
reject();
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return accept();
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
validateRequired(record) {
|
|
64
|
-
const requiredFields = this._validationSource.getRequiredFields();
|
|
65
|
-
const invalidFields = [];
|
|
66
|
-
new Set(requiredFields).forEach(field => {
|
|
67
|
-
const value = record[field];
|
|
68
|
-
if (value == undefined || value === "") {
|
|
69
|
-
const errorMessage = this._validationSource.getMessageForField(field, record.__record__id__);
|
|
70
|
-
if (errorMessage) {
|
|
71
|
-
invalidFields.push({ name: field, message: errorMessage });
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
invalidFields.push({ name: field, message: "Essa informação é obrigatória" });
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
if (invalidFields.length > 0) {
|
|
79
|
-
return { isValid: false, invalidFields, infoMessage: "Há pelo menos um campo obrigatório não preenchido." };
|
|
80
|
-
}
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
processValidationResult(validationResult, recordId) {
|
|
84
|
-
validationResult.forEach(invalidResult => {
|
|
85
|
-
const invalidFields = invalidResult.invalidFields;
|
|
86
|
-
this._dataUnit.savingCanceled(invalidFields, recordId);
|
|
87
|
-
if (invalidFields) {
|
|
88
|
-
invalidFields.forEach(field => {
|
|
89
|
-
this.markAsInvalid(field, recordId);
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
if (invalidResult.infoMessage) {
|
|
93
|
-
ApplicationUtils.ApplicationUtils.info(invalidResult.infoMessage);
|
|
94
|
-
}
|
|
95
|
-
if (invalidResult.errorMessage) {
|
|
96
|
-
const { errorTitle, errorMessage } = invalidResult;
|
|
97
|
-
ApplicationUtils.ApplicationUtils.error(errorTitle, errorMessage);
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
markAsInvalid(field, recordId) {
|
|
102
|
-
this._dataUnit.setInvalidField(field.name, field.message, recordId);
|
|
103
|
-
this._validationSource.markAsInvalid(field, recordId);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
exports.RecordValidationProcessor = RecordValidationProcessor;
|
|
108
|
-
exports.buildFieldMetadata = buildFieldMetadata;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { UserInterface } from '@sankhyalabs/core';
|
|
2
|
-
import { A as ApplicationUtils } from './ApplicationUtils-eaf91331.js';
|
|
3
|
-
|
|
4
|
-
const buildFieldMetadata = (descriptor, config) => {
|
|
5
|
-
let { name, label, group } = Object.assign({}, config);
|
|
6
|
-
let { readOnly, required } = Object.assign({}, config);
|
|
7
|
-
let props;
|
|
8
|
-
let userInterface;
|
|
9
|
-
if (descriptor) {
|
|
10
|
-
label = label || descriptor.label;
|
|
11
|
-
name = name || descriptor.name;
|
|
12
|
-
required = descriptor.required || (config === null || config === void 0 ? void 0 : config.required);
|
|
13
|
-
readOnly = descriptor.readOnly || (config === null || config === void 0 ? void 0 : config.readOnly);
|
|
14
|
-
props = descriptor.properties;
|
|
15
|
-
userInterface = descriptor.userInterface;
|
|
16
|
-
}
|
|
17
|
-
return {
|
|
18
|
-
name, label, group,
|
|
19
|
-
readOnly, required,
|
|
20
|
-
props,
|
|
21
|
-
userInterface: userInterface || UserInterface.SHORTTEXT
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
class RecordValidationProcessor {
|
|
26
|
-
constructor(dataUnit, validationSource, validator) {
|
|
27
|
-
this._dataUnit = dataUnit;
|
|
28
|
-
this._validationSource = validationSource;
|
|
29
|
-
this._validator = validator;
|
|
30
|
-
}
|
|
31
|
-
validate(isSaving = true) {
|
|
32
|
-
return new Promise((accept, reject) => {
|
|
33
|
-
const records = this._dataUnit.getModifiedRecords();
|
|
34
|
-
for (let i = 0; i < records.length; i++) {
|
|
35
|
-
const record = records[i];
|
|
36
|
-
const invalidResults = [];
|
|
37
|
-
let validationResult = this.validateRequired(record);
|
|
38
|
-
if (validationResult && !validationResult.isValid) {
|
|
39
|
-
invalidResults.push(validationResult);
|
|
40
|
-
}
|
|
41
|
-
if (this._validator) {
|
|
42
|
-
validationResult = this._validator.validateRecord(record);
|
|
43
|
-
if (validationResult && !validationResult.isValid) {
|
|
44
|
-
invalidResults.push(validationResult);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (invalidResults.length > 0) {
|
|
48
|
-
if (!isSaving && invalidResults[0].invalidFields.length > 0) {
|
|
49
|
-
this._validationSource.markAsInvalid(invalidResults[0].invalidFields[0], record.__record__id__);
|
|
50
|
-
reject();
|
|
51
|
-
break;
|
|
52
|
-
}
|
|
53
|
-
this.processValidationResult(invalidResults, record.__record__id__);
|
|
54
|
-
reject();
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return accept();
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
validateRequired(record) {
|
|
62
|
-
const requiredFields = this._validationSource.getRequiredFields();
|
|
63
|
-
const invalidFields = [];
|
|
64
|
-
new Set(requiredFields).forEach(field => {
|
|
65
|
-
const value = record[field];
|
|
66
|
-
if (value == undefined || value === "") {
|
|
67
|
-
const errorMessage = this._validationSource.getMessageForField(field, record.__record__id__);
|
|
68
|
-
if (errorMessage) {
|
|
69
|
-
invalidFields.push({ name: field, message: errorMessage });
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
invalidFields.push({ name: field, message: "Essa informação é obrigatória" });
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
if (invalidFields.length > 0) {
|
|
77
|
-
return { isValid: false, invalidFields, infoMessage: "Há pelo menos um campo obrigatório não preenchido." };
|
|
78
|
-
}
|
|
79
|
-
return undefined;
|
|
80
|
-
}
|
|
81
|
-
processValidationResult(validationResult, recordId) {
|
|
82
|
-
validationResult.forEach(invalidResult => {
|
|
83
|
-
const invalidFields = invalidResult.invalidFields;
|
|
84
|
-
this._dataUnit.savingCanceled(invalidFields, recordId);
|
|
85
|
-
if (invalidFields) {
|
|
86
|
-
invalidFields.forEach(field => {
|
|
87
|
-
this.markAsInvalid(field, recordId);
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
if (invalidResult.infoMessage) {
|
|
91
|
-
ApplicationUtils.info(invalidResult.infoMessage);
|
|
92
|
-
}
|
|
93
|
-
if (invalidResult.errorMessage) {
|
|
94
|
-
const { errorTitle, errorMessage } = invalidResult;
|
|
95
|
-
ApplicationUtils.error(errorTitle, errorMessage);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
markAsInvalid(field, recordId) {
|
|
100
|
-
this._dataUnit.setInvalidField(field.name, field.message, recordId);
|
|
101
|
-
this._validationSource.markAsInvalid(field, recordId);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export { RecordValidationProcessor as R, buildFieldMetadata as b };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as a,h as r,H as e,g as o}from"./p-23a36bb6.js";import{ElementIDUtils as i}from"@sankhyalabs/core";const s=class{constructor(r){t(this,r),this.ezChange=a(this,"ezChange",7),this.LINE_HEIGHT=24,this.HEIGHT_RATIO=1.4,this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.rows=4,this.canShowError=!0,this.mode="regular",this.enableResize=!1,this.autoRows=!1}observeErrorMessage(){var t,a,r,e;"string"==typeof this.errorMessage&&""!==this.errorMessage?(null===(t=this._container)||void 0===t||t.classList.add("hasError"),null===(a=this._messageBoxElem)||void 0===a||a.classList.add("hasError")):(null===(r=this._container)||void 0===r||r.classList.remove("hasError"),null===(e=this._messageBoxElem)||void 0===e||e.classList.remove("hasError"))}observeValue(t,a){this._inputElem&&t!=a&&(this.canChangeValue()&&(this._inputElem.value=this.value||""),this.adjustFloatingLabel(),this.errorMessage="",this.ezChange.emit(this.value))}observeMode(){null==this._initialRows&&(this._initialRows=this.rows>0?this.rows:void 0);const t=this._initialRows>0?this._initialRows:"slim"!=this.mode?4:2;t!==this.rows&&(this.rows=t)}observeRows(){const t=this.rows>0?this.rows:"slim"!=this.mode?4:2;t!==this.rows&&this.updateRows(t)}observeAutoRows(){var t,a;this.autoRows?(null===(t=this._resizeObserver)||void 0===t||t.disconnect(),this.initializeResizeObserver()):null===(a=this._resizeObserver)||void 0===a||a.disconnect()}async appendTextToSelection(t){var a,r,e,o;const i=this._inputElem.selectionStart,s=this._inputElem.selectionEnd,l=null!==(r=null===(a=this.value)||void 0===a?void 0:a.substring(0,i))&&void 0!==r?r:"",n=null!==(o=null===(e=this.value)||void 0===e?void 0:e.substring(s))&&void 0!==o?o:"";this.value=`${l}${t}${n}`;const d=i+t.length;this._inputElem.setSelectionRange(i===s?d:i,d),await this.setFocus()}async setFocus(){this._inputElem.focus()}async setBlur(){this._inputElem.blur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}canChangeValue(){return this._inputElem&&(this.value||"")!==this._inputElem.value}adjustFloatingLabel(){if(this.label&&this._labelElem){const t=this.value&&this.value.toString().length>0,a=this._labelElem.classList.contains("textarea__label--floated");t||this.isFocused()?a||this._labelElem.classList.add("textarea__label--floated"):a&&this._labelElem.classList.remove("textarea__label--floated")}}isFocused(){return null!==this._hostElement.shadowRoot.activeElement}updateRows(t){this.rows=t,this._initialRows=t}calculateMaxRows(){const t=this._hostElement.parentElement;if(!t)return;const a=Math.max((null==t?void 0:t.clientHeight)||0,this.LINE_HEIGHT);if(a>0){const t=Math.floor(a/this.LINE_HEIGHT*this.HEIGHT_RATIO);t!==this.rows&&this.updateRows(t)}}initializeResizeObserver(){if(!this.autoRows)return;const t=this._hostElement.parentElement;if(t){try{null!=this._resizeObserver&&this._resizeObserver.unobserve(t),this._resizeObserver=new ResizeObserver(this.calculateMaxRows.bind(this)),this._resizeObserver.observe(t)}catch(t){console.warn(t)}this.calculateMaxRows()}}handleFocusout(){this.adjustFloatingLabel(),this._container&&this._container.classList.contains("textarea--focus")&&this._container.classList.remove("textarea--focus")}handleChange(){this.canChangeValue()&&(this.value=this._inputElem.value)}handleFocus(){this.label&&this._labelElem&&!this._labelElem.classList.contains("textarea__label--floated")&&this._labelElem.classList.add("textarea__label--floated"),this._container&&!this._container.classList.contains("textarea--focus")&&this._container.classList.add("textarea--focus")}connectedCallback(){this.initializeResizeObserver()}disconnectedCallback(){var t;null===(t=this._resizeObserver)||void 0===t||t.disconnect()}componentDidLoad(){this.observeErrorMessage(),this.adjustFloatingLabel(),this.observeMode()}render(){return i.addIDInfoIfNotExists(this._hostElement,"input"),r(e,null,r("div",{class:"textarea "+(this.enabled?"":"textarea--disabled"),ref:t=>this._container=t},this.label&&"slim"!=this.mode?r("label",{ref:t=>this._labelElem=t,class:this.enabled?"textarea__label":"textarea__label textarea__label--disabled",onClick:()=>this._inputElem.focus(),title:this.label},this.label):null,r("textarea",{onFocus:()=>this.handleFocus(),"data-element-id":i.getInternalIDInfo("input"),ref:t=>this._inputElem=t,value:this.value,disabled:!this.enabled,class:{"textarea--slim":"slim"===this.mode,"textarea--resizable":this.enableResize},placeholder:"slim"===this.mode&&this.label?this.label:"",onInput:()=>{this.handleChange()},onFocusout:()=>{this.handleFocusout()},rows:this.rows})),this.canShowError&&"slim"!=this.mode&&r("span",{class:"message-box",ref:t=>this._messageBoxElem=t,title:this.errorMessage},this.errorMessage))}get _hostElement(){return o(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"],mode:["observeMode"],rows:["observeRows"],autoRows:["observeAutoRows"]}}};s.style=":host{--text-area--width:100%;--text-area--border-radius:var(--border--radius-medium, 12px);--text-area--font-size:var(--text--medium, 14px);--text-area--font-family:var(--font-pattern, Arial);--text-area--font-weight:var(--text-weight--medium, 400);--text-area--color:var(--title--primary, #2B3A54);--text-area__input--background-color:var(--background--light, #FFFFFF);--text-area__input--border:var(--border--medium, 2px solid);--text-area__input--border-color:var(--color--strokes,#DCE0E8);--text-area__input--focus--border-color:var(--color--primary, #008561);--text-area__input--disabled--background-color:var(--background--medium, #F0F3F7);--text-area__input--disabled--color:var(--text--primary, #626E82);--text-area__input--disabled--border--color:var(--color--strokes,#DCE0E8);--text-area__input--error--border-color:var(--color-alert--error-800,#BD0025);--text-area__message_box--font-size:var(--text--small, 12px);--text-area__message_box--info--color:var(--color--success, #22085d);--text-area__message_box--error--color:var(--color-alert--error-800,#BD0025);--text-area__label--floating--top:6px;--text-area__label--padding-top:12px;--text-area__label--padding-left:14px;--text-area__label--padding-right:12px;--text-area__scrollbar--color-default:var(--scrollbar--default, #626e82);--text-area__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--text-area__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--text-area__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--text-area__scrollbar--border-radius:var(--border--radius-small, 6px);--text-area__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--text-area--width)}textarea{box-sizing:border-box;border:none;resize:none;width:100%;padding:0;background:none;font-weight:var(--text-area--font-weight);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);color:var(--text-area--color);margin-top:calc(var(--space--medium, 12px) + 4px);scrollbar-width:thin;scrollbar-color:var(--text-area__scrollbar--color-clicked) var(--text-area__scrollbar--color-background)}textarea:focus{outline:none}textarea:disabled{background-color:transparent;color:var(--text-area__input--disabled--color);border:var(--text-area__input--disabled--border);cursor:not-allowed}textarea::-webkit-scrollbar{background-color:var(--text-area__scrollbar--color-background);width:var(--text-area__scrollbar--width);max-width:var(--text-area__scrollbar--width);min-width:var(--text-area__scrollbar--width)}textarea::-webkit-scrollbar-thumb{background-color:var(--text-area__scrollbar--color-default);border-radius:var(--text-area__scrollbar--border-radius)}textarea::-webkit-scrollbar-track{background-color:var(--text-area__scrollbar--color-background);border-radius:var(--text-area__scrollbar--border-radius)}textarea::-webkit-scrollbar-thumb:vertical:hover,textarea::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--text-area__scrollbar--color-hover)}textarea::-webkit-scrollbar-thumb:vertical:active,textarea::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--text-area__scrollbar--color-clicked)}.textarea{width:100%;box-sizing:border-box;padding-left:var(--space--medium);padding-right:var(--space--extra-small);border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--border-color);background-color:var(--text-area__input--background-color)}.textarea--disabled{border-radius:var(--text-area--border-radius);border:var(--text-area__input--border);border-color:var(--text-area__input--disabled--border--color);background-color:var(--text-area__input--disabled--background-color);cursor:not-allowed}.textarea--resizable{resize:both}.textarea--focus{border-color:var(--text-area__input--focus--border-color)}.textarea.hasError{color:var(--text-area--color);border-color:var(--text-area__input--error--border-color)}.message-box{min-height:16px;min-width:100%;margin-top:3px;line-height:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--text-area--font-family);font-size:var(--text-area__message_box--font-size);color:var(--text-area__message_box--info--color)}.hasError{color:var(--text-area__message_box--error--color)}.textarea__label{box-sizing:border-box;position:absolute;z-index:var(--visible);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-transition:font-size .05s, top .05s;transition:font-size .05s, top .05s;width:calc(100% - var(--text-area__label--padding-right));left:var(--text-area--space--medium);font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color);top:var(--text-area__label--padding-top);left:var(--text-area__label--padding-left);padding-right:var(--text-area__label--padding-right)}.textarea__label--floated{font-family:var(--text-area--font-family);font-size:var(--text--extra-small);color:var(--text--primary);top:var(--text-area__label--floating--top)}.textarea__label--disabled{color:var(--text-area__input--disabled--color);cursor:not-allowed}.textarea--slim{margin-top:var(--space--small, 6px)}.textarea--slim::-webkit-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::-moz-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:-ms-input-placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim::placeholder{font-family:var(--text-area--font-family);font-size:var(--text-area--font-size);font-weight:var(--text-area--font-weight);color:var(--text-area--color)}.textarea--slim:disabled::-webkit-input-placeholder,.textarea--slim:disabled:-moz-placeholder,.textarea--slim:disabled::-moz-placeholder,.textarea--slim:disabled:-ms-input-placeholder,.textarea--slim:disabled::placeholder{color:var(--text-area__input--disabled--color);cursor:not-allowed}";export{s as ez_text_area}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,f as o,h as a,g as e}from"./p-23a36bb6.js";import{D as l}from"./p-ab574d59.js";import{FloatingManager as d,ElementIDUtils as n}from"@sankhyalabs/core";class r{constructor(t,i,o,a,e,l,d,n,r,c){this.title=t,this.message=i,this.dialogType=o,this.confirm=a,this.icon=e,this.labelCancel=l,this.labelConfirm=d,this.btnConfirmDanger=n,this.callBack=r,this.beforeClose=c}}const c=class{constructor(o){t(this,o),this.ezCancel=i(this,"ezCancel",7),this.ezAccept=i(this,"ezAccept",7),this.PRIMARY_BUTTON_ID="EZ_DIALOG_PRIMARY_BUTTON",this.labelConfirm="Sim",this.labelCancel="Não",this.btnConfirmDanger=!1,this._messageQueue=[],this._canFocusOnPrimaryBtn=!1,this.confirm=!1,this.dialogType=void 0,this.message=void 0,this.opened=!1,this.personalizedIconPath=void 0,this.ezTitle=void 0,this.beforeClose=void 0}observeConfig(t,i){this.manageOverflow(),t&&!i&&(this._canFocusOnPrimaryBtn=!0)}handleKeyDown(t){"Escape"!==t.key&&"Esc"!==t.key||this.handleButtonClick(!1)}manageOverflow(){window.document.body.style.overflow=this.opened?"hidden":""}manageOverlay(){this.opened?this._overlayId=d.subscribeOverlayControl(this._overlayRef):d.unsubscribeOverlayControl(this._overlayRef||this._overlayId)}handleButtonClick(t){this._currentMessage.beforeClose&&!1===this._currentMessage.beforeClose(t)||(this.opened=this._messageQueue.length>0,this._currentMessage.callBack&&this._currentMessage.callBack(t),t?this.ezAccept.emit(t):this.ezCancel.emit(t),this._currentMessage=this._messageQueue.shift(),o(this))}async show(t,i,o,a,e,l,d,n,c){return this.opened=!0,new Promise((s=>{this._messageQueue.push(new r(t,i,o,a,e,l,d,n,s,c))}))}isCritical(t){return t===l.CRITICAL}getIconElement(t){if(t.dialogType!==l.DEFAULT)return a("ez-icon",{class:"changeable__icon "+this.getIconClass(t.dialogType),size:"small",iconName:this.getIconName(t)})}getIconClass(t){return this.isCritical(t)?"title-icon--critical":t===l.SUCCESS?"title-icon--success":t===l.WARN?"title-icon--warn":""}getIconName(t){return t.icon?t.icon:this.isCritical(t.dialogType)?"alert-circle-inverted":t.dialogType===l.WARN?"warning-outline":t.dialogType===l.SUCCESS?"check":void 0}getTypeIndicatorElement(t){if(t.dialogType!==l.DEFAULT)return a("div",{class:this.getClassIconIndicator(t.dialogType)})}getClassIconIndicator(t){return this.isCritical(t)?"dialog__critical--indicator":t==l.SUCCESS?"dialog__success--indicator":t==l.WARN?"dialog__warning--indicator":""}getClassContainer(t){return(t.dialogType||l.DEFAULT)===l.DEFAULT?"dialog__container dialog__container--default":"dialog__container"}getClassTitleLabel(t){return null==this.getIconElement(t)?"title title__label title__label--no-icon":"title title__label"}componentWillRender(){this._currentMessage||(this._messageQueue.length>0?this._currentMessage=this._messageQueue.pop():this.opened&&(this._currentMessage=new r(this.ezTitle,this.message,this.dialogType,this.confirm,this.personalizedIconPath,this.labelCancel,this.labelConfirm,this.btnConfirmDanger,null,this.beforeClose)))}componentDidLoad(){n.addIDInfo(this._element)}componentDidRender(){this.manageOverlay(),this.focusOnDialog(),this.handleFocusOnPrimaryButton()}focusOnDialog(){const t=this._element.shadowRoot.querySelector(".overlay .dialog");t instanceof HTMLDivElement&&(t.style.outline="none",t.focus())}handleFocusOnPrimaryButton(){this._canFocusOnPrimaryBtn&&(this.focusOnPrimaryButton(),this._canFocusOnPrimaryBtn=!1)}focusOnPrimaryButton(){const t=this._element.shadowRoot.querySelector(`#${this.PRIMARY_BUTTON_ID}`),i=null==t?void 0:t.shadowRoot.querySelector("button");null==i||i.focus()}render(){return this.opened&&this._currentMessage?a("div",{class:"overlay",ref:t=>this._overlayRef=t},a("div",{tabindex:"-1",class:"dialog"},this.getTypeIndicatorElement(this._currentMessage),a("div",{class:this.getClassContainer(this._currentMessage)},a("div",{class:"title__container"},a("div",{class:"title__box"},this.getIconElement(this._currentMessage),a("div",{class:this.getClassTitleLabel(this._currentMessage),innerHTML:this._currentMessage.title,"data-element-id":n.getInternalIDInfo("title")})),a("button",{class:"btn-close",onClick:()=>this.handleButtonClick(!1),"data-element-id":n.getInternalIDInfo("buttonClose")})),a("div",{class:"message",innerHTML:this._currentMessage.message,"data-element-id":n.getInternalIDInfo("message")}),this._currentMessage.confirm&&a("div",{class:"button-yes-no__container"},a("ez-button",{class:"button__cancel","data-element-id":n.getInternalIDInfo("cancel"),label:this._currentMessage.labelCancel,onClick:()=>this.handleButtonClick(!1)}),a("ez-button",{id:this.PRIMARY_BUTTON_ID,class:this._currentMessage.btnConfirmDanger?"button__confirm--danger":"button__confirm","data-element-id":n.getInternalIDInfo("confirm"),label:this._currentMessage.labelConfirm,onClick:()=>this.handleButtonClick(!0)})),!this._currentMessage.confirm&&a("div",{class:"button__confirm--container"},a("ez-button",{id:this.PRIMARY_BUTTON_ID,label:"Ok","data-element-id":n.getInternalIDInfo("ok"),class:"button__confirm",onClick:()=>this.handleButtonClick(!0)}))))):null}get _element(){return e(this)}static get watchers(){return{opened:["observeConfig"]}}};c.style=':host{--dialog__container-padding:var(--space--large, 24px);--dialog__btn__close--background-color:var(--title--primary, #2b3a54);--dialog__btn__no--padding-right:var(--space--large, 24px);--dialog__btn__close__image:url(\'data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg%22%3E<path d="M 7.0060773,5.995511 11.461972,1.5397722 c 0.132856,-0.1328413 0.207547,-0.3130253 0.207547,-0.5009046 0,-0.18786999 -0.07469,-0.3680541 -0.207547,-0.5009048 -0.132857,-0.13284126 -0.31302,-0.20748126 -0.500927,-0.20748126 -0.187812,0 -0.36807,0.07464 -0.500926,0.20748126 L 6.0042244,4.9937015 1.5482921,0.5379628 C 1.4154357,0.40512154 1.2352533,0.33048154 1.0473657,0.33048154 c -0.18787813,0 -0.36807,0.07464 -0.50092647,0.20748126 -0.13285646,0.1328507 -0.20749026,0.31303481 -0.20749026,0.5009048 0,0.1878793 0.0746338,0.3680633 0.20749026,0.5009046 L 5.0023715,5.995511 0.54643923,10.452213 c -0.0676086,0.06534 -0.12151598,0.14352 -0.15859681,0.229916 -0.0370714,0.08639 -0.0565645,0.1794 -0.0573369,0.27335 -7.724e-4,0.09404 0.0171873,0.187331 0.0528423,0.274293 0.0356455,0.08705 0.0882688,0.166087 0.15479148,0.23256 0.0665321,0.06648 0.14562277,0.11897 0.2326735,0.154567 0.0870507,0.0356 0.18031463,0.05344 0.2743433,0.05259 0.094029,-8.5e-4 0.1869528,-0.02049 0.2733331,-0.0576 0.08639,-0.0372 0.1645078,-0.09121 0.2298029,-0.158817 L 6.0042244,6.9973204 10.460119,11.453078 c 0.132856,0.132851 0.313114,0.207444 0.500926,0.207444 0.187907,0 0.36807,-0.07459 0.500927,-0.207444 0.132856,-0.13285 0.207547,-0.313006 0.207547,-0.500904 0,-0.187898 -0.07469,-0.368054 -0.207547,-0.500905 z"/></svg>\');--dialog__title--font-pattern:var(--font-pattern, "Roboto");--dialog__title--padding-left:var(--space--small, 6px);--dialog__title__container--padding-bottom:var(--space--medium, 12px);--dialog__title--weight--large:var(--text-weight--large, 600);--dialog__body--font-pattern:var(--font-pattern, "Roboto");--dialog__body--text-shadow:var(--text-shadow, "0 0 0 #353535, 0 0 1px transparent");--dialog__body--text-weight--medium:var(--text-weight--medium, 400);--dialog__body--padding-bottom:var(--space--large, 24px);--dialog__body--font-size:var(--text--medium, 14px);--dialog__body--color:var(--text--primary, #626e82);--dialog__icon--color:var(--text--inverted, #fff);--dialog__critical--background-color:var(--color--alert-error-800, #BD0025);--dialog__warning--background-color:var(--color--alert-warning-500, #EFB103);--dialog__success--background-color:var(--color--alert-success-500, #00523c);--dialog-z-index:var(--elevation--100, 100);--dialog--warning__image:url(\'data: image/svg+xml;utf8,<svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg"><path d="M 7.5,0 0,13 h 15 z m 0,2.73684 5.1341,8.89476 H 2.36591 Z M 6.81818,5.47368 V 8.21053 H 8.18182 V 5.47368 Z m 0,4.10527 V 10.9474 H 8.18182 V 9.57895"/></svg>\');--dialog--critical__image:url(\'data: image/svg+xml;utf8,<svg width="13" height="13" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg"><path d="M 7.6534493,6.4948538 12.762051,1.3864299 C 12.914368,1.2341297 13,1.027552 13,0.81215179 13,0.59676225 12.914369,0.39018443 12.762051,0.23787352 12.609733,0.08557341 12.40318,0 12.187747,0 11.972425,0 11.765762,0.08557341 11.613445,0.23787352 L 6.5048431,5.3462975 1.3961977,0.23787352 C 1.2438802,0.08557341 1.0373043,0 0.82189458,0 0.60649572,0 0.39990901,0.08557341 0.24759147,0.23787352 0.09527396,0.39018443 0.00970766,0.59676225 0.00970766,0.81215179 c 0,0.21540021 0.0855663,0.42197791 0.23788381,0.57427811 L 5.3562369,6.4948538 0.24759147,11.604381 c -0.0775121,0.07492 -0.13931586,0.164543 -0.18182835,0.263595 -0.04250169,0.09905 -0.064850182,0.205678 -0.0657357237,0.313391 -8.8554258e-4,0.107813 0.0197049337,0.214771 0.0605827337,0.314472 0.04086693,0.0998 0.10119858,0.190415 0.17746563,0.266625 0.0762779,0.07622 0.16695386,0.136398 0.26675594,0.177208 0.099802,0.04082 0.20672745,0.06127 0.31452961,0.06029 0.1078025,-9.53e-4 0.21433799,-0.0235 0.31337139,-0.06604 0.099045,-0.04265 0.1886052,-0.104571 0.263465,-0.182081 L 6.5048431,7.6434102 11.613445,12.751855 c 0.152317,0.152312 0.35898,0.237831 0.574302,0.237831 0.215433,0 0.421986,-0.08552 0.574304,-0.237831 C 12.914368,12.599545 13,12.393 13,12.177578 13,11.962157 12.91437,11.75561 12.762051,11.603299 Z"/></svg>\')}h2{margin-block-start:0;margin-block-end:0;margin-inline-start:0px;margin-inline-end:0px}.overlay{position:fixed;display:flex;top:0px;z-index:var(--dialog-z-index);left:0px;width:100%;box-sizing:border-box;height:100vh;background-color:rgba(var(--rgb-background--overlay), var(--opacity--soft));backdrop-filter:blur(var(--background-blur--medium))}.dialog{display:flex;width:80%;position:absolute;top:50%;left:50%;margin-right:-50%;box-sizing:border-box;transform:translate(-50%, -50%);box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122)}@media screen and (min-width: 768px){.dialog{width:50%}}@media screen and (min-width: 992px){.dialog{width:33.33333%}}.dialog__container{width:100%;background:#FFFF;border-radius:0px 6px 6px 0px;box-sizing:border-box;padding:var(--dialog__container-padding)}.dialog__container--default{border-radius:6px 6px 6px 6px}.dialog__critical--indicator{box-sizing:border-box;width:12px;border-radius:6px 0px 0px 6px;background-color:var(--dialog__critical--background-color)}.dialog__warning--indicator{width:12px;border-radius:6px 0px 0px 6px;box-sizing:border-box;background-color:var(--dialog__warning--background-color)}.dialog__success--indicator{width:12px;border-radius:6px 0px 0px 6px;box-sizing:border-box;background-color:var(--dialog__success--background-color)}.message{font-size:var(--dialog__body--font-size);font-weight:var(--dialog__body--text-weight--medium);font-family:var(--dialog__body--font-pattern);text-shadow:var(--dialog__body--text-shadow);padding-bottom:var(--dialog__body--padding-bottom);color:var(--dialog__body--color);max-height:30vh;content-visibility:auto;margin-bottom:24px;overflow-y:auto}.changeable__icon{background:var(--dialog__warning--background-color);--ez-icon--color:var(--dialog__icon--color);display:grid;place-items:center;width:26px;height:26px;border-radius:50%}.changeable__icon.critical{background:var(--dialog__critical--background-color)}.title{display:flex;font-family:var(--dialog__title--font-pattern);margin:0;font-weight:var(--dialog__title--weight--large);line-height:0;color:var(--title--primary)}.title__container{display:flex;padding-bottom:var(--dialog__title__container--padding-bottom)}.title__box{display:flex;width:100%;align-items:center;align-self:center}.title__label{padding-left:var(--dialog__title--padding-left)}.title__label--no-icon{padding-left:0}.title-icon--critical{background-color:var(--dialog__critical--background-color)}.title-icon--success{background-color:var(--dialog__success--background-color)}.title-icon--warn{background-color:var(--dialog__warning--background-color)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;width:10%;border:none;background-color:unset;cursor:pointer}.btn-close::after{content:\'\';display:flex;background-color:var(--dialog__btn__close--background-color);width:12px;height:12px;-webkit-mask-image:var(--dialog__btn__close__image);mask-image:var(--dialog__btn__close__image)}.title-icon::after{content:\'\';display:flex;background-color:#FFFF;width:15px;height:15px;-webkit-mask-image:var(--dialog--warning__image);mask-image:var(--dialog--warning__image)}.button-yes-no__container{display:flex;box-sizing:border-box;align-self:center;align-items:center;justify-content:flex-end}.button__cancel{padding-right:var(--dialog__btn__no--padding-right)}.button__confirm{--ez-button--background-color:var(--color--primary);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color--primary-600);--ez-button--hover-color:var(--color--inverted)}.button__confirm--danger{--ez-button--background-color:var(--color--alert-error-800, #BD0025);--ez-button--color:var(--color--inverted);--ez-button--hover--background-color:var(--color-alert--error-900, #a10020);--ez-button--hover-color:var(--color--inverted)}.button__confirm--container{display:flex;justify-content:flex-end}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}';export{c as ez_dialog}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as s,h as i,g as e}from"./p-23a36bb6.js";import{NumberUtils as h,StringUtils as r,ElementIDUtils as o}from"@sankhyalabs/core";import{C as n}from"./p-9e11fc7b.js";const a=class{constructor(i){t(this,i),this.ezChange=s(this,"ezChange",7),this.ezStartChange=s(this,"ezStartChange",7),this.ezCancelWaitingChange=s(this,"ezCancelWaitingChange",7),this._focused=!1,this._changePending=!1,this._valuePromiseCallbacks=[],this._value=void 0,this.label=void 0,this.value=void 0,this.enabled=!0,this.canShowError=!0,this.errorMessage=void 0,this.allowNegative=!0,this.precision=void 0,this.prettyPrecision=void 0,this.mode="regular"}async setFocus(t){this._textInput.setFocus(t)}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async getValueAsync(){return this._changePending?new Promise((t=>{this._valuePromiseCallbacks.push(t)})):Promise.resolve(this.value)}observeLabel(){this._textInput&&(this._textInput.label=this.label)}observeErrorMessage(){var t;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(t=this.errorMessage)||void 0===t?void 0:t.trim())||this.setInputValue())}observeValue(t,s){this._textInput&&t!=s&&this.handleNewValue(t,s),this._changePending=!1}observePrecision(){this._textInput&&this.setInputValue()}handleNewValue(t,s){const i=this.validateValue(t),e=this.validateValue(s);if(null===i&&(this._value=""),i===e)return;const h=this.getTextValue(i)||"",r=this.getParsedNumber(h);(this._value||"")===h||void 0===r&&this._focused||(this._value=h,this._focused=!1,this.errorMessage=""),this.ezChange.emit(null===i?void 0:i)}validateValue(t){return isNaN(t)||void 0===t?null:t}getTextValue(t){if(null==t)return;let s=this.precision>=0?h.format(t.toString(),Number(this.precision),Number(this.prettyPrecision)):t.toString();return 0===this.precision?r.replaceAll(s,".",""):s}changeValue(t){this.errorMessage="",this.value!=t?this.value=void 0===t?null:t:(this.setInputValue(),this.ezCancelWaitingChange.emit())}setError(t){this.value=null,this.errorMessage=t,this.ezCancelWaitingChange.emit()}handleBlur(){if(this._changePending)try{const t=this.getParsedNumber();if(void 0!==t&&isNaN(t))this.setError("O valor digitado não é um número válido");else try{this.changeValue(t)}catch(t){return void this.setError(t.message)}}finally{for(const t of this._valuePromiseCallbacks)t(this.value);this._valuePromiseCallbacks=[]}}handleInput(){this.getParsedNumber()!==this.value&&(this._focused=!0,this._changePending=!0,this.ezStartChange.emit({waitmessage:"",blocking:!1}))}getParsedNumber(t=this._textInput.value){return(null==t?void 0:t.trim())?h.stringToNumber(t):void 0}setInputValue(){const t=this.getTextValue(this.value)||"";(this._value||"")!==t&&(this._value=t)}componentDidLoad(){n.applyVarsTextInput(this._elem,this._textInput),this.setInputValue()}render(){o.addIDInfoIfNotExists(this._elem,"input");let t=this.precision>0?"0123456789,.":"0123456789";return this.allowNegative&&(t+="-"),i("ez-text-input",{class:"number__input","data-element-id":o.getInternalIDInfo("textInput"),ref:t=>this._textInput=t,"data-slave-mode":"true",label:this.label,onBlur:()=>this.handleBlur(),onInput:()=>this.handleInput(),restrict:t,enabled:this.enabled,errorMessage:this.errorMessage,mode:this.mode,canShowError:this.canShowError,value:this._value})}get _elem(){return e(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"],precision:["observePrecision"],prettyPrecision:["observePrecision"]}}};a.style=":host{display:block;width:100%}.number__input{height:100%}";export{a as ez_number_input}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as o,c as i,h as t,H as e,g as s}from"./p-23a36bb6.js";import{ObjectUtils as r,FloatingManager as l,ElementIDUtils as a}from"@sankhyalabs/core";import"./p-2187f86c.js";import{C as h}from"./p-9e11fc7b.js";import"./p-ab574d59.js";import"./p-b853763b.js";import"./p-4607fb89.js";const n=class{constructor(t){o(this,t),this.ezChange=i(this,"ezChange",7),this._changeDeboucingTimeout=null,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._textEmptyList="Nenhum resultado encontrado",this._lookupMode=!1,this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.limitCharsToSearch=3,this.value=void 0,this.label=void 0,this.enabled=!0,this.options=void 0,this.errorMessage=void 0,this.showSelectedValue=!1,this.showOptionValue=!1,this.suppressSearch=!1,this.optionLoader=void 0,this.suppressEmptyOption=!1,this.stopPropagateEnterKeyEvent=!1,this.canShowError=!0,this.mode="regular",this.hideErrorOnFocusOut=!0,this.listOptionsPosition=void 0,this.isTextSearch=!1}observeErrorMessage(){var o;this._textInput&&(this._textInput.errorMessage=this.errorMessage,(null===(o=this.errorMessage)||void 0===o?void 0:o.trim())||this.setInputValue())}observeValue(o,i){if(this._textInput&&o!=i)try{if("string"==typeof o)return void this.setInputValue();const t=this.getSelectedOption(o),e=this.getSelectedOption(i),s=this.getSelectedOption(this.value);this.isDifferentValues(s,t)&&(this.value=t),this.isDifferentValues(t,e)&&(this.setInputValue(),this._lookupMode||this.ezChange.emit(null===t?void 0:t)),this.resetOptions()}finally{this._lookupMode=!1}}observeOptions(o,i){r.equals(o,i)||this.loadOptions(b.PRELOAD)}async getValueAsync(){return new Promise(this._showLoading?o=>{let i=setInterval((()=>{this._showLoading||(clearInterval(i),o(this.value))}),100)}:o=>o(this.value))}async setFocus(){this._textInput&&this._textInput.setFocus()}async setBlur(){this._textInput&&this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async clearValue(){this.clearSearch()}scrollListener(){var o;null!=this._floatingID&&((null===(o=this.listOptionsPosition)||void 0===o?void 0:o.hardPosition)?this.hideOptions():window.requestAnimationFrame((()=>{this.updateListPosition()})))}updateListPosition(){let{verticalPosition:o,horizontalPosition:i,fromBottom:t,fromRight:e,bottomLimit:s,hardPosition:r}=this.getListPosition();const l=this._listWrapper.getBoundingClientRect(),a=this._listContainer.getBoundingClientRect(),h=this._textInput.getBoundingClientRect(),n=s||window.innerHeight;!t&&(l.top<0||a.bottom+l.height>n)&&(t=!0),r||(o=o||0,i=i||0,t?o=window.innerHeight-h.top+o:o+=a.top,e?i=window.innerWidth-h.right+i:i+=a.left),null!=o&&(this._listWrapper.style[t?"bottom":"top"]=`${o}px`,this._listWrapper.style[t?"top":"bottom"]=""),null!=i&&(this._listWrapper.style[e?"right":"left"]=`${i}px`,this._listWrapper.style[e?"left":"right"]="")}getListPosition(){return this.listOptionsPosition?this.listOptionsPosition:{verticalPosition:this.errorMessage||!this.canShowError||"slim"===this.mode?6:-13}}isDifferentValues(o,i){return r.objectToString(o||{})!==r.objectToString(i||{})}getFormattedText(o){if(null!=o)return this.showSelectedValue&&null!=o.value?o.label?`${o.value} - ${o.label}`:o.value:o.label}getText(){const o=this.getSelectedOption(this.value),i=this.getFormattedText(o);if(null!=i)return String(i).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"')}getSelectedOption(o){return"string"==typeof o||o instanceof String?this._visibleOptions.find((i=>i.value===o)):o}updateVisibleOptions(){let o=this._source||[];if(this._criteria){const i=this._criteria.toUpperCase();o=o.filter((o=>o.label.toLocaleUpperCase().indexOf(i)>-1))}this.hasToAddEmptyoption(o)&&(o=[{value:void 0,label:""}].concat(o)),this._visibleOptions=o,this._maxWidthValue=this.getMaxWidthValue()}hasToAddEmptyoption(o){return!this.suppressEmptyOption&&!o.filter((o=>!o.value)).length}getMaxWidthValue(){var o;if(this.showOptionValue){const i=[];return null===(o=this._visibleOptions)||void 0===o||o.forEach((o=>{const t=this.getWidthValue(o.value);i.includes(t)||i.push(t)})),i.length>1?Math.max(...i):0}return 0}getWidthValue(o){if(null!=this._itemValueBasis){const i=this._itemValueBasis;if(null!=o)return i.innerHTML=o,i.clientWidth>0?i.clientWidth+2:0;i.innerHTML=""}return 0}buildItem(o,i){const e=this.showOptionValue&&this._maxWidthValue>0?`${this._maxWidthValue}px`:"";return o.label=o.label||o.value,t("li",{class:i===this._preSelection?"item preselected":"item",id:`item_${o.value}`,onMouseDown:()=>this.selectOption(o),onMouseOver:()=>this._preSelection=i},this.showOptionValue?t("span",{class:"item__value",title:o.value,style:{width:e,minWidth:e,maxWidth:e}},o.value):void 0,t("span",{class:"item__label "+(this.showOptionValue?"item__label--bold":""),title:o.label},o.label))}showOptions(){this.enabled&&(this.isOptionsVisible()||(this._resizeObserver&&this._resizeObserver.observe(this._textInput),this._floatingID=l.float(this._listWrapper,this._listContainer,{autoClose:!0,isFixed:!0,backClickListener:()=>this.hideOptions()}),this.setFocus(),window.requestAnimationFrame((()=>{this.updateListPosition(),this.listOptionsPosition||this._listWrapper.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}))))}hideOptions(){void 0!==this._floatingID&&l.close(this._floatingID),this._floatingID=void 0,this._resizeObserver&&this._resizeObserver.unobserve(this._textInput)}isOptionsVisible(){return void 0!==this._floatingID&&l.isFloating(this._floatingID)}nextOption(){this.isOptionsVisible()&&(this.showOptions(),this._preSelection=void 0===this._preSelection?0:Math.min(this._preSelection+1,this._visibleOptions.length-1),this.scrollToOption(this._visibleOptions[this._preSelection]))}previousOption(){this._preSelection=void 0===this._preSelection?0:Math.max(this._preSelection-1,0),this.scrollToOption(this._visibleOptions[this._preSelection])}scrollToOption(o){window.requestAnimationFrame((()=>{const i=(null==o?void 0:o.value)?this._optionsList.querySelector(`li#item_${o.value.replace(/[<>\[\]#=]/g,"\\$&").replace(/:/g,"\\:")}`):void 0;i&&i.scrollIntoView({behavior:"smooth",block:"nearest"})}))}selectCurrentOption(){void 0!==this._preSelection&&(this.selectOption(this._visibleOptions[this._preSelection]),this._preSelection=void 0)}updateSource(o){this._startLoading=!1,o instanceof Promise?(this._showLoading=!0,o.then((o=>{this._showLoading=!1,this.updateSource(o)})).catch((()=>this._showLoading=!1)),this.updateVisibleOptions()):(this._showLoading=!1,Array.isArray(o)?(this._source=o,this.updateVisibleOptions(),this._tabPressed&&(this._tabPressed=!1)):this.selectOption(o))}selectOption(o){var i,t;const e=this.getSelectedOption(this.value);(null===(i=null==e?void 0:e.value)||void 0===i?void 0:i.toString())!==(null===(t=null==o?void 0:o.value)||void 0===t?void 0:t.toString())||null==e&&null!=o&&"value"in o?this.value=(null==o?void 0:o.value)?o:void 0:this.resetOptions()}loadOptions(o,i=""){this._criteria=i,this._startLoading=!0,this.updateSource(this.optionLoader?this.optionLoader({mode:o,argument:i}):this.options)}cancelPreselection(){!this._textInput.value&&this.value?this.selectOption(void 0):window.setTimeout((()=>{this.setInputValue(!1)}),this._deboucingTime)}setInputValue(o=!0){const i=this.getText();(this._textInput.value||"")!==i&&(this._textInput.value=i,o&&(this.errorMessage=null))}clearSearch(){this.value=null}resetOptions(){this.hideOptions(),this._criteria=void 0,this._preSelection=void 0,this.updateVisibleOptions()}componentWillLoad(){if(void 0===this.options){this.options=[];const o=this.el.querySelectorAll("option");o&&o.forEach((o=>{let i=o.innerText,t=o.getAttribute("value");t||(t=i),this.options.push({label:i,value:t}),o.hidden=!0}))}this.loadOptions(b.PRELOAD)}componentDidRender(){var o;void 0===this._floatingID&&this._listWrapper.remove(),null===(o=this._optionsList)||void 0===o||o.querySelectorAll(".item").forEach((o=>{a.addIDInfoIfNotExists(o,"itemComboBox")}))}componentDidLoad(){h.applyVarsTextInput(this.el,this._textInput),this.setInputValue(!1),this._resizeObserver=new ResizeObserver((o=>{window.requestAnimationFrame((()=>{if(!Array.isArray(o)||!o.length)return;const{clientWidth:i}=this._listContainer;i>0&&this._listWrapper&&(this._listWrapper.style.width=`${i}px`)}))}))}handlerIconClick(){this.showOptions()}onTextInputChangeHandler(o){var i;if(this.clearDeboucingTimeout(),this._startLoading)return void(this._changeDeboucingTimeout=window.setTimeout((()=>{this.onTextInputChangeHandler(o)}),this._deboucingTime));const t=null===(i=o.target.value)||void 0===i?void 0:i.trim();this._criteria||(this._textInput.value=o.data||t),this._criteria=t,t?(this.updateVisibleOptions(),this.showOptions()):(this._preSelection=void 0,this.updateVisibleOptions())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}onTextInputClickHandler(){this.showOptions()}keyDownHandler(o){switch(this._tabPressed=!1,o.ctrlKey&&("f"!==o.key&&"F"!==o.key||(this.loadOptions(b.ADVANCED),o.stopPropagation(),o.stopImmediatePropagation(),o.preventDefault())),o.key){case"ArrowDown":this.showOptions(),this.nextOption(),o.stopPropagation();break;case"ArrowUp":this.showOptions(),this.previousOption(),o.stopPropagation();break;case"Enter":this.handleEventPropagation(o),this.selectCurrentOption();break;case"Escape":this.isOptionsVisible()&&o.stopPropagation(),this.cancelPreselection(),this.resetOptions();break;case"Tab":this._tabPressed=!0,this.isOptionsVisible()&&this.selectCurrentOption(),this.resetOptions()}}handleEventPropagation(o){this._listContainer.hasChildNodes()&&this.stopPropagateEnterKeyEvent&&o.stopPropagation()}onTextInputFocusOutHandler(){this.hideErrorOnFocusOut&&this.cancelPreselection()}canShowListOptions(){return!this._showLoading&&this._visibleOptions.length>0}render(){return a.addIDInfoIfNotExists(this.el,"input"),t(e,null,t("ez-text-input",{"data-element-id":a.getInternalIDInfo("textInput"),class:this.suppressSearch?"suppressed-search-input":"",ref:o=>this._textInput=o,"data-slave-mode":"true",enabled:this.enabled&&!this.suppressSearch,onInput:o=>this.onTextInputChangeHandler(o),onClick:()=>this.onTextInputClickHandler(),onFocusout:()=>this.onTextInputFocusOutHandler(),onKeyDown:o=>this.keyDownHandler(o),label:this.label,canShowError:this.canShowError,errorMessage:this.errorMessage,mode:this.mode},t("button",{class:"btn",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handlerIconClick()},t("ez-icon",{iconName:"chevron-down"}))),t("section",{class:"list-container",ref:o=>this._listContainer=o},t("div",{class:"list-wrapper",ref:o=>this._listWrapper=o},t("ul",{class:"list-options",ref:o=>this._optionsList=o},!this._showLoading&&0===this._visibleOptions.length&&t("div",{class:"message"},t("span",{class:"message__no-result"},this._textEmptyList)),this._showLoading&&t("div",{class:"message"},t("div",{class:"message__loading"})),this.showOptionValue?t("span",{class:"item__value item__value--hidden",ref:o=>this._itemValueBasis=o}):void 0,this.canShowListOptions()&&this._visibleOptions.map(((o,i)=>this.buildItem(o,i)))))))}get el(){return s(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"],options:["observeOptions"]}}};var b;!function(o){o.ADVANCED="ADVANCED",o.PRELOAD="PRELOAD",o.PREDICTIVE="PREDICTIVE"}(b||(b={})),n.style=":host{--ez-combo-box--height:42px;--ez-combo-box--width:100%;--ez-combo-box__icon--width:48px;--ez-combo-box--border-radius:var(--border--radius-medium, 12px);--ez-combo-box--border-radius-small:var(--border--radius-small, 6px);--ez-combo-box--font-size:var(--text--medium, 14px);--ez-combo-box--font-family:var(--font-pattern, Arial);--ez-combo-box--font-weight--large:var(--text-weight--large, 500);--ez-combo-box--font-weight--medium:var(--text-weight--medium, 400);--ez-combo-box--background-color--xlight:var(--background--xlight, #fff);--ez-combo-box--background-medium:var(--background--medium, #f0f3f7);--ez-combo-box--line-height:calc(var(--text--medium, 14px) + 4px);--ez-combo-box__input--background-color:var(--background--medium, #e0e0e0);--ez-combo-box__input--border:var(--border--medium, 2px solid);--ez-combo-box__input--border-color:var(--ez-combo-box__input--background-color);--ez-combo-box__input--focus--border-color:var(--color--primary, #008561);--ez-combo-box__input--disabled--background-color:var(--color--disable-secondary, #F2F5F8);--ez-combo-box__input--disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__input--error--border-color:#CC2936;--ez-combo-box__btn--color:var(--title--primary, #2B3A54);--ez-combo-box__btn-disabled--color:var(--text--disable, #AFB6C0);--ez-combo-box__btn-hover--color:var(--color--primary, #4e4e4e);--ez-combo-box__label--color:var(--title--primary, #2B3A54);--ez-combo-box__list-title--primary:var(--title--primary, #2B3A54);--ez-combo-box__list-text--primary:var(--text--primary, #626e82);--ez-combo-box__list-height:calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium) + 4px);--ez-combo-box__list-min-width:64px;--ez-combo-box--space--medium:var(--space--medium, 12px);--ez-combo-box--space--small:var(--space--small, 6px);--ez-combo-box__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-combo-box__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-combo-box__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-combo-box__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-combo-box__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-combo-box__scrollbar--width:var(--space--medium, 12px);display:flex;flex-wrap:wrap;position:relative;width:var(--ez-combo-box--width)}ez-icon{--ez-icon--color:inherit;font-weight:var(--text-weight--large, 600)}.suppressed-search-input{--ez-text-input__input--border-color:var(--color--strokes, #dce0e8);--ez-text-input__input--disabled--background-color:var(--background--xlight, #fff);--ez-text-input__input--disabled--color:var(--title--primary, #2B3A54)}.list-container{min-width:var(--ez-combo-box__list-min-width);position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:0;z-index:var(--more-visible, 2);max-height:calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small) + 9px);background-color:var(--ez-combo-box--background-color--xlight);border-radius:var(--ez-combo-box--border-radius);box-shadow:var(--shadow, 0px 0px 16px 0px #000);padding:var(--ez-combo-box--space--small)}.list-options{box-sizing:border-box;width:100%;height:100%;padding:0;display:flex;flex-direction:column;scroll-behavior:smooth;overflow:auto;scrollbar-width:thin;gap:3px;scrollbar-color:var(--ez-combo-box__scrollbar--color-clicked) var(--ez-combo-box__scrollbar--color-background)}.list-options::-webkit-scrollbar{background-color:var(--ez-combo-box__scrollbar--color-background);width:var(--ez-combo-box__scrollbar--width);max-width:var(--ez-combo-box__scrollbar--width);min-width:var(--ez-combo-box__scrollbar--width)}.list-options::-webkit-scrollbar-track{background-color:var(--ez-combo-box__scrollbar--color-background);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb{background-color:var(--ez-combo-box__scrollbar--color-default);border-radius:var(--ez-combo-box__scrollbar--border-radius)}.list-options::-webkit-scrollbar-thumb:vertical:hover,.list-options::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-combo-box__scrollbar--color-hover)}.list-options::-webkit-scrollbar-thumb:vertical:active,.list-options::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-combo-box__scrollbar--color-clicked)}.item{display:flex;align-items:center;width:100%;box-sizing:border-box;list-style-type:none;cursor:pointer;border-radius:var(--ez-combo-box--border-radius-small);padding:var(--ez-combo-box--space--small);min-height:var(--ez-combo-box__list-height);gap:var(--space--small, 6px)}.item__value,.item__label{flex-basis:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size);line-height:var(--ez-combo-box--line-height)}.item__label{font-weight:var(--ez-combo-box--font-weight--medium)}.item__label--bold{font-weight:var(--ez-combo-box--font-weight--large)}.item__value{text-align:center;color:var(--ez-combo-box__list-text--primary);font-weight:var(--ez-combo-box--font-weight--large)}.item__value--hidden{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}.item__label{text-align:left}.message{text-align:center;display:flex;justify-content:center;align-items:center;list-style-type:none;min-height:var(--ez-combo-box__list-height)}.message__no-result{color:var(--ez-combo-box__list-title--primary);font-family:var(--ez-combo-box--font-family);font-size:var(--ez-combo-box--font-size)}.message__loading{border-radius:50%;width:14px;height:14px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;border:3px solid var(--ez-combo-box__list-title--primary);border-top:3px solid transparent}li:hover{background-color:var(--ez-combo-box--background-medium)}.preselected{background-color:var(--background--medium)}.btn{outline:none;border:none;background:none;cursor:pointer;color:var(--ez-combo-box__btn--color)}.btn:disabled{cursor:unset;color:var(--ez-combo-box__btn-disabled--color)}.btn:disabled:hover{cursor:not-allowed;color:var(--ez-combo-box__btn-disabled--color)}.btn:hover{color:var(--ez-combo-box__btn-hover--color)}.btn__close{visibility:hidden}ez-text-input:hover .btn__close,ez-text-input:focus .btn__close{visibility:visible}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";export{n as ez_combo_box}
|