@sankhyalabs/ezui 3.6.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/cjs/ez-actions-button.cjs.entry.js +1 -1
  2. package/dist/cjs/ez-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-application.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-breadcrumb.cjs.entry.js +12 -2
  5. package/dist/cjs/ez-button.cjs.entry.js +1 -1
  6. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-card-item.cjs.entry.js +1 -1
  8. package/dist/cjs/ez-check.cjs.entry.js +1 -1
  9. package/dist/cjs/ez-chip.cjs.entry.js +1 -1
  10. package/dist/cjs/ez-collapsible-box.cjs.entry.js +1 -1
  11. package/dist/cjs/ez-combo-box.cjs.entry.js +16 -10
  12. package/dist/cjs/ez-date-input.cjs.entry.js +2 -2
  13. package/dist/cjs/ez-date-time-input.cjs.entry.js +4 -12
  14. package/dist/cjs/ez-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/ez-dropdown.cjs.entry.js +1 -1
  16. package/dist/cjs/ez-file-item.cjs.entry.js +1 -1
  17. package/dist/cjs/ez-filter-input_4.cjs.entry.js +67 -6
  18. package/dist/cjs/ez-form-view.cjs.entry.js +30 -23
  19. package/dist/cjs/ez-form.cjs.entry.js +562 -545
  20. package/dist/cjs/ez-grid.cjs.entry.js +8 -5
  21. package/dist/cjs/ez-guide-navigator.cjs.entry.js +51 -3
  22. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  31. package/dist/cjs/ez-search.cjs.entry.js +1 -1
  32. package/dist/cjs/ez-tabselector.cjs.entry.js +1 -1
  33. package/dist/cjs/ez-text-area.cjs.entry.js +1 -1
  34. package/dist/cjs/ez-text-edit.cjs.entry.js +1 -1
  35. package/dist/cjs/ez-text-input.cjs.entry.js +1 -1
  36. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  37. package/dist/cjs/ez-toast.cjs.entry.js +1 -1
  38. package/dist/cjs/ez-upload.cjs.entry.js +1 -1
  39. package/dist/cjs/ez-view-stack.cjs.entry.js +1 -1
  40. package/dist/cjs/ezui.cjs.js +2 -2
  41. package/dist/cjs/{index-b54f47a1.js → index-892780f1.js} +0 -5
  42. package/dist/cjs/loader.cjs.js +2 -2
  43. package/dist/collection/collection-manifest.json +2 -2
  44. package/dist/collection/components/ez-breadcrumb/ez-breadcrumb.js +12 -2
  45. package/dist/collection/components/ez-combo-box/ez-combo-box.js +16 -10
  46. package/dist/collection/components/ez-date-input/ez-date-input.js +1 -1
  47. package/dist/collection/components/ez-date-time-input/ez-date-time-input.js +3 -11
  48. package/dist/collection/components/ez-form/ez-form.css +0 -6
  49. package/dist/collection/components/ez-form/ez-form.js +18 -239
  50. package/dist/collection/components/ez-form-view/ez-form-view.js +51 -0
  51. package/dist/collection/components/ez-form-view/fieldbuilder/templates/CheckBox.tpl.js +4 -4
  52. package/dist/collection/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.js +2 -2
  53. package/dist/collection/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.js +2 -2
  54. package/dist/collection/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.js +2 -2
  55. package/dist/collection/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.js +6 -6
  56. package/dist/collection/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.js +2 -2
  57. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.js +2 -2
  58. package/dist/collection/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.js +2 -2
  59. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +5 -2
  60. package/dist/collection/components/ez-grid/ez-grid.css +4 -2
  61. package/dist/collection/components/ez-grid/ez-grid.js +1 -1
  62. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.css +1 -1
  63. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +218 -1
  64. package/dist/collection/components/ez-sidebar-button/ez-sidebar-button.css +2 -0
  65. package/dist/collection/components/ez-tree/ez-tree.js +151 -3
  66. package/dist/collection/components/ez-tree/types/Node.js +7 -1
  67. package/dist/collection/components/ez-tree/types/Tree.js +6 -0
  68. package/dist/collection/{components/ez-form → utils/form}/DataBinder.js +118 -4
  69. package/dist/collection/{components/ez-form → utils/form}/FormMetadata.js +83 -36
  70. package/dist/collection/utils/form/index.js +2 -0
  71. package/dist/collection/utils/index.js +2 -0
  72. package/dist/custom-elements/index.js +701 -557
  73. package/dist/esm/ez-actions-button.entry.js +1 -1
  74. package/dist/esm/ez-alert.entry.js +1 -1
  75. package/dist/esm/ez-application.entry.js +1 -1
  76. package/dist/esm/ez-breadcrumb.entry.js +13 -3
  77. package/dist/esm/ez-button.entry.js +1 -1
  78. package/dist/esm/ez-calendar.entry.js +1 -1
  79. package/dist/esm/ez-card-item.entry.js +1 -1
  80. package/dist/esm/ez-check.entry.js +1 -1
  81. package/dist/esm/ez-chip.entry.js +1 -1
  82. package/dist/esm/ez-collapsible-box.entry.js +1 -1
  83. package/dist/esm/ez-combo-box.entry.js +17 -11
  84. package/dist/esm/ez-date-input.entry.js +2 -2
  85. package/dist/esm/ez-date-time-input.entry.js +4 -12
  86. package/dist/esm/ez-dialog.entry.js +1 -1
  87. package/dist/esm/ez-dropdown.entry.js +1 -1
  88. package/dist/esm/ez-file-item.entry.js +1 -1
  89. package/dist/esm/ez-filter-input_4.entry.js +67 -6
  90. package/dist/esm/ez-form-view.entry.js +30 -23
  91. package/dist/esm/ez-form.entry.js +563 -546
  92. package/dist/esm/ez-grid.entry.js +8 -5
  93. package/dist/esm/ez-guide-navigator.entry.js +51 -3
  94. package/dist/esm/ez-icon.entry.js +1 -1
  95. package/dist/esm/ez-list.entry.js +1 -1
  96. package/dist/esm/ez-loading-bar.entry.js +1 -1
  97. package/dist/esm/ez-modal-container.entry.js +1 -1
  98. package/dist/esm/ez-modal.entry.js +1 -1
  99. package/dist/esm/ez-number-input.entry.js +1 -1
  100. package/dist/esm/ez-popover.entry.js +1 -1
  101. package/dist/esm/ez-popup.entry.js +1 -1
  102. package/dist/esm/ez-radio-button.entry.js +1 -1
  103. package/dist/esm/ez-search.entry.js +1 -1
  104. package/dist/esm/ez-tabselector.entry.js +1 -1
  105. package/dist/esm/ez-text-area.entry.js +1 -1
  106. package/dist/esm/ez-text-edit.entry.js +1 -1
  107. package/dist/esm/ez-text-input.entry.js +1 -1
  108. package/dist/esm/ez-time-input.entry.js +1 -1
  109. package/dist/esm/ez-toast.entry.js +1 -1
  110. package/dist/esm/ez-upload.entry.js +1 -1
  111. package/dist/esm/ez-view-stack.entry.js +1 -1
  112. package/dist/esm/ezui.js +3 -3
  113. package/dist/esm/{index-c27164d3.js → index-de655f48.js} +0 -5
  114. package/dist/esm/loader.js +3 -3
  115. package/dist/ezui/ezui.esm.js +1 -1
  116. package/dist/ezui/{p-85c1e00f.entry.js → p-06b3e801.entry.js} +1 -1
  117. package/dist/ezui/{p-216e1153.entry.js → p-07b99b94.entry.js} +1 -1
  118. package/dist/ezui/p-09271677.entry.js +1 -0
  119. package/dist/ezui/{p-044a3427.entry.js → p-0c7e81fe.entry.js} +1 -1
  120. package/dist/ezui/p-0e53898b.entry.js +1 -0
  121. package/dist/ezui/{p-124859c3.entry.js → p-36f7ec68.entry.js} +1 -1
  122. package/dist/ezui/p-4555df8f.entry.js +1 -0
  123. package/dist/ezui/{p-1806b3c6.entry.js → p-493e2af4.entry.js} +1 -1
  124. package/dist/ezui/p-50883460.entry.js +1 -0
  125. package/dist/ezui/p-581df847.entry.js +1 -0
  126. package/dist/ezui/{p-78b28632.entry.js → p-600f1732.entry.js} +1 -1
  127. package/dist/ezui/{p-74379544.entry.js → p-622c2d53.entry.js} +1 -1
  128. package/dist/ezui/{p-bb011a51.entry.js → p-62481744.entry.js} +1 -1
  129. package/dist/ezui/{p-064e558f.entry.js → p-6818dd0a.entry.js} +1 -1
  130. package/dist/ezui/{p-e8271a0e.entry.js → p-695facd0.entry.js} +1 -1
  131. package/dist/ezui/p-6cf406ff.entry.js +1 -0
  132. package/dist/ezui/{p-07d71b7a.entry.js → p-7147d43a.entry.js} +1 -1
  133. package/dist/ezui/{p-108acc0f.entry.js → p-7c8fb43e.entry.js} +1 -1
  134. package/dist/ezui/{p-00ea9b50.js → p-7ffd12e7.js} +2 -2
  135. package/dist/ezui/{p-aaba630e.entry.js → p-86d29565.entry.js} +1 -1
  136. package/dist/ezui/{p-f978bebc.entry.js → p-8d5ec02b.entry.js} +1 -1
  137. package/dist/ezui/{p-149442dd.entry.js → p-9613fae6.entry.js} +1 -1
  138. package/dist/ezui/{p-38520b9c.entry.js → p-99d822cc.entry.js} +1 -1
  139. package/dist/ezui/p-9a1549c2.entry.js +1 -0
  140. package/dist/ezui/{p-330aef41.entry.js → p-a323b415.entry.js} +1 -1
  141. package/dist/ezui/{p-7ff5d0cc.entry.js → p-a4b281ca.entry.js} +1 -1
  142. package/dist/ezui/{p-e6cf82e8.entry.js → p-a67e056f.entry.js} +1 -1
  143. package/dist/ezui/p-ada6e6b0.entry.js +1 -0
  144. package/dist/ezui/{p-93c8bdc6.entry.js → p-b3c7b243.entry.js} +1 -1
  145. package/dist/ezui/{p-936ae3ac.entry.js → p-b941aeee.entry.js} +1 -1
  146. package/dist/ezui/{p-d015295f.entry.js → p-bbccda3f.entry.js} +1 -1
  147. package/dist/ezui/{p-66dba09c.entry.js → p-c0184982.entry.js} +1 -1
  148. package/dist/ezui/{p-ce1408dd.entry.js → p-cc40fcb3.entry.js} +1 -1
  149. package/dist/ezui/{p-80f79b1c.entry.js → p-cc5cfcb7.entry.js} +1 -1
  150. package/dist/ezui/{p-77c1ae43.entry.js → p-dc15b6d1.entry.js} +2 -2
  151. package/dist/ezui/{p-eae59101.entry.js → p-e6f3d036.entry.js} +1 -1
  152. package/dist/ezui/p-e748b5d3.entry.js +1 -0
  153. package/dist/ezui/{p-be4cc43f.entry.js → p-e85f1a6a.entry.js} +1 -1
  154. package/dist/ezui/{p-1cfae451.entry.js → p-eceb9382.entry.js} +1 -1
  155. package/dist/ezui/{p-bb0607a6.entry.js → p-fd87638e.entry.js} +1 -1
  156. package/dist/types/components/ez-breadcrumb/ez-breadcrumb.d.ts +2 -1
  157. package/dist/types/components/ez-combo-box/ez-combo-box.d.ts +0 -1
  158. package/dist/types/components/ez-form/ez-form.d.ts +3 -23
  159. package/dist/types/components/ez-form/store/form.slice.d.ts +2 -2
  160. package/dist/types/components/ez-form-view/ez-form-view.d.ts +7 -0
  161. package/dist/types/components/ez-form-view/fieldbuilder/templates/ComboBox.tpl.d.ts +1 -1
  162. package/dist/types/components/ez-form-view/fieldbuilder/templates/DateInput.tpl.d.ts +1 -1
  163. package/dist/types/components/ez-form-view/fieldbuilder/templates/FileInput.tpl.d.ts +1 -1
  164. package/dist/types/components/ez-form-view/fieldbuilder/templates/NumberInput.tpl.d.ts +2 -2
  165. package/dist/types/components/ez-form-view/fieldbuilder/templates/SearchInput.tpl.d.ts +1 -1
  166. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextArea.tpl.d.ts +1 -1
  167. package/dist/types/components/ez-form-view/fieldbuilder/templates/TextInput.tpl.d.ts +1 -1
  168. package/dist/types/components/ez-form-view/interfaces/IFormViewField.d.ts +1 -0
  169. package/dist/types/components/ez-guide-navigator/ez-guide-navigator.d.ts +32 -0
  170. package/dist/types/components/ez-guide-navigator/interfaces/IGuideItem.d.ts +1 -0
  171. package/dist/types/components/ez-tree/ez-tree.d.ts +18 -0
  172. package/dist/types/components.d.ts +71 -31
  173. package/dist/types/utils/form/DataBinder.d.ts +31 -0
  174. package/dist/types/utils/form/FormMetadata.d.ts +23 -0
  175. package/dist/types/utils/form/index.d.ts +2 -0
  176. package/dist/types/utils/form/interfaces/IFormCardConfig.d.ts +5 -0
  177. package/dist/types/utils/form/interfaces/IFormConfig.d.ts +12 -0
  178. package/dist/types/utils/form/interfaces/IFormSheetMetadata.d.ts +6 -0
  179. package/dist/types/{components/ez-form → utils/form}/interfaces/IRecordValidator.d.ts +1 -2
  180. package/dist/types/utils/form/interfaces/ISummaryField.d.ts +4 -0
  181. package/dist/types/{interfaces/ez-form → utils/form/interfaces}/ITabConfig.d.ts +1 -0
  182. package/dist/types/{components/ez-form → utils/form}/interfaces/index.d.ts +6 -4
  183. package/dist/types/utils/index.d.ts +2 -0
  184. package/package.json +2 -2
  185. package/dist/collection/interfaces/ez-form/IDefaultConfig.js +0 -1
  186. package/dist/collection/interfaces/ez-form/IFieldConfig.js +0 -1
  187. package/dist/collection/interfaces/ez-form/IFieldMetadata.js +0 -1
  188. package/dist/collection/interfaces/ez-form/IFieldSetMetadata.js +0 -1
  189. package/dist/collection/interfaces/ez-form/IFormSheetMetadata.js +0 -1
  190. package/dist/collection/interfaces/ez-form/IInvalidField.js +0 -1
  191. package/dist/collection/interfaces/ez-form/IRecordValidator.js +0 -1
  192. package/dist/collection/interfaces/ez-form/IValidationResult.js +0 -1
  193. package/dist/collection/interfaces/ez-form/index.js +0 -1
  194. package/dist/ezui/p-1a1c2eda.entry.js +0 -1
  195. package/dist/ezui/p-51ecf138.entry.js +0 -1
  196. package/dist/ezui/p-5473e08d.entry.js +0 -1
  197. package/dist/ezui/p-77d70bae.entry.js +0 -1
  198. package/dist/ezui/p-90c3d4fd.entry.js +0 -1
  199. package/dist/ezui/p-97cfbd29.entry.js +0 -1
  200. package/dist/ezui/p-a0e47238.entry.js +0 -1
  201. package/dist/ezui/p-bfca509e.entry.js +0 -1
  202. package/dist/ezui/p-cd1e0679.entry.js +0 -1
  203. package/dist/types/components/ez-form/DataBinder.d.ts +0 -22
  204. package/dist/types/components/ez-form/FormMetadata.d.ts +0 -16
  205. package/dist/types/components/ez-form/interfaces/IFormConfig.d.ts +0 -7
  206. package/dist/types/components/ez-form/interfaces/IFormSheetMetadata.d.ts +0 -9
  207. package/dist/types/components/ez-form/interfaces/ITabConfig.d.ts +0 -5
  208. package/dist/types/interfaces/ez-form/IDefaultConfig.d.ts +0 -5
  209. package/dist/types/interfaces/ez-form/IFieldConfig.d.ts +0 -13
  210. package/dist/types/interfaces/ez-form/IFieldMetadata.d.ts +0 -6
  211. package/dist/types/interfaces/ez-form/IFieldSetMetadata.d.ts +0 -5
  212. package/dist/types/interfaces/ez-form/IFormConfig.d.ts +0 -7
  213. package/dist/types/interfaces/ez-form/IFormSheetMetadata.d.ts +0 -10
  214. package/dist/types/interfaces/ez-form/IInvalidField.d.ts +0 -4
  215. package/dist/types/interfaces/ez-form/IRecordValidator.d.ts +0 -6
  216. package/dist/types/interfaces/ez-form/IValidationResult.d.ts +0 -8
  217. package/dist/types/interfaces/ez-form/index.d.ts +0 -10
  218. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IDefaultConfig.js +0 -0
  219. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IFieldConfig.js +0 -0
  220. /package/dist/collection/{components/ez-form/interfaces/IFormConfig.js → utils/form/interfaces/IFormCardConfig.js} +0 -0
  221. /package/dist/collection/{interfaces/ez-form → utils/form/interfaces}/IFormConfig.js +0 -0
  222. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IFormSheetMetadata.js +0 -0
  223. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IInvalidField.js +0 -0
  224. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IRecordValidator.js +0 -0
  225. /package/dist/collection/{components/ez-form/interfaces/ITabConfig.js → utils/form/interfaces/ISummaryField.js} +0 -0
  226. /package/dist/collection/{interfaces/ez-form → utils/form/interfaces}/ITabConfig.js +0 -0
  227. /package/dist/collection/{components/ez-form → utils/form}/interfaces/IValidationResult.js +0 -0
  228. /package/dist/collection/{components/ez-form → utils/form}/interfaces/index.js +0 -0
  229. /package/dist/types/{components/ez-form → utils/form}/interfaces/IDefaultConfig.d.ts +0 -0
  230. /package/dist/types/{components/ez-form → utils/form}/interfaces/IFieldConfig.d.ts +0 -0
  231. /package/dist/types/{components/ez-form → utils/form}/interfaces/IInvalidField.d.ts +0 -0
  232. /package/dist/types/{components/ez-form → utils/form}/interfaces/IValidationResult.d.ts +0 -0
