@sankhyalabs/ezui 1.1.74 → 1.1.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/dist/cjs/ApplicationUtils-d1c1db56.js +35 -0
  2. package/dist/cjs/AssetsUtils-dd585fba.js +24 -0
  3. package/dist/cjs/DataUnit-fdd7c70e.js +474 -0
  4. package/dist/cjs/DateUtils-716769e0.js +46 -0
  5. package/dist/cjs/ez-action-chip.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-application.cjs.entry.js +28 -0
  7. package/dist/cjs/ez-button_11.cjs.entry.js +111771 -0
  8. package/dist/cjs/ez-calendar.cjs.entry.js +212 -0
  9. package/dist/cjs/ez-collapsible-box_6.cjs.entry.js +630 -0
  10. package/dist/cjs/ez-combo-box.cjs.entry.js +250 -0
  11. package/dist/cjs/ez-date-time-input.cjs.entry.js +144 -0
  12. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-form.cjs.entry.js +1838 -0
  14. package/dist/cjs/ez-label-chip.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-number-input.cjs.entry.js +61 -190
  16. package/dist/cjs/ez-popover.cjs.entry.js +3 -3
  17. package/dist/cjs/ez-popup.cjs.entry.js +2 -2
  18. package/dist/cjs/ez-time-input.cjs.entry.js +9 -8
  19. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  20. package/dist/cjs/ezui.cjs.js +3 -3
  21. package/dist/cjs/form-metadata.cjs.entry.js +129 -0
  22. package/dist/cjs/index-262d703b.js +7442 -0
  23. package/dist/cjs/{index-4d2896bb.js → index-4e4bae01.js} +3 -5
  24. package/dist/cjs/loader.cjs.js +3 -3
  25. package/dist/collection/collection-manifest.json +8 -3
  26. package/dist/collection/components/ez-application/ez-application.css +3 -0
  27. package/dist/collection/components/ez-application/ez-application.js +37 -0
  28. package/dist/collection/components/ez-button/ez-button.css +78 -44
  29. package/dist/collection/components/ez-button/ez-button.js +36 -4
  30. package/dist/collection/components/ez-calendar/ez-calendar.css +132 -65
  31. package/dist/collection/components/ez-calendar/ez-calendar.js +180 -33
  32. package/dist/collection/components/ez-check/ez-check.css +78 -78
  33. package/dist/collection/components/ez-check/ez-check.js +3 -3
  34. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.css +34 -34
  35. package/dist/collection/components/ez-collapsible-box/ez-collapsible-box.js +12 -12
  36. package/dist/collection/components/ez-combo-box/ez-combo-box.css +67 -51
  37. package/dist/collection/components/ez-combo-box/ez-combo-box.js +1 -0
  38. package/dist/collection/components/ez-date-input/ez-date-input.css +17 -3
  39. package/dist/collection/components/ez-date-input/ez-date-input.js +2 -2
  40. package/dist/collection/components/ez-date-time-input/ez-date-time-input.css +49 -0
  41. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +254 -0
  42. package/dist/collection/components/ez-form/ez-form.js +37 -35
  43. package/dist/collection/components/ez-form/store/Form.actions.js +16 -16
  44. package/dist/collection/components/ez-form/store/Form.reducer.js +17 -17
  45. package/dist/collection/components/ez-form/subcomponents/DataUnit.js +11 -11
  46. package/dist/collection/components/ez-form/subcomponents/form-metadata.js +12 -12
  47. package/dist/collection/components/ez-form/subcomponents/place-holder.js +1 -1
  48. package/dist/collection/components/ez-form/subcomponents/structure/Field.js +22 -22
  49. package/dist/collection/components/ez-form/subcomponents/structure/FormSheet.js +1 -1
  50. package/dist/collection/components/ez-form/subcomponents/structure/NavigationBar.js +9 -9
  51. package/dist/collection/components/ez-grid/controller/DataUnitBridge.js +21 -0
  52. package/dist/collection/components/ez-grid/controller/EzGridController.js +1 -0
  53. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +203 -0
  54. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +41 -0
  55. package/dist/collection/components/ez-grid/controller/ag-grid/i18n/pt-BR.js +75 -0
  56. package/dist/collection/components/ez-grid/controller/ag-grid/mock/Server.js +69 -0
  57. package/dist/collection/components/ez-grid/controller/ag-grid/template/HeaderColumnTemplate.js +12 -0
  58. package/dist/collection/components/ez-grid/ez-grid.css +15 -0
  59. package/dist/collection/components/ez-grid/ez-grid.js +414 -0
  60. package/dist/collection/components/ez-grid/subcomponents/gridconfig/grid-config.css +105 -0
  61. package/dist/collection/components/ez-grid/subcomponents/gridconfig/grid-config.js +354 -0
  62. package/dist/collection/components/ez-grid/subcomponents/select-box/select-box.css +7 -0
  63. package/dist/collection/components/ez-grid/subcomponents/select-box/select-box.js +66 -0
  64. package/dist/collection/components/ez-icon/ez-icon.css +1 -1
  65. package/dist/collection/components/ez-list/ez-list.css +227 -44
  66. package/dist/collection/components/ez-list/ez-list.js +529 -149
  67. package/dist/collection/components/ez-modal/ez-modal.css +4 -4
  68. package/dist/collection/components/ez-modal/ez-modal.js +1 -1
  69. package/dist/collection/components/ez-number-input/ez-number-input.css +7 -162
  70. package/dist/collection/components/ez-number-input/ez-number-input.js +90 -281
  71. package/dist/collection/components/ez-popover/ez-popover.css +10 -6
  72. package/dist/collection/components/ez-popup/ez-popup.css +25 -27
  73. package/dist/collection/components/ez-tabselector/ez-tabselector.css +0 -1
  74. package/dist/collection/components/ez-tabselector/ez-tabselector.js +3 -3
  75. package/dist/collection/components/ez-text-area/ez-text-area.js +1 -0
  76. package/dist/collection/components/ez-text-input/ez-text-input.css +60 -60
  77. package/dist/collection/components/ez-text-input/ez-text-input.js +17 -16
  78. package/dist/collection/components/ez-time-input/ez-time-input.js +3 -2
  79. package/dist/collection/components/ez-upload/ez-upload.css +41 -41
  80. package/dist/collection/components/ez-upload/ez-upload.js +55 -52
  81. package/dist/collection/components/test-du/test-du.css +3 -0
  82. package/dist/collection/components/test-du/test-du.js +45 -0
  83. package/dist/collection/servidor.js +94 -94
  84. package/dist/collection/utils/{Application.js → ApplicationUtils.js} +4 -4
  85. package/dist/collection/utils/AssetsUtils.js +19 -0
  86. package/dist/custom-elements/index.d.ts +36 -6
  87. package/dist/custom-elements/index.js +121017 -3022
  88. package/dist/esm/ApplicationUtils-01280a9d.js +33 -0
  89. package/dist/esm/AssetsUtils-3803e935.js +22 -0
  90. package/dist/esm/DataUnit-1cd45202.js +464 -0
  91. package/dist/esm/DateUtils-0a1bbd7a.js +44 -0
  92. package/dist/esm/ez-action-chip.entry.js +1 -1
  93. package/dist/esm/ez-application.entry.js +24 -0
  94. package/dist/esm/ez-button_11.entry.js +111757 -0
  95. package/dist/esm/ez-calendar.entry.js +208 -0
  96. package/dist/esm/ez-collapsible-box_6.entry.js +621 -0
  97. package/dist/esm/ez-combo-box.entry.js +246 -0
  98. package/dist/esm/ez-date-time-input.entry.js +140 -0
  99. package/dist/esm/ez-dialog.entry.js +1 -1
  100. package/dist/esm/ez-form.entry.js +1834 -0
  101. package/dist/esm/ez-label-chip.entry.js +1 -1
  102. package/dist/esm/ez-number-input.entry.js +61 -190
  103. package/dist/esm/ez-popover.entry.js +3 -3
  104. package/dist/esm/ez-popup.entry.js +2 -2
  105. package/dist/esm/ez-time-input.entry.js +4 -3
  106. package/dist/esm/ez-toast.entry.js +1 -1
  107. package/dist/esm/ezui.js +3 -3
  108. package/dist/esm/form-metadata.entry.js +125 -0
  109. package/dist/esm/{index-33153059.js → index-1dacecd3.js} +3 -6
  110. package/dist/esm/index-cfd5e193.js +7433 -0
  111. package/dist/esm/loader.js +3 -3
  112. package/dist/ezui/ezui.esm.js +1 -1
  113. package/dist/ezui/p-1ea8187e.entry.js +369 -0
  114. package/dist/ezui/p-37a611ea.js +1 -0
  115. package/dist/ezui/p-45689464.entry.js +1 -0
  116. package/dist/ezui/{p-34d288d0.entry.js → p-516d0e0f.entry.js} +1 -1
  117. package/dist/ezui/p-57291f97.entry.js +1 -0
  118. package/dist/ezui/{p-0d476efb.entry.js → p-5a86e18a.entry.js} +1 -1
  119. package/dist/ezui/{p-47406a6e.entry.js → p-5da66d3e.entry.js} +1 -1
  120. package/dist/ezui/p-69416bec.entry.js +1 -0
  121. package/dist/ezui/p-7107d7ef.js +1 -0
  122. package/dist/ezui/p-7ef97c5f.entry.js +1 -0
  123. package/dist/ezui/p-88f45a83.entry.js +1 -0
  124. package/dist/ezui/p-8c51a6aa.entry.js +1 -0
  125. package/dist/ezui/p-8f4851a6.js +1 -0
  126. package/dist/ezui/p-9dfd537e.js +1 -0
  127. package/dist/ezui/{p-8818da66.entry.js → p-a18a2d7b.entry.js} +1 -1
  128. package/dist/ezui/p-a223eed8.entry.js +1 -0
  129. package/dist/ezui/p-b36308e7.js +1 -0
  130. package/dist/ezui/p-c0af195b.entry.js +1 -0
  131. package/dist/ezui/p-c6d469fc.entry.js +1 -0
  132. package/dist/ezui/p-c89629eb.js +1 -0
  133. package/dist/ezui/p-e7ee2836.entry.js +1 -0
  134. package/dist/ezui/p-f7b835cf.entry.js +1 -0
  135. package/dist/types/components/ez-application/ez-application.d.ts +12 -0
  136. package/dist/types/components/ez-button/ez-button.d.ts +5 -0
  137. package/dist/types/components/ez-calendar/ez-calendar.d.ts +25 -1
  138. package/dist/types/components/ez-check/ez-check.d.ts +1 -1
  139. package/dist/types/components/ez-collapsible-box/ez-collapsible-box.d.ts +3 -3
  140. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +42 -0
  141. package/dist/types/components/ez-form/ez-form.d.ts +9 -9
  142. package/dist/types/components/ez-form/subcomponents/DataUnit.d.ts +1 -1
  143. package/dist/types/components/ez-form/subcomponents/form-metadata.d.ts +1 -1
  144. package/dist/types/components/ez-grid/controller/DataUnitBridge.d.ts +8 -0
  145. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +195 -0
  146. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +34 -0
  147. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +11 -0
  148. package/dist/types/components/ez-grid/controller/ag-grid/i18n/pt-BR.d.ts +2 -0
  149. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +8 -0
  150. package/dist/types/components/ez-grid/ez-grid.d.ts +78 -0
  151. package/dist/types/components/ez-grid/subcomponents/gridconfig/grid-config.d.ts +30 -0
  152. package/dist/types/components/ez-grid/subcomponents/select-box/select-box.d.ts +9 -0
  153. package/dist/types/components/ez-list/ez-list.d.ts +70 -17
  154. package/dist/types/components/ez-number-input/ez-number-input.d.ts +33 -50
  155. package/dist/types/components/ez-tabselector/ez-tabselector.d.ts +1 -1
  156. package/dist/types/components/ez-text-input/ez-text-input.d.ts +1 -1
  157. package/dist/types/components/ez-upload/ez-upload.d.ts +10 -7
  158. package/dist/types/components/test-du/test-du.d.ts +6 -0
  159. package/dist/types/components.d.ts +321 -149
  160. package/dist/types/stencil-public-runtime.d.ts +6 -4
  161. package/dist/types/utils/{Application.d.ts → ApplicationUtils.d.ts} +1 -1
  162. package/dist/types/utils/AssetsUtils.d.ts +1 -0
  163. package/package.json +10 -8
  164. package/react/components.d.ts +6 -1
  165. package/react/components.js +6 -1
  166. package/react/components.js.map +1 -1
  167. package/dist/cjs/RequestMetadata-2cd01e8a.js +0 -531
  168. package/dist/cjs/ez-button_16.cjs.entry.js +0 -4065
  169. package/dist/cjs/ez-list.cjs.entry.js +0 -174
  170. package/dist/cjs/ez-modal.cjs.entry.js +0 -65
  171. package/dist/collection/components/ez-numeric-input/ez-numeric-input.css +0 -13
  172. package/dist/collection/components/ez-numeric-input/ez-numeric-input.js +0 -185
  173. package/dist/esm/RequestMetadata-c265c9d5.js +0 -527
  174. package/dist/esm/ez-button_16.entry.js +0 -4046
  175. package/dist/esm/ez-list.entry.js +0 -170
  176. package/dist/esm/ez-modal.entry.js +0 -61
  177. package/dist/ezui/p-061d21ba.entry.js +0 -1
  178. package/dist/ezui/p-15743b09.entry.js +0 -1
  179. package/dist/ezui/p-25953d44.entry.js +0 -1
  180. package/dist/ezui/p-4df6f855.js +0 -1
  181. package/dist/ezui/p-50464bdf.entry.js +0 -1
  182. package/dist/ezui/p-67410dfa.entry.js +0 -1
  183. package/dist/ezui/p-7f3bc6d9.entry.js +0 -1
  184. package/dist/ezui/p-907de194.entry.js +0 -1
  185. package/dist/ezui/p-9dfccb16.js +0 -1
  186. package/dist/types/components/ez-numeric-input/ez-numeric-input.d.ts +0 -45
