@sankhyalabs/ezui 7.1.0-dev.2 → 7.1.0-dev.4

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 (29) hide show
  1. package/dist/cjs/ez-combo-box-list_4.cjs.entry.js +1 -1
  2. package/dist/cjs/ez-form.cjs.entry.js +13 -3
  3. package/dist/cjs/ez-grid.cjs.entry.js +3 -3
  4. package/dist/cjs/ez-popup.cjs.entry.js +1 -1
  5. package/dist/cjs/{purify-47a2f27b.js → purify-453a8028.js} +35 -12
  6. package/dist/cjs/{search-column-9aa090ec.js → search-column-8bfee733.js} +1 -1
  7. package/dist/collection/components/ez-grid/controller/ag-grid/AgGridController.js +1 -1
  8. package/dist/collection/components/ez-popup/ez-popup.css +4 -1
  9. package/dist/collection/utils/form/DataBinder.js +1 -1
  10. package/dist/collection/utils/form/FormMetadata.js +12 -2
  11. package/dist/custom-elements/index.js +50 -17
  12. package/dist/esm/ez-combo-box-list_4.entry.js +1 -1
  13. package/dist/esm/ez-form.entry.js +13 -3
  14. package/dist/esm/ez-grid.entry.js +3 -3
  15. package/dist/esm/ez-popup.entry.js +1 -1
  16. package/dist/esm/{purify-dc6814bf.js → purify-003c47e2.js} +35 -12
  17. package/dist/esm/{search-column-83562552.js → search-column-c00119ae.js} +1 -1
  18. package/dist/ezui/ezui.esm.js +1 -1
  19. package/dist/ezui/{p-2df50161.entry.js → p-4c99a015.entry.js} +1 -1
  20. package/dist/ezui/p-4f0632b4.js +1 -0
  21. package/dist/ezui/{p-d66bf34e.entry.js → p-8c57ffa4.entry.js} +2 -2
  22. package/dist/ezui/p-bb409cba.js +3 -0
  23. package/dist/ezui/{p-f958dcb1.entry.js → p-c82acfc6.entry.js} +1 -1
  24. package/dist/ezui/{p-c943f7c4.entry.js → p-e03b2f19.entry.js} +1 -1
  25. package/dist/types/utils/form/interfaces/IFormSheetMetadata.d.ts +1 -0
  26. package/dist/types/utils/form/interfaces/ITabConfig.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/dist/ezui/p-228a4d2f.js +0 -3
  29. package/dist/ezui/p-623161e2.js +0 -1
@@ -7,7 +7,7 @@ const core = require('@sankhyalabs/core');
7
7
  const index$1 = require('./index-00d0166b.js');
8
8
  const FormLayout = require('./FormLayout-18853e70.js');
9
9
  const RichToolbarHelper = require('./RichToolbarHelper-ea12328f.js');
10
- const purify = require('./purify-47a2f27b.js');
10
+ const purify = require('./purify-453a8028.js');
11
11
  const ApplicationUtils = require('./ApplicationUtils-d04f5c94.js');
12
12
  require('./DialogType-2114c337.js');
13
13
  require('./CheckMode-ecb90b87.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index$1 = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
- const searchColumn = require('./search-column-9aa090ec.js');
7
+ const searchColumn = require('./search-column-8bfee733.js');
8
8
  const index = require('./index-00d0166b.js');
9
9
  const FormLayout = require('./FormLayout-18853e70.js');
10
10
  require('./ApplicationUtils-d04f5c94.js');
@@ -101,14 +101,23 @@ function handleDetailTabs(dataUnit, config, sheets) {
101
101
  function handleCustomTabs(customGuides, config, sheets) {
102
102
  customGuides.forEach((guide) => {
103
103
  const tabConfig = getTabFromConfig(guide.label, config);
104
+ const ctxProps = {};
105
+ Object.entries(guide).forEach(([key, value]) => {
106
+ if (!isReservedKey(key)) {
107
+ ctxProps[key] = value;
108
+ }
109
+ });
104
110
  if (tabConfig) {
105
- sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true }), []);
111
+ sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true, ctxProps }), []);
106
112
  return;
107
113
  }
108
- const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true };
114
+ const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true, ctxProps };
109
115
  sheets.set(sheet, []);