@@ -0,0 +1,31 @@
1
+ import { DataUnit, DataUnitAction, DUActionInterceptor } from "@sankhyalabs/core";
2
+ import { IInvalidField } from "./interfaces";
3
+ import { IRecordValidator } from "../../utils/form/interfaces";
4
+ import { FormMetadata } from "./FormMetadata";
5
+ export default class DataBinder implements DUActionInterceptor {
6
+ private _dataUnit;
7
+ private _fields;
8
+ private _formMetadata;
9
+ private _invalidFields;
10
+ private _recordsValidator;
11
+ constructor(dataUnit: DataUnit);
12
+ bind(fields: Array<HTMLElement>, currentContextName: string, formMetadata: FormMetadata, recordsValidator: IRecordValidator): void;
13
+ onDisconnectedCallback(): void;
14
+ markInvalid(field: IInvalidField): void;
15
+ private clearInvalid;
16
+ private updateValue;
17
+ validate(): Promise<void>;
18
+ private validateRequired;
19
+ private processValidationResult;
20
+ private updateErrorMessage;
21
+ private getErrorMessage;
22
+ private updateBind;
23
+ private changeStarted;
24
+ private cancelWaitingChange;
25
+ private setFieldValue;
26
+ private bindSearchOptionsLoader;
27
+ private applyEzUploadContext;
28
+ private onDataUnitEvent;
29
+ interceptAction(action: DataUnitAction): DataUnitAction | Promise<DataUnitAction>;
30
+ private getFormattedValue;
31
+ }
@@ -0,0 +1,23 @@
1
+ import { DataUnit } from "@sankhyalabs/core";
2
+ import { IFormConfig, IFormSheetMetadata } from "./interfaces";
3
+ export declare class FormMetadata {
4
+ private _sheets;
5
+ private _requiredFields;
6
+ private _cleanOnCopyFields;
7
+ private _defaultValues;
8
+ private _defaultVars;
9
+ static getDetailName(name: string): string;
10
+ getSheet(name: string): IFormSheetMetadata;
11
+ getAllSheets(): Map<string, IFormSheetMetadata>;
12
+ addSheet(sheet: IFormSheetMetadata): void;
13
+ addRequiredFields(fields: Array<string>): void;
14
+ getRequiredFields(): Array<string>;
15
+ addCleanOnCopyFields(fields: Array<string>): void;
16
+ getCleanOnCopyFields(): Array<string>;
17
+ addDefaultValues(defaultValues: any): void;
18
+ getDefaultValues(): any;
19
+ getDefaultVar(name: string): any;
20
+ setDefaultVars(vars: Map<string, any>): void;
21
+ }
22
+ export declare const buildFormConfigFromDataUnit: (dataUnit: DataUnit) => IFormConfig;
23
+ export declare const buildFormMetadata: (config: IFormConfig, dataUnit: DataUnit, includeDetails?: boolean) => FormMetadata;
@@ -0,0 +1,2 @@
1
+ export { FormMetadata, buildFormMetadata, buildFormConfigFromDataUnit } from "./FormMetadata";
2
+ export { default as DataBinder } from "./DataBinder";
@@ -0,0 +1,5 @@
1
+ export interface IFormCardConfig {
2
+ fixed: boolean;
3
+ presentation: "EXPANDED" | "CONTRACTED";
4
+ fixSequence?: number;
5
+ }
@@ -0,0 +1,12 @@
1
+ import { IFieldConfig } from "./IFieldConfig";
2
+ import { IFormCardConfig } from "./IFormCardConfig";
3
+ import { ISummaryField } from "./ISummaryField";
4
+ import { ITabConfig } from "./ITabConfig";
5
+ export interface IFormConfig {
6
+ tabs?: Array<ITabConfig>;
7
+ fields: Array<IFieldConfig>;
8
+ defaultConfiguration?: boolean;
9
+ cardsState?: Map<string, IFormCardConfig>;
10
+ summary?: Map<string, Array<ISummaryField>>;
11
+ defaultVars?: Map<string, any>;
12
+ }
@@ -0,0 +1,6 @@
1
+ import { IFormViewField } from "../../../components/ez-form-view/interfaces/IFormViewField";
2
+ export interface IFormSheetMetadata {
3
+ name: string;
4
+ label: string;
5
+ fields: Array<IFormViewField>;
6
+ }
@@ -1,6 +1,5 @@
1
1
  import { Record } from "@sankhyalabs/core";
2
- import { EzForm } from "../ez-form";
3
2
  import { IValidationResult } from "./IValidationResult";
4
3
  export interface IRecordValidator {
5
- validateRecord(form: EzForm, record: Record): IValidationResult;
4
+ validateRecord(record: Record): IValidationResult;
6
5
  }
@@ -0,0 +1,4 @@
1
+ export interface ISummaryField {
2
+ field: string;
3
+ label?: string;
4
+ }
@@ -1,5 +1,6 @@
1
1
  export interface ITabConfig {
2
2
  label: string;
3
+ name?: string;
3
4
  visible?: boolean;
4
5
  order?: number;
5
6
  }
@@ -1,8 +1,10 @@
1
- export { IDefaultConfig } from "./IDefaultConfig";
1
+ export { IInvalidField } from "./IInvalidField";
2
+ export { IValidationResult } from "./IValidationResult";
2
3
  export { IFieldConfig } from "./IFieldConfig";
3
4
  export { IFormConfig } from "./IFormConfig";
4
5
  export { IFormSheetMetadata } from "./IFormSheetMetadata";
5
- export { IInvalidField } from "./IInvalidField";
6
- export { IRecordValidator } from "./IRecordValidator";
7
6
  export { ITabConfig } from "./ITabConfig";
8
- export { IValidationResult } from "./IValidationResult";
7
+ export { IDefaultConfig } from "./IDefaultConfig";
8
+ export { IRecordValidator } from "./IRecordValidator";
9
+ export { IFormCardConfig } from "./IFormCardConfig";
10
+ export { ISummaryField } from "./ISummaryField";
@@ -2,3 +2,5 @@ export { default as ApplicationUtils } from './ApplicationUtils';
2
2
  export { default as CSSVarsUtils } from './CSSVarsUtils';
3
3
  export { DialogType } from '../components/ez-dialog/DialogType';
4
4
  export { CheckMode } from '../components/ez-check/CheckMode';
5
+ export { FormMetadata } from './form/FormMetadata';
6
+ export { default as DataBinder } from './form/DataBinder';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "3.6.0",
3
+ "version": "4.0.0",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -85,7 +85,7 @@
85
85
  "verbose": true
86
86
  },
87
87
  "peerDependencies": {
88
- "@sankhyalabs/core": "^3.1.0"
88
+ "@sankhyalabs/core": "^4.0.0"
89
89
  },
