@revolist/revogrid 3.2.0 → 3.2.6

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 (179) hide show
  1. package/custom-element/index.js +5 -2
  2. package/custom-element/resize-observer.js +25 -11
  3. package/dist/cjs/css-shim-9f5bc84d.js +9 -0
  4. package/dist/cjs/{debounce-e9b040d9.js → debounce-6cea2774.js} +4 -1
  5. package/dist/cjs/{dom-c8b6d1a7.js → dom-fcb646f0.js} +4 -1
  6. package/dist/cjs/{index-d3f67f2e.js → index-cb904e00.js} +214 -91
  7. package/dist/cjs/index.cjs.js +3 -0
  8. package/dist/cjs/loader.cjs.js +6 -3
  9. package/dist/cjs/{resize-observer-8dc80084.js → resize-observer-bf327d6a.js} +25 -10
  10. package/dist/cjs/revo-grid.cjs.js +12 -6
  11. package/dist/cjs/revo-grid_11.cjs.entry.js +7 -4
  12. package/dist/cjs/revogr-clipboard.cjs.entry.js +4 -1
  13. package/dist/cjs/revogr-filter-panel.cjs.entry.js +5 -2
  14. package/dist/collection/collection-manifest.json +2 -2
  15. package/dist/collection/components/button/button.js +3 -0
  16. package/dist/collection/components/clipboard/revogr-clipboard.js +3 -0
  17. package/dist/collection/components/data/cellRenderer.js +3 -0
  18. package/dist/collection/components/data/columnService.js +3 -0
  19. package/dist/collection/components/data/revogr-data.js +3 -0
  20. package/dist/collection/components/data/rowRenderer.js +3 -0
  21. package/dist/collection/components/header/headerCellRenderer.js +3 -0
  22. package/dist/collection/components/header/headerRenderer.js +3 -0
  23. package/dist/collection/components/header/revogr-header.js +3 -0
  24. package/dist/collection/components/order/orderRenderer.js +3 -0
  25. package/dist/collection/components/order/revogr-order-editor.js +3 -0
  26. package/dist/collection/components/order/rowOrderService.js +3 -0
  27. package/dist/collection/components/overlay/autofill.service.js +3 -0
  28. package/dist/collection/components/overlay/clipboard.service.js +3 -0
  29. package/dist/collection/components/overlay/editors/edit.utils.js +3 -0
  30. package/dist/collection/components/overlay/editors/text.js +3 -0
  31. package/dist/collection/components/overlay/keyboard.service.js +3 -0
  32. package/dist/collection/components/overlay/revogr-edit.js +3 -0
  33. package/dist/collection/components/overlay/revogr-overlay-selection.js +3 -0
  34. package/dist/collection/components/overlay/selection.utils.js +3 -0
  35. package/dist/collection/components/revo-grid/revo-grid.js +17 -14
  36. package/dist/collection/components/revo-grid/viewport.helpers.js +3 -0
  37. package/dist/collection/components/revo-grid/viewport.interfaces.js +3 -0
  38. package/dist/collection/components/revo-grid/viewport.js +3 -0
  39. package/dist/collection/components/revo-grid/viewport.resize.service.js +3 -0
  40. package/dist/collection/components/revo-grid/viewport.scrolling.service.js +3 -0
  41. package/dist/collection/components/revo-grid/viewport.section.js +3 -0
  42. package/dist/collection/components/revo-grid/viewport.service.js +3 -0
  43. package/dist/collection/components/rowHeaders/revogr-row-headers.js +3 -0
  44. package/dist/collection/components/rowHeaders/row-header-render.js +3 -0
  45. package/dist/collection/components/scroll/revogr-viewport-scroll.js +5 -2
  46. package/dist/collection/components/scrollable/revogr-scroll-virtual.js +3 -0
  47. package/dist/collection/components/selection-focus/revogr-focus.js +3 -0
  48. package/dist/collection/components/selection-temp-range/revogr-temp-range.js +3 -0
  49. package/dist/collection/global/global.js +3 -0
  50. package/dist/collection/index.js +3 -0
  51. package/dist/collection/plugins/autoSizeColumn.js +4 -1
  52. package/dist/collection/plugins/basePlugin.js +3 -0
  53. package/dist/collection/plugins/dispatcher.js +3 -0
  54. package/dist/collection/plugins/export/csv.js +3 -0
  55. package/dist/collection/plugins/export/export.plugin.js +3 -0
  56. package/dist/collection/plugins/export/types.js +3 -0
  57. package/dist/collection/plugins/filter/conditions/equal.js +3 -0
  58. package/dist/collection/plugins/filter/conditions/number/greaterThan.js +3 -0
  59. package/dist/collection/plugins/filter/conditions/number/greaterThanOrEqual.js +3 -0
  60. package/dist/collection/plugins/filter/conditions/number/lessThan.js +3 -0
  61. package/dist/collection/plugins/filter/conditions/number/lessThanOrEqual.js +3 -0
  62. package/dist/collection/plugins/filter/conditions/set.js +3 -0
  63. package/dist/collection/plugins/filter/conditions/string/beginswith.js +3 -0
  64. package/dist/collection/plugins/filter/conditions/string/contains.js +3 -0
  65. package/dist/collection/plugins/filter/filter.button.js +3 -0
  66. package/dist/collection/plugins/filter/filter.plugin.js +3 -0
  67. package/dist/collection/plugins/filter/filter.pop.js +3 -0
  68. package/dist/collection/plugins/filter/filter.service.js +3 -0
  69. package/dist/collection/plugins/filter/filter.types.js +3 -0
  70. package/dist/collection/plugins/groupingColumn/columnGroupsRenderer.js +3 -0
  71. package/dist/collection/plugins/groupingColumn/grouping.col.plugin.js +3 -0
  72. package/dist/collection/plugins/groupingColumn/headerGroupRenderer.js +3 -0
  73. package/dist/collection/plugins/groupingRow/grouping.const.js +3 -0
  74. package/dist/collection/plugins/groupingRow/grouping.row.expand.service.js +3 -0
  75. package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +3 -0
  76. package/dist/collection/plugins/groupingRow/grouping.row.renderer.js +3 -0
  77. package/dist/collection/plugins/groupingRow/grouping.row.types.js +3 -0
  78. package/dist/collection/plugins/groupingRow/grouping.service.js +3 -0
  79. package/dist/collection/plugins/groupingRow/grouping.trimmed.service.js +3 -0
  80. package/dist/collection/plugins/moveColumn/columnDragPlugin.js +3 -0
  81. package/dist/collection/plugins/moveColumn/columnOrderHandler.js +3 -0
  82. package/dist/collection/plugins/sorting/sorting.plugin.js +3 -0
  83. package/dist/collection/plugins/sorting/sorting.sign.js +3 -0
  84. package/dist/collection/plugins/stretchPlugin.js +3 -0
  85. package/dist/collection/plugins/trimmed/trimmed.plugin.js +3 -0
  86. package/dist/collection/services/cell.helpers.js +3 -0
  87. package/dist/collection/services/column.data.provider.js +3 -0
  88. package/dist/collection/services/data.provider.js +3 -0
  89. package/dist/collection/services/dimension.provider.js +3 -0
  90. package/dist/collection/services/localScrollService.js +3 -0
  91. package/dist/collection/services/resizable.directive.js +3 -0
  92. package/dist/collection/services/selection.store.connector.js +3 -0
  93. package/dist/collection/services/viewport.provider.js +3 -0
  94. package/dist/collection/store/dataSource/data.proxy.js +3 -0
  95. package/dist/collection/store/dataSource/data.store.js +3 -0
  96. package/dist/collection/store/dimension/dimension.helpers.js +3 -0
  97. package/dist/collection/store/dimension/dimension.store.js +3 -0
  98. package/dist/collection/store/selection/selection.helpers.js +3 -0
  99. package/dist/collection/store/selection/selection.store.js +3 -0
  100. package/dist/collection/store/selection/selection.store.service.js +3 -0
  101. package/dist/collection/store/storeTypes.js +3 -0
  102. package/dist/collection/store/viewPort/viewport.helpers.js +3 -0
  103. package/dist/collection/store/viewPort/viewport.store.js +3 -0
  104. package/dist/collection/themeManager/theme.compact.js +3 -0
  105. package/dist/collection/themeManager/theme.default.js +3 -0
  106. package/dist/collection/themeManager/theme.material.js +3 -0
  107. package/dist/collection/themeManager/themeService.js +3 -0
  108. package/dist/collection/utils/closestPolifill.js +3 -0
  109. package/dist/collection/utils/consts.js +3 -0
  110. package/dist/collection/utils/generateAlphabetHeader.js +3 -0
  111. package/dist/collection/utils/keyCodes.js +3 -0
  112. package/dist/collection/utils/keyCodes.utils.js +3 -0
  113. package/dist/collection/utils/platform.js +3 -0
  114. package/dist/collection/utils/resizeObserver.js +3 -0
  115. package/dist/collection/utils/store.utils.js +3 -0
  116. package/dist/collection/utils/utils.js +3 -0
  117. package/dist/esm/css-shim-e1e1ea5e.js +7 -0
  118. package/dist/esm/{debounce-45985ae0.js → debounce-e4e6dd45.js} +4 -1
  119. package/dist/esm/{dom-1b195079.js → dom-21bd1807.js} +4 -1
  120. package/dist/esm/{index-42c84e7c.js → index-6f753b3c.js} +214 -91
  121. package/dist/esm/index.js +3 -1
  122. package/dist/esm/loader.js +6 -3
  123. package/dist/esm/polyfills/css-shim.js +1 -1
  124. package/dist/esm/{resize-observer-56b7b34f.js → resize-observer-00c48d78.js} +25 -11
  125. package/dist/esm/revo-grid.js +12 -6
  126. package/dist/esm/revo-grid_11.entry.js +7 -4
  127. package/dist/esm/revogr-clipboard.entry.js +4 -1
  128. package/dist/esm/revogr-filter-panel.entry.js +5 -2
  129. package/dist/esm-es5/css-shim-e1e1ea5e.js +4 -0
  130. package/dist/esm-es5/{debounce-45985ae0.js → debounce-e4e6dd45.js} +4 -1
  131. package/dist/esm-es5/{dom-1b195079.js → dom-21bd1807.js} +3 -0
  132. package/dist/esm-es5/index-6f753b3c.js +4 -0
  133. package/dist/esm-es5/index.js +3 -0
  134. package/dist/esm-es5/loader.js +4 -1
  135. package/dist/esm-es5/resize-observer-00c48d78.js +4 -0
  136. package/dist/esm-es5/revo-grid.js +4 -1
  137. package/dist/esm-es5/revo-grid_11.entry.js +4 -1
  138. package/dist/esm-es5/revogr-clipboard.entry.js +4 -1
  139. package/dist/esm-es5/revogr-filter-panel.entry.js +4 -1
  140. package/dist/revo-grid/css-shim-bcf89cc0.system.js +4 -0
  141. package/dist/revo-grid/css-shim-e1e1ea5e.js +4 -0
  142. package/dist/revo-grid/{debounce-a345f98e.system.js → debounce-5a33c710.system.js} +4 -1
  143. package/dist/revo-grid/{debounce-6c911037.js → debounce-726bdadb.js} +4 -1
  144. package/dist/revo-grid/{dom-1b195079.js → dom-21bd1807.js} +3 -0
  145. package/dist/revo-grid/{dom-ee2dd1b3.system.js → dom-726246e2.system.js} +3 -0
  146. package/dist/revo-grid/index-f14b41a0.system.js +5 -0
  147. package/dist/revo-grid/index-f30d1de1.js +5 -0
  148. package/dist/revo-grid/index.esm.js +3 -0
  149. package/dist/revo-grid/index.system.js +3 -0
  150. package/dist/revo-grid/resize-observer-00c48d78.js +4 -0
  151. package/dist/revo-grid/resize-observer-8af0bc0e.system.js +4 -0
  152. package/dist/revo-grid/revo-grid.esm.js +4 -1
  153. package/dist/revo-grid/revo-grid.js +3 -2
  154. package/dist/revo-grid/revo-grid.system.js +4 -1
  155. package/dist/revo-grid/revo-grid_11.entry.js +4 -1
  156. package/dist/revo-grid/revo-grid_11.system.entry.js +4 -1
  157. package/dist/revo-grid/revogr-clipboard.entry.js +4 -1
  158. package/dist/revo-grid/revogr-clipboard.system.entry.js +4 -1
  159. package/dist/revo-grid/revogr-filter-panel.entry.js +4 -1
  160. package/dist/revo-grid/revogr-filter-panel.system.entry.js +4 -1
  161. package/dist/types/components.d.ts +100 -56
  162. package/dist/types/stencil-public-runtime.d.ts +189 -186
  163. package/loader/cdn.js +3 -1
  164. package/loader/index.cjs.js +3 -1
  165. package/loader/index.d.ts +0 -1
  166. package/loader/index.es2017.js +3 -1
  167. package/loader/index.js +3 -1
  168. package/package.json +22 -20
  169. package/dist/cjs/css-shim-e33df79c.js +0 -6
  170. package/dist/esm/css-shim-8d75038b.js +0 -4
  171. package/dist/esm-es5/css-shim-8d75038b.js +0 -1
  172. package/dist/esm-es5/index-42c84e7c.js +0 -1
  173. package/dist/esm-es5/resize-observer-56b7b34f.js +0 -1
  174. package/dist/revo-grid/css-shim-88bfb262.system.js +0 -1
  175. package/dist/revo-grid/css-shim-8d75038b.js +0 -1
  176. package/dist/revo-grid/index-a15e7527.system.js +0 -1
  177. package/dist/revo-grid/index-a7f99799.js +0 -1
  178. package/dist/revo-grid/resize-observer-56b7b34f.js +0 -1
  179. package/dist/revo-grid/resize-observer-7a7b9757.system.js +0 -1