110
116
  });
111
117
  }
118
+ function isReservedKey(key) {
119
+ return ['id', 'label'].includes(key);
120
+ }
112
121
  function parseTabToFormSheet(key, fields) {
113
122
  const i18n = index.getI18n();
114
123
  return {
@@ -116,6 +125,7 @@ function parseTabToFormSheet(key, fields) {
116
125
  name: key.name || key.label,
117
126
  isCustom: key.isCustom,
118
127
  isDetail: key.isDetail,
128
+ ctxProps: key.ctxProps,
119
129
  fields
120
130
  };
121
131
  }
@@ -10,10 +10,10 @@ require('./DialogType-2114c337.js');
10
10
  require('./CheckMode-ecb90b87.js');
11
11
  const index = require('./index-00d0166b.js');
12
12
  const FormLayout = require('./FormLayout-18853e70.js');
13
- const searchColumn = require('./search-column-9aa090ec.js');
13
+ const searchColumn = require('./search-column-8bfee733.js');
14
14
  const constants = require('./constants-72b7e05e.js');
15
15
  const FocusResolver = require('./FocusResolver-885f2173.js');
16
- const purify = require('./purify-47a2f27b.js');
16
+ const purify = require('./purify-453a8028.js');
17
17
  require('./_commonjsHelpers-537d719a.js');
18
18
 
19
19
  /**
@@ -65578,7 +65578,7 @@ class AgGridController {
65578
65578
  const colDefsWithConfigs = this.getColsDefWithConfigApplied(colDefs, this._lastColsConfig);
65579
65579
  this._gridOptions.api.setColumnDefs(colDefsWithConfigs);
65580
65580
  }
65581
- getColsDefWithConfigApplied(colDefs, colsConfig) {
65581
+ getColsDefWithConfigApplied(colDefs, colsConfig = []) {
65582
65582
  //Cria map de colunas existentes na config e seu índice
65583
65583
  const orderMap = colsConfig.reduce((map, col, index) => {
65584
65584
  map[col.name] = index;
@@ -6,7 +6,7 @@ const index = require('./index-a7b0c73d.js');
6
6
  const core = require('@sankhyalabs/core');
7
7
  const index$1 = require('./index-00d0166b.js');
8
8
 
9
- const ezPopupCss = ":host{display:flex;width:auto;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--24, 24px);--ez-popup__title--font-family:var(--font--pattern, \"Roboto\");--ez-popup__title--font-size:var(--font-size--xxlarge, 22px);--ez-popup__title--color:var(--title--primary, #00281D);--ez-popup__title--font-weight:var(--font-weight--regular, 400)}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding);margin:0;border:none;position:unset;gap:var(--space--16, 16px)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{box-sizing:border-box;width:100%;flex:1;font-family:var(--font--pattern, \"Roboto\");font-size:var(--font-size--default, 14px);color:var(--title--primary, #00281D);font-weight:var(--font-weight--regular, 400);line-height:var(--line-height--24, 24px)}.popup__header{width:100%;display:flex;align-items:center}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:var(--line-height--32, 32px)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close--solo{width:100%}.popup__footer{display:flex;width:100%;flex-direction:row-reverse;gap:var(--space--8, 8px)}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
9
+ const ezPopupCss = ":host{display:flex;width:auto;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--24, 24px);--ez-popup__title--font-family:var(--font--pattern, \"Roboto\");--ez-popup__title--font-size:var(--font-size--xxlarge, 22px);--ez-popup__title--color:var(--title--primary, #00281D);--ez-popup__title--font-weight:var(--font-weight--regular, 400)}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding);margin:0;border:none;position:unset;gap:var(--space--16, 16px)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{overflow-y:auto;flex-grow:1;box-sizing:border-box;width:100%;font-family:var(--font--pattern, \"Roboto\");font-size:var(--font-size--default, 14px);color:var(--title--primary, #00281D);font-weight:var(--font-weight--regular, 400);line-height:var(--line-height--24, 24px)}.popup__header{flex-shrink:0;width:100%;display:flex;align-items:center}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:var(--line-height--32, 32px)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close--solo{width:100%}.popup__footer{flex-shrink:0;display:flex;width:100%;flex-direction:row-reverse;gap:var(--space--8, 8px)}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
10
10
 
11
11
  const EzPopup = class {
12
12
  constructor(hostRef) {
@@ -3,7 +3,7 @@
3
3
  const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
4
4
 
5
5
  var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
6
- /*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */
6
+ /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
7
7
 
8
8
  (function (global, factory) {
9
9
  module.exports = factory() ;
@@ -192,7 +192,7 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
192
192
  }
193
193
 
194
194
  const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
195
- const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'slot', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
195
+ const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
196
196
  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
197
197
  // List of SVG elements that are disallowed by default.
198
198
  // We still need to know them so that we can do namespace
@@ -206,7 +206,7 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
206
206
  const text = freeze(['#text']);
207
207
 
208
208
  const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
209
- const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
209
+ const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
210
210
  const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
211
211
  const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
212
212
 
@@ -313,7 +313,7 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
313
313
  function createDOMPurify() {
314
314
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
315
315
  const DOMPurify = root => createDOMPurify(root);
316
- DOMPurify.version = '3.2.7';
316
+ DOMPurify.version = '3.3.0';
317
317
  DOMPurify.removed = [];
318
318
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
319
319
  // Not running in a browser, provide a factory function
@@ -424,6 +424,21 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
424
424
  let FORBID_TAGS = null;
425
425
  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
426
426
  let FORBID_ATTR = null;
427
+ /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
428
+ const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
429
+ tagCheck: {
430
+ writable: true,
431
+ configurable: false,
432
+ enumerable: true,
433
+ value: null
434
+ },
435
+ attributeCheck: {
436
+ writable: true,
437
+ configurable: false,
438
+ enumerable: true,
439
+ value: null
440
+ }
441
+ }));
427
442
  /* Decide if ARIA attributes are okay */
