@revolist/revogrid 4.8.13 → 4.8.15

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 (127) hide show
  1. package/dist/cjs/{app-globals-067b9262.js → app-globals-dd2ebf18.js} +2 -2
  2. package/dist/cjs/{app-globals-067b9262.js.map → app-globals-dd2ebf18.js.map} +1 -1
  3. package/dist/cjs/{base.plugin-75fc9e81.js → base.plugin-a323e377.js} +3 -3
  4. package/dist/cjs/{base.plugin-75fc9e81.js.map → base.plugin-a323e377.js.map} +1 -1
  5. package/dist/cjs/{column.service-43f8c476.js → column.service-8abfd38c.js} +4 -4
  6. package/dist/cjs/{column.service-43f8c476.js.map → column.service-8abfd38c.js.map} +1 -1
  7. package/dist/cjs/{dimension.helpers-8e234f00.js → dimension.helpers-75de0b84.js} +2 -2
  8. package/dist/cjs/{dimension.helpers-8e234f00.js.map → dimension.helpers-75de0b84.js.map} +1 -1
  9. package/dist/cjs/dispatcher-998aa470.js +46 -0
  10. package/dist/cjs/dispatcher-998aa470.js.map +1 -0
  11. package/dist/cjs/{filter.button-35f508a0.js → filter.button-af6bb084.js} +2 -2
  12. package/dist/cjs/{filter.button-35f508a0.js.map → filter.button-af6bb084.js.map} +1 -1
  13. package/dist/cjs/{header-cell-renderer-a3b43bca.js → header-cell-renderer-db9be31c.js} +4 -4
  14. package/dist/cjs/{header-cell-renderer-a3b43bca.js.map → header-cell-renderer-db9be31c.js.map} +1 -1
  15. package/dist/cjs/{index-feb2edd5.js → index-a2370c46.js} +6 -8
  16. package/dist/cjs/index-a2370c46.js.map +1 -0
  17. package/dist/cjs/index.cjs.js +6 -7
  18. package/dist/cjs/index.cjs.js.map +1 -1
  19. package/dist/cjs/{key.utils-4a384064.js → key.utils-d7fc223c.js} +2 -2
  20. package/dist/cjs/{key.utils-4a384064.js.map → key.utils-d7fc223c.js.map} +1 -1
  21. package/dist/cjs/loader.cjs.js +2 -2
  22. package/dist/cjs/revo-grid.cjs.entry.js +13 -13
  23. package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
  24. package/dist/cjs/revo-grid.cjs.js +3 -3
  25. package/dist/cjs/revo-grid.cjs.js.map +1 -1
  26. package/dist/cjs/revogr-attribution_6.cjs.entry.js +6 -6
  27. package/dist/cjs/revogr-clipboard_3.cjs.entry.js +3 -3
  28. package/dist/cjs/revogr-data_4.cjs.entry.js +7 -7
  29. package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -2
  30. package/dist/cjs/{selection.helpers-26d856ba.js → selection.helpers-4982680f.js} +3 -3
  31. package/dist/cjs/{selection.helpers-26d856ba.js.map → selection.helpers-4982680f.js.map} +1 -1
  32. package/dist/cjs/{viewport.store-c4b986f9.js → viewport.store-aa91fe75.js} +2 -2
  33. package/dist/cjs/{viewport.store-c4b986f9.js.map → viewport.store-aa91fe75.js.map} +1 -1
  34. package/dist/collection/collection-manifest.json +1 -1
  35. package/dist/collection/components/revoGrid/revo-grid.js +9 -14
  36. package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
  37. package/dist/collection/plugins/dispatcher.js +22 -9
  38. package/dist/collection/plugins/dispatcher.js.map +1 -1
  39. package/dist/collection/types/plugin.js.map +1 -1
  40. package/dist/esm/{app-globals-c0b06b03.js → app-globals-c208f662.js} +2 -2
  41. package/dist/esm/{app-globals-c0b06b03.js.map → app-globals-c208f662.js.map} +1 -1
  42. package/dist/esm/{base.plugin-30463006.js → base.plugin-5eec30ac.js} +3 -3
  43. package/dist/esm/{base.plugin-30463006.js.map → base.plugin-5eec30ac.js.map} +1 -1
  44. package/dist/esm/{column.service-521eb0d5.js → column.service-9e536629.js} +4 -4
  45. package/dist/esm/{column.service-521eb0d5.js.map → column.service-9e536629.js.map} +1 -1
  46. package/dist/esm/{dimension.helpers-7c71178f.js → dimension.helpers-beca689b.js} +2 -2
  47. package/dist/esm/{dimension.helpers-7c71178f.js.map → dimension.helpers-beca689b.js.map} +1 -1
  48. package/dist/esm/dispatcher-ea08404f.js +43 -0
  49. package/dist/esm/dispatcher-ea08404f.js.map +1 -0
  50. package/dist/esm/{filter.button-f9883a78.js → filter.button-ba5a142b.js} +2 -2
  51. package/dist/esm/{filter.button-f9883a78.js.map → filter.button-ba5a142b.js.map} +1 -1
  52. package/dist/esm/{header-cell-renderer-f65d0383.js → header-cell-renderer-cb08b741.js} +4 -4
  53. package/dist/esm/{header-cell-renderer-f65d0383.js.map → header-cell-renderer-cb08b741.js.map} +1 -1
  54. package/dist/esm/{index-e661aeb5.js → index-8b791a74.js} +6 -8
  55. package/dist/esm/index-8b791a74.js.map +1 -0
  56. package/dist/esm/index.js +6 -6
  57. package/dist/esm/{key.utils-d4fdcf5b.js → key.utils-8444c89f.js} +2 -2
  58. package/dist/esm/{key.utils-d4fdcf5b.js.map → key.utils-8444c89f.js.map} +1 -1
  59. package/dist/esm/loader.js +3 -3
  60. package/dist/esm/revo-grid.entry.js +13 -13
  61. package/dist/esm/revo-grid.entry.js.map +1 -1
  62. package/dist/esm/revo-grid.js +4 -4
  63. package/dist/esm/revo-grid.js.map +1 -1
  64. package/dist/esm/revogr-attribution_6.entry.js +6 -6
  65. package/dist/esm/revogr-clipboard_3.entry.js +3 -3
  66. package/dist/esm/revogr-data_4.entry.js +7 -7
  67. package/dist/esm/revogr-filter-panel.entry.js +2 -2
  68. package/dist/esm/{selection.helpers-74cbfb89.js → selection.helpers-7ab1d0f9.js} +3 -3
  69. package/dist/esm/{selection.helpers-74cbfb89.js.map → selection.helpers-7ab1d0f9.js.map} +1 -1
  70. package/dist/esm/{viewport.store-122731a5.js → viewport.store-3ff983a5.js} +2 -2
  71. package/dist/esm/{viewport.store-122731a5.js.map → viewport.store-3ff983a5.js.map} +1 -1
  72. package/dist/revo-grid/app-globals-c208f662.js +5 -0
  73. package/dist/revo-grid/{base.plugin-30463006.js → base.plugin-5eec30ac.js} +2 -2
  74. package/dist/revo-grid/{column.service-521eb0d5.js → column.service-9e536629.js} +2 -2
  75. package/dist/revo-grid/{dimension.helpers-7c71178f.js → dimension.helpers-beca689b.js} +2 -2
  76. package/dist/revo-grid/dispatcher-ea08404f.js +5 -0
  77. package/dist/revo-grid/dispatcher-ea08404f.js.map +1 -0
  78. package/dist/revo-grid/{filter.button-f9883a78.js → filter.button-ba5a142b.js} +2 -2
  79. package/dist/revo-grid/{header-cell-renderer-f65d0383.js → header-cell-renderer-cb08b741.js} +2 -2
  80. package/dist/revo-grid/index-8b791a74.js +6 -0
  81. package/dist/revo-grid/index-8b791a74.js.map +1 -0
  82. package/dist/revo-grid/index.esm.js +1 -1
  83. package/dist/revo-grid/{key.utils-d4fdcf5b.js → key.utils-8444c89f.js} +2 -2
  84. package/dist/revo-grid/revo-grid.entry.js +1 -1
  85. package/dist/revo-grid/revo-grid.entry.js.map +1 -1
  86. package/dist/revo-grid/revo-grid.esm.js +1 -1
  87. package/dist/revo-grid/revo-grid.esm.js.map +1 -1
  88. package/dist/revo-grid/revogr-attribution_6.entry.js +1 -1
  89. package/dist/revo-grid/revogr-clipboard_3.entry.js +1 -1
  90. package/dist/revo-grid/revogr-data_4.entry.js +1 -1
  91. package/dist/revo-grid/revogr-filter-panel.entry.js +1 -1
  92. package/dist/revo-grid/{selection.helpers-74cbfb89.js → selection.helpers-7ab1d0f9.js} +2 -2
  93. package/dist/revo-grid/{viewport.store-122731a5.js → viewport.store-3ff983a5.js} +2 -2
  94. package/dist/types/components/revoGrid/revo-grid.d.ts +3 -2
  95. package/dist/types/components.d.ts +4 -4
  96. package/dist/types/plugins/dispatcher.d.ts +16 -12
  97. package/dist/types/types/plugin.d.ts +1 -24
  98. package/hydrate/index.js +20 -14
  99. package/hydrate/index.mjs +20 -14
  100. package/package.json +7 -7
  101. package/standalone/index.js +1 -1
  102. package/standalone/revo-grid.js +5 -5
  103. package/standalone/revo-grid.js.map +1 -1
  104. package/standalone/revogr-header.js +1 -1
  105. package/standalone/revogr-header2.js +23 -10
  106. package/standalone/revogr-header2.js.map +1 -1
  107. package/standalone/revogr-row-headers2.js +1 -1
  108. package/dist/cjs/dispatcher-a58fa91a.js +0 -34
  109. package/dist/cjs/dispatcher-a58fa91a.js.map +0 -1
  110. package/dist/cjs/index-feb2edd5.js.map +0 -1
  111. package/dist/esm/dispatcher-8ea9187d.js +0 -30
  112. package/dist/esm/dispatcher-8ea9187d.js.map +0 -1
  113. package/dist/esm/index-e661aeb5.js.map +0 -1
  114. package/dist/revo-grid/app-globals-c0b06b03.js +0 -5
  115. package/dist/revo-grid/dispatcher-8ea9187d.js +0 -5
  116. package/dist/revo-grid/dispatcher-8ea9187d.js.map +0 -1
  117. package/dist/revo-grid/index-e661aeb5.js +0 -6
  118. package/dist/revo-grid/index-e661aeb5.js.map +0 -1
  119. /package/dist/revo-grid/{app-globals-c0b06b03.js.map → app-globals-c208f662.js.map} +0 -0
  120. /package/dist/revo-grid/{base.plugin-30463006.js.map → base.plugin-5eec30ac.js.map} +0 -0
  121. /package/dist/revo-grid/{column.service-521eb0d5.js.map → column.service-9e536629.js.map} +0 -0
  122. /package/dist/revo-grid/{dimension.helpers-7c71178f.js.map → dimension.helpers-beca689b.js.map} +0 -0
  123. /package/dist/revo-grid/{filter.button-f9883a78.js.map → filter.button-ba5a142b.js.map} +0 -0
  124. /package/dist/revo-grid/{header-cell-renderer-f65d0383.js.map → header-cell-renderer-cb08b741.js.map} +0 -0
  125. /package/dist/revo-grid/{key.utils-d4fdcf5b.js.map → key.utils-8444c89f.js.map} +0 -0
  126. /package/dist/revo-grid/{selection.helpers-74cbfb89.js.map → selection.helpers-7ab1d0f9.js.map} +0 -0
  127. /package/dist/revo-grid/{viewport.store-122731a5.js.map → viewport.store-3ff983a5.js.map} +0 -0
