@sankhyalabs/ezui 1.1.86 → 1.1.89

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 (47) hide show
  1. package/dist/cjs/ez-button_11.cjs.entry.js +33 -12
  2. package/dist/cjs/ez-calendar.cjs.entry.js +1 -1
  3. package/dist/cjs/ez-collapsible-box_7.cjs.entry.js +1 -1
  4. package/dist/cjs/ez-combo-box.cjs.entry.js +1 -1
  5. package/dist/cjs/ez-form.cjs.entry.js +33 -2
  6. package/dist/cjs/ez-popover.cjs.entry.js +1 -1
  7. package/dist/cjs/ez-time-input.cjs.entry.js +1 -1
  8. package/dist/cjs/ezui.cjs.js +1 -1
  9. package/dist/cjs/{index-789fa661.js → index-a92e6d04.js} +1 -0
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/ez-button/ez-button.js +19 -2
  12. package/dist/collection/components/ez-form/ez-form.js +17 -1
  13. package/dist/collection/components/ez-form/structure/FormSheetMetadata.js +16 -1
  14. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +7 -0
  15. package/dist/collection/components/ez-grid/ez-grid.js +21 -4
  16. package/dist/collection/components/ez-icon/ez-icon.css +133 -1
  17. package/dist/collection/components/ez-icon/ez-icon.js +34 -6
  18. package/dist/custom-elements/index.js +85 -33
  19. package/dist/esm/ez-button_11.entry.js +33 -12
  20. package/dist/esm/ez-calendar.entry.js +1 -1
  21. package/dist/esm/ez-collapsible-box_7.entry.js +1 -1
  22. package/dist/esm/ez-combo-box.entry.js +1 -1
  23. package/dist/esm/ez-form.entry.js +33 -2
  24. package/dist/esm/ez-popover.entry.js +1 -1
  25. package/dist/esm/ez-time-input.entry.js +1 -1
  26. package/dist/esm/ezui.js +1 -1
  27. package/dist/esm/{index-461f1302.js → index-4fb1605f.js} +1 -1
  28. package/dist/esm/loader.js +1 -1
  29. package/dist/ezui/ezui.esm.js +1 -1
  30. package/dist/ezui/{p-88e84ff2.entry.js → p-27a35580.entry.js} +1 -1
  31. package/dist/ezui/{p-8b7a4a16.entry.js → p-3e79877f.entry.js} +1 -1
  32. package/dist/ezui/p-4e08b842.entry.js +1 -0
  33. package/dist/ezui/{p-b1d7488d.entry.js → p-535771b6.entry.js} +1 -1
  34. package/dist/ezui/{p-cc448554.entry.js → p-826b6c4d.entry.js} +1 -1
  35. package/dist/ezui/{p-ca6240ff.entry.js → p-93bb1854.entry.js} +19 -19
  36. package/dist/ezui/{p-d93a3e2b.entry.js → p-eefc1f9d.entry.js} +1 -1
  37. package/dist/ezui/{p-7c4d4946.js → p-f0137439.js} +1 -1
  38. package/dist/types/components/ez-button/ez-button.d.ts +4 -0
  39. package/dist/types/components/ez-form/ez-form.d.ts +4 -2
  40. package/dist/types/components/ez-form/structure/FormSheetMetadata.d.ts +3 -0
  41. package/dist/types/components/ez-grid/controller/EzGridController.d.ts +4 -0
  42. package/dist/types/components/ez-grid/controller/ag-grid/AgGridController.d.ts +2 -0
  43. package/dist/types/components/ez-grid/ez-grid.d.ts +4 -0
  44. package/dist/types/components/ez-icon/ez-icon.d.ts +6 -0
  45. package/dist/types/components.d.ts +20 -0
  46. package/package.json +1 -1
  47. package/dist/ezui/p-9f98c4d1.entry.js +0 -1
