@sankhyalabs/ezui 2.11.0 → 2.13.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 (196) 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 +1 -1
  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 +1 -1
  12. package/dist/cjs/ez-date-input.cjs.entry.js +1 -1
  13. package/dist/cjs/ez-date-time-input.cjs.entry.js +1 -1
  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-tree.cjs.entry.js → ez-filter-input_3.cjs.entry.js} +195 -21
  18. package/dist/cjs/ez-form.cjs.entry.js +54 -15
  19. package/dist/cjs/ez-grid.cjs.entry.js +1 -1
  20. package/dist/cjs/ez-guide-navigator.cjs.entry.js +339 -0
  21. package/dist/cjs/ez-icon.cjs.entry.js +1 -1
  22. package/dist/cjs/ez-list.cjs.entry.js +1 -1
  23. package/dist/cjs/ez-loading-bar.cjs.entry.js +1 -1
  24. package/dist/cjs/ez-modal-container.cjs.entry.js +1 -1
  25. package/dist/cjs/ez-modal.cjs.entry.js +1 -1
  26. package/dist/cjs/ez-number-input.cjs.entry.js +1 -1
  27. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  28. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  29. package/dist/cjs/ez-radio-button.cjs.entry.js +1 -1
  30. package/dist/cjs/ez-scroller.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 +6 -3
  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-fb179d74.js → index-5e208fa5.js} +8 -0
  42. package/dist/cjs/loader.cjs.js +2 -2
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/ez-form/ez-form.css +6 -0
  45. package/dist/collection/components/ez-form/ez-form.js +128 -15
  46. package/dist/collection/components/ez-form/fieldbuilder/FieldBuilder.js +1 -1
  47. package/dist/collection/components/ez-form/store/form.slice.js +6 -2
  48. package/dist/collection/components/ez-form/structure/{FormSheetMetadata.js → FormMetadata.js} +1 -1
  49. package/dist/collection/components/ez-guide-navigator/Guide.js +200 -0
  50. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.css +53 -0
  51. package/dist/collection/components/ez-guide-navigator/ez-guide-navigator.js +230 -0
  52. package/dist/collection/components/ez-tabselector/ez-tabselector.js +5 -2
  53. package/dist/collection/components/ez-tree/ez-tree.css +8 -6
  54. package/dist/collection/components/ez-tree/ez-tree.js +88 -10
  55. package/dist/collection/components/ez-tree/subcomponents/DefaultTooltipResolver.js +3 -0
  56. package/dist/collection/components/ez-tree/subcomponents/TreeItem.js +5 -5
  57. package/dist/collection/components/ez-tree/subcomponents/index.js +1 -0
  58. package/dist/collection/components/ez-tree/types/Node.js +26 -4
  59. package/dist/collection/components/ez-tree/types/Tree.js +12 -2
  60. package/dist/collection/interfaces/ez-form/IDefaultConfig.js +1 -0
  61. package/dist/collection/interfaces/ez-form/IFieldConfig.js +1 -0
  62. package/dist/collection/interfaces/ez-form/IFieldMetadata.js +1 -0
  63. package/dist/collection/interfaces/ez-form/IFieldSetMetadata.js +1 -0
  64. package/dist/collection/interfaces/ez-form/IFormConfig.js +1 -0
  65. package/dist/collection/interfaces/ez-form/IFormSheetMetadata.js +1 -0
  66. package/dist/collection/interfaces/ez-form/IInvalidField.js +1 -0
  67. package/dist/collection/interfaces/ez-form/IRecordValidator.js +1 -0
  68. package/dist/collection/interfaces/ez-form/ITabConfig.js +1 -0
  69. package/dist/collection/interfaces/ez-form/IValidationResult.js +1 -0
  70. package/dist/collection/interfaces/ez-form/index.js +1 -0
  71. package/dist/custom-elements/index.d.ts +6 -0
  72. package/dist/custom-elements/index.js +492 -39
  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 +1 -1
  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 +1 -1
  84. package/dist/esm/ez-date-input.entry.js +1 -1
  85. package/dist/esm/ez-date-time-input.entry.js +1 -1
  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-tree.entry.js → ez-filter-input_3.entry.js} +194 -22
  90. package/dist/esm/ez-form.entry.js +54 -15
  91. package/dist/esm/ez-grid.entry.js +1 -1
  92. package/dist/esm/ez-guide-navigator.entry.js +335 -0
  93. package/dist/esm/ez-icon.entry.js +1 -1
  94. package/dist/esm/ez-list.entry.js +1 -1
  95. package/dist/esm/ez-loading-bar.entry.js +1 -1
  96. package/dist/esm/ez-modal-container.entry.js +1 -1
  97. package/dist/esm/ez-modal.entry.js +1 -1
  98. package/dist/esm/ez-number-input.entry.js +1 -1
  99. package/dist/esm/ez-popover.entry.js +1 -1
  100. package/dist/esm/ez-popup.entry.js +1 -1
  101. package/dist/esm/ez-radio-button.entry.js +1 -1
  102. package/dist/esm/ez-scroller.entry.js +1 -1
  103. package/dist/esm/ez-search.entry.js +1 -1
  104. package/dist/esm/ez-tabselector.entry.js +6 -3
  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 +2 -2
  113. package/dist/esm/{index-b77dcd0d.js → index-c5203f95.js} +8 -0
  114. package/dist/esm/loader.js +2 -2
  115. package/dist/ezui/ezui.esm.js +1 -1
  116. package/dist/ezui/{p-22f06920.entry.js → p-0c3f7bf2.entry.js} +1 -1
  117. package/dist/ezui/{p-46c3cd8e.entry.js → p-0cd0545d.entry.js} +1 -1
  118. package/dist/ezui/{p-e881ec6d.entry.js → p-1a27bb9f.entry.js} +1 -1
  119. package/dist/ezui/{p-e9b4b3bd.entry.js → p-1b94b9dc.entry.js} +1 -1
  120. package/dist/ezui/{p-42f85e36.entry.js → p-20c01161.entry.js} +1 -1
  121. package/dist/ezui/{p-6c43b275.entry.js → p-24717f87.entry.js} +1 -1
  122. package/dist/ezui/{p-52a18a6c.entry.js → p-3320768e.entry.js} +1 -1
  123. package/dist/ezui/{p-b5efd273.entry.js → p-3b2091dd.entry.js} +1 -1
  124. package/dist/ezui/{p-42376b77.entry.js → p-47bcc678.entry.js} +1 -1
  125. package/dist/ezui/{p-5e3079cb.entry.js → p-47ca5e09.entry.js} +1 -1
  126. package/dist/ezui/{p-6a53943d.entry.js → p-4c444816.entry.js} +1 -1
  127. package/dist/ezui/{p-fe1f0c92.entry.js → p-608d13e8.entry.js} +1 -1
  128. package/dist/ezui/{p-d04f3bb1.entry.js → p-626b8940.entry.js} +1 -1
  129. package/dist/ezui/p-6500a260.entry.js +1 -0
  130. package/dist/ezui/{p-bdb5e325.entry.js → p-6630eca2.entry.js} +1 -1
  131. package/dist/ezui/{p-b7a8708e.entry.js → p-67b9a2cb.entry.js} +1 -1
  132. package/dist/ezui/p-6c45dc64.entry.js +1 -0
  133. package/dist/ezui/{p-7e9ab877.entry.js → p-6dec5cfa.entry.js} +1 -1
  134. package/dist/ezui/{p-5d19cd0d.entry.js → p-6f9aba86.entry.js} +1 -1
  135. package/dist/ezui/{p-6ccf5720.js → p-7b80df03.js} +1 -1
  136. package/dist/ezui/{p-87dd65ba.entry.js → p-7d42065a.entry.js} +1 -1
  137. package/dist/ezui/{p-74a3f9d8.entry.js → p-91f8c816.entry.js} +1 -1
  138. package/dist/ezui/{p-4b93860c.entry.js → p-98c448c9.entry.js} +1 -1
  139. package/dist/ezui/{p-f8f87959.entry.js → p-99aea44b.entry.js} +1 -1
  140. package/dist/ezui/p-a4b4645d.entry.js +1 -0
  141. package/dist/ezui/{p-e3743d12.entry.js → p-ab5eee38.entry.js} +1 -1
  142. package/dist/ezui/{p-7d8e693d.entry.js → p-ad7151e0.entry.js} +1 -1
  143. package/dist/ezui/{p-2686fa5b.entry.js → p-ad8b7412.entry.js} +1 -1
  144. package/dist/ezui/{p-ba7b2b8f.entry.js → p-b2e861cb.entry.js} +1 -1
  145. package/dist/ezui/{p-8c273b22.entry.js → p-b2efb22c.entry.js} +1 -1
  146. package/dist/ezui/{p-9171043f.entry.js → p-b5557d33.entry.js} +1 -1
  147. package/dist/ezui/{p-a4405e80.entry.js → p-bc324ee8.entry.js} +1 -1
  148. package/dist/ezui/{p-07d07b75.entry.js → p-bd9792e2.entry.js} +1 -1
  149. package/dist/ezui/{p-21782390.entry.js → p-bf8a633d.entry.js} +1 -1
  150. package/dist/ezui/{p-620e71e2.entry.js → p-c071db26.entry.js} +1 -1
  151. package/dist/ezui/{p-b9d91679.entry.js → p-c3529df3.entry.js} +1 -1
  152. package/dist/ezui/{p-297d4378.entry.js → p-ca7435a6.entry.js} +1 -1
  153. package/dist/ezui/{p-e628c8bd.entry.js → p-e203c89f.entry.js} +1 -1
  154. package/dist/ezui/p-fa2f4ea5.entry.js +1 -0
  155. package/dist/ezui/{p-a7380524.entry.js → p-fc97f773.entry.js} +1 -1
  156. package/dist/types/components/ez-form/DataBinder.d.ts +1 -1
  157. package/dist/types/components/ez-form/ez-form.d.ts +20 -43
  158. package/dist/types/components/ez-form/fieldbuilder/FieldBuilder.d.ts +2 -2
  159. package/dist/types/components/ez-form/fieldbuilder/tpl/CheckBox.tpl.d.ts +1 -1
  160. package/dist/types/components/ez-form/fieldbuilder/tpl/NumberInput.tpl.d.ts +1 -1
  161. package/dist/types/components/ez-form/store/form.slice.d.ts +5 -3
  162. package/dist/types/components/ez-form/structure/FormItem.d.ts +2 -2
  163. package/dist/types/components/ez-form/structure/{FormSheetMetadata.d.ts → FormMetadata.d.ts} +4 -20
  164. package/dist/types/components/ez-form/structure/FormSheet.d.ts +2 -2
  165. package/dist/types/components/ez-guide-navigator/Guide.d.ts +69 -0
  166. package/dist/types/components/ez-tree/ez-tree.d.ts +13 -0
  167. package/dist/types/components/ez-tree/interfaces/ITreeItem.d.ts +1 -0
  168. package/dist/types/components/ez-tree/subcomponents/DefaultTooltipResolver.d.ts +2 -0
  169. package/dist/types/components/ez-tree/subcomponents/TreeItem.d.ts +2 -0
  170. package/dist/types/components/ez-tree/subcomponents/index.d.ts +1 -0
  171. package/dist/types/components/ez-tree/types/Node.d.ts +1 -0
  172. package/dist/types/components.d.ts +80 -2
  173. package/dist/types/interfaces/ez-form/IDefaultConfig.d.ts +5 -0
  174. package/dist/types/interfaces/ez-form/IFieldConfig.d.ts +13 -0
  175. package/dist/types/interfaces/ez-form/IFieldMetadata.d.ts +6 -0
  176. package/dist/types/interfaces/ez-form/IFieldSetMetadata.d.ts +5 -0
  177. package/dist/types/interfaces/ez-form/IFormConfig.d.ts +7 -0
  178. package/dist/types/interfaces/ez-form/IFormSheetMetadata.d.ts +10 -0
  179. package/dist/types/interfaces/ez-form/IInvalidField.d.ts +4 -0
  180. package/dist/types/interfaces/ez-form/IRecordValidator.d.ts +6 -0
  181. package/dist/types/interfaces/ez-form/ITabConfig.d.ts +5 -0
  182. package/dist/types/interfaces/ez-form/IValidationResult.d.ts +8 -0
  183. package/dist/types/interfaces/ez-form/index.d.ts +10 -0
  184. package/package.json +2 -2
  185. package/react/components.d.ts +1 -0
  186. package/react/components.js +1 -0
  187. package/react/components.js.map +1 -1
  188. package/dist/cjs/ez-filter-input.cjs.entry.js +0 -81
  189. package/dist/cjs/ez-sidebar-button.cjs.entry.js +0 -31
  190. package/dist/esm/ez-filter-input.entry.js +0 -77
  191. package/dist/esm/ez-sidebar-button.entry.js +0 -27
  192. package/dist/ezui/p-6cdfe0db.entry.js +0 -1
  193. package/dist/ezui/p-98c78c29.entry.js +0 -1
  194. package/dist/ezui/p-99e07a6b.entry.js +0 -1
  195. package/dist/ezui/p-a928ea8d.entry.js +0 -1
  196. package/dist/ezui/p-f58201e8.entry.js +0 -1