@@ -2,65 +2,81 @@
2
2
 
3
3
  /* dimensions */
4
4
  /*@doc Define altura do input.*/
5
- --combo-box--height: 42px;
5
+ --ez-combo-box--height: 42px;
6
6
  /*@doc Define largura do input.*/
7
- --combo-box--width: 100%;
7
+ --ez-combo-box--width: 100%;
8
8
  /*@doc Define largura do slot do ícone do input.*/
9
- --combo-box__icon--width: 48px;
9
+ --ez-combo-box__icon--width: 48px;
10
10
 
11
11
  /* general */
12
12
  /*@doc Define o raio da borda do input.*/
13
- --combo-box--border-radius: var(--border--radius-medium, 12px);
13
+ --ez-combo-box--border-radius: var(--border--radius-medium, 12px);
14
14
  /*@doc Define o raio da borda do input quando pequeno.*/
15
- --combo-box--border-radius-small: var(--border--radius-small, 6px);
15
+ --ez-combo-box--border-radius-small: var(--border--radius-small, 6px);
16
16
  /*@doc Define o tamanho da fonte dentro do input.*/
17
- --combo-box--font-size: var(--text--medium, 14px);
17
+ --ez-combo-box--font-size: var(--text--medium, 14px);
18
18
  /*@doc Define a família da fonte dentro do input.*/