428
443
  let ALLOW_ARIA_ATTR = true;
429
444
  /* Decide if custom data attributes are okay */
@@ -616,16 +631,24 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
616
631
  }
617
632
  /* Merge configuration parameters */
618
633
  if (cfg.ADD_TAGS) {
619
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
620
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
634
+ if (typeof cfg.ADD_TAGS === 'function') {
635
+ EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
636
+ } else {
637
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
638
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
639
+ }
640
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
621
641
  }
622
- addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
623
642
  }
624
643
  if (cfg.ADD_ATTR) {
625
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
626
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
644
+ if (typeof cfg.ADD_ATTR === 'function') {
645
+ EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
646
+ } else {
647
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
648
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
649
+ }
650
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
627
651
  }
628
- addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
629
652
  }
630
653
  if (cfg.ADD_URI_SAFE_ATTR) {
631
654
  addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
@@ -933,7 +956,7 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
933
956
  return true;
934
957
  }
935
958
  /* Remove element if anything forbids its presence */
936
- if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
959
+ if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
937
960
  /* Check if we have a custom element to handle */
938
961
  if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
939
962
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
@@ -1005,7 +1028,7 @@ var purify = _commonjsHelpers.createCommonjsModule(function (module, exports) {
1005
1028
  (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
1006
1029
  XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
1007
1030
  We don't need to check the value; it's always URI safe. */
1008
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1031
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1009
1032
  if (
1010
1033
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1011
1034
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
@@ -232,7 +232,7 @@ class DataBinder {
232
232
  clearFieldError(fieldName) {
233
233
  var _a;
234
234
  const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
235
- if (field["errorMessage"]) {
235
+ if (field && field["errorMessage"]) {
236
236
  field["errorMessage"] = "";
237
237
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
238
238
  }
@@ -763,7 +763,7 @@ export default class AgGridController {
763
763
  const colDefsWithConfigs = this.getColsDefWithConfigApplied(colDefs, this._lastColsConfig);
764
764
  this._gridOptions.api.setColumnDefs(colDefsWithConfigs);
765
765
  }
766
- getColsDefWithConfigApplied(colDefs, colsConfig) {
766
+ getColsDefWithConfigApplied(colDefs, colsConfig = []) {
767
767
  //Cria map de colunas existentes na config e seu índice
768
768
  const orderMap = colsConfig.reduce((map, col, index) => {
769
769
  map[col.name] = index;
@@ -72,9 +72,10 @@
72
72
  }
73
73
 
74
74
  .popup__expandable-content {
75
+ overflow-y: auto;
76
+ flex-grow: 1;
75
77
  box-sizing: border-box;
76
78
  width: 100%;
77
- flex: 1;
78
79
  font-family: var(--font--pattern, "Roboto");
79
80
  font-size: var(--font-size--default, 14px);
80
81
  color: var(--title--primary, #00281D);
@@ -83,6 +84,7 @@
83
84
  }
84
85
 
85
86
  .popup__header {
87
+ flex-shrink: 0;
86
88
  width: 100%;
87
89
  display: flex;
88
90
  align-items: center;
@@ -115,6 +117,7 @@
115
117
  }
116
118
 
117
119
  .popup__footer {
120
+ flex-shrink: 0;
118
121
  display: flex;
119
122
  width: 100%;
120
123
  flex-direction: row-reverse;
@@ -120,7 +120,7 @@ export default class DataBinder {
120
120
  clearFieldError(fieldName) {
121
121
  var _a;
122
122
  const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
123
- if (field["errorMessage"]) {
123
+ if (field && field["errorMessage"]) {
124
124
  field["errorMessage"] = "";
125
125
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
126
126
  }
@@ -91,14 +91,23 @@ function handleDetailTabs(dataUnit, config, sheets) {
91
91
  function handleCustomTabs(customGuides, config, sheets) {
92
92
  customGuides.forEach((guide) => {
93
93
  const tabConfig = getTabFromConfig(guide.label, config);
94
+ const ctxProps = {};
95
+ Object.entries(guide).forEach(([key, value]) => {
96
+ if (!isReservedKey(key)) {
97
+ ctxProps[key] = value;
98
+ }
99
+ });
94
100
  if (tabConfig) {
95
- sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true }), []);
101
+ sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true, ctxProps }), []);
96
102
  return;
97
103
  }
98
- const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true };
104
+ const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true, ctxProps };
99
105
  sheets.set(sheet, []);
100
106
  });
101
107
  }
108
+ function isReservedKey(key) {
109
+ return ['id', 'label'].includes(key);
110
+ }
102
111
  function parseTabToFormSheet(key, fields) {
103
112
  const i18n = getI18n();
104
113
  return {
@@ -106,6 +115,7 @@ function parseTabToFormSheet(key, fields) {
106
115
  name: key.name || key.label,
107
116
  isCustom: key.isCustom,
108
117
  isDetail: key.isDetail,
118
+ ctxProps: key.ctxProps,
109
119
  fields
110
120
  };
111
121
  }
@@ -4168,14 +4168,23 @@ function handleDetailTabs(dataUnit, config, sheets) {
4168
4168
  function handleCustomTabs(customGuides, config, sheets) {
4169
4169
  customGuides.forEach((guide) => {
4170
4170
  const tabConfig = getTabFromConfig(guide.label, config);
4171
+ const ctxProps = {};
4172
+ Object.entries(guide).forEach(([key, value]) => {
4173
+ if (!isReservedKey(key)) {
4174
+ ctxProps[key] = value;
4175
+ }
4176
+ });
4171
4177
  if (tabConfig) {
4172
- sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true }), []);
4178
+ sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true, ctxProps }), []);
4173
4179
  return;
4174
4180
  }
4175
- const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true };
4181
+ const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true, ctxProps };
4176
4182
  sheets.set(sheet, []);
4177
4183
  });
4178
4184
  }
4185
+ function isReservedKey(key) {
4186
+ return ['id', 'label'].includes(key);
4187
+ }
4179
4188
  function parseTabToFormSheet(key, fields) {
4180
4189
  const i18n = getI18n();
4181
4190
  return {
@@ -4183,6 +4192,7 @@ function parseTabToFormSheet(key, fields) {
4183
4192
  name: key.name || key.label,
4184
4193
  isCustom: key.isCustom,
4185
4194
  isDetail: key.isDetail,
4195
+ ctxProps: key.ctxProps,
4186
4196
  fields
4187
4197
  };
4188
4198
  }
@@ -4522,7 +4532,7 @@ class DataBinder {
4522
4532
  clearFieldError(fieldName) {
4523
4533
  var _a;
4524
4534
  const field = (_a = this._fields.get(fieldName)) === null || _a === void 0 ? void 0 : _a.field;
4525
- if (field["errorMessage"]) {
4535
+ if (field && field["errorMessage"]) {
4526
4536
  field["errorMessage"] = "";
4527
4537
  this._dataUnit.clearInvalid(this.getCurrentRecordId(), fieldName);
4528
4538
  }
@@ -75872,7 +75882,7 @@ var MenuModule = {
75872
75882
  };
75873
75883
 
75874
75884
  var purify = createCommonjsModule(function (module, exports) {
75875
- /*! @license DOMPurify 3.2.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.7/LICENSE */
75885
+ /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
75876
75886
 
75877
75887
  (function (global, factory) {
75878
75888
  module.exports = factory() ;
@@ -76061,7 +76071,7 @@ var purify = createCommonjsModule(function (module, exports) {
76061
76071
  }
76062
76072
 
76063
76073
  const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
76064
- const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'slot', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
76074
+ const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
76065
76075
  const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
76066
76076
  // List of SVG elements that are disallowed by default.
76067
76077
  // We still need to know them so that we can do namespace
@@ -76075,7 +76085,7 @@ var purify = createCommonjsModule(function (module, exports) {
76075
76085
  const text = freeze(['#text']);
76076
76086
 
76077
76087
  const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
76078
- const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
76088
+ const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
76079
76089
  const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
76080
76090
  const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
76081
76091
 
@@ -76182,7 +76192,7 @@ var purify = createCommonjsModule(function (module, exports) {
76182
76192
  function createDOMPurify() {
76183
76193
  let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
76184
76194
  const DOMPurify = root => createDOMPurify(root);
76185
- DOMPurify.version = '3.2.7';
76195
+ DOMPurify.version = '3.3.0';
76186
76196
  DOMPurify.removed = [];
76187
76197
  if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
76188
76198
  // Not running in a browser, provide a factory function
@@ -76293,6 +76303,21 @@ var purify = createCommonjsModule(function (module, exports) {
76293
76303
  let FORBID_TAGS = null;
76294
76304
  /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
76295
76305
  let FORBID_ATTR = null;
76306
+ /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
76307
+ const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
76308
+ tagCheck: {
76309
+ writable: true,
76310
+ configurable: false,
76311
+ enumerable: true,
76312
+ value: null
76313
+ },
76314
+ attributeCheck: {
76315
+ writable: true,
76316
+ configurable: false,
76317
+ enumerable: true,
76318
+ value: null
76319
+ }
76320
+ }));
76296
76321
  /* Decide if ARIA attributes are okay */
76297
76322
  let ALLOW_ARIA_ATTR = true;
76298
76323
  /* Decide if custom data attributes are okay */
@@ -76485,16 +76510,24 @@ var purify = createCommonjsModule(function (module, exports) {
76485
76510
  }
76486
76511
  /* Merge configuration parameters */
76487
76512
  if (cfg.ADD_TAGS) {
76488
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
76489
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
76513
+ if (typeof cfg.ADD_TAGS === 'function') {
76514
+ EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
76515
+ } else {
76516
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
76517
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
76518
+ }
76519
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
76490
76520
  }
76491
- addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
76492
76521
  }
76493
76522
  if (cfg.ADD_ATTR) {
76494
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
76495
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
76523
+ if (typeof cfg.ADD_ATTR === 'function') {
76524
+ EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
76525
+ } else {
76526
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
76527
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
76528
+ }
76529
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
76496
76530
  }
76497
- addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
76498
76531
  }
76499
76532
  if (cfg.ADD_URI_SAFE_ATTR) {
76500
76533
  addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
@@ -76802,7 +76835,7 @@ var purify = createCommonjsModule(function (module, exports) {
76802
76835
  return true;
76803
76836
  }
76804
76837
  /* Remove element if anything forbids its presence */
76805
- if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
76838
+ if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
76806
76839
  /* Check if we have a custom element to handle */
76807
76840
  if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
76808
76841
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
@@ -76874,7 +76907,7 @@ var purify = createCommonjsModule(function (module, exports) {
76874
76907
  (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
76875
76908
  XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
76876
76909
  We don't need to check the value; it's always URI safe. */
76877
- if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
76910
+ if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
76878
76911
  if (
76879
76912
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
76880
76913
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
@@ -78070,7 +78103,7 @@ class AgGridController {
78070
78103
  const colDefsWithConfigs = this.getColsDefWithConfigApplied(colDefs, this._lastColsConfig);
78071
78104
  this._gridOptions.api.setColumnDefs(colDefsWithConfigs);
78072
78105
  }
78073
- getColsDefWithConfigApplied(colDefs, colsConfig) {
78106
+ getColsDefWithConfigApplied(colDefs, colsConfig = []) {
78074
78107
  //Cria map de colunas existentes na config e seu índice
78075
78108
  const orderMap = colsConfig.reduce((map, col, index) => {
78076
78109
  map[col.name] = index;
@@ -83276,7 +83309,7 @@ const EzPopoverPlus$1 = class extends HTMLElement$1 {
83276
83309
  static get style() { return ezPopoverPlusCss; }
83277
83310
  };
83278
83311
 
83279
- const ezPopupCss = ":host{display:flex;width:auto;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--24, 24px);--ez-popup__title--font-family:var(--font--pattern, \"Roboto\");--ez-popup__title--font-size:var(--font-size--xxlarge, 22px);--ez-popup__title--color:var(--title--primary, #00281D);--ez-popup__title--font-weight:var(--font-weight--regular, 400)}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding);margin:0;border:none;position:unset;gap:var(--space--16, 16px)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{box-sizing:border-box;width:100%;flex:1;font-family:var(--font--pattern, \"Roboto\");font-size:var(--font-size--default, 14px);color:var(--title--primary, #00281D);font-weight:var(--font-weight--regular, 400);line-height:var(--line-height--24, 24px)}.popup__header{width:100%;display:flex;align-items:center}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:var(--line-height--32, 32px)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close--solo{width:100%}.popup__footer{display:flex;width:100%;flex-direction:row-reverse;gap:var(--space--8, 8px)}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
83312
+ const ezPopupCss = ":host{display:flex;width:auto;--ez-popup-z-index:var(--elevation--24, 24);--ez-popup__container--color:var(--title--primary, #2b3a54);--ez-popup__container--padding:var(--space--24, 24px);--ez-popup__title--font-family:var(--font--pattern, \"Roboto\");--ez-popup__title--font-size:var(--font-size--xxlarge, 22px);--ez-popup__title--color:var(--title--primary, #00281D);--ez-popup__title--font-weight:var(--font-weight--regular, 400)}.overlay{position:fixed;display:flex;top:0px;z-index:var(--ez-popup-z-index, 24);left:0px;width:100%;align-items:center;justify-content:center;box-sizing:border-box;height:100vh;backdrop-filter:blur(4px);background:rgba(0, 4, 12, 0.4)}.popup__container{width:100%;max-height:90%;height:100%;display:flex;flex-direction:column;overflow:hidden;outline:none;background:#FFFF;color:var(--ez-popup__container--color);border-radius:12px;box-shadow:0px 0px 16px rgba(0, 38, 111, 0.122);box-sizing:border-box;padding:var(--ez-popup__container--padding);margin:0;border:none;position:unset;gap:var(--space--16, 16px)}.popup__container--auto{height:auto}.popup__overflow-y--auto{overflow-y:auto}.popup__content{box-sizing:border-box;height:100%;width:100%}.popup__expandable-content{overflow-y:auto;flex-grow:1;box-sizing:border-box;width:100%;font-family:var(--font--pattern, \"Roboto\");font-size:var(--font-size--default, 14px);color:var(--title--primary, #00281D);font-weight:var(--font-weight--regular, 400);line-height:var(--line-height--24, 24px)}.popup__header{flex-shrink:0;width:100%;display:flex;align-items:center}.popup__title{display:flex;margin:0;width:100%;font-family:var(--ez-popup__title--font-family);font-size:var(--ez-popup__title--font-size);font-weight:var(--ez-popup__title--font-weight);color:var(--ez-popup__title--color);line-height:var(--line-height--32, 32px)}.btn-close{justify-content:flex-end;align-self:flex-start;align-items:flex-start;display:flex;outline:none;border:none;background-color:unset;cursor:pointer}.btn-close--solo{width:100%}.popup__footer{flex-shrink:0;display:flex;width:100%;flex-direction:row-reverse;gap:var(--space--8, 8px)}.row{width:100%;display:flex;flex-wrap:wrap}.col{display:flex;flex-wrap:wrap;align-self:flex-start;box-sizing:border-box}.col--stretch{align-self:stretch}.col--undefined{width:unset}.col--nowrap{flex-wrap:nowrap}.ez-popup__size-limit--x-small{min-width:350px;max-width:560px}@media screen and (min-width: 320px){.col--sd-1{width:8.33333%}.col--sd-2{width:16.66667%}.col--sd-3{width:25%}.col--sd-4{width:33.33333%}.col--sd-5{width:41.66667%}.col--sd-6{width:50%}.col--sd-7{width:58.33333%}.col--sd-8{width:66.66667%}.col--sd-9{width:75%}.col--sd-10{width:83.33333%}.col--sd-11{width:91.66667%}.col--sd-12{width:100%}}@media screen and (min-width: 480px){.col--pn-1{width:8.33333%}.col--pn-2{width:16.66667%}.col--pn-3{width:25%}.col--pn-4{width:33.33333%}.col--pn-5{width:41.66667%}.col--pn-6{width:50%}.col--pn-7{width:58.33333%}.col--pn-8{width:66.66667%}.col--pn-9{width:75%}.col--pn-10{width:83.33333%}.col--pn-11{width:91.66667%}.col--pn-12{width:100%}}@media screen and (min-width: 768px){.col--tb-1{width:8.33333%}.col--tb-2{width:16.66667%}.col--tb-3{width:25%}.col--tb-4{width:33.33333%}.col--tb-5{width:41.66667%}.col--tb-6{width:50%}.col--tb-7{width:58.33333%}.col--tb-8{width:66.66667%}.col--tb-9{width:75%}.col--tb-10{width:83.33333%}.col--tb-11{width:91.66667%}.col--tb-12{width:100%}}@media screen and (min-width: 992px){.col--md-1{width:8.33333%}.col--md-2{width:16.66667%}.col--md-3{width:25%}.col--md-4{width:33.33333%}.col--md-5{width:41.66667%}.col--md-6{width:50%}.col--md-7{width:58.33333%}.col--md-8{width:66.66667%}.col--md-9{width:75%}.col--md-10{width:83.33333%}.col--md-11{width:91.66667%}.col--md-12{width:100%}}@media screen and (min-width: 1200px){.col--ld-1{width:8.33333%}.col--ld-2{width:16.66667%}.col--ld-3{width:25%}.col--ld-4{width:33.33333%}.col--ld-5{width:41.66667%}.col--ld-6{width:50%}.col--ld-7{width:58.33333%}.col--ld-8{width:66.66667%}.col--ld-9{width:75%}.col--ld-10{width:83.33333%}.col--ld-11{width:91.66667%}.col--ld-12{width:100%}}";
83280
83313
 
83281
83314
  const EzPopup$1 = class extends HTMLElement$1 {
83282
83315
  constructor() {
@@ -3,7 +3,7 @@ import { ElementIDUtils, ObjectUtils, HTMLBuilder, StringUtils, KeyboardManager
3
3
  import { i as initI18n } from './index-62fc771e.js';
4
4
  import { C as CustomEditorSource } from './FormLayout-071d324c.js';
5
5
  import { R as RICH_TOOLBAR_FORMAT_TAGS, a as RICH_TOOLBAR_COMMANDS } from './RichToolbarHelper-f3a149c4.js';
6
- import { p as purify } from './purify-dc6814bf.js';
6
+ import { p as purify } from './purify-003c47e2.js';
7
7
  import { A as ApplicationUtils } from './ApplicationUtils-12768f5a.js';
8
8
  import './DialogType-54a62731.js';
9
9
  import './CheckMode-bdb2ec19.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, f as forceUpdate, H as Host, g as getElement } from './index-baa5e267.js';
2
2
  import { DateUtils, ApplicationContext, Action, StringUtils, KeyboardManager, DataUnit, ElementIDUtils } from '@sankhyalabs/core';
3
- import { b as buildFieldMetadata, a as buildFieldSearch, S as SHORTCUT_SEARCH_FIELD, f as focusOnFieldSerch, c as SEARCH_FIELD_FULL_WIDTH, D as DataBinder } from './search-column-83562552.js';
3
+ import { b as buildFieldMetadata, a as buildFieldSearch, S as SHORTCUT_SEARCH_FIELD, f as focusOnFieldSerch, c as SEARCH_FIELD_FULL_WIDTH, D as DataBinder } from './search-column-c00119ae.js';
4
4
  import { g as getI18n, i as initI18n } from './index-62fc771e.js';
5
5
  import { F as FormLayout } from './FormLayout-071d324c.js';
6
6
  import './ApplicationUtils-12768f5a.js';
@@ -97,14 +97,23 @@ function handleDetailTabs(dataUnit, config, sheets) {
97
97
  function handleCustomTabs(customGuides, config, sheets) {
98
98
  customGuides.forEach((guide) => {
99
99
  const tabConfig = getTabFromConfig(guide.label, config);
100
+ const ctxProps = {};
101
+ Object.entries(guide).forEach(([key, value]) => {
102
+ if (!isReservedKey(key)) {
103
+ ctxProps[key] = value;
104
+ }
105
+ });
100
106
  if (tabConfig) {
101
- sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true }), []);
107
+ sheets.set(Object.assign(tabConfig, { name: guide.id, isCustom: true, ctxProps }), []);
102
108
  return;
103
109
  }
104
- const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true };
110
+ const sheet = { label: guide.label, name: guide.id, isCustom: true, visible: true, ctxProps };
105
111
  sheets.set(sheet, []);
106
112
  });
107
113
  }
114
+ function isReservedKey(key) {
115
+ return ['id', 'label'].includes(key);
116
+ }
108
117
  function parseTabToFormSheet(key, fields) {
109
118
  const i18n = getI18n();
110
119
  return {
@@ -112,6 +121,7 @@ function parseTabToFormSheet(key, fields) {
112
121
  name: key.name || key.label,
113
122
  isCustom: key.isCustom,
114
123
  isDetail: key.isDetail,
124
+ ctxProps: key.ctxProps,
115
125
  fields
116
126
  };
117
127
  }
@@ -6,10 +6,10 @@ import './DialogType-54a62731.js';
6
6
  import './CheckMode-bdb2ec19.js';
7
7
  import { g as getI18n, i as initI18n } from './index-62fc771e.js';
8
8
  import { C as CustomEditorSource, a as CustomRenderSource } from './FormLayout-071d324c.js';
9
- import { b as buildFieldMetadata, R as RecordValidationProcessor, D as DataBinder, S as SHORTCUT_SEARCH_FIELD, f as focusOnFieldSerch, c as SEARCH_FIELD_FULL_WIDTH, a as buildFieldSearch } from './search-column-83562552.js';
9
+ import { b as buildFieldMetadata, R as RecordValidationProcessor, D as DataBinder, S as SHORTCUT_SEARCH_FIELD, f as focusOnFieldSerch, c as SEARCH_FIELD_FULL_WIDTH, a as buildFieldSearch } from './search-column-c00119ae.js';
10
10
  import { D as DISTINCT_FILTER_NAME_PREFIX, E as EZ_GRID_LOADING_SOURCE, P as PRESENTATION_COL_ID_PROP_NAME, a as PRESENTATION_FROM_COL_PROP_NAME } from './constants-3fabe81e.js';
11
11
  import { F as FocusResolver } from './FocusResolver-1ccbf850.js';
12
- import { p as purify } from './purify-dc6814bf.js';
12
+ import { p as purify } from './purify-003c47e2.js';
13
13
  import './_commonjsHelpers-9943807e.js';
14
14
 
15
15
  /**
@@ -65574,7 +65574,7 @@ class AgGridController {
65574
65574
  const colDefsWithConfigs = this.getColsDefWithConfigApplied(colDefs, this._lastColsConfig);
65575
65575
  this._gridOptions.api.setColumnDefs(colDefsWithConfigs);
65576
65576
  }
65577
- getColsDefWithConfigApplied(colDefs, colsConfig) {
65577
+ getColsDefWithConfigApplied(colDefs, colsConfig = []) {
65578
65578
  //Cria map de colunas existentes na config e seu índice
65579
65579
  const orderMap = colsConfig.reduce((map, col, index) => {
65580
65580
  map[col.name] = index;