@@ -1 +1 @@
1
- import{r as e,c as r,h as o,H as c,g as a}from"./p-6ccf5720.js";import{ElementIDUtils as i}from"@sankhyalabs/core";import{C as t}from"./p-b853763b.js";let d=class{constructor(o){e(this,o),this.ezChange=r(this,"ezChange",7),this.enabled=!0,this.mode=t.REGULAR}observeValue(e,r){this._inputElem&&e!=r&&(this._inputElem.checked=e)}async getMode(){return t[this.mode]}async setFocus(){this._inputElem.focus()}componentDidLoad(){this._element&&i.addIDInfo(this._element,"input")}changeValue(){this.enabled&&(this.value=!this.value,this.ezChange.emit(this.value))}getLabelClasses(){let e="label";return this.enabled||(e+=" label--disabled"),e}getInputClasses(){var e;return(null===(e=this.mode)||void 0===e?void 0:e.toUpperCase())===t.SWITCH?"switch-mode":"regular-mode"}render(){return o(c,null,o("input",{type:"checkbox",ref:e=>this._inputElem=e,class:this.getInputClasses(),checked:!0===this.value,onChange:()=>{this.changeValue()},indeterminate:this.indeterminate,disabled:!this.enabled,"data-element-id":i.getInternalIDInfo("input")}),this.label?o("label",{class:this.getLabelClasses(),onClick:()=>{this.changeValue()},title:this.label},this.label):void 0)}get _element(){return a(this)}static get watchers(){return{value:["observeValue"]}}};d.style=':host{--ez-check--box--width:20px;--ez-check--box--height:20px;--ez-check--width:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--height:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url(\'data:image/svg+xml;utf8,<svg width="8" height="7" viewBox="0 0 8 7" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z"/></svg>\');--ez-check--indeterminate--image:url(\'data:image/svg+xml;utf8,<svg width="10" height="2" viewBox="0 0 10 2" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="m 1,0 h 8 c 0.554,0 1,0.446 1,1 0,0.554 -0.446,1 -1,1 H 1 C 0.446,2 0,1.554 0,1 0,0.446 0.446,0 1,0 Z" /></svg>\');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:19px;--ez-switch--pin--height:19px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--disabled--checked--background-color:var(--color--primary-300);--ez-switch--checked--background-color:var(--color--primary);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-primary);--ez-switch--pin--checked--background-color:var(--background--xlight);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-switch--pin--border-color:var(--text--primary);--ez-switch--pin--disabled--border-color:var(--text--secondary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regular-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.regular-mode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regular-mode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regular-mode:disabled{cursor:auto;background:none}input.regular-mode::before{box-sizing:border-box;content:"";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regular-mode:disabled::before{border:var(--ez-check--disabled--border)}input.regular-mode:checked:enabled:hover,input.regular-mode:indeterminate:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regular-mode:checked:enabled:focus,input.regular-mode:indeterminate:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regular-mode:checked::before,input.regular-mode:indeterminate::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regular-mode:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regular-mode:checked::after,input.regular-mode:indeterminate:after{display:flex;position:absolute;content:"";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regular-mode:indeterminate:after{display:flex;position:absolute;content:"";background-color:var(--ez-check--check--background-color);width:10px;height:2px;-webkit-mask-image:var(--ez-check--indeterminate--image);mask-image:var(--ez-check--indeterminate--image)}input.regular-mode:checked:disabled::after,input.regular-mode:indeterminate:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switch-mode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switch-mode:disabled{background-color:var(--ez-switch--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked:disabled{background-color:var(--ez-switch--disabled--checked--background-color)}input.switch-mode::after{content:"";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(-2px) translateY(-4px);border-radius:50%;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switch-mode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked{transition:background-color var(--transition), border var(--transition);background-color:var(--ez-switch--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode::before{display:block;content:"";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width) - 2px) / 2);background-color:var(--ez-switch--pin--focus--background-color)}input.switch-mode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switch-mode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width) + 2px))}input.switch-mode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-4px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--ez-check--label--disabled--color)}';export{d as ez_check}
1
+ import{r as e,c as r,h as o,H as c,g as a}from"./p-7b80df03.js";import{ElementIDUtils as i}from"@sankhyalabs/core";import{C as t}from"./p-b853763b.js";let d=class{constructor(o){e(this,o),this.ezChange=r(this,"ezChange",7),this.enabled=!0,this.mode=t.REGULAR}observeValue(e,r){this._inputElem&&e!=r&&(this._inputElem.checked=e)}async getMode(){return t[this.mode]}async setFocus(){this._inputElem.focus()}componentDidLoad(){this._element&&i.addIDInfo(this._element,"input")}changeValue(){this.enabled&&(this.value=!this.value,this.ezChange.emit(this.value))}getLabelClasses(){let e="label";return this.enabled||(e+=" label--disabled"),e}getInputClasses(){var e;return(null===(e=this.mode)||void 0===e?void 0:e.toUpperCase())===t.SWITCH?"switch-mode":"regular-mode"}render(){return o(c,null,o("input",{type:"checkbox",ref:e=>this._inputElem=e,class:this.getInputClasses(),checked:!0===this.value,onChange:()=>{this.changeValue()},indeterminate:this.indeterminate,disabled:!this.enabled,"data-element-id":i.getInternalIDInfo("input")}),this.label?o("label",{class:this.getLabelClasses(),onClick:()=>{this.changeValue()},title:this.label},this.label):void 0)}get _element(){return a(this)}static get watchers(){return{value:["observeValue"]}}};d.style=':host{--ez-check--box--width:20px;--ez-check--box--height:20px;--ez-check--width:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--height:calc(var(--ez-check--box--width) + var(--ez-check--outter-gap, 14px));--ez-check--border-radius:var(--border--radius-small);--ez-check--checked--background-color:var(--color--primary-200);--ez-check--focus--background-color:var(--color--strokes, #FFFFFF);--ez-check--hover--background-color:var(--background--medium);--ez-check--checked--disabled--background-color:var(--color--disable-secondary);--ez-check--border:var(--border--medium) var(--title--primary);--ez-check--disabled--border:var(--border--medium) var(--color--strokes);--ez-check--checked--border:var(--border--medium) var(--color--primary);--ez-check--checked--hover--background-color:var(--color--primary-200);--ez-check--checked--focus--background-color:var(--color--primary-300, #FFFFFF);--ez-check--check--image:url(\'data:image/svg+xml;utf8,<svg width="8" height="7" viewBox="0 0 8 7" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M7.70002 0.398999L7.48502 0.207997C7.31524 0.0598858 7.09376 -0.0150438 6.86894 -0.000430025C6.64411 0.0141838 6.43419 0.117153 6.28502 0.285997L2.70002 4.332L1.61802 3.384C1.44837 3.23576 1.22697 3.16067 1.00214 3.17509C0.77732 3.18952 0.567332 3.2923 0.418019 3.461L0.229019 3.674C0.0752361 3.84797 -0.00437434 4.07521 0.00721192 4.30713C0.0187982 4.53904 0.120661 4.75722 0.291019 4.915L2.27402 6.762C2.35832 6.8432 2.45842 6.90618 2.56811 6.94702C2.67779 6.98787 2.79471 7.00571 2.91159 6.99942C3.02846 6.99314 3.14279 6.96287 3.24747 6.91049C3.35214 6.85812 3.44492 6.78477 3.52002 6.695L7.79102 1.638C7.94063 1.46048 8.01486 1.23149 7.99786 0.999963C7.98085 0.768436 7.87396 0.552749 7.70002 0.398999Z"/></svg>\');--ez-check--indeterminate--image:url(\'data:image/svg+xml;utf8,<svg width="10" height="2" viewBox="0 0 10 2" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="m 1,0 h 8 c 0.554,0 1,0.446 1,1 0,0.554 -0.446,1 -1,1 H 1 C 0.446,2 0,1.554 0,1 0,0.446 0.446,0 1,0 Z" /></svg>\');--ez-check--check--background-color:var(--color--primary);--ez-check--check--disabled--background-color:var(--color--strokes);--ez-switch--slider--width:34px;--ez-switch--slider--height:14px;--ez-switch--pin--width:19px;--ez-switch--pin--height:19px;--ez-switch--focus--width:32px;--ez-switch--focus--height:32px;--ez-switch--background-color:var(--color--strokes);--ez-switch--disabled--background-color:var(--color--disable-secondary);--ez-switch--disabled--checked--background-color:var(--color--primary-300);--ez-switch--checked--background-color:var(--color--primary);--ez-switch--pin--background-color:var(--background--xlight);--ez-switch--pin--disabled--background-color:var(--color--disable-primary);--ez-switch--pin--checked--background-color:var(--background--xlight);--ez-switch--pin--checked--disabled--background-color:#E8F7F4;--ez-switch--pin--focus--background-color:var(--text--disable);--ez-switch--pin--checked--focus--background-color:var(--color--primary);--ez-switch--pin--border-color:var(--text--primary);--ez-switch--pin--disabled--border-color:var(--text--secondary);--ez-check--label--font-size:var(--text--medium, 14px);--ez-check--label--font-family:var(--font-pattern, Arial);--ez-check--label--color:var(--title--primary, #000);--ez-check--label--disabled--color:var(--text--disable, #AFB6C0);display:flex;width:100%;align-items:center;margin:0}input.regular-mode{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;box-sizing:border-box;-webkit-appearance:none;appearance:none;cursor:pointer;border-radius:50%;position:relative;width:var(--ez-check--width);height:var(--ez-check--height)}input.regular-mode:enabled:hover{background-color:var(--ez-check--hover--background-color)}input.regular-mode:enabled:focus{outline:none;background-color:var(--ez-check--focus--background-color)}input.regular-mode:disabled{cursor:auto;background:none}input.regular-mode::before{box-sizing:border-box;content:"";display:block;width:var(--ez-check--box--width);height:var(--ez-check--box--height);border-radius:var(--ez-check--border-radius);border:var(--ez-check--border)}input.regular-mode:disabled::before{border:var(--ez-check--disabled--border)}input.regular-mode:checked:enabled:hover,input.regular-mode:indeterminate:enabled:hover{background-color:var(--ez-check--checked--hover--background-color)}input.regular-mode:checked:enabled:focus,input.regular-mode:indeterminate:enabled:focus{background-color:var(--ez-check--checked--focus--background-color)}input.regular-mode:checked::before,input.regular-mode:indeterminate::before{border:var(--ez-check--checked--border);background-color:var(--ez-check--checked--background-color)}input.regular-mode:disabled:before{border:var(--ez-check--disabled--border);background-color:var(--ez-check--checked--disabled--background-color)}input.regular-mode:checked::after,input.regular-mode:indeterminate:after{display:flex;position:absolute;content:"";background-color:var(--ez-check--check--background-color);width:8px;height:7px;-webkit-mask-image:var(--ez-check--check--image);mask-image:var(--ez-check--check--image)}input.regular-mode:indeterminate:after{display:flex;position:absolute;content:"";background-color:var(--ez-check--check--background-color);width:10px;height:2px;-webkit-mask-image:var(--ez-check--indeterminate--image);mask-image:var(--ez-check--indeterminate--image)}input.regular-mode:checked:disabled::after,input.regular-mode:indeterminate:disabled::after{background-color:var(--ez-check--check--disabled--background-color)}input.switch-mode{flex-shrink:0;-webkit-appearance:none;appearance:none;position:relative;outline:none;cursor:pointer;border-radius:20px;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);transition:background-color var(--transition);width:var(--ez-switch--slider--width);height:var(--ez-switch--slider--height);background-color:var(--ez-switch--background-color)}input.switch-mode:disabled{background-color:var(--ez-switch--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked:disabled{background-color:var(--ez-switch--disabled--checked--background-color)}input.switch-mode::after{content:"";display:block;position:absolute;box-shadow:var(--shadow);transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(-2px) translateY(-4px);border-radius:50%;border:var(--border--small, 1px solid) var(--ez-switch--pin--border-color, #626e82);width:var(--ez-switch--pin--width);height:var(--ez-switch--pin--height);background-color:var(--ez-switch--pin--background-color)}input.switch-mode:disabled::after{background-color:var(--ez-switch--pin--disabled--background-color);border:var(--border--small, 1px solid) var(--ez-switch--pin--disabled--border-color, #a2abb9)}input.switch-mode:checked{transition:background-color var(--transition), border var(--transition);background-color:var(--ez-switch--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode::before{display:block;content:"";display:block;position:absolute;border-radius:50%;opacity:0;width:var(--ez-switch--focus--width);height:var(--ez-switch--focus--height);top:calc((var(--ez-switch--slider--height) - var(--ez-switch--focus--height)) / 2);left:calc((var(--ez-switch--pin--width) - var(--ez-switch--focus--width) - 2px) / 2);background-color:var(--ez-switch--pin--focus--background-color)}input.switch-mode:focus::before{opacity:0.24;transition:opacity var(--transition)}input.switch-mode:checked:focus::before{background-color:var(--ez-switch--pin--checked--focus--background-color);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width) + 2px))}input.switch-mode:checked::after{transition:transform var(--transition);transition:background-color var(--transition);transition:border-color var(--transition);transform:translateX(calc(var(--ez-switch--slider--width) - var(--ez-switch--pin--width))) translateY(-4px);box-shadow:var(--shadow);background-color:var(--ez-switch--pin--checked--background-color);border:var(--border--small, 1px solid) var(--color--primary, #008561)}input.switch-mode:checked:disabled::after{background-color:var(--ez-switch--pin--checked--disabled--background-color)}.label{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ez-check--label--color);font-size:var(--ez-check--label--font-size);font-family:var(--ez-check--label--font-family);cursor:default;padding-left:var(--space--small)}.label--disabled{color:var(--ez-check--label--disabled--color)}';export{d as ez_check}
@@ -1,5 +1,5 @@
1
1
  import { DataUnit } from "@sankhyalabs/core";