@@ -31,6 +31,10 @@ export namespace Components {
31
31
  * Deixa o botão disponível ou não para interação com o usuário.
32
32
  */
33
33
  "enabled": boolean;
34
+ /**
35
+ * Nome do icone disponível no pacote de fontes [ez-icons](https://sankhyalabs-storybook.herokuapp.com/themes/default/icons/fonts/index.html)
36
+ */
37
+ "iconName": string;
34
38
  /**
35
39
  * Define o icone svg que será utilizado no botão. Esta propriedade só é utilizada caso o componente esteja no modo 'icon'
36
40
  */
@@ -290,6 +294,10 @@ export namespace Components {
290
294
  * Path da imagem
291
295
  */
292
296
  "href": string;
297
+ /**
298
+ * Nome do icone disponível no pacote de fontes [ez-icons](https://sankhyalabs-storybook.herokuapp.com/themes/default/icons/fonts/index.html)
299
+ */
300
+ "iconName": string;
293
301
  /**
294
302
  * Tamanho do ícone
295
303
  */
@@ -912,6 +920,10 @@ declare namespace LocalJSX {
912
920
  * Deixa o botão disponível ou não para interação com o usuário.
913
921
  */
914
922
  "enabled"?: boolean;
923
+ /**
924
+ * Nome do icone disponível no pacote de fontes [ez-icons](https://sankhyalabs-storybook.herokuapp.com/themes/default/icons/fonts/index.html)
925
+ */
926
+ "iconName"?: string;
915
927
  /**
916
928
  * Define o icone svg que será utilizado no botão. Esta propriedade só é utilizada caso o componente esteja no modo 'icon'
917
929
  */
@@ -1130,6 +1142,10 @@ declare namespace LocalJSX {
1130
1142
  * Evento disparado ao mudar o estado das colunas do grid. Ordenação, largura, etc.
1131
1143
  */
1132
1144
  "onEzColumnStateChange"?: (event: CustomEvent<EzGridColumStateEvent>) => void;
1145
+ /**
1146
+ * Evento disparado com o duplo clique de uma linha
1147
+ */
1148
+ "onEzDoubleClick"?: (event: CustomEvent<any>) => void;
1133
1149
  /**
1134
1150
  * Evento disparado ao selecionar linhas da grade.
1135
1151
  */
@@ -1148,6 +1164,10 @@ declare namespace LocalJSX {
1148
1164
  * Path da imagem
1149
1165
  */
1150
1166
  "href"?: string;
1167
+ /**
1168
+ * Nome do icone disponível no pacote de fontes [ez-icons](https://sankhyalabs-storybook.herokuapp.com/themes/default/icons/fonts/index.html)
1169
+ */
1170
+ "iconName"?: string;
1151
1171
  /**
1152
1172
  * Tamanho do ícone
1153
1173
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "1.1.86",
3
+ "version": "1.1.89",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -1 +0,0 @@
1
- import{h as e,r as t,f as r,H as n,g as i}from"./p-7c101b34.js";import{U as o,D as s,A as a}from"./p-7c4d4946.js";import{A as l}from"./p-7107d7ef.js";const c=({name:t,label:r})=>e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-text-input",{label:r,"data-field-name":t,key:t}));function d(t,r,n=!1){return e("div",{class:"col col--sd-12 col--tb-3 padding--small align--middle padding-bottom--large"},e("ez-check",{label:r,mode:n?"switch":"regular","data-field-name":t,key:t}))}function u(t,r,n,i){return e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-number-input",{label:r,precision:n,prettyPrecision:i,"data-field-name":t,key:t}))}const f=new Map;f.set(o.LONGTEXT,(({name:t,label:r})=>e("div",{class:"col col--sd-12 padding--small",key:t},e("ez-text-area",{label:r,"data-field-name":t})))),f.set(o.CHECKBOX,(e=>d(e.name,e.label,!1))),f.set(o.SWITCH,(e=>d(e.name,e.label,!0))),f.set(o.OPTIONSELECTOR,(({name:t,label:r},n)=>{const i=null==n?void 0:n.options;let o;if("string"==typeof i){const e=JSON.parse(i);o=Object.keys(e).map((t=>({value:t,label:e[t]})))}else o=i;return e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-combo-box",{label:r,"data-field-name":t,key:t,options:o}))})),f.set(o.SEARCH,(({name:t,label:r})=>e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-search",{label:r,optionLoader:()=>{},"data-field-name":t,key:t})))),f.set(o.FILE,(({name:t,label:r})=>e("div",{class:"col col--sd-12 padding--small"},e("ez-upload",{label:r,urlUpload:"",requestHeaders:"",maxFiles:10,"data-field-name":t,key:t})))),f.set(o.DATE,(({name:t,label:r})=>e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-date-input",{label:r,"data-field-name":t,key:t})))),f.set(o.DATETIME,(({name:t,label:r})=>e("div",{class:"col col--sd-12 col--tb-3 padding--small"},e("ez-date-time-input",{label:r,"data-field-name":t,key:t})))),f.set(o.DECIMALNUMBER,(({name:e,label:t},r)=>{const n=Number((null==r?void 0:r.precision)||2);return u(e,t,n,Number((null==r?void 0:r.prettyPrecision)||n))})),f.set(o.INTEGERNUMBER,(({name:e,label:t})=>u(e,t,0,0)));const h=e=>{const t=e.descriptor,r=Object.assign({},e.config);let n,i;return t&&(n=f.get(t.userInterface),r.label||(r.label=t.label),r.name||(r.name=t.name),void 0===r.required&&(r.required=t.required),i=t.properties),r.required&&(r.label=`* ${r.label} (obrigatório)`),n||(n=c),n(r,i)},m=({source:t})=>"items"in t?e("ez-collapsible-box",{label:t.label},t.items.map((e=>h(e)))):h(t),b=({store:t,source:r})=>e("div",{class:"box__container"},r.items.map((r=>e(m,{store:t,source:r}))));class p{constructor(){this._sheets=new Map,this._requiredFields=[]}getSheet(e){return this._sheets.get(e)}getAllSheets(){return this._sheets}addSheet(e){this._sheets.set(e.name,e),this._requiredFields=this._requiredFields.concat(e.requiredFields)}getRequiredFields(){return this._requiredFields}}function v(e){return"Minified Redux error #"+e+"; visit https://redux.js.org/Errors?code="+e+" for the full message or use the non-minified dev environment for full errors. "}var y="function"==typeof Symbol&&Symbol.observable||"@@observable",w=function(){return Math.random().toString(36).substring(7).split("").join(".")},g={INIT:"@@redux/INIT"+w(),REPLACE:"@@redux/REPLACE"+w(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+w()}};function E(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function O(e,t,r){var n;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw new Error(v(0));if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw new Error(v(1));return r(O)(e,t)}if("function"!=typeof e)throw new Error(v(2));var i=e,o=t,s=[],a=s,l=!1;function c(){a===s&&(a=s.slice())}function d(){if(l)throw new Error(v(3));return o}function u(e){if("function"!=typeof e)throw new Error(v(4));if(l)throw new Error(v(5));var t=!0;return c(),a.push(e),function(){if(t){if(l)throw new Error(v(6));t=!1,c();var r=a.indexOf(e);a.splice(r,1),s=null}}}function f(e){if(!E(e))throw new Error(v(7));if(void 0===e.type)throw new Error(v(8));if(l)throw new Error(v(9));try{l=!0,o=i(o,e)}finally{l=!1}for(var t=s=a,r=0;r<t.length;r++)(0,t[r])();return e}function h(e){if("function"!=typeof e)throw new Error(v(10));i=e,f({type:g.REPLACE})}function m(){var e,t=u;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new Error(v(11));function r(){e.next&&e.next(d())}return r(),{unsubscribe:t(r)}}})[y]=function(){return this},e}return f({type:g.INIT}),(n={dispatch:f,subscribe:u,getState:d,replaceReducer:h})[y]=m,n}const A={};function z(e=A,t){switch(t.type){case x.METADATA_LOADED:return Object.assign(Object.assign({},e),{formMetadata:t.payload});case x.CHANGE_TAB:return Object.assign(Object.assign({},e),{currentSheet:t.payload});default:return e}}function j(e){return e.formMetadata}var x;!function(e){e.METADATA_LOADED="FORM/METADATA_LOADED",e.CHANGE_TAB="FORM/CHANGE_TAB"}(x||(x={}));class N{constructor(e){this._fields=new Map,this._dataUnit=e,this._dataUnit.subscribe((()=>{var e;null===(e=this._fields)||void 0===e||e.forEach((e=>{this.updateValue(e.fieldName,e.field)}))}))}bind(e){e.forEach((e=>{const t=e.dataset.fieldName;this.updateBind(t,e),this.updateValue(t,e)}))}updateValue(e,t){t.value=this._dataUnit.getFieldValue(e)}updateBind(e,t){const r=this._fields.get(e);r&&r.destroy(),this._fields.set(e,M.create(e,t,((e,t)=>this.setFieldValue(e,t))))}setFieldValue(e,t){0===this._dataUnit.records.length&&this._dataUnit.addRecord(),this._dataUnit.setFieldValue(e,t)}}class M{destroy(){this.field.removeEventListener(this.eventName,this.eventListener)}static create(e,t,r){const n=new M;return n.fieldName=e,n.field=t,n.eventListener=t=>{r(e,t.detail)},n.eventName="ezChange",n.field.addEventListener(n.eventName,n.eventListener),n}}let k=class{constructor(e){t(this,e)}submit(){return Promise.resolve()}cancel(){return Promise.resolve()}validate(){return new Promise(((e,t)=>{const r=j(this._store.getState()),n=this._staticFields.filter((e=>e.dataset.required)).map((e=>e.dataset.fieldName)).concat(r.getRequiredFields()),i=this.dataUnit.records;for(let e=0;e<i.length;e++)if(!this.validateRequired(n,i[e])){t();break}e()}))}validateRequired(e,t){const r=[];e.forEach((e=>{const n=t[e],i=this._element.querySelector(`[data-field-name=${e}]`);null==n||""===n?(r.push(e),i.errorMessage="Essa informação é obrigatória"):i.errorMessage=""}));const n=0===r.length;return n||l.info("Há pelo menos um campo obrigatório não preenchido."),n}getDynamicContent(){var t;const r=j(this._store.getState());if(!r)return null;const n=(i=null===(t=this._store)||void 0===t?void 0:t.getState()).currentSheet?i.formMetadata.getSheet(i.currentSheet):Array.from(i.formMetadata.getAllSheets().values())[0];var i;if(!n)return null;const o=Array.from(r.getAllSheets().values()),s=[];return o.length>1&&s.push(e("ez-tabselector",{onEzChange:e=>this._store.dispatch(function(e){return{type:x.CHANGE_TAB,payload:e}}(e.detail)),selectedTab:n.name},o.map((t=>e("ez-tab",{tabKey:t.name,label:t.label}))))),s.push(e(b,{store:this._store,source:n})),s}processMetadata(){if(!this.isStatic()){const e=this.config&&this.config.length>0?((e,t)=>{const r=new Map,n=[];e.forEach((e=>{if(!1!==e.visible){const i=e.tab||"Geral",o=t.getField(e.name);if(o){r.has(i)||r.set(i,new Map),(void 0===e.required?o.required:e.required)&&n.push(e.name);const t=r.get(i),s={config:e,descriptor:o},a=e.group;if(a){const e=`group::${a}`;t.has(e)?t.get(e).items.push(s):t.set(e,{label:a,items:[s]})}else t.set(e.name,s)}}}));const i=new p;return r.forEach(((e,t)=>{i.addSheet({label:t,name:t,items:Array.from(e.values()),requiredFields:n})})),i})(this.config,this.dataUnit):(()=>{var e;const t=this.dataUnit.metadata,r=new p;if(t){const n=null===(e=t.fields)||void 0===e?void 0:e.filter((e=>!1!==e.visible));r.addSheet({label:t.label,name:t.name,items:n.map((e=>({descriptor:e}))),requiredFields:n.filter((e=>e.required)).map((e=>e.name))})}return r})();this._store.dispatch({type:x.METADATA_LOADED,payload:e})}}isStatic(){var e;return(null===(e=this._staticFields)||void 0===e?void 0:e.length)>0}componentWillLoad(){void 0===this.dataUnit&&(this.dataUnit=new s("ez-form")),this.dataUnit.subscribe((e=>{e.type===a.METADATA_LOADED&&this.processMetadata()})),this._dataBinder=new N(this.dataUnit),this._store=O(z),this._store.subscribe((()=>r(this))),this._staticFields=Array.from(this._element.querySelectorAll("[data-field-name]")),this.processMetadata()}componentDidRender(){this._dataBinder.bind(Array.from(this._element.querySelectorAll("[data-field-name]")))}render(){return e(n,null,this.isStatic()?null:this.getDynamicContent())}get _element(){return i(this)}};k.style="ez-form{display:flex;flex-direction:column;width:100%}";export{k as ez_form}