19
- --combo-box--font-family: var(--font-pattern, Arial);
19
+ --ez-combo-box--font-family: var(--font-pattern, Arial);
20
20
  /*@doc Define o peso da fonte dentro do input quando pesada.*/
21
- --combo-box--font-weight--large: var(--text-weight--large, 500);
21
+ --ez-combo-box--font-weight--large: var(--text-weight--large, 500);
22
22
  /*@doc Define o peso da fonte dentro do input quando média.*/
23
- --combo-box--font-weight--medium: var(--text-weight--medium, 400);
23
+ --ez-combo-box--font-weight--medium: var(--text-weight--medium, 400);
24
24
  /*@doc Define a cor de fundo da lista de opções.*/
25
- --combo-box--background-color--xlight: var(--background--xlight, #fff);
25
+ --ez-combo-box--background-color--xlight: var(--background--xlight, #fff);
26
+ /*@doc Define a cor de fundo dos itens da lista de opções.*/
27
+ --ez-combo-box--background-medium: var(--background--medium, #f0f3f7);
26
28
 
27
29
  /* input */
28
30
  /*@doc Define a cor de fundo do input.*/
29
- --combo-box__input--background-color: var(--background--medium, #e0e0e0);
31
+ --ez-combo-box__input--background-color: var(--background--medium, #e0e0e0);
30
32
  /*@doc Define o estilo da borda do input.*/
31
- --combo-box__input--border: var(--border--medium, 2px solid);
33
+ --ez-combo-box__input--border: var(--border--medium, 2px solid);
32
34
  /*@doc Define a cor da borda do input.*/
33
- --combo-box__input--border-color: var(--combo-box__input--background-color);
35
+ --ez-combo-box__input--border-color: var(--ez-combo-box__input--background-color);
34
36
  /*no modo normal usamos a borda com a mesma cor do bg*/
35
37
  /*@doc Define a cor da borda do input quando focado.*/
36
- --combo-box__input--focus--border-color: var(--color--primary, #008561);
38
+ --ez-combo-box__input--focus--border-color: var(--color--primary, #008561);
37
39
  /*@doc Define a cor de fundo do input quando desabilitado.*/
38
- --combo-box__input--disabled--background-color: var(--color--disable-secondary, #F2F5F8);
40
+ --ez-combo-box__input--disabled--background-color: var(--color--disable-secondary, #F2F5F8);
39
41
  /*@doc Define a cor do texto dentro do input quando desabilitado.*/
40
- --combo-box__input--disabled--color: var(--text--disable, #AFB6C0);
42
+ --ez-combo-box__input--disabled--color: var(--text--disable, #AFB6C0);
41
43
  /*@doc Define a cor da borda do input quando com erro.*/
42
- --combo-box__input--error--border-color: #CC2936;
44
+ --ez-combo-box__input--error--border-color: #CC2936;
45
+
46
+ /* buttons */
47
+ /*@doc Define a cor do botão de pesquisa do componente.*/
48
+ --ez-combo-box__btn-search--background-color: var(--text--primary, #626e82);
49
+ /*@doc Define a cor do botão de pesquisa do componente quando desabilitado.*/
50
+ --ez-combo-box__btn-search-disabled--background-color: var(--text--disable, #AFB6C0);
51
+ /*@doc Define a cor do botão de pesquisa do componente quando o mouse está sobre ele.*/
52
+ --ez-combo-box__btn-search-hover--background-color: var(--color--primary, #4e4e4e);
53
+ /*@doc Define a cor do botão de opções do componente.*/
54
+ --ez-combo-box__btn-options--background-color: var(--text--primary, #626e82);
55
+ /*@doc Define a cor do botão de opções do componente quando desabilitado.*/
56
+ --ez-combo-box__btn-options-disabled--background-color: var(--text--disable, #AFB6C0);
57
+ /*@doc Define a cor do botão de opções do componente quando o mouse está sobre ele.*/
58
+ --ez-combo-box__btn-options-hover--background-color: var(--color--primary, #4e4e4e);
43
59
 
44
60
  /* label */
45
61
  /*@doc Define a cor do label.*/
46
- --combo-box__label--color: var(--title--primary, #919191);
62
+ --ez-combo-box__label--color: var(--title--primary, #919191);
47
63
 
48
64
  /* list */
49
65
  /*@doc Define a cor do texto da lista de opções.*/
50
- --combo-box__list-text--primary: var(--text--primary, #626e82);
66
+ --ez-combo-box__list-text--primary: var(--text--primary, #626e82);
51
67
  /*@doc Define a altura do box da lista de opções.*/
52
- --combo-box__list-height: calc(var(--combo-box--font-size) + var(--combo-box--space--medium));
68
+ --ez-combo-box__list-height: calc(var(--ez-combo-box--font-size) + var(--ez-combo-box--space--medium));
53
69
 
54
70
  /*@doc Contém a imagem do ícone que aciona a lista.*/
55
- --combo-box--drop-down__image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="16px"><path d="M 1.8585859,3.0707069 7.9999998,9.2121212 14.141414,3.0707069 16,5.0101006 7.9999998,12.929293 0,4.9292932 Z"/></svg>');
71
+ --ez-combo-box__drop-down-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="16px"><path d="M 1.8585859,3.0707069 7.9999998,9.2121212 14.141414,3.0707069 16,5.0101006 7.9999998,12.929293 0,4.9292932 Z"/></svg>');
56
72
  /*@doc Contém a imagem do ícone de pesquisa.*/
57
- --combo-box--search__image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="22px" width="22px"><path d="m 9.4,2.3 c 4.1,0 7.4,3.2 7.4,7.2 0,1.8 -0.7,3.4 -1.8,4.7 l 0.3,0.3 h 0.9 l 5.7,5.6 -1.7,1.7 -5.7,-5.6 V 15.3 L 14.3,15 C 13,16.1 11.3,16.7 9.5,16.7 5.3,16.7 2,13.5 2,9.5 2,5.5 5.3,2.3 9.4,2.3 m 0,2.2 c -2.9,0 -5.1,2.2 -5.1,5 0,2.8 2.3,5 5.1,5 2.8,0 5.1,-2.2 5.1,-5 0,-2.8 -2.2,-5 -5.1,-5 z"/></svg>');
73
+ --ez-combo-box__search-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="22px" width="22px"><path d="m 9.4,2.3 c 4.1,0 7.4,3.2 7.4,7.2 0,1.8 -0.7,3.4 -1.8,4.7 l 0.3,0.3 h 0.9 l 5.7,5.6 -1.7,1.7 -5.7,-5.6 V 15.3 L 14.3,15 C 13,16.1 11.3,16.7 9.5,16.7 5.3,16.7 2,13.5 2,9.5 2,5.5 5.3,2.3 9.4,2.3 m 0,2.2 c -2.9,0 -5.1,2.2 -5.1,5 0,2.8 2.3,5 5.1,5 2.8,0 5.1,-2.2 5.1,-5 0,-2.8 -2.2,-5 -5.1,-5 z"/></svg>');
58
74
 
59
75
  /* espaçamento */
60
76
  /*@doc Define um espaçamento mediano entre elementos do componente.*/
61
- --combo-box--space--medium: var(--space--medium, 12px);
77
+ --ez-combo-box--space--medium: var(--space--medium, 12px);
62
78
  /*@doc Define um espaçamento pequeno entre elementos do componente.*/
63
- --combo-box--space--small: var(--space--small, 6px);
79
+ --ez-combo-box--space--small: var(--space--small, 6px);
64
80
 
65
81
  /***************
66
82
  host style
@@ -70,12 +86,12 @@
70
86
  flex-wrap: wrap;
71
87
  position: relative;
72
88
  /*public*/
73
- width: var(--combo-box--width);
89
+ width: var(--ez-combo-box--width);
74
90
  }
75
91
 
76
92
  ez-text-input {
77
- --it__input--background-color: var(--combo-box__input--background-color, #FFFFFF);
78
- --it__input--border-color: var(--combo-box__input--border-color, #DCE0E8);
93
+ --ez-text-input__input--background-color: var(--ez-combo-box__input--background-color, #FFFFFF);
94
+ --ez-text-input__input--border-color: var(--ez-combo-box__input--border-color, #DCE0E8);
79
95
  }
80
96
 
81
97
  .list-container {
@@ -93,12 +109,12 @@ ez-text-input {
93
109
  flex-direction: column;
94
110
 
95
111
  /*public*/
96
- background-color: var(--combo-box--background-color--xlight);
97
- padding: var(--combo-box--space--small);
98
- border-radius: var(--combo-box--border-radius);
112
+ background-color: var(--ez-combo-box--background-color--xlight);
113
+ padding: var(--ez-combo-box--space--small);
114
+ border-radius: var(--ez-combo-box--border-radius);
99
115
  box-shadow: var(--shadow, 0px 0px 16px 0px #000);
100
116
  scroll-behavior: smooth;
101
- max-height: calc(4*var(--combo-box__list-height) + 2*var(--combo-box--space--small));
117
+ max-height: calc(4*var(--ez-combo-box__list-height) + 2*var(--ez-combo-box--space--small));
102
118
  overflow: auto;
103
119
  }
104
120
 
@@ -107,11 +123,11 @@ ez-text-input {
107
123
  display: flex;
108
124
  justify-content: space-between;
109
125
  align-items: center;
110
- border-radius: var(--combo-box--border-radius-small);
111
- padding: 0 var(--combo-box--space--small);
126
+ border-radius: var(--ez-combo-box--border-radius-small);
127
+ padding: 0 var(--ez-combo-box--space--small);
112
128
  list-style-type: none;
113
129
 
114
- min-height: var(--combo-box__list-height);
130
+ min-height: var(--ez-combo-box__list-height);
115
131
  ;
116
132
  }
117
133
 
@@ -119,9 +135,9 @@ ez-text-input {
119
135
  text-align: left;
120
136
  flex-basis: 85%;
121
137
  flex-grow: 1;
122
- color: var(--combo-box__list-text--primary);
123
- font-weight: var(--combo-box--font-weight--large);
124
- font-family: var(--combo-box--font-family);
138
+ color: var(--ez-combo-box__list-text--primary);
139
+ font-weight: var(--ez-combo-box--font-weight--large);
140
+ font-family: var(--ez-combo-box--font-family);
125
141
  white-space: nowrap;
126
142
  overflow: hidden;
127
143
  text-overflow: ellipsis;
@@ -131,16 +147,16 @@ ez-text-input {
131
147
  text-align: right;
132
148
  flex-basis: 15%;
133
149
  flex-grow: 0;
134
- color: var(--combo-box__list-text--primary);
135
- font-weight: var(--combo-box--font-weight--large);
136
- font-family: var(--combo-box--font-family);
150
+ color: var(--ez-combo-box__list-text--primary);
151
+ font-weight: var(--ez-combo-box--font-weight--large);
152
+ font-family: var(--ez-combo-box--font-family);
137
153
  white-space: nowrap;
138
154
  overflow: hidden;
139
155
  text-overflow: ellipsis;
140
156
  }
141
157
 
142
158
  li:hover {
143
- background-color: var(--background--medium);
159
+ background-color: var(--ez-combo-box--background-medium);
144
160
  }
145
161
 
146
162
  .preselected {
@@ -161,19 +177,19 @@ li:hover {
161
177
  .btn-open-options::after {
162
178
  content: '';
163
179
  display: flex;
164
- background-color: var(--text--primary, #008561);
180
+ background-color: var(--ez-combo-box__btn-options--background-color);
165
181
  width: 16px;
166
182
  height: 16px;
167
- -webkit-mask-image: var(--combo-box--drop-down__image);
168
- mask-image: var(--combo-box--drop-down__image);
183
+ -webkit-mask-image: var(--ez-combo-box__drop-down-image);
184
+ mask-image: var(--ez-combo-box__drop-down-image);
169
185
  }
170
186
 
171
187
  .btn-open-options:disabled:after {
172
- background-color: var(--text--disable, #AFB6C0);
188
+ background-color: var(--ez-combo-box__btn-options-disabled--background-color);
173
189
  }
174
190
 
175
191
  .btn-open-options:enabled:hover::after {
176
- background-color: var(--color--primary, #4e4e4e);
192
+ background-color: var(--ez-combo-box__btn-options-hover--background-color);
177
193
  }
178
194
 
179
195
  .btn-open-search {
@@ -190,17 +206,17 @@ li:hover {
190
206
  .btn-open-search::after {
191
207
  content: '';
192
208
  display: flex;
193
- background-color: var(--text--primary, #008561);
209
+ background-color: var(--ez-combo-box__btn-search--background-color);
194
210
  width: 22px;
195
211
  height: 22px;
196
- -webkit-mask-image: var(--combo-box--search__image);
197
- mask-image: var(--combo-box--search__image);
212
+ -webkit-mask-image: var(--ez-combo-box__search-image);
213
+ mask-image: var(--ez-combo-box__search-image);
198
214
  }
199
215
 
200
216
  .btn-open-search:disabled:after {
201
- background-color: var(--text--disable, #AFB6C0);
217
+ background-color: var(--ez-combo-box__btn-search-disabled--background-color);
202
218
  }
203
219
 
204
220
  .btn-open-search:enabled:hover::after {
205
- background-color: var(--color--primary, #4e4e4e);
221
+ background-color: var(--ez-combo-box__btn-search-hover--background-color);
206
222
  }
@@ -112,6 +112,7 @@ export class EzComboBox {
112
112
  if (currentOpt !== opt) {
113
113
  const adjustedOpt = !(opt === null || opt === void 0 ? void 0 : opt.value) ? undefined : opt;
114
114
  this.value = adjustedOpt;
115
+ this.errorMessage = "";
115
116
  this.ezChange.emit(adjustedOpt);
116
117
  }
117
118
  else {
@@ -1,8 +1,17 @@
1
1
  :host {
2
2
  display: block;
3
3
  width: 100%;
4
+ /*@doc Define a cor de fundo do input.*/
5
+ --ez-date-input__input--background-color: var(--background--medium, #e0e0e0);
6
+ /*@doc Define a cor da borda do input.*/
7
+ --ez-date-input__input--border-color: var(--ez-date-input__input--background-color);
4
8
  /*@doc Contém a imagem do calendário.*/
5
- --di__calendar-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="15px"><path d="M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z"/></svg>');
9
+ --ez-date-input__calendar-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="15px"><path d="M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z"/></svg>');
10
+ }
11
+
12
+ .text-input {
13
+ --ez-text-input__input--background-color: inherit;
14
+ --ez-text-input__input--border-color: inherit;
6
15
  }
7
16
 
8
17
  .btn-open-cal {
@@ -22,8 +31,8 @@
22
31
  background-color: var(--text--primary, #008561);
23
32
  width: 15px;
24
33
  height: 16px;
25
- -webkit-mask-image: var(--di__calendar-image);
26
- mask-image: var(--di__calendar-image);
34
+ -webkit-mask-image: var(--ez-date-input__calendar-image);
35
+ mask-image: var(--ez-date-input__calendar-image);
27
36
  }
28
37
 
29
38
  .btn-open-cal:disabled:after {
@@ -32,4 +41,9 @@
32
41
 
33
42
  .btn-open-cal:enabled:hover::after {
34
43
  background-color: var(--color--primary, #4e4e4e);
44
+ }
45
+
46
+ ez-text-input {
47
+ --text-input__input--background-color: var(--ez-date-input__input--background-color, #FFFFFF);
48
+ --text-input__input--border-color: var(--ez-date-input__input--border-color, #DCE0E8);
35
49
  }
@@ -56,14 +56,14 @@ export class EzDateInput {
56
56
  }
57
57
  }
58
58
  getTextValue(d) {
59
- return d ? new Intl.DateTimeFormat('pt-BR').format(d) : null;
59
+ return d ? new Intl.DateTimeFormat("pt-BR").format(d) : null;
60
60
  }
61
61
  componentDidLoad() {
62
62
  CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
63
63
  }
64
64
  render() {
65
65
  return (h(Host, null,
66
- h("ez-text-input", { ref: elem => this._textInput = elem, onBlur: () => this.parseDate(), onKeyDown: event => { if (event.key === 'H' || event.key === 'h')
66
+ h("ez-text-input", { ref: elem => this._textInput = elem, onBlur: () => this.parseDate(), onKeyDown: event => { if (event.key === "H" || event.key === "h")
67
67
  this.changeValue(new Date()); }, label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: "0123456789/", enabled: this.enabled, errorMessage: this.errorMessage },
68
68
  h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })),
69
69
  h("ez-calendar", { onEzChange: (event) => { this.hideCalendar(); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem })));
@@ -0,0 +1,49 @@
1
+ :host {
2
+ display: block;
3
+ width: 100%;
4
+ /*@doc Define a cor de fundo do input.*/
5
+ --ez-date-input__input--background-color: var(--background--medium, #e0e0e0);
6
+ /*@doc Define a cor da borda do input.*/
7
+ --ez-date-input__input--border-color: var(--ez-date-input__input--background-color);
8
+ /*@doc Contém a imagem do calendário.*/
9
+ --ez-date-input__calendar-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="16px" width="15px"><path d="M 3.171875,5.25 C 2.6485088,5.25 2.21875,5.6797588 2.21875,6.203125 2.21875,6.7264912 2.6485088,7.15625 3.171875,7.15625 3.6952412,7.15625 4.125,6.7264912 4.125,6.203125 4.125,5.6797588 3.6952412,5.25 3.171875,5.25 Z m 2.875,0 C 5.5235088,5.25 5.09375,5.6797588 5.09375,6.203125 5.09375,6.7264912 5.5235088,7.15625 6.046875,7.15625 6.5702412,7.15625 7,6.7264912 7,6.203125 7,5.6797588 6.5702412,5.25 6.046875,5.25 Z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.9511719,-0.4297588 0.9511719,-0.953125 C 9.8730469,5.6797588 9.4452412,5.25 8.921875,5.25 Z m 2.873047,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.953125 0.953125,0.953125 0.523366,0 0.953125,-0.4297588 0.953125,-0.953125 C 12.748047,5.6797588 12.318288,5.25 11.794922,5.25 Z M 3.171875,8.1230469 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 0.5233662,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297588,0.9531251 0.953125,0.9531251 C 6.5702412,10.029297 7,9.5995381 7,9.0761719 7,8.5528057 6.5702412,8.1230469 6.046875,8.1230469 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.4297587,0.9531251 0.953125,0.9531251 0.5233661,0 0.9531249,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.4297588 -0.953125,0.953125 0,0.5233662 0.429759,0.9531251 0.953125,0.9531251 0.523367,0 0.953125,-0.4297589 0.953125,-0.9531251 0,-0.5233662 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.171875,10.998047 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 0.5233662,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.875,0 c -0.5233662,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297588,0.953125 0.953125,0.953125 C 6.5702412,12.904297 7,12.474538 7,11.951172 7,11.427806 6.5702412,10.998047 6.046875,10.998047 Z m 2.8554688,0 c -0.5233663,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.4297587,0.953125 0.953125,0.953125 0.5233661,0 0.9531249,-0.429759 0.953125,-0.953125 0,-0.523366 -0.4297588,-0.953125 -0.953125,-0.953125 z m 2.9003902,0 c -0.523366,0 -0.953125,0.429759 -0.953125,0.953125 0,0.523366 0.429759,0.953125 0.953125,0.953125 0.523367,0 0.953125,-0.429759 0.953125,-0.953125 0,-0.523366 -0.429758,-0.953125 -0.953125,-0.953125 z M 3.5,0 c -0.554,0 -1,0.446 -1,1 v 0.050781 C 1.0853217,1.2909766 0,2.5186658 0,4 v 9 c 0,1.652487 1.3475134,3 3,3 h 9 c 1.652487,0 3,-1.347513 3,-3 V 4 C 15,2.5186658 13.914678,1.2909766 12.5,1.0507812 V 1 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 c 0,-0.554 -0.446,-1 -1,-1 -0.554,0 -1,0.446 -1,1 h -2 C 4.5,0.446 4.054,0 3.5,0 Z m 1,2.0996094 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 v -0.640625 h 2 v 0.640625 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 V 2.1738281 C 13.311725,2.3905225 13.900391,3.11278 13.900391,4 v 9 c 0,1.062113 -0.838278,1.900391 -1.900391,1.900391 H 3 C 1.9378864,14.900391 1.0996094,14.062113 1.0996094,13 V 4 C 1.0996094,3.11278 1.6882747,2.3905225 2.5,2.1738281 v 0.5664063 c 0,0.554 0.446,1 1,1 0.554,0 1,-0.446 1,-1 z"/></svg>');
10
+ }
11
+
12
+ .text-input {
13
+ --ez-text-input__input--background-color: inherit;
14
+ --ez-text-input__input--border-color: inherit;
15
+ }
16
+
17
+ .btn-open-cal {
18
+ outline: none;
19
+ border: none;
20
+ background-color: unset;
21
+ cursor: pointer;
22
+ }
23
+
24
+ .btn-open-cal:disabled {
25
+ cursor: unset;
26
+ }
27
+
28
+ .btn-open-cal::after {
29
+ content: '';
30
+ display: flex;
31
+ background-color: var(--text--primary, #008561);
32
+ width: 15px;
33
+ height: 16px;
34
+ -webkit-mask-image: var(--ez-date-input__calendar-image);
35
+ mask-image: var(--ez-date-input__calendar-image);
36
+ }
37
+
38
+ .btn-open-cal:disabled:after {
39
+ background-color: var(--text--disable, #AFB6C0);
40
+ }
41
+
42
+ .btn-open-cal:enabled:hover::after {
43
+ background-color: var(--color--primary, #4e4e4e);
44
+ }
45
+
46
+ ez-text-input {
47
+ --text-input__input--background-color: var(--ez-date-input__input--background-color, #FFFFFF);
48
+ --text-input__input--border-color: var(--ez-date-input__input--border-color, #DCE0E8);
49
+ }
@@ -0,0 +1,254 @@
1
+ import { Component, Element, Host, h, Prop, Watch, Event } from '@stencil/core';
2
+ import { DateUtils } from '@sankhyalabs/core';
3
+ import CSSVarsUtils from '../../utils/CSSVarsUtils';
4
+ export class EzDateTimeInput {
5
+ constructor() {
6
+ /**
7
+ * Deixa o campo disponível ou não para uso.
8
+ */
9
+ this.enabled = true;
10
+ /**
11
+ * Exibe ou não os segundos no input
12
+ */
13
+ this.showSeconds = false;
14
+ }
15
+ setLabel() {
16
+ this._textInput.label = this.label;
17
+ }
18
+ setErrorMessage() {
19
+ this._textInput.errorMessage = this.errorMessage;
20
+ }
21
+ applyValueToInput() {
22
+ if (this._textInput) {
23
+ this._textInput.value = this.getTextValue(this.value);
24
+ }
25
+ }
26
+ onChangeKeyDown(ev) {
27
+ const input = this._textInput.shadowRoot.querySelector('input');
28
+ if (ev.key === "H" || ev.key === "h") {
29
+ this.changeValue(new Date());
30
+ }
31
+ else if (ev.shiftKey && ev.key === "Tab") {
32
+ if (input.selectionStart > 0) {
33
+ let selectIni = input.value.lastIndexOf(":", input.selectionStart);
34
+ selectIni = selectIni === -1 ? input.value.lastIndexOf(" ", input.selectionStart) : selectIni;
35
+ selectIni = selectIni === -1 ? input.value.lastIndexOf("/", input.selectionStart) : selectIni;
36
+ selectIni = selectIni === -1 ? input.selectionStart : selectIni;
37
+ let selectFin = input.value.lastIndexOf(":", selectIni - 1);
38
+ selectFin = selectFin === -1 ? input.value.lastIndexOf(" ", selectIni - 1) : selectFin;
39
+ selectFin = selectFin === -1 ? input.value.lastIndexOf("/", selectIni - 1) : selectFin;
40
+ selectFin = selectFin === -1 ? 0 : selectFin + 1;
41
+ input.setSelectionRange(selectFin, selectIni);
42
+ ev.preventDefault();
43
+ }
44
+ }
45
+ else if (ev.key === "Tab") {
46
+ if (input.value.length !== input.selectionEnd) {
47
+ let selectIni = input.value.indexOf("/", input.selectionEnd);
48
+ selectIni = selectIni === -1 ? input.value.indexOf(" ", input.selectionEnd) : selectIni;
49
+ selectIni = selectIni === -1 ? input.value.indexOf(":", input.selectionEnd) : selectIni;
50
+ selectIni = selectIni === -1 ? input.selectionEnd : selectIni + 1;
51
+ let selectFin = input.value.indexOf("/", selectIni);
52
+ selectFin = selectFin === -1 ? input.value.indexOf(" ", selectIni) : selectFin;
53
+ selectFin = selectFin === -1 ? input.value.indexOf(":", selectIni) : selectFin;
54
+ selectFin = selectFin === -1 ? input.value.length : selectFin;
55
+ input.setSelectionRange(selectIni, selectFin);
56
+ ev.preventDefault();
57
+ }
58
+ }
59
+ }
60
+ onFocused() {
61
+ const input = this._textInput.shadowRoot.querySelector('input');
62
+ if (input.selectionStart !== input.selectionEnd) {
63
+ let selectFin = input.value.indexOf("/");
64
+ selectFin = selectFin === -1 ? input.value.indexOf(" ") : selectFin;
65
+ selectFin = selectFin === -1 ? input.value.indexOf(":") : selectFin;
66
+ selectFin = selectFin === -1 ? input.value.length : selectFin;
67
+ input.setSelectionRange(0, selectFin);
68
+ }
69
+ }
70
+ onClicked() {
71
+ const input = this._textInput.shadowRoot.querySelector('input');
72
+ let selectIni = input.value.indexOf("/", input.selectionEnd);
73
+ selectIni = selectIni === -1 ? input.value.indexOf(" ", input.selectionEnd) : selectIni;
74
+ selectIni = selectIni === -1 ? input.value.indexOf(":", input.selectionEnd) : selectIni;
75
+ let selectFin = input.value.lastIndexOf(":", input.selectionEnd);
76
+ selectFin = selectFin === -1 ? input.value.lastIndexOf(" ", selectIni - 1) : selectFin;
77
+ selectFin = selectFin === -1 ? input.value.lastIndexOf("/", selectIni - 1) : selectFin;
78
+ selectFin = selectFin === -1 ? 0 : selectFin + 1;
79
+ input.setSelectionRange(selectFin, selectIni);
80
+ }
81
+ changeValue(newValue) {
82
+ this._textInput.errorMessage = "";
83
+ if (this.getTextValue(newValue) !== this.getTextValue(this.value)) {
84
+ this.value = newValue;
85
+ this.ezChange.emit();
86
+ }
87
+ }
88
+ showCalendar() {
89
+ const top = this._textInput.errorMessage ? 0 : -17;
90
+ this._calendar.fitVertical(top, this._elem.clientHeight);
91
+ this._calendar.style.visibility = 'inherit';
92
+ }
93
+ parseDate() {
94
+ const strValue = this._textInput.value;
95
+ const parsedDate = DateUtils.strToDate(strValue);
96
+ if (parsedDate || !strValue) {
97
+ if (this.value === parsedDate) {
98
+ this.changeValue(this.value);
99
+ }
100
+ else {
101
+ this.changeValue(parsedDate);
102
+ }
103
+ }
104
+ else {
105
+ this._textInput.errorMessage = "O valor digitado não é uma data válida";
106
+ }
107
+ }
108
+ getTextValue(d) {
109
+ const options = {
110
+ year: 'numeric', month: 'numeric', day: 'numeric',
111
+ hour: 'numeric', minute: 'numeric'
112
+ };
113
+ const optionsSecond = {
114
+ year: 'numeric', month: 'numeric', day: 'numeric',
115
+ hour: 'numeric', minute: 'numeric', second: 'numeric'
116
+ };
117
+ return d ? (new Intl.DateTimeFormat('pt-BR', this.showSeconds ? optionsSecond : options).format(d)) : null;
118
+ }
119
+ componentDidLoad() {
120
+ CSSVarsUtils.applyVarsTextInput(this._elem, this._textInput);
121
+ }
122
+ render() {
123
+ return (h(Host, null,
124
+ h("ez-text-input", { ref: elem => this._textInput = elem, onBlur: () => this.parseDate(), onKeyDown: event => { this.onChangeKeyDown(event); }, label: this.label, onEzChange: event => event.stopPropagation(), value: this.getTextValue(this.value), restrict: "0123456789/: ", enabled: this.enabled, errorMessage: this.errorMessage, onFocus: () => this.onFocused(), onClick: () => this.onClicked() },
125
+ h("button", { disabled: !this.enabled, tabindex: -1, class: "btn-open-cal", onClick: () => this.showCalendar(), slot: "leftIcon" })),
126
+ h("ez-calendar", { onEzChange: (event) => { this.changeValue(this._calendar.value); event.stopPropagation(); }, floating: true, ref: elem => this._calendar = elem, time: true, showSeconds: this.showSeconds })));
127
+ }
128
+ static get is() { return "ez-date-time-input"; }
129
+ static get encapsulation() { return "shadow"; }
130
+ static get originalStyleUrls() { return {
131
+ "$": ["ez-date-time-input.css"]
132
+ }; }
133
+ static get styleUrls() { return {
134
+ "$": ["ez-date-time-input.css"]
135
+ }; }
136
+ static get properties() { return {
137
+ "label": {
138
+ "type": "string",
139
+ "mutable": false,
140
+ "complexType": {
141
+ "original": "string",
142
+ "resolved": "string",
143
+ "references": {}
144
+ },
145
+ "required": false,
146
+ "optional": false,
147
+ "docs": {
148
+ "tags": [],
149
+ "text": "T\u00EDtulo do campo"
150
+ },
151
+ "attribute": "label",
152
+ "reflect": true
153
+ },
154
+ "value": {
155
+ "type": "unknown",
156
+ "mutable": true,
157
+ "complexType": {
158
+ "original": "Date",
159
+ "resolved": "Date",
160
+ "references": {
161
+ "Date": {
162
+ "location": "global"
163
+ }
164
+ }
165
+ },
166
+ "required": false,
167
+ "optional": false,
168
+ "docs": {
169
+ "tags": [],
170
+ "text": "A data informada pelo usu\u00E1rio"
171
+ }
172
+ },
173
+ "enabled": {
174
+ "type": "boolean",
175
+ "mutable": false,
176
+ "complexType": {
177
+ "original": "boolean",
178
+ "resolved": "boolean",
179
+ "references": {}
180
+ },
181
+ "required": false,
182
+ "optional": false,
183
+ "docs": {
184
+ "tags": [],
185
+ "text": "Deixa o campo dispon\u00EDvel ou n\u00E3o para uso."
186
+ },
187
+ "attribute": "enabled",
188
+ "reflect": true,
189
+ "defaultValue": "true"
190
+ },
191
+ "errorMessage": {
192
+ "type": "string",
193
+ "mutable": true,
194
+ "complexType": {
195
+ "original": "string",
196
+ "resolved": "string",
197
+ "references": {}
198
+ },
199
+ "required": false,
200
+ "optional": false,
201
+ "docs": {
202
+ "tags": [],
203
+ "text": "Quando h\u00E1 um problema de valida\u00E7\u00E3o, serve como orienta\u00E7\u00E3o ao usu\u00E1rio"
204
+ },
205
+ "attribute": "error-message",
206
+ "reflect": true
207
+ },
208
+ "showSeconds": {
209
+ "type": "boolean",
210
+ "mutable": false,
211
+ "complexType": {
212
+ "original": "boolean",
213
+ "resolved": "boolean",
214
+ "references": {}
215
+ },
216
+ "required": false,
217
+ "optional": false,
218
+ "docs": {
219
+ "tags": [],
220
+ "text": "Exibe ou n\u00E3o os segundos no input"
221
+ },
222
+ "attribute": "show-seconds",
223
+ "reflect": true,
224
+ "defaultValue": "false"
225
+ }
226
+ }; }
227
+ static get events() { return [{
228
+ "method": "ezChange",
229
+ "name": "ezChange",
230
+ "bubbles": true,
231
+ "cancelable": true,
232
+ "composed": true,
233
+ "docs": {
234
+ "tags": [],
235
+ "text": "Evento disparado ao mudar o estado do componente(onEzChange)."
236
+ },
237
+ "complexType": {
238
+ "original": "string",
239
+ "resolved": "string",
240
+ "references": {}
241
+ }
242
+ }]; }
243
+ static get elementRef() { return "_elem"; }
244
+ static get watchers() { return [{
245
+ "propName": "label",
246
+ "methodName": "setLabel"
247
+ }, {
248
+ "propName": "errorMessage",
249
+ "methodName": "setErrorMessage"
250
+ }, {
251
+ "propName": "value",
252
+ "methodName": "applyValueToInput"
253
+ }]; }
254
+ }