2
- import { IInvalidField } from "./ez-form";
2
+ import { IInvalidField } from "../../interfaces/ez-form";
3
3
  export default class DataBinder {
4
4
  private _dataUnit;
5
5
  private _fields;
@@ -1,6 +1,8 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
- import { DataUnit, Record, DUActionInterceptor, DataUnitAction } from "@sankhyalabs/core";
2
+ import { DataUnit, DUActionInterceptor, DataUnitAction } from "@sankhyalabs/core";
3
3
  import { Tab } from "../ez-tabselector/ez-tabselector";
4
+ import { ITreeItem } from "../ez-tree/interfaces/ITreeItem";
5
+ import { IFieldMetadata, IFieldSetMetadata, IFormConfig, IRecordValidator } from "../../interfaces/ez-form";
4
6
  export declare class EzForm implements DUActionInterceptor {
5
7
  private _element;
6
8
  private _store;
@@ -20,9 +22,21 @@ export declare class EzForm implements DUActionInterceptor {
20
22
  */
21
23
  recordsValidator: IRecordValidator;
22
24
  /**
23
- * Evento disparado quando o formulário está disponível na DOM.
24
- */
25
+ * Evento disparado quando o formulário está disponível na DOM.
26
+ */
25
27
  ezReady: EventEmitter<void>;
28
+ /**
29
+ * Habilita o modo de organização com vários níveis.
30
+ */
31
+ multiLevel: boolean;
32
+ /**
33
+ * Define um resolvedor de nível no modo `multiLevel`.
34
+ */
35
+ levelResolver: (items: Array<ITreeItem>) => Array<ITreeItem>;
36
+ /**
37
+ * Define um construtor. Isso permite personalizar o conteúdo do formulário
38
+ */
39
+ contentBuilder: (selectedTab: string, fields: Array<IFieldMetadata | IFieldSetMetadata>, fieldBuilder: (field: IFieldMetadata) => HTMLElement) => HTMLElement | string;
26
40
  /**
27
41
  * Realiza validação no conteúdo de todos os campos.
28
42
  */
@@ -30,7 +44,10 @@ export declare class EzForm implements DUActionInterceptor {
30
44
  observeConfig(): void;
31
45
  private validateRequired;
32
46
  private processValidationResult;
47
+ private resolveLevel;
48
+ private getMultiLevelContent;
33
49
  private getDynamicContent;
50
+ private buildFormContent;
34
51
  private processMetadata;
35
52
  private isStatic;
36
53
  private getFormattedValue;
@@ -42,43 +59,3 @@ export declare class EzForm implements DUActionInterceptor {
42
59
  buildIdTabSelector(tabs: Array<Tab>): Array<Tab>;
43
60
  render(): any;
44
61
  }
45
- export interface IFieldConfig {
46
- name: string;
47
- label?: string;
48
- group?: string;
49
- tab?: string | ITabConfig;
50
- defaultValue?: IDefaultConfig;
51
- visible?: boolean;
52
- readOnly?: boolean;
53
- required?: boolean;
54
- cleanOnCopy?: boolean;
55
- }
56
- export interface IDefaultConfig {
57
- type?: string;
58
- value?: string;
59
- formattedValue?: any;
60
- }
61
- export interface ITabConfig {
62
- label: string;
63
- visible?: boolean;
64
- order?: number;
65
- }
66
- export interface IFormConfig {
67
- tabs?: Array<ITabConfig>;
68
- fields: Array<IFieldConfig>;
69
- defaultConfiguration?: boolean;
70
- }
71
- export interface IRecordValidator {
72
- validateRecord(form: EzForm, record: Record): IValidationResult;
73
- }
74
- export interface IValidationResult {
75
- isValid: boolean;
76
- invalidFields?: Array<IInvalidField>;
77
- errorTitle?: string;
78
- errorMessage?: string;
79
- infoMessage?: string;
80
- }
81
- export interface IInvalidField {
82
- name: string;
83
- message: string;
84
- }
@@ -1,2 +1,2 @@
1
- import { FieldMetadata } from "../structure/FormSheetMetadata";
2
- export declare const buildField: (field: FieldMetadata) => HTMLElement;
1
+ import { IFieldMetadata } from "../../../interfaces/ez-form";
2
+ export declare const buildField: (field: IFieldMetadata) => HTMLElement;
@@ -1,3 +1,3 @@
1
- import { IFieldConfig } from "../../ez-form";
1
+ import { IFieldConfig } from "../../../../interfaces/ez-form";
2
2
  export declare const buildSwitch: (fieldConfig: IFieldConfig) => HTMLElement;
3
3
  export declare const buildCheckBox: (fieldConfig: IFieldConfig) => HTMLElement;
@@ -1,4 +1,4 @@
1
- import { IFieldConfig } from "../../ez-form";
1
+ import { IFieldConfig } from "../../../../interfaces/ez-form";
2
2
  export declare const buildDecimal: ({ name, label, readOnly }: IFieldConfig, properties: any) => HTMLElement;
3
3
  export declare const buildInteger: ({ name, label, readOnly }: {
4
4
  name: any;
@@ -1,14 +1,16 @@
1
- import { FormMetadata, FormSheetMetadata } from "../structure/FormSheetMetadata";
1
+ import { FormMetadata } from "../structure/FormMetadata";
2
2
  import { AnyAction } from "redux";
3
3
  import { Tab } from "../../ez-tabselector/ez-tabselector";
4
+ import { IFormSheetMetadata } from "../../../interfaces/ez-form";
4
5
  export declare function formReducer(state: FormState, action: AnyAction): any;
5
6
  export declare function loadMetadata(formMetadata: FormMetadata): AnyAction;
6
- export declare function changeTab(currentSheet: Tab): {
7
+ export declare function changeTab(currentSheet: Tab | string): {
7
8
  type: FormActions;
8
9
  payload: string;
9
10
  };
10
11
  export declare function selectFormMetadata(state: FormState): FormMetadata;
11
- export declare function selectCurrentSheet(state: FormState): FormSheetMetadata;
12
+ export declare function selectCurrentSheetId(state: FormState): string;
13
+ export declare function selectCurrentSheet(state: FormState): IFormSheetMetadata;
12
14
  declare enum FormActions {
13
15
  METADATA_LOADED = "FORM/METADATA_LOADED",
14
16
  CHANGE_TAB = "FORM/CHANGE_TAB"
@@ -1,8 +1,8 @@
1
1
  import { FunctionalComponent } from "../../../stencil-public-runtime";
2
2
  import { Store } from "redux";
3
- import { FieldMetadata, FieldSetMetadata } from "./FormSheetMetadata";
3
+ import { IFieldMetadata, IFieldSetMetadata } from "../../../interfaces/ez-form";
4
4
  interface FormItemProps {
5
- source: FieldMetadata | FieldSetMetadata;
5
+ source: IFieldMetadata | IFieldSetMetadata;
6
6
  store: Store;
7
7
  }
8
8
  export declare const FormItem: FunctionalComponent<FormItemProps>;
@@ -1,34 +1,18 @@
1
- import { IFieldConfig, IFormConfig } from "../ez-form";
2
1
  import { DataUnit, FieldDescriptor } from "@sankhyalabs/core";
2
+ import { IFieldConfig, IFormConfig, IFormSheetMetadata } from "../../../interfaces/ez-form";
3
3
  export declare class FormMetadata {
4
4
  private _sheets;
5
5
  private _requiredFields;
6
6
  private _cleanOnCopyFields;
7
7
  private _defaultValues;
8
8
  constructor();
9
- getSheet(name: string): FormSheetMetadata;
10
- getAllSheets(): Map<string, FormSheetMetadata>;
11
- addSheet(sheet: FormSheetMetadata): void;
9
+ getSheet(name: string): IFormSheetMetadata;
10
+ getAllSheets(): Map<string, IFormSheetMetadata>;
11
+ addSheet(sheet: IFormSheetMetadata): void;
12
12
  getRequiredFields(): Array<string>;
13
13
  getCleanOnCopyFields(): Array<string>;
14
14
  getDefaultValues(): any;
15
15
  }
16
- export interface FormSheetMetadata {
17
- name: string;
18
- label: string;
19
- items: Array<FieldMetadata | FieldSetMetadata>;
20
- requiredFields: Array<string>;
21
- cleanOnCopyFields: Array<string>;
22
- defaultValues: any;
23
- }
24
- export interface FieldMetadata {
25
- descriptor?: FieldDescriptor;
26
- config?: IFieldConfig;
27
- }
28
- export interface FieldSetMetadata {
29
- label?: string;
30
- items?: Array<FieldMetadata>;
31
- }
32
16
  export declare const isRequiredField: (descriptor: FieldDescriptor, config?: IFieldConfig) => boolean;
33
17
  export declare const isReadOnlyField: (descriptor: FieldDescriptor, config?: IFieldConfig) => boolean;
34
18
  export declare const buildFromDataUnit: (dataUnit: DataUnit) => FormMetadata;
@@ -1,8 +1,8 @@
1
1
  import { FunctionalComponent } from "../../../stencil-public-runtime";
2
2
  import { Store } from "redux";
3
- import { FormSheetMetadata } from "./FormSheetMetadata";
3
+ import { IFormSheetMetadata } from "../../../interfaces/ez-form";
4
4
  interface FormSheetProps {
5
- source: FormSheetMetadata;
5
+ source: IFormSheetMetadata;
6
6
  store: Store;
7
7
  dataElementId: string;
8
8
  }
@@ -0,0 +1,69 @@
1
+ import { IGuideItem } from './ez-guide-navigator';
2
+ export declare const HIERARCHY_SEPARATOR = ">>";
3
+ export declare class Guide {
4
+ private originalList;
5
+ private guideMap;
6
+ private hierarchiesAlreadyLoaded;
7
+ constructor(list?: Array<IGuideItem>);
8
+ /**
9
+ * Converte uma lista de objetos IGuideItem em um objeto IGuideMap com sua hierarquia.
10
+ * @param list Uma lista de objetos IGuideItem representando a lista de itens.
11
+ * @param hierarquiaList Uma lista opcional de strings que representa a hierarquia dos itens pai.
12
+ * @param indexReferences Uma lista opcional de números que representa as referências de índice da lista original.
13
+ * @returns Uma Promise que resolve para um objeto IGuideMap com os itens e sua hierarquia.
14
+ */
15
+ private convertArrayToMap;
16
+ /**
17
+ * Converte um objeto IGuideMap em uma lista de objetos IGuideItem com sua hierarquia.
18
+ * @param map Um objeto IGuideMap opcional que representa o mapa de itens com sua hierarquia.
19
+ * @returns Uma Promise que resolve para uma lista de objetos IGuideItem com sua hierarquia.
20
+ */
21
+ private convertMapToArray;
22
+ /**
23
+ * Obtém a lista selecionada de itens com base na lista original e na lista de índice selecionada.
24
+ * @param originalList Uma lista de objetos IGuideItem representando a lista original de itens.
25
+ * @param selectedIndexList Uma matriz representando a lista de índices selecionada.
26
+ * @returns Uma lista de objetos IGuideItem representando a lista selecionada de itens.
27
+ */
28
+ private getSelectedList;
29
+ /**
30
+ * Define a lista de itens para o Map guideMap.
31
+ * @param list Uma lista de objetos IGuideItem representando a lista de itens.
32
+ * @returns Uma Promise que resolve quando a lista é convertida para o Map.
33
+ */
34
+ setList(list: Array<IGuideItem>): Promise<void>;
35
+ /**
36
+ * Obtém a lista de itens com sua hierarquia.
37
+ * @returns Uma Promise que resolve para uma lista de objetos IGuideItem com sua hierarquia.
38
+ */
39
+ getList(): Promise<IGuideItem[]>;
40
+ /**
41
+ * Adiciona filhos a um item pai no guia.
42
+ * @param parent Um objeto IGuideItem que representa o item pai.
43
+ * @param children Uma lista de objetos IGuideItem representando os itens filhos.
44
+ * @returns Uma Promise que resolve para uma lista de objetos IGuideItem com sua hierarquia.
45
+ */
46
+ addChildren(parent: IGuideItem, children: Array<IGuideItem>): Promise<Array<IGuideItem>>;
47
+ /**
48
+ * Obtém os itens a partir de um campo corresponde à string de consulta.
49
+ * @param query Uma string que representa a consulta para corresponder ao rótulo.
50
+ * @param fieldName Uma string opcional que representa o nome do campo para corresponder à consulta.
51
+ * @returns Uma Promise que resolve para um objeto com o primeiro item encontrado e uma matriz de itens correspondentes com sua hierarquia.
52
+ */
53
+ getItemsByLabel(query: string, fieldName?: string, selectedItem?: IGuideItem): Promise<{
54
+ first?: IGuideItem;
55
+ list: IGuideItem[];
56
+ }>;
57
+ /**
58
+ * Habilita todos os objetos IGuideItem.
59
+ * @returns Uma Promise que resolve com o array atualizado de objetos IGuideItem.
60
+ */
61
+ enableAllItems(): Promise<Array<IGuideItem>>;
62
+ /**
63
+ * Ativa somente objetos IGuideItem com base em uma matriz de IDs.
64
+ * @param ids Um array de IDs para habilitar.
65
+ * @param customTooltip Uma string para definir o tooltip de itens desabilitados.
66
+ * @returns Uma Promise que resolve com o array atualizado de objetos IGuideItem.
67
+ */
68
+ enableItemsById(ids?: Array<string>, customTooltip?: string): Promise<Array<IGuideItem>>;
69
+ }
@@ -5,6 +5,7 @@ export declare class EzTree {
5
5
  private _tree;
6
6
  private _visibleItems;
7
7
  private _onItemClick;
8
+ private _onIconClick;
8
9
  private _waintingForLoad;
9
10
  /**
10
11
  * Define os itens apresentados na árvore.
@@ -14,10 +15,18 @@ export declare class EzTree {
14
15
  * Define o item selecionado na árvore.
15
16
  */
16
17
  value: ITreeItem;
18
+ /**
19
+ * Forma alternativa para atribuir o item selecionado por seu ID.
20
+ */
21
+ selectedId: string;
17
22
  /**
18
23
  * Define uma função que vai resolver o ícone daquele item. Retorna o nome do ícone da lib de icones do DS.
19
24
  */
20
25
  iconResolver: (item: ITreeItem, expanded: boolean, level: number) => string;
26
+ /**
27
+ * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
28
+ */
29
+ tooltipResolver: (item: ITreeItem, enabled: boolean, level: number) => string;
21
30
  /**
22
31
  * Emitido quando um item é selecionado na árvore.
23
32
  */
@@ -60,7 +69,11 @@ export declare class EzTree {
60
69
  private openClose;
61
70
  private previousLevel;
62
71
  private nextLevel;
72
+ private indexOf;
73
+ private selectNextItem;
63
74
  private nextItem;
64
75
  private previousItem;
76
+ connectedCallback(): void;
77
+ componentWillRender(): void;
65
78
  render(): any;
66
79
  }
@@ -5,6 +5,7 @@ export interface ITreeItem {
5
5
  childrenCount?: number;
6
6
  iconExpanded?: string;
7
7
  iconContracted?: string;
8
+ tooltip?: string;
8
9
  expanded?: boolean;
9
10
  disabled?: boolean;
10
11
  }
@@ -0,0 +1,2 @@
1
+ import { ITreeItem } from "../interfaces/ITreeItem";
2
+ export declare const defaultTooltipResolver: (item: ITreeItem, _enabled: boolean, _level: number) => string;
@@ -5,7 +5,9 @@ interface TreeItemProps {
5
5
  node: Node;
6
6
  selectedId: string;
7
7
  itemClick: (item: ITreeItem) => void;
8
+ iconClick: (item: ITreeItem) => void;
8
9
  iconResolver: (item: ITreeItem, expanded: boolean, level: number) => string;
10
+ tooltipResolver: (item: ITreeItem, enabled: boolean, level: number) => string;
9
11
  level?: number;
10
12
  itemsList: Array<ITreeItem>;
11
13
  }
@@ -1 +1,2 @@
1
1
  export { defaultIconResolver } from "./DefaultIconResolver";
2
+ export { defaultTooltipResolver } from "./DefaultTooltipResolver";
@@ -9,6 +9,7 @@ export declare class Node {
9
9
  private _childrenLoaded;
10
10
  private _isLazyLoad;
11
11
  constructor(tree: ITree, item?: ITreeItem, parent?: Node, isPlaceHolder?: boolean);
12
+ refresh(newItem: ITreeItem): void;
12
13
  isDisabled(): boolean;
13
14
  updateChildren(children: Array<ITreeItem>): void;
14
15
  addChild(tree: ITree, item: ITreeItem): void;
@@ -13,15 +13,16 @@ import { IOption, ISearchArgument } from "./components/ez-combo-box/ez-combo-box
13
13
  import { DataUnit, Record, WaitingChange } from "@sankhyalabs/core";
14
14
  import { DialogType } from "./components/ez-dialog/DialogType";
15
15
  import { IDropdownItem, IDropdownSubAction } from "./components/ez-dropdown/structure/DropdownItem";
16
- import { IFormConfig, IRecordValidator, IValidationResult } from "./components/ez-form/ez-form";
16
+ import { IFieldMetadata, IFieldSetMetadata, IFormConfig, IRecordValidator, IValidationResult } from "./interfaces/ez-form";
17
+ import { ITreeItem } from "./components/ez-tree/interfaces/ITreeItem";
17
18
  import { EzGridColumn, EzGridColumnConfig, EzGridColumStateEvent, IGridConfig, IStatusResolver } from "./components/ez-grid/controller/EzGridController";
19
+ import { IGuideBinder } from "./components/ez-guide-navigator/ez-guide-navigator";
18
20
  import { ListGroup, ListItem } from "./components/ez-list/ez-list";
19
21
  import { Radio } from "./components/ez-radio-button/ez-radio-button";
20
22
  import { EzScrollDirection } from "./components/ez-scroller/EzScrollDirection";
21
23
  import { IOption as IOption1, ISearchArgument as ISearchArgument1 } from "./components/ez-combo-box/ez-combo-box";
22
24
  import { Tab } from "./components/ez-tabselector/ez-tabselector";
23
25
  import { IStyled } from "./components/ez-text-edit/ez-text-edit";
24
- import { ITreeItem } from "./components/ez-tree/interfaces/ITreeItem";
25
26
  import { EzFile } from "./components/ez-upload/ez-upload";
26
27
  export namespace Components {
27
28
  interface EzActionsButton {
@@ -507,10 +508,22 @@ export namespace Components {
507
508
  * Configuração do formulário.
508
509
  */
509
510
  "config": IFormConfig;
511
+ /**
512
+ * Define um construtor. Isso permite personalizar o conteúdo do formulário
513
+ */
514
+ "contentBuilder": (selectedTab: string, fields: Array<IFieldMetadata | IFieldSetMetadata>, fieldBuilder: (field: IFieldMetadata) => HTMLElement) => HTMLElement | string;
510
515
  /**
511
516
  * Unidade de dados. Responsável pelo controle de edição de registros e informações pertinentes aos campos.
512
517
  */
513
518
  "dataUnit": DataUnit;
519
+ /**
520
+ * Define um resolvedor de nível no modo `multiLevel`.
521
+ */
522
+ "levelResolver": (items: Array<ITreeItem>) => Array<ITreeItem>;
523
+ /**
524
+ * Habilita o modo de organização com vários níveis.
525
+ */
526
+ "multiLevel": boolean;
514
527
  /**
515
528
  * Define um validador responsável pela integridade dos registros.
516
529
  */
@@ -574,6 +587,24 @@ export namespace Components {
574
587
  */
575
588
  "statusResolver": IStatusResolver;
576
589
  }
590
+ interface EzGuideNavigator {
591
+ /**
592
+ * Provedor de dados para o guide navigator.
593
+ */
594
+ "binder": IGuideBinder;
595
+ /**
596
+ * Habilita todos os itens do menu de navegação.
597
+ */
598
+ "enableAll": () => Promise<void>;
599
+ /**
600
+ * Habilita itens específicos a partir de uma lista de ID's.
601
+ */
602
+ "enableOnly": (id: Array<string>, customTooltip: string) => Promise<void>;
603
+ /**
604
+ * Define se o menu de navegação está aberto.
605
+ */
606
+ "open": boolean;
607
+ }
577
608
  interface EzIcon {
578
609
  /**
579
610
  * Define o endereço da imagem quando não contempladas na biblioteca de ícones.
@@ -1103,6 +1134,14 @@ export namespace Components {
1103
1134
  * Efetua a seleção de um item.
1104
1135
  */
1105
1136
  "selectItem": (id: string) => Promise<void>;
1137
+ /**
1138
+ * Forma alternativa para atribuir o item selecionado por seu ID.
1139
+ */
1140
+ "selectedId": string;
1141
+ /**
1142
+ * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
1143
+ */
1144
+ "tooltipResolver": (item: ITreeItem, enabled: boolean, level: number) => string;
1106
1145
  /**
1107
1146
  * Define o item selecionado na árvore.
1108
1147
  */
@@ -1280,6 +1319,12 @@ declare global {
1280
1319
  prototype: HTMLEzGridElement;
1281
1320
  new (): HTMLEzGridElement;
1282
1321
  };
1322
+ interface HTMLEzGuideNavigatorElement extends Components.EzGuideNavigator, HTMLStencilElement {
1323
+ }
1324
+ var HTMLEzGuideNavigatorElement: {
1325
+ prototype: HTMLEzGuideNavigatorElement;
1326
+ new (): HTMLEzGuideNavigatorElement;
1327
+ };
1283
1328
  interface HTMLEzIconElement extends Components.EzIcon, HTMLStencilElement {
1284
1329
  }
1285
1330
  var HTMLEzIconElement: {
@@ -1426,6 +1471,7 @@ declare global {
1426
1471
  "ez-filter-input": HTMLEzFilterInputElement;
1427
1472
  "ez-form": HTMLEzFormElement;
1428
1473
  "ez-grid": HTMLEzGridElement;
1474
+ "ez-guide-navigator": HTMLEzGuideNavigatorElement;
1429
1475
  "ez-icon": HTMLEzIconElement;
1430
1476
  "ez-list": HTMLEzListElement;
1431
1477
  "ez-loading-bar": HTMLEzLoadingBarElement;
@@ -1933,10 +1979,22 @@ declare namespace LocalJSX {
1933
1979
  * Configuração do formulário.
1934
1980
  */
1935
1981
  "config"?: IFormConfig;
1982
+ /**
1983
+ * Define um construtor. Isso permite personalizar o conteúdo do formulário
1984
+ */
1985
+ "contentBuilder"?: (selectedTab: string, fields: Array<IFieldMetadata | IFieldSetMetadata>, fieldBuilder: (field: IFieldMetadata) => HTMLElement) => HTMLElement | string;
1936
1986
  /**
1937
1987
  * Unidade de dados. Responsável pelo controle de edição de registros e informações pertinentes aos campos.
1938
1988
  */
1939
1989
  "dataUnit"?: DataUnit;
1990
+ /**
1991
+ * Define um resolvedor de nível no modo `multiLevel`.
1992
+ */
1993
+ "levelResolver"?: (items: Array<ITreeItem>) => Array<ITreeItem>;
1994
+ /**
1995
+ * Habilita o modo de organização com vários níveis.
1996
+ */
1997
+ "multiLevel"?: boolean;
1940
1998
  /**
1941
1999
  * Evento disparado quando o formulário está disponível na DOM.
1942
2000
  */
@@ -1984,6 +2042,16 @@ declare namespace LocalJSX {
1984
2042
  */
1985
2043
  "statusResolver"?: IStatusResolver;
1986
2044
  }
2045
+ interface EzGuideNavigator {
2046
+ /**
2047
+ * Provedor de dados para o guide navigator.
2048
+ */
2049
+ "binder"?: IGuideBinder;
2050
+ /**
2051
+ * Define se o menu de navegação está aberto.
2052
+ */
2053
+ "open"?: boolean;
2054
+ }
1987
2055
  interface EzIcon {
1988
2056
  /**
1989
2057
  * Define o endereço da imagem quando não contempladas na biblioteca de ícones.
@@ -2473,6 +2541,14 @@ declare namespace LocalJSX {
2473
2541
  * Emitido quando um item é aberto na árvore.
2474
2542
  */
2475
2543
  "onEzOpenItem"?: (event: CustomEvent<ITreeItem>) => void;
2544
+ /**
2545
+ * Forma alternativa para atribuir o item selecionado por seu ID.
2546
+ */
2547
+ "selectedId"?: string;
2548
+ /**
2549
+ * Define uma função que vai resolver o `tooltip` ou `title` daquele item.
2550
+ */
2551
+ "tooltipResolver"?: (item: ITreeItem, enabled: boolean, level: number) => string;
2476
2552
  /**
2477
2553
  * Define o item selecionado na árvore.
2478
2554
  */
@@ -2546,6 +2622,7 @@ declare namespace LocalJSX {
2546
2622
  "ez-filter-input": EzFilterInput;
2547
2623
  "ez-form": EzForm;
2548
2624
  "ez-grid": EzGrid;
2625
+ "ez-guide-navigator": EzGuideNavigator;
2549
2626
  "ez-icon": EzIcon;
2550
2627
  "ez-list": EzList;
2551
2628
  "ez-loading-bar": EzLoadingBar;
@@ -2592,6 +2669,7 @@ declare module "@stencil/core" {
2592
2669
  "ez-filter-input": LocalJSX.EzFilterInput & JSXBase.HTMLAttributes<HTMLEzFilterInputElement>;
2593
2670
  "ez-form": LocalJSX.EzForm & JSXBase.HTMLAttributes<HTMLEzFormElement>;
2594
2671
  "ez-grid": LocalJSX.EzGrid & JSXBase.HTMLAttributes<HTMLEzGridElement>;
2672
+ "ez-guide-navigator": LocalJSX.EzGuideNavigator & JSXBase.HTMLAttributes<HTMLEzGuideNavigatorElement>;
2595
2673
  "ez-icon": LocalJSX.EzIcon & JSXBase.HTMLAttributes<HTMLEzIconElement>;
2596
2674
  "ez-list": LocalJSX.EzList & JSXBase.HTMLAttributes<HTMLEzListElement>;
2597
2675
  "ez-loading-bar": LocalJSX.EzLoadingBar & JSXBase.HTMLAttributes<HTMLEzLoadingBarElement>;
@@ -0,0 +1,5 @@
1
+ export interface IDefaultConfig {
2
+ type?: string;
3
+ value?: string;
4
+ formattedValue?: any;
5
+ }
@@ -0,0 +1,13 @@
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
+ }
@@ -0,0 +1,6 @@
1
+ import { FieldDescriptor } from "@sankhyalabs/core";
2
+ import { IFieldConfig } from "./IFieldConfig";
3
+ export interface IFieldMetadata {
4
+ descriptor?: FieldDescriptor;
5
+ config?: IFieldConfig;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { IFieldMetadata } from "./IFieldMetadata";
2
+ export interface IFieldSetMetadata {
3
+ label?: string;
4
+ items?: Array<IFieldMetadata>;
5
+ }
@@ -0,0 +1,7 @@
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
+ }
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,4 @@
1
+ export interface IInvalidField {
2
+ name: string;
3
+ message: string;
4
+ }
@@ -0,0 +1,6 @@
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
+ }
@@ -0,0 +1,5 @@
1
+ export interface ITabConfig {
2
+ label: string;
3
+ visible?: boolean;
4
+ order?: number;
5
+ }