@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-76362.1 → 0.0.0-bugfix-dev-KB-78242.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (189) hide show
  1. package/dist/cjs/DataBinder-3b083480.js +445 -0
  2. package/dist/cjs/FocusResolver-885f2173.js +35 -0
  3. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-card-item_3.cjs.entry.js +12 -19
  5. package/dist/cjs/ez-chart.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-combo-box.cjs.entry.js +48 -12
  7. package/dist/cjs/ez-custom-form-input_2.cjs.entry.js +3 -2
  8. package/dist/cjs/ez-date-input.cjs.entry.js +8 -2
  9. package/dist/cjs/ez-date-time-input.cjs.entry.js +8 -2
  10. package/dist/cjs/ez-dialog.cjs.entry.js +10 -2
  11. package/dist/cjs/ez-form-view.cjs.entry.js +2 -2
  12. package/dist/cjs/ez-form.cjs.entry.js +5 -325
  13. package/dist/cjs/ez-grid.cjs.entry.js +14622 -70503
  14. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-list.cjs.entry.js +151 -100
  16. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-number-input.cjs.entry.js +8 -1
  18. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  19. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-search.cjs.entry.js +67 -22
  21. package/dist/cjs/ez-split-button.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-split-panel.cjs.entry.js +14 -4
  23. package/dist/cjs/ez-text-area.cjs.entry.js +66 -4
  24. package/dist/cjs/ez-text-input.cjs.entry.js +79 -7
  25. package/dist/cjs/ez-time-input.cjs.entry.js +6 -0
  26. package/dist/cjs/ezui.cjs.js +1 -1
  27. package/dist/cjs/loader.cjs.js +1 -1
  28. package/dist/collection/collection-manifest.json +1 -1
  29. package/dist/collection/components/ez-button/ez-button.css +2 -2
  30. package/dist/collection/components/ez-card-item/ez-card-item.css +14 -5
  31. package/dist/collection/components/ez-combo-box/ez-combo-box.css +12 -0
  32. package/dist/collection/components/ez-combo-box/ez-combo-box.js +76 -15
  33. package/dist/collection/components/ez-date-input/ez-date-input.js +35 -4
  34. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +35 -4
  35. package/dist/collection/components/ez-dialog/ez-dialog.css +3 -3
  36. package/dist/collection/components/ez-dialog/ez-dialog.js +9 -1
  37. package/dist/collection/components/ez-filter-input/ez-filter-input.css +0 -11
  38. package/dist/collection/components/ez-filter-input/ez-filter-input.js +22 -52
  39. package/dist/collection/components/ez-form/ez-form.js +1 -0
  40. package/dist/collection/components/ez-form-view/custom-input/ez-custom-form-input.js +3 -2
  41. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  42. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +100 -27
  43. package/dist/collection/components/ez-grid/controller/ag-grid/DataSource.js +8 -0
  44. package/dist/collection/components/ez-grid/controller/ag-grid/GridEditionManager.js +164 -46
  45. package/dist/collection/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.js +7 -0
  46. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/ComboBox.tpl.js +1 -0
  47. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/DateInput.tpl.js +1 -0
  48. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/NumberInput.tpl.js +1 -0
  49. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/Search.tpl.js +1 -0
  50. package/dist/collection/components/ez-grid/controller/ag-grid/editor/templates/TextInput.tpl.js +4 -1
  51. package/dist/collection/components/ez-grid/ez-grid.css +11 -0
  52. package/dist/collection/components/ez-grid/ez-grid.js +110 -4
  53. package/dist/collection/components/ez-icon/ez-icon.css +153 -149
  54. package/dist/collection/components/ez-list/ez-list.css +5 -5
  55. package/dist/collection/components/ez-list/ez-list.js +152 -170
  56. package/dist/collection/components/ez-modal/ez-modal.css +4 -0
  57. package/dist/collection/components/ez-modal/ez-modal.js +2 -2
  58. package/dist/collection/components/ez-number-input/ez-number-input.css +8 -0
  59. package/dist/collection/components/ez-number-input/ez-number-input.js +25 -0
  60. package/dist/collection/components/ez-popover/ez-popover.css +3 -10
  61. package/dist/collection/components/ez-popup/ez-popup.css +4 -8
  62. package/dist/collection/components/ez-search/ez-search.css +1 -1
  63. package/dist/collection/components/ez-search/ez-search.js +94 -24
  64. package/dist/collection/components/ez-split-button/ez-split-button.css +2 -2
  65. package/dist/collection/components/ez-split-panel/ez-split-panel.js +35 -4
  66. package/dist/collection/components/ez-split-panel/interfaces/IPanelSizeInfo.js +1 -0
  67. package/dist/collection/components/ez-text-area/ez-text-area.css +49 -0
  68. package/dist/collection/components/ez-text-area/ez-text-area.js +102 -2
  69. package/dist/collection/components/ez-text-input/ez-text-input.css +33 -53
  70. package/dist/collection/components/ez-text-input/ez-text-input.js +88 -6
  71. package/dist/collection/components/ez-time-input/ez-time-input.js +24 -0
  72. package/dist/collection/utils/FocusResolver.js +31 -0
  73. package/dist/collection/utils/ResponsiveInputUtils.js +26 -0
  74. package/dist/collection/utils/form/DataBinder.js +18 -3
  75. package/dist/collection/utils/form/FormMetadata.js +1 -1
  76. package/dist/collection/utils/interfaces/AbstractFieldMetadata.js +1 -1
  77. package/dist/custom-elements/index.js +15381 -70913
  78. package/dist/esm/DataBinder-02fa9bb9.js +441 -0
  79. package/dist/esm/FocusResolver-1ccbf850.js +33 -0
  80. package/dist/esm/ez-button.entry.js +1 -1
  81. package/dist/esm/ez-card-item_3.entry.js +12 -19
  82. package/dist/esm/ez-chart.entry.js +1 -1
  83. package/dist/esm/ez-combo-box.entry.js +49 -13
  84. package/dist/esm/ez-custom-form-input_2.entry.js +3 -2
  85. package/dist/esm/ez-date-input.entry.js +8 -2
  86. package/dist/esm/ez-date-time-input.entry.js +8 -2
  87. package/dist/esm/ez-dialog.entry.js +10 -2
  88. package/dist/esm/ez-form-view.entry.js +2 -2
  89. package/dist/esm/ez-form.entry.js +4 -324
  90. package/dist/esm/ez-grid.entry.js +14591 -70472
  91. package/dist/esm/ez-icon.entry.js +1 -1
  92. package/dist/esm/ez-list.entry.js +152 -101
  93. package/dist/esm/ez-modal.entry.js +1 -1
  94. package/dist/esm/ez-number-input.entry.js +8 -1
  95. package/dist/esm/ez-popover.entry.js +1 -1
  96. package/dist/esm/ez-popup.entry.js +1 -1
  97. package/dist/esm/ez-search.entry.js +67 -22
  98. package/dist/esm/ez-split-button.entry.js +1 -1
  99. package/dist/esm/ez-split-panel.entry.js +15 -5
  100. package/dist/esm/ez-text-area.entry.js +66 -4
  101. package/dist/esm/ez-text-input.entry.js +79 -7
  102. package/dist/esm/ez-time-input.entry.js +6 -0
  103. package/dist/esm/ezui.js +1 -1
  104. package/dist/esm/loader.js +1 -1
  105. package/dist/ezui/ezui.esm.js +1 -1
  106. package/dist/ezui/p-16e21a40.entry.js +1 -0
  107. package/dist/ezui/p-1af7fae4.entry.js +1 -0
  108. package/dist/ezui/{p-3b546374.entry.js → p-2f53435e.entry.js} +1 -1
  109. package/dist/ezui/p-33675dae.entry.js +1 -0
  110. package/dist/ezui/p-397e3026.entry.js +1 -0
  111. package/dist/ezui/p-3af64edd.entry.js +1 -0
  112. package/dist/ezui/p-3c10cd94.entry.js +1 -0
  113. package/dist/ezui/p-3cc9b84a.entry.js +1 -0
  114. package/dist/ezui/p-3d38bfea.entry.js +1 -0
  115. package/dist/ezui/p-455e737c.js +1 -0
  116. package/dist/ezui/p-46a46507.entry.js +1 -0
  117. package/dist/ezui/p-6bda82d1.entry.js +1 -0
  118. package/dist/ezui/p-6d31c43c.entry.js +1 -0
  119. package/dist/ezui/p-7de7baa3.entry.js +1 -0
  120. package/dist/ezui/p-7f5afb1f.entry.js +1 -0
  121. package/dist/ezui/p-8f026744.entry.js +1 -0
  122. package/dist/ezui/p-aa7779d0.entry.js +1 -0
  123. package/dist/ezui/p-bfc30e61.entry.js +1 -0
  124. package/dist/ezui/p-bfc59380.entry.js +1 -0
  125. package/dist/ezui/p-d27b4b3e.entry.js +1 -0
  126. package/dist/ezui/p-d960a031.entry.js +1 -0
  127. package/dist/ezui/p-dc4b35fb.entry.js +309 -0
  128. package/dist/ezui/p-dc628ed3.js +1 -0
  129. package/dist/ezui/p-dfca5946.entry.js +1 -0
  130. package/dist/ezui/p-efbe0b73.entry.js +1 -0
  131. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +7 -1
  132. package/dist/types/components/ez-date-input/ez-date-input.d.ts +6 -1
  133. package/dist/types/components/ez-date-time-input/ez-date-time-input.d.ts +6 -1
  134. package/dist/types/components/ez-dialog/ez-dialog.d.ts +2 -0
  135. package/dist/types/components/ez-filter-input/ez-filter-input.d.ts +4 -11
  136. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  137. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +12 -0
  138. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +7 -2
  139. package/dist/types/components/ez-grid/controller/ag-grid/DataSource.d.ts +2 -1
  140. package/dist/types/components/ez-grid/controller/ag-grid/GridEditionManager.d.ts +19 -7
  141. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellEditor.d.ts +3 -1
  142. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomCellRender.d.ts +1 -1
  143. package/dist/types/components/ez-grid/controller/ag-grid/components/EzGridCustomHeader.d.ts +1 -1
  144. package/dist/types/components/ez-grid/controller/ag-grid/components/cellRendererStatus.d.ts +1 -1
  145. package/dist/types/components/ez-grid/controller/ag-grid/components/selectionHeader.d.ts +1 -1
  146. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellEditor.d.ts +1 -1
  147. package/dist/types/components/ez-grid/controller/ag-grid/editor/EzCellRender.d.ts +1 -1
  148. package/dist/types/components/ez-grid/controller/ag-grid/editor/IUICellEditor.d.ts +1 -0
  149. package/dist/types/components/ez-grid/controller/ag-grid/mock/Server.d.ts +1 -1
  150. package/dist/types/components/ez-grid/ez-grid.d.ts +17 -1
  151. package/dist/types/components/ez-list/ez-list.d.ts +3 -26
  152. package/dist/types/components/ez-modal/ez-modal.d.ts +1 -1
  153. package/dist/types/components/ez-number-input/ez-number-input.d.ts +4 -0
  154. package/dist/types/components/ez-search/ez-search.d.ts +10 -2
  155. package/dist/types/components/ez-split-panel/ez-split-panel.d.ts +4 -0
  156. package/dist/types/components/ez-split-panel/interfaces/IPanelSizeInfo.d.ts +9 -0
  157. package/dist/types/components/ez-text-area/ez-text-area.d.ts +17 -0
  158. package/dist/types/components/ez-text-input/ez-text-input.d.ts +9 -0
  159. package/dist/types/components/ez-time-input/ez-time-input.d.ts +4 -0
  160. package/dist/types/components.d.ts +122 -44
  161. package/dist/types/utils/FocusResolver.d.ts +5 -0
  162. package/dist/types/utils/ResponsiveInputUtils.d.ts +6 -0
  163. package/dist/types/utils/form/DataBinder.d.ts +3 -0
  164. package/package.json +11 -4
  165. package/dist/cjs/RecordValidationProcessor-10846595.js +0 -108
  166. package/dist/esm/RecordValidationProcessor-9c6cc267.js +0 -105
  167. package/dist/ezui/p-00687830.entry.js +0 -1
  168. package/dist/ezui/p-044d46d5.entry.js +0 -1
  169. package/dist/ezui/p-11b09aa1.entry.js +0 -1
  170. package/dist/ezui/p-190c190f.entry.js +0 -304
  171. package/dist/ezui/p-2de9f0aa.entry.js +0 -1
  172. package/dist/ezui/p-36180f4d.entry.js +0 -1
  173. package/dist/ezui/p-3f8c33e0.entry.js +0 -1
  174. package/dist/ezui/p-52100a6e.entry.js +0 -1
  175. package/dist/ezui/p-5a40c77a.entry.js +0 -1
  176. package/dist/ezui/p-61059f6b.entry.js +0 -1
  177. package/dist/ezui/p-68267f59.entry.js +0 -1
  178. package/dist/ezui/p-823cc11b.entry.js +0 -1
  179. package/dist/ezui/p-85b500bb.entry.js +0 -1
  180. package/dist/ezui/p-8ac13678.entry.js +0 -1
  181. package/dist/ezui/p-940760bf.entry.js +0 -1
  182. package/dist/ezui/p-9e08ddb0.entry.js +0 -1
  183. package/dist/ezui/p-b2a1398f.entry.js +0 -1
  184. package/dist/ezui/p-ba5f4ee7.entry.js +0 -1
  185. package/dist/ezui/p-d40b93a7.entry.js +0 -1
  186. package/dist/ezui/p-d4aba783.entry.js +0 -1
  187. package/dist/ezui/p-e3ec7422.entry.js +0 -1
  188. package/dist/ezui/p-f291db18.entry.js +0 -1
  189. package/dist/ezui/p-f42855b9.js +0 -1