90
90
  "resolutions": {
91
91
  "postcss": "8.1.7"
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,f as n,H as s,g as r}from"./p-00ea9b50.js";import{Action as o,WaitingChangeException as l,ApplicationContext as a,UserInterface as h,StringUtils as c,DataUnitAction as u,DataUnit as d,ElementIDUtils as f}from"@sankhyalabs/core";import{A as v}from"./p-efb43dd8.js";import"./p-ab574d59.js";function p(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var m="function"==typeof Symbol&&Symbol.observable||"@@observable",b=function(){return Math.random().toString(36).substring(7).split("").join(".")},_={INIT:"@@redux/INIT"+b(),REPLACE:"@@redux/REPLACE"+b(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+b()}};function g(t){if("object"!=typeof t||null===t)return!1;for(var i=t;null!==Object.getPrototypeOf(i);)i=Object.getPrototypeOf(i);return Object.getPrototypeOf(t)===i}function y(t,i,e){var n;if("function"==typeof i&&"function"==typeof e||"function"==typeof e&&"function"==typeof arguments[3])throw new Error(p(0));if("function"==typeof i&&void 0===e&&(e=i,i=void 0),void 0!==e){if("function"!=typeof e)throw new Error(p(1));return e(y)(t,i)}if("function"!=typeof t)throw new Error(p(2));var s=t,r=i,o=[],l=o,a=!1;function h(){l===o&&(l=o.slice())}function c(){if(a)throw new Error(p(3));return r}function u(t){if("function"!=typeof t)throw new Error(p(4));if(a)throw new Error(p(5));var i=!0;return h(),l.push(t),function(){if(i){if(a)throw new Error(p(6));i=!1,h();var e=l.indexOf(t);l.splice(e,1),o=null}}}function d(t){if(!g(t))throw new Error(p(7));if(void 0===t.type)throw new Error(p(8));if(a)throw new Error(p(9));try{a=!0,r=s(r,t)}finally{a=!1}for(var i=o=l,e=0;e<i.length;e++)(0,i[e])();return t}function f(t){if("function"!=typeof t)throw new Error(p(10));s=t,d({type:_.REPLACE})}function v(){var t,i=u;return(t={subscribe:function(t){if("object"!=typeof t||null===t)throw new Error(p(11));function e(){t.next&&t.next(c())}return e(),{unsubscribe:i(e)}}})[m]=function(){return this},t}return d({type:_.INIT}),(n={dispatch:d,subscribe:u,getState:c,replaceReducer:f})[m]=v,n}class w{constructor(t){this._invalidFields=new Map,this.onDataUnitEvent=t=>{var i;switch(t.type){case o.DATA_LOADED:case o.DATA_SAVED:case o.RECORDS_REMOVED:case o.RECORDS_ADDED:case o.RECORDS_COPIED:case o.EDITION_CANCELED:case o.SELECTION_CHANGED:case o.NEXT_SELECTED:case o.PREVIOUS_SELECTED:this.clearInvalid();case o.DATA_CHANGED:case o.CHANGE_UNDONE:case o.CHANGE_REDONE:case o.RECORD_LOADED:null===(i=this._fields)||void 0===i||i.forEach((t=>{this.updateValue(t.fieldName,t.field)}))}},this._fields=new Map,this._dataUnit=t,this._dataUnit.subscribe(this.onDataUnitEvent)}bind(t){t.forEach((t=>{this.updateBind(t.dataset.fieldName,t)}))}onDisconnectedCallback(){this._dataUnit.unsubscribe(this.onDataUnitEvent)}markInvalid(t){if(this._invalidFields.set(t.name,t),this._fields.has(t.name)){const i=this._fields.get(t.name).field;i.errorMessage||this.updateErrorMessage(t.name,i)}}clearInvalid(){this._invalidFields.clear(),this._fields.forEach((t=>{t.field.errorMessage=""}))}updateValue(t,i){const e=this._fields.get(t);try{e&&(e.listen=!1),i.value=this._dataUnit.getFieldValue(t),this.updateErrorMessage(t,i)}finally{e&&(e.listen=!0)}}updateErrorMessage(t,i){const e=this._invalidFields.get(t);e&&(i.errorMessage=e.message)}getErrorMessage(t){if(this._fields.has(t))return this._fields.get(t).field.errorMessage||null}updateBind(t,i){const e=this._fields.get(t);e&&e.destroy(),i.value=this._dataUnit.getFieldValue(t),this.updateErrorMessage(t,i),this._fields.set(t,E.create(t,i,((t,i)=>this.changeStarted(t,i)),(t=>this.cancelWaitingChange(t)),((t,i)=>this.setFieldValue(t,i)))),this.bindSearchOptionsLoader(t,i),this.applyEzUploadContext(t,i)}changeStarted(t,i){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),!i.blocking&&null==i.promise){const e=this._fields.get(t);e&&(i.promise=new Promise(((t,i)=>{e.waitingChangePromiseResolve=t,e.waitingChangePromiseReject=i})))}this._dataUnit.startChange(t,i)}cancelWaitingChange(t){if(this._dataUnit.waitingForChange(t)){this._dataUnit.cancelWaitingChange(t);const i=this._fields.get(t);i&&i.rejectWaitingChange(new l("Change canceled",t))}}setFieldValue(t,i){if(0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._invalidFields.delete(t),this._dataUnit.setFieldValue(t,i),this._dataUnit.waitingForChange(t)){const i=this._fields.get(t);i&&i.acceptWaitingChange()}}bindSearchOptionsLoader(t,i){if("EZ-SEARCH"===i.nodeName&&null==i.optionLoader){const e=a.getContextValue("__EZUI__SEARCH__OPTION__LOADER__");e&&(i.optionLoader=i=>e(i,t,this._dataUnit))}}applyEzUploadContext(t,i){var e,n;if("EZ-UPLOAD"===i.nodeName){i.urlUpload=a.getContextValue("__EZUI__UPLOAD__ADD__URL__"),i.urlDelete=a.getContextValue("__EZUI__UPLOAD__DEL__URL__");const s=this._dataUnit.getField(t),r=null===(e=s.properties)||void 0===e?void 0:e.DESTINATION;r&&(i.requestHeaders={XTRAINF:`{"destination": "${r}"}`}),i.maxFiles=(null===(n=s.properties)||void 0===n?void 0:n.MAX_FILES)||0}}}class E{constructor(){this.listen=!0,this.startChangeEventName="ezStartChange",this.cancelWaitingChangeEventName="ezCancelWaitingChange",this.changeEventName="ezChange"}destroy(){this.field.removeEventListener(this.startChangeEventName,this.startChangeListener),this.field.removeEventListener(this.cancelWaitingChangeEventName,this.cancelWaitingChangeListener),this.field.removeEventListener(this.changeEventName,this.changeListener)}acceptWaitingChange(){this.waitingChangePromiseResolve&&(this.waitingChangePromiseResolve(),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}rejectWaitingChange(t){this.waitingChangePromiseReject&&(this.waitingChangePromiseReject(t),this.waitingChangePromiseReject=void 0,this.waitingChangePromiseResolve=void 0)}static create(t,i,e,n,s){const r=new E;return r.field=i,r.fieldName=t,r.startChangeListener=i=>{r.listen&&e(t,i.detail)},r.field.addEventListener(r.startChangeEventName,r.startChangeListener),r.cancelWaitingChangeListener=()=>{r.listen&&n(t)},r.field.addEventListener(r.cancelWaitingChangeEventName,r.cancelWaitingChangeListener),r.changeListener=i=>{r.listen&&s(t,i.detail)},r.field.addEventListener(r.changeEventName,r.changeListener),r}}const O={};function C(t=O,i){switch(i.type){case R.METADATA_LOADED:return Object.assign(Object.assign({},t),{formMetadata:i.payload,currentSheet:void 0});case R.CHANGE_TAB:return Object.assign(Object.assign({},t),{currentSheet:i.payload});default:return t}}function A(t){return{type:R.CHANGE_TAB,payload:"string"==typeof t?t:t.tabKey}}function z(t){return t.formMetadata}function j(t){return t.currentSheet}var R;!function(t){t.METADATA_LOADED="FORM/METADATA_LOADED",t.CHANGE_TAB="FORM/CHANGE_TAB"}(R||(R={}));class x{constructor(){this._sheets=new Map,this._requiredFields=[],this._cleanOnCopyFields=[],this._defaultValues={}}getSheet(t){return this._sheets.get(t)}getAllSheets(){return this._sheets}addSheet(t){this._sheets.set(t.name,t),this._requiredFields=this._requiredFields.concat(t.requiredFields),this._cleanOnCopyFields=this._cleanOnCopyFields.concat(t.cleanOnCopyFields),this._defaultValues=t.defaultValues}getRequiredFields(){return this._requiredFields}getCleanOnCopyFields(){return this._cleanOnCopyFields}getDefaultValues(){return this._defaultValues}}const M=(t,i)=>{let e,n,{name:s,label:r,group:o}=Object.assign({},i),{readOnly:l,required:a}=Object.assign({},i);return t&&(r=r||t.label,s=s||t.name,a=t.required||(null==i?void 0:i.required),l=t.readOnly||(null==i?void 0:i.readOnly),e=t.properties,n=t.userInterface),{name:s,label:r,group:o,readOnly:l,required:a,props:e,userInterface:n||h.SHORTTEXT}},I=(t,i)=>"__main"==t[0].label?-1:(t[0].order||1e4)-(i[0].order||1e4),S=class{constructor(e){t(this,e),this.ezReady=i(this,"ezReady",7),this.onDataUnitAction=t=>{t.type===o.METADATA_LOADED&&this.processMetadata()},this.dataUnit=void 0,this.config=void 0,this.recordsValidator=void 0,this.multiLevel=void 0,this.levelResolver=void 0,this.contentBuilder=void 0}validate(){return new Promise(((t,i)=>{var e;const n=this.dataUnit.getModifiedRecords();for(let t=0;t<n.length;t++){const s=n[t],r=[];let o=this.validateRequired(s);if(o&&!o.isValid&&r.push(o),o=null===(e=this.recordsValidator)||void 0===e?void 0:e.validateRecord(this,s),o&&!o.isValid&&r.push(o),r.length>0){this.processValidationResult(r),i();break}}t()}))}observeConfig(){this.processMetadata()}validateRequired(t){const i=z(this._store.getState()),e=this._staticFields.filter((t=>t.dataset.required)).map((t=>t.dataset.fieldName)).concat(i.getRequiredFields()),n=[];if(new Set(e).forEach((i=>{const e=t[i];if(null==e||""===e){const t=this._dataBinder.getErrorMessage(i);n.push(t?{name:i,message:t}:{name:i,message:"Essa informação é obrigatória"})}})),n.length>0)return{isValid:!1,invalidFields:n,infoMessage:"Há pelo menos um campo obrigatório não preenchido."}}processValidationResult(t){t.forEach((t=>{const i=t.invalidFields;if(i&&i.forEach((t=>{this._dataBinder.markInvalid(t)})),t.infoMessage&&v.info(t.infoMessage),t.errorMessage){const{errorTitle:i,errorMessage:e}=t;v.error(i,e)}}))}resolveLevel(t){return this.levelResolver?this.levelResolver(t):t}getMultiLevelContent(t,i,n){const s=this.resolveLevel(t.map((t=>({id:t.name,label:t.label}))));return e("div",{class:"multi-level__container"},e("div",null,e("ez-tree",{selectedId:null==i?void 0:i.name,items:s,onEzChange:t=>{var e;const n=null===(e=t.detail)||void 0===e?void 0:e.id;n&&n!==(null==i?void 0:i.name)&&this._store.dispatch(A(n))}})),e("div",null,this.buildFormContent(n,i)))}getDynamicContent(){var t,i;const n=z(this._store.getState());if(!n)return null;const s=Array.from(n.getAllSheets().values()),r=j(null===(t=this._store)||void 0===t?void 0:t.getState()),o=function(t){const i=j(t);return i?t.formMetadata.getSheet(i):Array.from(t.formMetadata.getAllSheets().values())[0]}(null===(i=this._store)||void 0===i?void 0:i.getState());if(this.multiLevel)return this.getMultiLevelContent(s,o,r);let l=[];if(s.length>1){const t=s.map(((t,i)=>({tabKey:t.name,label:t.label,index:i}))),i="selector";l.push(e("ez-tabselector",{tabs:this.buildIdTabSelector(t),onEzChange:t=>this._store.dispatch(A(t.detail)),selectedTab:o.name,"data-element-id":i}))}return l=l.concat(this.buildFormContent(r,o)),l}buildFormContent(t,i){const n=null==i?void 0:i.fields;if(null!=this.contentBuilder){const i=this.contentBuilder(t,n);if(null!=i)return e("div",{innerHTML:i})}if(null==i)return;const s=`${c.replaceAccentuatedChars(c.toCamelCase(null==i?void 0:i.label),!1)}_selectorContainer`;return e("div",{class:"dynamic-content ez-box__container","data-element-id":s},e("ez-form-view",{class:"ez-row ez-padding-vertical--small",fields:n}))}processMetadata(){if(!this.isStatic()&&this.dataUnit&&this._store){const t=null!=this.config&&Object.values(this.config).length>0?((t,i)=>{var e,n;const s=new Map,r=new Map,o=[],l=[],a={};null===(e=null==t?void 0:t.tabs)||void 0===e||e.forEach((t=>{r.has(t.label)||!1!==t.visible||r.set(t.label,t)})),null===(n=null==t?void 0:t.fields)||void 0===n||n.forEach((t=>{var e,n,h,c;if(!1!==t.visible){const u=((t,i)=>("string"==typeof t?Array.from(i.keys()).find((i=>i.label===t)):t)||{label:t,visible:!0})(t.tab||"__main",s);if(r.has(u.label))return;const d=i.getField(t.name);if(d&&u.visible){s.has(u)||s.set(u,[]);const i=M(d,t);s.get(u).push(i),i.required&&o.push(t.name),((null==t.cleanOnCopy?null===(e=d.properties)||void 0===e?void 0:e.cleanOnCopy:t.cleanOnCopy)||(null===(n=d.properties)||void 0===n?void 0:n.autoNum)||(null===(h=d.properties)||void 0===h?void 0:h.cleanOnCopy))&&l.push(t.name),(null==t.defaultValue?null===(c=d.properties)||void 0===c?void 0:c.defaultValue:t.defaultValue)&&(a[t.name]=t.defaultValue)}}}));const h=new x;return Array.from(s.entries()).sort(I).forEach((([t,i])=>{h.addSheet({label:"__main"===t.label?"Principal":t.label,name:t.label,fields:i,requiredFields:o,cleanOnCopyFields:l,defaultValues:a})})),h})(this.config,this.dataUnit):(()=>{const t=this.dataUnit.metadata,i=new x;if(t){const e=(t.fields||[]).filter((t=>!1!==t.visible)),n=e.map((t=>M(t)));let s={};e.filter((t=>t.defaultValue)).forEach((t=>s[t.name]=t.defaultValue)),i.addSheet({name:t.name,label:t.label,fields:n,requiredFields:e.filter((t=>t.required)).map((t=>t.name)),cleanOnCopyFields:e.filter((t=>{var i,e;return(null===(i=t.properties)||void 0===i?void 0:i.cleanOnCopy)||(null===(e=t.properties)||void 0===e?void 0:e.autoNum)})).map((t=>t.name)),defaultValues:s})}return i})();this._store.dispatch({type:R.METADATA_LOADED,payload:t})}}isStatic(){var t;return(null===(t=this._staticFields)||void 0===t?void 0:t.length)>0}getFormattedValue(t){return null==t||"object"!=typeof t?t:"formattedValue"in t?t.formattedValue:t.value}interceptAction(t){if(t.type===o.RECORDS_COPIED){const i=z(this._store.getState()).getCleanOnCopyFields();if(i)return new u(o.RECORDS_COPIED,t.payload.map((t=>{const e=Object.assign({},t);return i.forEach((t=>delete e[t])),e})))}if(t.type===o.SAVING_DATA)return new Promise((i=>{this.validate().then((()=>i(t))).catch((()=>{}))}));if(t.type===o.RECORDS_ADDED){const i=z(this._store.getState()),e=null==i?void 0:i.getDefaultValues();if(e)return new u(o.RECORDS_ADDED,t.payload.map((t=>{const i=Object.assign({},t);for(const t in e){const n=this.getFormattedValue(e[t]),s="function"==typeof n?n():n;i[t]=this.dataUnit.valueFromString(t,s)}return i})))}return t}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new d("ez-form")),this.dataUnit.addInterceptor(this),this.dataUnit.subscribe(this.onDataUnitAction),this._dataBinder=new w(this.dataUnit),this._store=y(C),this._store.subscribe((()=>n(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata(),f.addIDInfo(this._element,null,{dataUnit:this.dataUnit})}componentDidRender(){this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]"))),this.ezReady.emit()}disconnectedCallback(){this.dataUnit.unsubscribe(this.onDataUnitAction),this.dataUnit.removeInterceptor(this),this._dataBinder.onDisconnectedCallback()}buildIdTabSelector(t){return t&&t.forEach((t=>t[f.DATA_ELEMENT_ID_ATTRIBUTE_NAME]=c.toCamelCase(t.label))),t}render(){return e(s,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return r(this)}static get watchers(){return{config:["observeConfig"]}}};S.style=".sc-ez-form-h{display:flex;flex-direction:column;width:100%}.dynamic-content.sc-ez-form ez-collapsible-box.sc-ez-form{--ez-collapsible-box__header--padding-right:var(--space-small, 6px);--ez-collapsible-box__header--padding-left:var(--space-small, 6px)}.multi-level__container.sc-ez-form{display:grid;grid-template-columns:minmax(20%, 300px) auto;width:100%}";export{S as ez_form}
@@ -1 +0,0 @@
1
- import{h as t,r as i,c as e,g as s}from"./p-00ea9b50.js";import{ElementIDUtils as o,JSUtils as r}from"@sankhyalabs/core";const l=i=>{const{items:e,selectedItem:s,itemsHidden:r,showDropdown:l,handleShowDropdown:a,collapseConfigPosition:h,ellipsesPositionedEnd:c}=i,n=i=>t("li",Object.assign({class:"breadcrumb__item",onClick:t=>(t=>{t.stopPropagation(),a(!l)})(t)},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo("ezBreadcrumbItem_ellipsis")}),c&&t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`})),t("span",{class:"ellipses__item"},"..."),c||t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`})),l&&t("ez-dropdown",Object.assign({class:"dropdown-ellipsis",items:r.map((t=>({id:t.id,label:t.label,type:"item",children:null,iconName:t.iconName||null,subAction:null,group:null}))),onEzClick:t=>{const{id:i,label:e,iconName:o}=t.detail;s.emit({id:i,label:e,iconName:o})}},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo("dropdown")}`})));return t("div",{class:"breadcrumb__items"},e.map(((i,r)=>{const l=r===e.length-1;return t("div",{class:"breadcrumb__group"},h===r&&n(i),t("li",Object.assign({class:"breadcrumb__item",id:i.id},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:o.getInternalIDInfo(`ezBreadcrumb_item_${i.id}_${i.label}`)}),i.iconName&&t("ez-icon",Object.assign({class:"breadcrumb__item--icon "+(l&&!c?"active-icon":""),size:"small",iconName:i.iconName},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconItem${i.id}`)}`})),t("p",{class:"breadcrumb__item--label "+(l&&!c?"active":""),onClick:c||!l?()=>s.emit(i):void 0},i.label),!l&&t("ez-icon",Object.assign({class:"breadcrumb__item--chevron",size:"small",iconName:"chevron-right"},{[o.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:`${o.getInternalIDInfo(`iconPath${i.id}`)}`}))),h-1===r&&c&&n(i))})))},a=class{constructor(t){i(this,t),this.selectedItem=e(this,"selectedItem",7),this._ellipsesPositionedEnd=!1,this._renderSecond=!1,this.INDEX_ITEM_TO_REMOVE=1,this.CHEVRON_SIZE=28,this.handleShowDropdown=t=>{this.showDropdown=t},this.items=[],this.fillMode="auto",this.maxItems=4,this.positionEllipsis=1,this.visibleItems=void 0,this.hiddenItems=[],this.showDropdown=!1,this.collapseConfigPosition=-1}watchPropHandler(){"auto"===this.fillMode&&this.handleResize()}watchPropHiddenItems(){"auto"===this.fillMode&&(this.collapseConfigPosition=this.hiddenItems.length>0?1:-1)}componentDidUpdate(){this.positionDropdown(),this.setEvents()}componentWillLoad(){this.visibleItems=[...this.items],"regular"===this.fillMode?this.configModeRegular():"auto"===this.fillMode&&this.startResize(),this.setEvents()}closeDropdown(t){const i=null==t?void 0:t.target;null!=i&&i!==this._element.shadowRoot.querySelector(".ellipses__item")&&(this.showDropdown=!1)}setEvents(){document.removeEventListener("click",this.closeDropdown.bind(this)),document.addEventListener("click",this.closeDropdown.bind(this)),document.removeEventListener("scroll",this.positionDropdown.bind(this)),document.addEventListener("scroll",this.positionDropdown.bind(this))}componentDidLoad(){o.addIDInfo(this._element)}componentDidRender(){"auto"===this.fillMode&&this.configResize()}configResize(){null!=this._resizeObserver&&this._resizeObserver.unobserve(this._element.parentElement),this._resizeObserver=new ResizeObserver(r.debounce(this.handleResize.bind(this),200)),this._resizeObserver.observe(this._element.parentElement)}handleResize(){if(!this._renderSecond)return void(this._renderSecond=!0);let{offsetWidth:t}=this._element.parentElement,i=0;this.visibleItems.forEach((t=>i+=t.width));const e=this.collapseConfigPosition>-1?39:0;t<i+e?this.handleCollapse(t,i):t>=i+e&&this.handleExpand(t)}handleCollapse(t,i){if(this.visibleItems.length<=2)return;let e=[...this.visibleItems],s=[...this.hiddenItems],o=e[this.INDEX_ITEM_TO_REMOVE],r=!1;for(;e.length>2&&null!=o&&i>t;)r=!0,e=e.filter(((t,i)=>i!==this.INDEX_ITEM_TO_REMOVE)),s=[...s,o],i-=o.width,o=e[this.INDEX_ITEM_TO_REMOVE];r&&(this.visibleItems=e,this.hiddenItems=s,this.showDropdown=!1)}handleExpand(t){if(!this.hiddenItems.length)return;let i=Math.abs(this._elBreadcrumbList.offsetWidth-t),e=[...this.visibleItems],s=[...this.hiddenItems],o=s[s.length-1],r=!1;for(;o&&i>=o.width;)i-=o.width,s.pop(),e.splice(this.INDEX_ITEM_TO_REMOVE,0,o),o=s[s.length-1],r=!0;r&&(this.visibleItems=e,this.hiddenItems=s,this.showDropdown=!1)}configModeRegular(){if(this.visibleItems.length>this.maxItems){const t=Math.abs(this.visibleItems.length-this.maxItems);if(0===this.positionEllipsis){const i=this.visibleItems.slice(0,t);this.hiddenItems.push(...i),this.visibleItems.splice(0,t)}else if(this.positionEllipsis>=this.maxItems){const t=this.visibleItems.slice(this.maxItems);this.hiddenItems.push(...t),this.visibleItems.splice(this.maxItems),this._ellipsesPositionedEnd=!0}else{const i=this.visibleItems.splice(this.positionEllipsis,t);this.hiddenItems.push(...i)}this.collapseConfigPosition=this.positionEllipsis}}positionDropdown(){var t;const i=null===(t=this._element.shadowRoot.querySelector(".ellipses__item"))||void 0===t?void 0:t.getBoundingClientRect(),e=this._element.shadowRoot.querySelector(".dropdown-ellipsis");null!=i&&null!=e&&(e.style.top=i.y+i.height+5+"px",e.style.left=i.x+"px")}async startResize(){const t=this._element.parentElement.offsetWidth,i=await Promise.all(this.visibleItems.map((async(t,i)=>(t.width=await this.measureSizeHTMLElement(t),i===this.visibleItems.length-1&&(t.width-=this.CHEVRON_SIZE),t))));if(i.reduce(((t,i)=>t+i.width),0)>t){const e=[],s=[...i],o=s.shift(),r=s.pop();r.width+=10,e.push(o,r);let l=e.reduce(((t,i)=>t+i.width),0),a=Math.abs(l-t);s.reverse().forEach((i=>{if(i.width<a){const i=s.shift();e.splice(1,0,i),l=e.reduce(((t,i)=>t+i.width),0),a=Math.abs(l-t)}})),this.visibleItems=[...e],this.hiddenItems=[...s.reverse()]}}measureSizeHTMLElement(t){return new Promise((i=>{this.waitFontLoad().then((()=>{void 0===this._textMesurement&&(this._textMesurement=this._element.shadowRoot.ownerDocument.createElement("canvas"));const e=this._textMesurement.getContext("2d");e.font="14px Roboto, Algerian",i((t.iconName?19:0)+this.CHEVRON_SIZE+e.measureText(t.label).width)}))}))}waitFontLoad(){return new Promise((t=>{document.fonts.load("14px Roboto").then((()=>t()),t())}))}getItemContent(){return t("nav",{class:"breadcrumb"},t("ol",{class:"breadcrumb__list",ref:t=>this._elBreadcrumbList=t},t(l,{items:this.visibleItems,selectedItem:this.selectedItem,itemsHidden:this.hiddenItems,showDropdown:this.showDropdown,handleShowDropdown:this.handleShowDropdown,collapseConfigPosition:this.collapseConfigPosition,ellipsesPositionedEnd:this._ellipsesPositionedEnd})))}render(){return this.getItemContent()}get _element(){return s(this)}static get watchers(){return{items:["watchPropHandler"],hiddenItems:["watchPropHiddenItems"]}}};a.style=":host{--breadcrumb__item--label--color--title-primary:var(--color--title-primary, #2B3A54);--breadcrumb__item--label--color--active:var(--color--primary, '#008561');--breadcrumb__item--label--font-weight:var(--text-weight--large, 600);display:block;font-size:var(--text--medium, 14px);font-family:var(--font-pattern, \"Roboto\");font-weight:var(--text-weight--medium, 400)}.breadcrumb__group{display:flex}.breadcrumb__list{list-style-type:none;display:inline-block;margin:0;padding:0;overflow:hidden;white-space:nowrap}.breadcrumb__item{display:inline-flex;align-items:center;cursor:pointer}.breadcrumb__item--label{color:var(--breadcrumb__item--label--color--title-primary);margin:0px}.breadcrumb__item--icon{padding-right:3px;color:var(--breadcrumb__item--label--color--title-primary)}.breadcrumb__item--chevron{padding:0px 6px;cursor:default}.active{color:var(--breadcrumb__item--label--color--active);font-weight:var(--breadcrumb__item--label--font-weight);cursor:default}.active-icon{--icon--color:var(--breadcrumb__item--label--color--active);cursor:default}.breadcrumb__items{display:flex}";export{a as ez_breadcrumb}
@@ -1 +0,0 @@
1
- import{r as o,c as i,h as t,H as s,g as e}from"./p-00ea9b50.js";import{ObjectUtils as r,FloatingManager as l,ElementIDUtils as a}from"@sankhyalabs/core";import{A as h}from"./p-efb43dd8.js";import{C as n}from"./p-4a5e37a7.js";import"./p-ab574d59.js";import"./p-b853763b.js";import{R as c}from"./p-3f4ae3a3.js";const b=class{constructor(t){o(this,t),this.ezChange=i(this,"ezChange",7),this._changeDeboucingTimeout=null,this._limitCharsToSearch=3,this._deboucingTime=300,this._maxWidthValue=0,this._tabPressed=!1,this._textEmptyList="Nenhum resultado encontrado",this._textEmptySearch="Nenhum resultado de {0} encontrado",this._preSelection=void 0,this._visibleOptions=void 0,this._startLoading=!1,this._showLoading=!0,this._criteria=void 0,this.value=void 0,this.label=void 0,this.enabled=!0,this.options=void 0,this.errorMessage=void 0,this.searchMode=void 0,this.showSelectedValue=!1,this.showOptionValue=!1,this.suppressSearch=!1,this.optionLoader=void 0,this.suppressEmptyOption=!1,this.canShowError=!0,this.mode="regular"}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){const t=this.getSelectedOption(o),s=this.getSelectedOption(i),e=this.getSelectedOption(this.value);this.isDifferentValues(e,t)&&(this.value=t),this.isDifferentValues(t,s)&&(this.setInputValue(),this.ezChange.emit(null===t?void 0:t)),this.resetOptions()}}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}isDifferentValues(o,i){return r.objectToString(o||{})!==r.objectToString(i||{})}getFormattedText(o){if(null!=o){if(!this.showSelectedValue||null==o.value)return o.label;if(o.label)return`${o.value} - ${o.label}`}}getText(){const o=this.getSelectedOption(this.value),i=this.getFormattedText(o);if(null!=i)return String(i).replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/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.searchMode&&this._criteria){const i=this._criteria.toUpperCase();o=o.filter((o=>o.label.toLocaleUpperCase().indexOf(i)>-1))}this._visibleOptions=this.suppressEmptyOption?o:[{value:void 0,label:""}].concat(o),this._maxWidthValue=this.getMaxWidthValue()}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 s=this.showOptionValue&&this._maxWidthValue>0?`${this._maxWidthValue}px`:"";return o.label=o.label||(o.value?`<SEM ${this.getFieldLabel()}>`:""),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:s,minWidth:s,maxWidth:s}},o.value):void 0,t("span",{class:"item__label "+(this.showOptionValue?"item__label--bold":""),title:o.label},o.label))}showOptions(){this.enabled&&(this._floatingID=l.float(this._listWrapper,this._listContainer,{autoClose:!0,top:this.errorMessage||!this.canShowError||"slim"===this.mode?"6px":"-13px"}),this.setFocus(),window.requestAnimationFrame((()=>{this._listWrapper.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})})))}hideOptions(){void 0!==this._floatingID&&l.close(this._floatingID),this._floatingID=void 0}isOptionsVisible(){return void 0!==this._floatingID&&l.isFloating(this._floatingID)}nextOption(){this.searchMode&&!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],!0))}previousOption(){this._preSelection=void 0===this._preSelection?0:Math.max(this._preSelection-1,0),this.scrollToOption(this._visibleOptions[this._preSelection],!1)}scrollToOption(o,i){window.requestAnimationFrame((()=>{const t=(null==o?void 0:o.value)?this._optionsList.querySelector(`li#item_${o.value}`):void 0;if(t){const o=t.parentElement,s=o.getBoundingClientRect(),e=t.getBoundingClientRect();i&&e.bottom>s.bottom?o.scrollTop=e.height*(this._preSelection-3):!i&&e.top<s.top&&(o.scrollTop=e.height*this._preSelection)}}))}selectCurrentOption(){void 0!==this._preSelection?(this.selectOption(this._visibleOptions[this._preSelection]),this._preSelection=void 0):this.controlListWithOnlyOne()}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.controlEmptySearch())):this.selectOption(o))}clearSource(){this._source=[],this.updateVisibleOptions()}selectOption(o){var i,t;const s=this.getSelectedOption(this.value);(null===(i=null==s?void 0:s.value)||void 0===i?void 0:i.toString())!==(null===(t=null==o?void 0:o.value)||void 0===t?void 0:t.toString())||null==s&&"value"in o?this.value=(null==o?void 0:o.value)?o:void 0:this.resetOptions(),this.searchMode&&(this._visibleOptions=[],this.clearSource())}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()}),this._deboucingTime),this.resetOptions()}setInputValue(o=!0){const i=this.getText();(this._textInput.value||"")!==i&&(this._textInput.value=i,o&&(this.errorMessage=null))}clearSearch(){this.value=null}controlListWithOnlyOne(){var o;if(this.searchMode){const i=null===(o=this._visibleOptions)||void 0===o?void 0:o.filter((o=>""!==o.label&&null!=o.value));1===(null==i?void 0:i.length)&&this.selectOption(i[0])}}controlEmptySearch(){var o;this.searchMode&&((null===(o=this._visibleOptions)||void 0===o?void 0:o.length)?this.controlListWithOnlyOne():(this.clearSearch(),h.info(this._textEmptyList)))}validateDescriptionValue(){if(!this.searchMode||"object"!=typeof this.value)return;const{label:o,value:i}=this.value||{};o||null==i||this.loadDescriptionValue(i)}async loadDescriptionValue(o){var i,t;if(null==o)return;if((null===(i=this.options)||void 0===i?void 0:i.length)>0)return void this.loadOptionValue(o);const s={mode:d.PREDICTIVE,argument:o},e=await(null===(t=this.optionLoader)||void 0===t?void 0:t.call(this,s));null!=e&&(e instanceof Promise?e.then((o=>{this.setDescriptionValue(o)})):this.setDescriptionValue(e))}setDescriptionValue(o){const i=(null==o?void 0:o[0])||o;null!=i&&Object.keys(i).length?(i.label||(i.label=`<SEM ${this.getFieldLabel()}>`),this.value=i):this.showNoResultMessage()}loadOptionValue(o){var i;const t=null===(i=this.options)||void 0===i?void 0:i.find((i=>i.value===o));null!=t?this.selectOption(t):this.showNoResultMessage()}async showNoResultMessage(){this.clearSearch(),h.info(this._textEmptySearch.replace("{0}",this.getFieldLabel()))}getFieldLabel(){var o;return null===(o=this.label)||void 0===o?void 0:o.replace(c,"").toUpperCase()}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.searchMode?this.updateSource([]):this.loadOptions(d.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(){n.applyVarsTextInput(this.el,this._textInput),this.setInputValue(!1)}componentShouldUpdate(o,i){this.isDifferentValues(o,i)&&this.validateDescriptionValue()}handlerIconClick(){this.searchMode?this.loadOptions(d.ADVANCED):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(),s=Number(t||void 0);this._criteria||(this._textInput.value=o.data||t),this._criteria=t,t?this.searchMode?(this._showLoading=!1,this.clearSource(),!isNaN(s)||t.length>=this._limitCharsToSearch?(this._showLoading=!0,this._changeDeboucingTimeout=window.setTimeout((()=>{this.loadOptions(d.PREDICTIVE,isNaN(s)?t:s.toString())}),this._deboucingTime),this.showOptions()):this.hideOptions()):(this.updateVisibleOptions(),this.showOptions()):(this.hideOptions(),this.searchMode?(this._showLoading=!1,this.clearSource()):this.updateVisibleOptions())}clearDeboucingTimeout(){this._changeDeboucingTimeout&&(window.clearTimeout(this._changeDeboucingTimeout),this._changeDeboucingTimeout=null)}onTextInputClickHandler(){this.searchMode||this.showOptions()}keyDownHandler(o){switch(this._tabPressed=!1,o.ctrlKey&&("f"!==o.key&&"F"!==o.key||(this.loadOptions(d.ADVANCED),o.stopPropagation(),o.stopImmediatePropagation(),o.preventDefault())),o.key){case"ArrowDown":this.nextOption();break;case"ArrowUp":this.previousOption();break;case"Enter":this.selectCurrentOption();break;case"Escape":this.cancelPreselection();break;case"Tab":this._tabPressed=!0,this.controlListWithOnlyOne()}}onTextInputFocusOutHandler(){this.cancelPreselection()}render(){var o;return a.addIDInfoIfNotExists(this.el,"input"),t(s,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:this.searchMode?"leftIcon":"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.handlerIconClick()},t("ez-icon",{iconName:this.searchMode?"search":"chevron-down"})),this.searchMode&&(null===(o=this._textInput)||void 0===o?void 0:o.value)&&(this._criteria||this.value)?t("button",{class:"btn btn__close",slot:"rightIcon",disabled:!this.enabled,tabindex:-1,onClick:()=>this.clearSearch()},t("ez-icon",{iconName:"close"})):void 0),t("section",{class:"list-container",ref:o=>this._listContainer=o},t("div",{class:"list-wrapper",ref:o=>this._listWrapper=o},t("div",{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._showLoading&&this._visibleOptions.length>0&&this._visibleOptions.map(((o,i)=>this.buildItem(o,i)))))))}get el(){return e(this)}static get watchers(){return{errorMessage:["observeErrorMessage"],value:["observeValue"]}}};var d;!function(o){o.ADVANCED="ADVANCED",o.PRELOAD="PRELOAD",o.PREDICTIVE="PREDICTIVE"}(d||(d={})),b.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--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{position:relative;width:100%}.list-wrapper{display:flex;flex-direction:column;box-sizing:border-box;width:100%;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%;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:unset;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{b as ez_combo_box}
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,H as s,g as a}from"./p-00ea9b50.js";import{DateUtils as n,ElementIDUtils as o}from"@sankhyalabs/core";import{C as r}from"./p-4a5e37a7.js";const h=class{constructor(i){t(this,i),this.ezChange=e(this,"ezChange",7),this.ezStartChange=e(this,"ezStartChange",7),this.ezCancelWaitingChange=e(this,"ezCancelWaitingChange",7),this._focused=!1,this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.mode="regular"}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,e){if(this._textInput&&t!=e){const i=n.validateDate(t),s=n.validateDate(e);if((null==i?void 0:i.getTime())!==(null==s?void 0:s.getTime())){const t=this.getTextValue(i)||"";!n.strToDate(t)&&this._focused||(this._textInput.value||"")===t||(this._textInput.value=t,this._focused=!1,this.errorMessage=""),this.ezChange.emit(null===i?void 0:i)}}}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}changeValue(t){const e=n.validateDate(this.value),i=n.validateDate(t);(null==e?void 0:e.getTime())!==(null==i?void 0:i.getTime())&&(this.value=i)}showCalendar(){this.handleBlur(),this._calendar.value=this.value,this._calendar.fitVertical(this.errorMessage||"slim"===this.mode?6:-13,this._elem.clientHeight)}hideCalendar(){this.changeValue(this._calendar.value),this._calendar.hide()}handleBlur(){const t=this._textInput.value,e=n.strToDate(t);if(e||!t){this.errorMessage="";const t=n.validateDate(this.value),i=n.validateDate(e);(null==t?void 0:t.getTime())===(null==i?void 0:i.getTime())?(i&&(this._textInput.value=this.getTextValue(i)||"",this._focused=!1),this.ezCancelWaitingChange.emit()):this.changeValue(i)}else this.changeValue(void 0),this.ezCancelWaitingChange.emit(),this.errorMessage="O valor digitado não é uma data válida"}getTextValue(t){return t?new Intl.DateTimeFormat("pt-BR").format(t):void 0}handleInput(t){const e=n.strToDate(this._textInput.value),i=n.validateDate(this.value),s=n.validateDate(e);(null==i?void 0:i.getTime())!==(null==s?void 0:s.getTime())&&(this._focused=!0,this.ezStartChange.emit({waitmessage:"",blocking:!1})),"H"!==t.data&&"h"!==t.data||this.changeValue(new Date)}setInputValue(){const t=this.getTextValue(this.value)||"";(this._textInput.value||"")!==t&&(this._textInput.value=t)}componentDidLoad(){r.applyVarsTextInput(this._elem,this._textInput),this.setInputValue()}render(){return o.addIDInfoIfNotExists(this._elem,"input"),i(s,null,i("ez-text-input",{"data-element-id":o.getInternalIDInfo("textInput"),ref:t=>this._textInput=t,"data-slave-mode":"true",label:this.label,onBlur:()=>this.handleBlur(),onInput:t=>this.handleInput(t),restrict:"0123456789/",enabled:this.enabled,errorMessage:this.errorMessage,mode:this.mode},i("button",{disabled:!this.enabled,tabindex:-1,class:"btn-open-cal",onClick:()=>this.showCalendar(),slot:"leftIcon"})),i("ez-calendar",{"data-element-id":o.getInternalIDInfo("calendar"),onEzChange:t=>{this.hideCalendar(),t.stopPropagation()},floating:!0,ref:t=>this._calendar=t}))}get _elem(){return a(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};h.style=':host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--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>\')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:unset}.btn-open-cal::after{content:\'\';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}';export{h as ez_date_input}
@@ -1 +0,0 @@
1
- import{h as e,r as l,H as a,g as n}from"./p-00ea9b50.js";import{UserInterface as d,ElementIDUtils as o}from"@sankhyalabs/core";import{R as t}from"./p-3f4ae3a3.js";import{C as i}from"./p-b853763b.js";function s(l,a,n,d=!1){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large"},e("ez-check",{enabled:!n,label:a,mode:d?i.SWITCH:i.REGULAR,"data-field-name":l,key:l}))}function r(l,a,n,d,o){return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-number-input",{enabled:!n,label:a,precision:d,prettyPrecision:o,"data-field-name":l,key:l}))}const z=({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-text-input",{label:a,"data-field-name":l,key:l,enabled:!n})),c=new Map;c.set(d.CHECKBOX,(e=>s(e.name,e.label,e.readOnly,!1))),c.set(d.SWITCH,(e=>s(e.name,e.label,e.readOnly,!0))),c.set(d.OPTIONSELECTOR,(({name:l,label:a,readOnly:n,required:d,props:o})=>{const t=null==o?void 0:o.options;let i;if("string"==typeof t){const e=JSON.parse(t);i=Object.keys(e).map((l=>({value:l,label:e[l]})))}else i=t;return e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-combo-box",{enabled:!n,suppressEmptyOption:d,label:a,"data-field-name":l,key:l,options:i}))})),c.set(d.DATE,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.TIME,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-time-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.DATETIME,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-date-time-input",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.FILE,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-upload",{enabled:!n,label:a,"data-field-name":l,key:l})))),c.set(d.DECIMALNUMBER,(({name:e,label:l,readOnly:a,props:n})=>{const d=Number((null==n?void 0:n.precision)||2);return r(e,l,a,d,Number((null==n?void 0:n.prettyPrecision)||d))})),c.set(d.INTEGERNUMBER,(({name:e,label:l,readOnly:a})=>r(e,l,a,0,0))),c.set(d.SEARCH,(({name:l,label:a,readOnly:n,required:d})=>e("div",{class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-padding-horizontal--small"},e("ez-search",{enabled:!n,suppressEmptyOption:d,label:a,"data-field-name":l,key:l})))),c.set(d.LONGTEXT,(({name:l,label:a,readOnly:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small",key:l},e("ez-text-area",{enabled:!n,label:a,"data-field-name":l}))));const b=e=>{const l=c.get(e.userInterface)||z,a=e.required?`${e.label}${t}`:e.label;return l(Object.assign(Object.assign({},e),{label:a}))},m=class{constructor(e){l(this,e),this.fields=void 0}groupFields(e){const l=new Map;return e.forEach((e=>{const a=e.group;if(a){let n=l.get(a);null==n&&(n=[],l.set(a,n)),n.push(e)}else l.set(e.name,e)})),l}render(){if(o.addIDInfoIfNotExists(this._element,"ezFormView"),null!=this.fields)return e(a,null,Array.from(this.groupFields(this.fields).entries()).map((([l,a])=>Array.isArray(a)?e("ez-collapsible-box",{id:`group-${l}`,label:l,"header-size":"large",key:l},a.map((e=>b(e)))):b(a))))}get _element(){return n(this)}};m.style=".sc-ez-form-view-h{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}";export{m as ez_form_view}
@@ -1 +0,0 @@
1
- import{r as e,c as r,h as t,g as i,H as s,f as o}from"./p-00ea9b50.js";import{ElementIDUtils as l,JSUtils as a,StringUtils as n,ObjectUtils as c}from"@sankhyalabs/core";import{C as h}from"./p-4a5e37a7.js";import{E as d}from"./p-98bb8b16.js";const b=class{constructor(t){e(this,t),this.ezChange=r(this,"ezChange",7),this.ezSearching=r(this,"ezSearching",7),this.ezFocusIn=r(this,"ezFocusIn",7),this._searchingText="",this.handleFocus=()=>{this._textInput.value=""===this._searchingText?"":this._searchingText,this.ezFocusIn.emit()},this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.restrict=void 0,this.mode="regular",this.asyncSearch=!1}observeLabel(){this._textInput&&(this._textInput.label=this.label)}observeErrorMessage(){this._textInput&&(this._textInput.errorMessage=this.errorMessage)}observeValue(e,r){this._textInput&&e!=r&&(this._textInput.value=e,this.ezChange.emit(e))}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}async setValue(e){this.asyncSearch&&null!=this._textInput&&(e!==this.value?(this.value=e,this._searchingText=""):this._textInput.value=e)}async endSearch(){this.asyncSearch&&null!=this._textInput&&this._textInput.value!==this.value&&(this._textInput.value=this.value)}handleChange(e){const r=e.detail;this.errorMessage="",this.asyncSearch?(this._searchingText=r,this.ezSearching.emit(r)):r!==this.value&&(this.value=r)}componentDidLoad(){h.applyVarsTextInput(this._elem,this._textInput)}render(){return l.addIDInfoIfNotExists(this._elem,"input"),t("ez-text-input",{"data-element-id":l.getInternalIDInfo("textInput"),ref:e=>this._textInput=e,label:this.label,onEzChange:e=>this.handleChange(e),value:this.value,enabled:this.enabled,errorMessage:this.errorMessage,restrict:this.restrict,mode:this.mode,onFocusin:this.handleFocus},t("ez-icon",{slot:"leftIcon",iconName:"search"}))}get _elem(){return i(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};b.style=":host{display:block;width:100%}";const u=class{constructor(r){e(this,r),this._shadowStart="ez-scroller__wrapper--shadow-start",this._shadowEnd="ez-scroller__wrapper--shadow-end",this.isActive=!1,this.direction=void 0,this.locked=!1,this.activeShadow=!1}getContainerClass(){return`ez-scroller__container ez-scroller__container--${this.direction}\n ${this.locked||!this.isActive?" ez-scroller__container--locked":""}\n `}getWrapperClass(){return`ez-scroller__wrapper ez-scroller__wrapper--${this.direction}`}finishDrag(){this._controller&&this._container.classList.remove("dragging")}updateScroller(){const e=this._container;if(null==e)return;let r;if(this.direction===d.HORIZONTAL){const{scrollWidth:t,clientWidth:i,scrollLeft:s}=e;r=t-i-Math.ceil(s),this._startHidden=e.scrollLeft>0}else if(this.direction===d.VERTICAL){const{scrollHeight:t,clientHeight:i,scrollTop:s}=e;r=t-i-Math.ceil(s),this._startHidden=e.scrollTop>0}this._endHidden=r>0,this.isActive=this._startHidden||this._endHidden||this.isActiveScroller(),this.updateShadow()}updateShadow(){const e=this._wrapper;if(!this.activeShadow||null==e)return;const r=["","start","end","middle"][Number(this._startHidden)|Number(this._endHidden)<<1];"start"===r?(e.classList.add(this._shadowStart),e.classList.remove(this._shadowEnd)):"end"===r?(e.classList.remove(this._shadowStart),e.classList.add(this._shadowEnd)):"middle"===r?(e.classList.add(this._shadowStart),e.classList.add(this._shadowEnd)):(e.classList.remove(this._shadowStart),e.classList.remove(this._shadowEnd))}configResize(){const e=this._container;null!=e&&(null!=this._resizeObserver&&this._resizeObserver.unobserve(e),this._resizeObserver=new ResizeObserver(a.debounce(this.updateScroller.bind(this),200)),this._resizeObserver.observe(e))}getContainerElement(){return t("div",{ref:e=>this._container=e,class:this.getContainerClass()},t("slot",null))}isActiveScroller(){return null!=this._container&&(this._container.scrollWidth>this._container.clientWidth||this._container.scrollHeight>this._container.clientHeight)}clickListener(e){this._controller&&this._controller.didScroll()&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation())}mouseDownHandler(e){this.locked?this.finishDrag():(this._controller||(this._controller=new _(this._container)),this._controller.startDragg(e),this._container.classList.add("dragging"))}mouseUpHandler(){this.finishDrag()}mouseMoveHandler(e){this.locked?this.finishDrag():this._controller&&(0===e.buttons?this.finishDrag():this._controller.doScroll(e))}componentDidRender(){var e,r;if(null!=this._container){if(this.direction===d.BOTH)return null===(e=this._wrapper)||void 0===e||e.classList.remove(this._shadowStart),null===(r=this._wrapper)||void 0===r||r.classList.remove(this._shadowEnd),void(this.isActive=this.isActiveScroller());this._container.onscroll=this.updateScroller.bind(this),this.configResize(),this.updateScroller()}}render(){return t(s,null,this.activeShadow?t("div",{ref:e=>this._wrapper=e,class:this.getWrapperClass()},this.getContainerElement()):this.getContainerElement())}};class _{constructor(e){this.scrollablePanel=e}startDragg(e){this.startX=this.measureX(e),this.startY=this.measureY(e),this.scrollWidth=0,this.scrollHeight=0}measureX(e){return e.pageX-this.scrollablePanel.offsetLeft}measureY(e){return e.pageY-this.scrollablePanel.offsetTop}doScroll(e){const r=this.measureX(e),t=this.measureY(e);if(r!=this.startX||t!=this.startY){const e=r-this.startX,i=t-this.startY;this.startX+=e,this.startY+=i,this.scrollWidth+=Math.abs(e),this.scrollHeight+=Math.abs(i),this.scrollablePanel.scrollLeft=Math.max(0,this.scrollablePanel.scrollLeft-e),this.scrollablePanel.scrollTop=Math.max(0,this.scrollablePanel.scrollTop-i)}}didScroll(){return this.scrollHeight>5||this.scrollWidth>5}}u.style=':host{--ez-scroller--box-shadow-color:var(--background--body, #fafcff);--ez-scroller__scrollbar--color-default:var(--scrollbar--default, #626e82);--ez-scroller__scrollbar--color-background:var(--scrollbar--background, #E5EAF0);--ez-scroller__scrollbar--color-hover:var(--scrollbar--hover, #2B3A54);--ez-scroller__scrollbar--color-clicked:var(--scrollbar--clicked, #a2abb9);--ez-scroller__scrollbar--border-radius:var(--border--radius-small, 6px);--ez-scroller__scrollbar--width:var(--space--small, 6px);display:flex;cursor:grab;width:100%;overflow:hidden}.dragging{cursor:grabbing}.ez-scroller__container{display:flex;overflow-y:hidden;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:transparent transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked),.ez-scroller__container:not(.ez-scroller__container--locked):hover{scrollbar-color:var(--ez-scroller__scrollbar--color-clicked) var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container--both{overflow-y:scroll;overflow-x:scroll;flex-wrap:wrap}.ez-scroller__container--horizontal{overflow-x:scroll;flex-direction:row}.ez-scroller__container--vertical{overflow-y:scroll;flex-direction:column}.ez-scroller__container::-webkit-scrollbar{background-color:transparent;width:var(--ez-scroller__scrollbar--width);height:var(--ez-scroller__scrollbar--width);max-width:var(--ez-scroller__scrollbar--width);min-width:var(--ez-scroller__scrollbar--width)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-track{visibility:hidden;background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-track,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-track{background-color:var(--ez-scroller__scrollbar--color-background)}.ez-scroller__container::-webkit-scrollbar-thumb{background-color:transparent;border-radius:var(--ez-scroller__scrollbar--border-radius)}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb{background-color:var(--ez-scroller__scrollbar--color-default)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:hover{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:hover,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--ez-scroller__scrollbar--color-hover)}.ez-scroller__container::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container::-webkit-scrollbar-thumb:horizontal:active{background-color:transparent}.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container--both:not(.ez-scroller__container--locked)::-webkit-scrollbar-thumb:horizontal:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:vertical:active,.ez-scroller__container:not(.ez-scroller__container--locked):hover::-webkit-scrollbar-thumb:horizontal:active{background-color:var(--ez-scroller__scrollbar--color-clicked)}.ez-scroller__wrapper{display:flex;position:relative;width:100%;height:auto}.ez-scroller__wrapper--horizontal{flex-direction:row}.ez-scroller__wrapper--vertical{flex-direction:column}.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--shadow-end::after{content:"";display:flex;position:absolute;z-index:1}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-end::after{width:24px;min-height:calc(100% - 10px)}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-start::before{left:0;background:linear-gradient(to right, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--horizontal.ez-scroller__wrapper--shadow-end::after{right:0;background:linear-gradient(to left, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-start::before,.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-end::after{min-width:calc(100% - 10px);height:24px}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-start::before{top:0;background:linear-gradient(to bottom, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}.ez-scroller__wrapper--vertical.ez-scroller__wrapper--shadow-end::after{bottom:0;background:linear-gradient(to top, var(--ez-scroller--box-shadow-color) 20%, transparent 80%)}';const v=class{constructor(t){e(this,t),this.ezClick=r(this,"ezClick",7)}componentDidLoad(){this._element&&l.addIDInfo(this._element),this._button&&l.addIDInfo(this._button,"button",{id:"embedded"})}render(){return t("button",{type:"button",onClick:()=>{this.ezClick.emit()},ref:e=>this._button=e},t("span",null))}get _element(){return i(this)}};v.style=":host{--ez-sidebar-button--width:6px;--ez-sidebar-button--hover--width:12px;--ez-sidebar-button--height:96px;--ez-sidebar-button--background-color--xlight:var(--background--xlight, #fff);--ez-sidebar-button--background-color--primary:var(--color--primary);--ez-sidebar-button--space--small:var(--space--small, 6px);--ez-sidebar-button--space--medium:var(--space--medium, 12px);--ez-sidebar-button--box-shadow:var(--shadow--small, 0px 0px 16px rgba(0, 38, 111, 0.07));--ez-sidebar-button--hover--box-shadow:var(--shadow--hard, 0px 0px 16px rgba(43, 58, 84, 0.24));--ez-sidebar-button--border--radius-small:var(--border--radius-small);--ez-sidebar-button--border--radius-medium:var(--border--radius-medium)}button{display:flex;background:var(--ez-sidebar-button--background-color--xlight);border:0;border-radius:0 var(--ez-sidebar-button--border--radius-medium) var(--ez-sidebar-button--border--radius-medium) 0;box-shadow:var(--ez-sidebar-button--box-shadow);padding:0;cursor:pointer}span{width:var(--ez-sidebar-button--width);height:var(--ez-sidebar-button--height);margin:var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--small) var(--ez-sidebar-button--space--medium) 0;background:var(--ez-sidebar-button--background-color--primary);border-radius:0 var(--ez-sidebar-button--border--radius-small) var(--ez-sidebar-button--border--radius-small) 0}button:hover{box-shadow:var(--ez-sidebar-button--hover--box-shadow)}button:hover span{width:var(--ez-sidebar-button--hover--width);margin:var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--medium) var(--ez-sidebar-button--space--medium) 0}";const z=(e,r)=>r?e.iconExpanded||"chevron-down":e.iconContracted||"chevron-right",p=e=>e.tooltip||e.label,m=e=>{const{node:r,selectedId:i,itemClick:s,iconClick:o,iconResolver:a,tooltipResolver:n,itemsList:c}=e;if(!r.visible)return;const h=r.item,d=e.level||1,b=r.isDisabled(),u=!b&&h.expanded,_=r.isExpandable(),v=!b&&!r.isPlaceHolder;return v&&c.push(h),t("ul",{class:1===d?"first-level":void 0},t("li",Object.assign({title:n(h,!b,d),class:"tree-item",onClick:()=>v&&s(h)},{disabled:b,selected:h.id===i,[l.DATA_ELEMENT_ID_ATTRIBUTE_NAME]:l.getInternalIDInfo(`ezTreeItem_${h.id}`)}),t("div",{class:"item-icon-box"},_&&t("ez-icon",{id:h.id,class:"item-icon",size:"small",iconName:a(h,u,d),onClick:()=>v&&o(h)})),t("label",{class:"item-label"},h.label)),u&&r.getChildren().map((e=>t(m,{selectedId:i,node:e,itemClick:s,iconClick:o,level:d+1,iconResolver:a,tooltipResolver:n,itemsList:c}))))};class g{constructor(e,r,t,i=!1){this.children=new Map,this.visible=!0,this.item=r,this.parent=t,this._tree=e,this.isPlaceHolder=i,r&&!i?(this._isLazyLoad="function"==typeof r.children||r.childrenCount>0,Array.isArray(r.children)&&(Array.from(r.children).forEach((e=>this.addChild(this._tree,e))),this._childrenLoaded=!0)):(this._isLazyLoad=!1,this._childrenLoaded=!0)}refresh(e){if(this.isPlaceHolder)return;this.item=Object.assign({},e),this._isLazyLoad="function"==typeof this.item.children||this.item.childrenCount>0;const r=this.children;this.children=new Map,Array.isArray(this.item.children)?(Array.from(this.item.children).forEach((e=>{const t=r.get(e.id);t?(t.refresh(e),this.children.set(e.id,t)):this.addChild(this._tree,Object.assign({},e))})),this._childrenLoaded=!0):this._childrenLoaded=!1}isDisabled(){return!this.isPlaceHolder&&this._tree.isNodeDisabled(this.item.id,this.item.disabled)}updateChildren(e){this.isPlaceHolder||this.refresh(Object.assign(Object.assign({},this.item),{children:e}))}addChild(e,r){this.children.has(r.id)||this.children.set(r.id,new g(e,r,this))}addPlaceHolder(){this.children.clear();const e=this.item.id;this.children.set(e,new g(void 0,{id:`placeholder_${e}`,label:"Carregando..."},this,!0))}getNode(e){if(this.children.has(e))return this.children.get(e);const r=Array.from(this.children.values());for(const t of r){const r=t.getNode(e);if(r)return r}}needLoad(){return this._isLazyLoad&&!this._childrenLoaded}isExpandable(){return this._isLazyLoad||this.children.size>0||Array.isArray(this.item.children)}getChildren(){return this.isPlaceHolder?[]:(this.needLoad()&&this._tree.loadChildren(this),Array.from(this.children.values()))}}class w extends g{constructor(e){super(void 0),this._disabledValues=new Map,this._changeCallback=e}async addChildAt(e,r){const t=this.getNode(e);null!=t&&(t.addChild(this,r),this._changeCallback())}setDisabled(e,r){this._disabledValues.set(e,r),this._changeCallback()}isNodeDisabled(e,r){return this._disabledValues.has(e)?this._disabledValues.get(e):r}load(e){if(e===this._currentItems)return;this._currentItems=e;const r=this.children;this.children=new Map,this._disabledValues.clear(),e.forEach((e=>{const t=r.get(e.id);t?(t.refresh(e),this.children.set(e.id,t)):this.addChild(this,Object.assign({},e))}))}setFilterPattern(e){this._filterPattern=n.replaceAccentuatedCharsKeepSymbols(e),this.applyFilter(this),this._changeCallback()}updateItem(e){if(null==e)return;const r=this.getNode(e.id);null!=r&&(Object.keys(e).forEach((t=>r.item[t]=e[t])),this._changeCallback())}async open(e){return new Promise((async r=>{await this.walkPath(this,e,(e=>e.item.expanded=!0)),r()}))}applyFilter(e){if(e.children.forEach((e=>{this.applyFilter(e)})),null==e.item)return;let r=!1;if(n.replaceAccentuatedCharsKeepSymbols(e.item.label).includes(this._filterPattern))r=!0;else{const t=Array.from(e.children.values());for(let i=0;i<t.length;i++)if(t[i].visible){r=!0,e.item.expanded=!0;break}}e.visible=r}async walkPath(e,r,t,i=0){return new Promise((async s=>{const o=r.split(">>").map((e=>e.trim()));if(o.length>i){const s=e.getNode(o[i]);s&&(s.needLoad()&&await this.loadLevel(s),t(s),await this.walkPath(s,r,t,i+1))}s()}))}async loadChildren(e){return new Promise((r=>{this.loadLevel(e).then((()=>{r(),this._changeCallback()}))}))}async loadLevel(e){return new Promise((r=>{e.addPlaceHolder(),(0,e.item.children)(e.item).then((t=>{e.updateChildren(t),r()}))}))}}const f=class{constructor(t){e(this,t),this.ezChange=r(this,"ezChange",7),this.ezOpenItem=r(this,"ezOpenItem",7),this._onItemClick=e=>{this.value=e},this._onIconClick=e=>{this.openClose(e),this.value=e},this._tree=new w((()=>o(this))),this._waintingForLoad=void 0,this.items=[],this.value=void 0,this.selectedId=void 0,this.iconResolver=z,this.tooltipResolver=void 0}async selectItem(e){const r=this._tree.getNode(e);this.value=r?r.item:void 0}async openItem(e){this._waintingForLoad=!0,await this._tree.open(e),this._waintingForLoad=!1}async disableItem(e){[].concat(e).forEach((e=>this._tree.setDisabled(e,!0)))}async enableItem(e){[].concat(e).forEach((e=>this._tree.setDisabled(e,!1)))}async addChild(e,r){var t;null==r&&(r=null===(t=this.value)||void 0===t?void 0:t.id),this._tree.addChildAt(r,e);const i=this._tree.getNode(r);i&&(i.item.expanded=!0)}async applyFilter(e){this._tree.setFilterPattern(e)}observeItems(e,r){c.objectToString(e)!==c.objectToString(r)&&this._tree.load(this.items||[])}observeValue(){var e;this.ezChange.emit(this.value),this.selectedId=null===(e=this.value)||void 0===e?void 0:e.id}onKeyDownListener(e){if(!this.value)return;let r=!1;switch(e.key){case"ArrowUp":this.previousItem(),r=!0;break;case"ArrowDown":this.nextItem(),r=!0;break;case"ArrowLeft":this.previousLevel(),r=!0;break;case"ArrowRight":this.nextLevel(),r=!0;break;case" ":this.openClose(this.value),r=!0}r&&(e.stopPropagation(),e.preventDefault())}openClose(e){if(null==e)return;const r=!e.expanded;e.expanded=r,r&&this.ezOpenItem.emit(e),this._tree.updateItem(e)}previousLevel(){var e;if(this.value)if(this.value.expanded)this.value.expanded=!1,this._tree.updateItem(this.value);else{const r=null===(e=this._tree.getNode(this.value.id).parent)||void 0===e?void 0:e.item;r&&(this.value=r)}}nextLevel(){this.value&&this._tree.getNode(this.value.id).isExpandable()&&(this.value.expanded?this.nextItem():(this.value.expanded=!0,this._tree.updateItem(this.value)))}indexOf(e){if(null==e)return-1;for(let r=0;r<this._visibleItems.length;r++)if(this._visibleItems[r].id===e)return r;return-1}selectNextItem(e){var r;const t=this.indexOf(null===(r=this.value)||void 0===r?void 0:r.id)+e;t>-1&&t<this._visibleItems.length&&(this.value=this._visibleItems[t])}nextItem(){this.selectNextItem(1)}previousItem(){this.selectNextItem(-1)}connectedCallback(){this.items&&this._tree.load(this.items)}componentWillRender(){var e;if(!this.selectedId||(null===(e=this.value)||void 0===e?void 0:e.id)===this.selectedId)return;const r=this._tree.getNode(this.selectedId);r?this.value=r.item:this.selectedId=void 0}render(){if(l.addIDInfoIfNotExists(this._element,"ezTree"),null!=this.items)return this._visibleItems=[],t(s,{tabindex:"-1"},this._waintingForLoad?t("label",null,"Carregando..."):this._tree.getChildren().map((e=>{var r;return t(m,{selectedId:null===(r=this.value)||void 0===r?void 0:r.id,node:e,itemClick:this._onItemClick,iconClick:this._onIconClick,iconResolver:this.iconResolver,tooltipResolver:this.tooltipResolver||p,itemsList:this._visibleItems})})))}get _element(){return i(this)}static get watchers(){return{items:["observeItems"],value:["observeValue"]}}};f.style=":host{--ez-tree--border-radius:var(--border--radius-small, 8px);--ez-tree--padding-inline-start:20px;--ez-tree--margin:var(--space--extra-small, 3px);--ez-tree--margin-right:calc(var(--space--small, 6px) + 2px);--ez-tree--font-family:var(--font-pattern, Arial);--ez-tree--font-size:var(--text--medium, 14px);--ez-tree--selected--font-weight:var(--text-weight--large, 600);--ez-tree--font-weight:var(--text-weight--small, 400);--ez-tree--color:var(--title--primary, #2B3A54);--ez-tree--selected--color:var(--color--primary, #008561);--ez-tree--disabled--color:var(--text--disable, #AFB6C0);--ez-tree__tree-item--height:var(--size-medium, 18px);--ez-tree__tree-item--padding:var(--space--small, 6px);--ez-tree__tree-item--background-color:var(--background--xlight, #FFFFFF);--ez-tree__tree-item--selected--background-color:var(--color--primary-300, #E2F4EF);--ez-tree__tree-item--hover--background-color:var(--background--medium, #F0F3F7);--ez-tree__tree-item--disabled--background-color:var(--ez-tree__tree-Item--background-color);--ez-tree__item-icon-box--height:var(--ez-tree__tree-item--height);--ez-tree__item-icon-box--width:var(--size-medium, 18px);--ez-tree__item-icon-box--padding:var(--ez-tree__tree-item--padding);display:flex;flex-direction:column;margin:0 var(--ez-tree--margin) var(--ez-tree--margin) var(--ez-tree--margin);outline:none}ul{list-style-type:none;margin:0;padding-inline-start:var(--ez-tree--padding-inline-start)}ul.first-level{padding-inline-start:0}.tree-item{display:flex;align-items:center;margin-top:var(--ez-tree--margin);margin-right:var(--ez-tree--margin-right);border-radius:var(--ez-tree--border-radius);height:var(--ez-tree__tree-item--height);padding:var(--ez-tree__tree-item--padding)}.tree-item[selected]{background-color:var(--ez-tree__tree-item--selected--background-color)}.tree-item:hover{background-color:var(--ez-tree__tree-item--hover--background-color)}.tree-item[disabled],.tree-item[disabled]:hover{background-color:var(--ez-tree__tree-item--disabled--background-color)}.item-icon-box{display:flex;align-items:center;justify-content:center;width:var(--ez-tree__item-icon-box--width);height:var(--ez-tree__item-icon-box--height);padding:var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) var(--ez-tree__item-icon-box--padding) 0}.item-icon{--ez-icon--color:var(--ez-tree--color)}.item-icon:hover{cursor:pointer}.tree-item[selected] .item-icon{--ez-icon--color:var(--ez-tree--selected--color)}.tree-item[disabled] .item-icon{cursor:unset;--ez-icon--color:var(--ez-tree--disabled--color)}.item-label{cursor:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:var(--ez-tree--font-family);font-size:var(--ez-tree--font-size);font-weight:var(--ez-tree--font-weight);color:var(--ez-tree--color)}.tree-item[selected] .item-label{color:var(--ez-tree--selected--color);font-weight:var(--ez-tree--selected--font-weight)}.tree-item[disabled] .item-label{color:var(--ez-tree--disabled--color)}";export{b as ez_filter_input,u as ez_scroller,v as ez_sidebar_button,f as ez_tree}
@@ -1 +0,0 @@
1
- import{r as o,c as t,h as a}from"./p-00ea9b50.js";const i=class{constructor(a){o(this,a),this.applicationLoaded=t(this,"applicationLoaded",7)}componentWillLoad(){}componentDidLoad(){this.applicationLoaded.emit(!0)}render(){return a("div",null)}};i.style="";export{i as ez_application}
@@ -1 +0,0 @@
1
- import{r as a,h as e,H as i,g as t}from"./p-00ea9b50.js";import{ElementIDUtils as r}from"@sankhyalabs/core";import{E as o}from"./p-98bb8b16.js";const d=class{constructor(e){a(this,e),this.open=!0,this.items=[],this.tooltipResolver=void 0,this.filterText=""}async disableItem(a){[].concat(a).forEach((a=>this._tree.disableItem(a)))}async enableItem(a){[].concat(a).forEach((a=>this._tree.enableItem(a)))}async handleToggleSidebar(){this.open=!this.open}handleFilterTree(a){"Enter"===a.key&&this._tree.applyFilter(this.filterText)}render(){return r.addIDInfoIfNotExists(this._element),e(i,null,e("ez-sidebar-button",{class:this.open?"hidden":"",onEzClick:this.handleToggleSidebar.bind(this),"aria-controls":"navigator","aria-expanded":this.open,"data-element-id":r.getInternalIDInfo("openButton")}),e("aside",{tabIndex:-1,id:"navigator",class:"ez-col ez-col--sd-12 ez-col--tb-3 ez-guide-navigator "+(this.open?"":"hidden"),"data-element-id":r.getInternalIDInfo("sidebar")},e("div",{role:"search",class:"ez-guide-navigator__actions"},e("ez-filter-input",{mode:"slim",value:this.filterText,onEzChange:a=>this.filterText=a.detail,label:"Buscar guia","aria-placeholder":"Buscar guia",onKeyUp:this.handleFilterTree.bind(this),"data-element-id":r.getInternalIDInfo("textinput")}),e("ez-button",{onClick:this.handleToggleSidebar.bind(this),class:"inverted",mode:"icon",size:"small",iconName:"show_menu",title:"Ocultar menu","aria-label":"Ocultar menu","aria-controls":"navigator","data-element-id":r.getInternalIDInfo("closeButton")})),e("ez-scroller",{direction:o.VERTICAL,activeShadow:!0},e("ez-tree",{ref:a=>this._tree=a,items:this.items,"data-element-id":r.getInternalIDInfo("tree"),tooltipResolver:this.tooltipResolver}))))}get _element(){return t(this)}};d.style=":host{--ez-guide-navigator--padding-left:var(--space--large);--ez-guide-navigator--padding-right:var(--space--small);--ez-guide-navigator--box-shadow:var(--shadow, 0px 0px 24px 0px #000);--ez-guide-navigator--background-color:var(--color--inverted);--ez-guide-navigator--border-radius:0px var(--border--radius-medium) var(--border--radius-medium) 0px;--ez-guide-navigator--actions-gap:var(--space--medium);--ez-guide-navigator--actions-margin:var(--space--medium) 0 var(--space--medium);--ez-guide-navigator--actions-padding-right:calc(var(--space--medium, 12px) + var(--space--small, 6px))}.inverted{transform:rotate(180deg)}.ez-guide-navigator{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:100%;padding-left:var(--ez-guide-navigator--padding-left);padding-right:var(--ez-guide-navigator--padding-right);background-color:var(--ez-guide-navigator--background-color);-webkit-box-shadow:var(--ez-guide-navigator--box-shadow);box-shadow:var(--ez-guide-navigator--box-shadow);border-radius:var(--ez-guide-navigator--border-radius)}.ez-guide-navigator__actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--ez-guide-navigator--actions-gap);margin:var(--ez-guide-navigator--actions-margin);padding-right:var(--ez-guide-navigator--actions-padding-right)}.hidden{display:none}";export{d as ez_guide_navigator}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as n}from"./p-00ea9b50.js";import{DateUtils as a,TimeFormatter as o,ElementIDUtils as r}from"@sankhyalabs/core";import{C as h}from"./p-4a5e37a7.js";const l=class{constructor(e){t(this,e),this.ezChange=i(this,"ezChange",7),this.ezStartChange=i(this,"ezStartChange",7),this.ezCancelWaitingChange=i(this,"ezCancelWaitingChange",7),this._focused=!1,this.label=void 0,this.value=void 0,this.enabled=!0,this.errorMessage=void 0,this.showSeconds=!1,this.mode="regular"}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,i){if(this._textInput&&t!=i){const e=a.validateDate(t,!0),s=a.validateDate(i,!0);if((null==e?void 0:e.getTime())!==(null==s?void 0:s.getTime())){const t=this.getTextValue(e)||"";!this.getParsedDateTime(t)&&this._focused||(this._textInput.value||"")===t||(this._textInput.value=t,this._focused=!1,this.errorMessage=""),this.ezChange.emit(null===e?void 0:e)}}}async setFocus(){this._textInput.setFocus()}async setBlur(){this._textInput.setBlur()}async isInvalid(){return"string"==typeof this.errorMessage&&""!==this.errorMessage.trim()}handleKeyDown(t){const i=this._textInput.shadowRoot.querySelector("input");if(t.shiftKey&&"Tab"===t.key){if(i.selectionStart>0){let e=i.value.lastIndexOf(" ",i.selectionStart);-1!==e&&(i.setSelectionRange(0,e),t.preventDefault())}}else if("Tab"===t.key&&i.value.length!==i.selectionEnd){let e=i.value.indexOf(" ",i.selectionEnd);e=-1===e?i.selectionEnd:e+1,i.setSelectionRange(e,i.value.length),t.preventDefault()}}handleFocus(){const t=this._textInput.shadowRoot.querySelector("input");if(t.selectionStart!==t.selectionEnd){let i=t.value.indexOf(" ",t.selectionStart);i=-1===i?t.value.length:i,t.setSelectionRange(0,i)}}handleClick(){const t=this._textInput.shadowRoot.querySelector("input");let i=t.value.lastIndexOf(" ",t.selectionEnd);i=-1===i?0:i+1,i=i>t.selectionEnd?0:i;let e=0===i?t.value.indexOf(" "):t.value.length;t.setSelectionRange(i,e)}changeValue(t){const i=a.validateDate(this.value,!0),e=a.validateDate(t,!0);(null==i?void 0:i.getTime())!==(null==e?void 0:e.getTime())&&(this.value=e)}showCalendar(){this._calendar.fitVertical(this.errorMessage||"slim"===this.mode?6:-13,this._elem.clientHeight),this._calendar.style.visibility="inherit"}hideCalendar(){this.changeValue(this._calendar.value),this._calendar.hide()}getParsedDateTime(t){var i,e;if(void 0===t&&(t=(null===(e=null===(i=this._textInput)||void 0===i?void 0:i.value)||void 0===e?void 0:e.trim())||""),!t)return;const s=t.split(" "),n=s.length>0?s[0]:t,r=o.prepareValue(s[1]?s[1]:"",this.showSeconds);return a.strToDate(n+(r&&" "+r))}handleBlur(){var t,i;const e=(null===(i=null===(t=this._textInput)||void 0===t?void 0:t.value)||void 0===i?void 0:i.trim())||"",s=this.getParsedDateTime();if(s||!e){this.errorMessage="";const t=a.validateDate(this.value,!0),i=a.validateDate(s,!0);(null==t?void 0:t.getTime())===(null==i?void 0:i.getTime())?(i&&(this._textInput.value=this.getTextValue(i)||"",this._focused=!1),this.ezCancelWaitingChange.emit()):this.changeValue(i)}else this.changeValue(void 0),this.ezCancelWaitingChange.emit(),this.errorMessage="O valor digitado não é uma data válida"}getTextValue(t){if(t)return new Intl.DateTimeFormat("pt-BR",this.showSeconds?{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}:{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric"}).format(t).replace(",","")}handleInput(t){const i=this.getParsedDateTime(),e=a.validateDate(this.value,!0),s=a.validateDate(i,!0);(null==e?void 0:e.getTime())!==(null==s?void 0:s.getTime())&&(this._focused=!0,this.ezStartChange.emit({waitmessage:"",blocking:!1})),"H"!==t.data&&"h"!==t.data||this.changeValue(new Date)}setInputValue(){const t=this.getTextValue(this.value)||"";(this._textInput.value||"")!==t&&(this._textInput.value=t)}componentDidLoad(){h.applyVarsTextInput(this._elem,this._textInput),this.setInputValue()}render(){return r.addIDInfoIfNotExists(this._elem,"input"),e(s,null,e("ez-text-input",{"data-element-id":r.getInternalIDInfo("textInput"),ref:t=>this._textInput=t,"data-slave-mode":"true",label:this.label,restrict:"0123456789/: ",enabled:this.enabled,errorMessage:this.errorMessage,mode:this.mode,onKeyDown:t=>{this.handleKeyDown(t)},onBlur:()=>this.handleBlur(),onInput:t=>this.handleInput(t),onFocus:()=>this.handleFocus(),onClick:()=>this.handleClick()},e("button",{disabled:!this.enabled,tabindex:-1,class:"btn-open-cal",onClick:()=>this.showCalendar(),slot:"leftIcon"})),e("ez-calendar",{"data-element-id":r.getInternalIDInfo("calendar"),onEzChange:t=>{this.hideCalendar(),t.stopPropagation()},floating:!0,ref:t=>this._calendar=t,time:!0,showSeconds:this.showSeconds}))}get _elem(){return n(this)}static get watchers(){return{label:["observeLabel"],errorMessage:["observeErrorMessage"],value:["observeValue"]}}};l.style=':host{display:block;width:100%;--ez-date-input__input--background-color:var(--background--medium, #e0e0e0);--ez-date-input__input--border-color:var(--ez-date-input__input--background-color);--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>\')}.btn-open-cal{outline:none;border:none;background-color:unset;cursor:pointer}.btn-open-cal:disabled{cursor:unset}.btn-open-cal::after{content:\'\';display:flex;background-color:var(--text--primary, #008561);width:15px;height:16px;-webkit-mask-image:var(--ez-date-input__calendar-image);mask-image:var(--ez-date-input__calendar-image)}.btn-open-cal:disabled:after{background-color:var(--text--disable, #AFB6C0)}.btn-open-cal:enabled:hover::after{background-color:var(--color--primary, #4e4e4e)}ez-text-input{--text-input__input--background-color:var(--ez-date-input__input--background-color, #FFFFFF);--text-input__input--border-color:var(--ez-date-input__input--border-color, #DCE0E8)}';export{l as ez_date_time_input}
@@ -1,22 +0,0 @@
1
- import { DataUnit } from "@sankhyalabs/core";
2
- import { IInvalidField } from "./interfaces";
3
- export default class DataBinder {
4
- private _dataUnit;
5
- private _fields;
6
- private _invalidFields;
7
- constructor(dataUnit: DataUnit);
8
- bind(fields: Array<HTMLElement>): void;
9
- onDisconnectedCallback(): void;
10
- markInvalid(field: IInvalidField): void;
11
- private clearInvalid;
12
- updateValue(fieldName: string, field: HTMLElement): void;
13
- private updateErrorMessage;
14
- getErrorMessage(fieldName: string): string;
15
- private updateBind;
16
- private changeStarted;
17
- private cancelWaitingChange;
18
- private setFieldValue;
19
- private bindSearchOptionsLoader;
20
- private applyEzUploadContext;
21
- private onDataUnitEvent;
22
- }
@@ -1,16 +0,0 @@
1
- import { DataUnit } from "@sankhyalabs/core";
2
- import { IFormConfig, IFormSheetMetadata } from "./interfaces";
3
- export declare class FormMetadata {
4
- private _sheets;
5
- private _requiredFields;
6
- private _cleanOnCopyFields;
7
- private _defaultValues;
8
- getSheet(name: string): IFormSheetMetadata;
9
- getAllSheets(): Map<string, IFormSheetMetadata>;
10
- addSheet(sheet: IFormSheetMetadata): void;
11
- getRequiredFields(): Array<string>;
12
- getCleanOnCopyFields(): Array<string>;
13
- getDefaultValues(): any;
14
- }
15
- export declare const buildFromDataUnit: (dataUnit: DataUnit) => FormMetadata;
16
- export declare const buildFromConfig: (config: IFormConfig, dataUnit: DataUnit) => FormMetadata;
@@ -1,7 +0,0 @@
1
- import { IFieldConfig } from "./IFieldConfig";
2
- import { ITabConfig } from "./ITabConfig";
3
- export interface IFormConfig {
4
- tabs?: Array<ITabConfig>;
5
- fields: Array<IFieldConfig>;
6
- defaultConfiguration?: boolean;
7
- }
@@ -1,9 +0,0 @@
1
- import { IFormViewField } from "../../ez-form-view/interfaces/IFormViewField";
2
- export interface IFormSheetMetadata {
3
- name: string;
4
- label: string;
5
- fields: Array<IFormViewField>;
6
- requiredFields: Array<string>;
7
- cleanOnCopyFields: Array<string>;
8
- defaultValues: any;
9
- }
@@ -1,5 +0,0 @@
1
- export interface ITabConfig {
2
- label: string;
3
- visible?: boolean;
4
- order?: number;
5
- }
@@ -1,5 +0,0 @@
1
- export interface IDefaultConfig {
2
- type?: string;
3
- value?: string;
4
- formattedValue?: any;
5
- }
@@ -1,13 +0,0 @@
1
- import { IDefaultConfig } from "./IDefaultConfig";
2
- import { ITabConfig } from "./ITabConfig";
3
- export interface IFieldConfig {
4
- name: string;
5
- label?: string;
6
- group?: string;
7
- tab?: string | ITabConfig;
8
- defaultValue?: IDefaultConfig;
9
- visible?: boolean;
10
- readOnly?: boolean;
11
- required?: boolean;
12
- cleanOnCopy?: boolean;
13
- }
@@ -1,6 +0,0 @@
1
- import { FieldDescriptor } from "@sankhyalabs/core";
2
- import { IFieldConfig } from "./IFieldConfig";
3
- export interface IFieldMetadata {
4
- descriptor?: FieldDescriptor;
5
- config?: IFieldConfig;
6
- }
@@ -1,5 +0,0 @@
1
- import { IFieldMetadata } from "./IFieldMetadata";
2
- export interface IFieldSetMetadata {
3
- label?: string;
4
- items?: Array<IFieldMetadata>;
5
- }
@@ -1,7 +0,0 @@
1
- import { IFieldConfig } from "./IFieldConfig";
2
- import { ITabConfig } from "./ITabConfig";
3
- export interface IFormConfig {
4
- tabs?: Array<ITabConfig>;
5
- fields: Array<IFieldConfig>;
6
- defaultConfiguration?: boolean;
7
- }
@@ -1,10 +0,0 @@
1
- import { IFieldMetadata } from "./IFieldMetadata";
2
- import { IFieldSetMetadata } from "./IFieldSetMetadata";
3
- export interface IFormSheetMetadata {
4
- name: string;
5
- label: string;
6
- items: Array<IFieldMetadata | IFieldSetMetadata>;
7
- requiredFields: Array<string>;
8
- cleanOnCopyFields: Array<string>;
9
- defaultValues: any;
10
- }
@@ -1,4 +0,0 @@
1
- export interface IInvalidField {
2
- name: string;
3
- message: string;
4
- }
@@ -1,6 +0,0 @@
1
- import { Record } from "@sankhyalabs/core";
2
- import { EzForm } from "../../components/ez-form/ez-form";
3
- import { IValidationResult } from "./IValidationResult";
4
- export interface IRecordValidator {
5
- validateRecord(form: EzForm, record: Record): IValidationResult;
6
- }
@@ -1,8 +0,0 @@
1
- import { IInvalidField } from "./IInvalidField";
2
- export interface IValidationResult {
3
- isValid: boolean;
4
- invalidFields?: Array<IInvalidField>;
5
- errorTitle?: string;
6
- errorMessage?: string;
7
- infoMessage?: string;
8
- }
@@ -1,10 +0,0 @@
1
- export { IDefaultConfig } from "./IDefaultConfig";
2
- export { IFieldConfig } from "./IFieldConfig";
3
- export { IFieldMetadata } from "./IFieldMetadata";
4
- export { IFieldSetMetadata } from "./IFieldSetMetadata";
5
- export { IFormConfig } from "./IFormConfig";
6
- export { IFormSheetMetadata } from "./IFormSheetMetadata";
7
- export { IInvalidField } from "./IInvalidField";
8
- export { IRecordValidator } from "./IRecordValidator";
9
- export { ITabConfig } from "./ITabConfig";
10
- export { IValidationResult } from "./IValidationResult";