@@ -0,0 +1,43 @@
1
+ /*!
2
+ * Built by Revolist OU ❤️
3
+ */
4
+ /**
5
+ * Dispatches a custom event to a specified target element.
6
+ *
7
+ * @param target - The target element to dispatch the event to.
8
+ * @param eventName - The name of the custom event.
9
+ * @param detail - Optional. The detail of the custom event.
10
+ * @returns The custom event that was dispatched.
11
+ */
12
+ function dispatch(target, eventName, detail) {
13
+ // Create a new CustomEvent with the specified event name and detail.
14
+ const event = new CustomEvent(eventName, {
15
+ detail,
16
+ cancelable: true, // Indicates whether the event can be canceled.
17
+ bubbles: true, // Indicates whether the event bubbles up through the DOM.
18
+ });
19
+ // Dispatch the event on the target element.
20
+ target === null || target === void 0 ? void 0 : target.dispatchEvent(event);
21
+ // Return the custom event that was dispatched.
22
+ return event;
23
+ }
24
+ /**
25
+ * Dispatches a custom event based on an existing event object and prevents the default behavior of the original event.
26
+ *
27
+ * @param e - The original event object containing the target and preventDefault method.
28
+ * @param eventName - The name of the custom event.
29
+ * @param detail - Optional. The detail of the custom event.
30
+ * @returns The custom event that was dispatched.
31
+ */
32
+ function dispatchByEvent(e, // The original event object containing the target and preventDefault method.
33
+ eventName, // The name of the custom event.
34
+ detail) {
35
+ // Prevent the default behavior of the original event.
36
+ e.preventDefault();
37
+ // Dispatch the custom event to the target element specified in the original event object.
38
+ return dispatch(e.target, eventName, detail);
39
+ }
40
+
41
+ export { dispatchByEvent as a, dispatch as d };
42
+
43
+ //# sourceMappingURL=dispatcher-ea08404f.js.map
@@ -0,0 +1 @@
1
+ {"file":"dispatcher-ea08404f.js","mappings":";;;AAAA;;;;;;;;SAQgB,QAAQ,CACtB,MAA4B,EAC5B,SAAiB,EACjB,MAAuB;;IAGvB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAiB,SAAS,EAAE;QACvD,MAAM;QACN,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;;IAGH,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,KAAK,CAAC,CAAC;;IAG7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;SAQgB,eAAe,CAC7B,CAAgD;AAChD,SAAiB;AACjB,MAAuB;;IAGvB,CAAC,CAAC,cAAc,EAAE,CAAC;;IAGnB,OAAO,QAAQ,CAAiB,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAC/D;;;;","names":[],"sources":["src/plugins/dispatcher.ts"],"sourcesContent":["/**\n * Dispatches a custom event to a specified target element.\n *\n * @param target - The target element to dispatch the event to.\n * @param eventName - The name of the custom event.\n * @param detail - Optional. The detail of the custom event.\n * @returns The custom event that was dispatched.\n */\nexport function dispatch<DispatchDetail = any>(\n target: MouseEvent['target'],\n eventName: string,\n detail?: DispatchDetail,\n) {\n // Create a new CustomEvent with the specified event name and detail.\n const event = new CustomEvent<DispatchDetail>(eventName, {\n detail,\n cancelable: true, // Indicates whether the event can be canceled.\n bubbles: true, // Indicates whether the event bubbles up through the DOM.\n });\n\n // Dispatch the event on the target element.\n target?.dispatchEvent(event);\n\n // Return the custom event that was dispatched.\n return event;\n}\n\n/**\n * Dispatches a custom event based on an existing event object and prevents the default behavior of the original event.\n *\n * @param e - The original event object containing the target and preventDefault method.\n * @param eventName - The name of the custom event.\n * @param detail - Optional. The detail of the custom event.\n * @returns The custom event that was dispatched.\n */\nexport function dispatchByEvent<DispatchDetail = any>(\n e: Pick<MouseEvent, 'target' | 'preventDefault'>, // The original event object containing the target and preventDefault method.\n eventName: string, // The name of the custom event.\n detail?: DispatchDetail, // Optional. The detail of the custom event.\n): CustomEvent {\n // Prevent the default behavior of the original event.\n e.preventDefault();\n\n // Dispatch the custom event to the target element specified in the original event object.\n return dispatch<DispatchDetail>(e.target, eventName, detail);\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { h } from './index-e661aeb5.js';
4
+ import { h } from './index-8b791a74.js';
5
5
 
6
6
  const FILTER_BUTTON_CLASS = 'rv-filter';
7
7
  const FILTER_BUTTON_ACTIVE = 'active';
@@ -35,4 +35,4 @@ function isFilterBtn(e) {
35
35
 
36
36
  export { AndOrButton as A, FILTER_PROP as F, TrashButton as T, FilterButton as a, isFilterBtn as i };
37
37
 
38
- //# sourceMappingURL=filter.button-f9883a78.js.map
38
+ //# sourceMappingURL=filter.button-ba5a142b.js.map
@@ -1 +1 @@
1
- {"file":"filter.button-f9883a78.js","mappings":";;;;;AAGO,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;MAChC,WAAW,GAAG,YAAY;AAChC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,YAAY,GAAG,cAAc,CAAC;MAK9B,YAAY,GAAG,CAAC,EAAE,MAAM,EAAS;IAC5C,QACE;QACE,cACE,KAAK,EAAE;gBACL,CAAC,mBAAmB,GAAG,IAAI;gBAC3B,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;aACxD;YAED,WAAK,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW;gBACzC,SAAG,MAAM,EAAC,MAAM,kBAAc,GAAG,EAAC,IAAI,EAAC,MAAM,eAAW,SAAS;oBAC/D,YAAM,CAAC,EAAC,2GAA2G,EAAC,IAAI,EAAC,cAAc,GAAQ,CAC7I,CACA,CACC,CACJ,EACP;AACJ,EAAE;MAEW,WAAW,GAAG;IACzB,QACE,WAAK,KAAK,EAAE,EAAE,CAAC,YAAY,GAAG,IAAI,EAAE;QAClC,WAAK,KAAK,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW;YACxC,YAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,8GAA8G,GAAG,CACzI,CACF,EACN;AACJ,EAAE;MACW,WAAW,GAAG,CAAC,EAAE,IAAI,EAAO;IACvC,OAAO,cAAQ,KAAK,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAG,IAAI,CAAU,CAAC;AAC9F,EAAE;SAEc,WAAW,CAAC,CAAc;IACxC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAC/C;;;;","names":[],"sources":["src/plugins/filter/filter.button.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '@type';\n\nexport const FILTER_BUTTON_CLASS = 'rv-filter';\nexport const FILTER_BUTTON_ACTIVE = 'active';\nexport const FILTER_PROP = 'hasFilter';\nexport const AND_OR_BUTTON = 'and-or-button';\nexport const TRASH_BUTTON = 'trash-button';\n\ntype Props = {\n column: ColumnRegular;\n};\nexport const FilterButton = ({ column }: Props) => {\n return (\n <span>\n <button\n class={{\n [FILTER_BUTTON_CLASS]: true,\n [FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP],\n }}\n >\n <svg class=\"filter-img\" viewBox=\"0 0 64 64\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z\" fill=\"currentColor\"></path>\n </g>\n </svg>\n </button>\n </span>\n );\n};\n\nexport const TrashButton = () => {\n return (\n <div class={{ [TRASH_BUTTON]: true }}>\n <svg class=\"trash-img\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\" />\n </svg>\n </div>\n );\n};\nexport const AndOrButton = ({ text }: any) => {\n return <button class={{ [AND_OR_BUTTON]: true, 'light revo-button': true }}>{text}</button>;\n};\n\nexport function isFilterBtn(e: HTMLElement) {\n if (e.classList.contains(FILTER_BUTTON_CLASS)) {\n return true;\n }\n return e?.closest(`.${FILTER_BUTTON_CLASS}`);\n}\n"],"version":3}
1
+ {"file":"filter.button-ba5a142b.js","mappings":";;;;;AAGO,MAAM,mBAAmB,GAAG,WAAW,CAAC;AACxC,MAAM,oBAAoB,GAAG,QAAQ,CAAC;MAChC,WAAW,GAAG,YAAY;AAChC,MAAM,aAAa,GAAG,eAAe,CAAC;AACtC,MAAM,YAAY,GAAG,cAAc,CAAC;MAK9B,YAAY,GAAG,CAAC,EAAE,MAAM,EAAS;IAC5C,QACE;QACE,cACE,KAAK,EAAE;gBACL,CAAC,mBAAmB,GAAG,IAAI;gBAC3B,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;aACxD;YAED,WAAK,KAAK,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW;gBACzC,SAAG,MAAM,EAAC,MAAM,kBAAc,GAAG,EAAC,IAAI,EAAC,MAAM,eAAW,SAAS;oBAC/D,YAAM,CAAC,EAAC,2GAA2G,EAAC,IAAI,EAAC,cAAc,GAAQ,CAC7I,CACA,CACC,CACJ,EACP;AACJ,EAAE;MAEW,WAAW,GAAG;IACzB,QACE,WAAK,KAAK,EAAE,EAAE,CAAC,YAAY,GAAG,IAAI,EAAE;QAClC,WAAK,KAAK,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW;YACxC,YAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,8GAA8G,GAAG,CACzI,CACF,EACN;AACJ,EAAE;MACW,WAAW,GAAG,CAAC,EAAE,IAAI,EAAO;IACvC,OAAO,cAAQ,KAAK,EAAE,EAAE,CAAC,aAAa,GAAG,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,IAAG,IAAI,CAAU,CAAC;AAC9F,EAAE;SAEc,WAAW,CAAC,CAAc;IACxC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;QAC7C,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;AAC/C;;;;","names":[],"sources":["src/plugins/filter/filter.button.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '@type';\n\nexport const FILTER_BUTTON_CLASS = 'rv-filter';\nexport const FILTER_BUTTON_ACTIVE = 'active';\nexport const FILTER_PROP = 'hasFilter';\nexport const AND_OR_BUTTON = 'and-or-button';\nexport const TRASH_BUTTON = 'trash-button';\n\ntype Props = {\n column: ColumnRegular;\n};\nexport const FilterButton = ({ column }: Props) => {\n return (\n <span>\n <button\n class={{\n [FILTER_BUTTON_CLASS]: true,\n [FILTER_BUTTON_ACTIVE]: column && !!column[FILTER_PROP],\n }}\n >\n <svg class=\"filter-img\" viewBox=\"0 0 64 64\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M43,48 L43,56 L21,56 L21,48 L43,48 Z M53,28 L53,36 L12,36 L12,28 L53,28 Z M64,8 L64,16 L0,16 L0,8 L64,8 Z\" fill=\"currentColor\"></path>\n </g>\n </svg>\n </button>\n </span>\n );\n};\n\nexport const TrashButton = () => {\n return (\n <div class={{ [TRASH_BUTTON]: true }}>\n <svg class=\"trash-img\" viewBox=\"0 0 24 24\">\n <path fill=\"currentColor\" d=\"M9,3V4H4V6H5V19A2,2 0 0,0 7,21H17A2,2 0 0,0 19,19V6H20V4H15V3H9M7,6H17V19H7V6M9,8V17H11V8H9M13,8V17H15V8H13Z\" />\n </svg>\n </div>\n );\n};\nexport const AndOrButton = ({ text }: any) => {\n return <button class={{ [AND_OR_BUTTON]: true, 'light revo-button': true }}>{text}</button>;\n};\n\nexport function isFilterBtn(e: HTMLElement) {\n if (e.classList.contains(FILTER_BUTTON_CLASS)) {\n return true;\n }\n return e?.closest(`.${FILTER_BUTTON_CLASS}`);\n}\n"],"version":3}
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * Built by Revolist OU ❤️
3
3
  */
4
- import { h } from './index-e661aeb5.js';
5
- import { d as dispatch } from './dispatcher-8ea9187d.js';
6
- import { m as doPropMerge } from './column.service-521eb0d5.js';
4
+ import { h } from './index-8b791a74.js';
5
+ import { d as dispatch } from './dispatcher-ea08404f.js';
6
+ import { m as doPropMerge } from './column.service-9e536629.js';
7
7
 
8
8
  var ResizeEvents;
9
9
  (function (ResizeEvents) {
@@ -298,4 +298,4 @@ const HeaderCellRenderer = ({ data, props, additionalData }, children) => {
298
298
 
299
299
  export { HeaderCellRenderer as H, ON_COLUMN_CLICK as O };
300
300
 
301
- //# sourceMappingURL=header-cell-renderer-f65d0383.js.map
301
+ //# sourceMappingURL=header-cell-renderer-cb08b741.js.map
@@ -1 +1 @@
1
- {"file":"header-cell-renderer-f65d0383.js","mappings":"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","names":[],"sources":["src/services/resizable.directive.tsx","src/services/resizable.element.tsx","src/components/header/header-cell-renderer.tsx"],"sourcesContent":["export type ResizeProps = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(originalEvent: MouseEvent): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nexport enum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<ResizeProps>): ResizeProps => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: ResizeProps;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX = 0;\n private mouseY = 0;\n\n private width = 0;\n private height = 0;\n\n private changeX = 0;\n private changeY = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer: HTMLElement | null;\n private disableCalcMap = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(\n private initialProps: Partial<ResizeProps>,\n private $event?: (e: ResizeEvent) => void,\n ) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth;\n this.maxH = this.props.maxHeight;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n this.$event({\n eventName,\n width: this.width + this.changeX * (isLeft ? -1 : 1),\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX =\n this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY =\n this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n } else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials(\n { clientX, clientY }: { clientX: number; clientY: number },\n target?: HTMLElement,\n ) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement.clientWidth;\n\n // min width\n const minPaddingX =\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement.clientHeight;\n\n // min height\n const minPaddingY =\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = null;\n }\n\n private bindMove() {\n document.documentElement.addEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mouseleave',\n this.mouseUpFunc,\n );\n }\n}\n","import { h, VNode } from '@stencil/core';\nimport { ResizeProps, ResizeDirective, ResizeEvents } from './resizable.directive';\nimport { CellProps } from '../types/interfaces';\n\nexport const ResizableElement = (props: Partial<ResizeProps> & CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onTouchStart={(e: TouchEvent) => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e: HTMLElement) => directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n","import { h, VNode } from '@stencil/core';\nimport { dispatch } from '../../plugins/dispatcher';\nimport { doPropMerge } from '../data/column.service';\nimport { ResizableElement } from '../../services/resizable.element';\nimport { ResizeProps } from '../../services/resizable.directive';\nimport { CellProps, ColumnTemplateProp } from '@type';\n\ntype Props = {\n props: CellProps & Partial<ResizeProps>;\n additionalData: any;\n data?: ColumnTemplateProp;\n};\n\nexport const ON_COLUMN_CLICK = 'columnclick';\n\nexport const HeaderCellRenderer = ({ data, props, additionalData }: Props, children: VNode[]): VNode => {\n let colTemplate: VNode | VNode[] | string = data?.name || '';\n let cellProps = props;\n if (data?.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data?.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra && typeof extra === 'object') {\n cellProps = doPropMerge(props, extra);\n }\n }\n return (\n <ResizableElement {...cellProps} onMouseDown={(e: MouseEvent) => {\n dispatch(e.currentTarget as HTMLElement, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n }}>\n <div class=\"header-content\">{colTemplate}</div>\n {children}\n </ResizableElement>\n );\n};\n"],"version":3}
1
+ {"file":"header-cell-renderer-cb08b741.js","mappings":"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","names":[],"sources":["src/services/resizable.directive.tsx","src/services/resizable.element.tsx","src/components/header/header-cell-renderer.tsx"],"sourcesContent":["export type ResizeProps = {\n active: ('r' | 'rb' | 'b' | 'lb' | 'l' | 'lt' | 't' | 'rt')[]; // all\n fitParent: boolean; // false\n minWidth: number; // 0\n minHeight: number; // 0\n\n disableAttributes: ('l' | 't' | 'w' | 'h')[]; // []\n maxWidth?: number;\n maxHeight?: number;\n\n onResize?(e: ResizeEvent): void;\n onDoubleClick?(originalEvent: MouseEvent): void;\n};\n\nexport type ResizeEvent = {\n eventName: string;\n changedX?: number;\n changedY?: number;\n width?: number;\n height?: number;\n};\n\nexport enum ResizeEvents {\n start = 'resize:start',\n move = 'resize:move',\n end = 'resize:end',\n}\n\nconst RESIZE_MASK: { [key: string]: any } = {\n 'resizable-r': { bit: 0b0001, cursor: 'ew-resize' },\n 'resizable-rb': { bit: 0b0011, cursor: 'se-resize' },\n 'resizable-b': { bit: 0b0010, cursor: 's-resize' },\n 'resizable-lb': { bit: 0b0110, cursor: 'sw-resize' },\n 'resizable-l': { bit: 0b0100, cursor: 'w-resize' },\n 'resizable-lt': { bit: 0b1100, cursor: 'nw-resize' },\n 'resizable-t': { bit: 0b1000, cursor: 'n-resize' },\n 'resizable-rt': { bit: 0b1001, cursor: 'ne-resize' },\n};\n\nconst DISABLE_MASK = {\n l: 0b0001,\n t: 0b0010,\n w: 0b0100,\n h: 0b1000,\n};\n\nconst defaultProps = (props: Partial<ResizeProps>): ResizeProps => {\n return {\n ...props,\n fitParent: props.fitParent || false,\n active: props.active || [],\n disableAttributes: props.disableAttributes || [],\n minWidth: props.minWidth || 0,\n minHeight: props.minHeight || 0,\n };\n};\n\nexport class ResizeDirective {\n private $el: HTMLElement;\n private props: ResizeProps;\n private minW: number;\n private minH: number;\n private maxW: number;\n private maxH: number;\n\n private mouseX = 0;\n private mouseY = 0;\n\n private width = 0;\n private height = 0;\n\n private changeX = 0;\n private changeY = 0;\n\n private parent: { width: number; height: number };\n private resizeState: number;\n private activeResizer: HTMLElement | null;\n private disableCalcMap = 0b1111;\n\n private mouseMoveFunc: () => void;\n private mouseUpFunc: () => void;\n\n constructor(\n private initialProps: Partial<ResizeProps>,\n private $event?: (e: ResizeEvent) => void,\n ) {\n this.props = defaultProps(initialProps);\n this.mouseMoveFunc = this.handleMove.bind(this);\n this.mouseUpFunc = this.handleUp.bind(this);\n\n this.minW = this.props.minWidth;\n this.minH = this.props.minHeight;\n this.maxW = this.props.maxWidth;\n this.maxH = this.props.maxHeight;\n this.parent = { width: 0, height: 0 };\n this.resizeState = 0;\n }\n\n set($el: HTMLElement) {\n this.$el = $el;\n this.props.disableAttributes.forEach(attr => {\n switch (attr) {\n case 'l':\n this.disableCalcMap &= ~DISABLE_MASK.l;\n break;\n case 't':\n this.disableCalcMap &= ~DISABLE_MASK.t;\n break;\n case 'w':\n this.disableCalcMap &= ~DISABLE_MASK.w;\n break;\n case 'h':\n this.disableCalcMap &= ~DISABLE_MASK.h;\n }\n });\n }\n emitEvent(eventName: string, additionalOptions?: any) {\n if (!this.$event) {\n return;\n }\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n this.$event({\n eventName,\n width: this.width + this.changeX * (isLeft ? -1 : 1),\n height: this.height + this.changeY,\n changedX: this.changeX,\n changedY: this.changeY,\n ...additionalOptions,\n });\n }\n\n private static isTouchEvent(e: MouseEvent | TouchEvent): e is TouchEvent {\n const event = e as TouchEvent;\n return event.touches?.length >= 0;\n }\n\n handleMove(event: MouseEvent | TouchEvent) {\n if (!this.resizeState) {\n return;\n }\n let eventY, eventX;\n if (ResizeDirective.isTouchEvent(event)) {\n eventY = event.touches[0].clientY;\n eventX = event.touches[0].clientX;\n } else {\n eventY = event.clientY;\n eventX = event.clientX;\n }\n let isX =\n this.resizeState & RESIZE_MASK['resizable-r'].bit ||\n this.resizeState & RESIZE_MASK['resizable-l'].bit;\n\n let isY =\n this.resizeState & RESIZE_MASK['resizable-t'].bit ||\n this.resizeState & RESIZE_MASK['resizable-b'].bit;\n\n if (isY && this.disableCalcMap & DISABLE_MASK.h) {\n let diffY = eventY - this.mouseY;\n let changedY = this.changeY + diffY;\n const newHeight = this.height + changedY;\n // if overcrossed min height\n if (newHeight < this.minH) {\n changedY = -(this.height - this.minH);\n }\n // if overcrossed max heiht\n if (this.maxH && newHeight > this.maxH) {\n changedY = this.maxH - this.height;\n }\n\n this.changeY = changedY;\n this.mouseY = eventY;\n\n if (this.activeResizer) {\n this.activeResizer.style.bottom = `${-this.changeY}px`;\n }\n }\n if (isX && this.disableCalcMap & DISABLE_MASK.w) {\n const isLeft = this.activeResizer?.classList.contains('resizable-l');\n let diffX = eventX - this.mouseX;\n let changedX = this.changeX + diffX;\n const newWidth = this.width + changedX * (isLeft ? -1 : 1);\n\n // if overcrossed min width\n if (newWidth < this.minW) {\n changedX = -(this.width - this.minW);\n }\n // if overcrossed max width\n if (this.maxW && newWidth > this.maxW) {\n changedX = this.maxW - this.width;\n }\n\n this.changeX = changedX;\n this.mouseX = eventX;\n\n if (this.activeResizer) {\n if (!isLeft) {\n this.activeResizer.style.right = `${-this.changeX}px`;\n } else {\n this.activeResizer.style.left = `${this.changeX}px`;\n }\n }\n }\n this.emitEvent(ResizeEvents.move);\n }\n\n handleDown(event: MouseEvent | TouchEvent) {\n if (event.defaultPrevented) {\n return;\n }\n // stop other events if resize in progress\n event.preventDefault();\n\n this.dropInitial();\n for (let elClass in RESIZE_MASK) {\n const target = event.target as HTMLElement | null;\n if (this.$el.contains(target) && target?.classList.contains(elClass)) {\n document.body.style.cursor = RESIZE_MASK[elClass].cursor;\n if (ResizeDirective.isTouchEvent(event)) {\n this.setInitials(event.touches[0], target);\n } else {\n event.preventDefault && event.preventDefault();\n this.setInitials(event, target);\n }\n this.resizeState = RESIZE_MASK[elClass].bit;\n const eventName = ResizeEvents.start;\n this.emitEvent(eventName);\n break;\n }\n }\n this.bindMove();\n }\n\n handleUp(e: MouseEvent) {\n e.preventDefault();\n if (this.resizeState !== 0) {\n this.resizeState = 0;\n document.body.style.cursor = '';\n const eventName = ResizeEvents.end;\n this.emitEvent(eventName);\n }\n this.dropInitial();\n this.unbindMove();\n }\n\n private setInitials(\n { clientX, clientY }: { clientX: number; clientY: number },\n target?: HTMLElement,\n ) {\n const computedStyle = getComputedStyle(this.$el);\n this.$el.classList.add('active');\n this.activeResizer = target;\n\n if (this.disableCalcMap & DISABLE_MASK.w) {\n this.mouseX = clientX;\n this.width = this.$el.clientWidth;\n this.parent.width = this.$el.parentElement.clientWidth;\n\n // min width\n const minPaddingX =\n parseFloat(computedStyle.paddingLeft) +\n parseFloat(computedStyle.paddingRight);\n this.minW = Math.max(minPaddingX, this.initialProps.minWidth || 0);\n\n // max width\n if (this.initialProps.maxWidth) {\n this.maxW = Math.max(this.width, this.initialProps.maxWidth);\n }\n }\n\n if (this.disableCalcMap & DISABLE_MASK.h) {\n this.mouseY = clientY;\n this.height = this.$el.clientHeight;\n this.parent.height = this.$el.parentElement.clientHeight;\n\n // min height\n const minPaddingY =\n parseFloat(computedStyle.paddingTop) +\n parseFloat(computedStyle.paddingBottom);\n this.minH = Math.max(minPaddingY, this.initialProps.minHeight || 0);\n // max height\n if (this.initialProps.maxHeight) {\n this.maxH = Math.max(this.height, this.initialProps.maxHeight);\n }\n }\n }\n\n private dropInitial() {\n this.changeX = this.changeY = this.minW = this.minH;\n this.width = this.height = 0;\n if (this.activeResizer) {\n this.activeResizer.removeAttribute('style');\n }\n this.$el.classList.remove('active');\n this.activeResizer = null;\n }\n\n private bindMove() {\n document.documentElement.addEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.addEventListener('mouseleave', this.mouseUpFunc);\n }\n\n private unbindMove() {\n document.documentElement.removeEventListener(\n 'mouseup',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchend',\n this.mouseUpFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mousemove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'touchmove',\n this.mouseMoveFunc,\n true,\n );\n document.documentElement.removeEventListener(\n 'mouseleave',\n this.mouseUpFunc,\n );\n }\n}\n","import { h, VNode } from '@stencil/core';\nimport { ResizeProps, ResizeDirective, ResizeEvents } from './resizable.directive';\nimport { CellProps } from '../types/interfaces';\n\nexport const ResizableElement = (props: Partial<ResizeProps> & CellProps, children: VNode[]) => {\n const resizeEls: VNode[] = [];\n const directive =\n (props.canResize &&\n new ResizeDirective(props, e => {\n if (e.eventName === ResizeEvents.end) {\n props.onResize && props.onResize(e);\n }\n })) ||\n null;\n if (props.canResize) {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n onMouseDown={(e: MouseEvent) => directive?.handleDown(e)}\n onTouchStart={(e: TouchEvent) => directive?.handleDown(e)}\n class={`resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n } else {\n if (props.active) {\n for (let p in props.active) {\n resizeEls.push(\n <div\n onClick={e => e.preventDefault()}\n onTouchStart={(e: TouchEvent) => e.preventDefault()}\n onDblClick={e => {\n e.preventDefault();\n props.onDoubleClick?.(e);\n }}\n class={`no-resize resizable resizable-${props.active[p]}`}\n />,\n );\n }\n }\n }\n return (\n <div {...props} ref={(e: HTMLElement) => directive?.set(e)}>\n {children}\n {resizeEls}\n </div>\n );\n};\n","import { h, VNode } from '@stencil/core';\nimport { dispatch } from '../../plugins/dispatcher';\nimport { doPropMerge } from '../data/column.service';\nimport { ResizableElement } from '../../services/resizable.element';\nimport { ResizeProps } from '../../services/resizable.directive';\nimport { CellProps, ColumnTemplateProp } from '@type';\n\ntype Props = {\n props: CellProps & Partial<ResizeProps>;\n additionalData: any;\n data?: ColumnTemplateProp;\n};\n\nexport const ON_COLUMN_CLICK = 'columnclick';\n\nexport const HeaderCellRenderer = ({ data, props, additionalData }: Props, children: VNode[]): VNode => {\n let colTemplate: VNode | VNode[] | string = data?.name || '';\n let cellProps = props;\n if (data?.columnTemplate) {\n colTemplate = data.columnTemplate(h, data, additionalData);\n }\n if (data?.columnProperties) {\n const extra = data.columnProperties(data);\n if (extra && typeof extra === 'object') {\n cellProps = doPropMerge(props, extra);\n }\n }\n return (\n <ResizableElement {...cellProps} onMouseDown={(e: MouseEvent) => {\n dispatch(e.currentTarget as HTMLElement, ON_COLUMN_CLICK, {\n data,\n event: e,\n });\n }}>\n <div class=\"header-content\">{colTemplate}</div>\n {children}\n </ResizableElement>\n );\n};\n"],"version":3}
@@ -5,7 +5,7 @@ const NAMESPACE = 'revo-grid';
5
5
  const BUILD = /* revo-grid */ { allRenderFn: false, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: true, invisiblePrehydration: false, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: false, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
6
6
 
7
7
  /*
8
- Stencil Client Platform v4.19.1 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Platform v4.19.2 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  var __defProp = Object.defineProperty;
11
11
  var __export = (target, all) => {
@@ -592,21 +592,19 @@ var registerStyle = (scopeId2, cssText, allowCS) => {
592
592
  };
593
593
  var addStyle = (styleContainerNode, cmpMeta, mode) => {
594
594
  var _a;
595
- const styleContainerDocument = styleContainerNode;
596
- const styleContainerShadowRoot = styleContainerNode;
597
595
  const scopeId2 = getScopeId(cmpMeta);
598
596
  const style = styles.get(scopeId2);
599
597
  styleContainerNode = styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc;
600
598
  if (style) {
601
599
  if (typeof style === "string") {
602
- styleContainerNode = styleContainerDocument.head || styleContainerNode;
600
+ styleContainerNode = styleContainerNode.head || styleContainerNode;
603
601
  let appliedStyles = rootAppliedStyles.get(styleContainerNode);
604
602
  let styleElm;
605
603
  if (!appliedStyles) {
606
604
  rootAppliedStyles.set(styleContainerNode, appliedStyles = /* @__PURE__ */ new Set());
607
605
  }
608
606
  if (!appliedStyles.has(scopeId2)) {
609
- if (styleContainerShadowRoot.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
607
+ if (styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId2}"]`))) {
610
608
  styleElm.innerHTML = style;
611
609
  } else {
612
610
  styleElm = doc.createElement("style");
@@ -624,8 +622,8 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
624
622
  appliedStyles.add(scopeId2);
625
623
  }
626
624
  }
627
- } else if (!styleContainerDocument.adoptedStyleSheets.includes(style)) {
628
- styleContainerDocument.adoptedStyleSheets = [...styleContainerDocument.adoptedStyleSheets, style];
625
+ } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
626
+ styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
629
627
  }
630
628
  }
631
629
  return scopeId2;
@@ -1842,4 +1840,4 @@ var setNonce = (nonce) => plt.$nonce$ = nonce;
1842
1840
 
1843
1841
  export { Host as H, getElement as a, bootstrapLazy as b, createEvent as c, forceUpdate as f, getRenderingRef as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1844
1842
 
1845
- //# sourceMappingURL=index-e661aeb5.js.map
1843
+ //# sourceMappingURL=index-8b791a74.js.map