@@ -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 o,h as e,H as i,g as s}from"./p-e4c7eb39.js";import{FloatingManager as r}from"@sankhyalabs/core";const h=class{constructor(e){t(this,e),this.ezVisibilityChange=o(this,"ezVisibilityChange",7),this._firstRender=!0,this.innerClickTest=(t,o,e)=>{const i=[t];this.innerElement&&("string"==typeof this.innerElement?i.push(document.querySelector(`#${this.innerElement}`)):this.innerElement.forEach((t=>{i.push(document.querySelector(`#${t}`))})));const s=(null==e?void 0:e.composedPath())||[];for(var r=0;r<i.length;r++){let t=i[r];if(null!=t){if(s.includes(t))return!0;if(t.contains(o))return!0;if(e&&"nodeType"in(null==e?void 0:e.target)&&t.contains(e.target))return!0;if(t.shadowRoot&&t.shadowRoot.contains(o))return!0;if(t=this._host,t.lastElementChild.shadowRoot?t.lastElementChild.shadowRoot.contains(o):t.contains(o))return!0}}return!1},this.backClickListener=()=>{this.ezVisibilityChange.emit(!1)},this.autoClose=!0,this.boxWidth="fit-content",this.opened=void 0,this.innerElement=void 0,this.overlayType="light"}observeOpened(t,o){t!=o&&(o?this.hide():this.show(),this.ezVisibilityChange.emit(t))}async updatePosition(t,o){r.updateFloatPosition(this._box,this._container,{autoClose:this.autoClose,top:t,left:o,innerClickTest:this.innerClickTest,backClickListener:this.backClickListener})}async show(t,o){this.float({top:t,left:o})}async showUnder(t,o){t&&this._host?this.float(this.calculatePosition(t,Object.assign({verticalGap:0,horizontalGap:0,fromRight:!1},o))):this.show((null==o?void 0:o.verticalGap)?`${o.verticalGap}px`:void 0,(null==o?void 0:o.horizontalGap)?`${o.horizontalGap}px`:void 0)}calculatePosition(t,o){const e=this._host.getBoundingClientRect(),i=t.getBoundingClientRect(),s=`${(o.fromRight?e.right-i.right:i.x-e.x)+o.horizontalGap}px`;return{top:`${i.bottom-e.y+o.verticalGap}px`,left:o.fromRight?"":s,right:o.fromRight?s:""}}float(t){this._box.style.top="",this._box.style.left="",this._box.style.right="";const o="none"!==this.overlayType,e=`ez-scrim ez-scrim--${this.overlayType}`;let i=Object.assign(Object.assign({},t),{autoClose:this.autoClose,innerClickTest:this.innerClickTest,backClickListener:this.backClickListener});o&&(i=Object.assign(Object.assign({},i),{autoClose:!0,useOverlay:o,overlayClassName:e})),this._floatingID=r.float(this._box,this._container,i),this.opened=!0}async hide(){void 0!==this._floatingID&&(r.close(this._floatingID),this._floatingID=void 0,this.opened=!1)}componentDidRender(){this._firstRender&&(this._box.remove(),this._firstRender=!1)}render(){return e(i,null,e("section",{ref:t=>this._container=t},e("div",{class:"popover__box "+("fit-content"===this.boxWidth?"popover__box--fit-content":"popover__box--full-width"),ref:t=>this._box=t},e("slot",null))))}get _host(){return s(this)}static get watchers(){return{opened:["observeOpened"]}}};h.style=":host{--ez-popover__box--border-radius:var(--border--radius-medium, 12px);--ez-popover__box--box-shadow:var(--shadow, 0px 0px 16px 0px #000);--ez-popover__box--background-color:var(--background--xlight, #fff);--ez-popover__box--z-index:var(--most-visible, 3);--ez-popover__height:fit-content;--ez-popover__max-height:fit-content;--ez-popover__margin:0;position:relative;display:flex;user-select:none}.popover__box{z-index:var(--ez-popover__box--z-index);display:flex;flex-direction:column;height:var(--ez-popover__height);max-height:var(--ez-popover__max-height);background-color:var(--ez-popover__box--background-color);border-radius:var(--ez-popover__box--border-radius);box-shadow:var(--ez-popover__box--box-shadow);margin:var(--ez-popover__margin)}.popover__box--fit-content{width:fit-content}.popover__box--full-width{width:100%}";export{h as ez_popover}