@@ -1,3 +1,6 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  'use strict';
2
5
 
3
6
  function _interopNamespace(e) {
@@ -36,17 +39,17 @@ const doc = win.document || { head: {} };
36
39
  const plt = {
37
40
  $flags$: 0,
38
41
  $resourcesUrl$: '',
39
- jmp: h => h(),
40
- raf: h => requestAnimationFrame(h),
42
+ jmp: (h) => h(),
43
+ raf: (h) => requestAnimationFrame(h),
41
44
  ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
42
45
  rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
43
46
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
44
47
  };
45
48
  const promiseResolve = (v) => Promise.resolve(v);
46
- const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
49
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
47
50
  try {
48
51
  new CSSStyleSheet();
49
- return typeof (new CSSStyleSheet()).replace === 'function';
52
+ return typeof new CSSStyleSheet().replaceSync === 'function';
50
53
  }
51
54
  catch (e) { }
52
55
  return false;
@@ -105,9 +108,14 @@ const uniqueTime = (key, measureText) => {
105
108
  const rootAppliedStyles = new WeakMap();
106
109
  const registerStyle = (scopeId, cssText, allowCS) => {
107
110
  let style = styles.get(scopeId);
108
- if (supportsConstructibleStylesheets && allowCS) {
111
+ if (supportsConstructableStylesheets && allowCS) {
109
112
  style = (style || new CSSStyleSheet());
110
- style.replace(cssText);
113
+ if (typeof style === 'string') {
114
+ style = cssText;
115
+ }
116
+ else {
117
+ style.replaceSync(cssText);
118
+ }
111
119
  }
112
120
  else {
113
121
  style = cssText;
@@ -116,7 +124,7 @@ const registerStyle = (scopeId, cssText, allowCS) => {
116
124
  };
117
125
  const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
118
126
  let scopeId = getScopeId(cmpMeta);
119
- let style = styles.get(scopeId);
127
+ const style = styles.get(scopeId);
120
128
  // if an element is NOT connected then getRootNode() will return the wrong root node
121
129
  // so the fallback is to always use the document for the root node in those cases
122
130
  styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
@@ -201,7 +209,7 @@ const h = (nodeName, vnodeData, ...children) => {
201
209
  let slotName = null;
202
210
  let simple = false;
203
211
  let lastSimple = false;
204
- let vNodeChildren = [];
212
+ const vNodeChildren = [];
205
213
  const walk = (c) => {
206
214
  for (let i = 0; i < c.length; i++) {
207
215
  child = c[i];
@@ -240,7 +248,7 @@ const h = (nodeName, vnodeData, ...children) => {
240
248
  typeof classData !== 'object'
241
249
  ? classData
242
250
  : Object.keys(classData)
243
- .filter(k => classData[k])
251
+ .filter((k) => classData[k])
244
252
  .join(' ');
245
253
  }
246
254
  }
@@ -329,8 +337,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
329
337
  const classList = elm.classList;
330
338
  const oldClasses = parseClassList(oldValue);
331
339
  const newClasses = parseClassList(newValue);
332
- classList.remove(...oldClasses.filter(c => c && !newClasses.includes(c)));
333
- classList.add(...newClasses.filter(c => c && !oldClasses.includes(c)));
340
+ classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
341
+ classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
334
342
  }
335
343
  else if (memberName === 'style') {
336
344
  // update style attribute, css properties and values
@@ -365,7 +373,9 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
365
373
  newValue(elm);
366
374
  }
367
375
  }
368
- else if ((!isProp ) && memberName[0] === 'o' && memberName[1] === 'n') {
376
+ else if ((!isProp ) &&
377
+ memberName[0] === 'o' &&
378
+ memberName[1] === 'n') {
369
379
  // Event Handlers
370
380
  // so if the member name starts with "on" and the 3rd characters is
371
381
  // a capital letter, and it's not already a member on the element,
@@ -408,11 +418,10 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
408
418
  if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
409
419
  try {
410
420
  if (!elm.tagName.includes('-')) {
411
- let n = newValue == null ? '' : newValue;
421
+ const n = newValue == null ? '' : newValue;
412
422
  // Workaround for Safari, moving the <input> caret when re-assigning the same valued
413
423
  if (memberName === 'list') {
414
424
  isProp = false;
415
- // tslint:disable-next-line: triple-equals
416
425
  }
417
426
  else if (oldValue == null || elm[memberName] != n) {
418
427
  elm[memberName] = n;
@@ -466,7 +475,9 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
466
475
  // if the element passed in is a shadow root, which is a document fragment
467
476
  // then we want to be adding attrs/props to the shadow root's "host" element
468
477
  // if it's not a shadow root, then we add attrs/props to the same element
469
- const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
478
+ const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host
479
+ ? newVnode.$elm$.host
480
+ : newVnode.$elm$;
470
481
  const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
471
482
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
472
483
  {
@@ -484,7 +495,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
484
495
  };
485
496
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
486
497
  // tslint:disable-next-line: prefer-const
487
- let newVNode = newParentVNode.$children$[childIndex];
498
+ const newVNode = newParentVNode.$children$[childIndex];
488
499
  let i = 0;
489
500
  let elm;
490
501
  let childNode;
@@ -506,14 +517,17 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
506
517
  }
507
518
  else if (newVNode.$flags$ & 1 /* isSlotReference */) {
508
519
  // create a slot reference node
509
- elm = newVNode.$elm$ = doc.createTextNode('');
520
+ elm = newVNode.$elm$ =
521
+ doc.createTextNode('');
510
522
  }
511
523
  else {
512
524
  if (!isSvgMode) {
513
525
  isSvgMode = newVNode.$tag$ === 'svg';
514
526
  }
515
527
  // create element
516
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */ ? 'slot-fb' : newVNode.$tag$)
528
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* isSlotFallback */
529
+ ? 'slot-fb'
530
+ : newVNode.$tag$)
517
531
  );
518
532
  if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
519
533
  isSvgMode = false;
@@ -802,7 +816,7 @@ const patch = (oldVNode, newVNode) => {
802
816
  };
803
817
  const updateFallbackSlotVisibility = (elm) => {
804
818
  // tslint:disable-next-line: prefer-const
805
- let childNodes = elm.childNodes;
819
+ const childNodes = elm.childNodes;
806
820
  let childNode;
807
821
  let i;
808
822
  let ilen;
@@ -855,8 +869,8 @@ const relocateSlotContent = (elm) => {
855
869
  let relocateNodeData;
856
870
  let j;
857
871
  let i = 0;
858
- let childNodes = elm.childNodes;
859
- let ilen = childNodes.length;
872
+ const childNodes = elm.childNodes;
873
+ const ilen = childNodes.length;
860
874
  for (; i < ilen; i++) {
861
875
  childNode = childNodes[i];
862
876
  if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
@@ -872,7 +886,7 @@ const relocateSlotContent = (elm) => {
872
886
  // that is suppose to always represent the original content location
873
887
  if (isNodeLocatedInSlot(node, slotNameAttr)) {
874
888
  // it's possible we've already decided to relocate this node
875
- relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node);
889
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
876
890
  // made some changes to slots
877
891
  // let's make sure we also double check
878
892
  // fallbacks are correctly hidden or shown
@@ -891,9 +905,9 @@ const relocateSlotContent = (elm) => {
891
905
  });
892
906
  }
893
907
  if (node['s-sr']) {
894
- relocateNodes.map(relocateNode => {
908
+ relocateNodes.map((relocateNode) => {
895
909
  if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
896
- relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node);
910
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
897
911
  if (relocateNodeData && !relocateNode.$slotRefNode$) {
898
912
  relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
899
913
  }
@@ -901,7 +915,7 @@ const relocateSlotContent = (elm) => {
901
915
  });
902
916
  }
903
917
  }
904
- else if (!relocateNodes.some(r => r.$nodeToRelocate$ === node)) {
918
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
905
919
  // so far this element does not have a slot home, not setting slotRefNode on purpose
906
920
  // if we never find a home for this element then we'll need to hide it
907
921
  relocateNodes.push({
@@ -978,7 +992,8 @@ const renderVdom = (hostRef, renderFnResults) => {
978
992
  if (!nodeToRelocate['s-ol']) {
979
993
  // add a reference node marking this node's original location
980
994
  // keep a reference to this node for later lookups
981
- orgLocationNode = doc.createTextNode('');
995
+ orgLocationNode =
996
+ doc.createTextNode('');
982
997
  orgLocationNode['s-nr'] = nodeToRelocate;
983
998
  nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
984
999
  }
@@ -1002,7 +1017,8 @@ const renderVdom = (hostRef, renderFnResults) => {
1002
1017
  }
1003
1018
  }
1004
1019
  }
1005
- if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) || nodeToRelocate.nextSibling !== insertBeforeNode) {
1020
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1021
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
1006
1022
  // we've checked that it's worth while to relocate
1007
1023
  // since that the node to relocate
1008
1024
  // has a different next sibling or parent relocated
@@ -1048,6 +1064,13 @@ const createEvent = (ref, name, flags) => {
1048
1064
  },
1049
1065
  };
1050
1066
  };
1067
+ /**
1068
+ * Helper function to create & dispatch a custom Event on a provided target
1069
+ * @param elm the target of the Event
1070
+ * @param name the name to give the custom Event
1071
+ * @param opts options for configuring a custom Event
1072
+ * @returns the custom Event
1073
+ */
1051
1074
  const emitEvent = (elm, name, opts) => {
1052
1075
  const ev = plt.ce(name, opts);
1053
1076
  elm.dispatchEvent(ev);
@@ -1055,7 +1078,7 @@ const emitEvent = (elm, name, opts) => {
1055
1078
  };
1056
1079
  const attachToAncestor = (hostRef, ancestorComponent) => {
1057
1080
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
1058
- ancestorComponent['s-p'].push(new Promise(r => (hostRef.$onRenderResolve$ = r)));
1081
+ ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
1059
1082
  }
1060
1083
  };
1061
1084
  const scheduleUpdate = (hostRef, isInitialLoad) => {
@@ -1115,7 +1138,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1115
1138
  // ok, so turns out there are some child host elements
1116
1139
  // waiting on this parent element to load
1117
1140
  // let's fire off all update callbacks waiting
1118
- rc.map(cb => cb());
1141
+ rc.map((cb) => cb());
1119
1142
  elm['s-rc'] = undefined;
1120
1143
  }
1121
1144
  endRender();
@@ -1213,7 +1236,8 @@ const forceUpdate = (ref) => {
1213
1236
  {
1214
1237
  const hostRef = getHostRef(ref);
1215
1238
  const isConnected = hostRef.$hostElement$.isConnected;
1216
- if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1239
+ if (isConnected &&
1240
+ (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1217
1241
  scheduleUpdate(hostRef, false);
1218
1242
  }
1219
1243
  // Returns "true" when the forced update was successfully scheduled
@@ -1242,7 +1266,31 @@ const safeCall = (instance, method, arg) => {
1242
1266
  const then = (promise, thenFn) => {
1243
1267
  return promise && promise.then ? promise.then(thenFn) : thenFn();
1244
1268
  };
1245
- const addHydratedFlag = (elm) => (elm.classList.add('hydrated') );
1269
+ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1270
+ ;
1271
+ /**
1272
+ * Parse a new property value for a given property type.
1273
+ *
1274
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
1275
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
1276
+ * 1. `any`, the type given to `propValue` in the function signature
1277
+ * 2. the type stored from `propType`.
1278
+ *
1279
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
1280
+ *
1281
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
1282
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
1283
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
1284
+ * ```tsx
1285
+ * <my-cmp prop-val={0}></my-cmp>
1286
+ * ```
1287
+ *
1288
+ * HTML prop values on the other hand, will always a string
1289
+ *
1290
+ * @param propValue the new value to coerce to some type
1291
+ * @param propType the type of the prop, expressed as a binary number
1292
+ * @returns the parsed/coerced value
1293
+ */
1246
1294
  const parsePropertyValue = (propValue, propType) => {
1247
1295
  // ensure this value is of the correct prop type
1248
1296
  if (propValue != null && !isComplexType(propValue)) {
@@ -1276,7 +1324,10 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1276
1324
  const flags = hostRef.$flags$;
1277
1325
  const instance = hostRef.$lazyInstance$ ;
1278
1326
  newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
1279
- if ((!(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && newVal !== oldVal) {
1327
+ // explicitly check for NaN on both sides, as `NaN === NaN` is always false
1328
+ const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
1329
+ const didValueChange = newVal !== oldVal && !areBothNaN;
1330
+ if ((!(flags & 8 /* isConstructingInstance */) || oldVal === undefined) && didValueChange) {
1280
1331
  // gadzooks! the property's value has changed!!
1281
1332
  // set our new value!
1282
1333
  hostRef.$instanceValues$.set(propName, newVal);
@@ -1286,7 +1337,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1286
1337
  const watchMethods = cmpMeta.$watchers$[propName];
1287
1338
  if (watchMethods) {
1288
1339
  // this instance is watching for when this property changed
1289
- watchMethods.map(watchMethodName => {
1340
+ watchMethods.map((watchMethodName) => {
1290
1341
  try {
1291
1342
  // fire off each of the watch methods that are watching this property
1292
1343
  instance[watchMethodName](newVal, oldVal, propName);
@@ -1316,7 +1367,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1316
1367
  const members = Object.entries(cmpMeta.$members$);
1317
1368
  const prototype = Cstr.prototype;
1318
1369
  members.map(([memberName, [memberFlags]]) => {
1319
- if ((memberFlags & 31 /* Prop */ || ((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
1370
+ if ((memberFlags & 31 /* Prop */ ||
1371
+ ((flags & 2 /* proxyState */) && memberFlags & 32 /* State */))) {
1320
1372
  // proxyComponent - prop
1321
1373
  Object.defineProperty(prototype, memberName, {
1322
1374
  get() {
@@ -1331,7 +1383,8 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1331
1383
  enumerable: true,
1332
1384
  });
1333
1385
  }
1334
- else if (flags & 1 /* isElementConstructor */ && memberFlags & 64 /* Method */) {
1386
+ else if (flags & 1 /* isElementConstructor */ &&
1387
+ memberFlags & 64 /* Method */) {
1335
1388
  // proxyComponent - method
1336
1389
  Object.defineProperty(prototype, memberName, {
1337
1390
  value(...args) {
@@ -1346,6 +1399,51 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1346
1399
  prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1347
1400
  plt.jmp(() => {
1348
1401
  const propName = attrNameToPropName.get(attrName);
1402
+ // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1403
+ // in the case where an attribute was set inline.
1404
+ // ```html
1405
+ // <my-component some-attribute="some-value"></my-component>
1406
+ // ```
1407
+ //
1408
+ // There is an edge case where a developer sets the attribute inline on a custom element and then
1409
+ // programmatically changes it before it has been upgraded as shown below:
1410
+ //
1411
+ // ```html
1412
+ // <!-- this component has _not_ been upgraded yet -->
1413
+ // <my-component id="test" some-attribute="some-value"></my-component>
1414
+ // <script>
1415
+ // // grab non-upgraded component
1416
+ // el = document.querySelector("#test");
1417
+ // el.someAttribute = "another-value";
1418
+ // // upgrade component
1419
+ // customElements.define('my-component', MyComponent);
1420
+ // </script>
1421
+ // ```
1422
+ // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1423
+ // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1424
+ // to the value that was set inline i.e. "some-value" from above example. When
1425
+ // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1426
+ //
1427
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1428
+ // by connectedCallback as this attributeChangedCallback will not fire.
1429
+ //
1430
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
1431
+ //
1432
+ // TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
1433
+ // properties here given that this goes against best practices outlined here
1434
+ // https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
1435
+ if (this.hasOwnProperty(propName)) {
1436
+ newValue = this[propName];
1437
+ delete this[propName];
1438
+ }
1439
+ else if (prototype.hasOwnProperty(propName) &&
1440
+ typeof this[propName] === 'number' &&
1441
+ this[propName] == newValue) {
1442
+ // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
1443
+ // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
1444
+ // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1445
+ return;
1446
+ }
1349
1447
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1350
1448
  });
1351
1449
  };
@@ -1382,7 +1480,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1382
1480
  endLoad();
1383
1481
  }
1384
1482
  if (!Cstr.isProxied) {
1385
- // we'eve never proxied this Constructor before
1483
+ // we've never proxied this Constructor before
1386
1484
  // let's add the getters/setters to its prototype before
1387
1485
  // the first time we create an instance of the implementation
1388
1486
  {
@@ -1432,7 +1530,7 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1432
1530
  const ancestorComponent = hostRef.$ancestorComponent$;
1433
1531
  const schedule = () => scheduleUpdate(hostRef, true);
1434
1532
  if (ancestorComponent && ancestorComponent['s-rc']) {
1435
- // this is the intial load and this component it has an ancestor component
1533
+ // this is the initial load and this component it has an ancestor component
1436
1534
  // but the ancestor component has NOT fired its will update lifecycle yet
1437
1535
  // so let's just cool our jets and wait for the ancestor to continue first
1438
1536
  // this will get fired off when the ancestor component
@@ -1528,7 +1626,7 @@ const disconnectedCallback = (elm) => {
1528
1626
  const instance = hostRef.$lazyInstance$ ;
1529
1627
  {
1530
1628
  if (hostRef.$rmListeners$) {
1531
- hostRef.$rmListeners$.map(rmListener => rmListener());
1629
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
1532
1630
  hostRef.$rmListeners$ = undefined;
1533
1631
  }
1534
1632
  }
@@ -1554,60 +1652,62 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1554
1652
  let isBootstrapping = true;
1555
1653
  Object.assign(plt, options);
1556
1654
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
1557
- lazyBundles.map(lazyBundle => lazyBundle[1].map(compactMeta => {
1558
- const cmpMeta = {
1559
- $flags$: compactMeta[0],
1560
- $tagName$: compactMeta[1],
1561
- $members$: compactMeta[2],
1562
- $listeners$: compactMeta[3],
1563
- };
1564
- {
1565
- cmpMeta.$members$ = compactMeta[2];
1566
- }
1567
- {
1568
- cmpMeta.$listeners$ = compactMeta[3];
1569
- }
1570
- {
1571
- cmpMeta.$attrsToReflect$ = [];
1572
- }
1573
- {
1574
- cmpMeta.$watchers$ = {};
1575
- }
1576
- const tagName = cmpMeta.$tagName$;
1577
- const HostElement = class extends HTMLElement {
1578
- // StencilLazyHost
1579
- constructor(self) {
1580
- // @ts-ignore
1581
- super(self);
1582
- self = this;
1583
- registerHost(self, cmpMeta);
1655
+ lazyBundles.map((lazyBundle) => {
1656
+ lazyBundle[1].map((compactMeta) => {
1657
+ const cmpMeta = {
1658
+ $flags$: compactMeta[0],
1659
+ $tagName$: compactMeta[1],
1660
+ $members$: compactMeta[2],
1661
+ $listeners$: compactMeta[3],
1662
+ };
1663
+ {
1664
+ cmpMeta.$members$ = compactMeta[2];
1665
+ }
1666
+ {
1667
+ cmpMeta.$listeners$ = compactMeta[3];
1584
1668
  }
1585
- connectedCallback() {
1586
- if (appLoadFallback) {
1587
- clearTimeout(appLoadFallback);
1588
- appLoadFallback = null;
1669
+ {
1670
+ cmpMeta.$attrsToReflect$ = [];
1671
+ }
1672
+ {
1673
+ cmpMeta.$watchers$ = {};
1674
+ }
1675
+ const tagName = cmpMeta.$tagName$;
1676
+ const HostElement = class extends HTMLElement {
1677
+ // StencilLazyHost
1678
+ constructor(self) {
1679
+ // @ts-ignore
1680
+ super(self);
1681
+ self = this;
1682
+ registerHost(self, cmpMeta);
1589
1683
  }
1590
- if (isBootstrapping) {
1591
- // connectedCallback will be processed once all components have been registered
1592
- deferredConnectedCallbacks.push(this);
1684
+ connectedCallback() {
1685
+ if (appLoadFallback) {
1686
+ clearTimeout(appLoadFallback);
1687
+ appLoadFallback = null;
1688
+ }
1689
+ if (isBootstrapping) {
1690
+ // connectedCallback will be processed once all components have been registered
1691
+ deferredConnectedCallbacks.push(this);
1692
+ }
1693
+ else {
1694
+ plt.jmp(() => connectedCallback(this));
1695
+ }
1593
1696
  }
1594
- else {
1595
- plt.jmp(() => connectedCallback(this));
1697
+ disconnectedCallback() {
1698
+ plt.jmp(() => disconnectedCallback(this));
1596
1699
  }
1700
+ componentOnReady() {
1701
+ return getHostRef(this).$onReadyPromise$;
1702
+ }
1703
+ };
1704
+ cmpMeta.$lazyBundleId$ = lazyBundle[0];
1705
+ if (!exclude.includes(tagName) && !customElements.get(tagName)) {
1706
+ cmpTags.push(tagName);
1707
+ customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));
1597
1708
  }
1598
- disconnectedCallback() {
1599
- plt.jmp(() => disconnectedCallback(this));
1600
- }
1601
- componentOnReady() {
1602
- return getHostRef(this).$onReadyPromise$;
1603
- }
1604
- };
1605
- cmpMeta.$lazyBundleId$ = lazyBundle[0];
1606
- if (!exclude.includes(tagName) && !customElements.get(tagName)) {
1607
- cmpTags.push(tagName);
1608
- customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */));
1609
- }
1610
- }));
1709
+ });
1710
+ });
1611
1711
  {
1612
1712
  visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1613
1713
  visibilityStyle.setAttribute('data-styles', '');
@@ -1616,7 +1716,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1616
1716
  // Process deferred connectedCallbacks now all components have been registered
1617
1717
  isBootstrapping = false;
1618
1718
  if (deferredConnectedCallbacks.length) {
1619
- deferredConnectedCallbacks.map(host => host.connectedCallback());
1719
+ deferredConnectedCallbacks.map((host) => host.connectedCallback());
1620
1720
  }
1621
1721
  else {
1622
1722
  {
@@ -1637,10 +1737,10 @@ const registerHost = (elm, cmpMeta) => {
1637
1737
  $instanceValues$: new Map(),
1638
1738
  };
1639
1739
  {
1640
- hostRef.$onInstancePromise$ = new Promise(r => (hostRef.$onInstanceResolve$ = r));
1740
+ hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
1641
1741
  }
1642
1742
  {
1643
- hostRef.$onReadyPromise$ = new Promise(r => (hostRef.$onReadyResolve$ = r));
1743
+ hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1644
1744
  elm['s-p'] = [];
1645
1745
  elm['s-rc'] = [];
1646
1746
  }
@@ -1658,11 +1758,34 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1658
1758
  if (module) {
1659
1759
  return module[exportName];
1660
1760
  }
1761
+
1762
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1763
+ const processMod = importedModule => {
1764
+ cmpModules.set(bundleId, importedModule);
1765
+ return importedModule[exportName];
1766
+ }
1767
+ switch(bundleId) {
1768
+
1769
+ case 'revo-grid_11.cjs':
1770
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1771
+ /* webpackMode: "lazy" */
1772
+ './revo-grid_11.cjs.entry.js')); }).then(processMod, consoleError);
1773
+ case 'revogr-clipboard.cjs':
1774
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1775
+ /* webpackMode: "lazy" */
1776
+ './revogr-clipboard.cjs.entry.js')); }).then(processMod, consoleError);
1777
+ case 'revogr-filter-panel.cjs':
1778
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1779
+ /* webpackMode: "lazy" */
1780
+ './revogr-filter-panel.cjs.entry.js')); }).then(processMod, consoleError);
1781
+ }
1782
+ }
1661
1783
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1784
+ /* @vite-ignore */
1662
1785
  /* webpackInclude: /\.entry\.js$/ */
1663
1786
  /* webpackExclude: /\.system\.entry\.js$/ */
1664
1787
  /* webpackMode: "lazy" */
1665
- `./${bundleId}.entry.js${''}`)); }).then(importedModule => {
1788
+ `./${bundleId}.entry.js${''}`)); }).then((importedModule) => {
1666
1789
  {
1667
1790
  cmpModules.set(bundleId, importedModule);
1668
1791
  }
@@ -1,2 +1,5 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  'use strict';
2
5
 
@@ -1,18 +1,21 @@
1
+ /*!
2
+ * Built by Revolist
3
+ */
1
4
  'use strict';
2
5
 
3
6
  Object.defineProperty(exports, '__esModule', { value: true });
4
7
 
5
- const index = require('./index-d3f67f2e.js');
8
+ const index = require('./index-cb904e00.js');
6
9
 
7
10
  /*
8
- Stencil Client Patch Esm v2.6.0 | MIT Licensed | https://stenciljs.com
11
+ Stencil Client Patch Esm v2.17.3 | MIT Licensed | https://stenciljs.com
9
12
  */
10
13
  const patchEsm = () => {
11
14
  // NOTE!! This fn cannot use async/await!
12
15
  // @ts-ignore
13
16
  if (!(index.CSS && index.CSS.supports && index.CSS.supports('color', 'var(--c)'))) {
14
17
  // @ts-ignore
15
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "polyfills-css-shim" */ './css-shim-e33df79c.js'); }).then(() => {
18
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "polyfills-css-shim" */ './css-shim-9f5bc84d.js'); }).then(() => {
16
19
  if ((index.plt.$cssShim$ = index.win.__cssshim)) {
17
20
  return index.plt.$cssShim$.i();
18
21
  }